From 3f864a33050ceaf8bb60a874edb6fbda818b416c Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 21 Dec 2022 20:51:08 +0100 Subject: [PATCH 001/129] #452 - Search for different bean information --- src/app/beans/beans.page.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/app/beans/beans.page.ts b/src/app/beans/beans.page.ts index 95faba9e1..d5920d998 100644 --- a/src/app/beans/beans.page.ts +++ b/src/app/beans/beans.page.ts @@ -497,7 +497,16 @@ export class BeansPage implements OnInit { e.roaster?.toLowerCase().includes(searchStr) || e.aromatics?.toLowerCase().includes(searchStr) || e.bean_information?.find((bi) => { - return bi?.variety?.toLowerCase().includes(searchStr); + return ( + bi?.variety?.toLowerCase().includes(searchStr) || + bi?.country?.toLowerCase().includes(searchStr) || + bi?.region?.toLowerCase().includes(searchStr) || + bi?.farm?.toLowerCase().includes(searchStr) || + bi?.farmer?.toLowerCase().includes(searchStr) || + bi?.harvest_time?.toLowerCase().includes(searchStr) || + bi?.elevation?.toLowerCase().includes(searchStr) || + bi?.processing?.toLowerCase().includes(searchStr) + ); }) ); }); From 0a207c4dfeaf21ec3456c4b84760b46216f44bdc Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 28 Dec 2022 19:23:35 +0100 Subject: [PATCH 002/129] #112 - First implementation for making beans parameterizeable Reverting code for ble-devices into main --- package-lock.json | 20 - package.json | 3 +- src/app/app-routing.module.ts | 7 + src/app/app.component.html | 4 + src/app/app.component.ts | 17 +- .../bean-list-view-parameter.component.html | 172 ++++ .../bean-list-view-parameter.component.scss | 0 ...bean-list-view-parameter.component.spec.ts | 24 + .../bean-list-view-parameter.component.ts | 45 ++ .../bean-manage-parameter.component.html | 172 ++++ .../bean-manage-parameter.component.scss | 0 .../bean-manage-parameter.component.spec.ts | 24 + .../bean-manage-parameter.component.ts | 46 ++ .../bean-parameter-routing.module.ts | 27 + .../bean-parameter/bean-parameter.module.ts | 21 + .../bean-parameter/bean-parameter.page.html | 26 + .../bean-parameter/bean-parameter.page.scss | 7 + .../bean-parameter.page.spec.ts | 24 + src/app/bean-parameter/bean-parameter.page.ts | 26 + .../beans/beans-add/beans-add.component.html | 2 +- .../beans/beans-add/beans-add.component.ts | 14 +- .../beans-detail/beans-detail.component.html | 44 +- .../beans-detail/beans-detail.component.ts | 13 +- .../beans-edit/beans-edit.component.html | 2 +- .../beans/beans-edit/beans-edit.component.ts | 69 +- src/app/brew/brew-flow/brew-flow.component.ts | 6 +- ...ngs-popover-bluetooth-actions.component.ts | 2 +- src/app/settings/settings.page.ts | 6 +- src/app/shared/shared.module.ts | 10 +- src/assets/i18n/de.json | 8 +- src/assets/i18n/en.json | 7 +- src/classes/devices/acaia/acaia.ts | 627 ++++++++++++++ src/classes/devices/acaia/common.ts | 63 ++ src/classes/devices/acaia/constants.ts | 13 + src/classes/devices/acaia/decoder.ts | 275 +++++++ src/classes/devices/acaia/index.ts | 1 + src/classes/devices/ble.types.ts | 38 + src/classes/devices/bluetoothDevice.ts | 141 ++++ src/classes/devices/common/constants.ts | 1 + src/classes/devices/common/logger.ts | 60 ++ src/classes/devices/common/util.ts | 48 ++ src/classes/devices/decentScale.ts | 219 +++++ src/classes/devices/eurekaPrecisaScale.ts | 194 +++++ src/classes/devices/felicita/constants.ts | 20 + .../devices/felicita/felicita-readme.md | 31 + src/classes/devices/felicitaScale.ts | 253 ++++++ src/classes/devices/index.ts | 62 ++ src/classes/devices/jimmyScale.ts | 164 ++++ src/classes/devices/lunarScale.ts | 109 +++ src/classes/devices/popsiclePressure.ts | 74 ++ .../devices/pressureBluetoothDevice.ts | 111 +++ src/classes/devices/prsPressure.ts | 94 +++ .../devices/transducerDirectPressure.ts | 84 ++ .../parameter/beanListViewParameter.ts | 74 ++ src/classes/parameter/beanManageParameter.ts | 74 ++ src/classes/settings/settings.ts | 24 +- .../bean-information.component.html | 116 ++- .../bean-information.component.ts | 2 +- .../bean-general-information.component.html | 36 +- .../bean-general-information.component.ts | 10 +- .../bean-roast-information.component.ts | 5 +- .../bean-sort-information.component.html | 26 +- .../bean-sort-information.component.ts | 30 +- ...ean-detail-sort-information.component.html | 24 +- .../bean-detail-sort-information.component.ts | 22 +- .../brew-timer/brew-timer.component.ts | 2 +- .../brew-brewing/brew-brewing.component.ts | 7 +- .../manage-custom-parameter.component.ts | 54 +- src/components/timer/timer.component.ts | 2 +- src/interfaces/parameter/iBeanParameter.ts | 36 + src/interfaces/settings/iSettings.ts | 8 +- .../coffee-bluetooth-devices.service.spec.ts | 16 + .../coffee-bluetooth-devices.service.ts | 762 ++++++++++++++++++ src/services/uiBeanHelper.ts | 7 + 74 files changed, 4647 insertions(+), 220 deletions(-) create mode 100644 src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html create mode 100644 src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.scss create mode 100644 src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.spec.ts create mode 100644 src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.ts create mode 100644 src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html create mode 100644 src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.scss create mode 100644 src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.spec.ts create mode 100644 src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.ts create mode 100644 src/app/bean-parameter/bean-parameter-routing.module.ts create mode 100644 src/app/bean-parameter/bean-parameter.module.ts create mode 100644 src/app/bean-parameter/bean-parameter.page.html create mode 100644 src/app/bean-parameter/bean-parameter.page.scss create mode 100644 src/app/bean-parameter/bean-parameter.page.spec.ts create mode 100644 src/app/bean-parameter/bean-parameter.page.ts create mode 100644 src/classes/devices/acaia/acaia.ts create mode 100644 src/classes/devices/acaia/common.ts create mode 100644 src/classes/devices/acaia/constants.ts create mode 100644 src/classes/devices/acaia/decoder.ts create mode 100644 src/classes/devices/acaia/index.ts create mode 100644 src/classes/devices/ble.types.ts create mode 100644 src/classes/devices/bluetoothDevice.ts create mode 100644 src/classes/devices/common/constants.ts create mode 100644 src/classes/devices/common/logger.ts create mode 100644 src/classes/devices/common/util.ts create mode 100644 src/classes/devices/decentScale.ts create mode 100644 src/classes/devices/eurekaPrecisaScale.ts create mode 100644 src/classes/devices/felicita/constants.ts create mode 100644 src/classes/devices/felicita/felicita-readme.md create mode 100644 src/classes/devices/felicitaScale.ts create mode 100644 src/classes/devices/index.ts create mode 100644 src/classes/devices/jimmyScale.ts create mode 100644 src/classes/devices/lunarScale.ts create mode 100644 src/classes/devices/popsiclePressure.ts create mode 100644 src/classes/devices/pressureBluetoothDevice.ts create mode 100644 src/classes/devices/prsPressure.ts create mode 100644 src/classes/devices/transducerDirectPressure.ts create mode 100755 src/classes/parameter/beanListViewParameter.ts create mode 100755 src/classes/parameter/beanManageParameter.ts create mode 100755 src/interfaces/parameter/iBeanParameter.ts create mode 100644 src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.spec.ts create mode 100644 src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts diff --git a/package-lock.json b/package-lock.json index 884a19547..236035186 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "@angular/platform-browser": "^14.1.0", "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", - "@graphefruit/coffee-bluetooth-devices": "file:../../graphefruit-coffee-bluetooth-devices-0.0.1.tgz", "@ionic-native/android-permissions": "^5.33.1", "@ionic-native/app-minimize": "^5.33.1", "@ionic-native/app-version": "^5.33.1", @@ -4061,18 +4060,6 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, - "node_modules/@graphefruit/coffee-bluetooth-devices": { - "version": "0.0.1", - "resolved": "file:../../graphefruit-coffee-bluetooth-devices-0.0.1.tgz", - "integrity": "sha512-v6tIeH63hbSFwE8h+Y73Dq1q8lTIbkIB22JCzBIRS9EVAd1EHETkcxAb98UVcwNB0g+YxpYWOIhOwFGiY6YP4g==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^14.1.0", - "@angular/core": "^14.1.0" - } - }, "node_modules/@ionic-native/android-permissions": { "version": "5.33.1", "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.33.1.tgz", @@ -31546,13 +31533,6 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, - "@graphefruit/coffee-bluetooth-devices": { - "version": "file:../../graphefruit-coffee-bluetooth-devices-0.0.1.tgz", - "integrity": "sha512-v6tIeH63hbSFwE8h+Y73Dq1q8lTIbkIB22JCzBIRS9EVAd1EHETkcxAb98UVcwNB0g+YxpYWOIhOwFGiY6YP4g==", - "requires": { - "tslib": "^2.3.0" - } - }, "@ionic-native/android-permissions": { "version": "5.33.1", "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.33.1.tgz", diff --git a/package.json b/package.json index b2768f93c..252d9bd45 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "@angular/platform-browser": "^14.1.0", "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", - "@graphefruit/coffee-bluetooth-devices": "file:../../graphefruit-coffee-bluetooth-devices-0.0.1.tgz", "@ionic-native/android-permissions": "^5.33.1", "@ionic-native/app-minimize": "^5.33.1", "@ionic-native/app-version": "^5.33.1", @@ -250,4 +249,4 @@ "*.css": "stylelint --fix", "*.{ts,js,css,md}": "prettier --write" } -} \ No newline at end of file +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 3aaa22f83..09c8e7a53 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -120,6 +120,13 @@ const routes: Routes = [ (m) => m.BrewParameterPageModule ), }, + { + path: 'bean-parameter', + loadChildren: () => + import('./bean-parameter/bean-parameter.module').then( + (m) => m.BeanParameterPageModule + ), + }, ]; @NgModule({ diff --git a/src/app/app.component.html b/src/app/app.component.html index 414bed6e4..94e5bac9d 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -37,6 +37,10 @@ replaceUrl="true"> {{pages.brew_parameter.title | translate}} + + {{pages.bean_parameter.title | translate}} + {{pages.helper.title | translate}} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index cd0229cbb..c71eb4201 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -62,14 +62,13 @@ import ChartStreaming from 'chartjs-plugin-streaming'; import zoomPlugin from 'chartjs-plugin-zoom'; import annotationPlugin from 'chartjs-plugin-annotation'; +import { UIToast } from '../services/uiToast'; import { + CoffeeBluetoothDevicesService, CoffeeBluetoothServiceEvent, - Logger, - PressureType, - ScaleType, -} from '@graphefruit/coffee-bluetooth-devices'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; -import { UIToast } from '../services/uiToast'; +} from '../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; +import { PressureType, ScaleType } from '../classes/devices'; +import { Logger } from '../classes/devices/common/logger'; declare var AppRate; declare var window; @@ -195,6 +194,12 @@ export class AppComponent implements AfterViewInit { icon: 'construct-outline', active: false, }, + bean_parameter: { + title: 'NAV_BEAN_PARAMS', + url: '/bean-parameter', + icon: 'construct-outline', + active: false, + }, }; constructor( diff --git a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html new file mode 100644 index 000000000..7dcddaaab --- /dev/null +++ b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html @@ -0,0 +1,172 @@ + + + + + + + + {{"NAV_LIST_VIEW_CUSTOM_PARAMETERS" | translate}} +

{{"PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION" | translate }}

+
+
+
+ + + + {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} + + + + {{"BEAN_TAB_SORT_INFORMATION" | translate }} + + + +
+
+ + {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} + + {{"BEAN_DATA_NAME" | translate}} + + + + {{"BEAN_DATA_ROASTER" | translate}} + + + + {{"BEAN_DATA_BUY_DATE" | translate}} + + + + {{"BEAN_DATA_ROASTING_DATE" | translate}} + + + + {{"BEAN_DATA_ROASTING_TYPE" | translate}} + + + + {{"BEAN_DATA_ROAST_NAME" | translate}} + + + + {{"BEAN_DATA_ROAST_NAME_TYPE" | translate}} + + + + {{"BREW_DATA_RATING" | translate}} + + + + {{"BEAN_SORT_MIX" | translate}} + + + + + + {{"BEAN_SORT_MORE_INFORMATION" | translate }} + + {{"BEAN_DATA_WEIGHT" | translate}} + + + + {{"BEAN_DATA_COST" | translate}} + + + + {{"BEAN_DATA_AROMATICS" | translate}} + + + + {{"BEAN_DATA_CUPPING_POINTS" | translate}} + + + + {{"BEAN_DATA_DECAFFEINATED" | translate}} + + + + {{"BEAN_DATA_URL" | translate}} + + + + {{"BEAN_DATA_EAN" | translate}} + + + + {{"NOTES" | translate}} + + + + {{"BREW_DATA_ATTACHMENTS" | translate}} + + + + +
+
+ + + + {{"ENABLE_BEAN_SORT_INFORMATION" | translate}} + + + + + + {{"BEAN_SORT_INFORMATION" | translate }} + + {{"BEAN_DATA_COUNTRY" | translate}} + + + + {{"BEAN_DATA_REGION" | translate}} + + + + {{"BEAN_DATA_FARM" | translate}} + + + + {{"BEAN_DATA_FARMER" | translate}} + + + + {{"BEAN_DATA_ELEVATION" | translate}} + + + + {{"BEAN_DATA_VARIETY" | translate}} + + + + {{"BEAN_DATA_PROCESSING" | translate}} + + + + {{"BEAN_DATA_HARVEST_TIME" | translate}} + + + + {{"BEAN_DATA_PERCENTAGE" | translate}} + + + + {{"BEAN_DATA_CERTIFICATION" | translate}} + + + + {{"BEAN_DATA_PURCHASING_PRICE" | translate}} + + + + {{"BEAN_DATA_FOB_PRICE" | translate}} + + + +
+
+ + +
diff --git a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.scss b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.spec.ts b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.spec.ts new file mode 100644 index 000000000..dc178da55 --- /dev/null +++ b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BeanListViewParameterComponent } from './bean-list-view-parameter.component'; + +describe('BeanListViewParameterComponent', () => { + let component: BeanListViewParameterComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BeanListViewParameterComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(BeanListViewParameterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.ts b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.ts new file mode 100644 index 000000000..913a5259d --- /dev/null +++ b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.ts @@ -0,0 +1,45 @@ +import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; +import { Subject } from 'rxjs'; +import { Settings } from '../../../classes/settings/settings'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; +import { UIAnalytics } from '../../../services/uiAnalytics'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; + +@Component({ + selector: 'app-bean-list-view-parameter', + templateUrl: './bean-list-view-parameter.component.html', + styleUrls: ['./bean-list-view-parameter.component.scss'], +}) +export class BeanListViewParameterComponent implements OnInit { + public bean_segment = 'general'; + public debounceChanges: Subject = new Subject(); + public data: Settings; + private numerator: number = 0; + + constructor( + public uiSettingsStorage: UISettingsStorage, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiAnalytics: UIAnalytics, + private readonly changeDetectorRef: ChangeDetectorRef + ) { + this.debounceChanges + .pipe(debounceTime(500), distinctUntilChanged()) + .subscribe(() => { + this.save(); + }); + this.data = this.uiSettingsStorage.getSettings(); + } + + public ngOnInit() {} + + public triggerChanges(_query): void { + this.debounceChanges.next(this.numerator.toString()); + this.numerator = this.numerator + 1; + } + + public async save() { + this.changeDetectorRef.detectChanges(); + await this.uiSettingsStorage.saveSettings(this.data); + } +} diff --git a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html new file mode 100644 index 000000000..79904a91a --- /dev/null +++ b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html @@ -0,0 +1,172 @@ + + + + + + + + {{"NAV_MANAGE_PARAMETERS" | translate}} +

{{"PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION" | translate }}

+
+
+
+ + + + {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} + + + + {{"BEAN_TAB_SORT_INFORMATION" | translate }} + + + +
+
+ + {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} + + {{"BEAN_DATA_NAME" | translate}} + + + + {{"BEAN_DATA_ROASTER" | translate}} + + + + {{"BEAN_DATA_BUY_DATE" | translate}} + + + + {{"BEAN_DATA_ROASTING_DATE" | translate}} + + + + {{"BEAN_DATA_ROASTING_TYPE" | translate}} + + + + {{"BEAN_DATA_ROAST_NAME" | translate}} + + + + {{"BEAN_DATA_ROAST_NAME_TYPE" | translate}} + + + + {{"BREW_DATA_RATING" | translate}} + + + + {{"BEAN_SORT_MIX" | translate}} + + + + + + {{"BEAN_SORT_MORE_INFORMATION" | translate }} + + {{"BEAN_DATA_WEIGHT" | translate}} + + + + {{"BEAN_DATA_COST" | translate}} + + + + {{"BEAN_DATA_AROMATICS" | translate}} + + + + {{"BEAN_DATA_CUPPING_POINTS" | translate}} + + + + {{"BEAN_DATA_DECAFFEINATED" | translate}} + + + + {{"BEAN_DATA_URL" | translate}} + + + + {{"BEAN_DATA_EAN" | translate}} + + + + {{"NOTES" | translate}} + + + + {{"BREW_DATA_ATTACHMENTS" | translate}} + + + + +
+
+ + + + {{"ENABLE_BEAN_SORT_INFORMATION" | translate}} + + + + + + {{"BEAN_SORT_INFORMATION" | translate }} + + {{"BEAN_DATA_COUNTRY" | translate}} + + + + {{"BEAN_DATA_REGION" | translate}} + + + + {{"BEAN_DATA_FARM" | translate}} + + + + {{"BEAN_DATA_FARMER" | translate}} + + + + {{"BEAN_DATA_ELEVATION" | translate}} + + + + {{"BEAN_DATA_VARIETY" | translate}} + + + + {{"BEAN_DATA_PROCESSING" | translate}} + + + + {{"BEAN_DATA_HARVEST_TIME" | translate}} + + + + {{"BEAN_DATA_PERCENTAGE" | translate}} + + + + {{"BEAN_DATA_CERTIFICATION" | translate}} + + + + {{"BEAN_DATA_PURCHASING_PRICE" | translate}} + + + + {{"BEAN_DATA_FOB_PRICE" | translate}} + + + +
+
+ + +
diff --git a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.scss b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.spec.ts b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.spec.ts new file mode 100644 index 000000000..ec5b33043 --- /dev/null +++ b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BeanManageParameterComponent } from './bean-manage-parameter.component'; + +describe('BeanManageParameterComponent', () => { + let component: BeanManageParameterComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BeanManageParameterComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(BeanManageParameterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.ts b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.ts new file mode 100644 index 000000000..c78b69cdc --- /dev/null +++ b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.ts @@ -0,0 +1,46 @@ +import { ChangeDetectorRef, Component, OnInit } from '@angular/core'; +import { Subject } from 'rxjs'; +import { Settings } from '../../../classes/settings/settings'; + +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; +import { UIAnalytics } from '../../../services/uiAnalytics'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; + +@Component({ + selector: 'app-bean-manage-parameter', + templateUrl: './bean-manage-parameter.component.html', + styleUrls: ['./bean-manage-parameter.component.scss'], +}) +export class BeanManageParameterComponent implements OnInit { + public bean_segment = 'general'; + public debounceChanges: Subject = new Subject(); + public data: Settings; + private numerator: number = 0; + + constructor( + public uiSettingsStorage: UISettingsStorage, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiAnalytics: UIAnalytics, + private readonly changeDetectorRef: ChangeDetectorRef + ) { + this.debounceChanges + .pipe(debounceTime(500), distinctUntilChanged()) + .subscribe(() => { + this.save(); + }); + this.data = this.uiSettingsStorage.getSettings(); + } + + public ngOnInit() {} + + public triggerChanges(_query): void { + this.debounceChanges.next(this.numerator.toString()); + this.numerator = this.numerator + 1; + } + + public async save() { + this.changeDetectorRef.detectChanges(); + await this.uiSettingsStorage.saveSettings(this.data); + } +} diff --git a/src/app/bean-parameter/bean-parameter-routing.module.ts b/src/app/bean-parameter/bean-parameter-routing.module.ts new file mode 100644 index 000000000..0fec64231 --- /dev/null +++ b/src/app/bean-parameter/bean-parameter-routing.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { BeanParameterPage } from './bean-parameter.page'; +import { BeanListViewParameterComponent } from './bean-list-view-parameter/bean-list-view-parameter.component'; +import { BeanManageParameterComponent } from './bean-manage-parameter/bean-manage-parameter.component'; + +const routes: Routes = [ + { + path: '', + component: BeanParameterPage, + }, + { + path: 'manage', + component: BeanManageParameterComponent, + }, + { + path: 'listview', + component: BeanListViewParameterComponent, + }, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class BeanParameterPageRoutingModule {} diff --git a/src/app/bean-parameter/bean-parameter.module.ts b/src/app/bean-parameter/bean-parameter.module.ts new file mode 100644 index 000000000..765e2e8de --- /dev/null +++ b/src/app/bean-parameter/bean-parameter.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { BeanParameterPageRoutingModule } from './bean-parameter-routing.module'; + +import { SharedModule } from '../shared/shared.module'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + BeanParameterPageRoutingModule, + SharedModule, + ], + declarations: [], +}) +export class BeanParameterPageModule {} diff --git a/src/app/bean-parameter/bean-parameter.page.html b/src/app/bean-parameter/bean-parameter.page.html new file mode 100644 index 000000000..f689c5fdc --- /dev/null +++ b/src/app/bean-parameter/bean-parameter.page.html @@ -0,0 +1,26 @@ + + + + + + + {{"NAV_BEAN_PARAMS" | translate}} + + + + + + + + {{"NAV_MANAGE_PARAMETERS" | translate}} + + + + + + {{"NAV_LIST_VIEW_CUSTOM_PARAMETERS" | translate}} + + + + + diff --git a/src/app/bean-parameter/bean-parameter.page.scss b/src/app/bean-parameter/bean-parameter.page.scss new file mode 100644 index 000000000..1b9de7798 --- /dev/null +++ b/src/app/bean-parameter/bean-parameter.page.scss @@ -0,0 +1,7 @@ +:host { + ion-icon { + font-size: 48px !important; + width: 48px; + height: 48px; + } +} diff --git a/src/app/bean-parameter/bean-parameter.page.spec.ts b/src/app/bean-parameter/bean-parameter.page.spec.ts new file mode 100644 index 000000000..a765099a1 --- /dev/null +++ b/src/app/bean-parameter/bean-parameter.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BeanParameterPage } from './bean-parameter.page'; + +describe('BeanParameterPage', () => { + let component: BeanParameterPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BeanParameterPage], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(BeanParameterPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/bean-parameter/bean-parameter.page.ts b/src/app/bean-parameter/bean-parameter.page.ts new file mode 100644 index 000000000..463483c27 --- /dev/null +++ b/src/app/bean-parameter/bean-parameter.page.ts @@ -0,0 +1,26 @@ +import { Component, OnInit } from '@angular/core'; +import { NavController } from '@ionic/angular'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-bean-parameter', + templateUrl: './bean-parameter.page.html', + styleUrls: ['./bean-parameter.page.scss'], +}) +export class BeanParameterPage implements OnInit { + constructor(public navCtrl: NavController, private readonly router: Router) {} + + public ngOnInit() {} + + public openManageParameters(): void { + this.router.navigate(['/bean-parameter/manage']); + } + + public openSortParameters(): void { + this.router.navigateByUrl('/bean-parameter/sort'); + } + + public openListViewParameters(): void { + this.router.navigateByUrl('/bean-parameter/listview'); + } +} diff --git a/src/app/beans/beans-add/beans-add.component.html b/src/app/beans/beans-add/beans-add.component.html index b66e148e9..91fd545e3 100644 --- a/src/app/beans/beans-add/beans-add.component.html +++ b/src/app/beans/beans-add/beans-add.component.html @@ -18,7 +18,7 @@ {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} - + {{"BEAN_TAB_SORT_INFORMATION" | translate }} diff --git a/src/app/beans/beans-add/beans-add.component.ts b/src/app/beans/beans-add/beans-add.component.ts index f71c0b0ce..29b12ac67 100644 --- a/src/app/beans/beans-add/beans-add.component.ts +++ b/src/app/beans/beans-add/beans-add.component.ts @@ -14,6 +14,9 @@ import BEAN_TRACKING from '../../../data/tracking/beanTracking'; import { UIAnalytics } from '../../../services/uiAnalytics'; import { ServerBean } from '../../../models/bean/serverBean'; import { UIAlert } from '../../../services/uiAlert'; +import { UIBeanHelper } from '../../../services/uiBeanHelper'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; +import { Settings } from '../../../classes/settings/settings'; @Component({ selector: 'beans-add', @@ -31,6 +34,7 @@ export class BeansAddComponent implements OnInit { @Input() private greenBean: GreenBean; public bean_segment = 'general'; + public settings: Settings = undefined; constructor( private readonly modalController: ModalController, @@ -42,9 +46,15 @@ export class BeansAddComponent implements OnInit { private readonly uiToast: UIToast, private readonly uiAnalytics: UIAnalytics, private readonly uiAlert: UIAlert, - private readonly platform: Platform + private readonly platform: Platform, + public readonly uiBeanHelper: UIBeanHelper, + private readonly uiSettingsStorage: UISettingsStorage ) {} + public ngOnInit() { + this.settings = this.uiSettingsStorage.getSettings(); + } + public async ionViewWillEnter() { this.uiAnalytics.trackEvent(BEAN_TRACKING.TITLE, BEAN_TRACKING.ACTIONS.ADD); @@ -175,6 +185,4 @@ export class BeansAddComponent implements OnInit { return valid; } - - public ngOnInit() {} } diff --git a/src/app/beans/beans-detail/beans-detail.component.html b/src/app/beans/beans-detail/beans-detail.component.html index 1612e70c7..c0169a774 100644 --- a/src/app/beans/beans-detail/beans-detail.component.html +++ b/src/app/beans/beans-detail/beans-detail.component.html @@ -19,7 +19,7 @@ {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} - + {{"BEAN_TAB_SORT_INFORMATION" | translate }} @@ -110,39 +110,39 @@

{{data.bean_roast_information.humidity}}

- +

{{"BEAN_DATA_NAME" | translate}}:

{{data.name}}

- +

{{"BEAN_DATA_ROASTER" | translate}}:

{{data.roaster}}

- +

{{"BEAN_DATA_BUY_DATE" | translate}}:

{{data.buyDate | formatDate:["DD.MM.YYYY"]}}

-

- +

{{"BEAN_DATA_ROASTING_DATE" | translate}}:

{{data.roastingDate | formatDate:["DD.MM.YYYY"]}}

- +

{{"BEAN_DATA_ROASTING_TYPE" | translate}}:

{{"BEAN_ROASTING_TYPE_" + data.bean_roasting_type | translate}}

- + {{"BEAN_DATA_ROAST_NAME" | translate}}
@@ -150,7 +150,7 @@

{{"BEAN_ROASTING_TYPE_" + data.bean_roasting_type | translate}}

- +

{{"BEAN_DATA_ROAST_NAME" | translate}}:

@@ -163,7 +163,7 @@

- + {{"BREW_DATA_RATING" | translate }} {{data.rating}} @@ -178,7 +178,7 @@

- +

{{"BEAN_DATA_MIX" | translate}}:

{{"BEAN_MIX_" + data.beanMix | translate}}

@@ -190,44 +190,44 @@

{{"BEAN_MIX_" + data.beanMix | translate}}

{{"BEAN_SORT_MORE_INFORMATION" | translate }} - +

{{"BEAN_DATA_WEIGHT" | translate}}:

{{data.weight}}

- +

{{"BEAN_DATA_COST" | translate}}:

{{data.cost}}

- +

{{"BEAN_DATA_AROMATICS" | translate}}:

{{data.aromatics}}

- +

{{"BEAN_DATA_CUPPING_POINTS" | translate}}:

{{data.cupping_points}}

- +

{{"BEAN_DATA_DECAFFEINATED" | translate}}:

- +

{{"BEAN_DATA_URL" | translate}}:

{{data.url}}

- +

{{"BEAN_DATA_EAN" | translate}}:

{{data.ean_article_number}}

@@ -239,13 +239,13 @@

{{"FINISHED" | translate}}?:

- +

{{"NOTES" | translate}}:

{{data.note}}
-
+
@@ -254,12 +254,6 @@

{{"NOTES" | translate}}:

- - - - - - diff --git a/src/app/beans/beans-detail/beans-detail.component.ts b/src/app/beans/beans-detail/beans-detail.component.ts index a85e964f2..68ef529f8 100644 --- a/src/app/beans/beans-detail/beans-detail.component.ts +++ b/src/app/beans/beans-detail/beans-detail.component.ts @@ -13,6 +13,7 @@ import BEAN_TRACKING from '../../../data/tracking/beanTracking'; import moment from 'moment'; import { UISettingsStorage } from '../../../services/uiSettingsStorage'; import { Settings } from '../../../classes/settings/settings'; +import { UIBeanHelper } from '../../../services/uiBeanHelper'; @Component({ selector: 'app-beans-detail', @@ -34,12 +35,15 @@ export class BeansDetailComponent implements OnInit { public settings: Settings = undefined; public bean_segment = 'general'; + constructor( private readonly modalController: ModalController, private readonly navParams: NavParams, public uiHelper: UIHelper, private readonly uiAnalytics: UIAnalytics, - private readonly uiSettings: UISettingsStorage + private readonly uiSettings: UISettingsStorage, + public readonly uiBeanHelper: UIBeanHelper, + private readonly uiSettingsStorage: UISettingsStorage ) {} public ionViewWillEnter() { @@ -48,7 +52,7 @@ export class BeansDetailComponent implements OnInit { BEAN_TRACKING.ACTIONS.DETAIL ); this.bean = this.navParams.get('bean'); - this.settings = this.uiSettings.getSettings(); + if (this.bean) { const copy: IBean = this.uiHelper.copyData(this.bean); this.data.initializeByObject(copy); @@ -56,7 +60,10 @@ export class BeansDetailComponent implements OnInit { this.beanStars.setRating(this.data.roast_range); this.beanRating.setRating(this.data.rating); } - public ngOnInit() {} + public ngOnInit() { + this.settings = this.uiSettingsStorage.getSettings(); + } + public dismiss(): void { this.modalController.dismiss( { diff --git a/src/app/beans/beans-edit/beans-edit.component.html b/src/app/beans/beans-edit/beans-edit.component.html index 71da8e4ca..daa539470 100644 --- a/src/app/beans/beans-edit/beans-edit.component.html +++ b/src/app/beans/beans-edit/beans-edit.component.html @@ -18,7 +18,7 @@ {{"BEAN_TAB_GENERAL_INFORMATION" | translate }}
- + {{"BEAN_TAB_SORT_INFORMATION" | translate }} diff --git a/src/app/beans/beans-edit/beans-edit.component.ts b/src/app/beans/beans-edit/beans-edit.component.ts index b516f8568..852771e6e 100644 --- a/src/app/beans/beans-edit/beans-edit.component.ts +++ b/src/app/beans/beans-edit/beans-edit.component.ts @@ -1,14 +1,17 @@ -import {Component, Input, OnInit} from '@angular/core'; -import { ModalController, NavParams} from '@ionic/angular'; -import {UIBeanStorage} from '../../../services/uiBeanStorage'; +import { Component, Input, OnInit } from '@angular/core'; +import { ModalController, NavParams } from '@ionic/angular'; +import { UIBeanStorage } from '../../../services/uiBeanStorage'; -import {UIHelper} from '../../../services/uiHelper'; -import {UIImage} from '../../../services/uiImage'; -import {IBean} from '../../../interfaces/bean/iBean'; -import {Bean} from '../../../classes/bean/bean'; -import {UIToast} from '../../../services/uiToast'; -import {UIAnalytics} from '../../../services/uiAnalytics'; +import { UIHelper } from '../../../services/uiHelper'; +import { UIImage } from '../../../services/uiImage'; +import { IBean } from '../../../interfaces/bean/iBean'; +import { Bean } from '../../../classes/bean/bean'; +import { UIToast } from '../../../services/uiToast'; +import { UIAnalytics } from '../../../services/uiAnalytics'; import BEAN_TRACKING from '../../../data/tracking/beanTracking'; +import { UIBeanHelper } from '../../../services/uiBeanHelper'; +import { Settings } from '../../../classes/settings/settings'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; @Component({ selector: 'beans-edit', @@ -16,22 +19,28 @@ import BEAN_TRACKING from '../../../data/tracking/beanTracking'; styleUrls: ['./beans-edit.component.scss'], }) export class BeansEditComponent implements OnInit { - - public static COMPONENT_ID:string = 'bean-edit'; + public static COMPONENT_ID: string = 'bean-edit'; + public settings: Settings = undefined; public data: Bean; @Input() public bean: IBean; public bean_segment = 'general'; - constructor (private readonly navParams: NavParams, - private readonly modalController: ModalController, - private readonly uiBeanStorage: UIBeanStorage, - private readonly uiImage: UIImage, - private readonly uiHelper: UIHelper, - private readonly uiToast: UIToast, - private readonly uiAnalytics: UIAnalytics) { - } + constructor( + private readonly navParams: NavParams, + private readonly modalController: ModalController, + private readonly uiBeanStorage: UIBeanStorage, + private readonly uiImage: UIImage, + private readonly uiHelper: UIHelper, + private readonly uiToast: UIToast, + private readonly uiAnalytics: UIAnalytics, + public readonly uiBeanHelper: UIBeanHelper, + private readonly uiSettingsStorage: UISettingsStorage + ) {} public ionViewWillEnter(): void { - this.uiAnalytics.trackEvent(BEAN_TRACKING.TITLE, BEAN_TRACKING.ACTIONS.EDIT); + this.uiAnalytics.trackEvent( + BEAN_TRACKING.TITLE, + BEAN_TRACKING.ACTIONS.EDIT + ); this.data = new Bean(); this.data.initializeByObject(this.bean); } @@ -43,9 +52,13 @@ export class BeansEditComponent implements OnInit { } public dismiss(): void { - this.modalController.dismiss({ - dismissed: true - },undefined,BeansEditComponent.COMPONENT_ID); + this.modalController.dismiss( + { + dismissed: true, + }, + undefined, + BeansEditComponent.COMPONENT_ID + ); } private __formValid(): boolean { @@ -60,10 +73,14 @@ export class BeansEditComponent implements OnInit { private async __editBean() { await this.uiBeanStorage.update(this.data); this.uiToast.showInfoToast('TOAST_BEAN_EDITED_SUCCESSFULLY'); - this.uiAnalytics.trackEvent(BEAN_TRACKING.TITLE, BEAN_TRACKING.ACTIONS.EDIT_FINISH); + this.uiAnalytics.trackEvent( + BEAN_TRACKING.TITLE, + BEAN_TRACKING.ACTIONS.EDIT_FINISH + ); this.dismiss(); } - public ngOnInit() {} - + public ngOnInit() { + this.settings = this.uiSettingsStorage.getSettings(); + } } diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index c6e5e0115..d0a9628af 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -19,10 +19,8 @@ import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationS import { Settings } from '../../../classes/settings/settings'; import { BrewBrewingComponent } from '../../../components/brews/brew-brewing/brew-brewing.component'; import { TranslateService } from '@ngx-translate/core'; -import { - CoffeeBluetoothDevicesService, - PressureDevice, -} from '@graphefruit/coffee-bluetooth-devices'; +import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'brew-flow', diff --git a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts index 248fae76b..f9025ad40 100644 --- a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts +++ b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts @@ -3,8 +3,8 @@ import { Settings } from '../../../classes/settings/settings'; import { ModalController, NavParams } from '@ionic/angular'; import { UIHelper } from '../../../services/uiHelper'; import { UISettingsStorage } from '../../../services/uiSettingsStorage'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; import { UIAlert } from '../../../services/uiAlert'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'app-settings-popover-bluetooth-actions', diff --git a/src/app/settings/settings.page.ts b/src/app/settings/settings.page.ts index 5ddcd32da..cba6a145d 100644 --- a/src/app/settings/settings.page.ts +++ b/src/app/settings/settings.page.ts @@ -63,10 +63,8 @@ import { Water } from '../../classes/water/water'; import { AppEvent } from '../../classes/appEvent/appEvent'; import { AppEventType } from '../../enums/appEvent/appEvent'; import { EventQueueService } from '../../services/queueService/queue-service.service'; -import { - CoffeeBluetoothDevicesService, - Logger, -} from '@graphefruit/coffee-bluetooth-devices'; +import { CoffeeBluetoothDevicesService } from '../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; +import { Logger } from '../../classes/devices/common/logger'; declare var cordova: any; declare var device: any; diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 6018cc07e..f9243129f 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -161,10 +161,12 @@ import { PhotoViewComponent } from '../../components/photo-view/photo-view.compo import { QrCodeScannerPopoverComponent } from '../../popover/qr-code-scanner-popover/qr-code-scanner-popover.component'; import { PreparationToolModalSelectComponent } from '../preparation/preparation-tool-modal-select/preparation-tool-modal-select.component'; import { PreparationToolOverlayDirective } from '../../directive/preparation-tool-overlay.directive'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; import { NgxGaugeModule } from 'ngx-gauge'; import { SettingsPopoverBluetoothActionsComponent } from '../settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component'; import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bean-associated-brews.component'; +import { BeanParameterPage } from '../bean-parameter/bean-parameter.page'; +import { BeanListViewParameterComponent } from '../bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component'; +import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-parameter/bean-manage-parameter.component'; @NgModule({ declarations: [ @@ -172,6 +174,7 @@ import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bea StatisticPage, HomePage, BrewParameterPage, + BeanParameterPage, DashboardPage, RoastingSectionPage, WaterSectionPage, @@ -207,6 +210,8 @@ import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bea DefaultParameterComponent, SortParameterComponent, ManageParameterComponent, + BeanListViewParameterComponent, + BeanManageParameterComponent, HelperBrewRatioComponent, HelperWaterHardnessComponent, BrewCuppingComponent, @@ -362,6 +367,7 @@ import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bea StatisticPage, HomePage, BrewParameterPage, + BeanParameterPage, BeansPage, HelperPage, RoastingSectionPage, @@ -396,6 +402,8 @@ import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bea DefaultParameterComponent, SortParameterComponent, ManageParameterComponent, + BeanListViewParameterComponent, + BeanManageParameterComponent, HelperBrewRatioComponent, HelperWaterHardnessComponent, BrewCuppingComponent, diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index beefa3a93..059085cc8 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1310,5 +1310,11 @@ "PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE": "Anzeige Bohnenbilder bei BrÃŧhungen?", "PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE_DESCRIPTION": "Falls ein Bohnenbild hinterlegt wurde, wird dies anstatt des Zubereitungsbildes angezeigt", "DOWNLOAD_XLSX": "Excel herunterladen", - "DOWNLOAD_JSON": "JSON herunterladen" + "DOWNLOAD_JSON": "JSON herunterladen", + "NAV_BEAN_PARAMS": "Bohnenparameter", + "BEAN_DATA_ROAST_NAME_TYPE": "RÃļsttyp", + "ENABLE_BEAN_SORT_INFORMATION": "Aktiviere Sorteninformation", + "BEAN_SORT_MIX": "Bohnenmischung", + "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter beim Erfassen einer Bohne angezeigt werden sollen.", + "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 30600e726..434dfcd6e 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1310,5 +1310,10 @@ "PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE": "Display bean images on brews?", "PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE_DESCRIPTION": "If a bean image exists, this one will be used, instead of the preparation image", "DOWNLOAD_XLSX": "Download excel", - "DOWNLOAD_JSON": "Download JSON" + "DOWNLOAD_JSON": "Download JSON", + "NAV_BEAN_PARAMS": "Bean parameter", + "BEAN_DATA_ROAST_NAME_TYPE": "Roasting type", + "BEAN_SORT_MIX": "Bean mix", + "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Mark parameters to be shown when editing bean information.", + "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Decice which parameter of your bean, should be displayed on the list view tiles" } diff --git a/src/classes/devices/acaia/acaia.ts b/src/classes/devices/acaia/acaia.ts new file mode 100644 index 000000000..1439a0f1b --- /dev/null +++ b/src/classes/devices/acaia/acaia.ts @@ -0,0 +1,627 @@ +// Converted to TypeScript from Python from https://github.com/lucapinello/pyacaia +import { Characteristic } from '../ble.types'; +import { + MAGIC1, + MAGIC2, + PYXIS_RX_CHARACTERISTIC_UUID, + PYXIS_TX_CHARACTERISTIC_UUID, + SCALE_CHARACTERISTIC_UUID, +} from './constants'; +import { + Button, + DecoderResultType, + MessageType, + ParsedMessage, + ScaleMessageType, + Units, + WorkerResult, +} from './common'; +import { memoize } from 'lodash'; + +import { Logger } from '../common/logger'; +import { DEBUG } from '../common/constants'; +import { to128bitUUID } from '../common/util'; +import { Decoder } from './decoder'; + +declare var window: any; +declare var device: any; +export enum EventType { + WEIGHT, + TIMER_START, + TIMER_STOP, + TIMER_RESET, + TARE, + SETTINGS, +} + +const log = (...args: any) => { + if (DEBUG) { + try { + console.log(`ACAIA: ${JSON.stringify(args)}`); + } catch (e) {} + } +}; + +// DecodeWorkers receives array buffer from heartbeat notification and emits parsed messages if any +class DecoderWorker { + private readonly decodeCallback: (msgs: ParsedMessage[]) => any; + private readonly logger: Logger; + private readonly decoder: Decoder; + + constructor(callback: (msgs: ParsedMessage[]) => any) { + this.decodeCallback = callback; + this.logger = new Logger('ACAIA DecodeWorker container'); + + this.logger.debug('Decoder is imported, initalizing...'); + this.decoder = new Decoder(); + } + + public addBuffer(buffer: ArrayBuffer) { + this.postMessage(buffer, [buffer]); + } + + private postMessage(message: any, transfer: Transferable[]) { + setTimeout(() => { + const result = this.decoder.process(message); + if (result) { + setTimeout(() => { + this.handleMessage({ data: result }); + }); + } + }); + } + + private handleMessage({ data }: any) { + this.logger.debug('Decoder sent a message', data); + if ( + data instanceof Object && + data.hasOwnProperty('type') && + data.hasOwnProperty('data') + ) { + switch ((data as WorkerResult).type) { + case DecoderResultType.LOG: + this.logger.debug(...data.data); + break; + case DecoderResultType.DECODE_RESULT: + this.decodeCallback(data.data); + break; + } + } + } +} + +const HEARTBEAT_INTERVAL = 1000; + +export class AcaiaScale { + private readonly device_id: string; + private rx_char_uuid: string; + private tx_char_uuid: string; + private weight_uuid: string; + + private isPyxisStyle: boolean; + private readonly characteristics: Characteristic[]; + + private worker: DecoderWorker; + + private readonly logger: Logger; + + private connected: boolean; + private packet: Uint8Array; + private last_heartbeat: number; + + private timer_start_time: number; + private paused_time: number; + private readonly transit_delay: number; + private weight: number | null; + private battery: number | null; + private units: Units | null; + private auto_off: boolean | null; + private beep_on: boolean | null; + private timer_running: boolean; + + private command_queue: ArrayBuffer[]; + private set_interval_thread: ReturnType | null; + private callback: (eventType: EventType, data?: any) => any; + + private heartbeat_monitor_interval: ReturnType | null = + null; + + constructor(device_id: string, characteristics: Characteristic[]) { + /*For Pyxis-style devices, the UUIDs can be overridden. char_uuid + is the command UUID, and weight_uuid is where the notify comes + from. Old-style scales only specify char_uuid + */ + this.device_id = device_id; + this.connected = false; + + this.logger = new Logger(); + + // TODO(mike1808): make it to work with new Lunar and Pyxis by auto-detecting service and char uuid + this.logger.info( + 'received characteristics: ', + JSON.stringify(characteristics) + ); + this.characteristics = characteristics; + this.isPyxisStyle = false; + + if (!this.findBLEUUIDs()) { + throw new Error( + 'Cannot find weight service and characteristics on the scale' + ); + } + + // this.char_uuid = SCALE_CHARACTERISTIC_UUID; + // this.weight_uuid = SCALE_SERVICE_UUID; + + this.command_queue = []; + this.packet = new Uint8Array(0); + this.set_interval_thread = null; + this.last_heartbeat = 0; + this.timer_start_time = 0; + this.paused_time = 0; + this.transit_delay = 200; + this.weight = 0; + this.battery = 0; + this.units = null; + this.auto_off = null; + this.beep_on = null; + this.timer_running = false; + } + + public getElapsedTime(): number { + if (this.timer_running) { + return Date.now() - this.timer_start_time + this.transit_delay; + } else { + return this.paused_time; + } + } + + public async connect(callback: any) { + this.logger.log('Connect scale'); + if (this.connected) { + this.logger.log('Already connected, bail.'); + return; + } + + this.callback = callback; + + if (device !== null && device.platform === 'Android') { + try { + await promisify(window.ble.requestMtu)(this.device_id, 247); + } catch (e) { + this.logger.error('failed to set MTU' + JSON.stringify(e)); + } + } + + this.worker = new DecoderWorker((_data: ParsedMessage[]) => { + this.messageParseCallback(_data); + }); + this.logger.log('Subscribing to notifications', { + device_id: this.device_id, + weight_uuid: this.weight_uuid, + char_uuid: this.rx_char_uuid, + }); + + // We moved this line from notifications ready to here. + this.connected = true; + + window.ble.startNotification( + this.device_id, + this.weight_uuid, + this.rx_char_uuid, + async (_val: any) => { + this.handleNotification(_val); + }, + async (err: any) => { + this.logger.error( + 'failed to subscribe to notifications ' + JSON.stringify(err) + ); + this.disconnect().catch(this.logger.error.bind(this.logger)); + } + ); + + await this.write(new Uint8Array([0, 1]).buffer); + + await this.notificationsReady(); + + this.startHeartbeatMonitor(); + } + + public disconnectTriggered() { + this.logger.debug('Scale disconnect triggered'); + // Class is still existing, therefore we should do something good maybe? + this.connected = false; + this.stopHeartbeatMonitor(); + } + + public async disconnect() { + this.logger.debug('Scale disconnected'); + this.stopHeartbeatMonitor(); + if (this.connected) { + if (this.device_id && this.weight_uuid && this.tx_char_uuid) { + this.logger.debug('Disconnect the device with its characteristics'); + // Lars - I don't know if we need this, but the problem is when the scale is disconnected via settings, or shutdown, it will crash everything. + // Try catch won't help here, because the device is already deattached. + // await promisify(ble.stopNotification)((this.device_id, this.weight_uuid, this.tx_char_uuid)); + } else { + this.logger.debug( + 'We cant disconnect because one of the characteristics is missing' + + JSON.stringify({ + device_id: this.device_id, + weight: this.weight_uuid, + char_uuid: this.tx_char_uuid, + }) + ); + } + this.connected = false; + } + } + + public tare() { + if (!this.connected) { + return false; + } + + this.logger.debug('taring...'); + this.command_queue.push(encodeTare()); + return true; + } + + public startTimer() { + if (!this.connected) { + return false; + } + this.logger.debug('start timer...'); + this.command_queue.push(encodeStartTimer()); + this.timer_start_time = Date.now(); + this.timer_running = true; + return true; + } + + public stopTimer() { + if (!this.connected) { + return false; + } + this.logger.debug('stop timer...'); + this.command_queue.push(encodeStopTimer()); + this.paused_time = Date.now() - this.timer_start_time; + this.timer_running = false; + return true; + } + + // @ts-ignore + public resetTimer() { + if (!this.connected) { + return false; + } + this.logger.debug('reset timer...'); + this.command_queue.push(encodeResetTimer()); + this.paused_time = 0; + this.timer_running = false; + } + + public isConnected(): boolean { + return this.connected; + } + + private findBLEUUIDs() { + let foundRx = false; + let foundTx = false; + for (const char of this.characteristics) { + if ( + to128bitUUID(char.characteristic) === + to128bitUUID(SCALE_CHARACTERISTIC_UUID) + ) { + this.rx_char_uuid = char.characteristic.toLowerCase(); + this.tx_char_uuid = char.characteristic.toLowerCase(); + this.weight_uuid = char.service.toLowerCase(); + this.isPyxisStyle = false; + foundRx = true; + foundTx = true; + } else if ( + to128bitUUID(char.characteristic) === + to128bitUUID(PYXIS_RX_CHARACTERISTIC_UUID) + ) { + this.rx_char_uuid = char.characteristic.toLowerCase(); + foundRx = true; + } else if ( + to128bitUUID(char.characteristic) === + to128bitUUID(PYXIS_TX_CHARACTERISTIC_UUID) + ) { + this.tx_char_uuid = char.characteristic.toLowerCase(); + this.weight_uuid = char.service.toLowerCase(); + this.isPyxisStyle = true; + foundTx = true; + } + this.logger.log('findBleeUIDS', { + device_id: this.device_id, + weight_uuid: this.weight_uuid, + char_uuid: this.rx_char_uuid, + isPyxis: this.isPyxisStyle, + foundRx: foundRx, + foundTx: foundTx, + }); + if (foundRx && foundTx) { + return true; + } + } + return false; + } + + private handleNotification(value: ArrayBuffer) { + if (this.connected) { + this.worker.addBuffer(value); + this.heartbeat(); + } + } + + private startHeartbeatMonitor() { + this.heartbeat_monitor_interval = setInterval(async () => { + if (Date.now() > this.last_heartbeat + HEARTBEAT_INTERVAL) { + await this.initScales(); + this.logger.info('Sent heartbeat reviving request.'); + } + }, HEARTBEAT_INTERVAL * 2); + } + + private stopHeartbeatMonitor() { + if (this.heartbeat_monitor_interval) { + clearInterval(this.heartbeat_monitor_interval); + this.heartbeat_monitor_interval = null; + } + } + + private messageParseCallback(messages: ParsedMessage[]) { + messages.forEach((msg) => { + this.logger.debug('Message recieved - ' + JSON.stringify(msg)); + if (msg.type === MessageType.SETTINGS) { + this.battery = msg.battery; + this.units = msg.units; + this.auto_off = msg.autoOff; + this.beep_on = msg.beepOn; + this.callback(EventType.SETTINGS); + } else if (msg.type === MessageType.MESSAGE) { + if (msg.msgType === ScaleMessageType.WEIGHT) { + this.weight = msg.weight; + this.callback(EventType.WEIGHT, this.weight); + this.logger.debug('weight: ' + msg.weight + ' ' + Date.now()); + } else if (msg.msgType === ScaleMessageType.TARE_START_STOP_RESET) { + if (msg.button === 'unknown') { + if (this.timer_running) { + msg.button = Button.STOP; + } else if (this.paused_time > 0) { + msg.button = Button.RESET; + } + } + switch (msg.button) { + case Button.TARE: + this.weight = 0; + this.callback(EventType.TARE, 0); + break; + case Button.START: + this.timer_start_time = + Date.now() - this.paused_time + this.transit_delay; + this.timer_running = true; + this.callback(EventType.TIMER_START, this.timer_start_time); + break; + case Button.STOP: + this.paused_time = msg.time; + this.timer_running = false; + this.callback(EventType.TIMER_STOP, this.paused_time); + break; + case Button.RESET: + this.paused_time = 0; + this.timer_running = false; + this.callback(EventType.TIMER_RESET, 0); + break; + } + } + } + }); + } + + private async initScales() { + await this.ident(); + this.last_heartbeat = Date.now(); + } + + private async notificationsReady() { + await this.initScales(); + this.logger.info('Scale Ready!'); + } + + private write(data: ArrayBuffer, withoutResponse = false) { + this.logger.debug('trying to write: ', new Uint8Array(data)); + return new Promise((resolve) => { + if (this.connected) { + window.ble[withoutResponse ? 'writeWithoutResponse' : 'write']( + this.device_id, + this.weight_uuid, + this.tx_char_uuid, + data, + (_data: any) => { + this.logger.log('Retrieved data ' + JSON.stringify(_data)); + resolve(_data); + }, + (err: any) => { + this.logger.error( + 'failed to write to characteristic, but we are ignoring it', + err, + withoutResponse + ); + resolve(false); // resolve for both cases because sometimes write says it's an error but in reality it's fine + } + ); + } else { + this.logger.debug( + "We didn't write, because scale wasn't connected anymore ", + new Uint8Array(data) + ); + } + }); + } + + private async ident() { + return new Promise((resolve) => { + this.write(encodeId(this.isPyxisStyle), true); + setTimeout(() => { + this.write(encodeNotificationRequest(), true); + setTimeout(() => { + resolve(true); + }, 50); + }, 100); + }); + } + + // @ts-ignore + private heartbeat() { + if (!this.connected) { + return false; + } + // @ts-ignore + setTimeout(async () => { + try { + if (!this.connected) { + return false; + } + while (this.command_queue.length) { + const packet: any = this.command_queue.shift(); + this.write(packet, true).catch(this.logger.error.bind(this.logger)); + } + + if (Date.now() >= this.last_heartbeat + HEARTBEAT_INTERVAL) { + this.logger.debug('Sending heartbeat...'); + this.last_heartbeat = Date.now(); + if (this.isPyxisStyle) { + this.write(encodeId(this.isPyxisStyle)).catch( + this.logger.error.bind(this.logger) + ); + } + this.write(encodeHeartbeat(), false).catch( + this.logger.error.bind(this.logger) + ); + this.logger.debug('Heartbeat success'); + } + return true; + } catch (e) { + this.logger.error('Heartbeat failed ' + JSON.stringify(e)); + try { + await this.disconnect(); + } catch (e) { + this.logger.error(e); + return false; + } + } + }, 0); + } +} + +const encodeEventData = memoize((payload: number[]): ArrayBuffer => { + const bytes = new Array(payload.length + 1); + bytes[0] = payload.length + 1; + for (let i = 0, _pj_a = payload.length; i < _pj_a; i += 1) { + bytes[i + 1] = payload[i] & 0xff; + } + return encode(12, bytes); +}); + +const encodeNotificationRequest = memoize((): ArrayBuffer => { + log('encodeNotificationRequest'); + const payload = [ + 0, // weight + 1, // weight argument + 1, // battery + 2, // battery argument + 2, // timer + 5, // timer argument (number heartbeats between timer messages) + 3, // key + 4, // setting + ]; + return encodeEventData(payload); +}); + +const encodeId = memoize((isPyxisStyle = false): ArrayBuffer => { + log('encodeId'); + let payload: number[]; + if (isPyxisStyle) { + payload = [ + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30, 0x31, + 0x32, 0x33, 0x34, + ]; + } else { + payload = [ + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, + ]; + } + return encode(11, payload); +}); + +const encodeHeartbeat = memoize((): ArrayBuffer => { + log('encodeHeartbeat'); + const payload = [2, 0]; + return encode(0, payload); +}); + +const encodeTare = memoize((): ArrayBuffer => { + log('encodeTare'); + const payload = [0]; + return encode(4, payload); +}); + +const encodeGetSettings = memoize((): ArrayBuffer => { + log('encodeSettings'); + /* Settings are returned as a notification */ + const payload = new Array(16).fill(0); + return encode(6, payload); +}); + +const encodeStartTimer = memoize((): ArrayBuffer => { + log('encodeStartTimer'); + const payload = [0, 0]; + return encode(13, payload); +}); + +const encodeStopTimer = memoize((): ArrayBuffer => { + log('encodeStopTimer'); + const payload = [0, 2]; + return encode(13, payload); +}); + +const encodeResetTimer = memoize((): ArrayBuffer => { + log('encodeResetTimer'); + const payload = [0, 1]; + return encode(13, payload); +}); + +function encode(msgType: number, payload: number[]): ArrayBuffer { + log('encode', { msgType, payload }); + let cksum1, cksum2, val; + const bytes = new Uint8Array(5 + payload.length); + bytes[0] = MAGIC1; + bytes[1] = MAGIC2; + bytes[2] = msgType; + cksum1 = 0; + cksum2 = 0; + for (let i = 0, _pj_a = payload.length; i < _pj_a; i += 1) { + val = payload[i] & 0xff; + bytes[3 + i] = val; + if (i % 2 === 0) { + cksum1 += val; + } else { + cksum2 += val; + } + } + bytes[payload.length + 3] = cksum1 & 0xff; + bytes[payload.length + 4] = cksum2 & 0xff; + return bytes.buffer; +} + +function promisify(fn: any) { + // tslint:disable-next-line:only-arrow-functions + return function (...args: any) { + return new Promise((resolve, reject) => { + fn(...args, resolve, reject); + }); + }; +} diff --git a/src/classes/devices/acaia/common.ts b/src/classes/devices/acaia/common.ts new file mode 100644 index 000000000..94ad8cafb --- /dev/null +++ b/src/classes/devices/acaia/common.ts @@ -0,0 +1,63 @@ +export enum ScaleMessageType { + WEIGHT = 5, + HEARTBEAT = 11, + TIMER = 7, + TARE_START_STOP_RESET = 8, +} + +export enum Button { + TARE = 'tare', + START = 'start', + STOP = 'stop', + RESET = 'reset', + UNKNOWN = 'unknown', +} + +export enum Units { + GRAMS = 'grams', + OUNCES = 'ounces', +} + +export enum MessageType { + MESSAGE, + SETTINGS, +} + +export interface Message { + type: MessageType.MESSAGE; + msgType: ScaleMessageType | null; + weight: number | null; + time: number; + button: Button | null; +} + +export interface Settings { + type: MessageType.SETTINGS; + units: Units | null; + battery: number | null; + beepOn: boolean | null; + autoOff: boolean | null; +} + +export type ParsedMessage = Settings | Message; + +export enum DecoderResultType { + LOG, + DECODE_RESULT, + ENCODE_RESULT, +} + +export interface DecoderResult { + type: DecoderResultType.DECODE_RESULT; + data: ParsedMessage[]; +} + +export interface DecoderLog { + type: DecoderResultType.LOG; + data: unknown[]; +} + +export type WorkerResult = DecoderLog | DecoderResult; + +export type Platform = 'ios' | 'android' | 'web' | 'mobile'; +// they are more but we don't care diff --git a/src/classes/devices/acaia/constants.ts b/src/classes/devices/acaia/constants.ts new file mode 100644 index 000000000..2b18cfe3e --- /dev/null +++ b/src/classes/devices/acaia/constants.ts @@ -0,0 +1,13 @@ +// unused currently +export const SCALE_SERVICE_UUID = '00001820-0000-1000-8000-00805f9b34fb'; +export const SCALE_CHARACTERISTIC_UUID = '00002a80-0000-1000-8000-00805f9b34fb'; + +// unused currently +export const PYXIS_SERVICE_UUID = '49535343-FE7D-4AE5-8FA9-9FAFD205E455'; +export const PYXIS_TX_CHARACTERISTIC_UUID = + '49535343-8841-43F4-A8D4-ECBE34729BB3'; +export const PYXIS_RX_CHARACTERISTIC_UUID = + '49535343-1E4D-4BD9-BA61-23C647249616'; + +export const MAGIC1 = 0xef; +export const MAGIC2 = 0xdd; diff --git a/src/classes/devices/acaia/decoder.ts b/src/classes/devices/acaia/decoder.ts new file mode 100644 index 000000000..3aba9ab5c --- /dev/null +++ b/src/classes/devices/acaia/decoder.ts @@ -0,0 +1,275 @@ +import { MAGIC1, MAGIC2 } from './constants'; +import { + Button, + Message, + MessageType, + ParsedMessage, + ScaleMessageType, + Settings, + Units, + DecoderResult, + DecoderResultType, +} from './common'; +import { Logger } from '../common/logger'; + +export class Decoder { + private readonly log: Logger; + private packet: ArrayBuffer = new ArrayBuffer(0); + + constructor() { + this.log = new Logger('ACAIA DecodeWorker'); + } + + public process(buffer: ArrayBuffer): DecoderResult | null { + this.log.log('Decoder#process start'); + this.addBuffer(buffer); + const messages = this.processMessages(); + this.log.log('Decoder#process, receives messages', { messages }); + + if (messages.length) { + return { type: DecoderResultType.DECODE_RESULT, data: messages }; + } + + return null; + } + + private processMessages() { + const msgs: ParsedMessage[] = []; + + while (true) { + let msg; + [msg, this.packet] = this.decode(this.packet); + if (!msg) { + break; + } else { + msgs.push(msg); + } + } + + return msgs; + } + + private addBuffer(buffer: ArrayBuffer) { + if (this.packet) { + const tmp = new Uint8Array(this.packet.byteLength + buffer.byteLength); + tmp.set(new Uint8Array(this.packet), 0); + tmp.set(new Uint8Array(buffer), this.packet.byteLength); + this.packet = tmp.buffer; + } else { + this.packet = buffer; + } + } + + private decode(buffer: ArrayBuffer): [ParsedMessage, ArrayBuffer] { + const bytes = new Uint8Array(buffer); + + let messageStart, msgType, payloadIn; + messageStart = -1; + + for (let i = 0, _pj_a = bytes.length - 1; i < _pj_a; i += 1) { + if (bytes[i] === MAGIC1 && bytes[i + 1] === MAGIC2) { + messageStart = i; + break; + } + } + if (messageStart < 0 || bytes.length - messageStart < 6) { + // @ts-ignore + return [null, bytes.buffer]; + } + const messageEnd = messageStart + bytes[messageStart + 3] + 5; + if (messageEnd > bytes.length) { + // @ts-ignore + return [null, bytes.buffer]; + } + if (messageStart > 0) { + this.log.log('Ignoring ' + messageStart + ' bytes before header'); + } + const cmd = bytes[messageStart + 2]; + if (cmd === 12) { + msgType = bytes[messageStart + 4]; + payloadIn = bytes.slice(messageStart + 5, messageEnd); + // @ts-ignore + return [ + this.parseMessage(msgType, payloadIn.buffer), + bytes.slice(messageEnd).buffer, + ]; + } + if (cmd === 8) { + return [ + this.parseSettings(bytes.slice(messageStart + 3).buffer), + bytes.slice(messageEnd), + ]; + } + + this.log.log( + 'Non event notification message command ' + + cmd + + ' ' + + bytes.slice(messageStart, messageEnd) + ); + // @ts-ignore + return [null, bytes.slice(messageEnd).buffer]; + } + + private parseMessage( + msgType: ScaleMessageType, + buffer: ArrayBuffer + ): Message | null { + const payload = new Uint8Array(buffer); + + let weight: number | null = null; + let button: Button | null = null; + let time: number = 0; + + if (msgType === ScaleMessageType.WEIGHT) { + weight = this.decodeWeight(payload); + } else { + if (msgType === ScaleMessageType.HEARTBEAT) { + if (payload[2] === 5) { + weight = this.decodeWeight(payload.slice(3)); + } else { + if (payload[2] === 7) { + time = this.decodeTime(payload.slice(3)); + } + } + this.log.log( + 'heartbeat response (weight: ' + weight + ' time: ' + time + ); + } else { + if (msgType === ScaleMessageType.TIMER) { + time = this.decodeTime(payload); + this.log.log('timer: ' + time); + } else { + if (msgType === ScaleMessageType.TARE_START_STOP_RESET) { + if (payload[0] === 0 && payload[1] === 5) { + button = Button.TARE; + weight = this.decodeWeight(payload.slice(2)); + this.log.log('tare (weight: ' + weight + ')'); + } else { + if (payload[0] === 8 && payload[1] === 5) { + button = Button.START; + weight = this.decodeWeight(payload.slice(2)); + this.log.log('start (weight: ' + weight + ')'); + } else { + if (payload[0] === 10 && payload[1] === 7) { + button = Button.STOP; + time = this.decodeTime(payload.slice(2)); + weight = this.decodeWeight(payload.slice(6)); + this.log.log('stop time: ' + time + ' weight: ' + weight); + } else { + if (payload[0] === 9 && payload[1] === 7) { + button = Button.RESET; + time = this.decodeTime(payload.slice(2)); + weight = this.decodeWeight(payload.slice(6)); + this.log.log('reset time: ' + time + ' weight: ' + weight); + } else { + button = Button.UNKNOWN; + this.log.log('unknownbutton ' + payload); + } + } + } + } + } else { + this.log.log('message ' + msgType + ': ' + payload); + } + } + } + } + + return { + type: MessageType.MESSAGE, + msgType, + weight, + button, + time, + }; + } + + private decodeWeight(weight_payload: Uint8Array): number { + let value = ((weight_payload[1] & 0xff) << 8) + (weight_payload[0] & 255); + const unit = weight_payload[4] & 0xff; + if (unit === 1) { + value /= 10.0; + } else { + if (unit === 2) { + value /= 100.0; + } else { + if (unit === 3) { + value /= 1000.0; + } else { + if (unit === 4) { + value /= 10000.0; + } else { + try { + // console.log(weight_payload.map((v) => `0x${ ("" + v).toString(16)}`)); + // console.error(`unit value not in range ${unit}`); + //throw new Error(`unit value not in range ${unit}`); + } catch (ex) {} + } + } + } + } + if ((weight_payload[5] & 2) === 2) { + value *= -1; + } + return value; + } + + private decodeTime(time_payload: Uint8Array): number { + let value = (time_payload[0] & 0xff) * 60; + value = value + time_payload[1]; + value = value + time_payload[2] / 10.0; + return value * 1000; + } + + private parseSettings(buffer: ArrayBuffer): Settings { + const payload = new Uint8Array(buffer); + + let units: Units | null; + const battery = payload[1] & 127; + + if (payload[2] === 2) { + units = Units.GRAMS; + } else { + if (payload[2] === 5) { + units = Units.OUNCES; + } else { + units = null; + } + } + + const autoOff = !!(payload[4] * 5); + const beepOn = payload[6] === 1; + this.log.log( + 'settings: battery=' + + battery + + ' ' + + units + + ' auto_off=' + + autoOff + + ' beep=' + + beepOn + ); + + this.log.log( + 'unknown settings: ' + + [ + payload[0], + payload[1] & 128, + payload[3], + payload[5], + payload[7], + payload[8], + payload[9], + ] + ); + + return { + type: MessageType.SETTINGS, + battery, + units, + autoOff, + beepOn, + }; + } +} diff --git a/src/classes/devices/acaia/index.ts b/src/classes/devices/acaia/index.ts new file mode 100644 index 000000000..5d1a9e3f8 --- /dev/null +++ b/src/classes/devices/acaia/index.ts @@ -0,0 +1 @@ +export { AcaiaScale, EventType } from './acaia'; diff --git a/src/classes/devices/ble.types.ts b/src/classes/devices/ble.types.ts new file mode 100644 index 000000000..48f986b20 --- /dev/null +++ b/src/classes/devices/ble.types.ts @@ -0,0 +1,38 @@ +export type UUID = string; + +export interface IOSAdvertisingData { + kCBAdvDataLocalName?: string; + kCBAdvDataManufacturerData?: ArrayBuffer; + kCBAdvDataServiceUUIDs?: string[]; + kCBAdvDataIsConnectable?: boolean; + kCBAdvDataServiceData?: { [k: string]: ArrayBuffer }; +} + +export interface LimitedPeripheralData { + name: string; + id: string; + advertising: ArrayBuffer | IOSAdvertisingData; + rssi: number; +} + +export interface PeripheralData extends LimitedPeripheralData { + services?: UUID[]; + characteristics: Characteristic[]; +} + +export interface Characteristic { + service: UUID; + characteristic: UUID; + propertis: Property[]; + descriptors?: Descriptor[]; +} + +export enum Property { + READ = 'Read', + WRITE = 'Write', + NOTIFY = 'Notify', +} + +export interface Descriptor { + uuid: UUID; +} diff --git a/src/classes/devices/bluetoothDevice.ts b/src/classes/devices/bluetoothDevice.ts new file mode 100644 index 000000000..6d7e2cb7d --- /dev/null +++ b/src/classes/devices/bluetoothDevice.ts @@ -0,0 +1,141 @@ +import { PeripheralData } from './ble.types'; + +declare var ble: any; + +import { EventEmitter } from '@angular/core'; +import { Logger } from './common/logger'; + +export enum SCALE_TIMER_COMMAND { + STOP = 'STOP', + RESET = 'RESET', + START = 'START', +} + +export interface Weight { + actual: number; + old: number; + smoothed: number; + oldSmoothed: number; +} + +export interface WeightChangeEvent extends Weight { + stable: boolean; +} + +export interface FlowChangeEvent extends WeightChangeEvent { + date: Date; +} + +export interface TimerEvent { + command: SCALE_TIMER_COMMAND; + data: any; +} +export type TareEvent = undefined; + +export class BluetoothScale { + public device_id: string; + public device_name: string; + public batteryLevel: number; + public weightChange: EventEmitter = new EventEmitter(); + public flowChange: EventEmitter = new EventEmitter(); + public timerEvent: EventEmitter = new EventEmitter(); + public tareEvent: EventEmitter = new EventEmitter(); + protected weight: Weight; + protected blueToothParentlogger: Logger; + + constructor(data: PeripheralData) { + this.device_id = data.id; + try { + this.device_name = data.name; + } catch (ex) {} + + this.blueToothParentlogger = new Logger(); + } + + public async connect() {} + + public async tare() {} + + public async setLed(_weightOn: boolean, _timerOn: boolean) {} + + public async setTimer(_timer: SCALE_TIMER_COMMAND) {} + + public getWeight(): number { + return 0; + } + + public getSmoothedWeight(): number { + return 0; + } + + public getOldSmoothedWeight(): number { + return 0; + } + + /** + * Disconnect is triggered because the scale was turned off, battery shutdown, or something went broken. + */ + public disconnectTriggered(): void {} + + protected setWeight(_newWeight: number, _stableWeight: boolean = false) { + // Allow negative weight + // Each value effect the current weight bei 10%. + // (A3 * 03 + b2 * 0.7) + // Actual value * 03 + smoothed value * 0.7 + + this.blueToothParentlogger.log( + 'Bluetooth Scale - New weight recieved ' + _newWeight + ); + + this.weight.oldSmoothed = this.weight.smoothed; + this.weight.smoothed = this.calculateSmoothedWeight( + _newWeight, + this.weight.smoothed + ); + + // We passed every shake change, seems like everything correct, set the new weight. + this.weight.actual = _newWeight; + + try { + this.blueToothParentlogger.log( + 'Bluetooth Scale - Are weight subscriptions existing? ' + + this.weightChange?.observers?.length + ); + } catch (ex) {} + this.weightChange.emit({ + actual: this.weight.actual, + smoothed: this.weight.smoothed, + stable: _stableWeight, + old: this.weight.old, + oldSmoothed: this.weight.oldSmoothed, + }); + this.triggerFlow(_stableWeight); + this.weight.old = _newWeight; + } + + protected calculateSmoothedWeight( + _actualWeight: number, + _smoothedWeight: number + ): number { + return _actualWeight * 0.3 + _smoothedWeight * 0.7; + } + + protected triggerFlow(_stableWeight: boolean = false) { + const actualDate = new Date(); + this.blueToothParentlogger.log('Bluetooth Scale - Flow triggered'); + try { + this.blueToothParentlogger.log( + 'Bluetooth Scale - Are flow subscriptions existing? ' + + this.flowChange?.observers?.length + ); + } catch (ex) {} + this.flowChange.emit({ + actual: this.weight.actual, + smoothed: this.weight.smoothed, + stable: _stableWeight, + old: this.weight.old, + oldSmoothed: this.weight.oldSmoothed, + date: actualDate, + }); + } +} diff --git a/src/classes/devices/common/constants.ts b/src/classes/devices/common/constants.ts new file mode 100644 index 000000000..4785ccd78 --- /dev/null +++ b/src/classes/devices/common/constants.ts @@ -0,0 +1 @@ +export const DEBUG = false; diff --git a/src/classes/devices/common/logger.ts b/src/classes/devices/common/logger.ts new file mode 100644 index 000000000..dae167318 --- /dev/null +++ b/src/classes/devices/common/logger.ts @@ -0,0 +1,60 @@ +import { DEBUG } from './constants'; +import { Observable, Subject } from 'rxjs'; + +export class Logger { + private static logSubject = new Subject<{ type: string; log: string }>(); + private static __isLogEnabled: boolean = true; + private prefix: string; + + constructor(prefix = 'DEFAULT') { + this.prefix = prefix; + } + + public static attachOnLog(): Observable<{ type: string; log: string }> { + return this.logSubject.asObservable(); + } + + public static disableLog() { + Logger.__isLogEnabled = false; + } + + public static enableLog() { + Logger.__isLogEnabled = true; + } + + private static __sendLog(_type: string, _log: string) { + this.logSubject.next({ type: _type, log: _log }); + } + + public log(...args: any) { + if (this.isLogEnabled() || DEBUG) { + Logger.__sendLog('LOG', `${this.prefix}: ${JSON.stringify(args)}`); + } + } + + public info(...args: any) { + if (this.isLogEnabled() || DEBUG) { + Logger.__sendLog('INFO', `${this.prefix}: ${JSON.stringify(args)}`); + } + } + + public error(...args: any) { + if (this.isLogEnabled() || DEBUG) { + Logger.__sendLog('ERROR', `${this.prefix}: ${JSON.stringify(args)}`); + } + } + + public debug(...args: any) { + if (this.isLogEnabled() || DEBUG) { + Logger.__sendLog('DEBUG', `${this.prefix}: ${JSON.stringify(args)}`); + } + } + + private isLogEnabled(): boolean { + try { + return Logger.__isLogEnabled; + } catch (ex) { + return false; + } + } +} diff --git a/src/classes/devices/common/util.ts b/src/classes/devices/common/util.ts new file mode 100644 index 000000000..167f0b4b2 --- /dev/null +++ b/src/classes/devices/common/util.ts @@ -0,0 +1,48 @@ +import { IOSAdvertisingData } from '../ble.types'; + +export function to128bitUUID(uuid: string) { + // nothing to do + switch (uuid.length) { + case 4: + return `0000${uuid.toUpperCase()}-0000-1000-8000-00805F9B34FB`; + case 8: + return `${uuid.toUpperCase()}-0000-1000-8000-00805F9B34FB`; + case 36: + return uuid.toUpperCase(); + default: + throw new Error('invalid uuid: ' + uuid); + } +} + +export function parseAdvertisingManufacturerData( + adv: ArrayBuffer | IOSAdvertisingData +): Uint8Array | null { + if ( + adv && + 'kCBAdvDataManufacturerData' in adv && + adv.kCBAdvDataManufacturerData instanceof ArrayBuffer + ) { + return new Uint8Array(adv.kCBAdvDataManufacturerData); + } + + if (adv instanceof ArrayBuffer) { + const view = new Uint8Array(adv); + if (!view.length) { + return null; + } + + for (let i = 0; i < view.length - 1; ) { + const packetLength = view[i++]; // first byte is length + const packetType = view[i++]; // second byte is type + const dataLength = packetLength - 1; // -1 for type + + if (packetType === 0xff) { + // 0xff is manufacturer's data + return new Uint8Array(view.slice(i, i + dataLength)); + } + i += dataLength; + } + } + + return null; +} diff --git a/src/classes/devices/decentScale.ts b/src/classes/devices/decentScale.ts new file mode 100644 index 000000000..7486e0d20 --- /dev/null +++ b/src/classes/devices/decentScale.ts @@ -0,0 +1,219 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; + +declare var ble: any; +export class DecentScale extends BluetoothScale { + public static WRITE_SERVICE_UUID = 'fff0'; + public static WRITE_CHAR_UUID = '36f5'; + + public static READ_SERVICE_UUID = 'fff0'; + public static READ_CHAR_UUID = 'fff4'; + + public static HEADER = 0x03; + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + private tareCounter: number = 0; + private buffer: Uint8Array; + + constructor(data: PeripheralData) { + super(data); + this.batteryLevel = 0; + this.buffer = new Uint8Array(); + this.connect(); + } + + public static notification_callback(event: any, scale: any) {} + + public static test(device: any) { + return ( + device && device.name && device.name.toLowerCase().startsWith('decent') + ); + } + + public override async connect() { + await this.setLed(true, true); + await this.attachNotification(); + } + + public override async tare() { + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + this.setWeight(0); + + await this.write(this.buildTareCommand()); + await setTimeout(async () => { + await this.write(this.buildTareCommand()); + }, 200); + } + + public override async setLed(_weightOn: boolean, _timerOn: boolean) { + await this.write(this.buildLedOnOffCommand(_weightOn, _timerOn)); + + await setTimeout(async () => { + await this.write(this.buildLedOnOffCommand(_weightOn, _timerOn)); + }, 200); + } + + public override async setTimer(_timer: SCALE_TIMER_COMMAND) { + await this.write(this.buildTimerCommand(_timer)); + await setTimeout(async () => { + await this.write(this.buildTimerCommand(_timer)); + }, 200); + } + + public override getWeight() { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.old; + } + + private getXOR(_bytes: any) { + return ( + _bytes[0] ^ _bytes[1] ^ _bytes[2] ^ _bytes[3] ^ _bytes[4] ^ _bytes[5] + ); + } + + private buildTareCommand() { + const buf = new ArrayBuffer(7); + const bytes = new Uint8Array(buf); + bytes[0] = DecentScale.HEADER; + + bytes[1] = 0x0f; + bytes[2] = 0xfd; + bytes[3] = this.tareCounter; + bytes[4] = 0x00; + bytes[5] = 0x00; + bytes[6] = this.getXOR(bytes); + + this.tareCounter++; + if (this.tareCounter > 255) { + this.tareCounter = 0; + } + + return bytes; + } + + private buildLedOnOffCommand(_weightLedOn: boolean, _timerLedOn: boolean) { + const buf = new ArrayBuffer(7); + const bytes = new Uint8Array(buf); + bytes[0] = DecentScale.HEADER; + + bytes[1] = 0x0a; + + if (_weightLedOn) { + bytes[2] = 0x01; + } else { + bytes[2] = 0x00; + } + + if (_timerLedOn) { + bytes[3] = 0x01; + } else { + bytes[3] = 0x00; + } + bytes[4] = 0x00; + bytes[5] = 0x00; + bytes[6] = this.getXOR(bytes); + + return bytes; + } + + private buildTimerCommand( + _timer: SCALE_TIMER_COMMAND = SCALE_TIMER_COMMAND.START + ) { + const buf = new ArrayBuffer(7); + const bytes = new Uint8Array(buf); + bytes[0] = DecentScale.HEADER; + + bytes[1] = 0x0b; + + if (_timer === SCALE_TIMER_COMMAND.START) { + bytes[2] = 0x03; + } else if (_timer === SCALE_TIMER_COMMAND.RESET) { + bytes[2] = 0x02; + } else { + bytes[2] = 0x00; + } + + bytes[3] = 0x00; + bytes[4] = 0x00; + bytes[5] = 0x00; + bytes[6] = this.getXOR(bytes); + + return bytes; + } + + private write(_bytes: Uint8Array) { + return new Promise((resolve, reject) => { + ble.write( + this.device_id, + DecentScale.WRITE_SERVICE_UUID, + DecentScale.WRITE_CHAR_UUID, + _bytes.buffer, + (e: any) => { + resolve(true); + }, + (e: any) => { + resolve(false); + } + ); + }); + } + + private async attachNotification() { + ble.startNotification( + this.device_id, + DecentScale.READ_SERVICE_UUID, + DecentScale.READ_CHAR_UUID, + async (_data: any) => { + const scaleData = new Int8Array(_data); + const uScaleData = new Uint8Array(_data); + // console.log("Received: " + scaleData[1] + " - " + scaleData[2] + " - "+ scaleData[3]); + if (uScaleData[1] === 0xce || uScaleData[1] === 0xca) { + // Weight notification + let newWeight: number = ((uScaleData[2] << 8) + uScaleData[3]) / 10; + + /** We've got the issue that the Uint doesn't pass us negative values, but if we used signed, when the scale shows + * 23 grams, the weight is -23 grams, therefore we cant make a good compromise. + * After the scale will go up to 3200 kilos, we check the weight and if its above, we take the signed int. + */ + if (newWeight > 3200) { + newWeight = ((scaleData[2] << 8) + scaleData[3]) / 10; + } + const weightIsStable = uScaleData[1] === 0xce; + this.setWeight(newWeight, weightIsStable); + } else if (uScaleData[1] === 0xaa && uScaleData[2] === 0x01) { + // Tare button pressed. + this.tareEvent.emit(); + await this.tare(); + } else if (uScaleData[1] === 0xaa && uScaleData[2] === 0x02) { + // Timer button pressed + this.timerEvent.emit(null); + } + }, + (_data: any) => {} + ); + } + + private async deattachNotification() { + ble.stopNotification( + this.device_id, + DecentScale.READ_SERVICE_UUID, + DecentScale.READ_CHAR_UUID, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/eurekaPrecisaScale.ts b/src/classes/devices/eurekaPrecisaScale.ts new file mode 100644 index 000000000..db4d6885b --- /dev/null +++ b/src/classes/devices/eurekaPrecisaScale.ts @@ -0,0 +1,194 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; +import { Logger } from './common/logger'; + +const DEVICE_NAME = 'CFS-9002'; + +const DATA_SERVICE = 'FFF0'; +const DATA_CHARACTERISTIC = 'FFF1'; +const CMD_CHARACTERISTIC = 'FFF2'; + +const EURECA_PRECISA_GRAM_UNIT = 'g'; +const EURECA_PRECISA_OUNCE_UNIT = 'oz'; +const EURECA_PRECISA_MILLILITERS_UNIT = 'ml'; + +const CMD_HEADER = 0xaa; +const CMD_BASE = 0x02; +const CMD_START_TIMER = 0x33; +const CMD_STOP_TIMER = 0x34; +const CMD_RESET_TIMER = 0x35; +const CMD_TARE = 0x31; + +const CMD_UNIT_BASE = 0x0336; +const CMD_UNIT_GRAM = 0x00; +const CMD_UNIT_OUNCE = 0x01; +const CMD_UNIT_ML = 0x02; + +declare var ble: any; + +/** + * Provides BluetoothScale integration for EURECA PRECISA Scales. + */ +export class EurekaPrecisaScale extends BluetoothScale { + // Constructor + + public scaleUnit = EURECA_PRECISA_GRAM_UNIT; + + // Accessors + public override batteryLevel: number; + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + private logger: Logger; + + constructor(data: PeripheralData) { + super(data); + this.batteryLevel = 0; + this.scaleUnit = EURECA_PRECISA_GRAM_UNIT; + this.logger = new Logger('EurekaPrecisaScale'); + + this.connect(); + } + + // Public Methods + + /** + * Checks if this class supports interaction with @param device. + * @param device The device being checked for support. + * @returns boolean If support is provided for device. + */ + public static test(device: any): boolean { + return device && device.name && [DEVICE_NAME].includes(device.name); + } + + public override getWeight() { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.old; + } + + // Private Methods + + public override async setTimer(command: SCALE_TIMER_COMMAND) { + this.logger.log('Setting Timer command ' + command + '...'); + + if (command === SCALE_TIMER_COMMAND.START) { + await this.startTimer(); + } else if (command === SCALE_TIMER_COMMAND.STOP) { + await this.stopTimer(); + } else { + await this.resetTimer(); + } + } + + public override async connect() { + this.logger.log('Connecting...'); + + await this.attachNotification(); + } + + /** + * Tares the Scale current weight to 0; + */ + public override async tare() { + this.logger.log('Taring...'); + + await this.write([CMD_HEADER, CMD_BASE, CMD_TARE, CMD_TARE]); + + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + + this.setWeight(0); + } + + public override disconnectTriggered(): void { + this.logger.log('Disconnecting...'); + + this.deattachNotification(); + } + + /** + * Writes a @param _bytes payload to Scale via BLE. + * @param _bytes the payload to be written. + * @returns Asyncronous in nature, returns a callback. + */ + //TODO write without confirm! + private write(_bytes: number[]) { + return new Promise((resolve, reject) => { + ble.writeWithoutResponse( + this.device_id, + DATA_SERVICE, + CMD_CHARACTERISTIC, + new Uint8Array(_bytes).buffer, + (e: any) => { + resolve(true); + }, + (e: any) => { + resolve(false); + } + ); + }); + } + + private async attachNotification() { + ble.startNotification( + this.device_id, + DATA_SERVICE, + DATA_CHARACTERISTIC, + async (_data: any) => { + this.parseStatusUpdate(new Uint8Array(_data)); + }, + (_data: any) => {} + ); + } + + /** + * Eureka Scales provide status updates via a 11 length unsigned integer array. + * @param scaleRawStatus The 11 length unsigned integer array retreived from BLE. + */ + private parseStatusUpdate(scaleRawStatus: Uint8Array) { + this.logger.log('scaleRawStatus received is: ' + scaleRawStatus); + + let is_neg = scaleRawStatus[6]; + let weight = (scaleRawStatus[8] << 8) + scaleRawStatus[7]; + + weight = is_neg ? weight * -1 : weight; + + this.setWeight(weight / 10); + } + + // Class Members + + private async startTimer() { + this.write([CMD_HEADER, CMD_BASE, CMD_START_TIMER, CMD_START_TIMER]); + } + + private async resetTimer() { + this.write([CMD_HEADER, CMD_BASE, CMD_RESET_TIMER, CMD_RESET_TIMER]); + } + + private async stopTimer() { + this.write([CMD_HEADER, CMD_BASE, CMD_STOP_TIMER, CMD_STOP_TIMER]); + } + + private async deattachNotification() { + ble.stopNotification( + this.device_id, + DATA_SERVICE, + DATA_CHARACTERISTIC, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/felicita/constants.ts b/src/classes/devices/felicita/constants.ts new file mode 100644 index 000000000..3474be3e7 --- /dev/null +++ b/src/classes/devices/felicita/constants.ts @@ -0,0 +1,20 @@ +export const DEVICE_UUID = '07498FB9-5FEB-5C4D-82AB-2777F52922C4'; //Currently unused, may be the Felicita model +export const DEVICE_NAME = 'FELICITA'; + +export const DATA_SERVICE = 'FFE0'; +export const DATA_CHARACTERISTIC = 'FFE1'; + +export const FELICITA_GRAM_UNIT = 'g'; +export const FELICITA_OUNCE_UNIT = 'oz'; + +export const MIN_BATTERY_LEVEL = 129; +export const MAX_BATTERY_LEVEL = 158; + +export const CMD_START_TIMER = 0x52; +export const CMD_STOP_TIMER = 0x53; +export const CMD_RESET_TIMER = 0x43; + +export const CMD_TOGGLE_TIMER = 0x42; +export const CMD_TOGGLE_PRECISION = 0x44; +export const CMD_TARE = 0x54; +export const CMD_TOGGLE_UNIT = 0x55; diff --git a/src/classes/devices/felicita/felicita-readme.md b/src/classes/devices/felicita/felicita-readme.md new file mode 100644 index 000000000..81b3aaf38 --- /dev/null +++ b/src/classes/devices/felicita/felicita-readme.md @@ -0,0 +1,31 @@ +#Felicita Scale + +##Sample BLE Discovery + +``` +{ + "id": "91768FE8-C303-CAA5-782B-A89794C90A93", + "state": "disconnected", + "rssi": -52, + "name": "FELICITA", + "advertising": { + "kCBAdvDataLocalName": "FELICITA", + "kCBAdvDataManufacturerData": {}, + "kCBAdvDataServiceUUIDs": ["FFE0", "FEE0"], + "kCBAdvDataIsConnectable": 1 + } +} +``` + +##Sample BLE status updates + +``` +[1,2,43,48,48,48,48,48,48,32,103,83,79,48,34,137,13,10] +``` + +index[0-3] = unknown +index[3-9] = weight digits, substract 48 from each to get weight, index 8-9 are the decimal places. Example 1010.10 would be [1,2,43,49,48,49,48,49,48,32,103,83,79,48,34,137,13,10]. +index[9-11] = scale units, convert from binary to text using TextDecoder. +index[11-15] = unknown +index[15] = battery, value between 129 and 158. +index[16-19] = unknown diff --git a/src/classes/devices/felicitaScale.ts b/src/classes/devices/felicitaScale.ts new file mode 100644 index 000000000..d850fb328 --- /dev/null +++ b/src/classes/devices/felicitaScale.ts @@ -0,0 +1,253 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; +import { Logger } from './common/logger'; +import { + CMD_RESET_TIMER, + CMD_START_TIMER, + CMD_STOP_TIMER, + CMD_TARE, + DATA_CHARACTERISTIC, + DATA_SERVICE, + DEVICE_NAME, + MAX_BATTERY_LEVEL, + MIN_BATTERY_LEVEL, + FELICITA_GRAM_UNIT, + CMD_TOGGLE_UNIT, + CMD_TOGGLE_PRECISION, +} from './felicita/constants'; + +declare var ble: any; + +/** + * Provides BluetoothScale integration for Felicita Scales. + */ +export class FelicitaScale extends BluetoothScale { + // Constructor + + // Class Members + + public scaleUnit = FELICITA_GRAM_UNIT; + public override batteryLevel: number; + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + private logger: Logger; + + constructor(data: PeripheralData) { + super(data); + this.batteryLevel = 0; + this.scaleUnit = FELICITA_GRAM_UNIT; + this.logger = new Logger('FelicitaScale'); + + this.connect(); + } + + // Accessors + + /** + * Checks if this class supports interaction with @param device. + * @param device The device being checked for support. + * @returns boolean If support is provided for device. + */ + public static test(device: any): boolean { + return device && device.name && [DEVICE_NAME].includes(device.name); + } + + public override getWeight() { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.old; + } + + // Public Methods + + public override async setTimer(command: SCALE_TIMER_COMMAND) { + this.logger.log('Setting Timer command ' + command + '...'); + + if (command === SCALE_TIMER_COMMAND.START) { + await this.startTimer(); + } else if (command === SCALE_TIMER_COMMAND.STOP) { + await this.stopTimer(); + } else { + await this.resetTimer(); + } + } + + public override async connect() { + this.logger.log('Connecting...'); + + await this.attachNotification(); + } + + /** + * Tares the Felicita Scale current weight to 0; + */ + public override async tare() { + this.logger.log('Taring...'); + + await this.write([CMD_TARE]); + + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + + this.setWeight(0); + } + + /** + * Toggles the Felicita Scale Units between grams and ounces. + */ + public async toggleUnit() { + await this.write([CMD_TOGGLE_UNIT]); + } + + /** + * Toggles the Felicita Scale Precision between one and two decimal places. + * Note: This likely depends if the Felicita Scale HW supports two decimal places, but my guess is that the BLE implementation is universal, the value at statusUpdate index 9 will not change. + */ + public async togglePrecision() { + await this.write([CMD_TOGGLE_PRECISION]); + } + + public override disconnectTriggered(): void { + this.logger.log('Disconnecting...'); + + this.deattachNotification(); + } + + // Private Methods + + /** + * Writes a @param _bytes payload to Felicita Scale via BLE. + * @param _bytes the payload to be written. + * @returns Asyncronous in nature, returns a callback. + */ + private write(_bytes: number[]) { + return new Promise((resolve, reject) => { + ble.write( + this.device_id, + DATA_SERVICE, + DATA_CHARACTERISTIC, + new Uint8Array(_bytes).buffer, + (e: any) => { + this.logger.debug('Write successfully'); + resolve(true); + }, + (e: any) => { + this.logger.debug('Write unsuccessfully'); + resolve(false); + } + ); + }); + } + + private async attachNotification() { + ble.startNotification( + this.device_id, + DATA_SERVICE, + DATA_CHARACTERISTIC, + async (_data: any) => { + this.parseStatusUpdate(new Uint8Array(_data)); + }, + (_data: any) => {} + ); + } + + /** + * Felicita Scales provide status updates via a 18 length unsigned integer array. + * @param felicitaRawStatus The 18 length unsigned integer array retreived from BLE. + */ + private parseStatusUpdate(felicitaRawStatus: Uint8Array) { + this.logger.log('felicitaRawStatus received is: ' + felicitaRawStatus); + if (this.isValidFelicitaRawStatus(felicitaRawStatus)) { + let weight = this.getWeightFromFelicitaRawStatus(felicitaRawStatus); + this.setWeight(parseFloat(weight) / 100); + + this.scaleUnit = + this.getScaleUnitFromFelicitaRawStatus(felicitaRawStatus); + + this.batteryLevel = + this.getBatteryPercentageFromFelicitaRawStatus(felicitaRawStatus); + } else { + this.logger.log( + 'Bluetooth incoming statusUpdate is malformed, we should probably throw an error here...' + ); + } + } + + private async startTimer() { + this.logger.debug('Write - Start timer'); + await this.write([CMD_START_TIMER]); + } + + private async resetTimer() { + this.logger.debug('Write - Reset timer'); + await this.write([CMD_RESET_TIMER]); + } + + private async stopTimer() { + this.logger.debug('Write - Stop timer'); + await this.write([CMD_STOP_TIMER]); + } + + /** + * Gets battery percentage as a while integer number from 0-100. + * @param felicitaRawStatus The 18 length unsigned integer array retreived from BLE. + * @returns The integer battery percentage. + */ + private getBatteryPercentageFromFelicitaRawStatus( + felicitaRawStatus: Uint8Array + ) { + let batteryLevelPercentage = Math.round( + ((felicitaRawStatus[15] - MIN_BATTERY_LEVEL) / + (MAX_BATTERY_LEVEL - MIN_BATTERY_LEVEL)) * + 100 + ); + + this.logger.log('Battery level percentage is: ' + batteryLevelPercentage); + return batteryLevelPercentage; + } + + private getScaleUnitFromFelicitaRawStatus(felicitaRawStatus: Uint8Array) { + let scaleUnit = new TextDecoder().decode(felicitaRawStatus.slice(9, 11)); + + this.logger.log('Scale unit is: ' + scaleUnit); + return scaleUnit; + } + + private getWeightFromFelicitaRawStatus(felicitaRawStatus: any) { + let weight = felicitaRawStatus + .slice(3, 9) + .map((value: any) => { + return value - 48; + }) + .join(''); + + this.logger.log('Weight is: ' + weight); + return weight; + } + + private isValidFelicitaRawStatus(felicitaRawStatus: Uint8Array) { + return felicitaRawStatus.length == 18 ? true : false; + } + + private async deattachNotification() { + ble.stopNotification( + this.device_id, + DATA_SERVICE, + DATA_CHARACTERISTIC, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/index.ts b/src/classes/devices/index.ts new file mode 100644 index 000000000..3e1c2078f --- /dev/null +++ b/src/classes/devices/index.ts @@ -0,0 +1,62 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale } from './bluetoothDevice'; +import { DecentScale } from './decentScale'; +import { FelicitaScale } from './felicitaScale'; +import { JimmyScale } from './jimmyScale'; +import { LunarScale } from './lunarScale'; +import { PressureDevice } from './pressureBluetoothDevice'; +import { PopsiclePressure } from './popsiclePressure'; +import { TransducerDirectPressure } from './transducerDirectPressure'; +import { EurekaPrecisaScale } from './eurekaPrecisaScale'; +import { PrsPressure } from './prsPressure'; +export { BluetoothScale, SCALE_TIMER_COMMAND } from './bluetoothDevice'; + +export enum ScaleType { + DECENT = 'DECENT', + LUNAR = 'LUNAR', + JIMMY = 'JIMMY', + FELICITA = 'FELICITA', + EUREKAPRECISA = 'EUREKAPRECISA', +} + +export enum PressureType { + POPSICLE = 'POPSICLE', + DIRECT = 'DIRECT', + PRS = 'PRS', +} + +export function makeDevice( + type: ScaleType, + data: PeripheralData +): BluetoothScale | null { + switch (type) { + case ScaleType.DECENT: + return new DecentScale(data); + case ScaleType.LUNAR: + return new LunarScale(data); + case ScaleType.JIMMY: + return new JimmyScale(data); + case ScaleType.FELICITA: + return new FelicitaScale(data); + case ScaleType.EUREKAPRECISA: + return new EurekaPrecisaScale(data); + default: + return null; + } +} + +export function makePressureDevice( + type: PressureType, + data: PeripheralData +): PressureDevice | null { + switch (type) { + case PressureType.POPSICLE: + return new PopsiclePressure(data); + case PressureType.DIRECT: + return new TransducerDirectPressure(data); + case PressureType.PRS: + return new PrsPressure(data); + default: + return null; + } +} diff --git a/src/classes/devices/jimmyScale.ts b/src/classes/devices/jimmyScale.ts new file mode 100644 index 000000000..d9fbd0dc5 --- /dev/null +++ b/src/classes/devices/jimmyScale.ts @@ -0,0 +1,164 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; + +declare var ble: any; + +enum JimmyUnit { + GRAMM = 'g', + OUNCE = 'oz', +} +enum JimmyMode { + SCALE_ONLY = 0x01, + TIMER_SCALE = 0x02, + POUR_OVER = 0x03, + ESPRESSO_1 = 0x04, + ESPRESSO_2 = 0x05, + ESPRESSO_3 = 0x06, +} + +export class JimmyScale extends BluetoothScale { + public static SERVICE_UUID = '06c31822-8682-4744-9211-febc93e3bece'; + public static WRITE_CHAR_UUID = '06c31823-8682-4744-9211-febc93e3bece'; + public static READ_CHAR_UUID = '06c31824-8682-4744-9211-febc93e3bece'; + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + private unit?: JimmyUnit = undefined; + private mode?: JimmyMode = undefined; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + } + + public static test(device: any) { + return ( + device && device.name && device.name.toLowerCase().startsWith('hiroia') + ); + } + + public override async connect() { + await this.attachNotification(); + setTimeout(async () => { + await this.setUnit(JimmyUnit.GRAMM); + await this.setMode(JimmyMode.SCALE_ONLY); + }, 500); + } + + public override async tare() { + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + this.setWeight(0); + + const tare = [0x07, 0x00]; + + await this.write(tare); + setTimeout(() => { + this.write(tare); + }, 200); + } + + public override async setLed(_weightOn: boolean, _timerOn: boolean) { + // no led on jimmy + } + + public override async setTimer(_timer: SCALE_TIMER_COMMAND) { + // Jimmy scale only supports a toggle timer command [0x05, 0x00] + // therefore we don't use its timer to avoid drift between scale timer and app timer state in case of conn problems + } + + public override getWeight() { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.old; + } + + private write(_bytes: number[]) { + return new Promise((resolve, reject) => { + ble.write( + this.device_id, + JimmyScale.SERVICE_UUID, + JimmyScale.WRITE_CHAR_UUID, + new Uint8Array(_bytes).buffer, + (e: any) => { + resolve(true); + }, + (e: any) => { + resolve(false); + } + ); + }); + } + + private async attachNotification() { + ble.startNotification( + this.device_id, + JimmyScale.SERVICE_UUID, + JimmyScale.READ_CHAR_UUID, + async (_data: any) => { + this.parseStatusUpdate(new Uint8Array(_data)); + }, + (_data: any) => {} + ); + } + + private parseStatusUpdate(buf: Uint8Array) { + const mode = buf[0]; + const sign = buf[6]; + const msw = buf[5]; + const lsw = buf[4]; + + // timer state is also in buffer, but currently not read by this implemenation + + let weight = 256 * msw + lsw; + + if (sign === 255) + // negative weight + weight = (65536 - weight) * -1; + + if (mode > 0x08) { + this.unit = JimmyUnit.OUNCE; + this.setWeight(weight / 1000); + this.mode = mode - 0x08; + } else { + this.unit = JimmyUnit.GRAMM; + this.setWeight(weight / 10); + this.mode = mode; + } + } + + private async toggleUnit() { + const toggleUnit = [0x0b, 0x00]; + await this.write(toggleUnit); + } + + private async toggleMode() { + const toggleMode = [0x04, 0x00]; + await this.write(toggleMode); + } + + private async setUnit(unit: JimmyUnit) { + if (this.unit !== unit) { + await this.toggleUnit(); + await setTimeout(() => this.setUnit(unit), 250); + } + } + + private async setMode(mode: JimmyMode) { + if (this.mode !== mode) { + await this.toggleMode(); + await setTimeout(() => this.setMode(mode), 250); + } + } +} diff --git a/src/classes/devices/lunarScale.ts b/src/classes/devices/lunarScale.ts new file mode 100644 index 000000000..b58c1fa91 --- /dev/null +++ b/src/classes/devices/lunarScale.ts @@ -0,0 +1,109 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; +import { AcaiaScale, EventType } from './acaia'; + +export class LunarScale extends BluetoothScale { + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + private scale: AcaiaScale; + + constructor(data: PeripheralData) { + super(data); + + this.scale = new AcaiaScale(data.id, data.characteristics); + + this.connect(); + } + + public static test(device: any) { + return ( + device && + device.name && + ['ACAIA', 'LUNAR', 'PYXIS', 'PROCH', 'PEARL', 'CINCO'].includes( + device.name.slice(0, 5) + ) + ); + } + + public override disconnectTriggered(): void { + this.scale.disconnectTriggered(); + } + + public override async connect() { + await this.scale.connect((_eventType: EventType, _data: any) => { + this.onEvent(_eventType, _data); + }); + } + + public override async tare() { + this.scale.tare(); + + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + + this.setWeight(0); + } + + public override async setLed(_weightOn: boolean, _timerOn: boolean) {} + + public override async setTimer(command: SCALE_TIMER_COMMAND) { + if (this.scale.isConnected()) { + if (command === SCALE_TIMER_COMMAND.START) { + this.scale.startTimer(); + } else if (command === SCALE_TIMER_COMMAND.STOP) { + this.scale.stopTimer(); + } else { + this.scale.resetTimer(); + } + } + } + + public override getWeight(): number { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.oldSmoothed; + } + + private onEvent(eventType: EventType, data: any) { + this.blueToothParentlogger.debug( + 'OnEvent received' + + JSON.stringify(eventType) + + ' ' + + JSON.stringify(data) + ); + switch (eventType) { + case EventType.WEIGHT: + const weight = data as number; + return this.setWeight(weight); + case EventType.TARE: + return this.tareEvent.emit(); + case EventType.TIMER_START: + return this.timerEvent.emit({ + command: SCALE_TIMER_COMMAND.START, + data, + }); + case EventType.TIMER_STOP: + return this.timerEvent.emit({ + command: SCALE_TIMER_COMMAND.STOP, + data, + }); + case EventType.TIMER_RESET: + return this.timerEvent.emit({ + command: SCALE_TIMER_COMMAND.RESET, + data, + }); + } + } +} diff --git a/src/classes/devices/popsiclePressure.ts b/src/classes/devices/popsiclePressure.ts new file mode 100644 index 000000000..94a87857f --- /dev/null +++ b/src/classes/devices/popsiclePressure.ts @@ -0,0 +1,74 @@ +import { LimitedPeripheralData, PeripheralData } from './ble.types'; + +import { Pressure, PressureDevice, psiToBar } from './pressureBluetoothDevice'; +import { parseAdvertisingManufacturerData, to128bitUUID } from './common/util'; + +declare var ble: any; +export class PopsiclePressure extends PressureDevice { + public static PRESSURE_SERVICE_UUID = '1c47e896-4922-4030-957c-32a5be64d3ba'; + public static PRESSURE_CHAR_UUID = to128bitUUID('2A6D'); + + public static ZERO_SERVICE_UUID = '1c47e896-4922-4030-957c-32a5be64d3ba'; + public static ZERO_CHAR_UUID = 'ad029632-366d-4a52-ad6b-2a52fb369d3d'; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + } + + public static test(device: LimitedPeripheralData) { + const adv = + device && + device.advertising && + parseAdvertisingManufacturerData(device.advertising); + return adv && adv.length >= 2 && adv[0] === 0xea && adv[1] === 0xf0; + } + + public connect() { + this.attachNotification(); + return this.updateZero().catch(() => {}); + } + + public updateZero(): Promise { + const data = new Uint8Array(1); + + return new Promise((resolve, reject) => { + ble.writeWithoutResponse( + this.device_id, + PopsiclePressure.ZERO_SERVICE_UUID, + PopsiclePressure.ZERO_CHAR_UUID, + data.buffer, + resolve, + reject + ); + }); + } + + public disconnect() { + this.deattachNotification(); + } + + private attachNotification() { + ble.startNotification( + this.device_id, + PopsiclePressure.PRESSURE_SERVICE_UUID, + PopsiclePressure.PRESSURE_CHAR_UUID, + async (_data: any) => { + const v = new Float32Array(_data); + const psi = v[0]; + this.setPressure(psiToBar(psi), _data, v); + }, + (_data: any) => {} + ); + } + + private deattachNotification() { + ble.stopNotification( + this.device_id, + PopsiclePressure.PRESSURE_SERVICE_UUID, + PopsiclePressure.PRESSURE_CHAR_UUID, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/pressureBluetoothDevice.ts b/src/classes/devices/pressureBluetoothDevice.ts new file mode 100644 index 000000000..e2efab40c --- /dev/null +++ b/src/classes/devices/pressureBluetoothDevice.ts @@ -0,0 +1,111 @@ +import { PeripheralData } from './ble.types'; +import { EventEmitter } from '@angular/core'; +import { Logger } from './common/logger'; +import { to128bitUUID } from './common/util'; + +declare var ble: any; + +export interface Pressure { + actual: number; + old: number; +} + +export interface PressureChangeEvent extends Pressure { + date: Date; +} + +export abstract class PressureDevice { + public static BATTERY_SERVICE_UUID = to128bitUUID('180F'); + public static BATTERY_CHAR_UUID = to128bitUUID('2A19'); + + public device_id: string; + public device_name: string; + public batteryLevel: number; + public pressureChange: EventEmitter = new EventEmitter(); + protected pressure: Pressure; + protected pressureParentLogger: Logger; + + protected constructor(data: PeripheralData) { + this.device_id = data.id; + try { + this.device_name = data.name; + } catch (ex) {} + this.pressure = { + actual: 0, + old: 0, + }; + this.pressureParentLogger = new Logger(); + } + + public abstract connect(): Promise; + public abstract disconnect(): void; + public abstract updateZero(): Promise; + + public getPressure() { + return this.pressure.actual; + } + + public getOldPressure() { + return this.pressure.old; + } + + /** + * getBattery returns the battery level of the device + * + * @return a promise resolving to a number from 0 to 100 representing available battery percentage + */ + public getBattery(): Promise { + return new Promise((resolve, reject) => { + ble.read( + this.device_id, + PressureDevice.BATTERY_SERVICE_UUID, + PressureDevice.BATTERY_CHAR_UUID, + (buffer: ArrayBuffer) => { + const data = new Uint8Array(buffer); + resolve(data[0]); + }, + (err: unknown) => { + if (!(err instanceof Error)) { + err = new Error(JSON.stringify(err)); + } + reject(err); + } + ); + }); + } + + protected setPressure( + _newPressure: number, + _rawData: any, + _parsedData: Uint16Array | Float32Array | any + ) { + this.pressureParentLogger.log( + 'Bluetooth Pressure Device - New pressure recieved ' + + _newPressure + + ' - raw data ' + + JSON.stringify(_rawData) + + ' - Parsed Data ' + + JSON.stringify(_parsedData) + ); + + this.pressure.actual = _newPressure; + const actualDate = new Date(); + try { + this.pressureParentLogger.log( + 'Bluetooth Pressure Device - Are subscriptions existing? ' + + this.pressureChange?.observers?.length + ); + } catch (ex) {} + this.pressureChange.emit({ + actual: this.pressure.actual, + old: this.pressure.old, + date: actualDate, + }); + + this.pressure.old = _newPressure; + } +} + +export function psiToBar(v: number) { + return v * 0.0689476; +} diff --git a/src/classes/devices/prsPressure.ts b/src/classes/devices/prsPressure.ts new file mode 100644 index 000000000..b7977f14e --- /dev/null +++ b/src/classes/devices/prsPressure.ts @@ -0,0 +1,94 @@ +import { PeripheralData } from './ble.types'; + +import { Pressure, PressureDevice, psiToBar } from './pressureBluetoothDevice'; + +declare var ble: any; +export class PrsPressure extends PressureDevice { + public static DEVICE_NAME = 'PRS'; + public static PRESSURE_SERVICE_UUID = '873ae82a-4c5a-4342-b539-9d900bf7ebd0'; + public static PRESSURE_CHAR_UUID = '873ae82b-4c5a-4342-b539-9d900bf7ebd0'; + + public static ZERO_SERVICE_UUID = '873ae82a-4c5a-4342-b539-9d900bf7ebd0'; + public static ZERO_CHAR_UUID = '873ae82c-4c5a-4342-b539-9d900bf7ebd0'; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + } + + public static test(device: any): boolean { + return ( + device && + device.name && + device.name.toUpperCase().includes(PrsPressure.DEVICE_NAME) + ); + } + + public connect() { + this.attachNotification(); + return this.updateZero().catch(() => {}); + } + + public updateZero(): Promise { + const data = new Uint8Array(1); + + return new Promise((resolve, reject) => { + ble.writeWithoutResponse( + this.device_id, + PrsPressure.ZERO_SERVICE_UUID, + PrsPressure.ZERO_CHAR_UUID, + data.buffer, + resolve, + reject + ); + }); + } + + public disconnect() { + this.deattachNotification(); + } + + private toFixedIfNecessary(value: any, dp: number) { + const parsedFloat = parseFloat(value); + if (isNaN(parsedFloat)) { + return 0; + } + return +parsedFloat.toFixed(dp); + } + + private attachNotification() { + ble.startNotification( + this.device_id, + PrsPressure.PRESSURE_SERVICE_UUID, + PrsPressure.PRESSURE_CHAR_UUID, + async (_data: any) => { + const pressureData = new Uint8Array(_data); + const val = (pressureData[0] << 8) + pressureData[1]; + let actualPressure: any = 0; + if (val >= 0x8000) { + //Negative value + actualPressure = -1 * (0xffff - val + 1); + } else { + //Positive value, nothing todos + actualPressure = val; + } + + actualPressure = actualPressure / 1000; + //Fix pressure to max 1 behind, because pressure of 11.295 is not needed ;) + actualPressure = this.toFixedIfNecessary(actualPressure, 1); + this.setPressure(actualPressure, _data, val); + }, + (_data: any) => {} + ); + } + + private deattachNotification() { + ble.stopNotification( + this.device_id, + PrsPressure.PRESSURE_SERVICE_UUID, + PrsPressure.PRESSURE_CHAR_UUID, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/transducerDirectPressure.ts b/src/classes/devices/transducerDirectPressure.ts new file mode 100644 index 000000000..1dd410293 --- /dev/null +++ b/src/classes/devices/transducerDirectPressure.ts @@ -0,0 +1,84 @@ +import { LimitedPeripheralData, PeripheralData } from './ble.types'; + +import { PressureDevice, psiToBar } from './pressureBluetoothDevice'; +import { parseAdvertisingManufacturerData } from './common/util'; + +declare var ble: any; +export class TransducerDirectPressure extends PressureDevice { + public static PRESSURE_SERVICE_UUID = 'CC4A6A80-51E0-11E3-B451-0002A5D5C51B'; + public static PRESSURE_CHAR_UUID = '835AB4C0-51E4-11E3-A5BD-0002A5D5C51B'; + + public static ZERO_SERVICE_UUID = 'CC4A6A80-51E0-11E3-B451-0002A5D5C51B'; + public static ZERO_CHAR_UUID = '8CD67DA0-DA9B-11E3-9087-0002A5D5C51B'; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + } + + public static test(device: LimitedPeripheralData) { + const adv = + device && + device.advertising && + parseAdvertisingManufacturerData(device.advertising); + return adv && adv.length >= 2 && adv[0] === 0x0c && adv[1] === 0x01; + } + + public connect(): Promise { + this.attachNotification(); + + return this.updateZero().catch(() => {}); // ignore error + } + + public async updateZero(): Promise { + const data = new Uint8Array(1); + + return new Promise((resolve, reject) => { + ble.writeWithoutResponse( + this.device_id, + TransducerDirectPressure.ZERO_SERVICE_UUID, + TransducerDirectPressure.ZERO_CHAR_UUID, + data.buffer, + () => { + resolve(); + }, + () => { + reject(); + } + ); + }); + } + + public disconnect() { + this.deattachNotification(); + } + + private attachNotification() { + ble.startNotification( + this.device_id, + TransducerDirectPressure.PRESSURE_SERVICE_UUID, + TransducerDirectPressure.PRESSURE_CHAR_UUID, + (_data: any) => { + const v = new Uint16Array(_data); + + const psi = swap16(v[0]) / 10; + this.setPressure(psiToBar(psi), _data, v); + }, + (_data: any) => {} + ); + } + + private deattachNotification() { + ble.stopNotification( + this.device_id, + TransducerDirectPressure.PRESSURE_SERVICE_UUID, + TransducerDirectPressure.PRESSURE_CHAR_UUID, + (e: any) => {}, + (e: any) => {} + ); + } +} + +function swap16(val: any) { + return ((val & 0xff) << 8) | ((val >> 8) & 0xff); +} diff --git a/src/classes/parameter/beanListViewParameter.ts b/src/classes/parameter/beanListViewParameter.ts new file mode 100755 index 000000000..ff97182f6 --- /dev/null +++ b/src/classes/parameter/beanListViewParameter.ts @@ -0,0 +1,74 @@ +/** Interfacdes */ + +import { IBeanParameter } from '../../interfaces/parameter/iBeanParameter'; + +export class BeanListViewParameter implements IBeanParameter { + public name: boolean; + public buyDate: boolean; + public roastingDate: boolean; + public beanMix: boolean; + public aromatics: boolean; + public note: boolean; + public roaster: boolean; + public roast: boolean; + public roast_range: boolean; + public weight: boolean; + public cost: boolean; + public attachments: boolean; + public url: boolean; + public ean_article_number: boolean; + public cupping_points: boolean; + public decaffeinated: boolean; + + public bean_roasting_type: boolean; + + public bean_information: boolean; + public country: boolean; + public region: boolean; + public farm: boolean; + public farmer: boolean; + public elevation: boolean; + public harvest_time: boolean; + public variety: boolean; + public processing: boolean; + public certification: boolean; + public percentage: boolean; + public purchasing_price: boolean; + public fob_price: boolean; + public rating: boolean; + + constructor() { + this.name = true; + this.buyDate = false; + this.roastingDate = true; + this.beanMix = true; + this.aromatics = true; + this.note = true; + this.roaster = true; + this.roast = false; + this.roast_range = false; + this.weight = true; + this.cost = true; + this.attachments = true; + this.url = true; + this.ean_article_number = false; + this.cupping_points = false; + this.decaffeinated = true; + this.bean_roasting_type = true; + this.rating = true; + + this.bean_information = false; + this.country = false; + this.region = false; + this.farm = false; + this.farmer = false; + this.elevation = false; + this.harvest_time = false; + this.variety = false; + this.processing = false; + this.certification = false; + this.percentage = false; + this.purchasing_price = false; + this.fob_price = false; + } +} diff --git a/src/classes/parameter/beanManageParameter.ts b/src/classes/parameter/beanManageParameter.ts new file mode 100755 index 000000000..d0eed9c6c --- /dev/null +++ b/src/classes/parameter/beanManageParameter.ts @@ -0,0 +1,74 @@ +/** Interfacdes */ + +import { IBeanParameter } from '../../interfaces/parameter/iBeanParameter'; + +export class BeanManageParameter implements IBeanParameter { + public name: boolean; + public buyDate: boolean; + public roastingDate: boolean; + public beanMix: boolean; + public aromatics: boolean; + public note: boolean; + public roaster: boolean; + public roast: boolean; + public roast_range: boolean; + public weight: boolean; + public cost: boolean; + public attachments: boolean; + public url: boolean; + public ean_article_number: boolean; + public cupping_points: boolean; + public decaffeinated: boolean; + + public bean_roasting_type: boolean; + + public bean_information: boolean; + public country: boolean; + public region: boolean; + public farm: boolean; + public farmer: boolean; + public elevation: boolean; + public harvest_time: boolean; + public variety: boolean; + public processing: boolean; + public certification: boolean; + public percentage: boolean; + public purchasing_price: boolean; + public fob_price: boolean; + public rating: boolean; + + constructor() { + this.name = true; + this.buyDate = false; + this.roastingDate = true; + this.beanMix = true; + this.aromatics = true; + this.note = true; + this.roaster = true; + this.roast = false; + this.roast_range = false; + this.weight = true; + this.cost = true; + this.attachments = true; + this.url = true; + this.ean_article_number = false; + this.cupping_points = false; + this.decaffeinated = true; + this.bean_roasting_type = true; + this.rating = true; + + this.bean_information = false; + this.country = true; + this.region = true; + this.farm = true; + this.farmer = true; + this.elevation = true; + this.harvest_time = true; + this.variety = true; + this.processing = true; + this.certification = false; + this.percentage = true; + this.purchasing_price = false; + this.fob_price = false; + } +} diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index bf719607c..51aadcb66 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -17,7 +17,10 @@ import { ListViewBrewParameter } from '../parameter/listViewBrewParameter'; import { IBeanPageFilter } from '../../interfaces/bean/iBeanPageFilter'; import { IBrewGraphs } from '../../interfaces/brew/iBrewGraphs'; -import { PressureType, ScaleType } from '@graphefruit/coffee-bluetooth-devices'; + +import { BeanManageParameter } from '../parameter/beanManageParameter'; +import { PressureType, ScaleType } from '../devices'; +import { BeanListViewParameter } from '../parameter/beanListViewParameter'; export class Settings implements ISettings { public brew_view: BREW_VIEW_ENUM; @@ -29,6 +32,9 @@ export class Settings implements ISettings { public default_last_coffee_parameters: DefaultBrewParameter; public visible_list_view_parameters: ListViewBrewParameter; public brew_order: OrderBrewParameter; + + public bean_manage_parameters: BeanManageParameter; + public bean_visible_list_view_parameters: BeanListViewParameter; public config: Config; public language: string; public track_brew_coordinates: boolean; @@ -155,6 +161,10 @@ export class Settings implements ISettings { this.default_last_coffee_parameters = new DefaultBrewParameter(); this.visible_list_view_parameters = new ListViewBrewParameter(); this.brew_order = new OrderBrewParameter(); + + this.bean_manage_parameters = new BeanManageParameter(); + this.bean_visible_list_view_parameters = new BeanListViewParameter(); + this.language = ''; this.matomo_analytics = undefined; @@ -279,6 +289,18 @@ export class Settings implements ISettings { this.default_last_coffee_parameters, settingsObj.default_last_coffee_parameters ); + + this.bean_manage_parameters = new BeanManageParameter(); + Object.assign( + this.bean_manage_parameters, + settingsObj.bean_manage_parameters + ); + + this.bean_visible_list_view_parameters = new BeanListViewParameter(); + Object.assign( + this.bean_visible_list_view_parameters, + settingsObj.bean_visible_list_view_parameters + ); } public resetFilter() { diff --git a/src/components/bean-information/bean-information.component.html b/src/components/bean-information/bean-information.component.html index 2681a4714..726474590 100644 --- a/src/components/bean-information/bean-information.component.html +++ b/src/components/bean-information/bean-information.component.html @@ -2,7 +2,7 @@ - +
@@ -14,19 +14,19 @@ {{bean.name}} ({{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}) + *ngIf="!isBeanRoastUnknown() && uiBeanHelper.fieldVisible(settings.bean_visible_list_view_parameters.bean_roasting_type)">({{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}})
- + -
- -
+
{{this.uiHelper.toFixedIfNecessary(bean.rating,2)}}
@@ -47,10 +47,10 @@ - + - + {{"BEAN_DATA_ROASTING_DATE" | translate}}
@@ -60,7 +60,7 @@ -
- + {{"BEAN_DATA_ROASTER" | translate}}
@@ -71,8 +71,8 @@
- - {{"BEAN_DATA_ROAST_NAME" | translate}} + + {{"BEAN_DATA_ROAST_NAME_TYPE" | translate}}
{{daysOld()}} {{"DAY_OLD" | translate}} {{daysOld()}} {{"DAYS_OLD" | translate}}
- + {{"BEANS_AMOUNT_USED" | translate}}
{{'BREW_DATA_FLAVOR' | translate}}
{{getCuppedBrewFlavors()}}
+ + {{'BEAN_DATA_BUY_DATE' | translate}}
+ {{bean?.buyDate | formatDate:["DD.MM.YYYY"]}} +
+ + {{'BEAN_SORT_MIX' | translate}}
+ {{"BEAN_MIX_" + bean.beanMix | translate}} +
+ + {{'BEAN_DATA_COST' | translate}}
+ {{bean?.cost}} +
+ + {{'BEAN_DATA_AROMATICS' | translate}}
+ {{bean?.aromatics}} +
+ + {{'BEAN_DATA_CUPPING_POINTS' | translate}}
+ {{bean?.cupping_points}} +
+ + {{'BEAN_DATA_DECAFFEINATED' | translate}}
+ {{bean?.decaffeinated}} +
+ + {{'BEAN_DATA_URL' | translate}}
+ {{bean?.url}} +
+ + {{'BEAN_DATA_EAN' | translate}}
+ {{bean?.ean_article_number}} +
+ + {{'NOTES' | translate}}
+
{{bean?.note}}
+
+ + + + + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_COUNTRY' | translate}}
+ {{info.country}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_REGION' | translate}}
+ {{info.region}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_FARM' | translate}}
+ {{info.farm}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_FARMER' | translate}}
+ {{info.farmer}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_ELEVATION' | translate}}
+ {{info.elevation}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_VARIETY' | translate}}
+ {{info.variety}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_PROCESSING' | translate}}
+ {{info.processing}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_HARVEST_TIME' | translate}}
+ {{info.harvest_time}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_PERCENTAGE' | translate}}
+ {{info.percentage}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_CERTIFICATION' | translate}}
+ {{info.certification}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_PURCHASING_PRICE' | translate}}
+ {{info.purchasing_price}} +
+ + {{bean?.beanMix?.toString() === 'BLEND'?i+1+'. ':''}}{{'BEAN_DATA_FOB_PRICE' | translate}}
+ {{info.fob_price}} +
+
+
- +
@@ -120,3 +209,4 @@
+ diff --git a/src/components/bean-information/bean-information.component.ts b/src/components/bean-information/bean-information.component.ts index 097c01887..9f0155d67 100644 --- a/src/components/bean-information/bean-information.component.ts +++ b/src/components/bean-information/bean-information.component.ts @@ -53,7 +53,7 @@ export class BeanInformationComponent implements OnInit { public settings: Settings = null; constructor( private readonly uiSettingsStorage: UISettingsStorage, - private readonly uiBeanHelper: UIBeanHelper, + public readonly uiBeanHelper: UIBeanHelper, private readonly modalController: ModalController, private readonly uiAnalytics: UIAnalytics, private readonly uiBrewStorage: UIBrewStorage, diff --git a/src/components/beans/bean-general-information/bean-general-information.component.html b/src/components/beans/bean-general-information/bean-general-information.component.html index 1150755ef..625cb017b 100644 --- a/src/components/beans/bean-general-information/bean-general-information.component.html +++ b/src/components/beans/bean-general-information/bean-general-information.component.html @@ -1,11 +1,11 @@ - + {{"BEAN_DATA_NAME" | translate}}* - + {{"BEAN_DATA_ROASTER" | translate}} - + {{"BEAN_DATA_BUY_DATE" | translate}} - + {{"BEAN_DATA_ROASTING_DATE" | translate}} - + {{"BEAN_DATA_ROASTING_TYPE" | translate}} {{"BEAN_ROASTING_TYPE_" + key | translate}} - + {{"BEAN_DATA_ROAST_NAME" | translate}}
@@ -47,7 +47,7 @@
- + - + {{"BREW_DATA_RATING" | translate }} {{this.uiHelper.toFixedIfNecessary(data.rating,2)}} @@ -73,7 +73,7 @@
- + {{"BEAN_DATA_MIX" | translate}} {{"BEAN_SORT_MORE_INFORMATION" | translate }} - + {{"BEAN_DATA_WEIGHT" | translate}} - + {{"BEAN_DATA_COST" | translate}} - + {{"BEAN_DATA_AROMATICS" | translate}} - + {{"BEAN_DATA_CUPPING_POINTS" | translate}} - + {{"BEAN_DATA_DECAFFEINATED" | translate}} - + {{"BEAN_DATA_URL" | translate}} - + {{"BEAN_DATA_EAN" | translate}} @@ -142,11 +142,11 @@ {{"FINISHED"|translate}}? - + {{"NOTES" | translate}} - + diff --git a/src/components/beans/bean-general-information/bean-general-information.component.ts b/src/components/beans/bean-general-information/bean-general-information.component.ts index 77e5a5e5e..7d3cdcc91 100644 --- a/src/components/beans/bean-general-information/bean-general-information.component.ts +++ b/src/components/beans/bean-general-information/bean-general-information.component.ts @@ -18,11 +18,12 @@ import { BEAN_ROASTING_TYPE_ENUM } from '../../../enums/beans/beanRoastingType'; import { NgxStarsComponent } from 'ngx-stars'; import { IBeanInformation } from '../../../interfaces/bean/iBeanInformation'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; -import { BluetoothScale } from '@graphefruit/coffee-bluetooth-devices'; import { Settings } from '../../../classes/settings/settings'; import { UISettingsStorage } from '../../../services/uiSettingsStorage'; import { UIHelper } from '../../../services/uiHelper'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; +import { BluetoothScale } from '../../../classes/devices'; +import { UIBeanHelper } from '../../../services/uiBeanHelper'; declare var cordova; @Component({ @@ -32,6 +33,7 @@ declare var cordova; }) export class BeanGeneralInformationComponent implements OnInit { @Input() public data: Bean; + public initialBeanData: Bean; @Output() public dataChange = new EventEmitter(); @ViewChild('beanStars', { read: NgxStarsComponent, static: false }) public beanStars: NgxStarsComponent; @@ -56,13 +58,15 @@ export class BeanGeneralInformationComponent implements OnInit { private readonly changeDetectorRef: ChangeDetectorRef, private readonly bleManager: CoffeeBluetoothDevicesService, private readonly uiSettingsStorage: UISettingsStorage, - public readonly uiHelper: UIHelper + public readonly uiHelper: UIHelper, + public readonly uiBeanHelper: UIBeanHelper ) { this.settings = this.uiSettingsStorage.getSettings(); } public ngOnInit() { this.maxBeanRating = this.settings.bean_rating; + this.initialBeanData = this.uiHelper.cloneData(this.data); setTimeout(() => { if (this.beanStars && this.beanStars.setRating) { this.beanStars.setRating(this.data.roast_range); diff --git a/src/components/beans/bean-roast-information/bean-roast-information.component.ts b/src/components/beans/bean-roast-information/bean-roast-information.component.ts index 7cef1d9cd..091d2ca08 100644 --- a/src/components/beans/bean-roast-information/bean-roast-information.component.ts +++ b/src/components/beans/bean-roast-information/bean-roast-information.component.ts @@ -3,9 +3,8 @@ import { Bean } from '../../../classes/bean/bean'; import moment from 'moment'; import { ModalController, Platform } from '@ionic/angular'; import { DatetimePopoverComponent } from '../../../popover/datetime-popover/datetime-popover.component'; - -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; -import { BluetoothScale } from '@graphefruit/coffee-bluetooth-devices'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; +import { BluetoothScale } from '../../../classes/devices'; @Component({ selector: 'bean-roast-information', diff --git a/src/components/beans/bean-sort-information/bean-sort-information.component.html b/src/components/beans/bean-sort-information/bean-sort-information.component.html index 30fb59a20..74cd216da 100644 --- a/src/components/beans/bean-sort-information/bean-sort-information.component.html +++ b/src/components/beans/bean-sort-information/bean-sort-information.component.html @@ -1,4 +1,4 @@ - + {{i+1}}. {{"BEAN_SORT" | translate}} {{"BEAN_SORT_INFORMATION" | translate}} @@ -9,77 +9,77 @@
- + {{"BEAN_DATA_COUNTRY" | translate}} - + {{"BEAN_DATA_REGION" | translate}} - + {{"BEAN_DATA_FARM" | translate}} - + {{"BEAN_DATA_FARMER" | translate}} - + {{"BEAN_DATA_ELEVATION" | translate}} - + {{"BEAN_DATA_VARIETY" | translate}} - + {{"BEAN_DATA_PROCESSING" | translate}} - + {{"BEAN_DATA_HARVEST_TIME" | translate}} - + {{"BEAN_DATA_PERCENTAGE" | translate}} - + {{"BEAN_DATA_CERTIFICATION" | translate}} - + {{"BEAN_DATA_PURCHASING_PRICE" | translate}} - + {{"BEAN_DATA_FOB_PRICE" | translate}} (); + @Input() public data: Bean | GreenBean; + @Output() public dataChange = new EventEmitter(); + public settings: Settings = undefined; - - constructor() { } + constructor( + private readonly uiSettingsStorage: UISettingsStorage, + public readonly uiBeanHelper: UIBeanHelper + ) {} public ngOnInit() { - + this.settings = this.uiSettingsStorage.getSettings(); } public addAnotherSort() { @@ -27,13 +34,12 @@ export class BeanSortInformationComponent implements OnInit { public deleteSortInformation(_index: number) { this.data.bean_information.splice(_index, 1); - } public isBlend() { if (this.data instanceof Bean) { // #193 return BEAN_MIX_ENUM[this.data.beanMix] === BEAN_MIX_ENUM.BLEND; } - return false; + return false; } } diff --git a/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.html b/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.html index 835af410e..915bf4561 100644 --- a/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.html +++ b/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.html @@ -5,73 +5,73 @@
- +

{{"BEAN_DATA_COUNTRY" | translate}}:

{{beanInformation.country}}

- +

{{"BEAN_DATA_REGION" | translate}}:

{{beanInformation.region}}

- +

{{"BEAN_DATA_FARM" | translate}}:

{{beanInformation.farm}}

- +

{{"BEAN_DATA_FARMER" | translate}}:

{{beanInformation.farmer}}

- +

{{"BEAN_DATA_ELEVATION" | translate}}:

{{beanInformation.elevation}}

- +

{{"BEAN_DATA_VARIETY" | translate}}:

{{beanInformation.variety}}

- +

{{"BEAN_DATA_PROCESSING" | translate}}:

{{beanInformation.processing}}

- +

{{"BEAN_DATA_HARVEST_TIME" | translate}}:

{{beanInformation.harvest_time}}

- +

{{"BEAN_DATA_PERCENTAGE" | translate}}:

{{beanInformation.percentage}}

- +

{{"BEAN_DATA_CERTIFICATION" | translate}}:

{{beanInformation.certification}}

- +

{{"BEAN_DATA_PURCHASING_PRICE" | translate}}:

{{beanInformation.purchasing_price}}

- +

{{"BEAN_DATA_FOB_PRICE" | translate}}:

{{beanInformation.fob_price}}

diff --git a/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.ts b/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.ts index 95a454cdf..877223e2c 100644 --- a/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.ts +++ b/src/components/beans/detail/bean-detail-sort-information/bean-detail-sort-information.component.ts @@ -1,6 +1,9 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; -import {GreenBean} from '../../../../classes/green-bean/green-bean'; -import {Bean} from '../../../../classes/bean/bean'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { GreenBean } from '../../../../classes/green-bean/green-bean'; +import { Bean } from '../../../../classes/bean/bean'; +import { UISettingsStorage } from '../../../../services/uiSettingsStorage'; +import { Settings } from '../../../../classes/settings/settings'; +import { UIBeanHelper } from '../../../../services/uiBeanHelper'; @Component({ selector: 'bean-detail-sort-information', @@ -8,14 +11,17 @@ import {Bean} from '../../../../classes/bean/bean'; styleUrls: ['./bean-detail-sort-information.component.scss'], }) export class BeanDetailSortInformationComponent implements OnInit { - - @Input() public data: GreenBean | Bean; @Output() public dataChange = new EventEmitter(); + public settings: Settings; - constructor() { } - - public ngOnInit() {} + constructor( + private readonly uiSettingsStorage: UISettingsStorage, + public readonly uiBeanHelper: UIBeanHelper + ) {} + public ngOnInit() { + this.settings = this.uiSettingsStorage.getSettings(); + } } diff --git a/src/components/brew-timer/brew-timer.component.ts b/src/components/brew-timer/brew-timer.component.ts index 43914af30..795ebf262 100644 --- a/src/components/brew-timer/brew-timer.component.ts +++ b/src/components/brew-timer/brew-timer.component.ts @@ -12,9 +12,9 @@ import moment from 'moment'; import { DatetimePopoverComponent } from '../../popover/datetime-popover/datetime-popover.component'; import { ModalController } from '@ionic/angular'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; import { UISettingsStorage } from '../../services/uiSettingsStorage'; import { Settings } from '../../classes/settings/settings'; +import { CoffeeBluetoothDevicesService } from '../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'brew-timer', diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 3bff47620..e49676d52 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -53,12 +53,11 @@ import { PreparationTool } from '../../../classes/preparation/preparationTool'; import { UIAlert } from '../../../services/uiAlert'; import { - BluetoothScale, CoffeeBluetoothDevicesService, CoffeeBluetoothServiceEvent, - PressureDevice, - SCALE_TIMER_COMMAND, -} from '@graphefruit/coffee-bluetooth-devices'; +} from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; +import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; +import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; declare var cordova; diff --git a/src/components/parameter/manage-custom-parameter/manage-custom-parameter.component.ts b/src/components/parameter/manage-custom-parameter/manage-custom-parameter.component.ts index fc1d20a00..a82e8c32b 100644 --- a/src/components/parameter/manage-custom-parameter/manage-custom-parameter.component.ts +++ b/src/components/parameter/manage-custom-parameter/manage-custom-parameter.component.ts @@ -1,12 +1,12 @@ -import {ChangeDetectorRef, Component, Input, OnInit} from '@angular/core'; -import {Settings} from '../../../classes/settings/settings'; -import {Subject} from 'rxjs'; -import {UISettingsStorage} from '../../../services/uiSettingsStorage'; -import {UIAnalytics} from '../../../services/uiAnalytics'; -import {debounceTime, distinctUntilChanged} from 'rxjs/operators'; -import {Preparation} from '../../../classes/preparation/preparation'; -import {UIPreparationStorage} from '../../../services/uiPreparationStorage'; -import {PREPARATION_STYLE_TYPE} from '../../../enums/preparations/preparationStyleTypes'; +import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; +import { Settings } from '../../../classes/settings/settings'; +import { Subject } from 'rxjs'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; +import { UIAnalytics } from '../../../services/uiAnalytics'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; +import { Preparation } from '../../../classes/preparation/preparation'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; +import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; @Component({ selector: 'manage-custom-parameter', @@ -14,29 +14,28 @@ import {PREPARATION_STYLE_TYPE} from '../../../enums/preparations/preparationSty styleUrls: ['./manage-custom-parameter.component.scss'], }) export class ManageCustomParameterComponent implements OnInit { - - - public debounceChanges: Subject = new Subject(); + private numerator: number = 0; @Input() public data: Settings | Preparation; - constructor(public uiSettingsStorage: UISettingsStorage, - private readonly uiPreparationStorage: UIPreparationStorage, - private readonly uiAnalytics: UIAnalytics, - private readonly changeDetectorRef: ChangeDetectorRef) { + constructor( + public uiSettingsStorage: UISettingsStorage, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiAnalytics: UIAnalytics, + private readonly changeDetectorRef: ChangeDetectorRef + ) { this.debounceChanges .pipe(debounceTime(500), distinctUntilChanged()) .subscribe(() => { this.save(); }); - } - public ngOnInit() { - } + public ngOnInit() {} public triggerChanges(_query): void { - this.debounceChanges.next(_query); + this.debounceChanges.next(this.numerator.toString()); + this.numerator = this.numerator + 1; } public isPreparation(): boolean { return this.data instanceof Preparation; @@ -45,16 +44,16 @@ export class ManageCustomParameterComponent implements OnInit { public firstDripDisabled(): boolean { if (this.isPreparation()) { const prep: Preparation = this.data as Preparation; - return (prep.style_type !== PREPARATION_STYLE_TYPE.ESPRESSO); + return prep.style_type !== PREPARATION_STYLE_TYPE.ESPRESSO; } return false; } public brewQuantityDisabled(): boolean { - if (this.isPreparation()) { - const prep: Preparation = this.data as Preparation; - return (prep.style_type === PREPARATION_STYLE_TYPE.ESPRESSO); - } - return false; + if (this.isPreparation()) { + const prep: Preparation = this.data as Preparation; + return prep.style_type === PREPARATION_STYLE_TYPE.ESPRESSO; + } + return false; } public async save() { @@ -64,8 +63,5 @@ export class ManageCustomParameterComponent implements OnInit { } else { await this.uiPreparationStorage.update(this.data as Preparation); } - } - - } diff --git a/src/components/timer/timer.component.ts b/src/components/timer/timer.component.ts index 3f3d26c32..3bb3835a3 100644 --- a/src/components/timer/timer.component.ts +++ b/src/components/timer/timer.component.ts @@ -12,8 +12,8 @@ import { DatetimePopoverComponent } from '../../popover/datetime-popover/datetim import moment from 'moment'; import { ModalController } from '@ionic/angular'; import { Settings } from '../../classes/settings/settings'; -import { CoffeeBluetoothDevicesService } from '@graphefruit/coffee-bluetooth-devices'; import { UISettingsStorage } from '../../services/uiSettingsStorage'; +import { CoffeeBluetoothDevicesService } from '../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'timer', diff --git a/src/interfaces/parameter/iBeanParameter.ts b/src/interfaces/parameter/iBeanParameter.ts new file mode 100755 index 000000000..3ccff08ca --- /dev/null +++ b/src/interfaces/parameter/iBeanParameter.ts @@ -0,0 +1,36 @@ +/** Interfaces */ + +export interface IBeanParameter { + name: boolean; + buyDate: boolean; + roastingDate: boolean; + beanMix: boolean; + aromatics: boolean; + note: boolean; + roaster: boolean; + roast: boolean; + roast_range: boolean; + weight: boolean; + cost: boolean; + attachments: boolean; + url: boolean; + ean_article_number: boolean; + cupping_points: boolean; + decaffeinated: boolean; + bean_roasting_type: boolean; + + bean_information: boolean; + country: boolean; + region: boolean; + farm: boolean; + farmer: boolean; + elevation: boolean; + harvest_time: boolean; + variety: boolean; + processing: boolean; + certification: boolean; + percentage: boolean; + purchasing_price: boolean; + fob_price: boolean; + rating: boolean; +} diff --git a/src/interfaces/settings/iSettings.ts b/src/interfaces/settings/iSettings.ts index 66c22b1eb..8c7381684 100755 --- a/src/interfaces/settings/iSettings.ts +++ b/src/interfaces/settings/iSettings.ts @@ -7,10 +7,11 @@ import { STARTUP_VIEW_ENUM } from '../../enums/settings/startupView'; import { IOrderBrewParameter } from '../parameter/iOrderBrewParameter'; import { IBrewPageFilter } from '../brew/iBrewPageFilter'; import { IBeanPageSort } from '../bean/iBeanPageSort'; -import { ListViewBrewParameter } from '../../classes/parameter/listViewBrewParameter'; import { IBeanPageFilter } from '../bean/iBeanPageFilter'; import { IBrewGraphs } from '../brew/iBrewGraphs'; -import { PressureType, ScaleType } from '@graphefruit/coffee-bluetooth-devices'; +import { IBeanParameter } from '../parameter/iBeanParameter'; +import { PressureType, ScaleType } from '../../classes/devices'; +import { BeanListViewParameter } from '../../classes/parameter/beanListViewParameter'; export interface ISettings { // Properties @@ -22,6 +23,9 @@ export interface ISettings { default_last_coffee_parameters: IBrewParameter; visible_list_view_parameters: IBrewParameter; brew_order: IOrderBrewParameter; + + bean_manage_parameters: IBeanParameter; + bean_visible_list_view_parameters: IBeanParameter; matomo_analytics: boolean; qr_scanner_information: boolean; track_brew_coordinates: boolean; diff --git a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.spec.ts b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.spec.ts new file mode 100644 index 000000000..83a7b1f07 --- /dev/null +++ b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { CoffeeBluetoothDevicesService } from './coffee-bluetooth-devices.service'; + +describe('CoffeeBluetoothDevicesService', () => { + let service: CoffeeBluetoothDevicesService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(CoffeeBluetoothDevicesService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts new file mode 100644 index 000000000..b1e724c75 --- /dev/null +++ b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts @@ -0,0 +1,762 @@ +import { Injectable } from '@angular/core'; +import { BluetoothScale } from 'src/classes/devices/bluetoothDevice'; +import { Logger } from 'src/classes/devices/common/logger'; +import { PressureDevice } from 'src/classes/devices/pressureBluetoothDevice'; +import { PrsPressure } from 'src/classes/devices/prsPressure'; +import { EurekaPrecisaScale } from '../../classes/devices/eurekaPrecisaScale'; +import { + makeDevice, + makePressureDevice, + PressureType, + ScaleType, +} from '../../classes/devices'; +import { DecentScale } from '../../classes/devices/decentScale'; +import { TransducerDirectPressure } from '../../classes/devices/transducerDirectPressure'; +import { FelicitaScale } from '../../classes/devices/felicitaScale'; +import { PeripheralData } from '../../classes/devices/ble.types'; +import { Observable, Subject } from 'rxjs'; +import { LunarScale } from '../../classes/devices/lunarScale'; +import { PopsiclePressure } from '../../classes/devices/popsiclePressure'; +import { JimmyScale } from '../../classes/devices/jimmyScale'; + +declare var device: any; +declare var ble: any; +declare var cordova: any; + +export enum CoffeeBluetoothServiceEvent { + CONNECTED_SCALE, + DISCONNECTED_SCALE, + CONNECTED_PRESSURE, + DISCONNECTED_PRESSURE, +} + +@Injectable({ + providedIn: 'root', +}) +export class CoffeeBluetoothDevicesService { + public scale: BluetoothScale | null = null; + public pressureDevice: PressureDevice | null = null; + public failed: boolean; + public ready: boolean; + private readonly logger: Logger; + private eventSubject = new Subject(); + private androidPermissions: any = null; + + constructor() { + this.logger = new Logger('CoffeeBluetoothDevices'); + this.failed = false; + this.ready = true; + + if ( + typeof cordova !== 'undefined' && + typeof device !== 'undefined' && + device !== null && + device.platform === 'Android' + ) { + this.androidPermissions = cordova.plugins.permissions; + } + } + + public attachOnEvent(): Observable { + return this.eventSubject.asObservable(); + } + + public async hasLocationPermission(): Promise { + return new Promise((resolve, reject) => { + try { + if (device !== null && device.platform === 'Android') { + this.androidPermissions.hasPermission( + this.androidPermissions.ACCESS_FINE_LOCATION, + (_status: any) => { + if (_status.hasPermission === false) { + resolve(false); + } else { + resolve(true); + } + }, + () => { + resolve(false); + } + ); + } else { + resolve(true); + } + } catch (ex) { + resolve(true); + } + }); + } + + public async hasBluetoothPermission(): Promise { + return new Promise((resolve, reject) => { + try { + if (device !== null && device.platform === 'Android') { + this.androidPermissions.hasPermission( + this.androidPermissions.BLUETOOTH_ADMIN, + (_status: any) => { + if (_status.hasPermission === false) { + resolve(false); + } else { + resolve(true); + } + }, + () => { + resolve(false); + } + ); + } else { + resolve(true); + } + } catch (ex) { + resolve(true); + } + }); + } + + public async requestBluetoothPermissions() { + return new Promise((resolve, reject) => { + try { + this.androidPermissions.requestPermission( + this.androidPermissions.BLUETOOTH_ADMIN, + (_status: any) => { + if (_status.hasPermission === false) { + resolve(false); + } else { + resolve(true); + } + }, + () => { + resolve(false); + } + ); + } catch (ex) { + resolve(true); + } + }); + } + + public async requestLocationPermissions() { + return new Promise((resolve, reject) => { + try { + this.androidPermissions.requestPermission( + this.androidPermissions.ACCESS_FINE_LOCATION, + (_status: any) => { + if (_status.hasPermission === false) { + resolve(false); + } else { + resolve(true); + } + }, + () => { + resolve(false); + } + ); + } catch (ex) { + resolve(true); + } + }); + } + + public async scanDevices(): Promise> { + return new Promise>((resolve, reject) => { + const devices: Array = []; + + let timeoutVar: any = null; + const stopScanningAndResolve = async () => { + try { + await this.stopScanning(); + } catch (ex) { + // Grab error. + } + + this.logger.log('Scales found ' + JSON.stringify(devices)); + resolve(devices); + }; + + ble.startScan( + [], + async (device: any) => { + this.logger.log('Device found ' + JSON.stringify(device)); + if ( + DecentScale.test(device) || + LunarScale.test(device) || + JimmyScale.test(device) || + FelicitaScale.test(device) || + EurekaPrecisaScale.test(device) + ) { + // We found all needed devices. + devices.push(device); + + this.logger.log('Supported Scale found ' + JSON.stringify(device)); + clearTimeout(timeoutVar); + timeoutVar = null; + await stopScanningAndResolve(); + } + }, + () => { + resolve(devices); + } + ); + timeoutVar = setTimeout(async () => { + await stopScanningAndResolve(); + }, 60000); + }); + } + + public async scanPressureDevices(): Promise> { + return new Promise>((resolve, reject) => { + const devices: Array = []; + + let timeoutVar: any = null; + const stopScanningAndResolve = async () => { + try { + await this.stopScanning(); + } catch (ex) { + // Grab error. + } + + this.logger.log('Pressure devices found ' + JSON.stringify(devices)); + resolve(devices); + }; + + ble.startScan( + [], + async (device: any) => { + this.logger.log('Pressure devices found ' + JSON.stringify(device)); + if ( + PrsPressure.test(device) || + PopsiclePressure.test(device) || + TransducerDirectPressure.test(device) + ) { + // We found all needed devices. + devices.push(device); + + this.logger.log( + 'Supported pressure devices found ' + JSON.stringify(device) + ); + clearTimeout(timeoutVar); + timeoutVar = null; + await stopScanningAndResolve(); + } + }, + () => { + resolve(devices); + } + ); + timeoutVar = setTimeout(async () => { + await stopScanningAndResolve(); + }, 60000); + }); + } + + public disconnect( + deviceId: string, + show_toast: boolean = true + ): Promise { + return new Promise((resolve, reject) => { + ble.disconnect( + deviceId, + () => { + this.scale?.disconnectTriggered(); + this.scale = null; + if (show_toast) { + // this.uiToast.showInfoToast('SCALE.DISCONNECTED_SUCCESSFULLY'); + } + resolve(true); + }, + () => { + resolve(false); + } + ); + }); + } + + public disconnectPressureDevice( + deviceId: string, + show_toast: boolean = true + ): Promise { + return new Promise((resolve, reject) => { + ble.disconnect( + deviceId, + () => { + this.pressureDevice = null; + if (show_toast) { + // this.uiToast.showInfoToast('SCALE.DISCONNECTED_SUCCESSFULLY'); + } + resolve(true); + }, + () => { + resolve(false); + } + ); + }); + } + + public isBleEnabled(): Promise { + return new Promise((resolve, reject) => { + ble.isEnabled( + () => { + resolve(true); + }, + () => { + resolve(false); + } + ); + }); + } + + public getScale() { + return this.scale; + } + + public getPressureDevice() { + return this.pressureDevice; + } + + public getPressure() { + try { + if (this.pressureDevice) { + return this.toFixedIfNecessary(this.pressureDevice.getPressure(), 2); + } + return 0; + } catch (ex) { + return 0; + } + } + + public getScaleWeight() { + try { + if (this.scale) { + return this.toFixedIfNecessary(this.scale.getWeight(), 1); + } + return 0; + } catch (ex) { + return 0; + } + } + + public async tryToFindScale() { + return new Promise<{ id: string; type: ScaleType } | undefined>( + async (resolve, reject) => { + this.logger.log('BleManager - Start looping through devices'); + const devices: Array = await this.scanDevices(); + this.logger.log('BleManager - Ended looping through devices'); + for (const device of devices) { + if (DecentScale.test(device)) { + this.logger.log('BleManager - We found a decent scale'); + resolve({ id: device.id, type: ScaleType.DECENT }); + return; + } + if (LunarScale.test(device)) { + this.logger.log('BleManager - We found a lunar/acaia scale'); + resolve({ id: device.id, type: ScaleType.LUNAR }); + return; + } + if (JimmyScale.test(device)) { + this.logger.log('BleManager - We found a jimmy scale'); + resolve({ id: device.id, type: ScaleType.JIMMY }); + return; + } + if (FelicitaScale.test(device)) { + this.logger.log('BleManager - We found a felicita scale'); + resolve({ id: device.id, type: ScaleType.FELICITA }); + return; + } + if (EurekaPrecisaScale.test(device)) { + this.logger.log('BleManager - We found a eureka scale'); + resolve({ id: device.id, type: ScaleType.EUREKAPRECISA }); + return; + } + } + resolve(undefined); + } + ); + } + + public async tryToFindScales() { + return new Promise | undefined>( + async (resolve, reject) => { + const devices: Array = await this.scanDevices(); + this.logger.log('BleManager - Loop through devices'); + const supportedDevices: Array<{ id: string; type: ScaleType }> = []; + for (const device of devices) { + if (DecentScale.test(device)) { + this.logger.log('BleManager - We found a decent scale'); + supportedDevices.push({ id: device.id, type: ScaleType.DECENT }); + } + if (LunarScale.test(device)) { + this.logger.log('BleManager - We found a lunar/acaia scale'); + supportedDevices.push({ id: device.id, type: ScaleType.LUNAR }); + } + if (JimmyScale.test(device)) { + this.logger.log('BleManager - We found a jimmy scale'); + supportedDevices.push({ id: device.id, type: ScaleType.JIMMY }); + } + if (FelicitaScale.test(device)) { + this.logger.log('BleManager - We found a felicita scale'); + supportedDevices.push({ id: device.id, type: ScaleType.FELICITA }); + } + if (EurekaPrecisaScale.test(device)) { + this.logger.log('BleManager - We found a eureka scale'); + supportedDevices.push({ + id: device.id, + type: ScaleType.EUREKAPRECISA, + }); + } + } + resolve(supportedDevices); + } + ); + } + + public async tryToFindPressureDevices() { + return new Promise | undefined>( + async (resolve, reject) => { + const devices: Array = await this.scanPressureDevices(); + this.logger.log('BleManager - Loop through pressure devices'); + const supportedDevices: Array<{ id: string; type: PressureType }> = []; + for (const device of devices) { + if (PrsPressure.test(device)) { + this.logger.log( + 'BleManager - We found a PRS Direct pressure device ' + + JSON.stringify(device) + ); + supportedDevices.push({ id: device.id, type: PressureType.PRS }); + } else if (PopsiclePressure.test(device)) { + this.logger.log( + 'BleManager - We found a popsicle pressure device ' + + JSON.stringify(device) + ); + supportedDevices.push({ + id: device.id, + type: PressureType.POPSICLE, + }); + } else if (TransducerDirectPressure.test(device)) { + this.logger.log( + 'BleManager - We found a Transducer Direct pressure device ' + + JSON.stringify(device) + ); + supportedDevices.push({ id: device.id, type: PressureType.DIRECT }); + } + } + resolve(supportedDevices); + } + ); + } + + public async tryToFindPressureDevice() { + return new Promise<{ id: string; type: PressureType } | undefined>( + async (resolve, reject) => { + const devices: Array = await this.scanPressureDevices(); + this.logger.log('BleManager - Loop through pressure devices'); + for (const device of devices) { + if (PopsiclePressure.test(device)) { + this.logger.log( + 'BleManager - We found a popsicle pressure device ' + ); + resolve({ id: device.id, type: PressureType.POPSICLE }); + return; + } else if (TransducerDirectPressure.test(device)) { + this.logger.log( + 'BleManager - We found a Transducer Direct pressure device ' + ); + resolve({ id: device.id, type: PressureType.DIRECT }); + return; + } else { + } + + if (PrsPressure.test(device)) { + this.logger.log( + 'BleManager - We found a PRS Direct pressure device ' + ); + resolve({ id: device.id, type: PressureType.PRS }); + return; + } + } + resolve(undefined); + } + ); + } + + public reconnectScale( + deviceType: ScaleType, + deviceId: string, + successCallback: any = () => {}, + errorCallback: any = () => {} + ) { + ble.disconnect( + deviceId, + () => { + //Success + setTimeout(() => { + this.autoConnectScale( + deviceType, + deviceId, + true, + successCallback, + errorCallback + ); + }, 1000); + }, + () => { + //Fail + errorCallback(); + } + ); + } + + public reconnectPressureDevice( + pressureType: PressureType, + deviceId: string, + successCallback: any = () => {}, + errorCallback: any = () => {} + ) { + ble.disconnect( + deviceId, + () => { + //Success + setTimeout(() => { + this.autoConnectPressureDevice( + pressureType, + deviceId, + true, + successCallback, + errorCallback + ); + }, 1000); + }, + () => { + //Fail + errorCallback(); + } + ); + } + + public async autoConnectScale( + deviceType: ScaleType, + deviceId: string, + _retryScanForIOS: boolean = false, + successCallback: any = () => {}, + errorCallback: any = () => {} + ) { + if (_retryScanForIOS) { + // iOS needs to know the scale, before auto connect can be done + await this.__iOSAccessBleStackAndAutoConnect(); + } + + this.logger.log('AutoConnectScale - We can start or we waited for iOS'); + + this.logger.log( + 'AutoConnectScale - We created our promise, and try to autoconnect to device now.' + ); + ble.autoConnect( + deviceId, + (data: PeripheralData) => { + this.connectCallback(deviceType, data); + successCallback(); + }, + () => { + this.disconnectCallback(); + errorCallback(); + } + ); + } + + public async autoConnectPressureDevice( + pressureType: PressureType, + deviceId: string, + _retryScanForIOS: boolean = false, + successCallback: any = () => {}, + errorCallback: any = () => {} + ) { + if (_retryScanForIOS) { + // iOS needs to know the scale, before auto connect can be done + await this.__iOSAccessBleStackAndAutoConnect(true); + } + + this.logger.log( + 'AutoConnectPressureDevice - We can start or we waited for iOS' + ); + + this.logger.log( + 'AutoConnectPressureDevice - We created our promise, and try to autoconnect to device now.' + ); + ble.autoConnect( + deviceId, + (data: PeripheralData) => { + this.connectPressureCallback(pressureType, data); + successCallback(); + }, + () => { + this.disconnectPressureCallback(); + errorCallback(); + } + ); + } + + private stopScanning() { + return new Promise((resolve, reject) => { + return ble.stopScan(resolve, reject); + }); + } + + private __sendEvent(_type: CoffeeBluetoothServiceEvent) { + this.eventSubject.next(_type); + } + + private toFixedIfNecessary(value: any, dp: any) { + const parsedFloat = parseFloat(value); + if (isNaN(parsedFloat)) { + return 0; + } + return +parsedFloat.toFixed(dp); + } + + private async __scanAutoConnectScaleIOS() { + return new Promise(async (resolve, reject) => { + if (device !== null && device.platform === 'iOS') { + // We just need to scan, then we can auto connect for iOS (lol) + this.logger.log('Try to find scale on iOS'); + const device = await this.tryToFindScale(); + if (device === undefined) { + this.logger.log('Scale not found, retry'); + // Try every 11 seconds, because the search algorythm goes 10 seconds at all. + const intV = setInterval(async () => { + const scaleStub = await this.tryToFindScale(); + if (scaleStub !== undefined) { + resolve(true); + clearInterval(intV); + } else { + this.logger.log('Scale not found, retry'); + } + }, 61000); + } else { + resolve(true); + } + } else { + resolve(true); + } + }); + } + + private async __scanAutoConnectPressureDeviceIOS() { + return new Promise(async (resolve, reject) => { + if (device !== null && device.platform === 'iOS') { + // We just need to scan, then we can auto connect for iOS (lol) + this.logger.log('Try to find pressure on iOS'); + const device = await this.tryToFindPressureDevice(); + if (device === undefined) { + this.logger.log('Pressure device not found, retry'); + // Try every 61 seconds, because the search algorythm goes 60 seconds at all. + const intV = setInterval(async () => { + const pressureStub = await this.tryToFindPressureDevice(); + if (pressureStub !== undefined) { + resolve(true); + clearInterval(intV); + } else { + this.logger.log('Pressure device not found, retry'); + } + }, 61000); + } else { + resolve(true); + } + } else { + resolve(true); + } + }); + } + + private async __iOSAccessBleStackAndAutoConnect( + _findPressureDevice: boolean = false + ) { + return await new Promise((resolve) => { + let counter: number = 1; + const iOSScanInterval = setInterval(async () => { + try { + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - Try to get bluetooth state' + ); + const enabled: boolean = await this.isBleEnabled(); + if (enabled === true) { + clearInterval(iOSScanInterval); + if (_findPressureDevice === false) { + await this.__scanAutoConnectScaleIOS(); + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - Scale for iOS found, resolve now' + ); + } else { + await this.__scanAutoConnectPressureDeviceIOS(); + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - Pressure devices for iOS found, resolve now' + ); + } + + resolve(null); + } else { + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - Bluetooth not enabled, try again' + ); + } + } catch (ex) { + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - Bluetooth error occured ' + + JSON.stringify(ex) + ); + } + counter++; + if (counter > 10) { + this.logger.log( + '__iOSAccessBleStackAndAutoConnect - iOS - Stop after 10 tries' + ); + clearInterval(iOSScanInterval); + resolve(null); + } + }, 1000); + }); + } + + private connectCallback(deviceType: ScaleType, data: PeripheralData) { + // wait for full data + if (!this.scale || 'characteristics' in data) { + this.scale = makeDevice(deviceType, data); + this.logger.log('Connected successfully'); + // this.uiToast.showInfoToast('SCALE.CONNECTED_SUCCESSFULLY'); + this.__sendEvent(CoffeeBluetoothServiceEvent.CONNECTED_SCALE); + } + } + + private disconnectCallback() { + if (this.scale) { + this.scale.disconnectTriggered(); + this.scale = null; + // this.uiToast.showInfoToast('SCALE.DISCONNECTED_UNPLANNED'); + this.logger.log('Disconnected successfully'); + } + // Send disconnect callback, even if scale is already null/not existing anymore + this.__sendEvent(CoffeeBluetoothServiceEvent.DISCONNECTED_SCALE); + } + + private connectPressureCallback( + pressureTaype: PressureType, + data: PeripheralData + ) { + // wait for full data + if (!this.pressureDevice || 'characteristics' in data) { + this.pressureDevice = makePressureDevice(pressureTaype, data); + this.logger.log('Pressure Connected successfully'); + // this.uiToast.showInfoToast('PRESSURE.CONNECTED_SUCCESSFULLY'); + this.__sendEvent(CoffeeBluetoothServiceEvent.CONNECTED_PRESSURE); + } + } + + private disconnectPressureCallback() { + if (this.pressureDevice) { + this.pressureDevice.disconnect(); + this.pressureDevice = null; + // this.uiToast.showInfoToast('PRESSURE.DISCONNECTED_UNPLANNED'); + this.logger.log('Disconnected successfully'); + } + // Send disconnect callback, even if scale is already null/not existing anymore + this.__sendEvent(CoffeeBluetoothServiceEvent.DISCONNECTED_PRESSURE); + } +} diff --git a/src/services/uiBeanHelper.ts b/src/services/uiBeanHelper.ts index ca43da9f0..bdb956bc0 100644 --- a/src/services/uiBeanHelper.ts +++ b/src/services/uiBeanHelper.ts @@ -75,6 +75,13 @@ export class UIBeanHelper { return undefined; } + public fieldVisible(_settingsField: boolean, _data?: any) { + if (_settingsField === true) { + return true; + } + return false; + } + public getAllBrewsForThisBean(_uuid: string): Array { if (this.allStoredBrews.length <= 0) { // Load just if needed, performance reasons From 420cafcedfb0539ee7040e03292a46f2ae28ac8e Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 28 Dec 2022 21:56:09 +0100 Subject: [PATCH 003/129] #385 - First dummy data generation --- .../brew-popover-actions.component.html | 4 + src/classes/visualizer/beanVisualizer.ts | 62 ++++++ src/classes/visualizer/brewVisualizer.ts | 90 ++++++++ src/classes/visualizer/millVisualizer.ts | 10 + .../visualizer/preparationVisualizer.ts | 18 ++ src/classes/visualizer/visualizer.ts | 209 +++++------------- src/classes/visualizer/waterVisualizer.ts | 38 ++++ .../brew-information.component.ts | 146 ++++++------ src/enums/brews/brewAction.ts | 4 +- src/interfaces/visualizer/iBeanVisualizer.ts | 40 ++++ src/interfaces/visualizer/iBrewVisualizer.ts | 114 ++++++++++ src/interfaces/visualizer/iMillVisualizer.ts | 7 + .../visualizer/iPreparationVisualizer.ts | 6 + src/interfaces/visualizer/iVisualizer.ts | 15 ++ src/interfaces/visualizer/iWaterVisualizer.ts | 25 +++ 15 files changed, 548 insertions(+), 240 deletions(-) create mode 100755 src/classes/visualizer/beanVisualizer.ts create mode 100755 src/classes/visualizer/brewVisualizer.ts create mode 100755 src/classes/visualizer/millVisualizer.ts create mode 100755 src/classes/visualizer/preparationVisualizer.ts create mode 100755 src/classes/visualizer/waterVisualizer.ts create mode 100755 src/interfaces/visualizer/iBeanVisualizer.ts create mode 100755 src/interfaces/visualizer/iBrewVisualizer.ts create mode 100755 src/interfaces/visualizer/iMillVisualizer.ts create mode 100755 src/interfaces/visualizer/iPreparationVisualizer.ts create mode 100755 src/interfaces/visualizer/iVisualizer.ts create mode 100755 src/interfaces/visualizer/iWaterVisualizer.ts diff --git a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html index a54359642..0a5a22ca1 100644 --- a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html +++ b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html @@ -43,5 +43,9 @@ {{"POPOVER_BREWS_OPTION_DELETE" | translate}}
+ + + {{"VISUALIZER" | translate}} + diff --git a/src/classes/visualizer/beanVisualizer.ts b/src/classes/visualizer/beanVisualizer.ts new file mode 100755 index 000000000..4cc220241 --- /dev/null +++ b/src/classes/visualizer/beanVisualizer.ts @@ -0,0 +1,62 @@ +import { IBeanVisualizer } from '../../interfaces/visualizer/iBeanVisualizer'; +import { BEAN_ROASTING_TYPE_ENUM } from '../../enums/beans/beanRoastingType'; +import { BEAN_MIX_ENUM } from '../../enums/beans/mix'; +import { ROASTS_ENUM } from '../../enums/beans/roasts'; +import { IBeanInformation } from '../../interfaces/bean/iBeanInformation'; + +export class BeanVisualizer implements IBeanVisualizer { + public name: string; + public buyDate: string; + public roastingDate: string; + public note: string; + + public roaster: string; + + public roast: ROASTS_ENUM; + public roast_range: number; + public beanMix: BEAN_MIX_ENUM; + + // tslint:disable-next-line + public roast_custom: string; + public aromatics: string; + public weight: number; + public cost: number; + public cupping_points: string; + public decaffeinated: boolean; + public url: string; + public ean_article_number: string; + + public rating: number; + + public bean_information: Array; + + public bean_roasting_type: BEAN_ROASTING_TYPE_ENUM; + + constructor() { + this.name = ''; + this.buyDate = ''; + this.roastingDate = ''; + this.note = ''; + + this.roaster = ''; + + this.roast = 'UNKNOWN' as ROASTS_ENUM; + this.roast_range = 0; + this.roast_custom = ''; + this.beanMix = 'SINGLE_ORIGIN' as BEAN_MIX_ENUM; + + this.aromatics = ''; + this.weight = 0; + + this.cost = 0; + + this.decaffeinated = false; + this.cupping_points = ''; + this.bean_roasting_type = 'UNKNOWN' as BEAN_ROASTING_TYPE_ENUM; + this.bean_information = []; + this.url = ''; + this.ean_article_number = ''; + + this.rating = 0; + } +} diff --git a/src/classes/visualizer/brewVisualizer.ts b/src/classes/visualizer/brewVisualizer.ts new file mode 100755 index 000000000..d949e2676 --- /dev/null +++ b/src/classes/visualizer/brewVisualizer.ts @@ -0,0 +1,90 @@ +import { BREW_QUANTITY_TYPES_ENUM } from '../../enums/brews/brewQuantityTypes'; +import { BrewFlow } from '../brew/brewFlow'; +import { IBrewVisualizer } from '../../interfaces/visualizer/iBrewVisualizer'; +import { Config } from '../objectConfig/objectConfig'; + +export class BrewVisualizer implements IBrewVisualizer { + // tslint:disable-next-line + public grind_size: string; + // tslint:disable-next-line + public grind_weight: number; + + // tslint:disable-next-line + public mill_speed: number; + // tslint:disable-next-line + public mill_timer: number; + // tslint:disable-next-line + public pressure_profile: string; + // tslint:disable-next-line + public brew_temperature: number; + // tslint:disable-next-line + public brew_temperature_time: number; + + public brew_temperature_time_milliseconds: number; + + // tslint:disable-next-line + public brew_time: number; + public brew_time_milliseconds: number; + // tslint:disable-next-line + public brew_quantity: number; + // tslint:disable-next-line + public brew_quantity_type: BREW_QUANTITY_TYPES_ENUM; + public note: string; + public rating: number; + // tslint:disable-next-line + public coffee_type: string; + // tslint:disable-next-line + public coffee_concentration: string; + // tslint:disable-next-line + public coffee_first_drip_time: number; + public coffee_first_drip_time_milliseconds: number; + // tslint:disable-next-line + public coffee_blooming_time: number; + public coffee_blooming_time_milliseconds: number; + + public tds: number; + + public bean_weight_in: number; + + public vessel_weight: number; + public vessel_name: string; + + public config: Config; + + public brew_beverage_quantity: number; + + public brew_beverage_quantity_type: BREW_QUANTITY_TYPES_ENUM; + + constructor() { + this.grind_size = ''; + this.grind_weight = 0; + this.mill_speed = 0; + this.mill_timer = 0; + this.pressure_profile = ''; + this.brew_temperature_time = 0; + this.brew_temperature = 0; + this.brew_time = 0; + this.brew_quantity = 0; + this.brew_quantity_type = 'GR' as BREW_QUANTITY_TYPES_ENUM; + this.note = ''; + this.rating = 0; + this.coffee_type = ''; + this.coffee_concentration = ''; + this.coffee_first_drip_time = 0; + this.coffee_blooming_time = 0; + this.tds = 0; + this.brew_beverage_quantity = 0; + this.brew_beverage_quantity_type = 'GR' as BREW_QUANTITY_TYPES_ENUM; + + this.brew_time_milliseconds = 0; + this.brew_temperature_time_milliseconds = 0; + this.coffee_first_drip_time_milliseconds = 0; + this.coffee_blooming_time_milliseconds = 0; + + this.bean_weight_in = 0; + + this.vessel_name = ''; + this.vessel_weight = 0; + this.config = new Config(); + } +} diff --git a/src/classes/visualizer/millVisualizer.ts b/src/classes/visualizer/millVisualizer.ts new file mode 100755 index 000000000..c275198ec --- /dev/null +++ b/src/classes/visualizer/millVisualizer.ts @@ -0,0 +1,10 @@ +/** Interfaces */ +import { IMillVisualizer } from '../../interfaces/visualizer/iMillVisualizer'; + +export class MillVisualizer implements IMillVisualizer { + public name: string; + + constructor() { + this.name = ''; + } +} diff --git a/src/classes/visualizer/preparationVisualizer.ts b/src/classes/visualizer/preparationVisualizer.ts new file mode 100755 index 000000000..a6f214f2a --- /dev/null +++ b/src/classes/visualizer/preparationVisualizer.ts @@ -0,0 +1,18 @@ +import { PREPARATION_TYPES } from '../../enums/preparations/preparationTypes'; +import { PREPARATION_STYLE_TYPE } from '../../enums/preparations/preparationStyleTypes'; + +import { IPreparationVisualizer } from '../../interfaces/visualizer/iPreparationVisualizer'; + +export class PreparationVisualizer implements IPreparationVisualizer { + public name: string; + + public style_type: PREPARATION_STYLE_TYPE; + public type: PREPARATION_TYPES; + + constructor() { + this.name = ''; + + this.type = 'CUSTOM_PREPARATION' as PREPARATION_TYPES; + this.style_type = undefined; + } +} diff --git a/src/classes/visualizer/visualizer.ts b/src/classes/visualizer/visualizer.ts index 48737893b..66d159e98 100755 --- a/src/classes/visualizer/visualizer.ts +++ b/src/classes/visualizer/visualizer.ts @@ -1,164 +1,57 @@ -export class Visualizer { - public version: string; - public clock: string; // "clock": "1654510335", - public date: string; // "date": "Mon Jun 06 12:12:15 CEST 2022", - public timestamp: string; // "timestamp": "1654510335", - public elapsed: Array; // ["0.045","0.248", - public timers: {}; - public pressure: { - pressure: Array; - }; - - public flow: { - flow: Array; - by_weight: Array; - }; - - public temperature: { - basket: Array; - mix: Array; - goal: Array; - }; - public scale: {}; - public totals: { - weight: Array; - water_dispensed: Array; - }; - public state_change: Array; - - public profile: { - title: string; - author: string; - notes: string; - beverage_type: string; - version: string; - }; - - public meta: { - bean: { - brand: string; - type: string; - notes: string; - roast_level: string; - roast_date: string; - }; - shot: { - enjoyment: string; - notes: string; - tds: string; - ey: string; - }; - grinder: { - model: string; - setting: string; - }; - in: string; - out: string; - time: string; - }; - - public app: { - app_name: string; - app_version: string; - data: { - settings: { - my_name: string; - beverage_type: string; - bean_brand: string; - bean_type: string; - roast_date: string; - grinder_dose_weight: string; - running_weight: string; - drink_weight: string; - preinfusion_stop_timeout: string; - language: string; - grinder_setting: string; - drink_tds: string; - }; - }; - }; +import { IVisualizer } from '../../interfaces/visualizer/iVisualizer'; +import { BrewVisualizer } from './brewVisualizer'; +import { BeanVisualizer } from './beanVisualizer'; +import { PreparationVisualizer } from './preparationVisualizer'; +import { WaterVisualizer } from './waterVisualizer'; +import { MillVisualizer } from './millVisualizer'; +import { Brew } from '../brew/brew'; +import { Bean } from '../bean/bean'; +import { Mill } from '../mill/mill'; +import { Preparation } from '../preparation/preparation'; +import { Water } from '../water/water'; +import { BrewFlow } from '../brew/brewFlow'; + +export class Visualizer implements IVisualizer { + public bean: BeanVisualizer; + public brew: BrewVisualizer; + public mill: MillVisualizer; + public preparation: PreparationVisualizer; + public water: WaterVisualizer; + + public brewFlow: BrewFlow; constructor() { - this.initializeData(); + this.bean = new BeanVisualizer(); + this.brew = new BrewVisualizer(); + this.mill = new MillVisualizer(); + this.preparation = new PreparationVisualizer(); + this.water = new WaterVisualizer(); + this.brewFlow = new BrewFlow(); } - public initializeData() { - this.version = '0'; - this.clock = '0'; - this.date = ''; - this.timestamp = ''; - this.elapsed = []; - this.timers = {}; - this.pressure = { - pressure: [], - }; - - this.flow = { - flow: [], - by_weight: [], - }; - - this.temperature = { - basket: [], - mix: [], - goal: [], - }; - this.scale = {}; - this.totals = { - weight: [], - water_dispensed: [], - }; - this.state_change = []; - - this.profile = { - title: '', - author: '', - notes: '', - beverage_type: '', - version: '2', - }; - this.meta = { - bean: { - brand: '', - type: '', - notes: '', - roast_level: '', - roast_date: '', - }, - shot: { - enjoyment: '', - notes: '', - tds: '', - ey: '', - }, - grinder: { - model: '', - setting: '', - }, - in: '', - out: '', - time: '', - }; - - this.app = { - app_name: 'Beanconqueror', - app_version: '2', - data: { - settings: { - my_name: 'Beanconqueror', - beverage_type: '', - bean_brand: '', - bean_type: '', - roast_date: '', - grinder_dose_weight: '', - running_weight: '', - drink_weight: '', - preinfusion_stop_timeout: '', - language: '', - grinder_setting: '', - drink_tds: '', - }, - }, - }; + public mapBrew(brew: Brew) { + Object.keys(this.brew).map((_key) => { + this.brew[_key] = brew[_key]; + }); + } + public mapBean(bean: Bean) { + Object.keys(this.bean).map((_key) => { + this.bean[_key] = bean[_key]; + }); + } + public mapMill(mill: Mill) { + Object.keys(this.mill).map((_key) => { + this.mill[_key] = mill[_key]; + }); + } + public mapPreparation(preparation: Preparation) { + Object.keys(this.preparation).map((_key) => { + this.preparation[_key] = preparation[_key]; + }); + } + public mapWater(water: Water) { + Object.keys(this.water).map((_key) => { + this.water[_key] = water[_key]; + }); } } diff --git a/src/classes/visualizer/waterVisualizer.ts b/src/classes/visualizer/waterVisualizer.ts new file mode 100755 index 000000000..1bcb16f91 --- /dev/null +++ b/src/classes/visualizer/waterVisualizer.ts @@ -0,0 +1,38 @@ +import { WATER_UNIT } from '../../enums/water/waterUnit'; +import { WATER_UNIT_TDS } from '../../enums/water/waterUnitTds'; +import { IWaterVisualizer } from '../../interfaces/visualizer/iWaterVisualizer'; + +export class WaterVisualizer implements IWaterVisualizer { + public name: string; + + public general_hardness: number; + public general_hardness_type: WATER_UNIT; + public total_alkalinity: number; + public total_alkalinity_type: WATER_UNIT; + + public calcium: number; + public calcium_type: WATER_UNIT; + public magnesium: number; + public magnesium_type: WATER_UNIT; + public sodium: number; + public sodium_type: WATER_UNIT; + public tds: number; + public tds_type: WATER_UNIT_TDS; + + constructor() { + this.name = ''; + this.general_hardness = 0; + this.total_alkalinity = 0; + this.calcium = 0; + this.magnesium = 0; + this.sodium = 0; + this.tds = 0; + + this.general_hardness_type = 'UNKNOWN' as WATER_UNIT; + this.total_alkalinity_type = 'UNKNOWN' as WATER_UNIT; + this.calcium_type = 'UNKNOWN' as WATER_UNIT; + this.magnesium_type = 'UNKNOWN' as WATER_UNIT; + this.sodium_type = 'UNKNOWN' as WATER_UNIT; + this.tds_type = 'PPM' as WATER_UNIT_TDS; + } +} diff --git a/src/components/brew-information/brew-information.component.ts b/src/components/brew-information/brew-information.component.ts index 7078a8748..39be3e135 100644 --- a/src/components/brew-information/brew-information.component.ts +++ b/src/components/brew-information/brew-information.component.ts @@ -35,6 +35,8 @@ import { UIHealthKit } from '../../services/uiHealthKit'; import * as htmlToImage from 'html-to-image'; import { Visualizer } from '../../classes/visualizer/visualizer'; import moment from 'moment'; +import { UIFileHelper } from '../../services/uiFileHelper'; +import { BrewFlow } from '../../classes/brew/brewFlow'; declare var window; @Component({ selector: 'brew-information', @@ -73,7 +75,8 @@ export class BrewInformationComponent implements OnInit { private readonly translate: TranslateService, private readonly brewTracking: BrewTrackingService, private readonly uiHealthKit: UIHealthKit, - private readonly platform: Platform + private readonly platform: Platform, + private readonly uiFileHelper: UIFileHelper ) {} public ngOnInit() { @@ -144,43 +147,19 @@ export class BrewInformationComponent implements OnInit { } } - private async internalBrewAction(action: BREW_ACTION) { - switch (action) { - case BREW_ACTION.REPEAT: - await this.repeatBrew(); - break; - case BREW_ACTION.DETAIL: - await this.detailBrew(); - break; - case BREW_ACTION.EDIT: - await this.editBrew(); - break; - case BREW_ACTION.DELETE: - try { - await this.deleteBrew(); - } catch (ex) {} - break; - case BREW_ACTION.PHOTO_GALLERY: - await this.viewPhotos(); - break; - case BREW_ACTION.CUPPING: - await this.cupBrew(); - break; - case BREW_ACTION.SHOW_MAP_COORDINATES: - await this.showMapCoordinates(); - break; - case BREW_ACTION.FAST_REPEAT: - await this.fastRepeatBrew(); - break; - case BREW_ACTION.TOGGLE_FAVOURITE: - await this.toggleFavourite(); - break; - case BREW_ACTION.SHARE: - await this.share(); - break; - default: - break; - } + public async shareToVisualizer() { + const vS: Visualizer = new Visualizer(); + + vS.mapBrew(this.brew); + vS.mapBean(this.brew.getBean()); + vS.mapWater(this.brew.getWater()); + vS.mapPreparation(this.brew.getPreparation()); + vS.mapMill(this.brew.getMill()); + vS.brewFlow = await this.readFlowProfile(); + console.log(vS); + //console.log(JSON.stringify(t)); + + this.saveTemplateAsFile('bla.json', vS); } public async fastRepeatBrew() { @@ -275,51 +254,58 @@ export class BrewInformationComponent implements OnInit { await this.uiImage.viewPhotos(this.brew); } - public shareToVisualizer() { - const t: Visualizer = new Visualizer(); - t.meta.in = this.brew.grind_weight.toString(); - if ( - this.brew.getPreparation().getPresetStyleType() === - PREPARATION_STYLE_TYPE.ESPRESSO - ) { - t.meta.out = this.brew.brew_beverage_quantity.toString(); - } else { - t.meta.out = this.brew.brew_quantity.toString(); + private async internalBrewAction(action: BREW_ACTION) { + switch (action) { + case BREW_ACTION.REPEAT: + await this.repeatBrew(); + break; + case BREW_ACTION.DETAIL: + await this.detailBrew(); + break; + case BREW_ACTION.EDIT: + await this.editBrew(); + break; + case BREW_ACTION.DELETE: + try { + await this.deleteBrew(); + } catch (ex) {} + break; + case BREW_ACTION.PHOTO_GALLERY: + await this.viewPhotos(); + break; + case BREW_ACTION.CUPPING: + await this.cupBrew(); + break; + case BREW_ACTION.SHOW_MAP_COORDINATES: + await this.showMapCoordinates(); + break; + case BREW_ACTION.FAST_REPEAT: + await this.fastRepeatBrew(); + break; + case BREW_ACTION.TOGGLE_FAVOURITE: + await this.toggleFavourite(); + break; + case BREW_ACTION.SHARE: + await this.share(); + break; + case BREW_ACTION.VISUALIZER: + await this.shareToVisualizer(); + break; + default: + break; } + } - t.meta.time = - this.brew.brew_time.toString() + - '.' + - this.brew.brew_time_milliseconds.toString(); - t.meta.bean.brand = this.brew.getBean().roaster; - t.meta.bean.type = this.brew.getBean().name; - //t.meta.bean.roast_level = "medium-light"; - //t.meta.bean.roast_date = "2022-05"; - t.meta.shot.enjoyment = this.brew.rating.toString(); - t.meta.shot.tds = this.brew.tds.toString(); - t.meta.shot.ey = this.brew.getExtractionYield(); - t.meta.grinder.setting = this.brew.grind_size.toString(); - t.version = '2'; - t.profile.title = 'Beanconqueror'; - t.profile.author = 'Beanconqueror'; - t.profile.beverage_type = 'espresso'; - t.timestamp = this.brew.config.unix_timestamp.toString(); - t.clock = this.brew.config.unix_timestamp.toString(); - t.date = moment.unix(this.brew.config.unix_timestamp).toDate().toString(); - t.elapsed.push('0.045'); - t.elapsed.push('0.248'); - t.elapsed.push('0.552'); - t.elapsed.push('0.761'); - t.elapsed.push('1.0'); - t.totals.weight.push('1'); - t.totals.weight.push('2'); - t.totals.weight.push('3'); - t.totals.weight.push('4'); - t.totals.weight.push('5'); - - //console.log(JSON.stringify(t)); + private async readFlowProfile(): Promise { + try { + const jsonParsed = await this.uiFileHelper.getJSONFile( + this.brew.flow_profile + ); - // this.saveTemplateAsFile('bla.json',t); + const brewFlow: BrewFlow = new BrewFlow(); + Object.assign(brewFlow, jsonParsed); + return brewFlow; + } catch (ex) {} } public saveTemplateAsFile(filename, dataObjToWrite) { const blob = new Blob([JSON.stringify(dataObjToWrite)], { diff --git a/src/enums/brews/brewAction.ts b/src/enums/brews/brewAction.ts index d0cd3598d..b58de52ad 100755 --- a/src/enums/brews/brewAction.ts +++ b/src/enums/brews/brewAction.ts @@ -1,5 +1,4 @@ export enum BREW_ACTION { - POST = 'POST', REPEAT = 'REPEAT', DETAIL = 'DETAIL', @@ -10,5 +9,6 @@ export enum BREW_ACTION { SHOW_MAP_COORDINATES = 'SHOW_MAP_COORDINATES', FAST_REPEAT = 'FAST_REPEAT', TOGGLE_FAVOURITE = 'TOGGLE_FAVOURITE', - SHARE = 'SHARE' + SHARE = 'SHARE', + VISUALIZER = 'VISUALIZER', } diff --git a/src/interfaces/visualizer/iBeanVisualizer.ts b/src/interfaces/visualizer/iBeanVisualizer.ts new file mode 100755 index 000000000..667635b1c --- /dev/null +++ b/src/interfaces/visualizer/iBeanVisualizer.ts @@ -0,0 +1,40 @@ +/** + * Created by lars on 10/18/2017. + */ +import { IConfig } from '../objectConfig/iObjectConfig'; +/** Enums */ +import { BEAN_MIX_ENUM } from '../../enums/beans/mix'; +import { ROASTS_ENUM } from '../../enums/beans/roasts'; +import { BEAN_ROASTING_TYPE_ENUM } from '../../enums/beans/beanRoastingType'; +import { IBeanInformation } from '../bean/iBeanInformation'; + +export interface IBeanVisualizer { + name: string; + buyDate: string; + roastingDate: string; + // Blend / Single Origin. + beanMix: BEAN_MIX_ENUM; + + // Aromatics + aromatics: string; + note: string; + + roaster: string; + roast: ROASTS_ENUM; + roast_range: number; + // Will be filled when roast is choosen as custom. + roast_custom: string; + weight: number; + cost: number; + + url: string; + ean_article_number: string; + cupping_points: string; + decaffeinated: boolean; + + bean_roasting_type: BEAN_ROASTING_TYPE_ENUM; + + bean_information: Array; + + rating: number; +} diff --git a/src/interfaces/visualizer/iBrewVisualizer.ts b/src/interfaces/visualizer/iBrewVisualizer.ts new file mode 100755 index 000000000..3c5992dbf --- /dev/null +++ b/src/interfaces/visualizer/iBrewVisualizer.ts @@ -0,0 +1,114 @@ +/** + * Created by lars on 10/18/2017. + */ +import { BREW_QUANTITY_TYPES_ENUM } from '../../enums/brews/brewQuantityTypes'; +import { BrewFlow } from '../../classes/brew/brewFlow'; +import { IConfig } from '../objectConfig/iObjectConfig'; + +export interface IBrewVisualizer { + // Properties + /** + * Inherits the grind size set on your hand/electric grinder + */ + grind_size: string; + /** + * Inherits the actualy grinded size when starting a new brew + */ + grind_weight: number; + + /** + * Inherits the used mill speed (rounds per minute), default: 0 + */ + mill_speed: number; + /** + * Inherits the used timer settings (), default: 0 + */ + mill_timer: number; + /** + * Inherits the actual used pressure profile (name and number) + */ + pressure_profile: string; + + /** + * Inherits the brew temperature for a brew + */ + brew_temperature: number; + /** + * Inherits the temperature surfing time for the coffee- + */ + brew_temperature_time: number; + + brew_temperature_time_milliseconds: number; + /** + * Inherits the brewing time for the coffee, shot-time, infusion-time etc. + */ + brew_time: number; + + brew_time_milliseconds: number; + /** + * Inherits the output (user specific in g or ml) + */ + brew_quantity: number; + + /** + * Inherits the type of the brew quantity + */ + brew_quantity_type: BREW_QUANTITY_TYPES_ENUM; + /** + * Inherits the notes the user doing during or after the shot + */ + note: string; + /** + * Taste rating + */ + rating: number; + + /** + * Inherits the brewn type of coffee: Espresso, Ristretto, Long Black, Americano, Pour Over + */ + coffee_type: string; + + /** + * Inherits the extraction concentration + */ + coffee_concentration: string; + + /** + * Inherits the first drip in seconds + */ + coffee_first_drip_time: number; + + coffee_first_drip_time_milliseconds: number; + + /** + * Inherits the blooming / pid time + */ + coffee_blooming_time: number; + + coffee_blooming_time_milliseconds: number; + + /** + * Inherits the brew beverage (user specific in g or ml) + */ + brew_beverage_quantity: number; + + /** + * Inherits the type of the brew quantity + */ + brew_beverage_quantity_type: BREW_QUANTITY_TYPES_ENUM; + + /** + * Total dissolved units + */ + tds: number; + + /** + * Used for rentention calculation + */ + bean_weight_in: number; + + vessel_weight: number; + vessel_name: string; + + config: IConfig; +} diff --git a/src/interfaces/visualizer/iMillVisualizer.ts b/src/interfaces/visualizer/iMillVisualizer.ts new file mode 100755 index 000000000..0095f7d1f --- /dev/null +++ b/src/interfaces/visualizer/iMillVisualizer.ts @@ -0,0 +1,7 @@ +/** + * Created by lars on 12/21/2017. + */ + +export interface IMillVisualizer { + name: string; +} diff --git a/src/interfaces/visualizer/iPreparationVisualizer.ts b/src/interfaces/visualizer/iPreparationVisualizer.ts new file mode 100755 index 000000000..06e05d2af --- /dev/null +++ b/src/interfaces/visualizer/iPreparationVisualizer.ts @@ -0,0 +1,6 @@ +import { PREPARATION_STYLE_TYPE } from '../../enums/preparations/preparationStyleTypes'; + +export interface IPreparationVisualizer { + name: string; + style_type: PREPARATION_STYLE_TYPE; +} diff --git a/src/interfaces/visualizer/iVisualizer.ts b/src/interfaces/visualizer/iVisualizer.ts new file mode 100755 index 000000000..0254b1ab0 --- /dev/null +++ b/src/interfaces/visualizer/iVisualizer.ts @@ -0,0 +1,15 @@ +import { IBeanVisualizer } from './iBeanVisualizer'; +import { IBrewVisualizer } from './iBrewVisualizer'; +import { IMillVisualizer } from './iMillVisualizer'; +import { IPreparationVisualizer } from './iPreparationVisualizer'; +import { IWaterVisualizer } from './iWaterVisualizer'; +import { BrewFlow } from '../../classes/brew/brewFlow'; + +export interface IVisualizer { + bean: IBeanVisualizer; + brew: IBrewVisualizer; + mill: IMillVisualizer; + preparation: IPreparationVisualizer; + water: IWaterVisualizer; + brewFlow: BrewFlow; +} diff --git a/src/interfaces/visualizer/iWaterVisualizer.ts b/src/interfaces/visualizer/iWaterVisualizer.ts new file mode 100755 index 000000000..d1aae12e2 --- /dev/null +++ b/src/interfaces/visualizer/iWaterVisualizer.ts @@ -0,0 +1,25 @@ +/** + * Created by lars on 10/18/2017. + */ +import { IConfig } from '../objectConfig/iObjectConfig'; +import { WATER_UNIT } from '../../enums/water/waterUnit'; +import { WATER_UNIT_TDS } from '../../enums/water/waterUnitTds'; + +/** Enums */ + +export interface IWaterVisualizer { + name: string; + general_hardness: number; + general_hardness_type: WATER_UNIT; + total_alkalinity: number; + total_alkalinity_type: WATER_UNIT; + + calcium: number; + calcium_type: WATER_UNIT; + magnesium: number; + magnesium_type: WATER_UNIT; + sodium: number; + sodium_type: WATER_UNIT; + tds: number; + tds_type: WATER_UNIT_TDS; +} From cc4cedae21b2bcf862dfea647b2b9653adcfea6f Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 2 Jan 2023 20:20:07 +0100 Subject: [PATCH 004/129] #45 --- src/assets/i18n/de.json | 2 +- src/assets/i18n/en.json | 1 + src/classes/devices/decentScale.ts | 25 +++ src/classes/devices/index.ts | 4 + src/classes/devices/skale.ts | 152 ++++++++++++++++++ .../parameter/beanListViewParameter.ts | 35 ++++ src/classes/parameter/beanManageParameter.ts | 35 ++++ .../coffee-bluetooth-devices.service.ts | 16 +- src/services/uiUpdate.ts | 44 +++-- 9 files changed, 298 insertions(+), 16 deletions(-) create mode 100644 src/classes/devices/skale.ts diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 059085cc8..5a82207ed 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1316,5 +1316,5 @@ "ENABLE_BEAN_SORT_INFORMATION": "Aktiviere Sorteninformation", "BEAN_SORT_MIX": "Bohnenmischung", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter beim Erfassen einer Bohne angezeigt werden sollen.", - "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen" + "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen", } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 434dfcd6e..b3db7ed4d 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1313,6 +1313,7 @@ "DOWNLOAD_JSON": "Download JSON", "NAV_BEAN_PARAMS": "Bean parameter", "BEAN_DATA_ROAST_NAME_TYPE": "Roasting type", + "ENABLE_BEAN_SORT_INFORMATION": "Enable sort information", "BEAN_SORT_MIX": "Bean mix", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Mark parameters to be shown when editing bean information.", "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Decice which parameter of your bean, should be displayed on the list view tiles" diff --git a/src/classes/devices/decentScale.ts b/src/classes/devices/decentScale.ts index 7486e0d20..4f478e389 100644 --- a/src/classes/devices/decentScale.ts +++ b/src/classes/devices/decentScale.ts @@ -19,6 +19,8 @@ export class DecentScale extends BluetoothScale { private tareCounter: number = 0; private buffer: Uint8Array; + private apiVersion: string = undefined; + constructor(data: PeripheralData) { super(data); this.batteryLevel = 0; @@ -178,6 +180,29 @@ export class DecentScale extends BluetoothScale { DecentScale.READ_SERVICE_UUID, DecentScale.READ_CHAR_UUID, async (_data: any) => { + if (this.apiVersion === undefined) { + this.blueToothParentlogger.log('Determinate decent api version'); + try { + if (_data.byteLength === 10) { + this.blueToothParentlogger.log( + 'Determinating decent scale api version - byte length 10' + ); + this.apiVersion = '>1.3'; + // API Version > 1.3 + } else if (_data.byteLength === 7) { + // API version < 1.3 + this.blueToothParentlogger.log( + 'Determinating decent scale api version - byte length 7' + ); + this.apiVersion = '<1.3'; + } + } catch (ex) { + this.blueToothParentlogger.log( + 'Error determinating decent scale api version' + ); + this.apiVersion = '<1.3'; + } + } const scaleData = new Int8Array(_data); const uScaleData = new Uint8Array(_data); // console.log("Received: " + scaleData[1] + " - " + scaleData[2] + " - "+ scaleData[3]); diff --git a/src/classes/devices/index.ts b/src/classes/devices/index.ts index 3e1c2078f..594bd98af 100644 --- a/src/classes/devices/index.ts +++ b/src/classes/devices/index.ts @@ -9,6 +9,7 @@ import { PopsiclePressure } from './popsiclePressure'; import { TransducerDirectPressure } from './transducerDirectPressure'; import { EurekaPrecisaScale } from './eurekaPrecisaScale'; import { PrsPressure } from './prsPressure'; +import { SkaleScale } from './skale'; export { BluetoothScale, SCALE_TIMER_COMMAND } from './bluetoothDevice'; export enum ScaleType { @@ -17,6 +18,7 @@ export enum ScaleType { JIMMY = 'JIMMY', FELICITA = 'FELICITA', EUREKAPRECISA = 'EUREKAPRECISA', + SKALE = 'SKALE', } export enum PressureType { @@ -40,6 +42,8 @@ export function makeDevice( return new FelicitaScale(data); case ScaleType.EUREKAPRECISA: return new EurekaPrecisaScale(data); + case ScaleType.SKALE: + return new SkaleScale(data); default: return null; } diff --git a/src/classes/devices/skale.ts b/src/classes/devices/skale.ts new file mode 100644 index 000000000..508cfb1a9 --- /dev/null +++ b/src/classes/devices/skale.ts @@ -0,0 +1,152 @@ +import { PeripheralData } from './ble.types'; +import { BluetoothScale, SCALE_TIMER_COMMAND, Weight } from './bluetoothDevice'; + +declare var ble: any; + +enum SkaleMode { + DISPLAY_CURRENT_WEIGHT = 0xec, + LED_ON = 0xed, + LED_OFF = 0xee, + DISPLAY_FLASH = 0x04, +} + +export class SkaleScale extends BluetoothScale { + public static SERVICE_UUID = 'FF08'; + public static WRITE_CHAR_UUID = 'EF80'; + public static READ_CHAR_UUID = 'EF81'; + protected override weight: Weight = { + actual: 0, + old: 0, + smoothed: 0, + oldSmoothed: 0, + }; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + } + + public static test(device: any) { + return ( + device && device.name && device.name.toLowerCase().startsWith('skale') + ); + } + + public override async connect() { + await this.attachNotification(); + } + + public override async tare() { + this.weight.smoothed = 0; + this.weight.actual = 0; + this.weight.oldSmoothed = 0; + this.weight.old = 0; + this.setWeight(0); + + const tare = [0x10]; + + await this.write(tare); + setTimeout(() => { + this.write(tare); + }, 200); + } + + public override async setLed(_on: boolean) { + let ledOn = [0xed]; + if (!_on) { + ledOn = [0xee]; + } + + await this.write(ledOn); + setTimeout(() => { + this.write(ledOn); + }, 200); + } + public async flashDisplay() { + const flash = [0x04]; + + await this.write(flash); + setTimeout(() => { + this.write(flash); + }, 200); + } + public async displayCurrentWeight() { + const currentWeight = [0xec]; + + await this.write(currentWeight); + setTimeout(() => { + this.write(currentWeight); + }, 200); + } + public async setGrams() { + const setGrams = [0x03]; + + await this.write(setGrams); + setTimeout(() => { + this.write(setGrams); + }, 200); + } + + public override async setTimer(_timer: SCALE_TIMER_COMMAND) { + // Jimmy scale only supports a toggle timer command [0x05, 0x00] + // therefore we don't use its timer to avoid drift between scale timer and app timer state in case of conn problems + } + + public override getWeight() { + return this.weight.actual; + } + + public override getSmoothedWeight() { + return this.weight.smoothed; + } + + public override getOldSmoothedWeight() { + return this.weight.old; + } + + private write(_bytes: number[]) { + return new Promise((resolve, reject) => { + ble.write( + this.device_id, + SkaleScale.SERVICE_UUID, + SkaleScale.WRITE_CHAR_UUID, + new Uint8Array(_bytes).buffer, + (e: any) => { + resolve(true); + }, + (e: any) => { + resolve(false); + } + ); + }); + } + + private async attachNotification() { + ble.startNotification( + this.device_id, + SkaleScale.SERVICE_UUID, + SkaleScale.READ_CHAR_UUID, + async (_data: any) => { + this.parseStatusUpdate(new Uint8Array(_data)); + }, + (_data: any) => {} + ); + await this.setLed(true); + await this.displayCurrentWeight(); + await this.setGrams(); + } + + private parseStatusUpdate(buf: Uint8Array) { + const dataLength = buf[0]; + const manufacturerData = buf[1]; + const serviceHeader1 = buf[2]; + const serviceHeader2 = buf[3]; + const weight1 = buf[4]; + const weight2 = buf[5]; + const weight3 = buf[6]; + const weight4 = buf[7]; + // timer state is also in buffer, but currently not read by this implemenation + + this.setWeight(1 / 10); + } +} diff --git a/src/classes/parameter/beanListViewParameter.ts b/src/classes/parameter/beanListViewParameter.ts index ff97182f6..3399e02c7 100755 --- a/src/classes/parameter/beanListViewParameter.ts +++ b/src/classes/parameter/beanListViewParameter.ts @@ -71,4 +71,39 @@ export class BeanListViewParameter implements IBeanParameter { this.purchasing_price = false; this.fob_price = false; } + + public activateAll() { + this.name = true; + this.buyDate = true; + this.roastingDate = true; + this.beanMix = true; + this.aromatics = true; + this.note = true; + this.roaster = true; + this.roast = true; + this.roast_range = true; + this.weight = true; + this.cost = true; + this.attachments = true; + this.url = true; + this.ean_article_number = true; + this.cupping_points = true; + this.decaffeinated = true; + this.bean_roasting_type = true; + this.rating = true; + + this.bean_information = true; + this.country = true; + this.region = true; + this.farm = true; + this.farmer = true; + this.elevation = true; + this.harvest_time = true; + this.variety = true; + this.processing = true; + this.certification = true; + this.percentage = true; + this.purchasing_price = true; + this.fob_price = true; + } } diff --git a/src/classes/parameter/beanManageParameter.ts b/src/classes/parameter/beanManageParameter.ts index d0eed9c6c..36de56396 100755 --- a/src/classes/parameter/beanManageParameter.ts +++ b/src/classes/parameter/beanManageParameter.ts @@ -71,4 +71,39 @@ export class BeanManageParameter implements IBeanParameter { this.purchasing_price = false; this.fob_price = false; } + + public activateAll() { + this.name = true; + this.buyDate = true; + this.roastingDate = true; + this.beanMix = true; + this.aromatics = true; + this.note = true; + this.roaster = true; + this.roast = true; + this.roast_range = true; + this.weight = true; + this.cost = true; + this.attachments = true; + this.url = true; + this.ean_article_number = true; + this.cupping_points = true; + this.decaffeinated = true; + this.bean_roasting_type = true; + this.rating = true; + + this.bean_information = true; + this.country = true; + this.region = true; + this.farm = true; + this.farmer = true; + this.elevation = true; + this.harvest_time = true; + this.variety = true; + this.processing = true; + this.certification = true; + this.percentage = true; + this.purchasing_price = true; + this.fob_price = true; + } } diff --git a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts index b1e724c75..c2fce6d21 100644 --- a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts +++ b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts @@ -18,6 +18,7 @@ import { Observable, Subject } from 'rxjs'; import { LunarScale } from '../../classes/devices/lunarScale'; import { PopsiclePressure } from '../../classes/devices/popsiclePressure'; import { JimmyScale } from '../../classes/devices/jimmyScale'; +import { SkaleScale } from '../../classes/devices/skale'; declare var device: any; declare var ble: any; @@ -182,7 +183,8 @@ export class CoffeeBluetoothDevicesService { LunarScale.test(device) || JimmyScale.test(device) || FelicitaScale.test(device) || - EurekaPrecisaScale.test(device) + EurekaPrecisaScale.test(device) || + SkaleScale.test(device) ) { // We found all needed devices. devices.push(device); @@ -367,6 +369,11 @@ export class CoffeeBluetoothDevicesService { resolve({ id: device.id, type: ScaleType.EUREKAPRECISA }); return; } + if (SkaleScale.test(device)) { + this.logger.log('BleManager - We found a skale scale'); + resolve({ id: device.id, type: ScaleType.SKALE }); + return; + } } resolve(undefined); } @@ -403,6 +410,13 @@ export class CoffeeBluetoothDevicesService { type: ScaleType.EUREKAPRECISA, }); } + if (SkaleScale.test(device)) { + this.logger.log('BleManager - We found a skale scale'); + supportedDevices.push({ + id: device.id, + type: ScaleType.SKALE, + }); + } } resolve(supportedDevices); } diff --git a/src/services/uiUpdate.ts b/src/services/uiUpdate.ts index 93bbcb3f3..8f04314a0 100755 --- a/src/services/uiUpdate.ts +++ b/src/services/uiUpdate.ts @@ -49,6 +49,20 @@ export class UIUpdate { private readonly uiHelper: UIHelper ) {} + public async checkUpdate() { + this.uiLog.info('Check updates'); + const hasData: boolean = await this.uiStorage.hasData(); + await this.__checkUpdateForDataVersion('UPDATE_1', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_2', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_3', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_4', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_5', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_6', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_7', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_8', !hasData); + await this.__checkUpdateForDataVersion('UPDATE_9', !hasData); + } + private async __updateDataVersion(_version): Promise { const promise: Promise = new Promise(async (resolve, reject) => { try { @@ -464,6 +478,21 @@ export class UIUpdate { await this.uiSettingsStorage.saveSettings(settings_v8); break; + + case 'UPDATE_9': + const beansList: Array = this.uiBeanStorage.getAllEntries(); + if (beansList.length > 0) { + this.uiLog.info( + 'Update 9 - We found more then zero beans, therefore its an existing instance, we need to update the beans, so the user will see all details again' + ); + // Already existing installation which has more then one bean. + const settings_v9: any = this.uiSettingsStorage.getSettings(); + settings_v9.bean_manage_parameters.activateAll(); + settings_v9.bean_visible_list_view_parameters.activateAll(); + await this.uiSettingsStorage.saveSettings(settings_v9); + } + break; + default: break; } @@ -514,23 +543,10 @@ export class UIUpdate { } if (somethingUpdated) { - await this.uiVersionStorage.saveVersion(version); + //await this.uiVersionStorage.saveVersion(version); } } - public async checkUpdate() { - this.uiLog.info('Check updates'); - const hasData: boolean = await this.uiStorage.hasData(); - await this.__checkUpdateForDataVersion('UPDATE_1', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_2', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_3', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_4', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_5', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_6', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_7', !hasData); - await this.__checkUpdateForDataVersion('UPDATE_8', !hasData); - } - public async checkUpdateScreen(): Promise { const promise = new Promise(async (resolve, reject) => { let versionCode: string; From 57c5a6a5bfc00df853d674847166a335c7be760b Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 2 Jan 2023 21:07:01 +0100 Subject: [PATCH 005/129] Fixing skale 2 weight receive aswell as negative values --- src/classes/devices/skale.ts | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/classes/devices/skale.ts b/src/classes/devices/skale.ts index 508cfb1a9..32053c52b 100644 --- a/src/classes/devices/skale.ts +++ b/src/classes/devices/skale.ts @@ -127,7 +127,7 @@ export class SkaleScale extends BluetoothScale { SkaleScale.SERVICE_UUID, SkaleScale.READ_CHAR_UUID, async (_data: any) => { - this.parseStatusUpdate(new Uint8Array(_data)); + this.parseStatusUpdate(_data); }, (_data: any) => {} ); @@ -136,17 +136,14 @@ export class SkaleScale extends BluetoothScale { await this.setGrams(); } - private parseStatusUpdate(buf: Uint8Array) { - const dataLength = buf[0]; - const manufacturerData = buf[1]; - const serviceHeader1 = buf[2]; - const serviceHeader2 = buf[3]; - const weight1 = buf[4]; - const weight2 = buf[5]; - const weight3 = buf[6]; - const weight4 = buf[7]; - // timer state is also in buffer, but currently not read by this implemenation - - this.setWeight(1 / 10); + private parseStatusUpdate(_data: any) { + const scaleData = new Int8Array(_data); + const uScaleData = new Uint8Array(_data); + let newWeight = (uScaleData[2] << 8) + uScaleData[1]; + if (newWeight > 2001) { + newWeight = (scaleData[2] << 8) + scaleData[1]; + } + + this.setWeight(newWeight / 10); } } From 16214e70b63e3ac29940ea23d66c6b90b9b8742a Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 2 Jan 2023 21:14:22 +0100 Subject: [PATCH 006/129] fixed typos --- src/assets/i18n/en.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index b3db7ed4d..cb921b080 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -298,7 +298,7 @@ "WELCOME_PAGE_BEAN_ADD": "Add bean", "SKIP": "Skip", "WELCOME_PAGE_PREPARATION_TITLE": "Preparation method", - "WELCOME_PAGE_PREPARATION_DESCRIPTION": "V60, Aeropress, Porta Filter - there are many ways to prepare coffee. Pleas add at least one.", + "WELCOME_PAGE_PREPARATION_DESCRIPTION": "V60, Aeropress, Porta Filter - there are many ways to prepare coffee. Please add at least one.", "WELCOME_PAGE_PREPARATION_ADD": "Add Preparation method", "WELCOME_PAGE_MILL_TITLE": "Grinder", "WELCOME_PAGE_MILL_DESCRIPTION": "Almost done, but you need something to grind your beans! Please add at least one grinder.", @@ -787,7 +787,7 @@ "TITLE": "Version 6.3.0: Thats new", "DESCRIPTION": [ "Bluetooth scales", - "Define who long shall be waited until the next bluetooth command", + "Define how long shall be waited until the next bluetooth command", "", "Brews", "Reset the Brewtime dates", @@ -797,7 +797,7 @@ "Bean pictures can now be displayed, instead of preparation method icons/pictures -> Activate in the settings", "", "Beans", - "Beans can now be searched by there varieties", + "Beans can now be searched by their varieties", "", "Mills", "Displaying notes inside the list and detail view", @@ -805,7 +805,7 @@ "Improvements", "Choose how many milliseconds shall be displayed (Entered values still need to be 3 decimal places)", "Added donation buttons", - "Textareas are now scrollable", + "Text Areas are now scrollable", "Brewtime at statistics are now formatted", "Notification popups appear now on top and can be closed by X", "Disabled detail parameter are active now, e.g. can now be the Grinder be hidden", From fe65d7fad374b41127860790e56b045f1c38d00a Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 2 Jan 2023 21:48:01 +0100 Subject: [PATCH 007/129] #454 - Stop scale timer when finishing/aborting brew --- src/app/brew/brew-add/brew-add.component.ts | 15 ++++++++++++--- src/app/brew/brew-edit/brew-edit.component.ts | 12 +++++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/app/brew/brew-add/brew-add.component.ts b/src/app/brew/brew-add/brew-add.component.ts index 29c740325..2ba918b7e 100644 --- a/src/app/brew/brew-add/brew-add.component.ts +++ b/src/app/brew/brew-add/brew-add.component.ts @@ -26,9 +26,10 @@ import { UIAlert } from '../../../services/uiAlert'; import { BrewTrackingService } from '../../../services/brewTracking/brew-tracking.service'; import BREW_TRACKING from '../../../data/tracking/brewTracking'; import { UIAnalytics } from '../../../services/uiAnalytics'; -import { BrewPopoverActionsComponent } from '../brew-popover-actions/brew-popover-actions.component'; -import { BREW_ACTION } from '../../../enums/brews/brewAction'; + import { SettingsPopoverBluetoothActionsComponent } from '../../settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component'; +import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'brew-add', @@ -67,7 +68,8 @@ export class BrewAddComponent implements OnInit { private readonly insomnia: Insomnia, private readonly uiAlert: UIAlert, private readonly brewTracking: BrewTrackingService, - private readonly uiAnalytics: UIAnalytics + private readonly uiAnalytics: UIAnalytics, + private readonly bleManager: CoffeeBluetoothDevicesService ) { // Initialize to standard in drop down @@ -161,6 +163,7 @@ export class BrewAddComponent implements OnInit { } public async dismiss() { + this.stopScaleTimer(); this.modalController.dismiss( { dismissed: true, @@ -169,6 +172,12 @@ export class BrewAddComponent implements OnInit { BrewAddComponent.COMPONENT_ID ); } + private stopScaleTimer() { + const scale: BluetoothScale = this.bleManager.getScale(); + if (scale) { + scale.setTimer(SCALE_TIMER_COMMAND.STOP); + } + } public async finish() { await this.uiAlert.showLoadingSpinner(); diff --git a/src/app/brew/brew-edit/brew-edit.component.ts b/src/app/brew/brew-edit/brew-edit.component.ts index c94cb5305..54daf6b1d 100644 --- a/src/app/brew/brew-edit/brew-edit.component.ts +++ b/src/app/brew/brew-edit/brew-edit.component.ts @@ -15,6 +15,8 @@ import { UISettingsStorage } from '../../../services/uiSettingsStorage'; import { Insomnia } from '@ionic-native/insomnia/ngx'; import { Settings } from '../../../classes/settings/settings'; import { SettingsPopoverBluetoothActionsComponent } from '../../settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component'; +import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; +import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; @Component({ selector: 'brew-edit', @@ -39,7 +41,8 @@ export class BrewEditComponent implements OnInit { private readonly brewTracking: BrewTrackingService, private readonly uiAnalytics: UIAnalytics, private readonly uiSettingsStorage: UISettingsStorage, - private readonly insomnia: Insomnia + private readonly insomnia: Insomnia, + private readonly bleManager: CoffeeBluetoothDevicesService ) { this.settings = this.uiSettingsStorage.getSettings(); // Moved from ionViewDidEnter, because of Ionic issues with ion-range @@ -68,6 +71,7 @@ export class BrewEditComponent implements OnInit { } public dismiss(): void { + this.stopScaleTimer(); this.modalController.dismiss( { dismissed: true, @@ -76,6 +80,12 @@ export class BrewEditComponent implements OnInit { BrewEditComponent.COMPONENT_ID ); } + private stopScaleTimer() { + const scale: BluetoothScale = this.bleManager.getScale(); + if (scale) { + scale.setTimer(SCALE_TIMER_COMMAND.STOP); + } + } public async updateBrew() { const newUnix = moment(this.brewBrewing.customCreationDate).unix(); From 347672b4646989a5c9f26153f9e21dd1fdc03380 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 3 Jan 2023 21:04:58 +0100 Subject: [PATCH 008/129] #457 - Added skale 2, added tooltips for beans in the parameter section --- .../bean-list-view-parameter.component.html | 155 ++++++++++++++---- .../bean-manage-parameter.component.html | 155 ++++++++++++++---- src/assets/i18n/en.json | 32 +++- src/classes/devices/skale.ts | 4 +- 4 files changed, 281 insertions(+), 65 deletions(-) diff --git a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html index 7dcddaaab..de95e02ec 100644 --- a/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html +++ b/src/app/bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component.html @@ -27,39 +27,66 @@ {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} - {{"BEAN_DATA_NAME" | translate}} + +

{{"BEAN_DATA_NAME" | translate}}

+

{{"BEAN_DATA_NAME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTER" | translate}} + +

{{"BEAN_DATA_ROASTER" | translate}}

+

{{"BEAN_DATA_ROASTER_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_BUY_DATE" | translate}} + +

{{"BEAN_DATA_BUY_DATE" | translate}}

+

{{"BEAN_DATA_BUY_DATE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTING_DATE" | translate}} + +

{{"BEAN_DATA_ROASTING_DATE" | translate}}

+

{{"BEAN_DATA_ROASTING_DATE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTING_TYPE" | translate}} + +

{{"BEAN_DATA_ROASTING_TYPE" | translate}}

+

{{"BEAN_DATA_ROASTING_TYPE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROAST_NAME" | translate}} + +

{{"BEAN_DATA_ROAST_NAME" | translate}}

+

{{"BEAN_DATA_ROAST_NAME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROAST_NAME_TYPE" | translate}} + +

{{"BEAN_DATA_ROAST_NAME_TYPE" | translate}}

+

{{"BEAN_DATA_ROAST_NAME_TYPE_TOOLTIP" | translate}}

+
- {{"BREW_DATA_RATING" | translate}} + +

{{"BREW_DATA_RATING" | translate}}

+

{{"BREW_DATA_RATING_TOOLTIP" | translate}}

+
- {{"BEAN_SORT_MIX" | translate}} + +

{{"BEAN_SORT_MIX" | translate}}

+

{{"BEAN_SORT_MIX_TOOLTIP" | translate}}

+
@@ -67,39 +94,66 @@ {{"BEAN_SORT_MORE_INFORMATION" | translate }} - {{"BEAN_DATA_WEIGHT" | translate}} + +

{{"BEAN_DATA_WEIGHT" | translate}}

+

{{"BEAN_DATA_WEIGHT_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_COST" | translate}} + +

{{"BEAN_DATA_COST" | translate}}

+

{{"BEAN_DATA_COST_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_AROMATICS" | translate}} + +

{{"BEAN_DATA_AROMATICS" | translate}}

+

{{"BEAN_DATA_AROMATICS_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_CUPPING_POINTS" | translate}} + +

{{"BEAN_DATA_CUPPING_POINTS" | translate}}

+

{{"BEAN_DATA_CUPPING_POINTS_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_DECAFFEINATED" | translate}} + +

{{"BEAN_DATA_DECAFFEINATED" | translate}}

+

{{"BEAN_DATA_DECAFFEINATED_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_URL" | translate}} + +

{{"BEAN_DATA_URL" | translate}}

+

{{"BEAN_DATA_URL_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_EAN" | translate}} + +

{{"BEAN_DATA_EAN" | translate}}

+

{{"BEAN_DATA_EAN_TOOLTIP" | translate}}

+
- {{"NOTES" | translate}} + +

{{"NOTES" | translate}}

+

{{"NOTES_TOOLTIP" | translate}}

+
- {{"BREW_DATA_ATTACHMENTS" | translate}} + +

{{"BREW_DATA_ATTACHMENTS" | translate}}

+

{{"BREW_DATA_ATTACHMENTS_TOOLTIP" | translate}}

+
@@ -109,7 +163,10 @@ - {{"ENABLE_BEAN_SORT_INFORMATION" | translate}} + +

{{"ENABLE_BEAN_SORT_INFORMATION" | translate}}

+

{{"ENABLE_BEAN_SORT_INFORMATION_TOOLTIP" | translate}}

+
@@ -117,51 +174,87 @@ {{"BEAN_SORT_INFORMATION" | translate }} - {{"BEAN_DATA_COUNTRY" | translate}} + +

{{"BEAN_DATA_COUNTRY" | translate}}

+

{{"BEAN_DATA_COUNTRY_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_REGION" | translate}} + +

{{"BEAN_DATA_REGION" | translate}}

+

{{"BEAN_DATA_REGION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FARM" | translate}} + +

{{"BEAN_DATA_FARM" | translate}}

+

{{"BEAN_DATA_FARM_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FARMER" | translate}} + +

{{"BEAN_DATA_FARMER" | translate}}

+

{{"BEAN_DATA_FARMER_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ELEVATION" | translate}} + +

{{"BEAN_DATA_ELEVATION" | translate}}

+

{{"BEAN_DATA_ELEVATION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_VARIETY" | translate}} + +

{{"BEAN_DATA_VARIETY" | translate}}

+

{{"BEAN_DATA_VARIETY_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PROCESSING" | translate}} + +

{{"BEAN_DATA_PROCESSING" | translate}}

+

{{"BEAN_DATA_PROCESSING_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_HARVEST_TIME" | translate}} + +

{{"BEAN_DATA_HARVEST_TIME" | translate}}

+

{{"BEAN_DATA_HARVEST_TIME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PERCENTAGE" | translate}} + +

{{"BEAN_DATA_PERCENTAGE" | translate}}

+

{{"BEAN_DATA_PERCENTAGE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_CERTIFICATION" | translate}} + +

{{"BEAN_DATA_CERTIFICATION" | translate}}

+

{{"BEAN_DATA_CERTIFICATION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PURCHASING_PRICE" | translate}} + +

{{"BEAN_DATA_PURCHASING_PRICE" | translate}}

+

{{"BEAN_DATA_PURCHASING_PRICE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FOB_PRICE" | translate}} + +

{{"BEAN_DATA_FOB_PRICE" | translate}}

+

{{"BEAN_DATA_FOB_PRICE_TOOLTIP" | translate}}

+
diff --git a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html index 79904a91a..af48f5141 100644 --- a/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html +++ b/src/app/bean-parameter/bean-manage-parameter/bean-manage-parameter.component.html @@ -27,39 +27,66 @@ {{"BEAN_TAB_GENERAL_INFORMATION" | translate }} - {{"BEAN_DATA_NAME" | translate}} + +

{{"BEAN_DATA_NAME" | translate}}

+

{{"BEAN_DATA_NAME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTER" | translate}} + +

{{"BEAN_DATA_ROASTER" | translate}}

+

{{"BEAN_DATA_ROASTER_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_BUY_DATE" | translate}} + +

{{"BEAN_DATA_BUY_DATE" | translate}}

+

{{"BEAN_DATA_BUY_DATE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTING_DATE" | translate}} + +

{{"BEAN_DATA_ROASTING_DATE" | translate}}

+

{{"BEAN_DATA_ROASTING_DATE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROASTING_TYPE" | translate}} + +

{{"BEAN_DATA_ROASTING_TYPE" | translate}}

+

{{"BEAN_DATA_ROASTING_TYPE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROAST_NAME" | translate}} + +

{{"BEAN_DATA_ROAST_NAME" | translate}}

+

{{"BEAN_DATA_ROAST_NAME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ROAST_NAME_TYPE" | translate}} + +

{{"BEAN_DATA_ROAST_NAME_TYPE" | translate}}

+

{{"BEAN_DATA_ROAST_NAME_TYPE_TOOLTIP" | translate}}

+
- {{"BREW_DATA_RATING" | translate}} + +

{{"BREW_DATA_RATING" | translate}}

+

{{"BREW_DATA_RATING_TOOLTIP" | translate}}

+
- {{"BEAN_SORT_MIX" | translate}} + +

{{"BEAN_SORT_MIX" | translate}}

+

{{"BEAN_SORT_MIX_TOOLTIP" | translate}}

+
@@ -67,39 +94,66 @@ {{"BEAN_SORT_MORE_INFORMATION" | translate }} - {{"BEAN_DATA_WEIGHT" | translate}} + +

{{"BEAN_DATA_WEIGHT" | translate}}

+

{{"BEAN_DATA_WEIGHT_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_COST" | translate}} + +

{{"BEAN_DATA_COST" | translate}}

+

{{"BEAN_DATA_COST_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_AROMATICS" | translate}} + +

{{"BEAN_DATA_AROMATICS" | translate}}

+

{{"BEAN_DATA_AROMATICS_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_CUPPING_POINTS" | translate}} + +

{{"BEAN_DATA_CUPPING_POINTS" | translate}}

+

{{"BEAN_DATA_CUPPING_POINTS_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_DECAFFEINATED" | translate}} + +

{{"BEAN_DATA_DECAFFEINATED" | translate}}

+

{{"BEAN_DATA_DECAFFEINATED_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_URL" | translate}} + +

{{"BEAN_DATA_URL" | translate}}

+

{{"BEAN_DATA_URL_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_EAN" | translate}} + +

{{"BEAN_DATA_EAN" | translate}}

+

{{"BEAN_DATA_EAN_TOOLTIP" | translate}}

+
- {{"NOTES" | translate}} + +

{{"NOTES" | translate}}

+

{{"NOTES_TOOLTIP" | translate}}

+
- {{"BREW_DATA_ATTACHMENTS" | translate}} + +

{{"BREW_DATA_ATTACHMENTS" | translate}}

+

{{"BREW_DATA_ATTACHMENTS_TOOLTIP" | translate}}

+
@@ -109,7 +163,10 @@ - {{"ENABLE_BEAN_SORT_INFORMATION" | translate}} + +

{{"ENABLE_BEAN_SORT_INFORMATION" | translate}}

+

{{"ENABLE_BEAN_SORT_INFORMATION_TOOLTIP" | translate}}

+
@@ -117,51 +174,87 @@ {{"BEAN_SORT_INFORMATION" | translate }} - {{"BEAN_DATA_COUNTRY" | translate}} + +

{{"BEAN_DATA_COUNTRY" | translate}}

+

{{"BEAN_DATA_COUNTRY_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_REGION" | translate}} + +

{{"BEAN_DATA_REGION" | translate}}

+

{{"BEAN_DATA_REGION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FARM" | translate}} + +

{{"BEAN_DATA_FARM" | translate}}

+

{{"BEAN_DATA_FARM_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FARMER" | translate}} + +

{{"BEAN_DATA_FARMER" | translate}}

+

{{"BEAN_DATA_FARMER_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_ELEVATION" | translate}} + +

{{"BEAN_DATA_ELEVATION" | translate}}

+

{{"BEAN_DATA_ELEVATION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_VARIETY" | translate}} + +

{{"BEAN_DATA_VARIETY" | translate}}

+

{{"BEAN_DATA_VARIETY_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PROCESSING" | translate}} + +

{{"BEAN_DATA_PROCESSING" | translate}}

+

{{"BEAN_DATA_PROCESSING_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_HARVEST_TIME" | translate}} + +

{{"BEAN_DATA_HARVEST_TIME" | translate}}

+

{{"BEAN_DATA_HARVEST_TIME_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PERCENTAGE" | translate}} + +

{{"BEAN_DATA_PERCENTAGE" | translate}}

+

{{"BEAN_DATA_PERCENTAGE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_CERTIFICATION" | translate}} + +

{{"BEAN_DATA_CERTIFICATION" | translate}}

+

{{"BEAN_DATA_CERTIFICATION_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_PURCHASING_PRICE" | translate}} + +

{{"BEAN_DATA_PURCHASING_PRICE" | translate}}

+

{{"BEAN_DATA_PURCHASING_PRICE_TOOLTIP" | translate}}

+
- {{"BEAN_DATA_FOB_PRICE" | translate}} + +

{{"BEAN_DATA_FOB_PRICE" | translate}}

+

{{"BEAN_DATA_FOB_PRICE_TOOLTIP" | translate}}

+
diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index cb921b080..b1564c8b7 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1316,5 +1316,35 @@ "ENABLE_BEAN_SORT_INFORMATION": "Enable sort information", "BEAN_SORT_MIX": "Bean mix", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Mark parameters to be shown when editing bean information.", - "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Decice which parameter of your bean, should be displayed on the list view tiles" + "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Decide which parameter of your bean, should be displayed on the list view tiles", + "BEAN_DATA_NAME_TOOLTIP": "The name of the bought bean bag", + "BEAN_DATA_ROASTER_TOOLTIP": "Who did roast those beans", + "BEAN_DATA_BUY_DATE_TOOLTIP": "When did you buy the bean bag", + "BEAN_DATA_ROASTING_DATE_TOOLTIP": "When was the roasting date of the beans", + "BEAN_DATA_ROASTING_TYPE_TOOLTIP": "For which preparation was this bean roasted e.g. Filter", + "BEAN_DATA_ROAST_NAME_TOOLTIP": "Which degree of roast has the bag of beans ", + "BEAN_DATA_ROAST_NAME_TYPE_TOOLTIP": "Which roasting type (Cinnamon, New England, etc.)", + "BREW_DATA_RATING_TOOLTIP": "Your rating", + "BEAN_SORT_MIX_TOOLTIP": "Are those beans blended or not?", + "BEAN_DATA_WEIGHT_TOOLTIP": "How much do the beans weight", + "BEAN_DATA_COST_TOOLTIP": "How much did the beans cost", + "BEAN_DATA_AROMATICS_TOOLTIP": "Which aromatics/flavors have this bean", + "BEAN_DATA_CUPPING_POINTS_TOOLTIP": "How many cupping points has the bean", + "BEAN_DATA_DECAFFEINATED_TOOLTIP": "Is the bean decaffeinated?", + "BEAN_DATA_URL_TOOLTIP": "Url to the shop e.g.", + "BEAN_DATA_EAN_TOOLTIP": "The ean/article number", + "NOTES_TOOLTIP": "Notes to take", + "BREW_DATA_ATTACHMENTS_TOOLTIP": "Attach photos?", + "ENABLE_BEAN_SORT_INFORMATION_TOOLTIP": "Deeper information for the bean, where does they come from, when where they harvested", + "BEAN_DATA_COUNTRY_TOOLTIP": "From which country does these beans come from", + "BEAN_DATA_REGION_TOOLTIP": "From which region does these beans come from", + "BEAN_DATA_FARM_TOOLTIP": "From which farm does these beans come from", + "BEAN_DATA_FARMER_TOOLTIP": "From which farmer does these beans come from", + "BEAN_DATA_ELEVATION_TOOLTIP": "In which elevation did these beans grow", + "BEAN_DATA_PROCESSING_TOOLTIP": "How where these beans processed (natural, washed, etc.)", + "BEAN_DATA_HARVEST_TIME_TOOLTIP": "In which year/month where these beans harvested", + "BEAN_DATA_PERCENTAGE_TOOLTIP": "How much percentage of these beans are in the bag", + "BEAN_DATA_CERTIFICATION_TOOLTIP": "Which certificate has these beans (fairtrade e.g.) ", + "BEAN_DATA_PURCHASING_PRICE_TOOLTIP": "What was the purchasing price from the roaster for this bean", + "BEAN_DATA_FOB_PRICE_TOOLTIP": "What was the free on board price when purchased by the roaster" } diff --git a/src/classes/devices/skale.ts b/src/classes/devices/skale.ts index 32053c52b..c58d50294 100644 --- a/src/classes/devices/skale.ts +++ b/src/classes/devices/skale.ts @@ -88,8 +88,7 @@ export class SkaleScale extends BluetoothScale { } public override async setTimer(_timer: SCALE_TIMER_COMMAND) { - // Jimmy scale only supports a toggle timer command [0x05, 0x00] - // therefore we don't use its timer to avoid drift between scale timer and app timer state in case of conn problems + //Not supported but needed } public override getWeight() { @@ -131,6 +130,7 @@ export class SkaleScale extends BluetoothScale { }, (_data: any) => {} ); + // We need to put LED on on first conneciton, aswell as starting the current weight and toggling mode to grams. await this.setLed(true); await this.displayCurrentWeight(); await this.setGrams(); From f0beb66f3abd917e157e733033ba6fa961a448d2 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 3 Jan 2023 21:32:21 +0100 Subject: [PATCH 009/129] Added title tile for bean param page --- src/app/bean-parameter/bean-parameter.page.html | 6 ++++++ src/assets/i18n/en.json | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/app/bean-parameter/bean-parameter.page.html b/src/app/bean-parameter/bean-parameter.page.html index f689c5fdc..b44e3f848 100644 --- a/src/app/bean-parameter/bean-parameter.page.html +++ b/src/app/bean-parameter/bean-parameter.page.html @@ -9,6 +9,12 @@ + + {{"BEAN_PARAMETER_CUSTOMIZE_TITLE" | translate}} + + {{"BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION" | translate}} + + diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index b1564c8b7..9c5c6b053 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1346,5 +1346,7 @@ "BEAN_DATA_PERCENTAGE_TOOLTIP": "How much percentage of these beans are in the bag", "BEAN_DATA_CERTIFICATION_TOOLTIP": "Which certificate has these beans (fairtrade e.g.) ", "BEAN_DATA_PURCHASING_PRICE_TOOLTIP": "What was the purchasing price from the roaster for this bean", - "BEAN_DATA_FOB_PRICE_TOOLTIP": "What was the free on board price when purchased by the roaster" + "BEAN_DATA_FOB_PRICE_TOOLTIP": "What was the free on board price when purchased by the roaster", + "BEAN_PARAMETER_CUSTOMIZE_TITLE": "Customize your bean information which you want to use", + "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "A lot of bean information can be entered or used. Choose your own parameters you want to fill in, and also which shall be displayed" } From 9acf232383715cc4c95fc49f2da977544fcb260d Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 11 Jan 2023 20:05:03 +0100 Subject: [PATCH 010/129] Added title tile for bean param page --- src/app/brew/brew-add/brew-add.component.ts | 5 +- .../brew-detail/brew-detail.component.html | 6 +- .../brew/brew-detail/brew-detail.component.ts | 525 ++++++------- src/app/brew/brew-edit/brew-edit.component.ts | 5 +- src/app/brew/brew-flow/brew-flow.component.ts | 39 +- src/app/dashboard/dashboard.page.html | 5 +- src/app/dashboard/dashboard.page.ts | 375 ++++++++++ .../devices/transducerDirectPressure.ts | 2 +- .../brew-information.component.html | 2 +- .../brew-information.component.ts | 2 +- .../brew-brewing/brew-brewing.component.html | 2 +- .../brew-brewing/brew-brewing.component.ts | 695 ++++++++++-------- src/index.html | 2 +- 13 files changed, 1049 insertions(+), 616 deletions(-) diff --git a/src/app/brew/brew-add/brew-add.component.ts b/src/app/brew/brew-add/brew-add.component.ts index 2ba918b7e..4ed1270ed 100644 --- a/src/app/brew/brew-add/brew-add.component.ts +++ b/src/app/brew/brew-add/brew-add.component.ts @@ -30,7 +30,7 @@ import { UIAnalytics } from '../../../services/uiAnalytics'; import { SettingsPopoverBluetoothActionsComponent } from '../../settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component'; import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; - +declare var Plotly; @Component({ selector: 'brew-add', templateUrl: './brew-add.component.html', @@ -164,6 +164,9 @@ export class BrewAddComponent implements OnInit { public async dismiss() { this.stopScaleTimer(); + try { + Plotly.purge('flowProfileChart'); + } catch (ex) {} this.modalController.dismiss( { dismissed: true, diff --git a/src/app/brew/brew-detail/brew-detail.component.html b/src/app/brew/brew-detail/brew-detail.component.html index 003cd58e5..e7464b649 100644 --- a/src/app/brew/brew-detail/brew-detail.component.html +++ b/src/app/brew/brew-detail/brew-detail.component.html @@ -224,7 +224,7 @@

{{'BREW_DATA_TEMPERATURE_TIME' | translate}} / {{'BREW_DATA_SURF_TIME' | tra

{{data?.getFormattedTotalCoffeeTemperatureTime()}}

- @@ -273,11 +273,11 @@

{{data?.getFormattedTotalCoffeeTemperatureTime()}}

-
- +
+
+ diff --git a/src/app/dashboard/dashboard.page.ts b/src/app/dashboard/dashboard.page.ts index b8d33195a..ed18eeb83 100644 --- a/src/app/dashboard/dashboard.page.ts +++ b/src/app/dashboard/dashboard.page.ts @@ -11,6 +11,9 @@ import { Bean } from '../../classes/bean/bean'; import { UIBeanHelper } from '../../services/uiBeanHelper'; import { UISettingsStorage } from '../../services/uiSettingsStorage'; +import { Chart } from 'chart.js'; +import moment from 'moment'; +declare var Plotly; @Component({ selector: 'dashboard', @@ -20,6 +23,8 @@ import { UISettingsStorage } from '../../services/uiSettingsStorage'; export class DashboardPage implements OnInit { public brews: Array = []; private leftOverBeansWeight: number = undefined; + @ViewChild('flowProfileChart', { static: false }) public flowProfileChart; + public flowProfileChartEl: any = undefined; constructor( public uiStatistic: UIStatistic, @@ -43,8 +48,378 @@ export class DashboardPage implements OnInit { // If an brew is deleted, we need to reset our array for the next call. this.leftOverBeansWeight = undefined; }); + setTimeout(() => { + // this.initializeFlowChart(); + }, 2000); } + public testi() { + this.flowProfileChartEl.pan({ x: -100 }, undefined, 'default'); + this.flowProfileChartEl.update(); + } + public initializeFlowChart(): void { + let i = 0; + + var trace1 = { + x: [], + y: [], + name: 'yaxis1 data', + type: 'scatter', + line: { shape: 'spline' }, + }; + var trace2 = { + x: [], + y: [], + name: 'yaxis2 data', + yaxis: 'y2', + type: 'scatter', + line: { shape: 'spline' }, + }; + + var trace3 = { + x: [], + y: [], + name: 'yaxis3 data', + yaxis: 'y3', + type: 'scatter', + line: { shape: 'spline' }, + }; + + var trace4 = { + x: [], + y: [], + name: 'yaxis4 data', + yaxis: 'y4', + type: 'scatter', + line: { shape: 'spline' }, + }; + + let tickformat = '%S.%L'; + if (i === 400) { + tickformat = '%M:%S.%L'; + } + const chartData = [trace1, trace2, trace3, trace4]; + const config = { + displayModeBar: false, // this is the line that hides the bar. + }; + const layout = { + margin: { + l: 20, + r: 20, + b: 20, + t: 20, + pad: 4, + }, + showlegend: true, + legend: { orientation: 'h' }, + xaxis: { tickformat: tickformat }, + yaxis: { + title: 'yaxis title', + titlefont: { color: '#1f77b4' }, + tickfont: { color: '#1f77b4' }, + }, + yaxis2: { + title: 'yaxis2 title', + titlefont: { color: '#ff7f0e' }, + tickfont: { color: '#ff7f0e' }, + anchor: 'free', + overlaying: 'y', + side: 'left', + position: 0.15, + }, + yaxis3: { + title: 'yaxis4 title', + titlefont: { color: '#d62728' }, + tickfont: { color: '#d62728' }, + anchor: 'x', + overlaying: 'y', + side: 'right', + }, + yaxis4: { + title: 'yaxis5 title', + titlefont: { color: '#9467bd' }, + tickfont: { color: '#9467bd' }, + anchor: 'free', + overlaying: 'y', + side: 'right', + position: 0.85, + }, + }; + + Plotly.newPlot('myDiv', chartData, layout, config); + + let weight = 0; + let realtime_flow = 0; + let flow = 0; + let pressure = 0; + const startingFlowTime = Date.now(); + const startingDay = moment(new Date()).startOf('day'); + + const delay = Date.now() - startingDay.toDate().getTime(); + + setInterval(() => { + i = i + 1; + flow = Math.floor(Math.random() * 11); + realtime_flow = Math.floor(Math.random() * 11); + weight = weight + Math.floor(Math.random() * 11); + pressure = Math.floor(Math.random() * 11); + const flowObj = { + unixTime: moment(new Date()) + .startOf('day') + .add('milliseconds', Date.now() - startingFlowTime) + .toDate() + .getTime(), + weight: weight, + realtime_flow: realtime_flow, + flow: flow, + date: null, + }; + flowObj.date = new Date(flowObj.unixTime); + + trace1.x.push(flowObj.date); + trace1.y.push(flowObj.weight); + + trace2.x.push(flowObj.date); + trace2.y.push(flowObj.flow); + + trace3.x.push(flowObj.date); + trace3.y.push(flowObj.realtime_flow); + + trace4.x.push(flowObj.date); + trace4.y.push(pressure); + if (i === 400) { + tickformat = '%M:%S.%L'; + } + + Plotly.newPlot('myDiv', chartData, layout, config); + }, 100); + return; + setTimeout(() => { + if (this.flowProfileChartEl) { + this.flowProfileChartEl.destroy(); + this.flowProfileChartEl = undefined; + } + if (this.flowProfileChartEl === undefined) { + const drinkingData = { + labels: [], + datasets: [ + { + label: 'BREW_FLOW_WEIGHT', + data: [], + borderColor: 'rgb(205,194,172)', + backgroundColor: 'rgb(205,194,172)', + yAxisID: 'y', + pointRadius: 0, + tension: 0, + borderWidth: 2, + hidden: false, + }, + { + label: 'BREW_FLOW_WEIGHT_PER_SECOND', + data: [], + borderColor: 'rgb(127,151,162)', + backgroundColor: 'rgb(127,151,162)', + yAxisID: 'y1', + spanGaps: true, + pointRadius: 0, + tension: 0, + borderWidth: 2, + hidden: false, + }, + { + label: 'BREW_FLOW_WEIGHT_REALTIME', + data: [], + borderColor: 'rgb(9,72,93)', + backgroundColor: 'rgb(9,72,93)', + yAxisID: 'y2', + spanGaps: true, + pointRadius: 0, + tension: 0, + borderWidth: 2, + hidden: false, + }, + ], + }; + + drinkingData.datasets.push({ + label: 'BREW_PRESSURE_FLOW', + data: [], + borderColor: 'rgb(5,199,147)', + backgroundColor: 'rgb(5,199,147)', + yAxisID: 'y3', + spanGaps: true, + pointRadius: 0, + tension: 0, + borderWidth: 2, + hidden: false, + }); + + const suggestedMinFlow: number = 0; + let suggestedMaxFlow: number = 20; + + const suggestedMinWeight: number = 0; + let suggestedMaxWeight: number = 300; + + const chartOptions = { + plugins: { + backgroundColorPlugin: {}, + zoom: { + pan: { + enabled: true, + mode: 'x', + }, + zoom: { + wheel: { + enabled: false, + }, + drag: { + enabled: true, + }, + pinch: { + enabled: true, + }, + mode: 'x', + }, + }, + }, + animation: true, + legend: { + display: false, + position: 'top', + }, + responsive: true, + maintainAspectRatio: false, + interaction: { + mode: 'index', + intersect: false, + }, + stacked: false, + + scales: { + y: { + type: 'linear', + display: true, + position: 'left', + suggestedMin: suggestedMinWeight, + suggestedMax: suggestedMaxWeight, + }, + y1: { + type: 'linear', + display: true, + position: 'right', + // grid line settings + grid: { + drawOnChartArea: false, // only want the grid lines for one axis to show up + }, + suggestedMin: suggestedMinFlow, + suggestedMax: suggestedMaxFlow, + }, + y2: { + // Real time flow + type: 'linear', + display: false, + position: 'right', + // grid line settings + grid: { + drawOnChartArea: false, // only want the grid lines for one axis to show up + }, + suggestedMin: suggestedMinFlow, + suggestedMax: suggestedMaxFlow, + }, + xAxis: { + ticks: { + maxTicksLimit: 10, + }, + }, + }, + }; + + chartOptions.scales['y3'] = { + type: 'linear', + display: true, + position: 'right', + // grid line settings + grid: { + drawOnChartArea: false, // only want the grid lines for one axis to show up + }, + // More then 12 bar should be strange. + suggestedMin: 0, + suggestedMax: 12, + }; + + this.flowProfileChartEl = new Chart( + this.flowProfileChart.nativeElement, + { + type: 'line', + data: drinkingData, + options: chartOptions, + plugins: [ + { + id: 'backgroundColorPlugin', + beforeDraw: (chart, args, options) => { + const ctx = chart.canvas.getContext('2d'); + ctx.save(); + ctx.globalCompositeOperation = 'destination-over'; + ctx.fillStyle = 'white'; + ctx.fillRect(0, 0, chart.width, chart.height); + ctx.restore(); + }, + }, + ], + } as any + ); + + let weight = 0; + let realtime_flow = 0; + let flow = 0; + let pressure = 0; + const startingFlowTime = Date.now(); + const startingDay = moment(new Date()).startOf('day'); + + const delay = Date.now() - startingDay.toDate().getTime(); + + setInterval(() => { + flow = Math.floor(Math.random() * 11); + realtime_flow = Math.floor(Math.random() * 11); + weight = weight + Math.floor(Math.random() * 11); + pressure = Math.floor(Math.random() * 11); + const flowObj = { + unixTime: moment(new Date()) + .startOf('day') + .add('milliseconds', Date.now() - startingFlowTime) + .toDate() + .getTime(), + weight: weight, + realtime_flow: realtime_flow, + flow: flow, + }; + + this.flowProfileChartEl.data.labels.push(flowObj.unixTime); + this.flowProfileChartEl.data.datasets[0].data.push({ + x: flowObj.unixTime, + y: weight, + }); + this.flowProfileChartEl.data.datasets[1].data.push({ + x: flowObj.unixTime, + y: flow, + }); + this.flowProfileChartEl.data.datasets[2].data.push({ + x: flowObj.unixTime, + y: realtime_flow, + }); + this.flowProfileChartEl.data.datasets[3].data.push({ + x: flowObj.unixTime, + y: pressure, + }); + + debugger; + this.flowProfileChartEl.update(); + }, 100); + + this.flowProfileChartEl.update(); + } + }, 250); + } public ionViewWillEnter() { this.loadBrews(); } diff --git a/src/classes/devices/transducerDirectPressure.ts b/src/classes/devices/transducerDirectPressure.ts index 1dd410293..de41c7133 100644 --- a/src/classes/devices/transducerDirectPressure.ts +++ b/src/classes/devices/transducerDirectPressure.ts @@ -59,7 +59,7 @@ export class TransducerDirectPressure extends PressureDevice { TransducerDirectPressure.PRESSURE_SERVICE_UUID, TransducerDirectPressure.PRESSURE_CHAR_UUID, (_data: any) => { - const v = new Uint16Array(_data); + const v = new Int16Array(_data); const psi = swap16(v[0]) / 10; this.setPressure(psiToBar(psi), _data, v); diff --git a/src/components/brew-information/brew-information.component.html b/src/components/brew-information/brew-information.component.html index 1f4507604..8400e778e 100644 --- a/src/components/brew-information/brew-information.component.html +++ b/src/components/brew-information/brew-information.component.html @@ -20,7 +20,7 @@ - {{brew.config.unix_timestamp | formatDate:["DD.MM.YYYY"]}}{{brew.config.unix_timestamp | formatDate:["HH:mm"]}} + {{brew.config.unix_timestamp | formatDate:["DD.MM.YYYY"]}}{{brew.config.unix_timestamp | formatDate:["HH:mm"]}} diff --git a/src/components/brew-information/brew-information.component.ts b/src/components/brew-information/brew-information.component.ts index 39be3e135..5578002f4 100644 --- a/src/components/brew-information/brew-information.component.ts +++ b/src/components/brew-information/brew-information.component.ts @@ -34,7 +34,7 @@ import { BrewTrackingService } from '../../services/brewTracking/brew-tracking.s import { UIHealthKit } from '../../services/uiHealthKit'; import * as htmlToImage from 'html-to-image'; import { Visualizer } from '../../classes/visualizer/visualizer'; -import moment from 'moment'; + import { UIFileHelper } from '../../services/uiFileHelper'; import { BrewFlow } from '../../classes/brew/brewFlow'; declare var window; diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index b700a1507..ec776eb6c 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -316,7 +316,7 @@ data.getPreparation().use_custom_parameters)">
- +
- + From acb414ec8ad95d493d378a9d30d87d038b67d12e Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 11 Jan 2023 20:06:33 +0100 Subject: [PATCH 011/129] testdata --- src/assets/BeanconquerorFlowTestData.json | 9258 + .../BeanconquerorFlowTestDataSecond.json | 1 + .../BeanconquerorFlowTestDataThird.json | 5358 + src/assets/js/plotly.min.js | 206702 +++++++++++++++ 4 files changed, 221319 insertions(+) create mode 100644 src/assets/BeanconquerorFlowTestData.json create mode 100644 src/assets/BeanconquerorFlowTestDataSecond.json create mode 100644 src/assets/BeanconquerorFlowTestDataThird.json create mode 100644 src/assets/js/plotly.min.js diff --git a/src/assets/BeanconquerorFlowTestData.json b/src/assets/BeanconquerorFlowTestData.json new file mode 100644 index 000000000..69dbefa3c --- /dev/null +++ b/src/assets/BeanconquerorFlowTestData.json @@ -0,0 +1,9258 @@ +{ + "weight": [ + { + "timestamp": "10:52:31.741", + "brew_time": "0.0", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:31.859", + "brew_time": "0.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:31.952", + "brew_time": "0.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.069", + "brew_time": "0.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.160", + "brew_time": "0.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.280", + "brew_time": "0.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.371", + "brew_time": "0.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.459", + "brew_time": "0.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.579", + "brew_time": "0.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.669", + "brew_time": "1.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.788", + "brew_time": "1.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.879", + "brew_time": "1.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:32.999", + "brew_time": "1.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.091", + "brew_time": "1.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.181", + "brew_time": "1.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.300", + "brew_time": "1.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.390", + "brew_time": "1.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.511", + "brew_time": "1.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.599", + "brew_time": "1.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.721", + "brew_time": "2.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.810", + "brew_time": "2.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:33.959", + "brew_time": "2.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.084", + "brew_time": "2.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.171", + "brew_time": "2.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.258", + "brew_time": "2.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.382", + "brew_time": "2.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.469", + "brew_time": "2.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.592", + "brew_time": "2.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.683", + "brew_time": "3.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.801", + "brew_time": "3.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:34.891", + "brew_time": "3.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.010", + "brew_time": "3.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.099", + "brew_time": "3.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.219", + "brew_time": "3.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.312", + "brew_time": "3.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.432", + "brew_time": "3.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.532", + "brew_time": "3.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.639", + "brew_time": "3.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.730", + "brew_time": "4.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.820", + "brew_time": "4.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:35.940", + "brew_time": "4.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.044", + "brew_time": "4.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.150", + "brew_time": "4.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.239", + "brew_time": "4.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.359", + "brew_time": "4.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.449", + "brew_time": "4.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.570", + "brew_time": "4.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.660", + "brew_time": "4.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.811", + "brew_time": "5.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.869", + "brew_time": "5.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:36.988", + "brew_time": "5.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.079", + "brew_time": "5.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.199", + "brew_time": "5.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.291", + "brew_time": "5.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.410", + "brew_time": "5.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.498", + "brew_time": "5.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.591", + "brew_time": "5.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.771", + "brew_time": "6.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.830", + "brew_time": "6.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:37.920", + "brew_time": "6.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:38.072", + "brew_time": "6.4", + "actual_weight": 0.1, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:38.191", + "brew_time": "6.5", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:38.278", + "brew_time": "6.6", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0 + }, + { + "timestamp": "10:52:38.401", + "brew_time": "6.7", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.491", + "brew_time": "6.8", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.583", + "brew_time": "6.9", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.671", + "brew_time": "7.1", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.790", + "brew_time": "7.2", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.879", + "brew_time": "7.3", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:38.998", + "brew_time": "7.4", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.090", + "brew_time": "7.5", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.180", + "brew_time": "7.6", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.360", + "brew_time": "7.7", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.452", + "brew_time": "7.8", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.571", + "brew_time": "7.9", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.660", + "brew_time": "7.10", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.718", + "brew_time": "8.1", + "actual_weight": 0.1, + "old_weight": 0.1, + "actual_smoothed_weight": 0.1, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.810", + "brew_time": "8.2", + "actual_weight": 0.2, + "old_weight": 0.1, + "actual_smoothed_weight": 0.2, + "old_smoothed_weight": 0.1 + }, + { + "timestamp": "10:52:39.934", + "brew_time": "8.3", + "actual_weight": 0.4, + "old_weight": 0.2, + "actual_smoothed_weight": 0.2, + "old_smoothed_weight": 0.2 + }, + { + "timestamp": "10:52:40.020", + "brew_time": "8.4", + "actual_weight": 0.6, + "old_weight": 0.4, + "actual_smoothed_weight": 0.3, + "old_smoothed_weight": 0.2 + }, + { + "timestamp": "10:52:40.171", + "brew_time": "8.5", + "actual_weight": 0.6, + "old_weight": 0.6, + "actual_smoothed_weight": 0.4, + "old_smoothed_weight": 0.3 + }, + { + "timestamp": "10:52:40.291", + "brew_time": "8.6", + "actual_weight": 0.6, + "old_weight": 0.6, + "actual_smoothed_weight": 0.5, + "old_smoothed_weight": 0.4 + }, + { + "timestamp": "10:52:40.380", + "brew_time": "8.7", + "actual_weight": 0.7, + "old_weight": 0.6, + "actual_smoothed_weight": 0.5, + "old_smoothed_weight": 0.5 + }, + { + "timestamp": "10:52:40.470", + "brew_time": "8.8", + "actual_weight": 1, + "old_weight": 0.7, + "actual_smoothed_weight": 0.7, + "old_smoothed_weight": 0.5 + }, + { + "timestamp": "10:52:40.590", + "brew_time": "8.9", + "actual_weight": 1.3, + "old_weight": 1, + "actual_smoothed_weight": 0.8, + "old_smoothed_weight": 0.7 + }, + { + "timestamp": "10:52:40.680", + "brew_time": "9.1", + "actual_weight": 1.5, + "old_weight": 1.3, + "actual_smoothed_weight": 1, + "old_smoothed_weight": 0.8 + }, + { + "timestamp": "10:52:40.798", + "brew_time": "9.2", + "actual_weight": 1.6, + "old_weight": 1.5, + "actual_smoothed_weight": 1.2, + "old_smoothed_weight": 1 + }, + { + "timestamp": "10:52:40.890", + "brew_time": "9.3", + "actual_weight": 1.7, + "old_weight": 1.6, + "actual_smoothed_weight": 1.3, + "old_smoothed_weight": 1.2 + }, + { + "timestamp": "10:52:41.011", + "brew_time": "9.4", + "actual_weight": 2, + "old_weight": 1.7, + "actual_smoothed_weight": 1.5, + "old_smoothed_weight": 1.3 + }, + { + "timestamp": "10:52:41.101", + "brew_time": "9.5", + "actual_weight": 2.2, + "old_weight": 2, + "actual_smoothed_weight": 1.8, + "old_smoothed_weight": 1.5 + }, + { + "timestamp": "10:52:41.221", + "brew_time": "9.6", + "actual_weight": 2.4, + "old_weight": 2.2, + "actual_smoothed_weight": 1.9, + "old_smoothed_weight": 1.8 + }, + { + "timestamp": "10:52:41.316", + "brew_time": "9.7", + "actual_weight": 2.5, + "old_weight": 2.4, + "actual_smoothed_weight": 2.1, + "old_smoothed_weight": 1.9 + }, + { + "timestamp": "10:52:41.399", + "brew_time": "9.8", + "actual_weight": 2.7, + "old_weight": 2.5, + "actual_smoothed_weight": 2.3, + "old_smoothed_weight": 2.1 + }, + { + "timestamp": "10:52:41.518", + "brew_time": "9.9", + "actual_weight": 2.9, + "old_weight": 2.7, + "actual_smoothed_weight": 2.5, + "old_smoothed_weight": 2.3 + }, + { + "timestamp": "10:52:41.610", + "brew_time": "9.10", + "actual_weight": 3, + "old_weight": 2.9, + "actual_smoothed_weight": 2.6, + "old_smoothed_weight": 2.5 + }, + { + "timestamp": "10:52:41.730", + "brew_time": "10.1", + "actual_weight": 3.2, + "old_weight": 3, + "actual_smoothed_weight": 2.8, + "old_smoothed_weight": 2.6 + }, + { + "timestamp": "10:52:41.819", + "brew_time": "10.2", + "actual_weight": 3.4, + "old_weight": 3.2, + "actual_smoothed_weight": 3, + "old_smoothed_weight": 2.8 + }, + { + "timestamp": "10:52:41.970", + "brew_time": "10.3", + "actual_weight": 3.6, + "old_weight": 3.4, + "actual_smoothed_weight": 3.2, + "old_smoothed_weight": 3 + }, + { + "timestamp": "10:52:42.060", + "brew_time": "10.4", + "actual_weight": 3.8, + "old_weight": 3.6, + "actual_smoothed_weight": 3.4, + "old_smoothed_weight": 3.2 + }, + { + "timestamp": "10:52:42.178", + "brew_time": "10.5", + "actual_weight": 3.9, + "old_weight": 3.8, + "actual_smoothed_weight": 3.5, + "old_smoothed_weight": 3.4 + }, + { + "timestamp": "10:52:42.270", + "brew_time": "10.6", + "actual_weight": 4.1, + "old_weight": 3.9, + "actual_smoothed_weight": 3.7, + "old_smoothed_weight": 3.5 + }, + { + "timestamp": "10:52:42.390", + "brew_time": "10.7", + "actual_weight": 4.3, + "old_weight": 4.1, + "actual_smoothed_weight": 3.9, + "old_smoothed_weight": 3.7 + }, + { + "timestamp": "10:52:42.478", + "brew_time": "10.8", + "actual_weight": 4.4, + "old_weight": 4.3, + "actual_smoothed_weight": 4, + "old_smoothed_weight": 3.9 + }, + { + "timestamp": "10:52:42.571", + "brew_time": "10.9", + "actual_weight": 4.6, + "old_weight": 4.4, + "actual_smoothed_weight": 4.2, + "old_smoothed_weight": 4 + }, + { + "timestamp": "10:52:42.691", + "brew_time": "10.10", + "actual_weight": 4.8, + "old_weight": 4.6, + "actual_smoothed_weight": 4.4, + "old_smoothed_weight": 4.2 + }, + { + "timestamp": "10:52:42.779", + "brew_time": "11.1", + "actual_weight": 5, + "old_weight": 4.8, + "actual_smoothed_weight": 4.6, + "old_smoothed_weight": 4.4 + }, + { + "timestamp": "10:52:42.898", + "brew_time": "11.2", + "actual_weight": 5.1, + "old_weight": 5, + "actual_smoothed_weight": 4.7, + "old_smoothed_weight": 4.6 + }, + { + "timestamp": "10:52:42.990", + "brew_time": "11.3", + "actual_weight": 5.1, + "old_weight": 5.1, + "actual_smoothed_weight": 4.8, + "old_smoothed_weight": 4.7 + }, + { + "timestamp": "10:52:43.111", + "brew_time": "11.4", + "actual_weight": 5.2, + "old_weight": 5.1, + "actual_smoothed_weight": 4.9, + "old_smoothed_weight": 4.8 + }, + { + "timestamp": "10:52:43.198", + "brew_time": "11.5", + "actual_weight": 5.5, + "old_weight": 5.2, + "actual_smoothed_weight": 5.1, + "old_smoothed_weight": 4.9 + }, + { + "timestamp": "10:52:43.290", + "brew_time": "11.6", + "actual_weight": 5.6, + "old_weight": 5.5, + "actual_smoothed_weight": 5.3, + "old_smoothed_weight": 5.1 + }, + { + "timestamp": "10:52:43.408", + "brew_time": "11.7", + "actual_weight": 5.8, + "old_weight": 5.6, + "actual_smoothed_weight": 5.4, + "old_smoothed_weight": 5.3 + }, + { + "timestamp": "10:52:43.499", + "brew_time": "11.8", + "actual_weight": 5.9, + "old_weight": 5.8, + "actual_smoothed_weight": 5.5, + "old_smoothed_weight": 5.4 + }, + { + "timestamp": "10:52:43.618", + "brew_time": "11.9", + "actual_weight": 6, + "old_weight": 5.9, + "actual_smoothed_weight": 5.7, + "old_smoothed_weight": 5.5 + }, + { + "timestamp": "10:52:43.770", + "brew_time": "12.1", + "actual_weight": 6.2, + "old_weight": 6, + "actual_smoothed_weight": 5.8, + "old_smoothed_weight": 5.7 + }, + { + "timestamp": "10:52:43.860", + "brew_time": "12.2", + "actual_weight": 6.4, + "old_weight": 6.2, + "actual_smoothed_weight": 6, + "old_smoothed_weight": 5.8 + }, + { + "timestamp": "10:52:43.979", + "brew_time": "12.3", + "actual_weight": 6.5, + "old_weight": 6.4, + "actual_smoothed_weight": 6.1, + "old_smoothed_weight": 6 + }, + { + "timestamp": "10:52:44.039", + "brew_time": "12.4", + "actual_weight": 6.6, + "old_weight": 6.5, + "actual_smoothed_weight": 6.3, + "old_smoothed_weight": 6.1 + }, + { + "timestamp": "10:52:44.131", + "brew_time": "12.5", + "actual_weight": 6.8, + "old_weight": 6.6, + "actual_smoothed_weight": 6.4, + "old_smoothed_weight": 6.3 + }, + { + "timestamp": "10:52:44.278", + "brew_time": "12.6", + "actual_weight": 7, + "old_weight": 6.8, + "actual_smoothed_weight": 6.6, + "old_smoothed_weight": 6.4 + }, + { + "timestamp": "10:52:44.371", + "brew_time": "12.7", + "actual_weight": 7.1, + "old_weight": 7, + "actual_smoothed_weight": 6.7, + "old_smoothed_weight": 6.6 + }, + { + "timestamp": "10:52:44.490", + "brew_time": "12.8", + "actual_weight": 7.2, + "old_weight": 7.1, + "actual_smoothed_weight": 6.9, + "old_smoothed_weight": 6.7 + }, + { + "timestamp": "10:52:44.583", + "brew_time": "12.9", + "actual_weight": 7.4, + "old_weight": 7.2, + "actual_smoothed_weight": 7, + "old_smoothed_weight": 6.9 + }, + { + "timestamp": "10:52:44.703", + "brew_time": "12.10", + "actual_weight": 7.6, + "old_weight": 7.4, + "actual_smoothed_weight": 7.2, + "old_smoothed_weight": 7 + }, + { + "timestamp": "10:52:44.790", + "brew_time": "13.1", + "actual_weight": 7.7, + "old_weight": 7.6, + "actual_smoothed_weight": 7.3, + "old_smoothed_weight": 7.2 + }, + { + "timestamp": "10:52:44.911", + "brew_time": "13.2", + "actual_weight": 7.8, + "old_weight": 7.7, + "actual_smoothed_weight": 7.5, + "old_smoothed_weight": 7.3 + }, + { + "timestamp": "10:52:45.000", + "brew_time": "13.3", + "actual_weight": 8, + "old_weight": 7.8, + "actual_smoothed_weight": 7.6, + "old_smoothed_weight": 7.5 + }, + { + "timestamp": "10:52:45.090", + "brew_time": "13.4", + "actual_weight": 8.1, + "old_weight": 8, + "actual_smoothed_weight": 7.8, + "old_smoothed_weight": 7.6 + }, + { + "timestamp": "10:52:45.212", + "brew_time": "13.5", + "actual_weight": 8.3, + "old_weight": 8.1, + "actual_smoothed_weight": 7.9, + "old_smoothed_weight": 7.8 + }, + { + "timestamp": "10:52:45.298", + "brew_time": "13.6", + "actual_weight": 8.4, + "old_weight": 8.3, + "actual_smoothed_weight": 8.1, + "old_smoothed_weight": 7.9 + }, + { + "timestamp": "10:52:45.419", + "brew_time": "13.7", + "actual_weight": 8.6, + "old_weight": 8.4, + "actual_smoothed_weight": 8.2, + "old_smoothed_weight": 8.1 + }, + { + "timestamp": "10:52:45.513", + "brew_time": "13.8", + "actual_weight": 8.7, + "old_weight": 8.6, + "actual_smoothed_weight": 8.3, + "old_smoothed_weight": 8.2 + }, + { + "timestamp": "10:52:45.660", + "brew_time": "13.9", + "actual_weight": 8.9, + "old_weight": 8.7, + "actual_smoothed_weight": 8.5, + "old_smoothed_weight": 8.3 + }, + { + "timestamp": "10:52:45.780", + "brew_time": "14.1", + "actual_weight": 9.1, + "old_weight": 8.9, + "actual_smoothed_weight": 8.7, + "old_smoothed_weight": 8.5 + }, + { + "timestamp": "10:52:45.840", + "brew_time": "14.2", + "actual_weight": 9.2, + "old_weight": 9.1, + "actual_smoothed_weight": 8.8, + "old_smoothed_weight": 8.7 + }, + { + "timestamp": "10:52:45.930", + "brew_time": "14.3", + "actual_weight": 9.3, + "old_weight": 9.2, + "actual_smoothed_weight": 9, + "old_smoothed_weight": 8.8 + }, + { + "timestamp": "10:52:46.080", + "brew_time": "14.4", + "actual_weight": 9.5, + "old_weight": 9.3, + "actual_smoothed_weight": 9.1, + "old_smoothed_weight": 9 + }, + { + "timestamp": "10:52:46.200", + "brew_time": "14.5", + "actual_weight": 9.6, + "old_weight": 9.5, + "actual_smoothed_weight": 9.3, + "old_smoothed_weight": 9.1 + }, + { + "timestamp": "10:52:46.290", + "brew_time": "14.6", + "actual_weight": 9.8, + "old_weight": 9.6, + "actual_smoothed_weight": 9.4, + "old_smoothed_weight": 9.3 + }, + { + "timestamp": "10:52:46.379", + "brew_time": "14.7", + "actual_weight": 10, + "old_weight": 9.8, + "actual_smoothed_weight": 9.6, + "old_smoothed_weight": 9.4 + }, + { + "timestamp": "10:52:46.501", + "brew_time": "14.8", + "actual_weight": 10.1, + "old_weight": 10, + "actual_smoothed_weight": 9.7, + "old_smoothed_weight": 9.6 + }, + { + "timestamp": "10:52:46.595", + "brew_time": "14.9", + "actual_weight": 10.2, + "old_weight": 10.1, + "actual_smoothed_weight": 9.9, + "old_smoothed_weight": 9.7 + }, + { + "timestamp": "10:52:46.711", + "brew_time": "15.1", + "actual_weight": 10.4, + "old_weight": 10.2, + "actual_smoothed_weight": 10, + "old_smoothed_weight": 9.9 + }, + { + "timestamp": "10:52:46.800", + "brew_time": "15.2", + "actual_weight": 10.6, + "old_weight": 10.4, + "actual_smoothed_weight": 10.2, + "old_smoothed_weight": 10 + }, + { + "timestamp": "10:52:46.920", + "brew_time": "15.3", + "actual_weight": 10.8, + "old_weight": 10.6, + "actual_smoothed_weight": 10.4, + "old_smoothed_weight": 10.2 + }, + { + "timestamp": "10:52:47.011", + "brew_time": "15.4", + "actual_weight": 10.9, + "old_weight": 10.8, + "actual_smoothed_weight": 10.5, + "old_smoothed_weight": 10.4 + }, + { + "timestamp": "10:52:47.131", + "brew_time": "15.5", + "actual_weight": 11.1, + "old_weight": 10.9, + "actual_smoothed_weight": 10.7, + "old_smoothed_weight": 10.5 + }, + { + "timestamp": "10:52:47.220", + "brew_time": "15.6", + "actual_weight": 11.3, + "old_weight": 11.1, + "actual_smoothed_weight": 10.9, + "old_smoothed_weight": 10.7 + }, + { + "timestamp": "10:52:47.311", + "brew_time": "15.7", + "actual_weight": 11.4, + "old_weight": 11.3, + "actual_smoothed_weight": 11, + "old_smoothed_weight": 10.9 + }, + { + "timestamp": "10:52:47.399", + "brew_time": "15.8", + "actual_weight": 11.6, + "old_weight": 11.4, + "actual_smoothed_weight": 11.2, + "old_smoothed_weight": 11 + }, + { + "timestamp": "10:52:47.521", + "brew_time": "15.9", + "actual_weight": 11.7, + "old_weight": 11.6, + "actual_smoothed_weight": 11.4, + "old_smoothed_weight": 11.2 + }, + { + "timestamp": "10:52:47.611", + "brew_time": "15.10", + "actual_weight": 11.9, + "old_weight": 11.7, + "actual_smoothed_weight": 11.5, + "old_smoothed_weight": 11.4 + }, + { + "timestamp": "10:52:47.729", + "brew_time": "16.1", + "actual_weight": 12.1, + "old_weight": 11.9, + "actual_smoothed_weight": 11.7, + "old_smoothed_weight": 11.5 + }, + { + "timestamp": "10:52:47.850", + "brew_time": "16.2", + "actual_weight": 12.2, + "old_weight": 12.1, + "actual_smoothed_weight": 11.8, + "old_smoothed_weight": 11.7 + }, + { + "timestamp": "10:52:47.970", + "brew_time": "16.3", + "actual_weight": 12.3, + "old_weight": 12.2, + "actual_smoothed_weight": 12, + "old_smoothed_weight": 11.8 + }, + { + "timestamp": "10:52:48.062", + "brew_time": "16.4", + "actual_weight": 12.5, + "old_weight": 12.3, + "actual_smoothed_weight": 12.1, + "old_smoothed_weight": 12 + }, + { + "timestamp": "10:52:48.150", + "brew_time": "16.5", + "actual_weight": 12.7, + "old_weight": 12.5, + "actual_smoothed_weight": 12.3, + "old_smoothed_weight": 12.1 + }, + { + "timestamp": "10:52:48.271", + "brew_time": "16.6", + "actual_weight": 12.9, + "old_weight": 12.7, + "actual_smoothed_weight": 12.5, + "old_smoothed_weight": 12.3 + }, + { + "timestamp": "10:52:48.359", + "brew_time": "16.7", + "actual_weight": 13.1, + "old_weight": 12.9, + "actual_smoothed_weight": 12.7, + "old_smoothed_weight": 12.5 + }, + { + "timestamp": "10:52:48.478", + "brew_time": "16.8", + "actual_weight": 13.2, + "old_weight": 13.1, + "actual_smoothed_weight": 12.8, + "old_smoothed_weight": 12.7 + }, + { + "timestamp": "10:52:48.570", + "brew_time": "16.9", + "actual_weight": 13.3, + "old_weight": 13.2, + "actual_smoothed_weight": 13, + "old_smoothed_weight": 12.8 + }, + { + "timestamp": "10:52:48.690", + "brew_time": "16.10", + "actual_weight": 13.6, + "old_weight": 13.3, + "actual_smoothed_weight": 13.1, + "old_smoothed_weight": 13 + }, + { + "timestamp": "10:52:48.778", + "brew_time": "17.1", + "actual_weight": 13.7, + "old_weight": 13.6, + "actual_smoothed_weight": 13.3, + "old_smoothed_weight": 13.1 + }, + { + "timestamp": "10:52:48.870", + "brew_time": "17.2", + "actual_weight": 13.8, + "old_weight": 13.7, + "actual_smoothed_weight": 13.5, + "old_smoothed_weight": 13.3 + }, + { + "timestamp": "10:52:49.018", + "brew_time": "17.3", + "actual_weight": 14, + "old_weight": 13.8, + "actual_smoothed_weight": 13.6, + "old_smoothed_weight": 13.5 + }, + { + "timestamp": "10:52:49.141", + "brew_time": "17.4", + "actual_weight": 14.2, + "old_weight": 14, + "actual_smoothed_weight": 13.8, + "old_smoothed_weight": 13.6 + }, + { + "timestamp": "10:52:49.231", + "brew_time": "17.5", + "actual_weight": 14.3, + "old_weight": 14.2, + "actual_smoothed_weight": 14, + "old_smoothed_weight": 13.8 + }, + { + "timestamp": "10:52:49.321", + "brew_time": "17.6", + "actual_weight": 14.6, + "old_weight": 14.3, + "actual_smoothed_weight": 14.1, + "old_smoothed_weight": 14 + }, + { + "timestamp": "10:52:49.441", + "brew_time": "17.7", + "actual_weight": 14.7, + "old_weight": 14.6, + "actual_smoothed_weight": 14.3, + "old_smoothed_weight": 14.1 + }, + { + "timestamp": "10:52:49.529", + "brew_time": "17.8", + "actual_weight": 14.8, + "old_weight": 14.7, + "actual_smoothed_weight": 14.5, + "old_smoothed_weight": 14.3 + }, + { + "timestamp": "10:52:49.651", + "brew_time": "17.9", + "actual_weight": 15, + "old_weight": 14.8, + "actual_smoothed_weight": 14.6, + "old_smoothed_weight": 14.5 + }, + { + "timestamp": "10:52:49.741", + "brew_time": "18.1", + "actual_weight": 15.2, + "old_weight": 15, + "actual_smoothed_weight": 14.8, + "old_smoothed_weight": 14.6 + }, + { + "timestamp": "10:52:49.860", + "brew_time": "18.2", + "actual_weight": 15.3, + "old_weight": 15.2, + "actual_smoothed_weight": 15, + "old_smoothed_weight": 14.8 + }, + { + "timestamp": "10:52:49.950", + "brew_time": "18.3", + "actual_weight": 15.5, + "old_weight": 15.3, + "actual_smoothed_weight": 15.1, + "old_smoothed_weight": 15 + }, + { + "timestamp": "10:52:50.081", + "brew_time": "18.4", + "actual_weight": 15.8, + "old_weight": 15.5, + "actual_smoothed_weight": 15.3, + "old_smoothed_weight": 15.1 + }, + { + "timestamp": "10:52:50.159", + "brew_time": "18.5", + "actual_weight": 15.9, + "old_weight": 15.8, + "actual_smoothed_weight": 15.5, + "old_smoothed_weight": 15.3 + }, + { + "timestamp": "10:52:50.250", + "brew_time": "18.6", + "actual_weight": 16.1, + "old_weight": 15.9, + "actual_smoothed_weight": 15.7, + "old_smoothed_weight": 15.5 + }, + { + "timestamp": "10:52:50.370", + "brew_time": "18.7", + "actual_weight": 16.3, + "old_weight": 16.1, + "actual_smoothed_weight": 15.8, + "old_smoothed_weight": 15.7 + }, + { + "timestamp": "10:52:50.461", + "brew_time": "18.8", + "actual_weight": 16.4, + "old_weight": 16.3, + "actual_smoothed_weight": 16, + "old_smoothed_weight": 15.8 + }, + { + "timestamp": "10:52:50.579", + "brew_time": "18.9", + "actual_weight": 16.6, + "old_weight": 16.4, + "actual_smoothed_weight": 16.2, + "old_smoothed_weight": 16 + }, + { + "timestamp": "10:52:50.670", + "brew_time": "18.10", + "actual_weight": 16.8, + "old_weight": 16.6, + "actual_smoothed_weight": 16.4, + "old_smoothed_weight": 16.2 + }, + { + "timestamp": "10:52:50.793", + "brew_time": "19.1", + "actual_weight": 16.9, + "old_weight": 16.8, + "actual_smoothed_weight": 16.5, + "old_smoothed_weight": 16.4 + }, + { + "timestamp": "10:52:50.879", + "brew_time": "19.2", + "actual_weight": 17.1, + "old_weight": 16.9, + "actual_smoothed_weight": 16.7, + "old_smoothed_weight": 16.5 + }, + { + "timestamp": "10:52:50.998", + "brew_time": "19.3", + "actual_weight": 17.2, + "old_weight": 17.1, + "actual_smoothed_weight": 16.9, + "old_smoothed_weight": 16.7 + }, + { + "timestamp": "10:52:51.090", + "brew_time": "19.4", + "actual_weight": 17.4, + "old_weight": 17.2, + "actual_smoothed_weight": 17, + "old_smoothed_weight": 16.9 + }, + { + "timestamp": "10:52:51.211", + "brew_time": "19.5", + "actual_weight": 17.6, + "old_weight": 17.4, + "actual_smoothed_weight": 17.2, + "old_smoothed_weight": 17 + }, + { + "timestamp": "10:52:51.299", + "brew_time": "19.6", + "actual_weight": 17.8, + "old_weight": 17.6, + "actual_smoothed_weight": 17.4, + "old_smoothed_weight": 17.2 + }, + { + "timestamp": "10:52:51.390", + "brew_time": "19.7", + "actual_weight": 18, + "old_weight": 17.8, + "actual_smoothed_weight": 17.6, + "old_smoothed_weight": 17.4 + }, + { + "timestamp": "10:52:51.571", + "brew_time": "19.8", + "actual_weight": 18.1, + "old_weight": 18, + "actual_smoothed_weight": 17.7, + "old_smoothed_weight": 17.6 + }, + { + "timestamp": "10:52:51.658", + "brew_time": "19.9", + "actual_weight": 18.3, + "old_weight": 18.1, + "actual_smoothed_weight": 17.9, + "old_smoothed_weight": 17.7 + }, + { + "timestamp": "10:52:51.720", + "brew_time": "20.1", + "actual_weight": 18.5, + "old_weight": 18.3, + "actual_smoothed_weight": 18.1, + "old_smoothed_weight": 17.9 + }, + { + "timestamp": "10:52:51.871", + "brew_time": "20.2", + "actual_weight": 18.7, + "old_weight": 18.5, + "actual_smoothed_weight": 18.3, + "old_smoothed_weight": 18.1 + }, + { + "timestamp": "10:52:51.961", + "brew_time": "20.3", + "actual_weight": 18.8, + "old_weight": 18.7, + "actual_smoothed_weight": 18.4, + "old_smoothed_weight": 18.3 + }, + { + "timestamp": "10:52:52.051", + "brew_time": "20.4", + "actual_weight": 19, + "old_weight": 18.8, + "actual_smoothed_weight": 18.6, + "old_smoothed_weight": 18.4 + }, + { + "timestamp": "10:52:52.171", + "brew_time": "20.5", + "actual_weight": 19.1, + "old_weight": 19, + "actual_smoothed_weight": 18.7, + "old_smoothed_weight": 18.6 + }, + { + "timestamp": "10:52:52.258", + "brew_time": "20.6", + "actual_weight": 19.3, + "old_weight": 19.1, + "actual_smoothed_weight": 18.9, + "old_smoothed_weight": 18.7 + }, + { + "timestamp": "10:52:52.354", + "brew_time": "20.7", + "actual_weight": 19.6, + "old_weight": 19.3, + "actual_smoothed_weight": 19.1, + "old_smoothed_weight": 18.9 + }, + { + "timestamp": "10:52:52.470", + "brew_time": "20.8", + "actual_weight": 19.7, + "old_weight": 19.6, + "actual_smoothed_weight": 19.3, + "old_smoothed_weight": 19.1 + }, + { + "timestamp": "10:52:52.621", + "brew_time": "20.9", + "actual_weight": 19.9, + "old_weight": 19.7, + "actual_smoothed_weight": 19.5, + "old_smoothed_weight": 19.3 + }, + { + "timestamp": "10:52:52.711", + "brew_time": "21.1", + "actual_weight": 20.1, + "old_weight": 19.9, + "actual_smoothed_weight": 19.7, + "old_smoothed_weight": 19.5 + }, + { + "timestamp": "10:52:52.802", + "brew_time": "21.2", + "actual_weight": 20.3, + "old_weight": 20.1, + "actual_smoothed_weight": 19.8, + "old_smoothed_weight": 19.7 + }, + { + "timestamp": "10:52:52.921", + "brew_time": "21.3", + "actual_weight": 20.5, + "old_weight": 20.3, + "actual_smoothed_weight": 20, + "old_smoothed_weight": 19.8 + }, + { + "timestamp": "10:52:53.012", + "brew_time": "21.4", + "actual_weight": 20.6, + "old_weight": 20.5, + "actual_smoothed_weight": 20.2, + "old_smoothed_weight": 20 + }, + { + "timestamp": "10:52:53.132", + "brew_time": "21.5", + "actual_weight": 20.8, + "old_weight": 20.6, + "actual_smoothed_weight": 20.4, + "old_smoothed_weight": 20.2 + }, + { + "timestamp": "10:52:53.221", + "brew_time": "21.6", + "actual_weight": 21, + "old_weight": 20.8, + "actual_smoothed_weight": 20.6, + "old_smoothed_weight": 20.4 + }, + { + "timestamp": "10:52:53.311", + "brew_time": "21.7", + "actual_weight": 21.1, + "old_weight": 21, + "actual_smoothed_weight": 20.7, + "old_smoothed_weight": 20.6 + }, + { + "timestamp": "10:52:53.431", + "brew_time": "21.8", + "actual_weight": 21.3, + "old_weight": 21.1, + "actual_smoothed_weight": 20.9, + "old_smoothed_weight": 20.7 + }, + { + "timestamp": "10:52:53.520", + "brew_time": "21.9", + "actual_weight": 21.5, + "old_weight": 21.3, + "actual_smoothed_weight": 21.1, + "old_smoothed_weight": 20.9 + }, + { + "timestamp": "10:52:53.641", + "brew_time": "21.10", + "actual_weight": 21.7, + "old_weight": 21.5, + "actual_smoothed_weight": 21.2, + "old_smoothed_weight": 21.1 + }, + { + "timestamp": "10:52:53.731", + "brew_time": "22.1", + "actual_weight": 21.9, + "old_weight": 21.7, + "actual_smoothed_weight": 21.4, + "old_smoothed_weight": 21.2 + }, + { + "timestamp": "10:52:53.819", + "brew_time": "22.2", + "actual_weight": 22.1, + "old_weight": 21.9, + "actual_smoothed_weight": 21.6, + "old_smoothed_weight": 21.4 + }, + { + "timestamp": "10:52:53.941", + "brew_time": "22.3", + "actual_weight": 22.2, + "old_weight": 22.1, + "actual_smoothed_weight": 21.8, + "old_smoothed_weight": 21.6 + }, + { + "timestamp": "10:52:54.029", + "brew_time": "22.4", + "actual_weight": 22.4, + "old_weight": 22.2, + "actual_smoothed_weight": 22, + "old_smoothed_weight": 21.8 + }, + { + "timestamp": "10:52:54.152", + "brew_time": "22.5", + "actual_weight": 22.6, + "old_weight": 22.4, + "actual_smoothed_weight": 22.2, + "old_smoothed_weight": 22 + }, + { + "timestamp": "10:52:54.239", + "brew_time": "22.6", + "actual_weight": 22.8, + "old_weight": 22.6, + "actual_smoothed_weight": 22.4, + "old_smoothed_weight": 22.2 + }, + { + "timestamp": "10:52:54.361", + "brew_time": "22.7", + "actual_weight": 22.9, + "old_weight": 22.8, + "actual_smoothed_weight": 22.5, + "old_smoothed_weight": 22.4 + }, + { + "timestamp": "10:52:54.450", + "brew_time": "22.8", + "actual_weight": 23.1, + "old_weight": 22.9, + "actual_smoothed_weight": 22.7, + "old_smoothed_weight": 22.5 + }, + { + "timestamp": "10:52:54.571", + "brew_time": "22.9", + "actual_weight": 23.4, + "old_weight": 23.1, + "actual_smoothed_weight": 22.9, + "old_smoothed_weight": 22.7 + }, + { + "timestamp": "10:52:54.691", + "brew_time": "22.10", + "actual_weight": 23.5, + "old_weight": 23.4, + "actual_smoothed_weight": 23.1, + "old_smoothed_weight": 22.9 + }, + { + "timestamp": "10:52:54.781", + "brew_time": "23.1", + "actual_weight": 23.7, + "old_weight": 23.5, + "actual_smoothed_weight": 23.3, + "old_smoothed_weight": 23.1 + }, + { + "timestamp": "10:52:54.898", + "brew_time": "23.2", + "actual_weight": 23.9, + "old_weight": 23.7, + "actual_smoothed_weight": 23.5, + "old_smoothed_weight": 23.3 + }, + { + "timestamp": "10:52:54.991", + "brew_time": "23.3", + "actual_weight": 24.1, + "old_weight": 23.9, + "actual_smoothed_weight": 23.6, + "old_smoothed_weight": 23.5 + }, + { + "timestamp": "10:52:55.116", + "brew_time": "23.4", + "actual_weight": 24.3, + "old_weight": 24.1, + "actual_smoothed_weight": 23.8, + "old_smoothed_weight": 23.6 + }, + { + "timestamp": "10:52:55.201", + "brew_time": "23.5", + "actual_weight": 24.4, + "old_weight": 24.3, + "actual_smoothed_weight": 24, + "old_smoothed_weight": 23.8 + }, + { + "timestamp": "10:52:55.321", + "brew_time": "23.6", + "actual_weight": 24.6, + "old_weight": 24.4, + "actual_smoothed_weight": 24.2, + "old_smoothed_weight": 24 + }, + { + "timestamp": "10:52:55.412", + "brew_time": "23.7", + "actual_weight": 24.8, + "old_weight": 24.6, + "actual_smoothed_weight": 24.4, + "old_smoothed_weight": 24.2 + }, + { + "timestamp": "10:52:55.531", + "brew_time": "23.8", + "actual_weight": 25, + "old_weight": 24.8, + "actual_smoothed_weight": 24.6, + "old_smoothed_weight": 24.4 + }, + { + "timestamp": "10:52:55.621", + "brew_time": "23.9", + "actual_weight": 25.1, + "old_weight": 25, + "actual_smoothed_weight": 24.7, + "old_smoothed_weight": 24.6 + }, + { + "timestamp": "10:52:55.711", + "brew_time": "24.1", + "actual_weight": 25.4, + "old_weight": 25.1, + "actual_smoothed_weight": 24.9, + "old_smoothed_weight": 24.7 + }, + { + "timestamp": "10:52:55.831", + "brew_time": "24.2", + "actual_weight": 25.5, + "old_weight": 25.4, + "actual_smoothed_weight": 25.1, + "old_smoothed_weight": 24.9 + }, + { + "timestamp": "10:52:55.979", + "brew_time": "24.3", + "actual_weight": 25.6, + "old_weight": 25.5, + "actual_smoothed_weight": 25.3, + "old_smoothed_weight": 25.1 + }, + { + "timestamp": "10:52:56.070", + "brew_time": "24.4", + "actual_weight": 25.8, + "old_weight": 25.6, + "actual_smoothed_weight": 25.4, + "old_smoothed_weight": 25.3 + }, + { + "timestamp": "10:52:56.133", + "brew_time": "24.5", + "actual_weight": 26.1, + "old_weight": 25.8, + "actual_smoothed_weight": 25.6, + "old_smoothed_weight": 25.4 + }, + { + "timestamp": "10:52:56.221", + "brew_time": "24.6", + "actual_weight": 26.3, + "old_weight": 26.1, + "actual_smoothed_weight": 25.8, + "old_smoothed_weight": 25.6 + }, + { + "timestamp": "10:52:56.401", + "brew_time": "24.7", + "actual_weight": 26.5, + "old_weight": 26.3, + "actual_smoothed_weight": 26, + "old_smoothed_weight": 25.8 + }, + { + "timestamp": "10:52:56.490", + "brew_time": "24.8", + "actual_weight": 26.6, + "old_weight": 26.5, + "actual_smoothed_weight": 26.2, + "old_smoothed_weight": 26 + }, + { + "timestamp": "10:52:56.616", + "brew_time": "24.9", + "actual_weight": 26.8, + "old_weight": 26.6, + "actual_smoothed_weight": 26.4, + "old_smoothed_weight": 26.2 + }, + { + "timestamp": "10:52:56.700", + "brew_time": "25.1", + "actual_weight": 27, + "old_weight": 26.8, + "actual_smoothed_weight": 26.6, + "old_smoothed_weight": 26.4 + }, + { + "timestamp": "10:52:56.821", + "brew_time": "25.2", + "actual_weight": 27.2, + "old_weight": 27, + "actual_smoothed_weight": 26.8, + "old_smoothed_weight": 26.6 + }, + { + "timestamp": "10:52:56.912", + "brew_time": "25.3", + "actual_weight": 27.4, + "old_weight": 27.2, + "actual_smoothed_weight": 26.9, + "old_smoothed_weight": 26.8 + }, + { + "timestamp": "10:52:56.999", + "brew_time": "25.4", + "actual_weight": 27.6, + "old_weight": 27.4, + "actual_smoothed_weight": 27.1, + "old_smoothed_weight": 26.9 + }, + { + "timestamp": "10:52:57.121", + "brew_time": "25.5", + "actual_weight": 27.8, + "old_weight": 27.6, + "actual_smoothed_weight": 27.3, + "old_smoothed_weight": 27.1 + }, + { + "timestamp": "10:52:57.212", + "brew_time": "25.6", + "actual_weight": 28, + "old_weight": 27.8, + "actual_smoothed_weight": 27.5, + "old_smoothed_weight": 27.3 + }, + { + "timestamp": "10:52:57.331", + "brew_time": "25.7", + "actual_weight": 28.2, + "old_weight": 28, + "actual_smoothed_weight": 27.7, + "old_smoothed_weight": 27.5 + }, + { + "timestamp": "10:52:57.421", + "brew_time": "25.8", + "actual_weight": 28.4, + "old_weight": 28.2, + "actual_smoothed_weight": 27.9, + "old_smoothed_weight": 27.7 + }, + { + "timestamp": "10:52:57.541", + "brew_time": "25.9", + "actual_weight": 28.6, + "old_weight": 28.4, + "actual_smoothed_weight": 28.1, + "old_smoothed_weight": 27.9 + }, + { + "timestamp": "10:52:57.634", + "brew_time": "25.10", + "actual_weight": 28.8, + "old_weight": 28.6, + "actual_smoothed_weight": 28.3, + "old_smoothed_weight": 28.1 + }, + { + "timestamp": "10:52:57.751", + "brew_time": "26.1", + "actual_weight": 28.9, + "old_weight": 28.8, + "actual_smoothed_weight": 28.5, + "old_smoothed_weight": 28.3 + }, + { + "timestamp": "10:52:57.840", + "brew_time": "26.2", + "actual_weight": 29.1, + "old_weight": 28.9, + "actual_smoothed_weight": 28.7, + "old_smoothed_weight": 28.5 + }, + { + "timestamp": "10:52:57.930", + "brew_time": "26.3", + "actual_weight": 29.3, + "old_weight": 29.1, + "actual_smoothed_weight": 28.9, + "old_smoothed_weight": 28.7 + }, + { + "timestamp": "10:52:58.050", + "brew_time": "26.4", + "actual_weight": 29.5, + "old_weight": 29.3, + "actual_smoothed_weight": 29.1, + "old_smoothed_weight": 28.9 + }, + { + "timestamp": "10:52:58.139", + "brew_time": "26.5", + "actual_weight": 29.7, + "old_weight": 29.5, + "actual_smoothed_weight": 29.2, + "old_smoothed_weight": 29.1 + }, + { + "timestamp": "10:52:58.263", + "brew_time": "26.6", + "actual_weight": 29.9, + "old_weight": 29.7, + "actual_smoothed_weight": 29.4, + "old_smoothed_weight": 29.2 + }, + { + "timestamp": "10:52:58.350", + "brew_time": "26.7", + "actual_weight": 30.1, + "old_weight": 29.9, + "actual_smoothed_weight": 29.6, + "old_smoothed_weight": 29.4 + }, + { + "timestamp": "10:52:58.470", + "brew_time": "26.8", + "actual_weight": 30.3, + "old_weight": 30.1, + "actual_smoothed_weight": 29.8, + "old_smoothed_weight": 29.6 + }, + { + "timestamp": "10:52:58.620", + "brew_time": "26.9", + "actual_weight": 30.4, + "old_weight": 30.3, + "actual_smoothed_weight": 30, + "old_smoothed_weight": 29.8 + }, + { + "timestamp": "10:52:58.717", + "brew_time": "27.1", + "actual_weight": 30.4, + "old_weight": 30.4, + "actual_smoothed_weight": 30.1, + "old_smoothed_weight": 30 + }, + { + "timestamp": "10:52:58.831", + "brew_time": "27.2", + "actual_weight": 30.7, + "old_weight": 30.4, + "actual_smoothed_weight": 30.3, + "old_smoothed_weight": 30.1 + }, + { + "timestamp": "10:52:58.921", + "brew_time": "27.3", + "actual_weight": 30.8, + "old_weight": 30.7, + "actual_smoothed_weight": 30.4, + "old_smoothed_weight": 30.3 + }, + { + "timestamp": "10:52:58.980", + "brew_time": "27.4", + "actual_weight": 30.9, + "old_weight": 30.8, + "actual_smoothed_weight": 30.6, + "old_smoothed_weight": 30.4 + }, + { + "timestamp": "10:52:59.080", + "brew_time": "27.5", + "actual_weight": 31.2, + "old_weight": 30.9, + "actual_smoothed_weight": 30.8, + "old_smoothed_weight": 30.6 + }, + { + "timestamp": "10:52:59.190", + "brew_time": "27.6", + "actual_weight": 31.3, + "old_weight": 31.2, + "actual_smoothed_weight": 30.9, + "old_smoothed_weight": 30.8 + }, + { + "timestamp": "10:52:59.281", + "brew_time": "27.7", + "actual_weight": 31.3, + "old_weight": 31.3, + "actual_smoothed_weight": 31, + "old_smoothed_weight": 30.9 + }, + { + "timestamp": "10:52:59.401", + "brew_time": "27.8", + "actual_weight": 31.5, + "old_weight": 31.3, + "actual_smoothed_weight": 31.2, + "old_smoothed_weight": 31 + }, + { + "timestamp": "10:52:59.551", + "brew_time": "27.9", + "actual_weight": 31.6, + "old_weight": 31.5, + "actual_smoothed_weight": 31.3, + "old_smoothed_weight": 31.2 + }, + { + "timestamp": "10:52:59.640", + "brew_time": "27.10", + "actual_weight": 31.7, + "old_weight": 31.6, + "actual_smoothed_weight": 31.4, + "old_smoothed_weight": 31.3 + }, + { + "timestamp": "10:52:59.760", + "brew_time": "28.1", + "actual_weight": 31.8, + "old_weight": 31.7, + "actual_smoothed_weight": 31.5, + "old_smoothed_weight": 31.4 + }, + { + "timestamp": "10:52:59.850", + "brew_time": "28.2", + "actual_weight": 32, + "old_weight": 31.8, + "actual_smoothed_weight": 31.7, + "old_smoothed_weight": 31.5 + }, + { + "timestamp": "10:52:59.970", + "brew_time": "28.3", + "actual_weight": 32.1, + "old_weight": 32, + "actual_smoothed_weight": 31.8, + "old_smoothed_weight": 31.7 + }, + { + "timestamp": "10:53:00.060", + "brew_time": "28.4", + "actual_weight": 32.2, + "old_weight": 32.1, + "actual_smoothed_weight": 31.9, + "old_smoothed_weight": 31.8 + }, + { + "timestamp": "10:53:00.150", + "brew_time": "28.5", + "actual_weight": 32.3, + "old_weight": 32.2, + "actual_smoothed_weight": 32.1, + "old_smoothed_weight": 31.9 + }, + { + "timestamp": "10:53:00.270", + "brew_time": "28.6", + "actual_weight": 32.5, + "old_weight": 32.3, + "actual_smoothed_weight": 32.2, + "old_smoothed_weight": 32.1 + }, + { + "timestamp": "10:53:00.359", + "brew_time": "28.7", + "actual_weight": 32.6, + "old_weight": 32.5, + "actual_smoothed_weight": 32.3, + "old_smoothed_weight": 32.2 + }, + { + "timestamp": "10:53:00.480", + "brew_time": "28.8", + "actual_weight": 32.6, + "old_weight": 32.6, + "actual_smoothed_weight": 32.4, + "old_smoothed_weight": 32.3 + }, + { + "timestamp": "10:53:00.570", + "brew_time": "28.9", + "actual_weight": 32.8, + "old_weight": 32.6, + "actual_smoothed_weight": 32.5, + "old_smoothed_weight": 32.4 + }, + { + "timestamp": "10:53:00.691", + "brew_time": "28.10", + "actual_weight": 32.8, + "old_weight": 32.8, + "actual_smoothed_weight": 32.6, + "old_smoothed_weight": 32.5 + }, + { + "timestamp": "10:53:00.779", + "brew_time": "29.1", + "actual_weight": 32.9, + "old_weight": 32.8, + "actual_smoothed_weight": 32.7, + "old_smoothed_weight": 32.6 + }, + { + "timestamp": "10:53:00.901", + "brew_time": "29.2", + "actual_weight": 33, + "old_weight": 32.9, + "actual_smoothed_weight": 32.8, + "old_smoothed_weight": 32.7 + }, + { + "timestamp": "10:53:00.990", + "brew_time": "29.3", + "actual_weight": 33.1, + "old_weight": 33, + "actual_smoothed_weight": 32.9, + "old_smoothed_weight": 32.8 + }, + { + "timestamp": "10:53:01.116", + "brew_time": "29.4", + "actual_weight": 33.2, + "old_weight": 33.1, + "actual_smoothed_weight": 33, + "old_smoothed_weight": 32.9 + }, + { + "timestamp": "10:53:01.201", + "brew_time": "29.5", + "actual_weight": 33.2, + "old_weight": 33.2, + "actual_smoothed_weight": 33.1, + "old_smoothed_weight": 33 + }, + { + "timestamp": "10:53:01.322", + "brew_time": "29.6", + "actual_weight": 33.4, + "old_weight": 33.2, + "actual_smoothed_weight": 33.2, + "old_smoothed_weight": 33.1 + }, + { + "timestamp": "10:53:01.441", + "brew_time": "29.7", + "actual_weight": 33.5, + "old_weight": 33.4, + "actual_smoothed_weight": 33.2, + "old_smoothed_weight": 33.2 + }, + { + "timestamp": "10:53:01.531", + "brew_time": "29.8", + "actual_weight": 33.5, + "old_weight": 33.5, + "actual_smoothed_weight": 33.3, + "old_smoothed_weight": 33.2 + }, + { + "timestamp": "10:53:01.619", + "brew_time": "29.9", + "actual_weight": 33.6, + "old_weight": 33.5, + "actual_smoothed_weight": 33.4, + "old_smoothed_weight": 33.3 + }, + { + "timestamp": "10:53:01.741", + "brew_time": "30.1", + "actual_weight": 33.6, + "old_weight": 33.6, + "actual_smoothed_weight": 33.5, + "old_smoothed_weight": 33.4 + }, + { + "timestamp": "10:53:01.830", + "brew_time": "30.2", + "actual_weight": 33.6, + "old_weight": 33.6, + "actual_smoothed_weight": 33.5, + "old_smoothed_weight": 33.5 + }, + { + "timestamp": "10:53:01.950", + "brew_time": "30.3", + "actual_weight": 33.7, + "old_weight": 33.6, + "actual_smoothed_weight": 33.6, + "old_smoothed_weight": 33.5 + }, + { + "timestamp": "10:53:02.042", + "brew_time": "30.4", + "actual_weight": 33.7, + "old_weight": 33.7, + "actual_smoothed_weight": 33.6, + "old_smoothed_weight": 33.6 + }, + { + "timestamp": "10:53:02.164", + "brew_time": "30.5", + "actual_weight": 33.9, + "old_weight": 33.7, + "actual_smoothed_weight": 33.7, + "old_smoothed_weight": 33.6 + }, + { + "timestamp": "10:53:02.251", + "brew_time": "30.6", + "actual_weight": 34, + "old_weight": 33.9, + "actual_smoothed_weight": 33.8, + "old_smoothed_weight": 33.7 + }, + { + "timestamp": "10:53:02.344", + "brew_time": "30.7", + "actual_weight": 34.3, + "old_weight": 34, + "actual_smoothed_weight": 33.9, + "old_smoothed_weight": 33.8 + }, + { + "timestamp": "10:53:02.457", + "brew_time": "30.8", + "actual_weight": 43.1, + "old_weight": 34.3, + "actual_smoothed_weight": 36.7, + "old_smoothed_weight": 33.9 + }, + { + "timestamp": "10:53:02.615", + "brew_time": "30.9", + "actual_weight": 43.1, + "old_weight": 43.1, + "actual_smoothed_weight": 43.1, + "old_smoothed_weight": 36.7 + }, + { + "timestamp": "10:53:02.702", + "brew_time": "31.1", + "actual_weight": 43.1, + "old_weight": 58, + "actual_smoothed_weight": 39.3, + "old_smoothed_weight": 43.1 + }, + { + "timestamp": "10:53:02.821", + "brew_time": "31.2", + "actual_weight": 43.1, + "old_weight": 30.5, + "actual_smoothed_weight": -6.4, + "old_smoothed_weight": 39.3 + }, + { + "timestamp": "10:53:02.913", + "brew_time": "31.3", + "actual_weight": 43.1, + "old_weight": -113.2, + "actual_smoothed_weight": -80.7, + "old_smoothed_weight": -6.4 + }, + { + "timestamp": "10:53:02.999", + "brew_time": "31.4", + "actual_weight": 43.1, + "old_weight": -254.1, + "actual_smoothed_weight": -145.8, + "old_smoothed_weight": -80.7 + }, + { + "timestamp": "10:53:03.120", + "brew_time": "31.5", + "actual_weight": 43.1, + "old_weight": -297.7, + "actual_smoothed_weight": -192.1, + "old_smoothed_weight": -145.8 + }, + { + "timestamp": "10:53:03.209", + "brew_time": "31.6", + "actual_weight": 43.1, + "old_weight": -300.1, + "actual_smoothed_weight": -224.5, + "old_smoothed_weight": -192.1 + }, + { + "timestamp": "10:53:03.333", + "brew_time": "31.7", + "actual_weight": 43.1, + "old_weight": -300.2, + "actual_smoothed_weight": -247.8, + "old_smoothed_weight": -224.5 + }, + { + "timestamp": "10:53:03.420", + "brew_time": "31.8", + "actual_weight": 43.1, + "old_weight": -302.2, + "actual_smoothed_weight": -260.2, + "old_smoothed_weight": -247.8 + }, + { + "timestamp": "10:53:03.509", + "brew_time": "31.9", + "actual_weight": 43.1, + "old_weight": -289.3, + "actual_smoothed_weight": -255.4, + "old_smoothed_weight": -260.2 + }, + { + "timestamp": "10:53:03.628", + "brew_time": "31.10", + "actual_weight": 43.1, + "old_weight": -244.2, + "actual_smoothed_weight": -236.5, + "old_smoothed_weight": -255.4 + }, + { + "timestamp": "10:53:03.721", + "brew_time": "32.1", + "actual_weight": 43.1, + "old_weight": -192.4, + "actual_smoothed_weight": -210.2, + "old_smoothed_weight": -236.5 + }, + { + "timestamp": "10:53:03.842", + "brew_time": "32.2", + "actual_weight": 43.1, + "old_weight": -148.9, + "actual_smoothed_weight": -193.5, + "old_smoothed_weight": -210.2 + }, + { + "timestamp": "10:53:03.931", + "brew_time": "32.3", + "actual_weight": 43.1, + "old_weight": -154.3, + "actual_smoothed_weight": -185.3, + "old_smoothed_weight": -193.5 + }, + { + "timestamp": "10:53:04.019", + "brew_time": "32.4", + "actual_weight": 43.1, + "old_weight": -166.4, + "actual_smoothed_weight": -180.4, + "old_smoothed_weight": -185.3 + }, + { + "timestamp": "10:53:04.199", + "brew_time": "32.5", + "actual_weight": 43.1, + "old_weight": -168.8, + "actual_smoothed_weight": -176.9, + "old_smoothed_weight": -180.4 + }, + { + "timestamp": "10:53:04.292", + "brew_time": "32.6", + "actual_weight": 43.1, + "old_weight": -168.7, + "actual_smoothed_weight": -174.4, + "old_smoothed_weight": -176.9 + }, + { + "timestamp": "10:53:04.351", + "brew_time": "32.7", + "actual_weight": 43.1, + "old_weight": -168.7, + "actual_smoothed_weight": -172.7, + "old_smoothed_weight": -174.4 + }, + { + "timestamp": "10:53:04.441", + "brew_time": "32.8", + "actual_weight": 43.1, + "old_weight": -168.7, + "actual_smoothed_weight": -171.5, + "old_smoothed_weight": -172.7 + }, + { + "timestamp": "10:53:04.591", + "brew_time": "32.9", + "actual_weight": 43.1, + "old_weight": -168.7, + "actual_smoothed_weight": -170.7, + "old_smoothed_weight": -171.5 + }, + { + "timestamp": "10:53:04.649", + "brew_time": "32.10", + "actual_weight": 43.1, + "old_weight": -168.7, + "actual_smoothed_weight": -170, + "old_smoothed_weight": -170.7 + }, + { + "timestamp": "10:53:04.770", + "brew_time": "33.1", + "actual_weight": 43.1, + "old_weight": -168.5, + "actual_smoothed_weight": -169.6, + "old_smoothed_weight": -170 + }, + { + "timestamp": "10:53:04.859", + "brew_time": "33.2", + "actual_weight": 43.1, + "old_weight": -168.5, + "actual_smoothed_weight": -169.2, + "old_smoothed_weight": -169.6 + }, + { + "timestamp": "10:53:04.980", + "brew_time": "33.3", + "actual_weight": 43.1, + "old_weight": -168.5, + "actual_smoothed_weight": -169, + "old_smoothed_weight": -169.2 + }, + { + "timestamp": "10:53:05.069", + "brew_time": "33.4", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.8, + "old_smoothed_weight": -169 + }, + { + "timestamp": "10:53:05.191", + "brew_time": "33.5", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.7, + "old_smoothed_weight": -168.8 + }, + { + "timestamp": "10:53:05.341", + "brew_time": "33.6", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.6, + "old_smoothed_weight": -168.7 + }, + { + "timestamp": "10:53:05.429", + "brew_time": "33.7", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.5, + "old_smoothed_weight": -168.6 + }, + { + "timestamp": "10:53:05.550", + "brew_time": "33.8", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.4, + "old_smoothed_weight": -168.5 + }, + { + "timestamp": "10:53:05.640", + "brew_time": "33.9", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.4, + "old_smoothed_weight": -168.4 + }, + { + "timestamp": "10:53:05.758", + "brew_time": "34.1", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.4, + "old_smoothed_weight": -168.4 + }, + { + "timestamp": "10:53:05.850", + "brew_time": "34.2", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.3, + "old_smoothed_weight": -168.4 + }, + { + "timestamp": "10:53:05.940", + "brew_time": "34.3", + "actual_weight": 43.1, + "old_weight": -168.3, + "actual_smoothed_weight": -168.3, + "old_smoothed_weight": -168.3 + }, + { + "timestamp": "10:53:06.060", + "brew_time": "34.4", + "actual_weight": 43.1, + "old_weight": -168.2, + "actual_smoothed_weight": -168.3, + "old_smoothed_weight": -168.3 + }, + { + "timestamp": "10:53:06.150", + "brew_time": "34.5", + "actual_weight": 43.1, + "old_weight": -168.2, + "actual_smoothed_weight": -168.3, + "old_smoothed_weight": -168.3 + }, + { + "timestamp": "10:53:06.270", + "brew_time": "34.6", + "actual_weight": 43.1, + "old_weight": -168.2, + "actual_smoothed_weight": -168.2, + "old_smoothed_weight": -168.3 + }, + { + "timestamp": "10:53:06.359", + "brew_time": "34.7", + "actual_weight": 43.1, + "old_weight": -168.1, + "actual_smoothed_weight": -168.2, + "old_smoothed_weight": -168.2 + }, + { + "timestamp": "10:53:06.485", + "brew_time": "34.8", + "actual_weight": 43.1, + "old_weight": -168.1, + "actual_smoothed_weight": -168.1, + "old_smoothed_weight": -168.2 + }, + { + "timestamp": "10:53:06.570", + "brew_time": "34.9", + "actual_weight": 43.1, + "old_weight": -168.1, + "actual_smoothed_weight": -168.1, + "old_smoothed_weight": -168.1 + } + ], + "waterFlow": [ + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "10:52:32.579", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "10:52:33.599", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "10:52:34.592", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "10:52:35.639", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "10:52:36.660", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "10:52:37.591", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "6", + "timestamp": "10:52:38.583", + "value": 0.11111111111111112 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "10:52:39.660", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "8", + "timestamp": "10:52:40.590", + "value": 1 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "9", + "timestamp": "10:52:41.611", + "value": 1.9 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "10", + "timestamp": "10:52:42.691", + "value": 1.6999999999999997 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "11", + "timestamp": "10:52:43.618", + "value": 1.444444444444445 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "12", + "timestamp": "10:52:44.703", + "value": 1.5 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "13", + "timestamp": "10:52:45.660", + "value": 1.4444444444444433 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "14", + "timestamp": "10:52:46.595", + "value": 1.5555555555555558 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "15", + "timestamp": "10:52:47.611", + "value": 1.5999999999999996 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "16", + "timestamp": "10:52:48.690", + "value": 1.6000000000000014 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "17", + "timestamp": "10:52:49.651", + "value": 1.6666666666666665 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "18", + "timestamp": "10:52:50.670", + "value": 1.8000000000000007 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "19", + "timestamp": "10:52:51.658", + "value": 1.6666666666666665 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "20", + "timestamp": "10:52:52.621", + "value": 1.7777777777777755 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "21", + "timestamp": "10:52:53.641", + "value": 1.8000000000000007 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "10:52:54.691", + "value": 1.8999999999999986 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "23", + "timestamp": "10:52:55.622", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "24", + "timestamp": "10:52:56.616", + "value": 1.7777777777777792 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "25", + "timestamp": "10:52:57.634", + "value": 2 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "26", + "timestamp": "10:52:58.620", + "value": 1.888888888888888 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "27", + "timestamp": "10:52:59.640", + "value": 1.3000000000000007 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "28", + "timestamp": "10:53:00.691", + "value": 1.1999999999999957 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "29", + "timestamp": "10:53:01.619", + "value": 0.777777777777781 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "30", + "timestamp": "10:53:02.615", + "value": 10.666666666666668 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "31", + "timestamp": "10:53:03.628", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "32", + "timestamp": "10:53:04.649", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "33", + "timestamp": "10:53:05.640", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + }, + { + "brew_time": "34", + "timestamp": "10:53:06.688", + "value": 0 + } + ], + "realtimeFlow": [ + { + "brew_time": "0.0", + "timestamp": "10:52:31.741", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.1", + "timestamp": "10:52:31.859", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.2", + "timestamp": "10:52:31.952", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.3", + "timestamp": "10:52:32.069", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.4", + "timestamp": "10:52:32.160", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.5", + "timestamp": "10:52:32.280", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.6", + "timestamp": "10:52:32.371", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.7", + "timestamp": "10:52:32.459", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.8", + "timestamp": "10:52:32.585", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.1", + "timestamp": "10:52:32.669", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.2", + "timestamp": "10:52:32.788", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.3", + "timestamp": "10:52:32.879", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.4", + "timestamp": "10:52:32.999", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.5", + "timestamp": "10:52:33.091", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.6", + "timestamp": "10:52:33.181", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.7", + "timestamp": "10:52:33.300", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.8", + "timestamp": "10:52:33.390", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.9", + "timestamp": "10:52:33.511", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.10", + "timestamp": "10:52:33.603", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.1", + "timestamp": "10:52:33.721", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.2", + "timestamp": "10:52:33.810", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.3", + "timestamp": "10:52:33.959", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.4", + "timestamp": "10:52:34.084", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.5", + "timestamp": "10:52:34.171", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.6", + "timestamp": "10:52:34.258", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.7", + "timestamp": "10:52:34.382", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.8", + "timestamp": "10:52:34.469", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.9", + "timestamp": "10:52:34.596", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.1", + "timestamp": "10:52:34.683", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.2", + "timestamp": "10:52:34.801", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.3", + "timestamp": "10:52:34.891", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.4", + "timestamp": "10:52:35.010", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.5", + "timestamp": "10:52:35.099", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.6", + "timestamp": "10:52:35.219", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.7", + "timestamp": "10:52:35.312", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.8", + "timestamp": "10:52:35.432", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.9", + "timestamp": "10:52:35.532", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.10", + "timestamp": "10:52:35.645", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.1", + "timestamp": "10:52:35.730", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.2", + "timestamp": "10:52:35.820", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.3", + "timestamp": "10:52:35.940", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.4", + "timestamp": "10:52:36.044", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.5", + "timestamp": "10:52:36.150", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.6", + "timestamp": "10:52:36.239", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.7", + "timestamp": "10:52:36.359", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.8", + "timestamp": "10:52:36.449", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.9", + "timestamp": "10:52:36.570", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "4.10", + "timestamp": "10:52:36.665", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.1", + "timestamp": "10:52:36.811", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.2", + "timestamp": "10:52:36.869", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.3", + "timestamp": "10:52:36.988", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.4", + "timestamp": "10:52:37.079", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.5", + "timestamp": "10:52:37.199", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.6", + "timestamp": "10:52:37.291", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.7", + "timestamp": "10:52:37.410", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.8", + "timestamp": "10:52:37.498", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "5.9", + "timestamp": "10:52:37.597", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "6.1", + "timestamp": "10:52:37.771", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "6.2", + "timestamp": "10:52:37.830", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "6.3", + "timestamp": "10:52:37.920", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "6.4", + "timestamp": "10:52:38.072", + "smoothed_weight": 0.010000000000000002, + "flow_value": 0.10000000000000002 + }, + { + "brew_time": "6.5", + "timestamp": "10:52:38.191", + "smoothed_weight": 0.019000000000000003, + "flow_value": 0.09000000000000001 + }, + { + "brew_time": "6.6", + "timestamp": "10:52:38.278", + "smoothed_weight": 0.027100000000000006, + "flow_value": 0.08100000000000003 + }, + { + "brew_time": "6.7", + "timestamp": "10:52:38.401", + "smoothed_weight": 0.034390000000000004, + "flow_value": 0.07289999999999998 + }, + { + "brew_time": "6.8", + "timestamp": "10:52:38.491", + "smoothed_weight": 0.040951, + "flow_value": 0.06560999999999997 + }, + { + "brew_time": "6.9", + "timestamp": "10:52:38.588", + "smoothed_weight": 0.046855900000000006, + "flow_value": 0.059049000000000046 + }, + { + "brew_time": "7.1", + "timestamp": "10:52:38.671", + "smoothed_weight": 0.05217031000000001, + "flow_value": 0.053144100000000055 + }, + { + "brew_time": "7.2", + "timestamp": "10:52:38.790", + "smoothed_weight": 0.056953279000000016, + "flow_value": 0.04782969000000005 + }, + { + "brew_time": "7.3", + "timestamp": "10:52:38.879", + "smoothed_weight": 0.06125795110000002, + "flow_value": 0.04304672100000004 + }, + { + "brew_time": "7.4", + "timestamp": "10:52:38.998", + "smoothed_weight": 0.06513215599000002, + "flow_value": 0.038742048900000034 + }, + { + "brew_time": "7.5", + "timestamp": "10:52:39.090", + "smoothed_weight": 0.06861894039100003, + "flow_value": 0.03486784401000004 + }, + { + "brew_time": "7.6", + "timestamp": "10:52:39.180", + "smoothed_weight": 0.07175704635190003, + "flow_value": 0.031381059609000006 + }, + { + "brew_time": "7.7", + "timestamp": "10:52:39.360", + "smoothed_weight": 0.07458134171671002, + "flow_value": 0.028242953648099922 + }, + { + "brew_time": "7.8", + "timestamp": "10:52:39.452", + "smoothed_weight": 0.07712320754503901, + "flow_value": 0.02541865828328993 + }, + { + "brew_time": "7.9", + "timestamp": "10:52:39.571", + "smoothed_weight": 0.07941088679053512, + "flow_value": 0.022876792454961103 + }, + { + "brew_time": "7.10", + "timestamp": "10:52:39.664", + "smoothed_weight": 0.08146979811148161, + "flow_value": 0.020589113209464882 + }, + { + "brew_time": "8.1", + "timestamp": "10:52:39.718", + "smoothed_weight": 0.08332281830033345, + "flow_value": 0.01853020188851834 + }, + { + "brew_time": "8.2", + "timestamp": "10:52:39.810", + "smoothed_weight": 0.0949905364703001, + "flow_value": 0.1166771816996666 + }, + { + "brew_time": "8.3", + "timestamp": "10:52:39.934", + "smoothed_weight": 0.1254914828232701, + "flow_value": 0.30500946352970004 + }, + { + "brew_time": "8.4", + "timestamp": "10:52:40.020", + "smoothed_weight": 0.1729423345409431, + "flow_value": 0.4745085171767299 + }, + { + "brew_time": "8.5", + "timestamp": "10:52:40.171", + "smoothed_weight": 0.2156481010868488, + "flow_value": 0.4270576654590569 + }, + { + "brew_time": "8.6", + "timestamp": "10:52:40.291", + "smoothed_weight": 0.2540832909781639, + "flow_value": 0.38435189891315114 + }, + { + "brew_time": "8.7", + "timestamp": "10:52:40.380", + "smoothed_weight": 0.29867496188034753, + "flow_value": 0.44591670902183633 + }, + { + "brew_time": "8.8", + "timestamp": "10:52:40.470", + "smoothed_weight": 0.3688074656923128, + "flow_value": 0.7013250381196529 + }, + { + "brew_time": "8.9", + "timestamp": "10:52:40.594", + "smoothed_weight": 0.46192671912308153, + "flow_value": 0.9311925343076871 + }, + { + "brew_time": "9.1", + "timestamp": "10:52:40.680", + "smoothed_weight": 0.5657340472107735, + "flow_value": 1.0380732808769193 + }, + { + "brew_time": "9.2", + "timestamp": "10:52:40.798", + "smoothed_weight": 0.6691606424896962, + "flow_value": 1.0342659527892273 + }, + { + "brew_time": "9.3", + "timestamp": "10:52:40.890", + "smoothed_weight": 0.7722445782407267, + "flow_value": 1.0308393575103048 + }, + { + "brew_time": "9.4", + "timestamp": "10:52:41.011", + "smoothed_weight": 0.8950201204166541, + "flow_value": 1.2277554217592745 + }, + { + "brew_time": "9.5", + "timestamp": "10:52:41.101", + "smoothed_weight": 1.0255181083749887, + "flow_value": 1.3049798795833456 + }, + { + "brew_time": "9.6", + "timestamp": "10:52:41.221", + "smoothed_weight": 1.1629662975374897, + "flow_value": 1.37448189162501 + }, + { + "brew_time": "9.7", + "timestamp": "10:52:41.316", + "smoothed_weight": 1.2966696677837408, + "flow_value": 1.3370337024625112 + }, + { + "brew_time": "9.8", + "timestamp": "10:52:41.399", + "smoothed_weight": 1.4370027010053668, + "flow_value": 1.4033303322162594 + }, + { + "brew_time": "9.9", + "timestamp": "10:52:41.518", + "smoothed_weight": 1.5833024309048302, + "flow_value": 1.462997298994635 + }, + { + "brew_time": "9.10", + "timestamp": "10:52:41.615", + "smoothed_weight": 1.7249721878143474, + "flow_value": 1.416697569095171 + }, + { + "brew_time": "10.1", + "timestamp": "10:52:41.730", + "smoothed_weight": 1.8724749690329128, + "flow_value": 1.4750278121856542 + }, + { + "brew_time": "10.2", + "timestamp": "10:52:41.819", + "smoothed_weight": 2.0252274721296213, + "flow_value": 1.5275250309670851 + }, + { + "brew_time": "10.3", + "timestamp": "10:52:41.970", + "smoothed_weight": 2.1827047249166593, + "flow_value": 1.5747725278703806 + }, + { + "brew_time": "10.4", + "timestamp": "10:52:42.060", + "smoothed_weight": 2.3444342524249935, + "flow_value": 1.6172952750833414 + }, + { + "brew_time": "10.5", + "timestamp": "10:52:42.178", + "smoothed_weight": 2.4999908271824944, + "flow_value": 1.5555657475750095 + }, + { + "brew_time": "10.6", + "timestamp": "10:52:42.270", + "smoothed_weight": 2.659991744464245, + "flow_value": 1.600009172817507 + }, + { + "brew_time": "10.7", + "timestamp": "10:52:42.390", + "smoothed_weight": 2.823992570017821, + "flow_value": 1.6400082555357587 + }, + { + "brew_time": "10.8", + "timestamp": "10:52:42.478", + "smoothed_weight": 2.981593313016039, + "flow_value": 1.5760074299821802 + }, + { + "brew_time": "10.9", + "timestamp": "10:52:42.571", + "smoothed_weight": 3.143433981714435, + "flow_value": 1.6184066869839597 + }, + { + "brew_time": "10.10", + "timestamp": "10:52:42.695", + "smoothed_weight": 3.3090905835429916, + "flow_value": 1.6565660182855657 + }, + { + "brew_time": "11.1", + "timestamp": "10:52:42.779", + "smoothed_weight": 3.4781815251886923, + "flow_value": 1.690909416457007 + }, + { + "brew_time": "11.2", + "timestamp": "10:52:42.898", + "smoothed_weight": 3.640363372669823, + "flow_value": 1.6218184748113051 + }, + { + "brew_time": "11.3", + "timestamp": "10:52:42.990", + "smoothed_weight": 3.7863270354028407, + "flow_value": 1.4596366273301786 + }, + { + "brew_time": "11.4", + "timestamp": "10:52:43.111", + "smoothed_weight": 3.927694331862557, + "flow_value": 1.4136729645971613 + }, + { + "brew_time": "11.5", + "timestamp": "10:52:43.198", + "smoothed_weight": 4.084924898676301, + "flow_value": 1.5723056681374459 + }, + { + "brew_time": "11.6", + "timestamp": "10:52:43.290", + "smoothed_weight": 4.236432408808671, + "flow_value": 1.5150751013236974 + }, + { + "brew_time": "11.7", + "timestamp": "10:52:43.408", + "smoothed_weight": 4.392789167927804, + "flow_value": 1.563567591191326 + }, + { + "brew_time": "11.8", + "timestamp": "10:52:43.499", + "smoothed_weight": 4.543510251135023, + "flow_value": 1.5072108320721966 + }, + { + "brew_time": "11.9", + "timestamp": "10:52:43.623", + "smoothed_weight": 4.689159226021522, + "flow_value": 1.456489748864982 + }, + { + "brew_time": "12.1", + "timestamp": "10:52:43.770", + "smoothed_weight": 4.84024330341937, + "flow_value": 1.5108407739784813 + }, + { + "brew_time": "12.2", + "timestamp": "10:52:43.860", + "smoothed_weight": 4.996218973077433, + "flow_value": 1.5597566965806298 + }, + { + "brew_time": "12.3", + "timestamp": "10:52:43.979", + "smoothed_weight": 5.14659707576969, + "flow_value": 1.5037810269225727 + }, + { + "brew_time": "12.4", + "timestamp": "10:52:44.039", + "smoothed_weight": 5.2919373681927215, + "flow_value": 1.453402924230316 + }, + { + "brew_time": "12.5", + "timestamp": "10:52:44.131", + "smoothed_weight": 5.44274363137345, + "flow_value": 1.508062631807281 + }, + { + "brew_time": "12.6", + "timestamp": "10:52:44.278", + "smoothed_weight": 5.598469268236105, + "flow_value": 1.557256368626554 + }, + { + "brew_time": "12.7", + "timestamp": "10:52:44.371", + "smoothed_weight": 5.748622341412495, + "flow_value": 1.5015307317638982 + }, + { + "brew_time": "12.8", + "timestamp": "10:52:44.490", + "smoothed_weight": 5.8937601072712456, + "flow_value": 1.4513776585875071 + }, + { + "brew_time": "12.9", + "timestamp": "10:52:44.583", + "smoothed_weight": 6.044384096544121, + "flow_value": 1.5062398927287557 + }, + { + "brew_time": "12.10", + "timestamp": "10:52:44.708", + "smoothed_weight": 6.199945686889709, + "flow_value": 1.5556159034558803 + }, + { + "brew_time": "13.1", + "timestamp": "10:52:44.790", + "smoothed_weight": 6.349951118200739, + "flow_value": 1.5000543131102972 + }, + { + "brew_time": "13.2", + "timestamp": "10:52:44.911", + "smoothed_weight": 6.494956006380665, + "flow_value": 1.4500488817992618 + }, + { + "brew_time": "13.3", + "timestamp": "10:52:45.000", + "smoothed_weight": 6.6454604057425986, + "flow_value": 1.505043993619335 + }, + { + "brew_time": "13.4", + "timestamp": "10:52:45.090", + "smoothed_weight": 6.790914365168339, + "flow_value": 1.4545395942574046 + }, + { + "brew_time": "13.5", + "timestamp": "10:52:45.212", + "smoothed_weight": 6.941822928651505, + "flow_value": 1.5090856348316617 + }, + { + "brew_time": "13.6", + "timestamp": "10:52:45.298", + "smoothed_weight": 7.087640635786355, + "flow_value": 1.4581770713484943 + }, + { + "brew_time": "13.7", + "timestamp": "10:52:45.419", + "smoothed_weight": 7.23887657220772, + "flow_value": 1.5123593642136512 + }, + { + "brew_time": "13.8", + "timestamp": "10:52:45.514", + "smoothed_weight": 7.384988914986948, + "flow_value": 1.4611234277922858 + }, + { + "brew_time": "13.9", + "timestamp": "10:52:45.664", + "smoothed_weight": 7.536490023488254, + "flow_value": 1.5150110850130538 + }, + { + "brew_time": "14.1", + "timestamp": "10:52:45.780", + "smoothed_weight": 7.6928410211394285, + "flow_value": 1.5635099765117477 + }, + { + "brew_time": "14.2", + "timestamp": "10:52:45.840", + "smoothed_weight": 7.8435569190254855, + "flow_value": 1.50715897886057 + }, + { + "brew_time": "14.3", + "timestamp": "10:52:45.930", + "smoothed_weight": 7.989201227122937, + "flow_value": 1.4564430809745144 + }, + { + "brew_time": "14.4", + "timestamp": "10:52:46.080", + "smoothed_weight": 8.140281104410644, + "flow_value": 1.5107987728770667 + }, + { + "brew_time": "14.5", + "timestamp": "10:52:46.200", + "smoothed_weight": 8.28625299396958, + "flow_value": 1.4597188955893614 + }, + { + "brew_time": "14.6", + "timestamp": "10:52:46.290", + "smoothed_weight": 8.437627694572623, + "flow_value": 1.513747006030428 + }, + { + "brew_time": "14.7", + "timestamp": "10:52:46.379", + "smoothed_weight": 8.59386492511536, + "flow_value": 1.5623723054273775 + }, + { + "brew_time": "14.8", + "timestamp": "10:52:46.501", + "smoothed_weight": 8.744478432603824, + "flow_value": 1.5061350748846358 + }, + { + "brew_time": "14.9", + "timestamp": "10:52:46.600", + "smoothed_weight": 8.890030589343441, + "flow_value": 1.455521567396172 + }, + { + "brew_time": "15.1", + "timestamp": "10:52:46.711", + "smoothed_weight": 9.041027530409096, + "flow_value": 1.5099694106565487 + }, + { + "brew_time": "15.2", + "timestamp": "10:52:46.800", + "smoothed_weight": 9.196924777368187, + "flow_value": 1.558972469590909 + }, + { + "brew_time": "15.3", + "timestamp": "10:52:46.920", + "smoothed_weight": 9.357232299631368, + "flow_value": 1.6030752226318157 + }, + { + "brew_time": "15.4", + "timestamp": "10:52:47.011", + "smoothed_weight": 9.511509069668232, + "flow_value": 1.542767700368639 + }, + { + "brew_time": "15.5", + "timestamp": "10:52:47.132", + "smoothed_weight": 9.670358162701408, + "flow_value": 1.5884909303317585 + }, + { + "brew_time": "15.6", + "timestamp": "10:52:47.220", + "smoothed_weight": 9.833322346431268, + "flow_value": 1.6296418372986032 + }, + { + "brew_time": "15.7", + "timestamp": "10:52:47.311", + "smoothed_weight": 9.989990111788142, + "flow_value": 1.5666776535687355 + }, + { + "brew_time": "15.8", + "timestamp": "10:52:47.399", + "smoothed_weight": 10.150991100609328, + "flow_value": 1.610009888211863 + }, + { + "brew_time": "15.9", + "timestamp": "10:52:47.521", + "smoothed_weight": 10.305891990548396, + "flow_value": 1.549008899390678 + }, + { + "brew_time": "15.10", + "timestamp": "10:52:47.616", + "smoothed_weight": 10.465302791493556, + "flow_value": 1.5941080094516025 + }, + { + "brew_time": "16.1", + "timestamp": "10:52:47.729", + "smoothed_weight": 10.628772512344202, + "flow_value": 1.6346972085064593 + }, + { + "brew_time": "16.2", + "timestamp": "10:52:47.850", + "smoothed_weight": 10.785895261109783, + "flow_value": 1.5712274876558041 + }, + { + "brew_time": "16.3", + "timestamp": "10:52:47.970", + "smoothed_weight": 10.937305734998805, + "flow_value": 1.5141047388902251 + }, + { + "brew_time": "16.4", + "timestamp": "10:52:48.062", + "smoothed_weight": 11.093575161498926, + "flow_value": 1.5626942650012055 + }, + { + "brew_time": "16.5", + "timestamp": "10:52:48.150", + "smoothed_weight": 11.254217645349033, + "flow_value": 1.606424838501077 + }, + { + "brew_time": "16.6", + "timestamp": "10:52:48.271", + "smoothed_weight": 11.41879588081413, + "flow_value": 1.6457823546509687 + }, + { + "brew_time": "16.7", + "timestamp": "10:52:48.359", + "smoothed_weight": 11.586916292732719, + "flow_value": 1.6812041191858818 + }, + { + "brew_time": "16.8", + "timestamp": "10:52:48.478", + "smoothed_weight": 11.748224663459448, + "flow_value": 1.6130837072672932 + }, + { + "brew_time": "16.9", + "timestamp": "10:52:48.570", + "smoothed_weight": 11.903402197113504, + "flow_value": 1.5517753365405618 + }, + { + "brew_time": "16.10", + "timestamp": "10:52:48.695", + "smoothed_weight": 12.073061977402153, + "flow_value": 1.6965978028864903 + }, + { + "brew_time": "17.1", + "timestamp": "10:52:48.778", + "smoothed_weight": 12.23575577966194, + "flow_value": 1.6269380225978658 + }, + { + "brew_time": "17.2", + "timestamp": "10:52:48.870", + "smoothed_weight": 12.392180201695746, + "flow_value": 1.5642442203380647 + }, + { + "brew_time": "17.3", + "timestamp": "10:52:49.018", + "smoothed_weight": 12.552962181526173, + "flow_value": 1.6078197983042664 + }, + { + "brew_time": "17.4", + "timestamp": "10:52:49.141", + "smoothed_weight": 12.717665963373555, + "flow_value": 1.6470378184738266 + }, + { + "brew_time": "17.5", + "timestamp": "10:52:49.231", + "smoothed_weight": 12.8758993670362, + "flow_value": 1.5823340366264382 + }, + { + "brew_time": "17.6", + "timestamp": "10:52:49.321", + "smoothed_weight": 13.04830943033258, + "flow_value": 1.7241006329638076 + }, + { + "brew_time": "17.7", + "timestamp": "10:52:49.441", + "smoothed_weight": 13.213478487299323, + "flow_value": 1.65169056966743 + }, + { + "brew_time": "17.8", + "timestamp": "10:52:49.529", + "smoothed_weight": 13.372130638569391, + "flow_value": 1.5865215127006849 + }, + { + "brew_time": "17.9", + "timestamp": "10:52:49.656", + "smoothed_weight": 13.534917574712452, + "flow_value": 1.627869361430605 + }, + { + "brew_time": "18.1", + "timestamp": "10:52:49.741", + "smoothed_weight": 13.701425817241207, + "flow_value": 1.6650824252875474 + }, + { + "brew_time": "18.2", + "timestamp": "10:52:49.860", + "smoothed_weight": 13.861283235517085, + "flow_value": 1.5985741827587852 + }, + { + "brew_time": "18.3", + "timestamp": "10:52:49.950", + "smoothed_weight": 14.025154911965378, + "flow_value": 1.6387167644829326 + }, + { + "brew_time": "18.4", + "timestamp": "10:52:50.081", + "smoothed_weight": 14.202639420768842, + "flow_value": 1.7748450880346311 + }, + { + "brew_time": "18.5", + "timestamp": "10:52:50.159", + "smoothed_weight": 14.372375478691957, + "flow_value": 1.6973605792311552 + }, + { + "brew_time": "18.6", + "timestamp": "10:52:50.250", + "smoothed_weight": 14.545137930822762, + "flow_value": 1.7276245213080443 + }, + { + "brew_time": "18.7", + "timestamp": "10:52:50.370", + "smoothed_weight": 14.720624137740487, + "flow_value": 1.7548620691772499 + }, + { + "brew_time": "18.8", + "timestamp": "10:52:50.461", + "smoothed_weight": 14.888561723966438, + "flow_value": 1.6793758622595156 + }, + { + "brew_time": "18.9", + "timestamp": "10:52:50.579", + "smoothed_weight": 15.059705551569795, + "flow_value": 1.7114382760335722 + }, + { + "brew_time": "18.10", + "timestamp": "10:52:50.675", + "smoothed_weight": 15.233734996412815, + "flow_value": 1.7402944484302019 + }, + { + "brew_time": "19.1", + "timestamp": "10:52:50.793", + "smoothed_weight": 15.400361496771534, + "flow_value": 1.6662650035871884 + }, + { + "brew_time": "19.2", + "timestamp": "10:52:50.879", + "smoothed_weight": 15.570325347094382, + "flow_value": 1.6996385032284778 + }, + { + "brew_time": "19.3", + "timestamp": "10:52:50.998", + "smoothed_weight": 15.733292812384946, + "flow_value": 1.629674652905635 + }, + { + "brew_time": "19.4", + "timestamp": "10:52:51.090", + "smoothed_weight": 15.899963531146451, + "flow_value": 1.666707187615053 + }, + { + "brew_time": "19.5", + "timestamp": "10:52:51.211", + "smoothed_weight": 16.069967178031806, + "flow_value": 1.700036468853554 + }, + { + "brew_time": "19.6", + "timestamp": "10:52:51.299", + "smoothed_weight": 16.242970460228626, + "flow_value": 1.7300328219682015 + }, + { + "brew_time": "19.7", + "timestamp": "10:52:51.390", + "smoothed_weight": 16.418673414205763, + "flow_value": 1.7570295397713664 + }, + { + "brew_time": "19.8", + "timestamp": "10:52:51.571", + "smoothed_weight": 16.586806072785187, + "flow_value": 1.6813265857942383 + }, + { + "brew_time": "19.9", + "timestamp": "10:52:51.663", + "smoothed_weight": 16.75812546550667, + "flow_value": 1.7131939272148244 + }, + { + "brew_time": "20.1", + "timestamp": "10:52:51.720", + "smoothed_weight": 16.932312918956004, + "flow_value": 1.7418745344933484 + }, + { + "brew_time": "20.2", + "timestamp": "10:52:51.871", + "smoothed_weight": 17.109081627060405, + "flow_value": 1.7676870810440093 + }, + { + "brew_time": "20.3", + "timestamp": "10:52:51.961", + "smoothed_weight": 17.278173464354364, + "flow_value": 1.690918372939585 + }, + { + "brew_time": "20.4", + "timestamp": "10:52:52.051", + "smoothed_weight": 17.450356117918925, + "flow_value": 1.7218265356456186 + }, + { + "brew_time": "20.5", + "timestamp": "10:52:52.171", + "smoothed_weight": 17.615320506127034, + "flow_value": 1.6496438820810866 + }, + { + "brew_time": "20.6", + "timestamp": "10:52:52.258", + "smoothed_weight": 17.783788455514333, + "flow_value": 1.6846794938729914 + }, + { + "brew_time": "20.7", + "timestamp": "10:52:52.354", + "smoothed_weight": 17.9654096099629, + "flow_value": 1.8162115444856752 + }, + { + "brew_time": "20.8", + "timestamp": "10:52:52.470", + "smoothed_weight": 18.13886864896661, + "flow_value": 1.7345903900370985 + }, + { + "brew_time": "20.9", + "timestamp": "10:52:52.626", + "smoothed_weight": 18.31498178406995, + "flow_value": 1.7611313510333915 + }, + { + "brew_time": "21.1", + "timestamp": "10:52:52.711", + "smoothed_weight": 18.493483605662956, + "flow_value": 1.7850182159300587 + }, + { + "brew_time": "21.2", + "timestamp": "10:52:52.802", + "smoothed_weight": 18.67413524509666, + "flow_value": 1.8065163943370521 + }, + { + "brew_time": "21.3", + "timestamp": "10:52:52.921", + "smoothed_weight": 18.856721720586997, + "flow_value": 1.8258647549033569 + }, + { + "brew_time": "21.4", + "timestamp": "10:52:53.012", + "smoothed_weight": 19.031049548528298, + "flow_value": 1.743278279413012 + }, + { + "brew_time": "21.5", + "timestamp": "10:52:53.132", + "smoothed_weight": 19.20794459367547, + "flow_value": 1.7689504514717314 + }, + { + "brew_time": "21.6", + "timestamp": "10:52:53.221", + "smoothed_weight": 19.387150134307927, + "flow_value": 1.7920554063245575 + }, + { + "brew_time": "21.7", + "timestamp": "10:52:53.311", + "smoothed_weight": 19.558435120877135, + "flow_value": 1.7128498656920854 + }, + { + "brew_time": "21.8", + "timestamp": "10:52:53.431", + "smoothed_weight": 19.73259160878942, + "flow_value": 1.7415648791228477 + }, + { + "brew_time": "21.9", + "timestamp": "10:52:53.520", + "smoothed_weight": 19.909332447910476, + "flow_value": 1.7674083912105587 + }, + { + "brew_time": "21.10", + "timestamp": "10:52:53.646", + "smoothed_weight": 20.08839920311943, + "flow_value": 1.7906675520895377 + }, + { + "brew_time": "22.1", + "timestamp": "10:52:53.731", + "smoothed_weight": 20.26955928280749, + "flow_value": 1.8116007968805903 + }, + { + "brew_time": "22.2", + "timestamp": "10:52:53.819", + "smoothed_weight": 20.45260335452674, + "flow_value": 1.8304407171925163 + }, + { + "brew_time": "22.3", + "timestamp": "10:52:53.941", + "smoothed_weight": 20.627343019074065, + "flow_value": 1.7473966454732448 + }, + { + "brew_time": "22.4", + "timestamp": "10:52:54.029", + "smoothed_weight": 20.80460871716666, + "flow_value": 1.7726569809259374 + }, + { + "brew_time": "22.5", + "timestamp": "10:52:54.152", + "smoothed_weight": 20.984147845449996, + "flow_value": 1.7953912828333785 + }, + { + "brew_time": "22.6", + "timestamp": "10:52:54.239", + "smoothed_weight": 21.165733060904998, + "flow_value": 1.815852154550015 + }, + { + "brew_time": "22.7", + "timestamp": "10:52:54.361", + "smoothed_weight": 21.3391597548145, + "flow_value": 1.734266939095015 + }, + { + "brew_time": "22.8", + "timestamp": "10:52:54.450", + "smoothed_weight": 21.515243779333048, + "flow_value": 1.7608402451854843 + }, + { + "brew_time": "22.9", + "timestamp": "10:52:54.571", + "smoothed_weight": 21.703719401399745, + "flow_value": 1.8847562206669721 + }, + { + "brew_time": "22.10", + "timestamp": "10:52:54.695", + "smoothed_weight": 21.883347461259774, + "flow_value": 1.7962805986002905 + }, + { + "brew_time": "23.1", + "timestamp": "10:52:54.781", + "smoothed_weight": 22.065012715133797, + "flow_value": 1.8166525387402288 + }, + { + "brew_time": "23.2", + "timestamp": "10:52:54.898", + "smoothed_weight": 22.24851144362042, + "flow_value": 1.834987284866223 + }, + { + "brew_time": "23.3", + "timestamp": "10:52:54.991", + "smoothed_weight": 22.433660299258378, + "flow_value": 1.8514885563795858 + }, + { + "brew_time": "23.4", + "timestamp": "10:52:55.116", + "smoothed_weight": 22.62029426933254, + "flow_value": 1.8663397007416194 + }, + { + "brew_time": "23.5", + "timestamp": "10:52:55.201", + "smoothed_weight": 22.798264842399288, + "flow_value": 1.7797057306674802 + }, + { + "brew_time": "23.6", + "timestamp": "10:52:55.321", + "smoothed_weight": 22.97843835815936, + "flow_value": 1.8017351576007101 + }, + { + "brew_time": "23.7", + "timestamp": "10:52:55.412", + "smoothed_weight": 23.160594522343423, + "flow_value": 1.8215616418406455 + }, + { + "brew_time": "23.8", + "timestamp": "10:52:55.531", + "smoothed_weight": 23.34453507010908, + "flow_value": 1.8394054776565838 + }, + { + "brew_time": "23.9", + "timestamp": "10:52:55.626", + "smoothed_weight": 23.520081563098177, + "flow_value": 1.7554649298909553 + }, + { + "brew_time": "24.1", + "timestamp": "10:52:55.711", + "smoothed_weight": 23.70807340678836, + "flow_value": 1.8799184369018107 + }, + { + "brew_time": "24.2", + "timestamp": "10:52:55.831", + "smoothed_weight": 23.887266066109525, + "flow_value": 1.7919265932116701 + }, + { + "brew_time": "24.3", + "timestamp": "10:52:55.980", + "smoothed_weight": 24.058539459498576, + "flow_value": 1.7127339338905045 + }, + { + "brew_time": "24.4", + "timestamp": "10:52:56.070", + "smoothed_weight": 24.232685513548716, + "flow_value": 1.7414605405014072 + }, + { + "brew_time": "24.5", + "timestamp": "10:52:56.133", + "smoothed_weight": 24.419416962193846, + "flow_value": 1.8673144864512992 + }, + { + "brew_time": "24.6", + "timestamp": "10:52:56.221", + "smoothed_weight": 24.60747526597446, + "flow_value": 1.8805830378061472 + }, + { + "brew_time": "24.7", + "timestamp": "10:52:56.401", + "smoothed_weight": 24.79672773937702, + "flow_value": 1.892524734025578 + }, + { + "brew_time": "24.8", + "timestamp": "10:52:56.490", + "smoothed_weight": 24.97705496543932, + "flow_value": 1.8032722606229967 + }, + { + "brew_time": "24.9", + "timestamp": "10:52:56.622", + "smoothed_weight": 25.159349468895385, + "flow_value": 1.822945034560668 + }, + { + "brew_time": "25.1", + "timestamp": "10:52:56.700", + "smoothed_weight": 25.343414522005848, + "flow_value": 1.8406505311046217 + }, + { + "brew_time": "25.2", + "timestamp": "10:52:56.821", + "smoothed_weight": 25.52907306980526, + "flow_value": 1.8565854779941304 + }, + { + "brew_time": "25.3", + "timestamp": "10:52:56.912", + "smoothed_weight": 25.716165762824737, + "flow_value": 1.8709269301947629 + }, + { + "brew_time": "25.4", + "timestamp": "10:52:56.999", + "smoothed_weight": 25.904549186542265, + "flow_value": 1.8838342371752859 + }, + { + "brew_time": "25.5", + "timestamp": "10:52:57.121", + "smoothed_weight": 26.09409426788804, + "flow_value": 1.8954508134577353 + }, + { + "brew_time": "25.6", + "timestamp": "10:52:57.212", + "smoothed_weight": 26.284684841099235, + "flow_value": 1.905905732111961 + }, + { + "brew_time": "25.7", + "timestamp": "10:52:57.331", + "smoothed_weight": 26.476216356989312, + "flow_value": 1.9153151589007678 + }, + { + "brew_time": "25.8", + "timestamp": "10:52:57.421", + "smoothed_weight": 26.668594721290383, + "flow_value": 1.923783643010708 + }, + { + "brew_time": "25.9", + "timestamp": "10:52:57.541", + "smoothed_weight": 26.861735249161345, + "flow_value": 1.9314052787096259 + }, + { + "brew_time": "25.10", + "timestamp": "10:52:57.639", + "smoothed_weight": 27.05556172424521, + "flow_value": 1.9382647508386341 + }, + { + "brew_time": "26.1", + "timestamp": "10:52:57.751", + "smoothed_weight": 27.24000555182069, + "flow_value": 1.8444382757548183 + }, + { + "brew_time": "26.2", + "timestamp": "10:52:57.840", + "smoothed_weight": 27.42600499663862, + "flow_value": 1.8599944481793074 + }, + { + "brew_time": "26.3", + "timestamp": "10:52:57.930", + "smoothed_weight": 27.61340449697476, + "flow_value": 1.8739950033613795 + }, + { + "brew_time": "26.4", + "timestamp": "10:52:58.050", + "smoothed_weight": 27.802064047277284, + "flow_value": 1.886595503025248 + }, + { + "brew_time": "26.5", + "timestamp": "10:52:58.139", + "smoothed_weight": 27.991857642549554, + "flow_value": 1.8979359527227047 + }, + { + "brew_time": "26.6", + "timestamp": "10:52:58.263", + "smoothed_weight": 28.1826718782946, + "flow_value": 1.9081423574504441 + }, + { + "brew_time": "26.7", + "timestamp": "10:52:58.350", + "smoothed_weight": 28.37440469046514, + "flow_value": 1.9173281217054239 + }, + { + "brew_time": "26.8", + "timestamp": "10:52:58.470", + "smoothed_weight": 28.56696422141863, + "flow_value": 1.9255953095348843 + }, + { + "brew_time": "26.9", + "timestamp": "10:52:58.625", + "smoothed_weight": 28.750267799276767, + "flow_value": 1.833035778581369 + }, + { + "brew_time": "27.1", + "timestamp": "10:52:58.717", + "smoothed_weight": 28.91524101934909, + "flow_value": 1.6497322007232285 + }, + { + "brew_time": "27.2", + "timestamp": "10:52:58.831", + "smoothed_weight": 29.09371691741418, + "flow_value": 1.7847589806509134 + }, + { + "brew_time": "27.3", + "timestamp": "10:52:58.921", + "smoothed_weight": 29.264345225672763, + "flow_value": 1.70628308258582 + }, + { + "brew_time": "27.4", + "timestamp": "10:52:58.980", + "smoothed_weight": 29.427910703105486, + "flow_value": 1.6356547743272287 + }, + { + "brew_time": "27.5", + "timestamp": "10:52:59.080", + "smoothed_weight": 29.60511963279494, + "flow_value": 1.7720892968945279 + }, + { + "brew_time": "27.6", + "timestamp": "10:52:59.190", + "smoothed_weight": 29.774607669515444, + "flow_value": 1.6948803672050516 + }, + { + "brew_time": "27.7", + "timestamp": "10:52:59.281", + "smoothed_weight": 29.927146902563898, + "flow_value": 1.525392330484543 + }, + { + "brew_time": "27.8", + "timestamp": "10:52:59.401", + "smoothed_weight": 30.08443221230751, + "flow_value": 1.5728530974361377 + }, + { + "brew_time": "27.9", + "timestamp": "10:52:59.551", + "smoothed_weight": 30.235988991076763, + "flow_value": 1.515567787692511 + }, + { + "brew_time": "27.10", + "timestamp": "10:52:59.645", + "smoothed_weight": 30.382390091969086, + "flow_value": 1.4640110089232294 + }, + { + "brew_time": "28.1", + "timestamp": "10:52:59.760", + "smoothed_weight": 30.52415108277218, + "flow_value": 1.4176099080309257 + }, + { + "brew_time": "28.2", + "timestamp": "10:52:59.850", + "smoothed_weight": 30.67173597449496, + "flow_value": 1.4758489172278288 + }, + { + "brew_time": "28.3", + "timestamp": "10:52:59.970", + "smoothed_weight": 30.814562377045466, + "flow_value": 1.4282640255050438 + }, + { + "brew_time": "28.4", + "timestamp": "10:53:00.060", + "smoothed_weight": 30.953106139340917, + "flow_value": 1.3854376229545196 + }, + { + "brew_time": "28.5", + "timestamp": "10:53:00.150", + "smoothed_weight": 31.087795525406825, + "flow_value": 1.3468938606590797 + }, + { + "brew_time": "28.6", + "timestamp": "10:53:00.270", + "smoothed_weight": 31.229015972866144, + "flow_value": 1.4122044745931817 + }, + { + "brew_time": "28.7", + "timestamp": "10:53:00.359", + "smoothed_weight": 31.36611437557953, + "flow_value": 1.3709840271338791 + }, + { + "brew_time": "28.8", + "timestamp": "10:53:00.480", + "smoothed_weight": 31.48950293802158, + "flow_value": 1.2338856244204877 + }, + { + "brew_time": "28.9", + "timestamp": "10:53:00.570", + "smoothed_weight": 31.620552644219423, + "flow_value": 1.310497061978424 + }, + { + "brew_time": "28.10", + "timestamp": "10:53:00.696", + "smoothed_weight": 31.738497379797483, + "flow_value": 1.179447355780603 + }, + { + "brew_time": "29.1", + "timestamp": "10:53:00.779", + "smoothed_weight": 31.854647641817735, + "flow_value": 1.1615026202025192 + }, + { + "brew_time": "29.2", + "timestamp": "10:53:00.901", + "smoothed_weight": 31.969182877635962, + "flow_value": 1.1453523581822722 + }, + { + "brew_time": "29.3", + "timestamp": "10:53:00.990", + "smoothed_weight": 32.082264589872366, + "flow_value": 1.1308171223640429 + }, + { + "brew_time": "29.4", + "timestamp": "10:53:01.116", + "smoothed_weight": 32.19403813088513, + "flow_value": 1.1177354101276649 + }, + { + "brew_time": "29.5", + "timestamp": "10:53:01.201", + "smoothed_weight": 32.29463431779662, + "flow_value": 1.0059618691148842 + }, + { + "brew_time": "29.6", + "timestamp": "10:53:01.322", + "smoothed_weight": 32.40517088601696, + "flow_value": 1.1053656822033986 + }, + { + "brew_time": "29.7", + "timestamp": "10:53:01.441", + "smoothed_weight": 32.514653797415264, + "flow_value": 1.0948291139830246 + }, + { + "brew_time": "29.8", + "timestamp": "10:53:01.531", + "smoothed_weight": 32.61318841767374, + "flow_value": 0.9853462025847648 + }, + { + "brew_time": "29.9", + "timestamp": "10:53:01.623", + "smoothed_weight": 32.71186957590637, + "flow_value": 0.9868115823262968 + }, + { + "brew_time": "30.1", + "timestamp": "10:53:01.741", + "smoothed_weight": 32.80068261831573, + "flow_value": 0.8881304240936316 + }, + { + "brew_time": "30.2", + "timestamp": "10:53:01.830", + "smoothed_weight": 32.88061435648416, + "flow_value": 0.7993173816842614 + }, + { + "brew_time": "30.3", + "timestamp": "10:53:01.950", + "smoothed_weight": 32.96255292083574, + "flow_value": 0.8193856435158153 + }, + { + "brew_time": "30.4", + "timestamp": "10:53:02.042", + "smoothed_weight": 33.036297628752166, + "flow_value": 0.7374470791642551 + }, + { + "brew_time": "30.5", + "timestamp": "10:53:02.164", + "smoothed_weight": 33.12266786587695, + "flow_value": 0.8637023712478253 + }, + { + "brew_time": "30.6", + "timestamp": "10:53:02.251", + "smoothed_weight": 33.210401079289255, + "flow_value": 0.8773321341230655 + }, + { + "brew_time": "30.7", + "timestamp": "10:53:02.344", + "smoothed_weight": 33.319360971360325, + "flow_value": 1.0895989207106993 + }, + { + "brew_time": "30.8", + "timestamp": "10:53:02.457", + "smoothed_weight": 34.29742487422429, + "flow_value": 9.780639028639655 + }, + { + "brew_time": "30.9", + "timestamp": "10:53:02.620", + "smoothed_weight": 36.667682386801864, + "flow_value": 23.702575125775738 + }, + { + "brew_time": "31.1", + "timestamp": "10:53:02.702", + "smoothed_weight": 36.05091414812168, + "flow_value": -6.1676823868018715 + }, + { + "brew_time": "31.2", + "timestamp": "10:53:02.821", + "smoothed_weight": 21.125822733309512, + "flow_value": -149.25091414812164 + }, + { + "brew_time": "31.3", + "timestamp": "10:53:02.913", + "smoothed_weight": -6.3967595400214385, + "flow_value": -275.2258227333095 + }, + { + "brew_time": "31.4", + "timestamp": "10:53:02.999", + "smoothed_weight": -35.527083586019295, + "flow_value": -291.30324045997855 + }, + { + "brew_time": "31.5", + "timestamp": "10:53:03.120", + "smoothed_weight": -61.984375227417374, + "flow_value": -264.5729164139808 + }, + { + "brew_time": "31.6", + "timestamp": "10:53:03.209", + "smoothed_weight": -85.80593770467564, + "flow_value": -238.2156247725827 + }, + { + "brew_time": "31.7", + "timestamp": "10:53:03.333", + "smoothed_weight": -107.44534393420808, + "flow_value": -216.3940622953244 + }, + { + "brew_time": "31.8", + "timestamp": "10:53:03.420", + "smoothed_weight": -125.63080954078728, + "flow_value": -181.854656065792 + }, + { + "brew_time": "31.9", + "timestamp": "10:53:03.509", + "smoothed_weight": -137.48772858670856, + "flow_value": -118.56919045921273 + }, + { + "brew_time": "31.10", + "timestamp": "10:53:03.633", + "smoothed_weight": -142.9789557280377, + "flow_value": -54.91227141329148 + }, + { + "brew_time": "32.1", + "timestamp": "10:53:03.721", + "smoothed_weight": -143.57106015523397, + "flow_value": -5.921044271962614 + }, + { + "brew_time": "32.2", + "timestamp": "10:53:03.842", + "smoothed_weight": -144.6439541397106, + "flow_value": -10.728939844766217 + }, + { + "brew_time": "32.3", + "timestamp": "10:53:03.931", + "smoothed_weight": -146.8195587257395, + "flow_value": -21.756045860289248 + }, + { + "brew_time": "32.4", + "timestamp": "10:53:04.019", + "smoothed_weight": -149.01760285316556, + "flow_value": -21.980441274260443 + }, + { + "brew_time": "32.5", + "timestamp": "10:53:04.199", + "smoothed_weight": -150.985842567849, + "flow_value": -19.68239714683449 + }, + { + "brew_time": "32.6", + "timestamp": "10:53:04.292", + "smoothed_weight": -152.7572583110641, + "flow_value": -17.714157432151012 + }, + { + "brew_time": "32.7", + "timestamp": "10:53:04.351", + "smoothed_weight": -154.3515324799577, + "flow_value": -15.942741688936053 + }, + { + "brew_time": "32.8", + "timestamp": "10:53:04.441", + "smoothed_weight": -155.78637923196194, + "flow_value": -14.348467520042334 + }, + { + "brew_time": "32.9", + "timestamp": "10:53:04.591", + "smoothed_weight": -157.07774130876575, + "flow_value": -12.913620768038072 + }, + { + "brew_time": "32.10", + "timestamp": "10:53:04.654", + "smoothed_weight": -158.21996717788917, + "flow_value": -11.42225869123422 + }, + { + "brew_time": "33.1", + "timestamp": "10:53:04.770", + "smoothed_weight": -159.24797046010025, + "flow_value": -10.28003282211074 + }, + { + "brew_time": "33.2", + "timestamp": "10:53:04.859", + "smoothed_weight": -160.17317341409023, + "flow_value": -9.252029539899809 + }, + { + "brew_time": "33.3", + "timestamp": "10:53:04.980", + "smoothed_weight": -160.98585607268123, + "flow_value": -8.12682658591001 + }, + { + "brew_time": "33.4", + "timestamp": "10:53:05.069", + "smoothed_weight": -161.71727046541312, + "flow_value": -7.3141439273189235 + }, + { + "brew_time": "33.5", + "timestamp": "10:53:05.191", + "smoothed_weight": -162.3755434188718, + "flow_value": -6.5827295345869175 + }, + { + "brew_time": "33.6", + "timestamp": "10:53:05.341", + "smoothed_weight": -162.96798907698465, + "flow_value": -5.924456581128368 + }, + { + "brew_time": "33.7", + "timestamp": "10:53:05.429", + "smoothed_weight": -163.5011901692862, + "flow_value": -5.332010923015389 + }, + { + "brew_time": "33.8", + "timestamp": "10:53:05.550", + "smoothed_weight": -163.9810711523576, + "flow_value": -4.798809830714106 + }, + { + "brew_time": "33.9", + "timestamp": "10:53:05.647", + "smoothed_weight": -164.41296403712187, + "flow_value": -4.318928847642667 + }, + { + "brew_time": "34.1", + "timestamp": "10:53:05.758", + "smoothed_weight": -164.8016676334097, + "flow_value": -3.887035962878258 + }, + { + "brew_time": "34.2", + "timestamp": "10:53:05.850", + "smoothed_weight": -165.15150087006873, + "flow_value": -3.4983323665903754 + }, + { + "brew_time": "34.3", + "timestamp": "10:53:05.940", + "smoothed_weight": -165.45635078306185, + "flow_value": -3.0484991299312014 + }, + { + "brew_time": "34.4", + "timestamp": "10:53:06.060", + "smoothed_weight": -165.73071570475565, + "flow_value": -2.7436492169380244 + }, + { + "brew_time": "34.5", + "timestamp": "10:53:06.150", + "smoothed_weight": -165.9776441342801, + "flow_value": -2.4692842952444494 + }, + { + "brew_time": "34.6", + "timestamp": "10:53:06.270", + "smoothed_weight": -166.1898797208521, + "flow_value": -2.122355865720067 + }, + { + "brew_time": "34.7", + "timestamp": "10:53:06.359", + "smoothed_weight": -166.3808917487669, + "flow_value": -1.9101202791480887 + }, + { + "brew_time": "34.8", + "timestamp": "10:53:06.485", + "smoothed_weight": -166.55280257389023, + "flow_value": -1.7191082512331946 + }, + { + "brew_time": "34.9", + "timestamp": "10:53:06.570", + "smoothed_weight": -166.69752231650122, + "flow_value": -1.4471974261098808 + }, + { + "brew_time": "34.10", + "timestamp": "10:53:06.694", + "smoothed_weight": -166.82777008485112, + "flow_value": -1.3024776834990348 + }, + { + "brew_time": "35.1", + "timestamp": "10:53:06.784", + "smoothed_weight": -166.94499307636602, + "flow_value": -1.1722299151489324 + } + ], + "pressureFlow": [ + { + "timestamp": "10:52:31.930", + "brew_time": "0.2", + "actual_pressure": 0.00689476, + "old_pressure": 0.01378952 + }, + { + "timestamp": "10:52:32.168", + "brew_time": "0.5", + "actual_pressure": 0, + "old_pressure": 0.00689476 + }, + { + "timestamp": "10:52:32.288", + "brew_time": "0.6", + "actual_pressure": 0.00689476, + "old_pressure": 0 + }, + { + "timestamp": "10:52:32.349", + "brew_time": "0.6", + "actual_pressure": 0, + "old_pressure": 0.00689476 + }, + { + "timestamp": "10:52:32.468", + "brew_time": "0.8", + "actual_pressure": 0.00689476, + "old_pressure": 0 + }, + { + "timestamp": "10:52:32.888", + "brew_time": "1.4", + "actual_pressure": 0.01378952, + "old_pressure": 0.00689476 + }, + { + "timestamp": "10:52:32.946", + "brew_time": "1.4", + "actual_pressure": 0.00689476, + "old_pressure": 0.01378952 + }, + { + "timestamp": "10:52:33.008", + "brew_time": "1.5", + "actual_pressure": 0.01378952, + "old_pressure": 0.00689476 + }, + { + "timestamp": "10:52:33.188", + "brew_time": "1.7", + "actual_pressure": 0.0344738, + "old_pressure": 0.01378952 + }, + { + "timestamp": "10:52:33.246", + "brew_time": "1.7", + "actual_pressure": 0.04826332, + "old_pressure": 0.0344738 + }, + { + "timestamp": "10:52:33.308", + "brew_time": "1.8", + "actual_pressure": 0.04136856, + "old_pressure": 0.04826332 + }, + { + "timestamp": "10:52:33.426", + "brew_time": "1.9", + "actual_pressure": 0.11031616, + "old_pressure": 0.04136856 + }, + { + "timestamp": "10:52:33.488", + "brew_time": "1.9", + "actual_pressure": 0.15168472, + "old_pressure": 0.11031616 + }, + { + "timestamp": "10:52:33.547", + "brew_time": "1.10", + "actual_pressure": 0.2413166, + "old_pressure": 0.15168472 + }, + { + "timestamp": "10:52:33.609", + "brew_time": "2.1", + "actual_pressure": 0.28268516, + "old_pressure": 0.2413166 + }, + { + "timestamp": "10:52:33.666", + "brew_time": "2.1", + "actual_pressure": 0.37231704, + "old_pressure": 0.28268516 + }, + { + "timestamp": "10:52:33.731", + "brew_time": "2.2", + "actual_pressure": 0.40679084, + "old_pressure": 0.37231704 + }, + { + "timestamp": "10:52:33.786", + "brew_time": "2.2", + "actual_pressure": 0.4481594, + "old_pressure": 0.40679084 + }, + { + "timestamp": "10:52:33.846", + "brew_time": "2.3", + "actual_pressure": 0.4826332, + "old_pressure": 0.4481594 + }, + { + "timestamp": "10:52:33.906", + "brew_time": "2.3", + "actual_pressure": 0.517107, + "old_pressure": 0.4826332 + }, + { + "timestamp": "10:52:33.968", + "brew_time": "2.4", + "actual_pressure": 0.54468604, + "old_pressure": 0.517107 + }, + { + "timestamp": "10:52:34.025", + "brew_time": "2.4", + "actual_pressure": 0.57915984, + "old_pressure": 0.54468604 + }, + { + "timestamp": "10:52:34.088", + "brew_time": "2.5", + "actual_pressure": 0.60673888, + "old_pressure": 0.57915984 + }, + { + "timestamp": "10:52:34.147", + "brew_time": "2.5", + "actual_pressure": 0.63431792, + "old_pressure": 0.60673888 + }, + { + "timestamp": "10:52:34.206", + "brew_time": "2.6", + "actual_pressure": 0.6550022, + "old_pressure": 0.63431792 + }, + { + "timestamp": "10:52:34.268", + "brew_time": "2.7", + "actual_pressure": 0.68258124, + "old_pressure": 0.6550022 + }, + { + "timestamp": "10:52:34.326", + "brew_time": "2.7", + "actual_pressure": 0.71016028, + "old_pressure": 0.68258124 + }, + { + "timestamp": "10:52:34.388", + "brew_time": "2.8", + "actual_pressure": 0.74463408, + "old_pressure": 0.71016028 + }, + { + "timestamp": "10:52:34.446", + "brew_time": "2.8", + "actual_pressure": 0.77221312, + "old_pressure": 0.74463408 + }, + { + "timestamp": "10:52:34.510", + "brew_time": "2.9", + "actual_pressure": 0.7928974, + "old_pressure": 0.77221312 + }, + { + "timestamp": "10:52:34.568", + "brew_time": "2.9", + "actual_pressure": 0.81358168, + "old_pressure": 0.7928974 + }, + { + "timestamp": "10:52:34.626", + "brew_time": "3.1", + "actual_pressure": 0.83426596, + "old_pressure": 0.81358168 + }, + { + "timestamp": "10:52:34.693", + "brew_time": "3.2", + "actual_pressure": 0.861845, + "old_pressure": 0.83426596 + }, + { + "timestamp": "10:52:34.747", + "brew_time": "3.2", + "actual_pressure": 0.88252928, + "old_pressure": 0.861845 + }, + { + "timestamp": "10:52:34.808", + "brew_time": "3.3", + "actual_pressure": 0.91010832, + "old_pressure": 0.88252928 + }, + { + "timestamp": "10:52:34.868", + "brew_time": "3.3", + "actual_pressure": 0.92389784, + "old_pressure": 0.91010832 + }, + { + "timestamp": "10:52:34.926", + "brew_time": "3.4", + "actual_pressure": 0.93768736, + "old_pressure": 0.92389784 + }, + { + "timestamp": "10:52:34.988", + "brew_time": "3.4", + "actual_pressure": 0.95147688, + "old_pressure": 0.93768736 + }, + { + "timestamp": "10:52:35.108", + "brew_time": "3.6", + "actual_pressure": 0.95837164, + "old_pressure": 0.95147688 + }, + { + "timestamp": "10:52:35.589", + "brew_time": "3.10", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:35.647", + "brew_time": "4.1", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:35.889", + "brew_time": "4.3", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:36.128", + "brew_time": "4.5", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:36.247", + "brew_time": "4.7", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:36.368", + "brew_time": "4.8", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:36.487", + "brew_time": "4.9", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:36.549", + "brew_time": "4.9", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:36.606", + "brew_time": "4.10", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:36.670", + "brew_time": "5.1", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:37.207", + "brew_time": "5.6", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:37.268", + "brew_time": "5.6", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:37.326", + "brew_time": "5.7", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:37.388", + "brew_time": "5.7", + "actual_pressure": 0.95837164, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:37.446", + "brew_time": "5.8", + "actual_pressure": 0.9652664, + "old_pressure": 0.95837164 + }, + { + "timestamp": "10:52:37.626", + "brew_time": "6.1", + "actual_pressure": 0.97216116, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:37.686", + "brew_time": "6.1", + "actual_pressure": 0.97905592, + "old_pressure": 0.97216116 + }, + { + "timestamp": "10:52:37.748", + "brew_time": "6.1", + "actual_pressure": 0.9652664, + "old_pressure": 0.97905592 + }, + { + "timestamp": "10:52:37.866", + "brew_time": "6.3", + "actual_pressure": 1.06179304, + "old_pressure": 0.9652664 + }, + { + "timestamp": "10:52:37.927", + "brew_time": "6.4", + "actual_pressure": 1.14453016, + "old_pressure": 1.06179304 + }, + { + "timestamp": "10:52:37.986", + "brew_time": "6.4", + "actual_pressure": 1.16521444, + "old_pressure": 1.14453016 + }, + { + "timestamp": "10:52:38.046", + "brew_time": "6.4", + "actual_pressure": 1.21347776, + "old_pressure": 1.16521444 + }, + { + "timestamp": "10:52:38.106", + "brew_time": "6.5", + "actual_pressure": 1.28932012, + "old_pressure": 1.21347776 + }, + { + "timestamp": "10:52:38.172", + "brew_time": "6.5", + "actual_pressure": 1.33068868, + "old_pressure": 1.28932012 + }, + { + "timestamp": "10:52:38.226", + "brew_time": "6.6", + "actual_pressure": 1.39274152, + "old_pressure": 1.33068868 + }, + { + "timestamp": "10:52:38.288", + "brew_time": "6.7", + "actual_pressure": 1.53753148, + "old_pressure": 1.39274152 + }, + { + "timestamp": "10:52:38.346", + "brew_time": "6.7", + "actual_pressure": 1.62716336, + "old_pressure": 1.53753148 + }, + { + "timestamp": "10:52:38.408", + "brew_time": "6.8", + "actual_pressure": 1.70990048, + "old_pressure": 1.62716336 + }, + { + "timestamp": "10:52:38.468", + "brew_time": "6.8", + "actual_pressure": 1.85469044, + "old_pressure": 1.70990048 + }, + { + "timestamp": "10:52:38.529", + "brew_time": "6.9", + "actual_pressure": 2.00637516, + "old_pressure": 1.85469044 + }, + { + "timestamp": "10:52:38.590", + "brew_time": "7.1", + "actual_pressure": 2.14427036, + "old_pressure": 2.00637516 + }, + { + "timestamp": "10:52:38.646", + "brew_time": "7.1", + "actual_pressure": 2.26148128, + "old_pressure": 2.14427036 + }, + { + "timestamp": "10:52:38.706", + "brew_time": "7.2", + "actual_pressure": 2.42695552, + "old_pressure": 2.26148128 + }, + { + "timestamp": "10:52:38.768", + "brew_time": "7.2", + "actual_pressure": 2.59242976, + "old_pressure": 2.42695552 + }, + { + "timestamp": "10:52:38.826", + "brew_time": "7.3", + "actual_pressure": 2.77169352, + "old_pressure": 2.59242976 + }, + { + "timestamp": "10:52:38.888", + "brew_time": "7.4", + "actual_pressure": 2.97164156, + "old_pressure": 2.77169352 + }, + { + "timestamp": "10:52:38.947", + "brew_time": "7.4", + "actual_pressure": 3.15780008, + "old_pressure": 2.97164156 + }, + { + "timestamp": "10:52:39.006", + "brew_time": "7.5", + "actual_pressure": 3.31637956, + "old_pressure": 3.15780008 + }, + { + "timestamp": "10:52:39.068", + "brew_time": "7.5", + "actual_pressure": 3.40601144, + "old_pressure": 3.31637956 + }, + { + "timestamp": "10:52:39.126", + "brew_time": "7.6", + "actual_pressure": 3.55769616, + "old_pressure": 3.40601144 + }, + { + "timestamp": "10:52:39.188", + "brew_time": "7.7", + "actual_pressure": 3.7438546799999997, + "old_pressure": 3.55769616 + }, + { + "timestamp": "10:52:39.247", + "brew_time": "7.7", + "actual_pressure": 3.90243416, + "old_pressure": 3.7438546799999997 + }, + { + "timestamp": "10:52:39.307", + "brew_time": "7.7", + "actual_pressure": 4.16443504, + "old_pressure": 3.90243416 + }, + { + "timestamp": "10:52:39.368", + "brew_time": "7.8", + "actual_pressure": 4.42643592, + "old_pressure": 4.16443504 + }, + { + "timestamp": "10:52:39.428", + "brew_time": "7.8", + "actual_pressure": 4.54364684, + "old_pressure": 4.42643592 + }, + { + "timestamp": "10:52:39.487", + "brew_time": "7.9", + "actual_pressure": 4.764279159999999, + "old_pressure": 4.54364684 + }, + { + "timestamp": "10:52:39.551", + "brew_time": "7.9", + "actual_pressure": 4.8952796, + "old_pressure": 4.764279159999999 + }, + { + "timestamp": "10:52:39.606", + "brew_time": "7.10", + "actual_pressure": 4.98491148, + "old_pressure": 4.8952796 + }, + { + "timestamp": "10:52:39.668", + "brew_time": "8.1", + "actual_pressure": 5.26070188, + "old_pressure": 4.98491148 + }, + { + "timestamp": "10:52:39.728", + "brew_time": "8.2", + "actual_pressure": 5.502018479999999, + "old_pressure": 5.26070188 + }, + { + "timestamp": "10:52:39.786", + "brew_time": "8.2", + "actual_pressure": 5.75022984, + "old_pressure": 5.502018479999999 + }, + { + "timestamp": "10:52:39.846", + "brew_time": "8.3", + "actual_pressure": 5.88812504, + "old_pressure": 5.75022984 + }, + { + "timestamp": "10:52:39.908", + "brew_time": "8.3", + "actual_pressure": 5.9915464400000005, + "old_pressure": 5.88812504 + }, + { + "timestamp": "10:52:39.967", + "brew_time": "8.4", + "actual_pressure": 6.12254688, + "old_pressure": 5.9915464400000005 + }, + { + "timestamp": "10:52:40.027", + "brew_time": "8.5", + "actual_pressure": 6.1018626, + "old_pressure": 6.12254688 + }, + { + "timestamp": "10:52:40.086", + "brew_time": "8.5", + "actual_pressure": 6.23286304, + "old_pressure": 6.1018626 + }, + { + "timestamp": "10:52:40.146", + "brew_time": "8.5", + "actual_pressure": 6.25354732, + "old_pressure": 6.23286304 + }, + { + "timestamp": "10:52:40.207", + "brew_time": "8.6", + "actual_pressure": 6.47417964, + "old_pressure": 6.25354732 + }, + { + "timestamp": "10:52:40.271", + "brew_time": "8.6", + "actual_pressure": 6.5431272400000005, + "old_pressure": 6.47417964 + }, + { + "timestamp": "10:52:40.326", + "brew_time": "8.7", + "actual_pressure": 6.67412768, + "old_pressure": 6.5431272400000005 + }, + { + "timestamp": "10:52:40.387", + "brew_time": "8.8", + "actual_pressure": 6.81202288, + "old_pressure": 6.67412768 + }, + { + "timestamp": "10:52:40.447", + "brew_time": "8.8", + "actual_pressure": 6.9016547599999996, + "old_pressure": 6.81202288 + }, + { + "timestamp": "10:52:40.506", + "brew_time": "8.9", + "actual_pressure": 6.91544428, + "old_pressure": 6.9016547599999996 + }, + { + "timestamp": "10:52:40.568", + "brew_time": "8.9", + "actual_pressure": 7.1016028, + "old_pressure": 6.91544428 + }, + { + "timestamp": "10:52:40.626", + "brew_time": "9.1", + "actual_pressure": 7.18433992, + "old_pressure": 7.1016028 + }, + { + "timestamp": "10:52:40.687", + "brew_time": "9.2", + "actual_pressure": 7.384287959999999, + "old_pressure": 7.18433992 + }, + { + "timestamp": "10:52:40.746", + "brew_time": "9.2", + "actual_pressure": 7.625604559999999, + "old_pressure": 7.384287959999999 + }, + { + "timestamp": "10:52:40.808", + "brew_time": "9.3", + "actual_pressure": 7.83244736, + "old_pressure": 7.625604559999999 + }, + { + "timestamp": "10:52:40.868", + "brew_time": "9.3", + "actual_pressure": 7.8669211599999995, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:40.926", + "brew_time": "9.4", + "actual_pressure": 7.901394959999999, + "old_pressure": 7.8669211599999995 + }, + { + "timestamp": "10:52:40.988", + "brew_time": "9.4", + "actual_pressure": 7.91518448, + "old_pressure": 7.901394959999999 + }, + { + "timestamp": "10:52:41.046", + "brew_time": "9.5", + "actual_pressure": 7.9979216, + "old_pressure": 7.91518448 + }, + { + "timestamp": "10:52:41.108", + "brew_time": "9.6", + "actual_pressure": 8.12202728, + "old_pressure": 7.9979216 + }, + { + "timestamp": "10:52:41.167", + "brew_time": "9.6", + "actual_pressure": 8.239238199999999, + "old_pressure": 8.12202728 + }, + { + "timestamp": "10:52:41.228", + "brew_time": "9.7", + "actual_pressure": 8.21165916, + "old_pressure": 8.239238199999999 + }, + { + "timestamp": "10:52:41.288", + "brew_time": "9.7", + "actual_pressure": 8.12202728, + "old_pressure": 8.21165916 + }, + { + "timestamp": "10:52:41.346", + "brew_time": "9.8", + "actual_pressure": 8.25992248, + "old_pressure": 8.12202728 + }, + { + "timestamp": "10:52:41.408", + "brew_time": "9.9", + "actual_pressure": 8.35644912, + "old_pressure": 8.25992248 + }, + { + "timestamp": "10:52:41.467", + "brew_time": "9.9", + "actual_pressure": 8.32887008, + "old_pressure": 8.35644912 + }, + { + "timestamp": "10:52:41.528", + "brew_time": "9.10", + "actual_pressure": 8.26681724, + "old_pressure": 8.32887008 + }, + { + "timestamp": "10:52:41.586", + "brew_time": "9.10", + "actual_pressure": 8.38402816, + "old_pressure": 8.26681724 + }, + { + "timestamp": "10:52:41.646", + "brew_time": "10.1", + "actual_pressure": 8.418501959999999, + "old_pressure": 8.38402816 + }, + { + "timestamp": "10:52:41.708", + "brew_time": "10.1", + "actual_pressure": 8.32197532, + "old_pressure": 8.418501959999999 + }, + { + "timestamp": "10:52:41.766", + "brew_time": "10.2", + "actual_pressure": 8.39781768, + "old_pressure": 8.32197532 + }, + { + "timestamp": "10:52:41.828", + "brew_time": "10.3", + "actual_pressure": 8.459870519999999, + "old_pressure": 8.39781768 + }, + { + "timestamp": "10:52:41.886", + "brew_time": "10.3", + "actual_pressure": 8.515028599999999, + "old_pressure": 8.459870519999999 + }, + { + "timestamp": "10:52:41.948", + "brew_time": "10.3", + "actual_pressure": 8.45297576, + "old_pressure": 8.515028599999999 + }, + { + "timestamp": "10:52:42.006", + "brew_time": "10.4", + "actual_pressure": 8.56329192, + "old_pressure": 8.45297576 + }, + { + "timestamp": "10:52:42.068", + "brew_time": "10.5", + "actual_pressure": 8.65981856, + "old_pressure": 8.56329192 + }, + { + "timestamp": "10:52:42.126", + "brew_time": "10.5", + "actual_pressure": 8.515028599999999, + "old_pressure": 8.65981856 + }, + { + "timestamp": "10:52:42.248", + "brew_time": "10.6", + "actual_pressure": 8.411607199999999, + "old_pressure": 8.515028599999999 + }, + { + "timestamp": "10:52:42.306", + "brew_time": "10.7", + "actual_pressure": 8.37023864, + "old_pressure": 8.411607199999999 + }, + { + "timestamp": "10:52:42.368", + "brew_time": "10.7", + "actual_pressure": 8.28060676, + "old_pressure": 8.37023864 + }, + { + "timestamp": "10:52:42.428", + "brew_time": "10.8", + "actual_pressure": 8.28750152, + "old_pressure": 8.28060676 + }, + { + "timestamp": "10:52:42.488", + "brew_time": "10.9", + "actual_pressure": 8.08755348, + "old_pressure": 8.28750152 + }, + { + "timestamp": "10:52:42.547", + "brew_time": "10.9", + "actual_pressure": 8.08065872, + "old_pressure": 8.08755348 + }, + { + "timestamp": "10:52:42.606", + "brew_time": "10.10", + "actual_pressure": 7.88760544, + "old_pressure": 8.08065872 + }, + { + "timestamp": "10:52:42.668", + "brew_time": "10.10", + "actual_pressure": 7.74971024, + "old_pressure": 7.88760544 + }, + { + "timestamp": "10:52:42.729", + "brew_time": "11.1", + "actual_pressure": 7.36360368, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:42.788", + "brew_time": "11.2", + "actual_pressure": 7.05333948, + "old_pressure": 7.36360368 + }, + { + "timestamp": "10:52:42.846", + "brew_time": "11.2", + "actual_pressure": 7.16365564, + "old_pressure": 7.05333948 + }, + { + "timestamp": "10:52:42.908", + "brew_time": "11.3", + "actual_pressure": 7.3084456, + "old_pressure": 7.16365564 + }, + { + "timestamp": "10:52:42.968", + "brew_time": "11.3", + "actual_pressure": 7.57734124, + "old_pressure": 7.3084456 + }, + { + "timestamp": "10:52:43.026", + "brew_time": "11.4", + "actual_pressure": 7.625604559999999, + "old_pressure": 7.57734124 + }, + { + "timestamp": "10:52:43.090", + "brew_time": "11.4", + "actual_pressure": 7.74971024, + "old_pressure": 7.625604559999999 + }, + { + "timestamp": "10:52:43.146", + "brew_time": "11.5", + "actual_pressure": 7.78418404, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:43.208", + "brew_time": "11.6", + "actual_pressure": 7.901394959999999, + "old_pressure": 7.78418404 + }, + { + "timestamp": "10:52:43.267", + "brew_time": "11.6", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.901394959999999 + }, + { + "timestamp": "10:52:43.326", + "brew_time": "11.7", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:43.446", + "brew_time": "11.8", + "actual_pressure": 7.85313164, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:43.507", + "brew_time": "11.9", + "actual_pressure": 7.81865784, + "old_pressure": 7.85313164 + }, + { + "timestamp": "10:52:43.566", + "brew_time": "11.9", + "actual_pressure": 7.791078799999999, + "old_pressure": 7.81865784 + }, + { + "timestamp": "10:52:43.628", + "brew_time": "12.1", + "actual_pressure": 7.7221312, + "old_pressure": 7.791078799999999 + }, + { + "timestamp": "10:52:43.686", + "brew_time": "12.1", + "actual_pressure": 7.73592072, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:43.748", + "brew_time": "12.1", + "actual_pressure": 7.59802552, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:43.806", + "brew_time": "12.2", + "actual_pressure": 7.4463408, + "old_pressure": 7.59802552 + }, + { + "timestamp": "10:52:43.868", + "brew_time": "12.3", + "actual_pressure": 7.55665696, + "old_pressure": 7.4463408 + }, + { + "timestamp": "10:52:43.926", + "brew_time": "12.3", + "actual_pressure": 7.4532355599999995, + "old_pressure": 7.55665696 + }, + { + "timestamp": "10:52:43.988", + "brew_time": "12.4", + "actual_pressure": 7.5359726799999995, + "old_pressure": 7.4532355599999995 + }, + { + "timestamp": "10:52:44.048", + "brew_time": "12.5", + "actual_pressure": 7.5635517199999995, + "old_pressure": 7.5359726799999995 + }, + { + "timestamp": "10:52:44.108", + "brew_time": "12.5", + "actual_pressure": 7.64628884, + "old_pressure": 7.5635517199999995 + }, + { + "timestamp": "10:52:44.166", + "brew_time": "12.6", + "actual_pressure": 7.71523644, + "old_pressure": 7.64628884 + }, + { + "timestamp": "10:52:44.226", + "brew_time": "12.6", + "actual_pressure": 7.68076264, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:44.287", + "brew_time": "12.7", + "actual_pressure": 7.69455216, + "old_pressure": 7.68076264 + }, + { + "timestamp": "10:52:44.347", + "brew_time": "12.7", + "actual_pressure": 7.708341679999999, + "old_pressure": 7.69455216 + }, + { + "timestamp": "10:52:44.406", + "brew_time": "12.8", + "actual_pressure": 7.64628884, + "old_pressure": 7.708341679999999 + }, + { + "timestamp": "10:52:44.468", + "brew_time": "12.8", + "actual_pressure": 7.69455216, + "old_pressure": 7.64628884 + }, + { + "timestamp": "10:52:44.591", + "brew_time": "12.10", + "actual_pressure": 7.60492028, + "old_pressure": 7.69455216 + }, + { + "timestamp": "10:52:44.646", + "brew_time": "12.10", + "actual_pressure": 7.660078359999999, + "old_pressure": 7.60492028 + }, + { + "timestamp": "10:52:44.709", + "brew_time": "13.1", + "actual_pressure": 7.52907792, + "old_pressure": 7.660078359999999 + }, + { + "timestamp": "10:52:44.766", + "brew_time": "13.1", + "actual_pressure": 7.50839364, + "old_pressure": 7.52907792 + }, + { + "timestamp": "10:52:44.826", + "brew_time": "13.2", + "actual_pressure": 7.49460412, + "old_pressure": 7.50839364 + }, + { + "timestamp": "10:52:44.887", + "brew_time": "13.2", + "actual_pressure": 7.584236, + "old_pressure": 7.49460412 + }, + { + "timestamp": "10:52:44.947", + "brew_time": "13.3", + "actual_pressure": 7.63249932, + "old_pressure": 7.584236 + }, + { + "timestamp": "10:52:45.066", + "brew_time": "13.4", + "actual_pressure": 7.59802552, + "old_pressure": 7.63249932 + }, + { + "timestamp": "10:52:45.126", + "brew_time": "13.5", + "actual_pressure": 7.6531836, + "old_pressure": 7.59802552 + }, + { + "timestamp": "10:52:45.188", + "brew_time": "13.5", + "actual_pressure": 7.660078359999999, + "old_pressure": 7.6531836 + }, + { + "timestamp": "10:52:45.246", + "brew_time": "13.6", + "actual_pressure": 7.63249932, + "old_pressure": 7.660078359999999 + }, + { + "timestamp": "10:52:45.308", + "brew_time": "13.7", + "actual_pressure": 7.66697312, + "old_pressure": 7.63249932 + }, + { + "timestamp": "10:52:45.366", + "brew_time": "13.7", + "actual_pressure": 7.660078359999999, + "old_pressure": 7.66697312 + }, + { + "timestamp": "10:52:45.427", + "brew_time": "13.8", + "actual_pressure": 7.64628884, + "old_pressure": 7.660078359999999 + }, + { + "timestamp": "10:52:45.500", + "brew_time": "13.8", + "actual_pressure": 7.6531836, + "old_pressure": 7.64628884 + }, + { + "timestamp": "10:52:45.546", + "brew_time": "13.9", + "actual_pressure": 7.71523644, + "old_pressure": 7.6531836 + }, + { + "timestamp": "10:52:45.607", + "brew_time": "13.9", + "actual_pressure": 7.73592072, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:45.669", + "brew_time": "14.1", + "actual_pressure": 7.791078799999999, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:45.726", + "brew_time": "14.1", + "actual_pressure": 7.81865784, + "old_pressure": 7.791078799999999 + }, + { + "timestamp": "10:52:45.787", + "brew_time": "14.2", + "actual_pressure": 7.7566049999999995, + "old_pressure": 7.81865784 + }, + { + "timestamp": "10:52:45.847", + "brew_time": "14.3", + "actual_pressure": 7.74971024, + "old_pressure": 7.7566049999999995 + }, + { + "timestamp": "10:52:45.907", + "brew_time": "14.3", + "actual_pressure": 7.77039452, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:45.966", + "brew_time": "14.4", + "actual_pressure": 7.8393421199999995, + "old_pressure": 7.77039452 + }, + { + "timestamp": "10:52:46.026", + "brew_time": "14.4", + "actual_pressure": 7.763499759999999, + "old_pressure": 7.8393421199999995 + }, + { + "timestamp": "10:52:46.087", + "brew_time": "14.5", + "actual_pressure": 7.74971024, + "old_pressure": 7.763499759999999 + }, + { + "timestamp": "10:52:46.146", + "brew_time": "14.5", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:46.207", + "brew_time": "14.6", + "actual_pressure": 7.80486832, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:46.267", + "brew_time": "14.6", + "actual_pressure": 7.7290259599999995, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:46.326", + "brew_time": "14.7", + "actual_pressure": 7.74281548, + "old_pressure": 7.7290259599999995 + }, + { + "timestamp": "10:52:46.387", + "brew_time": "14.8", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.74281548 + }, + { + "timestamp": "10:52:46.446", + "brew_time": "14.8", + "actual_pressure": 7.74971024, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:46.508", + "brew_time": "14.9", + "actual_pressure": 7.7221312, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:46.567", + "brew_time": "14.9", + "actual_pressure": 7.74281548, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:46.626", + "brew_time": "15.1", + "actual_pressure": 7.88071068, + "old_pressure": 7.74281548 + }, + { + "timestamp": "10:52:46.687", + "brew_time": "15.1", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.88071068 + }, + { + "timestamp": "10:52:46.747", + "brew_time": "15.2", + "actual_pressure": 7.71523644, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:46.807", + "brew_time": "15.3", + "actual_pressure": 7.83244736, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:46.867", + "brew_time": "15.3", + "actual_pressure": 7.78418404, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:46.927", + "brew_time": "15.4", + "actual_pressure": 7.708341679999999, + "old_pressure": 7.78418404 + }, + { + "timestamp": "10:52:46.987", + "brew_time": "15.4", + "actual_pressure": 7.7221312, + "old_pressure": 7.708341679999999 + }, + { + "timestamp": "10:52:47.049", + "brew_time": "15.5", + "actual_pressure": 7.73592072, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:47.108", + "brew_time": "15.5", + "actual_pressure": 7.7014469199999995, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:47.166", + "brew_time": "15.6", + "actual_pressure": 7.6876574, + "old_pressure": 7.7014469199999995 + }, + { + "timestamp": "10:52:47.227", + "brew_time": "15.7", + "actual_pressure": 7.6531836, + "old_pressure": 7.6876574 + }, + { + "timestamp": "10:52:47.287", + "brew_time": "15.7", + "actual_pressure": 7.73592072, + "old_pressure": 7.6531836 + }, + { + "timestamp": "10:52:47.347", + "brew_time": "15.8", + "actual_pressure": 7.7014469199999995, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:47.408", + "brew_time": "15.9", + "actual_pressure": 7.6187097999999995, + "old_pressure": 7.7014469199999995 + }, + { + "timestamp": "10:52:47.466", + "brew_time": "15.9", + "actual_pressure": 7.74971024, + "old_pressure": 7.6187097999999995 + }, + { + "timestamp": "10:52:47.528", + "brew_time": "15.10", + "actual_pressure": 7.7221312, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:47.587", + "brew_time": "15.10", + "actual_pressure": 7.69455216, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:47.648", + "brew_time": "16.1", + "actual_pressure": 7.7014469199999995, + "old_pressure": 7.69455216 + }, + { + "timestamp": "10:52:47.708", + "brew_time": "16.1", + "actual_pressure": 7.59802552, + "old_pressure": 7.7014469199999995 + }, + { + "timestamp": "10:52:47.766", + "brew_time": "16.2", + "actual_pressure": 7.63249932, + "old_pressure": 7.59802552 + }, + { + "timestamp": "10:52:47.828", + "brew_time": "16.2", + "actual_pressure": 7.71523644, + "old_pressure": 7.63249932 + }, + { + "timestamp": "10:52:47.948", + "brew_time": "16.3", + "actual_pressure": 7.7290259599999995, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:48.006", + "brew_time": "16.4", + "actual_pressure": 7.71523644, + "old_pressure": 7.7290259599999995 + }, + { + "timestamp": "10:52:48.067", + "brew_time": "16.5", + "actual_pressure": 7.7221312, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:48.126", + "brew_time": "16.5", + "actual_pressure": 7.80486832, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:48.186", + "brew_time": "16.6", + "actual_pressure": 7.78418404, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:48.249", + "brew_time": "16.6", + "actual_pressure": 7.846236879999999, + "old_pressure": 7.78418404 + }, + { + "timestamp": "10:52:48.306", + "brew_time": "16.7", + "actual_pressure": 7.791078799999999, + "old_pressure": 7.846236879999999 + }, + { + "timestamp": "10:52:48.368", + "brew_time": "16.8", + "actual_pressure": 7.80486832, + "old_pressure": 7.791078799999999 + }, + { + "timestamp": "10:52:48.426", + "brew_time": "16.8", + "actual_pressure": 7.73592072, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:48.488", + "brew_time": "16.9", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:48.548", + "brew_time": "16.9", + "actual_pressure": 7.660078359999999, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:48.608", + "brew_time": "16.10", + "actual_pressure": 7.6876574, + "old_pressure": 7.660078359999999 + }, + { + "timestamp": "10:52:48.668", + "brew_time": "16.10", + "actual_pressure": 7.6187097999999995, + "old_pressure": 7.6876574 + }, + { + "timestamp": "10:52:48.726", + "brew_time": "17.1", + "actual_pressure": 7.83244736, + "old_pressure": 7.6187097999999995 + }, + { + "timestamp": "10:52:48.788", + "brew_time": "17.2", + "actual_pressure": 7.74971024, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:48.846", + "brew_time": "17.2", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:48.906", + "brew_time": "17.3", + "actual_pressure": 7.7566049999999995, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:48.966", + "brew_time": "17.3", + "actual_pressure": 7.7221312, + "old_pressure": 7.7566049999999995 + }, + { + "timestamp": "10:52:49.027", + "brew_time": "17.4", + "actual_pressure": 7.7290259599999995, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:49.087", + "brew_time": "17.4", + "actual_pressure": 7.7566049999999995, + "old_pressure": 7.7290259599999995 + }, + { + "timestamp": "10:52:49.149", + "brew_time": "17.5", + "actual_pressure": 7.80486832, + "old_pressure": 7.7566049999999995 + }, + { + "timestamp": "10:52:49.208", + "brew_time": "17.5", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:49.266", + "brew_time": "17.6", + "actual_pressure": 7.8393421199999995, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:49.327", + "brew_time": "17.7", + "actual_pressure": 7.80486832, + "old_pressure": 7.8393421199999995 + }, + { + "timestamp": "10:52:49.387", + "brew_time": "17.7", + "actual_pressure": 7.7290259599999995, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:49.449", + "brew_time": "17.8", + "actual_pressure": 7.99102684, + "old_pressure": 7.7290259599999995 + }, + { + "timestamp": "10:52:49.506", + "brew_time": "17.8", + "actual_pressure": 7.91518448, + "old_pressure": 7.99102684 + }, + { + "timestamp": "10:52:49.566", + "brew_time": "17.9", + "actual_pressure": 7.8600264, + "old_pressure": 7.91518448 + }, + { + "timestamp": "10:52:49.627", + "brew_time": "17.9", + "actual_pressure": 8.018605879999999, + "old_pressure": 7.8600264 + }, + { + "timestamp": "10:52:49.686", + "brew_time": "18.1", + "actual_pressure": 7.94276352, + "old_pressure": 8.018605879999999 + }, + { + "timestamp": "10:52:49.806", + "brew_time": "18.2", + "actual_pressure": 8.02550064, + "old_pressure": 7.94276352 + }, + { + "timestamp": "10:52:49.867", + "brew_time": "18.3", + "actual_pressure": 7.99102684, + "old_pressure": 8.02550064 + }, + { + "timestamp": "10:52:49.986", + "brew_time": "18.4", + "actual_pressure": 7.95655304, + "old_pressure": 7.99102684 + }, + { + "timestamp": "10:52:50.073", + "brew_time": "18.4", + "actual_pressure": 7.94276352, + "old_pressure": 7.95655304 + }, + { + "timestamp": "10:52:50.108", + "brew_time": "18.5", + "actual_pressure": 7.92207924, + "old_pressure": 7.94276352 + }, + { + "timestamp": "10:52:50.167", + "brew_time": "18.6", + "actual_pressure": 7.901394959999999, + "old_pressure": 7.92207924 + }, + { + "timestamp": "10:52:50.225", + "brew_time": "18.6", + "actual_pressure": 7.8945001999999995, + "old_pressure": 7.901394959999999 + }, + { + "timestamp": "10:52:50.286", + "brew_time": "18.7", + "actual_pressure": 7.94276352, + "old_pressure": 7.8945001999999995 + }, + { + "timestamp": "10:52:50.347", + "brew_time": "18.7", + "actual_pressure": 7.901394959999999, + "old_pressure": 7.94276352 + }, + { + "timestamp": "10:52:50.406", + "brew_time": "18.8", + "actual_pressure": 7.83244736, + "old_pressure": 7.901394959999999 + }, + { + "timestamp": "10:52:50.467", + "brew_time": "18.9", + "actual_pressure": 7.8393421199999995, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:50.525", + "brew_time": "18.9", + "actual_pressure": 7.90828972, + "old_pressure": 7.8393421199999995 + }, + { + "timestamp": "10:52:50.587", + "brew_time": "18.10", + "actual_pressure": 7.88071068, + "old_pressure": 7.90828972 + }, + { + "timestamp": "10:52:50.645", + "brew_time": "18.10", + "actual_pressure": 7.9496582799999995, + "old_pressure": 7.88071068 + }, + { + "timestamp": "10:52:50.706", + "brew_time": "19.1", + "actual_pressure": 7.935868759999999, + "old_pressure": 7.9496582799999995 + }, + { + "timestamp": "10:52:50.767", + "brew_time": "19.1", + "actual_pressure": 7.83244736, + "old_pressure": 7.935868759999999 + }, + { + "timestamp": "10:52:50.826", + "brew_time": "19.2", + "actual_pressure": 7.8255526, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:50.887", + "brew_time": "19.3", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.8255526 + }, + { + "timestamp": "10:52:50.946", + "brew_time": "19.3", + "actual_pressure": 7.6738678799999995, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:51.008", + "brew_time": "19.4", + "actual_pressure": 7.7221312, + "old_pressure": 7.6738678799999995 + }, + { + "timestamp": "10:52:51.068", + "brew_time": "19.4", + "actual_pressure": 7.77039452, + "old_pressure": 7.7221312 + }, + { + "timestamp": "10:52:51.127", + "brew_time": "19.5", + "actual_pressure": 7.7566049999999995, + "old_pressure": 7.77039452 + }, + { + "timestamp": "10:52:51.247", + "brew_time": "19.6", + "actual_pressure": 7.71523644, + "old_pressure": 7.7566049999999995 + }, + { + "timestamp": "10:52:51.308", + "brew_time": "19.7", + "actual_pressure": 7.8600264, + "old_pressure": 7.71523644 + }, + { + "timestamp": "10:52:51.366", + "brew_time": "19.7", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.8600264 + }, + { + "timestamp": "10:52:51.426", + "brew_time": "19.8", + "actual_pressure": 7.88071068, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:51.488", + "brew_time": "19.8", + "actual_pressure": 7.88760544, + "old_pressure": 7.88071068 + }, + { + "timestamp": "10:52:51.606", + "brew_time": "19.9", + "actual_pressure": 7.8669211599999995, + "old_pressure": 7.88760544 + }, + { + "timestamp": "10:52:51.670", + "brew_time": "20.1", + "actual_pressure": 7.901394959999999, + "old_pressure": 7.8669211599999995 + }, + { + "timestamp": "10:52:51.729", + "brew_time": "20.2", + "actual_pressure": 7.77039452, + "old_pressure": 7.901394959999999 + }, + { + "timestamp": "10:52:51.786", + "brew_time": "20.2", + "actual_pressure": 7.88071068, + "old_pressure": 7.77039452 + }, + { + "timestamp": "10:52:51.848", + "brew_time": "20.2", + "actual_pressure": 7.8945001999999995, + "old_pressure": 7.88071068 + }, + { + "timestamp": "10:52:51.908", + "brew_time": "20.3", + "actual_pressure": 7.846236879999999, + "old_pressure": 7.8945001999999995 + }, + { + "timestamp": "10:52:51.967", + "brew_time": "20.4", + "actual_pressure": 7.83244736, + "old_pressure": 7.846236879999999 + }, + { + "timestamp": "10:52:52.027", + "brew_time": "20.4", + "actual_pressure": 7.791078799999999, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:52.085", + "brew_time": "20.5", + "actual_pressure": 7.763499759999999, + "old_pressure": 7.791078799999999 + }, + { + "timestamp": "10:52:52.148", + "brew_time": "20.5", + "actual_pressure": 7.80486832, + "old_pressure": 7.763499759999999 + }, + { + "timestamp": "10:52:52.206", + "brew_time": "20.6", + "actual_pressure": 7.8255526, + "old_pressure": 7.80486832 + }, + { + "timestamp": "10:52:52.268", + "brew_time": "20.7", + "actual_pressure": 7.88760544, + "old_pressure": 7.8255526 + }, + { + "timestamp": "10:52:52.326", + "brew_time": "20.7", + "actual_pressure": 7.797973559999999, + "old_pressure": 7.88760544 + }, + { + "timestamp": "10:52:52.386", + "brew_time": "20.8", + "actual_pressure": 7.8669211599999995, + "old_pressure": 7.797973559999999 + }, + { + "timestamp": "10:52:52.448", + "brew_time": "20.8", + "actual_pressure": 7.8255526, + "old_pressure": 7.8669211599999995 + }, + { + "timestamp": "10:52:52.509", + "brew_time": "20.9", + "actual_pressure": 7.8117630799999995, + "old_pressure": 7.8255526 + }, + { + "timestamp": "10:52:52.566", + "brew_time": "20.9", + "actual_pressure": 7.77728928, + "old_pressure": 7.8117630799999995 + }, + { + "timestamp": "10:52:52.627", + "brew_time": "21.1", + "actual_pressure": 7.83244736, + "old_pressure": 7.77728928 + }, + { + "timestamp": "10:52:52.688", + "brew_time": "21.1", + "actual_pressure": 7.77039452, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:52.746", + "brew_time": "21.2", + "actual_pressure": 7.73592072, + "old_pressure": 7.77039452 + }, + { + "timestamp": "10:52:52.808", + "brew_time": "21.3", + "actual_pressure": 7.77728928, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:52.867", + "brew_time": "21.3", + "actual_pressure": 7.73592072, + "old_pressure": 7.77728928 + }, + { + "timestamp": "10:52:52.928", + "brew_time": "21.4", + "actual_pressure": 7.74971024, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:52.987", + "brew_time": "21.4", + "actual_pressure": 7.63249932, + "old_pressure": 7.74971024 + }, + { + "timestamp": "10:52:53.046", + "brew_time": "21.5", + "actual_pressure": 7.73592072, + "old_pressure": 7.63249932 + }, + { + "timestamp": "10:52:53.108", + "brew_time": "21.5", + "actual_pressure": 7.83244736, + "old_pressure": 7.73592072 + }, + { + "timestamp": "10:52:53.165", + "brew_time": "21.6", + "actual_pressure": 7.91518448, + "old_pressure": 7.83244736 + }, + { + "timestamp": "10:52:53.228", + "brew_time": "21.7", + "actual_pressure": 7.88760544, + "old_pressure": 7.91518448 + }, + { + "timestamp": "10:52:53.286", + "brew_time": "21.7", + "actual_pressure": 8.12892204, + "old_pressure": 7.88760544 + }, + { + "timestamp": "10:52:53.347", + "brew_time": "21.8", + "actual_pressure": 8.1358168, + "old_pressure": 8.12892204 + }, + { + "timestamp": "10:52:53.407", + "brew_time": "21.8", + "actual_pressure": 8.12892204, + "old_pressure": 8.1358168 + }, + { + "timestamp": "10:52:53.466", + "brew_time": "21.9", + "actual_pressure": 8.2047644, + "old_pressure": 8.12892204 + }, + { + "timestamp": "10:52:53.528", + "brew_time": "21.10", + "actual_pressure": 8.246132959999999, + "old_pressure": 8.2047644 + }, + { + "timestamp": "10:52:53.586", + "brew_time": "21.10", + "actual_pressure": 8.30129104, + "old_pressure": 8.246132959999999 + }, + { + "timestamp": "10:52:53.654", + "brew_time": "22.1", + "actual_pressure": 8.239238199999999, + "old_pressure": 8.30129104 + }, + { + "timestamp": "10:52:53.707", + "brew_time": "22.1", + "actual_pressure": 8.3426596, + "old_pressure": 8.239238199999999 + }, + { + "timestamp": "10:52:53.766", + "brew_time": "22.2", + "actual_pressure": 8.30129104, + "old_pressure": 8.3426596 + }, + { + "timestamp": "10:52:53.828", + "brew_time": "22.3", + "actual_pressure": 8.184080119999999, + "old_pressure": 8.30129104 + }, + { + "timestamp": "10:52:53.886", + "brew_time": "22.3", + "actual_pressure": 8.2047644, + "old_pressure": 8.184080119999999 + }, + { + "timestamp": "10:52:53.947", + "brew_time": "22.4", + "actual_pressure": 8.190974879999999, + "old_pressure": 8.2047644 + }, + { + "timestamp": "10:52:54.006", + "brew_time": "22.4", + "actual_pressure": 8.26681724, + "old_pressure": 8.190974879999999 + }, + { + "timestamp": "10:52:54.066", + "brew_time": "22.5", + "actual_pressure": 8.22544868, + "old_pressure": 8.26681724 + }, + { + "timestamp": "10:52:54.127", + "brew_time": "22.5", + "actual_pressure": 8.28750152, + "old_pressure": 8.22544868 + }, + { + "timestamp": "10:52:54.189", + "brew_time": "22.6", + "actual_pressure": 8.43918624, + "old_pressure": 8.28750152 + }, + { + "timestamp": "10:52:54.248", + "brew_time": "22.7", + "actual_pressure": 8.459870519999999, + "old_pressure": 8.43918624 + }, + { + "timestamp": "10:52:54.306", + "brew_time": "22.7", + "actual_pressure": 8.40471244, + "old_pressure": 8.459870519999999 + }, + { + "timestamp": "10:52:54.367", + "brew_time": "22.8", + "actual_pressure": 8.39781768, + "old_pressure": 8.40471244 + }, + { + "timestamp": "10:52:54.426", + "brew_time": "22.8", + "actual_pressure": 8.38402816, + "old_pressure": 8.39781768 + }, + { + "timestamp": "10:52:54.486", + "brew_time": "22.9", + "actual_pressure": 8.3426596, + "old_pressure": 8.38402816 + }, + { + "timestamp": "10:52:54.548", + "brew_time": "22.9", + "actual_pressure": 8.40471244, + "old_pressure": 8.3426596 + }, + { + "timestamp": "10:52:54.606", + "brew_time": "22.10", + "actual_pressure": 8.418501959999999, + "old_pressure": 8.40471244 + }, + { + "timestamp": "10:52:54.667", + "brew_time": "22.10", + "actual_pressure": 8.37023864, + "old_pressure": 8.418501959999999 + }, + { + "timestamp": "10:52:54.726", + "brew_time": "23.1", + "actual_pressure": 8.28750152, + "old_pressure": 8.37023864 + }, + { + "timestamp": "10:52:54.787", + "brew_time": "23.2", + "actual_pressure": 8.349554359999999, + "old_pressure": 8.28750152 + }, + { + "timestamp": "10:52:54.846", + "brew_time": "23.2", + "actual_pressure": 8.239238199999999, + "old_pressure": 8.349554359999999 + }, + { + "timestamp": "10:52:54.908", + "brew_time": "23.3", + "actual_pressure": 8.12892204, + "old_pressure": 8.239238199999999 + }, + { + "timestamp": "10:52:54.968", + "brew_time": "23.3", + "actual_pressure": 8.190974879999999, + "old_pressure": 8.12892204 + }, + { + "timestamp": "10:52:55.026", + "brew_time": "23.4", + "actual_pressure": 8.2047644, + "old_pressure": 8.190974879999999 + }, + { + "timestamp": "10:52:55.087", + "brew_time": "23.4", + "actual_pressure": 8.15650108, + "old_pressure": 8.2047644 + }, + { + "timestamp": "10:52:55.146", + "brew_time": "23.5", + "actual_pressure": 8.2047644, + "old_pressure": 8.15650108 + }, + { + "timestamp": "10:52:55.207", + "brew_time": "23.6", + "actual_pressure": 8.1702906, + "old_pressure": 8.2047644 + }, + { + "timestamp": "10:52:55.266", + "brew_time": "23.6", + "actual_pressure": 8.08755348, + "old_pressure": 8.1702906 + }, + { + "timestamp": "10:52:55.327", + "brew_time": "23.7", + "actual_pressure": 8.1358168, + "old_pressure": 8.08755348 + }, + { + "timestamp": "10:52:55.386", + "brew_time": "23.7", + "actual_pressure": 8.142711559999999, + "old_pressure": 8.1358168 + }, + { + "timestamp": "10:52:55.446", + "brew_time": "23.8", + "actual_pressure": 8.190974879999999, + "old_pressure": 8.142711559999999 + }, + { + "timestamp": "10:52:55.507", + "brew_time": "23.8", + "actual_pressure": 8.11513252, + "old_pressure": 8.190974879999999 + }, + { + "timestamp": "10:52:55.567", + "brew_time": "23.9", + "actual_pressure": 8.12892204, + "old_pressure": 8.11513252 + }, + { + "timestamp": "10:52:55.628", + "brew_time": "24.1", + "actual_pressure": 8.17718536, + "old_pressure": 8.12892204 + }, + { + "timestamp": "10:52:55.686", + "brew_time": "24.1", + "actual_pressure": 8.09444824, + "old_pressure": 8.17718536 + }, + { + "timestamp": "10:52:55.748", + "brew_time": "24.2", + "actual_pressure": 8.10823776, + "old_pressure": 8.09444824 + }, + { + "timestamp": "10:52:55.808", + "brew_time": "24.2", + "actual_pressure": 7.9979216, + "old_pressure": 8.10823776 + }, + { + "timestamp": "10:52:55.868", + "brew_time": "24.3", + "actual_pressure": 8.184080119999999, + "old_pressure": 7.9979216 + }, + { + "timestamp": "10:52:55.926", + "brew_time": "24.3", + "actual_pressure": 8.16339584, + "old_pressure": 8.184080119999999 + }, + { + "timestamp": "10:52:55.988", + "brew_time": "24.4", + "actual_pressure": 8.10823776, + "old_pressure": 8.16339584 + }, + { + "timestamp": "10:52:56.048", + "brew_time": "24.4", + "actual_pressure": 8.02550064, + "old_pressure": 8.10823776 + }, + { + "timestamp": "10:52:56.108", + "brew_time": "24.5", + "actual_pressure": 7.99102684, + "old_pressure": 8.02550064 + }, + { + "timestamp": "10:52:56.166", + "brew_time": "24.6", + "actual_pressure": 8.0323954, + "old_pressure": 7.99102684 + }, + { + "timestamp": "10:52:56.227", + "brew_time": "24.7", + "actual_pressure": 8.05307968, + "old_pressure": 8.0323954 + }, + { + "timestamp": "10:52:56.286", + "brew_time": "24.7", + "actual_pressure": 8.17718536, + "old_pressure": 8.05307968 + }, + { + "timestamp": "10:52:56.345", + "brew_time": "24.7", + "actual_pressure": 8.12892204, + "old_pressure": 8.17718536 + }, + { + "timestamp": "10:52:56.407", + "brew_time": "24.8", + "actual_pressure": 8.22544868, + "old_pressure": 8.12892204 + }, + { + "timestamp": "10:52:56.468", + "brew_time": "24.8", + "actual_pressure": 8.28060676, + "old_pressure": 8.22544868 + }, + { + "timestamp": "10:52:56.526", + "brew_time": "24.9", + "actual_pressure": 8.19786964, + "old_pressure": 8.28060676 + }, + { + "timestamp": "10:52:56.587", + "brew_time": "24.9", + "actual_pressure": 8.294396279999999, + "old_pressure": 8.19786964 + }, + { + "timestamp": "10:52:56.647", + "brew_time": "25.1", + "actual_pressure": 8.246132959999999, + "old_pressure": 8.294396279999999 + }, + { + "timestamp": "10:52:56.709", + "brew_time": "25.2", + "actual_pressure": 8.28060676, + "old_pressure": 8.246132959999999 + }, + { + "timestamp": "10:52:56.767", + "brew_time": "25.2", + "actual_pressure": 8.32197532, + "old_pressure": 8.28060676 + }, + { + "timestamp": "10:52:56.827", + "brew_time": "25.3", + "actual_pressure": 8.33576484, + "old_pressure": 8.32197532 + }, + { + "timestamp": "10:52:56.887", + "brew_time": "25.3", + "actual_pressure": 8.25992248, + "old_pressure": 8.33576484 + }, + { + "timestamp": "10:52:56.945", + "brew_time": "25.4", + "actual_pressure": 8.26681724, + "old_pressure": 8.25992248 + }, + { + "timestamp": "10:52:57.008", + "brew_time": "25.5", + "actual_pressure": 8.28060676, + "old_pressure": 8.26681724 + }, + { + "timestamp": "10:52:57.066", + "brew_time": "25.5", + "actual_pressure": 8.294396279999999, + "old_pressure": 8.28060676 + }, + { + "timestamp": "10:52:57.128", + "brew_time": "25.6", + "actual_pressure": 8.21855392, + "old_pressure": 8.294396279999999 + }, + { + "timestamp": "10:52:57.186", + "brew_time": "25.6", + "actual_pressure": 8.35644912, + "old_pressure": 8.21855392 + }, + { + "timestamp": "10:52:57.247", + "brew_time": "25.7", + "actual_pressure": 8.38402816, + "old_pressure": 8.35644912 + }, + { + "timestamp": "10:52:57.308", + "brew_time": "25.7", + "actual_pressure": 8.30129104, + "old_pressure": 8.38402816 + }, + { + "timestamp": "10:52:57.366", + "brew_time": "25.8", + "actual_pressure": 8.38402816, + "old_pressure": 8.30129104 + }, + { + "timestamp": "10:52:57.428", + "brew_time": "25.9", + "actual_pressure": 8.32197532, + "old_pressure": 8.38402816 + }, + { + "timestamp": "10:52:57.486", + "brew_time": "25.9", + "actual_pressure": 8.33576484, + "old_pressure": 8.32197532 + }, + { + "timestamp": "10:52:57.607", + "brew_time": "25.10", + "actual_pressure": 8.28750152, + "old_pressure": 8.33576484 + }, + { + "timestamp": "10:52:57.666", + "brew_time": "26.1", + "actual_pressure": 8.25302772, + "old_pressure": 8.28750152 + }, + { + "timestamp": "10:52:57.728", + "brew_time": "26.1", + "actual_pressure": 8.26681724, + "old_pressure": 8.25302772 + }, + { + "timestamp": "10:52:57.785", + "brew_time": "26.2", + "actual_pressure": 8.142711559999999, + "old_pressure": 8.26681724 + }, + { + "timestamp": "10:52:57.847", + "brew_time": "26.3", + "actual_pressure": 8.1358168, + "old_pressure": 8.142711559999999 + }, + { + "timestamp": "10:52:57.906", + "brew_time": "26.3", + "actual_pressure": 7.88071068, + "old_pressure": 8.1358168 + }, + { + "timestamp": "10:52:57.966", + "brew_time": "26.4", + "actual_pressure": 7.36360368, + "old_pressure": 7.88071068 + }, + { + "timestamp": "10:52:58.027", + "brew_time": "26.4", + "actual_pressure": 6.936128559999999, + "old_pressure": 7.36360368 + }, + { + "timestamp": "10:52:58.086", + "brew_time": "26.5", + "actual_pressure": 6.5431272400000005, + "old_pressure": 6.936128559999999 + }, + { + "timestamp": "10:52:58.148", + "brew_time": "26.6", + "actual_pressure": 6.205284, + "old_pressure": 6.5431272400000005 + }, + { + "timestamp": "10:52:58.206", + "brew_time": "26.6", + "actual_pressure": 5.88812504, + "old_pressure": 6.205284 + }, + { + "timestamp": "10:52:58.267", + "brew_time": "26.7", + "actual_pressure": 5.59854512, + "old_pressure": 5.88812504 + }, + { + "timestamp": "10:52:58.327", + "brew_time": "26.7", + "actual_pressure": 5.33654424, + "old_pressure": 5.59854512 + }, + { + "timestamp": "10:52:58.386", + "brew_time": "26.8", + "actual_pressure": 5.09522764, + "old_pressure": 5.33654424 + }, + { + "timestamp": "10:52:58.448", + "brew_time": "26.8", + "actual_pressure": 4.88149008, + "old_pressure": 5.09522764 + }, + { + "timestamp": "10:52:58.508", + "brew_time": "26.9", + "actual_pressure": 4.68154204, + "old_pressure": 4.88149008 + }, + { + "timestamp": "10:52:58.565", + "brew_time": "26.9", + "actual_pressure": 4.50227828, + "old_pressure": 4.68154204 + }, + { + "timestamp": "10:52:58.632", + "brew_time": "27.1", + "actual_pressure": 4.33680404, + "old_pressure": 4.50227828 + }, + { + "timestamp": "10:52:58.686", + "brew_time": "27.1", + "actual_pressure": 4.17822456, + "old_pressure": 4.33680404 + }, + { + "timestamp": "10:52:58.746", + "brew_time": "27.2", + "actual_pressure": 4.04032936, + "old_pressure": 4.17822456 + }, + { + "timestamp": "10:52:58.807", + "brew_time": "27.2", + "actual_pressure": 3.90932892, + "old_pressure": 4.04032936 + }, + { + "timestamp": "10:52:58.868", + "brew_time": "27.3", + "actual_pressure": 3.7852232399999997, + "old_pressure": 3.90932892 + }, + { + "timestamp": "10:52:58.927", + "brew_time": "27.4", + "actual_pressure": 3.66801232, + "old_pressure": 3.7852232399999997 + }, + { + "timestamp": "10:52:58.987", + "brew_time": "27.5", + "actual_pressure": 3.56459092, + "old_pressure": 3.66801232 + }, + { + "timestamp": "10:52:59.046", + "brew_time": "27.5", + "actual_pressure": 3.46116952, + "old_pressure": 3.56459092 + }, + { + "timestamp": "10:52:59.106", + "brew_time": "27.6", + "actual_pressure": 3.36464288, + "old_pressure": 3.46116952 + }, + { + "timestamp": "10:52:59.168", + "brew_time": "27.6", + "actual_pressure": 3.275011, + "old_pressure": 3.36464288 + }, + { + "timestamp": "10:52:59.226", + "brew_time": "27.7", + "actual_pressure": 3.1922738799999997, + "old_pressure": 3.275011 + }, + { + "timestamp": "10:52:59.287", + "brew_time": "27.8", + "actual_pressure": 3.11643152, + "old_pressure": 3.1922738799999997 + }, + { + "timestamp": "10:52:59.346", + "brew_time": "27.8", + "actual_pressure": 3.04058916, + "old_pressure": 3.11643152 + }, + { + "timestamp": "10:52:59.407", + "brew_time": "27.9", + "actual_pressure": 2.97164156, + "old_pressure": 3.04058916 + }, + { + "timestamp": "10:52:59.466", + "brew_time": "27.9", + "actual_pressure": 2.90269396, + "old_pressure": 2.97164156 + }, + { + "timestamp": "10:52:59.527", + "brew_time": "27.9", + "actual_pressure": 2.84064112, + "old_pressure": 2.90269396 + }, + { + "timestamp": "10:52:59.586", + "brew_time": "27.10", + "actual_pressure": 2.7785882799999997, + "old_pressure": 2.84064112 + }, + { + "timestamp": "10:52:59.654", + "brew_time": "28.1", + "actual_pressure": 2.7234302, + "old_pressure": 2.7785882799999997 + }, + { + "timestamp": "10:52:59.706", + "brew_time": "28.1", + "actual_pressure": 2.67516688, + "old_pressure": 2.7234302 + }, + { + "timestamp": "10:52:59.769", + "brew_time": "28.2", + "actual_pressure": 2.62690356, + "old_pressure": 2.67516688 + }, + { + "timestamp": "10:52:59.827", + "brew_time": "28.2", + "actual_pressure": 2.57864024, + "old_pressure": 2.62690356 + }, + { + "timestamp": "10:52:59.886", + "brew_time": "28.3", + "actual_pressure": 2.53727168, + "old_pressure": 2.57864024 + }, + { + "timestamp": "10:52:59.948", + "brew_time": "28.3", + "actual_pressure": 2.48900836, + "old_pressure": 2.53727168 + }, + { + "timestamp": "10:53:00.006", + "brew_time": "28.4", + "actual_pressure": 2.45453456, + "old_pressure": 2.48900836 + }, + { + "timestamp": "10:53:00.067", + "brew_time": "28.5", + "actual_pressure": 2.413166, + "old_pressure": 2.45453456 + }, + { + "timestamp": "10:53:00.127", + "brew_time": "28.5", + "actual_pressure": 2.3786921999999997, + "old_pressure": 2.413166 + }, + { + "timestamp": "10:53:00.189", + "brew_time": "28.6", + "actual_pressure": 2.3442184, + "old_pressure": 2.3786921999999997 + }, + { + "timestamp": "10:53:00.248", + "brew_time": "28.6", + "actual_pressure": 2.31663936, + "old_pressure": 2.3442184 + }, + { + "timestamp": "10:53:00.306", + "brew_time": "28.7", + "actual_pressure": 2.28216556, + "old_pressure": 2.31663936 + }, + { + "timestamp": "10:53:00.368", + "brew_time": "28.8", + "actual_pressure": 2.25458652, + "old_pressure": 2.28216556 + }, + { + "timestamp": "10:53:00.426", + "brew_time": "28.8", + "actual_pressure": 2.2270074799999997, + "old_pressure": 2.25458652 + }, + { + "timestamp": "10:53:00.485", + "brew_time": "28.9", + "actual_pressure": 2.1994284399999997, + "old_pressure": 2.2270074799999997 + }, + { + "timestamp": "10:53:00.546", + "brew_time": "28.9", + "actual_pressure": 2.17874416, + "old_pressure": 2.1994284399999997 + }, + { + "timestamp": "10:53:00.606", + "brew_time": "28.10", + "actual_pressure": 2.15116512, + "old_pressure": 2.17874416 + }, + { + "timestamp": "10:53:00.668", + "brew_time": "28.10", + "actual_pressure": 2.12358608, + "old_pressure": 2.15116512 + }, + { + "timestamp": "10:53:00.726", + "brew_time": "29.1", + "actual_pressure": 2.1029017999999997, + "old_pressure": 2.12358608 + }, + { + "timestamp": "10:53:00.787", + "brew_time": "29.2", + "actual_pressure": 2.08221752, + "old_pressure": 2.1029017999999997 + }, + { + "timestamp": "10:53:00.846", + "brew_time": "29.2", + "actual_pressure": 2.0615332399999997, + "old_pressure": 2.08221752 + }, + { + "timestamp": "10:53:00.907", + "brew_time": "29.3", + "actual_pressure": 2.04084896, + "old_pressure": 2.0615332399999997 + }, + { + "timestamp": "10:53:00.969", + "brew_time": "29.3", + "actual_pressure": 2.02016468, + "old_pressure": 2.04084896 + }, + { + "timestamp": "10:53:01.025", + "brew_time": "29.4", + "actual_pressure": 1.9994804, + "old_pressure": 2.02016468 + }, + { + "timestamp": "10:53:01.088", + "brew_time": "29.4", + "actual_pressure": 1.97879612, + "old_pressure": 1.9994804 + }, + { + "timestamp": "10:53:01.145", + "brew_time": "29.5", + "actual_pressure": 1.9650066, + "old_pressure": 1.97879612 + }, + { + "timestamp": "10:53:01.208", + "brew_time": "29.6", + "actual_pressure": 1.94432232, + "old_pressure": 1.9650066 + }, + { + "timestamp": "10:53:01.266", + "brew_time": "29.6", + "actual_pressure": 1.9305328, + "old_pressure": 1.94432232 + }, + { + "timestamp": "10:53:01.328", + "brew_time": "29.7", + "actual_pressure": 1.90984852, + "old_pressure": 1.9305328 + }, + { + "timestamp": "10:53:01.386", + "brew_time": "29.7", + "actual_pressure": 1.88916424, + "old_pressure": 1.90984852 + }, + { + "timestamp": "10:53:01.449", + "brew_time": "29.8", + "actual_pressure": 1.87537472, + "old_pressure": 1.88916424 + }, + { + "timestamp": "10:53:01.507", + "brew_time": "29.8", + "actual_pressure": 1.85469044, + "old_pressure": 1.87537472 + }, + { + "timestamp": "10:53:01.566", + "brew_time": "29.9", + "actual_pressure": 1.83400616, + "old_pressure": 1.85469044 + }, + { + "timestamp": "10:53:01.628", + "brew_time": "30.1", + "actual_pressure": 1.80642712, + "old_pressure": 1.83400616 + }, + { + "timestamp": "10:53:01.686", + "brew_time": "30.1", + "actual_pressure": 1.76505856, + "old_pressure": 1.80642712 + }, + { + "timestamp": "10:53:01.748", + "brew_time": "30.2", + "actual_pressure": 1.53753148, + "old_pressure": 1.76505856 + }, + { + "timestamp": "10:53:01.806", + "brew_time": "30.2", + "actual_pressure": 1.36516248, + "old_pressure": 1.53753148 + }, + { + "timestamp": "10:53:01.866", + "brew_time": "30.3", + "actual_pressure": 1.39274152, + "old_pressure": 1.36516248 + }, + { + "timestamp": "10:53:01.927", + "brew_time": "30.3", + "actual_pressure": 1.39963628, + "old_pressure": 1.39274152 + }, + { + "timestamp": "10:53:01.988", + "brew_time": "30.4", + "actual_pressure": 1.40653104, + "old_pressure": 1.39963628 + }, + { + "timestamp": "10:53:02.227", + "brew_time": "30.6", + "actual_pressure": 1.39963628, + "old_pressure": 1.40653104 + }, + { + "timestamp": "10:53:02.354", + "brew_time": "30.8", + "actual_pressure": 1.39274152, + "old_pressure": 1.39963628 + }, + { + "timestamp": "10:53:02.468", + "brew_time": "30.9", + "actual_pressure": 1.38584676, + "old_pressure": 1.39274152 + }, + { + "timestamp": "10:53:02.588", + "brew_time": "30.9", + "actual_pressure": 1.378952, + "old_pressure": 1.38584676 + }, + { + "timestamp": "10:53:02.710", + "brew_time": "31.2", + "actual_pressure": 1.37205724, + "old_pressure": 1.378952 + }, + { + "timestamp": "10:53:02.766", + "brew_time": "31.2", + "actual_pressure": 1.36516248, + "old_pressure": 1.37205724 + }, + { + "timestamp": "10:53:02.888", + "brew_time": "31.3", + "actual_pressure": 1.35826772, + "old_pressure": 1.36516248 + }, + { + "timestamp": "10:53:03.007", + "brew_time": "31.5", + "actual_pressure": 1.35137296, + "old_pressure": 1.35826772 + }, + { + "timestamp": "10:53:03.066", + "brew_time": "31.5", + "actual_pressure": 1.3444782, + "old_pressure": 1.35137296 + }, + { + "timestamp": "10:53:03.127", + "brew_time": "31.6", + "actual_pressure": 1.33758344, + "old_pressure": 1.3444782 + }, + { + "timestamp": "10:53:03.308", + "brew_time": "31.7", + "actual_pressure": 1.33068868, + "old_pressure": 1.33758344 + }, + { + "timestamp": "10:53:03.366", + "brew_time": "31.8", + "actual_pressure": 1.32379392, + "old_pressure": 1.33068868 + }, + { + "timestamp": "10:53:03.486", + "brew_time": "31.9", + "actual_pressure": 1.31689916, + "old_pressure": 1.32379392 + }, + { + "timestamp": "10:53:03.546", + "brew_time": "31.10", + "actual_pressure": 1.3100044, + "old_pressure": 1.31689916 + }, + { + "timestamp": "10:53:03.666", + "brew_time": "32.1", + "actual_pressure": 1.30310964, + "old_pressure": 1.3100044 + }, + { + "timestamp": "10:53:03.786", + "brew_time": "32.2", + "actual_pressure": 1.29621488, + "old_pressure": 1.30310964 + }, + { + "timestamp": "10:53:03.908", + "brew_time": "32.3", + "actual_pressure": 1.28932012, + "old_pressure": 1.29621488 + }, + { + "timestamp": "10:53:04.028", + "brew_time": "32.5", + "actual_pressure": 1.28242536, + "old_pressure": 1.28932012 + }, + { + "timestamp": "10:53:04.087", + "brew_time": "32.5", + "actual_pressure": 1.2755306, + "old_pressure": 1.28242536 + }, + { + "timestamp": "10:53:04.267", + "brew_time": "32.6", + "actual_pressure": 1.26863584, + "old_pressure": 1.2755306 + }, + { + "timestamp": "10:53:04.386", + "brew_time": "32.8", + "actual_pressure": 1.26174108, + "old_pressure": 1.26863584 + }, + { + "timestamp": "10:53:04.451", + "brew_time": "32.9", + "actual_pressure": 1.25484632, + "old_pressure": 1.26174108 + }, + { + "timestamp": "10:53:04.568", + "brew_time": "32.9", + "actual_pressure": 1.24795156, + "old_pressure": 1.25484632 + }, + { + "timestamp": "10:53:04.747", + "brew_time": "33.1", + "actual_pressure": 1.2410568, + "old_pressure": 1.24795156 + }, + { + "timestamp": "10:53:04.806", + "brew_time": "33.2", + "actual_pressure": 1.23416204, + "old_pressure": 1.2410568 + }, + { + "timestamp": "10:53:04.987", + "brew_time": "33.4", + "actual_pressure": 1.22726728, + "old_pressure": 1.23416204 + }, + { + "timestamp": "10:53:05.106", + "brew_time": "33.5", + "actual_pressure": 1.22037252, + "old_pressure": 1.22726728 + }, + { + "timestamp": "10:53:05.226", + "brew_time": "33.6", + "actual_pressure": 1.21347776, + "old_pressure": 1.22037252 + }, + { + "timestamp": "10:53:05.352", + "brew_time": "33.7", + "actual_pressure": 1.206583, + "old_pressure": 1.21347776 + }, + { + "timestamp": "10:53:05.530", + "brew_time": "33.8", + "actual_pressure": 1.19968824, + "old_pressure": 1.206583 + }, + { + "timestamp": "10:53:05.649", + "brew_time": "34.1", + "actual_pressure": 1.19279348, + "old_pressure": 1.19968824 + }, + { + "timestamp": "10:53:05.827", + "brew_time": "34.2", + "actual_pressure": 1.18589872, + "old_pressure": 1.19279348 + }, + { + "timestamp": "10:53:05.949", + "brew_time": "34.4", + "actual_pressure": 1.17900396, + "old_pressure": 1.18589872 + }, + { + "timestamp": "10:53:06.128", + "brew_time": "34.5", + "actual_pressure": 1.1721092, + "old_pressure": 1.17900396 + }, + { + "timestamp": "10:53:06.247", + "brew_time": "34.6", + "actual_pressure": 1.16521444, + "old_pressure": 1.1721092 + }, + { + "timestamp": "10:53:06.427", + "brew_time": "34.8", + "actual_pressure": 1.15831968, + "old_pressure": 1.16521444 + }, + { + "timestamp": "10:53:06.610", + "brew_time": "34.10", + "actual_pressure": 1.15142492, + "old_pressure": 1.15831968 + }, + { + "timestamp": "10:53:06.788", + "brew_time": "35.2", + "actual_pressure": 1.14453016, + "old_pressure": 1.15142492 + } + ] +} diff --git a/src/assets/BeanconquerorFlowTestDataSecond.json b/src/assets/BeanconquerorFlowTestDataSecond.json new file mode 100644 index 000000000..993ab6136 --- /dev/null +++ b/src/assets/BeanconquerorFlowTestDataSecond.json @@ -0,0 +1 @@ +{"weight":[{"timestamp":"10:13:58.210","brew_time":"0.0","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.407","brew_time":"0.1","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.453","brew_time":"0.2","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.524","brew_time":"0.3","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.642","brew_time":"0.4","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.721","brew_time":"0.5","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.785","brew_time":"0.6","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.862","brew_time":"0.7","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:58.942","brew_time":"0.8","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.039","brew_time":"0.9","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.168","brew_time":"0.10","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.256","brew_time":"1.1","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.417","brew_time":"1.2","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.548","brew_time":"1.3","actual_weight":0,"old_weight":0,"actual_smoothed_weight":0,"old_smoothed_weight":0},{"timestamp":"10:13:59.632","brew_time":"1.4","actual_weight":0.8,"old_weight":0,"actual_smoothed_weight":0.2,"old_smoothed_weight":0},{"timestamp":"10:13:59.704","brew_time":"1.5","actual_weight":1.8,"old_weight":0.8,"actual_smoothed_weight":0.7,"old_smoothed_weight":0.2},{"timestamp":"10:13:59.803","brew_time":"1.6","actual_weight":2.8,"old_weight":1.8,"actual_smoothed_weight":1.3,"old_smoothed_weight":0.7},{"timestamp":"10:13:59.871","brew_time":"1.7","actual_weight":4.1,"old_weight":2.8,"actual_smoothed_weight":2.2,"old_smoothed_weight":1.3},{"timestamp":"10:13:59.983","brew_time":"1.8","actual_weight":6,"old_weight":4.1,"actual_smoothed_weight":3.3,"old_smoothed_weight":2.2},{"timestamp":"10:14:00.097","brew_time":"1.9","actual_weight":7.7,"old_weight":6,"actual_smoothed_weight":4.6,"old_smoothed_weight":3.3},{"timestamp":"10:14:00.168","brew_time":"1.10","actual_weight":9.1,"old_weight":7.7,"actual_smoothed_weight":6,"old_smoothed_weight":4.6},{"timestamp":"10:14:00.292","brew_time":"2.1","actual_weight":10,"old_weight":9.1,"actual_smoothed_weight":7.2,"old_smoothed_weight":6},{"timestamp":"10:14:00.410","brew_time":"2.2","actual_weight":10.9,"old_weight":10,"actual_smoothed_weight":8.3,"old_smoothed_weight":7.2},{"timestamp":"10:14:00.559","brew_time":"2.3","actual_weight":12.2,"old_weight":10.9,"actual_smoothed_weight":9.5,"old_smoothed_weight":8.3},{"timestamp":"10:14:00.616","brew_time":"2.4","actual_weight":14,"old_weight":12.2,"actual_smoothed_weight":10.8,"old_smoothed_weight":9.5},{"timestamp":"10:14:00.820","brew_time":"2.5","actual_weight":15.6,"old_weight":14,"actual_smoothed_weight":12.3,"old_smoothed_weight":10.8},{"timestamp":"10:14:00.881","brew_time":"2.6","actual_weight":16.9,"old_weight":15.6,"actual_smoothed_weight":13.7,"old_smoothed_weight":12.3},{"timestamp":"10:14:00.934","brew_time":"2.7","actual_weight":17.8,"old_weight":16.9,"actual_smoothed_weight":14.9,"old_smoothed_weight":13.7},{"timestamp":"10:14:01.031","brew_time":"2.8","actual_weight":18.4,"old_weight":17.8,"actual_smoothed_weight":15.9,"old_smoothed_weight":14.9},{"timestamp":"10:14:01.109","brew_time":"2.9","actual_weight":19.5,"old_weight":18.4,"actual_smoothed_weight":17,"old_smoothed_weight":15.9},{"timestamp":"10:14:01.228","brew_time":"2.10","actual_weight":21.1,"old_weight":19.5,"actual_smoothed_weight":18.2,"old_smoothed_weight":17},{"timestamp":"10:14:01.356","brew_time":"3.1","actual_weight":23,"old_weight":21.1,"actual_smoothed_weight":19.7,"old_smoothed_weight":18.2},{"timestamp":"10:14:01.430","brew_time":"3.2","actual_weight":24.7,"old_weight":23,"actual_smoothed_weight":21.2,"old_smoothed_weight":19.7},{"timestamp":"10:14:01.645","brew_time":"3.3","actual_weight":25.6,"old_weight":24.7,"actual_smoothed_weight":22.5,"old_smoothed_weight":21.2},{"timestamp":"10:14:01.717","brew_time":"3.4","actual_weight":26.2,"old_weight":25.6,"actual_smoothed_weight":23.6,"old_smoothed_weight":22.5},{"timestamp":"10:14:01.799","brew_time":"3.5","actual_weight":27.1,"old_weight":26.2,"actual_smoothed_weight":24.7,"old_smoothed_weight":23.6},{"timestamp":"10:14:01.875","brew_time":"3.6","actual_weight":28.9,"old_weight":27.1,"actual_smoothed_weight":25.9,"old_smoothed_weight":24.7},{"timestamp":"10:14:01.954","brew_time":"3.7","actual_weight":31.1,"old_weight":28.9,"actual_smoothed_weight":27.5,"old_smoothed_weight":25.9},{"timestamp":"10:14:02.049","brew_time":"3.8","actual_weight":32.7,"old_weight":31.1,"actual_smoothed_weight":29,"old_smoothed_weight":27.5},{"timestamp":"10:14:02.116","brew_time":"3.9","actual_weight":33.7,"old_weight":32.7,"actual_smoothed_weight":30.4,"old_smoothed_weight":29},{"timestamp":"10:14:02.277","brew_time":"3.10","actual_weight":34.5,"old_weight":33.7,"actual_smoothed_weight":31.7,"old_smoothed_weight":30.4},{"timestamp":"10:14:02.375","brew_time":"4.1","actual_weight":35.4,"old_weight":34.5,"actual_smoothed_weight":32.8,"old_smoothed_weight":31.7},{"timestamp":"10:14:02.454","brew_time":"4.2","actual_weight":36.9,"old_weight":35.4,"actual_smoothed_weight":34,"old_smoothed_weight":32.8},{"timestamp":"10:14:02.568","brew_time":"4.3","actual_weight":38.8,"old_weight":36.9,"actual_smoothed_weight":35.5,"old_smoothed_weight":34},{"timestamp":"10:14:02.695","brew_time":"4.4","actual_weight":40.7,"old_weight":38.8,"actual_smoothed_weight":37,"old_smoothed_weight":35.5},{"timestamp":"10:14:02.775","brew_time":"4.5","actual_weight":42.2,"old_weight":40.7,"actual_smoothed_weight":38.6,"old_smoothed_weight":37},{"timestamp":"10:14:02.956","brew_time":"4.6","actual_weight":43,"old_weight":42.2,"actual_smoothed_weight":39.9,"old_smoothed_weight":38.6},{"timestamp":"10:14:03.054","brew_time":"4.7","actual_weight":43.9,"old_weight":43,"actual_smoothed_weight":41.1,"old_smoothed_weight":39.9},{"timestamp":"10:14:03.130","brew_time":"4.8","actual_weight":44.9,"old_weight":43.9,"actual_smoothed_weight":42.2,"old_smoothed_weight":41.1},{"timestamp":"10:14:03.200","brew_time":"4.9","actual_weight":46.2,"old_weight":44.9,"actual_smoothed_weight":43.4,"old_smoothed_weight":42.2},{"timestamp":"10:14:03.352","brew_time":"5.1","actual_weight":47.5,"old_weight":46.2,"actual_smoothed_weight":44.7,"old_smoothed_weight":43.4},{"timestamp":"10:14:03.419","brew_time":"5.2","actual_weight":48.4,"old_weight":47.5,"actual_smoothed_weight":45.8,"old_smoothed_weight":44.7},{"timestamp":"10:14:03.480","brew_time":"5.3","actual_weight":49,"old_weight":48.4,"actual_smoothed_weight":46.7,"old_smoothed_weight":45.8},{"timestamp":"10:14:03.650","brew_time":"5.4","actual_weight":49.4,"old_weight":49,"actual_smoothed_weight":47.5,"old_smoothed_weight":46.7},{"timestamp":"10:14:03.702","brew_time":"5.5","actual_weight":49.8,"old_weight":49.4,"actual_smoothed_weight":48.2,"old_smoothed_weight":47.5},{"timestamp":"10:14:03.800","brew_time":"5.6","actual_weight":49.9,"old_weight":49.8,"actual_smoothed_weight":48.7,"old_smoothed_weight":48.2},{"timestamp":"10:14:03.874","brew_time":"5.7","actual_weight":49.9,"old_weight":49.9,"actual_smoothed_weight":49.1,"old_smoothed_weight":48.7},{"timestamp":"10:14:03.999","brew_time":"5.8","actual_weight":50,"old_weight":49.9,"actual_smoothed_weight":49.4,"old_smoothed_weight":49.1},{"timestamp":"10:14:04.152","brew_time":"5.9","actual_weight":50,"old_weight":50,"actual_smoothed_weight":49.5,"old_smoothed_weight":49.4},{"timestamp":"10:14:04.252","brew_time":"6.1","actual_weight":50.1,"old_weight":50,"actual_smoothed_weight":49.7,"old_smoothed_weight":49.5},{"timestamp":"10:14:04.378","brew_time":"6.2","actual_weight":50.1,"old_weight":50.1,"actual_smoothed_weight":49.8,"old_smoothed_weight":49.7},{"timestamp":"10:14:04.440","brew_time":"6.3","actual_weight":50.1,"old_weight":50.1,"actual_smoothed_weight":49.9,"old_smoothed_weight":49.8},{"timestamp":"10:14:04.552","brew_time":"6.4","actual_weight":50.4,"old_weight":50.1,"actual_smoothed_weight":50.1,"old_smoothed_weight":49.9},{"timestamp":"10:14:04.642","brew_time":"6.5","actual_weight":50.6,"old_weight":50.4,"actual_smoothed_weight":50.2,"old_smoothed_weight":50.1},{"timestamp":"10:14:04.756","brew_time":"6.6","actual_weight":50.9,"old_weight":50.6,"actual_smoothed_weight":50.4,"old_smoothed_weight":50.2},{"timestamp":"10:14:04.826","brew_time":"6.7","actual_weight":51.4,"old_weight":50.9,"actual_smoothed_weight":50.7,"old_smoothed_weight":50.4},{"timestamp":"10:14:04.931","brew_time":"6.8","actual_weight":51.6,"old_weight":51.4,"actual_smoothed_weight":51,"old_smoothed_weight":50.7},{"timestamp":"10:14:05.123","brew_time":"6.9","actual_weight":52,"old_weight":51.6,"actual_smoothed_weight":51.3,"old_smoothed_weight":51},{"timestamp":"10:14:05.186","brew_time":"6.10","actual_weight":52.4,"old_weight":52,"actual_smoothed_weight":51.6,"old_smoothed_weight":51.3},{"timestamp":"10:14:05.296","brew_time":"7.1","actual_weight":52.9,"old_weight":52.4,"actual_smoothed_weight":52,"old_smoothed_weight":51.6},{"timestamp":"10:14:05.378","brew_time":"7.2","actual_weight":53.4,"old_weight":52.9,"actual_smoothed_weight":52.4,"old_smoothed_weight":52},{"timestamp":"10:14:05.467","brew_time":"7.3","actual_weight":53.9,"old_weight":53.4,"actual_smoothed_weight":52.9,"old_smoothed_weight":52.4},{"timestamp":"10:14:05.570","brew_time":"7.4","actual_weight":54.2,"old_weight":53.9,"actual_smoothed_weight":53.3,"old_smoothed_weight":52.9},{"timestamp":"10:14:05.656","brew_time":"7.5","actual_weight":54.7,"old_weight":54.2,"actual_smoothed_weight":53.7,"old_smoothed_weight":53.3},{"timestamp":"10:14:05.759","brew_time":"7.6","actual_weight":55.2,"old_weight":54.7,"actual_smoothed_weight":54.1,"old_smoothed_weight":53.7},{"timestamp":"10:14:05.839","brew_time":"7.7","actual_weight":55.6,"old_weight":55.2,"actual_smoothed_weight":54.6,"old_smoothed_weight":54.1},{"timestamp":"10:14:05.988","brew_time":"7.8","actual_weight":55.9,"old_weight":55.6,"actual_smoothed_weight":55,"old_smoothed_weight":54.6},{"timestamp":"10:14:06.054","brew_time":"7.9","actual_weight":56.3,"old_weight":55.9,"actual_smoothed_weight":55.4,"old_smoothed_weight":55},{"timestamp":"10:14:06.172","brew_time":"7.10","actual_weight":56.9,"old_weight":56.3,"actual_smoothed_weight":55.8,"old_smoothed_weight":55.4},{"timestamp":"10:14:06.280","brew_time":"8.1","actual_weight":57.7,"old_weight":56.9,"actual_smoothed_weight":56.4,"old_smoothed_weight":55.8},{"timestamp":"10:14:06.394","brew_time":"8.2","actual_weight":58.8,"old_weight":57.7,"actual_smoothed_weight":57.1,"old_smoothed_weight":56.4},{"timestamp":"10:14:06.500","brew_time":"8.3","actual_weight":60.1,"old_weight":58.8,"actual_smoothed_weight":58,"old_smoothed_weight":57.1},{"timestamp":"10:14:06.659","brew_time":"8.4","actual_weight":61.2,"old_weight":60.1,"actual_smoothed_weight":59,"old_smoothed_weight":58},{"timestamp":"10:14:06.768","brew_time":"8.5","actual_weight":62.1,"old_weight":61.2,"actual_smoothed_weight":59.9,"old_smoothed_weight":59},{"timestamp":"10:14:06.815","brew_time":"8.6","actual_weight":62.8,"old_weight":62.1,"actual_smoothed_weight":60.8,"old_smoothed_weight":59.9},{"timestamp":"10:14:06.886","brew_time":"8.7","actual_weight":63.8,"old_weight":62.8,"actual_smoothed_weight":61.7,"old_smoothed_weight":60.8},{"timestamp":"10:14:06.993","brew_time":"8.8","actual_weight":65.2,"old_weight":63.8,"actual_smoothed_weight":62.7,"old_smoothed_weight":61.7},{"timestamp":"10:14:07.103","brew_time":"8.9","actual_weight":66.6,"old_weight":65.2,"actual_smoothed_weight":63.9,"old_smoothed_weight":62.7},{"timestamp":"10:14:07.181","brew_time":"8.10","actual_weight":68,"old_weight":66.6,"actual_smoothed_weight":65.1,"old_smoothed_weight":63.9},{"timestamp":"10:14:07.404","brew_time":"9.1","actual_weight":69.3,"old_weight":68,"actual_smoothed_weight":66.4,"old_smoothed_weight":65.1},{"timestamp":"10:14:07.475","brew_time":"9.2","actual_weight":70.1,"old_weight":69.3,"actual_smoothed_weight":67.5,"old_smoothed_weight":66.4},{"timestamp":"10:14:07.549","brew_time":"9.3","actual_weight":70.8,"old_weight":70.1,"actual_smoothed_weight":68.5,"old_smoothed_weight":67.5},{"timestamp":"10:14:07.681","brew_time":"9.4","actual_weight":71.3,"old_weight":70.8,"actual_smoothed_weight":69.3,"old_smoothed_weight":68.5},{"timestamp":"10:14:07.729","brew_time":"9.5","actual_weight":72.3,"old_weight":71.3,"actual_smoothed_weight":70.2,"old_smoothed_weight":69.3},{"timestamp":"10:14:07.862","brew_time":"9.6","actual_weight":73.1,"old_weight":72.3,"actual_smoothed_weight":71.1,"old_smoothed_weight":70.2},{"timestamp":"10:14:07.930","brew_time":"9.7","actual_weight":74.2,"old_weight":73.1,"actual_smoothed_weight":72,"old_smoothed_weight":71.1},{"timestamp":"10:14:08.083","brew_time":"9.8","actual_weight":75,"old_weight":74.2,"actual_smoothed_weight":72.9,"old_smoothed_weight":72},{"timestamp":"10:14:08.157","brew_time":"9.9","actual_weight":75.5,"old_weight":75,"actual_smoothed_weight":73.7,"old_smoothed_weight":72.9},{"timestamp":"10:14:08.272","brew_time":"9.10","actual_weight":76.5,"old_weight":75.5,"actual_smoothed_weight":74.5,"old_smoothed_weight":73.7},{"timestamp":"10:14:08.391","brew_time":"10.1","actual_weight":77.3,"old_weight":76.5,"actual_smoothed_weight":75.4,"old_smoothed_weight":74.5},{"timestamp":"10:14:08.451","brew_time":"10.2","actual_weight":78,"old_weight":77.3,"actual_smoothed_weight":76.2,"old_smoothed_weight":75.4},{"timestamp":"10:14:08.582","brew_time":"10.3","actual_weight":79.1,"old_weight":78,"actual_smoothed_weight":77,"old_smoothed_weight":76.2},{"timestamp":"10:14:08.646","brew_time":"10.4","actual_weight":80.2,"old_weight":79.1,"actual_smoothed_weight":78,"old_smoothed_weight":77},{"timestamp":"10:14:08.837","brew_time":"10.5","actual_weight":81.5,"old_weight":80.2,"actual_smoothed_weight":79,"old_smoothed_weight":78},{"timestamp":"10:14:08.910","brew_time":"10.6","actual_weight":82.6,"old_weight":81.5,"actual_smoothed_weight":80.1,"old_smoothed_weight":79},{"timestamp":"10:14:08.985","brew_time":"10.7","actual_weight":83.5,"old_weight":82.6,"actual_smoothed_weight":81.1,"old_smoothed_weight":80.1},{"timestamp":"10:14:09.060","brew_time":"10.8","actual_weight":84.2,"old_weight":83.5,"actual_smoothed_weight":82,"old_smoothed_weight":81.1},{"timestamp":"10:14:09.177","brew_time":"10.9","actual_weight":84.8,"old_weight":84.2,"actual_smoothed_weight":82.9,"old_smoothed_weight":82},{"timestamp":"10:14:09.295","brew_time":"11.1","actual_weight":85.4,"old_weight":84.8,"actual_smoothed_weight":83.6,"old_smoothed_weight":82.9},{"timestamp":"10:14:09.362","brew_time":"11.2","actual_weight":86.4,"old_weight":85.4,"actual_smoothed_weight":84.5,"old_smoothed_weight":83.6},{"timestamp":"10:14:09.552","brew_time":"11.3","actual_weight":87.5,"old_weight":86.4,"actual_smoothed_weight":85.4,"old_smoothed_weight":84.5},{"timestamp":"10:14:09.609","brew_time":"11.4","actual_weight":88.8,"old_weight":87.5,"actual_smoothed_weight":86.4,"old_smoothed_weight":85.4},{"timestamp":"10:14:09.673","brew_time":"11.5","actual_weight":90,"old_weight":88.8,"actual_smoothed_weight":87.5,"old_smoothed_weight":86.4},{"timestamp":"10:14:09.771","brew_time":"11.6","actual_weight":91.1,"old_weight":90,"actual_smoothed_weight":88.6,"old_smoothed_weight":87.5},{"timestamp":"10:14:09.886","brew_time":"11.7","actual_weight":91.9,"old_weight":91.1,"actual_smoothed_weight":89.6,"old_smoothed_weight":88.6},{"timestamp":"10:14:10.003","brew_time":"11.8","actual_weight":92.3,"old_weight":91.9,"actual_smoothed_weight":90.4,"old_smoothed_weight":89.6},{"timestamp":"10:14:10.069","brew_time":"11.9","actual_weight":92.7,"old_weight":92.3,"actual_smoothed_weight":91.1,"old_smoothed_weight":90.4},{"timestamp":"10:14:10.271","brew_time":"11.10","actual_weight":93.2,"old_weight":92.7,"actual_smoothed_weight":91.7,"old_smoothed_weight":91.1},{"timestamp":"10:14:10.407","brew_time":"12.1","actual_weight":93.8,"old_weight":93.2,"actual_smoothed_weight":92.3,"old_smoothed_weight":91.7},{"timestamp":"10:14:10.484","brew_time":"12.2","actual_weight":94.8,"old_weight":93.8,"actual_smoothed_weight":93.1,"old_smoothed_weight":92.3},{"timestamp":"10:14:10.587","brew_time":"12.3","actual_weight":96.1,"old_weight":94.8,"actual_smoothed_weight":94,"old_smoothed_weight":93.1},{"timestamp":"10:14:10.646","brew_time":"12.4","actual_weight":97.4,"old_weight":96.1,"actual_smoothed_weight":95,"old_smoothed_weight":94},{"timestamp":"10:14:10.710","brew_time":"12.5","actual_weight":98.3,"old_weight":97.4,"actual_smoothed_weight":96,"old_smoothed_weight":95},{"timestamp":"10:14:10.835","brew_time":"12.6","actual_weight":98.8,"old_weight":98.3,"actual_smoothed_weight":96.8,"old_smoothed_weight":96},{"timestamp":"10:14:10.945","brew_time":"12.7","actual_weight":99.3,"old_weight":98.8,"actual_smoothed_weight":97.6,"old_smoothed_weight":96.8},{"timestamp":"10:14:11.054","brew_time":"12.8","actual_weight":99.8,"old_weight":99.3,"actual_smoothed_weight":98.2,"old_smoothed_weight":97.6},{"timestamp":"10:14:11.132","brew_time":"12.9","actual_weight":100.8,"old_weight":99.8,"actual_smoothed_weight":99,"old_smoothed_weight":98.2},{"timestamp":"10:14:11.238","brew_time":"12.10","actual_weight":102.2,"old_weight":100.8,"actual_smoothed_weight":100,"old_smoothed_weight":99},{"timestamp":"10:14:11.339","brew_time":"13.1","actual_weight":104.1,"old_weight":102.2,"actual_smoothed_weight":101.2,"old_smoothed_weight":100},{"timestamp":"10:14:11.424","brew_time":"13.2","actual_weight":105.5,"old_weight":104.1,"actual_smoothed_weight":102.5,"old_smoothed_weight":101.2},{"timestamp":"10:14:11.544","brew_time":"13.3","actual_weight":106.6,"old_weight":105.5,"actual_smoothed_weight":103.7,"old_smoothed_weight":102.5},{"timestamp":"10:14:11.724","brew_time":"13.4","actual_weight":107.1,"old_weight":106.6,"actual_smoothed_weight":104.7,"old_smoothed_weight":103.7},{"timestamp":"10:14:11.780","brew_time":"13.5","actual_weight":107.8,"old_weight":107.1,"actual_smoothed_weight":105.7,"old_smoothed_weight":104.7},{"timestamp":"10:14:11.900","brew_time":"13.6","actual_weight":108.7,"old_weight":107.8,"actual_smoothed_weight":106.6,"old_smoothed_weight":105.7},{"timestamp":"10:14:11.958","brew_time":"13.7","actual_weight":110.3,"old_weight":108.7,"actual_smoothed_weight":107.7,"old_smoothed_weight":106.6},{"timestamp":"10:14:12.018","brew_time":"13.8","actual_weight":112.3,"old_weight":110.3,"actual_smoothed_weight":109.1,"old_smoothed_weight":107.7},{"timestamp":"10:14:12.171","brew_time":"13.9","actual_weight":113.9,"old_weight":112.3,"actual_smoothed_weight":110.5,"old_smoothed_weight":109.1},{"timestamp":"10:14:12.271","brew_time":"14.1","actual_weight":115,"old_weight":113.9,"actual_smoothed_weight":111.9,"old_smoothed_weight":110.5},{"timestamp":"10:14:12.374","brew_time":"14.2","actual_weight":115.6,"old_weight":115,"actual_smoothed_weight":113,"old_smoothed_weight":111.9},{"timestamp":"10:14:12.503","brew_time":"14.3","actual_weight":116.3,"old_weight":115.6,"actual_smoothed_weight":114,"old_smoothed_weight":113},{"timestamp":"10:14:12.710","brew_time":"14.4","actual_weight":117.3,"old_weight":116.3,"actual_smoothed_weight":115,"old_smoothed_weight":114},{"timestamp":"10:14:12.764","brew_time":"14.5","actual_weight":119,"old_weight":117.3,"actual_smoothed_weight":116.2,"old_smoothed_weight":115},{"timestamp":"10:14:12.809","brew_time":"14.6","actual_weight":120.7,"old_weight":119,"actual_smoothed_weight":117.5,"old_smoothed_weight":116.2},{"timestamp":"10:14:12.890","brew_time":"14.7","actual_weight":121.7,"old_weight":120.7,"actual_smoothed_weight":118.8,"old_smoothed_weight":117.5},{"timestamp":"10:14:12.984","brew_time":"14.8","actual_weight":122.4,"old_weight":121.7,"actual_smoothed_weight":119.9,"old_smoothed_weight":118.8},{"timestamp":"10:14:13.082","brew_time":"14.9","actual_weight":122.9,"old_weight":122.4,"actual_smoothed_weight":120.8,"old_smoothed_weight":119.9},{"timestamp":"10:14:13.220","brew_time":"14.10","actual_weight":123.8,"old_weight":122.9,"actual_smoothed_weight":121.7,"old_smoothed_weight":120.8},{"timestamp":"10:14:13.322","brew_time":"15.1","actual_weight":124.9,"old_weight":123.8,"actual_smoothed_weight":122.6,"old_smoothed_weight":121.7},{"timestamp":"10:14:13.387","brew_time":"15.2","actual_weight":125.4,"old_weight":124.9,"actual_smoothed_weight":123.5,"old_smoothed_weight":122.6},{"timestamp":"10:14:13.566","brew_time":"15.3","actual_weight":125.4,"old_weight":125.4,"actual_smoothed_weight":124.1,"old_smoothed_weight":123.5},{"timestamp":"10:14:13.636","brew_time":"15.4","actual_weight":125.2,"old_weight":125.4,"actual_smoothed_weight":124.4,"old_smoothed_weight":124.1},{"timestamp":"10:14:13.746","brew_time":"15.5","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.4},{"timestamp":"10:14:13.896","brew_time":"15.6","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.6},{"timestamp":"10:14:13.949","brew_time":"15.7","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.8},{"timestamp":"10:14:14.049","brew_time":"15.8","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125,"old_smoothed_weight":124.9},{"timestamp":"10:14:14.152","brew_time":"15.9","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.1,"old_smoothed_weight":125},{"timestamp":"10:14:14.237","brew_time":"15.10","actual_weight":125.3,"old_weight":125.2,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:14.319","brew_time":"16.1","actual_weight":125.3,"old_weight":125.3,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.1},{"timestamp":"10:14:14.467","brew_time":"16.2","actual_weight":125.2,"old_weight":125.3,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:14.565","brew_time":"16.3","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:14.733","brew_time":"16.4","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:14.773","brew_time":"16.5","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:14.834","brew_time":"16.6","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:14.956","brew_time":"16.7","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.102","brew_time":"16.8","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.177","brew_time":"16.9","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.250","brew_time":"17.1","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.361","brew_time":"17.2","actual_weight":125,"old_weight":125.2,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.512","brew_time":"17.3","actual_weight":125.2,"old_weight":125,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.1},{"timestamp":"10:14:15.580","brew_time":"17.4","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.656","brew_time":"17.5","actual_weight":125.2,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.784","brew_time":"17.6","actual_weight":125.1,"old_weight":125.2,"actual_smoothed_weight":125.2,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.890","brew_time":"17.7","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.2},{"timestamp":"10:14:15.959","brew_time":"17.8","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.147","brew_time":"17.9","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.198","brew_time":"17.10","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.272","brew_time":"18.1","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.407","brew_time":"18.2","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.510","brew_time":"18.3","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.605","brew_time":"18.4","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.753","brew_time":"18.5","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.815","brew_time":"18.6","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:16.902","brew_time":"18.7","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.018","brew_time":"18.8","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.128","brew_time":"18.9","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.237","brew_time":"18.10","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.359","brew_time":"19.1","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.524","brew_time":"19.2","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.554","brew_time":"19.3","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.609","brew_time":"19.4","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.761","brew_time":"19.5","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.833","brew_time":"19.6","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:17.942","brew_time":"19.7","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.063","brew_time":"19.8","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.184","brew_time":"19.9","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.272","brew_time":"20.1","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.375","brew_time":"20.2","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.506","brew_time":"20.3","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.584","brew_time":"20.4","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.659","brew_time":"20.5","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125.1},{"timestamp":"10:14:18.769","brew_time":"20.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:18.876","brew_time":"20.7","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:18.959","brew_time":"20.8","actual_weight":125.1,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.080","brew_time":"20.9","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.224","brew_time":"20.10","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.301","brew_time":"21.1","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.410","brew_time":"21.2","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.518","brew_time":"21.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.573","brew_time":"21.4","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.746","brew_time":"21.5","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.822","brew_time":"21.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:19.897","brew_time":"21.7","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.010","brew_time":"21.8","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.177","brew_time":"21.9","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.262","brew_time":"22.1","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.337","brew_time":"22.2","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.517","brew_time":"22.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.564","brew_time":"22.4","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.626","brew_time":"22.5","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.769","brew_time":"22.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.835","brew_time":"22.7","actual_weight":124.9,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:20.914","brew_time":"22.8","actual_weight":125.1,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.175","brew_time":"22.9","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.254","brew_time":"23.1","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125},{"timestamp":"10:14:21.288","brew_time":"23.2","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125.1},{"timestamp":"10:14:21.370","brew_time":"23.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.441","brew_time":"23.4","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.551","brew_time":"23.5","actual_weight":125.1,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.713","brew_time":"23.6","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.779","brew_time":"23.7","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.860","brew_time":"23.8","actual_weight":125.1,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:21.962","brew_time":"23.9","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125},{"timestamp":"10:14:22.075","brew_time":"23.10","actual_weight":124.9,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125.1},{"timestamp":"10:14:22.189","brew_time":"23.11","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.285","brew_time":"24.1","actual_weight":125.1,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.377","brew_time":"24.2","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.510","brew_time":"24.3","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.580","brew_time":"24.4","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.724","brew_time":"24.5","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.795","brew_time":"24.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:22.905","brew_time":"24.7","actual_weight":125.1,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.019","brew_time":"24.8","actual_weight":125.1,"old_weight":125.1,"actual_smoothed_weight":125.1,"old_smoothed_weight":125},{"timestamp":"10:14:23.082","brew_time":"24.9","actual_weight":125,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125.1},{"timestamp":"10:14:23.195","brew_time":"24.10","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.386","brew_time":"25.1","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.443","brew_time":"25.2","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.521","brew_time":"25.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.666","brew_time":"25.4","actual_weight":124.9,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.729","brew_time":"25.5","actual_weight":125,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.790","brew_time":"25.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:23.907","brew_time":"25.7","actual_weight":124.9,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.105","brew_time":"25.8","actual_weight":125.1,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.161","brew_time":"25.9","actual_weight":124.9,"old_weight":125.1,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.220","brew_time":"25.10","actual_weight":125,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.401","brew_time":"26.1","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.453","brew_time":"26.2","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.548","brew_time":"26.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.658","brew_time":"26.4","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.726","brew_time":"26.5","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.929","brew_time":"26.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:24.983","brew_time":"26.7","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.076","brew_time":"26.8","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.149","brew_time":"26.9","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.294","brew_time":"26.10","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.379","brew_time":"27.1","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.449","brew_time":"27.2","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.562","brew_time":"27.3","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.681","brew_time":"27.4","actual_weight":124.9,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.799","brew_time":"27.5","actual_weight":125,"old_weight":124.9,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:25.875","brew_time":"27.6","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:26.003","brew_time":"27.7","actual_weight":125,"old_weight":125,"actual_smoothed_weight":125,"old_smoothed_weight":125},{"timestamp":"10:14:26.084","brew_time":"27.8","actual_weight":124.7,"old_weight":125,"actual_smoothed_weight":124.9,"old_smoothed_weight":125},{"timestamp":"10:14:26.158","brew_time":"27.9","actual_weight":125.1,"old_weight":124.7,"actual_smoothed_weight":125,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.355","brew_time":"28.1","actual_weight":124.8,"old_weight":125.1,"actual_smoothed_weight":124.9,"old_smoothed_weight":125},{"timestamp":"10:14:26.421","brew_time":"28.2","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.531","brew_time":"28.3","actual_weight":125,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.621","brew_time":"28.4","actual_weight":124.8,"old_weight":125,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.805","brew_time":"28.5","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.838","brew_time":"28.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:26.993","brew_time":"28.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.064","brew_time":"28.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.129","brew_time":"28.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.201","brew_time":"28.10","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.324","brew_time":"29.1","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.442","brew_time":"29.2","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.539","brew_time":"29.3","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.708","brew_time":"29.4","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.744","brew_time":"29.5","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.846","brew_time":"29.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:27.960","brew_time":"29.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.040","brew_time":"29.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.149","brew_time":"29.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.259","brew_time":"29.10","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.380","brew_time":"30.1","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.450","brew_time":"30.2","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.643","brew_time":"30.3","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.689","brew_time":"30.4","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.744","brew_time":"30.5","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.856","brew_time":"30.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:28.979","brew_time":"30.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.081","brew_time":"30.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.168","brew_time":"30.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.346","brew_time":"30.10","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.420","brew_time":"31.1","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.542","brew_time":"31.2","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.612","brew_time":"31.3","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.673","brew_time":"31.4","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.869","brew_time":"31.5","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:29.918","brew_time":"31.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.018","brew_time":"31.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.094","brew_time":"31.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.206","brew_time":"31.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.358","brew_time":"32.1","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.412","brew_time":"32.2","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.624","brew_time":"32.3","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.681","brew_time":"32.4","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.732","brew_time":"32.5","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.849","brew_time":"32.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:30.959","brew_time":"32.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:31.036","brew_time":"32.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:31.145","brew_time":"32.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:31.258","brew_time":"32.10","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:31.349","brew_time":"33.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.9},{"timestamp":"10:14:31.522","brew_time":"33.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:31.587","brew_time":"33.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:31.678","brew_time":"33.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:31.747","brew_time":"33.5","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:31.892","brew_time":"33.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.8},{"timestamp":"10:14:31.981","brew_time":"33.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.052","brew_time":"33.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.189","brew_time":"33.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.279","brew_time":"34.1","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.376","brew_time":"34.2","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.519","brew_time":"34.3","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.622","brew_time":"34.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.722","brew_time":"34.5","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.8},{"timestamp":"10:14:32.827","brew_time":"34.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:32.922","brew_time":"34.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:33.022","brew_time":"34.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:33.089","brew_time":"34.9","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:33.278","brew_time":"34.10","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.9},{"timestamp":"10:14:33.355","brew_time":"35.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.417","brew_time":"35.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.582","brew_time":"35.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.629","brew_time":"35.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.708","brew_time":"35.5","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.857","brew_time":"35.6","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.8},{"timestamp":"10:14:33.918","brew_time":"35.7","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.036","brew_time":"35.8","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.148","brew_time":"35.9","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.254","brew_time":"35.10","actual_weight":124.9,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.328","brew_time":"36.1","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.448","brew_time":"36.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.9},{"timestamp":"10:14:34.558","brew_time":"36.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:34.633","brew_time":"36.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:34.747","brew_time":"36.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:34.850","brew_time":"36.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:34.966","brew_time":"36.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.051","brew_time":"36.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.240","brew_time":"36.9","actual_weight":124.9,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.320","brew_time":"37.1","actual_weight":124.8,"old_weight":124.9,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.386","brew_time":"37.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.527","brew_time":"37.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.588","brew_time":"37.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.801","brew_time":"37.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.851","brew_time":"37.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:35.915","brew_time":"37.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.064","brew_time":"37.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.140","brew_time":"37.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.258","brew_time":"37.10","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.317","brew_time":"38.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.396","brew_time":"38.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.560","brew_time":"38.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.619","brew_time":"38.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.711","brew_time":"38.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.894","brew_time":"38.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:36.954","brew_time":"38.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.024","brew_time":"38.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.233","brew_time":"38.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.306","brew_time":"39.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.370","brew_time":"39.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.471","brew_time":"39.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.559","brew_time":"39.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.638","brew_time":"39.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.740","brew_time":"39.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.871","brew_time":"39.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:37.932","brew_time":"39.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.047","brew_time":"39.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.161","brew_time":"39.10","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.269","brew_time":"39.11","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.336","brew_time":"40.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.513","brew_time":"40.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.564","brew_time":"40.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.664","brew_time":"40.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.842","brew_time":"40.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.899","brew_time":"40.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:38.990","brew_time":"40.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.094","brew_time":"40.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.215","brew_time":"40.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.285","brew_time":"41.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.407","brew_time":"41.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.585","brew_time":"41.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.641","brew_time":"41.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.746","brew_time":"41.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.888","brew_time":"41.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.942","brew_time":"41.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:39.994","brew_time":"41.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.189","brew_time":"41.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.251","brew_time":"42.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.327","brew_time":"42.2","actual_weight":124.7,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.513","brew_time":"42.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.568","brew_time":"42.4","actual_weight":124.8,"old_weight":124.7,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.7},{"timestamp":"10:14:40.672","brew_time":"42.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.755","brew_time":"42.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:40.978","brew_time":"42.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.033","brew_time":"42.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.074","brew_time":"42.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.164","brew_time":"42.10","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.288","brew_time":"42.11","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.430","brew_time":"43.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.481","brew_time":"43.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.649","brew_time":"43.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.708","brew_time":"43.4","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.760","brew_time":"43.5","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.877","brew_time":"43.6","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:41.984","brew_time":"43.7","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.091","brew_time":"43.8","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.166","brew_time":"43.9","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.407","brew_time":"44.1","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.444","brew_time":"44.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.540","brew_time":"44.3","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.597","brew_time":"44.4","actual_weight":124.7,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.697","brew_time":"44.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.8},{"timestamp":"10:14:42.849","brew_time":"44.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:42.911","brew_time":"44.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.067","brew_time":"44.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.149","brew_time":"44.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.221","brew_time":"44.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.341","brew_time":"45.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.453","brew_time":"45.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.549","brew_time":"45.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.701","brew_time":"45.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.753","brew_time":"45.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.864","brew_time":"45.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:43.940","brew_time":"45.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.055","brew_time":"45.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.148","brew_time":"45.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.272","brew_time":"45.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.400","brew_time":"46.1","actual_weight":124.8,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.457","brew_time":"46.2","actual_weight":124.8,"old_weight":124.8,"actual_smoothed_weight":124.8,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.549","brew_time":"46.3","actual_weight":124.7,"old_weight":124.8,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.8},{"timestamp":"10:14:44.686","brew_time":"46.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.771","brew_time":"46.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:44.887","brew_time":"46.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.025","brew_time":"46.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.103","brew_time":"46.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.168","brew_time":"46.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.502","brew_time":"47.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.544","brew_time":"47.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.581","brew_time":"47.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.628","brew_time":"47.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.700","brew_time":"47.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.857","brew_time":"47.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:45.897","brew_time":"47.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.084","brew_time":"47.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.121","brew_time":"47.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.195","brew_time":"47.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.347","brew_time":"48.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.534","brew_time":"48.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.571","brew_time":"48.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.630","brew_time":"48.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.839","brew_time":"48.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.876","brew_time":"48.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:46.976","brew_time":"48.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.055","brew_time":"48.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.125","brew_time":"48.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.235","brew_time":"48.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.436","brew_time":"49.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.474","brew_time":"49.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.554","brew_time":"49.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.663","brew_time":"49.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.758","brew_time":"49.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.917","brew_time":"49.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:47.995","brew_time":"49.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.063","brew_time":"49.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.248","brew_time":"49.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.320","brew_time":"50.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.394","brew_time":"50.2","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.498","brew_time":"50.3","actual_weight":124.8,"old_weight":124.6,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.594","brew_time":"50.4","actual_weight":124.6,"old_weight":124.8,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.695","brew_time":"50.5","actual_weight":124.7,"old_weight":124.6,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.775","brew_time":"50.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:48.960","brew_time":"50.7","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.017","brew_time":"50.8","actual_weight":124.8,"old_weight":124.6,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.162","brew_time":"50.9","actual_weight":124.7,"old_weight":124.8,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.269","brew_time":"51.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.323","brew_time":"51.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.450","brew_time":"51.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.526","brew_time":"51.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.671","brew_time":"51.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.767","brew_time":"51.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.825","brew_time":"51.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:49.934","brew_time":"51.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.023","brew_time":"51.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.122","brew_time":"51.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.247","brew_time":"51.11","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.358","brew_time":"52.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.424","brew_time":"52.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.653","brew_time":"52.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.702","brew_time":"52.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.757","brew_time":"52.5","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.870","brew_time":"52.6","actual_weight":124.7,"old_weight":124.6,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:50.954","brew_time":"52.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:51.138","brew_time":"52.8","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:51.215","brew_time":"52.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.7},{"timestamp":"10:14:51.298","brew_time":"53.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:51.415","brew_time":"53.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:51.544","brew_time":"53.3","actual_weight":124.7,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:51.613","brew_time":"53.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.6},{"timestamp":"10:14:51.750","brew_time":"53.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:51.815","brew_time":"53.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:51.884","brew_time":"53.7","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.046","brew_time":"53.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.104","brew_time":"53.9","actual_weight":124.7,"old_weight":124.6,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.6},{"timestamp":"10:14:52.233","brew_time":"53.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.351","brew_time":"54.1","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.453","brew_time":"54.2","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.539","brew_time":"54.3","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.608","brew_time":"54.4","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.716","brew_time":"54.5","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:52.830","brew_time":"54.6","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.012","brew_time":"54.7","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.073","brew_time":"54.8","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.136","brew_time":"54.9","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.318","brew_time":"54.10","actual_weight":124.7,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.438","brew_time":"55.1","actual_weight":124.6,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.538","brew_time":"55.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.7},{"timestamp":"10:14:53.591","brew_time":"55.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:53.657","brew_time":"55.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:53.757","brew_time":"55.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:53.874","brew_time":"55.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:53.943","brew_time":"55.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.124","brew_time":"55.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.175","brew_time":"55.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.240","brew_time":"56.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.395","brew_time":"56.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.484","brew_time":"56.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.593","brew_time":"56.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.820","brew_time":"56.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.866","brew_time":"56.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:54.904","brew_time":"56.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.012","brew_time":"56.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.074","brew_time":"56.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.184","brew_time":"56.10","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.296","brew_time":"57.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.369","brew_time":"57.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.569","brew_time":"57.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.680","brew_time":"57.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.743","brew_time":"57.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.821","brew_time":"57.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:55.900","brew_time":"57.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.017","brew_time":"57.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.199","brew_time":"57.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.276","brew_time":"58.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.338","brew_time":"58.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.423","brew_time":"58.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.575","brew_time":"58.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.647","brew_time":"58.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.738","brew_time":"58.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:56.879","brew_time":"58.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.067","brew_time":"58.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.106","brew_time":"58.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.204","brew_time":"58.10","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.281","brew_time":"59.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.354","brew_time":"59.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.540","brew_time":"59.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.595","brew_time":"59.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.656","brew_time":"59.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.813","brew_time":"59.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.895","brew_time":"59.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:57.955","brew_time":"59.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.116","brew_time":"59.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.183","brew_time":"59.10","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.340","brew_time":"60.1","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.398","brew_time":"60.2","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.530","brew_time":"60.3","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.634","brew_time":"60.4","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.693","brew_time":"60.5","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.834","brew_time":"60.6","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:58.889","brew_time":"60.7","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.087","brew_time":"60.8","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.138","brew_time":"60.9","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.269","brew_time":"60.10","actual_weight":124.6,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.353","brew_time":"61.1","actual_weight":124.7,"old_weight":124.6,"actual_smoothed_weight":124.6,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.458","brew_time":"61.2","actual_weight":125,"old_weight":124.7,"actual_smoothed_weight":124.7,"old_smoothed_weight":124.6},{"timestamp":"10:14:59.578","brew_time":"61.3","actual_weight":125.3,"old_weight":125,"actual_smoothed_weight":124.9,"old_smoothed_weight":124.7},{"timestamp":"10:14:59.648","brew_time":"61.4","actual_weight":125.6,"old_weight":125.3,"actual_smoothed_weight":125.1,"old_smoothed_weight":124.9},{"timestamp":"10:14:59.725","brew_time":"61.5","actual_weight":126.1,"old_weight":125.6,"actual_smoothed_weight":125.4,"old_smoothed_weight":125.1},{"timestamp":"10:14:59.943","brew_time":"61.6","actual_weight":126.7,"old_weight":126.1,"actual_smoothed_weight":125.8,"old_smoothed_weight":125.4},{"timestamp":"10:15:00.006","brew_time":"61.7","actual_weight":127.6,"old_weight":126.7,"actual_smoothed_weight":126.3,"old_smoothed_weight":125.8},{"timestamp":"10:15:00.071","brew_time":"61.8","actual_weight":128.8,"old_weight":127.6,"actual_smoothed_weight":127.1,"old_smoothed_weight":126.3},{"timestamp":"10:15:00.139","brew_time":"61.9","actual_weight":129.8,"old_weight":128.8,"actual_smoothed_weight":127.9,"old_smoothed_weight":127.1},{"timestamp":"10:15:00.368","brew_time":"61.10","actual_weight":130.7,"old_weight":129.8,"actual_smoothed_weight":128.7,"old_smoothed_weight":127.9},{"timestamp":"10:15:00.468","brew_time":"62.1","actual_weight":131.3,"old_weight":130.7,"actual_smoothed_weight":129.5,"old_smoothed_weight":128.7},{"timestamp":"10:15:00.512","brew_time":"62.2","actual_weight":131.7,"old_weight":131.3,"actual_smoothed_weight":130.2,"old_smoothed_weight":129.5},{"timestamp":"10:15:00.599","brew_time":"62.3","actual_weight":132.3,"old_weight":131.7,"actual_smoothed_weight":130.8,"old_smoothed_weight":130.2},{"timestamp":"10:15:00.698","brew_time":"62.4","actual_weight":133.4,"old_weight":132.3,"actual_smoothed_weight":131.6,"old_smoothed_weight":130.8},{"timestamp":"10:15:00.784","brew_time":"62.5","actual_weight":135,"old_weight":133.4,"actual_smoothed_weight":132.6,"old_smoothed_weight":131.6},{"timestamp":"10:15:00.850","brew_time":"62.6","actual_weight":136.3,"old_weight":135,"actual_smoothed_weight":133.7,"old_smoothed_weight":132.6},{"timestamp":"10:15:01.005","brew_time":"62.7","actual_weight":137.1,"old_weight":136.3,"actual_smoothed_weight":134.7,"old_smoothed_weight":133.7},{"timestamp":"10:15:01.119","brew_time":"62.8","actual_weight":137.5,"old_weight":137.1,"actual_smoothed_weight":135.6,"old_smoothed_weight":134.7},{"timestamp":"10:15:01.222","brew_time":"62.9","actual_weight":138,"old_weight":137.5,"actual_smoothed_weight":136.3,"old_smoothed_weight":135.6},{"timestamp":"10:15:01.323","brew_time":"63.1","actual_weight":138.7,"old_weight":138,"actual_smoothed_weight":137,"old_smoothed_weight":136.3},{"timestamp":"10:15:01.420","brew_time":"63.2","actual_weight":139.7,"old_weight":138.7,"actual_smoothed_weight":137.8,"old_smoothed_weight":137},{"timestamp":"10:15:01.554","brew_time":"63.3","actual_weight":141.3,"old_weight":139.7,"actual_smoothed_weight":138.9,"old_smoothed_weight":137.8},{"timestamp":"10:15:01.585","brew_time":"63.4","actual_weight":143,"old_weight":141.3,"actual_smoothed_weight":140.1,"old_smoothed_weight":138.9},{"timestamp":"10:15:01.758","brew_time":"63.5","actual_weight":144.2,"old_weight":143,"actual_smoothed_weight":141.3,"old_smoothed_weight":140.1},{"timestamp":"10:15:01.809","brew_time":"63.6","actual_weight":144.9,"old_weight":144.2,"actual_smoothed_weight":142.4,"old_smoothed_weight":141.3},{"timestamp":"10:15:01.906","brew_time":"63.7","actual_weight":145.4,"old_weight":144.9,"actual_smoothed_weight":143.3,"old_smoothed_weight":142.4},{"timestamp":"10:15:02.085","brew_time":"63.8","actual_weight":146.1,"old_weight":145.4,"actual_smoothed_weight":144.1,"old_smoothed_weight":143.3},{"timestamp":"10:15:02.149","brew_time":"63.9","actual_weight":147.3,"old_weight":146.1,"actual_smoothed_weight":145.1,"old_smoothed_weight":144.1},{"timestamp":"10:15:02.214","brew_time":"63.10","actual_weight":148.9,"old_weight":147.3,"actual_smoothed_weight":146.2,"old_smoothed_weight":145.1},{"timestamp":"10:15:02.327","brew_time":"64.1","actual_weight":150.8,"old_weight":148.9,"actual_smoothed_weight":147.6,"old_smoothed_weight":146.2},{"timestamp":"10:15:02.432","brew_time":"64.2","actual_weight":152.2,"old_weight":150.8,"actual_smoothed_weight":149,"old_smoothed_weight":147.6},{"timestamp":"10:15:02.519","brew_time":"64.3","actual_weight":153.2,"old_weight":152.2,"actual_smoothed_weight":150.2,"old_smoothed_weight":149},{"timestamp":"10:15:02.627","brew_time":"64.4","actual_weight":153.8,"old_weight":153.2,"actual_smoothed_weight":151.3,"old_smoothed_weight":150.2},{"timestamp":"10:15:02.726","brew_time":"64.5","actual_weight":154.5,"old_weight":153.8,"actual_smoothed_weight":152.3,"old_smoothed_weight":151.3},{"timestamp":"10:15:02.832","brew_time":"64.6","actual_weight":155.5,"old_weight":154.5,"actual_smoothed_weight":153.2,"old_smoothed_weight":152.3},{"timestamp":"10:15:02.912","brew_time":"64.7","actual_weight":156.6,"old_weight":155.5,"actual_smoothed_weight":154.2,"old_smoothed_weight":153.2},{"timestamp":"10:15:03.069","brew_time":"64.8","actual_weight":158.2,"old_weight":156.6,"actual_smoothed_weight":155.4,"old_smoothed_weight":154.2},{"timestamp":"10:15:03.139","brew_time":"64.9","actual_weight":159.8,"old_weight":158.2,"actual_smoothed_weight":156.7,"old_smoothed_weight":155.4},{"timestamp":"10:15:03.209","brew_time":"64.10","actual_weight":161.1,"old_weight":159.8,"actual_smoothed_weight":158.1,"old_smoothed_weight":156.7},{"timestamp":"10:15:03.360","brew_time":"65.1","actual_weight":162.2,"old_weight":161.1,"actual_smoothed_weight":159.3,"old_smoothed_weight":158.1},{"timestamp":"10:15:03.498","brew_time":"65.2","actual_weight":162.9,"old_weight":162.2,"actual_smoothed_weight":160.4,"old_smoothed_weight":159.3},{"timestamp":"10:15:03.595","brew_time":"65.3","actual_weight":163.6,"old_weight":162.9,"actual_smoothed_weight":161.3,"old_smoothed_weight":160.4},{"timestamp":"10:15:03.657","brew_time":"65.4","actual_weight":164.2,"old_weight":163.6,"actual_smoothed_weight":162.2,"old_smoothed_weight":161.3},{"timestamp":"10:15:03.767","brew_time":"65.5","actual_weight":165,"old_weight":164.2,"actual_smoothed_weight":163,"old_smoothed_weight":162.2},{"timestamp":"10:15:03.882","brew_time":"65.6","actual_weight":166.3,"old_weight":165,"actual_smoothed_weight":164,"old_smoothed_weight":163},{"timestamp":"10:15:03.952","brew_time":"65.7","actual_weight":167.8,"old_weight":166.3,"actual_smoothed_weight":165.2,"old_smoothed_weight":164},{"timestamp":"10:15:04.063","brew_time":"65.8","actual_weight":169.1,"old_weight":167.8,"actual_smoothed_weight":166.3,"old_smoothed_weight":165.2},{"timestamp":"10:15:04.141","brew_time":"65.9","actual_weight":170.2,"old_weight":169.1,"actual_smoothed_weight":167.5,"old_smoothed_weight":166.3},{"timestamp":"10:15:04.342","brew_time":"65.10","actual_weight":170.9,"old_weight":170.2,"actual_smoothed_weight":168.5,"old_smoothed_weight":167.5},{"timestamp":"10:15:04.414","brew_time":"66.1","actual_weight":171.4,"old_weight":170.9,"actual_smoothed_weight":169.4,"old_smoothed_weight":168.5},{"timestamp":"10:15:04.538","brew_time":"66.2","actual_weight":171.9,"old_weight":171.4,"actual_smoothed_weight":170.1,"old_smoothed_weight":169.4},{"timestamp":"10:15:04.580","brew_time":"66.3","actual_weight":172.6,"old_weight":171.9,"actual_smoothed_weight":170.9,"old_smoothed_weight":170.1},{"timestamp":"10:15:04.750","brew_time":"66.4","actual_weight":173.3,"old_weight":172.6,"actual_smoothed_weight":171.6,"old_smoothed_weight":170.9},{"timestamp":"10:15:04.808","brew_time":"66.5","actual_weight":174.4,"old_weight":173.3,"actual_smoothed_weight":172.4,"old_smoothed_weight":171.6},{"timestamp":"10:15:04.867","brew_time":"66.6","actual_weight":175.6,"old_weight":174.4,"actual_smoothed_weight":173.4,"old_smoothed_weight":172.4},{"timestamp":"10:15:05.088","brew_time":"66.7","actual_weight":176.6,"old_weight":175.6,"actual_smoothed_weight":174.4,"old_smoothed_weight":173.4},{"timestamp":"10:15:05.145","brew_time":"66.8","actual_weight":177.3,"old_weight":176.6,"actual_smoothed_weight":175.2,"old_smoothed_weight":174.4},{"timestamp":"10:15:05.205","brew_time":"66.9","actual_weight":177.8,"old_weight":177.3,"actual_smoothed_weight":176,"old_smoothed_weight":175.2},{"timestamp":"10:15:05.313","brew_time":"67.1","actual_weight":178.1,"old_weight":177.8,"actual_smoothed_weight":176.6,"old_smoothed_weight":176},{"timestamp":"10:15:05.461","brew_time":"67.2","actual_weight":178.5,"old_weight":178.1,"actual_smoothed_weight":177.2,"old_smoothed_weight":176.6},{"timestamp":"10:15:05.539","brew_time":"67.3","actual_weight":178.9,"old_weight":178.5,"actual_smoothed_weight":177.7,"old_smoothed_weight":177.2},{"timestamp":"10:15:05.609","brew_time":"67.4","actual_weight":179.7,"old_weight":178.9,"actual_smoothed_weight":178.3,"old_smoothed_weight":177.7},{"timestamp":"10:15:05.811","brew_time":"67.5","actual_weight":180.6,"old_weight":179.7,"actual_smoothed_weight":179,"old_smoothed_weight":178.3},{"timestamp":"10:15:05.858","brew_time":"67.6","actual_weight":181.6,"old_weight":180.6,"actual_smoothed_weight":179.8,"old_smoothed_weight":179},{"timestamp":"10:15:05.917","brew_time":"67.7","actual_weight":182.5,"old_weight":181.6,"actual_smoothed_weight":180.6,"old_smoothed_weight":179.8},{"timestamp":"10:15:06.025","brew_time":"67.8","actual_weight":183.4,"old_weight":182.5,"actual_smoothed_weight":181.4,"old_smoothed_weight":180.6},{"timestamp":"10:15:06.137","brew_time":"67.9","actual_weight":183.9,"old_weight":183.4,"actual_smoothed_weight":182.2,"old_smoothed_weight":181.4},{"timestamp":"10:15:06.248","brew_time":"67.10","actual_weight":184.4,"old_weight":183.9,"actual_smoothed_weight":182.8,"old_smoothed_weight":182.2},{"timestamp":"10:15:06.370","brew_time":"68.1","actual_weight":184.8,"old_weight":184.4,"actual_smoothed_weight":183.4,"old_smoothed_weight":182.8},{"timestamp":"10:15:06.436","brew_time":"68.2","actual_weight":185.2,"old_weight":184.8,"actual_smoothed_weight":184,"old_smoothed_weight":183.4},{"timestamp":"10:15:06.571","brew_time":"68.3","actual_weight":185.6,"old_weight":185.2,"actual_smoothed_weight":184.5,"old_smoothed_weight":184},{"timestamp":"10:15:06.660","brew_time":"68.4","actual_weight":186.2,"old_weight":185.6,"actual_smoothed_weight":185,"old_smoothed_weight":184.5},{"timestamp":"10:15:06.736","brew_time":"68.5","actual_weight":186.9,"old_weight":186.2,"actual_smoothed_weight":185.6,"old_smoothed_weight":185},{"timestamp":"10:15:06.840","brew_time":"68.6","actual_weight":187.8,"old_weight":186.9,"actual_smoothed_weight":186.2,"old_smoothed_weight":185.6},{"timestamp":"10:15:06.965","brew_time":"68.7","actual_weight":188.6,"old_weight":187.8,"actual_smoothed_weight":186.9,"old_smoothed_weight":186.2},{"timestamp":"10:15:07.151","brew_time":"68.8","actual_weight":189.2,"old_weight":188.6,"actual_smoothed_weight":187.6,"old_smoothed_weight":186.9},{"timestamp":"10:15:07.210","brew_time":"68.9","actual_weight":189.5,"old_weight":189.2,"actual_smoothed_weight":188.2,"old_smoothed_weight":187.6},{"timestamp":"10:15:07.375","brew_time":"69.1","actual_weight":189.5,"old_weight":189.5,"actual_smoothed_weight":188.6,"old_smoothed_weight":188.2},{"timestamp":"10:15:07.421","brew_time":"69.2","actual_weight":189.5,"old_weight":189.5,"actual_smoothed_weight":188.9,"old_smoothed_weight":188.6},{"timestamp":"10:15:07.482","brew_time":"69.3","actual_weight":189.7,"old_weight":189.5,"actual_smoothed_weight":189.1,"old_smoothed_weight":188.9},{"timestamp":"10:15:07.607","brew_time":"69.4","actual_weight":189.9,"old_weight":189.7,"actual_smoothed_weight":189.3,"old_smoothed_weight":189.1},{"timestamp":"10:15:07.685","brew_time":"69.5","actual_weight":190.8,"old_weight":189.9,"actual_smoothed_weight":189.8,"old_smoothed_weight":189.3},{"timestamp":"10:15:07.785","brew_time":"69.6","actual_weight":191.9,"old_weight":190.8,"actual_smoothed_weight":190.4,"old_smoothed_weight":189.8},{"timestamp":"10:15:07.865","brew_time":"69.7","actual_weight":192.8,"old_weight":191.9,"actual_smoothed_weight":191.1,"old_smoothed_weight":190.4},{"timestamp":"10:15:08.048","brew_time":"69.8","actual_weight":193.5,"old_weight":192.8,"actual_smoothed_weight":191.8,"old_smoothed_weight":191.1},{"timestamp":"10:15:08.102","brew_time":"69.9","actual_weight":193.8,"old_weight":193.5,"actual_smoothed_weight":192.4,"old_smoothed_weight":191.8},{"timestamp":"10:15:08.200","brew_time":"69.10","actual_weight":194.1,"old_weight":193.8,"actual_smoothed_weight":192.9,"old_smoothed_weight":192.4},{"timestamp":"10:15:08.311","brew_time":"70.1","actual_weight":194.5,"old_weight":194.1,"actual_smoothed_weight":193.4,"old_smoothed_weight":192.9},{"timestamp":"10:15:08.384","brew_time":"70.2","actual_weight":195.1,"old_weight":194.5,"actual_smoothed_weight":193.9,"old_smoothed_weight":193.4},{"timestamp":"10:15:08.556","brew_time":"70.3","actual_weight":196,"old_weight":195.1,"actual_smoothed_weight":194.5,"old_smoothed_weight":193.9},{"timestamp":"10:15:08.685","brew_time":"70.4","actual_weight":197.3,"old_weight":196,"actual_smoothed_weight":195.4,"old_smoothed_weight":194.5},{"timestamp":"10:15:08.745","brew_time":"70.5","actual_weight":198.5,"old_weight":197.3,"actual_smoothed_weight":196.3,"old_smoothed_weight":195.4},{"timestamp":"10:15:08.803","brew_time":"70.6","actual_weight":199.5,"old_weight":198.5,"actual_smoothed_weight":197.3,"old_smoothed_weight":196.3},{"timestamp":"10:15:08.911","brew_time":"70.7","actual_weight":200.3,"old_weight":199.5,"actual_smoothed_weight":198.2,"old_smoothed_weight":197.3},{"timestamp":"10:15:09.021","brew_time":"70.8","actual_weight":200.8,"old_weight":200.3,"actual_smoothed_weight":199,"old_smoothed_weight":198.2},{"timestamp":"10:15:09.093","brew_time":"70.9","actual_weight":201.3,"old_weight":200.8,"actual_smoothed_weight":199.7,"old_smoothed_weight":199},{"timestamp":"10:15:09.249","brew_time":"70.10","actual_weight":201.8,"old_weight":201.3,"actual_smoothed_weight":200.3,"old_smoothed_weight":199.7},{"timestamp":"10:15:09.362","brew_time":"71.1","actual_weight":202.6,"old_weight":201.8,"actual_smoothed_weight":201,"old_smoothed_weight":200.3},{"timestamp":"10:15:09.432","brew_time":"71.2","actual_weight":203.8,"old_weight":202.6,"actual_smoothed_weight":201.8,"old_smoothed_weight":201},{"timestamp":"10:15:09.528","brew_time":"71.3","actual_weight":205.2,"old_weight":203.8,"actual_smoothed_weight":202.8,"old_smoothed_weight":201.8},{"timestamp":"10:15:09.655","brew_time":"71.4","actual_weight":206.6,"old_weight":205.2,"actual_smoothed_weight":204,"old_smoothed_weight":202.8},{"timestamp":"10:15:09.738","brew_time":"71.5","actual_weight":207.8,"old_weight":206.6,"actual_smoothed_weight":205.1,"old_smoothed_weight":204},{"timestamp":"10:15:09.850","brew_time":"71.6","actual_weight":208.6,"old_weight":207.8,"actual_smoothed_weight":206.2,"old_smoothed_weight":205.1},{"timestamp":"10:15:09.959","brew_time":"71.7","actual_weight":209.4,"old_weight":208.6,"actual_smoothed_weight":207.1,"old_smoothed_weight":206.2},{"timestamp":"10:15:10.069","brew_time":"71.8","actual_weight":210,"old_weight":209.4,"actual_smoothed_weight":208,"old_smoothed_weight":207.1},{"timestamp":"10:15:10.143","brew_time":"71.9","actual_weight":210.7,"old_weight":210,"actual_smoothed_weight":208.8,"old_smoothed_weight":208},{"timestamp":"10:15:10.372","brew_time":"71.10","actual_weight":211.5,"old_weight":210.7,"actual_smoothed_weight":209.6,"old_smoothed_weight":208.8},{"timestamp":"10:15:10.461","brew_time":"72.1","actual_weight":212.7,"old_weight":211.5,"actual_smoothed_weight":210.5,"old_smoothed_weight":209.6},{"timestamp":"10:15:10.497","brew_time":"72.2","actual_weight":214.1,"old_weight":212.7,"actual_smoothed_weight":211.6,"old_smoothed_weight":210.5},{"timestamp":"10:15:10.594","brew_time":"72.3","actual_weight":215.7,"old_weight":214.1,"actual_smoothed_weight":212.8,"old_smoothed_weight":211.6},{"timestamp":"10:15:10.686","brew_time":"72.4","actual_weight":217,"old_weight":215.7,"actual_smoothed_weight":214.1,"old_smoothed_weight":212.8},{"timestamp":"10:15:10.754","brew_time":"72.5","actual_weight":218,"old_weight":217,"actual_smoothed_weight":215.3,"old_smoothed_weight":214.1},{"timestamp":"10:15:10.896","brew_time":"72.6","actual_weight":218.7,"old_weight":218,"actual_smoothed_weight":216.3,"old_smoothed_weight":215.3},{"timestamp":"10:15:10.975","brew_time":"72.7","actual_weight":219.2,"old_weight":218.7,"actual_smoothed_weight":217.2,"old_smoothed_weight":216.3},{"timestamp":"10:15:11.123","brew_time":"72.8","actual_weight":219.7,"old_weight":219.2,"actual_smoothed_weight":217.9,"old_smoothed_weight":217.2},{"timestamp":"10:15:11.196","brew_time":"72.9","actual_weight":220.5,"old_weight":219.7,"actual_smoothed_weight":218.7,"old_smoothed_weight":217.9},{"timestamp":"10:15:11.325","brew_time":"73.1","actual_weight":221.5,"old_weight":220.5,"actual_smoothed_weight":219.5,"old_smoothed_weight":218.7},{"timestamp":"10:15:11.456","brew_time":"73.2","actual_weight":222.8,"old_weight":221.5,"actual_smoothed_weight":220.5,"old_smoothed_weight":219.5},{"timestamp":"10:15:11.553","brew_time":"73.3","actual_weight":224,"old_weight":222.8,"actual_smoothed_weight":221.6,"old_smoothed_weight":220.5},{"timestamp":"10:15:11.624","brew_time":"73.4","actual_weight":224.9,"old_weight":224,"actual_smoothed_weight":222.6,"old_smoothed_weight":221.6},{"timestamp":"10:15:11.705","brew_time":"73.5","actual_weight":225.8,"old_weight":224.9,"actual_smoothed_weight":223.5,"old_smoothed_weight":222.6},{"timestamp":"10:15:11.803","brew_time":"73.6","actual_weight":226.4,"old_weight":225.8,"actual_smoothed_weight":224.4,"old_smoothed_weight":223.5},{"timestamp":"10:15:11.959","brew_time":"73.7","actual_weight":226.8,"old_weight":226.4,"actual_smoothed_weight":225.1,"old_smoothed_weight":224.4},{"timestamp":"10:15:12.025","brew_time":"73.8","actual_weight":227.3,"old_weight":226.8,"actual_smoothed_weight":225.8,"old_smoothed_weight":225.1},{"timestamp":"10:15:12.098","brew_time":"73.9","actual_weight":227.8,"old_weight":227.3,"actual_smoothed_weight":226.4,"old_smoothed_weight":225.8},{"timestamp":"10:15:12.329","brew_time":"73.10","actual_weight":228.6,"old_weight":227.8,"actual_smoothed_weight":227,"old_smoothed_weight":226.4},{"timestamp":"10:15:12.426","brew_time":"74.1","actual_weight":229.8,"old_weight":228.6,"actual_smoothed_weight":227.9,"old_smoothed_weight":227},{"timestamp":"10:15:12.479","brew_time":"74.2","actual_weight":230.8,"old_weight":229.8,"actual_smoothed_weight":228.8,"old_smoothed_weight":227.9},{"timestamp":"10:15:12.583","brew_time":"74.3","actual_weight":231.6,"old_weight":230.8,"actual_smoothed_weight":229.6,"old_smoothed_weight":228.8},{"timestamp":"10:15:12.657","brew_time":"74.4","actual_weight":232.2,"old_weight":231.6,"actual_smoothed_weight":230.4,"old_smoothed_weight":229.6},{"timestamp":"10:15:12.730","brew_time":"74.5","actual_weight":232.6,"old_weight":232.2,"actual_smoothed_weight":231,"old_smoothed_weight":230.4},{"timestamp":"10:15:12.840","brew_time":"74.6","actual_weight":233,"old_weight":232.6,"actual_smoothed_weight":231.6,"old_smoothed_weight":231},{"timestamp":"10:15:13.080","brew_time":"74.7","actual_weight":233.3,"old_weight":233,"actual_smoothed_weight":232.1,"old_smoothed_weight":231.6},{"timestamp":"10:15:13.131","brew_time":"74.8","actual_weight":233.8,"old_weight":233.3,"actual_smoothed_weight":232.6,"old_smoothed_weight":232.1},{"timestamp":"10:15:13.173","brew_time":"74.9","actual_weight":234.4,"old_weight":233.8,"actual_smoothed_weight":233.2,"old_smoothed_weight":232.6},{"timestamp":"10:15:13.316","brew_time":"75.1","actual_weight":235.3,"old_weight":234.4,"actual_smoothed_weight":233.8,"old_smoothed_weight":233.2},{"timestamp":"10:15:13.366","brew_time":"75.2","actual_weight":236.1,"old_weight":235.3,"actual_smoothed_weight":234.5,"old_smoothed_weight":233.8},{"timestamp":"10:15:13.459","brew_time":"75.3","actual_weight":236.7,"old_weight":236.1,"actual_smoothed_weight":235.2,"old_smoothed_weight":234.5},{"timestamp":"10:15:13.606","brew_time":"75.4","actual_weight":237.3,"old_weight":236.7,"actual_smoothed_weight":235.8,"old_smoothed_weight":235.2},{"timestamp":"10:15:13.675","brew_time":"75.5","actual_weight":237.8,"old_weight":237.3,"actual_smoothed_weight":236.4,"old_smoothed_weight":235.8},{"timestamp":"10:15:13.749","brew_time":"75.6","actual_weight":238.1,"old_weight":237.8,"actual_smoothed_weight":236.9,"old_smoothed_weight":236.4},{"timestamp":"10:15:13.915","brew_time":"75.7","actual_weight":238.3,"old_weight":238.1,"actual_smoothed_weight":237.3,"old_smoothed_weight":236.9},{"timestamp":"10:15:13.982","brew_time":"75.8","actual_weight":238.5,"old_weight":238.3,"actual_smoothed_weight":237.7,"old_smoothed_weight":237.3},{"timestamp":"10:15:14.090","brew_time":"75.9","actual_weight":238.7,"old_weight":238.5,"actual_smoothed_weight":238,"old_smoothed_weight":237.7},{"timestamp":"10:15:14.240","brew_time":"75.10","actual_weight":239.1,"old_weight":238.7,"actual_smoothed_weight":238.3,"old_smoothed_weight":238},{"timestamp":"10:15:14.335","brew_time":"76.1","actual_weight":239.8,"old_weight":239.1,"actual_smoothed_weight":238.8,"old_smoothed_weight":238.3},{"timestamp":"10:15:14.467","brew_time":"76.2","actual_weight":240.7,"old_weight":239.8,"actual_smoothed_weight":239.3,"old_smoothed_weight":238.8},{"timestamp":"10:15:14.571","brew_time":"76.3","actual_weight":241.4,"old_weight":240.7,"actual_smoothed_weight":240,"old_smoothed_weight":239.3},{"timestamp":"10:15:14.648","brew_time":"76.4","actual_weight":242.1,"old_weight":241.4,"actual_smoothed_weight":240.6,"old_smoothed_weight":240},{"timestamp":"10:15:14.712","brew_time":"76.5","actual_weight":242.5,"old_weight":242.1,"actual_smoothed_weight":241.2,"old_smoothed_weight":240.6},{"timestamp":"10:15:14.797","brew_time":"76.6","actual_weight":242.8,"old_weight":242.5,"actual_smoothed_weight":241.7,"old_smoothed_weight":241.2},{"timestamp":"10:15:14.913","brew_time":"76.7","actual_weight":243,"old_weight":242.8,"actual_smoothed_weight":242.1,"old_smoothed_weight":241.7},{"timestamp":"10:15:14.986","brew_time":"76.8","actual_weight":243.6,"old_weight":243,"actual_smoothed_weight":242.5,"old_smoothed_weight":242.1},{"timestamp":"10:15:15.096","brew_time":"76.9","actual_weight":244.5,"old_weight":243.6,"actual_smoothed_weight":243.1,"old_smoothed_weight":242.5},{"timestamp":"10:15:15.211","brew_time":"76.10","actual_weight":245.5,"old_weight":244.5,"actual_smoothed_weight":243.8,"old_smoothed_weight":243.1},{"timestamp":"10:15:15.332","brew_time":"77.1","actual_weight":246.5,"old_weight":245.5,"actual_smoothed_weight":244.6,"old_smoothed_weight":243.8},{"timestamp":"10:15:15.400","brew_time":"77.2","actual_weight":247.3,"old_weight":246.5,"actual_smoothed_weight":245.4,"old_smoothed_weight":244.6},{"timestamp":"10:15:15.558","brew_time":"77.3","actual_weight":247.7,"old_weight":247.3,"actual_smoothed_weight":246.1,"old_smoothed_weight":245.4},{"timestamp":"10:15:15.628","brew_time":"77.4","actual_weight":248,"old_weight":247.7,"actual_smoothed_weight":246.7,"old_smoothed_weight":246.1},{"timestamp":"10:15:15.733","brew_time":"77.5","actual_weight":248.5,"old_weight":248,"actual_smoothed_weight":247.2,"old_smoothed_weight":246.7},{"timestamp":"10:15:15.855","brew_time":"77.6","actual_weight":249.2,"old_weight":248.5,"actual_smoothed_weight":247.8,"old_smoothed_weight":247.2},{"timestamp":"10:15:15.957","brew_time":"77.7","actual_weight":250.1,"old_weight":249.2,"actual_smoothed_weight":248.5,"old_smoothed_weight":247.8},{"timestamp":"10:15:16.027","brew_time":"77.8","actual_weight":251.1,"old_weight":250.1,"actual_smoothed_weight":249.3,"old_smoothed_weight":248.5},{"timestamp":"10:15:16.141","brew_time":"77.9","actual_weight":252,"old_weight":251.1,"actual_smoothed_weight":250.1,"old_smoothed_weight":249.3},{"timestamp":"10:15:16.260","brew_time":"77.10","actual_weight":252.5,"old_weight":252,"actual_smoothed_weight":250.8,"old_smoothed_weight":250.1},{"timestamp":"10:15:16.374","brew_time":"78.1","actual_weight":252.9,"old_weight":252.5,"actual_smoothed_weight":251.4,"old_smoothed_weight":250.8},{"timestamp":"10:15:16.499","brew_time":"78.2","actual_weight":253.2,"old_weight":252.9,"actual_smoothed_weight":252,"old_smoothed_weight":251.4},{"timestamp":"10:15:16.570","brew_time":"78.3","actual_weight":253.6,"old_weight":253.2,"actual_smoothed_weight":252.5,"old_smoothed_weight":252},{"timestamp":"10:15:16.639","brew_time":"78.4","actual_weight":254.3,"old_weight":253.6,"actual_smoothed_weight":253,"old_smoothed_weight":252.5},{"timestamp":"10:15:16.794","brew_time":"78.5","actual_weight":255.3,"old_weight":254.3,"actual_smoothed_weight":253.7,"old_smoothed_weight":253},{"timestamp":"10:15:16.857","brew_time":"78.6","actual_weight":256.4,"old_weight":255.3,"actual_smoothed_weight":254.5,"old_smoothed_weight":253.7},{"timestamp":"10:15:17.013","brew_time":"78.7","actual_weight":257.3,"old_weight":256.4,"actual_smoothed_weight":255.3,"old_smoothed_weight":254.5},{"timestamp":"10:15:17.093","brew_time":"78.8","actual_weight":258.1,"old_weight":257.3,"actual_smoothed_weight":256.2,"old_smoothed_weight":255.3},{"timestamp":"10:15:17.195","brew_time":"78.9","actual_weight":258.8,"old_weight":258.1,"actual_smoothed_weight":257,"old_smoothed_weight":256.2},{"timestamp":"10:15:17.300","brew_time":"79.1","actual_weight":259.2,"old_weight":258.8,"actual_smoothed_weight":257.6,"old_smoothed_weight":257},{"timestamp":"10:15:17.373","brew_time":"79.2","actual_weight":259.7,"old_weight":259.2,"actual_smoothed_weight":258.3,"old_smoothed_weight":257.6},{"timestamp":"10:15:17.533","brew_time":"79.3","actual_weight":260.2,"old_weight":259.7,"actual_smoothed_weight":258.8,"old_smoothed_weight":258.3},{"timestamp":"10:15:17.608","brew_time":"79.4","actual_weight":260.9,"old_weight":260.2,"actual_smoothed_weight":259.5,"old_smoothed_weight":258.8},{"timestamp":"10:15:17.699","brew_time":"79.5","actual_weight":261.9,"old_weight":260.9,"actual_smoothed_weight":260.2,"old_smoothed_weight":259.5},{"timestamp":"10:15:17.800","brew_time":"79.6","actual_weight":262.9,"old_weight":261.9,"actual_smoothed_weight":261,"old_smoothed_weight":260.2},{"timestamp":"10:15:17.941","brew_time":"79.7","actual_weight":264,"old_weight":262.9,"actual_smoothed_weight":261.9,"old_smoothed_weight":261},{"timestamp":"10:15:18.009","brew_time":"79.8","actual_weight":265,"old_weight":264,"actual_smoothed_weight":262.8,"old_smoothed_weight":261.9},{"timestamp":"10:15:18.101","brew_time":"79.9","actual_weight":265.8,"old_weight":265,"actual_smoothed_weight":263.7,"old_smoothed_weight":262.8},{"timestamp":"10:15:18.212","brew_time":"79.10","actual_weight":266.5,"old_weight":265.8,"actual_smoothed_weight":264.6,"old_smoothed_weight":263.7},{"timestamp":"10:15:18.312","brew_time":"80.1","actual_weight":267.1,"old_weight":266.5,"actual_smoothed_weight":265.3,"old_smoothed_weight":264.6},{"timestamp":"10:15:18.396","brew_time":"80.2","actual_weight":267.7,"old_weight":267.1,"actual_smoothed_weight":266,"old_smoothed_weight":265.3},{"timestamp":"10:15:18.523","brew_time":"80.3","actual_weight":268.3,"old_weight":267.7,"actual_smoothed_weight":266.7,"old_smoothed_weight":266},{"timestamp":"10:15:18.694","brew_time":"80.4","actual_weight":269.1,"old_weight":268.3,"actual_smoothed_weight":267.4,"old_smoothed_weight":266.7},{"timestamp":"10:15:18.756","brew_time":"80.5","actual_weight":270,"old_weight":269.1,"actual_smoothed_weight":268.2,"old_smoothed_weight":267.4},{"timestamp":"10:15:18.964","brew_time":"80.6","actual_weight":271.1,"old_weight":270,"actual_smoothed_weight":269.1,"old_smoothed_weight":268.2},{"timestamp":"10:15:19.030","brew_time":"80.7","actual_weight":272.4,"old_weight":271.1,"actual_smoothed_weight":270.1,"old_smoothed_weight":269.1},{"timestamp":"10:15:19.100","brew_time":"80.8","actual_weight":273.7,"old_weight":272.4,"actual_smoothed_weight":271.2,"old_smoothed_weight":270.1},{"timestamp":"10:15:19.190","brew_time":"80.9","actual_weight":274.8,"old_weight":273.7,"actual_smoothed_weight":272.3,"old_smoothed_weight":271.2},{"timestamp":"10:15:19.282","brew_time":"81.1","actual_weight":275.6,"old_weight":274.8,"actual_smoothed_weight":273.3,"old_smoothed_weight":272.3},{"timestamp":"10:15:19.354","brew_time":"81.2","actual_weight":276.1,"old_weight":275.6,"actual_smoothed_weight":274.1,"old_smoothed_weight":273.3},{"timestamp":"10:15:19.462","brew_time":"81.3","actual_weight":276.8,"old_weight":276.1,"actual_smoothed_weight":274.9,"old_smoothed_weight":274.1},{"timestamp":"10:15:19.585","brew_time":"81.4","actual_weight":277.6,"old_weight":276.8,"actual_smoothed_weight":275.7,"old_smoothed_weight":274.9},{"timestamp":"10:15:19.651","brew_time":"81.5","actual_weight":278.4,"old_weight":277.6,"actual_smoothed_weight":276.5,"old_smoothed_weight":275.7},{"timestamp":"10:15:19.787","brew_time":"81.6","actual_weight":279.3,"old_weight":278.4,"actual_smoothed_weight":277.4,"old_smoothed_weight":276.5},{"timestamp":"10:15:19.861","brew_time":"81.7","actual_weight":280.3,"old_weight":279.3,"actual_smoothed_weight":278.2,"old_smoothed_weight":277.4},{"timestamp":"10:15:19.932","brew_time":"81.8","actual_weight":281.6,"old_weight":280.3,"actual_smoothed_weight":279.2,"old_smoothed_weight":278.2},{"timestamp":"10:15:20.127","brew_time":"81.9","actual_weight":283,"old_weight":281.6,"actual_smoothed_weight":280.4,"old_smoothed_weight":279.2},{"timestamp":"10:15:20.192","brew_time":"81.10","actual_weight":284.4,"old_weight":283,"actual_smoothed_weight":281.6,"old_smoothed_weight":280.4},{"timestamp":"10:15:20.348","brew_time":"82.1","actual_weight":285.5,"old_weight":284.4,"actual_smoothed_weight":282.8,"old_smoothed_weight":281.6},{"timestamp":"10:15:20.467","brew_time":"82.2","actual_weight":286.2,"old_weight":285.5,"actual_smoothed_weight":283.8,"old_smoothed_weight":282.8},{"timestamp":"10:15:20.562","brew_time":"82.3","actual_weight":286.9,"old_weight":286.2,"actual_smoothed_weight":284.7,"old_smoothed_weight":283.8},{"timestamp":"10:15:20.630","brew_time":"82.4","actual_weight":287.6,"old_weight":286.9,"actual_smoothed_weight":285.6,"old_smoothed_weight":284.7},{"timestamp":"10:15:20.696","brew_time":"82.5","actual_weight":288.3,"old_weight":287.6,"actual_smoothed_weight":286.4,"old_smoothed_weight":285.6},{"timestamp":"10:15:20.806","brew_time":"82.6","actual_weight":289.1,"old_weight":288.3,"actual_smoothed_weight":287.2,"old_smoothed_weight":286.4},{"timestamp":"10:15:20.901","brew_time":"82.7","actual_weight":290.1,"old_weight":289.1,"actual_smoothed_weight":288.1,"old_smoothed_weight":287.2},{"timestamp":"10:15:20.984","brew_time":"82.8","actual_weight":291.4,"old_weight":290.1,"actual_smoothed_weight":289.1,"old_smoothed_weight":288.1},{"timestamp":"10:15:21.102","brew_time":"82.9","actual_weight":292.7,"old_weight":291.4,"actual_smoothed_weight":290.2,"old_smoothed_weight":289.1},{"timestamp":"10:15:21.251","brew_time":"82.10","actual_weight":294,"old_weight":292.7,"actual_smoothed_weight":291.3,"old_smoothed_weight":290.2},{"timestamp":"10:15:21.354","brew_time":"83.1","actual_weight":295.1,"old_weight":294,"actual_smoothed_weight":292.4,"old_smoothed_weight":291.3},{"timestamp":"10:15:21.422","brew_time":"83.2","actual_weight":296,"old_weight":295.1,"actual_smoothed_weight":293.5,"old_smoothed_weight":292.4},{"timestamp":"10:15:21.531","brew_time":"83.3","actual_weight":296.6,"old_weight":296,"actual_smoothed_weight":294.4,"old_smoothed_weight":293.5},{"timestamp":"10:15:21.602","brew_time":"83.4","actual_weight":297.1,"old_weight":296.6,"actual_smoothed_weight":295.2,"old_smoothed_weight":294.4},{"timestamp":"10:15:21.856","brew_time":"83.5","actual_weight":297.8,"old_weight":297.1,"actual_smoothed_weight":296,"old_smoothed_weight":295.2},{"timestamp":"10:15:21.900","brew_time":"83.6","actual_weight":298.6,"old_weight":297.8,"actual_smoothed_weight":296.8,"old_smoothed_weight":296},{"timestamp":"10:15:21.946","brew_time":"83.7","actual_weight":299.4,"old_weight":298.6,"actual_smoothed_weight":297.6,"old_smoothed_weight":296.8},{"timestamp":"10:15:22.112","brew_time":"83.8","actual_weight":300.3,"old_weight":299.4,"actual_smoothed_weight":298.4,"old_smoothed_weight":297.6},{"timestamp":"10:15:22.184","brew_time":"83.9","actual_weight":301.4,"old_weight":300.3,"actual_smoothed_weight":299.3,"old_smoothed_weight":298.4},{"timestamp":"10:15:22.275","brew_time":"84.1","actual_weight":302.5,"old_weight":301.4,"actual_smoothed_weight":300.3,"old_smoothed_weight":299.3},{"timestamp":"10:15:22.342","brew_time":"84.2","actual_weight":303.2,"old_weight":302.5,"actual_smoothed_weight":301.1,"old_smoothed_weight":300.3},{"timestamp":"10:15:22.442","brew_time":"84.3","actual_weight":303.9,"old_weight":303.2,"actual_smoothed_weight":302,"old_smoothed_weight":301.1},{"timestamp":"10:15:22.563","brew_time":"84.4","actual_weight":304.4,"old_weight":303.9,"actual_smoothed_weight":302.7,"old_smoothed_weight":302},{"timestamp":"10:15:22.676","brew_time":"84.5","actual_weight":304.9,"old_weight":304.4,"actual_smoothed_weight":303.4,"old_smoothed_weight":302.7},{"timestamp":"10:15:22.831","brew_time":"84.6","actual_weight":305.3,"old_weight":304.9,"actual_smoothed_weight":303.9,"old_smoothed_weight":303.4},{"timestamp":"10:15:22.886","brew_time":"84.7","actual_weight":306,"old_weight":305.3,"actual_smoothed_weight":304.6,"old_smoothed_weight":303.9},{"timestamp":"10:15:22.952","brew_time":"84.8","actual_weight":307,"old_weight":306,"actual_smoothed_weight":305.3,"old_smoothed_weight":304.6},{"timestamp":"10:15:23.050","brew_time":"84.9","actual_weight":308.1,"old_weight":307,"actual_smoothed_weight":306.1,"old_smoothed_weight":305.3},{"timestamp":"10:15:23.372","brew_time":"84.10","actual_weight":309.2,"old_weight":308.1,"actual_smoothed_weight":307.1,"old_smoothed_weight":306.1},{"timestamp":"10:15:23.502","brew_time":"85.1","actual_weight":310.2,"old_weight":309.2,"actual_smoothed_weight":308,"old_smoothed_weight":307.1},{"timestamp":"10:15:23.528","brew_time":"85.2","actual_weight":310.7,"old_weight":310.2,"actual_smoothed_weight":308.8,"old_smoothed_weight":308},{"timestamp":"10:15:23.629","brew_time":"85.3","actual_weight":311.1,"old_weight":310.7,"actual_smoothed_weight":309.5,"old_smoothed_weight":308.8},{"timestamp":"10:15:23.662","brew_time":"85.4","actual_weight":311.5,"old_weight":311.1,"actual_smoothed_weight":310.1,"old_smoothed_weight":309.5},{"timestamp":"10:15:23.738","brew_time":"85.5","actual_weight":312.2,"old_weight":311.5,"actual_smoothed_weight":310.7,"old_smoothed_weight":310.1},{"timestamp":"10:15:23.801","brew_time":"85.6","actual_weight":312.9,"old_weight":312.2,"actual_smoothed_weight":311.4,"old_smoothed_weight":310.7},{"timestamp":"10:15:23.877","brew_time":"85.7","actual_weight":313.9,"old_weight":312.9,"actual_smoothed_weight":312.1,"old_smoothed_weight":311.4},{"timestamp":"10:15:24.040","brew_time":"85.8","actual_weight":315.1,"old_weight":313.9,"actual_smoothed_weight":313,"old_smoothed_weight":312.1},{"timestamp":"10:15:24.106","brew_time":"85.9","actual_weight":316.3,"old_weight":315.1,"actual_smoothed_weight":314,"old_smoothed_weight":313},{"timestamp":"10:15:24.208","brew_time":"85.10","actual_weight":317.3,"old_weight":316.3,"actual_smoothed_weight":315,"old_smoothed_weight":314},{"timestamp":"10:15:24.308","brew_time":"86.1","actual_weight":317.9,"old_weight":317.3,"actual_smoothed_weight":315.9,"old_smoothed_weight":315},{"timestamp":"10:15:24.390","brew_time":"86.2","actual_weight":318.4,"old_weight":317.9,"actual_smoothed_weight":316.6,"old_smoothed_weight":315.9},{"timestamp":"10:15:24.526","brew_time":"86.3","actual_weight":319,"old_weight":318.4,"actual_smoothed_weight":317.3,"old_smoothed_weight":316.6},{"timestamp":"10:15:24.626","brew_time":"86.4","actual_weight":319.8,"old_weight":319,"actual_smoothed_weight":318.1,"old_smoothed_weight":317.3},{"timestamp":"10:15:24.705","brew_time":"86.5","actual_weight":320.6,"old_weight":319.8,"actual_smoothed_weight":318.8,"old_smoothed_weight":318.1},{"timestamp":"10:15:24.804","brew_time":"86.6","actual_weight":321.7,"old_weight":320.6,"actual_smoothed_weight":319.7,"old_smoothed_weight":318.8},{"timestamp":"10:15:24.893","brew_time":"86.7","actual_weight":323,"old_weight":321.7,"actual_smoothed_weight":320.7,"old_smoothed_weight":319.7},{"timestamp":"10:15:25.120","brew_time":"86.8","actual_weight":324.1,"old_weight":323,"actual_smoothed_weight":321.7,"old_smoothed_weight":320.7},{"timestamp":"10:15:25.165","brew_time":"86.9","actual_weight":325,"old_weight":324.1,"actual_smoothed_weight":322.7,"old_smoothed_weight":321.7},{"timestamp":"10:15:25.270","brew_time":"87.1","actual_weight":325.9,"old_weight":325,"actual_smoothed_weight":323.7,"old_smoothed_weight":322.7},{"timestamp":"10:15:25.345","brew_time":"87.2","actual_weight":326.4,"old_weight":325.9,"actual_smoothed_weight":324.5,"old_smoothed_weight":323.7},{"timestamp":"10:15:25.417","brew_time":"87.3","actual_weight":326.8,"old_weight":326.4,"actual_smoothed_weight":325.2,"old_smoothed_weight":324.5},{"timestamp":"10:15:25.564","brew_time":"87.4","actual_weight":327.2,"old_weight":326.8,"actual_smoothed_weight":325.8,"old_smoothed_weight":325.2},{"timestamp":"10:15:25.640","brew_time":"87.5","actual_weight":327.8,"old_weight":327.2,"actual_smoothed_weight":326.4,"old_smoothed_weight":325.8},{"timestamp":"10:15:25.754","brew_time":"87.6","actual_weight":328.4,"old_weight":327.8,"actual_smoothed_weight":327,"old_smoothed_weight":326.4},{"timestamp":"10:15:25.828","brew_time":"87.7","actual_weight":329.2,"old_weight":328.4,"actual_smoothed_weight":327.7,"old_smoothed_weight":327},{"timestamp":"10:15:26.017","brew_time":"87.8","actual_weight":330.2,"old_weight":329.2,"actual_smoothed_weight":328.4,"old_smoothed_weight":327.7},{"timestamp":"10:15:26.090","brew_time":"87.9","actual_weight":331,"old_weight":330.2,"actual_smoothed_weight":329.2,"old_smoothed_weight":328.4},{"timestamp":"10:15:26.163","brew_time":"87.10","actual_weight":331.5,"old_weight":331,"actual_smoothed_weight":329.9,"old_smoothed_weight":329.2},{"timestamp":"10:15:26.355","brew_time":"88.1","actual_weight":331.8,"old_weight":331.5,"actual_smoothed_weight":330.5,"old_smoothed_weight":329.9},{"timestamp":"10:15:26.435","brew_time":"88.2","actual_weight":332.2,"old_weight":331.8,"actual_smoothed_weight":331,"old_smoothed_weight":330.5},{"timestamp":"10:15:27.119","brew_time":"88.3","actual_weight":333.2,"old_weight":332.2,"actual_smoothed_weight":331.6,"old_smoothed_weight":331},{"timestamp":"10:15:27.155","brew_time":"88.4","actual_weight":334.1,"old_weight":333.2,"actual_smoothed_weight":332.4,"old_smoothed_weight":331.6},{"timestamp":"10:15:27.211","brew_time":"88.5","actual_weight":335.1,"old_weight":334.1,"actual_smoothed_weight":333.2,"old_smoothed_weight":332.4},{"timestamp":"10:15:27.231","brew_time":"88.6","actual_weight":336.4,"old_weight":335.1,"actual_smoothed_weight":334.2,"old_smoothed_weight":333.2},{"timestamp":"10:15:27.251","brew_time":"88.7","actual_weight":337.3,"old_weight":336.4,"actual_smoothed_weight":335.1,"old_smoothed_weight":334.2},{"timestamp":"10:15:27.275","brew_time":"88.8","actual_weight":337.8,"old_weight":337.3,"actual_smoothed_weight":335.9,"old_smoothed_weight":335.1},{"timestamp":"10:15:27.378","brew_time":"88.9","actual_weight":332.6,"old_weight":337.8,"actual_smoothed_weight":334.9,"old_smoothed_weight":335.9},{"timestamp":"10:15:27.632","brew_time":"88.10","actual_weight":338.3,"old_weight":332.6,"actual_smoothed_weight":335.9,"old_smoothed_weight":334.9},{"timestamp":"10:15:27.679","brew_time":"89.1","actual_weight":339,"old_weight":338.3,"actual_smoothed_weight":336.9,"old_smoothed_weight":335.9},{"timestamp":"10:15:27.939","brew_time":"89.2","actual_weight":339.8,"old_weight":339,"actual_smoothed_weight":337.7,"old_smoothed_weight":336.9},{"timestamp":"10:15:28.331","brew_time":"89.3","actual_weight":340.9,"old_weight":339.8,"actual_smoothed_weight":338.7,"old_smoothed_weight":337.7},{"timestamp":"10:15:28.407","brew_time":"90.1","actual_weight":342,"old_weight":340.9,"actual_smoothed_weight":339.7,"old_smoothed_weight":338.7},{"timestamp":"10:15:28.533","brew_time":"90.2","actual_weight":343.1,"old_weight":342,"actual_smoothed_weight":340.7,"old_smoothed_weight":339.7},{"timestamp":"10:15:28.588","brew_time":"90.3","actual_weight":344.3,"old_weight":343.1,"actual_smoothed_weight":341.8,"old_smoothed_weight":340.7},{"timestamp":"10:15:28.611","brew_time":"90.4","actual_weight":344.9,"old_weight":344.3,"actual_smoothed_weight":342.7,"old_smoothed_weight":341.8},{"timestamp":"10:15:28.694","brew_time":"90.5","actual_weight":345.4,"old_weight":344.9,"actual_smoothed_weight":343.5,"old_smoothed_weight":342.7},{"timestamp":"10:15:28.713","brew_time":"90.6","actual_weight":346.1,"old_weight":345.4,"actual_smoothed_weight":344.3,"old_smoothed_weight":343.5},{"timestamp":"10:15:28.745","brew_time":"90.7","actual_weight":347,"old_weight":346.1,"actual_smoothed_weight":345.1,"old_smoothed_weight":344.3},{"timestamp":"10:15:28.851","brew_time":"90.8","actual_weight":348.1,"old_weight":347,"actual_smoothed_weight":346,"old_smoothed_weight":345.1},{"timestamp":"10:15:28.868","brew_time":"90.9","actual_weight":349.4,"old_weight":348.1,"actual_smoothed_weight":347,"old_smoothed_weight":346},{"timestamp":"10:15:28.954","brew_time":"90.10","actual_weight":350.7,"old_weight":349.4,"actual_smoothed_weight":348.1,"old_smoothed_weight":347},{"timestamp":"10:15:28.976","brew_time":"90.11","actual_weight":351.9,"old_weight":350.7,"actual_smoothed_weight":349.3,"old_smoothed_weight":348.1},{"timestamp":"10:15:29.118","brew_time":"90.12","actual_weight":352.7,"old_weight":351.9,"actual_smoothed_weight":350.3,"old_smoothed_weight":349.3},{"timestamp":"10:15:29.167","brew_time":"90.13","actual_weight":353.4,"old_weight":352.7,"actual_smoothed_weight":351.2,"old_smoothed_weight":350.3},{"timestamp":"10:15:29.267","brew_time":"90.14","actual_weight":354.1,"old_weight":353.4,"actual_smoothed_weight":352.1,"old_smoothed_weight":351.2},{"timestamp":"10:15:29.333","brew_time":"91.1","actual_weight":355,"old_weight":354.1,"actual_smoothed_weight":353,"old_smoothed_weight":352.1},{"timestamp":"10:15:29.475","brew_time":"91.2","actual_weight":356.3,"old_weight":355,"actual_smoothed_weight":354,"old_smoothed_weight":353},{"timestamp":"10:15:29.541","brew_time":"91.3","actual_weight":357.7,"old_weight":356.3,"actual_smoothed_weight":355.1,"old_smoothed_weight":354},{"timestamp":"10:15:29.654","brew_time":"91.4","actual_weight":359,"old_weight":357.7,"actual_smoothed_weight":356.3,"old_smoothed_weight":355.1},{"timestamp":"10:15:29.777","brew_time":"91.5","actual_weight":360.3,"old_weight":359,"actual_smoothed_weight":357.5,"old_smoothed_weight":356.3},{"timestamp":"10:15:29.835","brew_time":"91.6","actual_weight":361.4,"old_weight":360.3,"actual_smoothed_weight":358.6,"old_smoothed_weight":357.5},{"timestamp":"10:15:29.922","brew_time":"91.7","actual_weight":362,"old_weight":361.4,"actual_smoothed_weight":359.7,"old_smoothed_weight":358.6},{"timestamp":"10:15:29.970","brew_time":"91.8","actual_weight":362.6,"old_weight":362,"actual_smoothed_weight":360.5,"old_smoothed_weight":359.7},{"timestamp":"10:15:30.020","brew_time":"91.9","actual_weight":363.6,"old_weight":362.6,"actual_smoothed_weight":361.5,"old_smoothed_weight":360.5},{"timestamp":"10:15:30.108","brew_time":"91.10","actual_weight":364.8,"old_weight":363.6,"actual_smoothed_weight":362.5,"old_smoothed_weight":361.5},{"timestamp":"10:15:30.151","brew_time":"91.11","actual_weight":365.9,"old_weight":364.8,"actual_smoothed_weight":363.5,"old_smoothed_weight":362.5},{"timestamp":"10:15:30.218","brew_time":"91.12","actual_weight":367.5,"old_weight":365.9,"actual_smoothed_weight":364.7,"old_smoothed_weight":363.5},{"timestamp":"10:15:30.322","brew_time":"92.1","actual_weight":368.8,"old_weight":367.5,"actual_smoothed_weight":365.9,"old_smoothed_weight":364.7},{"timestamp":"10:15:30.404","brew_time":"92.2","actual_weight":369.7,"old_weight":368.8,"actual_smoothed_weight":367.1,"old_smoothed_weight":365.9},{"timestamp":"10:15:30.508","brew_time":"92.3","actual_weight":370.4,"old_weight":369.7,"actual_smoothed_weight":368.1,"old_smoothed_weight":367.1},{"timestamp":"10:15:30.655","brew_time":"92.4","actual_weight":371,"old_weight":370.4,"actual_smoothed_weight":368.9,"old_smoothed_weight":368.1},{"timestamp":"10:15:30.727","brew_time":"92.5","actual_weight":371.6,"old_weight":371,"actual_smoothed_weight":369.7,"old_smoothed_weight":368.9},{"timestamp":"10:15:30.896","brew_time":"92.6","actual_weight":372.4,"old_weight":371.6,"actual_smoothed_weight":370.5,"old_smoothed_weight":369.7},{"timestamp":"10:15:30.951","brew_time":"92.7","actual_weight":373.6,"old_weight":372.4,"actual_smoothed_weight":371.5,"old_smoothed_weight":370.5},{"timestamp":"10:15:31.019","brew_time":"92.8","actual_weight":374.9,"old_weight":373.6,"actual_smoothed_weight":372.5,"old_smoothed_weight":371.5},{"timestamp":"10:15:31.108","brew_time":"92.9","actual_weight":376.3,"old_weight":374.9,"actual_smoothed_weight":373.6,"old_smoothed_weight":372.5},{"timestamp":"10:15:31.231","brew_time":"92.10","actual_weight":377.4,"old_weight":376.3,"actual_smoothed_weight":374.8,"old_smoothed_weight":373.6},{"timestamp":"10:15:31.364","brew_time":"93.1","actual_weight":378,"old_weight":377.4,"actual_smoothed_weight":375.7,"old_smoothed_weight":374.8},{"timestamp":"10:15:31.439","brew_time":"93.2","actual_weight":378.6,"old_weight":378,"actual_smoothed_weight":376.6,"old_smoothed_weight":375.7},{"timestamp":"10:15:31.546","brew_time":"93.3","actual_weight":379.2,"old_weight":378.6,"actual_smoothed_weight":377.4,"old_smoothed_weight":376.6},{"timestamp":"10:15:31.637","brew_time":"93.4","actual_weight":380.1,"old_weight":379.2,"actual_smoothed_weight":378.2,"old_smoothed_weight":377.4},{"timestamp":"10:15:31.752","brew_time":"93.5","actual_weight":381.3,"old_weight":380.1,"actual_smoothed_weight":379.1,"old_smoothed_weight":378.2},{"timestamp":"10:15:31.822","brew_time":"93.6","actual_weight":382.6,"old_weight":381.3,"actual_smoothed_weight":380.2,"old_smoothed_weight":379.1},{"timestamp":"10:15:31.944","brew_time":"93.7","actual_weight":384.1,"old_weight":382.6,"actual_smoothed_weight":381.3,"old_smoothed_weight":380.2},{"timestamp":"10:15:32.064","brew_time":"93.8","actual_weight":385.3,"old_weight":384.1,"actual_smoothed_weight":382.5,"old_smoothed_weight":381.3},{"timestamp":"10:15:32.136","brew_time":"93.9","actual_weight":385.9,"old_weight":385.3,"actual_smoothed_weight":383.5,"old_smoothed_weight":382.5},{"timestamp":"10:15:32.285","brew_time":"93.10","actual_weight":386.4,"old_weight":385.9,"actual_smoothed_weight":384.4,"old_smoothed_weight":383.5},{"timestamp":"10:15:32.385","brew_time":"94.1","actual_weight":387,"old_weight":386.4,"actual_smoothed_weight":385.2,"old_smoothed_weight":384.4},{"timestamp":"10:15:32.469","brew_time":"94.2","actual_weight":387.9,"old_weight":387,"actual_smoothed_weight":386,"old_smoothed_weight":385.2},{"timestamp":"10:15:32.627","brew_time":"94.3","actual_weight":389.1,"old_weight":387.9,"actual_smoothed_weight":386.9,"old_smoothed_weight":386},{"timestamp":"10:15:32.680","brew_time":"94.4","actual_weight":390.3,"old_weight":389.1,"actual_smoothed_weight":387.9,"old_smoothed_weight":386.9},{"timestamp":"10:15:32.800","brew_time":"94.5","actual_weight":391.7,"old_weight":390.3,"actual_smoothed_weight":389.1,"old_smoothed_weight":387.9},{"timestamp":"10:15:32.875","brew_time":"94.6","actual_weight":393,"old_weight":391.7,"actual_smoothed_weight":390.2,"old_smoothed_weight":389.1},{"timestamp":"10:15:33.001","brew_time":"94.7","actual_weight":393.9,"old_weight":393,"actual_smoothed_weight":391.3,"old_smoothed_weight":390.2},{"timestamp":"10:15:33.107","brew_time":"94.8","actual_weight":394.6,"old_weight":393.9,"actual_smoothed_weight":392.3,"old_smoothed_weight":391.3},{"timestamp":"10:15:33.177","brew_time":"94.9","actual_weight":395.4,"old_weight":394.6,"actual_smoothed_weight":393.2,"old_smoothed_weight":392.3},{"timestamp":"10:15:33.335","brew_time":"95.1","actual_weight":396.2,"old_weight":395.4,"actual_smoothed_weight":394.1,"old_smoothed_weight":393.2},{"timestamp":"10:15:33.386","brew_time":"95.2","actual_weight":397.1,"old_weight":396.2,"actual_smoothed_weight":395,"old_smoothed_weight":394.1},{"timestamp":"10:15:33.581","brew_time":"95.3","actual_weight":398.2,"old_weight":397.1,"actual_smoothed_weight":396,"old_smoothed_weight":395},{"timestamp":"10:15:33.618","brew_time":"95.4","actual_weight":399.4,"old_weight":398.2,"actual_smoothed_weight":397,"old_smoothed_weight":396},{"timestamp":"10:15:33.703","brew_time":"95.5","actual_weight":400.6,"old_weight":399.4,"actual_smoothed_weight":398.1,"old_smoothed_weight":397},{"timestamp":"10:15:33.776","brew_time":"95.6","actual_weight":401.7,"old_weight":400.6,"actual_smoothed_weight":399.2,"old_smoothed_weight":398.1},{"timestamp":"10:15:33.901","brew_time":"95.7","actual_weight":402.8,"old_weight":401.7,"actual_smoothed_weight":400.3,"old_smoothed_weight":399.2},{"timestamp":"10:15:33.996","brew_time":"95.8","actual_weight":403.2,"old_weight":402.8,"actual_smoothed_weight":401.1,"old_smoothed_weight":400.3},{"timestamp":"10:15:34.118","brew_time":"95.9","actual_weight":403.8,"old_weight":403.2,"actual_smoothed_weight":401.9,"old_smoothed_weight":401.1},{"timestamp":"10:15:34.190","brew_time":"95.10","actual_weight":404.5,"old_weight":403.8,"actual_smoothed_weight":402.7,"old_smoothed_weight":401.9},{"timestamp":"10:15:34.320","brew_time":"96.1","actual_weight":405.4,"old_weight":404.5,"actual_smoothed_weight":403.5,"old_smoothed_weight":402.7},{"timestamp":"10:15:34.432","brew_time":"96.2","actual_weight":406.3,"old_weight":405.4,"actual_smoothed_weight":404.4,"old_smoothed_weight":403.5},{"timestamp":"10:15:34.538","brew_time":"96.3","actual_weight":407.2,"old_weight":406.3,"actual_smoothed_weight":405.2,"old_smoothed_weight":404.4},{"timestamp":"10:15:34.645","brew_time":"96.4","actual_weight":408.3,"old_weight":407.2,"actual_smoothed_weight":406.1,"old_smoothed_weight":405.2},{"timestamp":"10:15:34.726","brew_time":"96.5","actual_weight":409.6,"old_weight":408.3,"actual_smoothed_weight":407.2,"old_smoothed_weight":406.1},{"timestamp":"10:15:34.909","brew_time":"96.6","actual_weight":410.5,"old_weight":409.6,"actual_smoothed_weight":408.2,"old_smoothed_weight":407.2},{"timestamp":"10:15:34.964","brew_time":"96.7","actual_weight":411.2,"old_weight":410.5,"actual_smoothed_weight":409.1,"old_smoothed_weight":408.2},{"timestamp":"10:15:35.061","brew_time":"96.8","actual_weight":411.6,"old_weight":411.2,"actual_smoothed_weight":409.8,"old_smoothed_weight":409.1},{"timestamp":"10:15:35.134","brew_time":"96.9","actual_weight":412.3,"old_weight":411.6,"actual_smoothed_weight":410.6,"old_smoothed_weight":409.8},{"timestamp":"10:15:35.235","brew_time":"96.10","actual_weight":413.1,"old_weight":412.3,"actual_smoothed_weight":411.3,"old_smoothed_weight":410.6},{"timestamp":"10:15:35.377","brew_time":"97.1","actual_weight":413.9,"old_weight":413.1,"actual_smoothed_weight":412.1,"old_smoothed_weight":411.3},{"timestamp":"10:15:35.468","brew_time":"97.2","actual_weight":415.3,"old_weight":413.9,"actual_smoothed_weight":413.1,"old_smoothed_weight":412.1},{"timestamp":"10:15:35.628","brew_time":"97.3","actual_weight":416.7,"old_weight":415.3,"actual_smoothed_weight":414.2,"old_smoothed_weight":413.1},{"timestamp":"10:15:35.731","brew_time":"97.4","actual_weight":417.8,"old_weight":416.7,"actual_smoothed_weight":415.2,"old_smoothed_weight":414.2},{"timestamp":"10:15:35.770","brew_time":"97.5","actual_weight":418.8,"old_weight":417.8,"actual_smoothed_weight":416.3,"old_smoothed_weight":415.2},{"timestamp":"10:15:35.923","brew_time":"97.6","actual_weight":419.5,"old_weight":418.8,"actual_smoothed_weight":417.3,"old_smoothed_weight":416.3},{"timestamp":"10:15:35.976","brew_time":"97.7","actual_weight":420.2,"old_weight":419.5,"actual_smoothed_weight":418.1,"old_smoothed_weight":417.3},{"timestamp":"10:15:36.069","brew_time":"97.8","actual_weight":420.9,"old_weight":420.2,"actual_smoothed_weight":419,"old_smoothed_weight":418.1},{"timestamp":"10:15:36.176","brew_time":"97.9","actual_weight":422,"old_weight":420.9,"actual_smoothed_weight":419.9,"old_smoothed_weight":419},{"timestamp":"10:15:36.343","brew_time":"97.10","actual_weight":423.2,"old_weight":422,"actual_smoothed_weight":420.9,"old_smoothed_weight":419.9},{"timestamp":"10:15:36.416","brew_time":"98.1","actual_weight":424.5,"old_weight":423.2,"actual_smoothed_weight":422,"old_smoothed_weight":420.9},{"timestamp":"10:15:36.514","brew_time":"98.2","actual_weight":426,"old_weight":424.5,"actual_smoothed_weight":423.2,"old_smoothed_weight":422},{"timestamp":"10:15:36.628","brew_time":"98.3","actual_weight":427.1,"old_weight":426,"actual_smoothed_weight":424.4,"old_smoothed_weight":423.2},{"timestamp":"10:15:36.699","brew_time":"98.4","actual_weight":427.9,"old_weight":427.1,"actual_smoothed_weight":425.4,"old_smoothed_weight":424.4},{"timestamp":"10:15:36.787","brew_time":"98.5","actual_weight":428.6,"old_weight":427.9,"actual_smoothed_weight":426.4,"old_smoothed_weight":425.4},{"timestamp":"10:15:36.896","brew_time":"98.6","actual_weight":429.3,"old_weight":428.6,"actual_smoothed_weight":427.3,"old_smoothed_weight":426.4},{"timestamp":"10:15:37.127","brew_time":"98.7","actual_weight":430,"old_weight":429.3,"actual_smoothed_weight":428.1,"old_smoothed_weight":427.3},{"timestamp":"10:15:37.206","brew_time":"98.8","actual_weight":430.8,"old_weight":430,"actual_smoothed_weight":428.9,"old_smoothed_weight":428.1},{"timestamp":"10:15:37.297","brew_time":"99.1","actual_weight":432,"old_weight":430.8,"actual_smoothed_weight":429.8,"old_smoothed_weight":428.9},{"timestamp":"10:15:37.351","brew_time":"99.2","actual_weight":433.3,"old_weight":432,"actual_smoothed_weight":430.9,"old_smoothed_weight":429.8},{"timestamp":"10:15:37.436","brew_time":"99.3","actual_weight":434.6,"old_weight":433.3,"actual_smoothed_weight":432,"old_smoothed_weight":430.9},{"timestamp":"10:15:37.569","brew_time":"99.4","actual_weight":435.7,"old_weight":434.6,"actual_smoothed_weight":433.1,"old_smoothed_weight":432},{"timestamp":"10:15:37.639","brew_time":"99.5","actual_weight":436.5,"old_weight":435.7,"actual_smoothed_weight":434.1,"old_smoothed_weight":433.1},{"timestamp":"10:15:37.706","brew_time":"99.6","actual_weight":437.1,"old_weight":436.5,"actual_smoothed_weight":435,"old_smoothed_weight":434.1},{"timestamp":"10:15:37.896","brew_time":"99.7","actual_weight":437.8,"old_weight":437.1,"actual_smoothed_weight":435.9,"old_smoothed_weight":435},{"timestamp":"10:15:37.965","brew_time":"99.8","actual_weight":438.5,"old_weight":437.8,"actual_smoothed_weight":436.6,"old_smoothed_weight":435.9},{"timestamp":"10:15:38.039","brew_time":"99.9","actual_weight":439.4,"old_weight":438.5,"actual_smoothed_weight":437.5,"old_smoothed_weight":436.6},{"timestamp":"10:15:38.127","brew_time":"99.10","actual_weight":440.8,"old_weight":439.4,"actual_smoothed_weight":438.5,"old_smoothed_weight":437.5},{"timestamp":"10:15:38.232","brew_time":"99.11","actual_weight":442,"old_weight":440.8,"actual_smoothed_weight":439.5,"old_smoothed_weight":438.5},{"timestamp":"10:15:38.352","brew_time":"100.1","actual_weight":443.3,"old_weight":442,"actual_smoothed_weight":440.7,"old_smoothed_weight":439.5},{"timestamp":"10:15:38.425","brew_time":"100.2","actual_weight":444.6,"old_weight":443.3,"actual_smoothed_weight":441.8,"old_smoothed_weight":440.7},{"timestamp":"10:15:38.619","brew_time":"100.3","actual_weight":445.6,"old_weight":444.6,"actual_smoothed_weight":443,"old_smoothed_weight":441.8},{"timestamp":"10:15:38.687","brew_time":"100.4","actual_weight":446.3,"old_weight":445.6,"actual_smoothed_weight":444,"old_smoothed_weight":443},{"timestamp":"10:15:38.764","brew_time":"100.5","actual_weight":446.9,"old_weight":446.3,"actual_smoothed_weight":444.8,"old_smoothed_weight":444},{"timestamp":"10:15:38.877","brew_time":"100.6","actual_weight":447.8,"old_weight":446.9,"actual_smoothed_weight":445.7,"old_smoothed_weight":444.8},{"timestamp":"10:15:38.991","brew_time":"100.7","actual_weight":448.8,"old_weight":447.8,"actual_smoothed_weight":446.7,"old_smoothed_weight":445.7},{"timestamp":"10:15:39.065","brew_time":"100.8","actual_weight":449.9,"old_weight":448.8,"actual_smoothed_weight":447.6,"old_smoothed_weight":446.7},{"timestamp":"10:15:39.212","brew_time":"100.9","actual_weight":451.3,"old_weight":449.9,"actual_smoothed_weight":448.7,"old_smoothed_weight":447.6},{"timestamp":"10:15:39.322","brew_time":"101.1","actual_weight":452.7,"old_weight":451.3,"actual_smoothed_weight":449.9,"old_smoothed_weight":448.7},{"timestamp":"10:15:39.394","brew_time":"101.2","actual_weight":454.1,"old_weight":452.7,"actual_smoothed_weight":451.2,"old_smoothed_weight":449.9},{"timestamp":"10:15:39.504","brew_time":"101.3","actual_weight":455.2,"old_weight":454.1,"actual_smoothed_weight":452.4,"old_smoothed_weight":451.2},{"timestamp":"10:15:39.624","brew_time":"101.4","actual_weight":455.8,"old_weight":455.2,"actual_smoothed_weight":453.4,"old_smoothed_weight":452.4},{"timestamp":"10:15:39.692","brew_time":"101.5","actual_weight":456.5,"old_weight":455.8,"actual_smoothed_weight":454.3,"old_smoothed_weight":453.4},{"timestamp":"10:15:39.781","brew_time":"101.6","actual_weight":457.2,"old_weight":456.5,"actual_smoothed_weight":455.2,"old_smoothed_weight":454.3},{"timestamp":"10:15:39.900","brew_time":"101.7","actual_weight":458.1,"old_weight":457.2,"actual_smoothed_weight":456.1,"old_smoothed_weight":455.2},{"timestamp":"10:15:39.971","brew_time":"101.8","actual_weight":459,"old_weight":458.1,"actual_smoothed_weight":456.9,"old_smoothed_weight":456.1},{"timestamp":"10:15:40.144","brew_time":"101.9","actual_weight":460.2,"old_weight":459,"actual_smoothed_weight":457.9,"old_smoothed_weight":456.9},{"timestamp":"10:15:40.215","brew_time":"101.10","actual_weight":461.6,"old_weight":460.2,"actual_smoothed_weight":459,"old_smoothed_weight":457.9},{"timestamp":"10:15:40.323","brew_time":"102.1","actual_weight":462.7,"old_weight":461.6,"actual_smoothed_weight":460.1,"old_smoothed_weight":459},{"timestamp":"10:15:40.391","brew_time":"102.2","actual_weight":463.2,"old_weight":462.7,"actual_smoothed_weight":461,"old_smoothed_weight":460.1},{"timestamp":"10:15:40.583","brew_time":"102.3","actual_weight":463.8,"old_weight":463.2,"actual_smoothed_weight":461.9,"old_smoothed_weight":461},{"timestamp":"10:15:40.629","brew_time":"102.4","actual_weight":464.3,"old_weight":463.8,"actual_smoothed_weight":462.6,"old_smoothed_weight":461.9},{"timestamp":"10:15:40.789","brew_time":"102.5","actual_weight":464.9,"old_weight":464.3,"actual_smoothed_weight":463.3,"old_smoothed_weight":462.6},{"timestamp":"10:15:40.856","brew_time":"102.6","actual_weight":465.7,"old_weight":464.9,"actual_smoothed_weight":464,"old_smoothed_weight":463.3},{"timestamp":"10:15:40.929","brew_time":"102.7","actual_weight":466.6,"old_weight":465.7,"actual_smoothed_weight":464.8,"old_smoothed_weight":464},{"timestamp":"10:15:41.020","brew_time":"102.8","actual_weight":467.6,"old_weight":466.6,"actual_smoothed_weight":465.6,"old_smoothed_weight":464.8},{"timestamp":"10:15:41.131","brew_time":"102.9","actual_weight":468.5,"old_weight":467.6,"actual_smoothed_weight":466.5,"old_smoothed_weight":465.6},{"timestamp":"10:15:41.253","brew_time":"102.10","actual_weight":469.4,"old_weight":468.5,"actual_smoothed_weight":467.4,"old_smoothed_weight":466.5},{"timestamp":"10:15:41.357","brew_time":"103.1","actual_weight":470,"old_weight":469.4,"actual_smoothed_weight":468.2,"old_smoothed_weight":467.4},{"timestamp":"10:15:41.528","brew_time":"103.2","actual_weight":470.4,"old_weight":470,"actual_smoothed_weight":468.8,"old_smoothed_weight":468.2},{"timestamp":"10:15:41.564","brew_time":"103.3","actual_weight":471,"old_weight":470.4,"actual_smoothed_weight":469.5,"old_smoothed_weight":468.8},{"timestamp":"10:15:41.641","brew_time":"103.4","actual_weight":471.4,"old_weight":471,"actual_smoothed_weight":470.1,"old_smoothed_weight":469.5},{"timestamp":"10:15:41.728","brew_time":"103.5","actual_weight":472,"old_weight":471.4,"actual_smoothed_weight":470.6,"old_smoothed_weight":470.1},{"timestamp":"10:15:41.850","brew_time":"103.6","actual_weight":472.9,"old_weight":472,"actual_smoothed_weight":471.3,"old_smoothed_weight":470.6},{"timestamp":"10:15:41.959","brew_time":"103.7","actual_weight":473.9,"old_weight":472.9,"actual_smoothed_weight":472.1,"old_smoothed_weight":471.3},{"timestamp":"10:15:42.034","brew_time":"103.8","actual_weight":475,"old_weight":473.9,"actual_smoothed_weight":473,"old_smoothed_weight":472.1},{"timestamp":"10:15:42.216","brew_time":"103.9","actual_weight":475.9,"old_weight":475,"actual_smoothed_weight":473.8,"old_smoothed_weight":473},{"timestamp":"10:15:42.320","brew_time":"104.1","actual_weight":476.6,"old_weight":475.9,"actual_smoothed_weight":474.7,"old_smoothed_weight":473.8},{"timestamp":"10:15:42.406","brew_time":"104.2","actual_weight":477.1,"old_weight":476.6,"actual_smoothed_weight":475.4,"old_smoothed_weight":474.7},{"timestamp":"10:15:42.511","brew_time":"104.3","actual_weight":477.6,"old_weight":477.1,"actual_smoothed_weight":476.1,"old_smoothed_weight":475.4},{"timestamp":"10:15:42.593","brew_time":"104.4","actual_weight":478.1,"old_weight":477.6,"actual_smoothed_weight":476.7,"old_smoothed_weight":476.1},{"timestamp":"10:15:42.666","brew_time":"104.5","actual_weight":478.8,"old_weight":478.1,"actual_smoothed_weight":477.3,"old_smoothed_weight":476.7},{"timestamp":"10:15:42.789","brew_time":"104.6","actual_weight":479.5,"old_weight":478.8,"actual_smoothed_weight":478,"old_smoothed_weight":477.3},{"timestamp":"10:15:42.889","brew_time":"104.7","actual_weight":480.4,"old_weight":479.5,"actual_smoothed_weight":478.7,"old_smoothed_weight":478},{"timestamp":"10:15:42.956","brew_time":"104.8","actual_weight":481.3,"old_weight":480.4,"actual_smoothed_weight":479.5,"old_smoothed_weight":478.7},{"timestamp":"10:15:43.080","brew_time":"104.9","actual_weight":482.1,"old_weight":481.3,"actual_smoothed_weight":480.3,"old_smoothed_weight":479.5},{"timestamp":"10:15:43.192","brew_time":"104.10","actual_weight":482.8,"old_weight":482.1,"actual_smoothed_weight":481,"old_smoothed_weight":480.3},{"timestamp":"10:15:43.320","brew_time":"105.1","actual_weight":483.2,"old_weight":482.8,"actual_smoothed_weight":481.7,"old_smoothed_weight":481},{"timestamp":"10:15:43.388","brew_time":"105.2","actual_weight":483.6,"old_weight":483.2,"actual_smoothed_weight":482.3,"old_smoothed_weight":481.7},{"timestamp":"10:15:43.524","brew_time":"105.3","actual_weight":484.1,"old_weight":483.6,"actual_smoothed_weight":482.8,"old_smoothed_weight":482.3},{"timestamp":"10:15:43.595","brew_time":"105.4","actual_weight":484.6,"old_weight":484.1,"actual_smoothed_weight":483.3,"old_smoothed_weight":482.8},{"timestamp":"10:15:43.718","brew_time":"105.5","actual_weight":485.2,"old_weight":484.6,"actual_smoothed_weight":483.9,"old_smoothed_weight":483.3},{"timestamp":"10:15:43.826","brew_time":"105.6","actual_weight":486.1,"old_weight":485.2,"actual_smoothed_weight":484.6,"old_smoothed_weight":483.9},{"timestamp":"10:15:43.941","brew_time":"105.7","actual_weight":487.2,"old_weight":486.1,"actual_smoothed_weight":485.4,"old_smoothed_weight":484.6},{"timestamp":"10:15:44.014","brew_time":"105.8","actual_weight":488.1,"old_weight":487.2,"actual_smoothed_weight":486.2,"old_smoothed_weight":485.4},{"timestamp":"10:15:44.127","brew_time":"105.9","actual_weight":488.8,"old_weight":488.1,"actual_smoothed_weight":487,"old_smoothed_weight":486.2},{"timestamp":"10:15:44.196","brew_time":"105.10","actual_weight":489.3,"old_weight":488.8,"actual_smoothed_weight":487.7,"old_smoothed_weight":487},{"timestamp":"10:15:44.334","brew_time":"106.1","actual_weight":489.7,"old_weight":489.3,"actual_smoothed_weight":488.3,"old_smoothed_weight":487.7},{"timestamp":"10:15:44.428","brew_time":"106.2","actual_weight":490.2,"old_weight":489.7,"actual_smoothed_weight":488.9,"old_smoothed_weight":488.3},{"timestamp":"10:15:44.579","brew_time":"106.3","actual_weight":490.9,"old_weight":490.2,"actual_smoothed_weight":489.5,"old_smoothed_weight":488.9},{"timestamp":"10:15:44.636","brew_time":"106.4","actual_weight":491.8,"old_weight":490.9,"actual_smoothed_weight":490.2,"old_smoothed_weight":489.5},{"timestamp":"10:15:44.724","brew_time":"106.5","actual_weight":492.8,"old_weight":491.8,"actual_smoothed_weight":491,"old_smoothed_weight":490.2},{"timestamp":"10:15:44.847","brew_time":"106.6","actual_weight":494,"old_weight":492.8,"actual_smoothed_weight":491.9,"old_smoothed_weight":491},{"timestamp":"10:15:44.955","brew_time":"106.7","actual_weight":495.2,"old_weight":494,"actual_smoothed_weight":492.9,"old_smoothed_weight":491.9},{"timestamp":"10:15:45.037","brew_time":"106.8","actual_weight":496.1,"old_weight":495.2,"actual_smoothed_weight":493.8,"old_smoothed_weight":492.9},{"timestamp":"10:15:45.223","brew_time":"106.9","actual_weight":496.7,"old_weight":496.1,"actual_smoothed_weight":494.7,"old_smoothed_weight":493.8},{"timestamp":"10:15:45.317","brew_time":"107.1","actual_weight":497.3,"old_weight":496.7,"actual_smoothed_weight":495.5,"old_smoothed_weight":494.7},{"timestamp":"10:15:45.375","brew_time":"107.2","actual_weight":497.9,"old_weight":497.3,"actual_smoothed_weight":496.2,"old_smoothed_weight":495.5},{"timestamp":"10:15:45.512","brew_time":"107.3","actual_weight":498.8,"old_weight":497.9,"actual_smoothed_weight":497,"old_smoothed_weight":496.2},{"timestamp":"10:15:45.611","brew_time":"107.4","actual_weight":499.8,"old_weight":498.8,"actual_smoothed_weight":497.8,"old_smoothed_weight":497},{"timestamp":"10:15:45.697","brew_time":"107.5","actual_weight":501.1,"old_weight":499.8,"actual_smoothed_weight":498.8,"old_smoothed_weight":497.8},{"timestamp":"10:15:45.815","brew_time":"107.6","actual_weight":502.3,"old_weight":501.1,"actual_smoothed_weight":499.9,"old_smoothed_weight":498.8},{"timestamp":"10:15:45.889","brew_time":"107.7","actual_weight":503.3,"old_weight":502.3,"actual_smoothed_weight":500.9,"old_smoothed_weight":499.9},{"timestamp":"10:15:45.966","brew_time":"107.8","actual_weight":503.9,"old_weight":503.3,"actual_smoothed_weight":501.8,"old_smoothed_weight":500.9},{"timestamp":"10:15:46.089","brew_time":"107.9","actual_weight":504.5,"old_weight":503.9,"actual_smoothed_weight":502.6,"old_smoothed_weight":501.8},{"timestamp":"10:15:46.201","brew_time":"107.10","actual_weight":504.9,"old_weight":504.5,"actual_smoothed_weight":503.3,"old_smoothed_weight":502.6},{"timestamp":"10:15:46.309","brew_time":"108.1","actual_weight":505.5,"old_weight":504.9,"actual_smoothed_weight":504,"old_smoothed_weight":503.3},{"timestamp":"10:15:46.438","brew_time":"108.2","actual_weight":506.2,"old_weight":505.5,"actual_smoothed_weight":504.6,"old_smoothed_weight":504},{"timestamp":"10:15:46.539","brew_time":"108.3","actual_weight":506.9,"old_weight":506.2,"actual_smoothed_weight":505.3,"old_smoothed_weight":504.6},{"timestamp":"10:15:46.654","brew_time":"108.4","actual_weight":507.9,"old_weight":506.9,"actual_smoothed_weight":506.1,"old_smoothed_weight":505.3},{"timestamp":"10:15:46.730","brew_time":"108.5","actual_weight":508.9,"old_weight":507.9,"actual_smoothed_weight":506.9,"old_smoothed_weight":506.1},{"timestamp":"10:15:46.806","brew_time":"108.6","actual_weight":509.8,"old_weight":508.9,"actual_smoothed_weight":507.8,"old_smoothed_weight":506.9},{"timestamp":"10:15:46.907","brew_time":"108.7","actual_weight":510.5,"old_weight":509.8,"actual_smoothed_weight":508.6,"old_smoothed_weight":507.8},{"timestamp":"10:15:46.976","brew_time":"108.8","actual_weight":510.9,"old_weight":510.5,"actual_smoothed_weight":509.3,"old_smoothed_weight":508.6},{"timestamp":"10:15:47.136","brew_time":"108.9","actual_weight":511.2,"old_weight":510.9,"actual_smoothed_weight":509.9,"old_smoothed_weight":509.3},{"timestamp":"10:15:47.212","brew_time":"108.10","actual_weight":511.5,"old_weight":511.2,"actual_smoothed_weight":510.4,"old_smoothed_weight":509.9},{"timestamp":"10:15:47.398","brew_time":"109.1","actual_weight":511.8,"old_weight":511.5,"actual_smoothed_weight":510.8,"old_smoothed_weight":510.4},{"timestamp":"10:15:47.453","brew_time":"109.2","actual_weight":512.2,"old_weight":511.8,"actual_smoothed_weight":511.2,"old_smoothed_weight":510.8},{"timestamp":"10:15:47.583","brew_time":"109.3","actual_weight":512.8,"old_weight":512.2,"actual_smoothed_weight":511.7,"old_smoothed_weight":511.2},{"timestamp":"10:15:47.648","brew_time":"109.4","actual_weight":513.5,"old_weight":512.8,"actual_smoothed_weight":512.2,"old_smoothed_weight":511.7},{"timestamp":"10:15:47.724","brew_time":"109.5","actual_weight":514.3,"old_weight":513.5,"actual_smoothed_weight":512.9,"old_smoothed_weight":512.2},{"timestamp":"10:15:47.846","brew_time":"109.6","actual_weight":515,"old_weight":514.3,"actual_smoothed_weight":513.5,"old_smoothed_weight":512.9},{"timestamp":"10:15:47.914","brew_time":"109.7","actual_weight":515.6,"old_weight":515,"actual_smoothed_weight":514.1,"old_smoothed_weight":513.5},{"timestamp":"10:15:48.038","brew_time":"109.8","actual_weight":516,"old_weight":515.6,"actual_smoothed_weight":514.7,"old_smoothed_weight":514.1},{"timestamp":"10:15:48.157","brew_time":"109.9","actual_weight":516.2,"old_weight":516,"actual_smoothed_weight":515.1,"old_smoothed_weight":514.7},{"timestamp":"10:15:48.256","brew_time":"109.10","actual_weight":516.2,"old_weight":516.2,"actual_smoothed_weight":515.5,"old_smoothed_weight":515.1},{"timestamp":"10:15:48.373","brew_time":"110.1","actual_weight":516.5,"old_weight":516.2,"actual_smoothed_weight":515.8,"old_smoothed_weight":515.5},{"timestamp":"10:15:48.476","brew_time":"110.2","actual_weight":516.9,"old_weight":516.5,"actual_smoothed_weight":516.1,"old_smoothed_weight":515.8},{"timestamp":"10:15:48.580","brew_time":"110.3","actual_weight":517.6,"old_weight":516.9,"actual_smoothed_weight":516.6,"old_smoothed_weight":516.1},{"timestamp":"10:15:48.669","brew_time":"110.4","actual_weight":518.3,"old_weight":517.6,"actual_smoothed_weight":517.1,"old_smoothed_weight":516.6},{"timestamp":"10:15:48.788","brew_time":"110.5","actual_weight":518.9,"old_weight":518.3,"actual_smoothed_weight":517.6,"old_smoothed_weight":517.1},{"timestamp":"10:15:48.863","brew_time":"110.6","actual_weight":519.4,"old_weight":518.9,"actual_smoothed_weight":518.2,"old_smoothed_weight":517.6},{"timestamp":"10:15:48.963","brew_time":"110.7","actual_weight":520,"old_weight":519.4,"actual_smoothed_weight":518.7,"old_smoothed_weight":518.2},{"timestamp":"10:15:49.075","brew_time":"110.8","actual_weight":520.2,"old_weight":520,"actual_smoothed_weight":519.2,"old_smoothed_weight":518.7},{"timestamp":"10:15:49.146","brew_time":"110.9","actual_weight":520.5,"old_weight":520.2,"actual_smoothed_weight":519.6,"old_smoothed_weight":519.2},{"timestamp":"10:15:49.268","brew_time":"110.10","actual_weight":520.8,"old_weight":520.5,"actual_smoothed_weight":519.9,"old_smoothed_weight":519.6},{"timestamp":"10:15:49.402","brew_time":"111.1","actual_weight":521.3,"old_weight":520.8,"actual_smoothed_weight":520.3,"old_smoothed_weight":519.9},{"timestamp":"10:15:49.591","brew_time":"111.2","actual_weight":522.1,"old_weight":521.3,"actual_smoothed_weight":520.9,"old_smoothed_weight":520.3},{"timestamp":"10:15:49.662","brew_time":"111.3","actual_weight":523.1,"old_weight":522.1,"actual_smoothed_weight":521.5,"old_smoothed_weight":520.9},{"timestamp":"10:15:49.736","brew_time":"111.4","actual_weight":523.9,"old_weight":523.1,"actual_smoothed_weight":522.2,"old_smoothed_weight":521.5},{"timestamp":"10:15:49.819","brew_time":"111.5","actual_weight":524.4,"old_weight":523.9,"actual_smoothed_weight":522.9,"old_smoothed_weight":522.2},{"timestamp":"10:15:49.890","brew_time":"111.6","actual_weight":524.7,"old_weight":524.4,"actual_smoothed_weight":523.4,"old_smoothed_weight":522.9},{"timestamp":"10:15:50.008","brew_time":"111.7","actual_weight":524.9,"old_weight":524.7,"actual_smoothed_weight":523.9,"old_smoothed_weight":523.4},{"timestamp":"10:15:50.084","brew_time":"111.8","actual_weight":525.2,"old_weight":524.9,"actual_smoothed_weight":524.3,"old_smoothed_weight":523.9},{"timestamp":"10:15:50.279","brew_time":"111.9","actual_weight":525.7,"old_weight":525.2,"actual_smoothed_weight":524.7,"old_smoothed_weight":524.3},{"timestamp":"10:15:50.411","brew_time":"112.1","actual_weight":526.3,"old_weight":525.7,"actual_smoothed_weight":525.2,"old_smoothed_weight":524.7},{"timestamp":"10:15:50.465","brew_time":"112.2","actual_weight":526.9,"old_weight":526.3,"actual_smoothed_weight":525.7,"old_smoothed_weight":525.2},{"timestamp":"10:15:50.580","brew_time":"112.3","actual_weight":527.7,"old_weight":526.9,"actual_smoothed_weight":526.3,"old_smoothed_weight":525.7},{"timestamp":"10:15:50.650","brew_time":"112.4","actual_weight":528.6,"old_weight":527.7,"actual_smoothed_weight":527,"old_smoothed_weight":526.3},{"timestamp":"10:15:50.719","brew_time":"112.5","actual_weight":529.4,"old_weight":528.6,"actual_smoothed_weight":527.7,"old_smoothed_weight":527},{"timestamp":"10:15:50.805","brew_time":"112.6","actual_weight":529.9,"old_weight":529.4,"actual_smoothed_weight":528.4,"old_smoothed_weight":527.7},{"timestamp":"10:15:50.934","brew_time":"112.7","actual_weight":530.3,"old_weight":529.9,"actual_smoothed_weight":528.9,"old_smoothed_weight":528.4},{"timestamp":"10:15:51.030","brew_time":"112.8","actual_weight":530.6,"old_weight":530.3,"actual_smoothed_weight":529.4,"old_smoothed_weight":528.9},{"timestamp":"10:15:51.148","brew_time":"112.9","actual_weight":531.1,"old_weight":530.6,"actual_smoothed_weight":529.9,"old_smoothed_weight":529.4},{"timestamp":"10:15:51.220","brew_time":"112.10","actual_weight":531.7,"old_weight":531.1,"actual_smoothed_weight":530.5,"old_smoothed_weight":529.9},{"timestamp":"10:15:51.375","brew_time":"113.1","actual_weight":532.5,"old_weight":531.7,"actual_smoothed_weight":531.1,"old_smoothed_weight":530.5},{"timestamp":"10:15:51.534","brew_time":"113.2","actual_weight":533.5,"old_weight":532.5,"actual_smoothed_weight":531.8,"old_smoothed_weight":531.1},{"timestamp":"10:15:51.599","brew_time":"113.3","actual_weight":534.5,"old_weight":533.5,"actual_smoothed_weight":532.6,"old_smoothed_weight":531.8},{"timestamp":"10:15:51.752","brew_time":"113.4","actual_weight":535.1,"old_weight":534.5,"actual_smoothed_weight":533.4,"old_smoothed_weight":532.6},{"timestamp":"10:15:51.833","brew_time":"113.5","actual_weight":535.6,"old_weight":535.1,"actual_smoothed_weight":534,"old_smoothed_weight":533.4},{"timestamp":"10:15:51.893","brew_time":"113.6","actual_weight":536,"old_weight":535.6,"actual_smoothed_weight":534.6,"old_smoothed_weight":534},{"timestamp":"10:15:51.974","brew_time":"113.7","actual_weight":536.3,"old_weight":536,"actual_smoothed_weight":535.1,"old_smoothed_weight":534.6},{"timestamp":"10:15:52.091","brew_time":"113.8","actual_weight":536.7,"old_weight":536.3,"actual_smoothed_weight":535.6,"old_smoothed_weight":535.1},{"timestamp":"10:15:52.164","brew_time":"113.9","actual_weight":537.4,"old_weight":536.7,"actual_smoothed_weight":536.1,"old_smoothed_weight":535.6},{"timestamp":"10:15:52.267","brew_time":"113.10","actual_weight":538,"old_weight":537.4,"actual_smoothed_weight":536.7,"old_smoothed_weight":536.1},{"timestamp":"10:15:52.453","brew_time":"114.1","actual_weight":538.7,"old_weight":538,"actual_smoothed_weight":537.3,"old_smoothed_weight":536.7},{"timestamp":"10:15:52.552","brew_time":"114.2","actual_weight":539.3,"old_weight":538.7,"actual_smoothed_weight":537.9,"old_smoothed_weight":537.3},{"timestamp":"10:15:52.625","brew_time":"114.3","actual_weight":539.9,"old_weight":539.3,"actual_smoothed_weight":538.5,"old_smoothed_weight":537.9},{"timestamp":"10:15:52.700","brew_time":"114.4","actual_weight":540.7,"old_weight":539.9,"actual_smoothed_weight":539.2,"old_smoothed_weight":538.5},{"timestamp":"10:15:52.832","brew_time":"114.5","actual_weight":541.4,"old_weight":540.7,"actual_smoothed_weight":539.8,"old_smoothed_weight":539.2},{"timestamp":"10:15:52.889","brew_time":"114.6","actual_weight":541.7,"old_weight":541.4,"actual_smoothed_weight":540.4,"old_smoothed_weight":539.8},{"timestamp":"10:15:53.017","brew_time":"114.7","actual_weight":542.1,"old_weight":541.7,"actual_smoothed_weight":540.9,"old_smoothed_weight":540.4},{"timestamp":"10:15:53.085","brew_time":"114.8","actual_weight":542.5,"old_weight":542.1,"actual_smoothed_weight":541.4,"old_smoothed_weight":540.9},{"timestamp":"10:15:53.166","brew_time":"114.9","actual_weight":542.9,"old_weight":542.5,"actual_smoothed_weight":541.8,"old_smoothed_weight":541.4},{"timestamp":"10:15:53.320","brew_time":"114.10","actual_weight":543.3,"old_weight":542.9,"actual_smoothed_weight":542.3,"old_smoothed_weight":541.8},{"timestamp":"10:15:53.452","brew_time":"115.1","actual_weight":544.1,"old_weight":543.3,"actual_smoothed_weight":542.8,"old_smoothed_weight":542.3},{"timestamp":"10:15:53.563","brew_time":"115.2","actual_weight":544.9,"old_weight":544.1,"actual_smoothed_weight":543.4,"old_smoothed_weight":542.8},{"timestamp":"10:15:53.647","brew_time":"115.3","actual_weight":545.7,"old_weight":544.9,"actual_smoothed_weight":544.1,"old_smoothed_weight":543.4},{"timestamp":"10:15:53.757","brew_time":"115.4","actual_weight":546.5,"old_weight":545.7,"actual_smoothed_weight":544.8,"old_smoothed_weight":544.1},{"timestamp":"10:15:53.823","brew_time":"115.5","actual_weight":547.3,"old_weight":546.5,"actual_smoothed_weight":545.6,"old_smoothed_weight":544.8},{"timestamp":"10:15:54.038","brew_time":"115.6","actual_weight":547.8,"old_weight":547.3,"actual_smoothed_weight":546.2,"old_smoothed_weight":545.6},{"timestamp":"10:15:54.087","brew_time":"115.7","actual_weight":548.2,"old_weight":547.8,"actual_smoothed_weight":546.8,"old_smoothed_weight":546.2},{"timestamp":"10:15:54.161","brew_time":"115.8","actual_weight":548.7,"old_weight":548.2,"actual_smoothed_weight":547.4,"old_smoothed_weight":546.8},{"timestamp":"10:15:54.269","brew_time":"116.1","actual_weight":549.2,"old_weight":548.7,"actual_smoothed_weight":547.9,"old_smoothed_weight":547.4},{"timestamp":"10:15:54.362","brew_time":"116.2","actual_weight":549.7,"old_weight":549.2,"actual_smoothed_weight":548.5,"old_smoothed_weight":547.9},{"timestamp":"10:15:54.440","brew_time":"116.3","actual_weight":550.3,"old_weight":549.7,"actual_smoothed_weight":549,"old_smoothed_weight":548.5},{"timestamp":"10:15:54.540","brew_time":"116.4","actual_weight":551.1,"old_weight":550.3,"actual_smoothed_weight":549.6,"old_smoothed_weight":549},{"timestamp":"10:15:54.665","brew_time":"116.5","actual_weight":552,"old_weight":551.1,"actual_smoothed_weight":550.3,"old_smoothed_weight":549.6},{"timestamp":"10:15:54.730","brew_time":"116.6","actual_weight":552.8,"old_weight":552,"actual_smoothed_weight":551.1,"old_smoothed_weight":550.3},{"timestamp":"10:15:54.932","brew_time":"116.7","actual_weight":553.7,"old_weight":552.8,"actual_smoothed_weight":551.9,"old_smoothed_weight":551.1},{"timestamp":"10:15:54.985","brew_time":"116.8","actual_weight":554.9,"old_weight":553.7,"actual_smoothed_weight":552.8,"old_smoothed_weight":551.9},{"timestamp":"10:15:55.057","brew_time":"116.9","actual_weight":555.6,"old_weight":554.9,"actual_smoothed_weight":553.6,"old_smoothed_weight":552.8},{"timestamp":"10:15:55.171","brew_time":"116.10","actual_weight":556.2,"old_weight":555.6,"actual_smoothed_weight":554.4,"old_smoothed_weight":553.6},{"timestamp":"10:15:55.273","brew_time":"116.11","actual_weight":556.8,"old_weight":556.2,"actual_smoothed_weight":555.1,"old_smoothed_weight":554.4},{"timestamp":"10:15:55.397","brew_time":"117.1","actual_weight":557.4,"old_weight":556.8,"actual_smoothed_weight":555.8,"old_smoothed_weight":555.1},{"timestamp":"10:15:55.468","brew_time":"117.2","actual_weight":558.2,"old_weight":557.4,"actual_smoothed_weight":556.5,"old_smoothed_weight":555.8},{"timestamp":"10:15:55.581","brew_time":"117.3","actual_weight":559.1,"old_weight":558.2,"actual_smoothed_weight":557.3,"old_smoothed_weight":556.5},{"timestamp":"10:15:55.686","brew_time":"117.4","actual_weight":560.2,"old_weight":559.1,"actual_smoothed_weight":558.2,"old_smoothed_weight":557.3},{"timestamp":"10:15:55.755","brew_time":"117.5","actual_weight":561.3,"old_weight":560.2,"actual_smoothed_weight":559.1,"old_smoothed_weight":558.2},{"timestamp":"10:15:55.874","brew_time":"117.6","actual_weight":562.5,"old_weight":561.3,"actual_smoothed_weight":560.1,"old_smoothed_weight":559.1},{"timestamp":"10:15:55.975","brew_time":"117.7","actual_weight":563.9,"old_weight":562.5,"actual_smoothed_weight":561.3,"old_smoothed_weight":560.1},{"timestamp":"10:15:56.154","brew_time":"117.8","actual_weight":565,"old_weight":563.9,"actual_smoothed_weight":562.4,"old_smoothed_weight":561.3},{"timestamp":"10:15:56.224","brew_time":"117.9","actual_weight":565.8,"old_weight":565,"actual_smoothed_weight":563.4,"old_smoothed_weight":562.4},{"timestamp":"10:15:56.336","brew_time":"118.1","actual_weight":566.4,"old_weight":565.8,"actual_smoothed_weight":564.3,"old_smoothed_weight":563.4},{"timestamp":"10:15:56.412","brew_time":"118.2","actual_weight":567.1,"old_weight":566.4,"actual_smoothed_weight":565.1,"old_smoothed_weight":564.3},{"timestamp":"10:15:56.535","brew_time":"118.3","actual_weight":567.8,"old_weight":567.1,"actual_smoothed_weight":565.9,"old_smoothed_weight":565.1},{"timestamp":"10:15:56.635","brew_time":"118.4","actual_weight":568.8,"old_weight":567.8,"actual_smoothed_weight":566.8,"old_smoothed_weight":565.9},{"timestamp":"10:15:56.713","brew_time":"118.5","actual_weight":570.1,"old_weight":568.8,"actual_smoothed_weight":567.8,"old_smoothed_weight":566.8},{"timestamp":"10:15:56.884","brew_time":"118.6","actual_weight":571.5,"old_weight":570.1,"actual_smoothed_weight":568.9,"old_smoothed_weight":567.8},{"timestamp":"10:15:56.938","brew_time":"118.7","actual_weight":572.9,"old_weight":571.5,"actual_smoothed_weight":570.1,"old_smoothed_weight":568.9},{"timestamp":"10:15:57.030","brew_time":"118.8","actual_weight":574.2,"old_weight":572.9,"actual_smoothed_weight":571.3,"old_smoothed_weight":570.1},{"timestamp":"10:15:57.102","brew_time":"118.9","actual_weight":575.5,"old_weight":574.2,"actual_smoothed_weight":572.6,"old_smoothed_weight":571.3},{"timestamp":"10:15:57.254","brew_time":"118.10","actual_weight":576.4,"old_weight":575.5,"actual_smoothed_weight":573.7,"old_smoothed_weight":572.6},{"timestamp":"10:15:57.359","brew_time":"119.1","actual_weight":577.1,"old_weight":576.4,"actual_smoothed_weight":574.7,"old_smoothed_weight":573.7},{"timestamp":"10:15:57.439","brew_time":"119.2","actual_weight":577.8,"old_weight":577.1,"actual_smoothed_weight":575.7,"old_smoothed_weight":574.7},{"timestamp":"10:15:57.585","brew_time":"119.3","actual_weight":578.6,"old_weight":577.8,"actual_smoothed_weight":576.5,"old_smoothed_weight":575.7},{"timestamp":"10:15:57.709","brew_time":"119.4","actual_weight":579.6,"old_weight":578.6,"actual_smoothed_weight":577.5,"old_smoothed_weight":576.5},{"timestamp":"10:15:57.818","brew_time":"119.5","actual_weight":580.9,"old_weight":579.6,"actual_smoothed_weight":578.5,"old_smoothed_weight":577.5},{"timestamp":"10:15:57.875","brew_time":"119.6","actual_weight":582.1,"old_weight":580.9,"actual_smoothed_weight":579.6,"old_smoothed_weight":578.5},{"timestamp":"10:15:58.091","brew_time":"119.7","actual_weight":583.3,"old_weight":582.1,"actual_smoothed_weight":580.7,"old_smoothed_weight":579.6},{"timestamp":"10:15:58.129","brew_time":"119.8","actual_weight":584.4,"old_weight":583.3,"actual_smoothed_weight":581.8,"old_smoothed_weight":580.7},{"timestamp":"10:15:58.204","brew_time":"119.9","actual_weight":585.2,"old_weight":584.4,"actual_smoothed_weight":582.8,"old_smoothed_weight":581.8},{"timestamp":"10:15:58.392","brew_time":"120.1","actual_weight":585.8,"old_weight":585.2,"actual_smoothed_weight":583.7,"old_smoothed_weight":582.8},{"timestamp":"10:15:58.446","brew_time":"120.2","actual_weight":586.5,"old_weight":585.8,"actual_smoothed_weight":584.6,"old_smoothed_weight":583.7},{"timestamp":"10:15:58.510","brew_time":"120.3","actual_weight":587.1,"old_weight":586.5,"actual_smoothed_weight":585.3,"old_smoothed_weight":584.6},{"timestamp":"10:15:58.620","brew_time":"120.4","actual_weight":588.1,"old_weight":587.1,"actual_smoothed_weight":586.2,"old_smoothed_weight":585.3},{"timestamp":"10:15:58.754","brew_time":"120.5","actual_weight":589.3,"old_weight":588.1,"actual_smoothed_weight":587.1,"old_smoothed_weight":586.2},{"timestamp":"10:15:58.827","brew_time":"120.6","actual_weight":590.5,"old_weight":589.3,"actual_smoothed_weight":588.1,"old_smoothed_weight":587.1},{"timestamp":"10:15:58.975","brew_time":"120.7","actual_weight":591.8,"old_weight":590.5,"actual_smoothed_weight":589.2,"old_smoothed_weight":588.1},{"timestamp":"10:15:59.051","brew_time":"120.8","actual_weight":593.1,"old_weight":591.8,"actual_smoothed_weight":590.4,"old_smoothed_weight":589.2},{"timestamp":"10:15:59.080","brew_time":"120.9","actual_weight":594.2,"old_weight":593.1,"actual_smoothed_weight":591.5,"old_smoothed_weight":590.4},{"timestamp":"10:15:59.217","brew_time":"120.10","actual_weight":595.1,"old_weight":594.2,"actual_smoothed_weight":592.6,"old_smoothed_weight":591.5},{"timestamp":"10:15:59.330","brew_time":"121.1","actual_weight":595.8,"old_weight":595.1,"actual_smoothed_weight":593.6,"old_smoothed_weight":592.6},{"timestamp":"10:15:59.441","brew_time":"121.2","actual_weight":596.7,"old_weight":595.8,"actual_smoothed_weight":594.5,"old_smoothed_weight":593.6},{"timestamp":"10:15:59.553","brew_time":"121.3","actual_weight":597.7,"old_weight":596.7,"actual_smoothed_weight":595.5,"old_smoothed_weight":594.5},{"timestamp":"10:15:59.731","brew_time":"121.4","actual_weight":598.9,"old_weight":597.7,"actual_smoothed_weight":596.5,"old_smoothed_weight":595.5},{"timestamp":"10:15:59.800","brew_time":"121.5","actual_weight":600.5,"old_weight":598.9,"actual_smoothed_weight":597.7,"old_smoothed_weight":596.5},{"timestamp":"10:15:59.872","brew_time":"121.6","actual_weight":602,"old_weight":600.5,"actual_smoothed_weight":599,"old_smoothed_weight":597.7},{"timestamp":"10:15:59.947","brew_time":"121.7","actual_weight":603.2,"old_weight":602,"actual_smoothed_weight":600.3,"old_smoothed_weight":599},{"timestamp":"10:16:00.025","brew_time":"121.8","actual_weight":604.4,"old_weight":603.2,"actual_smoothed_weight":601.5,"old_smoothed_weight":600.3},{"timestamp":"10:16:00.222","brew_time":"121.9","actual_weight":605.4,"old_weight":604.4,"actual_smoothed_weight":602.7,"old_smoothed_weight":601.5},{"timestamp":"10:16:00.338","brew_time":"122.1","actual_weight":606.3,"old_weight":605.4,"actual_smoothed_weight":603.8,"old_smoothed_weight":602.7},{"timestamp":"10:16:00.396","brew_time":"122.2","actual_weight":607.3,"old_weight":606.3,"actual_smoothed_weight":604.8,"old_smoothed_weight":603.8},{"timestamp":"10:16:00.445","brew_time":"122.3","actual_weight":608.2,"old_weight":607.3,"actual_smoothed_weight":605.8,"old_smoothed_weight":604.8},{"timestamp":"10:16:00.582","brew_time":"122.4","actual_weight":609,"old_weight":608.2,"actual_smoothed_weight":606.8,"old_smoothed_weight":605.8},{"timestamp":"10:16:00.654","brew_time":"122.5","actual_weight":609.9,"old_weight":609,"actual_smoothed_weight":607.7,"old_smoothed_weight":606.8},{"timestamp":"10:16:00.742","brew_time":"122.6","actual_weight":611,"old_weight":609.9,"actual_smoothed_weight":608.7,"old_smoothed_weight":607.7},{"timestamp":"10:16:00.859","brew_time":"122.7","actual_weight":612.2,"old_weight":611,"actual_smoothed_weight":609.8,"old_smoothed_weight":608.7},{"timestamp":"10:16:00.953","brew_time":"122.8","actual_weight":613.4,"old_weight":612.2,"actual_smoothed_weight":610.8,"old_smoothed_weight":609.8},{"timestamp":"10:16:01.038","brew_time":"122.9","actual_weight":614.5,"old_weight":613.4,"actual_smoothed_weight":611.9,"old_smoothed_weight":610.8},{"timestamp":"10:16:01.214","brew_time":"122.10","actual_weight":615.3,"old_weight":614.5,"actual_smoothed_weight":612.9,"old_smoothed_weight":611.9},{"timestamp":"10:16:01.322","brew_time":"123.1","actual_weight":615.9,"old_weight":615.3,"actual_smoothed_weight":613.8,"old_smoothed_weight":612.9},{"timestamp":"10:16:01.378","brew_time":"123.2","actual_weight":616.5,"old_weight":615.9,"actual_smoothed_weight":614.6,"old_smoothed_weight":613.8},{"timestamp":"10:16:01.472","brew_time":"123.3","actual_weight":617.1,"old_weight":616.5,"actual_smoothed_weight":615.4,"old_smoothed_weight":614.6},{"timestamp":"10:16:01.594","brew_time":"123.4","actual_weight":617.8,"old_weight":617.1,"actual_smoothed_weight":616.1,"old_smoothed_weight":615.4},{"timestamp":"10:16:01.669","brew_time":"123.5","actual_weight":618.6,"old_weight":617.8,"actual_smoothed_weight":616.9,"old_smoothed_weight":616.1},{"timestamp":"10:16:01.745","brew_time":"123.6","actual_weight":619.6,"old_weight":618.6,"actual_smoothed_weight":617.7,"old_smoothed_weight":616.9},{"timestamp":"10:16:01.865","brew_time":"123.7","actual_weight":620.6,"old_weight":619.6,"actual_smoothed_weight":618.6,"old_smoothed_weight":617.7},{"timestamp":"10:16:01.985","brew_time":"123.8","actual_weight":621.7,"old_weight":620.6,"actual_smoothed_weight":619.5,"old_smoothed_weight":618.6},{"timestamp":"10:16:02.102","brew_time":"123.9","actual_weight":622.7,"old_weight":621.7,"actual_smoothed_weight":620.5,"old_smoothed_weight":619.5},{"timestamp":"10:16:02.207","brew_time":"123.10","actual_weight":623.7,"old_weight":622.7,"actual_smoothed_weight":621.4,"old_smoothed_weight":620.5},{"timestamp":"10:16:02.311","brew_time":"124.1","actual_weight":624.6,"old_weight":623.7,"actual_smoothed_weight":622.4,"old_smoothed_weight":621.4},{"timestamp":"10:16:02.385","brew_time":"124.2","actual_weight":625.1,"old_weight":624.6,"actual_smoothed_weight":623.2,"old_smoothed_weight":622.4},{"timestamp":"10:16:02.522","brew_time":"124.3","actual_weight":625.6,"old_weight":625.1,"actual_smoothed_weight":623.9,"old_smoothed_weight":623.2},{"timestamp":"10:16:02.595","brew_time":"124.4","actual_weight":626.1,"old_weight":625.6,"actual_smoothed_weight":624.6,"old_smoothed_weight":623.9},{"timestamp":"10:16:02.798","brew_time":"124.5","actual_weight":626.6,"old_weight":626.1,"actual_smoothed_weight":625.2,"old_smoothed_weight":624.6},{"timestamp":"10:16:02.872","brew_time":"124.6","actual_weight":627.3,"old_weight":626.6,"actual_smoothed_weight":625.8,"old_smoothed_weight":625.2},{"timestamp":"10:16:02.942","brew_time":"124.7","actual_weight":628.1,"old_weight":627.3,"actual_smoothed_weight":626.5,"old_smoothed_weight":625.8},{"timestamp":"10:16:03.014","brew_time":"124.8","actual_weight":629.2,"old_weight":628.1,"actual_smoothed_weight":627.3,"old_smoothed_weight":626.5},{"timestamp":"10:16:03.105","brew_time":"124.9","actual_weight":630.1,"old_weight":629.2,"actual_smoothed_weight":628.1,"old_smoothed_weight":627.3},{"timestamp":"10:16:03.256","brew_time":"124.10","actual_weight":631,"old_weight":630.1,"actual_smoothed_weight":629,"old_smoothed_weight":628.1},{"timestamp":"10:16:03.332","brew_time":"125.1","actual_weight":631.7,"old_weight":631,"actual_smoothed_weight":629.8,"old_smoothed_weight":629},{"timestamp":"10:16:03.516","brew_time":"125.2","actual_weight":632.4,"old_weight":631.7,"actual_smoothed_weight":630.6,"old_smoothed_weight":629.8},{"timestamp":"10:16:03.615","brew_time":"125.3","actual_weight":632.9,"old_weight":632.4,"actual_smoothed_weight":631.3,"old_smoothed_weight":630.6},{"timestamp":"10:16:03.666","brew_time":"125.4","actual_weight":633.4,"old_weight":632.9,"actual_smoothed_weight":631.9,"old_smoothed_weight":631.3},{"timestamp":"10:16:03.749","brew_time":"125.5","actual_weight":634,"old_weight":633.4,"actual_smoothed_weight":632.5,"old_smoothed_weight":631.9},{"timestamp":"10:16:03.853","brew_time":"125.6","actual_weight":634.6,"old_weight":634,"actual_smoothed_weight":633.2,"old_smoothed_weight":632.5},{"timestamp":"10:16:03.922","brew_time":"125.7","actual_weight":635.2,"old_weight":634.6,"actual_smoothed_weight":633.8,"old_smoothed_weight":633.2},{"timestamp":"10:16:04.198","brew_time":"125.8","actual_weight":636.1,"old_weight":635.2,"actual_smoothed_weight":634.5,"old_smoothed_weight":633.8},{"timestamp":"10:16:04.272","brew_time":"126.1","actual_weight":637.3,"old_weight":636.1,"actual_smoothed_weight":635.3,"old_smoothed_weight":634.5},{"timestamp":"10:16:04.373","brew_time":"126.2","actual_weight":638.3,"old_weight":637.3,"actual_smoothed_weight":636.2,"old_smoothed_weight":635.3},{"timestamp":"10:16:04.428","brew_time":"126.3","actual_weight":639.2,"old_weight":638.3,"actual_smoothed_weight":637.1,"old_smoothed_weight":636.2},{"timestamp":"10:16:04.487","brew_time":"126.4","actual_weight":640,"old_weight":639.2,"actual_smoothed_weight":638,"old_smoothed_weight":637.1},{"timestamp":"10:16:04.604","brew_time":"126.5","actual_weight":640.6,"old_weight":640,"actual_smoothed_weight":638.8,"old_smoothed_weight":638},{"timestamp":"10:16:04.681","brew_time":"126.6","actual_weight":641.1,"old_weight":640.6,"actual_smoothed_weight":639.5,"old_smoothed_weight":638.8},{"timestamp":"10:16:04.749","brew_time":"126.7","actual_weight":641.8,"old_weight":641.1,"actual_smoothed_weight":640.2,"old_smoothed_weight":639.5},{"timestamp":"10:16:04.878","brew_time":"126.8","actual_weight":642.5,"old_weight":641.8,"actual_smoothed_weight":640.9,"old_smoothed_weight":640.2},{"timestamp":"10:16:04.953","brew_time":"126.9","actual_weight":643.3,"old_weight":642.5,"actual_smoothed_weight":641.6,"old_smoothed_weight":640.9},{"timestamp":"10:16:05.048","brew_time":"126.10","actual_weight":644.2,"old_weight":643.3,"actual_smoothed_weight":642.4,"old_smoothed_weight":641.6},{"timestamp":"10:16:05.181","brew_time":"126.11","actual_weight":645.3,"old_weight":644.2,"actual_smoothed_weight":643.3,"old_smoothed_weight":642.4},{"timestamp":"10:16:05.327","brew_time":"127.1","actual_weight":646.5,"old_weight":645.3,"actual_smoothed_weight":644.2,"old_smoothed_weight":643.3},{"timestamp":"10:16:05.382","brew_time":"127.2","actual_weight":647.7,"old_weight":646.5,"actual_smoothed_weight":645.3,"old_smoothed_weight":644.2},{"timestamp":"10:16:05.592","brew_time":"127.3","actual_weight":648.6,"old_weight":647.7,"actual_smoothed_weight":646.3,"old_smoothed_weight":645.3},{"timestamp":"10:16:05.669","brew_time":"127.4","actual_weight":649.4,"old_weight":648.6,"actual_smoothed_weight":647.2,"old_smoothed_weight":646.3},{"timestamp":"10:16:05.726","brew_time":"127.5","actual_weight":649.9,"old_weight":649.4,"actual_smoothed_weight":648,"old_smoothed_weight":647.2},{"timestamp":"10:16:05.797","brew_time":"127.6","actual_weight":650.5,"old_weight":649.9,"actual_smoothed_weight":648.8,"old_smoothed_weight":648},{"timestamp":"10:16:05.872","brew_time":"127.7","actual_weight":651.1,"old_weight":650.5,"actual_smoothed_weight":649.5,"old_smoothed_weight":648.8},{"timestamp":"10:16:05.982","brew_time":"127.8","actual_weight":651.8,"old_weight":651.1,"actual_smoothed_weight":650.2,"old_smoothed_weight":649.5},{"timestamp":"10:16:06.104","brew_time":"127.9","actual_weight":652.7,"old_weight":651.8,"actual_smoothed_weight":650.9,"old_smoothed_weight":650.2},{"timestamp":"10:16:06.217","brew_time":"127.10","actual_weight":653.9,"old_weight":652.7,"actual_smoothed_weight":651.8,"old_smoothed_weight":650.9},{"timestamp":"10:16:06.325","brew_time":"128.1","actual_weight":654.8,"old_weight":653.9,"actual_smoothed_weight":652.7,"old_smoothed_weight":651.8},{"timestamp":"10:16:06.505","brew_time":"128.2","actual_weight":655.6,"old_weight":654.8,"actual_smoothed_weight":653.6,"old_smoothed_weight":652.7},{"timestamp":"10:16:06.576","brew_time":"128.3","actual_weight":656.4,"old_weight":655.6,"actual_smoothed_weight":654.4,"old_smoothed_weight":653.6},{"timestamp":"10:16:06.616","brew_time":"128.4","actual_weight":657,"old_weight":656.4,"actual_smoothed_weight":655.2,"old_smoothed_weight":654.4},{"timestamp":"10:16:06.840","brew_time":"128.5","actual_weight":657.4,"old_weight":657,"actual_smoothed_weight":655.9,"old_smoothed_weight":655.2},{"timestamp":"10:16:06.959","brew_time":"128.6","actual_weight":657.8,"old_weight":657.4,"actual_smoothed_weight":656.4,"old_smoothed_weight":655.9},{"timestamp":"10:16:07.027","brew_time":"128.7","actual_weight":658.3,"old_weight":657.8,"actual_smoothed_weight":657,"old_smoothed_weight":656.4},{"timestamp":"10:16:07.066","brew_time":"128.8","actual_weight":658.9,"old_weight":658.3,"actual_smoothed_weight":657.6,"old_smoothed_weight":657},{"timestamp":"10:16:07.151","brew_time":"128.9","actual_weight":659.7,"old_weight":658.9,"actual_smoothed_weight":658.2,"old_smoothed_weight":657.6},{"timestamp":"10:16:07.223","brew_time":"128.10","actual_weight":660.7,"old_weight":659.7,"actual_smoothed_weight":659,"old_smoothed_weight":658.2},{"timestamp":"10:16:07.348","brew_time":"129.1","actual_weight":661.6,"old_weight":660.7,"actual_smoothed_weight":659.7,"old_smoothed_weight":659},{"timestamp":"10:16:07.462","brew_time":"129.2","actual_weight":662.6,"old_weight":661.6,"actual_smoothed_weight":660.6,"old_smoothed_weight":659.7},{"timestamp":"10:16:07.556","brew_time":"129.3","actual_weight":663.3,"old_weight":662.6,"actual_smoothed_weight":661.4,"old_smoothed_weight":660.6},{"timestamp":"10:16:07.640","brew_time":"129.4","actual_weight":663.9,"old_weight":663.3,"actual_smoothed_weight":662.2,"old_smoothed_weight":661.4},{"timestamp":"10:16:07.789","brew_time":"129.5","actual_weight":664.3,"old_weight":663.9,"actual_smoothed_weight":662.8,"old_smoothed_weight":662.2},{"timestamp":"10:16:07.901","brew_time":"129.6","actual_weight":664.8,"old_weight":664.3,"actual_smoothed_weight":663.4,"old_smoothed_weight":662.8},{"timestamp":"10:16:07.970","brew_time":"129.7","actual_weight":665.5,"old_weight":664.8,"actual_smoothed_weight":664,"old_smoothed_weight":663.4},{"timestamp":"10:16:08.116","brew_time":"129.8","actual_weight":666.1,"old_weight":665.5,"actual_smoothed_weight":664.7,"old_smoothed_weight":664},{"timestamp":"10:16:08.191","brew_time":"129.9","actual_weight":667,"old_weight":666.1,"actual_smoothed_weight":665.4,"old_smoothed_weight":664.7},{"timestamp":"10:16:08.291","brew_time":"130.1","actual_weight":667.9,"old_weight":667,"actual_smoothed_weight":666.1,"old_smoothed_weight":665.4},{"timestamp":"10:16:08.363","brew_time":"130.2","actual_weight":668.8,"old_weight":667.9,"actual_smoothed_weight":666.9,"old_smoothed_weight":666.1},{"timestamp":"10:16:08.459","brew_time":"130.3","actual_weight":669.6,"old_weight":668.8,"actual_smoothed_weight":667.7,"old_smoothed_weight":666.9},{"timestamp":"10:16:08.630","brew_time":"130.4","actual_weight":670.4,"old_weight":669.6,"actual_smoothed_weight":668.5,"old_smoothed_weight":667.7},{"timestamp":"10:16:08.680","brew_time":"130.5","actual_weight":671,"old_weight":670.4,"actual_smoothed_weight":669.3,"old_smoothed_weight":668.5},{"timestamp":"10:16:08.815","brew_time":"130.6","actual_weight":671.3,"old_weight":671,"actual_smoothed_weight":669.9,"old_smoothed_weight":669.3},{"timestamp":"10:16:08.888","brew_time":"130.7","actual_weight":671.5,"old_weight":671.3,"actual_smoothed_weight":670.4,"old_smoothed_weight":669.9},{"timestamp":"10:16:08.978","brew_time":"130.8","actual_weight":671.8,"old_weight":671.5,"actual_smoothed_weight":670.8,"old_smoothed_weight":670.4},{"timestamp":"10:16:09.247","brew_time":"130.9","actual_weight":672.3,"old_weight":671.8,"actual_smoothed_weight":671.2,"old_smoothed_weight":670.8},{"timestamp":"10:16:09.351","brew_time":"131.1","actual_weight":672.8,"old_weight":672.3,"actual_smoothed_weight":671.7,"old_smoothed_weight":671.2},{"timestamp":"10:16:09.395","brew_time":"131.2","actual_weight":673.4,"old_weight":672.8,"actual_smoothed_weight":672.2,"old_smoothed_weight":671.7},{"timestamp":"10:16:09.474","brew_time":"131.3","actual_weight":674.1,"old_weight":673.4,"actual_smoothed_weight":672.8,"old_smoothed_weight":672.2},{"timestamp":"10:16:09.588","brew_time":"131.4","actual_weight":674.6,"old_weight":674.1,"actual_smoothed_weight":673.3,"old_smoothed_weight":672.8},{"timestamp":"10:16:09.620","brew_time":"131.5","actual_weight":675,"old_weight":674.6,"actual_smoothed_weight":673.8,"old_smoothed_weight":673.3},{"timestamp":"10:16:09.705","brew_time":"131.6","actual_weight":675.4,"old_weight":675,"actual_smoothed_weight":674.3,"old_smoothed_weight":673.8},{"timestamp":"10:16:09.808","brew_time":"131.7","actual_weight":675.7,"old_weight":675.4,"actual_smoothed_weight":674.7,"old_smoothed_weight":674.3},{"timestamp":"10:16:09.992","brew_time":"131.8","actual_weight":675.9,"old_weight":675.7,"actual_smoothed_weight":675.1,"old_smoothed_weight":674.7},{"timestamp":"10:16:10.057","brew_time":"131.9","actual_weight":676.2,"old_weight":675.9,"actual_smoothed_weight":675.4,"old_smoothed_weight":675.1},{"timestamp":"10:16:10.128","brew_time":"131.10","actual_weight":676.6,"old_weight":676.2,"actual_smoothed_weight":675.8,"old_smoothed_weight":675.4},{"timestamp":"10:16:10.226","brew_time":"131.11","actual_weight":677.3,"old_weight":676.6,"actual_smoothed_weight":676.2,"old_smoothed_weight":675.8},{"timestamp":"10:16:10.348","brew_time":"132.1","actual_weight":678.1,"old_weight":677.3,"actual_smoothed_weight":676.8,"old_smoothed_weight":676.2},{"timestamp":"10:16:10.460","brew_time":"132.2","actual_weight":678.8,"old_weight":678.1,"actual_smoothed_weight":677.4,"old_smoothed_weight":676.8},{"timestamp":"10:16:10.553","brew_time":"132.3","actual_weight":679.6,"old_weight":678.8,"actual_smoothed_weight":678.1,"old_smoothed_weight":677.4},{"timestamp":"10:16:10.717","brew_time":"132.4","actual_weight":680.5,"old_weight":679.6,"actual_smoothed_weight":678.8,"old_smoothed_weight":678.1},{"timestamp":"10:16:10.780","brew_time":"132.5","actual_weight":681,"old_weight":680.5,"actual_smoothed_weight":679.5,"old_smoothed_weight":678.8},{"timestamp":"10:16:10.890","brew_time":"132.6","actual_weight":681.3,"old_weight":681,"actual_smoothed_weight":680,"old_smoothed_weight":679.5},{"timestamp":"10:16:10.951","brew_time":"132.7","actual_weight":681.7,"old_weight":681.3,"actual_smoothed_weight":680.5,"old_smoothed_weight":680},{"timestamp":"10:16:11.044","brew_time":"132.8","actual_weight":682.2,"old_weight":681.7,"actual_smoothed_weight":681,"old_smoothed_weight":680.5},{"timestamp":"10:16:11.158","brew_time":"132.9","actual_weight":682.8,"old_weight":682.2,"actual_smoothed_weight":681.6,"old_smoothed_weight":681},{"timestamp":"10:16:11.229","brew_time":"132.10","actual_weight":683.6,"old_weight":682.8,"actual_smoothed_weight":682.2,"old_smoothed_weight":681.6},{"timestamp":"10:16:11.396","brew_time":"133.1","actual_weight":684.6,"old_weight":683.6,"actual_smoothed_weight":682.9,"old_smoothed_weight":682.2},{"timestamp":"10:16:11.471","brew_time":"133.2","actual_weight":685.5,"old_weight":684.6,"actual_smoothed_weight":683.7,"old_smoothed_weight":682.9},{"timestamp":"10:16:11.588","brew_time":"133.3","actual_weight":686.4,"old_weight":685.5,"actual_smoothed_weight":684.5,"old_smoothed_weight":683.7},{"timestamp":"10:16:11.688","brew_time":"133.4","actual_weight":687.3,"old_weight":686.4,"actual_smoothed_weight":685.3,"old_smoothed_weight":684.5},{"timestamp":"10:16:11.761","brew_time":"133.5","actual_weight":687.9,"old_weight":687.3,"actual_smoothed_weight":686.1,"old_smoothed_weight":685.3},{"timestamp":"10:16:11.876","brew_time":"133.6","actual_weight":688.5,"old_weight":687.9,"actual_smoothed_weight":686.8,"old_smoothed_weight":686.1},{"timestamp":"10:16:11.993","brew_time":"133.7","actual_weight":689.1,"old_weight":688.5,"actual_smoothed_weight":687.5,"old_smoothed_weight":686.8},{"timestamp":"10:16:12.106","brew_time":"133.8","actual_weight":689.8,"old_weight":689.1,"actual_smoothed_weight":688.2,"old_smoothed_weight":687.5},{"timestamp":"10:16:12.254","brew_time":"133.9","actual_weight":690.8,"old_weight":689.8,"actual_smoothed_weight":689,"old_smoothed_weight":688.2},{"timestamp":"10:16:12.326","brew_time":"134.1","actual_weight":691.8,"old_weight":690.8,"actual_smoothed_weight":689.8,"old_smoothed_weight":689},{"timestamp":"10:16:12.418","brew_time":"134.2","actual_weight":692.9,"old_weight":691.8,"actual_smoothed_weight":690.7,"old_smoothed_weight":689.8},{"timestamp":"10:16:12.481","brew_time":"134.3","actual_weight":694,"old_weight":692.9,"actual_smoothed_weight":691.7,"old_smoothed_weight":690.7},{"timestamp":"10:16:12.617","brew_time":"134.4","actual_weight":695,"old_weight":694,"actual_smoothed_weight":692.7,"old_smoothed_weight":691.7},{"timestamp":"10:16:12.702","brew_time":"134.5","actual_weight":696,"old_weight":695,"actual_smoothed_weight":693.7,"old_smoothed_weight":692.7},{"timestamp":"10:16:12.806","brew_time":"134.6","actual_weight":696.8,"old_weight":696,"actual_smoothed_weight":694.6,"old_smoothed_weight":693.7},{"timestamp":"10:16:12.875","brew_time":"134.7","actual_weight":697.4,"old_weight":696.8,"actual_smoothed_weight":695.5,"old_smoothed_weight":694.6},{"timestamp":"10:16:13.041","brew_time":"134.8","actual_weight":698,"old_weight":697.4,"actual_smoothed_weight":696.2,"old_smoothed_weight":695.5},{"timestamp":"10:16:13.121","brew_time":"134.9","actual_weight":698.8,"old_weight":698,"actual_smoothed_weight":697,"old_smoothed_weight":696.2},{"timestamp":"10:16:13.194","brew_time":"134.10","actual_weight":699.6,"old_weight":698.8,"actual_smoothed_weight":697.8,"old_smoothed_weight":697},{"timestamp":"10:16:13.380","brew_time":"135.1","actual_weight":700.6,"old_weight":699.6,"actual_smoothed_weight":698.6,"old_smoothed_weight":697.8},{"timestamp":"10:16:13.451","brew_time":"135.2","actual_weight":701.9,"old_weight":700.6,"actual_smoothed_weight":699.6,"old_smoothed_weight":698.6},{"timestamp":"10:16:13.553","brew_time":"135.3","actual_weight":702.5,"old_weight":701.9,"actual_smoothed_weight":700.5,"old_smoothed_weight":699.6},{"timestamp":"10:16:13.720","brew_time":"135.4","actual_weight":702.3,"old_weight":702.5,"actual_smoothed_weight":701,"old_smoothed_weight":700.5},{"timestamp":"10:16:13.771","brew_time":"135.5","actual_weight":702.3,"old_weight":702.3,"actual_smoothed_weight":701.4,"old_smoothed_weight":701},{"timestamp":"10:16:13.838","brew_time":"135.6","actual_weight":702.2,"old_weight":702.3,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.4},{"timestamp":"10:16:13.926","brew_time":"135.7","actual_weight":702.1,"old_weight":702.2,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.6},{"timestamp":"10:16:14.045","brew_time":"135.8","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.8},{"timestamp":"10:16:14.120","brew_time":"135.9","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:14.233","brew_time":"135.10","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":701.9},{"timestamp":"10:16:14.442","brew_time":"136.1","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:14.498","brew_time":"136.2","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:14.604","brew_time":"136.3","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702},{"timestamp":"10:16:14.685","brew_time":"136.4","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:14.763","brew_time":"136.5","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:14.885","brew_time":"136.6","actual_weight":702,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:15.023","brew_time":"136.7","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702.1},{"timestamp":"10:16:15.095","brew_time":"136.8","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.246","brew_time":"136.9","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.329","brew_time":"137.1","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.397","brew_time":"137.2","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.500","brew_time":"137.3","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.587","brew_time":"137.4","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.781","brew_time":"137.5","actual_weight":702.1,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.841","brew_time":"137.6","actual_weight":701.9,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:15.912","brew_time":"137.7","actual_weight":702.1,"old_weight":701.9,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.004","brew_time":"137.8","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.167","brew_time":"137.9","actual_weight":701.9,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.254","brew_time":"138.1","actual_weight":702.1,"old_weight":701.9,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.336","brew_time":"138.2","actual_weight":702,"old_weight":702.1,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.413","brew_time":"138.3","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.517","brew_time":"138.4","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.638","brew_time":"138.5","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.709","brew_time":"138.6","actual_weight":702.1,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:16.840","brew_time":"138.7","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702},{"timestamp":"10:16:16.938","brew_time":"138.8","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:17.065","brew_time":"138.9","actual_weight":702.1,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:17.127","brew_time":"138.10","actual_weight":702,"old_weight":702.1,"actual_smoothed_weight":702.1,"old_smoothed_weight":702.1},{"timestamp":"10:16:17.317","brew_time":"138.11","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702.1},{"timestamp":"10:16:17.408","brew_time":"139.1","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:17.482","brew_time":"139.2","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:17.580","brew_time":"139.3","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:17.648","brew_time":"139.4","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:17.761","brew_time":"139.5","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:17.842","brew_time":"139.6","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.029","brew_time":"139.7","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.087","brew_time":"139.8","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.184","brew_time":"139.9","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.291","brew_time":"139.10","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.388","brew_time":"140.1","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.506","brew_time":"140.2","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.593","brew_time":"140.3","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.784","brew_time":"140.4","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.832","brew_time":"140.5","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:18.900","brew_time":"140.6","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.001","brew_time":"140.7","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.063","brew_time":"140.8","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.187","brew_time":"140.9","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.303","brew_time":"141.1","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.519","brew_time":"141.2","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.556","brew_time":"141.3","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.641","brew_time":"141.4","actual_weight":702,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.737","brew_time":"141.5","actual_weight":701.9,"old_weight":702,"actual_smoothed_weight":702,"old_smoothed_weight":702},{"timestamp":"10:16:19.873","brew_time":"141.6","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":702},{"timestamp":"10:16:19.946","brew_time":"141.7","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.014","brew_time":"141.8","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.121","brew_time":"141.9","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.248","brew_time":"141.10","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.348","brew_time":"142.1","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.425","brew_time":"142.2","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.613","brew_time":"142.3","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.674","brew_time":"142.4","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.767","brew_time":"142.5","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:20.839","brew_time":"142.6","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.025","brew_time":"142.7","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.088","brew_time":"142.8","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.151","brew_time":"142.9","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.298","brew_time":"143.1","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.360","brew_time":"143.2","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.538","brew_time":"143.3","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.601","brew_time":"143.4","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.662","brew_time":"143.5","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.778","brew_time":"143.6","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:21.899","brew_time":"143.7","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.000","brew_time":"143.8","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.077","brew_time":"143.9","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.184","brew_time":"143.10","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.310","brew_time":"144.1","actual_weight":701.9,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.520","brew_time":"144.2","actual_weight":701.8,"old_weight":701.9,"actual_smoothed_weight":701.9,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.589","brew_time":"144.3","actual_weight":701.8,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.9},{"timestamp":"10:16:22.645","brew_time":"144.4","actual_weight":701.8,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:22.721","brew_time":"144.5","actual_weight":701.8,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:22.970","brew_time":"144.6","actual_weight":701.8,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:22.998","brew_time":"144.7","actual_weight":701.9,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.110","brew_time":"144.8","actual_weight":701.7,"old_weight":701.9,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.279","brew_time":"144.9","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.355","brew_time":"145.1","actual_weight":701.8,"old_weight":701.7,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.416","brew_time":"145.2","actual_weight":701.7,"old_weight":701.8,"actual_smoothed_weight":701.8,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.465","brew_time":"145.3","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.8},{"timestamp":"10:16:23.572","brew_time":"145.4","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:23.685","brew_time":"145.5","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:23.748","brew_time":"145.6","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:23.919","brew_time":"145.7","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:23.966","brew_time":"145.8","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.035","brew_time":"145.9","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.182","brew_time":"145.10","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.268","brew_time":"146.1","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.366","brew_time":"146.2","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.509","brew_time":"146.3","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.673","brew_time":"146.4","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.717","brew_time":"146.5","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.778","brew_time":"146.6","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.896","brew_time":"146.7","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:24.954","brew_time":"146.8","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.076","brew_time":"146.9","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.265","brew_time":"146.10","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.354","brew_time":"147.1","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.420","brew_time":"147.2","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.548","brew_time":"147.3","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.607","brew_time":"147.4","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.674","brew_time":"147.5","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.867","brew_time":"147.6","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:25.931","brew_time":"147.7","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.011","brew_time":"147.8","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.133","brew_time":"147.9","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.230","brew_time":"147.10","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.312","brew_time":"148.1","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.534","brew_time":"148.2","actual_weight":701.7,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.556","brew_time":"148.3","actual_weight":701.6,"old_weight":701.7,"actual_smoothed_weight":701.7,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.635","brew_time":"148.4","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.7},{"timestamp":"10:16:26.727","brew_time":"148.5","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:26.915","brew_time":"148.6","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:26.976","brew_time":"148.7","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.037","brew_time":"148.8","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.184","brew_time":"148.9","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.260","brew_time":"149.1","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.326","brew_time":"149.2","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.505","brew_time":"149.3","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.598","brew_time":"149.4","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.701","brew_time":"149.5","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.778","brew_time":"149.6","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.889","brew_time":"149.7","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:27.972","brew_time":"149.8","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.189","brew_time":"149.9","actual_weight":701.5,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.290","brew_time":"150.1","actual_weight":701.6,"old_weight":701.5,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.355","brew_time":"150.2","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.417","brew_time":"150.3","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.542","brew_time":"150.4","actual_weight":701.6,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.604","brew_time":"150.5","actual_weight":701.7,"old_weight":701.6,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.670","brew_time":"150.6","actual_weight":701.5,"old_weight":701.7,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.879","brew_time":"150.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.6,"old_smoothed_weight":701.6},{"timestamp":"10:16:28.938","brew_time":"150.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.6},{"timestamp":"10:16:29.006","brew_time":"150.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.129","brew_time":"150.10","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.191","brew_time":"150.11","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.318","brew_time":"151.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.425","brew_time":"151.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.569","brew_time":"151.3","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.662","brew_time":"151.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.723","brew_time":"151.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.848","brew_time":"151.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:29.909","brew_time":"151.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.063","brew_time":"151.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.138","brew_time":"151.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.285","brew_time":"151.10","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.360","brew_time":"152.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.537","brew_time":"152.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.580","brew_time":"152.3","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.639","brew_time":"152.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.789","brew_time":"152.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.851","brew_time":"152.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:30.965","brew_time":"152.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.160","brew_time":"152.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.205","brew_time":"152.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.293","brew_time":"153.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.386","brew_time":"153.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.511","brew_time":"153.3","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.602","brew_time":"153.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.712","brew_time":"153.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.823","brew_time":"153.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:31.930","brew_time":"153.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.019","brew_time":"153.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.169","brew_time":"153.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.211","brew_time":"153.10","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.309","brew_time":"154.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.425","brew_time":"154.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.528","brew_time":"154.3","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.662","brew_time":"154.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.720","brew_time":"154.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.850","brew_time":"154.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:32.909","brew_time":"154.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.014","brew_time":"154.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.144","brew_time":"154.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.219","brew_time":"154.10","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.334","brew_time":"155.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.448","brew_time":"155.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.574","brew_time":"155.3","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.674","brew_time":"155.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.785","brew_time":"155.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.845","brew_time":"155.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:33.993","brew_time":"155.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.116","brew_time":"155.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.171","brew_time":"155.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.260","brew_time":"156.1","actual_weight":701.4,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.416","brew_time":"156.2","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.511","brew_time":"156.3","actual_weight":701.5,"old_weight":701.4,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.4},{"timestamp":"10:16:34.587","brew_time":"156.4","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.759","brew_time":"156.5","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.817","brew_time":"156.6","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.899","brew_time":"156.7","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:34.978","brew_time":"156.8","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.086","brew_time":"156.9","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.190","brew_time":"156.10","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.281","brew_time":"157.1","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.550","brew_time":"157.2","actual_weight":701.5,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.604","brew_time":"157.3","actual_weight":701.4,"old_weight":701.5,"actual_smoothed_weight":701.5,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.658","brew_time":"157.4","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.5},{"timestamp":"10:16:35.771","brew_time":"157.5","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:35.823","brew_time":"157.6","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:35.917","brew_time":"157.7","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.017","brew_time":"157.8","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.141","brew_time":"157.9","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.218","brew_time":"157.10","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.336","brew_time":"158.1","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.440","brew_time":"158.2","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.539","brew_time":"158.3","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.634","brew_time":"158.4","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.784","brew_time":"158.5","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.855","brew_time":"158.6","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:36.928","brew_time":"158.7","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.120","brew_time":"158.8","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.161","brew_time":"158.9","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.342","brew_time":"158.10","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.442","brew_time":"159.1","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.535","brew_time":"159.2","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.591","brew_time":"159.3","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.720","brew_time":"159.4","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.790","brew_time":"159.5","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.876","brew_time":"159.6","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:37.978","brew_time":"159.7","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.092","brew_time":"159.8","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.157","brew_time":"159.9","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.313","brew_time":"159.10","actual_weight":701.3,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.426","brew_time":"160.1","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.524","brew_time":"160.2","actual_weight":701.4,"old_weight":701.3,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.3},{"timestamp":"10:16:38.612","brew_time":"160.3","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.738","brew_time":"160.4","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.801","brew_time":"160.5","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:38.920","brew_time":"160.6","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.109","brew_time":"160.7","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.154","brew_time":"160.8","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.224","brew_time":"160.9","actual_weight":701.4,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.341","brew_time":"161.1","actual_weight":701.3,"old_weight":701.4,"actual_smoothed_weight":701.4,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.451","brew_time":"161.2","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.4},{"timestamp":"10:16:39.569","brew_time":"161.3","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:39.646","brew_time":"161.4","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:39.824","brew_time":"161.5","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:39.868","brew_time":"161.6","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.049","brew_time":"161.7","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.108","brew_time":"161.8","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.172","brew_time":"161.9","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.267","brew_time":"162.1","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.343","brew_time":"162.2","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.531","brew_time":"162.3","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.605","brew_time":"162.4","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.683","brew_time":"162.5","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.759","brew_time":"162.6","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:40.975","brew_time":"162.7","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.037","brew_time":"162.8","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.078","brew_time":"162.9","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.199","brew_time":"162.10","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.308","brew_time":"163.1","actual_weight":701.3,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.569","brew_time":"163.2","actual_weight":701.2,"old_weight":701.3,"actual_smoothed_weight":701.3,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.603","brew_time":"163.3","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.3},{"timestamp":"10:16:41.683","brew_time":"163.4","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:41.716","brew_time":"163.5","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:41.877","brew_time":"163.6","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:41.940","brew_time":"163.7","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.006","brew_time":"163.8","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.170","brew_time":"163.9","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.236","brew_time":"163.10","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.319","brew_time":"164.1","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.401","brew_time":"164.2","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.558","brew_time":"164.3","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.631","brew_time":"164.4","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.793","brew_time":"164.5","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.856","brew_time":"164.6","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:42.928","brew_time":"164.7","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.042","brew_time":"164.8","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.152","brew_time":"164.9","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.252","brew_time":"164.10","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.391","brew_time":"165.1","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.464","brew_time":"165.2","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.715","brew_time":"165.3","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.776","brew_time":"165.4","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.817","brew_time":"165.5","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.885","brew_time":"165.6","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:43.986","brew_time":"165.7","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.048","brew_time":"165.8","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.295","brew_time":"165.9","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.357","brew_time":"166.1","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.425","brew_time":"166.2","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.530","brew_time":"166.3","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.658","brew_time":"166.4","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.706","brew_time":"166.5","actual_weight":701.2,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.886","brew_time":"166.6","actual_weight":701.1,"old_weight":701.2,"actual_smoothed_weight":701.2,"old_smoothed_weight":701.2},{"timestamp":"10:16:44.955","brew_time":"166.7","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.2},{"timestamp":"10:16:45.020","brew_time":"166.8","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.107","brew_time":"166.9","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.207","brew_time":"166.10","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.281","brew_time":"167.1","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.398","brew_time":"167.2","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.562","brew_time":"167.3","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.677","brew_time":"167.4","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.721","brew_time":"167.5","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.851","brew_time":"167.6","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:45.934","brew_time":"167.7","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.047","brew_time":"167.8","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.149","brew_time":"167.9","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.227","brew_time":"167.10","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.362","brew_time":"168.1","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.611","brew_time":"168.2","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.667","brew_time":"168.3","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.689","brew_time":"168.4","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.764","brew_time":"168.5","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.867","brew_time":"168.6","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:46.938","brew_time":"168.7","actual_weight":701.1,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:47.130","brew_time":"168.8","actual_weight":701,"old_weight":701.1,"actual_smoothed_weight":701.1,"old_smoothed_weight":701.1},{"timestamp":"10:16:47.215","brew_time":"168.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701.1},{"timestamp":"10:16:47.317","brew_time":"169.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.433","brew_time":"169.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.554","brew_time":"169.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.608","brew_time":"169.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.684","brew_time":"169.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.883","brew_time":"169.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:47.956","brew_time":"169.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.001","brew_time":"169.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.113","brew_time":"169.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.218","brew_time":"169.10","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.312","brew_time":"170.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.401","brew_time":"170.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.600","brew_time":"170.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.642","brew_time":"170.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.712","brew_time":"170.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.810","brew_time":"170.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:48.929","brew_time":"170.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.046","brew_time":"170.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.166","brew_time":"170.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.247","brew_time":"171.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.413","brew_time":"171.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.476","brew_time":"171.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.566","brew_time":"171.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.627","brew_time":"171.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.757","brew_time":"171.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.870","brew_time":"171.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:49.970","brew_time":"171.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.060","brew_time":"171.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.206","brew_time":"171.10","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.320","brew_time":"172.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.379","brew_time":"172.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.530","brew_time":"172.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.592","brew_time":"172.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.660","brew_time":"172.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.838","brew_time":"172.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.900","brew_time":"172.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:50.988","brew_time":"172.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.101","brew_time":"172.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.169","brew_time":"172.10","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.298","brew_time":"173.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.404","brew_time":"173.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.593","brew_time":"173.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.635","brew_time":"173.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.707","brew_time":"173.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.813","brew_time":"173.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:51.884","brew_time":"173.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.004","brew_time":"173.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.112","brew_time":"173.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.229","brew_time":"173.10","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.313","brew_time":"174.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.516","brew_time":"174.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.554","brew_time":"174.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.632","brew_time":"174.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.762","brew_time":"174.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.866","brew_time":"174.6","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:52.925","brew_time":"174.7","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.123","brew_time":"174.8","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.182","brew_time":"174.9","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.274","brew_time":"175.1","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.423","brew_time":"175.2","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.476","brew_time":"175.3","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.569","brew_time":"175.4","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.657","brew_time":"175.5","actual_weight":701,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.764","brew_time":"175.6","actual_weight":700.9,"old_weight":701,"actual_smoothed_weight":701,"old_smoothed_weight":701},{"timestamp":"10:16:53.875","brew_time":"175.7","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":701},{"timestamp":"10:16:53.943","brew_time":"175.8","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.103","brew_time":"175.9","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.190","brew_time":"175.10","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.287","brew_time":"176.1","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.505","brew_time":"176.2","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.573","brew_time":"176.3","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.617","brew_time":"176.4","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.718","brew_time":"176.5","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.821","brew_time":"176.6","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:54.880","brew_time":"176.7","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.007","brew_time":"176.8","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.121","brew_time":"176.9","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.307","brew_time":"176.10","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.378","brew_time":"177.1","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.462","brew_time":"177.2","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.576","brew_time":"177.3","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.637","brew_time":"177.4","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.756","brew_time":"177.5","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:55.829","brew_time":"177.6","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.015","brew_time":"177.7","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.074","brew_time":"177.8","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.162","brew_time":"177.9","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.237","brew_time":"177.10","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.349","brew_time":"178.1","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.464","brew_time":"178.2","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.561","brew_time":"178.3","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.729","brew_time":"178.4","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.790","brew_time":"178.5","actual_weight":700.9,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.850","brew_time":"178.6","actual_weight":700.8,"old_weight":700.9,"actual_smoothed_weight":700.9,"old_smoothed_weight":700.9},{"timestamp":"10:16:56.987","brew_time":"178.7","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.9},{"timestamp":"10:16:57.139","brew_time":"178.8","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.204","brew_time":"178.9","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.388","brew_time":"179.1","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.454","brew_time":"179.2","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.516","brew_time":"179.3","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.588","brew_time":"179.4","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.701","brew_time":"179.5","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.817","brew_time":"179.6","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:57.887","brew_time":"179.7","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.003","brew_time":"179.8","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.180","brew_time":"179.9","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.281","brew_time":"180.1","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.381","brew_time":"180.2","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.437","brew_time":"180.3","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.544","brew_time":"180.4","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.638","brew_time":"180.5","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.722","brew_time":"180.6","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.904","brew_time":"180.7","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:58.972","brew_time":"180.8","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.058","brew_time":"180.9","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.170","brew_time":"180.10","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.259","brew_time":"181.1","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.356","brew_time":"181.2","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.465","brew_time":"181.3","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.563","brew_time":"181.4","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.722","brew_time":"181.5","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.787","brew_time":"181.6","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.850","brew_time":"181.7","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:16:59.988","brew_time":"181.8","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.093","brew_time":"181.9","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.158","brew_time":"181.10","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.368","brew_time":"182.1","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.423","brew_time":"182.2","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.484","brew_time":"182.3","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.579","brew_time":"182.4","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.742","brew_time":"182.5","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.806","brew_time":"182.6","actual_weight":700.8,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:00.889","brew_time":"182.7","actual_weight":700.7,"old_weight":700.8,"actual_smoothed_weight":700.8,"old_smoothed_weight":700.8},{"timestamp":"10:17:01.006","brew_time":"182.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.8},{"timestamp":"10:17:01.090","brew_time":"182.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.192","brew_time":"182.10","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.312","brew_time":"183.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.413","brew_time":"183.2","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.517","brew_time":"183.3","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.647","brew_time":"183.4","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.720","brew_time":"183.5","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.835","brew_time":"183.6","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:01.946","brew_time":"183.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.010","brew_time":"183.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.125","brew_time":"183.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.242","brew_time":"183.10","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.372","brew_time":"184.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.462","brew_time":"184.2","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.626","brew_time":"184.3","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.671","brew_time":"184.4","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.735","brew_time":"184.5","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.854","brew_time":"184.6","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:02.969","brew_time":"184.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.074","brew_time":"184.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.137","brew_time":"184.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.338","brew_time":"184.10","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.403","brew_time":"185.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.507","brew_time":"185.2","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.605","brew_time":"185.3","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.666","brew_time":"185.4","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:03.773","brew_time":"185.5","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.066","brew_time":"185.6","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.091","brew_time":"185.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.138","brew_time":"185.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.208","brew_time":"185.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.305","brew_time":"186.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.383","brew_time":"186.2","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.516","brew_time":"186.3","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.660","brew_time":"186.4","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.723","brew_time":"186.5","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.839","brew_time":"186.6","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:04.946","brew_time":"186.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.018","brew_time":"186.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.124","brew_time":"186.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.247","brew_time":"186.10","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.329","brew_time":"187.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.542","brew_time":"187.2","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.571","brew_time":"187.3","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.657","brew_time":"187.4","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.735","brew_time":"187.5","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.865","brew_time":"187.6","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:05.956","brew_time":"187.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.022","brew_time":"187.8","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.213","brew_time":"187.9","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.294","brew_time":"188.1","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.365","brew_time":"188.2","actual_weight":700.6,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.450","brew_time":"188.3","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.7},{"timestamp":"10:17:06.586","brew_time":"188.4","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:06.665","brew_time":"188.5","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:06.775","brew_time":"188.6","actual_weight":700.7,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:06.967","brew_time":"188.7","actual_weight":700.7,"old_weight":700.7,"actual_smoothed_weight":700.7,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.036","brew_time":"188.8","actual_weight":700.6,"old_weight":700.7,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.7},{"timestamp":"10:17:07.109","brew_time":"188.9","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.186","brew_time":"188.10","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.292","brew_time":"189.1","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.373","brew_time":"189.2","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.536","brew_time":"189.3","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6},{"timestamp":"10:17:07.600","brew_time":"189.4","actual_weight":700.6,"old_weight":700.6,"actual_smoothed_weight":700.6,"old_smoothed_weight":700.6}],"waterFlow":[{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"0","timestamp":"10:13:59.169","value":0},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"1","timestamp":"10:14:00.168","value":7.7},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"2","timestamp":"10:14:01.228","value":11.8},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"3","timestamp":"10:14:02.277","value":14.200000000000003},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"4","timestamp":"10:14:03.200","value":12.44444444444444},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"5","timestamp":"10:14:04.152","value":5.666666666666669},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"6","timestamp":"10:14:05.186","value":2},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"7","timestamp":"10:14:06.172","value":4.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"8","timestamp":"10:14:07.181","value":10.299999999999997},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"9","timestamp":"10:14:08.272","value":8.900000000000006},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"10","timestamp":"10:14:09.178","value":9.66666666666667},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"11","timestamp":"10:14:10.271","value":8.5},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"12","timestamp":"10:14:11.238","value":8.099999999999994},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"13","timestamp":"10:14:12.171","value":12.777777777777777},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"14","timestamp":"10:14:13.220","value":10.600000000000009},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"15","timestamp":"10:14:14.237","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"16","timestamp":"10:14:15.177","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"17","timestamp":"10:14:16.198","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"18","timestamp":"10:14:17.237","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"19","timestamp":"10:14:18.184","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"20","timestamp":"10:14:19.224","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"21","timestamp":"10:14:20.177","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"22","timestamp":"10:14:21.175","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"23","timestamp":"10:14:22.190","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"24","timestamp":"10:14:23.195","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"25","timestamp":"10:14:24.220","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"26","timestamp":"10:14:25.294","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"27","timestamp":"10:14:26.158","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"28","timestamp":"10:14:27.201","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"29","timestamp":"10:14:28.259","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"30","timestamp":"10:14:29.346","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"31","timestamp":"10:14:30.206","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"32","timestamp":"10:14:31.258","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"33","timestamp":"10:14:32.189","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"34","timestamp":"10:14:33.278","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"35","timestamp":"10:14:34.254","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"36","timestamp":"10:14:35.240","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"37","timestamp":"10:14:36.259","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"38","timestamp":"10:14:37.233","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"39","timestamp":"10:14:38.269","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"40","timestamp":"10:14:39.215","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"41","timestamp":"10:14:40.189","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"42","timestamp":"10:14:41.288","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"43","timestamp":"10:14:42.166","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"44","timestamp":"10:14:43.221","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"45","timestamp":"10:14:44.272","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"46","timestamp":"10:14:45.168","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"47","timestamp":"10:14:46.195","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"48","timestamp":"10:14:47.235","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"49","timestamp":"10:14:48.248","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"50","timestamp":"10:14:49.162","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"51","timestamp":"10:14:50.247","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"52","timestamp":"10:14:51.215","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"53","timestamp":"10:14:52.234","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"54","timestamp":"10:14:53.318","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"55","timestamp":"10:14:54.175","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"56","timestamp":"10:14:55.184","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"57","timestamp":"10:14:56.199","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"58","timestamp":"10:14:57.204","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"59","timestamp":"10:14:58.183","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"60","timestamp":"10:14:59.270","value":0},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"61","timestamp":"10:15:00.368","value":5.200000000000017},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"62","timestamp":"10:15:01.222","value":8.555555555555543},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"63","timestamp":"10:15:02.214","value":9.800000000000011},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"64","timestamp":"10:15:03.209","value":12.5},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"65","timestamp":"10:15:04.342","value":10.399999999999977},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"66","timestamp":"10:15:05.205","value":7.888888888888914},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"67","timestamp":"10:15:06.248","value":6.599999999999994},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"68","timestamp":"10:15:07.210","value":5.88888888888887},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"69","timestamp":"10:15:08.200","value":4.600000000000023},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"70","timestamp":"10:15:09.249","value":7.5},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"71","timestamp":"10:15:10.372","value":9.399999999999977},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"72","timestamp":"10:15:11.196","value":10},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"73","timestamp":"10:15:12.329","value":8.100000000000023},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"74","timestamp":"10:15:13.173","value":6.666666666666666},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"75","timestamp":"10:15:14.247","value":4.899999999999977},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"76","timestamp":"10:15:15.212","value":5.800000000000011},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"77","timestamp":"10:15:16.260","value":7.5},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"78","timestamp":"10:15:17.195","value":6.7777777777778025},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"79","timestamp":"10:15:18.212","value":7.699999999999989},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"80","timestamp":"10:15:19.190","value":8.777777777777752},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"81","timestamp":"10:15:20.192","value":9.300000000000011},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"82","timestamp":"10:15:21.251","value":9.699999999999989},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"83","timestamp":"10:15:22.184","value":8.44444444444447},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"84","timestamp":"10:15:23.372","value":7.800000000000011},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"85","timestamp":"10:15:24.208","value":8.199999999999989},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"86","timestamp":"10:15:25.165","value":8.666666666666679},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"87","timestamp":"10:15:26.163","value":6.899999999999977},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"88","timestamp":"10:15:27.632","value":0},{"brew_time":"89","timestamp":"10:15:28.331","value":23.999999999999964},{"brew_time":"89","timestamp":"10:15:28.331","value":23.999999999999964},{"brew_time":"89","timestamp":"10:15:28.331","value":23.999999999999964},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"90","timestamp":"10:15:29.267","value":9.71428571428569},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"91","timestamp":"10:15:30.218","value":10.416666666666668},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"92","timestamp":"10:15:31.231","value":10.400000000000034},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"93","timestamp":"10:15:32.285","value":9.599999999999966},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"94","timestamp":"10:15:33.177","value":9.666666666666718},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"95","timestamp":"10:15:34.190","value":9.199999999999989},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"96","timestamp":"10:15:35.235","value":8.5},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"97","timestamp":"10:15:36.343","value":9.699999999999989},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"98","timestamp":"10:15:37.206","value":10},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"99","timestamp":"10:15:38.232","value":9.818181818181827},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"100","timestamp":"10:15:39.212","value":10.111111111111073},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"101","timestamp":"10:15:40.216","value":10.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"102","timestamp":"10:15:41.253","value":8.300000000000011},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"103","timestamp":"10:15:42.217","value":7.222222222222222},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"104","timestamp":"10:15:43.192","value":7.100000000000023},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"105","timestamp":"10:15:44.196","value":6.699999999999989},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"106","timestamp":"10:15:45.223","value":8.111111111111123},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"107","timestamp":"10:15:46.201","value":8.399999999999977},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"108","timestamp":"10:15:47.212","value":6.699999999999989},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"109","timestamp":"10:15:48.256","value":5.000000000000057},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"110","timestamp":"10:15:49.268","value":4.2999999999999545},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"111","timestamp":"10:15:50.279","value":5.222222222222273},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"112","timestamp":"10:15:51.220","value":5.899999999999977},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"113","timestamp":"10:15:52.267","value":6.2999999999999545},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"114","timestamp":"10:15:53.320","value":5.5},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"115","timestamp":"10:15:54.161","value":6.625000000000085},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"116","timestamp":"10:15:55.273","value":7.272727272727273},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"117","timestamp":"10:15:56.224","value":9.777777777777727},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"118","timestamp":"10:15:57.254","value":10.5},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"119","timestamp":"10:15:58.204","value":9.888888888888864},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"120","timestamp":"10:15:59.217","value":9.800000000000068},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"121","timestamp":"10:16:00.222","value":11.333333333333258},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"122","timestamp":"10:16:01.215","value":10.100000000000023},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"123","timestamp":"10:16:02.207","value":8.200000000000045},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"124","timestamp":"10:16:03.256","value":7.399999999999977},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"125","timestamp":"10:16:04.198","value":6.375000000000028},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"126","timestamp":"10:16:05.181","value":8.181818181818182},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"127","timestamp":"10:16:06.217","value":8.5},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"128","timestamp":"10:16:07.223","value":7},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"129","timestamp":"10:16:08.191","value":7.111111111111086},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"130","timestamp":"10:16:09.247","value":6.3333333333332575},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"131","timestamp":"10:16:10.226","value":4.3636363636364255},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"132","timestamp":"10:16:11.229","value":6.199999999999932},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"133","timestamp":"10:16:12.254","value":7.777777777777778},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"134","timestamp":"10:16:13.194","value":9},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"135","timestamp":"10:16:14.233","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"136","timestamp":"10:16:15.246","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"137","timestamp":"10:16:16.167","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"138","timestamp":"10:16:17.318","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"139","timestamp":"10:16:18.291","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"140","timestamp":"10:16:19.187","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"141","timestamp":"10:16:20.248","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"142","timestamp":"10:16:21.151","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"143","timestamp":"10:16:22.184","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"144","timestamp":"10:16:23.279","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"145","timestamp":"10:16:24.182","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"146","timestamp":"10:16:25.265","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"147","timestamp":"10:16:26.230","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"148","timestamp":"10:16:27.184","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"149","timestamp":"10:16:28.189","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"150","timestamp":"10:16:29.191","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"151","timestamp":"10:16:30.285","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"152","timestamp":"10:16:31.206","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"153","timestamp":"10:16:32.211","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"154","timestamp":"10:16:33.219","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"155","timestamp":"10:16:34.172","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"156","timestamp":"10:16:35.190","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"157","timestamp":"10:16:36.218","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"158","timestamp":"10:16:37.342","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"159","timestamp":"10:16:38.313","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"160","timestamp":"10:16:39.224","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"161","timestamp":"10:16:40.172","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"162","timestamp":"10:16:41.199","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"163","timestamp":"10:16:42.236","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"164","timestamp":"10:16:43.253","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"165","timestamp":"10:16:44.295","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"166","timestamp":"10:16:45.207","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"167","timestamp":"10:16:46.227","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"168","timestamp":"10:16:47.215","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"169","timestamp":"10:16:48.218","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"170","timestamp":"10:16:49.166","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"171","timestamp":"10:16:50.207","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"172","timestamp":"10:16:51.169","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"173","timestamp":"10:16:52.229","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"174","timestamp":"10:16:53.182","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"175","timestamp":"10:16:54.190","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"176","timestamp":"10:16:55.307","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"177","timestamp":"10:16:56.237","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"178","timestamp":"10:16:57.204","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"179","timestamp":"10:16:58.180","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"180","timestamp":"10:16:59.170","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"181","timestamp":"10:17:00.158","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"182","timestamp":"10:17:01.192","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"183","timestamp":"10:17:02.242","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"184","timestamp":"10:17:03.338","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"185","timestamp":"10:17:04.208","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"186","timestamp":"10:17:05.247","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"187","timestamp":"10:17:06.213","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0},{"brew_time":"188","timestamp":"10:17:07.186","value":0}],"realtimeFlow":[{"brew_time":"0.0","timestamp":"10:13:58.212","smoothed_weight":0,"flow_value":0},{"brew_time":"0.1","timestamp":"10:13:58.407","smoothed_weight":0,"flow_value":0},{"brew_time":"0.2","timestamp":"10:13:58.453","smoothed_weight":0,"flow_value":0},{"brew_time":"0.3","timestamp":"10:13:58.525","smoothed_weight":0,"flow_value":0},{"brew_time":"0.4","timestamp":"10:13:58.642","smoothed_weight":0,"flow_value":0},{"brew_time":"0.5","timestamp":"10:13:58.721","smoothed_weight":0,"flow_value":0},{"brew_time":"0.6","timestamp":"10:13:58.785","smoothed_weight":0,"flow_value":0},{"brew_time":"0.7","timestamp":"10:13:58.862","smoothed_weight":0,"flow_value":0},{"brew_time":"0.8","timestamp":"10:13:58.942","smoothed_weight":0,"flow_value":0},{"brew_time":"0.9","timestamp":"10:13:59.040","smoothed_weight":0,"flow_value":0},{"brew_time":"0.10","timestamp":"10:13:59.193","smoothed_weight":0,"flow_value":0},{"brew_time":"1.1","timestamp":"10:13:59.257","smoothed_weight":0,"flow_value":0},{"brew_time":"1.2","timestamp":"10:13:59.417","smoothed_weight":0,"flow_value":0},{"brew_time":"1.3","timestamp":"10:13:59.548","smoothed_weight":0,"flow_value":0},{"brew_time":"1.4","timestamp":"10:13:59.632","smoothed_weight":0.08000000000000002,"flow_value":0.8000000000000002},{"brew_time":"1.5","timestamp":"10:13:59.704","smoothed_weight":0.25200000000000006,"flow_value":1.7200000000000004},{"brew_time":"1.6","timestamp":"10:13:59.803","smoothed_weight":0.5068,"flow_value":2.5479999999999996},{"brew_time":"1.7","timestamp":"10:13:59.871","smoothed_weight":0.86612,"flow_value":3.5931999999999995},{"brew_time":"1.8","timestamp":"10:13:59.984","smoothed_weight":1.379508,"flow_value":5.1338799999999996},{"brew_time":"1.9","timestamp":"10:14:00.097","smoothed_weight":2.0115572,"flow_value":6.320492},{"brew_time":"1.10","timestamp":"10:14:00.194","smoothed_weight":2.72040148,"flow_value":7.088442800000001},{"brew_time":"2.1","timestamp":"10:14:00.292","smoothed_weight":3.448361332,"flow_value":7.279598520000001},{"brew_time":"2.2","timestamp":"10:14:00.410","smoothed_weight":4.193525198800001,"flow_value":7.451638668000005},{"brew_time":"2.3","timestamp":"10:14:00.559","smoothed_weight":4.994172678920001,"flow_value":8.006474801200003},{"brew_time":"2.4","timestamp":"10:14:00.616","smoothed_weight":5.894755411028001,"flow_value":9.00582732108},{"brew_time":"2.5","timestamp":"10:14:00.820","smoothed_weight":6.865279869925201,"flow_value":9.705244588972004},{"brew_time":"2.6","timestamp":"10:14:00.881","smoothed_weight":7.868751882932681,"flow_value":10.034720130074799},{"brew_time":"2.7","timestamp":"10:14:00.934","smoothed_weight":8.861876694639413,"flow_value":9.93124811706732},{"brew_time":"2.8","timestamp":"10:14:01.031","smoothed_weight":9.815689025175473,"flow_value":9.5381233053606},{"brew_time":"2.9","timestamp":"10:14:01.109","smoothed_weight":10.784120122657928,"flow_value":9.684310974824548},{"brew_time":"2.10","timestamp":"10:14:01.249","smoothed_weight":11.815708110392137,"flow_value":10.315879877342091},{"brew_time":"3.1","timestamp":"10:14:01.356","smoothed_weight":12.934137299352924,"flow_value":11.184291889607874},{"brew_time":"3.2","timestamp":"10:14:01.430","smoothed_weight":14.110723569417633,"flow_value":11.765862700647087},{"brew_time":"3.3","timestamp":"10:14:01.645","smoothed_weight":15.259651212475871,"flow_value":11.489276430582382},{"brew_time":"3.4","timestamp":"10:14:01.717","smoothed_weight":16.353686091228283,"flow_value":10.940348787524119},{"brew_time":"3.5","timestamp":"10:14:01.799","smoothed_weight":17.428317482105456,"flow_value":10.746313908771725},{"brew_time":"3.6","timestamp":"10:14:01.875","smoothed_weight":18.57548573389491,"flow_value":11.471682517894557},{"brew_time":"3.7","timestamp":"10:14:01.954","smoothed_weight":19.82793716050542,"flow_value":12.524514266105093},{"brew_time":"3.8","timestamp":"10:14:02.049","smoothed_weight":21.11514344445488,"flow_value":12.872062839494589},{"brew_time":"3.9","timestamp":"10:14:02.116","smoothed_weight":22.373629100009392,"flow_value":12.584856555545123},{"brew_time":"3.10","timestamp":"10:14:02.296","smoothed_weight":23.586266190008452,"flow_value":12.126370899990597},{"brew_time":"4.1","timestamp":"10:14:02.375","smoothed_weight":24.767639571007606,"flow_value":11.813733809991547},{"brew_time":"4.2","timestamp":"10:14:02.454","smoothed_weight":25.980875613906846,"flow_value":12.1323604289924},{"brew_time":"4.3","timestamp":"10:14:02.568","smoothed_weight":27.26278805251616,"flow_value":12.819124386093144},{"brew_time":"4.4","timestamp":"10:14:02.695","smoothed_weight":28.606509247264544,"flow_value":13.437211947483831},{"brew_time":"4.5","timestamp":"10:14:02.775","smoothed_weight":29.96585832253809,"flow_value":13.593490752735455},{"brew_time":"4.6","timestamp":"10:14:02.956","smoothed_weight":31.269272490284283,"flow_value":13.034141677461939},{"brew_time":"4.7","timestamp":"10:14:03.054","smoothed_weight":32.532345241255854,"flow_value":12.630727509715705},{"brew_time":"4.8","timestamp":"10:14:03.130","smoothed_weight":33.76911071713027,"flow_value":12.367654758744138},{"brew_time":"4.9","timestamp":"10:14:03.221","smoothed_weight":35.01219964541724,"flow_value":12.430889282869728},{"brew_time":"5.1","timestamp":"10:14:03.352","smoothed_weight":36.26097968087552,"flow_value":12.487800354582816},{"brew_time":"5.2","timestamp":"10:14:03.419","smoothed_weight":37.474881712787976,"flow_value":12.13902031912454},{"brew_time":"5.3","timestamp":"10:14:03.480","smoothed_weight":38.62739354150918,"flow_value":11.525118287212024},{"brew_time":"5.4","timestamp":"10:14:03.650","smoothed_weight":39.70465418735826,"flow_value":10.772606458490799},{"brew_time":"5.5","timestamp":"10:14:03.702","smoothed_weight":40.714188768622435,"flow_value":10.095345812641767},{"brew_time":"5.6","timestamp":"10:14:03.800","smoothed_weight":41.6327698917602,"flow_value":9.185811231377627},{"brew_time":"5.7","timestamp":"10:14:03.874","smoothed_weight":42.45949290258418,"flow_value":8.26723010823983},{"brew_time":"5.8","timestamp":"10:14:03.999","smoothed_weight":43.213543612325765,"flow_value":7.540507097415841},{"brew_time":"5.9","timestamp":"10:14:04.172","smoothed_weight":43.89218925109319,"flow_value":6.786456387674278},{"brew_time":"6.1","timestamp":"10:14:04.252","smoothed_weight":44.51297032598387,"flow_value":6.207810748906795},{"brew_time":"6.2","timestamp":"10:14:04.378","smoothed_weight":45.07167329338549,"flow_value":5.587029674016151},{"brew_time":"6.3","timestamp":"10:14:04.440","smoothed_weight":45.574505964046935,"flow_value":5.028326706614479},{"brew_time":"6.4","timestamp":"10:14:04.552","smoothed_weight":46.05705536764224,"flow_value":4.825494035953071},{"brew_time":"6.5","timestamp":"10:14:04.643","smoothed_weight":46.51134983087802,"flow_value":4.542944632357759},{"brew_time":"6.6","timestamp":"10:14:04.756","smoothed_weight":46.95021484779022,"flow_value":4.38865016912203},{"brew_time":"6.7","timestamp":"10:14:04.826","smoothed_weight":47.3951933630112,"flow_value":4.449785152209813},{"brew_time":"6.8","timestamp":"10:14:04.931","smoothed_weight":47.815674026710084,"flow_value":4.20480663698882},{"brew_time":"6.9","timestamp":"10:14:05.123","smoothed_weight":48.23410662403908,"flow_value":4.184325973289944},{"brew_time":"6.10","timestamp":"10:14:05.207","smoothed_weight":48.65069596163517,"flow_value":4.165893375960934},{"brew_time":"7.1","timestamp":"10:14:05.296","smoothed_weight":49.075626365471656,"flow_value":4.249304038364841},{"brew_time":"7.2","timestamp":"10:14:05.378","smoothed_weight":49.5080637289245,"flow_value":4.324373634528413},{"brew_time":"7.3","timestamp":"10:14:05.467","smoothed_weight":49.94725735603205,"flow_value":4.391936271075494},{"brew_time":"7.4","timestamp":"10:14:05.570","smoothed_weight":50.372531620428845,"flow_value":4.252742643967977},{"brew_time":"7.5","timestamp":"10:14:05.656","smoothed_weight":50.80527845838596,"flow_value":4.327468379571187},{"brew_time":"7.6","timestamp":"10:14:05.759","smoothed_weight":51.24475061254737,"flow_value":4.394721541614075},{"brew_time":"7.7","timestamp":"10:14:05.839","smoothed_weight":51.68027555129264,"flow_value":4.355249387452673},{"brew_time":"7.8","timestamp":"10:14:05.988","smoothed_weight":52.10224799616337,"flow_value":4.219724448707325},{"brew_time":"7.9","timestamp":"10:14:06.054","smoothed_weight":52.52202319654704,"flow_value":4.197752003836683},{"brew_time":"7.10","timestamp":"10:14:06.189","smoothed_weight":52.95982087689234,"flow_value":4.377976803452981},{"brew_time":"8.1","timestamp":"10:14:06.280","smoothed_weight":53.43383878920311,"flow_value":4.740179123107708},{"brew_time":"8.2","timestamp":"10:14:06.394","smoothed_weight":53.970454910282804,"flow_value":5.36616121079696},{"brew_time":"8.3","timestamp":"10:14:06.500","smoothed_weight":54.58340941925452,"flow_value":6.129545089717183},{"brew_time":"8.4","timestamp":"10:14:06.659","smoothed_weight":55.24506847732907,"flow_value":6.616590580745481},{"brew_time":"8.5","timestamp":"10:14:06.768","smoothed_weight":55.93056162959616,"flow_value":6.854931522670924},{"brew_time":"8.6","timestamp":"10:14:06.815","smoothed_weight":56.61750546663655,"flow_value":6.869438370403884},{"brew_time":"8.7","timestamp":"10:14:06.886","smoothed_weight":57.3357549199729,"flow_value":7.1824945333634815},{"brew_time":"8.8","timestamp":"10:14:06.993","smoothed_weight":58.12217942797562,"flow_value":7.864245080027175},{"brew_time":"8.9","timestamp":"10:14:07.103","smoothed_weight":58.96996148517806,"flow_value":8.477820572024442},{"brew_time":"8.10","timestamp":"10:14:07.204","smoothed_weight":59.87296533666026,"flow_value":9.030038514821968},{"brew_time":"9.1","timestamp":"10:14:07.404","smoothed_weight":60.81566880299423,"flow_value":9.42703466333974},{"brew_time":"9.2","timestamp":"10:14:07.475","smoothed_weight":61.74410192269481,"flow_value":9.284331197005784},{"brew_time":"9.3","timestamp":"10:14:07.549","smoothed_weight":62.64969173042533,"flow_value":9.055898077305216},{"brew_time":"9.4","timestamp":"10:14:07.681","smoothed_weight":63.514722557382804,"flow_value":8.650308269574722},{"brew_time":"9.5","timestamp":"10:14:07.729","smoothed_weight":64.39325030164453,"flow_value":8.785277442617243},{"brew_time":"9.6","timestamp":"10:14:07.862","smoothed_weight":65.26392527148008,"flow_value":8.70674969835548},{"brew_time":"9.7","timestamp":"10:14:07.930","smoothed_weight":66.15753274433207,"flow_value":8.93607472851997},{"brew_time":"9.8","timestamp":"10:14:08.083","smoothed_weight":67.04177946989887,"flow_value":8.84246725566797},{"brew_time":"9.9","timestamp":"10:14:08.157","smoothed_weight":67.88760152290898,"flow_value":8.458220530101102},{"brew_time":"9.10","timestamp":"10:14:08.289","smoothed_weight":68.74884137061808,"flow_value":8.612398477091006},{"brew_time":"10.1","timestamp":"10:14:08.391","smoothed_weight":69.60395723355627,"flow_value":8.551158629381916},{"brew_time":"10.2","timestamp":"10:14:08.451","smoothed_weight":70.44356151020065,"flow_value":8.396042766443799},{"brew_time":"10.3","timestamp":"10:14:08.582","smoothed_weight":71.3092053591806,"flow_value":8.656438489799427},{"brew_time":"10.4","timestamp":"10:14:08.646","smoothed_weight":72.19828482326254,"flow_value":8.89079464081945},{"brew_time":"10.5","timestamp":"10:14:08.837","smoothed_weight":73.1284563409363,"flow_value":9.30171517673756},{"brew_time":"10.6","timestamp":"10:14:08.910","smoothed_weight":74.07561070684267,"flow_value":9.471543659063713},{"brew_time":"10.7","timestamp":"10:14:08.985","smoothed_weight":75.0180496361584,"flow_value":9.424389293157276},{"brew_time":"10.8","timestamp":"10:14:09.060","smoothed_weight":75.93624467254256,"flow_value":9.181950363841622},{"brew_time":"10.9","timestamp":"10:14:09.198","smoothed_weight":76.8226202052883,"flow_value":8.863755327457454},{"brew_time":"11.1","timestamp":"10:14:09.295","smoothed_weight":77.68035818475948,"flow_value":8.577379794711817},{"brew_time":"11.2","timestamp":"10:14:09.362","smoothed_weight":78.55232236628353,"flow_value":8.719641815240493},{"brew_time":"11.3","timestamp":"10:14:09.552","smoothed_weight":79.44709012965518,"flow_value":8.947677633716467},{"brew_time":"11.4","timestamp":"10:14:09.609","smoothed_weight":80.38238111668966,"flow_value":9.352909870344774},{"brew_time":"11.5","timestamp":"10:14:09.673","smoothed_weight":81.3441430050207,"flow_value":9.6176188833104},{"brew_time":"11.6","timestamp":"10:14:09.772","smoothed_weight":82.31972870451862,"flow_value":9.755856994979268},{"brew_time":"11.7","timestamp":"10:14:09.886","smoothed_weight":83.27775583406677,"flow_value":9.580271295481424},{"brew_time":"11.8","timestamp":"10:14:10.003","smoothed_weight":84.1799802506601,"flow_value":9.022244165933273},{"brew_time":"11.9","timestamp":"10:14:10.069","smoothed_weight":85.03198222559408,"flow_value":8.520019749339838},{"brew_time":"11.10","timestamp":"10:14:10.332","smoothed_weight":85.84878400303467,"flow_value":8.168017774405882},{"brew_time":"12.1","timestamp":"10:14:10.408","smoothed_weight":86.6439056027312,"flow_value":7.9512159969652885},{"brew_time":"12.2","timestamp":"10:14:10.484","smoothed_weight":87.45951504245808,"flow_value":8.156094397268845},{"brew_time":"12.3","timestamp":"10:14:10.587","smoothed_weight":88.32356353821227,"flow_value":8.6404849575419},{"brew_time":"12.4","timestamp":"10:14:10.646","smoothed_weight":89.23120718439105,"flow_value":9.076436461787836},{"brew_time":"12.5","timestamp":"10:14:10.710","smoothed_weight":90.13808646595194,"flow_value":9.068792815608901},{"brew_time":"12.6","timestamp":"10:14:10.835","smoothed_weight":91.00427781935674,"flow_value":8.661913534048011},{"brew_time":"12.7","timestamp":"10:14:10.945","smoothed_weight":91.83385003742106,"flow_value":8.29572218064314},{"brew_time":"12.8","timestamp":"10:14:11.054","smoothed_weight":92.63046503367896,"flow_value":7.96614996257901},{"brew_time":"12.9","timestamp":"10:14:11.132","smoothed_weight":93.44741853031107,"flow_value":8.169534966321095},{"brew_time":"12.10","timestamp":"10:14:11.262","smoothed_weight":94.32267667727996,"flow_value":8.752581469688892},{"brew_time":"13.1","timestamp":"10:14:11.339","smoothed_weight":95.30040900955196,"flow_value":9.77732332271998},{"brew_time":"13.2","timestamp":"10:14:11.424","smoothed_weight":96.32036810859675,"flow_value":10.199590990447973},{"brew_time":"13.3","timestamp":"10:14:11.544","smoothed_weight":97.34833129773708,"flow_value":10.279631891403227},{"brew_time":"13.4","timestamp":"10:14:11.724","smoothed_weight":98.32349816796338,"flow_value":9.751668702263032},{"brew_time":"13.5","timestamp":"10:14:11.780","smoothed_weight":99.27114835116704,"flow_value":9.476501832036632},{"brew_time":"13.6","timestamp":"10:14:11.900","smoothed_weight":100.21403351605035,"flow_value":9.428851648833074},{"brew_time":"13.7","timestamp":"10:14:11.958","smoothed_weight":101.22263016444532,"flow_value":10.085966483949704},{"brew_time":"13.8","timestamp":"10:14:12.019","smoothed_weight":102.33036714800079,"flow_value":11.077369835554691},{"brew_time":"13.9","timestamp":"10:14:12.191","smoothed_weight":103.48733043320071,"flow_value":11.569632851999216},{"brew_time":"14.1","timestamp":"10:14:12.272","smoothed_weight":104.63859738988064,"flow_value":11.512669566799332},{"brew_time":"14.2","timestamp":"10:14:12.375","smoothed_weight":105.73473765089258,"flow_value":10.961402610119393},{"brew_time":"14.3","timestamp":"10:14:12.503","smoothed_weight":106.79126388580332,"flow_value":10.565262349107343},{"brew_time":"14.4","timestamp":"10:14:12.710","smoothed_weight":107.84213749722299,"flow_value":10.50873611419675},{"brew_time":"14.5","timestamp":"10:14:12.764","smoothed_weight":108.9579237475007,"flow_value":11.157862502777078},{"brew_time":"14.6","timestamp":"10:14:12.809","smoothed_weight":110.13213137275062,"flow_value":11.742076252499203},{"brew_time":"14.7","timestamp":"10:14:12.891","smoothed_weight":111.28891823547556,"flow_value":11.567868627249425},{"brew_time":"14.8","timestamp":"10:14:12.984","smoothed_weight":112.40002641192802,"flow_value":11.111081764524613},{"brew_time":"14.9","timestamp":"10:14:13.082","smoothed_weight":113.45002377073523,"flow_value":10.499973588072038},{"brew_time":"14.10","timestamp":"10:14:13.237","smoothed_weight":114.4850213936617,"flow_value":10.349976229264684},{"brew_time":"15.1","timestamp":"10:14:13.322","smoothed_weight":115.52651925429552,"flow_value":10.414978606338252},{"brew_time":"15.2","timestamp":"10:14:13.387","smoothed_weight":116.51386732886598,"flow_value":9.873480745704626},{"brew_time":"15.3","timestamp":"10:14:13.566","smoothed_weight":117.4024805959794,"flow_value":8.886132671134135},{"brew_time":"15.4","timestamp":"10:14:13.636","smoothed_weight":118.18223253638146,"flow_value":7.7975194040206475},{"brew_time":"15.5","timestamp":"10:14:13.746","smoothed_weight":118.88400928274332,"flow_value":7.017767463618583},{"brew_time":"15.6","timestamp":"10:14:13.896","smoothed_weight":119.51560835446898,"flow_value":6.3159907172565966},{"brew_time":"15.7","timestamp":"10:14:13.949","smoothed_weight":120.08404751902208,"flow_value":5.6843916455309795},{"brew_time":"15.8","timestamp":"10:14:14.049","smoothed_weight":120.59564276711987,"flow_value":5.11595248097791},{"brew_time":"15.9","timestamp":"10:14:14.152","smoothed_weight":121.05607849040788,"flow_value":4.604357232880147},{"brew_time":"15.10","timestamp":"10:14:14.253","smoothed_weight":121.4804706413671,"flow_value":4.243921509592212},{"brew_time":"16.1","timestamp":"10:14:14.319","smoothed_weight":121.8624235772304,"flow_value":3.8195293586329626},{"brew_time":"16.2","timestamp":"10:14:14.467","smoothed_weight":122.19618121950737,"flow_value":3.3375764227696436},{"brew_time":"16.3","timestamp":"10:14:14.565","smoothed_weight":122.49656309755663,"flow_value":3.003818780492651},{"brew_time":"16.4","timestamp":"10:14:14.733","smoothed_weight":122.76690678780096,"flow_value":2.7034369024433147},{"brew_time":"16.5","timestamp":"10:14:14.774","smoothed_weight":123.01021610902086,"flow_value":2.433093212198969},{"brew_time":"16.6","timestamp":"10:14:14.834","smoothed_weight":123.22919449811877,"flow_value":2.189783890979129},{"brew_time":"16.7","timestamp":"10:14:14.956","smoothed_weight":123.42627504830689,"flow_value":1.9708055018811876},{"brew_time":"16.8","timestamp":"10:14:15.102","smoothed_weight":123.6036475434762,"flow_value":1.773724951693083},{"brew_time":"16.9","timestamp":"10:14:15.194","smoothed_weight":123.76328278912858,"flow_value":1.5963524565238174},{"brew_time":"17.1","timestamp":"10:14:15.250","smoothed_weight":123.90695451021573,"flow_value":1.4367172108714499},{"brew_time":"17.2","timestamp":"10:14:15.361","smoothed_weight":124.01625905919416,"flow_value":1.0930454897842878},{"brew_time":"17.3","timestamp":"10:14:15.512","smoothed_weight":124.13463315327473,"flow_value":1.1837409408057908},{"brew_time":"17.4","timestamp":"10:14:15.580","smoothed_weight":124.24116983794725,"flow_value":1.0653668467251975},{"brew_time":"17.5","timestamp":"10:14:15.656","smoothed_weight":124.33705285415253,"flow_value":0.9588301620527773},{"brew_time":"17.6","timestamp":"10:14:15.784","smoothed_weight":124.41334756873728,"flow_value":0.7629471458474768},{"brew_time":"17.7","timestamp":"10:14:15.890","smoothed_weight":124.48201281186356,"flow_value":0.6866524312627575},{"brew_time":"17.8","timestamp":"10:14:15.960","smoothed_weight":124.5438115306772,"flow_value":0.6179871881364818},{"brew_time":"17.9","timestamp":"10:14:16.147","smoothed_weight":124.5994303776095,"flow_value":0.5561884693229047},{"brew_time":"17.10","timestamp":"10:14:16.215","smoothed_weight":124.64948733984855,"flow_value":0.5005696223905431},{"brew_time":"18.1","timestamp":"10:14:16.272","smoothed_weight":124.6945386058637,"flow_value":0.45051266015150304},{"brew_time":"18.2","timestamp":"10:14:16.407","smoothed_weight":124.73508474527733,"flow_value":0.40546139413635274},{"brew_time":"18.3","timestamp":"10:14:16.510","smoothed_weight":124.7715762707496,"flow_value":0.36491525472271746},{"brew_time":"18.4","timestamp":"10:14:16.605","smoothed_weight":124.80441864367465,"flow_value":0.32842372925045993},{"brew_time":"18.5","timestamp":"10:14:16.753","smoothed_weight":124.83397677930719,"flow_value":0.29558135632541394},{"brew_time":"18.6","timestamp":"10:14:16.815","smoothed_weight":124.86057910137649,"flow_value":0.2660232206929436},{"brew_time":"18.7","timestamp":"10:14:16.902","smoothed_weight":124.88452119123885,"flow_value":0.2394208986235924},{"brew_time":"18.8","timestamp":"10:14:17.018","smoothed_weight":124.90606907211497,"flow_value":0.2154788087612758},{"brew_time":"18.9","timestamp":"10:14:17.128","smoothed_weight":124.92546216490348,"flow_value":0.19393092788504873},{"brew_time":"18.10","timestamp":"10:14:17.292","smoothed_weight":124.94291594841314,"flow_value":0.17453783509665755},{"brew_time":"19.1","timestamp":"10:14:17.359","smoothed_weight":124.95862435357184,"flow_value":0.15708405158690653},{"brew_time":"19.2","timestamp":"10:14:17.524","smoothed_weight":124.97276191821466,"flow_value":0.14137564642823008},{"brew_time":"19.3","timestamp":"10:14:17.554","smoothed_weight":124.9854857263932,"flow_value":0.12723808178535023},{"brew_time":"19.4","timestamp":"10:14:17.609","smoothed_weight":124.99693715375388,"flow_value":0.11451427360682942},{"brew_time":"19.5","timestamp":"10:14:17.761","smoothed_weight":125.0072434383785,"flow_value":0.10306284624618911},{"brew_time":"19.6","timestamp":"10:14:17.833","smoothed_weight":125.01651909454066,"flow_value":0.09275656162159862},{"brew_time":"19.7","timestamp":"10:14:17.942","smoothed_weight":125.02486718508659,"flow_value":0.0834809054593677},{"brew_time":"19.8","timestamp":"10:14:18.063","smoothed_weight":125.03238046657793,"flow_value":0.07513281491341672},{"brew_time":"19.9","timestamp":"10:14:18.206","smoothed_weight":125.03914241992015,"flow_value":0.06761953342220295},{"brew_time":"20.1","timestamp":"10:14:18.272","smoothed_weight":125.04522817792815,"flow_value":0.060857580079982654},{"brew_time":"20.2","timestamp":"10:14:18.375","smoothed_weight":125.05070536013534,"flow_value":0.0547718220718707},{"brew_time":"20.3","timestamp":"10:14:18.507","smoothed_weight":125.05563482412181,"flow_value":0.04929463986471205},{"brew_time":"20.4","timestamp":"10:14:18.584","smoothed_weight":125.05007134170963,"flow_value":-0.055634824121852944},{"brew_time":"20.5","timestamp":"10:14:18.659","smoothed_weight":125.04506420753866,"flow_value":-0.05007134170966765},{"brew_time":"20.6","timestamp":"10:14:18.769","smoothed_weight":125.04055778678479,"flow_value":-0.045064207538700884},{"brew_time":"20.7","timestamp":"10:14:18.876","smoothed_weight":125.03650200810631,"flow_value":-0.04055778678477395},{"brew_time":"20.8","timestamp":"10:14:18.959","smoothed_weight":125.04285180729569,"flow_value":0.06349799189379723},{"brew_time":"20.9","timestamp":"10:14:19.080","smoothed_weight":125.03856662656612,"flow_value":-0.04285180729567628},{"brew_time":"20.10","timestamp":"10:14:19.240","smoothed_weight":125.0347099639095,"flow_value":-0.038566626566165496},{"brew_time":"21.1","timestamp":"10:14:19.301","smoothed_weight":125.03123896751856,"flow_value":-0.03470996390944947},{"brew_time":"21.2","timestamp":"10:14:19.410","smoothed_weight":125.0281150707667,"flow_value":-0.03123896751858979},{"brew_time":"21.3","timestamp":"10:14:19.518","smoothed_weight":125.02530356369003,"flow_value":-0.0281150707667166},{"brew_time":"21.4","timestamp":"10:14:19.573","smoothed_weight":125.02277320732102,"flow_value":-0.02530356369007336},{"brew_time":"21.5","timestamp":"10:14:19.746","smoothed_weight":125.02049588658892,"flow_value":-0.022773207321051814},{"brew_time":"21.6","timestamp":"10:14:19.822","smoothed_weight":125.01844629793003,"flow_value":-0.02049588658891821},{"brew_time":"21.7","timestamp":"10:14:19.897","smoothed_weight":125.01660166813703,"flow_value":-0.018446297929983757},{"brew_time":"21.8","timestamp":"10:14:20.010","smoothed_weight":125.01494150132332,"flow_value":-0.016601668137070646},{"brew_time":"21.9","timestamp":"10:14:20.197","smoothed_weight":125.01344735119099,"flow_value":-0.014941501323306738},{"brew_time":"22.1","timestamp":"10:14:20.262","smoothed_weight":125.0121026160719,"flow_value":-0.01344735119090501},{"brew_time":"22.2","timestamp":"10:14:20.337","smoothed_weight":125.01089235446472,"flow_value":-0.012102616071842931},{"brew_time":"22.3","timestamp":"10:14:20.517","smoothed_weight":125.00980311901824,"flow_value":-0.010892354464715481},{"brew_time":"22.4","timestamp":"10:14:20.564","smoothed_weight":125.00882280711642,"flow_value":-0.009803119018272355},{"brew_time":"22.5","timestamp":"10:14:20.626","smoothed_weight":125.00794052640478,"flow_value":-0.008822807116359854},{"brew_time":"22.6","timestamp":"10:14:20.769","smoothed_weight":125.00714647376431,"flow_value":-0.007940526404723869},{"brew_time":"22.7","timestamp":"10:14:20.835","smoothed_weight":124.99643182638789,"flow_value":-0.10714647376417474},{"brew_time":"22.8","timestamp":"10:14:20.914","smoothed_weight":125.0067886437491,"flow_value":0.10356817361213189},{"brew_time":"22.9","timestamp":"10:14:21.191","smoothed_weight":125.0161097793742,"flow_value":0.09321135625100396},{"brew_time":"23.1","timestamp":"10:14:21.254","smoothed_weight":125.02449880143679,"flow_value":0.08389022062587514},{"brew_time":"23.2","timestamp":"10:14:21.288","smoothed_weight":125.02204892129312,"flow_value":-0.024498801436720896},{"brew_time":"23.3","timestamp":"10:14:21.370","smoothed_weight":125.0198440291638,"flow_value":-0.02204892129313407},{"brew_time":"23.4","timestamp":"10:14:21.441","smoothed_weight":125.01785962624743,"flow_value":-0.019844029163778032},{"brew_time":"23.5","timestamp":"10:14:21.551","smoothed_weight":125.0260736636227,"flow_value":0.08214037375267935},{"brew_time":"23.6","timestamp":"10:14:21.713","smoothed_weight":125.02346629726043,"flow_value":-0.026073663622696586},{"brew_time":"23.7","timestamp":"10:14:21.779","smoothed_weight":125.02111966753439,"flow_value":-0.023466297260341662},{"brew_time":"23.8","timestamp":"10:14:21.860","smoothed_weight":125.02900770078097,"flow_value":0.07888033246572945},{"brew_time":"23.9","timestamp":"10:14:21.962","smoothed_weight":125.03610693070287,"flow_value":0.07099229921905703},{"brew_time":"23.10","timestamp":"10:14:22.075","smoothed_weight":125.0224962376326,"flow_value":-0.13610693070276625},{"brew_time":"23.11","timestamp":"10:14:22.207","smoothed_weight":125.01024661386933,"flow_value":-0.12249623763267437},{"brew_time":"24.1","timestamp":"10:14:22.285","smoothed_weight":125.0192219524824,"flow_value":0.08975338613069539},{"brew_time":"24.2","timestamp":"10:14:22.377","smoothed_weight":125.02729975723416,"flow_value":0.08077804751764006},{"brew_time":"24.3","timestamp":"10:14:22.510","smoothed_weight":125.02456978151075,"flow_value":-0.02729975723411826},{"brew_time":"24.4","timestamp":"10:14:22.580","smoothed_weight":125.02211280335968,"flow_value":-0.024569781510734856},{"brew_time":"24.5","timestamp":"10:14:22.724","smoothed_weight":125.0199015230237,"flow_value":-0.022112803359704003},{"brew_time":"24.6","timestamp":"10:14:22.796","smoothed_weight":125.01791137072134,"flow_value":-0.01990152302369097},{"brew_time":"24.7","timestamp":"10:14:22.905","smoothed_weight":125.02612023364921,"flow_value":0.08208862927872929},{"brew_time":"24.8","timestamp":"10:14:23.019","smoothed_weight":125.0335082102843,"flow_value":0.07387976635087057},{"brew_time":"24.9","timestamp":"10:14:23.082","smoothed_weight":125.03015738925586,"flow_value":-0.0335082102843387},{"brew_time":"24.10","timestamp":"10:14:23.213","smoothed_weight":125.02714165033028,"flow_value":-0.030157389255833777},{"brew_time":"25.1","timestamp":"10:14:23.386","smoothed_weight":125.02442748529725,"flow_value":-0.02714165033026461},{"brew_time":"25.2","timestamp":"10:14:23.443","smoothed_weight":125.02198473676754,"flow_value":-0.024427485297167095},{"brew_time":"25.3","timestamp":"10:14:23.521","smoothed_weight":125.01978626309078,"flow_value":-0.021984736767564073},{"brew_time":"25.4","timestamp":"10:14:23.666","smoothed_weight":125.0078076367817,"flow_value":-0.11978626309073093},{"brew_time":"25.5","timestamp":"10:14:23.729","smoothed_weight":125.00702687310354,"flow_value":-0.0078076367816493075},{"brew_time":"25.6","timestamp":"10:14:23.790","smoothed_weight":125.00632418579319,"flow_value":-0.0070268731035127985},{"brew_time":"25.7","timestamp":"10:14:23.907","smoothed_weight":124.99569176721388,"flow_value":-0.10632418579305636},{"brew_time":"25.8","timestamp":"10:14:24.105","smoothed_weight":125.00612259049251,"flow_value":0.10430823278625212},{"brew_time":"25.9","timestamp":"10:14:24.161","smoothed_weight":124.99551033144326,"flow_value":-0.10612259049253225},{"brew_time":"25.10","timestamp":"10:14:24.241","smoothed_weight":124.99595929829893,"flow_value":0.004489668556715287},{"brew_time":"26.1","timestamp":"10:14:24.401","smoothed_weight":124.99636336846903,"flow_value":0.004040701701057969},{"brew_time":"26.2","timestamp":"10:14:24.453","smoothed_weight":124.99672703162213,"flow_value":0.0036366315309521724},{"brew_time":"26.3","timestamp":"10:14:24.548","smoothed_weight":124.99705432845992,"flow_value":0.003272968377956431},{"brew_time":"26.4","timestamp":"10:14:24.658","smoothed_weight":124.99734889561394,"flow_value":0.002945671540146577},{"brew_time":"26.5","timestamp":"10:14:24.726","smoothed_weight":124.99761400605254,"flow_value":0.0026511043860466543},{"brew_time":"26.6","timestamp":"10:14:24.929","smoothed_weight":124.99785260544729,"flow_value":0.0023859939474846215},{"brew_time":"26.7","timestamp":"10:14:24.983","smoothed_weight":124.99806734490257,"flow_value":0.0021473945527361593},{"brew_time":"26.8","timestamp":"10:14:25.076","smoothed_weight":124.99826061041232,"flow_value":0.001932655097505176},{"brew_time":"26.9","timestamp":"10:14:25.149","smoothed_weight":124.99843454937108,"flow_value":0.0017393895876693932},{"brew_time":"26.10","timestamp":"10:14:25.312","smoothed_weight":124.99859109443398,"flow_value":0.0015654506289308756},{"brew_time":"27.1","timestamp":"10:14:25.379","smoothed_weight":124.99873198499058,"flow_value":0.0014089055660804206},{"brew_time":"27.2","timestamp":"10:14:25.449","smoothed_weight":124.99885878649152,"flow_value":0.0012680150094013243},{"brew_time":"27.3","timestamp":"10:14:25.562","smoothed_weight":124.99897290784237,"flow_value":0.0011412135084754027},{"brew_time":"27.4","timestamp":"10:14:25.681","smoothed_weight":124.98907561705815,"flow_value":-0.09897290784223856},{"brew_time":"27.5","timestamp":"10:14:25.799","smoothed_weight":124.99016805535234,"flow_value":0.010924382941936983},{"brew_time":"27.6","timestamp":"10:14:25.875","smoothed_weight":124.99115124981711,"flow_value":0.00983194464765802},{"brew_time":"27.7","timestamp":"10:14:26.003","smoothed_weight":124.9920361248354,"flow_value":0.008848750182863796},{"brew_time":"27.8","timestamp":"10:14:26.084","smoothed_weight":124.96283251235185,"flow_value":-0.29203612483541974},{"brew_time":"27.9","timestamp":"10:14:26.173","smoothed_weight":124.97654926111667,"flow_value":0.13716748764821318},{"brew_time":"28.1","timestamp":"10:14:26.355","smoothed_weight":124.95889433500501,"flow_value":-0.1765492611166053},{"brew_time":"28.2","timestamp":"10:14:26.421","smoothed_weight":124.95300490150453,"flow_value":-0.05889433500485097},{"brew_time":"28.3","timestamp":"10:14:26.531","smoothed_weight":124.95770441135407,"flow_value":0.0469950984954437},{"brew_time":"28.4","timestamp":"10:14:26.622","smoothed_weight":124.94193397021867,"flow_value":-0.15770441135401825},{"brew_time":"28.5","timestamp":"10:14:26.805","smoothed_weight":124.9377405731968,"flow_value":-0.04193397021865053},{"brew_time":"28.6","timestamp":"10:14:26.838","smoothed_weight":124.93396651587713,"flow_value":-0.037740573196742844},{"brew_time":"28.7","timestamp":"10:14:26.993","smoothed_weight":124.93056986428942,"flow_value":-0.03396651587706856},{"brew_time":"28.8","timestamp":"10:14:27.064","smoothed_weight":124.9275128778605,"flow_value":-0.03056986428930486},{"brew_time":"28.9","timestamp":"10:14:27.129","smoothed_weight":124.92476159007444,"flow_value":-0.027512877860544904},{"brew_time":"28.10","timestamp":"10:14:27.218","smoothed_weight":124.922285431067,"flow_value":-0.02476159007443357},{"brew_time":"29.1","timestamp":"10:14:27.324","smoothed_weight":124.9200568879603,"flow_value":-0.02228543106696179},{"brew_time":"29.2","timestamp":"10:14:27.442","smoothed_weight":124.91805119916427,"flow_value":-0.020056887960322456},{"brew_time":"29.3","timestamp":"10:14:27.539","smoothed_weight":124.91624607924786,"flow_value":-0.01805119916411968},{"brew_time":"29.4","timestamp":"10:14:27.708","smoothed_weight":124.91462147132307,"flow_value":-0.0162460792478214},{"brew_time":"29.5","timestamp":"10:14:27.744","smoothed_weight":124.91315932419076,"flow_value":-0.014621471323152946},{"brew_time":"29.6","timestamp":"10:14:27.846","smoothed_weight":124.9118433917717,"flow_value":-0.013159324190610278},{"brew_time":"29.7","timestamp":"10:14:27.960","smoothed_weight":124.91065905259453,"flow_value":-0.01184339177171978},{"brew_time":"29.8","timestamp":"10:14:28.040","smoothed_weight":124.90959314733507,"flow_value":-0.01065905259451938},{"brew_time":"29.9","timestamp":"10:14:28.149","smoothed_weight":124.90863383260157,"flow_value":-0.009593147335067442},{"brew_time":"29.10","timestamp":"10:14:28.281","smoothed_weight":124.90777044934143,"flow_value":-0.008633832601390168},{"brew_time":"30.1","timestamp":"10:14:28.380","smoothed_weight":124.9069934044073,"flow_value":-0.007770449341251151},{"brew_time":"30.2","timestamp":"10:14:28.450","smoothed_weight":124.89629406396658,"flow_value":-0.10699340440723404},{"brew_time":"30.3","timestamp":"10:14:28.643","smoothed_weight":124.89666465756991,"flow_value":0.0037059360333557834},{"brew_time":"30.4","timestamp":"10:14:28.689","smoothed_weight":124.89699819181294,"flow_value":0.0033353424302617896},{"brew_time":"30.5","timestamp":"10:14:28.744","smoothed_weight":124.89729837263164,"flow_value":0.0030018081869798152},{"brew_time":"30.6","timestamp":"10:14:28.856","smoothed_weight":124.89756853536849,"flow_value":0.002701627368537629},{"brew_time":"30.7","timestamp":"10:14:28.980","smoothed_weight":124.89781168183166,"flow_value":0.0024314646316270228},{"brew_time":"30.8","timestamp":"10:14:29.082","smoothed_weight":124.89803051364851,"flow_value":0.002188318168521164},{"brew_time":"30.9","timestamp":"10:14:29.168","smoothed_weight":124.89822746228367,"flow_value":0.001969486351640626},{"brew_time":"30.10","timestamp":"10:14:29.364","smoothed_weight":124.8984047160553,"flow_value":0.0017725377162491895},{"brew_time":"31.1","timestamp":"10:14:29.420","smoothed_weight":124.89856424444977,"flow_value":0.0015952839447663791},{"brew_time":"31.2","timestamp":"10:14:29.542","smoothed_weight":124.8987078200048,"flow_value":0.0014357555502897412},{"brew_time":"31.3","timestamp":"10:14:29.612","smoothed_weight":124.89883703800433,"flow_value":0.0012921799952891888},{"brew_time":"31.4","timestamp":"10:14:29.674","smoothed_weight":124.8989533342039,"flow_value":0.001162961995646583},{"brew_time":"31.5","timestamp":"10:14:29.869","smoothed_weight":124.8990580007835,"flow_value":0.0010466657960250814},{"brew_time":"31.6","timestamp":"10:14:29.918","smoothed_weight":124.89915220070515,"flow_value":0.0009419992164794166},{"brew_time":"31.7","timestamp":"10:14:30.019","smoothed_weight":124.89923698063464,"flow_value":0.0008477992949451618},{"brew_time":"31.8","timestamp":"10:14:30.094","smoothed_weight":124.89931328257117,"flow_value":0.0007630193653085371},{"brew_time":"31.9","timestamp":"10:14:30.225","smoothed_weight":124.89938195431407,"flow_value":0.0006867174289482136},{"brew_time":"32.1","timestamp":"10:14:30.358","smoothed_weight":124.89944375888265,"flow_value":0.000618045685882862},{"brew_time":"32.2","timestamp":"10:14:30.412","smoothed_weight":124.8994993829944,"flow_value":0.0005562411175219495},{"brew_time":"32.3","timestamp":"10:14:30.625","smoothed_weight":124.89954944469497,"flow_value":0.000500617005627646},{"brew_time":"32.4","timestamp":"10:14:30.681","smoothed_weight":124.89959450022548,"flow_value":0.0004505553050648814},{"brew_time":"32.5","timestamp":"10:14:30.732","smoothed_weight":124.89963505020293,"flow_value":0.00040549977455839326},{"brew_time":"32.6","timestamp":"10:14:30.849","smoothed_weight":124.89967154518266,"flow_value":0.0003649497972446625},{"brew_time":"32.7","timestamp":"10:14:30.960","smoothed_weight":124.8997043906644,"flow_value":0.0003284548174065094},{"brew_time":"32.8","timestamp":"10:14:31.036","smoothed_weight":124.89973395159797,"flow_value":0.00029560933569428016},{"brew_time":"32.9","timestamp":"10:14:31.145","smoothed_weight":124.89976055643817,"flow_value":0.0002660484020111653},{"brew_time":"32.10","timestamp":"10:14:31.275","smoothed_weight":124.88978450079436,"flow_value":-0.09976055643804216},{"brew_time":"33.1","timestamp":"10:14:31.349","smoothed_weight":124.88080605071494,"flow_value":-0.08978450079425215},{"brew_time":"33.2","timestamp":"10:14:31.522","smoothed_weight":124.87272544564345,"flow_value":-0.08080605071484115},{"brew_time":"33.3","timestamp":"10:14:31.587","smoothed_weight":124.86545290107911,"flow_value":-0.0727254456434423},{"brew_time":"33.4","timestamp":"10:14:31.678","smoothed_weight":124.8589076109712,"flow_value":-0.06545290107908386},{"brew_time":"33.5","timestamp":"10:14:31.747","smoothed_weight":124.86301684987407,"flow_value":0.041092389028705156},{"brew_time":"33.6","timestamp":"10:14:31.892","smoothed_weight":124.86671516488667,"flow_value":0.03698315012599096},{"brew_time":"33.7","timestamp":"10:14:31.981","smoothed_weight":124.870043648398,"flow_value":0.033284835113249756},{"brew_time":"33.8","timestamp":"10:14:32.052","smoothed_weight":124.8730392835582,"flow_value":0.029956351602038467},{"brew_time":"33.9","timestamp":"10:14:32.208","smoothed_weight":124.87573535520238,"flow_value":0.0269607164418062},{"brew_time":"34.1","timestamp":"10:14:32.279","smoothed_weight":124.87816181968213,"flow_value":0.024264644797540313},{"brew_time":"34.2","timestamp":"10:14:32.376","smoothed_weight":124.88034563771393,"flow_value":0.021838180317956812},{"brew_time":"34.3","timestamp":"10:14:32.519","smoothed_weight":124.87231107394254,"flow_value":-0.08034563771389003},{"brew_time":"34.4","timestamp":"10:14:32.622","smoothed_weight":124.8650799665483,"flow_value":-0.0723110739424726},{"brew_time":"34.5","timestamp":"10:14:32.722","smoothed_weight":124.86857196989348,"flow_value":0.03492003345186845},{"brew_time":"34.6","timestamp":"10:14:32.827","smoothed_weight":124.87171477290414,"flow_value":0.03142803010661055},{"brew_time":"34.7","timestamp":"10:14:32.922","smoothed_weight":124.87454329561373,"flow_value":0.028285227095921073},{"brew_time":"34.8","timestamp":"10:14:33.022","smoothed_weight":124.87708896605236,"flow_value":0.02545670438621528},{"brew_time":"34.9","timestamp":"10:14:33.089","smoothed_weight":124.86938006944713,"flow_value":-0.07708896605223003},{"brew_time":"34.10","timestamp":"10:14:33.298","smoothed_weight":124.86244206250242,"flow_value":-0.06938006944707809},{"brew_time":"35.1","timestamp":"10:14:33.355","smoothed_weight":124.8561978562522,"flow_value":-0.06244206250229922},{"brew_time":"35.2","timestamp":"10:14:33.417","smoothed_weight":124.85057807062698,"flow_value":-0.056197856252140355},{"brew_time":"35.3","timestamp":"10:14:33.582","smoothed_weight":124.84552026356428,"flow_value":-0.05057807062698316},{"brew_time":"35.4","timestamp":"10:14:33.630","smoothed_weight":124.84096823720786,"flow_value":-0.04552026356421379},{"brew_time":"35.5","timestamp":"10:14:33.708","smoothed_weight":124.84687141348707,"flow_value":0.05903176279204558},{"brew_time":"35.6","timestamp":"10:14:33.857","smoothed_weight":124.85218427213837,"flow_value":0.05312858651308261},{"brew_time":"35.7","timestamp":"10:14:33.918","smoothed_weight":124.85696584492453,"flow_value":0.0478157278615754},{"brew_time":"35.8","timestamp":"10:14:34.036","smoothed_weight":124.8612692604321,"flow_value":0.04303415507564523},{"brew_time":"35.9","timestamp":"10:14:34.148","smoothed_weight":124.86514233438888,"flow_value":0.03873073956782491},{"brew_time":"35.10","timestamp":"10:14:34.276","smoothed_weight":124.86862810094999,"flow_value":0.034857665611127686},{"brew_time":"36.1","timestamp":"10:14:34.328","smoothed_weight":124.861765290855,"flow_value":-0.06862810094986571},{"brew_time":"36.2","timestamp":"10:14:34.448","smoothed_weight":124.85558876176951,"flow_value":-0.061765290854935984},{"brew_time":"36.3","timestamp":"10:14:34.559","smoothed_weight":124.85002988559256,"flow_value":-0.05558876176948502},{"brew_time":"36.4","timestamp":"10:14:34.633","smoothed_weight":124.8450268970333,"flow_value":-0.05002988559255073},{"brew_time":"36.5","timestamp":"10:14:34.747","smoothed_weight":124.84052420732998,"flow_value":-0.045026897033295654},{"brew_time":"36.6","timestamp":"10:14:34.850","smoothed_weight":124.83647178659699,"flow_value":-0.040524207329895034},{"brew_time":"36.7","timestamp":"10:14:34.966","smoothed_weight":124.8328246079373,"flow_value":-0.03647178659690553},{"brew_time":"36.8","timestamp":"10:14:35.051","smoothed_weight":124.82954214714357,"flow_value":-0.03282460793727182},{"brew_time":"36.9","timestamp":"10:14:35.256","smoothed_weight":124.83658793242921,"flow_value":0.07045785285640704},{"brew_time":"37.1","timestamp":"10:14:35.320","smoothed_weight":124.83292913918629,"flow_value":-0.036587932429199554},{"brew_time":"37.2","timestamp":"10:14:35.387","smoothed_weight":124.82963622526766,"flow_value":-0.0329291391862796},{"brew_time":"37.3","timestamp":"10:14:35.527","smoothed_weight":124.8266726027409,"flow_value":-0.029636225267637428},{"brew_time":"37.4","timestamp":"10:14:35.588","smoothed_weight":124.82400534246682,"flow_value":-0.02667260274080263},{"brew_time":"37.5","timestamp":"10:14:35.801","smoothed_weight":124.82160480822014,"flow_value":-0.02400534246675079},{"brew_time":"37.6","timestamp":"10:14:35.851","smoothed_weight":124.81944432739813,"flow_value":-0.021604808220132554},{"brew_time":"37.7","timestamp":"10:14:35.915","smoothed_weight":124.81749989465833,"flow_value":-0.019444327398048245},{"brew_time":"37.8","timestamp":"10:14:36.064","smoothed_weight":124.8157499051925,"flow_value":-0.017499894658215},{"brew_time":"37.9","timestamp":"10:14:36.140","smoothed_weight":124.81417491467326,"flow_value":-0.015749905192450342},{"brew_time":"37.10","timestamp":"10:14:36.277","smoothed_weight":124.81275742320594,"flow_value":-0.014174914673219519},{"brew_time":"38.1","timestamp":"10:14:36.317","smoothed_weight":124.81148168088535,"flow_value":-0.012757423205869145},{"brew_time":"38.2","timestamp":"10:14:36.396","smoothed_weight":124.81033351279682,"flow_value":-0.011481680885339074},{"brew_time":"38.3","timestamp":"10:14:36.560","smoothed_weight":124.80930016151714,"flow_value":-0.010333512796734112},{"brew_time":"38.4","timestamp":"10:14:36.619","smoothed_weight":124.80837014536543,"flow_value":-0.009300161517131755},{"brew_time":"38.5","timestamp":"10:14:36.712","smoothed_weight":124.80753313082889,"flow_value":-0.00837014536543279},{"brew_time":"38.6","timestamp":"10:14:36.894","smoothed_weight":124.806779817746,"flow_value":-0.007533130828818457},{"brew_time":"38.7","timestamp":"10:14:36.955","smoothed_weight":124.8061018359714,"flow_value":-0.006779817746007666},{"brew_time":"38.8","timestamp":"10:14:37.024","smoothed_weight":124.80549165237427,"flow_value":-0.006101835971321634},{"brew_time":"38.9","timestamp":"10:14:37.252","smoothed_weight":124.80494248713686,"flow_value":-0.005491652374161049},{"brew_time":"39.1","timestamp":"10:14:37.306","smoothed_weight":124.80444823842318,"flow_value":-0.004942487136787577},{"brew_time":"39.2","timestamp":"10:14:37.370","smoothed_weight":124.80400341458086,"flow_value":-0.004448238423151452},{"brew_time":"39.3","timestamp":"10:14:37.471","smoothed_weight":124.80360307312279,"flow_value":-0.004003414580751041},{"brew_time":"39.4","timestamp":"10:14:37.560","smoothed_weight":124.80324276581051,"flow_value":-0.003603073122775413},{"brew_time":"39.5","timestamp":"10:14:37.638","smoothed_weight":124.80291848922947,"flow_value":-0.003242765810398396},{"brew_time":"39.6","timestamp":"10:14:37.740","smoothed_weight":124.80262664030653,"flow_value":-0.0029184892294153997},{"brew_time":"39.7","timestamp":"10:14:37.871","smoothed_weight":124.80236397627588,"flow_value":-0.002626640306431227},{"brew_time":"39.8","timestamp":"10:14:37.932","smoothed_weight":124.8021275786483,"flow_value":-0.0023639762758875804},{"brew_time":"39.9","timestamp":"10:14:38.047","smoothed_weight":124.80191482078347,"flow_value":-0.0021275786482988224},{"brew_time":"39.10","timestamp":"10:14:38.161","smoothed_weight":124.80172333870513,"flow_value":-0.0019148207833552533},{"brew_time":"39.11","timestamp":"10:14:38.285","smoothed_weight":124.80155100483462,"flow_value":-0.0017233387050907822},{"brew_time":"40.1","timestamp":"10:14:38.336","smoothed_weight":124.80139590435117,"flow_value":-0.0015510048345390715},{"brew_time":"40.2","timestamp":"10:14:38.513","smoothed_weight":124.80125631391606,"flow_value":-0.001395904351113586},{"brew_time":"40.3","timestamp":"10:14:38.564","smoothed_weight":124.80113068252446,"flow_value":-0.0012563139159738057},{"brew_time":"40.4","timestamp":"10:14:38.665","smoothed_weight":124.80101761427201,"flow_value":-0.0011306825244616903},{"brew_time":"40.5","timestamp":"10:14:38.843","smoothed_weight":124.80091585284482,"flow_value":-0.0010176142718876235},{"brew_time":"40.6","timestamp":"10:14:38.899","smoothed_weight":124.80082426756034,"flow_value":-0.0009158528447983372},{"brew_time":"40.7","timestamp":"10:14:38.990","smoothed_weight":124.80074184080432,"flow_value":-0.0008242675602332383},{"brew_time":"40.8","timestamp":"10:14:39.094","smoothed_weight":124.80066765672389,"flow_value":-0.0007418408043236013},{"brew_time":"40.9","timestamp":"10:14:39.233","smoothed_weight":124.8006008910515,"flow_value":-0.0006676567238628195},{"brew_time":"41.1","timestamp":"10:14:39.285","smoothed_weight":124.80054080194635,"flow_value":-0.0006008910514765375},{"brew_time":"41.2","timestamp":"10:14:39.407","smoothed_weight":124.80048672175172,"flow_value":-0.0005408019463004621},{"brew_time":"41.3","timestamp":"10:14:39.585","smoothed_weight":124.80043804957656,"flow_value":-0.0004867217516846267},{"brew_time":"41.4","timestamp":"10:14:39.641","smoothed_weight":124.8003942446189,"flow_value":-0.0004380495765587966},{"brew_time":"41.5","timestamp":"10:14:39.746","smoothed_weight":124.80035482015701,"flow_value":-0.0003942446188887061},{"brew_time":"41.6","timestamp":"10:14:39.888","smoothed_weight":124.80031933814132,"flow_value":-0.0003548201569003595},{"brew_time":"41.7","timestamp":"10:14:39.942","smoothed_weight":124.8002874043272,"flow_value":-0.00031933814128137783},{"brew_time":"41.8","timestamp":"10:14:39.994","smoothed_weight":124.80025866389448,"flow_value":-0.0002874043271106075},{"brew_time":"41.9","timestamp":"10:14:40.206","smoothed_weight":124.80023279750505,"flow_value":-0.00025866389435691417},{"brew_time":"42.1","timestamp":"10:14:40.252","smoothed_weight":124.80020951775455,"flow_value":-0.0002327975049354336},{"brew_time":"42.2","timestamp":"10:14:40.327","smoothed_weight":124.7901885659791,"flow_value":-0.10020951775459253},{"brew_time":"42.3","timestamp":"10:14:40.513","smoothed_weight":124.78116970938119,"flow_value":-0.09018856597904801},{"brew_time":"42.4","timestamp":"10:14:40.568","smoothed_weight":124.78305273844308,"flow_value":0.01883029061886532},{"brew_time":"42.5","timestamp":"10:14:40.672","smoothed_weight":124.78474746459878,"flow_value":0.016947261557049842},{"brew_time":"42.6","timestamp":"10:14:40.755","smoothed_weight":124.7862727181389,"flow_value":0.015252535401231171},{"brew_time":"42.7","timestamp":"10:14:40.978","smoothed_weight":124.78764544632502,"flow_value":0.013727281861122265},{"brew_time":"42.8","timestamp":"10:14:41.033","smoothed_weight":124.78888090169252,"flow_value":0.012354553675066882},{"brew_time":"42.9","timestamp":"10:14:41.074","smoothed_weight":124.78999281152328,"flow_value":0.011119098307545983},{"brew_time":"42.10","timestamp":"10:14:41.164","smoothed_weight":124.79099353037095,"flow_value":0.010007188476777173},{"brew_time":"42.11","timestamp":"10:14:41.304","smoothed_weight":124.79189417733386,"flow_value":0.009006469629042613},{"brew_time":"43.1","timestamp":"10:14:41.430","smoothed_weight":124.79270475960048,"flow_value":0.008105822666237827},{"brew_time":"43.2","timestamp":"10:14:41.481","smoothed_weight":124.79343428364044,"flow_value":0.00729524039954299},{"brew_time":"43.3","timestamp":"10:14:41.649","smoothed_weight":124.7940908552764,"flow_value":0.0065657163595744805},{"brew_time":"43.4","timestamp":"10:14:41.708","smoothed_weight":124.79468176974876,"flow_value":0.005909144723688087},{"brew_time":"43.5","timestamp":"10:14:41.760","smoothed_weight":124.79521359277389,"flow_value":0.0053182302512766455},{"brew_time":"43.6","timestamp":"10:14:41.878","smoothed_weight":124.79569223349651,"flow_value":0.0047864072261916135},{"brew_time":"43.7","timestamp":"10:14:41.984","smoothed_weight":124.79612301014687,"flow_value":0.004307766503615085},{"brew_time":"43.8","timestamp":"10:14:42.091","smoothed_weight":124.79651070913219,"flow_value":0.0038769898532109437},{"brew_time":"43.9","timestamp":"10:14:42.185","smoothed_weight":124.79685963821898,"flow_value":0.003489290867833006},{"brew_time":"44.1","timestamp":"10:14:42.407","smoothed_weight":124.79717367439709,"flow_value":0.0031403617811065487},{"brew_time":"44.2","timestamp":"10:14:42.444","smoothed_weight":124.79745630695739,"flow_value":0.002826325602995894},{"brew_time":"44.3","timestamp":"10:14:42.540","smoothed_weight":124.79771067626166,"flow_value":0.002543693042724726},{"brew_time":"44.4","timestamp":"10:14:42.597","smoothed_weight":124.7879396086355,"flow_value":-0.09771067626161312},{"brew_time":"44.5","timestamp":"10:14:42.697","smoothed_weight":124.77914564777195,"flow_value":-0.08793960863542338},{"brew_time":"44.6","timestamp":"10:14:42.849","smoothed_weight":124.77123108299476,"flow_value":-0.0791456477719521},{"brew_time":"44.7","timestamp":"10:14:42.911","smoothed_weight":124.76410797469528,"flow_value":-0.07123108299481373},{"brew_time":"44.8","timestamp":"10:14:43.067","smoothed_weight":124.75769717722575,"flow_value":-0.06410797469527552},{"brew_time":"44.9","timestamp":"10:14:43.149","smoothed_weight":124.75192745950318,"flow_value":-0.05769717722571954},{"brew_time":"44.10","timestamp":"10:14:43.239","smoothed_weight":124.74673471355287,"flow_value":-0.051927459503104956},{"brew_time":"45.1","timestamp":"10:14:43.341","smoothed_weight":124.74206124219758,"flow_value":-0.046734713552893936},{"brew_time":"45.2","timestamp":"10:14:43.453","smoothed_weight":124.73785511797782,"flow_value":-0.042061242197632964},{"brew_time":"45.3","timestamp":"10:14:43.549","smoothed_weight":124.73406960618003,"flow_value":-0.03785511797786967},{"brew_time":"45.4","timestamp":"10:14:43.701","smoothed_weight":124.73066264556202,"flow_value":-0.0340696061800827},{"brew_time":"45.5","timestamp":"10:14:43.753","smoothed_weight":124.72759638100582,"flow_value":-0.030662645561960744},{"brew_time":"45.6","timestamp":"10:14:43.864","smoothed_weight":124.72483674290524,"flow_value":-0.027596381005849935},{"brew_time":"45.7","timestamp":"10:14:43.940","smoothed_weight":124.72235306861472,"flow_value":-0.024836742905165465},{"brew_time":"45.8","timestamp":"10:14:44.056","smoothed_weight":124.72011776175326,"flow_value":-0.02235306861464892},{"brew_time":"45.9","timestamp":"10:14:44.148","smoothed_weight":124.71810598557794,"flow_value":-0.02011776175322666},{"brew_time":"45.10","timestamp":"10:14:44.290","smoothed_weight":124.71629538702014,"flow_value":-0.018105985577960837},{"brew_time":"46.1","timestamp":"10:14:44.400","smoothed_weight":124.72466584831812,"flow_value":0.08370461297985798},{"brew_time":"46.2","timestamp":"10:14:44.457","smoothed_weight":124.73219926348632,"flow_value":0.07533415168197166},{"brew_time":"46.3","timestamp":"10:14:44.549","smoothed_weight":124.72897933713769,"flow_value":-0.03219926348634772},{"brew_time":"46.4","timestamp":"10:14:44.687","smoothed_weight":124.72608140342392,"flow_value":-0.028979337137684524},{"brew_time":"46.5","timestamp":"10:14:44.771","smoothed_weight":124.72347326308153,"flow_value":-0.02608140342388765},{"brew_time":"46.6","timestamp":"10:14:44.888","smoothed_weight":124.72112593677338,"flow_value":-0.023473263081541518},{"brew_time":"46.7","timestamp":"10:14:45.026","smoothed_weight":124.71901334309604,"flow_value":-0.021125936773387366},{"brew_time":"46.8","timestamp":"10:14:45.103","smoothed_weight":124.71711200878643,"flow_value":-0.01901334309607705},{"brew_time":"46.9","timestamp":"10:14:45.191","smoothed_weight":124.71540080790778,"flow_value":-0.017112008786455135},{"brew_time":"47.1","timestamp":"10:14:45.502","smoothed_weight":124.71386072711701,"flow_value":-0.015400807907752778},{"brew_time":"47.2","timestamp":"10:14:45.544","smoothed_weight":124.71247465440531,"flow_value":-0.01386072711696329},{"brew_time":"47.3","timestamp":"10:14:45.581","smoothed_weight":124.71122718896478,"flow_value":-0.012474654405281171},{"brew_time":"47.4","timestamp":"10:14:45.628","smoothed_weight":124.7101044700683,"flow_value":-0.011227188964824109},{"brew_time":"47.5","timestamp":"10:14:45.700","smoothed_weight":124.70909402306147,"flow_value":-0.010104470068341698},{"brew_time":"47.6","timestamp":"10:14:45.858","smoothed_weight":124.70818462075532,"flow_value":-0.009094023061493317},{"brew_time":"47.7","timestamp":"10:14:45.897","smoothed_weight":124.70736615867979,"flow_value":-0.008184620755287142},{"brew_time":"47.8","timestamp":"10:14:46.084","smoothed_weight":124.70662954281181,"flow_value":-0.0073661586797868495},{"brew_time":"47.9","timestamp":"10:14:46.121","smoothed_weight":124.70596658853063,"flow_value":-0.006629542811822375},{"brew_time":"47.10","timestamp":"10:14:46.213","smoothed_weight":124.70536992967757,"flow_value":-0.005966588530554873},{"brew_time":"48.1","timestamp":"10:14:46.347","smoothed_weight":124.70483293670982,"flow_value":-0.005369929677527807},{"brew_time":"48.2","timestamp":"10:14:46.534","smoothed_weight":124.70434964303884,"flow_value":-0.004832936709817659},{"brew_time":"48.3","timestamp":"10:14:46.571","smoothed_weight":124.70391467873496,"flow_value":-0.00434964303877905},{"brew_time":"48.4","timestamp":"10:14:46.630","smoothed_weight":124.70352321086146,"flow_value":-0.00391467873498641},{"brew_time":"48.5","timestamp":"10:14:46.839","smoothed_weight":124.70317088977532,"flow_value":-0.0035232108614025037},{"brew_time":"48.6","timestamp":"10:14:46.876","smoothed_weight":124.7028538007978,"flow_value":-0.0031708897752480425},{"brew_time":"48.7","timestamp":"10:14:46.977","smoothed_weight":124.70256842071802,"flow_value":-0.002853800797737449},{"brew_time":"48.8","timestamp":"10:14:47.055","smoothed_weight":124.70231157864622,"flow_value":-0.00256842071806318},{"brew_time":"48.9","timestamp":"10:14:47.125","smoothed_weight":124.7020804207816,"flow_value":-0.002311578646185808},{"brew_time":"48.10","timestamp":"10:14:47.258","smoothed_weight":124.70187237870344,"flow_value":-0.002080420781567227},{"brew_time":"49.1","timestamp":"10:14:47.436","smoothed_weight":124.70168514083309,"flow_value":-0.0018723787034957695},{"brew_time":"49.2","timestamp":"10:14:47.474","smoothed_weight":124.70151662674978,"flow_value":-0.0016851408331319817},{"brew_time":"49.3","timestamp":"10:14:47.554","smoothed_weight":124.7013649640748,"flow_value":-0.0015166267498045727},{"brew_time":"49.4","timestamp":"10:14:47.663","smoothed_weight":124.70122846766732,"flow_value":-0.0013649640747814829},{"brew_time":"49.5","timestamp":"10:14:47.758","smoothed_weight":124.70110562090059,"flow_value":-0.0012284676672891237},{"brew_time":"49.6","timestamp":"10:14:47.917","smoothed_weight":124.70099505881053,"flow_value":-0.0011056209005744222},{"brew_time":"49.7","timestamp":"10:14:47.995","smoothed_weight":124.70089555292948,"flow_value":-0.0009950588105311908},{"brew_time":"49.8","timestamp":"10:14:48.063","smoothed_weight":124.70080599763654,"flow_value":-0.00089555292944965},{"brew_time":"49.9","timestamp":"10:14:48.268","smoothed_weight":124.70072539787289,"flow_value":-0.0008059976364904742},{"brew_time":"50.1","timestamp":"10:14:48.320","smoothed_weight":124.7006528580856,"flow_value":-0.0007253978728272159},{"brew_time":"50.2","timestamp":"10:14:48.394","smoothed_weight":124.69058757227705,"flow_value":-0.10065285808551039},{"brew_time":"50.3","timestamp":"10:14:48.498","smoothed_weight":124.70152881504936,"flow_value":0.10941242772304349},{"brew_time":"50.4","timestamp":"10:14:48.594","smoothed_weight":124.69137593354444,"flow_value":-0.10152881504922107},{"brew_time":"50.5","timestamp":"10:14:48.695","smoothed_weight":124.69223834018999,"flow_value":0.008624066455524826},{"brew_time":"50.6","timestamp":"10:14:48.775","smoothed_weight":124.693014506171,"flow_value":0.00776165981008603},{"brew_time":"50.7","timestamp":"10:14:48.960","smoothed_weight":124.68371305555391,"flow_value":-0.09301450617087426},{"brew_time":"50.8","timestamp":"10:14:49.017","smoothed_weight":124.69534174999852,"flow_value":0.11628694444610232},{"brew_time":"50.9","timestamp":"10:14:49.180","smoothed_weight":124.69580757499867,"flow_value":0.004658250001483566},{"brew_time":"51.1","timestamp":"10:14:49.269","smoothed_weight":124.6962268174988,"flow_value":0.004192425001292577},{"brew_time":"51.2","timestamp":"10:14:49.323","smoothed_weight":124.69660413574891,"flow_value":0.003773182501163319},{"brew_time":"51.3","timestamp":"10:14:49.450","smoothed_weight":124.69694372217403,"flow_value":0.0033958642511322523},{"brew_time":"51.4","timestamp":"10:14:49.526","smoothed_weight":124.69724934995662,"flow_value":0.003056277825947973},{"brew_time":"51.5","timestamp":"10:14:49.671","smoothed_weight":124.69752441496097,"flow_value":0.0027506500434526515},{"brew_time":"51.6","timestamp":"10:14:49.767","smoothed_weight":124.69777197346487,"flow_value":0.0024755850390079104},{"brew_time":"51.7","timestamp":"10:14:49.825","smoothed_weight":124.69799477611838,"flow_value":0.0022280265351071193},{"brew_time":"51.8","timestamp":"10:14:49.934","smoothed_weight":124.69819529850655,"flow_value":0.0020052238816958834},{"brew_time":"51.9","timestamp":"10:14:50.023","smoothed_weight":124.6983757686559,"flow_value":0.0018047014934552408},{"brew_time":"51.10","timestamp":"10:14:50.122","smoothed_weight":124.6985381917903,"flow_value":0.0016242313441239276},{"brew_time":"51.11","timestamp":"10:14:50.268","smoothed_weight":124.69868437261128,"flow_value":0.0014618082097683782},{"brew_time":"52.1","timestamp":"10:14:50.358","smoothed_weight":124.69881593535015,"flow_value":0.0013156273887204861},{"brew_time":"52.2","timestamp":"10:14:50.425","smoothed_weight":124.69893434181515,"flow_value":0.0011840646499194918},{"brew_time":"52.3","timestamp":"10:14:50.653","smoothed_weight":124.69904090763363,"flow_value":0.0010656581848422775},{"brew_time":"52.4","timestamp":"10:14:50.702","smoothed_weight":124.69913681687026,"flow_value":0.0009590923663438389},{"brew_time":"52.5","timestamp":"10:14:50.758","smoothed_weight":124.68922313518325,"flow_value":-0.09913681687010012},{"brew_time":"52.6","timestamp":"10:14:50.870","smoothed_weight":124.69030082166493,"flow_value":0.010776864816790521},{"brew_time":"52.7","timestamp":"10:14:50.954","smoothed_weight":124.69127073949844,"flow_value":0.009699178335011993},{"brew_time":"52.8","timestamp":"10:14:51.138","smoothed_weight":124.68214366554861,"flow_value":-0.09127073949827036},{"brew_time":"52.9","timestamp":"10:14:51.232","smoothed_weight":124.67392929899376,"flow_value":-0.08214366554852859},{"brew_time":"53.1","timestamp":"10:14:51.298","smoothed_weight":124.66653636909439,"flow_value":-0.07392929899367573},{"brew_time":"53.2","timestamp":"10:14:51.415","smoothed_weight":124.65988273218494,"flow_value":-0.06653636909447869},{"brew_time":"53.3","timestamp":"10:14:51.544","smoothed_weight":124.66389445896645,"flow_value":0.04011726781513403},{"brew_time":"53.4","timestamp":"10:14:51.613","smoothed_weight":124.66750501306981,"flow_value":0.036105541033606414},{"brew_time":"53.5","timestamp":"10:14:51.750","smoothed_weight":124.67075451176284,"flow_value":0.03249498693023156},{"brew_time":"53.6","timestamp":"10:14:51.815","smoothed_weight":124.67367906058655,"flow_value":0.02924548823713735},{"brew_time":"53.7","timestamp":"10:14:51.884","smoothed_weight":124.6663111545279,"flow_value":-0.07367906058647122},{"brew_time":"53.8","timestamp":"10:14:52.046","smoothed_weight":124.65968003907511,"flow_value":-0.06631115452790937},{"brew_time":"53.9","timestamp":"10:14:52.104","smoothed_weight":124.6637120351676,"flow_value":0.04031996092493273},{"brew_time":"53.10","timestamp":"10:14:52.252","smoothed_weight":124.66734083165085,"flow_value":0.036287964832411035},{"brew_time":"54.1","timestamp":"10:14:52.352","smoothed_weight":124.67060674848577,"flow_value":0.03265916834919835},{"brew_time":"54.2","timestamp":"10:14:52.453","smoothed_weight":124.6735460736372,"flow_value":0.02939325151430694},{"brew_time":"54.3","timestamp":"10:14:52.539","smoothed_weight":124.67619146627348,"flow_value":0.026453926362819402},{"brew_time":"54.4","timestamp":"10:14:52.608","smoothed_weight":124.67857231964614,"flow_value":0.023808533726565884},{"brew_time":"54.5","timestamp":"10:14:52.716","smoothed_weight":124.68071508768152,"flow_value":0.02142768035383824},{"brew_time":"54.6","timestamp":"10:14:52.830","smoothed_weight":124.68264357891337,"flow_value":0.01928491231851126},{"brew_time":"54.7","timestamp":"10:14:53.012","smoothed_weight":124.68437922102204,"flow_value":0.017356421086702767},{"brew_time":"54.8","timestamp":"10:14:53.073","smoothed_weight":124.68594129891984,"flow_value":0.01562077897801828},{"brew_time":"54.9","timestamp":"10:14:53.136","smoothed_weight":124.68734716902786,"flow_value":0.014058701080159608},{"brew_time":"54.10","timestamp":"10:14:53.340","smoothed_weight":124.68861245212507,"flow_value":0.012652830972115225},{"brew_time":"55.1","timestamp":"10:14:53.438","smoothed_weight":124.67975120691256,"flow_value":-0.08861245212514746},{"brew_time":"55.2","timestamp":"10:14:53.538","smoothed_weight":124.67177608622131,"flow_value":-0.07975120691241955},{"brew_time":"55.3","timestamp":"10:14:53.591","smoothed_weight":124.66459847759918,"flow_value":-0.07177608622129128},{"brew_time":"55.4","timestamp":"10:14:53.657","smoothed_weight":124.65813862983927,"flow_value":-0.06459847759913373},{"brew_time":"55.5","timestamp":"10:14:53.757","smoothed_weight":124.65232476685534,"flow_value":-0.0581386298392772},{"brew_time":"55.6","timestamp":"10:14:53.874","smoothed_weight":124.64709229016981,"flow_value":-0.05232476685534948},{"brew_time":"55.7","timestamp":"10:14:53.943","smoothed_weight":124.64238306115283,"flow_value":-0.04709229016981453},{"brew_time":"55.8","timestamp":"10:14:54.124","smoothed_weight":124.63814475503756,"flow_value":-0.04238306115269097},{"brew_time":"55.9","timestamp":"10:14:54.190","smoothed_weight":124.6343302795338,"flow_value":-0.038144755037592404},{"brew_time":"56.1","timestamp":"10:14:54.240","smoothed_weight":124.63089725158042,"flow_value":-0.03433027953377632},{"brew_time":"56.2","timestamp":"10:14:54.395","smoothed_weight":124.62780752642237,"flow_value":-0.030897251580483953},{"brew_time":"56.3","timestamp":"10:14:54.484","smoothed_weight":124.62502677378015,"flow_value":-0.027807526422236606},{"brew_time":"56.4","timestamp":"10:14:54.593","smoothed_weight":124.62252409640215,"flow_value":-0.025026773780041367},{"brew_time":"56.5","timestamp":"10:14:54.820","smoothed_weight":124.62027168676192,"flow_value":-0.02252409640220776},{"brew_time":"56.6","timestamp":"10:14:54.866","smoothed_weight":124.61824451808573,"flow_value":-0.02027168676193014},{"brew_time":"56.7","timestamp":"10:14:54.904","smoothed_weight":124.61642006627716,"flow_value":-0.018244518085737127},{"brew_time":"56.8","timestamp":"10:14:55.012","smoothed_weight":124.61477805964944,"flow_value":-0.016420066277191836},{"brew_time":"56.9","timestamp":"10:14:55.074","smoothed_weight":124.61330025368449,"flow_value":-0.014778059649529496},{"brew_time":"56.10","timestamp":"10:14:55.200","smoothed_weight":124.61197022831604,"flow_value":-0.01330025368446286},{"brew_time":"57.1","timestamp":"10:14:55.296","smoothed_weight":124.61077320548443,"flow_value":-0.011970228316044995},{"brew_time":"57.2","timestamp":"10:14:55.369","smoothed_weight":124.609695884936,"flow_value":-0.010773205484326809},{"brew_time":"57.3","timestamp":"10:14:55.569","smoothed_weight":124.6087262964424,"flow_value":-0.009695884936036236},{"brew_time":"57.4","timestamp":"10:14:55.680","smoothed_weight":124.60785366679815,"flow_value":-0.008726296442489456},{"brew_time":"57.5","timestamp":"10:14:55.743","smoothed_weight":124.60706830011833,"flow_value":-0.007853666798212089},{"brew_time":"57.6","timestamp":"10:14:55.821","smoothed_weight":124.60636147010649,"flow_value":-0.007068300118362458},{"brew_time":"57.7","timestamp":"10:14:55.900","smoothed_weight":124.60572532309584,"flow_value":-0.0063614701065262125},{"brew_time":"57.8","timestamp":"10:14:56.017","smoothed_weight":124.60515279078626,"flow_value":-0.005725323095759904},{"brew_time":"57.9","timestamp":"10:14:56.217","smoothed_weight":124.60463751170764,"flow_value":-0.005152790786269179},{"brew_time":"58.1","timestamp":"10:14:56.276","smoothed_weight":124.60417376053687,"flow_value":-0.004637511707699105},{"brew_time":"58.2","timestamp":"10:14:56.338","smoothed_weight":124.60375638448318,"flow_value":-0.004173760536900772},{"brew_time":"58.3","timestamp":"10:14:56.423","smoothed_weight":124.60338074603487,"flow_value":-0.003756384483040165},{"brew_time":"58.4","timestamp":"10:14:56.576","smoothed_weight":124.60304267143138,"flow_value":-0.0033807460349066787},{"brew_time":"58.5","timestamp":"10:14:56.648","smoothed_weight":124.60273840428826,"flow_value":-0.003042671431217059},{"brew_time":"58.6","timestamp":"10:14:56.738","smoothed_weight":124.60246456385943,"flow_value":-0.0027384042883227266},{"brew_time":"58.7","timestamp":"10:14:56.879","smoothed_weight":124.60221810747348,"flow_value":-0.0024645638595188757},{"brew_time":"58.8","timestamp":"10:14:57.067","smoothed_weight":124.60199629672613,"flow_value":-0.002218107473481723},{"brew_time":"58.9","timestamp":"10:14:57.106","smoothed_weight":124.60179666705352,"flow_value":-0.0019962967260767073},{"brew_time":"58.10","timestamp":"10:14:57.225","smoothed_weight":124.60161700034817,"flow_value":-0.0017966670534974583},{"brew_time":"59.1","timestamp":"10:14:57.281","smoothed_weight":124.60145530031335,"flow_value":-0.0016170003482329776},{"brew_time":"59.2","timestamp":"10:14:57.354","smoothed_weight":124.60130977028203,"flow_value":-0.0014553003131823061},{"brew_time":"59.3","timestamp":"10:14:57.540","smoothed_weight":124.60117879325384,"flow_value":-0.001309770281920919},{"brew_time":"59.4","timestamp":"10:14:57.595","smoothed_weight":124.60106091392845,"flow_value":-0.0011787932538709356},{"brew_time":"59.5","timestamp":"10:14:57.656","smoothed_weight":124.60095482253561,"flow_value":-0.0010609139283701552},{"brew_time":"59.6","timestamp":"10:14:57.813","smoothed_weight":124.60085934028206,"flow_value":-0.0009548225355615614},{"brew_time":"59.7","timestamp":"10:14:57.895","smoothed_weight":124.60077340625386,"flow_value":-0.0008593402819201401},{"brew_time":"59.8","timestamp":"10:14:57.955","smoothed_weight":124.60069606562848,"flow_value":-0.0007734062538133912},{"brew_time":"59.9","timestamp":"10:14:58.116","smoothed_weight":124.60062645906564,"flow_value":-0.0006960656284604738},{"brew_time":"59.10","timestamp":"10:14:58.200","smoothed_weight":124.60056381315908,"flow_value":-0.0006264590655291613},{"brew_time":"60.1","timestamp":"10:14:58.341","smoothed_weight":124.60050743184317,"flow_value":-0.0005638131591467754},{"brew_time":"60.2","timestamp":"10:14:58.398","smoothed_weight":124.60045668865885,"flow_value":-0.0005074318431752545},{"brew_time":"60.3","timestamp":"10:14:58.530","smoothed_weight":124.60041101979297,"flow_value":-0.0004566886588008856},{"brew_time":"60.4","timestamp":"10:14:58.635","smoothed_weight":124.60036991781368,"flow_value":-0.00041101979292079704},{"brew_time":"60.5","timestamp":"10:14:58.693","smoothed_weight":124.60033292603231,"flow_value":-0.00036991781371398247},{"brew_time":"60.6","timestamp":"10:14:58.835","smoothed_weight":124.60029963342907,"flow_value":-0.0003329260323425842},{"brew_time":"60.7","timestamp":"10:14:58.889","smoothed_weight":124.60026967008616,"flow_value":-0.0002996334291083258},{"brew_time":"60.8","timestamp":"10:14:59.087","smoothed_weight":124.60024270307756,"flow_value":-0.0002696700860838064},{"brew_time":"60.9","timestamp":"10:14:59.138","smoothed_weight":124.6002184327698,"flow_value":-0.0002427030776175343},{"brew_time":"60.10","timestamp":"10:14:59.289","smoothed_weight":124.60019658949281,"flow_value":-0.00021843276982735915},{"brew_time":"61.1","timestamp":"10:14:59.353","smoothed_weight":124.61017693054353,"flow_value":0.09980341050720654},{"brew_time":"61.2","timestamp":"10:14:59.458","smoothed_weight":124.64915923748919,"flow_value":0.3898230694565541},{"brew_time":"61.3","timestamp":"10:14:59.578","smoothed_weight":124.71424331374027,"flow_value":0.6508407625108248},{"brew_time":"61.4","timestamp":"10:14:59.648","smoothed_weight":124.80281898236625,"flow_value":0.8857566862597821},{"brew_time":"61.5","timestamp":"10:14:59.725","smoothed_weight":124.93253708412962,"flow_value":1.2971810176337328},{"brew_time":"61.6","timestamp":"10:14:59.943","smoothed_weight":125.10928337571666,"flow_value":1.767462915870368},{"brew_time":"61.7","timestamp":"10:15:00.006","smoothed_weight":125.35835503814499,"flow_value":2.490716624283351},{"brew_time":"61.8","timestamp":"10:15:00.071","smoothed_weight":125.70251953433049,"flow_value":3.4416449618549905},{"brew_time":"61.9","timestamp":"10:15:00.140","smoothed_weight":126.11226758089745,"flow_value":4.097480465669605},{"brew_time":"61.10","timestamp":"10:15:00.388","smoothed_weight":126.5710408228077,"flow_value":4.587732419102508},{"brew_time":"62.1","timestamp":"10:15:00.468","smoothed_weight":127.04393674052693,"flow_value":4.72895917719228},{"brew_time":"62.2","timestamp":"10:15:00.512","smoothed_weight":127.50954306647424,"flow_value":4.656063259473058},{"brew_time":"62.3","timestamp":"10:15:00.599","smoothed_weight":127.98858875982683,"flow_value":4.790456933525888},{"brew_time":"62.4","timestamp":"10:15:00.698","smoothed_weight":128.52972988384414,"flow_value":5.411411240173152},{"brew_time":"62.5","timestamp":"10:15:00.784","smoothed_weight":129.17675689545973,"flow_value":6.470270116155916},{"brew_time":"62.6","timestamp":"10:15:00.850","smoothed_weight":129.88908120591375,"flow_value":7.123243104540222},{"brew_time":"62.7","timestamp":"10:15:01.006","smoothed_weight":130.61017308532237,"flow_value":7.210918794086183},{"brew_time":"62.8","timestamp":"10:15:01.119","smoothed_weight":131.29915577679014,"flow_value":6.8898269146777125},{"brew_time":"62.9","timestamp":"10:15:01.241","smoothed_weight":131.96924019911114,"flow_value":6.70084422320997},{"brew_time":"63.1","timestamp":"10:15:01.323","smoothed_weight":132.64231617920004,"flow_value":6.730759800888961},{"brew_time":"63.2","timestamp":"10:15:01.420","smoothed_weight":133.34808456128002,"flow_value":7.057683820799809},{"brew_time":"63.3","timestamp":"10:15:01.554","smoothed_weight":134.143276105152,"flow_value":7.9519154387199364},{"brew_time":"63.4","timestamp":"10:15:01.585","smoothed_weight":135.0289484946368,"flow_value":8.85672389484796},{"brew_time":"63.5","timestamp":"10:15:01.758","smoothed_weight":135.94605364517312,"flow_value":9.171051505363153},{"brew_time":"63.6","timestamp":"10:15:01.809","smoothed_weight":136.8414482806558,"flow_value":8.953946354826883},{"brew_time":"63.7","timestamp":"10:15:01.906","smoothed_weight":137.69730345259023,"flow_value":8.558551719344223},{"brew_time":"63.8","timestamp":"10:15:02.085","smoothed_weight":138.5375731073312,"flow_value":8.40269654740979},{"brew_time":"63.9","timestamp":"10:15:02.149","smoothed_weight":139.4138157965981,"flow_value":8.762426892668884},{"brew_time":"63.10","timestamp":"10:15:02.237","smoothed_weight":140.3624342169383,"flow_value":9.486184203402104},{"brew_time":"64.1","timestamp":"10:15:02.327","smoothed_weight":141.4061907952445,"flow_value":10.43756578306187},{"brew_time":"64.2","timestamp":"10:15:02.432","smoothed_weight":142.48557171572006,"flow_value":10.793809204755576},{"brew_time":"64.3","timestamp":"10:15:02.519","smoothed_weight":143.55701454414805,"flow_value":10.714428284279904},{"brew_time":"64.4","timestamp":"10:15:02.627","smoothed_weight":144.58131308973324,"flow_value":10.242985455851965},{"brew_time":"64.5","timestamp":"10:15:02.726","smoothed_weight":145.5731817807599,"flow_value":9.918686910266672},{"brew_time":"64.6","timestamp":"10:15:02.832","smoothed_weight":146.56586360268395,"flow_value":9.926818219240374},{"brew_time":"64.7","timestamp":"10:15:02.912","smoothed_weight":147.56927724241555,"flow_value":10.034136397316047},{"brew_time":"64.8","timestamp":"10:15:03.069","smoothed_weight":148.63234951817398,"flow_value":10.630722757584294},{"brew_time":"64.9","timestamp":"10:15:03.139","smoothed_weight":149.74911456635658,"flow_value":11.167650481826001},{"brew_time":"64.10","timestamp":"10:15:03.227","smoothed_weight":150.88420310972094,"flow_value":11.350885433643612},{"brew_time":"65.1","timestamp":"10:15:03.360","smoothed_weight":152.01578279874886,"flow_value":11.31579689027916},{"brew_time":"65.2","timestamp":"10:15:03.498","smoothed_weight":153.10420451887396,"flow_value":10.884217201250976},{"brew_time":"65.3","timestamp":"10:15:03.595","smoothed_weight":154.1537840669866,"flow_value":10.495795481126322},{"brew_time":"65.4","timestamp":"10:15:03.657","smoothed_weight":155.1584056602879,"flow_value":10.04621593301323},{"brew_time":"65.5","timestamp":"10:15:03.767","smoothed_weight":156.1425650942591,"flow_value":9.841594339712003},{"brew_time":"65.6","timestamp":"10:15:03.882","smoothed_weight":157.1583085848332,"flow_value":10.157434905740956},{"brew_time":"65.7","timestamp":"10:15:03.952","smoothed_weight":158.2224777263499,"flow_value":10.64169141516686},{"brew_time":"65.8","timestamp":"10:15:04.063","smoothed_weight":159.3102299537149,"flow_value":10.877522273650015},{"brew_time":"65.9","timestamp":"10:15:04.141","smoothed_weight":160.39920695834343,"flow_value":10.88977004628532},{"brew_time":"65.10","timestamp":"10:15:04.358","smoothed_weight":161.4492862625091,"flow_value":10.500793041656777},{"brew_time":"66.1","timestamp":"10:15:04.414","smoothed_weight":162.4443576362582,"flow_value":9.950713737490844},{"brew_time":"66.2","timestamp":"10:15:04.538","smoothed_weight":163.38992187263239,"flow_value":9.455642363741958},{"brew_time":"66.3","timestamp":"10:15:04.580","smoothed_weight":164.31092968536913,"flow_value":9.210078127367467},{"brew_time":"66.4","timestamp":"10:15:04.750","smoothed_weight":165.20983671683223,"flow_value":8.989070314630965},{"brew_time":"66.5","timestamp":"10:15:04.808","smoothed_weight":166.12885304514901,"flow_value":9.190163283167863},{"brew_time":"66.6","timestamp":"10:15:04.867","smoothed_weight":167.07596774063413,"flow_value":9.471146954851122},{"brew_time":"66.7","timestamp":"10:15:05.088","smoothed_weight":168.02837096657072,"flow_value":9.524032259365924},{"brew_time":"66.8","timestamp":"10:15:05.145","smoothed_weight":168.95553386991364,"flow_value":9.271629033429178},{"brew_time":"66.9","timestamp":"10:15:05.221","smoothed_weight":169.83998048292227,"flow_value":8.844466130086346},{"brew_time":"67.1","timestamp":"10:15:05.314","smoothed_weight":170.66598243463005,"flow_value":8.260019517077808},{"brew_time":"67.2","timestamp":"10:15:05.461","smoothed_weight":171.44938419116704,"flow_value":7.834017565369891},{"brew_time":"67.3","timestamp":"10:15:05.539","smoothed_weight":172.19444577205036,"flow_value":7.450615808833163},{"brew_time":"67.4","timestamp":"10:15:05.609","smoothed_weight":172.94500119484533,"flow_value":7.5055542279497445},{"brew_time":"67.5","timestamp":"10:15:05.812","smoothed_weight":173.7105010753608,"flow_value":7.654998805154776},{"brew_time":"67.6","timestamp":"10:15:05.858","smoothed_weight":174.49945096782474,"flow_value":7.889498924639327},{"brew_time":"67.7","timestamp":"10:15:05.917","smoothed_weight":175.29950587104227,"flow_value":8.000549032175286},{"brew_time":"67.8","timestamp":"10:15:06.025","smoothed_weight":176.10955528393805,"flow_value":8.100494128957791},{"brew_time":"67.9","timestamp":"10:15:06.137","smoothed_weight":176.88859975554425,"flow_value":7.790444716061984},{"brew_time":"67.10","timestamp":"10:15:06.266","smoothed_weight":177.63973977998984,"flow_value":7.511400244455899},{"brew_time":"68.1","timestamp":"10:15:06.370","smoothed_weight":178.35576580199086,"flow_value":7.160260220010173},{"brew_time":"68.2","timestamp":"10:15:06.437","smoothed_weight":179.0401892217918,"flow_value":6.84423419800936},{"brew_time":"68.3","timestamp":"10:15:06.571","smoothed_weight":179.69617029961262,"flow_value":6.559810778208259},{"brew_time":"68.4","timestamp":"10:15:06.660","smoothed_weight":180.34655326965137,"flow_value":6.5038297003874845},{"brew_time":"68.5","timestamp":"10:15:06.736","smoothed_weight":181.00189794268624,"flow_value":6.553446730348753},{"brew_time":"68.6","timestamp":"10:15:06.840","smoothed_weight":181.6817081484176,"flow_value":6.798102057313713},{"brew_time":"68.7","timestamp":"10:15:06.965","smoothed_weight":182.37353733357588,"flow_value":6.918291851582694},{"brew_time":"68.8","timestamp":"10:15:07.151","smoothed_weight":183.05618360021828,"flow_value":6.826462666423936},{"brew_time":"68.9","timestamp":"10:15:07.226","smoothed_weight":183.70056524019645,"flow_value":6.443816399781781},{"brew_time":"69.1","timestamp":"10:15:07.375","smoothed_weight":184.2805087161768,"flow_value":5.799434759803432},{"brew_time":"69.2","timestamp":"10:15:07.421","smoothed_weight":184.80245784455911,"flow_value":5.219491283823174},{"brew_time":"69.3","timestamp":"10:15:07.482","smoothed_weight":185.2922120601032,"flow_value":4.897542155440817},{"brew_time":"69.4","timestamp":"10:15:07.607","smoothed_weight":185.7529908540929,"flow_value":4.607787939897037},{"brew_time":"69.5","timestamp":"10:15:07.685","smoothed_weight":186.25769176868363,"flow_value":5.047009145907282},{"brew_time":"69.6","timestamp":"10:15:07.785","smoothed_weight":186.82192259181528,"flow_value":5.64230823131652},{"brew_time":"69.7","timestamp":"10:15:07.865","smoothed_weight":187.41973033263375,"flow_value":5.978077408184674},{"brew_time":"69.8","timestamp":"10:15:08.048","smoothed_weight":188.02775729937036,"flow_value":6.080269667366167},{"brew_time":"69.9","timestamp":"10:15:08.102","smoothed_weight":188.60498156943333,"flow_value":5.772242700629704},{"brew_time":"69.10","timestamp":"10:15:08.218","smoothed_weight":189.15448341249,"flow_value":5.495018430566745},{"brew_time":"70.1","timestamp":"10:15:08.311","smoothed_weight":189.689035071241,"flow_value":5.345516587509849},{"brew_time":"70.2","timestamp":"10:15:08.384","smoothed_weight":190.2301315641169,"flow_value":5.4109649287590855},{"brew_time":"70.3","timestamp":"10:15:08.556","smoothed_weight":190.80711840770522,"flow_value":5.769868435883154},{"brew_time":"70.4","timestamp":"10:15:08.685","smoothed_weight":191.45640656693473,"flow_value":6.492881592295134},{"brew_time":"70.5","timestamp":"10:15:08.745","smoothed_weight":192.16076591024125,"flow_value":7.043593433065212},{"brew_time":"70.6","timestamp":"10:15:08.803","smoothed_weight":192.89468931921715,"flow_value":7.339234089758975},{"brew_time":"70.7","timestamp":"10:15:08.911","smoothed_weight":193.63522038729545,"flow_value":7.405310680782975},{"brew_time":"70.8","timestamp":"10:15:09.021","smoothed_weight":194.35169834856592,"flow_value":7.164779612704706},{"brew_time":"70.9","timestamp":"10:15:09.093","smoothed_weight":195.04652851370932,"flow_value":6.948301651434008},{"brew_time":"70.10","timestamp":"10:15:09.267","smoothed_weight":195.7218756623384,"flow_value":6.753471486290721},{"brew_time":"71.1","timestamp":"10:15:09.362","smoothed_weight":196.40968809610456,"flow_value":6.8781243376616885},{"brew_time":"71.2","timestamp":"10:15:09.432","smoothed_weight":197.1487192864941,"flow_value":7.390311903895395},{"brew_time":"71.3","timestamp":"10:15:09.528","smoothed_weight":197.9538473578447,"flow_value":8.051280713505946},{"brew_time":"71.4","timestamp":"10:15:09.655","smoothed_weight":198.81846262206022,"flow_value":8.6461526421553},{"brew_time":"71.5","timestamp":"10:15:09.738","smoothed_weight":199.7166163598542,"flow_value":8.981537377939901},{"brew_time":"71.6","timestamp":"10:15:09.850","smoothed_weight":200.6049547238688,"flow_value":8.883383640145723},{"brew_time":"71.7","timestamp":"10:15:09.959","smoothed_weight":201.48445925148192,"flow_value":8.795045276131361},{"brew_time":"71.8","timestamp":"10:15:10.069","smoothed_weight":202.33601332633373,"flow_value":8.515540748518049},{"brew_time":"71.9","timestamp":"10:15:10.143","smoothed_weight":203.17241199370036,"flow_value":8.363986673666375},{"brew_time":"71.10","timestamp":"10:15:10.388","smoothed_weight":204.00517079433033,"flow_value":8.327588006299607},{"brew_time":"72.1","timestamp":"10:15:10.461","smoothed_weight":204.8746537148973,"flow_value":8.694829205669805},{"brew_time":"72.2","timestamp":"10:15:10.497","smoothed_weight":205.79718834340758,"flow_value":9.225346285102773},{"brew_time":"72.3","timestamp":"10:15:10.594","smoothed_weight":206.78746950906682,"flow_value":9.902811656592405},{"brew_time":"72.4","timestamp":"10:15:10.686","smoothed_weight":207.80872255816013,"flow_value":10.212530490933034},{"brew_time":"72.5","timestamp":"10:15:10.754","smoothed_weight":208.82785030234413,"flow_value":10.191277441840043},{"brew_time":"72.6","timestamp":"10:15:10.896","smoothed_weight":209.81506527210973,"flow_value":9.872149697656027},{"brew_time":"72.7","timestamp":"10:15:10.975","smoothed_weight":210.75355874489878,"flow_value":9.384934727890482},{"brew_time":"72.8","timestamp":"10:15:11.123","smoothed_weight":211.6482028704089,"flow_value":8.946441255101263},{"brew_time":"72.9","timestamp":"10:15:11.213","smoothed_weight":212.53338258336802,"flow_value":8.851797129591148},{"brew_time":"73.1","timestamp":"10:15:11.326","smoothed_weight":213.43004432503122,"flow_value":8.966617416631948},{"brew_time":"73.2","timestamp":"10:15:11.456","smoothed_weight":214.3670398925281,"flow_value":9.369955674968935},{"brew_time":"73.3","timestamp":"10:15:11.553","smoothed_weight":215.3303359032753,"flow_value":9.632960107472002},{"brew_time":"73.4","timestamp":"10:15:11.624","smoothed_weight":216.2873023129478,"flow_value":9.56966409672475},{"brew_time":"73.5","timestamp":"10:15:11.705","smoothed_weight":217.23857208165302,"flow_value":9.51269768705231},{"brew_time":"73.6","timestamp":"10:15:11.803","smoothed_weight":218.1547148734877,"flow_value":9.161427918346874},{"brew_time":"73.7","timestamp":"10:15:11.959","smoothed_weight":219.01924338613895,"flow_value":8.645285126512476},{"brew_time":"73.8","timestamp":"10:15:12.025","smoothed_weight":219.84731904752505,"flow_value":8.280756613860945},{"brew_time":"73.9","timestamp":"10:15:12.098","smoothed_weight":220.64258714277256,"flow_value":7.9526809524750774},{"brew_time":"73.10","timestamp":"10:15:12.350","smoothed_weight":221.4383284284953,"flow_value":7.957412857227553},{"brew_time":"74.1","timestamp":"10:15:12.426","smoothed_weight":222.2744955856458,"flow_value":8.361671571504985},{"brew_time":"74.2","timestamp":"10:15:12.479","smoothed_weight":223.12704602708124,"flow_value":8.525504414354259},{"brew_time":"74.3","timestamp":"10:15:12.583","smoothed_weight":223.9743414243731,"flow_value":8.47295397291873},{"brew_time":"74.4","timestamp":"10:15:12.657","smoothed_weight":224.7969072819358,"flow_value":8.225658575626937},{"brew_time":"74.5","timestamp":"10:15:12.730","smoothed_weight":225.5772165537422,"flow_value":7.803092718064022},{"brew_time":"74.6","timestamp":"10:15:12.840","smoothed_weight":226.319494898368,"flow_value":7.422783446257881},{"brew_time":"74.7","timestamp":"10:15:13.080","smoothed_weight":227.01754540853122,"flow_value":6.980505101632275},{"brew_time":"74.8","timestamp":"10:15:13.131","smoothed_weight":227.69579086767808,"flow_value":6.78245459146865},{"brew_time":"74.9","timestamp":"10:15:13.194","smoothed_weight":228.36621178091028,"flow_value":6.704209132321921},{"brew_time":"75.1","timestamp":"10:15:13.316","smoothed_weight":229.05959060281924,"flow_value":6.933788219089649},{"brew_time":"75.2","timestamp":"10:15:13.366","smoothed_weight":229.76363154253733,"flow_value":7.040409397180838},{"brew_time":"75.3","timestamp":"10:15:13.459","smoothed_weight":230.45726838828358,"flow_value":6.9363684574625495},{"brew_time":"75.4","timestamp":"10:15:13.606","smoothed_weight":231.1415415494552,"flow_value":6.842731611716317},{"brew_time":"75.5","timestamp":"10:15:13.675","smoothed_weight":231.8073873945097,"flow_value":6.658458450544913},{"brew_time":"75.6","timestamp":"10:15:13.749","smoothed_weight":232.43664865505875,"flow_value":6.292612605490433},{"brew_time":"75.7","timestamp":"10:15:13.915","smoothed_weight":233.02298378955288,"flow_value":5.86335134494135},{"brew_time":"75.8","timestamp":"10:15:13.982","smoothed_weight":233.5706854105976,"flow_value":5.477016210447232},{"brew_time":"75.9","timestamp":"10:15:14.090","smoothed_weight":234.08361686953785,"flow_value":5.129314589402441},{"brew_time":"75.10","timestamp":"10:15:14.265","smoothed_weight":234.58525518258406,"flow_value":5.016383130462145},{"brew_time":"76.1","timestamp":"10:15:14.335","smoothed_weight":235.10672966432566,"flow_value":5.214744817415919},{"brew_time":"76.2","timestamp":"10:15:14.467","smoothed_weight":235.66605669789308,"flow_value":5.593270335674276},{"brew_time":"76.3","timestamp":"10:15:14.571","smoothed_weight":236.23945102810376,"flow_value":5.733943302106752},{"brew_time":"76.4","timestamp":"10:15:14.649","smoothed_weight":236.82550592529338,"flow_value":5.8605489718962644},{"brew_time":"76.5","timestamp":"10:15:14.712","smoothed_weight":237.39295533276405,"flow_value":5.674494074706615},{"brew_time":"76.6","timestamp":"10:15:14.797","smoothed_weight":237.93365979948766,"flow_value":5.407044667236107},{"brew_time":"76.7","timestamp":"10:15:14.913","smoothed_weight":238.4402938195389,"flow_value":5.0663402005125135},{"brew_time":"76.8","timestamp":"10:15:14.986","smoothed_weight":238.95626443758505,"flow_value":5.159706180461399},{"brew_time":"76.9","timestamp":"10:15:15.096","smoothed_weight":239.51063799382655,"flow_value":5.543735562415009},{"brew_time":"76.10","timestamp":"10:15:15.229","smoothed_weight":240.10957419444392,"flow_value":5.989362006173735},{"brew_time":"77.1","timestamp":"10:15:15.332","smoothed_weight":240.74861677499953,"flow_value":6.390425805556106},{"brew_time":"77.2","timestamp":"10:15:15.400","smoothed_weight":241.40375509749958,"flow_value":6.551383225000507},{"brew_time":"77.3","timestamp":"10:15:15.558","smoothed_weight":242.03337958774964,"flow_value":6.2962449025005185},{"brew_time":"77.4","timestamp":"10:15:15.628","smoothed_weight":242.63004162897468,"flow_value":5.96662041225045},{"brew_time":"77.5","timestamp":"10:15:15.733","smoothed_weight":243.21703746607722,"flow_value":5.869958371025348},{"brew_time":"77.6","timestamp":"10:15:15.855","smoothed_weight":243.8153337194695,"flow_value":5.982962533922773},{"brew_time":"77.7","timestamp":"10:15:15.957","smoothed_weight":244.44380034752254,"flow_value":6.284666280530473},{"brew_time":"77.8","timestamp":"10:15:16.027","smoothed_weight":245.10942031277028,"flow_value":6.656199652477426},{"brew_time":"77.9","timestamp":"10:15:16.142","smoothed_weight":245.79847828149326,"flow_value":6.890579687229774},{"brew_time":"77.10","timestamp":"10:15:16.277","smoothed_weight":246.46863045334393,"flow_value":6.70152171850674},{"brew_time":"78.1","timestamp":"10:15:16.375","smoothed_weight":247.11176740800954,"flow_value":6.431369546656072},{"brew_time":"78.2","timestamp":"10:15:16.499","smoothed_weight":247.7205906672086,"flow_value":6.088232591990561},{"brew_time":"78.3","timestamp":"10:15:16.570","smoothed_weight":248.30853160048775,"flow_value":5.8794093327915675},{"brew_time":"78.4","timestamp":"10:15:16.639","smoothed_weight":248.90767844043899,"flow_value":5.991468399512314},{"brew_time":"78.5","timestamp":"10:15:16.794","smoothed_weight":249.5469105963951,"flow_value":6.392321559561083},{"brew_time":"78.6","timestamp":"10:15:16.857","smoothed_weight":250.23221953675557,"flow_value":6.853089403604713},{"brew_time":"78.7","timestamp":"10:15:17.013","smoothed_weight":250.93899758308004,"flow_value":7.0677804632447305},{"brew_time":"78.8","timestamp":"10:15:17.093","smoothed_weight":251.65509782477204,"flow_value":7.1610024169200415},{"brew_time":"78.9","timestamp":"10:15:17.220","smoothed_weight":252.36958804229485,"flow_value":7.144902175228083},{"brew_time":"79.1","timestamp":"10:15:17.300","smoothed_weight":253.05262923806538,"flow_value":6.83041195770528},{"brew_time":"79.2","timestamp":"10:15:17.373","smoothed_weight":253.71736631425884,"flow_value":6.64737076193461},{"brew_time":"79.3","timestamp":"10:15:17.533","smoothed_weight":254.36562968283297,"flow_value":6.482633685741348},{"brew_time":"79.4","timestamp":"10:15:17.608","smoothed_weight":255.0190667145497,"flow_value":6.534370317167202},{"brew_time":"79.5","timestamp":"10:15:17.699","smoothed_weight":255.70716004309472,"flow_value":6.880933285450226},{"brew_time":"79.6","timestamp":"10:15:17.800","smoothed_weight":256.42644403878523,"flow_value":7.192839956905175},{"brew_time":"79.7","timestamp":"10:15:17.941","smoothed_weight":257.18379963490673,"flow_value":7.573555961214993},{"brew_time":"79.8","timestamp":"10:15:18.009","smoothed_weight":257.96541967141604,"flow_value":7.816200365093096},{"brew_time":"79.9","timestamp":"10:15:18.101","smoothed_weight":258.74887770427443,"flow_value":7.834580328583911},{"brew_time":"79.10","timestamp":"10:15:18.229","smoothed_weight":259.52398993384696,"flow_value":7.751122295725281},{"brew_time":"80.1","timestamp":"10:15:18.312","smoothed_weight":260.28159094046225,"flow_value":7.5760100661528895},{"brew_time":"80.2","timestamp":"10:15:18.396","smoothed_weight":261.02343184641603,"flow_value":7.418409059537794},{"brew_time":"80.3","timestamp":"10:15:18.523","smoothed_weight":261.7510886617744,"flow_value":7.276568153583867},{"brew_time":"80.4","timestamp":"10:15:18.694","smoothed_weight":262.485979795597,"flow_value":7.348911338226003},{"brew_time":"80.5","timestamp":"10:15:18.756","smoothed_weight":263.2373818160373,"flow_value":7.514020204403096},{"brew_time":"80.6","timestamp":"10:15:18.964","smoothed_weight":264.0236436344336,"flow_value":7.862618183962695},{"brew_time":"80.7","timestamp":"10:15:19.030","smoothed_weight":264.8612792709902,"flow_value":8.376356365566267},{"brew_time":"80.8","timestamp":"10:15:19.100","smoothed_weight":265.7451513438912,"flow_value":8.838720729009992},{"brew_time":"80.9","timestamp":"10:15:19.210","smoothed_weight":266.6506362095021,"flow_value":9.054848656109016},{"brew_time":"81.1","timestamp":"10:15:19.282","smoothed_weight":267.5455725885519,"flow_value":8.949363790497955},{"brew_time":"81.2","timestamp":"10:15:19.354","smoothed_weight":268.40101532969675,"flow_value":8.554427411448273},{"brew_time":"81.3","timestamp":"10:15:19.462","smoothed_weight":269.24091379672706,"flow_value":8.398984670303093},{"brew_time":"81.4","timestamp":"10:15:19.585","smoothed_weight":270.07682241705436,"flow_value":8.359086203273023},{"brew_time":"81.5","timestamp":"10:15:19.651","smoothed_weight":270.9091401753489,"flow_value":8.323177582945505},{"brew_time":"81.6","timestamp":"10:15:19.788","smoothed_weight":271.74822615781403,"flow_value":8.390859824651216},{"brew_time":"81.7","timestamp":"10:15:19.862","smoothed_weight":272.60340354203265,"flow_value":8.551773842186208},{"brew_time":"81.8","timestamp":"10:15:19.932","smoothed_weight":273.5030631878294,"flow_value":8.996596457967598},{"brew_time":"81.9","timestamp":"10:15:20.127","smoothed_weight":274.4527568690465,"flow_value":9.496936812170702},{"brew_time":"81.10","timestamp":"10:15:20.209","smoothed_weight":275.4474811821418,"flow_value":9.947243130953325},{"brew_time":"82.1","timestamp":"10:15:20.348","smoothed_weight":276.4527330639276,"flow_value":10.052518817857958},{"brew_time":"82.2","timestamp":"10:15:20.467","smoothed_weight":277.42745975753485,"flow_value":9.747266936072378},{"brew_time":"82.3","timestamp":"10:15:20.562","smoothed_weight":278.37471378178134,"flow_value":9.472540242464902},{"brew_time":"82.4","timestamp":"10:15:20.630","smoothed_weight":279.2972424036032,"flow_value":9.225286218218685},{"brew_time":"82.5","timestamp":"10:15:20.696","smoothed_weight":280.1975181632429,"flow_value":9.002757596396691},{"brew_time":"82.6","timestamp":"10:15:20.806","smoothed_weight":281.0877663469186,"flow_value":8.902481836757374},{"brew_time":"82.7","timestamp":"10:15:20.901","smoothed_weight":281.9889897122268,"flow_value":9.012233653081694},{"brew_time":"82.8","timestamp":"10:15:20.984","smoothed_weight":282.9300907410041,"flow_value":9.411010287773252},{"brew_time":"82.9","timestamp":"10:15:21.102","smoothed_weight":283.9070816669037,"flow_value":9.769909258995995},{"brew_time":"82.10","timestamp":"10:15:21.273","smoothed_weight":284.91637350021335,"flow_value":10.092918333096463},{"brew_time":"83.1","timestamp":"10:15:21.354","smoothed_weight":285.934736150192,"flow_value":10.183626499786556},{"brew_time":"83.2","timestamp":"10:15:21.423","smoothed_weight":286.9412625351728,"flow_value":10.065263849808161},{"brew_time":"83.3","timestamp":"10:15:21.532","smoothed_weight":287.9071362816556,"flow_value":9.65873746482771},{"brew_time":"83.4","timestamp":"10:15:21.602","smoothed_weight":288.82642265349,"flow_value":9.192863718344029},{"brew_time":"83.5","timestamp":"10:15:21.856","smoothed_weight":289.723780388141,"flow_value":8.973577346509956},{"brew_time":"83.6","timestamp":"10:15:21.901","smoothed_weight":290.6114023493269,"flow_value":8.876219611859142},{"brew_time":"83.7","timestamp":"10:15:21.946","smoothed_weight":291.4902621143942,"flow_value":8.788597650673182},{"brew_time":"83.8","timestamp":"10:15:22.112","smoothed_weight":292.3712359029548,"flow_value":8.809737885605955},{"brew_time":"83.9","timestamp":"10:15:22.206","smoothed_weight":293.2741123126593,"flow_value":9.028764097045041},{"brew_time":"84.1","timestamp":"10:15:22.275","smoothed_weight":294.1967010813934,"flow_value":9.225887687341014},{"brew_time":"84.2","timestamp":"10:15:22.342","smoothed_weight":295.0970309732541,"flow_value":9.003298918606788},{"brew_time":"84.3","timestamp":"10:15:22.442","smoothed_weight":295.97732787592867,"flow_value":8.802969026745586},{"brew_time":"84.4","timestamp":"10:15:22.563","smoothed_weight":296.8195950883358,"flow_value":8.422672124071369},{"brew_time":"84.5","timestamp":"10:15:22.676","smoothed_weight":297.6276355795022,"flow_value":8.080404911664232},{"brew_time":"84.6","timestamp":"10:15:22.831","smoothed_weight":298.39487202155203,"flow_value":7.67236442049807},{"brew_time":"84.7","timestamp":"10:15:22.886","smoothed_weight":299.1553848193969,"flow_value":7.605127978448536},{"brew_time":"84.8","timestamp":"10:15:22.953","smoothed_weight":299.9398463374572,"flow_value":7.844615180603114},{"brew_time":"84.9","timestamp":"10:15:23.050","smoothed_weight":300.7558617037115,"flow_value":8.160153662543053},{"brew_time":"84.10","timestamp":"10:15:23.444","smoothed_weight":301.6002755333404,"flow_value":8.44413829628877},{"brew_time":"85.1","timestamp":"10:15:23.502","smoothed_weight":302.46024798000633,"flow_value":8.599724466659495},{"brew_time":"85.2","timestamp":"10:15:23.528","smoothed_weight":303.2842231820057,"flow_value":8.239752019993603},{"brew_time":"85.3","timestamp":"10:15:23.629","smoothed_weight":304.0658008638051,"flow_value":7.815776817994333},{"brew_time":"85.4","timestamp":"10:15:23.662","smoothed_weight":304.80922077742457,"flow_value":7.434199136194479},{"brew_time":"85.5","timestamp":"10:15:23.738","smoothed_weight":305.54829869968216,"flow_value":7.3907792225759295},{"brew_time":"85.6","timestamp":"10:15:23.801","smoothed_weight":306.28346882971397,"flow_value":7.351701300318041},{"brew_time":"85.7","timestamp":"10:15:23.877","smoothed_weight":307.04512194674254,"flow_value":7.616531170285725},{"brew_time":"85.8","timestamp":"10:15:24.040","smoothed_weight":307.8506097520683,"flow_value":8.05487805325754},{"brew_time":"85.9","timestamp":"10:15:24.106","smoothed_weight":308.6955487768615,"flow_value":8.449390247931774},{"brew_time":"85.10","timestamp":"10:15:24.228","smoothed_weight":309.55599389917535,"flow_value":8.604451223138767},{"brew_time":"86.1","timestamp":"10:15:24.308","smoothed_weight":310.3903945092578,"flow_value":8.344006100824686},{"brew_time":"86.2","timestamp":"10:15:24.390","smoothed_weight":311.191355058332,"flow_value":8.009605490742047},{"brew_time":"86.3","timestamp":"10:15:24.526","smoothed_weight":311.9722195524988,"flow_value":7.808644941667922},{"brew_time":"86.4","timestamp":"10:15:24.627","smoothed_weight":312.754997597249,"flow_value":7.8277804475015955},{"brew_time":"86.5","timestamp":"10:15:24.705","smoothed_weight":313.5394978375241,"flow_value":7.84500240275122},{"brew_time":"86.6","timestamp":"10:15:24.804","smoothed_weight":314.3555480537717,"flow_value":8.160502162476178},{"brew_time":"86.7","timestamp":"10:15:24.894","smoothed_weight":315.2199932483946,"flow_value":8.644451946228742},{"brew_time":"86.8","timestamp":"10:15:25.120","smoothed_weight":316.10799392355517,"flow_value":8.880006751605833},{"brew_time":"86.9","timestamp":"10:15:25.186","smoothed_weight":316.9971945311997,"flow_value":8.892006076445114},{"brew_time":"87.1","timestamp":"10:15:25.270","smoothed_weight":317.8874750780797,"flow_value":8.902805468800352},{"brew_time":"87.2","timestamp":"10:15:25.346","smoothed_weight":318.73872757027175,"flow_value":8.512524921920317},{"brew_time":"87.3","timestamp":"10:15:25.417","smoothed_weight":319.54485481324457,"flow_value":8.061272429728206},{"brew_time":"87.4","timestamp":"10:15:25.564","smoothed_weight":320.3103693319201,"flow_value":7.65514518675559},{"brew_time":"87.5","timestamp":"10:15:25.640","smoothed_weight":321.0593323987281,"flow_value":7.489630668079599},{"brew_time":"87.6","timestamp":"10:15:25.754","smoothed_weight":321.79339915885527,"flow_value":7.340667601271775},{"brew_time":"87.7","timestamp":"10:15:25.828","smoothed_weight":322.53405924296976,"flow_value":7.40660084114495},{"brew_time":"87.8","timestamp":"10:15:26.017","smoothed_weight":323.3006533186728,"flow_value":7.665940757030398},{"brew_time":"87.9","timestamp":"10:15:26.090","smoothed_weight":324.07058798680555,"flow_value":7.699346681327484},{"brew_time":"87.10","timestamp":"10:15:26.183","smoothed_weight":324.81352918812496,"flow_value":7.42941201319411},{"brew_time":"88.1","timestamp":"10:15:26.356","smoothed_weight":325.5121762693125,"flow_value":6.986470811875165},{"brew_time":"88.2","timestamp":"10:15:26.435","smoothed_weight":326.18095864238126,"flow_value":6.687823730687796},{"brew_time":"88.3","timestamp":"10:15:27.119","smoothed_weight":326.88286277814314,"flow_value":7.019041357618789},{"brew_time":"88.4","timestamp":"10:15:27.155","smoothed_weight":327.60457650032885,"flow_value":7.217137221857115},{"brew_time":"88.5","timestamp":"10:15:27.211","smoothed_weight":328.35411885029595,"flow_value":7.495423499671006},{"brew_time":"88.6","timestamp":"10:15:27.231","smoothed_weight":329.15870696526633,"flow_value":8.04588114970386},{"brew_time":"88.7","timestamp":"10:15:27.251","smoothed_weight":329.97283626873974,"flow_value":8.141293034734076},{"brew_time":"88.8","timestamp":"10:15:27.275","smoothed_weight":330.75555264186573,"flow_value":7.82716373125993},{"brew_time":"88.9","timestamp":"10:15:27.378","smoothed_weight":330.93999737767916,"flow_value":1.844447358134289},{"brew_time":"88.10","timestamp":"10:15:27.654","smoothed_weight":331.67599763991126,"flow_value":7.3600026223209625},{"brew_time":"89.1","timestamp":"10:15:27.679","smoothed_weight":332.4083978759201,"flow_value":7.324002360088571},{"brew_time":"89.2","timestamp":"10:15:27.939","smoothed_weight":333.14755808832814,"flow_value":7.3916021240802365},{"brew_time":"89.3","timestamp":"10:15:28.355","smoothed_weight":333.92280227949533,"flow_value":7.752441911671895},{"brew_time":"90.1","timestamp":"10:15:28.407","smoothed_weight":334.7305220515458,"flow_value":8.077197720504614},{"brew_time":"90.2","timestamp":"10:15:28.533","smoothed_weight":335.56746984639125,"flow_value":8.369477948454573},{"brew_time":"90.3","timestamp":"10:15:28.588","smoothed_weight":336.44072286175214,"flow_value":8.732530153608877},{"brew_time":"90.4","timestamp":"10:15:28.612","smoothed_weight":337.2866505755769,"flow_value":8.459277138247785},{"brew_time":"90.5","timestamp":"10:15:28.694","smoothed_weight":338.09798551801924,"flow_value":8.11334942442329},{"brew_time":"90.6","timestamp":"10:15:28.713","smoothed_weight":338.89818696621734,"flow_value":8.00201448198095},{"brew_time":"90.7","timestamp":"10:15:28.745","smoothed_weight":339.7083682695956,"flow_value":8.101813033782719},{"brew_time":"90.8","timestamp":"10:15:28.851","smoothed_weight":340.54753144263606,"flow_value":8.39163173040447},{"brew_time":"90.9","timestamp":"10:15:28.869","smoothed_weight":341.43277829837245,"flow_value":8.852468557363977},{"brew_time":"90.10","timestamp":"10:15:28.954","smoothed_weight":342.3595004685352,"flow_value":9.267221701627477},{"brew_time":"90.11","timestamp":"10:15:28.976","smoothed_weight":343.31355042168167,"flow_value":9.540499531464661},{"brew_time":"90.12","timestamp":"10:15:29.118","smoothed_weight":344.25219537951347,"flow_value":9.386449578317979},{"brew_time":"90.13","timestamp":"10:15:29.167","smoothed_weight":345.1669758415621,"flow_value":9.147804620486113},{"brew_time":"90.14","timestamp":"10:15:29.285","smoothed_weight":346.0602782574059,"flow_value":8.933024158438343},{"brew_time":"91.1","timestamp":"10:15:29.333","smoothed_weight":346.95425043166534,"flow_value":8.939721742594315},{"brew_time":"91.2","timestamp":"10:15:29.475","smoothed_weight":347.8888253884988,"flow_value":9.34574956833444},{"brew_time":"91.3","timestamp":"10:15:29.541","smoothed_weight":348.8699428496489,"flow_value":9.811174611501201},{"brew_time":"91.4","timestamp":"10:15:29.654","smoothed_weight":349.882948564684,"flow_value":10.130057150350922},{"brew_time":"91.5","timestamp":"10:15:29.777","smoothed_weight":350.9246537082156,"flow_value":10.417051435316012},{"brew_time":"91.6","timestamp":"10:15:29.835","smoothed_weight":351.972188337394,"flow_value":10.475346291784149},{"brew_time":"91.7","timestamp":"10:15:29.922","smoothed_weight":352.9749695036546,"flow_value":10.027811662606041},{"brew_time":"91.8","timestamp":"10:15:29.970","smoothed_weight":353.9374725532892,"flow_value":9.62503049634563},{"brew_time":"91.9","timestamp":"10:15:30.020","smoothed_weight":354.9037252979603,"flow_value":9.662527446711238},{"brew_time":"91.10","timestamp":"10:15:30.108","smoothed_weight":355.8933527681643,"flow_value":9.896274702039705},{"brew_time":"91.11","timestamp":"10:15:30.151","smoothed_weight":356.8940174913478,"flow_value":10.006647231835473},{"brew_time":"91.12","timestamp":"10:15:30.237","smoothed_weight":357.95461574221304,"flow_value":10.605982508652119},{"brew_time":"92.1","timestamp":"10:15:30.322","smoothed_weight":359.03915416799174,"flow_value":10.845384257787032},{"brew_time":"92.2","timestamp":"10:15:30.404","smoothed_weight":360.1052387511926,"flow_value":10.660845832008476},{"brew_time":"92.3","timestamp":"10:15:30.508","smoothed_weight":361.13471487607336,"flow_value":10.294761248807731},{"brew_time":"92.4","timestamp":"10:15:30.655","smoothed_weight":362.12124338846604,"flow_value":9.86528512392681},{"brew_time":"92.5","timestamp":"10:15:30.727","smoothed_weight":363.0691190496195,"flow_value":9.478756611534322},{"brew_time":"92.6","timestamp":"10:15:30.896","smoothed_weight":364.0022071446575,"flow_value":9.330880950380447},{"brew_time":"92.7","timestamp":"10:15:30.951","smoothed_weight":364.9619864301918,"flow_value":9.59779285534296},{"brew_time":"92.8","timestamp":"10:15:31.019","smoothed_weight":365.95578778717265,"flow_value":9.93801356980839},{"brew_time":"92.9","timestamp":"10:15:31.108","smoothed_weight":366.9902090084554,"flow_value":10.344212212827415},{"brew_time":"92.10","timestamp":"10:15:31.252","smoothed_weight":368.03118810760986,"flow_value":10.409790991544696},{"brew_time":"93.1","timestamp":"10:15:31.364","smoothed_weight":369.0280692968489,"flow_value":9.968811892390477},{"brew_time":"93.2","timestamp":"10:15:31.439","smoothed_weight":369.98526236716407,"flow_value":9.571930703151565},{"brew_time":"93.3","timestamp":"10:15:31.546","smoothed_weight":370.9067361304477,"flow_value":9.214737632836432},{"brew_time":"93.4","timestamp":"10:15:31.638","smoothed_weight":371.82606251740293,"flow_value":9.193263869552197},{"brew_time":"93.5","timestamp":"10:15:31.752","smoothed_weight":372.7734562656626,"flow_value":9.473937482596853},{"brew_time":"93.6","timestamp":"10:15:31.822","smoothed_weight":373.75611063909633,"flow_value":9.826543734337179},{"brew_time":"93.7","timestamp":"10:15:31.944","smoothed_weight":374.79049957518674,"flow_value":10.343889360904086},{"brew_time":"93.8","timestamp":"10:15:32.064","smoothed_weight":375.8414496176681,"flow_value":10.50950042481361},{"brew_time":"93.9","timestamp":"10:15:32.136","smoothed_weight":376.8473046559013,"flow_value":10.058550382332214},{"brew_time":"93.10","timestamp":"10:15:32.304","smoothed_weight":377.8025741903112,"flow_value":9.552695344098652},{"brew_time":"94.1","timestamp":"10:15:32.385","smoothed_weight":378.7223167712801,"flow_value":9.197425809688866},{"brew_time":"94.2","timestamp":"10:15:32.469","smoothed_weight":379.6400850941521,"flow_value":9.17768322872007},{"brew_time":"94.3","timestamp":"10:15:32.627","smoothed_weight":380.58607658473693,"flow_value":9.45991490584845},{"brew_time":"94.4","timestamp":"10:15:32.680","smoothed_weight":381.55746892626325,"flow_value":9.713923415263253},{"brew_time":"94.5","timestamp":"10:15:32.800","smoothed_weight":382.57172203363695,"flow_value":10.142531073736905},{"brew_time":"94.6","timestamp":"10:15:32.875","smoothed_weight":383.6145498302733,"flow_value":10.428277966363453},{"brew_time":"94.7","timestamp":"10:15:33.001","smoothed_weight":384.64309484724595,"flow_value":10.285450169726573},{"brew_time":"94.8","timestamp":"10:15:33.107","smoothed_weight":385.6387853625214,"flow_value":9.956905152754416},{"brew_time":"94.9","timestamp":"10:15:33.196","smoothed_weight":386.6149068262693,"flow_value":9.761214637479156},{"brew_time":"95.1","timestamp":"10:15:33.335","smoothed_weight":387.57341614364236,"flow_value":9.58509317373057},{"brew_time":"95.2","timestamp":"10:15:33.387","smoothed_weight":388.52607452927816,"flow_value":9.526583856358002},{"brew_time":"95.3","timestamp":"10:15:33.581","smoothed_weight":389.4934670763503,"flow_value":9.673925470721656},{"brew_time":"95.4","timestamp":"10:15:33.618","smoothed_weight":390.4841203687153,"flow_value":9.90653292364982},{"brew_time":"95.5","timestamp":"10:15:33.703","smoothed_weight":391.4957083318438,"flow_value":10.11587963128477},{"brew_time":"95.6","timestamp":"10:15:33.776","smoothed_weight":392.5161374986594,"flow_value":10.204291668156316},{"brew_time":"95.7","timestamp":"10:15:33.901","smoothed_weight":393.5445237487935,"flow_value":10.283862501340764},{"brew_time":"95.8","timestamp":"10:15:33.996","smoothed_weight":394.5100713739142,"flow_value":9.655476251206778},{"brew_time":"95.9","timestamp":"10:15:34.119","smoothed_weight":395.43906423652277,"flow_value":9.289928626085953},{"brew_time":"95.10","timestamp":"10:15:34.213","smoothed_weight":396.34515781287047,"flow_value":9.060935763477005},{"brew_time":"96.1","timestamp":"10:15:34.320","smoothed_weight":397.2506420315834,"flow_value":9.054842187129566},{"brew_time":"96.2","timestamp":"10:15:34.433","smoothed_weight":398.15557782842507,"flow_value":9.049357968416416},{"brew_time":"96.3","timestamp":"10:15:34.538","smoothed_weight":399.0600200455825,"flow_value":9.044422171574524},{"brew_time":"96.4","timestamp":"10:15:34.645","smoothed_weight":399.9840180410243,"flow_value":9.239979954417663},{"brew_time":"96.5","timestamp":"10:15:34.726","smoothed_weight":400.94561623692186,"flow_value":9.615981958975794},{"brew_time":"96.6","timestamp":"10:15:34.909","smoothed_weight":401.9010546132297,"flow_value":9.554383763078249},{"brew_time":"96.7","timestamp":"10:15:34.964","smoothed_weight":402.83094915190674,"flow_value":9.29894538677047},{"brew_time":"96.8","timestamp":"10:15:35.062","smoothed_weight":403.7078542367161,"flow_value":8.769050848093798},{"brew_time":"96.9","timestamp":"10:15:35.134","smoothed_weight":404.56706881304456,"flow_value":8.592145763284407},{"brew_time":"96.10","timestamp":"10:15:35.256","smoothed_weight":405.4203619317401,"flow_value":8.532931186955466},{"brew_time":"97.1","timestamp":"10:15:35.377","smoothed_weight":406.2683257385661,"flow_value":8.479638068259874},{"brew_time":"97.2","timestamp":"10:15:35.468","smoothed_weight":407.17149316470955,"flow_value":9.031674261434546},{"brew_time":"97.3","timestamp":"10:15:35.628","smoothed_weight":408.1243438482386,"flow_value":9.5285068352905},{"brew_time":"97.4","timestamp":"10:15:35.731","smoothed_weight":409.0919094634147,"flow_value":9.675656151761132},{"brew_time":"97.5","timestamp":"10:15:35.770","smoothed_weight":410.0627185170732,"flow_value":9.708090536585132},{"brew_time":"97.6","timestamp":"10:15:35.923","smoothed_weight":411.0064466653659,"flow_value":9.437281482926778},{"brew_time":"97.7","timestamp":"10:15:35.976","smoothed_weight":411.9258019988293,"flow_value":9.193553334633862},{"brew_time":"97.8","timestamp":"10:15:36.069","smoothed_weight":412.8232217989464,"flow_value":8.974198001171203},{"brew_time":"97.9","timestamp":"10:15:36.177","smoothed_weight":413.7408996190518,"flow_value":9.176778201053821},{"brew_time":"97.10","timestamp":"10:15:36.367","smoothed_weight":414.6868096571466,"flow_value":9.459100380948371},{"brew_time":"98.1","timestamp":"10:15:36.416","smoothed_weight":415.66812869143195,"flow_value":9.813190342853204},{"brew_time":"98.2","timestamp":"10:15:36.514","smoothed_weight":416.7013158222888,"flow_value":10.331871308568452},{"brew_time":"98.3","timestamp":"10:15:36.628","smoothed_weight":417.74118424005997,"flow_value":10.398684177711743},{"brew_time":"98.4","timestamp":"10:15:36.699","smoothed_weight":418.757065816054,"flow_value":10.15881575994058},{"brew_time":"98.5","timestamp":"10:15:36.787","smoothed_weight":419.7413592344486,"flow_value":9.842934183946},{"brew_time":"98.6","timestamp":"10:15:36.897","smoothed_weight":420.69722331100377,"flow_value":9.558640765551445},{"brew_time":"98.7","timestamp":"10:15:37.127","smoothed_weight":421.6275009799034,"flow_value":9.302776688996346},{"brew_time":"98.8","timestamp":"10:15:37.225","smoothed_weight":422.54475088191305,"flow_value":9.172499020096438},{"brew_time":"99.1","timestamp":"10:15:37.297","smoothed_weight":423.49027579372176,"flow_value":9.455249118087181},{"brew_time":"99.2","timestamp":"10:15:37.351","smoothed_weight":424.4712482143496,"flow_value":9.80972420627836},{"brew_time":"99.3","timestamp":"10:15:37.436","smoothed_weight":425.4841233929146,"flow_value":10.128751785650252},{"brew_time":"99.4","timestamp":"10:15:37.569","smoothed_weight":426.50571105362314,"flow_value":10.215876607085193},{"brew_time":"99.5","timestamp":"10:15:37.639","smoothed_weight":427.5051399482609,"flow_value":9.99428894637731},{"brew_time":"99.6","timestamp":"10:15:37.706","smoothed_weight":428.46462595343485,"flow_value":9.594860051739715},{"brew_time":"99.7","timestamp":"10:15:37.896","smoothed_weight":429.3981633580913,"flow_value":9.335374046564766},{"brew_time":"99.8","timestamp":"10:15:37.965","smoothed_weight":430.30834702228225,"flow_value":9.101836641909244},{"brew_time":"99.9","timestamp":"10:15:38.039","smoothed_weight":431.217512320054,"flow_value":9.091652977717786},{"brew_time":"99.10","timestamp":"10:15:38.128","smoothed_weight":432.1757610880486,"flow_value":9.582487679945757},{"brew_time":"99.11","timestamp":"10:15:38.255","smoothed_weight":433.15818497924374,"flow_value":9.824238911951397},{"brew_time":"100.1","timestamp":"10:15:38.352","smoothed_weight":434.1723664813194,"flow_value":10.14181502075644},{"brew_time":"100.2","timestamp":"10:15:38.426","smoothed_weight":435.21512983318746,"flow_value":10.42763351868075},{"brew_time":"100.3","timestamp":"10:15:38.619","smoothed_weight":436.2536168498687,"flow_value":10.384870166812448},{"brew_time":"100.4","timestamp":"10:15:38.687","smoothed_weight":437.25825516488186,"flow_value":10.046383150131533},{"brew_time":"100.5","timestamp":"10:15:38.764","smoothed_weight":438.2224296483937,"flow_value":9.641744835118402},{"brew_time":"100.6","timestamp":"10:15:38.877","smoothed_weight":439.1801866835543,"flow_value":9.577570351606255},{"brew_time":"100.7","timestamp":"10:15:38.991","smoothed_weight":440.1421680151989,"flow_value":9.619813316445516},{"brew_time":"100.8","timestamp":"10:15:39.065","smoothed_weight":441.117951213679,"flow_value":9.757831984801442},{"brew_time":"100.9","timestamp":"10:15:39.234","smoothed_weight":442.1361560923111,"flow_value":10.182048786321047},{"brew_time":"101.1","timestamp":"10:15:39.322","smoothed_weight":443.19254048308,"flow_value":10.563843907688693},{"brew_time":"101.2","timestamp":"10:15:39.394","smoothed_weight":444.28328643477204,"flow_value":10.907459516920426},{"brew_time":"101.3","timestamp":"10:15:39.504","smoothed_weight":445.37495779129483,"flow_value":10.916713565227951},{"brew_time":"101.4","timestamp":"10:15:39.624","smoothed_weight":446.41746201216534,"flow_value":10.425042208705122},{"brew_time":"101.5","timestamp":"10:15:39.692","smoothed_weight":447.4257158109489,"flow_value":10.08253798783528},{"brew_time":"101.6","timestamp":"10:15:39.781","smoothed_weight":448.403144229854,"flow_value":9.774284189051059},{"brew_time":"101.7","timestamp":"10:15:39.900","smoothed_weight":449.3728298068686,"flow_value":9.696855770146158},{"brew_time":"101.8","timestamp":"10:15:39.971","smoothed_weight":450.3355468261817,"flow_value":9.627170193131178},{"brew_time":"101.9","timestamp":"10:15:40.144","smoothed_weight":451.32199214356353,"flow_value":9.86445317381822},{"brew_time":"101.10","timestamp":"10:15:40.237","smoothed_weight":452.34979292920724,"flow_value":10.278007856437057},{"brew_time":"102.1","timestamp":"10:15:40.323","smoothed_weight":453.3848136362865,"flow_value":10.350207070792408},{"brew_time":"102.2","timestamp":"10:15:40.391","smoothed_weight":454.3663322726578,"flow_value":9.815186363713337},{"brew_time":"102.3","timestamp":"10:15:40.583","smoothed_weight":455.30969904539205,"flow_value":9.433667727342367},{"brew_time":"102.4","timestamp":"10:15:40.629","smoothed_weight":456.2087291408529,"flow_value":8.990300954608301},{"brew_time":"102.5","timestamp":"10:15:40.789","smoothed_weight":457.0778562267676,"flow_value":8.691270859147266},{"brew_time":"102.6","timestamp":"10:15:40.856","smoothed_weight":457.94007060409086,"flow_value":8.622143773232551},{"brew_time":"102.7","timestamp":"10:15:40.929","smoothed_weight":458.80606354368183,"flow_value":8.659929395909671},{"brew_time":"102.8","timestamp":"10:15:41.020","smoothed_weight":459.68545718931364,"flow_value":8.793936456318079},{"brew_time":"102.9","timestamp":"10:15:41.131","smoothed_weight":460.5669114703823,"flow_value":8.814542810686703},{"brew_time":"102.10","timestamp":"10:15:41.272","smoothed_weight":461.45022032334407,"flow_value":8.833088529617612},{"brew_time":"103.1","timestamp":"10:15:41.358","smoothed_weight":462.3051982910097,"flow_value":8.549779676656044},{"brew_time":"103.2","timestamp":"10:15:41.528","smoothed_weight":463.11467846190874,"flow_value":8.094801708990644},{"brew_time":"103.3","timestamp":"10:15:41.564","smoothed_weight":463.9032106157179,"flow_value":7.885321538091716},{"brew_time":"103.4","timestamp":"10:15:41.641","smoothed_weight":464.6528895541461,"flow_value":7.496789384281897},{"brew_time":"103.5","timestamp":"10:15:41.728","smoothed_weight":465.38760059873147,"flow_value":7.347110445853673},{"brew_time":"103.6","timestamp":"10:15:41.850","smoothed_weight":466.13884053885835,"flow_value":7.5123994012687945},{"brew_time":"103.7","timestamp":"10:15:41.959","smoothed_weight":466.9149564849725,"flow_value":7.76115946114146},{"brew_time":"103.8","timestamp":"10:15:42.034","smoothed_weight":467.7234608364752,"flow_value":8.085043515027337},{"brew_time":"103.9","timestamp":"10:15:42.238","smoothed_weight":468.54111475282775,"flow_value":8.176539163525263},{"brew_time":"104.1","timestamp":"10:15:42.320","smoothed_weight":469.347003277545,"flow_value":8.058885247172611},{"brew_time":"104.2","timestamp":"10:15:42.406","smoothed_weight":470.12230294979054,"flow_value":7.7529967224552365},{"brew_time":"104.3","timestamp":"10:15:42.511","smoothed_weight":470.8700726548115,"flow_value":7.477697050209713},{"brew_time":"104.4","timestamp":"10:15:42.593","smoothed_weight":471.5930653893304,"flow_value":7.229927345188685},{"brew_time":"104.5","timestamp":"10:15:42.666","smoothed_weight":472.31375885039733,"flow_value":7.2069346106695775},{"brew_time":"104.6","timestamp":"10:15:42.789","smoothed_weight":473.0323829653576,"flow_value":7.186241149602779},{"brew_time":"104.7","timestamp":"10:15:42.889","smoothed_weight":473.76914466882187,"flow_value":7.367617034642535},{"brew_time":"104.8","timestamp":"10:15:42.956","smoothed_weight":474.5222302019397,"flow_value":7.530855331178259},{"brew_time":"104.9","timestamp":"10:15:43.080","smoothed_weight":475.28000718174576,"flow_value":7.577769798060672},{"brew_time":"104.10","timestamp":"10:15:43.215","smoothed_weight":476.0320064635712,"flow_value":7.519992818254195},{"brew_time":"105.1","timestamp":"10:15:43.320","smoothed_weight":476.7488058172141,"flow_value":7.16799353642898},{"brew_time":"105.2","timestamp":"10:15:43.388","smoothed_weight":477.43392523549267,"flow_value":6.851194182785889},{"brew_time":"105.3","timestamp":"10:15:43.524","smoothed_weight":478.10053271194346,"flow_value":6.6660747645079255},{"brew_time":"105.4","timestamp":"10:15:43.595","smoothed_weight":478.75047944074913,"flow_value":6.499467288056735},{"brew_time":"105.5","timestamp":"10:15:43.718","smoothed_weight":479.39543149667423,"flow_value":6.449520559251027},{"brew_time":"105.6","timestamp":"10:15:43.826","smoothed_weight":480.0658883470068,"flow_value":6.704568503325845},{"brew_time":"105.7","timestamp":"10:15:43.941","smoothed_weight":480.7792995123061,"flow_value":7.134111652993056},{"brew_time":"105.8","timestamp":"10:15:44.014","smoothed_weight":481.5113695610755,"flow_value":7.320700487694012},{"brew_time":"105.9","timestamp":"10:15:44.127","smoothed_weight":482.24023260496796,"flow_value":7.288630438924315},{"brew_time":"105.10","timestamp":"10:15:44.217","smoothed_weight":482.9462093444712,"flow_value":7.0597673950322815},{"brew_time":"106.1","timestamp":"10:15:44.334","smoothed_weight":483.62158841002406,"flow_value":6.753790655528746},{"brew_time":"106.2","timestamp":"10:15:44.428","smoothed_weight":484.27942956902166,"flow_value":6.578411589975985},{"brew_time":"106.3","timestamp":"10:15:44.579","smoothed_weight":484.94148661211955,"flow_value":6.620570430978887},{"brew_time":"106.4","timestamp":"10:15:44.636","smoothed_weight":485.6273379509076,"flow_value":6.858513387880407},{"brew_time":"106.5","timestamp":"10:15:44.724","smoothed_weight":486.3446041558168,"flow_value":7.172662049092082},{"brew_time":"106.6","timestamp":"10:15:44.847","smoothed_weight":487.1101437402351,"flow_value":7.655395844183204},{"brew_time":"106.7","timestamp":"10:15:44.956","smoothed_weight":487.9191293662116,"flow_value":8.089856259765043},{"brew_time":"106.8","timestamp":"10:15:45.037","smoothed_weight":488.7372164295905,"flow_value":8.180870633788686},{"brew_time":"106.9","timestamp":"10:15:45.245","smoothed_weight":489.5334947866315,"flow_value":7.962783570409897},{"brew_time":"107.1","timestamp":"10:15:45.318","smoothed_weight":490.31014530796836,"flow_value":7.7665052133687595},{"brew_time":"107.2","timestamp":"10:15:45.375","smoothed_weight":491.06913077717155,"flow_value":7.589854692031963},{"brew_time":"107.3","timestamp":"10:15:45.512","smoothed_weight":491.8422176994544,"flow_value":7.730869222828574},{"brew_time":"107.4","timestamp":"10:15:45.611","smoothed_weight":492.637995929509,"flow_value":7.957782300545659},{"brew_time":"107.5","timestamp":"10:15:45.698","smoothed_weight":493.4841963365581,"flow_value":8.462004070491389},{"brew_time":"107.6","timestamp":"10:15:45.815","smoothed_weight":494.36577670290234,"flow_value":8.815803663442239},{"brew_time":"107.7","timestamp":"10:15:45.889","smoothed_weight":495.2591990326121,"flow_value":8.934223297097788},{"brew_time":"107.8","timestamp":"10:15:45.966","smoothed_weight":496.1232791293509,"flow_value":8.640800967388031},{"brew_time":"107.9","timestamp":"10:15:46.089","smoothed_weight":496.9609512164158,"flow_value":8.376720870649024},{"brew_time":"107.10","timestamp":"10:15:46.225","smoothed_weight":497.75485609477425,"flow_value":7.939048783584326},{"brew_time":"108.1","timestamp":"10:15:46.309","smoothed_weight":498.52937048529685,"flow_value":7.745143905225973},{"brew_time":"108.2","timestamp":"10:15:46.438","smoothed_weight":499.2964334367672,"flow_value":7.670629514703364},{"brew_time":"108.3","timestamp":"10:15:46.539","smoothed_weight":500.05679009309046,"flow_value":7.603566563232675},{"brew_time":"108.4","timestamp":"10:15:46.654","smoothed_weight":500.8411110837814,"flow_value":7.843209906909578},{"brew_time":"108.5","timestamp":"10:15:46.730","smoothed_weight":501.6469999754033,"flow_value":8.05888891621862},{"brew_time":"108.6","timestamp":"10:15:46.806","smoothed_weight":502.462299977863,"flow_value":8.153000024597077},{"brew_time":"108.7","timestamp":"10:15:46.908","smoothed_weight":503.2660699800767,"flow_value":8.03770002213696},{"brew_time":"108.8","timestamp":"10:15:46.976","smoothed_weight":504.02946298206905,"flow_value":7.633930019923696},{"brew_time":"108.9","timestamp":"10:15:47.136","smoothed_weight":504.7465166838622,"flow_value":7.170537017931338},{"brew_time":"108.10","timestamp":"10:15:47.230","smoothed_weight":505.421865015476,"flow_value":6.753483316138045},{"brew_time":"109.1","timestamp":"10:15:47.399","smoothed_weight":506.0596785139284,"flow_value":6.3781349845243085},{"brew_time":"109.2","timestamp":"10:15:47.453","smoothed_weight":506.6737106625356,"flow_value":6.140321486071798},{"brew_time":"109.3","timestamp":"10:15:47.583","smoothed_weight":507.286339596282,"flow_value":6.126289337464073},{"brew_time":"109.4","timestamp":"10:15:47.648","smoothed_weight":507.9077056366538,"flow_value":6.213660403718109},{"brew_time":"109.5","timestamp":"10:15:47.724","smoothed_weight":508.54693507298845,"flow_value":6.392294363346309},{"brew_time":"109.6","timestamp":"10:15:47.846","smoothed_weight":509.1922415656896,"flow_value":6.453064927011383},{"brew_time":"109.7","timestamp":"10:15:47.914","smoothed_weight":509.83301740912066,"flow_value":6.407758434310722},{"brew_time":"109.8","timestamp":"10:15:48.038","smoothed_weight":510.4497156682086,"flow_value":6.166982590879684},{"brew_time":"109.9","timestamp":"10:15:48.157","smoothed_weight":511.0247441013878,"flow_value":5.750284331791704},{"brew_time":"109.10","timestamp":"10:15:48.281","smoothed_weight":511.54226969124903,"flow_value":5.175255898612363},{"brew_time":"110.1","timestamp":"10:15:48.373","smoothed_weight":512.0380427221241,"flow_value":4.957730308751138},{"brew_time":"110.2","timestamp":"10:15:48.476","smoothed_weight":512.5242384499118,"flow_value":4.861957277876172},{"brew_time":"110.3","timestamp":"10:15:48.580","smoothed_weight":513.0318146049207,"flow_value":5.075761550089055},{"brew_time":"110.4","timestamp":"10:15:48.669","smoothed_weight":513.5586331444287,"flow_value":5.268185395079854},{"brew_time":"110.5","timestamp":"10:15:48.788","smoothed_weight":514.0927698299859,"flow_value":5.341366855572005},{"brew_time":"110.6","timestamp":"10:15:48.863","smoothed_weight":514.6234928469873,"flow_value":5.307230170014918},{"brew_time":"110.7","timestamp":"10:15:48.964","smoothed_weight":515.1611435622885,"flow_value":5.376507153011971},{"brew_time":"110.8","timestamp":"10:15:49.075","smoothed_weight":515.6650292060597,"flow_value":5.038856437711274},{"brew_time":"110.9","timestamp":"10:15:49.147","smoothed_weight":516.1485262854537,"flow_value":4.834970793940556},{"brew_time":"110.10","timestamp":"10:15:49.290","smoothed_weight":516.6136736569084,"flow_value":4.65147371454691},{"brew_time":"111.1","timestamp":"10:15:49.402","smoothed_weight":517.0823062912176,"flow_value":4.686326343091878},{"brew_time":"111.2","timestamp":"10:15:49.591","smoothed_weight":517.5840756620959,"flow_value":5.0176937087826445},{"brew_time":"111.3","timestamp":"10:15:49.662","smoothed_weight":518.1356680958863,"flow_value":5.5159243379046075},{"brew_time":"111.4","timestamp":"10:15:49.736","smoothed_weight":518.7121012862978,"flow_value":5.764331904114215},{"brew_time":"111.5","timestamp":"10:15:49.819","smoothed_weight":519.2808911576681,"flow_value":5.6878987137031345},{"brew_time":"111.6","timestamp":"10:15:49.890","smoothed_weight":519.8228020419012,"flow_value":5.419108842331752},{"brew_time":"111.7","timestamp":"10:15:50.008","smoothed_weight":520.3305218377111,"flow_value":5.077197958098623},{"brew_time":"111.8","timestamp":"10:15:50.084","smoothed_weight":520.8174696539401,"flow_value":4.869478162289624},{"brew_time":"111.9","timestamp":"10:15:50.299","smoothed_weight":521.3057226885461,"flow_value":4.882530346060321},{"brew_time":"112.1","timestamp":"10:15:50.411","smoothed_weight":521.8051504196915,"flow_value":4.994277311453743},{"brew_time":"112.2","timestamp":"10:15:50.465","smoothed_weight":522.3146353777223,"flow_value":5.0948495803083915},{"brew_time":"112.3","timestamp":"10:15:50.580","smoothed_weight":522.85317183995,"flow_value":5.385364622277393},{"brew_time":"112.4","timestamp":"10:15:50.650","smoothed_weight":523.427854655955,"flow_value":5.7468281600495175},{"brew_time":"112.5","timestamp":"10:15:50.719","smoothed_weight":524.0250691903595,"flow_value":5.97214534404543},{"brew_time":"112.6","timestamp":"10:15:50.805","smoothed_weight":524.6125622713236,"flow_value":5.874930809640091},{"brew_time":"112.7","timestamp":"10:15:50.934","smoothed_weight":525.1813060441912,"flow_value":5.687437728676059},{"brew_time":"112.8","timestamp":"10:15:51.030","smoothed_weight":525.723175439772,"flow_value":5.418693955808749},{"brew_time":"112.9","timestamp":"10:15:51.148","smoothed_weight":526.2608578957949,"flow_value":5.376824560228215},{"brew_time":"112.10","timestamp":"10:15:51.239","smoothed_weight":526.8047721062154,"flow_value":5.43914210420553},{"brew_time":"113.1","timestamp":"10:15:51.376","smoothed_weight":527.374294895594,"flow_value":5.695227893785386},{"brew_time":"113.2","timestamp":"10:15:51.534","smoothed_weight":527.9868654060346,"flow_value":6.125705104406052},{"brew_time":"113.3","timestamp":"10:15:51.599","smoothed_weight":528.6381788654311,"flow_value":6.513134593965333},{"brew_time":"113.4","timestamp":"10:15:51.752","smoothed_weight":529.284360978888,"flow_value":6.461821134569163},{"brew_time":"113.5","timestamp":"10:15:51.833","smoothed_weight":529.9159248809992,"flow_value":6.315639021112247},{"brew_time":"113.6","timestamp":"10:15:51.893","smoothed_weight":530.5243323928993,"flow_value":6.084075119000545},{"brew_time":"113.7","timestamp":"10:15:51.974","smoothed_weight":531.1018991536093,"flow_value":5.775667607100559},{"brew_time":"113.8","timestamp":"10:15:52.091","smoothed_weight":531.6617092382484,"flow_value":5.598100846390253},{"brew_time":"113.9","timestamp":"10:15:52.164","smoothed_weight":532.2355383144235,"flow_value":5.738290761751159},{"brew_time":"113.10","timestamp":"10:15:52.285","smoothed_weight":532.8119844829811,"flow_value":5.764461685575952},{"brew_time":"114.1","timestamp":"10:15:52.453","smoothed_weight":533.400786034683,"flow_value":5.888015517019767},{"brew_time":"114.2","timestamp":"10:15:52.552","smoothed_weight":533.9907074312148,"flow_value":5.899213965317358},{"brew_time":"114.3","timestamp":"10:15:52.625","smoothed_weight":534.5816366880933,"flow_value":5.909292568785531},{"brew_time":"114.4","timestamp":"10:15:52.701","smoothed_weight":535.193473019284,"flow_value":6.11836331190716},{"brew_time":"114.5","timestamp":"10:15:52.832","smoothed_weight":535.8141257173556,"flow_value":6.206526980715807},{"brew_time":"114.6","timestamp":"10:15:52.889","smoothed_weight":536.40271314562,"flow_value":5.885874282644181},{"brew_time":"114.7","timestamp":"10:15:53.017","smoothed_weight":536.9724418310581,"flow_value":5.697286854380081},{"brew_time":"114.8","timestamp":"10:15:53.085","smoothed_weight":537.5251976479523,"flow_value":5.5275581689420505},{"brew_time":"114.9","timestamp":"10:15:53.166","smoothed_weight":538.062677883157,"flow_value":5.374802352047254},{"brew_time":"114.10","timestamp":"10:15:53.341","smoothed_weight":538.5864100948413,"flow_value":5.237322116843188},{"brew_time":"115.1","timestamp":"10:15:53.452","smoothed_weight":539.1377690853571,"flow_value":5.513589905158369},{"brew_time":"115.2","timestamp":"10:15:53.563","smoothed_weight":539.7139921768214,"flow_value":5.762230914642714},{"brew_time":"115.3","timestamp":"10:15:53.647","smoothed_weight":540.3125929591394,"flow_value":5.986007823179307},{"brew_time":"115.4","timestamp":"10:15:53.757","smoothed_weight":540.9313336632255,"flow_value":6.187407040861217},{"brew_time":"115.5","timestamp":"10:15:53.823","smoothed_weight":541.5682002969029,"flow_value":6.36866633677414},{"brew_time":"115.6","timestamp":"10:15:54.038","smoothed_weight":542.1913802672126,"flow_value":6.231799703097067},{"brew_time":"115.7","timestamp":"10:15:54.087","smoothed_weight":542.7922422404914,"flow_value":6.008619732788247},{"brew_time":"115.8","timestamp":"10:15:54.180","smoothed_weight":543.3830180164423,"flow_value":5.9077577595087405},{"brew_time":"116.1","timestamp":"10:15:54.269","smoothed_weight":543.964716214798,"flow_value":5.816981983557525},{"brew_time":"116.2","timestamp":"10:15:54.362","smoothed_weight":544.5382445933183,"flow_value":5.735283785202228},{"brew_time":"116.3","timestamp":"10:15:54.440","smoothed_weight":545.1144201339864,"flow_value":5.761755406681459},{"brew_time":"116.4","timestamp":"10:15:54.540","smoothed_weight":545.7129781205878,"flow_value":5.985579866013495},{"brew_time":"116.5","timestamp":"10:15:54.665","smoothed_weight":546.341680308529,"flow_value":6.287021879412578},{"brew_time":"116.6","timestamp":"10:15:54.730","smoothed_weight":546.9875122776762,"flow_value":6.458319691471388},{"brew_time":"116.7","timestamp":"10:15:54.933","smoothed_weight":547.6587610499085,"flow_value":6.7124877223238855},{"brew_time":"116.8","timestamp":"10:15:54.985","smoothed_weight":548.3828849449177,"flow_value":7.241238950091429},{"brew_time":"116.9","timestamp":"10:15:55.057","smoothed_weight":549.104596450426,"flow_value":7.217115055083241},{"brew_time":"116.10","timestamp":"10:15:55.172","smoothed_weight":549.8141368053834,"flow_value":7.095403549574257},{"brew_time":"116.11","timestamp":"10:15:55.295","smoothed_weight":550.5127231248451,"flow_value":6.985863194616968},{"brew_time":"117.1","timestamp":"10:15:55.397","smoothed_weight":551.2014508123606,"flow_value":6.8872768751543845},{"brew_time":"117.2","timestamp":"10:15:55.468","smoothed_weight":551.9013057311246,"flow_value":6.998549187640037},{"brew_time":"117.3","timestamp":"10:15:55.581","smoothed_weight":552.6211751580121,"flow_value":7.198694268874988},{"brew_time":"117.4","timestamp":"10:15:55.686","smoothed_weight":553.3790576422109,"flow_value":7.5788248419883075},{"brew_time":"117.5","timestamp":"10:15:55.755","smoothed_weight":554.1711518779898,"flow_value":7.920942357789045},{"brew_time":"117.6","timestamp":"10:15:55.874","smoothed_weight":555.0040366901908,"flow_value":8.328848122009731},{"brew_time":"117.7","timestamp":"10:15:55.975","smoothed_weight":555.8936330211717,"flow_value":8.895963309809076},{"brew_time":"117.8","timestamp":"10:15:56.155","smoothed_weight":556.8042697190546,"flow_value":9.106366978828646},{"brew_time":"117.9","timestamp":"10:15:56.248","smoothed_weight":557.7038427471491,"flow_value":8.995730280945509},{"brew_time":"118.1","timestamp":"10:15:56.336","smoothed_weight":558.5734584724343,"flow_value":8.696157252851435},{"brew_time":"118.2","timestamp":"10:15:56.412","smoothed_weight":559.4261126251909,"flow_value":8.526541527565996},{"brew_time":"118.3","timestamp":"10:15:56.535","smoothed_weight":560.2635013626718,"flow_value":8.373887374809783},{"brew_time":"118.4","timestamp":"10:15:56.635","smoothed_weight":561.1171512264046,"flow_value":8.536498637328123},{"brew_time":"118.5","timestamp":"10:15:56.714","smoothed_weight":562.0154361037642,"flow_value":8.982848773595151},{"brew_time":"118.6","timestamp":"10:15:56.884","smoothed_weight":562.9638924933878,"flow_value":9.484563896236295},{"brew_time":"118.7","timestamp":"10:15:56.938","smoothed_weight":563.957503244049,"flow_value":9.936107506612188},{"brew_time":"118.8","timestamp":"10:15:57.030","smoothed_weight":564.9817529196441,"flow_value":10.242496755951151},{"brew_time":"118.9","timestamp":"10:15:57.102","smoothed_weight":566.0335776276797,"flow_value":10.518247080356105},{"brew_time":"118.10","timestamp":"10:15:57.276","smoothed_weight":567.0702198649118,"flow_value":10.366422372320585},{"brew_time":"119.1","timestamp":"10:15:57.359","smoothed_weight":568.0731978784206,"flow_value":10.029780135088231},{"brew_time":"119.2","timestamp":"10:15:57.439","smoothed_weight":569.0458780905785,"flow_value":9.726802121579112},{"brew_time":"119.3","timestamp":"10:15:57.585","smoothed_weight":570.0012902815207,"flow_value":9.554121909421838},{"brew_time":"119.4","timestamp":"10:15:57.709","smoothed_weight":570.9611612533687,"flow_value":9.598709718479768},{"brew_time":"119.5","timestamp":"10:15:57.818","smoothed_weight":571.9550451280319,"flow_value":9.938838746631973},{"brew_time":"119.6","timestamp":"10:15:57.875","smoothed_weight":572.9695406152288,"flow_value":10.144954871968821},{"brew_time":"119.7","timestamp":"10:15:58.091","smoothed_weight":574.0025865537059,"flow_value":10.330459384771302},{"brew_time":"119.8","timestamp":"10:15:58.129","smoothed_weight":575.0423278983353,"flow_value":10.397413446294195},{"brew_time":"119.9","timestamp":"10:15:58.232","smoothed_weight":576.0580951085018,"flow_value":10.15767210166473},{"brew_time":"120.1","timestamp":"10:15:58.392","smoothed_weight":577.0322855976517,"flow_value":9.741904891499189},{"brew_time":"120.2","timestamp":"10:15:58.446","smoothed_weight":577.9790570378865,"flow_value":9.467714402347838},{"brew_time":"120.3","timestamp":"10:15:58.510","smoothed_weight":578.8911513340979,"flow_value":9.120942962114214},{"brew_time":"120.4","timestamp":"10:15:58.620","smoothed_weight":579.8120362006882,"flow_value":9.208848665903133},{"brew_time":"120.5","timestamp":"10:15:58.754","smoothed_weight":580.7608325806194,"flow_value":9.487963799311956},{"brew_time":"120.6","timestamp":"10:15:58.827","smoothed_weight":581.7347493225575,"flow_value":9.739167419380692},{"brew_time":"120.7","timestamp":"10:15:58.975","smoothed_weight":582.7412743903017,"flow_value":10.065250677441782},{"brew_time":"120.8","timestamp":"10:15:59.051","smoothed_weight":583.7771469512716,"flow_value":10.358725609698922},{"brew_time":"120.9","timestamp":"10:15:59.080","smoothed_weight":584.8194322561444,"flow_value":10.422853048728484},{"brew_time":"120.10","timestamp":"10:15:59.236","smoothed_weight":585.84748903053,"flow_value":10.280567743856182},{"brew_time":"121.1","timestamp":"10:15:59.330","smoothed_weight":586.8427401274771,"flow_value":9.952510969470723},{"brew_time":"121.2","timestamp":"10:15:59.441","smoothed_weight":587.8284661147294,"flow_value":9.857259872522945},{"brew_time":"121.3","timestamp":"10:15:59.553","smoothed_weight":588.8156195032565,"flow_value":9.871533885270765},{"brew_time":"121.4","timestamp":"10:15:59.731","smoothed_weight":589.8240575529309,"flow_value":10.084380496743961},{"brew_time":"121.5","timestamp":"10:15:59.800","smoothed_weight":590.8916517976378,"flow_value":10.675942447069247},{"brew_time":"121.6","timestamp":"10:15:59.872","smoothed_weight":592.0024866178741,"flow_value":11.108348202362777},{"brew_time":"121.7","timestamp":"10:15:59.947","smoothed_weight":593.1222379560867,"flow_value":11.19751338212609},{"brew_time":"121.8","timestamp":"10:16:00.025","smoothed_weight":594.250014160478,"flow_value":11.277762043913526},{"brew_time":"121.9","timestamp":"10:16:00.241","smoothed_weight":595.3650127444303,"flow_value":11.149985839522287},{"brew_time":"122.1","timestamp":"10:16:00.339","smoothed_weight":596.4585114699872,"flow_value":10.934987255569695},{"brew_time":"122.2","timestamp":"10:16:00.396","smoothed_weight":597.5426603229886,"flow_value":10.841488530013521},{"brew_time":"122.3","timestamp":"10:16:00.445","smoothed_weight":598.6083942906898,"flow_value":10.657339677012487},{"brew_time":"122.4","timestamp":"10:16:00.582","smoothed_weight":599.6475548616208,"flow_value":10.39160570931017},{"brew_time":"122.5","timestamp":"10:16:00.654","smoothed_weight":600.6727993754588,"flow_value":10.252445138379471},{"brew_time":"122.6","timestamp":"10:16:00.742","smoothed_weight":601.7055194379129,"flow_value":10.32720062454132},{"brew_time":"122.7","timestamp":"10:16:00.859","smoothed_weight":602.7549674941217,"flow_value":10.494480562088029},{"brew_time":"122.8","timestamp":"10:16:00.953","smoothed_weight":603.8194707447096,"flow_value":10.645032505879044},{"brew_time":"122.9","timestamp":"10:16:01.038","smoothed_weight":604.8875236702387,"flow_value":10.680529255290594},{"brew_time":"122.10","timestamp":"10:16:01.237","smoothed_weight":605.9287713032148,"flow_value":10.412476329761375},{"brew_time":"123.1","timestamp":"10:16:01.322","smoothed_weight":606.9258941728934,"flow_value":9.971228696786056},{"brew_time":"123.2","timestamp":"10:16:01.378","smoothed_weight":607.8833047556041,"flow_value":9.574105827106223},{"brew_time":"123.3","timestamp":"10:16:01.472","smoothed_weight":608.8049742800437,"flow_value":9.216695244396078},{"brew_time":"123.4","timestamp":"10:16:01.594","smoothed_weight":609.7044768520393,"flow_value":8.995025719956402},{"brew_time":"123.5","timestamp":"10:16:01.669","smoothed_weight":610.5940291668354,"flow_value":8.895523147961057},{"brew_time":"123.6","timestamp":"10:16:01.745","smoothed_weight":611.4946262501519,"flow_value":9.005970833164838},{"brew_time":"123.7","timestamp":"10:16:01.865","smoothed_weight":612.4051636251368,"flow_value":9.105373749848695},{"brew_time":"123.8","timestamp":"10:16:01.985","smoothed_weight":613.3346472626231,"flow_value":9.29483637486328},{"brew_time":"123.9","timestamp":"10:16:02.102","smoothed_weight":614.2711825363608,"flow_value":9.36535273737718},{"brew_time":"123.10","timestamp":"10:16:02.233","smoothed_weight":615.2140642827247,"flow_value":9.428817463639234},{"brew_time":"124.1","timestamp":"10:16:02.311","smoothed_weight":616.1526578544523,"flow_value":9.385935717275515},{"brew_time":"124.2","timestamp":"10:16:02.385","smoothed_weight":617.0473920690071,"flow_value":8.947342145547736},{"brew_time":"124.3","timestamp":"10:16:02.522","smoothed_weight":617.9026528621064,"flow_value":8.55260793099319},{"brew_time":"124.4","timestamp":"10:16:02.595","smoothed_weight":618.7223875758958,"flow_value":8.19734713789444},{"brew_time":"124.5","timestamp":"10:16:02.798","smoothed_weight":619.5101488183062,"flow_value":7.877612424103972},{"brew_time":"124.6","timestamp":"10:16:02.872","smoothed_weight":620.2891339364757,"flow_value":7.789851181694303},{"brew_time":"124.7","timestamp":"10:16:02.942","smoothed_weight":621.0702205428281,"flow_value":7.8108660635246},{"brew_time":"124.8","timestamp":"10:16:03.014","smoothed_weight":621.8831984885453,"flow_value":8.129779457171935},{"brew_time":"124.9","timestamp":"10:16:03.105","smoothed_weight":622.7048786396908,"flow_value":8.216801511455287},{"brew_time":"124.10","timestamp":"10:16:03.280","smoothed_weight":623.5343907757218,"flow_value":8.29512136030985},{"brew_time":"125.1","timestamp":"10:16:03.332","smoothed_weight":624.3509516981496,"flow_value":8.165609224278114},{"brew_time":"125.2","timestamp":"10:16:03.516","smoothed_weight":625.1558565283347,"flow_value":8.049048301850235},{"brew_time":"125.3","timestamp":"10:16:03.615","smoothed_weight":625.9302708755012,"flow_value":7.744143471664984},{"brew_time":"125.4","timestamp":"10:16:03.666","smoothed_weight":626.677243787951,"flow_value":7.469729124499054},{"brew_time":"125.5","timestamp":"10:16:03.749","smoothed_weight":627.4095194091559,"flow_value":7.322756212048489},{"brew_time":"125.6","timestamp":"10:16:03.853","smoothed_weight":628.1285674682404,"flow_value":7.190480590844572},{"brew_time":"125.7","timestamp":"10:16:03.922","smoothed_weight":628.8357107214164,"flow_value":7.071432531760138},{"brew_time":"125.8","timestamp":"10:16:04.217","smoothed_weight":629.5621396492747,"flow_value":7.264289278583647},{"brew_time":"126.1","timestamp":"10:16:04.272","smoothed_weight":630.3359256843473,"flow_value":7.737860350725896},{"brew_time":"126.2","timestamp":"10:16:04.373","smoothed_weight":631.1323331159126,"flow_value":7.9640743156528515},{"brew_time":"126.3","timestamp":"10:16:04.428","smoothed_weight":631.9390998043214,"flow_value":8.06766688408743},{"brew_time":"126.4","timestamp":"10:16:04.487","smoothed_weight":632.7451898238893,"flow_value":8.060900195679324},{"brew_time":"126.5","timestamp":"10:16:04.604","smoothed_weight":633.5306708415003,"flow_value":7.85481017611005},{"brew_time":"126.6","timestamp":"10:16:04.681","smoothed_weight":634.2876037573503,"flow_value":7.569329158500295},{"brew_time":"126.7","timestamp":"10:16:04.749","smoothed_weight":635.0388433816153,"flow_value":7.512396242649402},{"brew_time":"126.8","timestamp":"10:16:04.878","smoothed_weight":635.7849590434538,"flow_value":7.461156618385303},{"brew_time":"126.9","timestamp":"10:16:04.953","smoothed_weight":636.5364631391085,"flow_value":7.5150409565469545},{"brew_time":"126.10","timestamp":"10:16:05.048","smoothed_weight":637.3028168251976,"flow_value":7.663536860891327},{"brew_time":"126.11","timestamp":"10:16:05.201","smoothed_weight":638.1025351426779,"flow_value":7.997183174802558},{"brew_time":"127.1","timestamp":"10:16:05.327","smoothed_weight":638.9422816284101,"flow_value":8.397464857322348},{"brew_time":"127.2","timestamp":"10:16:05.382","smoothed_weight":639.818053465569,"flow_value":8.757718371589363},{"brew_time":"127.3","timestamp":"10:16:05.592","smoothed_weight":640.6962481190121,"flow_value":8.781946534430745},{"brew_time":"127.4","timestamp":"10:16:05.669","smoothed_weight":641.5666233071108,"flow_value":8.703751880987056},{"brew_time":"127.5","timestamp":"10:16:05.726","smoothed_weight":642.3999609763998,"flow_value":8.333376692889942},{"brew_time":"127.6","timestamp":"10:16:05.797","smoothed_weight":643.2099648787598,"flow_value":8.100039023599948},{"brew_time":"127.7","timestamp":"10:16:05.872","smoothed_weight":643.9989683908839,"flow_value":7.890035121240544},{"brew_time":"127.8","timestamp":"10:16:05.982","smoothed_weight":644.7790715517955,"flow_value":7.80103160911608},{"brew_time":"127.9","timestamp":"10:16:06.104","smoothed_weight":645.5711643966159,"flow_value":7.9209284482044495},{"brew_time":"127.10","timestamp":"10:16:06.239","smoothed_weight":646.4040479569543,"flow_value":8.328835603383595},{"brew_time":"128.1","timestamp":"10:16:06.325","smoothed_weight":647.2436431612589,"flow_value":8.395952043046009},{"brew_time":"128.2","timestamp":"10:16:06.505","smoothed_weight":648.0792788451331,"flow_value":8.356356838742158},{"brew_time":"128.3","timestamp":"10:16:06.576","smoothed_weight":648.9113509606198,"flow_value":8.320721154866533},{"brew_time":"128.4","timestamp":"10:16:06.616","smoothed_weight":649.7202158645579,"flow_value":8.088649039381153},{"brew_time":"128.5","timestamp":"10:16:06.840","smoothed_weight":650.4881942781021,"flow_value":7.67978413544256},{"brew_time":"128.6","timestamp":"10:16:06.959","smoothed_weight":651.219374850292,"flow_value":7.311805721898281},{"brew_time":"128.7","timestamp":"10:16:07.027","smoothed_weight":651.9274373652628,"flow_value":7.0806251497083394},{"brew_time":"128.8","timestamp":"10:16:07.066","smoothed_weight":652.6246936287365,"flow_value":6.972562634737187},{"brew_time":"128.9","timestamp":"10:16:07.151","smoothed_weight":653.3322242658629,"flow_value":7.075306371264105},{"brew_time":"128.10","timestamp":"10:16:07.243","smoothed_weight":654.0690018392767,"flow_value":7.367775734137467},{"brew_time":"129.1","timestamp":"10:16:07.348","smoothed_weight":654.822101655349,"flow_value":7.530998160723357},{"brew_time":"129.2","timestamp":"10:16:07.462","smoothed_weight":655.5998914898141,"flow_value":7.777898344651248},{"brew_time":"129.3","timestamp":"10:16:07.556","smoothed_weight":656.3699023408328,"flow_value":7.700108510186965},{"brew_time":"129.4","timestamp":"10:16:07.640","smoothed_weight":657.1229121067496,"flow_value":7.530097659167723},{"brew_time":"129.5","timestamp":"10:16:07.789","smoothed_weight":657.8406208960746,"flow_value":7.177087893250018},{"brew_time":"129.6","timestamp":"10:16:07.901","smoothed_weight":658.5365588064672,"flow_value":6.959379103925585},{"brew_time":"129.7","timestamp":"10:16:07.970","smoothed_weight":659.2329029258204,"flow_value":6.963441193532844},{"brew_time":"129.8","timestamp":"10:16:08.116","smoothed_weight":659.9196126332384,"flow_value":6.8670970741800375},{"brew_time":"129.9","timestamp":"10:16:08.210","smoothed_weight":660.6276513699147,"flow_value":7.080387366762579},{"brew_time":"130.1","timestamp":"10:16:08.291","smoothed_weight":661.3548862329233,"flow_value":7.272348630085617},{"brew_time":"130.2","timestamp":"10:16:08.363","smoothed_weight":662.099397609631,"flow_value":7.4451137670769185},{"brew_time":"130.3","timestamp":"10:16:08.459","smoothed_weight":662.849457848668,"flow_value":7.500602390369977},{"brew_time":"130.4","timestamp":"10:16:08.630","smoothed_weight":663.6045120638012,"flow_value":7.550542151332138},{"brew_time":"130.5","timestamp":"10:16:08.680","smoothed_weight":664.3440608574211,"flow_value":7.395487936199743},{"brew_time":"130.6","timestamp":"10:16:08.815","smoothed_weight":665.039654771679,"flow_value":6.9559391425787},{"brew_time":"130.7","timestamp":"10:16:08.888","smoothed_weight":665.6856892945111,"flow_value":6.460345228321103},{"brew_time":"130.8","timestamp":"10:16:08.979","smoothed_weight":666.29712036506,"flow_value":6.114310705488606},{"brew_time":"130.9","timestamp":"10:16:09.267","smoothed_weight":666.897408328554,"flow_value":6.002879634939973},{"brew_time":"131.1","timestamp":"10:16:09.351","smoothed_weight":667.4876674956986,"flow_value":5.902591671446089},{"brew_time":"131.2","timestamp":"10:16:09.395","smoothed_weight":668.0789007461287,"flow_value":5.912332504301503},{"brew_time":"131.3","timestamp":"10:16:09.474","smoothed_weight":668.6810106715159,"flow_value":6.021099253871398},{"brew_time":"131.4","timestamp":"10:16:09.588","smoothed_weight":669.2729096043644,"flow_value":5.91898932848494},{"brew_time":"131.5","timestamp":"10:16:09.620","smoothed_weight":669.845618643928,"flow_value":5.727090395636196},{"brew_time":"131.6","timestamp":"10:16:09.706","smoothed_weight":670.4010567795352,"flow_value":5.5543813560723265},{"brew_time":"131.7","timestamp":"10:16:09.808","smoothed_weight":670.9309511015817,"flow_value":5.298943220465162},{"brew_time":"131.8","timestamp":"10:16:09.992","smoothed_weight":671.4278559914236,"flow_value":4.969048898418578},{"brew_time":"131.9","timestamp":"10:16:10.057","smoothed_weight":671.9050703922812,"flow_value":4.772144008576333},{"brew_time":"131.10","timestamp":"10:16:10.128","smoothed_weight":672.3745633530531,"flow_value":4.69492960771845},{"brew_time":"131.11","timestamp":"10:16:10.246","smoothed_weight":672.8671070177478,"flow_value":4.925436646947219},{"brew_time":"132.1","timestamp":"10:16:10.348","smoothed_weight":673.390396315973,"flow_value":5.232892982252224},{"brew_time":"132.2","timestamp":"10:16:10.460","smoothed_weight":673.9313566843757,"flow_value":5.4096036840269335},{"brew_time":"132.3","timestamp":"10:16:10.553","smoothed_weight":674.4982210159382,"flow_value":5.668643315624422},{"brew_time":"132.4","timestamp":"10:16:10.717","smoothed_weight":675.0983989143443,"flow_value":6.00177898406173},{"brew_time":"132.5","timestamp":"10:16:10.780","smoothed_weight":675.6885590229099,"flow_value":5.901601085655557},{"brew_time":"132.6","timestamp":"10:16:10.890","smoothed_weight":676.249703120619,"flow_value":5.611440977090751},{"brew_time":"132.7","timestamp":"10:16:10.951","smoothed_weight":676.794732808557,"flow_value":5.450296879380403},{"brew_time":"132.8","timestamp":"10:16:11.044","smoothed_weight":677.3352595277014,"flow_value":5.405267191443954},{"brew_time":"132.9","timestamp":"10:16:11.158","smoothed_weight":677.8817335749312,"flow_value":5.464740472298217},{"brew_time":"132.10","timestamp":"10:16:11.252","smoothed_weight":678.4535602174382,"flow_value":5.718266425069487},{"brew_time":"133.1","timestamp":"10:16:11.396","smoothed_weight":679.0682041956944,"flow_value":6.146439782562538},{"brew_time":"133.2","timestamp":"10:16:11.471","smoothed_weight":679.711383776125,"flow_value":6.431795804305693},{"brew_time":"133.3","timestamp":"10:16:11.588","smoothed_weight":680.3802453985124,"flow_value":6.688616223874533},{"brew_time":"133.4","timestamp":"10:16:11.688","smoothed_weight":681.0722208586612,"flow_value":6.919754601487966},{"brew_time":"133.5","timestamp":"10:16:11.761","smoothed_weight":681.7549987727951,"flow_value":6.827779141339079},{"brew_time":"133.6","timestamp":"10:16:11.876","smoothed_weight":682.4294988955156,"flow_value":6.745001227204739},{"brew_time":"133.7","timestamp":"10:16:11.993","smoothed_weight":683.096549005964,"flow_value":6.670501104483719},{"brew_time":"133.8","timestamp":"10:16:12.106","smoothed_weight":683.7668941053677,"flow_value":6.703450994036757},{"brew_time":"133.9","timestamp":"10:16:12.274","smoothed_weight":684.470204694831,"flow_value":7.033105894632854},{"brew_time":"134.1","timestamp":"10:16:12.326","smoothed_weight":685.2031842253479,"flow_value":7.329795305169},{"brew_time":"134.2","timestamp":"10:16:12.418","smoothed_weight":685.9728658028131,"flow_value":7.69681577465235},{"brew_time":"134.3","timestamp":"10:16:12.481","smoothed_weight":686.7755792225317,"flow_value":8.02713419718657},{"brew_time":"134.4","timestamp":"10:16:12.617","smoothed_weight":687.5980213002786,"flow_value":8.22442077746814},{"brew_time":"134.5","timestamp":"10:16:12.702","smoothed_weight":688.4382191702507,"flow_value":8.40197869972144},{"brew_time":"134.6","timestamp":"10:16:12.806","smoothed_weight":689.2743972532256,"flow_value":8.36178082974925},{"brew_time":"134.7","timestamp":"10:16:12.875","smoothed_weight":690.0869575279031,"flow_value":8.125602746774803},{"brew_time":"134.8","timestamp":"10:16:13.041","smoothed_weight":690.8782617751127,"flow_value":7.913042472096095},{"brew_time":"134.9","timestamp":"10:16:13.121","smoothed_weight":691.6704355976015,"flow_value":7.921738224887349},{"brew_time":"134.10","timestamp":"10:16:13.220","smoothed_weight":692.4633920378413,"flow_value":7.92956440239891},{"brew_time":"135.1","timestamp":"10:16:13.380","smoothed_weight":693.2770528340573,"flow_value":8.136607962159133},{"brew_time":"135.2","timestamp":"10:16:13.451","smoothed_weight":694.1393475506516,"flow_value":8.62294716594306},{"brew_time":"135.3","timestamp":"10:16:13.553","smoothed_weight":694.9754127955864,"flow_value":8.360652449348436},{"brew_time":"135.4","timestamp":"10:16:13.720","smoothed_weight":695.7078715160278,"flow_value":7.3245872044140015},{"brew_time":"135.5","timestamp":"10:16:13.771","smoothed_weight":696.3670843644251,"flow_value":6.592128483972601},{"brew_time":"135.6","timestamp":"10:16:13.838","smoothed_weight":696.9503759279826,"flow_value":5.832915635575091},{"brew_time":"135.7","timestamp":"10:16:13.926","smoothed_weight":697.4653383351844,"flow_value":5.149624072017787},{"brew_time":"135.8","timestamp":"10:16:14.045","smoothed_weight":697.9288045016659,"flow_value":4.634661664815667},{"brew_time":"135.9","timestamp":"10:16:14.121","smoothed_weight":698.3459240514994,"flow_value":4.17119549833501},{"brew_time":"135.10","timestamp":"10:16:14.253","smoothed_weight":698.7213316463495,"flow_value":3.7540759485011677},{"brew_time":"136.1","timestamp":"10:16:14.442","smoothed_weight":699.0591984817146,"flow_value":3.3786683536504825},{"brew_time":"136.2","timestamp":"10:16:14.498","smoothed_weight":699.3632786335431,"flow_value":3.040801518285434},{"brew_time":"136.3","timestamp":"10:16:14.604","smoothed_weight":699.6369507701888,"flow_value":2.7367213664570045},{"brew_time":"136.4","timestamp":"10:16:14.685","smoothed_weight":699.88325569317,"flow_value":2.4630492298115314},{"brew_time":"136.5","timestamp":"10:16:14.763","smoothed_weight":700.104930123853,"flow_value":2.2167443068303783},{"brew_time":"136.6","timestamp":"10:16:14.885","smoothed_weight":700.2944371114678,"flow_value":1.8950698761477724},{"brew_time":"136.7","timestamp":"10:16:15.023","smoothed_weight":700.4649934003211,"flow_value":1.7055628885327678},{"brew_time":"136.8","timestamp":"10:16:15.095","smoothed_weight":700.618494060289,"flow_value":1.5350065996790363},{"brew_time":"136.9","timestamp":"10:16:15.268","smoothed_weight":700.7566446542602,"flow_value":1.3815059397120422},{"brew_time":"137.1","timestamp":"10:16:15.329","smoothed_weight":700.8809801888342,"flow_value":1.2433553457401558},{"brew_time":"137.2","timestamp":"10:16:15.397","smoothed_weight":700.9928821699508,"flow_value":1.1190198111660266},{"brew_time":"137.3","timestamp":"10:16:15.500","smoothed_weight":701.0935939529558,"flow_value":1.0071178300495376},{"brew_time":"137.4","timestamp":"10:16:15.587","smoothed_weight":701.1842345576603,"flow_value":0.9064060470450386},{"brew_time":"137.5","timestamp":"10:16:15.781","smoothed_weight":701.2758111018943,"flow_value":0.9157654423404438},{"brew_time":"137.6","timestamp":"10:16:15.841","smoothed_weight":701.3382299917048,"flow_value":0.624188898104876},{"brew_time":"137.7","timestamp":"10:16:15.912","smoothed_weight":701.4144069925344,"flow_value":0.7617700082960255},{"brew_time":"137.8","timestamp":"10:16:16.004","smoothed_weight":701.482966293281,"flow_value":0.6855930074664229},{"brew_time":"137.9","timestamp":"10:16:16.185","smoothed_weight":701.5246696639529,"flow_value":0.41703370671825724},{"brew_time":"138.1","timestamp":"10:16:16.254","smoothed_weight":701.5822026975576,"flow_value":0.5753303360472728},{"brew_time":"138.2","timestamp":"10:16:16.337","smoothed_weight":701.6239824278019,"flow_value":0.4177973024434323},{"brew_time":"138.3","timestamp":"10:16:16.413","smoothed_weight":701.6615841850218,"flow_value":0.37601757219817955},{"brew_time":"138.4","timestamp":"10:16:16.518","smoothed_weight":701.6954257665196,"flow_value":0.33841581497881634},{"brew_time":"138.5","timestamp":"10:16:16.638","smoothed_weight":701.7258831898678,"flow_value":0.30457423348138946},{"brew_time":"138.6","timestamp":"10:16:16.709","smoothed_weight":701.763294870881,"flow_value":0.3741168101328185},{"brew_time":"138.7","timestamp":"10:16:16.840","smoothed_weight":701.796965383793,"flow_value":0.33670512911953665},{"brew_time":"138.8","timestamp":"10:16:16.938","smoothed_weight":701.8272688454138,"flow_value":0.3030346162074693},{"brew_time":"138.9","timestamp":"10:16:17.065","smoothed_weight":701.8545419608724,"flow_value":0.27273115458683606},{"brew_time":"138.10","timestamp":"10:16:17.127","smoothed_weight":701.8690877647853,"flow_value":0.1454580391282434},{"brew_time":"138.11","timestamp":"10:16:17.338","smoothed_weight":701.8821789883068,"flow_value":0.13091223521541906},{"brew_time":"139.1","timestamp":"10:16:17.408","smoothed_weight":701.8939610894762,"flow_value":0.11782101169387715},{"brew_time":"139.2","timestamp":"10:16:17.482","smoothed_weight":701.9045649805287,"flow_value":0.1060389105248305},{"brew_time":"139.3","timestamp":"10:16:17.581","smoothed_weight":701.9141084824759,"flow_value":0.09543501947177901},{"brew_time":"139.4","timestamp":"10:16:17.648","smoothed_weight":701.9226976342284,"flow_value":0.08589151752516955},{"brew_time":"139.5","timestamp":"10:16:17.761","smoothed_weight":701.9304278708056,"flow_value":0.07730236577231153},{"brew_time":"139.6","timestamp":"10:16:17.842","smoothed_weight":701.9373850837251,"flow_value":0.06957212919473932},{"brew_time":"139.7","timestamp":"10:16:18.029","smoothed_weight":701.9436465753527,"flow_value":0.06261491627583382},{"brew_time":"139.8","timestamp":"10:16:18.087","smoothed_weight":701.9492819178174,"flow_value":0.05635342464756832},{"brew_time":"139.9","timestamp":"10:16:18.184","smoothed_weight":701.9543537260357,"flow_value":0.05071808218303886},{"brew_time":"139.10","timestamp":"10:16:18.317","smoothed_weight":701.9589183534322,"flow_value":0.04564627396462129},{"brew_time":"140.1","timestamp":"10:16:18.389","smoothed_weight":701.963026518089,"flow_value":0.041081646568272845},{"brew_time":"140.2","timestamp":"10:16:18.506","smoothed_weight":701.9667238662802,"flow_value":0.036973481911672934},{"brew_time":"140.3","timestamp":"10:16:18.593","smoothed_weight":701.9700514796522,"flow_value":0.033276133719937206},{"brew_time":"140.4","timestamp":"10:16:18.784","smoothed_weight":701.973046331687,"flow_value":0.02994852034817086},{"brew_time":"140.5","timestamp":"10:16:18.832","smoothed_weight":701.9757416985184,"flow_value":0.026953668314035895},{"brew_time":"140.6","timestamp":"10:16:18.900","smoothed_weight":701.9781675286666,"flow_value":0.02425830148240493},{"brew_time":"140.7","timestamp":"10:16:19.001","smoothed_weight":701.9803507758,"flow_value":0.02183247133416444},{"brew_time":"140.8","timestamp":"10:16:19.064","smoothed_weight":701.9823156982201,"flow_value":0.019649224200293247},{"brew_time":"140.9","timestamp":"10:16:19.206","smoothed_weight":701.9840841283981,"flow_value":0.01768430178003655},{"brew_time":"141.1","timestamp":"10:16:19.303","smoothed_weight":701.9856757155584,"flow_value":0.015915871603056075},{"brew_time":"141.2","timestamp":"10:16:19.519","smoothed_weight":701.9871081440026,"flow_value":0.014324284442182034},{"brew_time":"141.3","timestamp":"10:16:19.556","smoothed_weight":701.9883973296024,"flow_value":0.01289185599830489},{"brew_time":"141.4","timestamp":"10:16:19.641","smoothed_weight":701.9895575966423,"flow_value":0.011602670398360715},{"brew_time":"141.5","timestamp":"10:16:19.737","smoothed_weight":701.9806018369782,"flow_value":-0.08955759664104335},{"brew_time":"141.6","timestamp":"10:16:19.873","smoothed_weight":701.9725416532804,"flow_value":-0.08060183697807588},{"brew_time":"141.7","timestamp":"10:16:19.946","smoothed_weight":701.9652874879523,"flow_value":-0.07254165328049567},{"brew_time":"141.8","timestamp":"10:16:20.014","smoothed_weight":701.958758739157,"flow_value":-0.06528748795290085},{"brew_time":"141.9","timestamp":"10:16:20.121","smoothed_weight":701.9528828652412,"flow_value":-0.058758739157838136},{"brew_time":"141.10","timestamp":"10:16:20.268","smoothed_weight":701.9475945787171,"flow_value":-0.052882865240917454},{"brew_time":"142.1","timestamp":"10:16:20.348","smoothed_weight":701.9428351208455,"flow_value":-0.04759457871614359},{"brew_time":"142.2","timestamp":"10:16:20.425","smoothed_weight":701.9385516087609,"flow_value":-0.042835120846120844},{"brew_time":"142.3","timestamp":"10:16:20.613","smoothed_weight":701.9346964478848,"flow_value":-0.038551608761281386},{"brew_time":"142.4","timestamp":"10:16:20.674","smoothed_weight":701.9312268030963,"flow_value":-0.03469644788538062},{"brew_time":"142.5","timestamp":"10:16:20.767","smoothed_weight":701.9281041227866,"flow_value":-0.031226803096160438},{"brew_time":"142.6","timestamp":"10:16:20.840","smoothed_weight":701.925293710508,"flow_value":-0.028104122786771768},{"brew_time":"142.7","timestamp":"10:16:21.025","smoothed_weight":701.9227643394572,"flow_value":-0.02529371050741247},{"brew_time":"142.8","timestamp":"10:16:21.088","smoothed_weight":701.9204879055114,"flow_value":-0.02276433945780809},{"brew_time":"142.9","timestamp":"10:16:21.171","smoothed_weight":701.9184391149604,"flow_value":-0.020487905510435667},{"brew_time":"143.1","timestamp":"10:16:21.298","smoothed_weight":701.9165952034643,"flow_value":-0.01843911496052897},{"brew_time":"143.2","timestamp":"10:16:21.360","smoothed_weight":701.9149356831178,"flow_value":-0.01659520346493082},{"brew_time":"143.3","timestamp":"10:16:21.538","smoothed_weight":701.913442114806,"flow_value":-0.014935683118437737},{"brew_time":"143.4","timestamp":"10:16:21.601","smoothed_weight":701.9120979033255,"flow_value":-0.013442114805002348},{"brew_time":"143.5","timestamp":"10:16:21.662","smoothed_weight":701.910888112993,"flow_value":-0.01209790332495686},{"brew_time":"143.6","timestamp":"10:16:21.778","smoothed_weight":701.9097993016937,"flow_value":-0.010888112992688548},{"brew_time":"143.7","timestamp":"10:16:21.900","smoothed_weight":701.9088193715245,"flow_value":-0.009799301692510198},{"brew_time":"143.8","timestamp":"10:16:22.000","smoothed_weight":701.9079374343721,"flow_value":-0.008819371523713926},{"brew_time":"143.9","timestamp":"10:16:22.077","smoothed_weight":701.9071436909348,"flow_value":-0.007937434372706775},{"brew_time":"143.10","timestamp":"10:16:22.204","smoothed_weight":701.9064293218414,"flow_value":-0.007143690934299229},{"brew_time":"144.1","timestamp":"10:16:22.310","smoothed_weight":701.9057863896574,"flow_value":-0.006429321840641933},{"brew_time":"144.2","timestamp":"10:16:22.521","smoothed_weight":701.8952077506916,"flow_value":-0.10578638965739628},{"brew_time":"144.3","timestamp":"10:16:22.589","smoothed_weight":701.8856869756224,"flow_value":-0.09520775069177034},{"brew_time":"144.4","timestamp":"10:16:22.645","smoothed_weight":701.8771182780602,"flow_value":-0.08568697562282068},{"brew_time":"144.5","timestamp":"10:16:22.721","smoothed_weight":701.8694064502541,"flow_value":-0.07711827806019755},{"brew_time":"144.6","timestamp":"10:16:22.970","smoothed_weight":701.8624658052287,"flow_value":-0.06940645025451886},{"brew_time":"144.7","timestamp":"10:16:22.998","smoothed_weight":701.8662192247059,"flow_value":0.03753419477220632},{"brew_time":"144.8","timestamp":"10:16:23.110","smoothed_weight":701.8495973022353,"flow_value":-0.16621922470562822},{"brew_time":"144.9","timestamp":"10:16:23.297","smoothed_weight":701.8346375720117,"flow_value":-0.14959730223608858},{"brew_time":"145.1","timestamp":"10:16:23.355","smoothed_weight":701.8311738148105,"flow_value":-0.03463757201188855},{"brew_time":"145.2","timestamp":"10:16:23.416","smoothed_weight":701.8180564333295,"flow_value":-0.13117381481038137},{"brew_time":"145.3","timestamp":"10:16:23.465","smoothed_weight":701.8062507899965,"flow_value":-0.11805643332991167},{"brew_time":"145.4","timestamp":"10:16:23.572","smoothed_weight":701.7956257109969,"flow_value":-0.10625078999623838},{"brew_time":"145.5","timestamp":"10:16:23.685","smoothed_weight":701.7860631398971,"flow_value":-0.09562571099763773},{"brew_time":"145.6","timestamp":"10:16:23.749","smoothed_weight":701.7774568259074,"flow_value":-0.08606313989730552},{"brew_time":"145.7","timestamp":"10:16:23.919","smoothed_weight":701.7697111433166,"flow_value":-0.07745682590780234},{"brew_time":"145.8","timestamp":"10:16:23.966","smoothed_weight":701.7627400289849,"flow_value":-0.06971114331690842},{"brew_time":"145.9","timestamp":"10:16:24.035","smoothed_weight":701.7564660260864,"flow_value":-0.06274002898521758},{"brew_time":"145.10","timestamp":"10:16:24.201","smoothed_weight":701.7508194234778,"flow_value":-0.05646602608635476},{"brew_time":"146.1","timestamp":"10:16:24.268","smoothed_weight":701.7457374811299,"flow_value":-0.05081942347828772},{"brew_time":"146.2","timestamp":"10:16:24.366","smoothed_weight":701.741163733017,"flow_value":-0.04573748112989051},{"brew_time":"146.3","timestamp":"10:16:24.509","smoothed_weight":701.7370473597152,"flow_value":-0.041163733017128834},{"brew_time":"146.4","timestamp":"10:16:24.673","smoothed_weight":701.7333426237437,"flow_value":-0.0370473597149612},{"brew_time":"146.5","timestamp":"10:16:24.717","smoothed_weight":701.7300083613693,"flow_value":-0.03334262374437458},{"brew_time":"146.6","timestamp":"10:16:24.779","smoothed_weight":701.7270075252324,"flow_value":-0.030008361369482373},{"brew_time":"146.7","timestamp":"10:16:24.896","smoothed_weight":701.724306772709,"flow_value":-0.02700752523310257},{"brew_time":"146.8","timestamp":"10:16:24.954","smoothed_weight":701.7218760954381,"flow_value":-0.02430677270922388},{"brew_time":"146.9","timestamp":"10:16:25.076","smoothed_weight":701.7196884858943,"flow_value":-0.021876095438528864},{"brew_time":"146.10","timestamp":"10:16:25.285","smoothed_weight":701.7177196373049,"flow_value":-0.019688485893993857},{"brew_time":"147.1","timestamp":"10:16:25.354","smoothed_weight":701.7159476735743,"flow_value":-0.017719637305617653},{"brew_time":"147.2","timestamp":"10:16:25.420","smoothed_weight":701.7143529062168,"flow_value":-0.01594767357460114},{"brew_time":"147.3","timestamp":"10:16:25.548","smoothed_weight":701.7129176155952,"flow_value":-0.014352906216572592},{"brew_time":"147.4","timestamp":"10:16:25.607","smoothed_weight":701.7116258540357,"flow_value":-0.012917615595142706},{"brew_time":"147.5","timestamp":"10:16:25.674","smoothed_weight":701.7104632686321,"flow_value":-0.011625854035628436},{"brew_time":"147.6","timestamp":"10:16:25.868","smoothed_weight":701.7094169417688,"flow_value":-0.010463268632747713},{"brew_time":"147.7","timestamp":"10:16:25.931","smoothed_weight":701.7084752475919,"flow_value":-0.009416941769586629},{"brew_time":"147.8","timestamp":"10:16:26.011","smoothed_weight":701.7076277228326,"flow_value":-0.008475247592514279},{"brew_time":"147.9","timestamp":"10:16:26.133","smoothed_weight":701.7068649505493,"flow_value":-0.007627722833376538},{"brew_time":"147.10","timestamp":"10:16:26.251","smoothed_weight":701.7061784554943,"flow_value":-0.006864950549925197},{"brew_time":"148.1","timestamp":"10:16:26.312","smoothed_weight":701.7055606099449,"flow_value":-0.00617845549413687},{"brew_time":"148.2","timestamp":"10:16:26.534","smoothed_weight":701.7050045489503,"flow_value":-0.005560609945405304},{"brew_time":"148.3","timestamp":"10:16:26.556","smoothed_weight":701.6945040940553,"flow_value":-0.1050045489500917},{"brew_time":"148.4","timestamp":"10:16:26.636","smoothed_weight":701.6850536846498,"flow_value":-0.0945040940553099},{"brew_time":"148.5","timestamp":"10:16:26.727","smoothed_weight":701.6765483161848,"flow_value":-0.08505368464966523},{"brew_time":"148.6","timestamp":"10:16:26.915","smoothed_weight":701.6688934845663,"flow_value":-0.07654831618538083},{"brew_time":"148.7","timestamp":"10:16:26.976","smoothed_weight":701.6620041361097,"flow_value":-0.068893484566388},{"brew_time":"148.8","timestamp":"10:16:27.037","smoothed_weight":701.6558037224987,"flow_value":-0.06200413610940814},{"brew_time":"148.9","timestamp":"10:16:27.202","smoothed_weight":701.6502233502488,"flow_value":-0.05580372249937682},{"brew_time":"149.1","timestamp":"10:16:27.261","smoothed_weight":701.6452010152238,"flow_value":-0.05022335024932545},{"brew_time":"149.2","timestamp":"10:16:27.326","smoothed_weight":701.6406809137014,"flow_value":-0.04520101522416553},{"brew_time":"149.3","timestamp":"10:16:27.505","smoothed_weight":701.6366128223312,"flow_value":-0.040680913701862664},{"brew_time":"149.4","timestamp":"10:16:27.598","smoothed_weight":701.6329515400981,"flow_value":-0.036612822331107964},{"brew_time":"149.5","timestamp":"10:16:27.701","smoothed_weight":701.6296563860883,"flow_value":-0.03295154009833823},{"brew_time":"149.6","timestamp":"10:16:27.778","smoothed_weight":701.6266907474794,"flow_value":-0.029656386088845466},{"brew_time":"149.7","timestamp":"10:16:27.889","smoothed_weight":701.6240216727315,"flow_value":-0.026690747479278798},{"brew_time":"149.8","timestamp":"10:16:27.973","smoothed_weight":701.6216195054583,"flow_value":-0.02402167273203304},{"brew_time":"149.9","timestamp":"10:16:28.208","smoothed_weight":701.6094575549124,"flow_value":-0.12161950545873879},{"brew_time":"150.1","timestamp":"10:16:28.290","smoothed_weight":701.6085117994212,"flow_value":-0.009457554912160049},{"brew_time":"150.2","timestamp":"10:16:28.355","smoothed_weight":701.607660619479,"flow_value":-0.008511799421739852},{"brew_time":"150.3","timestamp":"10:16:28.417","smoothed_weight":701.6068945575311,"flow_value":-0.007660619479565867},{"brew_time":"150.4","timestamp":"10:16:28.542","smoothed_weight":701.606205101778,"flow_value":-0.006894557531040846},{"brew_time":"150.5","timestamp":"10:16:28.605","smoothed_weight":701.6155845916002,"flow_value":0.09379489822208598},{"brew_time":"150.6","timestamp":"10:16:28.670","smoothed_weight":701.6040261324401,"flow_value":-0.11558459160028178},{"brew_time":"150.7","timestamp":"10:16:28.879","smoothed_weight":701.5936235191962,"flow_value":-0.10402613243968517},{"brew_time":"150.8","timestamp":"10:16:28.938","smoothed_weight":701.5842611672765,"flow_value":-0.09362351919662615},{"brew_time":"150.9","timestamp":"10:16:29.006","smoothed_weight":701.5758350505489,"flow_value":-0.08426116727605404},{"brew_time":"150.10","timestamp":"10:16:29.129","smoothed_weight":701.568251545494,"flow_value":-0.07583505054867601},{"brew_time":"150.11","timestamp":"10:16:29.209","smoothed_weight":701.5614263909446,"flow_value":-0.06825154549460422},{"brew_time":"151.1","timestamp":"10:16:29.318","smoothed_weight":701.5552837518501,"flow_value":-0.06142639094491642},{"brew_time":"151.2","timestamp":"10:16:29.425","smoothed_weight":701.5497553766651,"flow_value":-0.05528375185008372},{"brew_time":"151.3","timestamp":"10:16:29.569","smoothed_weight":701.5447798389986,"flow_value":-0.04975537666496166},{"brew_time":"151.4","timestamp":"10:16:29.662","smoothed_weight":701.5403018550987,"flow_value":-0.04477983899846549},{"brew_time":"151.5","timestamp":"10:16:29.723","smoothed_weight":701.5362716695888,"flow_value":-0.04030185509918738},{"brew_time":"151.6","timestamp":"10:16:29.848","smoothed_weight":701.53264450263,"flow_value":-0.036271669588359146},{"brew_time":"151.7","timestamp":"10:16:29.909","smoothed_weight":701.529380052367,"flow_value":-0.03264450263031904},{"brew_time":"151.8","timestamp":"10:16:30.063","smoothed_weight":701.5264420471302,"flow_value":-0.029380052367287135},{"brew_time":"151.9","timestamp":"10:16:30.138","smoothed_weight":701.5237978424171,"flow_value":-0.026442047130785795},{"brew_time":"151.10","timestamp":"10:16:30.305","smoothed_weight":701.5214180581754,"flow_value":-0.02379784241725247},{"brew_time":"152.1","timestamp":"10:16:30.360","smoothed_weight":701.5192762523578,"flow_value":-0.021418058175868282},{"brew_time":"152.2","timestamp":"10:16:30.537","smoothed_weight":701.517348627122,"flow_value":-0.019276252357940393},{"brew_time":"152.3","timestamp":"10:16:30.580","smoothed_weight":701.5156137644099,"flow_value":-0.017348627121691607},{"brew_time":"152.4","timestamp":"10:16:30.639","smoothed_weight":701.5140523879688,"flow_value":-0.015613764410318254},{"brew_time":"152.5","timestamp":"10:16:30.789","smoothed_weight":701.5126471491719,"flow_value":-0.014052387969059055},{"brew_time":"152.6","timestamp":"10:16:30.851","smoothed_weight":701.5113824342548,"flow_value":-0.012647149171698402},{"brew_time":"152.7","timestamp":"10:16:30.965","smoothed_weight":701.5102441908293,"flow_value":-0.011382434254301188},{"brew_time":"152.8","timestamp":"10:16:31.160","smoothed_weight":701.5092197717464,"flow_value":-0.010244190829098443},{"brew_time":"152.9","timestamp":"10:16:31.225","smoothed_weight":701.5082977945717,"flow_value":-0.009219771746984406},{"brew_time":"153.1","timestamp":"10:16:31.293","smoothed_weight":701.5074680151146,"flow_value":-0.008297794571490158},{"brew_time":"153.2","timestamp":"10:16:31.386","smoothed_weight":701.5067212136031,"flow_value":-0.007468015114682203},{"brew_time":"153.3","timestamp":"10:16:31.511","smoothed_weight":701.5060490922427,"flow_value":-0.00672121360366873},{"brew_time":"153.4","timestamp":"10:16:31.602","smoothed_weight":701.5054441830184,"flow_value":-0.006049092243074483},{"brew_time":"153.5","timestamp":"10:16:31.712","smoothed_weight":701.5048997647166,"flow_value":-0.005444183018425974},{"brew_time":"153.6","timestamp":"10:16:31.823","smoothed_weight":701.504409788245,"flow_value":-0.0048997647161286295},{"brew_time":"153.7","timestamp":"10:16:31.930","smoothed_weight":701.5039688094205,"flow_value":-0.004409788244856827},{"brew_time":"153.8","timestamp":"10:16:32.020","smoothed_weight":701.5035719284784,"flow_value":-0.003968809420484831},{"brew_time":"153.9","timestamp":"10:16:32.169","smoothed_weight":701.5032147356305,"flow_value":-0.0035719284790047823},{"brew_time":"153.10","timestamp":"10:16:32.240","smoothed_weight":701.5028932620675,"flow_value":-0.0032147356307632435},{"brew_time":"154.1","timestamp":"10:16:32.309","smoothed_weight":701.5026039358607,"flow_value":-0.002893262067118485},{"brew_time":"154.2","timestamp":"10:16:32.425","smoothed_weight":701.5023435422746,"flow_value":-0.002603935861316131},{"brew_time":"154.3","timestamp":"10:16:32.528","smoothed_weight":701.5021091880471,"flow_value":-0.0023435422747297707},{"brew_time":"154.4","timestamp":"10:16:32.662","smoothed_weight":701.5018982692425,"flow_value":-0.0021091880466883595},{"brew_time":"154.5","timestamp":"10:16:32.720","smoothed_weight":701.5017084423182,"flow_value":-0.0018982692427016445},{"brew_time":"154.6","timestamp":"10:16:32.850","smoothed_weight":701.5015375980864,"flow_value":-0.001708442317749359},{"brew_time":"154.7","timestamp":"10:16:32.909","smoothed_weight":701.5013838382778,"flow_value":-0.0015375980865428573},{"brew_time":"154.8","timestamp":"10:16:33.014","smoothed_weight":701.50124545445,"flow_value":-0.0013838382778885716},{"brew_time":"154.9","timestamp":"10:16:33.144","smoothed_weight":701.501120909005,"flow_value":-0.0012454544503270881},{"brew_time":"154.10","timestamp":"10:16:33.240","smoothed_weight":701.5010088181044,"flow_value":-0.0011209090052943793},{"brew_time":"155.1","timestamp":"10:16:33.334","smoothed_weight":701.500907936294,"flow_value":-0.0010088181045375677},{"brew_time":"155.2","timestamp":"10:16:33.448","smoothed_weight":701.5008171426646,"flow_value":-0.0009079362939701241},{"brew_time":"155.3","timestamp":"10:16:33.574","smoothed_weight":701.5007354283981,"flow_value":-0.0008171426645731117},{"brew_time":"155.4","timestamp":"10:16:33.674","smoothed_weight":701.5006618855583,"flow_value":-0.0007354283980021137},{"brew_time":"155.5","timestamp":"10:16:33.785","smoothed_weight":701.5005956970025,"flow_value":-0.0006618855582019023},{"brew_time":"155.6","timestamp":"10:16:33.845","smoothed_weight":701.5005361273022,"flow_value":-0.0005956970028364594},{"brew_time":"155.7","timestamp":"10:16:33.993","smoothed_weight":701.500482514572,"flow_value":-0.0005361273019843793},{"brew_time":"155.8","timestamp":"10:16:34.116","smoothed_weight":701.5004342631148,"flow_value":-0.00048251457201331505},{"brew_time":"155.9","timestamp":"10:16:34.195","smoothed_weight":701.5003908368034,"flow_value":-0.0004342631143572362},{"brew_time":"156.1","timestamp":"10:16:34.260","smoothed_weight":701.490351753123,"flow_value":-0.100390836803399},{"brew_time":"156.2","timestamp":"10:16:34.416","smoothed_weight":701.4813165778107,"flow_value":-0.0903517531230591},{"brew_time":"156.3","timestamp":"10:16:34.512","smoothed_weight":701.4831849200297,"flow_value":0.01868342218926955},{"brew_time":"156.4","timestamp":"10:16:34.587","smoothed_weight":701.4848664280266,"flow_value":0.01681507996977416},{"brew_time":"156.5","timestamp":"10:16:34.759","smoothed_weight":701.486379785224,"flow_value":0.015133571973819926},{"brew_time":"156.6","timestamp":"10:16:34.817","smoothed_weight":701.4877418067016,"flow_value":0.013620214775755812},{"brew_time":"156.7","timestamp":"10:16:34.899","smoothed_weight":701.4889676260315,"flow_value":0.012258193298748665},{"brew_time":"156.8","timestamp":"10:16:34.978","smoothed_weight":701.4900708634283,"flow_value":0.011032373968191678},{"brew_time":"156.9","timestamp":"10:16:35.086","smoothed_weight":701.4910637770854,"flow_value":0.009929136571145136},{"brew_time":"156.10","timestamp":"10:16:35.213","smoothed_weight":701.4919573993768,"flow_value":0.00893622291414431},{"brew_time":"157.1","timestamp":"10:16:35.281","smoothed_weight":701.4927616594391,"flow_value":0.008042600622957252},{"brew_time":"157.2","timestamp":"10:16:35.550","smoothed_weight":701.4934854934952,"flow_value":0.007238340560888901},{"brew_time":"157.3","timestamp":"10:16:35.604","smoothed_weight":701.4841369441457,"flow_value":-0.09348549349510904},{"brew_time":"157.4","timestamp":"10:16:35.658","smoothed_weight":701.4757232497311,"flow_value":-0.08413694414571182},{"brew_time":"157.5","timestamp":"10:16:35.772","smoothed_weight":701.468150924758,"flow_value":-0.07572324973125433},{"brew_time":"157.6","timestamp":"10:16:35.823","smoothed_weight":701.4613358322822,"flow_value":-0.06815092475790152},{"brew_time":"157.7","timestamp":"10:16:35.917","smoothed_weight":701.455202249054,"flow_value":-0.06133583228233874},{"brew_time":"157.8","timestamp":"10:16:36.017","smoothed_weight":701.4496820241486,"flow_value":-0.055202249053536434},{"brew_time":"157.9","timestamp":"10:16:36.141","smoothed_weight":701.4447138217338,"flow_value":-0.04968202414829648},{"brew_time":"157.10","timestamp":"10:16:36.236","smoothed_weight":701.4402424395604,"flow_value":-0.04471382173392158},{"brew_time":"158.1","timestamp":"10:16:36.337","smoothed_weight":701.4362181956044,"flow_value":-0.040242439559960985},{"brew_time":"158.2","timestamp":"10:16:36.440","smoothed_weight":701.432596376044,"flow_value":-0.036218195604078574},{"brew_time":"158.3","timestamp":"10:16:36.539","smoothed_weight":701.4293367384396,"flow_value":-0.03259637604401178},{"brew_time":"158.4","timestamp":"10:16:36.634","smoothed_weight":701.4264030645957,"flow_value":-0.02933673843926954},{"brew_time":"158.5","timestamp":"10:16:36.784","smoothed_weight":701.4237627581361,"flow_value":-0.02640306459511521},{"brew_time":"158.6","timestamp":"10:16:36.856","smoothed_weight":701.4213864823225,"flow_value":-0.023762758136172124},{"brew_time":"158.7","timestamp":"10:16:36.928","smoothed_weight":701.4192478340902,"flow_value":-0.021386482322895972},{"brew_time":"158.8","timestamp":"10:16:37.120","smoothed_weight":701.4173230506813,"flow_value":-0.019247834089810567},{"brew_time":"158.9","timestamp":"10:16:37.161","smoothed_weight":701.4155907456131,"flow_value":-0.01732305068117057},{"brew_time":"158.10","timestamp":"10:16:37.363","smoothed_weight":701.4140316710518,"flow_value":-0.015590745613280887},{"brew_time":"159.1","timestamp":"10:16:37.442","smoothed_weight":701.4126285039466,"flow_value":-0.014031671051952799},{"brew_time":"159.2","timestamp":"10:16:37.535","smoothed_weight":701.4113656535519,"flow_value":-0.01262850394709858},{"brew_time":"159.3","timestamp":"10:16:37.591","smoothed_weight":701.4102290881967,"flow_value":-0.011365653551820287},{"brew_time":"159.4","timestamp":"10:16:37.720","smoothed_weight":701.4092061793771,"flow_value":-0.010229088196638259},{"brew_time":"159.5","timestamp":"10:16:37.790","smoothed_weight":701.4082855614394,"flow_value":-0.00920617937708812},{"brew_time":"159.6","timestamp":"10:16:37.876","smoothed_weight":701.4074570052954,"flow_value":-0.008285561439151934},{"brew_time":"159.7","timestamp":"10:16:37.978","smoothed_weight":701.4067113047658,"flow_value":-0.0074570052959188615},{"brew_time":"159.8","timestamp":"10:16:38.092","smoothed_weight":701.4060401742893,"flow_value":-0.006711304765758541},{"brew_time":"159.9","timestamp":"10:16:38.157","smoothed_weight":701.4054361568603,"flow_value":-0.006040174289410061},{"brew_time":"159.10","timestamp":"10:16:38.334","smoothed_weight":701.3948925411743,"flow_value":-0.10543615686060548},{"brew_time":"160.1","timestamp":"10:16:38.426","smoothed_weight":701.3854032870569,"flow_value":-0.0948925411739765},{"brew_time":"160.2","timestamp":"10:16:38.524","smoothed_weight":701.3868629583512,"flow_value":0.014596712943557577},{"brew_time":"160.3","timestamp":"10:16:38.612","smoothed_weight":701.3881766625161,"flow_value":0.013137041648860759},{"brew_time":"160.4","timestamp":"10:16:38.738","smoothed_weight":701.3893589962645,"flow_value":0.01182333748374731},{"brew_time":"160.5","timestamp":"10:16:38.801","smoothed_weight":701.3904230966381,"flow_value":0.010641003735827326},{"brew_time":"160.6","timestamp":"10:16:38.920","smoothed_weight":701.3913807869743,"flow_value":0.00957690336235828},{"brew_time":"160.7","timestamp":"10:16:39.109","smoothed_weight":701.3922427082769,"flow_value":0.008619213025440331},{"brew_time":"160.8","timestamp":"10:16:39.154","smoothed_weight":701.3930184374492,"flow_value":0.007757291723464732},{"brew_time":"160.9","timestamp":"10:16:39.246","smoothed_weight":701.3937165937043,"flow_value":0.006981562551118259},{"brew_time":"161.1","timestamp":"10:16:39.341","smoothed_weight":701.3843449343339,"flow_value":-0.09371659370458474},{"brew_time":"161.2","timestamp":"10:16:39.452","smoothed_weight":701.3759104409005,"flow_value":-0.08434493433355783},{"brew_time":"161.3","timestamp":"10:16:39.569","smoothed_weight":701.3683193968104,"flow_value":-0.07591044090077048},{"brew_time":"161.4","timestamp":"10:16:39.646","smoothed_weight":701.3614874571294,"flow_value":-0.06831939680978394},{"brew_time":"161.5","timestamp":"10:16:39.824","smoothed_weight":701.3553387114165,"flow_value":-0.061487457129487666},{"brew_time":"161.6","timestamp":"10:16:39.868","smoothed_weight":701.3498048402748,"flow_value":-0.055338711416652586},{"brew_time":"161.7","timestamp":"10:16:40.049","smoothed_weight":701.3448243562474,"flow_value":-0.04980484027441889},{"brew_time":"161.8","timestamp":"10:16:40.108","smoothed_weight":701.3403419206227,"flow_value":-0.04482435624709069},{"brew_time":"161.9","timestamp":"10:16:40.193","smoothed_weight":701.3363077285604,"flow_value":-0.04034192062249531},{"brew_time":"162.1","timestamp":"10:16:40.267","smoothed_weight":701.3326769557044,"flow_value":-0.03630772856013209},{"brew_time":"162.2","timestamp":"10:16:40.343","smoothed_weight":701.329409260134,"flow_value":-0.03267695570457363},{"brew_time":"162.3","timestamp":"10:16:40.531","smoothed_weight":701.3264683341206,"flow_value":-0.02940926013366152},{"brew_time":"162.4","timestamp":"10:16:40.605","smoothed_weight":701.3238215007085,"flow_value":-0.0264683341208638},{"brew_time":"162.5","timestamp":"10:16:40.683","smoothed_weight":701.3214393506377,"flow_value":-0.02382150070843636},{"brew_time":"162.6","timestamp":"10:16:40.759","smoothed_weight":701.319295415574,"flow_value":-0.021439350637137977},{"brew_time":"162.7","timestamp":"10:16:40.975","smoothed_weight":701.3173658740166,"flow_value":-0.019295415573878927},{"brew_time":"162.8","timestamp":"10:16:41.037","smoothed_weight":701.3156292866149,"flow_value":-0.017365874016377347},{"brew_time":"162.9","timestamp":"10:16:41.078","smoothed_weight":701.3140663579535,"flow_value":-0.015629286614284865},{"brew_time":"162.10","timestamp":"10:16:41.223","smoothed_weight":701.3126597221582,"flow_value":-0.01406635795319744},{"brew_time":"163.1","timestamp":"10:16:41.308","smoothed_weight":701.3113937499423,"flow_value":-0.012659722158332443},{"brew_time":"163.2","timestamp":"10:16:41.569","smoothed_weight":701.3002543749482,"flow_value":-0.11139374994172613},{"brew_time":"163.3","timestamp":"10:16:41.603","smoothed_weight":701.2902289374533,"flow_value":-0.10025437494846301},{"brew_time":"163.4","timestamp":"10:16:41.683","smoothed_weight":701.281206043708,"flow_value":-0.0902289374528209},{"brew_time":"163.5","timestamp":"10:16:41.716","smoothed_weight":701.2730854393373,"flow_value":-0.08120604370787987},{"brew_time":"163.6","timestamp":"10:16:41.877","smoothed_weight":701.2657768954035,"flow_value":-0.07308543933731926},{"brew_time":"163.7","timestamp":"10:16:41.940","smoothed_weight":701.2591992058632,"flow_value":-0.06577689540335996},{"brew_time":"163.8","timestamp":"10:16:42.006","smoothed_weight":701.2532792852769,"flow_value":-0.05919920586279659},{"brew_time":"163.9","timestamp":"10:16:42.170","smoothed_weight":701.2479513567492,"flow_value":-0.05327928527663062},{"brew_time":"163.10","timestamp":"10:16:42.259","smoothed_weight":701.2431562210743,"flow_value":-0.04795135674953599},{"brew_time":"164.1","timestamp":"10:16:42.319","smoothed_weight":701.2388405989669,"flow_value":-0.04315622107355921},{"brew_time":"164.2","timestamp":"10:16:42.401","smoothed_weight":701.2349565390703,"flow_value":-0.03884059896677172},{"brew_time":"164.3","timestamp":"10:16:42.558","smoothed_weight":701.2314608851633,"flow_value":-0.034956539069526116},{"brew_time":"164.4","timestamp":"10:16:42.631","smoothed_weight":701.2283147966469,"flow_value":-0.031460885163596686},{"brew_time":"164.5","timestamp":"10:16:42.793","smoothed_weight":701.2254833169823,"flow_value":-0.02831479664678227},{"brew_time":"164.6","timestamp":"10:16:42.856","smoothed_weight":701.222934985284,"flow_value":-0.02548331698221773},{"brew_time":"164.7","timestamp":"10:16:42.928","smoothed_weight":701.2206414867557,"flow_value":-0.02293498528388227},{"brew_time":"164.8","timestamp":"10:16:43.042","smoothed_weight":701.2185773380801,"flow_value":-0.020641486755721417},{"brew_time":"164.9","timestamp":"10:16:43.152","smoothed_weight":701.216719604272,"flow_value":-0.01857733808037665},{"brew_time":"164.10","timestamp":"10:16:43.275","smoothed_weight":701.2150476438449,"flow_value":-0.016719604271884236},{"brew_time":"165.1","timestamp":"10:16:43.391","smoothed_weight":701.2135428794604,"flow_value":-0.015047643844354752},{"brew_time":"165.2","timestamp":"10:16:43.464","smoothed_weight":701.2121885915144,"flow_value":-0.01354287946014665},{"brew_time":"165.3","timestamp":"10:16:43.715","smoothed_weight":701.210969732363,"flow_value":-0.01218859151435936},{"brew_time":"165.4","timestamp":"10:16:43.776","smoothed_weight":701.2098727591267,"flow_value":-0.010969732362582363},{"brew_time":"165.5","timestamp":"10:16:43.818","smoothed_weight":701.2088854832141,"flow_value":-0.00987275912621044},{"brew_time":"165.6","timestamp":"10:16:43.885","smoothed_weight":701.2079969348927,"flow_value":-0.008885483214271517},{"brew_time":"165.7","timestamp":"10:16:43.986","smoothed_weight":701.2071972414034,"flow_value":-0.007996934892844365},{"brew_time":"165.8","timestamp":"10:16:44.048","smoothed_weight":701.206477517263,"flow_value":-0.007197241403673615},{"brew_time":"165.9","timestamp":"10:16:44.320","smoothed_weight":701.2058297655367,"flow_value":-0.006477517263192567},{"brew_time":"166.1","timestamp":"10:16:44.357","smoothed_weight":701.205246788983,"flow_value":-0.00582976553687331},{"brew_time":"166.2","timestamp":"10:16:44.425","smoothed_weight":701.2047221100847,"flow_value":-0.005246788982731232},{"brew_time":"166.3","timestamp":"10:16:44.530","smoothed_weight":701.2042498990763,"flow_value":-0.004722110084003361},{"brew_time":"166.4","timestamp":"10:16:44.658","smoothed_weight":701.2038249091687,"flow_value":-0.004249899076285146},{"brew_time":"166.5","timestamp":"10:16:44.706","smoothed_weight":701.2034424182518,"flow_value":-0.0038249091687703185},{"brew_time":"166.6","timestamp":"10:16:44.886","smoothed_weight":701.1930981764267,"flow_value":-0.1034424182512339},{"brew_time":"166.7","timestamp":"10:16:44.955","smoothed_weight":701.1837883587841,"flow_value":-0.09309817642588314},{"brew_time":"166.8","timestamp":"10:16:45.020","smoothed_weight":701.1754095229057,"flow_value":-0.08378835878374957},{"brew_time":"166.9","timestamp":"10:16:45.107","smoothed_weight":701.1678685706152,"flow_value":-0.07540952290582936},{"brew_time":"166.10","timestamp":"10:16:45.226","smoothed_weight":701.1610817135537,"flow_value":-0.0678685706145643},{"brew_time":"167.1","timestamp":"10:16:45.281","smoothed_weight":701.1549735421984,"flow_value":-0.06108171355322156},{"brew_time":"167.2","timestamp":"10:16:45.398","smoothed_weight":701.1494761879786,"flow_value":-0.054973542197558345},{"brew_time":"167.3","timestamp":"10:16:45.562","smoothed_weight":701.1445285691808,"flow_value":-0.04947618797814357},{"brew_time":"167.4","timestamp":"10:16:45.677","smoothed_weight":701.1400757122627,"flow_value":-0.04452856918078396},{"brew_time":"167.5","timestamp":"10:16:45.721","smoothed_weight":701.1360681410365,"flow_value":-0.04007571226225082},{"brew_time":"167.6","timestamp":"10:16:45.851","smoothed_weight":701.1324613269329,"flow_value":-0.03606814103591205},{"brew_time":"167.7","timestamp":"10:16:45.934","smoothed_weight":701.1292151942397,"flow_value":-0.03246132693220716},{"brew_time":"167.8","timestamp":"10:16:46.047","smoothed_weight":701.1262936748158,"flow_value":-0.029215194239213815},{"brew_time":"167.9","timestamp":"10:16:46.149","smoothed_weight":701.1236643073343,"flow_value":-0.026293674815178747},{"brew_time":"167.10","timestamp":"10:16:46.248","smoothed_weight":701.1212978766008,"flow_value":-0.02366430733445668},{"brew_time":"168.1","timestamp":"10:16:46.362","smoothed_weight":701.1191680889408,"flow_value":-0.021297876600101517},{"brew_time":"168.2","timestamp":"10:16:46.611","smoothed_weight":701.1172512800467,"flow_value":-0.0191680889406598},{"brew_time":"168.3","timestamp":"10:16:46.667","smoothed_weight":701.1155261520421,"flow_value":-0.017251280046366446},{"brew_time":"168.4","timestamp":"10:16:46.689","smoothed_weight":701.1139735368379,"flow_value":-0.015526152042184549},{"brew_time":"168.5","timestamp":"10:16:46.764","smoothed_weight":701.1125761831541,"flow_value":-0.013973536837283973},{"brew_time":"168.6","timestamp":"10:16:46.867","smoothed_weight":701.1113185648387,"flow_value":-0.012576183154351384},{"brew_time":"168.7","timestamp":"10:16:46.938","smoothed_weight":701.1101867083548,"flow_value":-0.011318564838802558},{"brew_time":"168.8","timestamp":"10:16:47.130","smoothed_weight":701.0991680375193,"flow_value":-0.11018670835483135},{"brew_time":"168.9","timestamp":"10:16:47.236","smoothed_weight":701.0892512337674,"flow_value":-0.09916803751934822},{"brew_time":"169.1","timestamp":"10:16:47.317","smoothed_weight":701.0803261103907,"flow_value":-0.08925123376684496},{"brew_time":"169.2","timestamp":"10:16:47.433","smoothed_weight":701.0722934993516,"flow_value":-0.08032611039084259},{"brew_time":"169.3","timestamp":"10:16:47.554","smoothed_weight":701.0650641494166,"flow_value":-0.07229349935073515},{"brew_time":"169.4","timestamp":"10:16:47.608","smoothed_weight":701.0585577344749,"flow_value":-0.06506414941668481},{"brew_time":"169.5","timestamp":"10:16:47.684","smoothed_weight":701.0527019610274,"flow_value":-0.05855773447478896},{"brew_time":"169.6","timestamp":"10:16:47.883","smoothed_weight":701.0474317649247,"flow_value":-0.05270196102742375},{"brew_time":"169.7","timestamp":"10:16:47.956","smoothed_weight":701.0426885884323,"flow_value":-0.04743176492411294},{"brew_time":"169.8","timestamp":"10:16:48.002","smoothed_weight":701.0384197295891,"flow_value":-0.04268858843147427},{"brew_time":"169.9","timestamp":"10:16:48.113","smoothed_weight":701.0345777566303,"flow_value":-0.038419729588667906},{"brew_time":"169.10","timestamp":"10:16:48.242","smoothed_weight":701.0311199809672,"flow_value":-0.03457775663036955},{"brew_time":"170.1","timestamp":"10:16:48.312","smoothed_weight":701.0280079828706,"flow_value":-0.0311199809664231},{"brew_time":"170.2","timestamp":"10:16:48.401","smoothed_weight":701.0252071845836,"flow_value":-0.02800798287012185},{"brew_time":"170.3","timestamp":"10:16:48.600","smoothed_weight":701.0226864661253,"flow_value":-0.02520718458299598},{"brew_time":"170.4","timestamp":"10:16:48.642","smoothed_weight":701.0204178195128,"flow_value":-0.022686466124923754},{"brew_time":"170.5","timestamp":"10:16:48.712","smoothed_weight":701.0183760375616,"flow_value":-0.020417819512204005},{"brew_time":"170.6","timestamp":"10:16:48.810","smoothed_weight":701.0165384338054,"flow_value":-0.018376037561438352},{"brew_time":"170.7","timestamp":"10:16:48.929","smoothed_weight":701.0148845904249,"flow_value":-0.016538433804953456},{"brew_time":"170.8","timestamp":"10:16:49.046","smoothed_weight":701.0133961313825,"flow_value":-0.014884590424344424},{"brew_time":"170.9","timestamp":"10:16:49.187","smoothed_weight":701.0120565182443,"flow_value":-0.013396131381568921},{"brew_time":"171.1","timestamp":"10:16:49.247","smoothed_weight":701.0108508664199,"flow_value":-0.012056518244207837},{"brew_time":"171.2","timestamp":"10:16:49.413","smoothed_weight":701.0097657797779,"flow_value":-0.010850866419787053},{"brew_time":"171.3","timestamp":"10:16:49.476","smoothed_weight":701.0087892018001,"flow_value":-0.009765779777808348},{"brew_time":"171.4","timestamp":"10:16:49.566","smoothed_weight":701.0079102816202,"flow_value":-0.008789201799572766},{"brew_time":"171.5","timestamp":"10:16:49.627","smoothed_weight":701.0071192534582,"flow_value":-0.007910281619842863},{"brew_time":"171.6","timestamp":"10:16:49.758","smoothed_weight":701.0064073281125,"flow_value":-0.007119253457403829},{"brew_time":"171.7","timestamp":"10:16:49.870","smoothed_weight":701.0057665953012,"flow_value":-0.006407328112345567},{"brew_time":"171.8","timestamp":"10:16:49.971","smoothed_weight":701.0051899357711,"flow_value":-0.0057665953011110105},{"brew_time":"171.9","timestamp":"10:16:50.060","smoothed_weight":701.004670942194,"flow_value":-0.005189935770886223},{"brew_time":"171.10","timestamp":"10:16:50.230","smoothed_weight":701.0042038479746,"flow_value":-0.004670942194024974},{"brew_time":"172.1","timestamp":"10:16:50.320","smoothed_weight":701.0037834631772,"flow_value":-0.004203847973940356},{"brew_time":"172.2","timestamp":"10:16:50.379","smoothed_weight":701.0034051168595,"flow_value":-0.0037834631768873805},{"brew_time":"172.3","timestamp":"10:16:50.530","smoothed_weight":701.0030646051737,"flow_value":-0.0034051168586302083},{"brew_time":"172.4","timestamp":"10:16:50.592","smoothed_weight":701.0027581446564,"flow_value":-0.003064605173221935},{"brew_time":"172.5","timestamp":"10:16:50.660","smoothed_weight":701.0024823301908,"flow_value":-0.0027581446556723677},{"brew_time":"172.6","timestamp":"10:16:50.838","smoothed_weight":701.0022340971717,"flow_value":-0.002482330190787252},{"brew_time":"172.7","timestamp":"10:16:50.900","smoothed_weight":701.0020106874546,"flow_value":-0.0022340971713674662},{"brew_time":"172.8","timestamp":"10:16:50.988","smoothed_weight":701.0018096187091,"flow_value":-0.002010687454685467},{"brew_time":"172.9","timestamp":"10:16:51.101","smoothed_weight":701.0016286568382,"flow_value":-0.0018096187091032334},{"brew_time":"172.10","timestamp":"10:16:51.188","smoothed_weight":701.0014657911544,"flow_value":-0.00162865683819291},{"brew_time":"173.1","timestamp":"10:16:51.298","smoothed_weight":701.001319212039,"flow_value":-0.0014657911538051849},{"brew_time":"173.2","timestamp":"10:16:51.404","smoothed_weight":701.0011872908351,"flow_value":-0.0013192120388794137},{"brew_time":"173.3","timestamp":"10:16:51.593","smoothed_weight":701.0010685617516,"flow_value":-0.0011872908351051592},{"brew_time":"173.4","timestamp":"10:16:51.635","smoothed_weight":701.0009617055765,"flow_value":-0.0010685617507988354},{"brew_time":"173.5","timestamp":"10:16:51.707","smoothed_weight":701.0008655350189,"flow_value":-0.0009617055764010729},{"brew_time":"173.6","timestamp":"10:16:51.813","smoothed_weight":701.000778981517,"flow_value":-0.0008655350188746525},{"brew_time":"173.7","timestamp":"10:16:51.884","smoothed_weight":701.0007010833654,"flow_value":-0.0007789815163050662},{"brew_time":"173.8","timestamp":"10:16:52.004","smoothed_weight":701.0006309750289,"flow_value":-0.0007010833644471859},{"brew_time":"173.9","timestamp":"10:16:52.113","smoothed_weight":701.000567877526,"flow_value":-0.0006309750290256488},{"brew_time":"173.10","timestamp":"10:16:52.251","smoothed_weight":701.0005110897735,"flow_value":-0.0005678775255546498},{"brew_time":"174.1","timestamp":"10:16:52.313","smoothed_weight":701.0004599807961,"flow_value":-0.0005110897734539321},{"brew_time":"174.2","timestamp":"10:16:52.516","smoothed_weight":701.0004139827165,"flow_value":-0.0004599807959948521},{"brew_time":"174.3","timestamp":"10:16:52.554","smoothed_weight":701.0003725844449,"flow_value":-0.00041398271605430637},{"brew_time":"174.4","timestamp":"10:16:52.632","smoothed_weight":701.0003353260005,"flow_value":-0.00037258444422150205},{"brew_time":"174.5","timestamp":"10:16:52.762","smoothed_weight":701.0003017934005,"flow_value":-0.00033532600014041236},{"brew_time":"174.6","timestamp":"10:16:52.866","smoothed_weight":701.0002716140605,"flow_value":-0.0003017934000126843},{"brew_time":"174.7","timestamp":"10:16:52.925","smoothed_weight":701.0002444526544,"flow_value":-0.00027161406023878953},{"brew_time":"174.8","timestamp":"10:16:53.123","smoothed_weight":701.0002200073891,"flow_value":-0.00024445265353278955},{"brew_time":"174.9","timestamp":"10:16:53.202","smoothed_weight":701.0001980066502,"flow_value":-0.0002200073890890053},{"brew_time":"175.1","timestamp":"10:16:53.274","smoothed_weight":701.0001782059852,"flow_value":-0.00019800664972535742},{"brew_time":"175.2","timestamp":"10:16:53.423","smoothed_weight":701.0001603853867,"flow_value":-0.00017820598486650852},{"brew_time":"175.3","timestamp":"10:16:53.476","smoothed_weight":701.0001443468481,"flow_value":-0.00016038538660723134},{"brew_time":"175.4","timestamp":"10:16:53.569","smoothed_weight":701.0001299121633,"flow_value":-0.00014434684771913453},{"brew_time":"175.5","timestamp":"10:16:53.657","smoothed_weight":701.000116920947,"flow_value":-0.00012991216294722108},{"brew_time":"175.6","timestamp":"10:16:53.764","smoothed_weight":700.9901052288524,"flow_value":-0.10011692094622049},{"brew_time":"175.7","timestamp":"10:16:53.875","smoothed_weight":700.9810947059672,"flow_value":-0.09010522885205319},{"brew_time":"175.8","timestamp":"10:16:53.944","smoothed_weight":700.9729852353705,"flow_value":-0.08109470596650681},{"brew_time":"175.9","timestamp":"10:16:54.103","smoothed_weight":700.9656867118335,"flow_value":-0.07298523536974244},{"brew_time":"175.10","timestamp":"10:16:54.208","smoothed_weight":700.9591180406502,"flow_value":-0.06568671183345032},{"brew_time":"176.1","timestamp":"10:16:54.288","smoothed_weight":700.9532062365852,"flow_value":-0.05911804065021897},{"brew_time":"176.2","timestamp":"10:16:54.505","smoothed_weight":700.9478856129267,"flow_value":-0.05320623658462864},{"brew_time":"176.3","timestamp":"10:16:54.573","smoothed_weight":700.9430970516341,"flow_value":-0.04788561292571103},{"brew_time":"176.4","timestamp":"10:16:54.617","smoothed_weight":700.9387873464708,"flow_value":-0.0430970516333673},{"brew_time":"176.5","timestamp":"10:16:54.718","smoothed_weight":700.9349086118237,"flow_value":-0.038787346470599005},{"brew_time":"176.6","timestamp":"10:16:54.821","smoothed_weight":700.9314177506415,"flow_value":-0.03490861182285698},{"brew_time":"176.7","timestamp":"10:16:54.880","smoothed_weight":700.9282759755773,"flow_value":-0.03141775064136709},{"brew_time":"176.8","timestamp":"10:16:55.007","smoothed_weight":700.9254483780196,"flow_value":-0.028275975577116697},{"brew_time":"176.9","timestamp":"10:16:55.121","smoothed_weight":700.9229035402177,"flow_value":-0.025448378019063966},{"brew_time":"176.10","timestamp":"10:16:55.332","smoothed_weight":700.920613186196,"flow_value":-0.022903540217384943},{"brew_time":"177.1","timestamp":"10:16:55.378","smoothed_weight":700.9185518675764,"flow_value":-0.020613186195532762},{"brew_time":"177.2","timestamp":"10:16:55.462","smoothed_weight":700.9166966808189,"flow_value":-0.01855186757552474},{"brew_time":"177.3","timestamp":"10:16:55.576","smoothed_weight":700.915027012737,"flow_value":-0.016696680818313325},{"brew_time":"177.4","timestamp":"10:16:55.637","smoothed_weight":700.9135243114633,"flow_value":-0.01502701273693674},{"brew_time":"177.5","timestamp":"10:16:55.756","smoothed_weight":700.912171880317,"flow_value":-0.013524311463015692},{"brew_time":"177.6","timestamp":"10:16:55.829","smoothed_weight":700.9109546922854,"flow_value":-0.012171880316600436},{"brew_time":"177.7","timestamp":"10:16:56.015","smoothed_weight":700.9098592230569,"flow_value":-0.010954692285167766},{"brew_time":"177.8","timestamp":"10:16:56.074","smoothed_weight":700.9088733007512,"flow_value":-0.00985922305630993},{"brew_time":"177.9","timestamp":"10:16:56.162","smoothed_weight":700.9079859706761,"flow_value":-0.008873300751019997},{"brew_time":"177.10","timestamp":"10:16:56.259","smoothed_weight":700.9071873736085,"flow_value":-0.00798597067614537},{"brew_time":"178.1","timestamp":"10:16:56.349","smoothed_weight":700.9064686362477,"flow_value":-0.007187373607848713},{"brew_time":"178.2","timestamp":"10:16:56.464","smoothed_weight":700.905821772623,"flow_value":-0.006468636247518589},{"brew_time":"178.3","timestamp":"10:16:56.561","smoothed_weight":700.9052395953607,"flow_value":-0.0058217726223119826},{"brew_time":"178.4","timestamp":"10:16:56.729","smoothed_weight":700.9047156358247,"flow_value":-0.005239595360535532},{"brew_time":"178.5","timestamp":"10:16:56.790","smoothed_weight":700.9042440722422,"flow_value":-0.004715635824368292},{"brew_time":"178.6","timestamp":"10:16:56.850","smoothed_weight":700.8938196650181,"flow_value":-0.10424407224149945},{"brew_time":"178.7","timestamp":"10:16:56.987","smoothed_weight":700.8844376985163,"flow_value":-0.09381966501791794},{"brew_time":"178.8","timestamp":"10:16:57.139","smoothed_weight":700.8759939286647,"flow_value":-0.08443769851623983},{"brew_time":"178.9","timestamp":"10:16:57.222","smoothed_weight":700.8683945357983,"flow_value":-0.07599392866382004},{"brew_time":"179.1","timestamp":"10:16:57.388","smoothed_weight":700.8615550822185,"flow_value":-0.06839453579800647},{"brew_time":"179.2","timestamp":"10:16:57.454","smoothed_weight":700.8553995739967,"flow_value":-0.06155508221809214},{"brew_time":"179.3","timestamp":"10:16:57.516","smoothed_weight":700.8498596165971,"flow_value":-0.05539957399605555},{"brew_time":"179.4","timestamp":"10:16:57.588","smoothed_weight":700.8448736549375,"flow_value":-0.04985961659599525},{"brew_time":"179.5","timestamp":"10:16:57.701","smoothed_weight":700.8403862894438,"flow_value":-0.044873654936736784},{"brew_time":"179.6","timestamp":"10:16:57.817","smoothed_weight":700.8363476604995,"flow_value":-0.040386289442722045},{"brew_time":"179.7","timestamp":"10:16:57.887","smoothed_weight":700.8327128944496,"flow_value":-0.03634766049913196},{"brew_time":"179.8","timestamp":"10:16:58.003","smoothed_weight":700.8294416050047,"flow_value":-0.03271289444910508},{"brew_time":"179.9","timestamp":"10:16:58.205","smoothed_weight":700.8264974445043,"flow_value":-0.02944160500419457},{"brew_time":"180.1","timestamp":"10:16:58.281","smoothed_weight":700.8238477000539,"flow_value":-0.02649744450422986},{"brew_time":"180.2","timestamp":"10:16:58.381","smoothed_weight":700.8214629300486,"flow_value":-0.023847700052783694},{"brew_time":"180.3","timestamp":"10:16:58.437","smoothed_weight":700.8193166370438,"flow_value":-0.021462930047846385},{"brew_time":"180.4","timestamp":"10:16:58.544","smoothed_weight":700.8173849733395,"flow_value":-0.019316637043402807},{"brew_time":"180.5","timestamp":"10:16:58.638","smoothed_weight":700.8156464760056,"flow_value":-0.017384973339176213},{"brew_time":"180.6","timestamp":"10:16:58.722","smoothed_weight":700.814081828405,"flow_value":-0.015646476005031218},{"brew_time":"180.7","timestamp":"10:16:58.904","smoothed_weight":700.8126736455646,"flow_value":-0.014081828404641783},{"brew_time":"180.8","timestamp":"10:16:58.972","smoothed_weight":700.8114062810082,"flow_value":-0.012673645563836544},{"brew_time":"180.9","timestamp":"10:16:59.058","smoothed_weight":700.8102656529074,"flow_value":-0.011406281007566577},{"brew_time":"180.10","timestamp":"10:16:59.193","smoothed_weight":700.8092390876168,"flow_value":-0.010265652906582545},{"brew_time":"181.1","timestamp":"10:16:59.259","smoothed_weight":700.8083151788552,"flow_value":-0.00923908761592429},{"brew_time":"181.2","timestamp":"10:16:59.356","smoothed_weight":700.8074836609698,"flow_value":-0.008315178854445548},{"brew_time":"181.3","timestamp":"10:16:59.465","smoothed_weight":700.8067352948729,"flow_value":-0.007483660969000994},{"brew_time":"181.4","timestamp":"10:16:59.563","smoothed_weight":700.8060617653856,"flow_value":-0.006735294872441955},{"brew_time":"181.5","timestamp":"10:16:59.722","smoothed_weight":700.805455588847,"flow_value":-0.00606176538553882},{"brew_time":"181.6","timestamp":"10:16:59.787","smoothed_weight":700.8049100299625,"flow_value":-0.005455588845961756},{"brew_time":"181.7","timestamp":"10:16:59.850","smoothed_weight":700.8044190269662,"flow_value":-0.004910029962275075},{"brew_time":"181.8","timestamp":"10:16:59.988","smoothed_weight":700.8039771242696,"flow_value":-0.004419026965933881},{"brew_time":"181.9","timestamp":"10:17:00.093","smoothed_weight":700.8035794118427,"flow_value":-0.0039771242688857456},{"brew_time":"181.10","timestamp":"10:17:00.180","smoothed_weight":700.8032214706585,"flow_value":-0.0035794118423382315},{"brew_time":"182.1","timestamp":"10:17:00.368","smoothed_weight":700.8028993235927,"flow_value":-0.003221470658445469},{"brew_time":"182.2","timestamp":"10:17:00.423","smoothed_weight":700.8026093912334,"flow_value":-0.0028993235923735483},{"brew_time":"182.3","timestamp":"10:17:00.484","smoothed_weight":700.8023484521101,"flow_value":-0.002609391233363567},{"brew_time":"182.4","timestamp":"10:17:00.580","smoothed_weight":700.8021136068992,"flow_value":-0.0023484521091177157},{"brew_time":"182.5","timestamp":"10:17:00.742","smoothed_weight":700.8019022462094,"flow_value":-0.002113606898319631},{"brew_time":"182.6","timestamp":"10:17:00.806","smoothed_weight":700.8017120215885,"flow_value":-0.001902246208373981},{"brew_time":"182.7","timestamp":"10:17:00.890","smoothed_weight":700.7915408194298,"flow_value":-0.10171202158744563},{"brew_time":"182.8","timestamp":"10:17:01.006","smoothed_weight":700.7823867374868,"flow_value":-0.09154081942938319},{"brew_time":"182.9","timestamp":"10:17:01.090","smoothed_weight":700.7741480637383,"flow_value":-0.08238673748564906},{"brew_time":"182.10","timestamp":"10:17:01.212","smoothed_weight":700.7667332573645,"flow_value":-0.07414806373731153},{"brew_time":"183.1","timestamp":"10:17:01.312","smoothed_weight":700.7600599316281,"flow_value":-0.06673325736414881},{"brew_time":"183.2","timestamp":"10:17:01.414","smoothed_weight":700.7540539384654,"flow_value":-0.0600599316271655},{"brew_time":"183.3","timestamp":"10:17:01.517","smoothed_weight":700.748648544619,"flow_value":-0.05405393846444895},{"brew_time":"183.4","timestamp":"10:17:01.647","smoothed_weight":700.7437836901571,"flow_value":-0.04864854461857249},{"brew_time":"183.5","timestamp":"10:17:01.720","smoothed_weight":700.7394053211415,"flow_value":-0.04378369015626049},{"brew_time":"183.6","timestamp":"10:17:01.835","smoothed_weight":700.7354647890274,"flow_value":-0.03940532114029338},{"brew_time":"183.7","timestamp":"10:17:01.946","smoothed_weight":700.7319183101248,"flow_value":-0.03546478902649142},{"brew_time":"183.8","timestamp":"10:17:02.010","smoothed_weight":700.7287264791124,"flow_value":-0.03191831012372859},{"brew_time":"183.9","timestamp":"10:17:02.125","smoothed_weight":700.7258538312012,"flow_value":-0.02872647911203785},{"brew_time":"183.10","timestamp":"10:17:02.266","smoothed_weight":700.7232684480812,"flow_value":-0.025853831200493005},{"brew_time":"184.1","timestamp":"10:17:02.372","smoothed_weight":700.7209416032731,"flow_value":-0.023268448080671078},{"brew_time":"184.2","timestamp":"10:17:02.462","smoothed_weight":700.7188474429458,"flow_value":-0.02094160327260397},{"brew_time":"184.3","timestamp":"10:17:02.626","smoothed_weight":700.7169626986513,"flow_value":-0.018847442945570947},{"brew_time":"184.4","timestamp":"10:17:02.671","smoothed_weight":700.7152664287862,"flow_value":-0.01696269865078648},{"brew_time":"184.5","timestamp":"10:17:02.735","smoothed_weight":700.7137397859077,"flow_value":-0.01526642878502571},{"brew_time":"184.6","timestamp":"10:17:02.854","smoothed_weight":700.712365807317,"flow_value":-0.013739785906636826},{"brew_time":"184.7","timestamp":"10:17:02.969","smoothed_weight":700.7111292265854,"flow_value":-0.01236580731642789},{"brew_time":"184.8","timestamp":"10:17:03.074","smoothed_weight":700.710016303927,"flow_value":-0.011129226584216667},{"brew_time":"184.9","timestamp":"10:17:03.138","smoothed_weight":700.7090146735344,"flow_value":-0.010016303925795},{"brew_time":"184.10","timestamp":"10:17:03.358","smoothed_weight":700.708113206181,"flow_value":-0.009014673534011308},{"brew_time":"185.1","timestamp":"10:17:03.403","smoothed_weight":700.707301885563,"flow_value":-0.008113206180269117},{"brew_time":"185.2","timestamp":"10:17:03.507","smoothed_weight":700.7065716970068,"flow_value":-0.007301885561901145},{"brew_time":"185.3","timestamp":"10:17:03.605","smoothed_weight":700.7059145273062,"flow_value":-0.0065716970061657776},{"brew_time":"185.4","timestamp":"10:17:03.666","smoothed_weight":700.7053230745756,"flow_value":-0.005914527305321826},{"brew_time":"185.5","timestamp":"10:17:03.773","smoothed_weight":700.7047907671181,"flow_value":-0.0053230745754717645},{"brew_time":"185.6","timestamp":"10:17:04.066","smoothed_weight":700.7043116904064,"flow_value":-0.00479076711712878},{"brew_time":"185.7","timestamp":"10:17:04.091","smoothed_weight":700.7038805213658,"flow_value":-0.004311690405529589},{"brew_time":"185.8","timestamp":"10:17:04.138","smoothed_weight":700.7034924692293,"flow_value":-0.0038805213648629433},{"brew_time":"185.9","timestamp":"10:17:04.230","smoothed_weight":700.7031432223065,"flow_value":-0.003492469228376649},{"brew_time":"186.1","timestamp":"10:17:04.305","smoothed_weight":700.7028289000759,"flow_value":-0.003143222305652671},{"brew_time":"186.2","timestamp":"10:17:04.383","smoothed_weight":700.7025460100684,"flow_value":-0.002828900074973717},{"brew_time":"186.3","timestamp":"10:17:04.516","smoothed_weight":700.7022914090617,"flow_value":-0.002546010067590032},{"brew_time":"186.4","timestamp":"10:17:04.660","smoothed_weight":700.7020622681556,"flow_value":-0.002291409060717342},{"brew_time":"186.5","timestamp":"10:17:04.723","smoothed_weight":700.7018560413401,"flow_value":-0.002062268155214042},{"brew_time":"186.6","timestamp":"10:17:04.839","smoothed_weight":700.7016704372062,"flow_value":-0.00185604133889683},{"brew_time":"186.7","timestamp":"10:17:04.946","smoothed_weight":700.7015033934856,"flow_value":-0.0016704372058029548},{"brew_time":"186.8","timestamp":"10:17:05.018","smoothed_weight":700.7013530541371,"flow_value":-0.0015033934846542252},{"brew_time":"186.9","timestamp":"10:17:05.124","smoothed_weight":700.7012177487235,"flow_value":-0.00135305413664355},{"brew_time":"186.10","timestamp":"10:17:05.266","smoothed_weight":700.7010959738512,"flow_value":-0.0012177487224107608},{"brew_time":"187.1","timestamp":"10:17:05.329","smoothed_weight":700.7009863764662,"flow_value":-0.001095973850624432},{"brew_time":"187.2","timestamp":"10:17:05.542","smoothed_weight":700.7008877388196,"flow_value":-0.0009863764660167362},{"brew_time":"187.3","timestamp":"10:17:05.571","smoothed_weight":700.7007989649377,"flow_value":-0.0008877388188466284},{"brew_time":"187.4","timestamp":"10:17:05.657","smoothed_weight":700.700719068444,"flow_value":-0.0007989649373030261},{"brew_time":"187.5","timestamp":"10:17:05.735","smoothed_weight":700.7006471615996,"flow_value":-0.0007190684436864103},{"brew_time":"187.6","timestamp":"10:17:05.865","smoothed_weight":700.7005824454397,"flow_value":-0.0006471615984082746},{"brew_time":"187.7","timestamp":"10:17:05.956","smoothed_weight":700.7005242008959,"flow_value":-0.0005824454387948208},{"brew_time":"187.8","timestamp":"10:17:06.022","smoothed_weight":700.7004717808063,"flow_value":-0.0005242008955974597},{"brew_time":"187.9","timestamp":"10:17:06.234","smoothed_weight":700.7004246027258,"flow_value":-0.00047178080535559275},{"brew_time":"188.1","timestamp":"10:17:06.294","smoothed_weight":700.7003821424532,"flow_value":-0.00042460272538846766},{"brew_time":"188.2","timestamp":"10:17:06.365","smoothed_weight":700.690343928208,"flow_value":-0.10038214245241761},{"brew_time":"188.3","timestamp":"10:17:06.450","smoothed_weight":700.6813095353873,"flow_value":-0.09034392820694848},{"brew_time":"188.4","timestamp":"10:17:06.586","smoothed_weight":700.6731785818486,"flow_value":-0.0813095353873905},{"brew_time":"188.5","timestamp":"10:17:06.665","smoothed_weight":700.6658607236636,"flow_value":-0.07317858184933357},{"brew_time":"188.6","timestamp":"10:17:06.775","smoothed_weight":700.6692746512973,"flow_value":0.03413927633687308},{"brew_time":"188.7","timestamp":"10:17:06.967","smoothed_weight":700.6723471861676,"flow_value":0.030725348702844713},{"brew_time":"188.8","timestamp":"10:17:07.036","smoothed_weight":700.6651124675509,"flow_value":-0.07234718616700775},{"brew_time":"188.9","timestamp":"10:17:07.109","smoothed_weight":700.6586012207958,"flow_value":-0.06511246755053435},{"brew_time":"188.10","timestamp":"10:17:07.209","smoothed_weight":700.6527410987162,"flow_value":-0.05860122079639041},{"brew_time":"189.1","timestamp":"10:17:07.292","smoothed_weight":700.6474669888446,"flow_value":-0.052741098716069246},{"brew_time":"189.2","timestamp":"10:17:07.373","smoothed_weight":700.6427202899602,"flow_value":-0.04746698884446232},{"brew_time":"189.3","timestamp":"10:17:07.536","smoothed_weight":700.6384482609642,"flow_value":-0.04272028995956134},{"brew_time":"189.4","timestamp":"10:17:07.600","smoothed_weight":700.6346034348678,"flow_value":-0.03844826096383258}],"pressureFlow":[]} \ No newline at end of file diff --git a/src/assets/BeanconquerorFlowTestDataThird.json b/src/assets/BeanconquerorFlowTestDataThird.json new file mode 100644 index 000000000..2026ed862 --- /dev/null +++ b/src/assets/BeanconquerorFlowTestDataThird.json @@ -0,0 +1,5358 @@ +{ + "weight": [ + { + "timestamp": "11:37:52.966", + "brew_time": "0.0", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.032", + "brew_time": "0.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.034", + "brew_time": "0.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.152", + "brew_time": "0.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.287", + "brew_time": "0.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.288", + "brew_time": "0.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.435", + "brew_time": "0.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.573", + "brew_time": "0.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.729", + "brew_time": "0.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.731", + "brew_time": "0.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:53.939", + "brew_time": "0.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.046", + "brew_time": "1.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.180", + "brew_time": "1.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.182", + "brew_time": "1.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.327", + "brew_time": "1.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.486", + "brew_time": "1.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.487", + "brew_time": "1.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.633", + "brew_time": "1.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.770", + "brew_time": "1.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.957", + "brew_time": "1.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:54.986", + "brew_time": "2.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:55.081", + "brew_time": "2.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:55.225", + "brew_time": "2.3", + "actual_weight": 0.7, + "old_weight": 0, + "actual_smoothed_weight": 0.2, + "old_smoothed_weight": 0 + }, + { + "timestamp": "11:37:55.243", + "brew_time": "2.4", + "actual_weight": 1.3, + "old_weight": 0.7, + "actual_smoothed_weight": 0.5, + "old_smoothed_weight": 0.2 + }, + { + "timestamp": "11:37:55.379", + "brew_time": "2.5", + "actual_weight": 1.6, + "old_weight": 1.3, + "actual_smoothed_weight": 0.9, + "old_smoothed_weight": 0.5 + }, + { + "timestamp": "11:37:55.528", + "brew_time": "2.6", + "actual_weight": 2.7, + "old_weight": 1.6, + "actual_smoothed_weight": 1.4, + "old_smoothed_weight": 0.9 + }, + { + "timestamp": "11:37:55.676", + "brew_time": "2.7", + "actual_weight": 11.3, + "old_weight": 2.7, + "actual_smoothed_weight": 4.4, + "old_smoothed_weight": 1.4 + }, + { + "timestamp": "11:37:55.693", + "brew_time": "2.8", + "actual_weight": 23.9, + "old_weight": 11.3, + "actual_smoothed_weight": 10.2, + "old_smoothed_weight": 4.4 + }, + { + "timestamp": "11:37:55.827", + "brew_time": "2.9", + "actual_weight": 33.5, + "old_weight": 23.9, + "actual_smoothed_weight": 17.2, + "old_smoothed_weight": 10.2 + }, + { + "timestamp": "11:37:56.002", + "brew_time": "2.10", + "actual_weight": 33.5, + "old_weight": 33.5, + "actual_smoothed_weight": 23.9, + "old_smoothed_weight": 17.2 + }, + { + "timestamp": "11:37:56.158", + "brew_time": "3.1", + "actual_weight": 33.5, + "old_weight": 39.6, + "actual_smoothed_weight": 29.5, + "old_smoothed_weight": 23.9 + }, + { + "timestamp": "11:37:56.173", + "brew_time": "3.2", + "actual_weight": 33.5, + "old_weight": 42.4, + "actual_smoothed_weight": 34, + "old_smoothed_weight": 29.5 + }, + { + "timestamp": "11:37:56.290", + "brew_time": "3.3", + "actual_weight": 33.5, + "old_weight": 44.6, + "actual_smoothed_weight": 36.4, + "old_smoothed_weight": 34 + }, + { + "timestamp": "11:37:56.427", + "brew_time": "3.4", + "actual_weight": 33.5, + "old_weight": 42, + "actual_smoothed_weight": 38.1, + "old_smoothed_weight": 36.4 + }, + { + "timestamp": "11:37:56.440", + "brew_time": "3.5", + "actual_weight": 33.5, + "old_weight": 41.9, + "actual_smoothed_weight": 38.8, + "old_smoothed_weight": 38.1 + }, + { + "timestamp": "11:37:56.581", + "brew_time": "3.6", + "actual_weight": 33.5, + "old_weight": 40.5, + "actual_smoothed_weight": 38.2, + "old_smoothed_weight": 38.8 + }, + { + "timestamp": "11:37:56.723", + "brew_time": "3.7", + "actual_weight": 33.5, + "old_weight": 36.7, + "actual_smoothed_weight": 37.4, + "old_smoothed_weight": 38.2 + }, + { + "timestamp": "11:37:57.050", + "brew_time": "3.8", + "actual_weight": 33.5, + "old_weight": 35.5, + "actual_smoothed_weight": 37.1, + "old_smoothed_weight": 37.4 + }, + { + "timestamp": "11:37:57.096", + "brew_time": "4.1", + "actual_weight": 33.5, + "old_weight": 36.5, + "actual_smoothed_weight": 35, + "old_smoothed_weight": 37.1 + }, + { + "timestamp": "11:37:57.107", + "brew_time": "4.2", + "actual_weight": 33.5, + "old_weight": 30, + "actual_smoothed_weight": 35.6, + "old_smoothed_weight": 35 + }, + { + "timestamp": "11:37:57.205", + "brew_time": "4.3", + "actual_weight": 33.5, + "old_weight": 37.1, + "actual_smoothed_weight": 38.1, + "old_smoothed_weight": 35.6 + }, + { + "timestamp": "11:37:57.332", + "brew_time": "4.4", + "actual_weight": 33.5, + "old_weight": 43.9, + "actual_smoothed_weight": 36.8, + "old_smoothed_weight": 38.1 + }, + { + "timestamp": "11:37:57.346", + "brew_time": "4.5", + "actual_weight": 33.5, + "old_weight": 33.9, + "actual_smoothed_weight": 35, + "old_smoothed_weight": 36.8 + }, + { + "timestamp": "11:37:57.481", + "brew_time": "4.6", + "actual_weight": 33.5, + "old_weight": 30.8, + "actual_smoothed_weight": 36.2, + "old_smoothed_weight": 35 + }, + { + "timestamp": "11:37:57.633", + "brew_time": "4.7", + "actual_weight": 33.5, + "old_weight": 38.8, + "actual_smoothed_weight": 38.3, + "old_smoothed_weight": 36.2 + }, + { + "timestamp": "11:37:57.649", + "brew_time": "4.8", + "actual_weight": 33.5, + "old_weight": 43.2, + "actual_smoothed_weight": 39.2, + "old_smoothed_weight": 38.3 + }, + { + "timestamp": "11:37:57.776", + "brew_time": "4.9", + "actual_weight": 33.5, + "old_weight": 41.5, + "actual_smoothed_weight": 37.9, + "old_smoothed_weight": 39.2 + }, + { + "timestamp": "11:37:57.936", + "brew_time": "4.10", + "actual_weight": 33.5, + "old_weight": 34.9, + "actual_smoothed_weight": 34.9, + "old_smoothed_weight": 37.9 + }, + { + "timestamp": "11:37:58.101", + "brew_time": "4.11", + "actual_weight": 33.5, + "old_weight": 27.8, + "actual_smoothed_weight": 29.9, + "old_smoothed_weight": 34.9 + }, + { + "timestamp": "11:37:58.145", + "brew_time": "5.1", + "actual_weight": 33.5, + "old_weight": 18.1, + "actual_smoothed_weight": 23.8, + "old_smoothed_weight": 29.9 + }, + { + "timestamp": "11:37:58.241", + "brew_time": "5.2", + "actual_weight": 33.5, + "old_weight": 9.7, + "actual_smoothed_weight": 19.3, + "old_smoothed_weight": 23.8 + }, + { + "timestamp": "11:37:58.369", + "brew_time": "5.3", + "actual_weight": 33.5, + "old_weight": 8.7, + "actual_smoothed_weight": 16.1, + "old_smoothed_weight": 19.3 + }, + { + "timestamp": "11:37:58.527", + "brew_time": "5.4", + "actual_weight": 33.5, + "old_weight": 8.8, + "actual_smoothed_weight": 14, + "old_smoothed_weight": 16.1 + }, + { + "timestamp": "11:37:58.540", + "brew_time": "5.5", + "actual_weight": 33.5, + "old_weight": 9.1, + "actual_smoothed_weight": 12.6, + "old_smoothed_weight": 14 + }, + { + "timestamp": "11:37:58.670", + "brew_time": "5.6", + "actual_weight": 33.5, + "old_weight": 9.3, + "actual_smoothed_weight": 11.7, + "old_smoothed_weight": 12.6 + }, + { + "timestamp": "11:37:58.825", + "brew_time": "5.7", + "actual_weight": 33.5, + "old_weight": 9.5, + "actual_smoothed_weight": 11.1, + "old_smoothed_weight": 11.7 + }, + { + "timestamp": "11:37:58.838", + "brew_time": "5.8", + "actual_weight": 33.5, + "old_weight": 9.7, + "actual_smoothed_weight": 10.7, + "old_smoothed_weight": 11.1 + }, + { + "timestamp": "11:37:58.983", + "brew_time": "5.9", + "actual_weight": 33.5, + "old_weight": 9.8, + "actual_smoothed_weight": 10.5, + "old_smoothed_weight": 10.7 + }, + { + "timestamp": "11:37:59.156", + "brew_time": "5.10", + "actual_weight": 10.2, + "old_weight": 10, + "actual_smoothed_weight": 10.4, + "old_smoothed_weight": 10.5 + }, + { + "timestamp": "11:37:59.275", + "brew_time": "6.1", + "actual_weight": 10.4, + "old_weight": 10.2, + "actual_smoothed_weight": 10.4, + "old_smoothed_weight": 10.4 + }, + { + "timestamp": "11:37:59.287", + "brew_time": "6.2", + "actual_weight": 10.6, + "old_weight": 10.4, + "actual_smoothed_weight": 10.5, + "old_smoothed_weight": 10.4 + }, + { + "timestamp": "11:37:59.437", + "brew_time": "6.3", + "actual_weight": 10.7, + "old_weight": 10.6, + "actual_smoothed_weight": 10.5, + "old_smoothed_weight": 10.5 + }, + { + "timestamp": "11:37:59.581", + "brew_time": "6.4", + "actual_weight": 10.9, + "old_weight": 10.7, + "actual_smoothed_weight": 10.6, + "old_smoothed_weight": 10.5 + }, + { + "timestamp": "11:37:59.594", + "brew_time": "6.5", + "actual_weight": 11.1, + "old_weight": 10.9, + "actual_smoothed_weight": 10.8, + "old_smoothed_weight": 10.6 + }, + { + "timestamp": "11:37:59.733", + "brew_time": "6.6", + "actual_weight": 11.3, + "old_weight": 11.1, + "actual_smoothed_weight": 10.9, + "old_smoothed_weight": 10.8 + }, + { + "timestamp": "11:37:59.876", + "brew_time": "6.7", + "actual_weight": 11.5, + "old_weight": 11.3, + "actual_smoothed_weight": 11.1, + "old_smoothed_weight": 10.9 + }, + { + "timestamp": "11:38:00.035", + "brew_time": "6.8", + "actual_weight": 11.7, + "old_weight": 11.5, + "actual_smoothed_weight": 11.3, + "old_smoothed_weight": 11.1 + }, + { + "timestamp": "11:38:00.050", + "brew_time": "6.9", + "actual_weight": 11.8, + "old_weight": 11.7, + "actual_smoothed_weight": 11.4, + "old_smoothed_weight": 11.3 + }, + { + "timestamp": "11:38:00.325", + "brew_time": "6.10", + "actual_weight": 12, + "old_weight": 11.8, + "actual_smoothed_weight": 11.6, + "old_smoothed_weight": 11.4 + }, + { + "timestamp": "11:38:00.364", + "brew_time": "7.1", + "actual_weight": 12.2, + "old_weight": 12, + "actual_smoothed_weight": 11.8, + "old_smoothed_weight": 11.6 + }, + { + "timestamp": "11:38:00.487", + "brew_time": "7.2", + "actual_weight": 12.4, + "old_weight": 12.2, + "actual_smoothed_weight": 12, + "old_smoothed_weight": 11.8 + }, + { + "timestamp": "11:38:00.503", + "brew_time": "7.3", + "actual_weight": 12.5, + "old_weight": 12.4, + "actual_smoothed_weight": 12.1, + "old_smoothed_weight": 12 + }, + { + "timestamp": "11:38:00.628", + "brew_time": "7.4", + "actual_weight": 12.7, + "old_weight": 12.5, + "actual_smoothed_weight": 12.3, + "old_smoothed_weight": 12.1 + }, + { + "timestamp": "11:38:00.784", + "brew_time": "7.5", + "actual_weight": 12.9, + "old_weight": 12.7, + "actual_smoothed_weight": 12.5, + "old_smoothed_weight": 12.3 + }, + { + "timestamp": "11:38:00.785", + "brew_time": "7.6", + "actual_weight": 13.1, + "old_weight": 12.9, + "actual_smoothed_weight": 12.7, + "old_smoothed_weight": 12.5 + }, + { + "timestamp": "11:38:00.926", + "brew_time": "7.7", + "actual_weight": 13.3, + "old_weight": 13.1, + "actual_smoothed_weight": 12.9, + "old_smoothed_weight": 12.7 + }, + { + "timestamp": "11:38:01.107", + "brew_time": "7.8", + "actual_weight": 13.4, + "old_weight": 13.3, + "actual_smoothed_weight": 13, + "old_smoothed_weight": 12.9 + }, + { + "timestamp": "11:38:01.230", + "brew_time": "7.9", + "actual_weight": 13.6, + "old_weight": 13.4, + "actual_smoothed_weight": 13.2, + "old_smoothed_weight": 13 + }, + { + "timestamp": "11:38:01.272", + "brew_time": "8.1", + "actual_weight": 13.8, + "old_weight": 13.6, + "actual_smoothed_weight": 13.4, + "old_smoothed_weight": 13.2 + }, + { + "timestamp": "11:38:01.420", + "brew_time": "8.2", + "actual_weight": 14, + "old_weight": 13.8, + "actual_smoothed_weight": 13.6, + "old_smoothed_weight": 13.4 + }, + { + "timestamp": "11:38:01.544", + "brew_time": "8.3", + "actual_weight": 14.2, + "old_weight": 14, + "actual_smoothed_weight": 13.8, + "old_smoothed_weight": 13.6 + }, + { + "timestamp": "11:38:01.697", + "brew_time": "8.4", + "actual_weight": 14.3, + "old_weight": 14.2, + "actual_smoothed_weight": 13.9, + "old_smoothed_weight": 13.8 + }, + { + "timestamp": "11:38:01.709", + "brew_time": "8.5", + "actual_weight": 14.5, + "old_weight": 14.3, + "actual_smoothed_weight": 14.1, + "old_smoothed_weight": 13.9 + }, + { + "timestamp": "11:38:01.832", + "brew_time": "8.6", + "actual_weight": 14.7, + "old_weight": 14.5, + "actual_smoothed_weight": 14.3, + "old_smoothed_weight": 14.1 + }, + { + "timestamp": "11:38:01.992", + "brew_time": "8.7", + "actual_weight": 14.9, + "old_weight": 14.7, + "actual_smoothed_weight": 14.5, + "old_smoothed_weight": 14.3 + }, + { + "timestamp": "11:38:02.007", + "brew_time": "8.8", + "actual_weight": 15, + "old_weight": 14.9, + "actual_smoothed_weight": 14.6, + "old_smoothed_weight": 14.5 + }, + { + "timestamp": "11:38:02.160", + "brew_time": "8.9", + "actual_weight": 15.3, + "old_weight": 15, + "actual_smoothed_weight": 14.8, + "old_smoothed_weight": 14.6 + }, + { + "timestamp": "11:38:02.284", + "brew_time": "8.10", + "actual_weight": 15.4, + "old_weight": 15.3, + "actual_smoothed_weight": 15, + "old_smoothed_weight": 14.8 + }, + { + "timestamp": "11:38:02.438", + "brew_time": "9.1", + "actual_weight": 15.6, + "old_weight": 15.4, + "actual_smoothed_weight": 15.2, + "old_smoothed_weight": 15 + }, + { + "timestamp": "11:38:02.453", + "brew_time": "9.2", + "actual_weight": 15.7, + "old_weight": 15.6, + "actual_smoothed_weight": 15.3, + "old_smoothed_weight": 15.2 + }, + { + "timestamp": "11:38:02.590", + "brew_time": "9.3", + "actual_weight": 16, + "old_weight": 15.7, + "actual_smoothed_weight": 15.5, + "old_smoothed_weight": 15.3 + }, + { + "timestamp": "11:38:02.736", + "brew_time": "9.4", + "actual_weight": 16.1, + "old_weight": 16, + "actual_smoothed_weight": 15.7, + "old_smoothed_weight": 15.5 + }, + { + "timestamp": "11:38:02.895", + "brew_time": "9.5", + "actual_weight": 16.3, + "old_weight": 16.1, + "actual_smoothed_weight": 15.9, + "old_smoothed_weight": 15.7 + }, + { + "timestamp": "11:38:02.907", + "brew_time": "9.6", + "actual_weight": 16.5, + "old_weight": 16.3, + "actual_smoothed_weight": 16.1, + "old_smoothed_weight": 15.9 + }, + { + "timestamp": "11:38:03.034", + "brew_time": "9.7", + "actual_weight": 16.7, + "old_weight": 16.5, + "actual_smoothed_weight": 16.3, + "old_smoothed_weight": 16.1 + }, + { + "timestamp": "11:38:03.178", + "brew_time": "9.8", + "actual_weight": 16.9, + "old_weight": 16.7, + "actual_smoothed_weight": 16.5, + "old_smoothed_weight": 16.3 + }, + { + "timestamp": "11:38:03.191", + "brew_time": "9.9", + "actual_weight": 17.1, + "old_weight": 16.9, + "actual_smoothed_weight": 16.6, + "old_smoothed_weight": 16.5 + }, + { + "timestamp": "11:38:03.333", + "brew_time": "9.10", + "actual_weight": 17.3, + "old_weight": 17.1, + "actual_smoothed_weight": 16.8, + "old_smoothed_weight": 16.6 + }, + { + "timestamp": "11:38:03.487", + "brew_time": "10.1", + "actual_weight": 17.4, + "old_weight": 17.3, + "actual_smoothed_weight": 17, + "old_smoothed_weight": 16.8 + }, + { + "timestamp": "11:38:03.638", + "brew_time": "10.2", + "actual_weight": 17.6, + "old_weight": 17.4, + "actual_smoothed_weight": 17.2, + "old_smoothed_weight": 17 + }, + { + "timestamp": "11:38:03.654", + "brew_time": "10.3", + "actual_weight": 17.8, + "old_weight": 17.6, + "actual_smoothed_weight": 17.4, + "old_smoothed_weight": 17.2 + }, + { + "timestamp": "11:38:03.781", + "brew_time": "10.4", + "actual_weight": 18, + "old_weight": 17.8, + "actual_smoothed_weight": 17.6, + "old_smoothed_weight": 17.4 + }, + { + "timestamp": "11:38:03.939", + "brew_time": "10.5", + "actual_weight": 18.2, + "old_weight": 18, + "actual_smoothed_weight": 17.8, + "old_smoothed_weight": 17.6 + }, + { + "timestamp": "11:38:03.954", + "brew_time": "10.6", + "actual_weight": 18.4, + "old_weight": 18.2, + "actual_smoothed_weight": 17.9, + "old_smoothed_weight": 17.8 + }, + { + "timestamp": "11:38:04.113", + "brew_time": "10.7", + "actual_weight": 18.6, + "old_weight": 18.4, + "actual_smoothed_weight": 18.1, + "old_smoothed_weight": 17.9 + }, + { + "timestamp": "11:38:04.229", + "brew_time": "10.8", + "actual_weight": 18.8, + "old_weight": 18.6, + "actual_smoothed_weight": 18.3, + "old_smoothed_weight": 18.1 + }, + { + "timestamp": "11:38:04.365", + "brew_time": "10.9", + "actual_weight": 18.9, + "old_weight": 18.8, + "actual_smoothed_weight": 18.5, + "old_smoothed_weight": 18.3 + }, + { + "timestamp": "11:38:04.408", + "brew_time": "11.1", + "actual_weight": 19.1, + "old_weight": 18.9, + "actual_smoothed_weight": 18.7, + "old_smoothed_weight": 18.5 + }, + { + "timestamp": "11:38:04.531", + "brew_time": "11.2", + "actual_weight": 19.3, + "old_weight": 19.1, + "actual_smoothed_weight": 18.9, + "old_smoothed_weight": 18.7 + }, + { + "timestamp": "11:38:04.692", + "brew_time": "11.3", + "actual_weight": 19.5, + "old_weight": 19.3, + "actual_smoothed_weight": 19.1, + "old_smoothed_weight": 18.9 + }, + { + "timestamp": "11:38:04.836", + "brew_time": "11.4", + "actual_weight": 19.7, + "old_weight": 19.5, + "actual_smoothed_weight": 19.3, + "old_smoothed_weight": 19.1 + }, + { + "timestamp": "11:38:04.849", + "brew_time": "11.5", + "actual_weight": 19.9, + "old_weight": 19.7, + "actual_smoothed_weight": 19.4, + "old_smoothed_weight": 19.3 + }, + { + "timestamp": "11:38:04.971", + "brew_time": "11.6", + "actual_weight": 20, + "old_weight": 19.9, + "actual_smoothed_weight": 19.6, + "old_smoothed_weight": 19.4 + }, + { + "timestamp": "11:38:05.145", + "brew_time": "11.7", + "actual_weight": 20.3, + "old_weight": 20, + "actual_smoothed_weight": 19.8, + "old_smoothed_weight": 19.6 + }, + { + "timestamp": "11:38:05.147", + "brew_time": "11.8", + "actual_weight": 20.5, + "old_weight": 20.3, + "actual_smoothed_weight": 20, + "old_smoothed_weight": 19.8 + }, + { + "timestamp": "11:38:05.442", + "brew_time": "11.9", + "actual_weight": 20.6, + "old_weight": 20.5, + "actual_smoothed_weight": 20.2, + "old_smoothed_weight": 20 + }, + { + "timestamp": "11:38:05.493", + "brew_time": "12.1", + "actual_weight": 20.8, + "old_weight": 20.6, + "actual_smoothed_weight": 20.4, + "old_smoothed_weight": 20.2 + }, + { + "timestamp": "11:38:05.587", + "brew_time": "12.2", + "actual_weight": 21, + "old_weight": 20.8, + "actual_smoothed_weight": 20.6, + "old_smoothed_weight": 20.4 + }, + { + "timestamp": "11:38:05.602", + "brew_time": "12.3", + "actual_weight": 21.2, + "old_weight": 21, + "actual_smoothed_weight": 20.8, + "old_smoothed_weight": 20.6 + }, + { + "timestamp": "11:38:05.725", + "brew_time": "12.4", + "actual_weight": 21.4, + "old_weight": 21.2, + "actual_smoothed_weight": 20.9, + "old_smoothed_weight": 20.8 + }, + { + "timestamp": "11:38:05.881", + "brew_time": "12.5", + "actual_weight": 21.6, + "old_weight": 21.4, + "actual_smoothed_weight": 21.1, + "old_smoothed_weight": 20.9 + }, + { + "timestamp": "11:38:06.032", + "brew_time": "12.6", + "actual_weight": 21.7, + "old_weight": 21.6, + "actual_smoothed_weight": 21.3, + "old_smoothed_weight": 21.1 + }, + { + "timestamp": "11:38:06.044", + "brew_time": "12.7", + "actual_weight": 21.9, + "old_weight": 21.7, + "actual_smoothed_weight": 21.5, + "old_smoothed_weight": 21.3 + }, + { + "timestamp": "11:38:06.179", + "brew_time": "12.8", + "actual_weight": 22.1, + "old_weight": 21.9, + "actual_smoothed_weight": 21.7, + "old_smoothed_weight": 21.5 + }, + { + "timestamp": "11:38:06.383", + "brew_time": "12.9", + "actual_weight": 22.3, + "old_weight": 22.1, + "actual_smoothed_weight": 21.9, + "old_smoothed_weight": 21.7 + }, + { + "timestamp": "11:38:06.429", + "brew_time": "13.1", + "actual_weight": 22.5, + "old_weight": 22.3, + "actual_smoothed_weight": 22.1, + "old_smoothed_weight": 21.9 + }, + { + "timestamp": "11:38:06.502", + "brew_time": "13.2", + "actual_weight": 22.7, + "old_weight": 22.5, + "actual_smoothed_weight": 22.2, + "old_smoothed_weight": 22.1 + }, + { + "timestamp": "11:38:06.635", + "brew_time": "13.3", + "actual_weight": 22.9, + "old_weight": 22.7, + "actual_smoothed_weight": 22.4, + "old_smoothed_weight": 22.2 + }, + { + "timestamp": "11:38:06.779", + "brew_time": "13.4", + "actual_weight": 23.1, + "old_weight": 22.9, + "actual_smoothed_weight": 22.6, + "old_smoothed_weight": 22.4 + }, + { + "timestamp": "11:38:06.792", + "brew_time": "13.5", + "actual_weight": 23.3, + "old_weight": 23.1, + "actual_smoothed_weight": 22.8, + "old_smoothed_weight": 22.6 + }, + { + "timestamp": "11:38:06.929", + "brew_time": "13.6", + "actual_weight": 23.5, + "old_weight": 23.3, + "actual_smoothed_weight": 23, + "old_smoothed_weight": 22.8 + }, + { + "timestamp": "11:38:07.086", + "brew_time": "13.7", + "actual_weight": 23.7, + "old_weight": 23.5, + "actual_smoothed_weight": 23.2, + "old_smoothed_weight": 23 + }, + { + "timestamp": "11:38:07.426", + "brew_time": "13.8", + "actual_weight": 23.9, + "old_weight": 23.7, + "actual_smoothed_weight": 23.4, + "old_smoothed_weight": 23.2 + }, + { + "timestamp": "11:38:07.473", + "brew_time": "14.1", + "actual_weight": 24, + "old_weight": 23.9, + "actual_smoothed_weight": 23.6, + "old_smoothed_weight": 23.4 + }, + { + "timestamp": "11:38:07.484", + "brew_time": "14.2", + "actual_weight": 24.2, + "old_weight": 24, + "actual_smoothed_weight": 23.8, + "old_smoothed_weight": 23.6 + }, + { + "timestamp": "11:38:07.561", + "brew_time": "14.3", + "actual_weight": 24.4, + "old_weight": 24.2, + "actual_smoothed_weight": 24, + "old_smoothed_weight": 23.8 + }, + { + "timestamp": "11:38:07.573", + "brew_time": "14.4", + "actual_weight": 24.6, + "old_weight": 24.4, + "actual_smoothed_weight": 24.2, + "old_smoothed_weight": 24 + }, + { + "timestamp": "11:38:07.687", + "brew_time": "14.5", + "actual_weight": 24.8, + "old_weight": 24.6, + "actual_smoothed_weight": 24.4, + "old_smoothed_weight": 24.2 + }, + { + "timestamp": "11:38:07.830", + "brew_time": "14.6", + "actual_weight": 25, + "old_weight": 24.8, + "actual_smoothed_weight": 24.5, + "old_smoothed_weight": 24.4 + }, + { + "timestamp": "11:38:07.994", + "brew_time": "14.7", + "actual_weight": 25.1, + "old_weight": 25, + "actual_smoothed_weight": 24.7, + "old_smoothed_weight": 24.5 + }, + { + "timestamp": "11:38:08.006", + "brew_time": "14.8", + "actual_weight": 25.4, + "old_weight": 25.1, + "actual_smoothed_weight": 24.9, + "old_smoothed_weight": 24.7 + }, + { + "timestamp": "11:38:08.132", + "brew_time": "14.9", + "actual_weight": 25.5, + "old_weight": 25.4, + "actual_smoothed_weight": 25.1, + "old_smoothed_weight": 24.9 + }, + { + "timestamp": "11:38:08.288", + "brew_time": "14.10", + "actual_weight": 25.7, + "old_weight": 25.5, + "actual_smoothed_weight": 25.3, + "old_smoothed_weight": 25.1 + }, + { + "timestamp": "11:38:08.302", + "brew_time": "14.11", + "actual_weight": 25.9, + "old_weight": 25.7, + "actual_smoothed_weight": 25.5, + "old_smoothed_weight": 25.3 + }, + { + "timestamp": "11:38:08.457", + "brew_time": "14.12", + "actual_weight": 26.1, + "old_weight": 25.9, + "actual_smoothed_weight": 25.7, + "old_smoothed_weight": 25.5 + }, + { + "timestamp": "11:38:08.590", + "brew_time": "15.1", + "actual_weight": 26.3, + "old_weight": 26.1, + "actual_smoothed_weight": 25.8, + "old_smoothed_weight": 25.7 + }, + { + "timestamp": "11:38:08.737", + "brew_time": "15.2", + "actual_weight": 26.5, + "old_weight": 26.3, + "actual_smoothed_weight": 26, + "old_smoothed_weight": 25.8 + }, + { + "timestamp": "11:38:08.750", + "brew_time": "15.3", + "actual_weight": 26.7, + "old_weight": 26.5, + "actual_smoothed_weight": 26.2, + "old_smoothed_weight": 26 + }, + { + "timestamp": "11:38:08.887", + "brew_time": "15.4", + "actual_weight": 26.9, + "old_weight": 26.7, + "actual_smoothed_weight": 26.4, + "old_smoothed_weight": 26.2 + }, + { + "timestamp": "11:38:09.033", + "brew_time": "15.5", + "actual_weight": 27.1, + "old_weight": 26.9, + "actual_smoothed_weight": 26.6, + "old_smoothed_weight": 26.4 + }, + { + "timestamp": "11:38:09.175", + "brew_time": "15.6", + "actual_weight": 27.3, + "old_weight": 27.1, + "actual_smoothed_weight": 26.8, + "old_smoothed_weight": 26.6 + }, + { + "timestamp": "11:38:09.186", + "brew_time": "15.7", + "actual_weight": 27.5, + "old_weight": 27.3, + "actual_smoothed_weight": 27, + "old_smoothed_weight": 26.8 + }, + { + "timestamp": "11:38:09.347", + "brew_time": "15.8", + "actual_weight": 27.7, + "old_weight": 27.5, + "actual_smoothed_weight": 27.2, + "old_smoothed_weight": 27 + }, + { + "timestamp": "11:38:09.646", + "brew_time": "15.9", + "actual_weight": 27.9, + "old_weight": 27.7, + "actual_smoothed_weight": 27.4, + "old_smoothed_weight": 27.2 + }, + { + "timestamp": "11:38:09.691", + "brew_time": "16.1", + "actual_weight": 28, + "old_weight": 27.9, + "actual_smoothed_weight": 27.6, + "old_smoothed_weight": 27.4 + }, + { + "timestamp": "11:38:09.785", + "brew_time": "16.2", + "actual_weight": 28.2, + "old_weight": 28, + "actual_smoothed_weight": 27.8, + "old_smoothed_weight": 27.6 + }, + { + "timestamp": "11:38:09.807", + "brew_time": "16.3", + "actual_weight": 28.5, + "old_weight": 28.2, + "actual_smoothed_weight": 28, + "old_smoothed_weight": 27.8 + }, + { + "timestamp": "11:38:09.942", + "brew_time": "16.4", + "actual_weight": 28.6, + "old_weight": 28.5, + "actual_smoothed_weight": 28.2, + "old_smoothed_weight": 28 + }, + { + "timestamp": "11:38:09.955", + "brew_time": "16.5", + "actual_weight": 28.8, + "old_weight": 28.6, + "actual_smoothed_weight": 28.4, + "old_smoothed_weight": 28.2 + }, + { + "timestamp": "11:38:10.125", + "brew_time": "16.6", + "actual_weight": 29, + "old_weight": 28.8, + "actual_smoothed_weight": 28.6, + "old_smoothed_weight": 28.4 + }, + { + "timestamp": "11:38:10.242", + "brew_time": "16.7", + "actual_weight": 29.2, + "old_weight": 29, + "actual_smoothed_weight": 28.7, + "old_smoothed_weight": 28.6 + }, + { + "timestamp": "11:38:10.387", + "brew_time": "16.8", + "actual_weight": 29.4, + "old_weight": 29.2, + "actual_smoothed_weight": 28.9, + "old_smoothed_weight": 28.7 + }, + { + "timestamp": "11:38:10.400", + "brew_time": "16.9", + "actual_weight": 29.6, + "old_weight": 29.4, + "actual_smoothed_weight": 29.1, + "old_smoothed_weight": 28.9 + }, + { + "timestamp": "11:38:10.549", + "brew_time": "16.10", + "actual_weight": 29.8, + "old_weight": 29.6, + "actual_smoothed_weight": 29.3, + "old_smoothed_weight": 29.1 + }, + { + "timestamp": "11:38:10.686", + "brew_time": "17.1", + "actual_weight": 30, + "old_weight": 29.8, + "actual_smoothed_weight": 29.5, + "old_smoothed_weight": 29.3 + }, + { + "timestamp": "11:38:10.700", + "brew_time": "17.2", + "actual_weight": 30.2, + "old_weight": 30, + "actual_smoothed_weight": 29.7, + "old_smoothed_weight": 29.5 + }, + { + "timestamp": "11:38:10.837", + "brew_time": "17.3", + "actual_weight": 30.4, + "old_weight": 30.2, + "actual_smoothed_weight": 29.9, + "old_smoothed_weight": 29.7 + }, + { + "timestamp": "11:38:10.977", + "brew_time": "17.4", + "actual_weight": 30.5, + "old_weight": 30.4, + "actual_smoothed_weight": 30.1, + "old_smoothed_weight": 29.9 + }, + { + "timestamp": "11:38:11.162", + "brew_time": "17.5", + "actual_weight": 30.7, + "old_weight": 30.5, + "actual_smoothed_weight": 30.3, + "old_smoothed_weight": 30.1 + }, + { + "timestamp": "11:38:11.176", + "brew_time": "17.6", + "actual_weight": 30.9, + "old_weight": 30.7, + "actual_smoothed_weight": 30.5, + "old_smoothed_weight": 30.3 + }, + { + "timestamp": "11:38:11.287", + "brew_time": "17.7", + "actual_weight": 31.1, + "old_weight": 30.9, + "actual_smoothed_weight": 30.7, + "old_smoothed_weight": 30.5 + }, + { + "timestamp": "11:38:11.433", + "brew_time": "17.8", + "actual_weight": 31.3, + "old_weight": 31.1, + "actual_smoothed_weight": 30.9, + "old_smoothed_weight": 30.7 + }, + { + "timestamp": "11:38:11.587", + "brew_time": "17.9", + "actual_weight": 31.5, + "old_weight": 31.3, + "actual_smoothed_weight": 31, + "old_smoothed_weight": 30.9 + }, + { + "timestamp": "11:38:11.638", + "brew_time": "18.1", + "actual_weight": 31.7, + "old_weight": 31.5, + "actual_smoothed_weight": 31.2, + "old_smoothed_weight": 31 + }, + { + "timestamp": "11:38:11.897", + "brew_time": "18.2", + "actual_weight": 31.9, + "old_weight": 31.7, + "actual_smoothed_weight": 31.4, + "old_smoothed_weight": 31.2 + }, + { + "timestamp": "11:38:11.911", + "brew_time": "18.3", + "actual_weight": 32.1, + "old_weight": 31.9, + "actual_smoothed_weight": 31.6, + "old_smoothed_weight": 31.4 + }, + { + "timestamp": "11:38:11.923", + "brew_time": "18.4", + "actual_weight": 32.3, + "old_weight": 32.1, + "actual_smoothed_weight": 31.8, + "old_smoothed_weight": 31.6 + }, + { + "timestamp": "11:38:12.037", + "brew_time": "18.5", + "actual_weight": 32.5, + "old_weight": 32.3, + "actual_smoothed_weight": 32, + "old_smoothed_weight": 31.8 + }, + { + "timestamp": "11:38:12.183", + "brew_time": "18.6", + "actual_weight": 32.6, + "old_weight": 32.5, + "actual_smoothed_weight": 32.2, + "old_smoothed_weight": 32 + }, + { + "timestamp": "11:38:12.331", + "brew_time": "18.7", + "actual_weight": 32.9, + "old_weight": 32.6, + "actual_smoothed_weight": 32.4, + "old_smoothed_weight": 32.2 + }, + { + "timestamp": "11:38:12.344", + "brew_time": "18.8", + "actual_weight": 33, + "old_weight": 32.9, + "actual_smoothed_weight": 32.6, + "old_smoothed_weight": 32.4 + }, + { + "timestamp": "11:38:12.485", + "brew_time": "18.9", + "actual_weight": 33.2, + "old_weight": 33, + "actual_smoothed_weight": 32.8, + "old_smoothed_weight": 32.6 + }, + { + "timestamp": "11:38:12.636", + "brew_time": "18.10", + "actual_weight": 33.4, + "old_weight": 33.2, + "actual_smoothed_weight": 33, + "old_smoothed_weight": 32.8 + }, + { + "timestamp": "11:38:12.683", + "brew_time": "19.1", + "actual_weight": 33.6, + "old_weight": 33.4, + "actual_smoothed_weight": 33.2, + "old_smoothed_weight": 33 + }, + { + "timestamp": "11:38:12.786", + "brew_time": "19.2", + "actual_weight": 33.8, + "old_weight": 33.6, + "actual_smoothed_weight": 33.3, + "old_smoothed_weight": 33.2 + }, + { + "timestamp": "11:38:12.934", + "brew_time": "19.3", + "actual_weight": 34, + "old_weight": 33.8, + "actual_smoothed_weight": 33.5, + "old_smoothed_weight": 33.3 + }, + { + "timestamp": "11:38:13.081", + "brew_time": "19.4", + "actual_weight": 34.2, + "old_weight": 34, + "actual_smoothed_weight": 33.7, + "old_smoothed_weight": 33.5 + }, + { + "timestamp": "11:38:13.093", + "brew_time": "19.5", + "actual_weight": 34.4, + "old_weight": 34.2, + "actual_smoothed_weight": 33.9, + "old_smoothed_weight": 33.7 + }, + { + "timestamp": "11:38:13.251", + "brew_time": "19.6", + "actual_weight": 34.6, + "old_weight": 34.4, + "actual_smoothed_weight": 34.1, + "old_smoothed_weight": 33.9 + }, + { + "timestamp": "11:38:13.394", + "brew_time": "19.7", + "actual_weight": 34.8, + "old_weight": 34.6, + "actual_smoothed_weight": 34.3, + "old_smoothed_weight": 34.1 + }, + { + "timestamp": "11:38:13.536", + "brew_time": "19.8", + "actual_weight": 35, + "old_weight": 34.8, + "actual_smoothed_weight": 34.5, + "old_smoothed_weight": 34.3 + }, + { + "timestamp": "11:38:13.550", + "brew_time": "19.9", + "actual_weight": 35.2, + "old_weight": 35, + "actual_smoothed_weight": 34.7, + "old_smoothed_weight": 34.5 + }, + { + "timestamp": "11:38:13.836", + "brew_time": "19.10", + "actual_weight": 35.3, + "old_weight": 35.2, + "actual_smoothed_weight": 34.9, + "old_smoothed_weight": 34.7 + }, + { + "timestamp": "11:38:13.888", + "brew_time": "20.1", + "actual_weight": 35.5, + "old_weight": 35.3, + "actual_smoothed_weight": 35.1, + "old_smoothed_weight": 34.9 + }, + { + "timestamp": "11:38:13.900", + "brew_time": "20.2", + "actual_weight": 35.7, + "old_weight": 35.5, + "actual_smoothed_weight": 35.3, + "old_smoothed_weight": 35.1 + }, + { + "timestamp": "11:38:14.153", + "brew_time": "20.3", + "actual_weight": 35.9, + "old_weight": 35.7, + "actual_smoothed_weight": 35.5, + "old_smoothed_weight": 35.3 + }, + { + "timestamp": "11:38:14.168", + "brew_time": "20.4", + "actual_weight": 36.1, + "old_weight": 35.9, + "actual_smoothed_weight": 35.7, + "old_smoothed_weight": 35.5 + }, + { + "timestamp": "11:38:14.285", + "brew_time": "20.5", + "actual_weight": 36.3, + "old_weight": 36.1, + "actual_smoothed_weight": 35.8, + "old_smoothed_weight": 35.7 + }, + { + "timestamp": "11:38:14.299", + "brew_time": "20.6", + "actual_weight": 36.5, + "old_weight": 36.3, + "actual_smoothed_weight": 36, + "old_smoothed_weight": 35.8 + }, + { + "timestamp": "11:38:14.421", + "brew_time": "20.7", + "actual_weight": 36.7, + "old_weight": 36.5, + "actual_smoothed_weight": 36.2, + "old_smoothed_weight": 36 + }, + { + "timestamp": "11:38:14.582", + "brew_time": "20.8", + "actual_weight": 36.9, + "old_weight": 36.7, + "actual_smoothed_weight": 36.4, + "old_smoothed_weight": 36.2 + }, + { + "timestamp": "11:38:14.729", + "brew_time": "20.9", + "actual_weight": 37.1, + "old_weight": 36.9, + "actual_smoothed_weight": 36.6, + "old_smoothed_weight": 36.4 + }, + { + "timestamp": "11:38:14.775", + "brew_time": "21.1", + "actual_weight": 37.3, + "old_weight": 37.1, + "actual_smoothed_weight": 36.8, + "old_smoothed_weight": 36.6 + }, + { + "timestamp": "11:38:14.896", + "brew_time": "21.2", + "actual_weight": 37.5, + "old_weight": 37.3, + "actual_smoothed_weight": 37, + "old_smoothed_weight": 36.8 + }, + { + "timestamp": "11:38:15.027", + "brew_time": "21.3", + "actual_weight": 37.7, + "old_weight": 37.5, + "actual_smoothed_weight": 37.2, + "old_smoothed_weight": 37 + }, + { + "timestamp": "11:38:15.041", + "brew_time": "21.4", + "actual_weight": 37.8, + "old_weight": 37.7, + "actual_smoothed_weight": 37.4, + "old_smoothed_weight": 37.2 + }, + { + "timestamp": "11:38:15.183", + "brew_time": "21.5", + "actual_weight": 38, + "old_weight": 37.8, + "actual_smoothed_weight": 37.6, + "old_smoothed_weight": 37.4 + }, + { + "timestamp": "11:38:15.344", + "brew_time": "21.6", + "actual_weight": 38.2, + "old_weight": 38, + "actual_smoothed_weight": 37.8, + "old_smoothed_weight": 37.6 + }, + { + "timestamp": "11:38:15.487", + "brew_time": "21.7", + "actual_weight": 38.4, + "old_weight": 38.2, + "actual_smoothed_weight": 38, + "old_smoothed_weight": 37.8 + }, + { + "timestamp": "11:38:15.502", + "brew_time": "21.8", + "actual_weight": 38.6, + "old_weight": 38.4, + "actual_smoothed_weight": 38.2, + "old_smoothed_weight": 38 + }, + { + "timestamp": "11:38:15.646", + "brew_time": "21.9", + "actual_weight": 38.8, + "old_weight": 38.6, + "actual_smoothed_weight": 38.3, + "old_smoothed_weight": 38.2 + }, + { + "timestamp": "11:38:15.791", + "brew_time": "21.10", + "actual_weight": 39, + "old_weight": 38.8, + "actual_smoothed_weight": 38.5, + "old_smoothed_weight": 38.3 + }, + { + "timestamp": "11:38:15.838", + "brew_time": "22.1", + "actual_weight": 39.2, + "old_weight": 39, + "actual_smoothed_weight": 38.7, + "old_smoothed_weight": 38.5 + }, + { + "timestamp": "11:38:15.941", + "brew_time": "22.2", + "actual_weight": 39.4, + "old_weight": 39.2, + "actual_smoothed_weight": 38.9, + "old_smoothed_weight": 38.7 + }, + { + "timestamp": "11:38:16.086", + "brew_time": "22.3", + "actual_weight": 39.6, + "old_weight": 39.4, + "actual_smoothed_weight": 39.1, + "old_smoothed_weight": 38.9 + }, + { + "timestamp": "11:38:16.235", + "brew_time": "22.4", + "actual_weight": 39.8, + "old_weight": 39.6, + "actual_smoothed_weight": 39.3, + "old_smoothed_weight": 39.1 + }, + { + "timestamp": "11:38:16.388", + "brew_time": "22.5", + "actual_weight": 39.9, + "old_weight": 39.8, + "actual_smoothed_weight": 39.5, + "old_smoothed_weight": 39.3 + }, + { + "timestamp": "11:38:16.402", + "brew_time": "22.6", + "actual_weight": 40.2, + "old_weight": 39.9, + "actual_smoothed_weight": 39.7, + "old_smoothed_weight": 39.5 + }, + { + "timestamp": "11:38:16.548", + "brew_time": "22.7", + "actual_weight": 40.4, + "old_weight": 40.2, + "actual_smoothed_weight": 39.9, + "old_smoothed_weight": 39.7 + }, + { + "timestamp": "11:38:16.695", + "brew_time": "22.8", + "actual_weight": 40.6, + "old_weight": 40.4, + "actual_smoothed_weight": 40.1, + "old_smoothed_weight": 39.9 + }, + { + "timestamp": "11:38:16.709", + "brew_time": "22.9", + "actual_weight": 40.8, + "old_weight": 40.6, + "actual_smoothed_weight": 40.3, + "old_smoothed_weight": 40.1 + }, + { + "timestamp": "11:38:16.833", + "brew_time": "22.10", + "actual_weight": 41, + "old_weight": 40.8, + "actual_smoothed_weight": 40.5, + "old_smoothed_weight": 40.3 + }, + { + "timestamp": "11:38:16.996", + "brew_time": "23.1", + "actual_weight": 41.1, + "old_weight": 41, + "actual_smoothed_weight": 40.7, + "old_smoothed_weight": 40.5 + }, + { + "timestamp": "11:38:17.013", + "brew_time": "23.2", + "actual_weight": 41.3, + "old_weight": 41.1, + "actual_smoothed_weight": 40.9, + "old_smoothed_weight": 40.7 + }, + { + "timestamp": "11:38:17.132", + "brew_time": "23.3", + "actual_weight": 41.5, + "old_weight": 41.3, + "actual_smoothed_weight": 41.1, + "old_smoothed_weight": 40.9 + }, + { + "timestamp": "11:38:17.278", + "brew_time": "23.4", + "actual_weight": 41.7, + "old_weight": 41.5, + "actual_smoothed_weight": 41.3, + "old_smoothed_weight": 41.1 + }, + { + "timestamp": "11:38:17.441", + "brew_time": "23.5", + "actual_weight": 41.9, + "old_weight": 41.7, + "actual_smoothed_weight": 41.4, + "old_smoothed_weight": 41.3 + }, + { + "timestamp": "11:38:17.453", + "brew_time": "23.6", + "actual_weight": 42, + "old_weight": 41.9, + "actual_smoothed_weight": 41.6, + "old_smoothed_weight": 41.4 + }, + { + "timestamp": "11:38:17.597", + "brew_time": "23.7", + "actual_weight": 42.3, + "old_weight": 42, + "actual_smoothed_weight": 41.8, + "old_smoothed_weight": 41.6 + }, + { + "timestamp": "11:38:17.738", + "brew_time": "23.8", + "actual_weight": 42.5, + "old_weight": 42.3, + "actual_smoothed_weight": 42, + "old_smoothed_weight": 41.8 + }, + { + "timestamp": "11:38:17.883", + "brew_time": "23.9", + "actual_weight": 42.7, + "old_weight": 42.5, + "actual_smoothed_weight": 42.2, + "old_smoothed_weight": 42 + }, + { + "timestamp": "11:38:17.933", + "brew_time": "24.1", + "actual_weight": 42.9, + "old_weight": 42.7, + "actual_smoothed_weight": 42.4, + "old_smoothed_weight": 42.2 + }, + { + "timestamp": "11:38:18.043", + "brew_time": "24.2", + "actual_weight": 43.1, + "old_weight": 42.9, + "actual_smoothed_weight": 42.6, + "old_smoothed_weight": 42.4 + }, + { + "timestamp": "11:38:18.337", + "brew_time": "24.3", + "actual_weight": 43.3, + "old_weight": 43.1, + "actual_smoothed_weight": 42.8, + "old_smoothed_weight": 42.6 + }, + { + "timestamp": "11:38:18.352", + "brew_time": "24.4", + "actual_weight": 43.5, + "old_weight": 43.3, + "actual_smoothed_weight": 43, + "old_smoothed_weight": 42.8 + }, + { + "timestamp": "11:38:18.364", + "brew_time": "24.5", + "actual_weight": 43.7, + "old_weight": 43.5, + "actual_smoothed_weight": 43.2, + "old_smoothed_weight": 43 + }, + { + "timestamp": "11:38:18.480", + "brew_time": "24.6", + "actual_weight": 43.8, + "old_weight": 43.7, + "actual_smoothed_weight": 43.4, + "old_smoothed_weight": 43.2 + }, + { + "timestamp": "11:38:18.640", + "brew_time": "24.7", + "actual_weight": 44, + "old_weight": 43.8, + "actual_smoothed_weight": 43.6, + "old_smoothed_weight": 43.4 + }, + { + "timestamp": "11:38:18.652", + "brew_time": "24.8", + "actual_weight": 44.2, + "old_weight": 44, + "actual_smoothed_weight": 43.8, + "old_smoothed_weight": 43.6 + }, + { + "timestamp": "11:38:18.790", + "brew_time": "24.9", + "actual_weight": 44.4, + "old_weight": 44.2, + "actual_smoothed_weight": 44, + "old_smoothed_weight": 43.8 + }, + { + "timestamp": "11:38:18.934", + "brew_time": "24.10", + "actual_weight": 44.6, + "old_weight": 44.4, + "actual_smoothed_weight": 44.1, + "old_smoothed_weight": 44 + }, + { + "timestamp": "11:38:19.236", + "brew_time": "25.1", + "actual_weight": 44.7, + "old_weight": 44.6, + "actual_smoothed_weight": 44.3, + "old_smoothed_weight": 44.1 + }, + { + "timestamp": "11:38:19.250", + "brew_time": "25.2", + "actual_weight": 44.9, + "old_weight": 44.7, + "actual_smoothed_weight": 44.5, + "old_smoothed_weight": 44.3 + }, + { + "timestamp": "11:38:19.263", + "brew_time": "25.3", + "actual_weight": 45.2, + "old_weight": 44.9, + "actual_smoothed_weight": 44.7, + "old_smoothed_weight": 44.5 + }, + { + "timestamp": "11:38:19.382", + "brew_time": "25.4", + "actual_weight": 45.4, + "old_weight": 45.2, + "actual_smoothed_weight": 44.9, + "old_smoothed_weight": 44.7 + }, + { + "timestamp": "11:38:19.395", + "brew_time": "25.5", + "actual_weight": 45.5, + "old_weight": 45.4, + "actual_smoothed_weight": 45.1, + "old_smoothed_weight": 44.9 + }, + { + "timestamp": "11:38:19.537", + "brew_time": "25.6", + "actual_weight": 45.7, + "old_weight": 45.5, + "actual_smoothed_weight": 45.3, + "old_smoothed_weight": 45.1 + }, + { + "timestamp": "11:38:19.683", + "brew_time": "25.7", + "actual_weight": 45.9, + "old_weight": 45.7, + "actual_smoothed_weight": 45.5, + "old_smoothed_weight": 45.3 + }, + { + "timestamp": "11:38:19.834", + "brew_time": "25.8", + "actual_weight": 46.1, + "old_weight": 45.9, + "actual_smoothed_weight": 45.7, + "old_smoothed_weight": 45.5 + }, + { + "timestamp": "11:38:19.995", + "brew_time": "25.9", + "actual_weight": 46.3, + "old_weight": 46.1, + "actual_smoothed_weight": 45.8, + "old_smoothed_weight": 45.7 + }, + { + "timestamp": "11:38:20.043", + "brew_time": "27.1", + "actual_weight": 46.5, + "old_weight": 46.3, + "actual_smoothed_weight": 46, + "old_smoothed_weight": 45.8 + }, + { + "timestamp": "11:38:20.175", + "brew_time": "27.2", + "actual_weight": 46.7, + "old_weight": 46.5, + "actual_smoothed_weight": 46.2, + "old_smoothed_weight": 46 + }, + { + "timestamp": "11:38:20.187", + "brew_time": "27.3", + "actual_weight": 46.9, + "old_weight": 46.7, + "actual_smoothed_weight": 46.4, + "old_smoothed_weight": 46.2 + }, + { + "timestamp": "11:38:20.281", + "brew_time": "27.4", + "actual_weight": 47.1, + "old_weight": 46.9, + "actual_smoothed_weight": 46.6, + "old_smoothed_weight": 46.4 + }, + { + "timestamp": "11:38:20.444", + "brew_time": "27.5", + "actual_weight": 47.3, + "old_weight": 47.1, + "actual_smoothed_weight": 46.8, + "old_smoothed_weight": 46.6 + }, + { + "timestamp": "11:38:20.581", + "brew_time": "27.6", + "actual_weight": 47.5, + "old_weight": 47.3, + "actual_smoothed_weight": 47, + "old_smoothed_weight": 46.8 + }, + { + "timestamp": "11:38:20.594", + "brew_time": "27.7", + "actual_weight": 47.7, + "old_weight": 47.5, + "actual_smoothed_weight": 47.2, + "old_smoothed_weight": 47 + }, + { + "timestamp": "11:38:20.737", + "brew_time": "27.8", + "actual_weight": 47.9, + "old_weight": 47.7, + "actual_smoothed_weight": 47.4, + "old_smoothed_weight": 47.2 + }, + { + "timestamp": "11:38:20.888", + "brew_time": "27.9", + "actual_weight": 48.1, + "old_weight": 47.9, + "actual_smoothed_weight": 47.6, + "old_smoothed_weight": 47.4 + }, + { + "timestamp": "11:38:21.036", + "brew_time": "27.10", + "actual_weight": 48.3, + "old_weight": 48.1, + "actual_smoothed_weight": 47.8, + "old_smoothed_weight": 47.6 + }, + { + "timestamp": "11:38:21.083", + "brew_time": "28.1", + "actual_weight": 48.5, + "old_weight": 48.3, + "actual_smoothed_weight": 48, + "old_smoothed_weight": 47.8 + }, + { + "timestamp": "11:38:21.199", + "brew_time": "28.2", + "actual_weight": 48.6, + "old_weight": 48.5, + "actual_smoothed_weight": 48.2, + "old_smoothed_weight": 48 + }, + { + "timestamp": "11:38:21.375", + "brew_time": "28.3", + "actual_weight": 48.8, + "old_weight": 48.6, + "actual_smoothed_weight": 48.4, + "old_smoothed_weight": 48.2 + }, + { + "timestamp": "11:38:21.376", + "brew_time": "28.4", + "actual_weight": 49.1, + "old_weight": 48.8, + "actual_smoothed_weight": 48.6, + "old_smoothed_weight": 48.4 + }, + { + "timestamp": "11:38:21.497", + "brew_time": "28.5", + "actual_weight": 49.2, + "old_weight": 49.1, + "actual_smoothed_weight": 48.8, + "old_smoothed_weight": 48.6 + }, + { + "timestamp": "11:38:21.643", + "brew_time": "28.6", + "actual_weight": 49.4, + "old_weight": 49.2, + "actual_smoothed_weight": 49, + "old_smoothed_weight": 48.8 + }, + { + "timestamp": "11:38:21.802", + "brew_time": "28.7", + "actual_weight": 49.6, + "old_weight": 49.4, + "actual_smoothed_weight": 49.2, + "old_smoothed_weight": 49 + }, + { + "timestamp": "11:38:21.817", + "brew_time": "28.8", + "actual_weight": 49.8, + "old_weight": 49.6, + "actual_smoothed_weight": 49.3, + "old_smoothed_weight": 49.2 + }, + { + "timestamp": "11:38:21.937", + "brew_time": "28.9", + "actual_weight": 50, + "old_weight": 49.8, + "actual_smoothed_weight": 49.5, + "old_smoothed_weight": 49.3 + }, + { + "timestamp": "11:38:22.085", + "brew_time": "28.10", + "actual_weight": 50.2, + "old_weight": 50, + "actual_smoothed_weight": 49.7, + "old_smoothed_weight": 49.5 + }, + { + "timestamp": "11:38:22.247", + "brew_time": "29.1", + "actual_weight": 50.4, + "old_weight": 50.2, + "actual_smoothed_weight": 49.9, + "old_smoothed_weight": 49.7 + }, + { + "timestamp": "11:38:22.262", + "brew_time": "29.2", + "actual_weight": 50.6, + "old_weight": 50.4, + "actual_smoothed_weight": 50.1, + "old_smoothed_weight": 49.9 + }, + { + "timestamp": "11:38:22.395", + "brew_time": "29.3", + "actual_weight": 50.8, + "old_weight": 50.6, + "actual_smoothed_weight": 50.3, + "old_smoothed_weight": 50.1 + }, + { + "timestamp": "11:38:22.529", + "brew_time": "29.4", + "actual_weight": 51, + "old_weight": 50.8, + "actual_smoothed_weight": 50.5, + "old_smoothed_weight": 50.3 + }, + { + "timestamp": "11:38:22.542", + "brew_time": "29.5", + "actual_weight": 51.1, + "old_weight": 51, + "actual_smoothed_weight": 50.7, + "old_smoothed_weight": 50.5 + }, + { + "timestamp": "11:38:22.683", + "brew_time": "29.6", + "actual_weight": 51.3, + "old_weight": 51.1, + "actual_smoothed_weight": 50.9, + "old_smoothed_weight": 50.7 + }, + { + "timestamp": "11:38:22.832", + "brew_time": "29.7", + "actual_weight": 51.5, + "old_weight": 51.3, + "actual_smoothed_weight": 51.1, + "old_smoothed_weight": 50.9 + }, + { + "timestamp": "11:38:22.984", + "brew_time": "29.8", + "actual_weight": 51.7, + "old_weight": 51.5, + "actual_smoothed_weight": 51.3, + "old_smoothed_weight": 51.1 + }, + { + "timestamp": "11:38:22.999", + "brew_time": "29.9", + "actual_weight": 51.9, + "old_weight": 51.7, + "actual_smoothed_weight": 51.5, + "old_smoothed_weight": 51.3 + } + ], + "waterFlow": [ + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "11:37:53.940", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "11:37:54.958", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "2", + "timestamp": "11:37:56.002", + "value": 33.5 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "11:37:57.050", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "11:37:58.101", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "11:37:59.156", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "6", + "timestamp": "11:38:00.325", + "value": 1.8000000000000007 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "7", + "timestamp": "11:38:01.231", + "value": 1.7777777777777772 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "8", + "timestamp": "11:38:02.285", + "value": 1.9000000000000004 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "9", + "timestamp": "11:38:03.334", + "value": 1.8000000000000007 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "10", + "timestamp": "11:38:04.366", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "11", + "timestamp": "11:38:05.442", + "value": 1.888888888888888 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "12", + "timestamp": "11:38:06.384", + "value": 1.7777777777777792 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "13", + "timestamp": "11:38:07.426", + "value": 1.9999999999999973 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "14", + "timestamp": "11:38:08.457", + "value": 1.8333333333333326 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "15", + "timestamp": "11:38:09.646", + "value": 2.000000000000001 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "16", + "timestamp": "11:38:10.550", + "value": 1.9000000000000021 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "17", + "timestamp": "11:38:11.587", + "value": 1.888888888888888 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "18", + "timestamp": "11:38:12.636", + "value": 1.9000000000000021 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "19", + "timestamp": "11:38:13.836", + "value": 2 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "20", + "timestamp": "11:38:14.730", + "value": 1.8888888888888842 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "21", + "timestamp": "11:38:15.791", + "value": 1.8999999999999986 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "22", + "timestamp": "11:38:16.834", + "value": 2 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "23", + "timestamp": "11:38:17.883", + "value": 1.8888888888888922 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "24", + "timestamp": "11:38:18.934", + "value": 1.8999999999999986 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "25", + "timestamp": "11:38:19.996", + "value": 1.8888888888888922 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "27", + "timestamp": "11:38:21.036", + "value": 2 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "28", + "timestamp": "11:38:22.085", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + }, + { + "brew_time": "29", + "timestamp": "11:38:23.162", + "value": 1.8999999999999986 + } + ], + "realtimeFlow": [ + { + "brew_time": "0.0", + "timestamp": "11:37:52.966", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.1", + "timestamp": "11:37:53.032", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.2", + "timestamp": "11:37:53.034", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.3", + "timestamp": "11:37:53.152", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.4", + "timestamp": "11:37:53.287", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.5", + "timestamp": "11:37:53.289", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.6", + "timestamp": "11:37:53.435", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.7", + "timestamp": "11:37:53.573", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.8", + "timestamp": "11:37:53.730", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.9", + "timestamp": "11:37:53.731", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.10", + "timestamp": "11:37:53.976", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.1", + "timestamp": "11:37:54.046", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.2", + "timestamp": "11:37:54.181", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.3", + "timestamp": "11:37:54.182", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.4", + "timestamp": "11:37:54.327", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.5", + "timestamp": "11:37:54.486", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.6", + "timestamp": "11:37:54.487", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.7", + "timestamp": "11:37:54.634", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.8", + "timestamp": "11:37:54.770", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.9", + "timestamp": "11:37:54.983", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.1", + "timestamp": "11:37:54.986", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.2", + "timestamp": "11:37:55.081", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.3", + "timestamp": "11:37:55.225", + "smoothed_weight": 0.06999999999999999, + "flow_value": 0.7 + }, + { + "brew_time": "2.4", + "timestamp": "11:37:55.243", + "smoothed_weight": 0.193, + "flow_value": 1.2300000000000002 + }, + { + "brew_time": "2.5", + "timestamp": "11:37:55.379", + "smoothed_weight": 0.33370000000000005, + "flow_value": 1.4070000000000005 + }, + { + "brew_time": "2.6", + "timestamp": "11:37:55.528", + "smoothed_weight": 0.57033, + "flow_value": 2.3662999999999994 + }, + { + "brew_time": "2.7", + "timestamp": "11:37:55.676", + "smoothed_weight": 1.643297, + "flow_value": 10.72967 + }, + { + "brew_time": "2.8", + "timestamp": "11:37:55.693", + "smoothed_weight": 3.8689673000000004, + "flow_value": 22.256703000000005 + }, + { + "brew_time": "2.9", + "timestamp": "11:37:55.827", + "smoothed_weight": 6.832070570000001, + "flow_value": 29.631032700000006 + }, + { + "brew_time": "2.10", + "timestamp": "11:37:56.029", + "smoothed_weight": 10.108863513000001, + "flow_value": 32.76792943 + }, + { + "brew_time": "3.1", + "timestamp": "11:37:56.158", + "smoothed_weight": 13.337977161700001, + "flow_value": 32.291136487 + }, + { + "brew_time": "3.2", + "timestamp": "11:37:56.173", + "smoothed_weight": 16.46417944553, + "flow_value": 31.262022838299988 + }, + { + "brew_time": "3.3", + "timestamp": "11:37:56.290", + "smoothed_weight": 19.017761500977002, + "flow_value": 25.53582055447002 + }, + { + "brew_time": "3.4", + "timestamp": "11:37:56.427", + "smoothed_weight": 21.305985350879304, + "flow_value": 22.882238499023018 + }, + { + "brew_time": "3.5", + "timestamp": "11:37:56.440", + "smoothed_weight": 23.225386815791374, + "flow_value": 19.194014649120703 + }, + { + "brew_time": "3.6", + "timestamp": "11:37:56.581", + "smoothed_weight": 24.57284813421224, + "flow_value": 13.474613184208657 + }, + { + "brew_time": "3.7", + "timestamp": "11:37:56.723", + "smoothed_weight": 25.665563320791016, + "flow_value": 10.927151865787756 + }, + { + "brew_time": "3.8", + "timestamp": "11:37:57.077", + "smoothed_weight": 26.749006988711912, + "flow_value": 10.834436679208963 + }, + { + "brew_time": "4.1", + "timestamp": "11:37:57.096", + "smoothed_weight": 27.07410628984072, + "flow_value": 3.250993011288088 + }, + { + "brew_time": "4.2", + "timestamp": "11:37:57.107", + "smoothed_weight": 28.07669566085665, + "flow_value": 10.025893710159295 + }, + { + "brew_time": "4.3", + "timestamp": "11:37:57.205", + "smoothed_weight": 29.659026094770987, + "flow_value": 15.823304339143363 + }, + { + "brew_time": "4.4", + "timestamp": "11:37:57.332", + "smoothed_weight": 30.08312348529389, + "flow_value": 4.240973905229026 + }, + { + "brew_time": "4.5", + "timestamp": "11:37:57.346", + "smoothed_weight": 30.1548111367645, + "flow_value": 0.7168765147061151 + }, + { + "brew_time": "4.6", + "timestamp": "11:37:57.481", + "smoothed_weight": 31.01933002308805, + "flow_value": 8.645188863235482 + }, + { + "brew_time": "4.7", + "timestamp": "11:37:57.633", + "smoothed_weight": 32.23739702077924, + "flow_value": 12.180669976911922 + }, + { + "brew_time": "4.8", + "timestamp": "11:37:57.649", + "smoothed_weight": 33.16365731870132, + "flow_value": 9.262602979220773 + }, + { + "brew_time": "4.9", + "timestamp": "11:37:57.776", + "smoothed_weight": 33.337291586831185, + "flow_value": 1.736342681298666 + }, + { + "brew_time": "4.10", + "timestamp": "11:37:57.936", + "smoothed_weight": 32.783562428148066, + "flow_value": -5.537291586831188 + }, + { + "brew_time": "4.11", + "timestamp": "11:37:58.131", + "smoothed_weight": 31.31520618533326, + "flow_value": -14.683562428148065 + }, + { + "brew_time": "5.1", + "timestamp": "11:37:58.145", + "smoothed_weight": 29.153685566799933, + "flow_value": -21.61520618533327 + }, + { + "brew_time": "5.2", + "timestamp": "11:37:58.241", + "smoothed_weight": 27.10831701011994, + "flow_value": -20.453685566799926 + }, + { + "brew_time": "5.3", + "timestamp": "11:37:58.369", + "smoothed_weight": 25.277485309107945, + "flow_value": -18.30831701011995 + }, + { + "brew_time": "5.4", + "timestamp": "11:37:58.527", + "smoothed_weight": 23.65973677819715, + "flow_value": -16.17748530910795 + }, + { + "brew_time": "5.5", + "timestamp": "11:37:58.540", + "smoothed_weight": 22.223763100377436, + "flow_value": -14.359736778197139 + }, + { + "brew_time": "5.6", + "timestamp": "11:37:58.670", + "smoothed_weight": 20.951386790339694, + "flow_value": -12.723763100377425 + }, + { + "brew_time": "5.7", + "timestamp": "11:37:58.825", + "smoothed_weight": 19.826248111305723, + "flow_value": -11.251386790339701 + }, + { + "brew_time": "5.8", + "timestamp": "11:37:58.838", + "smoothed_weight": 18.823623300175154, + "flow_value": -10.026248111305698 + }, + { + "brew_time": "5.9", + "timestamp": "11:37:58.983", + "smoothed_weight": 17.94126097015764, + "flow_value": -8.823623300175143 + }, + { + "brew_time": "5.10", + "timestamp": "11:37:59.177", + "smoothed_weight": 17.167134873141876, + "flow_value": -7.741260970157633 + }, + { + "brew_time": "6.1", + "timestamp": "11:37:59.275", + "smoothed_weight": 16.490421385827688, + "flow_value": -6.7671348731418846 + }, + { + "brew_time": "6.2", + "timestamp": "11:37:59.287", + "smoothed_weight": 15.90137924724492, + "flow_value": -5.8904213858276755 + }, + { + "brew_time": "6.3", + "timestamp": "11:37:59.437", + "smoothed_weight": 15.38124132252043, + "flow_value": -5.201379247244908 + }, + { + "brew_time": "6.4", + "timestamp": "11:37:59.581", + "smoothed_weight": 14.933117190268387, + "flow_value": -4.481241322520422 + }, + { + "brew_time": "6.5", + "timestamp": "11:37:59.594", + "smoothed_weight": 14.549805471241548, + "flow_value": -3.833117190268389 + }, + { + "brew_time": "6.6", + "timestamp": "11:37:59.733", + "smoothed_weight": 14.224824924117394, + "flow_value": -3.2498054712415403 + }, + { + "brew_time": "6.7", + "timestamp": "11:37:59.876", + "smoothed_weight": 13.952342431705656, + "flow_value": -2.7248249241173816 + }, + { + "brew_time": "6.8", + "timestamp": "11:38:00.036", + "smoothed_weight": 13.727108188535091, + "flow_value": -2.2523424317056495 + }, + { + "brew_time": "6.9", + "timestamp": "11:38:00.050", + "smoothed_weight": 13.534397369681582, + "flow_value": -1.9271081885350938 + }, + { + "brew_time": "6.10", + "timestamp": "11:38:00.348", + "smoothed_weight": 13.380957632713425, + "flow_value": -1.5343973696815638 + }, + { + "brew_time": "7.1", + "timestamp": "11:38:00.364", + "smoothed_weight": 13.262861869442084, + "flow_value": -1.1809576327134153 + }, + { + "brew_time": "7.2", + "timestamp": "11:38:00.487", + "smoothed_weight": 13.176575682497877, + "flow_value": -0.8628618694420709 + }, + { + "brew_time": "7.3", + "timestamp": "11:38:00.503", + "smoothed_weight": 13.10891811424809, + "flow_value": -0.676575682497873 + }, + { + "brew_time": "7.4", + "timestamp": "11:38:00.628", + "smoothed_weight": 13.06802630282328, + "flow_value": -0.40891811424808466 + }, + { + "brew_time": "7.5", + "timestamp": "11:38:00.784", + "smoothed_weight": 13.051223672540953, + "flow_value": -0.16802630282327868 + }, + { + "brew_time": "7.6", + "timestamp": "11:38:00.785", + "smoothed_weight": 13.056101305286859, + "flow_value": 0.04877632745905913 + }, + { + "brew_time": "7.7", + "timestamp": "11:38:00.926", + "smoothed_weight": 13.080491174758173, + "flow_value": 0.2438986947131383 + }, + { + "brew_time": "7.8", + "timestamp": "11:38:01.107", + "smoothed_weight": 13.112442057282356, + "flow_value": 0.31950882524183655 + }, + { + "brew_time": "7.9", + "timestamp": "11:38:01.254", + "smoothed_weight": 13.161197851554121, + "flow_value": 0.48755794271764685 + }, + { + "brew_time": "8.1", + "timestamp": "11:38:01.272", + "smoothed_weight": 13.22507806639871, + "flow_value": 0.6388021484458939 + }, + { + "brew_time": "8.2", + "timestamp": "11:38:01.420", + "smoothed_weight": 13.30257025975884, + "flow_value": 0.7749219336012914 + }, + { + "brew_time": "8.3", + "timestamp": "11:38:01.544", + "smoothed_weight": 13.392313233782955, + "flow_value": 0.897429740241158 + }, + { + "brew_time": "8.4", + "timestamp": "11:38:01.697", + "smoothed_weight": 13.48308191040466, + "flow_value": 0.9076867662170507 + }, + { + "brew_time": "8.5", + "timestamp": "11:38:01.709", + "smoothed_weight": 13.584773719364193, + "flow_value": 1.016918089595329 + }, + { + "brew_time": "8.6", + "timestamp": "11:38:01.832", + "smoothed_weight": 13.696296347427776, + "flow_value": 1.1152262806358237 + }, + { + "brew_time": "8.7", + "timestamp": "11:38:01.992", + "smoothed_weight": 13.816666712684999, + "flow_value": 1.20370365257223 + }, + { + "brew_time": "8.8", + "timestamp": "11:38:02.007", + "smoothed_weight": 13.9350000414165, + "flow_value": 1.1833332873150049 + }, + { + "brew_time": "8.9", + "timestamp": "11:38:02.160", + "smoothed_weight": 14.071500037274848, + "flow_value": 1.3649999585834927 + }, + { + "brew_time": "8.10", + "timestamp": "11:38:02.312", + "smoothed_weight": 14.204350033547364, + "flow_value": 1.3284999627251537 + }, + { + "brew_time": "9.1", + "timestamp": "11:38:02.438", + "smoothed_weight": 14.343915030192628, + "flow_value": 1.3956499664526412 + }, + { + "brew_time": "9.2", + "timestamp": "11:38:02.453", + "smoothed_weight": 14.479523527173365, + "flow_value": 1.3560849698073696 + }, + { + "brew_time": "9.3", + "timestamp": "11:38:02.590", + "smoothed_weight": 14.631571174456028, + "flow_value": 1.5204764728266262 + }, + { + "brew_time": "9.4", + "timestamp": "11:38:02.736", + "smoothed_weight": 14.778414057010426, + "flow_value": 1.4684288255439881 + }, + { + "brew_time": "9.5", + "timestamp": "11:38:02.895", + "smoothed_weight": 14.930572651309385, + "flow_value": 1.521585942989585 + }, + { + "brew_time": "9.6", + "timestamp": "11:38:02.907", + "smoothed_weight": 15.087515386178447, + "flow_value": 1.569427348690624 + }, + { + "brew_time": "9.7", + "timestamp": "11:38:03.034", + "smoothed_weight": 15.248763847560603, + "flow_value": 1.612484613821561 + }, + { + "brew_time": "9.8", + "timestamp": "11:38:03.178", + "smoothed_weight": 15.413887462804542, + "flow_value": 1.6512361524393881 + }, + { + "brew_time": "9.9", + "timestamp": "11:38:03.191", + "smoothed_weight": 15.58249871652409, + "flow_value": 1.68611253719547 + }, + { + "brew_time": "9.10", + "timestamp": "11:38:03.358", + "smoothed_weight": 15.75424884487168, + "flow_value": 1.7175012834759151 + }, + { + "brew_time": "10.1", + "timestamp": "11:38:03.487", + "smoothed_weight": 15.918823960384513, + "flow_value": 1.6457511551283233 + }, + { + "brew_time": "10.2", + "timestamp": "11:38:03.638", + "smoothed_weight": 16.086941564346063, + "flow_value": 1.6811760396154973 + }, + { + "brew_time": "10.3", + "timestamp": "11:38:03.654", + "smoothed_weight": 16.25824740791146, + "flow_value": 1.7130584356539558 + }, + { + "brew_time": "10.4", + "timestamp": "11:38:03.781", + "smoothed_weight": 16.432422667120314, + "flow_value": 1.7417525920885524 + }, + { + "brew_time": "10.5", + "timestamp": "11:38:03.939", + "smoothed_weight": 16.60918040040828, + "flow_value": 1.7675773328796751 + }, + { + "brew_time": "10.6", + "timestamp": "11:38:03.954", + "smoothed_weight": 16.788262360367455, + "flow_value": 1.7908195995917353 + }, + { + "brew_time": "10.7", + "timestamp": "11:38:04.113", + "smoothed_weight": 16.96943612433071, + "flow_value": 1.8117376396325469 + }, + { + "brew_time": "10.8", + "timestamp": "11:38:04.229", + "smoothed_weight": 17.152492511897638, + "flow_value": 1.8305638756692844 + }, + { + "brew_time": "10.9", + "timestamp": "11:38:04.390", + "smoothed_weight": 17.327243260707874, + "flow_value": 1.7475074881023644 + }, + { + "brew_time": "11.1", + "timestamp": "11:38:04.408", + "smoothed_weight": 17.504518934637087, + "flow_value": 1.7727567392921273 + }, + { + "brew_time": "11.2", + "timestamp": "11:38:04.532", + "smoothed_weight": 17.68406704117338, + "flow_value": 1.7954810653629139 + }, + { + "brew_time": "11.3", + "timestamp": "11:38:04.693", + "smoothed_weight": 17.865660337056042, + "flow_value": 1.815932958826636 + }, + { + "brew_time": "11.4", + "timestamp": "11:38:04.836", + "smoothed_weight": 18.049094303350437, + "flow_value": 1.8343396629439468 + }, + { + "brew_time": "11.5", + "timestamp": "11:38:04.849", + "smoothed_weight": 18.23418487301539, + "flow_value": 1.8509056966495407 + }, + { + "brew_time": "11.6", + "timestamp": "11:38:04.971", + "smoothed_weight": 18.410766385713853, + "flow_value": 1.76581512698462 + }, + { + "brew_time": "11.7", + "timestamp": "11:38:05.146", + "smoothed_weight": 18.59968974714247, + "flow_value": 1.8892336142861765 + }, + { + "brew_time": "11.8", + "timestamp": "11:38:05.147", + "smoothed_weight": 18.789720772428225, + "flow_value": 1.900310252857551 + }, + { + "brew_time": "11.9", + "timestamp": "11:38:05.472", + "smoothed_weight": 18.970748695185403, + "flow_value": 1.810279227571776 + }, + { + "brew_time": "12.1", + "timestamp": "11:38:05.493", + "smoothed_weight": 19.153673825666864, + "flow_value": 1.829251304814612 + }, + { + "brew_time": "12.2", + "timestamp": "11:38:05.587", + "smoothed_weight": 19.33830644310018, + "flow_value": 1.8463261743331572 + }, + { + "brew_time": "12.3", + "timestamp": "11:38:05.602", + "smoothed_weight": 19.524475798790164, + "flow_value": 1.8616935568998372 + }, + { + "brew_time": "12.4", + "timestamp": "11:38:05.725", + "smoothed_weight": 19.712028218911147, + "flow_value": 1.875524201209835 + }, + { + "brew_time": "12.5", + "timestamp": "11:38:05.881", + "smoothed_weight": 19.900825397020032, + "flow_value": 1.8879717810888508 + }, + { + "brew_time": "12.6", + "timestamp": "11:38:06.032", + "smoothed_weight": 20.08074285731803, + "flow_value": 1.7991746029799671 + }, + { + "brew_time": "12.7", + "timestamp": "11:38:06.044", + "smoothed_weight": 20.26266857158623, + "flow_value": 1.8192571426819981 + }, + { + "brew_time": "12.8", + "timestamp": "11:38:06.179", + "smoothed_weight": 20.44640171442761, + "flow_value": 1.8373314284137976 + }, + { + "brew_time": "12.9", + "timestamp": "11:38:06.411", + "smoothed_weight": 20.631761542984847, + "flow_value": 1.8535982855723887 + }, + { + "brew_time": "13.1", + "timestamp": "11:38:06.429", + "smoothed_weight": 20.818585388686362, + "flow_value": 1.8682384570151456 + }, + { + "brew_time": "13.2", + "timestamp": "11:38:06.502", + "smoothed_weight": 21.006726849817724, + "flow_value": 1.8814146113136232 + }, + { + "brew_time": "13.3", + "timestamp": "11:38:06.635", + "smoothed_weight": 21.196054164835953, + "flow_value": 1.8932731501822886 + }, + { + "brew_time": "13.4", + "timestamp": "11:38:06.779", + "smoothed_weight": 21.386448748352358, + "flow_value": 1.9039458351640448 + }, + { + "brew_time": "13.5", + "timestamp": "11:38:06.792", + "smoothed_weight": 21.57780387351712, + "flow_value": 1.9135512516476183 + }, + { + "brew_time": "13.6", + "timestamp": "11:38:06.929", + "smoothed_weight": 21.77002348616541, + "flow_value": 1.922196126482909 + }, + { + "brew_time": "13.7", + "timestamp": "11:38:07.086", + "smoothed_weight": 21.96302113754887, + "flow_value": 1.9299765138346103 + }, + { + "brew_time": "13.8", + "timestamp": "11:38:07.452", + "smoothed_weight": 22.156719023793986, + "flow_value": 1.9369788624511486 + }, + { + "brew_time": "14.1", + "timestamp": "11:38:07.473", + "smoothed_weight": 22.34104712141459, + "flow_value": 1.8432809762060387 + }, + { + "brew_time": "14.2", + "timestamp": "11:38:07.485", + "smoothed_weight": 22.526942409273133, + "flow_value": 1.858952878585427 + }, + { + "brew_time": "14.3", + "timestamp": "11:38:07.561", + "smoothed_weight": 22.714248168345822, + "flow_value": 1.8730575907268943 + }, + { + "brew_time": "14.4", + "timestamp": "11:38:07.573", + "smoothed_weight": 22.90282335151124, + "flow_value": 1.88575183165419 + }, + { + "brew_time": "14.5", + "timestamp": "11:38:07.687", + "smoothed_weight": 23.09254101636012, + "flow_value": 1.8971766484887809 + }, + { + "brew_time": "14.6", + "timestamp": "11:38:07.830", + "smoothed_weight": 23.28328691472411, + "flow_value": 1.9074589836398914 + }, + { + "brew_time": "14.7", + "timestamp": "11:38:07.994", + "smoothed_weight": 23.4649582232517, + "flow_value": 1.8167130852759072 + }, + { + "brew_time": "14.8", + "timestamp": "11:38:08.007", + "smoothed_weight": 23.658462400926528, + "flow_value": 1.9350417767482853 + }, + { + "brew_time": "14.9", + "timestamp": "11:38:08.132", + "smoothed_weight": 23.842616160833877, + "flow_value": 1.8415375990734972 + }, + { + "brew_time": "14.10", + "timestamp": "11:38:08.288", + "smoothed_weight": 24.028354544750492, + "flow_value": 1.8573838391661468 + }, + { + "brew_time": "14.11", + "timestamp": "11:38:08.302", + "smoothed_weight": 24.215519090275443, + "flow_value": 1.8716454552495065 + }, + { + "brew_time": "14.12", + "timestamp": "11:38:08.485", + "smoothed_weight": 24.4039671812479, + "flow_value": 1.884480909724573 + }, + { + "brew_time": "15.1", + "timestamp": "11:38:08.590", + "smoothed_weight": 24.59357046312311, + "flow_value": 1.8960328187521114 + }, + { + "brew_time": "15.2", + "timestamp": "11:38:08.737", + "smoothed_weight": 24.7842134168108, + "flow_value": 1.9064295368768924 + }, + { + "brew_time": "15.3", + "timestamp": "11:38:08.750", + "smoothed_weight": 24.975792075129718, + "flow_value": 1.915786583189174 + }, + { + "brew_time": "15.4", + "timestamp": "11:38:08.888", + "smoothed_weight": 25.16821286761675, + "flow_value": 1.9242079248703092 + }, + { + "brew_time": "15.5", + "timestamp": "11:38:09.033", + "smoothed_weight": 25.361391580855074, + "flow_value": 1.9317871323832492 + }, + { + "brew_time": "15.6", + "timestamp": "11:38:09.175", + "smoothed_weight": 25.555252422769566, + "flow_value": 1.938608419144927 + }, + { + "brew_time": "15.7", + "timestamp": "11:38:09.186", + "smoothed_weight": 25.74972718049261, + "flow_value": 1.9447475772304301 + }, + { + "brew_time": "15.8", + "timestamp": "11:38:09.347", + "smoothed_weight": 25.94475446244335, + "flow_value": 1.950272819507397 + }, + { + "brew_time": "15.9", + "timestamp": "11:38:09.672", + "smoothed_weight": 26.140279016199013, + "flow_value": 1.9552455375566424 + }, + { + "brew_time": "16.1", + "timestamp": "11:38:09.691", + "smoothed_weight": 26.32625111457911, + "flow_value": 1.8597209838009832 + }, + { + "brew_time": "16.2", + "timestamp": "11:38:09.785", + "smoothed_weight": 26.5136260031212, + "flow_value": 1.8737488854208806 + }, + { + "brew_time": "16.3", + "timestamp": "11:38:09.808", + "smoothed_weight": 26.712263402809082, + "flow_value": 1.9863739968788252 + }, + { + "brew_time": "16.4", + "timestamp": "11:38:09.943", + "smoothed_weight": 26.901037062528175, + "flow_value": 1.88773659719093 + }, + { + "brew_time": "16.5", + "timestamp": "11:38:09.955", + "smoothed_weight": 27.090933356275357, + "flow_value": 1.898962937471822 + }, + { + "brew_time": "16.6", + "timestamp": "11:38:10.125", + "smoothed_weight": 27.28184002064782, + "flow_value": 1.9090666437246284 + }, + { + "brew_time": "16.7", + "timestamp": "11:38:10.242", + "smoothed_weight": 27.473656018583036, + "flow_value": 1.9181599793521542 + }, + { + "brew_time": "16.8", + "timestamp": "11:38:10.387", + "smoothed_weight": 27.666290416724735, + "flow_value": 1.9263439814169914 + }, + { + "brew_time": "16.9", + "timestamp": "11:38:10.400", + "smoothed_weight": 27.859661375052262, + "flow_value": 1.9337095832752738 + }, + { + "brew_time": "16.10", + "timestamp": "11:38:10.574", + "smoothed_weight": 28.053695237547036, + "flow_value": 1.940338624947735 + }, + { + "brew_time": "17.1", + "timestamp": "11:38:10.686", + "smoothed_weight": 28.248325713792333, + "flow_value": 1.946304762452975 + }, + { + "brew_time": "17.2", + "timestamp": "11:38:10.700", + "smoothed_weight": 28.4434931424131, + "flow_value": 1.9516742862076697 + }, + { + "brew_time": "17.3", + "timestamp": "11:38:10.837", + "smoothed_weight": 28.63914382817179, + "flow_value": 1.956506857586895 + }, + { + "brew_time": "17.4", + "timestamp": "11:38:10.977", + "smoothed_weight": 28.825229445354612, + "flow_value": 1.8608561718282246 + }, + { + "brew_time": "17.5", + "timestamp": "11:38:11.162", + "smoothed_weight": 29.012706500819153, + "flow_value": 1.8747705546454085 + }, + { + "brew_time": "17.6", + "timestamp": "11:38:11.176", + "smoothed_weight": 29.201435850737237, + "flow_value": 1.887293499180842 + }, + { + "brew_time": "17.7", + "timestamp": "11:38:11.287", + "smoothed_weight": 29.391292265663512, + "flow_value": 1.8985641492627536 + }, + { + "brew_time": "17.8", + "timestamp": "11:38:11.433", + "smoothed_weight": 29.58216303909716, + "flow_value": 1.908707734336481 + }, + { + "brew_time": "17.9", + "timestamp": "11:38:11.618", + "smoothed_weight": 29.773946735187444, + "flow_value": 1.9178369609028323 + }, + { + "brew_time": "18.1", + "timestamp": "11:38:11.638", + "smoothed_weight": 29.9665520616687, + "flow_value": 1.9260532648125661 + }, + { + "brew_time": "18.2", + "timestamp": "11:38:11.897", + "smoothed_weight": 30.15989685550183, + "flow_value": 1.9334479383313052 + }, + { + "brew_time": "18.3", + "timestamp": "11:38:11.911", + "smoothed_weight": 30.35390716995165, + "flow_value": 1.9401031444981953 + }, + { + "brew_time": "18.4", + "timestamp": "11:38:11.923", + "smoothed_weight": 30.548516452956488, + "flow_value": 1.9460928300483715 + }, + { + "brew_time": "18.5", + "timestamp": "11:38:12.037", + "smoothed_weight": 30.74366480766084, + "flow_value": 1.9514835470435088 + }, + { + "brew_time": "18.6", + "timestamp": "11:38:12.183", + "smoothed_weight": 30.929298326894756, + "flow_value": 1.8563351923391735 + }, + { + "brew_time": "18.7", + "timestamp": "11:38:12.331", + "smoothed_weight": 31.12636849420528, + "flow_value": 1.9707016731052462 + }, + { + "brew_time": "18.8", + "timestamp": "11:38:12.344", + "smoothed_weight": 31.313731644784752, + "flow_value": 1.8736315057947195 + }, + { + "brew_time": "18.9", + "timestamp": "11:38:12.485", + "smoothed_weight": 31.502358480306277, + "flow_value": 1.8862683552152504 + }, + { + "brew_time": "18.10", + "timestamp": "11:38:12.663", + "smoothed_weight": 31.69212263227565, + "flow_value": 1.8976415196937424 + }, + { + "brew_time": "19.1", + "timestamp": "11:38:12.683", + "smoothed_weight": 31.882910369048087, + "flow_value": 1.9078773677243532 + }, + { + "brew_time": "19.2", + "timestamp": "11:38:12.786", + "smoothed_weight": 32.07461933214328, + "flow_value": 1.9170896309519136 + }, + { + "brew_time": "19.3", + "timestamp": "11:38:12.934", + "smoothed_weight": 32.26715739892895, + "flow_value": 1.9253806678567287 + }, + { + "brew_time": "19.4", + "timestamp": "11:38:13.081", + "smoothed_weight": 32.46044165903606, + "flow_value": 1.9328426010710587 + }, + { + "brew_time": "19.5", + "timestamp": "11:38:13.093", + "smoothed_weight": 32.65439749313245, + "flow_value": 1.9395583409639272 + }, + { + "brew_time": "19.6", + "timestamp": "11:38:13.251", + "smoothed_weight": 32.848957743819206, + "flow_value": 1.9456025068675586 + }, + { + "brew_time": "19.7", + "timestamp": "11:38:13.394", + "smoothed_weight": 33.04406196943729, + "flow_value": 1.9510422561808127 + }, + { + "brew_time": "19.8", + "timestamp": "11:38:13.536", + "smoothed_weight": 33.23965577249356, + "flow_value": 1.9559380305627627 + }, + { + "brew_time": "19.9", + "timestamp": "11:38:13.550", + "smoothed_weight": 33.435690195244206, + "flow_value": 1.9603442275064253 + }, + { + "brew_time": "19.10", + "timestamp": "11:38:13.866", + "smoothed_weight": 33.62212117571978, + "flow_value": 1.8643098047557771 + }, + { + "brew_time": "20.1", + "timestamp": "11:38:13.888", + "smoothed_weight": 33.8099090581478, + "flow_value": 1.877878824280188 + }, + { + "brew_time": "20.2", + "timestamp": "11:38:13.900", + "smoothed_weight": 33.99891815233302, + "flow_value": 1.890090941852165 + }, + { + "brew_time": "20.3", + "timestamp": "11:38:14.153", + "smoothed_weight": 34.18902633709972, + "flow_value": 1.901081847667001 + }, + { + "brew_time": "20.4", + "timestamp": "11:38:14.168", + "smoothed_weight": 34.38012370338975, + "flow_value": 1.9109736629003038 + }, + { + "brew_time": "20.5", + "timestamp": "11:38:14.285", + "smoothed_weight": 34.57211133305078, + "flow_value": 1.9198762966102834 + }, + { + "brew_time": "20.6", + "timestamp": "11:38:14.299", + "smoothed_weight": 34.7649001997457, + "flow_value": 1.9278886669492579 + }, + { + "brew_time": "20.7", + "timestamp": "11:38:14.421", + "smoothed_weight": 34.958410179771136, + "flow_value": 1.9350998002543207 + }, + { + "brew_time": "20.8", + "timestamp": "11:38:14.582", + "smoothed_weight": 35.15256916179402, + "flow_value": 1.9415898202288417 + }, + { + "brew_time": "20.9", + "timestamp": "11:38:14.754", + "smoothed_weight": 35.34731224561462, + "flow_value": 1.9474308382059746 + }, + { + "brew_time": "21.1", + "timestamp": "11:38:14.775", + "smoothed_weight": 35.54258102105315, + "flow_value": 1.9526877543853516 + }, + { + "brew_time": "21.2", + "timestamp": "11:38:14.896", + "smoothed_weight": 35.73832291894784, + "flow_value": 1.9574189789468477 + }, + { + "brew_time": "21.3", + "timestamp": "11:38:15.028", + "smoothed_weight": 35.93449062705306, + "flow_value": 1.9616770810522155 + }, + { + "brew_time": "21.4", + "timestamp": "11:38:15.041", + "smoothed_weight": 36.121041564347756, + "flow_value": 1.865509372946974 + }, + { + "brew_time": "21.5", + "timestamp": "11:38:15.183", + "smoothed_weight": 36.30893740791298, + "flow_value": 1.8789584356522226 + }, + { + "brew_time": "21.6", + "timestamp": "11:38:15.344", + "smoothed_weight": 36.498043667121685, + "flow_value": 1.8910625920870672 + }, + { + "brew_time": "21.7", + "timestamp": "11:38:15.487", + "smoothed_weight": 36.68823930040952, + "flow_value": 1.9019563328783562 + }, + { + "brew_time": "21.8", + "timestamp": "11:38:15.502", + "smoothed_weight": 36.87941537036857, + "flow_value": 1.9117606995904879 + }, + { + "brew_time": "21.9", + "timestamp": "11:38:15.646", + "smoothed_weight": 37.071473833331716, + "flow_value": 1.9205846296314633 + }, + { + "brew_time": "21.10", + "timestamp": "11:38:15.819", + "smoothed_weight": 37.26432644999854, + "flow_value": 1.928526166668263 + }, + { + "brew_time": "22.1", + "timestamp": "11:38:15.838", + "smoothed_weight": 37.45789380499869, + "flow_value": 1.9356735500014821 + }, + { + "brew_time": "22.2", + "timestamp": "11:38:15.941", + "smoothed_weight": 37.65210442449882, + "flow_value": 1.9421061950013296 + }, + { + "brew_time": "22.3", + "timestamp": "11:38:16.086", + "smoothed_weight": 37.84689398204894, + "flow_value": 1.947895575501164 + }, + { + "brew_time": "22.4", + "timestamp": "11:38:16.235", + "smoothed_weight": 38.04220458384405, + "flow_value": 1.9531060179510717 + }, + { + "brew_time": "22.5", + "timestamp": "11:38:16.388", + "smoothed_weight": 38.22798412545964, + "flow_value": 1.8577954161559518 + }, + { + "brew_time": "22.6", + "timestamp": "11:38:16.403", + "smoothed_weight": 38.42518571291368, + "flow_value": 1.9720158745403893 + }, + { + "brew_time": "22.7", + "timestamp": "11:38:16.549", + "smoothed_weight": 38.622667141622316, + "flow_value": 1.974814287086346 + }, + { + "brew_time": "22.8", + "timestamp": "11:38:16.696", + "smoothed_weight": 38.820400427460086, + "flow_value": 1.9773328583777072 + }, + { + "brew_time": "22.9", + "timestamp": "11:38:16.709", + "smoothed_weight": 39.01836038471408, + "flow_value": 1.9795995725399251 + }, + { + "brew_time": "22.10", + "timestamp": "11:38:16.861", + "smoothed_weight": 39.21652434624267, + "flow_value": 1.9816396152859284 + }, + { + "brew_time": "23.1", + "timestamp": "11:38:16.996", + "smoothed_weight": 39.40487191161841, + "flow_value": 1.8834756537573583 + }, + { + "brew_time": "23.2", + "timestamp": "11:38:17.013", + "smoothed_weight": 39.59438472045657, + "flow_value": 1.8951280883815969 + }, + { + "brew_time": "23.3", + "timestamp": "11:38:17.132", + "smoothed_weight": 39.78494624841091, + "flow_value": 1.90561527954344 + }, + { + "brew_time": "23.4", + "timestamp": "11:38:17.279", + "smoothed_weight": 39.97645162356982, + "flow_value": 1.915053751589113 + }, + { + "brew_time": "23.5", + "timestamp": "11:38:17.441", + "smoothed_weight": 40.16880646121284, + "flow_value": 1.923548376430162 + }, + { + "brew_time": "23.6", + "timestamp": "11:38:17.454", + "smoothed_weight": 40.35192581509156, + "flow_value": 1.8311935387872325 + }, + { + "brew_time": "23.7", + "timestamp": "11:38:17.597", + "smoothed_weight": 40.5467332335824, + "flow_value": 1.9480741849083927 + }, + { + "brew_time": "23.8", + "timestamp": "11:38:17.738", + "smoothed_weight": 40.742059910224164, + "flow_value": 1.9532667664176273 + }, + { + "brew_time": "23.9", + "timestamp": "11:38:17.913", + "smoothed_weight": 40.93785391920175, + "flow_value": 1.9579400897758603 + }, + { + "brew_time": "24.1", + "timestamp": "11:38:17.933", + "smoothed_weight": 41.13406852728158, + "flow_value": 1.9621460807982771 + }, + { + "brew_time": "24.2", + "timestamp": "11:38:18.043", + "smoothed_weight": 41.330661674553426, + "flow_value": 1.9659314727184807 + }, + { + "brew_time": "24.3", + "timestamp": "11:38:18.337", + "smoothed_weight": 41.527595507098084, + "flow_value": 1.9693383254465857 + }, + { + "brew_time": "24.4", + "timestamp": "11:38:18.352", + "smoothed_weight": 41.724835956388276, + "flow_value": 1.9724044929019158 + }, + { + "brew_time": "24.5", + "timestamp": "11:38:18.364", + "smoothed_weight": 41.92235236074945, + "flow_value": 1.9751640436117412 + }, + { + "brew_time": "24.6", + "timestamp": "11:38:18.480", + "smoothed_weight": 42.11011712467451, + "flow_value": 1.877647639250597 + }, + { + "brew_time": "24.7", + "timestamp": "11:38:18.640", + "smoothed_weight": 42.299105412207055, + "flow_value": 1.8898828753254548 + }, + { + "brew_time": "24.8", + "timestamp": "11:38:18.652", + "smoothed_weight": 42.48919487098635, + "flow_value": 1.9008945877929762 + }, + { + "brew_time": "24.9", + "timestamp": "11:38:18.790", + "smoothed_weight": 42.68027538388772, + "flow_value": 1.910805129013653 + }, + { + "brew_time": "24.10", + "timestamp": "11:38:18.967", + "smoothed_weight": 42.87224784549895, + "flow_value": 1.9197246161122905 + }, + { + "brew_time": "25.1", + "timestamp": "11:38:19.236", + "smoothed_weight": 43.055023060949054, + "flow_value": 1.82775215450107 + }, + { + "brew_time": "25.2", + "timestamp": "11:38:19.250", + "smoothed_weight": 43.239520754854155, + "flow_value": 1.8449769390510085 + }, + { + "brew_time": "25.3", + "timestamp": "11:38:19.263", + "smoothed_weight": 43.43556867936874, + "flow_value": 1.9604792451458763 + }, + { + "brew_time": "25.4", + "timestamp": "11:38:19.382", + "smoothed_weight": 43.632011811431866, + "flow_value": 1.9644313206312347 + }, + { + "brew_time": "25.5", + "timestamp": "11:38:19.395", + "smoothed_weight": 43.81881063028868, + "flow_value": 1.8679881885681482 + }, + { + "brew_time": "25.6", + "timestamp": "11:38:19.537", + "smoothed_weight": 44.00692956725982, + "flow_value": 1.8811893697113646 + }, + { + "brew_time": "25.7", + "timestamp": "11:38:19.683", + "smoothed_weight": 44.19623661053383, + "flow_value": 1.8930704327401315 + }, + { + "brew_time": "25.8", + "timestamp": "11:38:19.834", + "smoothed_weight": 44.38661294948045, + "flow_value": 1.9037633894662065 + }, + { + "brew_time": "25.9", + "timestamp": "11:38:20.024", + "smoothed_weight": 44.57795165453241, + "flow_value": 1.913387050519617 + }, + { + "brew_time": "27.1", + "timestamp": "11:38:20.043", + "smoothed_weight": 44.77015648907917, + "flow_value": 1.922048345467573 + }, + { + "brew_time": "27.2", + "timestamp": "11:38:20.175", + "smoothed_weight": 44.963140840171256, + "flow_value": 1.9298435109208611 + }, + { + "brew_time": "27.3", + "timestamp": "11:38:20.187", + "smoothed_weight": 45.15682675615413, + "flow_value": 1.9368591598287566 + }, + { + "brew_time": "27.4", + "timestamp": "11:38:20.281", + "smoothed_weight": 45.351144080538724, + "flow_value": 1.9431732438459193 + }, + { + "brew_time": "27.5", + "timestamp": "11:38:20.444", + "smoothed_weight": 45.54602967248485, + "flow_value": 1.948855919461252 + }, + { + "brew_time": "27.6", + "timestamp": "11:38:20.581", + "smoothed_weight": 45.741426705236364, + "flow_value": 1.953970327515151 + }, + { + "brew_time": "27.7", + "timestamp": "11:38:20.594", + "smoothed_weight": 45.93728403471273, + "flow_value": 1.9585732947636814 + }, + { + "brew_time": "27.8", + "timestamp": "11:38:20.737", + "smoothed_weight": 46.13355563124146, + "flow_value": 1.962715965287245 + }, + { + "brew_time": "27.9", + "timestamp": "11:38:20.888", + "smoothed_weight": 46.330200068117314, + "flow_value": 1.966444368758573 + }, + { + "brew_time": "27.10", + "timestamp": "11:38:21.064", + "smoothed_weight": 46.52718006130558, + "flow_value": 1.9697999318826476 + }, + { + "brew_time": "28.1", + "timestamp": "11:38:21.083", + "smoothed_weight": 46.724462055175024, + "flow_value": 1.9728199386944567 + }, + { + "brew_time": "28.2", + "timestamp": "11:38:21.199", + "smoothed_weight": 46.91201584965752, + "flow_value": 1.8755379448249698 + }, + { + "brew_time": "28.3", + "timestamp": "11:38:21.375", + "smoothed_weight": 47.10081426469177, + "flow_value": 1.88798415034249 + }, + { + "brew_time": "28.4", + "timestamp": "11:38:21.376", + "smoothed_weight": 47.3007328382226, + "flow_value": 1.999185735308302 + }, + { + "brew_time": "28.5", + "timestamp": "11:38:21.497", + "smoothed_weight": 47.490659554400345, + "flow_value": 1.8992671617774448 + }, + { + "brew_time": "28.6", + "timestamp": "11:38:21.643", + "smoothed_weight": 47.68159359896031, + "flow_value": 1.9093404455996676 + }, + { + "brew_time": "28.7", + "timestamp": "11:38:21.802", + "smoothed_weight": 47.87343423906428, + "flow_value": 1.9184064010396895 + }, + { + "brew_time": "28.8", + "timestamp": "11:38:21.817", + "smoothed_weight": 48.06609081515785, + "flow_value": 1.9265657609356879 + }, + { + "brew_time": "28.9", + "timestamp": "11:38:21.937", + "smoothed_weight": 48.25948173364207, + "flow_value": 1.933909184842193 + }, + { + "brew_time": "28.10", + "timestamp": "11:38:22.117", + "smoothed_weight": 48.45353356027787, + "flow_value": 1.9405182663579978 + }, + { + "brew_time": "29.1", + "timestamp": "11:38:22.247", + "smoothed_weight": 48.64818020425008, + "flow_value": 1.9464664397221298 + }, + { + "brew_time": "29.2", + "timestamp": "11:38:22.262", + "smoothed_weight": 48.84336218382508, + "flow_value": 1.9518197957499694 + }, + { + "brew_time": "29.3", + "timestamp": "11:38:22.396", + "smoothed_weight": 49.03902596544257, + "flow_value": 1.9566378161749043 + }, + { + "brew_time": "29.4", + "timestamp": "11:38:22.529", + "smoothed_weight": 49.235123368898314, + "flow_value": 1.9609740345574522 + }, + { + "brew_time": "29.5", + "timestamp": "11:38:22.542", + "smoothed_weight": 49.421611032008485, + "flow_value": 1.8648766311017084 + }, + { + "brew_time": "29.6", + "timestamp": "11:38:22.683", + "smoothed_weight": 49.60944992880764, + "flow_value": 1.8783889679915688 + }, + { + "brew_time": "29.7", + "timestamp": "11:38:22.833", + "smoothed_weight": 49.79850493592688, + "flow_value": 1.890550071192365 + }, + { + "brew_time": "29.8", + "timestamp": "11:38:22.984", + "smoothed_weight": 49.988654442334195, + "flow_value": 1.9014950640731598 + }, + { + "brew_time": "29.9", + "timestamp": "11:38:22.999", + "smoothed_weight": 50.179788998100776, + "flow_value": 1.9113455576658112 + }, + { + "brew_time": "29.10", + "timestamp": "11:38:23.189", + "smoothed_weight": 50.3718100982907, + "flow_value": 1.9202110018992613 + }, + { + "brew_time": "30.1", + "timestamp": "11:38:23.295", + "smoothed_weight": 50.56462908846163, + "flow_value": 1.928189901709274 + }, + { + "brew_time": "30.2", + "timestamp": "11:38:23.443", + "smoothed_weight": 50.74816617961547, + "flow_value": 1.8353709115383765 + }, + { + "brew_time": "30.3", + "timestamp": "11:38:23.457", + "smoothed_weight": 50.92334956165392, + "flow_value": 1.7518338203845474 + }, + { + "brew_time": "30.4", + "timestamp": "11:38:23.592", + "smoothed_weight": 51.09101460548853, + "flow_value": 1.6766504383461012 + }, + { + "brew_time": "30.5", + "timestamp": "11:38:23.737", + "smoothed_weight": 51.24191314493968, + "flow_value": 1.508985394511484 + }, + { + "brew_time": "30.6", + "timestamp": "11:38:23.739", + "smoothed_weight": 51.37772183044571, + "flow_value": 1.3580868550602787 + }, + { + "brew_time": "30.7", + "timestamp": "11:38:23.885", + "smoothed_weight": 51.50994964740114, + "flow_value": 1.3222781695543517 + } + ], + "pressureFlow": [] +} diff --git a/src/assets/js/plotly.min.js b/src/assets/js/plotly.min.js new file mode 100644 index 000000000..39be89193 --- /dev/null +++ b/src/assets/js/plotly.min.js @@ -0,0 +1,206702 @@ +/** + * plotly.js v1.58.5 + * Copyright 2012-2021, Plotly, Inc. + * All rights reserved. + * Licensed under the MIT license + */ +!(function (t) { + if ('object' == typeof exports && 'undefined' != typeof module) + module.exports = t(); + else if ('function' == typeof define && define.amd) define([], t); + else { + ('undefined' != typeof window + ? window + : 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : this + ).Plotly = t(); + } +})(function () { + return (function t(e, r, n) { + function i(o, s) { + if (!r[o]) { + if (!e[o]) { + var l = 'function' == typeof require && require; + if (!s && l) return l(o, !0); + if (a) return a(o, !0); + var c = new Error("Cannot find module '" + o + "'"); + throw ((c.code = 'MODULE_NOT_FOUND'), c); + } + var u = (r[o] = { exports: {} }); + e[o][0].call( + u.exports, + function (t) { + return i(e[o][1][t] || t); + }, + u, + u.exports, + t, + e, + r, + n + ); + } + return r[o].exports; + } + for ( + var a = 'function' == typeof require && require, o = 0; + o < n.length; + o++ + ) + i(n[o]); + return i; + })( + { + 1: [ + function (t, e, r) { + 'use strict'; + var n = t('../src/lib'), + i = { + 'X,X div': + "direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;", + 'X input,X button': + "font-family:'Open Sans', verdana, arial, sans-serif;", + 'X input:focus,X button:focus': 'outline:none;', + 'X a': 'text-decoration:none;', + 'X a:hover': 'text-decoration:none;', + 'X .crisp': 'shape-rendering:crispEdges;', + 'X .user-select-none': + '-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;', + 'X svg': 'overflow:hidden;', + 'X svg a': 'fill:#447adb;', + 'X svg a:hover': 'fill:#3c6dc5;', + 'X .main-svg': + 'position:absolute;top:0;left:0;pointer-events:none;', + 'X .main-svg .draglayer': 'pointer-events:all;', + 'X .cursor-default': 'cursor:default;', + 'X .cursor-pointer': 'cursor:pointer;', + 'X .cursor-crosshair': 'cursor:crosshair;', + 'X .cursor-move': 'cursor:move;', + 'X .cursor-col-resize': 'cursor:col-resize;', + 'X .cursor-row-resize': 'cursor:row-resize;', + 'X .cursor-ns-resize': 'cursor:ns-resize;', + 'X .cursor-ew-resize': 'cursor:ew-resize;', + 'X .cursor-sw-resize': 'cursor:sw-resize;', + 'X .cursor-s-resize': 'cursor:s-resize;', + 'X .cursor-se-resize': 'cursor:se-resize;', + 'X .cursor-w-resize': 'cursor:w-resize;', + 'X .cursor-e-resize': 'cursor:e-resize;', + 'X .cursor-nw-resize': 'cursor:nw-resize;', + 'X .cursor-n-resize': 'cursor:n-resize;', + 'X .cursor-ne-resize': 'cursor:ne-resize;', + 'X .cursor-grab': 'cursor:-webkit-grab;cursor:grab;', + 'X .modebar': 'position:absolute;top:2px;right:2px;', + 'X .ease-bg': + '-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;', + 'X .modebar--hover>:not(.watermark)': + 'opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;', + 'X:hover .modebar--hover .modebar-group': 'opacity:1;', + 'X .modebar-group': + 'float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;', + 'X .modebar-btn': + 'position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;', + 'X .modebar-btn svg': 'position:relative;top:2px;', + 'X .modebar.vertical': + 'display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;', + 'X .modebar.vertical svg': 'top:-1px;', + 'X .modebar.vertical .modebar-group': + 'display:block;float:none;padding-left:0px;padding-bottom:8px;', + 'X .modebar.vertical .modebar-group .modebar-btn': + 'display:block;text-align:center;', + 'X [data-title]:before,X [data-title]:after': + 'position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;', + 'X [data-title]:hover:before,X [data-title]:hover:after': + 'display:block;opacity:1;', + 'X [data-title]:before': + "content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;", + 'X [data-title]:after': + 'content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;', + 'X .vertical [data-title]:before,X .vertical [data-title]:after': + 'top:0%;right:200%;', + 'X .vertical [data-title]:before': + 'border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;', + 'X .select-outline': + 'fill:none;stroke-width:1;shape-rendering:crispEdges;', + 'X .select-outline-1': 'stroke:white;', + 'X .select-outline-2': 'stroke:black;stroke-dasharray:2px 2px;', + Y: "font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;", + 'Y p': 'margin:0;', + 'Y .notifier-note': + 'min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;', + 'Y .notifier-close': + 'color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;', + 'Y .notifier-close:hover': + 'color:#444;text-decoration:none;cursor:pointer;', + }; + for (var a in i) { + var o = a + .replace(/^,/, ' ,') + .replace(/X/g, '.js-plotly-plot .plotly') + .replace(/Y/g, '.plotly-notifier'); + n.addStyleRule(o, i[a]); + } + }, + { '../src/lib': 778 }, + ], + 2: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/transforms/aggregate'); + }, + { '../src/transforms/aggregate': 1365 }, + ], + 3: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/bar'); + }, + { '../src/traces/bar': 929 }, + ], + 4: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/barpolar'); + }, + { '../src/traces/barpolar': 942 }, + ], + 5: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/box'); + }, + { '../src/traces/box': 952 }, + ], + 6: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/components/calendars'); + }, + { '../src/components/calendars': 641 }, + ], + 7: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/candlestick'); + }, + { '../src/traces/candlestick': 961 }, + ], + 8: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/carpet'); + }, + { '../src/traces/carpet': 980 }, + ], + 9: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/choropleth'); + }, + { '../src/traces/choropleth': 994 }, + ], + 10: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/choroplethmapbox'); + }, + { '../src/traces/choroplethmapbox': 1001 }, + ], + 11: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/cone'); + }, + { '../src/traces/cone': 1007 }, + ], + 12: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/contour'); + }, + { '../src/traces/contour': 1022 }, + ], + 13: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/contourcarpet'); + }, + { '../src/traces/contourcarpet': 1033 }, + ], + 14: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/core'); + }, + { '../src/core': 755 }, + ], + 15: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/densitymapbox'); + }, + { '../src/traces/densitymapbox': 1041 }, + ], + 16: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/transforms/filter'); + }, + { '../src/transforms/filter': 1366 }, + ], + 17: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/funnel'); + }, + { '../src/traces/funnel': 1051 }, + ], + 18: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/funnelarea'); + }, + { '../src/traces/funnelarea': 1060 }, + ], + 19: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/transforms/groupby'); + }, + { '../src/transforms/groupby': 1367 }, + ], + 20: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/heatmap'); + }, + { '../src/traces/heatmap': 1073 }, + ], + 21: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/heatmapgl'); + }, + { '../src/traces/heatmapgl': 1083 }, + ], + 22: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/histogram'); + }, + { '../src/traces/histogram': 1095 }, + ], + 23: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/histogram2d'); + }, + { '../src/traces/histogram2d': 1101 }, + ], + 24: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/histogram2dcontour'); + }, + { '../src/traces/histogram2dcontour': 1105 }, + ], + 25: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/image'); + }, + { '../src/traces/image': 1113 }, + ], + 26: [ + function (t, e, r) { + 'use strict'; + var n = t('./core'); + n.register([ + t('./bar'), + t('./box'), + t('./heatmap'), + t('./histogram'), + t('./histogram2d'), + t('./histogram2dcontour'), + t('./contour'), + t('./scatterternary'), + t('./violin'), + t('./funnel'), + t('./waterfall'), + t('./image'), + t('./pie'), + t('./sunburst'), + t('./treemap'), + t('./funnelarea'), + t('./scatter3d'), + t('./surface'), + t('./isosurface'), + t('./volume'), + t('./mesh3d'), + t('./cone'), + t('./streamtube'), + t('./scattergeo'), + t('./choropleth'), + t('./scattergl'), + t('./splom'), + t('./pointcloud'), + t('./heatmapgl'), + t('./parcoords'), + t('./parcats'), + t('./scattermapbox'), + t('./choroplethmapbox'), + t('./densitymapbox'), + t('./sankey'), + t('./indicator'), + t('./table'), + t('./carpet'), + t('./scattercarpet'), + t('./contourcarpet'), + t('./ohlc'), + t('./candlestick'), + t('./scatterpolar'), + t('./scatterpolargl'), + t('./barpolar'), + ]), + n.register([ + t('./aggregate'), + t('./filter'), + t('./groupby'), + t('./sort'), + ]), + n.register([t('./calendars')]), + (e.exports = n); + }, + { + './aggregate': 2, + './bar': 3, + './barpolar': 4, + './box': 5, + './calendars': 6, + './candlestick': 7, + './carpet': 8, + './choropleth': 9, + './choroplethmapbox': 10, + './cone': 11, + './contour': 12, + './contourcarpet': 13, + './core': 14, + './densitymapbox': 15, + './filter': 16, + './funnel': 17, + './funnelarea': 18, + './groupby': 19, + './heatmap': 20, + './heatmapgl': 21, + './histogram': 22, + './histogram2d': 23, + './histogram2dcontour': 24, + './image': 25, + './indicator': 27, + './isosurface': 28, + './mesh3d': 29, + './ohlc': 30, + './parcats': 31, + './parcoords': 32, + './pie': 33, + './pointcloud': 34, + './sankey': 35, + './scatter3d': 36, + './scattercarpet': 37, + './scattergeo': 38, + './scattergl': 39, + './scattermapbox': 40, + './scatterpolar': 41, + './scatterpolargl': 42, + './scatterternary': 43, + './sort': 44, + './splom': 45, + './streamtube': 46, + './sunburst': 47, + './surface': 48, + './table': 49, + './treemap': 50, + './violin': 51, + './volume': 52, + './waterfall': 53, + }, + ], + 27: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/indicator'); + }, + { '../src/traces/indicator': 1121 }, + ], + 28: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/isosurface'); + }, + { '../src/traces/isosurface': 1127 }, + ], + 29: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/mesh3d'); + }, + { '../src/traces/mesh3d': 1132 }, + ], + 30: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/ohlc'); + }, + { '../src/traces/ohlc': 1137 }, + ], + 31: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/parcats'); + }, + { '../src/traces/parcats': 1146 }, + ], + 32: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/parcoords'); + }, + { '../src/traces/parcoords': 1156 }, + ], + 33: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/pie'); + }, + { '../src/traces/pie': 1167 }, + ], + 34: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/pointcloud'); + }, + { '../src/traces/pointcloud': 1176 }, + ], + 35: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/sankey'); + }, + { '../src/traces/sankey': 1182 }, + ], + 36: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scatter3d'); + }, + { '../src/traces/scatter3d': 1220 }, + ], + 37: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scattercarpet'); + }, + { '../src/traces/scattercarpet': 1227 }, + ], + 38: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scattergeo'); + }, + { '../src/traces/scattergeo': 1235 }, + ], + 39: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scattergl'); + }, + { '../src/traces/scattergl': 1248 }, + ], + 40: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scattermapbox'); + }, + { '../src/traces/scattermapbox': 1258 }, + ], + 41: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scatterpolar'); + }, + { '../src/traces/scatterpolar': 1266 }, + ], + 42: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scatterpolargl'); + }, + { '../src/traces/scatterpolargl': 1273 }, + ], + 43: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/scatterternary'); + }, + { '../src/traces/scatterternary': 1281 }, + ], + 44: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/transforms/sort'); + }, + { '../src/transforms/sort': 1369 }, + ], + 45: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/splom'); + }, + { '../src/traces/splom': 1290 }, + ], + 46: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/streamtube'); + }, + { '../src/traces/streamtube': 1298 }, + ], + 47: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/sunburst'); + }, + { '../src/traces/sunburst': 1306 }, + ], + 48: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/surface'); + }, + { '../src/traces/surface': 1315 }, + ], + 49: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/table'); + }, + { '../src/traces/table': 1323 }, + ], + 50: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/treemap'); + }, + { '../src/traces/treemap': 1332 }, + ], + 51: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/violin'); + }, + { '../src/traces/violin': 1344 }, + ], + 52: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/volume'); + }, + { '../src/traces/volume': 1352 }, + ], + 53: [ + function (t, e, r) { + 'use strict'; + e.exports = t('../src/traces/waterfall'); + }, + { '../src/traces/waterfall': 1360 }, + ], + 54: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = (t = t || {}).eye || [0, 0, 1], + r = t.center || [0, 0, 0], + s = t.up || [0, 1, 0], + l = t.distanceLimits || [0, 1 / 0], + c = t.mode || 'turntable', + u = n(), + f = i(), + h = a(); + return ( + u.setDistanceLimits(l[0], l[1]), + u.lookAt(0, e, r, s), + f.setDistanceLimits(l[0], l[1]), + f.lookAt(0, e, r, s), + h.setDistanceLimits(l[0], l[1]), + h.lookAt(0, e, r, s), + new o({ turntable: u, orbit: f, matrix: h }, c) + ); + }; + var n = t('turntable-camera-controller'), + i = t('orbit-camera-controller'), + a = t('matrix-camera-controller'); + function o(t, e) { + (this._controllerNames = Object.keys(t)), + (this._controllerList = this._controllerNames.map(function (e) { + return t[e]; + })), + (this._mode = e), + (this._active = t[e]), + this._active || + ((this._mode = 'turntable'), (this._active = t.turntable)), + (this.modes = this._controllerNames), + (this.computedMatrix = this._active.computedMatrix), + (this.computedEye = this._active.computedEye), + (this.computedUp = this._active.computedUp), + (this.computedCenter = this._active.computedCenter), + (this.computedRadius = this._active.computedRadius); + } + var s = o.prototype; + [ + ['flush', 1], + ['idle', 1], + ['lookAt', 4], + ['rotate', 4], + ['pan', 4], + ['translate', 4], + ['setMatrix', 2], + ['setDistanceLimits', 2], + ['setDistance', 2], + ].forEach(function (t) { + for (var e = t[0], r = [], n = 0; n < t[1]; ++n) r.push('a' + n); + var i = + 'var cc=this._controllerList;for(var i=0;i 1 || i > 1) + ); + } + function A(t, e, r) { + return ( + t.sort(E), + t.forEach(function (n, i) { + var a, + o, + s = 0; + if (H(n, r) && M(n)) + n.circularPathData.verticalBuffer = s + n.width / 2; + else { + for (var l = 0; l < i; l++) + if ( + ((a = t[i]), + (o = t[l]), + !( + a.source.column < o.target.column || + a.target.column > o.source.column + )) + ) { + var c = + t[l].circularPathData.verticalBuffer + + t[l].width / 2 + + e; + s = c > s ? c : s; + } + n.circularPathData.verticalBuffer = s + n.width / 2; + } + }), + t + ); + } + function S(t, r, i, a) { + var o = e.min(t.links, function (t) { + return t.source.y0; + }); + t.links.forEach(function (t) { + t.circular && (t.circularPathData = {}); + }), + A( + t.links.filter(function (t) { + return 'top' == t.circularLinkType; + }), + r, + a + ), + A( + t.links.filter(function (t) { + return 'bottom' == t.circularLinkType; + }), + r, + a + ), + t.links.forEach(function (e) { + if (e.circular) { + if ( + ((e.circularPathData.arcRadius = e.width + 10), + (e.circularPathData.leftNodeBuffer = 5), + (e.circularPathData.rightNodeBuffer = 5), + (e.circularPathData.sourceWidth = + e.source.x1 - e.source.x0), + (e.circularPathData.sourceX = + e.source.x0 + e.circularPathData.sourceWidth), + (e.circularPathData.targetX = e.target.x0), + (e.circularPathData.sourceY = e.y0), + (e.circularPathData.targetY = e.y1), + H(e, a) && M(e)) + ) + (e.circularPathData.leftSmallArcRadius = + 10 + e.width / 2), + (e.circularPathData.leftLargeArcRadius = + 10 + e.width / 2), + (e.circularPathData.rightSmallArcRadius = + 10 + e.width / 2), + (e.circularPathData.rightLargeArcRadius = + 10 + e.width / 2), + 'bottom' == e.circularLinkType + ? ((e.circularPathData.verticalFullExtent = + e.source.y1 + + 25 + + e.circularPathData.verticalBuffer), + (e.circularPathData.verticalLeftInnerExtent = + e.circularPathData.verticalFullExtent - + e.circularPathData.leftLargeArcRadius), + (e.circularPathData.verticalRightInnerExtent = + e.circularPathData.verticalFullExtent - + e.circularPathData.rightLargeArcRadius)) + : ((e.circularPathData.verticalFullExtent = + e.source.y0 - + 25 - + e.circularPathData.verticalBuffer), + (e.circularPathData.verticalLeftInnerExtent = + e.circularPathData.verticalFullExtent + + e.circularPathData.leftLargeArcRadius), + (e.circularPathData.verticalRightInnerExtent = + e.circularPathData.verticalFullExtent + + e.circularPathData.rightLargeArcRadius)); + else { + var s = e.source.column, + l = e.circularLinkType, + c = t.links.filter(function (t) { + return ( + t.source.column == s && t.circularLinkType == l + ); + }); + 'bottom' == e.circularLinkType ? c.sort(L) : c.sort(C); + var u = 0; + c.forEach(function (t, n) { + t.circularLinkID == e.circularLinkID && + ((e.circularPathData.leftSmallArcRadius = + 10 + e.width / 2 + u), + (e.circularPathData.leftLargeArcRadius = + 10 + e.width / 2 + n * r + u)), + (u += t.width); + }), + (s = e.target.column), + (c = t.links.filter(function (t) { + return ( + t.target.column == s && t.circularLinkType == l + ); + })), + 'bottom' == e.circularLinkType ? c.sort(P) : c.sort(I), + (u = 0), + c.forEach(function (t, n) { + t.circularLinkID == e.circularLinkID && + ((e.circularPathData.rightSmallArcRadius = + 10 + e.width / 2 + u), + (e.circularPathData.rightLargeArcRadius = + 10 + e.width / 2 + n * r + u)), + (u += t.width); + }), + 'bottom' == e.circularLinkType + ? ((e.circularPathData.verticalFullExtent = + Math.max(i, e.source.y1, e.target.y1) + + 25 + + e.circularPathData.verticalBuffer), + (e.circularPathData.verticalLeftInnerExtent = + e.circularPathData.verticalFullExtent - + e.circularPathData.leftLargeArcRadius), + (e.circularPathData.verticalRightInnerExtent = + e.circularPathData.verticalFullExtent - + e.circularPathData.rightLargeArcRadius)) + : ((e.circularPathData.verticalFullExtent = + o - 25 - e.circularPathData.verticalBuffer), + (e.circularPathData.verticalLeftInnerExtent = + e.circularPathData.verticalFullExtent + + e.circularPathData.leftLargeArcRadius), + (e.circularPathData.verticalRightInnerExtent = + e.circularPathData.verticalFullExtent + + e.circularPathData.rightLargeArcRadius)); + } + (e.circularPathData.leftInnerExtent = + e.circularPathData.sourceX + + e.circularPathData.leftNodeBuffer), + (e.circularPathData.rightInnerExtent = + e.circularPathData.targetX - + e.circularPathData.rightNodeBuffer), + (e.circularPathData.leftFullExtent = + e.circularPathData.sourceX + + e.circularPathData.leftLargeArcRadius + + e.circularPathData.leftNodeBuffer), + (e.circularPathData.rightFullExtent = + e.circularPathData.targetX - + e.circularPathData.rightLargeArcRadius - + e.circularPathData.rightNodeBuffer); + } + if (e.circular) + e.path = (function (t) { + var e = ''; + e = + 'top' == t.circularLinkType + ? 'M' + + t.circularPathData.sourceX + + ' ' + + t.circularPathData.sourceY + + ' L' + + t.circularPathData.leftInnerExtent + + ' ' + + t.circularPathData.sourceY + + ' A' + + t.circularPathData.leftLargeArcRadius + + ' ' + + t.circularPathData.leftSmallArcRadius + + ' 0 0 0 ' + + t.circularPathData.leftFullExtent + + ' ' + + (t.circularPathData.sourceY - + t.circularPathData.leftSmallArcRadius) + + ' L' + + t.circularPathData.leftFullExtent + + ' ' + + t.circularPathData.verticalLeftInnerExtent + + ' A' + + t.circularPathData.leftLargeArcRadius + + ' ' + + t.circularPathData.leftLargeArcRadius + + ' 0 0 0 ' + + t.circularPathData.leftInnerExtent + + ' ' + + t.circularPathData.verticalFullExtent + + ' L' + + t.circularPathData.rightInnerExtent + + ' ' + + t.circularPathData.verticalFullExtent + + ' A' + + t.circularPathData.rightLargeArcRadius + + ' ' + + t.circularPathData.rightLargeArcRadius + + ' 0 0 0 ' + + t.circularPathData.rightFullExtent + + ' ' + + t.circularPathData.verticalRightInnerExtent + + ' L' + + t.circularPathData.rightFullExtent + + ' ' + + (t.circularPathData.targetY - + t.circularPathData.rightSmallArcRadius) + + ' A' + + t.circularPathData.rightLargeArcRadius + + ' ' + + t.circularPathData.rightSmallArcRadius + + ' 0 0 0 ' + + t.circularPathData.rightInnerExtent + + ' ' + + t.circularPathData.targetY + + ' L' + + t.circularPathData.targetX + + ' ' + + t.circularPathData.targetY + : 'M' + + t.circularPathData.sourceX + + ' ' + + t.circularPathData.sourceY + + ' L' + + t.circularPathData.leftInnerExtent + + ' ' + + t.circularPathData.sourceY + + ' A' + + t.circularPathData.leftLargeArcRadius + + ' ' + + t.circularPathData.leftSmallArcRadius + + ' 0 0 1 ' + + t.circularPathData.leftFullExtent + + ' ' + + (t.circularPathData.sourceY + + t.circularPathData.leftSmallArcRadius) + + ' L' + + t.circularPathData.leftFullExtent + + ' ' + + t.circularPathData.verticalLeftInnerExtent + + ' A' + + t.circularPathData.leftLargeArcRadius + + ' ' + + t.circularPathData.leftLargeArcRadius + + ' 0 0 1 ' + + t.circularPathData.leftInnerExtent + + ' ' + + t.circularPathData.verticalFullExtent + + ' L' + + t.circularPathData.rightInnerExtent + + ' ' + + t.circularPathData.verticalFullExtent + + ' A' + + t.circularPathData.rightLargeArcRadius + + ' ' + + t.circularPathData.rightLargeArcRadius + + ' 0 0 1 ' + + t.circularPathData.rightFullExtent + + ' ' + + t.circularPathData.verticalRightInnerExtent + + ' L' + + t.circularPathData.rightFullExtent + + ' ' + + (t.circularPathData.targetY + + t.circularPathData.rightSmallArcRadius) + + ' A' + + t.circularPathData.rightLargeArcRadius + + ' ' + + t.circularPathData.rightSmallArcRadius + + ' 0 0 1 ' + + t.circularPathData.rightInnerExtent + + ' ' + + t.circularPathData.targetY + + ' L' + + t.circularPathData.targetX + + ' ' + + t.circularPathData.targetY; + return e; + })(e); + else { + var f = n + .linkHorizontal() + .source(function (t) { + return [ + t.source.x0 + (t.source.x1 - t.source.x0), + t.y0, + ]; + }) + .target(function (t) { + return [t.target.x0, t.y1]; + }); + e.path = f(e); + } + }); + } + function E(t, e) { + return z(t) == z(e) + ? 'bottom' == t.circularLinkType + ? L(t, e) + : C(t, e) + : z(e) - z(t); + } + function C(t, e) { + return t.y0 - e.y0; + } + function L(t, e) { + return e.y0 - t.y0; + } + function I(t, e) { + return t.y1 - e.y1; + } + function P(t, e) { + return e.y1 - t.y1; + } + function z(t) { + return t.target.column - t.source.column; + } + function O(t) { + return t.target.x0 - t.source.x1; + } + function D(t, e) { + var r = T(t), + n = O(e) / Math.tan(r); + return 'up' == q(t) ? t.y1 + n : t.y1 - n; + } + function R(t, e) { + var r = T(t), + n = O(e) / Math.tan(r); + return 'up' == q(t) ? t.y1 - n : t.y1 + n; + } + function F(t, e, r, n) { + t.links.forEach(function (i) { + if (!i.circular && i.target.column - i.source.column > 1) { + var a = i.source.column + 1, + o = i.target.column - 1, + s = 1, + l = o - a + 1; + for (s = 1; a <= o; a++, s++) + t.nodes.forEach(function (o) { + if (o.column == a) { + var c, + u = s / (l + 1), + f = Math.pow(1 - u, 3), + h = 3 * u * Math.pow(1 - u, 2), + p = 3 * Math.pow(u, 2) * (1 - u), + d = Math.pow(u, 3), + g = f * i.y0 + h * i.y0 + p * i.y1 + d * i.y1, + m = g - i.width / 2, + v = g + i.width / 2; + m > o.y0 && m < o.y1 + ? ((c = o.y1 - m + 10), + (c = 'bottom' == o.circularLinkType ? c : -c), + (o = N(o, c, e, r)), + t.nodes.forEach(function (t) { + b(t, n) != b(o, n) && + t.column == o.column && + B(o, t) && + N(t, c, e, r); + })) + : ((v > o.y0 && v < o.y1) || + (m < o.y0 && v > o.y1)) && + ((c = v - o.y0 + 10), + (o = N(o, c, e, r)), + t.nodes.forEach(function (t) { + b(t, n) != b(o, n) && + t.column == o.column && + t.y0 < o.y1 && + t.y1 > o.y1 && + N(t, c, e, r); + })); + } + }); + } + }); + } + function B(t, e) { + return ( + (t.y0 > e.y0 && t.y0 < e.y1) || + (t.y1 > e.y0 && t.y1 < e.y1) || + (t.y0 < e.y0 && t.y1 > e.y1) + ); + } + function N(t, e, r, n) { + return ( + t.y0 + e >= r && + t.y1 + e <= n && + ((t.y0 = t.y0 + e), + (t.y1 = t.y1 + e), + t.targetLinks.forEach(function (t) { + t.y1 = t.y1 + e; + }), + t.sourceLinks.forEach(function (t) { + t.y0 = t.y0 + e; + })), + t + ); + } + function j(t, e, r, n) { + t.nodes.forEach(function (i) { + n && + i.y + (i.y1 - i.y0) > e && + (i.y = i.y - (i.y + (i.y1 - i.y0) - e)); + var a = t.links.filter(function (t) { + return b(t.source, r) == b(i, r); + }), + o = a.length; + o > 1 && + a.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.target.column == e.target.column) + return t.y1 - e.y1; + if (!V(t, e)) return t.y1 - e.y1; + if (t.target.column > e.target.column) { + var r = R(e, t); + return t.y1 - r; + } + if (e.target.column > t.target.column) + return R(t, e) - e.y1; + } + return t.circular && !e.circular + ? 'top' == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? 'top' == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + 'top' == t.circularLinkType + ? t.target.column === e.target.column + ? t.target.y1 - e.target.y1 + : e.target.column - t.target.column + : t.circularLinkType === e.circularLinkType && + 'bottom' == t.circularLinkType + ? t.target.column === e.target.column + ? e.target.y1 - t.target.y1 + : t.target.column - e.target.column + : 'top' == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var s = i.y0; + a.forEach(function (t) { + (t.y0 = s + t.width / 2), (s += t.width); + }), + a.forEach(function (t, e) { + if ('bottom' == t.circularLinkType) { + for (var r = e + 1, n = 0; r < o; r++) n += a[r].width; + t.y0 = i.y1 - n - t.width / 2; + } + }); + }); + } + function U(t, e, r) { + t.nodes.forEach(function (e) { + var n = t.links.filter(function (t) { + return b(t.target, r) == b(e, r); + }), + i = n.length; + i > 1 && + n.sort(function (t, e) { + if (!t.circular && !e.circular) { + if (t.source.column == e.source.column) + return t.y0 - e.y0; + if (!V(t, e)) return t.y0 - e.y0; + if (e.source.column < t.source.column) { + var r = D(e, t); + return t.y0 - r; + } + if (t.source.column < e.source.column) + return D(t, e) - e.y0; + } + return t.circular && !e.circular + ? 'top' == t.circularLinkType + ? -1 + : 1 + : e.circular && !t.circular + ? 'top' == e.circularLinkType + ? 1 + : -1 + : t.circular && e.circular + ? t.circularLinkType === e.circularLinkType && + 'top' == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : t.source.column - e.source.column + : t.circularLinkType === e.circularLinkType && + 'bottom' == t.circularLinkType + ? t.source.column === e.source.column + ? t.source.y1 - e.source.y1 + : e.source.column - t.source.column + : 'top' == t.circularLinkType + ? -1 + : 1 + : void 0; + }); + var a = e.y0; + n.forEach(function (t) { + (t.y1 = a + t.width / 2), (a += t.width); + }), + n.forEach(function (t, r) { + if ('bottom' == t.circularLinkType) { + for (var a = r + 1, o = 0; a < i; a++) o += n[a].width; + t.y1 = e.y1 - o - t.width / 2; + } + }); + }); + } + function V(t, e) { + return q(t) == q(e); + } + function q(t) { + return t.y0 - t.y1 > 0 ? 'up' : 'down'; + } + function H(t, e) { + return b(t.source, e) == b(t.target, e); + } + function G(t, r, n) { + var i = t.nodes, + a = t.links, + o = !1, + s = !1; + if ( + (a.forEach(function (t) { + 'top' == t.circularLinkType + ? (o = !0) + : 'bottom' == t.circularLinkType && (s = !0); + }), + 0 == o || 0 == s) + ) { + var l = e.min(i, function (t) { + return t.y0; + }), + c = + (n - r) / + (e.max(i, function (t) { + return t.y1; + }) - + l); + i.forEach(function (t) { + var e = (t.y1 - t.y0) * c; + (t.y0 = (t.y0 - l) * c), (t.y1 = t.y0 + e); + }), + a.forEach(function (t) { + (t.y0 = (t.y0 - l) * c), + (t.y1 = (t.y1 - l) * c), + (t.width = t.width * c); + }); + } + } + (t.sankeyCircular = function () { + var t, + n, + i = 0, + a = 0, + b = 1, + T = 1, + M = 24, + A = m, + E = o, + C = v, + L = y, + I = 32, + P = 2, + z = null; + function O() { + var t = { + nodes: C.apply(null, arguments), + links: L.apply(null, arguments), + }; + D(t), _(t, A, z), R(t), B(t), w(t, A), N(t, I, A), V(t); + for (var e = 4, r = 0; r < e; r++) + j(t, T, A), U(t, T, A), F(t, a, T, A), j(t, T, A), U(t, T, A); + return G(t, a, T), S(t, P, T, A), t; + } + function D(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), (t.sourceLinks = []), (t.targetLinks = []); + }); + var e = r.map(t.nodes, A); + return ( + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + 'object' !== + ('undefined' == typeof n ? 'undefined' : l(n)) && + (n = t.source = x(e, n)), + 'object' !== + ('undefined' == typeof i ? 'undefined' : l(i)) && + (i = t.target = x(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }), + t + ); + } + function R(t) { + t.nodes.forEach(function (t) { + (t.partOfCycle = !1), + (t.value = Math.max( + e.sum(t.sourceLinks, h), + e.sum(t.targetLinks, h) + )), + t.sourceLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }), + t.targetLinks.forEach(function (e) { + e.circular && + ((t.partOfCycle = !0), + (t.circularLinkType = e.circularLinkType)); + }); + }); + } + function B(t) { + var e, r, n; + for (e = t.nodes, r = [], n = 0; e.length; ++n, e = r, r = []) + e.forEach(function (t) { + (t.depth = n), + t.sourceLinks.forEach(function (t) { + r.indexOf(t.target) < 0 && + !t.circular && + r.push(t.target); + }); + }); + for (e = t.nodes, r = [], n = 0; e.length; ++n, e = r, r = []) + e.forEach(function (t) { + (t.height = n), + t.targetLinks.forEach(function (t) { + r.indexOf(t.source) < 0 && + !t.circular && + r.push(t.source); + }); + }); + t.nodes.forEach(function (t) { + t.column = Math.floor(E.call(null, t, n)); + }); + } + function N(o, s, l) { + var c = r + .nest() + .key(function (t) { + return t.column; + }) + .sortKeys(e.ascending) + .entries(o.nodes) + .map(function (t) { + return t.values; + }); + !(function (r) { + if (n) { + var s = 1 / 0; + c.forEach(function (t) { + var e = (T * n) / (t.length + 1); + s = e < s ? e : s; + }), + (t = s); + } + var l = e.min(c, function (r) { + return (T - a - (r.length - 1) * t) / e.sum(r, h); + }); + (l *= 0.3), + o.links.forEach(function (t) { + t.width = t.value * l; + }); + var u = (function (t) { + var r = 0, + n = 0, + i = 0, + a = 0, + o = e.max(t.nodes, function (t) { + return t.column; + }); + return ( + t.links.forEach(function (t) { + t.circular && + ('top' == t.circularLinkType + ? (r += t.width) + : (n += t.width), + 0 == t.target.column && (a += t.width), + t.source.column == o && (i += t.width)); + }), + { + top: (r = r > 0 ? r + 25 + 10 : r), + bottom: (n = n > 0 ? n + 25 + 10 : n), + left: (a = a > 0 ? a + 25 + 10 : a), + right: (i = i > 0 ? i + 25 + 10 : i), + } + ); + })(o), + f = (function (t, r) { + var n = e.max(t.nodes, function (t) { + return t.column; + }), + o = b - i, + s = T - a, + l = o / (o + r.right + r.left), + c = s / (s + r.top + r.bottom); + return ( + (i = i * l + r.left), + (b = 0 == r.right ? b : b * l), + (a = a * c + r.top), + (T *= c), + t.nodes.forEach(function (t) { + (t.x0 = i + t.column * ((b - i - M) / n)), + (t.x1 = t.x0 + M); + }), + c + ); + })(o, u); + (l *= f), + o.links.forEach(function (t) { + t.width = t.value * l; + }), + c.forEach(function (t) { + var e = t.length; + t.forEach(function (t, n) { + (t.depth == c.length - 1 && 1 == e) || + (0 == t.depth && 1 == e) + ? ((t.y0 = T / 2 - t.value * l), + (t.y1 = t.y0 + t.value * l)) + : t.partOfCycle + ? 0 == k(t, r) + ? ((t.y0 = T / 2 + n), (t.y1 = t.y0 + t.value * l)) + : 'top' == t.circularLinkType + ? ((t.y0 = a + n), (t.y1 = t.y0 + t.value * l)) + : ((t.y0 = T - t.value * l - n), + (t.y1 = t.y0 + t.value * l)) + : 0 == u.top || 0 == u.bottom + ? ((t.y0 = ((T - a) / e) * n), + (t.y1 = t.y0 + t.value * l)) + : ((t.y0 = (T - a) / 2 - e / 2 + n), + (t.y1 = t.y0 + t.value * l)); + }); + }); + })(l), + y(); + for (var u = 1, m = s; m > 0; --m) v((u *= 0.99), l), y(); + function v(t, r) { + var n = c.length; + c.forEach(function (i) { + var a = i.length, + o = i[0].depth; + i.forEach(function (i) { + var s; + if (i.sourceLinks.length || i.targetLinks.length) + if (i.partOfCycle && k(i, r) > 0); + else if (0 == o && 1 == a) + (s = i.y1 - i.y0), + (i.y0 = T / 2 - s / 2), + (i.y1 = T / 2 + s / 2); + else if (o == n - 1 && 1 == a) + (s = i.y1 - i.y0), + (i.y0 = T / 2 - s / 2), + (i.y1 = T / 2 + s / 2); + else { + var l = e.mean(i.sourceLinks, g), + c = e.mean(i.targetLinks, d), + u = ((l && c ? (l + c) / 2 : l || c) - p(i)) * t; + (i.y0 += u), (i.y1 += u); + } + }); + }); + } + function y() { + c.forEach(function (e) { + var r, + n, + i, + o = a, + s = e.length; + for (e.sort(f), i = 0; i < s; ++i) + (n = o - (r = e[i]).y0) > 0 && ((r.y0 += n), (r.y1 += n)), + (o = r.y1 + t); + if ((n = o - t - T) > 0) + for (o = r.y0 -= n, r.y1 -= n, i = s - 2; i >= 0; --i) + (n = (r = e[i]).y1 + t - o) > 0 && + ((r.y0 -= n), (r.y1 -= n)), + (o = r.y0); + }); + } + } + function V(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(u), t.targetLinks.sort(c); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e, + n = t.y1, + i = n; + t.sourceLinks.forEach(function (t) { + t.circular + ? ((t.y0 = n - t.width / 2), (n -= t.width)) + : ((t.y0 = e + t.width / 2), (e += t.width)); + }), + t.targetLinks.forEach(function (t) { + t.circular + ? ((t.y1 = i - t.width / 2), (i -= t.width)) + : ((t.y1 = r + t.width / 2), (r += t.width)); + }); + }); + } + return ( + (O.nodeId = function (t) { + return arguments.length + ? ((A = 'function' == typeof t ? t : s(t)), O) + : A; + }), + (O.nodeAlign = function (t) { + return arguments.length + ? ((E = 'function' == typeof t ? t : s(t)), O) + : E; + }), + (O.nodeWidth = function (t) { + return arguments.length ? ((M = +t), O) : M; + }), + (O.nodePadding = function (e) { + return arguments.length ? ((t = +e), O) : t; + }), + (O.nodes = function (t) { + return arguments.length + ? ((C = 'function' == typeof t ? t : s(t)), O) + : C; + }), + (O.links = function (t) { + return arguments.length + ? ((L = 'function' == typeof t ? t : s(t)), O) + : L; + }), + (O.size = function (t) { + return arguments.length + ? ((i = a = 0), (b = +t[0]), (T = +t[1]), O) + : [b - i, T - a]; + }), + (O.extent = function (t) { + return arguments.length + ? ((i = +t[0][0]), + (b = +t[1][0]), + (a = +t[0][1]), + (T = +t[1][1]), + O) + : [ + [i, a], + [b, T], + ]; + }), + (O.iterations = function (t) { + return arguments.length ? ((I = +t), O) : I; + }), + (O.circularLinkGap = function (t) { + return arguments.length ? ((P = +t), O) : P; + }), + (O.nodePaddingRatio = function (t) { + return arguments.length ? ((n = +t), O) : n; + }), + (O.sortNodes = function (t) { + return arguments.length ? ((z = t), O) : z; + }), + (O.update = function (t) { + return ( + w(t, A), + V(t), + t.links.forEach(function (t) { + t.circular && + ((t.circularLinkType = + t.y0 + t.y1 < T ? 'top' : 'bottom'), + (t.source.circularLinkType = t.circularLinkType), + (t.target.circularLinkType = t.circularLinkType)); + }), + j(t, T, A, !1), + U(t, T, A), + S(t, P, T, A), + t + ); + }), + O + ); + }), + (t.sankeyCenter = function (t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? e.min(t.sourceLinks, a) - 1 + : 0; + }), + (t.sankeyLeft = function (t) { + return t.depth; + }), + (t.sankeyRight = function (t, e) { + return e - 1 - t.height; + }), + (t.sankeyJustify = o), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { + 'd3-array': 156, + 'd3-collection': 157, + 'd3-shape': 165, + 'elementary-circuits-directed-graph': 179, + }, + ], + 56: [ + function (t, e, r) { + !(function (n, i) { + 'object' == typeof r && 'undefined' != typeof e + ? i(r, t('d3-array'), t('d3-collection'), t('d3-shape')) + : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3); + })(this, function (t, e, r, n) { + 'use strict'; + function i(t) { + return t.target.depth; + } + function a(t, e) { + return t.sourceLinks.length ? t.depth : e - 1; + } + function o(t) { + return function () { + return t; + }; + } + function s(t, e) { + return c(t.source, e.source) || t.index - e.index; + } + function l(t, e) { + return c(t.target, e.target) || t.index - e.index; + } + function c(t, e) { + return t.y0 - e.y0; + } + function u(t) { + return t.value; + } + function f(t) { + return (t.y0 + t.y1) / 2; + } + function h(t) { + return f(t.source) * t.value; + } + function p(t) { + return f(t.target) * t.value; + } + function d(t) { + return t.index; + } + function g(t) { + return t.nodes; + } + function m(t) { + return t.links; + } + function v(t, e) { + var r = t.get(e); + if (!r) throw new Error('missing: ' + e); + return r; + } + function y(t) { + return [t.source.x1, t.y0]; + } + function x(t) { + return [t.target.x0, t.y1]; + } + (t.sankey = function () { + var t = 0, + n = 0, + i = 1, + y = 1, + x = 24, + b = 8, + _ = d, + w = a, + T = g, + k = m, + M = 32; + function A() { + var t = { + nodes: T.apply(null, arguments), + links: k.apply(null, arguments), + }; + return S(t), E(t), C(t), L(t), I(t), t; + } + function S(t) { + t.nodes.forEach(function (t, e) { + (t.index = e), (t.sourceLinks = []), (t.targetLinks = []); + }); + var e = r.map(t.nodes, _); + t.links.forEach(function (t, r) { + t.index = r; + var n = t.source, + i = t.target; + 'object' != typeof n && (n = t.source = v(e, n)), + 'object' != typeof i && (i = t.target = v(e, i)), + n.sourceLinks.push(t), + i.targetLinks.push(t); + }); + } + function E(t) { + t.nodes.forEach(function (t) { + t.value = Math.max( + e.sum(t.sourceLinks, u), + e.sum(t.targetLinks, u) + ); + }); + } + function C(e) { + var r, n, a; + for (r = e.nodes, n = [], a = 0; r.length; ++a, r = n, n = []) + r.forEach(function (t) { + (t.depth = a), + t.sourceLinks.forEach(function (t) { + n.indexOf(t.target) < 0 && n.push(t.target); + }); + }); + for (r = e.nodes, n = [], a = 0; r.length; ++a, r = n, n = []) + r.forEach(function (t) { + (t.height = a), + t.targetLinks.forEach(function (t) { + n.indexOf(t.source) < 0 && n.push(t.source); + }); + }); + var o = (i - t - x) / (a - 1); + e.nodes.forEach(function (e) { + e.x1 = + (e.x0 = + t + + Math.max( + 0, + Math.min(a - 1, Math.floor(w.call(null, e, a))) + ) * + o) + x; + }); + } + function L(t) { + var i = r + .nest() + .key(function (t) { + return t.x0; + }) + .sortKeys(e.ascending) + .entries(t.nodes) + .map(function (t) { + return t.values; + }); + !(function () { + var r = e.max(i, function (t) { + return t.length; + }), + a = ((2 / 3) * (y - n)) / (r - 1); + b > a && (b = a); + var o = e.min(i, function (t) { + return (y - n - (t.length - 1) * b) / e.sum(t, u); + }); + i.forEach(function (t) { + t.forEach(function (t, e) { + t.y1 = (t.y0 = e) + t.value * o; + }); + }), + t.links.forEach(function (t) { + t.width = t.value * o; + }); + })(), + d(); + for (var a = 1, o = M; o > 0; --o) + l((a *= 0.99)), d(), s(a), d(); + function s(t) { + i.forEach(function (r) { + r.forEach(function (r) { + if (r.targetLinks.length) { + var n = + (e.sum(r.targetLinks, h) / e.sum(r.targetLinks, u) - + f(r)) * + t; + (r.y0 += n), (r.y1 += n); + } + }); + }); + } + function l(t) { + i.slice() + .reverse() + .forEach(function (r) { + r.forEach(function (r) { + if (r.sourceLinks.length) { + var n = + (e.sum(r.sourceLinks, p) / e.sum(r.sourceLinks, u) - + f(r)) * + t; + (r.y0 += n), (r.y1 += n); + } + }); + }); + } + function d() { + i.forEach(function (t) { + var e, + r, + i, + a = n, + o = t.length; + for (t.sort(c), i = 0; i < o; ++i) + (r = a - (e = t[i]).y0) > 0 && ((e.y0 += r), (e.y1 += r)), + (a = e.y1 + b); + if ((r = a - b - y) > 0) + for (a = e.y0 -= r, e.y1 -= r, i = o - 2; i >= 0; --i) + (r = (e = t[i]).y1 + b - a) > 0 && + ((e.y0 -= r), (e.y1 -= r)), + (a = e.y0); + }); + } + } + function I(t) { + t.nodes.forEach(function (t) { + t.sourceLinks.sort(l), t.targetLinks.sort(s); + }), + t.nodes.forEach(function (t) { + var e = t.y0, + r = e; + t.sourceLinks.forEach(function (t) { + (t.y0 = e + t.width / 2), (e += t.width); + }), + t.targetLinks.forEach(function (t) { + (t.y1 = r + t.width / 2), (r += t.width); + }); + }); + } + return ( + (A.update = function (t) { + return I(t), t; + }), + (A.nodeId = function (t) { + return arguments.length + ? ((_ = 'function' == typeof t ? t : o(t)), A) + : _; + }), + (A.nodeAlign = function (t) { + return arguments.length + ? ((w = 'function' == typeof t ? t : o(t)), A) + : w; + }), + (A.nodeWidth = function (t) { + return arguments.length ? ((x = +t), A) : x; + }), + (A.nodePadding = function (t) { + return arguments.length ? ((b = +t), A) : b; + }), + (A.nodes = function (t) { + return arguments.length + ? ((T = 'function' == typeof t ? t : o(t)), A) + : T; + }), + (A.links = function (t) { + return arguments.length + ? ((k = 'function' == typeof t ? t : o(t)), A) + : k; + }), + (A.size = function (e) { + return arguments.length + ? ((t = n = 0), (i = +e[0]), (y = +e[1]), A) + : [i - t, y - n]; + }), + (A.extent = function (e) { + return arguments.length + ? ((t = +e[0][0]), + (i = +e[1][0]), + (n = +e[0][1]), + (y = +e[1][1]), + A) + : [ + [t, n], + [i, y], + ]; + }), + (A.iterations = function (t) { + return arguments.length ? ((M = +t), A) : M; + }), + A + ); + }), + (t.sankeyCenter = function (t) { + return t.targetLinks.length + ? t.depth + : t.sourceLinks.length + ? e.min(t.sourceLinks, i) - 1 + : 0; + }), + (t.sankeyLeft = function (t) { + return t.depth; + }), + (t.sankeyRight = function (t, e) { + return e - 1 - t.height; + }), + (t.sankeyJustify = a), + (t.sankeyLinkHorizontal = function () { + return n.linkHorizontal().source(y).target(x); + }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { 'd3-array': 156, 'd3-collection': 157, 'd3-shape': 165 }, + ], + 57: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./quad'); + }, + { './quad': 58 }, + ], + 58: [ + function (t, e, r) { + 'use strict'; + var n = t('binary-search-bounds'), + i = t('clamp'), + a = t('parse-rect'), + o = t('array-bounds'), + s = t('pick-by-alias'), + l = t('defined'), + c = t('flatten-vertex-data'), + u = t('is-obj'), + f = t('dtype'), + h = t('math-log2'); + function p(t, e) { + for ( + var r = e[0], + n = e[1], + a = 1 / (e[2] - r), + o = 1 / (e[3] - n), + s = new Array(t.length), + l = 0, + c = t.length / 2; + l < c; + l++ + ) + (s[2 * l] = i((t[2 * l] - r) * a, 0, 1)), + (s[2 * l + 1] = i((t[2 * l + 1] - n) * o, 0, 1)); + return s; + } + e.exports = function (t, e) { + e || (e = {}), + (t = c(t, 'float64')), + (e = s(e, { + bounds: 'range bounds dataBox databox', + maxDepth: + 'depth maxDepth maxdepth level maxLevel maxlevel levels', + dtype: 'type dtype format out dst output destination', + })); + var r = l(e.maxDepth, 255), + i = l(e.bounds, o(t, 2)); + i[0] === i[2] && i[2]++, i[1] === i[3] && i[3]++; + var d, + g = p(t, i), + m = t.length >>> 1; + e.dtype || (e.dtype = 'array'), + 'string' == typeof e.dtype + ? (d = new (f(e.dtype))(m)) + : e.dtype && + ((d = e.dtype), Array.isArray(d) && (d.length = m)); + for (var v = 0; v < m; ++v) d[v] = v; + var y = [], + x = [], + b = [], + _ = []; + !(function t(e, n, i, a, o, s) { + if (!a.length) return null; + var l = y[o] || (y[o] = []), + c = b[o] || (b[o] = []), + u = x[o] || (x[o] = []), + f = l.length; + if (++o > r || s > 1073741824) { + for (var h = 0; h < a.length; h++) + l.push(a[h]), c.push(s), u.push(null, null, null, null); + return f; + } + if ((l.push(a[0]), c.push(s), a.length <= 1)) + return u.push(null, null, null, null), f; + for ( + var p = 0.5 * i, + d = e + p, + m = n + p, + v = [], + _ = [], + w = [], + T = [], + k = 1, + M = a.length; + k < M; + k++ + ) { + var A = a[k], + S = g[2 * A], + E = g[2 * A + 1]; + S < d + ? E < m + ? v.push(A) + : _.push(A) + : E < m + ? w.push(A) + : T.push(A); + } + return ( + (s <<= 2), + u.push( + t(e, n, p, v, o, s), + t(e, m, p, _, o, s + 1), + t(d, n, p, w, o, s + 2), + t(d, m, p, T, o, s + 3) + ), + f + ); + })(0, 0, 1, d, 0, 1); + for (var w = 0, T = 0; T < y.length; T++) { + var k = y[T]; + if (d.set) d.set(k, w); + else for (var M = 0, A = k.length; M < A; M++) d[M + w] = k[M]; + var S = w + y[T].length; + (_[T] = [w, S]), (w = S); + } + return ( + (d.range = function () { + var e, + r = [], + n = arguments.length; + for (; n--; ) r[n] = arguments[n]; + if (u(r[r.length - 1])) { + var o = r.pop(); + r.length || + (null == o.x && null == o.l && null == o.left) || + ((r = [o]), (e = {})), + (e = s(o, { + level: 'level maxLevel', + d: 'd diam diameter r radius px pxSize pixel pixelSize maxD size minSize', + lod: 'lod details ranges offsets', + })); + } else e = {}; + r.length || (r = i); + var c = a.apply(void 0, r), + f = [ + Math.min(c.x, c.x + c.width), + Math.min(c.y, c.y + c.height), + Math.max(c.x, c.x + c.width), + Math.max(c.y, c.y + c.height), + ], + d = f[0], + g = f[1], + m = f[2], + v = f[3], + b = p([d, g, m, v], i), + _ = b[0], + w = b[1], + T = b[2], + k = b[3], + M = l(e.level, y.length); + if (null != e.d) { + var A; + 'number' == typeof e.d + ? (A = [e.d, e.d]) + : e.d.length && (A = e.d), + (M = Math.min( + Math.max( + Math.ceil(-h(Math.abs(A[0]) / (i[2] - i[0]))), + Math.ceil(-h(Math.abs(A[1]) / (i[3] - i[1]))) + ), + M + )); + } + if (((M = Math.min(M, y.length)), e.lod)) + return E(_, w, T, k, M); + var S = []; + function C(e, r, n, i, a, o) { + if ( + null !== a && + null !== o && + !( + _ > e + n || + w > r + n || + T < e || + k < r || + i >= M || + a === o + ) + ) { + var s = y[i]; + void 0 === o && (o = s.length); + for (var l = a; l < o; l++) { + var c = s[l], + u = t[2 * c], + f = t[2 * c + 1]; + u >= d && u <= m && f >= g && f <= v && S.push(c); + } + var h = x[i], + p = h[4 * a + 0], + b = h[4 * a + 1], + A = h[4 * a + 2], + E = h[4 * a + 3], + I = L(h, a + 1), + P = 0.5 * n, + z = i + 1; + C(e, r, P, z, p, b || A || E || I), + C(e, r + P, P, z, b, A || E || I), + C(e + P, r, P, z, A, E || I), + C(e + P, r + P, P, z, E, I); + } + } + function L(t, e) { + for (var r = null, n = 0; null === r; ) + if (((r = t[4 * e + n]), ++n > t.length)) return null; + return r; + } + return C(0, 0, 1, 0, 0, 1), S; + }), + d + ); + function E(t, e, r, i, a) { + for (var o = [], s = 0; s < a; s++) { + var l = b[s], + c = _[s][0], + u = C(t, e, s), + f = C(r, i, s), + h = n.ge(l, u), + p = n.gt(l, f, h, l.length - 1); + o[s] = [h + c, p + c]; + } + return o; + } + function C(t, e, r) { + for (var n = 1, i = 0.5, a = 0.5, o = 0.5, s = 0; s < r; s++) + (n <<= 2), + (n += t < i ? (e < a ? 0 : 1) : e < a ? 2 : 3), + (o *= 0.5), + (i += t < i ? -o : o), + (a += e < a ? -o : o); + return n; + } + }; + }, + { + 'array-bounds': 70, + 'binary-search-bounds': 96, + clamp: 120, + defined: 170, + dtype: 175, + 'flatten-vertex-data': 244, + 'is-obj': 468, + 'math-log2': 479, + 'parse-rect': 504, + 'pick-by-alias': 511, + }, + ], + 59: [ + function (t, e, r) { + 'use strict'; + Object.defineProperty(r, '__esModule', { value: !0 }); + var n = t('@turf/meta'); + function i(t) { + var e = 0; + if (t && t.length > 0) { + e += Math.abs(a(t[0])); + for (var r = 1; r < t.length; r++) e -= Math.abs(a(t[r])); + } + return e; + } + function a(t) { + var e, + r, + n, + i, + a, + s, + l = 0, + c = t.length; + if (c > 2) { + for (s = 0; s < c; s++) + s === c - 2 + ? ((n = c - 2), (i = c - 1), (a = 0)) + : s === c - 1 + ? ((n = c - 1), (i = 0), (a = 1)) + : ((n = s), (i = s + 1), (a = s + 2)), + (e = t[n]), + (r = t[i]), + (l += (o(t[a][0]) - o(e[0])) * Math.sin(o(r[1]))); + l = (6378137 * l * 6378137) / 2; + } + return l; + } + function o(t) { + return (t * Math.PI) / 180; + } + r.default = function (t) { + return n.geomReduce( + t, + function (t, e) { + return ( + t + + (function (t) { + var e, + r = 0; + switch (t.type) { + case 'Polygon': + return i(t.coordinates); + case 'MultiPolygon': + for (e = 0; e < t.coordinates.length; e++) + r += i(t.coordinates[e]); + return r; + case 'Point': + case 'MultiPoint': + case 'LineString': + case 'MultiLineString': + return 0; + } + return 0; + })(e) + ); + }, + 0 + ); + }; + }, + { '@turf/meta': 63 }, + ], + 60: [ + function (t, e, r) { + 'use strict'; + Object.defineProperty(r, '__esModule', { value: !0 }); + var n = t('@turf/meta'); + r.default = function (t) { + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0]; + return ( + n.coordEach(t, function (t) { + e[0] > t[0] && (e[0] = t[0]), + e[1] > t[1] && (e[1] = t[1]), + e[2] < t[0] && (e[2] = t[0]), + e[3] < t[1] && (e[3] = t[1]); + }), + e + ); + }; + }, + { '@turf/meta': 63 }, + ], + 61: [ + function (t, e, r) { + 'use strict'; + Object.defineProperty(r, '__esModule', { value: !0 }); + var n = t('@turf/meta'), + i = t('@turf/helpers'); + r.default = function (t, e) { + void 0 === e && (e = {}); + var r = 0, + a = 0, + o = 0; + return ( + n.coordEach(t, function (t) { + (r += t[0]), (a += t[1]), o++; + }), + i.point([r / o, a / o], e.properties) + ); + }; + }, + { '@turf/helpers': 62, '@turf/meta': 63 }, + ], + 62: [ + function (t, e, r) { + 'use strict'; + function n(t, e, r) { + void 0 === r && (r = {}); + var n = { type: 'Feature' }; + return ( + (0 === r.id || r.id) && (n.id = r.id), + r.bbox && (n.bbox = r.bbox), + (n.properties = e || {}), + (n.geometry = t), + n + ); + } + function i(t, e, r) { + return ( + void 0 === r && (r = {}), + n({ type: 'Point', coordinates: t }, e, r) + ); + } + function a(t, e, r) { + void 0 === r && (r = {}); + for (var i = 0, a = t; i < a.length; i++) { + var o = a[i]; + if (o.length < 4) + throw new Error( + 'Each LinearRing of a Polygon must have 4 or more Positions.' + ); + for (var s = 0; s < o[o.length - 1].length; s++) + if (o[o.length - 1][s] !== o[0][s]) + throw new Error( + 'First and last Position are not equivalent.' + ); + } + return n({ type: 'Polygon', coordinates: t }, e, r); + } + function o(t, e, r) { + if ((void 0 === r && (r = {}), t.length < 2)) + throw new Error( + 'coordinates must be an array of two or more positions' + ); + return n({ type: 'LineString', coordinates: t }, e, r); + } + function s(t, e) { + void 0 === e && (e = {}); + var r = { type: 'FeatureCollection' }; + return ( + e.id && (r.id = e.id), + e.bbox && (r.bbox = e.bbox), + (r.features = t), + r + ); + } + function l(t, e, r) { + return ( + void 0 === r && (r = {}), + n({ type: 'MultiLineString', coordinates: t }, e, r) + ); + } + function c(t, e, r) { + return ( + void 0 === r && (r = {}), + n({ type: 'MultiPoint', coordinates: t }, e, r) + ); + } + function u(t, e, r) { + return ( + void 0 === r && (r = {}), + n({ type: 'MultiPolygon', coordinates: t }, e, r) + ); + } + function f(t, e) { + void 0 === e && (e = 'kilometers'); + var n = r.factors[e]; + if (!n) throw new Error(e + ' units is invalid'); + return t * n; + } + function h(t, e) { + void 0 === e && (e = 'kilometers'); + var n = r.factors[e]; + if (!n) throw new Error(e + ' units is invalid'); + return t / n; + } + function p(t) { + return (180 * (t % (2 * Math.PI))) / Math.PI; + } + function d(t) { + return ( + !isNaN(t) && null !== t && !Array.isArray(t) && !/^\s*$/.test(t) + ); + } + Object.defineProperty(r, '__esModule', { value: !0 }), + (r.earthRadius = 6371008.8), + (r.factors = { + centimeters: 100 * r.earthRadius, + centimetres: 100 * r.earthRadius, + degrees: r.earthRadius / 111325, + feet: 3.28084 * r.earthRadius, + inches: 39.37 * r.earthRadius, + kilometers: r.earthRadius / 1e3, + kilometres: r.earthRadius / 1e3, + meters: r.earthRadius, + metres: r.earthRadius, + miles: r.earthRadius / 1609.344, + millimeters: 1e3 * r.earthRadius, + millimetres: 1e3 * r.earthRadius, + nauticalmiles: r.earthRadius / 1852, + radians: 1, + yards: r.earthRadius / 1.0936, + }), + (r.unitsFactors = { + centimeters: 100, + centimetres: 100, + degrees: 1 / 111325, + feet: 3.28084, + inches: 39.37, + kilometers: 0.001, + kilometres: 0.001, + meters: 1, + metres: 1, + miles: 1 / 1609.344, + millimeters: 1e3, + millimetres: 1e3, + nauticalmiles: 1 / 1852, + radians: 1 / r.earthRadius, + yards: 1 / 1.0936, + }), + (r.areaFactors = { + acres: 247105e-9, + centimeters: 1e4, + centimetres: 1e4, + feet: 10.763910417, + inches: 1550.003100006, + kilometers: 1e-6, + kilometres: 1e-6, + meters: 1, + metres: 1, + miles: 386e-9, + millimeters: 1e6, + millimetres: 1e6, + yards: 1.195990046, + }), + (r.feature = n), + (r.geometry = function (t, e, r) { + switch ((void 0 === r && (r = {}), t)) { + case 'Point': + return i(e).geometry; + case 'LineString': + return o(e).geometry; + case 'Polygon': + return a(e).geometry; + case 'MultiPoint': + return c(e).geometry; + case 'MultiLineString': + return l(e).geometry; + case 'MultiPolygon': + return u(e).geometry; + default: + throw new Error(t + ' is invalid'); + } + }), + (r.point = i), + (r.points = function (t, e, r) { + return ( + void 0 === r && (r = {}), + s( + t.map(function (t) { + return i(t, e); + }), + r + ) + ); + }), + (r.polygon = a), + (r.polygons = function (t, e, r) { + return ( + void 0 === r && (r = {}), + s( + t.map(function (t) { + return a(t, e); + }), + r + ) + ); + }), + (r.lineString = o), + (r.lineStrings = function (t, e, r) { + return ( + void 0 === r && (r = {}), + s( + t.map(function (t) { + return o(t, e); + }), + r + ) + ); + }), + (r.featureCollection = s), + (r.multiLineString = l), + (r.multiPoint = c), + (r.multiPolygon = u), + (r.geometryCollection = function (t, e, r) { + return ( + void 0 === r && (r = {}), + n({ type: 'GeometryCollection', geometries: t }, e, r) + ); + }), + (r.round = function (t, e) { + if ((void 0 === e && (e = 0), e && !(e >= 0))) + throw new Error('precision must be a positive number'); + var r = Math.pow(10, e || 0); + return Math.round(t * r) / r; + }), + (r.radiansToLength = f), + (r.lengthToRadians = h), + (r.lengthToDegrees = function (t, e) { + return p(h(t, e)); + }), + (r.bearingToAzimuth = function (t) { + var e = t % 360; + return e < 0 && (e += 360), e; + }), + (r.radiansToDegrees = p), + (r.degreesToRadians = function (t) { + return ((t % 360) * Math.PI) / 180; + }), + (r.convertLength = function (t, e, r) { + if ( + (void 0 === e && (e = 'kilometers'), + void 0 === r && (r = 'kilometers'), + !(t >= 0)) + ) + throw new Error('length must be a positive number'); + return f(h(t, e), r); + }), + (r.convertArea = function (t, e, n) { + if ( + (void 0 === e && (e = 'meters'), + void 0 === n && (n = 'kilometers'), + !(t >= 0)) + ) + throw new Error('area must be a positive number'); + var i = r.areaFactors[e]; + if (!i) throw new Error('invalid original units'); + var a = r.areaFactors[n]; + if (!a) throw new Error('invalid final units'); + return (t / i) * a; + }), + (r.isNumber = d), + (r.isObject = function (t) { + return !!t && t.constructor === Object; + }), + (r.validateBBox = function (t) { + if (!t) throw new Error('bbox is required'); + if (!Array.isArray(t)) throw new Error('bbox must be an Array'); + if (4 !== t.length && 6 !== t.length) + throw new Error('bbox must be an Array of 4 or 6 numbers'); + t.forEach(function (t) { + if (!d(t)) throw new Error('bbox must only contain numbers'); + }); + }), + (r.validateId = function (t) { + if (!t) throw new Error('id is required'); + if (-1 === ['string', 'number'].indexOf(typeof t)) + throw new Error('id must be a number or a string'); + }), + (r.radians2degrees = function () { + throw new Error('method has been renamed to `radiansToDegrees`'); + }), + (r.degrees2radians = function () { + throw new Error('method has been renamed to `degreesToRadians`'); + }), + (r.distanceToDegrees = function () { + throw new Error('method has been renamed to `lengthToDegrees`'); + }), + (r.distanceToRadians = function () { + throw new Error('method has been renamed to `lengthToRadians`'); + }), + (r.radiansToDistance = function () { + throw new Error('method has been renamed to `radiansToLength`'); + }), + (r.bearingToAngle = function () { + throw new Error('method has been renamed to `bearingToAzimuth`'); + }), + (r.convertDistance = function () { + throw new Error('method has been renamed to `convertLength`'); + }); + }, + {}, + ], + 63: [ + function (t, e, r) { + 'use strict'; + Object.defineProperty(r, '__esModule', { value: !0 }); + var n = t('@turf/helpers'); + function i(t, e, r) { + if (null !== t) + for ( + var n, + a, + o, + s, + l, + c, + u, + f, + h = 0, + p = 0, + d = t.type, + g = 'FeatureCollection' === d, + m = 'Feature' === d, + v = g ? t.features.length : 1, + y = 0; + y < v; + y++ + ) { + l = (f = + !!(u = g ? t.features[y].geometry : m ? t.geometry : t) && + 'GeometryCollection' === u.type) + ? u.geometries.length + : 1; + for (var x = 0; x < l; x++) { + var b = 0, + _ = 0; + if (null !== (s = f ? u.geometries[x] : u)) { + c = s.coordinates; + var w = s.type; + switch ( + ((h = + !r || ('Polygon' !== w && 'MultiPolygon' !== w) + ? 0 + : 1), + w) + ) { + case null: + break; + case 'Point': + if (!1 === e(c, p, y, b, _)) return !1; + p++, b++; + break; + case 'LineString': + case 'MultiPoint': + for (n = 0; n < c.length; n++) { + if (!1 === e(c[n], p, y, b, _)) return !1; + p++, 'MultiPoint' === w && b++; + } + 'LineString' === w && b++; + break; + case 'Polygon': + case 'MultiLineString': + for (n = 0; n < c.length; n++) { + for (a = 0; a < c[n].length - h; a++) { + if (!1 === e(c[n][a], p, y, b, _)) return !1; + p++; + } + 'MultiLineString' === w && b++, + 'Polygon' === w && _++; + } + 'Polygon' === w && b++; + break; + case 'MultiPolygon': + for (n = 0; n < c.length; n++) { + for (_ = 0, a = 0; a < c[n].length; a++) { + for (o = 0; o < c[n][a].length - h; o++) { + if (!1 === e(c[n][a][o], p, y, b, _)) return !1; + p++; + } + _++; + } + b++; + } + break; + case 'GeometryCollection': + for (n = 0; n < s.geometries.length; n++) + if (!1 === i(s.geometries[n], e, r)) return !1; + break; + default: + throw new Error('Unknown Geometry Type'); + } + } + } + } + } + function a(t, e) { + var r; + switch (t.type) { + case 'FeatureCollection': + for ( + r = 0; + r < t.features.length && + !1 !== e(t.features[r].properties, r); + r++ + ); + break; + case 'Feature': + e(t.properties, 0); + } + } + function o(t, e) { + if ('Feature' === t.type) e(t, 0); + else if ('FeatureCollection' === t.type) + for ( + var r = 0; + r < t.features.length && !1 !== e(t.features[r], r); + r++ + ); + } + function s(t, e) { + var r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h = 0, + p = 'FeatureCollection' === t.type, + d = 'Feature' === t.type, + g = p ? t.features.length : 1; + for (r = 0; r < g; r++) { + for ( + s = p ? t.features[r].geometry : d ? t.geometry : t, + c = p ? t.features[r].properties : d ? t.properties : {}, + u = p ? t.features[r].bbox : d ? t.bbox : void 0, + f = p ? t.features[r].id : d ? t.id : void 0, + o = (l = !!s && 'GeometryCollection' === s.type) + ? s.geometries.length + : 1, + i = 0; + i < o; + i++ + ) + if (null !== (a = l ? s.geometries[i] : s)) + switch (a.type) { + case 'Point': + case 'LineString': + case 'MultiPoint': + case 'Polygon': + case 'MultiLineString': + case 'MultiPolygon': + if (!1 === e(a, h, c, u, f)) return !1; + break; + case 'GeometryCollection': + for (n = 0; n < a.geometries.length; n++) + if (!1 === e(a.geometries[n], h, c, u, f)) return !1; + break; + default: + throw new Error('Unknown Geometry Type'); + } + else if (!1 === e(null, h, c, u, f)) return !1; + h++; + } + } + function l(t, e) { + s(t, function (t, r, i, a, o) { + var s, + l = null === t ? null : t.type; + switch (l) { + case null: + case 'Point': + case 'LineString': + case 'Polygon': + return ( + !1 !== e(n.feature(t, i, { bbox: a, id: o }), r, 0) && + void 0 + ); + } + switch (l) { + case 'MultiPoint': + s = 'Point'; + break; + case 'MultiLineString': + s = 'LineString'; + break; + case 'MultiPolygon': + s = 'Polygon'; + } + for (var c = 0; c < t.coordinates.length; c++) { + var u = { type: s, coordinates: t.coordinates[c] }; + if (!1 === e(n.feature(u, i), r, c)) return !1; + } + }); + } + function c(t, e) { + l(t, function (t, r, a) { + var o = 0; + if (t.geometry) { + var s = t.geometry.type; + if ('Point' !== s && 'MultiPoint' !== s) { + var l, + c = 0, + u = 0, + f = 0; + return ( + !1 !== + i(t, function (i, s, h, p, d) { + if (void 0 === l || r > c || p > u || d > f) + return ( + (l = i), (c = r), (u = p), (f = d), void (o = 0) + ); + var g = n.lineString([l, i], t.properties); + if (!1 === e(g, r, a, d, o)) return !1; + o++, (l = i); + }) && void 0 + ); + } + } + }); + } + function u(t, e) { + if (!t) throw new Error('geojson is required'); + l(t, function (t, r, i) { + if (null !== t.geometry) { + var a = t.geometry.type, + o = t.geometry.coordinates; + switch (a) { + case 'LineString': + if (!1 === e(t, r, i, 0, 0)) return !1; + break; + case 'Polygon': + for (var s = 0; s < o.length; s++) + if (!1 === e(n.lineString(o[s], t.properties), r, i, s)) + return !1; + } + } + }); + } + (r.coordEach = i), + (r.coordReduce = function (t, e, r, n) { + var a = r; + return ( + i( + t, + function (t, n, i, o, s) { + a = 0 === n && void 0 === r ? t : e(a, t, n, i, o, s); + }, + n + ), + a + ); + }), + (r.propEach = a), + (r.propReduce = function (t, e, r) { + var n = r; + return ( + a(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (r.featureEach = o), + (r.featureReduce = function (t, e, r) { + var n = r; + return ( + o(t, function (t, i) { + n = 0 === i && void 0 === r ? t : e(n, t, i); + }), + n + ); + }), + (r.coordAll = function (t) { + var e = []; + return ( + i(t, function (t) { + e.push(t); + }), + e + ); + }), + (r.geomEach = s), + (r.geomReduce = function (t, e, r) { + var n = r; + return ( + s(t, function (t, i, a, o, s) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o, s); + }), + n + ); + }), + (r.flattenEach = l), + (r.flattenReduce = function (t, e, r) { + var n = r; + return ( + l(t, function (t, i, a) { + n = 0 === i && 0 === a && void 0 === r ? t : e(n, t, i, a); + }), + n + ); + }), + (r.segmentEach = c), + (r.segmentReduce = function (t, e, r) { + var n = r, + i = !1; + return ( + c(t, function (t, a, o, s, l) { + (n = !1 === i && void 0 === r ? t : e(n, t, a, o, s, l)), + (i = !0); + }), + n + ); + }), + (r.lineEach = u), + (r.lineReduce = function (t, e, r) { + var n = r; + return ( + u(t, function (t, i, a, o) { + n = 0 === i && void 0 === r ? t : e(n, t, i, a, o); + }), + n + ); + }), + (r.findSegment = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error('options is invalid'); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.segmentIndex || 0, + l = e.properties; + switch (t.type) { + case 'FeatureCollection': + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case 'Feature': + (l = l || t.properties), (r = t.geometry); + break; + case 'Point': + case 'MultiPoint': + return null; + case 'LineString': + case 'Polygon': + case 'MultiLineString': + case 'MultiPolygon': + r = t; + break; + default: + throw new Error('geojson is invalid'); + } + if (null === r) return null; + var c = r.coordinates; + switch (r.type) { + case 'Point': + case 'MultiPoint': + return null; + case 'LineString': + return ( + s < 0 && (s = c.length + s - 1), + n.lineString([c[s], c[s + 1]], l, e) + ); + case 'Polygon': + return ( + o < 0 && (o = c.length + o), + s < 0 && (s = c[o].length + s - 1), + n.lineString([c[o][s], c[o][s + 1]], l, e) + ); + case 'MultiLineString': + return ( + a < 0 && (a = c.length + a), + s < 0 && (s = c[a].length + s - 1), + n.lineString([c[a][s], c[a][s + 1]], l, e) + ); + case 'MultiPolygon': + return ( + a < 0 && (a = c.length + a), + o < 0 && (o = c[a].length + o), + s < 0 && (s = c[a][o].length - s - 1), + n.lineString([c[a][o][s], c[a][o][s + 1]], l, e) + ); + } + throw new Error('geojson is invalid'); + }), + (r.findPoint = function (t, e) { + if (((e = e || {}), !n.isObject(e))) + throw new Error('options is invalid'); + var r, + i = e.featureIndex || 0, + a = e.multiFeatureIndex || 0, + o = e.geometryIndex || 0, + s = e.coordIndex || 0, + l = e.properties; + switch (t.type) { + case 'FeatureCollection': + i < 0 && (i = t.features.length + i), + (l = l || t.features[i].properties), + (r = t.features[i].geometry); + break; + case 'Feature': + (l = l || t.properties), (r = t.geometry); + break; + case 'Point': + case 'MultiPoint': + return null; + case 'LineString': + case 'Polygon': + case 'MultiLineString': + case 'MultiPolygon': + r = t; + break; + default: + throw new Error('geojson is invalid'); + } + if (null === r) return null; + var c = r.coordinates; + switch (r.type) { + case 'Point': + return n.point(c, l, e); + case 'MultiPoint': + return a < 0 && (a = c.length + a), n.point(c[a], l, e); + case 'LineString': + return s < 0 && (s = c.length + s), n.point(c[s], l, e); + case 'Polygon': + return ( + o < 0 && (o = c.length + o), + s < 0 && (s = c[o].length + s), + n.point(c[o][s], l, e) + ); + case 'MultiLineString': + return ( + a < 0 && (a = c.length + a), + s < 0 && (s = c[a].length + s), + n.point(c[a][s], l, e) + ); + case 'MultiPolygon': + return ( + a < 0 && (a = c.length + a), + o < 0 && (o = c[a].length + o), + s < 0 && (s = c[a][o].length - s), + n.point(c[a][o][s], l, e) + ); + } + throw new Error('geojson is invalid'); + }); + }, + { '@turf/helpers': 62 }, + ], + 64: [ + function (t, e, r) { + 'use strict'; + var n = 'undefined' == typeof WeakMap ? t('weak-map') : WeakMap, + i = t('gl-buffer'), + a = t('gl-vao'), + o = new n(); + e.exports = function (t) { + var e = o.get(t), + r = e && (e._triangleBuffer.handle || e._triangleBuffer.buffer); + if (!r || !t.isBuffer(r)) { + var n = i(t, new Float32Array([-1, -1, -1, 4, 4, -1])); + ((e = a(t, [ + { buffer: n, type: t.FLOAT, size: 2 }, + ]))._triangleBuffer = n), + o.set(t, e); + } + e.bind(), t.drawArrays(t.TRIANGLES, 0, 3), e.unbind(); + }; + }, + { 'gl-buffer': 259, 'gl-vao': 358, 'weak-map': 602 }, + ], + 65: [ + function (t, e, r) { + e.exports = function (t) { + var e = 0, + r = 0, + n = 0, + i = 0; + return t.map(function (t) { + var a = (t = t.slice())[0], + o = a.toUpperCase(); + if (a != o) + switch (((t[0] = o), a)) { + case 'a': + (t[6] += n), (t[7] += i); + break; + case 'v': + t[1] += i; + break; + case 'h': + t[1] += n; + break; + default: + for (var s = 1; s < t.length; ) + (t[s++] += n), (t[s++] += i); + } + switch (o) { + case 'Z': + (n = e), (i = r); + break; + case 'H': + n = t[1]; + break; + case 'V': + i = t[1]; + break; + case 'M': + (n = e = t[1]), (i = r = t[2]); + break; + default: + (n = t[t.length - 2]), (i = t[t.length - 1]); + } + return t; + }); + }; + }, + {}, + ], + 66: [ + function (t, e, r) { + var n = t('pad-left'); + e.exports = function (t, e, r) { + (e = 'number' == typeof e ? e : 1), (r = r || ': '); + var i = t.split(/\r?\n/), + a = String(i.length + e - 1).length; + return i + .map(function (t, i) { + var o = i + e, + s = String(o).length; + return n(o, a - s) + r + t; + }) + .join('\n'); + }; + }, + { 'pad-left': 502 }, + ], + 67: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [0]; + for (var r = t[0].length, n = [t[0]], a = [0], o = 1; o < e; ++o) + if ((n.push(t[o]), i(n, r))) { + if ((a.push(o), a.length === r + 1)) return a; + } else n.pop(); + return a; + }; + var n = t('robust-orientation'); + function i(t, e) { + for (var r = new Array(e + 1), i = 0; i < t.length; ++i) + r[i] = t[i]; + for (i = 0; i <= t.length; ++i) { + for (var a = t.length; a <= e; ++a) { + for (var o = new Array(e), s = 0; s < e; ++s) + o[s] = Math.pow(a + 1 - i, s); + r[a] = o; + } + if (n.apply(void 0, r)) return !0; + } + return !1; + } + }, + { 'robust-orientation': 548 }, + ], + 68: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return n(e).filter(function (r) { + for (var n = new Array(r.length), a = 0; a < r.length; ++a) + n[a] = e[r[a]]; + return i(n) * t < 1; + }); + }; + var n = t('delaunay-triangulate'), + i = t('circumradius'); + }, + { circumradius: 119, 'delaunay-triangulate': 171 }, + ], + 69: [ + function (t, e, r) { + e.exports = function (t, e) { + return i(n(t, e)); + }; + var n = t('alpha-complex'), + i = t('simplicial-complex-boundary'); + }, + { 'alpha-complex': 68, 'simplicial-complex-boundary': 555 }, + ], + 70: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + if (!t || null == t.length) + throw Error('Argument should be an array'); + e = null == e ? 1 : Math.floor(e); + for (var r = Array(2 * e), n = 0; n < e; n++) { + for ( + var i = -1 / 0, a = 1 / 0, o = n, s = t.length; + o < s; + o += e + ) + t[o] > i && (i = t[o]), t[o] < a && (a = t[o]); + (r[n] = a), (r[e + n] = i); + } + return r; + }; + }, + {}, + ], + 71: [ + function (t, e, r) { + 'use strict'; + var n = t('array-bounds'); + e.exports = function (t, e, r) { + if (!t || null == t.length) + throw Error('Argument should be an array'); + null == e && (e = 1); + null == r && (r = n(t, e)); + for (var i = 0; i < e; i++) { + var a = r[e + i], + o = r[i], + s = i, + l = t.length; + if (a === 1 / 0 && o === -1 / 0) + for (s = i; s < l; s += e) + t[s] = t[s] === a ? 1 : t[s] === o ? 0 : 0.5; + else if (a === 1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === a ? 1 : 0; + else if (o === -1 / 0) + for (s = i; s < l; s += e) t[s] = t[s] === o ? 0 : 1; + else { + var c = a - o; + for (s = i; s < l; s += e) + isNaN(t[s]) || (t[s] = 0 === c ? 0.5 : (t[s] - o) / c); + } + } + return t; + }; + }, + { 'array-bounds': 70 }, + ], + 72: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = 'number' == typeof t, + n = 'number' == typeof e; + r && !n ? ((e = t), (t = 0)) : r || n || ((t = 0), (e = 0)); + var i = (e |= 0) - (t |= 0); + if (i < 0) throw new Error('array length must be positive'); + for (var a = new Array(i), o = 0, s = t; o < i; o++, s++) a[o] = s; + return a; + }; + }, + {}, + ], + 73: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('object-assign'); + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ function i(t, e) { + if (t === e) return 0; + for ( + var r = t.length, n = e.length, i = 0, a = Math.min(r, n); + i < a; + ++i + ) + if (t[i] !== e[i]) { + (r = t[i]), (n = e[i]); + break; + } + return r < n ? -1 : n < r ? 1 : 0; + } + function a(t) { + return r.Buffer && 'function' == typeof r.Buffer.isBuffer + ? r.Buffer.isBuffer(t) + : !(null == t || !t._isBuffer); + } + var o = t('util/'), + s = Object.prototype.hasOwnProperty, + l = Array.prototype.slice, + c = 'foo' === function () {}.name; + function u(t) { + return Object.prototype.toString.call(t); + } + function f(t) { + return ( + !a(t) && + 'function' == typeof r.ArrayBuffer && + ('function' == typeof ArrayBuffer.isView + ? ArrayBuffer.isView(t) + : !!t && + (t instanceof DataView || + !!(t.buffer && t.buffer instanceof ArrayBuffer))) + ); + } + var h = (e.exports = y), + p = /\s*function\s+([^\(\s]*)\s*/; + function d(t) { + if (o.isFunction(t)) { + if (c) return t.name; + var e = t.toString().match(p); + return e && e[1]; + } + } + function g(t, e) { + return 'string' == typeof t + ? t.length < e + ? t + : t.slice(0, e) + : t; + } + function m(t) { + if (c || !o.isFunction(t)) return o.inspect(t); + var e = d(t); + return '[Function' + (e ? ': ' + e : '') + ']'; + } + function v(t, e, r, n, i) { + throw new h.AssertionError({ + message: r, + actual: t, + expected: e, + operator: n, + stackStartFunction: i, + }); + } + function y(t, e) { + t || v(t, !0, e, '==', h.ok); + } + function x(t, e, r, n) { + if (t === e) return !0; + if (a(t) && a(e)) return 0 === i(t, e); + if (o.isDate(t) && o.isDate(e)) + return t.getTime() === e.getTime(); + if (o.isRegExp(t) && o.isRegExp(e)) + return ( + t.source === e.source && + t.global === e.global && + t.multiline === e.multiline && + t.lastIndex === e.lastIndex && + t.ignoreCase === e.ignoreCase + ); + if ( + (null !== t && 'object' == typeof t) || + (null !== e && 'object' == typeof e) + ) { + if ( + f(t) && + f(e) && + u(t) === u(e) && + !(t instanceof Float32Array || t instanceof Float64Array) + ) + return ( + 0 === + i(new Uint8Array(t.buffer), new Uint8Array(e.buffer)) + ); + if (a(t) !== a(e)) return !1; + var s = (n = n || { + actual: [], + expected: [], + }).actual.indexOf(t); + return ( + (-1 !== s && s === n.expected.indexOf(e)) || + (n.actual.push(t), + n.expected.push(e), + (function (t, e, r, n) { + if (null == t || null == e) return !1; + if (o.isPrimitive(t) || o.isPrimitive(e)) return t === e; + if ( + r && + Object.getPrototypeOf(t) !== Object.getPrototypeOf(e) + ) + return !1; + var i = b(t), + a = b(e); + if ((i && !a) || (!i && a)) return !1; + if (i) + return (t = l.call(t)), (e = l.call(e)), x(t, e, r); + var s, + c, + u = T(t), + f = T(e); + if (u.length !== f.length) return !1; + for (u.sort(), f.sort(), c = u.length - 1; c >= 0; c--) + if (u[c] !== f[c]) return !1; + for (c = u.length - 1; c >= 0; c--) + if (((s = u[c]), !x(t[s], e[s], r, n))) return !1; + return !0; + })(t, e, r, n)) + ); + } + return r ? t === e : t == e; + } + function b(t) { + return ( + '[object Arguments]' == Object.prototype.toString.call(t) + ); + } + function _(t, e) { + if (!t || !e) return !1; + if ('[object RegExp]' == Object.prototype.toString.call(e)) + return e.test(t); + try { + if (t instanceof e) return !0; + } catch (t) {} + return !Error.isPrototypeOf(e) && !0 === e.call({}, t); + } + function w(t, e, r, n) { + var i; + if ('function' != typeof e) + throw new TypeError('"block" argument must be a function'); + 'string' == typeof r && ((n = r), (r = null)), + (i = (function (t) { + var e; + try { + t(); + } catch (t) { + e = t; + } + return e; + })(e)), + (n = + (r && r.name ? ' (' + r.name + ').' : '.') + + (n ? ' ' + n : '.')), + t && !i && v(i, r, 'Missing expected exception' + n); + var a = 'string' == typeof n, + s = !t && i && !r; + if ( + (((!t && o.isError(i) && a && _(i, r)) || s) && + v(i, r, 'Got unwanted exception' + n), + (t && i && r && !_(i, r)) || (!t && i)) + ) + throw i; + } + (h.AssertionError = function (t) { + (this.name = 'AssertionError'), + (this.actual = t.actual), + (this.expected = t.expected), + (this.operator = t.operator), + t.message + ? ((this.message = t.message), (this.generatedMessage = !1)) + : ((this.message = (function (t) { + return ( + g(m(t.actual), 128) + + ' ' + + t.operator + + ' ' + + g(m(t.expected), 128) + ); + })(this)), + (this.generatedMessage = !0)); + var e = t.stackStartFunction || v; + if (Error.captureStackTrace) Error.captureStackTrace(this, e); + else { + var r = new Error(); + if (r.stack) { + var n = r.stack, + i = d(e), + a = n.indexOf('\n' + i); + if (a >= 0) { + var o = n.indexOf('\n', a + 1); + n = n.substring(o + 1); + } + this.stack = n; + } + } + }), + o.inherits(h.AssertionError, Error), + (h.fail = v), + (h.ok = y), + (h.equal = function (t, e, r) { + t != e && v(t, e, r, '==', h.equal); + }), + (h.notEqual = function (t, e, r) { + t == e && v(t, e, r, '!=', h.notEqual); + }), + (h.deepEqual = function (t, e, r) { + x(t, e, !1) || v(t, e, r, 'deepEqual', h.deepEqual); + }), + (h.deepStrictEqual = function (t, e, r) { + x(t, e, !0) || + v(t, e, r, 'deepStrictEqual', h.deepStrictEqual); + }), + (h.notDeepEqual = function (t, e, r) { + x(t, e, !1) && v(t, e, r, 'notDeepEqual', h.notDeepEqual); + }), + (h.notDeepStrictEqual = function t(e, r, n) { + x(e, r, !0) && v(e, r, n, 'notDeepStrictEqual', t); + }), + (h.strictEqual = function (t, e, r) { + t !== e && v(t, e, r, '===', h.strictEqual); + }), + (h.notStrictEqual = function (t, e, r) { + t === e && v(t, e, r, '!==', h.notStrictEqual); + }), + (h.throws = function (t, e, r) { + w(!0, t, e, r); + }), + (h.doesNotThrow = function (t, e, r) { + w(!1, t, e, r); + }), + (h.ifError = function (t) { + if (t) throw t; + }), + (h.strict = n( + function t(e, r) { + e || v(e, !0, r, '==', t); + }, + h, + { + equal: h.strictEqual, + deepEqual: h.deepStrictEqual, + notEqual: h.notStrictEqual, + notDeepEqual: h.notDeepStrictEqual, + } + )), + (h.strict.strict = h.strict); + var T = + Object.keys || + function (t) { + var e = []; + for (var r in t) s.call(t, r) && e.push(r); + return e; + }; + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'object-assign': 499, 'util/': 76 }, + ], + 74: [ + function (t, e, r) { + 'function' == typeof Object.create + ? (e.exports = function (t, e) { + (t.super_ = e), + (t.prototype = Object.create(e.prototype, { + constructor: { + value: t, + enumerable: !1, + writable: !0, + configurable: !0, + }, + })); + }) + : (e.exports = function (t, e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + }); + }, + {}, + ], + 75: [ + function (t, e, r) { + e.exports = function (t) { + return ( + t && + 'object' == typeof t && + 'function' == typeof t.copy && + 'function' == typeof t.fill && + 'function' == typeof t.readUInt8 + ); + }; + }, + {}, + ], + 76: [ + function (t, e, r) { + (function (e, n) { + (function () { + var i = /%[sdj%]/g; + (r.format = function (t) { + if (!v(t)) { + for (var e = [], r = 0; r < arguments.length; r++) + e.push(s(arguments[r])); + return e.join(' '); + } + r = 1; + for ( + var n = arguments, + a = n.length, + o = String(t).replace(i, function (t) { + if ('%%' === t) return '%'; + if (r >= a) return t; + switch (t) { + case '%s': + return String(n[r++]); + case '%d': + return Number(n[r++]); + case '%j': + try { + return JSON.stringify(n[r++]); + } catch (t) { + return '[Circular]'; + } + default: + return t; + } + }), + l = n[r]; + r < a; + l = n[++r] + ) + g(l) || !b(l) ? (o += ' ' + l) : (o += ' ' + s(l)); + return o; + }), + (r.deprecate = function (t, i) { + if (y(n.process)) + return function () { + return r.deprecate(t, i).apply(this, arguments); + }; + if (!0 === e.noDeprecation) return t; + var a = !1; + return function () { + if (!a) { + if (e.throwDeprecation) throw new Error(i); + e.traceDeprecation ? console.trace(i) : console.error(i), + (a = !0); + } + return t.apply(this, arguments); + }; + }); + var a, + o = {}; + function s(t, e) { + var n = { seen: [], stylize: c }; + return ( + arguments.length >= 3 && (n.depth = arguments[2]), + arguments.length >= 4 && (n.colors = arguments[3]), + d(e) ? (n.showHidden = e) : e && r._extend(n, e), + y(n.showHidden) && (n.showHidden = !1), + y(n.depth) && (n.depth = 2), + y(n.colors) && (n.colors = !1), + y(n.customInspect) && (n.customInspect = !0), + n.colors && (n.stylize = l), + u(n, t, n.depth) + ); + } + function l(t, e) { + var r = s.styles[e]; + return r + ? '\x1b[' + + s.colors[r][0] + + 'm' + + t + + '\x1b[' + + s.colors[r][1] + + 'm' + : t; + } + function c(t, e) { + return t; + } + function u(t, e, n) { + if ( + t.customInspect && + e && + T(e.inspect) && + e.inspect !== r.inspect && + (!e.constructor || e.constructor.prototype !== e) + ) { + var i = e.inspect(n, t); + return v(i) || (i = u(t, i, n)), i; + } + var a = (function (t, e) { + if (y(e)) return t.stylize('undefined', 'undefined'); + if (v(e)) { + var r = + "'" + + JSON.stringify(e) + .replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + + "'"; + return t.stylize(r, 'string'); + } + if (m(e)) return t.stylize('' + e, 'number'); + if (d(e)) return t.stylize('' + e, 'boolean'); + if (g(e)) return t.stylize('null', 'null'); + })(t, e); + if (a) return a; + var o = Object.keys(e), + s = (function (t) { + var e = {}; + return ( + t.forEach(function (t, r) { + e[t] = !0; + }), + e + ); + })(o); + if ( + (t.showHidden && (o = Object.getOwnPropertyNames(e)), + w(e) && + (o.indexOf('message') >= 0 || + o.indexOf('description') >= 0)) + ) + return f(e); + if (0 === o.length) { + if (T(e)) { + var l = e.name ? ': ' + e.name : ''; + return t.stylize('[Function' + l + ']', 'special'); + } + if (x(e)) + return t.stylize( + RegExp.prototype.toString.call(e), + 'regexp' + ); + if (_(e)) + return t.stylize(Date.prototype.toString.call(e), 'date'); + if (w(e)) return f(e); + } + var c, + b = '', + k = !1, + M = ['{', '}']; + (p(e) && ((k = !0), (M = ['[', ']'])), T(e)) && + (b = ' [Function' + (e.name ? ': ' + e.name : '') + ']'); + return ( + x(e) && (b = ' ' + RegExp.prototype.toString.call(e)), + _(e) && (b = ' ' + Date.prototype.toUTCString.call(e)), + w(e) && (b = ' ' + f(e)), + 0 !== o.length || (k && 0 != e.length) + ? n < 0 + ? x(e) + ? t.stylize(RegExp.prototype.toString.call(e), 'regexp') + : t.stylize('[Object]', 'special') + : (t.seen.push(e), + (c = k + ? (function (t, e, r, n, i) { + for (var a = [], o = 0, s = e.length; o < s; ++o) + E(e, String(o)) + ? a.push(h(t, e, r, n, String(o), !0)) + : a.push(''); + return ( + i.forEach(function (i) { + i.match(/^\d+$/) || + a.push(h(t, e, r, n, i, !0)); + }), + a + ); + })(t, e, n, s, o) + : o.map(function (r) { + return h(t, e, n, s, r, k); + })), + t.seen.pop(), + (function (t, e, r) { + if ( + t.reduce(function (t, e) { + return ( + e.indexOf('\n') >= 0 && 0, + t + e.replace(/\u001b\[\d\d?m/g, '').length + 1 + ); + }, 0) > 60 + ) + return ( + r[0] + + ('' === e ? '' : e + '\n ') + + ' ' + + t.join(',\n ') + + ' ' + + r[1] + ); + return r[0] + e + ' ' + t.join(', ') + ' ' + r[1]; + })(c, b, M)) + : M[0] + b + M[1] + ); + } + function f(t) { + return '[' + Error.prototype.toString.call(t) + ']'; + } + function h(t, e, r, n, i, a) { + var o, s, l; + if ( + ((l = Object.getOwnPropertyDescriptor(e, i) || { + value: e[i], + }).get + ? (s = l.set + ? t.stylize('[Getter/Setter]', 'special') + : t.stylize('[Getter]', 'special')) + : l.set && (s = t.stylize('[Setter]', 'special')), + E(n, i) || (o = '[' + i + ']'), + s || + (t.seen.indexOf(l.value) < 0 + ? (s = g(r) + ? u(t, l.value, null) + : u(t, l.value, r - 1)).indexOf('\n') > -1 && + (s = a + ? s + .split('\n') + .map(function (t) { + return ' ' + t; + }) + .join('\n') + .substr(2) + : '\n' + + s + .split('\n') + .map(function (t) { + return ' ' + t; + }) + .join('\n')) + : (s = t.stylize('[Circular]', 'special'))), + y(o)) + ) { + if (a && i.match(/^\d+$/)) return s; + (o = JSON.stringify('' + i)).match( + /^"([a-zA-Z_][a-zA-Z_0-9]*)"$/ + ) + ? ((o = o.substr(1, o.length - 2)), + (o = t.stylize(o, 'name'))) + : ((o = o + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'")), + (o = t.stylize(o, 'string'))); + } + return o + ': ' + s; + } + function p(t) { + return Array.isArray(t); + } + function d(t) { + return 'boolean' == typeof t; + } + function g(t) { + return null === t; + } + function m(t) { + return 'number' == typeof t; + } + function v(t) { + return 'string' == typeof t; + } + function y(t) { + return void 0 === t; + } + function x(t) { + return b(t) && '[object RegExp]' === k(t); + } + function b(t) { + return 'object' == typeof t && null !== t; + } + function _(t) { + return b(t) && '[object Date]' === k(t); + } + function w(t) { + return ( + b(t) && ('[object Error]' === k(t) || t instanceof Error) + ); + } + function T(t) { + return 'function' == typeof t; + } + function k(t) { + return Object.prototype.toString.call(t); + } + function M(t) { + return t < 10 ? '0' + t.toString(10) : t.toString(10); + } + (r.debuglog = function (t) { + if ( + (y(a) && (a = e.env.NODE_DEBUG || ''), + (t = t.toUpperCase()), + !o[t]) + ) + if (new RegExp('\\b' + t + '\\b', 'i').test(a)) { + var n = e.pid; + o[t] = function () { + var e = r.format.apply(r, arguments); + console.error('%s %d: %s', t, n, e); + }; + } else o[t] = function () {}; + return o[t]; + }), + (r.inspect = s), + (s.colors = { + bold: [1, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + white: [37, 39], + grey: [90, 39], + black: [30, 39], + blue: [34, 39], + cyan: [36, 39], + green: [32, 39], + magenta: [35, 39], + red: [31, 39], + yellow: [33, 39], + }), + (s.styles = { + special: 'cyan', + number: 'yellow', + boolean: 'yellow', + undefined: 'grey', + null: 'bold', + string: 'green', + date: 'magenta', + regexp: 'red', + }), + (r.isArray = p), + (r.isBoolean = d), + (r.isNull = g), + (r.isNullOrUndefined = function (t) { + return null == t; + }), + (r.isNumber = m), + (r.isString = v), + (r.isSymbol = function (t) { + return 'symbol' == typeof t; + }), + (r.isUndefined = y), + (r.isRegExp = x), + (r.isObject = b), + (r.isDate = _), + (r.isError = w), + (r.isFunction = T), + (r.isPrimitive = function (t) { + return ( + null === t || + 'boolean' == typeof t || + 'number' == typeof t || + 'string' == typeof t || + 'symbol' == typeof t || + 'undefined' == typeof t + ); + }), + (r.isBuffer = t('./support/isBuffer')); + var A = [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ]; + function S() { + var t = new Date(), + e = [ + M(t.getHours()), + M(t.getMinutes()), + M(t.getSeconds()), + ].join(':'); + return [t.getDate(), A[t.getMonth()], e].join(' '); + } + function E(t, e) { + return Object.prototype.hasOwnProperty.call(t, e); + } + (r.log = function () { + console.log('%s - %s', S(), r.format.apply(r, arguments)); + }), + (r.inherits = t('inherits')), + (r._extend = function (t, e) { + if (!e || !b(e)) return t; + for (var r = Object.keys(e), n = r.length; n--; ) + t[r[n]] = e[r[n]]; + return t; + }); + }.call(this)); + }.call( + this, + t('_process'), + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { './support/isBuffer': 75, _process: 526, inherits: 74 }, + ], + 77: [ + function (t, e, r) { + e.exports = function (t) { + return atob(t); + }; + }, + {}, + ], + 78: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for (var r = e.length, a = new Array(r + 1), o = 0; o < r; ++o) { + for (var s = new Array(r + 1), l = 0; l <= r; ++l) s[l] = t[l][o]; + a[o] = s; + } + a[r] = new Array(r + 1); + for (o = 0; o <= r; ++o) a[r][o] = 1; + var c = new Array(r + 1); + for (o = 0; o < r; ++o) c[o] = e[o]; + c[r] = 1; + var u = n(a, c), + f = i(u[r + 1]); + 0 === f && (f = 1); + var h = new Array(r + 1); + for (o = 0; o <= r; ++o) h[o] = i(u[o]) / f; + return h; + }; + var n = t('robust-linear-solve'); + function i(t) { + for (var e = 0, r = 0; r < t.length; ++r) e += t[r]; + return e; + } + }, + { 'robust-linear-solve': 547 }, + ], + 79: [ + function (t, e, r) { + 'use strict'; + (r.byteLength = function (t) { + var e = c(t), + r = e[0], + n = e[1]; + return (3 * (r + n)) / 4 - n; + }), + (r.toByteArray = function (t) { + var e, + r, + n = c(t), + o = n[0], + s = n[1], + l = new a( + (function (t, e, r) { + return (3 * (e + r)) / 4 - r; + })(0, o, s) + ), + u = 0, + f = s > 0 ? o - 4 : o; + for (r = 0; r < f; r += 4) + (e = + (i[t.charCodeAt(r)] << 18) | + (i[t.charCodeAt(r + 1)] << 12) | + (i[t.charCodeAt(r + 2)] << 6) | + i[t.charCodeAt(r + 3)]), + (l[u++] = (e >> 16) & 255), + (l[u++] = (e >> 8) & 255), + (l[u++] = 255 & e); + 2 === s && + ((e = + (i[t.charCodeAt(r)] << 2) | (i[t.charCodeAt(r + 1)] >> 4)), + (l[u++] = 255 & e)); + 1 === s && + ((e = + (i[t.charCodeAt(r)] << 10) | + (i[t.charCodeAt(r + 1)] << 4) | + (i[t.charCodeAt(r + 2)] >> 2)), + (l[u++] = (e >> 8) & 255), + (l[u++] = 255 & e)); + return l; + }), + (r.fromByteArray = function (t) { + for ( + var e, r = t.length, i = r % 3, a = [], o = 0, s = r - i; + o < s; + o += 16383 + ) + a.push(u(t, o, o + 16383 > s ? s : o + 16383)); + 1 === i + ? ((e = t[r - 1]), a.push(n[e >> 2] + n[(e << 4) & 63] + '==')) + : 2 === i && + ((e = (t[r - 2] << 8) + t[r - 1]), + a.push( + n[e >> 10] + n[(e >> 4) & 63] + n[(e << 2) & 63] + '=' + )); + return a.join(''); + }); + for ( + var n = [], + i = [], + a = 'undefined' != typeof Uint8Array ? Uint8Array : Array, + o = + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', + s = 0, + l = o.length; + s < l; + ++s + ) + (n[s] = o[s]), (i[o.charCodeAt(s)] = s); + function c(t) { + var e = t.length; + if (e % 4 > 0) + throw new Error('Invalid string. Length must be a multiple of 4'); + var r = t.indexOf('='); + return -1 === r && (r = e), [r, r === e ? 0 : 4 - (r % 4)]; + } + function u(t, e, r) { + for (var i, a, o = [], s = e; s < r; s += 3) + (i = + ((t[s] << 16) & 16711680) + + ((t[s + 1] << 8) & 65280) + + (255 & t[s + 2])), + o.push( + n[((a = i) >> 18) & 63] + + n[(a >> 12) & 63] + + n[(a >> 6) & 63] + + n[63 & a] + ); + return o.join(''); + } + (i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63); + }, + {}, + ], + 80: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/rationalize'); + e.exports = function (t, e) { + return n(t[0].mul(e[1]).add(e[0].mul(t[1])), t[1].mul(e[1])); + }; + }, + { './lib/rationalize': 90 }, + ], + 81: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return t[0].mul(e[1]).cmp(e[0].mul(t[1])); + }; + }, + {}, + ], + 82: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/rationalize'); + e.exports = function (t, e) { + return n(t[0].mul(e[1]), t[1].mul(e[0])); + }; + }, + { './lib/rationalize': 90 }, + ], + 83: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-rat'), + i = t('./lib/is-bn'), + a = t('./lib/num-to-bn'), + o = t('./lib/str-to-bn'), + s = t('./lib/rationalize'), + l = t('./div'); + e.exports = function t(e, r) { + if (n(e)) return r ? l(e, t(r)) : [e[0].clone(), e[1].clone()]; + var c, + u, + f = 0; + if (i(e)) c = e.clone(); + else if ('string' == typeof e) c = o(e); + else { + if (0 === e) return [a(0), a(1)]; + if (e === Math.floor(e)) c = a(e); + else { + for (; e !== Math.floor(e); ) + (e *= Math.pow(2, 256)), (f -= 256); + c = a(e); + } + } + if (n(r)) c.mul(r[1]), (u = r[0].clone()); + else if (i(r)) u = r.clone(); + else if ('string' == typeof r) u = o(r); + else if (r) + if (r === Math.floor(r)) u = a(r); + else { + for (; r !== Math.floor(r); ) + (r *= Math.pow(2, 256)), (f += 256); + u = a(r); + } + else u = a(1); + f > 0 ? (c = c.ushln(f)) : f < 0 && (u = u.ushln(-f)); + return s(c, u); + }; + }, + { + './div': 82, + './is-rat': 84, + './lib/is-bn': 88, + './lib/num-to-bn': 89, + './lib/rationalize': 90, + './lib/str-to-bn': 91, + }, + ], + 84: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/is-bn'); + e.exports = function (t) { + return Array.isArray(t) && 2 === t.length && n(t[0]) && n(t[1]); + }; + }, + { './lib/is-bn': 88 }, + ], + 85: [ + function (t, e, r) { + 'use strict'; + var n = t('bn.js'); + e.exports = function (t) { + return t.cmp(new n(0)); + }; + }, + { 'bn.js': 99 }, + ], + 86: [ + function (t, e, r) { + 'use strict'; + var n = t('./bn-sign'); + e.exports = function (t) { + var e = t.length, + r = t.words, + i = 0; + if (1 === e) i = r[0]; + else if (2 === e) i = r[0] + 67108864 * r[1]; + else + for (var a = 0; a < e; a++) { + var o = r[a]; + i += o * Math.pow(67108864, a); + } + return n(t) * i; + }; + }, + { './bn-sign': 85 }, + ], + 87: [ + function (t, e, r) { + 'use strict'; + var n = t('double-bits'), + i = t('bit-twiddle').countTrailingZeros; + e.exports = function (t) { + var e = i(n.lo(t)); + if (e < 32) return e; + var r = i(n.hi(t)); + if (r > 20) return 52; + return r + 32; + }; + }, + { 'bit-twiddle': 97, 'double-bits': 173 }, + ], + 88: [ + function (t, e, r) { + 'use strict'; + t('bn.js'); + e.exports = function (t) { + return t && 'object' == typeof t && Boolean(t.words); + }; + }, + { 'bn.js': 99 }, + ], + 89: [ + function (t, e, r) { + 'use strict'; + var n = t('bn.js'), + i = t('double-bits'); + e.exports = function (t) { + var e = i.exponent(t); + return e < 52 + ? new n(t) + : new n(t * Math.pow(2, 52 - e)).ushln(e - 52); + }; + }, + { 'bn.js': 99, 'double-bits': 173 }, + ], + 90: [ + function (t, e, r) { + 'use strict'; + var n = t('./num-to-bn'), + i = t('./bn-sign'); + e.exports = function (t, e) { + var r = i(t), + a = i(e); + if (0 === r) return [n(0), n(1)]; + if (0 === a) return [n(0), n(0)]; + a < 0 && ((t = t.neg()), (e = e.neg())); + var o = t.gcd(e); + if (o.cmpn(1)) return [t.div(o), e.div(o)]; + return [t, e]; + }; + }, + { './bn-sign': 85, './num-to-bn': 89 }, + ], + 91: [ + function (t, e, r) { + 'use strict'; + var n = t('bn.js'); + e.exports = function (t) { + return new n(t); + }; + }, + { 'bn.js': 99 }, + ], + 92: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/rationalize'); + e.exports = function (t, e) { + return n(t[0].mul(e[0]), t[1].mul(e[1])); + }; + }, + { './lib/rationalize': 90 }, + ], + 93: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/bn-sign'); + e.exports = function (t) { + return n(t[0]) * n(t[1]); + }; + }, + { './lib/bn-sign': 85 }, + ], + 94: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/rationalize'); + e.exports = function (t, e) { + return n(t[0].mul(e[1]).sub(t[1].mul(e[0])), t[1].mul(e[1])); + }; + }, + { './lib/rationalize': 90 }, + ], + 95: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/bn-to-num'), + i = t('./lib/ctz'); + e.exports = function (t) { + var e = t[0], + r = t[1]; + if (0 === e.cmpn(0)) return 0; + var a = e.abs().divmod(r.abs()), + o = a.div, + s = n(o), + l = a.mod, + c = e.negative !== r.negative ? -1 : 1; + if (0 === l.cmpn(0)) return c * s; + if (s) { + var u = i(s) + 4, + f = n(l.ushln(u).divRound(r)); + return c * (s + f * Math.pow(2, -u)); + } + var h = r.bitLength() - l.bitLength() + 53; + f = n(l.ushln(h).divRound(r)); + return h < 1023 + ? c * f * Math.pow(2, -h) + : ((f *= Math.pow(2, -1023)), c * f * Math.pow(2, 1023 - h)); + }; + }, + { './lib/bn-to-num': 86, './lib/ctz': 87 }, + ], + 96: [ + function (t, e, r) { + 'use strict'; + function n(t, e, r, n, i) { + var a = [ + 'function ', + t, + '(a,l,h,', + n.join(','), + '){', + i ? '' : 'var i=', + r ? 'l-1' : 'h+1', + ';while(l<=h){var m=(l+h)>>>1,x=a[m]', + ]; + return ( + i + ? e.indexOf('c') < 0 + ? a.push(';if(x===y){return m}else if(x<=y){') + : a.push(';var p=c(x,y);if(p===0){return m}else if(p<=0){') + : a.push(';if(', e, '){i=m;'), + r ? a.push('l=m+1}else{h=m-1}') : a.push('h=m-1}else{l=m+1}'), + a.push('}'), + i ? a.push('return -1};') : a.push('return i};'), + a.join('') + ); + } + function i(t, e, r, i) { + return new Function( + [ + n('A', 'x' + t + 'y', e, ['y'], i), + n('P', 'c(x,y)' + t + '0', e, ['y', 'c'], i), + 'function dispatchBsearch', + r, + "(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch", + r, + ].join('') + )(); + } + e.exports = { + ge: i('>=', !1, 'GE'), + gt: i('>', !1, 'GT'), + lt: i('<', !0, 'LT'), + le: i('<=', !0, 'LE'), + eq: i('-', !0, 'EQ', !0), + }; + }, + {}, + ], + 97: [ + function (t, e, r) { + 'use strict'; + function n(t) { + var e = 32; + return ( + (t &= -t) && e--, + 65535 & t && (e -= 16), + 16711935 & t && (e -= 8), + 252645135 & t && (e -= 4), + 858993459 & t && (e -= 2), + 1431655765 & t && (e -= 1), + e + ); + } + (r.INT_BITS = 32), + (r.INT_MAX = 2147483647), + (r.INT_MIN = -1 << 31), + (r.sign = function (t) { + return (t > 0) - (t < 0); + }), + (r.abs = function (t) { + var e = t >> 31; + return (t ^ e) - e; + }), + (r.min = function (t, e) { + return e ^ ((t ^ e) & -(t < e)); + }), + (r.max = function (t, e) { + return t ^ ((t ^ e) & -(t < e)); + }), + (r.isPow2 = function (t) { + return !(t & (t - 1) || !t); + }), + (r.log2 = function (t) { + var e, r; + return ( + (e = (t > 65535) << 4), + (e |= r = ((t >>>= e) > 255) << 3), + (e |= r = ((t >>>= r) > 15) << 2), + (e |= r = ((t >>>= r) > 3) << 1) | ((t >>>= r) >> 1) + ); + }), + (r.log10 = function (t) { + return t >= 1e9 + ? 9 + : t >= 1e8 + ? 8 + : t >= 1e7 + ? 7 + : t >= 1e6 + ? 6 + : t >= 1e5 + ? 5 + : t >= 1e4 + ? 4 + : t >= 1e3 + ? 3 + : t >= 100 + ? 2 + : t >= 10 + ? 1 + : 0; + }), + (r.popCount = function (t) { + return ( + (16843009 * + (((t = + (858993459 & (t -= (t >>> 1) & 1431655765)) + + ((t >>> 2) & 858993459)) + + (t >>> 4)) & + 252645135)) >>> + 24 + ); + }), + (r.countTrailingZeros = n), + (r.nextPow2 = function (t) { + return ( + (t += 0 === t), + --t, + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) + 1 + ); + }), + (r.prevPow2 = function (t) { + return ( + (t |= t >>> 1), + (t |= t >>> 2), + (t |= t >>> 4), + (t |= t >>> 8), + (t |= t >>> 16) - (t >>> 1) + ); + }), + (r.parity = function (t) { + return ( + (t ^= t >>> 16), + (t ^= t >>> 8), + (t ^= t >>> 4), + (27030 >>> (t &= 15)) & 1 + ); + }); + var i = new Array(256); + !(function (t) { + for (var e = 0; e < 256; ++e) { + var r = e, + n = e, + i = 7; + for (r >>>= 1; r; r >>>= 1) (n <<= 1), (n |= 1 & r), --i; + t[e] = (n << i) & 255; + } + })(i), + (r.reverse = function (t) { + return ( + (i[255 & t] << 24) | + (i[(t >>> 8) & 255] << 16) | + (i[(t >>> 16) & 255] << 8) | + i[(t >>> 24) & 255] + ); + }), + (r.interleave2 = function (t, e) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = 16711935 & ((t &= 65535) | (t << 8))) | (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = 16711935 & ((e &= 65535) | (e << 8))) | (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + }), + (r.deinterleave2 = function (t, e) { + return ( + ((t = + 65535 & + ((t = + 16711935 & + ((t = + 252645135 & + ((t = + 858993459 & + ((t = (t >>> e) & 1431655765) | (t >>> 1))) | + (t >>> 2))) | + (t >>> 4))) | + (t >>> 16))) << + 16) >> + 16 + ); + }), + (r.interleave3 = function (t, e, r) { + return ( + (t = + 1227133513 & + ((t = + 3272356035 & + ((t = + 251719695 & + ((t = 4278190335 & ((t &= 1023) | (t << 16))) | + (t << 8))) | + (t << 4))) | + (t << 2))), + (t |= + (e = + 1227133513 & + ((e = + 3272356035 & + ((e = + 251719695 & + ((e = 4278190335 & ((e &= 1023) | (e << 16))) | + (e << 8))) | + (e << 4))) | + (e << 2))) << 1) | + ((r = + 1227133513 & + ((r = + 3272356035 & + ((r = + 251719695 & + ((r = 4278190335 & ((r &= 1023) | (r << 16))) | + (r << 8))) | + (r << 4))) | + (r << 2))) << + 2) + ); + }), + (r.deinterleave3 = function (t, e) { + return ( + ((t = + 1023 & + ((t = + 4278190335 & + ((t = + 251719695 & + ((t = + 3272356035 & + ((t = (t >>> e) & 1227133513) | (t >>> 2))) | + (t >>> 4))) | + (t >>> 8))) | + (t >>> 16))) << + 22) >> + 22 + ); + }), + (r.nextCombination = function (t) { + var e = t | (t - 1); + return (e + 1) | (((~e & -~e) - 1) >>> (n(t) + 1)); + }); + }, + {}, + ], + 98: [ + function (t, e, r) { + 'use strict'; + var n = t('clamp'); + e.exports = function (t, e) { + e || (e = {}); + var r, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m = null == e.cutoff ? 0.25 : e.cutoff, + v = null == e.radius ? 8 : e.radius, + y = e.channel || 0; + if (ArrayBuffer.isView(t) || Array.isArray(t)) { + if (!e.width || !e.height) + throw Error( + 'For raw data width and height should be provided by options' + ); + (r = e.width), + (o = e.height), + (l = t), + (u = e.stride ? e.stride : Math.floor(t.length / r / o)); + } else + window.HTMLCanvasElement && t instanceof window.HTMLCanvasElement + ? ((f = (h = t).getContext('2d')), + (r = h.width), + (o = h.height), + (p = f.getImageData(0, 0, r, o)), + (l = p.data), + (u = 4)) + : window.CanvasRenderingContext2D && + t instanceof window.CanvasRenderingContext2D + ? ((h = t.canvas), + (f = t), + (r = h.width), + (o = h.height), + (p = f.getImageData(0, 0, r, o)), + (l = p.data), + (u = 4)) + : window.ImageData && + t instanceof window.ImageData && + ((p = t), + (r = t.width), + (o = t.height), + (l = p.data), + (u = 4)); + if ( + ((s = Math.max(r, o)), + (window.Uint8ClampedArray && + l instanceof window.Uint8ClampedArray) || + (window.Uint8Array && l instanceof window.Uint8Array)) + ) + for (c = l, l = Array(r * o), d = 0, g = c.length; d < g; d++) + l[d] = c[d * u + y] / 255; + else if (1 !== u) + throw Error('Raw data can have only 1 value per pixel'); + var x = Array(r * o), + b = Array(r * o), + _ = Array(s), + w = Array(s), + T = Array(s + 1), + k = Array(s); + for (d = 0, g = r * o; d < g; d++) { + var M = l[d]; + (x[d] = + 1 === M ? 0 : 0 === M ? i : Math.pow(Math.max(0, 0.5 - M), 2)), + (b[d] = + 1 === M + ? i + : 0 === M + ? 0 + : Math.pow(Math.max(0, M - 0.5), 2)); + } + a(x, r, o, _, w, k, T), a(b, r, o, _, w, k, T); + var A = window.Float32Array + ? new Float32Array(r * o) + : new Array(r * o); + for (d = 0, g = r * o; d < g; d++) + A[d] = n(1 - ((x[d] - b[d]) / v + m), 0, 1); + return A; + }; + var i = 1e20; + function a(t, e, r, n, i, a, s) { + for (var l = 0; l < e; l++) { + for (var c = 0; c < r; c++) n[c] = t[c * e + l]; + for (o(n, i, a, s, r), c = 0; c < r; c++) t[c * e + l] = i[c]; + } + for (c = 0; c < r; c++) { + for (l = 0; l < e; l++) n[l] = t[c * e + l]; + for (o(n, i, a, s, e), l = 0; l < e; l++) + t[c * e + l] = Math.sqrt(i[l]); + } + } + function o(t, e, r, n, a) { + (r[0] = 0), (n[0] = -i), (n[1] = +i); + for (var o = 1, s = 0; o < a; o++) { + for ( + var l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / (2 * o - 2 * r[s]); + l <= n[s]; + + ) + s--, + (l = + (t[o] + o * o - (t[r[s]] + r[s] * r[s])) / + (2 * o - 2 * r[s])); + (r[++s] = o), (n[s] = l), (n[s + 1] = +i); + } + for (o = 0, s = 0; o < a; o++) { + for (; n[s + 1] < o; ) s++; + e[o] = (o - r[s]) * (o - r[s]) + t[r[s]]; + } + } + }, + { clamp: 120 }, + ], + 99: [ + function (t, e, r) { + !(function (e, r) { + 'use strict'; + function n(t, e) { + if (!t) throw new Error(e || 'Assertion failed'); + } + function i(t, e) { + t.super_ = e; + var r = function () {}; + (r.prototype = e.prototype), + (t.prototype = new r()), + (t.prototype.constructor = t); + } + function a(t, e, r) { + if (a.isBN(t)) return t; + (this.negative = 0), + (this.words = null), + (this.length = 0), + (this.red = null), + null !== t && + (('le' !== e && 'be' !== e) || ((r = e), (e = 10)), + this._init(t || 0, e || 10, r || 'be')); + } + var o; + 'object' == typeof e ? (e.exports = a) : (r.BN = a), + (a.BN = a), + (a.wordSize = 26); + try { + o = t('buffer').Buffer; + } catch (t) {} + function s(t, e, r) { + for (var n = 0, i = Math.min(t.length, r), a = e; a < i; a++) { + var o = t.charCodeAt(a) - 48; + (n <<= 4), + (n |= + o >= 49 && o <= 54 + ? o - 49 + 10 + : o >= 17 && o <= 22 + ? o - 17 + 10 + : 15 & o); + } + return n; + } + function l(t, e, r, n) { + for (var i = 0, a = Math.min(t.length, r), o = e; o < a; o++) { + var s = t.charCodeAt(o) - 48; + (i *= n), + (i += s >= 49 ? s - 49 + 10 : s >= 17 ? s - 17 + 10 : s); + } + return i; + } + (a.isBN = function (t) { + return ( + t instanceof a || + (null !== t && + 'object' == typeof t && + t.constructor.wordSize === a.wordSize && + Array.isArray(t.words)) + ); + }), + (a.max = function (t, e) { + return t.cmp(e) > 0 ? t : e; + }), + (a.min = function (t, e) { + return t.cmp(e) < 0 ? t : e; + }), + (a.prototype._init = function (t, e, r) { + if ('number' == typeof t) return this._initNumber(t, e, r); + if ('object' == typeof t) return this._initArray(t, e, r); + 'hex' === e && (e = 16), n(e === (0 | e) && e >= 2 && e <= 36); + var i = 0; + '-' === (t = t.toString().replace(/\s+/g, ''))[0] && i++, + 16 === e ? this._parseHex(t, i) : this._parseBase(t, e, i), + '-' === t[0] && (this.negative = 1), + this.strip(), + 'le' === r && this._initArray(this.toArray(), e, r); + }), + (a.prototype._initNumber = function (t, e, r) { + t < 0 && ((this.negative = 1), (t = -t)), + t < 67108864 + ? ((this.words = [67108863 & t]), (this.length = 1)) + : t < 4503599627370496 + ? ((this.words = [67108863 & t, (t / 67108864) & 67108863]), + (this.length = 2)) + : (n(t < 9007199254740992), + (this.words = [ + 67108863 & t, + (t / 67108864) & 67108863, + 1, + ]), + (this.length = 3)), + 'le' === r && this._initArray(this.toArray(), e, r); + }), + (a.prototype._initArray = function (t, e, r) { + if ((n('number' == typeof t.length), t.length <= 0)) + return (this.words = [0]), (this.length = 1), this; + (this.length = Math.ceil(t.length / 3)), + (this.words = new Array(this.length)); + for (var i = 0; i < this.length; i++) this.words[i] = 0; + var a, + o, + s = 0; + if ('be' === r) + for (i = t.length - 1, a = 0; i >= 0; i -= 3) + (o = t[i] | (t[i - 1] << 8) | (t[i - 2] << 16)), + (this.words[a] |= (o << s) & 67108863), + (this.words[a + 1] = (o >>> (26 - s)) & 67108863), + (s += 24) >= 26 && ((s -= 26), a++); + else if ('le' === r) + for (i = 0, a = 0; i < t.length; i += 3) + (o = t[i] | (t[i + 1] << 8) | (t[i + 2] << 16)), + (this.words[a] |= (o << s) & 67108863), + (this.words[a + 1] = (o >>> (26 - s)) & 67108863), + (s += 24) >= 26 && ((s -= 26), a++); + return this.strip(); + }), + (a.prototype._parseHex = function (t, e) { + (this.length = Math.ceil((t.length - e) / 6)), + (this.words = new Array(this.length)); + for (var r = 0; r < this.length; r++) this.words[r] = 0; + var n, + i, + a = 0; + for (r = t.length - 6, n = 0; r >= e; r -= 6) + (i = s(t, r, r + 6)), + (this.words[n] |= (i << a) & 67108863), + (this.words[n + 1] |= (i >>> (26 - a)) & 4194303), + (a += 24) >= 26 && ((a -= 26), n++); + r + 6 !== e && + ((i = s(t, e, r + 6)), + (this.words[n] |= (i << a) & 67108863), + (this.words[n + 1] |= (i >>> (26 - a)) & 4194303)), + this.strip(); + }), + (a.prototype._parseBase = function (t, e, r) { + (this.words = [0]), (this.length = 1); + for (var n = 0, i = 1; i <= 67108863; i *= e) n++; + n--, (i = (i / e) | 0); + for ( + var a = t.length - r, + o = a % n, + s = Math.min(a, a - o) + r, + c = 0, + u = r; + u < s; + u += n + ) + (c = l(t, u, u + n, e)), + this.imuln(i), + this.words[0] + c < 67108864 + ? (this.words[0] += c) + : this._iaddn(c); + if (0 !== o) { + var f = 1; + for (c = l(t, u, t.length, e), u = 0; u < o; u++) f *= e; + this.imuln(f), + this.words[0] + c < 67108864 + ? (this.words[0] += c) + : this._iaddn(c); + } + }), + (a.prototype.copy = function (t) { + t.words = new Array(this.length); + for (var e = 0; e < this.length; e++) + t.words[e] = this.words[e]; + (t.length = this.length), + (t.negative = this.negative), + (t.red = this.red); + }), + (a.prototype.clone = function () { + var t = new a(null); + return this.copy(t), t; + }), + (a.prototype._expand = function (t) { + for (; this.length < t; ) this.words[this.length++] = 0; + return this; + }), + (a.prototype.strip = function () { + for (; this.length > 1 && 0 === this.words[this.length - 1]; ) + this.length--; + return this._normSign(); + }), + (a.prototype._normSign = function () { + return ( + 1 === this.length && + 0 === this.words[0] && + (this.negative = 0), + this + ); + }), + (a.prototype.inspect = function () { + return ( + (this.red ? '' + ); + }); + var c = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000', + ], + u = [ + 0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, + 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + ], + f = [ + 0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, + 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, + 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, + 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, + 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, + 45435424, 52521875, 60466176, + ]; + function h(t, e, r) { + r.negative = e.negative ^ t.negative; + var n = (t.length + e.length) | 0; + (r.length = n), (n = (n - 1) | 0); + var i = 0 | t.words[0], + a = 0 | e.words[0], + o = i * a, + s = 67108863 & o, + l = (o / 67108864) | 0; + r.words[0] = s; + for (var c = 1; c < n; c++) { + for ( + var u = l >>> 26, + f = 67108863 & l, + h = Math.min(c, e.length - 1), + p = Math.max(0, c - t.length + 1); + p <= h; + p++ + ) { + var d = (c - p) | 0; + (u += + ((o = (i = 0 | t.words[d]) * (a = 0 | e.words[p]) + f) / + 67108864) | + 0), + (f = 67108863 & o); + } + (r.words[c] = 0 | f), (l = 0 | u); + } + return 0 !== l ? (r.words[c] = 0 | l) : r.length--, r.strip(); + } + (a.prototype.toString = function (t, e) { + var r; + if (((e = 0 | e || 1), 16 === (t = t || 10) || 'hex' === t)) { + r = ''; + for (var i = 0, a = 0, o = 0; o < this.length; o++) { + var s = this.words[o], + l = (16777215 & ((s << i) | a)).toString(16); + (r = + 0 !== (a = (s >>> (24 - i)) & 16777215) || + o !== this.length - 1 + ? c[6 - l.length] + l + r + : l + r), + (i += 2) >= 26 && ((i -= 26), o--); + } + for (0 !== a && (r = a.toString(16) + r); r.length % e != 0; ) + r = '0' + r; + return 0 !== this.negative && (r = '-' + r), r; + } + if (t === (0 | t) && t >= 2 && t <= 36) { + var h = u[t], + p = f[t]; + r = ''; + var d = this.clone(); + for (d.negative = 0; !d.isZero(); ) { + var g = d.modn(p).toString(t); + r = (d = d.idivn(p)).isZero() + ? g + r + : c[h - g.length] + g + r; + } + for (this.isZero() && (r = '0' + r); r.length % e != 0; ) + r = '0' + r; + return 0 !== this.negative && (r = '-' + r), r; + } + n(!1, 'Base should be between 2 and 36'); + }), + (a.prototype.toNumber = function () { + var t = this.words[0]; + return ( + 2 === this.length + ? (t += 67108864 * this.words[1]) + : 3 === this.length && 1 === this.words[2] + ? (t += 4503599627370496 + 67108864 * this.words[1]) + : this.length > 2 && + n(!1, 'Number can only safely store up to 53 bits'), + 0 !== this.negative ? -t : t + ); + }), + (a.prototype.toJSON = function () { + return this.toString(16); + }), + (a.prototype.toBuffer = function (t, e) { + return n('undefined' != typeof o), this.toArrayLike(o, t, e); + }), + (a.prototype.toArray = function (t, e) { + return this.toArrayLike(Array, t, e); + }), + (a.prototype.toArrayLike = function (t, e, r) { + var i = this.byteLength(), + a = r || Math.max(1, i); + n(i <= a, 'byte array longer than desired length'), + n(a > 0, 'Requested array length <= 0'), + this.strip(); + var o, + s, + l = 'le' === e, + c = new t(a), + u = this.clone(); + if (l) { + for (s = 0; !u.isZero(); s++) + (o = u.andln(255)), u.iushrn(8), (c[s] = o); + for (; s < a; s++) c[s] = 0; + } else { + for (s = 0; s < a - i; s++) c[s] = 0; + for (s = 0; !u.isZero(); s++) + (o = u.andln(255)), u.iushrn(8), (c[a - s - 1] = o); + } + return c; + }), + Math.clz32 + ? (a.prototype._countBits = function (t) { + return 32 - Math.clz32(t); + }) + : (a.prototype._countBits = function (t) { + var e = t, + r = 0; + return ( + e >= 4096 && ((r += 13), (e >>>= 13)), + e >= 64 && ((r += 7), (e >>>= 7)), + e >= 8 && ((r += 4), (e >>>= 4)), + e >= 2 && ((r += 2), (e >>>= 2)), + r + e + ); + }), + (a.prototype._zeroBits = function (t) { + if (0 === t) return 26; + var e = t, + r = 0; + return ( + 0 == (8191 & e) && ((r += 13), (e >>>= 13)), + 0 == (127 & e) && ((r += 7), (e >>>= 7)), + 0 == (15 & e) && ((r += 4), (e >>>= 4)), + 0 == (3 & e) && ((r += 2), (e >>>= 2)), + 0 == (1 & e) && r++, + r + ); + }), + (a.prototype.bitLength = function () { + var t = this.words[this.length - 1], + e = this._countBits(t); + return 26 * (this.length - 1) + e; + }), + (a.prototype.zeroBits = function () { + if (this.isZero()) return 0; + for (var t = 0, e = 0; e < this.length; e++) { + var r = this._zeroBits(this.words[e]); + if (((t += r), 26 !== r)) break; + } + return t; + }), + (a.prototype.byteLength = function () { + return Math.ceil(this.bitLength() / 8); + }), + (a.prototype.toTwos = function (t) { + return 0 !== this.negative + ? this.abs().inotn(t).iaddn(1) + : this.clone(); + }), + (a.prototype.fromTwos = function (t) { + return this.testn(t - 1) + ? this.notn(t).iaddn(1).ineg() + : this.clone(); + }), + (a.prototype.isNeg = function () { + return 0 !== this.negative; + }), + (a.prototype.neg = function () { + return this.clone().ineg(); + }), + (a.prototype.ineg = function () { + return this.isZero() || (this.negative ^= 1), this; + }), + (a.prototype.iuor = function (t) { + for (; this.length < t.length; ) this.words[this.length++] = 0; + for (var e = 0; e < t.length; e++) + this.words[e] = this.words[e] | t.words[e]; + return this.strip(); + }), + (a.prototype.ior = function (t) { + return n(0 == (this.negative | t.negative)), this.iuor(t); + }), + (a.prototype.or = function (t) { + return this.length > t.length + ? this.clone().ior(t) + : t.clone().ior(this); + }), + (a.prototype.uor = function (t) { + return this.length > t.length + ? this.clone().iuor(t) + : t.clone().iuor(this); + }), + (a.prototype.iuand = function (t) { + var e; + e = this.length > t.length ? t : this; + for (var r = 0; r < e.length; r++) + this.words[r] = this.words[r] & t.words[r]; + return (this.length = e.length), this.strip(); + }), + (a.prototype.iand = function (t) { + return n(0 == (this.negative | t.negative)), this.iuand(t); + }), + (a.prototype.and = function (t) { + return this.length > t.length + ? this.clone().iand(t) + : t.clone().iand(this); + }), + (a.prototype.uand = function (t) { + return this.length > t.length + ? this.clone().iuand(t) + : t.clone().iuand(this); + }), + (a.prototype.iuxor = function (t) { + var e, r; + this.length > t.length + ? ((e = this), (r = t)) + : ((e = t), (r = this)); + for (var n = 0; n < r.length; n++) + this.words[n] = e.words[n] ^ r.words[n]; + if (this !== e) + for (; n < e.length; n++) this.words[n] = e.words[n]; + return (this.length = e.length), this.strip(); + }), + (a.prototype.ixor = function (t) { + return n(0 == (this.negative | t.negative)), this.iuxor(t); + }), + (a.prototype.xor = function (t) { + return this.length > t.length + ? this.clone().ixor(t) + : t.clone().ixor(this); + }), + (a.prototype.uxor = function (t) { + return this.length > t.length + ? this.clone().iuxor(t) + : t.clone().iuxor(this); + }), + (a.prototype.inotn = function (t) { + n('number' == typeof t && t >= 0); + var e = 0 | Math.ceil(t / 26), + r = t % 26; + this._expand(e), r > 0 && e--; + for (var i = 0; i < e; i++) + this.words[i] = 67108863 & ~this.words[i]; + return ( + r > 0 && + (this.words[i] = ~this.words[i] & (67108863 >> (26 - r))), + this.strip() + ); + }), + (a.prototype.notn = function (t) { + return this.clone().inotn(t); + }), + (a.prototype.setn = function (t, e) { + n('number' == typeof t && t >= 0); + var r = (t / 26) | 0, + i = t % 26; + return ( + this._expand(r + 1), + (this.words[r] = e + ? this.words[r] | (1 << i) + : this.words[r] & ~(1 << i)), + this.strip() + ); + }), + (a.prototype.iadd = function (t) { + var e, r, n; + if (0 !== this.negative && 0 === t.negative) + return ( + (this.negative = 0), + (e = this.isub(t)), + (this.negative ^= 1), + this._normSign() + ); + if (0 === this.negative && 0 !== t.negative) + return ( + (t.negative = 0), + (e = this.isub(t)), + (t.negative = 1), + e._normSign() + ); + this.length > t.length + ? ((r = this), (n = t)) + : ((r = t), (n = this)); + for (var i = 0, a = 0; a < n.length; a++) + (e = (0 | r.words[a]) + (0 | n.words[a]) + i), + (this.words[a] = 67108863 & e), + (i = e >>> 26); + for (; 0 !== i && a < r.length; a++) + (e = (0 | r.words[a]) + i), + (this.words[a] = 67108863 & e), + (i = e >>> 26); + if (((this.length = r.length), 0 !== i)) + (this.words[this.length] = i), this.length++; + else if (r !== this) + for (; a < r.length; a++) this.words[a] = r.words[a]; + return this; + }), + (a.prototype.add = function (t) { + var e; + return 0 !== t.negative && 0 === this.negative + ? ((t.negative = 0), (e = this.sub(t)), (t.negative ^= 1), e) + : 0 === t.negative && 0 !== this.negative + ? ((this.negative = 0), + (e = t.sub(this)), + (this.negative = 1), + e) + : this.length > t.length + ? this.clone().iadd(t) + : t.clone().iadd(this); + }), + (a.prototype.isub = function (t) { + if (0 !== t.negative) { + t.negative = 0; + var e = this.iadd(t); + return (t.negative = 1), e._normSign(); + } + if (0 !== this.negative) + return ( + (this.negative = 0), + this.iadd(t), + (this.negative = 1), + this._normSign() + ); + var r, + n, + i = this.cmp(t); + if (0 === i) + return ( + (this.negative = 0), + (this.length = 1), + (this.words[0] = 0), + this + ); + i > 0 ? ((r = this), (n = t)) : ((r = t), (n = this)); + for (var a = 0, o = 0; o < n.length; o++) + (a = (e = (0 | r.words[o]) - (0 | n.words[o]) + a) >> 26), + (this.words[o] = 67108863 & e); + for (; 0 !== a && o < r.length; o++) + (a = (e = (0 | r.words[o]) + a) >> 26), + (this.words[o] = 67108863 & e); + if (0 === a && o < r.length && r !== this) + for (; o < r.length; o++) this.words[o] = r.words[o]; + return ( + (this.length = Math.max(this.length, o)), + r !== this && (this.negative = 1), + this.strip() + ); + }), + (a.prototype.sub = function (t) { + return this.clone().isub(t); + }); + var p = function (t, e, r) { + var n, + i, + a, + o = t.words, + s = e.words, + l = r.words, + c = 0, + u = 0 | o[0], + f = 8191 & u, + h = u >>> 13, + p = 0 | o[1], + d = 8191 & p, + g = p >>> 13, + m = 0 | o[2], + v = 8191 & m, + y = m >>> 13, + x = 0 | o[3], + b = 8191 & x, + _ = x >>> 13, + w = 0 | o[4], + T = 8191 & w, + k = w >>> 13, + M = 0 | o[5], + A = 8191 & M, + S = M >>> 13, + E = 0 | o[6], + C = 8191 & E, + L = E >>> 13, + I = 0 | o[7], + P = 8191 & I, + z = I >>> 13, + O = 0 | o[8], + D = 8191 & O, + R = O >>> 13, + F = 0 | o[9], + B = 8191 & F, + N = F >>> 13, + j = 0 | s[0], + U = 8191 & j, + V = j >>> 13, + q = 0 | s[1], + H = 8191 & q, + G = q >>> 13, + Y = 0 | s[2], + W = 8191 & Y, + X = Y >>> 13, + Z = 0 | s[3], + J = 8191 & Z, + K = Z >>> 13, + Q = 0 | s[4], + $ = 8191 & Q, + tt = Q >>> 13, + et = 0 | s[5], + rt = 8191 & et, + nt = et >>> 13, + it = 0 | s[6], + at = 8191 & it, + ot = it >>> 13, + st = 0 | s[7], + lt = 8191 & st, + ct = st >>> 13, + ut = 0 | s[8], + ft = 8191 & ut, + ht = ut >>> 13, + pt = 0 | s[9], + dt = 8191 & pt, + gt = pt >>> 13; + (r.negative = t.negative ^ e.negative), (r.length = 19); + var mt = + (((c + (n = Math.imul(f, U))) | 0) + + ((8191 & + (i = ((i = Math.imul(f, V)) + Math.imul(h, U)) | 0)) << + 13)) | + 0; + (c = + ((((a = Math.imul(h, V)) + (i >>> 13)) | 0) + (mt >>> 26)) | 0), + (mt &= 67108863), + (n = Math.imul(d, U)), + (i = ((i = Math.imul(d, V)) + Math.imul(g, U)) | 0), + (a = Math.imul(g, V)); + var vt = + (((c + (n = (n + Math.imul(f, H)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, G)) | 0) + Math.imul(h, H)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, G)) | 0) + (i >>> 13)) | 0) + + (vt >>> 26)) | + 0), + (vt &= 67108863), + (n = Math.imul(v, U)), + (i = ((i = Math.imul(v, V)) + Math.imul(y, U)) | 0), + (a = Math.imul(y, V)), + (n = (n + Math.imul(d, H)) | 0), + (i = ((i = (i + Math.imul(d, G)) | 0) + Math.imul(g, H)) | 0), + (a = (a + Math.imul(g, G)) | 0); + var yt = + (((c + (n = (n + Math.imul(f, W)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, X)) | 0) + Math.imul(h, W)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, X)) | 0) + (i >>> 13)) | 0) + + (yt >>> 26)) | + 0), + (yt &= 67108863), + (n = Math.imul(b, U)), + (i = ((i = Math.imul(b, V)) + Math.imul(_, U)) | 0), + (a = Math.imul(_, V)), + (n = (n + Math.imul(v, H)) | 0), + (i = ((i = (i + Math.imul(v, G)) | 0) + Math.imul(y, H)) | 0), + (a = (a + Math.imul(y, G)) | 0), + (n = (n + Math.imul(d, W)) | 0), + (i = ((i = (i + Math.imul(d, X)) | 0) + Math.imul(g, W)) | 0), + (a = (a + Math.imul(g, X)) | 0); + var xt = + (((c + (n = (n + Math.imul(f, J)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, K)) | 0) + Math.imul(h, J)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, K)) | 0) + (i >>> 13)) | 0) + + (xt >>> 26)) | + 0), + (xt &= 67108863), + (n = Math.imul(T, U)), + (i = ((i = Math.imul(T, V)) + Math.imul(k, U)) | 0), + (a = Math.imul(k, V)), + (n = (n + Math.imul(b, H)) | 0), + (i = ((i = (i + Math.imul(b, G)) | 0) + Math.imul(_, H)) | 0), + (a = (a + Math.imul(_, G)) | 0), + (n = (n + Math.imul(v, W)) | 0), + (i = ((i = (i + Math.imul(v, X)) | 0) + Math.imul(y, W)) | 0), + (a = (a + Math.imul(y, X)) | 0), + (n = (n + Math.imul(d, J)) | 0), + (i = ((i = (i + Math.imul(d, K)) | 0) + Math.imul(g, J)) | 0), + (a = (a + Math.imul(g, K)) | 0); + var bt = + (((c + (n = (n + Math.imul(f, $)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, tt)) | 0) + Math.imul(h, $)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, tt)) | 0) + (i >>> 13)) | 0) + + (bt >>> 26)) | + 0), + (bt &= 67108863), + (n = Math.imul(A, U)), + (i = ((i = Math.imul(A, V)) + Math.imul(S, U)) | 0), + (a = Math.imul(S, V)), + (n = (n + Math.imul(T, H)) | 0), + (i = ((i = (i + Math.imul(T, G)) | 0) + Math.imul(k, H)) | 0), + (a = (a + Math.imul(k, G)) | 0), + (n = (n + Math.imul(b, W)) | 0), + (i = ((i = (i + Math.imul(b, X)) | 0) + Math.imul(_, W)) | 0), + (a = (a + Math.imul(_, X)) | 0), + (n = (n + Math.imul(v, J)) | 0), + (i = ((i = (i + Math.imul(v, K)) | 0) + Math.imul(y, J)) | 0), + (a = (a + Math.imul(y, K)) | 0), + (n = (n + Math.imul(d, $)) | 0), + (i = ((i = (i + Math.imul(d, tt)) | 0) + Math.imul(g, $)) | 0), + (a = (a + Math.imul(g, tt)) | 0); + var _t = + (((c + (n = (n + Math.imul(f, rt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, nt)) | 0) + Math.imul(h, rt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, nt)) | 0) + (i >>> 13)) | 0) + + (_t >>> 26)) | + 0), + (_t &= 67108863), + (n = Math.imul(C, U)), + (i = ((i = Math.imul(C, V)) + Math.imul(L, U)) | 0), + (a = Math.imul(L, V)), + (n = (n + Math.imul(A, H)) | 0), + (i = ((i = (i + Math.imul(A, G)) | 0) + Math.imul(S, H)) | 0), + (a = (a + Math.imul(S, G)) | 0), + (n = (n + Math.imul(T, W)) | 0), + (i = ((i = (i + Math.imul(T, X)) | 0) + Math.imul(k, W)) | 0), + (a = (a + Math.imul(k, X)) | 0), + (n = (n + Math.imul(b, J)) | 0), + (i = ((i = (i + Math.imul(b, K)) | 0) + Math.imul(_, J)) | 0), + (a = (a + Math.imul(_, K)) | 0), + (n = (n + Math.imul(v, $)) | 0), + (i = ((i = (i + Math.imul(v, tt)) | 0) + Math.imul(y, $)) | 0), + (a = (a + Math.imul(y, tt)) | 0), + (n = (n + Math.imul(d, rt)) | 0), + (i = ((i = (i + Math.imul(d, nt)) | 0) + Math.imul(g, rt)) | 0), + (a = (a + Math.imul(g, nt)) | 0); + var wt = + (((c + (n = (n + Math.imul(f, at)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ot)) | 0) + Math.imul(h, at)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, ot)) | 0) + (i >>> 13)) | 0) + + (wt >>> 26)) | + 0), + (wt &= 67108863), + (n = Math.imul(P, U)), + (i = ((i = Math.imul(P, V)) + Math.imul(z, U)) | 0), + (a = Math.imul(z, V)), + (n = (n + Math.imul(C, H)) | 0), + (i = ((i = (i + Math.imul(C, G)) | 0) + Math.imul(L, H)) | 0), + (a = (a + Math.imul(L, G)) | 0), + (n = (n + Math.imul(A, W)) | 0), + (i = ((i = (i + Math.imul(A, X)) | 0) + Math.imul(S, W)) | 0), + (a = (a + Math.imul(S, X)) | 0), + (n = (n + Math.imul(T, J)) | 0), + (i = ((i = (i + Math.imul(T, K)) | 0) + Math.imul(k, J)) | 0), + (a = (a + Math.imul(k, K)) | 0), + (n = (n + Math.imul(b, $)) | 0), + (i = ((i = (i + Math.imul(b, tt)) | 0) + Math.imul(_, $)) | 0), + (a = (a + Math.imul(_, tt)) | 0), + (n = (n + Math.imul(v, rt)) | 0), + (i = ((i = (i + Math.imul(v, nt)) | 0) + Math.imul(y, rt)) | 0), + (a = (a + Math.imul(y, nt)) | 0), + (n = (n + Math.imul(d, at)) | 0), + (i = ((i = (i + Math.imul(d, ot)) | 0) + Math.imul(g, at)) | 0), + (a = (a + Math.imul(g, ot)) | 0); + var Tt = + (((c + (n = (n + Math.imul(f, lt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ct)) | 0) + Math.imul(h, lt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, ct)) | 0) + (i >>> 13)) | 0) + + (Tt >>> 26)) | + 0), + (Tt &= 67108863), + (n = Math.imul(D, U)), + (i = ((i = Math.imul(D, V)) + Math.imul(R, U)) | 0), + (a = Math.imul(R, V)), + (n = (n + Math.imul(P, H)) | 0), + (i = ((i = (i + Math.imul(P, G)) | 0) + Math.imul(z, H)) | 0), + (a = (a + Math.imul(z, G)) | 0), + (n = (n + Math.imul(C, W)) | 0), + (i = ((i = (i + Math.imul(C, X)) | 0) + Math.imul(L, W)) | 0), + (a = (a + Math.imul(L, X)) | 0), + (n = (n + Math.imul(A, J)) | 0), + (i = ((i = (i + Math.imul(A, K)) | 0) + Math.imul(S, J)) | 0), + (a = (a + Math.imul(S, K)) | 0), + (n = (n + Math.imul(T, $)) | 0), + (i = ((i = (i + Math.imul(T, tt)) | 0) + Math.imul(k, $)) | 0), + (a = (a + Math.imul(k, tt)) | 0), + (n = (n + Math.imul(b, rt)) | 0), + (i = ((i = (i + Math.imul(b, nt)) | 0) + Math.imul(_, rt)) | 0), + (a = (a + Math.imul(_, nt)) | 0), + (n = (n + Math.imul(v, at)) | 0), + (i = ((i = (i + Math.imul(v, ot)) | 0) + Math.imul(y, at)) | 0), + (a = (a + Math.imul(y, ot)) | 0), + (n = (n + Math.imul(d, lt)) | 0), + (i = ((i = (i + Math.imul(d, ct)) | 0) + Math.imul(g, lt)) | 0), + (a = (a + Math.imul(g, ct)) | 0); + var kt = + (((c + (n = (n + Math.imul(f, ft)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, ht)) | 0) + Math.imul(h, ft)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, ht)) | 0) + (i >>> 13)) | 0) + + (kt >>> 26)) | + 0), + (kt &= 67108863), + (n = Math.imul(B, U)), + (i = ((i = Math.imul(B, V)) + Math.imul(N, U)) | 0), + (a = Math.imul(N, V)), + (n = (n + Math.imul(D, H)) | 0), + (i = ((i = (i + Math.imul(D, G)) | 0) + Math.imul(R, H)) | 0), + (a = (a + Math.imul(R, G)) | 0), + (n = (n + Math.imul(P, W)) | 0), + (i = ((i = (i + Math.imul(P, X)) | 0) + Math.imul(z, W)) | 0), + (a = (a + Math.imul(z, X)) | 0), + (n = (n + Math.imul(C, J)) | 0), + (i = ((i = (i + Math.imul(C, K)) | 0) + Math.imul(L, J)) | 0), + (a = (a + Math.imul(L, K)) | 0), + (n = (n + Math.imul(A, $)) | 0), + (i = ((i = (i + Math.imul(A, tt)) | 0) + Math.imul(S, $)) | 0), + (a = (a + Math.imul(S, tt)) | 0), + (n = (n + Math.imul(T, rt)) | 0), + (i = ((i = (i + Math.imul(T, nt)) | 0) + Math.imul(k, rt)) | 0), + (a = (a + Math.imul(k, nt)) | 0), + (n = (n + Math.imul(b, at)) | 0), + (i = ((i = (i + Math.imul(b, ot)) | 0) + Math.imul(_, at)) | 0), + (a = (a + Math.imul(_, ot)) | 0), + (n = (n + Math.imul(v, lt)) | 0), + (i = ((i = (i + Math.imul(v, ct)) | 0) + Math.imul(y, lt)) | 0), + (a = (a + Math.imul(y, ct)) | 0), + (n = (n + Math.imul(d, ft)) | 0), + (i = ((i = (i + Math.imul(d, ht)) | 0) + Math.imul(g, ft)) | 0), + (a = (a + Math.imul(g, ht)) | 0); + var Mt = + (((c + (n = (n + Math.imul(f, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(f, gt)) | 0) + Math.imul(h, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(h, gt)) | 0) + (i >>> 13)) | 0) + + (Mt >>> 26)) | + 0), + (Mt &= 67108863), + (n = Math.imul(B, H)), + (i = ((i = Math.imul(B, G)) + Math.imul(N, H)) | 0), + (a = Math.imul(N, G)), + (n = (n + Math.imul(D, W)) | 0), + (i = ((i = (i + Math.imul(D, X)) | 0) + Math.imul(R, W)) | 0), + (a = (a + Math.imul(R, X)) | 0), + (n = (n + Math.imul(P, J)) | 0), + (i = ((i = (i + Math.imul(P, K)) | 0) + Math.imul(z, J)) | 0), + (a = (a + Math.imul(z, K)) | 0), + (n = (n + Math.imul(C, $)) | 0), + (i = ((i = (i + Math.imul(C, tt)) | 0) + Math.imul(L, $)) | 0), + (a = (a + Math.imul(L, tt)) | 0), + (n = (n + Math.imul(A, rt)) | 0), + (i = ((i = (i + Math.imul(A, nt)) | 0) + Math.imul(S, rt)) | 0), + (a = (a + Math.imul(S, nt)) | 0), + (n = (n + Math.imul(T, at)) | 0), + (i = ((i = (i + Math.imul(T, ot)) | 0) + Math.imul(k, at)) | 0), + (a = (a + Math.imul(k, ot)) | 0), + (n = (n + Math.imul(b, lt)) | 0), + (i = ((i = (i + Math.imul(b, ct)) | 0) + Math.imul(_, lt)) | 0), + (a = (a + Math.imul(_, ct)) | 0), + (n = (n + Math.imul(v, ft)) | 0), + (i = ((i = (i + Math.imul(v, ht)) | 0) + Math.imul(y, ft)) | 0), + (a = (a + Math.imul(y, ht)) | 0); + var At = + (((c + (n = (n + Math.imul(d, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(d, gt)) | 0) + Math.imul(g, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(g, gt)) | 0) + (i >>> 13)) | 0) + + (At >>> 26)) | + 0), + (At &= 67108863), + (n = Math.imul(B, W)), + (i = ((i = Math.imul(B, X)) + Math.imul(N, W)) | 0), + (a = Math.imul(N, X)), + (n = (n + Math.imul(D, J)) | 0), + (i = ((i = (i + Math.imul(D, K)) | 0) + Math.imul(R, J)) | 0), + (a = (a + Math.imul(R, K)) | 0), + (n = (n + Math.imul(P, $)) | 0), + (i = ((i = (i + Math.imul(P, tt)) | 0) + Math.imul(z, $)) | 0), + (a = (a + Math.imul(z, tt)) | 0), + (n = (n + Math.imul(C, rt)) | 0), + (i = ((i = (i + Math.imul(C, nt)) | 0) + Math.imul(L, rt)) | 0), + (a = (a + Math.imul(L, nt)) | 0), + (n = (n + Math.imul(A, at)) | 0), + (i = ((i = (i + Math.imul(A, ot)) | 0) + Math.imul(S, at)) | 0), + (a = (a + Math.imul(S, ot)) | 0), + (n = (n + Math.imul(T, lt)) | 0), + (i = ((i = (i + Math.imul(T, ct)) | 0) + Math.imul(k, lt)) | 0), + (a = (a + Math.imul(k, ct)) | 0), + (n = (n + Math.imul(b, ft)) | 0), + (i = ((i = (i + Math.imul(b, ht)) | 0) + Math.imul(_, ft)) | 0), + (a = (a + Math.imul(_, ht)) | 0); + var St = + (((c + (n = (n + Math.imul(v, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(v, gt)) | 0) + Math.imul(y, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(y, gt)) | 0) + (i >>> 13)) | 0) + + (St >>> 26)) | + 0), + (St &= 67108863), + (n = Math.imul(B, J)), + (i = ((i = Math.imul(B, K)) + Math.imul(N, J)) | 0), + (a = Math.imul(N, K)), + (n = (n + Math.imul(D, $)) | 0), + (i = ((i = (i + Math.imul(D, tt)) | 0) + Math.imul(R, $)) | 0), + (a = (a + Math.imul(R, tt)) | 0), + (n = (n + Math.imul(P, rt)) | 0), + (i = ((i = (i + Math.imul(P, nt)) | 0) + Math.imul(z, rt)) | 0), + (a = (a + Math.imul(z, nt)) | 0), + (n = (n + Math.imul(C, at)) | 0), + (i = ((i = (i + Math.imul(C, ot)) | 0) + Math.imul(L, at)) | 0), + (a = (a + Math.imul(L, ot)) | 0), + (n = (n + Math.imul(A, lt)) | 0), + (i = ((i = (i + Math.imul(A, ct)) | 0) + Math.imul(S, lt)) | 0), + (a = (a + Math.imul(S, ct)) | 0), + (n = (n + Math.imul(T, ft)) | 0), + (i = ((i = (i + Math.imul(T, ht)) | 0) + Math.imul(k, ft)) | 0), + (a = (a + Math.imul(k, ht)) | 0); + var Et = + (((c + (n = (n + Math.imul(b, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(b, gt)) | 0) + Math.imul(_, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(_, gt)) | 0) + (i >>> 13)) | 0) + + (Et >>> 26)) | + 0), + (Et &= 67108863), + (n = Math.imul(B, $)), + (i = ((i = Math.imul(B, tt)) + Math.imul(N, $)) | 0), + (a = Math.imul(N, tt)), + (n = (n + Math.imul(D, rt)) | 0), + (i = ((i = (i + Math.imul(D, nt)) | 0) + Math.imul(R, rt)) | 0), + (a = (a + Math.imul(R, nt)) | 0), + (n = (n + Math.imul(P, at)) | 0), + (i = ((i = (i + Math.imul(P, ot)) | 0) + Math.imul(z, at)) | 0), + (a = (a + Math.imul(z, ot)) | 0), + (n = (n + Math.imul(C, lt)) | 0), + (i = ((i = (i + Math.imul(C, ct)) | 0) + Math.imul(L, lt)) | 0), + (a = (a + Math.imul(L, ct)) | 0), + (n = (n + Math.imul(A, ft)) | 0), + (i = ((i = (i + Math.imul(A, ht)) | 0) + Math.imul(S, ft)) | 0), + (a = (a + Math.imul(S, ht)) | 0); + var Ct = + (((c + (n = (n + Math.imul(T, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(T, gt)) | 0) + Math.imul(k, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(k, gt)) | 0) + (i >>> 13)) | 0) + + (Ct >>> 26)) | + 0), + (Ct &= 67108863), + (n = Math.imul(B, rt)), + (i = ((i = Math.imul(B, nt)) + Math.imul(N, rt)) | 0), + (a = Math.imul(N, nt)), + (n = (n + Math.imul(D, at)) | 0), + (i = ((i = (i + Math.imul(D, ot)) | 0) + Math.imul(R, at)) | 0), + (a = (a + Math.imul(R, ot)) | 0), + (n = (n + Math.imul(P, lt)) | 0), + (i = ((i = (i + Math.imul(P, ct)) | 0) + Math.imul(z, lt)) | 0), + (a = (a + Math.imul(z, ct)) | 0), + (n = (n + Math.imul(C, ft)) | 0), + (i = ((i = (i + Math.imul(C, ht)) | 0) + Math.imul(L, ft)) | 0), + (a = (a + Math.imul(L, ht)) | 0); + var Lt = + (((c + (n = (n + Math.imul(A, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(A, gt)) | 0) + Math.imul(S, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(S, gt)) | 0) + (i >>> 13)) | 0) + + (Lt >>> 26)) | + 0), + (Lt &= 67108863), + (n = Math.imul(B, at)), + (i = ((i = Math.imul(B, ot)) + Math.imul(N, at)) | 0), + (a = Math.imul(N, ot)), + (n = (n + Math.imul(D, lt)) | 0), + (i = ((i = (i + Math.imul(D, ct)) | 0) + Math.imul(R, lt)) | 0), + (a = (a + Math.imul(R, ct)) | 0), + (n = (n + Math.imul(P, ft)) | 0), + (i = ((i = (i + Math.imul(P, ht)) | 0) + Math.imul(z, ft)) | 0), + (a = (a + Math.imul(z, ht)) | 0); + var It = + (((c + (n = (n + Math.imul(C, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(C, gt)) | 0) + Math.imul(L, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(L, gt)) | 0) + (i >>> 13)) | 0) + + (It >>> 26)) | + 0), + (It &= 67108863), + (n = Math.imul(B, lt)), + (i = ((i = Math.imul(B, ct)) + Math.imul(N, lt)) | 0), + (a = Math.imul(N, ct)), + (n = (n + Math.imul(D, ft)) | 0), + (i = ((i = (i + Math.imul(D, ht)) | 0) + Math.imul(R, ft)) | 0), + (a = (a + Math.imul(R, ht)) | 0); + var Pt = + (((c + (n = (n + Math.imul(P, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(P, gt)) | 0) + Math.imul(z, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(z, gt)) | 0) + (i >>> 13)) | 0) + + (Pt >>> 26)) | + 0), + (Pt &= 67108863), + (n = Math.imul(B, ft)), + (i = ((i = Math.imul(B, ht)) + Math.imul(N, ft)) | 0), + (a = Math.imul(N, ht)); + var zt = + (((c + (n = (n + Math.imul(D, dt)) | 0)) | 0) + + ((8191 & + (i = + ((i = (i + Math.imul(D, gt)) | 0) + Math.imul(R, dt)) | + 0)) << + 13)) | + 0; + (c = + ((((a = (a + Math.imul(R, gt)) | 0) + (i >>> 13)) | 0) + + (zt >>> 26)) | + 0), + (zt &= 67108863); + var Ot = + (((c + (n = Math.imul(B, dt))) | 0) + + ((8191 & + (i = ((i = Math.imul(B, gt)) + Math.imul(N, dt)) | 0)) << + 13)) | + 0; + return ( + (c = + ((((a = Math.imul(N, gt)) + (i >>> 13)) | 0) + (Ot >>> 26)) | + 0), + (Ot &= 67108863), + (l[0] = mt), + (l[1] = vt), + (l[2] = yt), + (l[3] = xt), + (l[4] = bt), + (l[5] = _t), + (l[6] = wt), + (l[7] = Tt), + (l[8] = kt), + (l[9] = Mt), + (l[10] = At), + (l[11] = St), + (l[12] = Et), + (l[13] = Ct), + (l[14] = Lt), + (l[15] = It), + (l[16] = Pt), + (l[17] = zt), + (l[18] = Ot), + 0 !== c && ((l[19] = c), r.length++), + r + ); + }; + function d(t, e, r) { + return new g().mulp(t, e, r); + } + function g(t, e) { + (this.x = t), (this.y = e); + } + Math.imul || (p = h), + (a.prototype.mulTo = function (t, e) { + var r = this.length + t.length; + return 10 === this.length && 10 === t.length + ? p(this, t, e) + : r < 63 + ? h(this, t, e) + : r < 1024 + ? (function (t, e, r) { + (r.negative = e.negative ^ t.negative), + (r.length = t.length + e.length); + for (var n = 0, i = 0, a = 0; a < r.length - 1; a++) { + var o = i; + i = 0; + for ( + var s = 67108863 & n, + l = Math.min(a, e.length - 1), + c = Math.max(0, a - t.length + 1); + c <= l; + c++ + ) { + var u = a - c, + f = (0 | t.words[u]) * (0 | e.words[c]), + h = 67108863 & f; + (s = 67108863 & (h = (h + s) | 0)), + (i += + (o = + ((o = (o + ((f / 67108864) | 0)) | 0) + + (h >>> 26)) | + 0) >>> 26), + (o &= 67108863); + } + (r.words[a] = s), (n = o), (o = i); + } + return 0 !== n ? (r.words[a] = n) : r.length--, r.strip(); + })(this, t, e) + : d(this, t, e); + }), + (g.prototype.makeRBT = function (t) { + for ( + var e = new Array(t), + r = a.prototype._countBits(t) - 1, + n = 0; + n < t; + n++ + ) + e[n] = this.revBin(n, r, t); + return e; + }), + (g.prototype.revBin = function (t, e, r) { + if (0 === t || t === r - 1) return t; + for (var n = 0, i = 0; i < e; i++) + (n |= (1 & t) << (e - i - 1)), (t >>= 1); + return n; + }), + (g.prototype.permute = function (t, e, r, n, i, a) { + for (var o = 0; o < a; o++) (n[o] = e[t[o]]), (i[o] = r[t[o]]); + }), + (g.prototype.transform = function (t, e, r, n, i, a) { + this.permute(a, t, e, r, n, i); + for (var o = 1; o < i; o <<= 1) + for ( + var s = o << 1, + l = Math.cos((2 * Math.PI) / s), + c = Math.sin((2 * Math.PI) / s), + u = 0; + u < i; + u += s + ) + for (var f = l, h = c, p = 0; p < o; p++) { + var d = r[u + p], + g = n[u + p], + m = r[u + p + o], + v = n[u + p + o], + y = f * m - h * v; + (v = f * v + h * m), + (m = y), + (r[u + p] = d + m), + (n[u + p] = g + v), + (r[u + p + o] = d - m), + (n[u + p + o] = g - v), + p !== s && + ((y = l * f - c * h), (h = l * h + c * f), (f = y)); + } + }), + (g.prototype.guessLen13b = function (t, e) { + var r = 1 | Math.max(e, t), + n = 1 & r, + i = 0; + for (r = (r / 2) | 0; r; r >>>= 1) i++; + return 1 << (i + 1 + n); + }), + (g.prototype.conjugate = function (t, e, r) { + if (!(r <= 1)) + for (var n = 0; n < r / 2; n++) { + var i = t[n]; + (t[n] = t[r - n - 1]), + (t[r - n - 1] = i), + (i = e[n]), + (e[n] = -e[r - n - 1]), + (e[r - n - 1] = -i); + } + }), + (g.prototype.normalize13b = function (t, e) { + for (var r = 0, n = 0; n < e / 2; n++) { + var i = + 8192 * Math.round(t[2 * n + 1] / e) + + Math.round(t[2 * n] / e) + + r; + (t[n] = 67108863 & i), + (r = i < 67108864 ? 0 : (i / 67108864) | 0); + } + return t; + }), + (g.prototype.convert13b = function (t, e, r, i) { + for (var a = 0, o = 0; o < e; o++) + (a += 0 | t[o]), + (r[2 * o] = 8191 & a), + (a >>>= 13), + (r[2 * o + 1] = 8191 & a), + (a >>>= 13); + for (o = 2 * e; o < i; ++o) r[o] = 0; + n(0 === a), n(0 == (-8192 & a)); + }), + (g.prototype.stub = function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0; + return e; + }), + (g.prototype.mulp = function (t, e, r) { + var n = 2 * this.guessLen13b(t.length, e.length), + i = this.makeRBT(n), + a = this.stub(n), + o = new Array(n), + s = new Array(n), + l = new Array(n), + c = new Array(n), + u = new Array(n), + f = new Array(n), + h = r.words; + (h.length = n), + this.convert13b(t.words, t.length, o, n), + this.convert13b(e.words, e.length, c, n), + this.transform(o, a, s, l, n, i), + this.transform(c, a, u, f, n, i); + for (var p = 0; p < n; p++) { + var d = s[p] * u[p] - l[p] * f[p]; + (l[p] = s[p] * f[p] + l[p] * u[p]), (s[p] = d); + } + return ( + this.conjugate(s, l, n), + this.transform(s, l, h, a, n, i), + this.conjugate(h, a, n), + this.normalize13b(h, n), + (r.negative = t.negative ^ e.negative), + (r.length = t.length + e.length), + r.strip() + ); + }), + (a.prototype.mul = function (t) { + var e = new a(null); + return ( + (e.words = new Array(this.length + t.length)), + this.mulTo(t, e) + ); + }), + (a.prototype.mulf = function (t) { + var e = new a(null); + return ( + (e.words = new Array(this.length + t.length)), d(this, t, e) + ); + }), + (a.prototype.imul = function (t) { + return this.clone().mulTo(t, this); + }), + (a.prototype.imuln = function (t) { + n('number' == typeof t), n(t < 67108864); + for (var e = 0, r = 0; r < this.length; r++) { + var i = (0 | this.words[r]) * t, + a = (67108863 & i) + (67108863 & e); + (e >>= 26), + (e += (i / 67108864) | 0), + (e += a >>> 26), + (this.words[r] = 67108863 & a); + } + return 0 !== e && ((this.words[r] = e), this.length++), this; + }), + (a.prototype.muln = function (t) { + return this.clone().imuln(t); + }), + (a.prototype.sqr = function () { + return this.mul(this); + }), + (a.prototype.isqr = function () { + return this.imul(this.clone()); + }), + (a.prototype.pow = function (t) { + var e = (function (t) { + for ( + var e = new Array(t.bitLength()), r = 0; + r < e.length; + r++ + ) { + var n = (r / 26) | 0, + i = r % 26; + e[r] = (t.words[n] & (1 << i)) >>> i; + } + return e; + })(t); + if (0 === e.length) return new a(1); + for ( + var r = this, n = 0; + n < e.length && 0 === e[n]; + n++, r = r.sqr() + ); + if (++n < e.length) + for (var i = r.sqr(); n < e.length; n++, i = i.sqr()) + 0 !== e[n] && (r = r.mul(i)); + return r; + }), + (a.prototype.iushln = function (t) { + n('number' == typeof t && t >= 0); + var e, + r = t % 26, + i = (t - r) / 26, + a = (67108863 >>> (26 - r)) << (26 - r); + if (0 !== r) { + var o = 0; + for (e = 0; e < this.length; e++) { + var s = this.words[e] & a, + l = ((0 | this.words[e]) - s) << r; + (this.words[e] = l | o), (o = s >>> (26 - r)); + } + o && ((this.words[e] = o), this.length++); + } + if (0 !== i) { + for (e = this.length - 1; e >= 0; e--) + this.words[e + i] = this.words[e]; + for (e = 0; e < i; e++) this.words[e] = 0; + this.length += i; + } + return this.strip(); + }), + (a.prototype.ishln = function (t) { + return n(0 === this.negative), this.iushln(t); + }), + (a.prototype.iushrn = function (t, e, r) { + var i; + n('number' == typeof t && t >= 0), + (i = e ? (e - (e % 26)) / 26 : 0); + var a = t % 26, + o = Math.min((t - a) / 26, this.length), + s = 67108863 ^ ((67108863 >>> a) << a), + l = r; + if (((i -= o), (i = Math.max(0, i)), l)) { + for (var c = 0; c < o; c++) l.words[c] = this.words[c]; + l.length = o; + } + if (0 === o); + else if (this.length > o) + for (this.length -= o, c = 0; c < this.length; c++) + this.words[c] = this.words[c + o]; + else (this.words[0] = 0), (this.length = 1); + var u = 0; + for (c = this.length - 1; c >= 0 && (0 !== u || c >= i); c--) { + var f = 0 | this.words[c]; + (this.words[c] = (u << (26 - a)) | (f >>> a)), (u = f & s); + } + return ( + l && 0 !== u && (l.words[l.length++] = u), + 0 === this.length && ((this.words[0] = 0), (this.length = 1)), + this.strip() + ); + }), + (a.prototype.ishrn = function (t, e, r) { + return n(0 === this.negative), this.iushrn(t, e, r); + }), + (a.prototype.shln = function (t) { + return this.clone().ishln(t); + }), + (a.prototype.ushln = function (t) { + return this.clone().iushln(t); + }), + (a.prototype.shrn = function (t) { + return this.clone().ishrn(t); + }), + (a.prototype.ushrn = function (t) { + return this.clone().iushrn(t); + }), + (a.prototype.testn = function (t) { + n('number' == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + return !(this.length <= r) && !!(this.words[r] & i); + }), + (a.prototype.imaskn = function (t) { + n('number' == typeof t && t >= 0); + var e = t % 26, + r = (t - e) / 26; + if ( + (n( + 0 === this.negative, + 'imaskn works only with positive numbers' + ), + this.length <= r) + ) + return this; + if ( + (0 !== e && r++, + (this.length = Math.min(r, this.length)), + 0 !== e) + ) { + var i = 67108863 ^ ((67108863 >>> e) << e); + this.words[this.length - 1] &= i; + } + return this.strip(); + }), + (a.prototype.maskn = function (t) { + return this.clone().imaskn(t); + }), + (a.prototype.iaddn = function (t) { + return ( + n('number' == typeof t), + n(t < 67108864), + t < 0 + ? this.isubn(-t) + : 0 !== this.negative + ? 1 === this.length && (0 | this.words[0]) < t + ? ((this.words[0] = t - (0 | this.words[0])), + (this.negative = 0), + this) + : ((this.negative = 0), + this.isubn(t), + (this.negative = 1), + this) + : this._iaddn(t) + ); + }), + (a.prototype._iaddn = function (t) { + this.words[0] += t; + for ( + var e = 0; + e < this.length && this.words[e] >= 67108864; + e++ + ) + (this.words[e] -= 67108864), + e === this.length - 1 + ? (this.words[e + 1] = 1) + : this.words[e + 1]++; + return (this.length = Math.max(this.length, e + 1)), this; + }), + (a.prototype.isubn = function (t) { + if ((n('number' == typeof t), n(t < 67108864), t < 0)) + return this.iaddn(-t); + if (0 !== this.negative) + return ( + (this.negative = 0), + this.iaddn(t), + (this.negative = 1), + this + ); + if ( + ((this.words[0] -= t), 1 === this.length && this.words[0] < 0) + ) + (this.words[0] = -this.words[0]), (this.negative = 1); + else + for (var e = 0; e < this.length && this.words[e] < 0; e++) + (this.words[e] += 67108864), (this.words[e + 1] -= 1); + return this.strip(); + }), + (a.prototype.addn = function (t) { + return this.clone().iaddn(t); + }), + (a.prototype.subn = function (t) { + return this.clone().isubn(t); + }), + (a.prototype.iabs = function () { + return (this.negative = 0), this; + }), + (a.prototype.abs = function () { + return this.clone().iabs(); + }), + (a.prototype._ishlnsubmul = function (t, e, r) { + var i, + a, + o = t.length + r; + this._expand(o); + var s = 0; + for (i = 0; i < t.length; i++) { + a = (0 | this.words[i + r]) + s; + var l = (0 | t.words[i]) * e; + (s = ((a -= 67108863 & l) >> 26) - ((l / 67108864) | 0)), + (this.words[i + r] = 67108863 & a); + } + for (; i < this.length - r; i++) + (s = (a = (0 | this.words[i + r]) + s) >> 26), + (this.words[i + r] = 67108863 & a); + if (0 === s) return this.strip(); + for (n(-1 === s), s = 0, i = 0; i < this.length; i++) + (s = (a = -(0 | this.words[i]) + s) >> 26), + (this.words[i] = 67108863 & a); + return (this.negative = 1), this.strip(); + }), + (a.prototype._wordDiv = function (t, e) { + var r = (this.length, t.length), + n = this.clone(), + i = t, + o = 0 | i.words[i.length - 1]; + 0 !== (r = 26 - this._countBits(o)) && + ((i = i.ushln(r)), + n.iushln(r), + (o = 0 | i.words[i.length - 1])); + var s, + l = n.length - i.length; + if ('mod' !== e) { + ((s = new a(null)).length = l + 1), + (s.words = new Array(s.length)); + for (var c = 0; c < s.length; c++) s.words[c] = 0; + } + var u = n.clone()._ishlnsubmul(i, 1, l); + 0 === u.negative && ((n = u), s && (s.words[l] = 1)); + for (var f = l - 1; f >= 0; f--) { + var h = + 67108864 * (0 | n.words[i.length + f]) + + (0 | n.words[i.length + f - 1]); + for ( + h = Math.min((h / o) | 0, 67108863), + n._ishlnsubmul(i, h, f); + 0 !== n.negative; + + ) + h--, + (n.negative = 0), + n._ishlnsubmul(i, 1, f), + n.isZero() || (n.negative ^= 1); + s && (s.words[f] = h); + } + return ( + s && s.strip(), + n.strip(), + 'div' !== e && 0 !== r && n.iushrn(r), + { div: s || null, mod: n } + ); + }), + (a.prototype.divmod = function (t, e, r) { + return ( + n(!t.isZero()), + this.isZero() + ? { div: new a(0), mod: new a(0) } + : 0 !== this.negative && 0 === t.negative + ? ((s = this.neg().divmod(t, e)), + 'mod' !== e && (i = s.div.neg()), + 'div' !== e && + ((o = s.mod.neg()), r && 0 !== o.negative && o.iadd(t)), + { div: i, mod: o }) + : 0 === this.negative && 0 !== t.negative + ? ((s = this.divmod(t.neg(), e)), + 'mod' !== e && (i = s.div.neg()), + { div: i, mod: s.mod }) + : 0 != (this.negative & t.negative) + ? ((s = this.neg().divmod(t.neg(), e)), + 'div' !== e && + ((o = s.mod.neg()), r && 0 !== o.negative && o.isub(t)), + { div: s.div, mod: o }) + : t.length > this.length || this.cmp(t) < 0 + ? { div: new a(0), mod: this } + : 1 === t.length + ? 'div' === e + ? { div: this.divn(t.words[0]), mod: null } + : 'mod' === e + ? { div: null, mod: new a(this.modn(t.words[0])) } + : { + div: this.divn(t.words[0]), + mod: new a(this.modn(t.words[0])), + } + : this._wordDiv(t, e) + ); + var i, o, s; + }), + (a.prototype.div = function (t) { + return this.divmod(t, 'div', !1).div; + }), + (a.prototype.mod = function (t) { + return this.divmod(t, 'mod', !1).mod; + }), + (a.prototype.umod = function (t) { + return this.divmod(t, 'mod', !0).mod; + }), + (a.prototype.divRound = function (t) { + var e = this.divmod(t); + if (e.mod.isZero()) return e.div; + var r = 0 !== e.div.negative ? e.mod.isub(t) : e.mod, + n = t.ushrn(1), + i = t.andln(1), + a = r.cmp(n); + return a < 0 || (1 === i && 0 === a) + ? e.div + : 0 !== e.div.negative + ? e.div.isubn(1) + : e.div.iaddn(1); + }), + (a.prototype.modn = function (t) { + n(t <= 67108863); + for ( + var e = (1 << 26) % t, r = 0, i = this.length - 1; + i >= 0; + i-- + ) + r = (e * r + (0 | this.words[i])) % t; + return r; + }), + (a.prototype.idivn = function (t) { + n(t <= 67108863); + for (var e = 0, r = this.length - 1; r >= 0; r--) { + var i = (0 | this.words[r]) + 67108864 * e; + (this.words[r] = (i / t) | 0), (e = i % t); + } + return this.strip(); + }), + (a.prototype.divn = function (t) { + return this.clone().idivn(t); + }), + (a.prototype.egcd = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i = new a(1), + o = new a(0), + s = new a(0), + l = new a(1), + c = 0; + e.isEven() && r.isEven(); + + ) + e.iushrn(1), r.iushrn(1), ++c; + for (var u = r.clone(), f = e.clone(); !e.isZero(); ) { + for ( + var h = 0, p = 1; + 0 == (e.words[0] & p) && h < 26; + ++h, p <<= 1 + ); + if (h > 0) + for (e.iushrn(h); h-- > 0; ) + (i.isOdd() || o.isOdd()) && (i.iadd(u), o.isub(f)), + i.iushrn(1), + o.iushrn(1); + for ( + var d = 0, g = 1; + 0 == (r.words[0] & g) && d < 26; + ++d, g <<= 1 + ); + if (d > 0) + for (r.iushrn(d); d-- > 0; ) + (s.isOdd() || l.isOdd()) && (s.iadd(u), l.isub(f)), + s.iushrn(1), + l.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), i.isub(s), o.isub(l)) + : (r.isub(e), s.isub(i), l.isub(o)); + } + return { a: s, b: l, gcd: r.iushln(c) }; + }), + (a.prototype._invmp = function (t) { + n(0 === t.negative), n(!t.isZero()); + var e = this, + r = t.clone(); + e = 0 !== e.negative ? e.umod(t) : e.clone(); + for ( + var i, o = new a(1), s = new a(0), l = r.clone(); + e.cmpn(1) > 0 && r.cmpn(1) > 0; + + ) { + for ( + var c = 0, u = 1; + 0 == (e.words[0] & u) && c < 26; + ++c, u <<= 1 + ); + if (c > 0) + for (e.iushrn(c); c-- > 0; ) + o.isOdd() && o.iadd(l), o.iushrn(1); + for ( + var f = 0, h = 1; + 0 == (r.words[0] & h) && f < 26; + ++f, h <<= 1 + ); + if (f > 0) + for (r.iushrn(f); f-- > 0; ) + s.isOdd() && s.iadd(l), s.iushrn(1); + e.cmp(r) >= 0 + ? (e.isub(r), o.isub(s)) + : (r.isub(e), s.isub(o)); + } + return ( + (i = 0 === e.cmpn(1) ? o : s).cmpn(0) < 0 && i.iadd(t), i + ); + }), + (a.prototype.gcd = function (t) { + if (this.isZero()) return t.abs(); + if (t.isZero()) return this.abs(); + var e = this.clone(), + r = t.clone(); + (e.negative = 0), (r.negative = 0); + for (var n = 0; e.isEven() && r.isEven(); n++) + e.iushrn(1), r.iushrn(1); + for (;;) { + for (; e.isEven(); ) e.iushrn(1); + for (; r.isEven(); ) r.iushrn(1); + var i = e.cmp(r); + if (i < 0) { + var a = e; + (e = r), (r = a); + } else if (0 === i || 0 === r.cmpn(1)) break; + e.isub(r); + } + return r.iushln(n); + }), + (a.prototype.invm = function (t) { + return this.egcd(t).a.umod(t); + }), + (a.prototype.isEven = function () { + return 0 == (1 & this.words[0]); + }), + (a.prototype.isOdd = function () { + return 1 == (1 & this.words[0]); + }), + (a.prototype.andln = function (t) { + return this.words[0] & t; + }), + (a.prototype.bincn = function (t) { + n('number' == typeof t); + var e = t % 26, + r = (t - e) / 26, + i = 1 << e; + if (this.length <= r) + return this._expand(r + 1), (this.words[r] |= i), this; + for (var a = i, o = r; 0 !== a && o < this.length; o++) { + var s = 0 | this.words[o]; + (a = (s += a) >>> 26), (s &= 67108863), (this.words[o] = s); + } + return 0 !== a && ((this.words[o] = a), this.length++), this; + }), + (a.prototype.isZero = function () { + return 1 === this.length && 0 === this.words[0]; + }), + (a.prototype.cmpn = function (t) { + var e, + r = t < 0; + if (0 !== this.negative && !r) return -1; + if (0 === this.negative && r) return 1; + if ((this.strip(), this.length > 1)) e = 1; + else { + r && (t = -t), n(t <= 67108863, 'Number is too big'); + var i = 0 | this.words[0]; + e = i === t ? 0 : i < t ? -1 : 1; + } + return 0 !== this.negative ? 0 | -e : e; + }), + (a.prototype.cmp = function (t) { + if (0 !== this.negative && 0 === t.negative) return -1; + if (0 === this.negative && 0 !== t.negative) return 1; + var e = this.ucmp(t); + return 0 !== this.negative ? 0 | -e : e; + }), + (a.prototype.ucmp = function (t) { + if (this.length > t.length) return 1; + if (this.length < t.length) return -1; + for (var e = 0, r = this.length - 1; r >= 0; r--) { + var n = 0 | this.words[r], + i = 0 | t.words[r]; + if (n !== i) { + n < i ? (e = -1) : n > i && (e = 1); + break; + } + } + return e; + }), + (a.prototype.gtn = function (t) { + return 1 === this.cmpn(t); + }), + (a.prototype.gt = function (t) { + return 1 === this.cmp(t); + }), + (a.prototype.gten = function (t) { + return this.cmpn(t) >= 0; + }), + (a.prototype.gte = function (t) { + return this.cmp(t) >= 0; + }), + (a.prototype.ltn = function (t) { + return -1 === this.cmpn(t); + }), + (a.prototype.lt = function (t) { + return -1 === this.cmp(t); + }), + (a.prototype.lten = function (t) { + return this.cmpn(t) <= 0; + }), + (a.prototype.lte = function (t) { + return this.cmp(t) <= 0; + }), + (a.prototype.eqn = function (t) { + return 0 === this.cmpn(t); + }), + (a.prototype.eq = function (t) { + return 0 === this.cmp(t); + }), + (a.red = function (t) { + return new w(t); + }), + (a.prototype.toRed = function (t) { + return ( + n(!this.red, 'Already a number in reduction context'), + n(0 === this.negative, 'red works only with positives'), + t.convertTo(this)._forceRed(t) + ); + }), + (a.prototype.fromRed = function () { + return ( + n( + this.red, + 'fromRed works only with numbers in reduction context' + ), + this.red.convertFrom(this) + ); + }), + (a.prototype._forceRed = function (t) { + return (this.red = t), this; + }), + (a.prototype.forceRed = function (t) { + return ( + n(!this.red, 'Already a number in reduction context'), + this._forceRed(t) + ); + }), + (a.prototype.redAdd = function (t) { + return ( + n(this.red, 'redAdd works only with red numbers'), + this.red.add(this, t) + ); + }), + (a.prototype.redIAdd = function (t) { + return ( + n(this.red, 'redIAdd works only with red numbers'), + this.red.iadd(this, t) + ); + }), + (a.prototype.redSub = function (t) { + return ( + n(this.red, 'redSub works only with red numbers'), + this.red.sub(this, t) + ); + }), + (a.prototype.redISub = function (t) { + return ( + n(this.red, 'redISub works only with red numbers'), + this.red.isub(this, t) + ); + }), + (a.prototype.redShl = function (t) { + return ( + n(this.red, 'redShl works only with red numbers'), + this.red.shl(this, t) + ); + }), + (a.prototype.redMul = function (t) { + return ( + n(this.red, 'redMul works only with red numbers'), + this.red._verify2(this, t), + this.red.mul(this, t) + ); + }), + (a.prototype.redIMul = function (t) { + return ( + n(this.red, 'redMul works only with red numbers'), + this.red._verify2(this, t), + this.red.imul(this, t) + ); + }), + (a.prototype.redSqr = function () { + return ( + n(this.red, 'redSqr works only with red numbers'), + this.red._verify1(this), + this.red.sqr(this) + ); + }), + (a.prototype.redISqr = function () { + return ( + n(this.red, 'redISqr works only with red numbers'), + this.red._verify1(this), + this.red.isqr(this) + ); + }), + (a.prototype.redSqrt = function () { + return ( + n(this.red, 'redSqrt works only with red numbers'), + this.red._verify1(this), + this.red.sqrt(this) + ); + }), + (a.prototype.redInvm = function () { + return ( + n(this.red, 'redInvm works only with red numbers'), + this.red._verify1(this), + this.red.invm(this) + ); + }), + (a.prototype.redNeg = function () { + return ( + n(this.red, 'redNeg works only with red numbers'), + this.red._verify1(this), + this.red.neg(this) + ); + }), + (a.prototype.redPow = function (t) { + return ( + n(this.red && !t.red, 'redPow(normalNum)'), + this.red._verify1(this), + this.red.pow(this, t) + ); + }); + var m = { k256: null, p224: null, p192: null, p25519: null }; + function v(t, e) { + (this.name = t), + (this.p = new a(e, 16)), + (this.n = this.p.bitLength()), + (this.k = new a(1).iushln(this.n).isub(this.p)), + (this.tmp = this._tmp()); + } + function y() { + v.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f' + ); + } + function x() { + v.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001' + ); + } + function b() { + v.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff' + ); + } + function _() { + v.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed' + ); + } + function w(t) { + if ('string' == typeof t) { + var e = a._prime(t); + (this.m = e.p), (this.prime = e); + } else + n(t.gtn(1), 'modulus must be greater than 1'), + (this.m = t), + (this.prime = null); + } + function T(t) { + w.call(this, t), + (this.shift = this.m.bitLength()), + this.shift % 26 != 0 && (this.shift += 26 - (this.shift % 26)), + (this.r = new a(1).iushln(this.shift)), + (this.r2 = this.imod(this.r.sqr())), + (this.rinv = this.r._invmp(this.m)), + (this.minv = this.rinv.mul(this.r).isubn(1).div(this.m)), + (this.minv = this.minv.umod(this.r)), + (this.minv = this.r.sub(this.minv)); + } + (v.prototype._tmp = function () { + var t = new a(null); + return (t.words = new Array(Math.ceil(this.n / 13))), t; + }), + (v.prototype.ireduce = function (t) { + var e, + r = t; + do { + this.split(r, this.tmp), + (e = (r = (r = this.imulK(r)).iadd(this.tmp)).bitLength()); + } while (e > this.n); + var n = e < this.n ? -1 : r.ucmp(this.p); + return ( + 0 === n + ? ((r.words[0] = 0), (r.length = 1)) + : n > 0 + ? r.isub(this.p) + : r.strip(), + r + ); + }), + (v.prototype.split = function (t, e) { + t.iushrn(this.n, 0, e); + }), + (v.prototype.imulK = function (t) { + return t.imul(this.k); + }), + i(y, v), + (y.prototype.split = function (t, e) { + for (var r = Math.min(t.length, 9), n = 0; n < r; n++) + e.words[n] = t.words[n]; + if (((e.length = r), t.length <= 9)) + return (t.words[0] = 0), void (t.length = 1); + var i = t.words[9]; + for ( + e.words[e.length++] = 4194303 & i, n = 10; + n < t.length; + n++ + ) { + var a = 0 | t.words[n]; + (t.words[n - 10] = ((4194303 & a) << 4) | (i >>> 22)), + (i = a); + } + (i >>>= 22), + (t.words[n - 10] = i), + 0 === i && t.length > 10 ? (t.length -= 10) : (t.length -= 9); + }), + (y.prototype.imulK = function (t) { + (t.words[t.length] = 0), + (t.words[t.length + 1] = 0), + (t.length += 2); + for (var e = 0, r = 0; r < t.length; r++) { + var n = 0 | t.words[r]; + (e += 977 * n), + (t.words[r] = 67108863 & e), + (e = 64 * n + ((e / 67108864) | 0)); + } + return ( + 0 === t.words[t.length - 1] && + (t.length--, 0 === t.words[t.length - 1] && t.length--), + t + ); + }), + i(x, v), + i(b, v), + i(_, v), + (_.prototype.imulK = function (t) { + for (var e = 0, r = 0; r < t.length; r++) { + var n = 19 * (0 | t.words[r]) + e, + i = 67108863 & n; + (n >>>= 26), (t.words[r] = i), (e = n); + } + return 0 !== e && (t.words[t.length++] = e), t; + }), + (a._prime = function (t) { + if (m[t]) return m[t]; + var e; + if ('k256' === t) e = new y(); + else if ('p224' === t) e = new x(); + else if ('p192' === t) e = new b(); + else { + if ('p25519' !== t) throw new Error('Unknown prime ' + t); + e = new _(); + } + return (m[t] = e), e; + }), + (w.prototype._verify1 = function (t) { + n(0 === t.negative, 'red works only with positives'), + n(t.red, 'red works only with red numbers'); + }), + (w.prototype._verify2 = function (t, e) { + n( + 0 == (t.negative | e.negative), + 'red works only with positives' + ), + n( + t.red && t.red === e.red, + 'red works only with red numbers' + ); + }), + (w.prototype.imod = function (t) { + return this.prime + ? this.prime.ireduce(t)._forceRed(this) + : t.umod(this.m)._forceRed(this); + }), + (w.prototype.neg = function (t) { + return t.isZero() ? t.clone() : this.m.sub(t)._forceRed(this); + }), + (w.prototype.add = function (t, e) { + this._verify2(t, e); + var r = t.add(e); + return r.cmp(this.m) >= 0 && r.isub(this.m), r._forceRed(this); + }), + (w.prototype.iadd = function (t, e) { + this._verify2(t, e); + var r = t.iadd(e); + return r.cmp(this.m) >= 0 && r.isub(this.m), r; + }), + (w.prototype.sub = function (t, e) { + this._verify2(t, e); + var r = t.sub(e); + return r.cmpn(0) < 0 && r.iadd(this.m), r._forceRed(this); + }), + (w.prototype.isub = function (t, e) { + this._verify2(t, e); + var r = t.isub(e); + return r.cmpn(0) < 0 && r.iadd(this.m), r; + }), + (w.prototype.shl = function (t, e) { + return this._verify1(t), this.imod(t.ushln(e)); + }), + (w.prototype.imul = function (t, e) { + return this._verify2(t, e), this.imod(t.imul(e)); + }), + (w.prototype.mul = function (t, e) { + return this._verify2(t, e), this.imod(t.mul(e)); + }), + (w.prototype.isqr = function (t) { + return this.imul(t, t.clone()); + }), + (w.prototype.sqr = function (t) { + return this.mul(t, t); + }), + (w.prototype.sqrt = function (t) { + if (t.isZero()) return t.clone(); + var e = this.m.andln(3); + if ((n(e % 2 == 1), 3 === e)) { + var r = this.m.add(new a(1)).iushrn(2); + return this.pow(t, r); + } + for ( + var i = this.m.subn(1), o = 0; + !i.isZero() && 0 === i.andln(1); + + ) + o++, i.iushrn(1); + n(!i.isZero()); + var s = new a(1).toRed(this), + l = s.redNeg(), + c = this.m.subn(1).iushrn(1), + u = this.m.bitLength(); + for ( + u = new a(2 * u * u).toRed(this); + 0 !== this.pow(u, c).cmp(l); + + ) + u.redIAdd(l); + for ( + var f = this.pow(u, i), + h = this.pow(t, i.addn(1).iushrn(1)), + p = this.pow(t, i), + d = o; + 0 !== p.cmp(s); + + ) { + for (var g = p, m = 0; 0 !== g.cmp(s); m++) g = g.redSqr(); + n(m < d); + var v = this.pow(f, new a(1).iushln(d - m - 1)); + (h = h.redMul(v)), + (f = v.redSqr()), + (p = p.redMul(f)), + (d = m); + } + return h; + }), + (w.prototype.invm = function (t) { + var e = t._invmp(this.m); + return 0 !== e.negative + ? ((e.negative = 0), this.imod(e).redNeg()) + : this.imod(e); + }), + (w.prototype.pow = function (t, e) { + if (e.isZero()) return new a(1).toRed(this); + if (0 === e.cmpn(1)) return t.clone(); + var r = new Array(16); + (r[0] = new a(1).toRed(this)), (r[1] = t); + for (var n = 2; n < r.length; n++) r[n] = this.mul(r[n - 1], t); + var i = r[0], + o = 0, + s = 0, + l = e.bitLength() % 26; + for (0 === l && (l = 26), n = e.length - 1; n >= 0; n--) { + for (var c = e.words[n], u = l - 1; u >= 0; u--) { + var f = (c >> u) & 1; + i !== r[0] && (i = this.sqr(i)), + 0 !== f || 0 !== o + ? ((o <<= 1), + (o |= f), + (4 === ++s || (0 === n && 0 === u)) && + ((i = this.mul(i, r[o])), (s = 0), (o = 0))) + : (s = 0); + } + l = 26; + } + return i; + }), + (w.prototype.convertTo = function (t) { + var e = t.umod(this.m); + return e === t ? e.clone() : e; + }), + (w.prototype.convertFrom = function (t) { + var e = t.clone(); + return (e.red = null), e; + }), + (a.mont = function (t) { + return new T(t); + }), + i(T, w), + (T.prototype.convertTo = function (t) { + return this.imod(t.ushln(this.shift)); + }), + (T.prototype.convertFrom = function (t) { + var e = this.imod(t.mul(this.rinv)); + return (e.red = null), e; + }), + (T.prototype.imul = function (t, e) { + if (t.isZero() || e.isZero()) + return (t.words[0] = 0), (t.length = 1), t; + var r = t.imul(e), + n = r + .maskn(this.shift) + .mul(this.minv) + .imaskn(this.shift) + .mul(this.m), + i = r.isub(n).iushrn(this.shift), + a = i; + return ( + i.cmp(this.m) >= 0 + ? (a = i.isub(this.m)) + : i.cmpn(0) < 0 && (a = i.iadd(this.m)), + a._forceRed(this) + ); + }), + (T.prototype.mul = function (t, e) { + if (t.isZero() || e.isZero()) return new a(0)._forceRed(this); + var r = t.mul(e), + n = r + .maskn(this.shift) + .mul(this.minv) + .imaskn(this.shift) + .mul(this.m), + i = r.isub(n).iushrn(this.shift), + o = i; + return ( + i.cmp(this.m) >= 0 + ? (o = i.isub(this.m)) + : i.cmpn(0) < 0 && (o = i.iadd(this.m)), + o._forceRed(this) + ); + }), + (T.prototype.invm = function (t) { + return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this); + }); + })('undefined' == typeof e || e, this); + }, + { buffer: 108 }, + ], + 100: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e, + r, + n, + i = t.length, + a = 0; + for (e = 0; e < i; ++e) a += t[e].length; + var o = new Array(a), + s = 0; + for (e = 0; e < i; ++e) { + var l = t[e], + c = l.length; + for (r = 0; r < c; ++r) { + var u = (o[s++] = new Array(c - 1)), + f = 0; + for (n = 0; n < c; ++n) n !== r && (u[f++] = l[n]); + if (1 & r) { + var h = u[1]; + (u[1] = u[0]), (u[0] = h); + } + } + } + return o; + }; + }, + {}, + ], + 101: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + switch (arguments.length) { + case 1: + return f(t); + case 2: + return 'function' == typeof e ? c(t, t, e, !0) : h(t, e); + case 3: + return c(t, e, r, !1); + default: + throw new Error('box-intersect: Invalid arguments'); + } + }; + var n, + i = t('typedarray-pool'), + a = t('./lib/sweep'), + o = t('./lib/intersect'); + function s(t, e) { + for (var r = 0; r < t; ++r) if (!(e[r] <= e[r + t])) return !0; + return !1; + } + function l(t, e, r, n) { + for (var i = 0, a = 0, o = 0, l = t.length; o < l; ++o) { + var c = t[o]; + if (!s(e, c)) { + for (var u = 0; u < 2 * e; ++u) r[i++] = c[u]; + n[a++] = o; + } + } + return a; + } + function c(t, e, r, n) { + var s = t.length, + c = e.length; + if (!(s <= 0 || c <= 0)) { + var u = t[0].length >>> 1; + if (!(u <= 0)) { + var f, + h = i.mallocDouble(2 * u * s), + p = i.mallocInt32(s); + if ((s = l(t, u, h, p)) > 0) { + if (1 === u && n) + a.init(s), + (f = a.sweepComplete(u, r, 0, s, h, p, 0, s, h, p)); + else { + var d = i.mallocDouble(2 * u * c), + g = i.mallocInt32(c); + (c = l(e, u, d, g)) > 0 && + (a.init(s + c), + (f = + 1 === u + ? a.sweepBipartite(u, r, 0, s, h, p, 0, c, d, g) + : o(u, r, n, s, h, p, c, d, g)), + i.free(d), + i.free(g)); + } + i.free(h), i.free(p); + } + return f; + } + } + } + function u(t, e) { + n.push([t, e]); + } + function f(t) { + return (n = []), c(t, t, u, !0), n; + } + function h(t, e) { + return (n = []), c(t, e, u, !1), n; + } + }, + { './lib/intersect': 103, './lib/sweep': 107, 'typedarray-pool': 595 }, + ], + 102: [ + function (t, e, r) { + 'use strict'; + var n = [ + 'd', + 'ax', + 'vv', + 'rs', + 're', + 'rb', + 'ri', + 'bs', + 'be', + 'bb', + 'bi', + ]; + function i(t) { + var e = 'bruteForce' + (t ? 'Full' : 'Partial'), + r = [], + i = n.slice(); + t || i.splice(3, 0, 'fp'); + var a = ['function ' + e + '(' + i.join() + '){']; + function o(e, i) { + var o = (function (t, e, r) { + var i = + 'bruteForce' + + (t ? 'Red' : 'Blue') + + (e ? 'Flip' : '') + + (r ? 'Full' : ''), + a = [ + 'function ', + i, + '(', + n.join(), + '){', + 'var ', + 'es', + '=2*', + 'd', + ';', + ], + o = + 'for(var i=rs,rp=es*rs;ibe-bs){'), + t + ? (o(!0, !1), a.push('}else{'), o(!1, !1)) + : (a.push('if(fp){'), + o(!0, !0), + a.push('}else{'), + o(!0, !1), + a.push('}}else{if(fp){'), + o(!1, !0), + a.push('}else{'), + o(!1, !1), + a.push('}')), + a.push('}}return ' + e); + var s = r.join('') + a.join(''); + return new Function(s)(); + } + (r.partial = i(!1)), (r.full = i(!0)); + }, + {}, + ], + 103: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, a, u, w, T, k, M) { + !(function (t, e) { + var r = (8 * i.log2(e + 1) * (t + 1)) | 0, + a = i.nextPow2(6 * r); + v.length < a && (n.free(v), (v = n.mallocInt32(a))); + var o = i.nextPow2(2 * r); + y.length < o && (n.free(y), (y = n.mallocDouble(o))); + })(t, a + T); + var A, + S = 0, + E = 2 * t; + x(S++, 0, 0, a, 0, T, r ? 16 : 0, -1 / 0, 1 / 0), + r || x(S++, 0, 0, T, 0, a, 1, -1 / 0, 1 / 0); + for (; S > 0; ) { + var C = 6 * (S -= 1), + L = v[C], + I = v[C + 1], + P = v[C + 2], + z = v[C + 3], + O = v[C + 4], + D = v[C + 5], + R = 2 * S, + F = y[R], + B = y[R + 1], + N = 1 & D, + j = !!(16 & D), + U = u, + V = w, + q = k, + H = M; + if ( + (N && ((U = k), (V = M), (q = u), (H = w)), + !( + (2 & D && ((P = p(t, L, I, P, U, V, B)), I >= P)) || + (4 & D && (I = d(t, L, I, P, U, V, F)) >= P) + )) + ) { + var G = P - I, + Y = O - z; + if (j) { + if (t * G * (G + Y) < 1 << 22) { + if ( + void 0 !== + (A = l.scanComplete(t, L, e, I, P, U, V, z, O, q, H)) + ) + return A; + continue; + } + } else { + if (t * Math.min(G, Y) < 128) { + if (void 0 !== (A = o(t, L, e, N, I, P, U, V, z, O, q, H))) + return A; + continue; + } + if (t * G * Y < 1 << 22) { + if ( + void 0 !== + (A = l.scanBipartite(t, L, e, N, I, P, U, V, z, O, q, H)) + ) + return A; + continue; + } + } + var W = f(t, L, I, P, U, V, F, B); + if (I < W) + if (t * (W - I) < 128) { + if (void 0 !== (A = s(t, L + 1, e, I, W, U, V, z, O, q, H))) + return A; + } else if (L === t - 2) { + if ( + void 0 !== + (A = N + ? l.sweepBipartite(t, e, z, O, q, H, I, W, U, V) + : l.sweepBipartite(t, e, I, W, U, V, z, O, q, H)) + ) + return A; + } else + x(S++, L + 1, I, W, z, O, N, -1 / 0, 1 / 0), + x(S++, L + 1, z, O, I, W, 1 ^ N, -1 / 0, 1 / 0); + if (W < P) { + var X = c(t, L, z, O, q, H), + Z = q[E * X + L], + J = h(t, L, X, O, q, H, Z); + if ( + (J < O && + x(S++, L, W, P, J, O, (4 | N) + (j ? 16 : 0), Z, B), + z < X && + x(S++, L, W, P, z, X, (2 | N) + (j ? 16 : 0), F, Z), + X + 1 === J) + ) { + if ( + void 0 !== + (A = j + ? _(t, L, e, W, P, U, V, X, q, H[X]) + : b(t, L, e, N, W, P, U, V, X, q, H[X])) + ) + return A; + } else if (X < J) { + var K; + if (j) { + if (((K = g(t, L, W, P, U, V, Z)), W < K)) { + var Q = h(t, L, W, K, U, V, Z); + if (L === t - 2) { + if ( + W < Q && + void 0 !== + (A = l.sweepComplete( + t, + e, + W, + Q, + U, + V, + X, + J, + q, + H + )) + ) + return A; + if ( + Q < K && + void 0 !== + (A = l.sweepBipartite( + t, + e, + Q, + K, + U, + V, + X, + J, + q, + H + )) + ) + return A; + } else + W < Q && x(S++, L + 1, W, Q, X, J, 16, -1 / 0, 1 / 0), + Q < K && + (x(S++, L + 1, Q, K, X, J, 0, -1 / 0, 1 / 0), + x(S++, L + 1, X, J, Q, K, 1, -1 / 0, 1 / 0)); + } + } else + (K = N ? m(t, L, W, P, U, V, Z) : g(t, L, W, P, U, V, Z)), + W < K && + (L === t - 2 + ? (A = N + ? l.sweepBipartite(t, e, X, J, q, H, W, K, U, V) + : l.sweepBipartite( + t, + e, + W, + K, + U, + V, + X, + J, + q, + H + )) + : (x(S++, L + 1, W, K, X, J, N, -1 / 0, 1 / 0), + x(S++, L + 1, X, J, W, K, 1 ^ N, -1 / 0, 1 / 0))); + } + } + } + } + }; + var n = t('typedarray-pool'), + i = t('bit-twiddle'), + a = t('./brute'), + o = a.partial, + s = a.full, + l = t('./sweep'), + c = t('./median'), + u = t('./partition'), + f = u('!(lo>=p0)&&!(p1>=hi)', ['p0', 'p1']), + h = u('lo===p0', ['p0']), + p = u('lo>> 1, + f = 2 * t, + h = u, + p = o[f * u + e]; + for (; l < c; ) { + if (c - l < 8) { + i(t, e, l, c, o, s), (p = o[f * u + e]); + break; + } + var d = c - l, + g = (Math.random() * d + l) | 0, + m = o[f * g + e], + v = (Math.random() * d + l) | 0, + y = o[f * v + e], + x = (Math.random() * d + l) | 0, + b = o[f * x + e]; + m <= y + ? b >= y + ? ((h = v), (p = y)) + : m >= b + ? ((h = g), (p = m)) + : ((h = x), (p = b)) + : y >= b + ? ((h = v), (p = y)) + : b >= m + ? ((h = g), (p = m)) + : ((h = x), (p = b)); + for ( + var _ = f * (c - 1), w = f * h, T = 0; + T < f; + ++T, ++_, ++w + ) { + var k = o[_]; + (o[_] = o[w]), (o[w] = k); + } + var M = s[c - 1]; + (s[c - 1] = s[h]), (s[h] = M), (h = n(t, e, l, c - 1, o, s, p)); + for (_ = f * (c - 1), w = f * h, T = 0; T < f; ++T, ++_, ++w) { + k = o[_]; + (o[_] = o[w]), (o[w] = k); + } + M = s[c - 1]; + if (((s[c - 1] = s[h]), (s[h] = M), u < h)) { + for (c = h - 1; l < c && o[f * (c - 1) + e] === p; ) c -= 1; + c += 1; + } else { + if (!(h < u)) break; + for (l = h + 1; l < c && o[f * l + e] === p; ) l += 1; + } + } + return n(t, e, r, u, o, s, o[f * u + e]); + }; + var n = t('./partition')('lo r && i[f + e] > c; + --u, f -= o + ) { + for (var h = f, p = f + o, d = 0; d < o; ++d, ++h, ++p) { + var g = i[h]; + (i[h] = i[p]), (i[p] = g); + } + var m = a[u]; + (a[u] = a[u - 1]), (a[u - 1] = m); + } + } + }, + { './partition': 105 }, + ], + 105: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = 'abcdef'.split('').concat(e), + n = []; + t.indexOf('lo') >= 0 && n.push('lo=e[k+n]'); + t.indexOf('hi') >= 0 && n.push('hi=e[k+o]'); + return ( + r.push( + 'for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m' + .replace('_', n.join()) + .replace('$', t) + ), + Function.apply(void 0, r) + ); + }; + }, + {}, + ], + 106: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + e <= 128 + ? n(0, e - 1, t) + : (function t(e, r, u) { + var f = ((r - e + 1) / 6) | 0, + h = e + f, + p = r - f, + d = (e + r) >> 1, + g = d - f, + m = d + f, + v = h, + y = g, + x = d, + b = m, + _ = p, + w = e + 1, + T = r - 1, + k = 0; + l(v, y, u) && ((k = v), (v = y), (y = k)); + l(b, _, u) && ((k = b), (b = _), (_ = k)); + l(v, x, u) && ((k = v), (v = x), (x = k)); + l(y, x, u) && ((k = y), (y = x), (x = k)); + l(v, b, u) && ((k = v), (v = b), (b = k)); + l(x, b, u) && ((k = x), (x = b), (b = k)); + l(y, _, u) && ((k = y), (y = _), (_ = k)); + l(y, x, u) && ((k = y), (y = x), (x = k)); + l(b, _, u) && ((k = b), (b = _), (_ = k)); + for ( + var M = u[2 * y], + A = u[2 * y + 1], + S = u[2 * b], + E = u[2 * b + 1], + C = 2 * v, + L = 2 * x, + I = 2 * _, + P = 2 * h, + z = 2 * d, + O = 2 * p, + D = 0; + D < 2; + ++D + ) { + var R = u[C + D], + F = u[L + D], + B = u[I + D]; + (u[P + D] = R), (u[z + D] = F), (u[O + D] = B); + } + a(g, e, u), a(m, r, u); + for (var N = w; N <= T; ++N) + if (c(N, M, A, u)) N !== w && i(N, w, u), ++w; + else if (!c(N, S, E, u)) + for (;;) { + if (c(T, S, E, u)) { + c(T, M, A, u) + ? (o(N, w, T, u), ++w, --T) + : (i(N, T, u), --T); + break; + } + if (--T < N) break; + } + s(e, w - 1, M, A, u), + s(r, T + 1, S, E, u), + w - 2 - e <= 32 ? n(e, w - 2, u) : t(e, w - 2, u); + r - (T + 2) <= 32 ? n(T + 2, r, u) : t(T + 2, r, u); + T - w <= 32 ? n(w, T, u) : t(w, T, u); + })(0, e - 1, t); + }; + function n(t, e, r) { + for (var n = 2 * (t + 1), i = t + 1; i <= e; ++i) { + for (var a = r[n++], o = r[n++], s = i, l = n - 2; s-- > t; ) { + var c = r[l - 2], + u = r[l - 1]; + if (c < a) break; + if (c === a && u < o) break; + (r[l] = c), (r[l + 1] = u), (l -= 2); + } + (r[l] = a), (r[l + 1] = o); + } + } + function i(t, e, r) { + e *= 2; + var n = r[(t *= 2)], + i = r[t + 1]; + (r[t] = r[e]), (r[t + 1] = r[e + 1]), (r[e] = n), (r[e + 1] = i); + } + function a(t, e, r) { + (e *= 2), (r[(t *= 2)] = r[e]), (r[t + 1] = r[e + 1]); + } + function o(t, e, r, n) { + (e *= 2), (r *= 2); + var i = n[(t *= 2)], + a = n[t + 1]; + (n[t] = n[e]), + (n[t + 1] = n[e + 1]), + (n[e] = n[r]), + (n[e + 1] = n[r + 1]), + (n[r] = i), + (n[r + 1] = a); + } + function s(t, e, r, n, i) { + (e *= 2), + (i[(t *= 2)] = i[e]), + (i[e] = r), + (i[t + 1] = i[e + 1]), + (i[e + 1] = n); + } + function l(t, e, r) { + e *= 2; + var n = r[(t *= 2)], + i = r[e]; + return !(n < i) && (n !== i || r[t + 1] > r[e + 1]); + } + function c(t, e, r, n) { + var i = n[(t *= 2)]; + return i < e || (i === e && n[t + 1] < r); + } + }, + {}, + ], + 107: [ + function (t, e, r) { + 'use strict'; + e.exports = { + init: function (t) { + var e = i.nextPow2(t); + o.length < e && (n.free(o), (o = n.mallocInt32(e))); + s.length < e && (n.free(s), (s = n.mallocInt32(e))); + l.length < e && (n.free(l), (l = n.mallocInt32(e))); + c.length < e && (n.free(c), (c = n.mallocInt32(e))); + u.length < e && (n.free(u), (u = n.mallocInt32(e))); + f.length < e && (n.free(f), (f = n.mallocInt32(e))); + var r = 8 * e; + h.length < r && (n.free(h), (h = n.mallocDouble(r))); + }, + sweepBipartite: function (t, e, r, n, i, u, f, g, m, v) { + for ( + var y = 0, x = 2 * t, b = t - 1, _ = x - 1, w = r; + w < n; + ++w + ) { + var T = u[w], + k = x * w; + (h[y++] = i[k + b]), + (h[y++] = -(T + 1)), + (h[y++] = i[k + _]), + (h[y++] = T); + } + for (w = f; w < g; ++w) { + T = v[w] + (1 << 28); + var M = x * w; + (h[y++] = m[M + b]), + (h[y++] = -T), + (h[y++] = m[M + _]), + (h[y++] = T); + } + var A = y >>> 1; + a(h, A); + var S = 0, + E = 0; + for (w = 0; w < A; ++w) { + var C = 0 | h[2 * w + 1]; + if (C >= 1 << 28) p(l, c, E--, (C = (C - (1 << 28)) | 0)); + else if (C >= 0) p(o, s, S--, C); + else if (C <= -(1 << 28)) { + C = (-C - (1 << 28)) | 0; + for (var L = 0; L < S; ++L) { + if (void 0 !== (I = e(o[L], C))) return I; + } + d(l, c, E++, C); + } else { + C = (-C - 1) | 0; + for (L = 0; L < E; ++L) { + var I; + if (void 0 !== (I = e(C, l[L]))) return I; + } + d(o, s, S++, C); + } + } + }, + sweepComplete: function (t, e, r, n, i, g, m, v, y, x) { + for ( + var b = 0, _ = 2 * t, w = t - 1, T = _ - 1, k = r; + k < n; + ++k + ) { + var M = (g[k] + 1) << 1, + A = _ * k; + (h[b++] = i[A + w]), + (h[b++] = -M), + (h[b++] = i[A + T]), + (h[b++] = M); + } + for (k = m; k < v; ++k) { + M = (x[k] + 1) << 1; + var S = _ * k; + (h[b++] = y[S + w]), + (h[b++] = 1 | -M), + (h[b++] = y[S + T]), + (h[b++] = 1 | M); + } + var E = b >>> 1; + a(h, E); + var C = 0, + L = 0, + I = 0; + for (k = 0; k < E; ++k) { + var P = 0 | h[2 * k + 1], + z = 1 & P; + if ( + (k < E - 1 && + P >> 1 == h[2 * k + 3] >> 1 && + ((z = 2), (k += 1)), + P < 0) + ) { + for (var O = -(P >> 1) - 1, D = 0; D < I; ++D) { + if (void 0 !== (R = e(u[D], O))) return R; + } + if (0 !== z) + for (D = 0; D < C; ++D) { + if (void 0 !== (R = e(o[D], O))) return R; + } + if (1 !== z) + for (D = 0; D < L; ++D) { + var R; + if (void 0 !== (R = e(l[D], O))) return R; + } + 0 === z + ? d(o, s, C++, O) + : 1 === z + ? d(l, c, L++, O) + : 2 === z && d(u, f, I++, O); + } else { + O = (P >> 1) - 1; + 0 === z + ? p(o, s, C--, O) + : 1 === z + ? p(l, c, L--, O) + : 2 === z && p(u, f, I--, O); + } + } + }, + scanBipartite: function (t, e, r, n, i, l, c, u, f, g, m, v) { + var y = 0, + x = 2 * t, + b = e, + _ = e + t, + w = 1, + T = 1; + n ? (T = 1 << 28) : (w = 1 << 28); + for (var k = i; k < l; ++k) { + var M = k + w, + A = x * k; + (h[y++] = c[A + b]), + (h[y++] = -M), + (h[y++] = c[A + _]), + (h[y++] = M); + } + for (k = f; k < g; ++k) { + M = k + T; + var S = x * k; + (h[y++] = m[S + b]), (h[y++] = -M); + } + var E = y >>> 1; + a(h, E); + var C = 0; + for (k = 0; k < E; ++k) { + var L = 0 | h[2 * k + 1]; + if (L < 0) { + var I = !1; + if ( + ((M = -L) >= 1 << 28 + ? ((I = !n), (M -= 1 << 28)) + : ((I = !!n), (M -= 1)), + I) + ) + d(o, s, C++, M); + else { + var P = v[M], + z = x * M, + O = m[z + e + 1], + D = m[z + e + 1 + t]; + t: for (var R = 0; R < C; ++R) { + var F = o[R], + B = x * F; + if (!(D < c[B + e + 1] || c[B + e + 1 + t] < O)) { + for (var N = e + 2; N < t; ++N) + if ( + m[z + N + t] < c[B + N] || + c[B + N + t] < m[z + N] + ) + continue t; + var j, + U = u[F]; + if (void 0 !== (j = n ? r(P, U) : r(U, P))) return j; + } + } + } + } else p(o, s, C--, L - w); + } + }, + scanComplete: function (t, e, r, n, i, s, l, c, u, f, p) { + for (var d = 0, g = 2 * t, m = e, v = e + t, y = n; y < i; ++y) { + var x = y + (1 << 28), + b = g * y; + (h[d++] = s[b + m]), + (h[d++] = -x), + (h[d++] = s[b + v]), + (h[d++] = x); + } + for (y = c; y < u; ++y) { + x = y + 1; + var _ = g * y; + (h[d++] = f[_ + m]), (h[d++] = -x); + } + var w = d >>> 1; + a(h, w); + var T = 0; + for (y = 0; y < w; ++y) { + var k = 0 | h[2 * y + 1]; + if (k < 0) { + if ((x = -k) >= 1 << 28) o[T++] = x - (1 << 28); + else { + var M = p[(x -= 1)], + A = g * x, + S = f[A + e + 1], + E = f[A + e + 1 + t]; + t: for (var C = 0; C < T; ++C) { + var L = o[C], + I = l[L]; + if (I === M) break; + var P = g * L; + if (!(E < s[P + e + 1] || s[P + e + 1 + t] < S)) { + for (var z = e + 2; z < t; ++z) + if ( + f[A + z + t] < s[P + z] || + s[P + z + t] < f[A + z] + ) + continue t; + var O = r(I, M); + if (void 0 !== O) return O; + } + } + } + } else { + for (x = k - (1 << 28), C = T - 1; C >= 0; --C) + if (o[C] === x) { + for (z = C + 1; z < T; ++z) o[z - 1] = o[z]; + break; + } + --T; + } + } + }, + }; + var n = t('typedarray-pool'), + i = t('bit-twiddle'), + a = t('./sort'), + o = n.mallocInt32(1024), + s = n.mallocInt32(1024), + l = n.mallocInt32(1024), + c = n.mallocInt32(1024), + u = n.mallocInt32(1024), + f = n.mallocInt32(1024), + h = n.mallocDouble(8192); + function p(t, e, r, n) { + var i = e[n], + a = t[r - 1]; + (t[i] = a), (e[a] = i); + } + function d(t, e, r, n) { + (t[r] = n), (e[n] = r); + } + }, + { './sort': 106, 'bit-twiddle': 97, 'typedarray-pool': 595 }, + ], + 108: [function (t, e, r) {}, {}], + 109: [ + function (t, e, r) { + arguments[4][108][0].apply(r, arguments); + }, + { dup: 108 }, + ], + 110: [ + function (t, e, r) { + 'use strict'; + var n, + i = 'object' == typeof Reflect ? Reflect : null, + a = + i && 'function' == typeof i.apply + ? i.apply + : function (t, e, r) { + return Function.prototype.apply.call(t, e, r); + }; + n = + i && 'function' == typeof i.ownKeys + ? i.ownKeys + : Object.getOwnPropertySymbols + ? function (t) { + return Object.getOwnPropertyNames(t).concat( + Object.getOwnPropertySymbols(t) + ); + } + : function (t) { + return Object.getOwnPropertyNames(t); + }; + var o = + Number.isNaN || + function (t) { + return t != t; + }; + function s() { + s.init.call(this); + } + (e.exports = s), + (e.exports.once = function (t, e) { + return new Promise(function (r, n) { + function i() { + void 0 !== a && t.removeListener('error', a), + r([].slice.call(arguments)); + } + var a; + 'error' !== e && + ((a = function (r) { + t.removeListener(e, i), n(r); + }), + t.once('error', a)), + t.once(e, i); + }); + }), + (s.EventEmitter = s), + (s.prototype._events = void 0), + (s.prototype._eventsCount = 0), + (s.prototype._maxListeners = void 0); + var l = 10; + function c(t) { + if ('function' != typeof t) + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + + typeof t + ); + } + function u(t) { + return void 0 === t._maxListeners + ? s.defaultMaxListeners + : t._maxListeners; + } + function f(t, e, r, n) { + var i, a, o, s; + if ( + (c(r), + void 0 === (a = t._events) + ? ((a = t._events = Object.create(null)), (t._eventsCount = 0)) + : (void 0 !== a.newListener && + (t.emit('newListener', e, r.listener ? r.listener : r), + (a = t._events)), + (o = a[e])), + void 0 === o) + ) + (o = a[e] = r), ++t._eventsCount; + else if ( + ('function' == typeof o + ? (o = a[e] = n ? [r, o] : [o, r]) + : n + ? o.unshift(r) + : o.push(r), + (i = u(t)) > 0 && o.length > i && !o.warned) + ) { + o.warned = !0; + var l = new Error( + 'Possible EventEmitter memory leak detected. ' + + o.length + + ' ' + + String(e) + + ' listeners added. Use emitter.setMaxListeners() to increase limit' + ); + (l.name = 'MaxListenersExceededWarning'), + (l.emitter = t), + (l.type = e), + (l.count = o.length), + (s = l), + console && console.warn && console.warn(s); + } + return t; + } + function h() { + if (!this.fired) + return ( + this.target.removeListener(this.type, this.wrapFn), + (this.fired = !0), + 0 === arguments.length + ? this.listener.call(this.target) + : this.listener.apply(this.target, arguments) + ); + } + function p(t, e, r) { + var n = { + fired: !1, + wrapFn: void 0, + target: t, + type: e, + listener: r, + }, + i = h.bind(n); + return (i.listener = r), (n.wrapFn = i), i; + } + function d(t, e, r) { + var n = t._events; + if (void 0 === n) return []; + var i = n[e]; + return void 0 === i + ? [] + : 'function' == typeof i + ? r + ? [i.listener || i] + : [i] + : r + ? (function (t) { + for (var e = new Array(t.length), r = 0; r < e.length; ++r) + e[r] = t[r].listener || t[r]; + return e; + })(i) + : m(i, i.length); + } + function g(t) { + var e = this._events; + if (void 0 !== e) { + var r = e[t]; + if ('function' == typeof r) return 1; + if (void 0 !== r) return r.length; + } + return 0; + } + function m(t, e) { + for (var r = new Array(e), n = 0; n < e; ++n) r[n] = t[n]; + return r; + } + Object.defineProperty(s, 'defaultMaxListeners', { + enumerable: !0, + get: function () { + return l; + }, + set: function (t) { + if ('number' != typeof t || t < 0 || o(t)) + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + + t + + '.' + ); + l = t; + }, + }), + (s.init = function () { + (void 0 !== this._events && + this._events !== Object.getPrototypeOf(this)._events) || + ((this._events = Object.create(null)), (this._eventsCount = 0)), + (this._maxListeners = this._maxListeners || void 0); + }), + (s.prototype.setMaxListeners = function (t) { + if ('number' != typeof t || t < 0 || o(t)) + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + + t + + '.' + ); + return (this._maxListeners = t), this; + }), + (s.prototype.getMaxListeners = function () { + return u(this); + }), + (s.prototype.emit = function (t) { + for (var e = [], r = 1; r < arguments.length; r++) + e.push(arguments[r]); + var n = 'error' === t, + i = this._events; + if (void 0 !== i) n = n && void 0 === i.error; + else if (!n) return !1; + if (n) { + var o; + if ((e.length > 0 && (o = e[0]), o instanceof Error)) throw o; + var s = new Error( + 'Unhandled error.' + (o ? ' (' + o.message + ')' : '') + ); + throw ((s.context = o), s); + } + var l = i[t]; + if (void 0 === l) return !1; + if ('function' == typeof l) a(l, this, e); + else { + var c = l.length, + u = m(l, c); + for (r = 0; r < c; ++r) a(u[r], this, e); + } + return !0; + }), + (s.prototype.addListener = function (t, e) { + return f(this, t, e, !1); + }), + (s.prototype.on = s.prototype.addListener), + (s.prototype.prependListener = function (t, e) { + return f(this, t, e, !0); + }), + (s.prototype.once = function (t, e) { + return c(e), this.on(t, p(this, t, e)), this; + }), + (s.prototype.prependOnceListener = function (t, e) { + return c(e), this.prependListener(t, p(this, t, e)), this; + }), + (s.prototype.removeListener = function (t, e) { + var r, n, i, a, o; + if ((c(e), void 0 === (n = this._events))) return this; + if (void 0 === (r = n[t])) return this; + if (r === e || r.listener === e) + 0 == --this._eventsCount + ? (this._events = Object.create(null)) + : (delete n[t], + n.removeListener && + this.emit('removeListener', t, r.listener || e)); + else if ('function' != typeof r) { + for (i = -1, a = r.length - 1; a >= 0; a--) + if (r[a] === e || r[a].listener === e) { + (o = r[a].listener), (i = a); + break; + } + if (i < 0) return this; + 0 === i + ? r.shift() + : (function (t, e) { + for (; e + 1 < t.length; e++) t[e] = t[e + 1]; + t.pop(); + })(r, i), + 1 === r.length && (n[t] = r[0]), + void 0 !== n.removeListener && + this.emit('removeListener', t, o || e); + } + return this; + }), + (s.prototype.off = s.prototype.removeListener), + (s.prototype.removeAllListeners = function (t) { + var e, r, n; + if (void 0 === (r = this._events)) return this; + if (void 0 === r.removeListener) + return ( + 0 === arguments.length + ? ((this._events = Object.create(null)), + (this._eventsCount = 0)) + : void 0 !== r[t] && + (0 == --this._eventsCount + ? (this._events = Object.create(null)) + : delete r[t]), + this + ); + if (0 === arguments.length) { + var i, + a = Object.keys(r); + for (n = 0; n < a.length; ++n) + 'removeListener' !== (i = a[n]) && this.removeAllListeners(i); + return ( + this.removeAllListeners('removeListener'), + (this._events = Object.create(null)), + (this._eventsCount = 0), + this + ); + } + if ('function' == typeof (e = r[t])) this.removeListener(t, e); + else if (void 0 !== e) + for (n = e.length - 1; n >= 0; n--) + this.removeListener(t, e[n]); + return this; + }), + (s.prototype.listeners = function (t) { + return d(this, t, !0); + }), + (s.prototype.rawListeners = function (t) { + return d(this, t, !1); + }), + (s.listenerCount = function (t, e) { + return 'function' == typeof t.listenerCount + ? t.listenerCount(e) + : g.call(t, e); + }), + (s.prototype.listenerCount = g), + (s.prototype.eventNames = function () { + return this._eventsCount > 0 ? n(this._events) : []; + }); + }, + {}, + ], + 111: [ + function (t, e, r) { + (function (e) { + (function () { + /*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + 'use strict'; + var e = t('base64-js'), + n = t('ieee754'); + (r.Buffer = a), + (r.SlowBuffer = function (t) { + +t != t && (t = 0); + return a.alloc(+t); + }), + (r.INSPECT_MAX_BYTES = 50); + function i(t) { + if (t > 2147483647) + throw new RangeError( + 'The value "' + t + '" is invalid for option "size"' + ); + var e = new Uint8Array(t); + return (e.__proto__ = a.prototype), e; + } + function a(t, e, r) { + if ('number' == typeof t) { + if ('string' == typeof e) + throw new TypeError( + 'The "string" argument must be of type string. Received type number' + ); + return l(t); + } + return o(t, e, r); + } + function o(t, e, r) { + if ('string' == typeof t) + return (function (t, e) { + ('string' == typeof e && '' !== e) || (e = 'utf8'); + if (!a.isEncoding(e)) + throw new TypeError('Unknown encoding: ' + e); + var r = 0 | f(t, e), + n = i(r), + o = n.write(t, e); + o !== r && (n = n.slice(0, o)); + return n; + })(t, e); + if (ArrayBuffer.isView(t)) return c(t); + if (null == t) + throw TypeError( + 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + + typeof t + ); + if (B(t, ArrayBuffer) || (t && B(t.buffer, ArrayBuffer))) + return (function (t, e, r) { + if (e < 0 || t.byteLength < e) + throw new RangeError( + '"offset" is outside of buffer bounds' + ); + if (t.byteLength < e + (r || 0)) + throw new RangeError( + '"length" is outside of buffer bounds' + ); + var n; + n = + void 0 === e && void 0 === r + ? new Uint8Array(t) + : void 0 === r + ? new Uint8Array(t, e) + : new Uint8Array(t, e, r); + return (n.__proto__ = a.prototype), n; + })(t, e, r); + if ('number' == typeof t) + throw new TypeError( + 'The "value" argument must not be of type number. Received type number' + ); + var n = t.valueOf && t.valueOf(); + if (null != n && n !== t) return a.from(n, e, r); + var o = (function (t) { + if (a.isBuffer(t)) { + var e = 0 | u(t.length), + r = i(e); + return 0 === r.length || t.copy(r, 0, 0, e), r; + } + if (void 0 !== t.length) + return 'number' != typeof t.length || N(t.length) + ? i(0) + : c(t); + if ('Buffer' === t.type && Array.isArray(t.data)) + return c(t.data); + })(t); + if (o) return o; + if ( + 'undefined' != typeof Symbol && + null != Symbol.toPrimitive && + 'function' == typeof t[Symbol.toPrimitive] + ) + return a.from(t[Symbol.toPrimitive]('string'), e, r); + throw new TypeError( + 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + + typeof t + ); + } + function s(t) { + if ('number' != typeof t) + throw new TypeError('"size" argument must be of type number'); + if (t < 0) + throw new RangeError( + 'The value "' + t + '" is invalid for option "size"' + ); + } + function l(t) { + return s(t), i(t < 0 ? 0 : 0 | u(t)); + } + function c(t) { + for ( + var e = t.length < 0 ? 0 : 0 | u(t.length), r = i(e), n = 0; + n < e; + n += 1 + ) + r[n] = 255 & t[n]; + return r; + } + function u(t) { + if (t >= 2147483647) + throw new RangeError( + 'Attempt to allocate Buffer larger than maximum size: 0x' + + (2147483647).toString(16) + + ' bytes' + ); + return 0 | t; + } + function f(t, e) { + if (a.isBuffer(t)) return t.length; + if (ArrayBuffer.isView(t) || B(t, ArrayBuffer)) + return t.byteLength; + if ('string' != typeof t) + throw new TypeError( + 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + + typeof t + ); + var r = t.length, + n = arguments.length > 2 && !0 === arguments[2]; + if (!n && 0 === r) return 0; + for (var i = !1; ; ) + switch (e) { + case 'ascii': + case 'latin1': + case 'binary': + return r; + case 'utf8': + case 'utf-8': + return D(t).length; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 2 * r; + case 'hex': + return r >>> 1; + case 'base64': + return R(t).length; + default: + if (i) return n ? -1 : D(t).length; + (e = ('' + e).toLowerCase()), (i = !0); + } + } + function h(t, e, r) { + var n = !1; + if (((void 0 === e || e < 0) && (e = 0), e > this.length)) + return ''; + if ( + ((void 0 === r || r > this.length) && (r = this.length), + r <= 0) + ) + return ''; + if ((r >>>= 0) <= (e >>>= 0)) return ''; + for (t || (t = 'utf8'); ; ) + switch (t) { + case 'hex': + return A(this, e, r); + case 'utf8': + case 'utf-8': + return T(this, e, r); + case 'ascii': + return k(this, e, r); + case 'latin1': + case 'binary': + return M(this, e, r); + case 'base64': + return w(this, e, r); + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return S(this, e, r); + default: + if (n) throw new TypeError('Unknown encoding: ' + t); + (t = (t + '').toLowerCase()), (n = !0); + } + } + function p(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function d(t, e, r, n, i) { + if (0 === t.length) return -1; + if ( + ('string' == typeof r + ? ((n = r), (r = 0)) + : r > 2147483647 + ? (r = 2147483647) + : r < -2147483648 && (r = -2147483648), + N((r = +r)) && (r = i ? 0 : t.length - 1), + r < 0 && (r = t.length + r), + r >= t.length) + ) { + if (i) return -1; + r = t.length - 1; + } else if (r < 0) { + if (!i) return -1; + r = 0; + } + if (('string' == typeof e && (e = a.from(e, n)), a.isBuffer(e))) + return 0 === e.length ? -1 : g(t, e, r, n, i); + if ('number' == typeof e) + return ( + (e &= 255), + 'function' == typeof Uint8Array.prototype.indexOf + ? i + ? Uint8Array.prototype.indexOf.call(t, e, r) + : Uint8Array.prototype.lastIndexOf.call(t, e, r) + : g(t, [e], r, n, i) + ); + throw new TypeError('val must be string, number or Buffer'); + } + function g(t, e, r, n, i) { + var a, + o = 1, + s = t.length, + l = e.length; + if ( + void 0 !== n && + ('ucs2' === (n = String(n).toLowerCase()) || + 'ucs-2' === n || + 'utf16le' === n || + 'utf-16le' === n) + ) { + if (t.length < 2 || e.length < 2) return -1; + (o = 2), (s /= 2), (l /= 2), (r /= 2); + } + function c(t, e) { + return 1 === o ? t[e] : t.readUInt16BE(e * o); + } + if (i) { + var u = -1; + for (a = r; a < s; a++) + if (c(t, a) === c(e, -1 === u ? 0 : a - u)) { + if ((-1 === u && (u = a), a - u + 1 === l)) return u * o; + } else -1 !== u && (a -= a - u), (u = -1); + } else + for (r + l > s && (r = s - l), a = r; a >= 0; a--) { + for (var f = !0, h = 0; h < l; h++) + if (c(t, a + h) !== c(e, h)) { + f = !1; + break; + } + if (f) return a; + } + return -1; + } + function m(t, e, r, n) { + r = Number(r) || 0; + var i = t.length - r; + n ? (n = Number(n)) > i && (n = i) : (n = i); + var a = e.length; + n > a / 2 && (n = a / 2); + for (var o = 0; o < n; ++o) { + var s = parseInt(e.substr(2 * o, 2), 16); + if (N(s)) return o; + t[r + o] = s; + } + return o; + } + function v(t, e, r, n) { + return F(D(e, t.length - r), t, r, n); + } + function y(t, e, r, n) { + return F( + (function (t) { + for (var e = [], r = 0; r < t.length; ++r) + e.push(255 & t.charCodeAt(r)); + return e; + })(e), + t, + r, + n + ); + } + function x(t, e, r, n) { + return y(t, e, r, n); + } + function b(t, e, r, n) { + return F(R(e), t, r, n); + } + function _(t, e, r, n) { + return F( + (function (t, e) { + for ( + var r, n, i, a = [], o = 0; + o < t.length && !((e -= 2) < 0); + ++o + ) + (r = t.charCodeAt(o)), + (n = r >> 8), + (i = r % 256), + a.push(i), + a.push(n); + return a; + })(e, t.length - r), + t, + r, + n + ); + } + function w(t, r, n) { + return 0 === r && n === t.length + ? e.fromByteArray(t) + : e.fromByteArray(t.slice(r, n)); + } + function T(t, e, r) { + r = Math.min(t.length, r); + for (var n = [], i = e; i < r; ) { + var a, + o, + s, + l, + c = t[i], + u = null, + f = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1; + if (i + f <= r) + switch (f) { + case 1: + c < 128 && (u = c); + break; + case 2: + 128 == (192 & (a = t[i + 1])) && + (l = ((31 & c) << 6) | (63 & a)) > 127 && + (u = l); + break; + case 3: + (a = t[i + 1]), + (o = t[i + 2]), + 128 == (192 & a) && + 128 == (192 & o) && + (l = + ((15 & c) << 12) | ((63 & a) << 6) | (63 & o)) > + 2047 && + (l < 55296 || l > 57343) && + (u = l); + break; + case 4: + (a = t[i + 1]), + (o = t[i + 2]), + (s = t[i + 3]), + 128 == (192 & a) && + 128 == (192 & o) && + 128 == (192 & s) && + (l = + ((15 & c) << 18) | + ((63 & a) << 12) | + ((63 & o) << 6) | + (63 & s)) > 65535 && + l < 1114112 && + (u = l); + } + null === u + ? ((u = 65533), (f = 1)) + : u > 65535 && + ((u -= 65536), + n.push(((u >>> 10) & 1023) | 55296), + (u = 56320 | (1023 & u))), + n.push(u), + (i += f); + } + return (function (t) { + var e = t.length; + if (e <= 4096) return String.fromCharCode.apply(String, t); + var r = '', + n = 0; + for (; n < e; ) + r += String.fromCharCode.apply( + String, + t.slice(n, (n += 4096)) + ); + return r; + })(n); + } + (r.kMaxLength = 2147483647), + (a.TYPED_ARRAY_SUPPORT = (function () { + try { + var t = new Uint8Array(1); + return ( + (t.__proto__ = { + __proto__: Uint8Array.prototype, + foo: function () { + return 42; + }, + }), + 42 === t.foo() + ); + } catch (t) { + return !1; + } + })()), + a.TYPED_ARRAY_SUPPORT || + 'undefined' == typeof console || + 'function' != typeof console.error || + console.error( + 'This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.' + ), + Object.defineProperty(a.prototype, 'parent', { + enumerable: !0, + get: function () { + if (a.isBuffer(this)) return this.buffer; + }, + }), + Object.defineProperty(a.prototype, 'offset', { + enumerable: !0, + get: function () { + if (a.isBuffer(this)) return this.byteOffset; + }, + }), + 'undefined' != typeof Symbol && + null != Symbol.species && + a[Symbol.species] === a && + Object.defineProperty(a, Symbol.species, { + value: null, + configurable: !0, + enumerable: !1, + writable: !1, + }), + (a.poolSize = 8192), + (a.from = function (t, e, r) { + return o(t, e, r); + }), + (a.prototype.__proto__ = Uint8Array.prototype), + (a.__proto__ = Uint8Array), + (a.alloc = function (t, e, r) { + return (function (t, e, r) { + return ( + s(t), + t <= 0 + ? i(t) + : void 0 !== e + ? 'string' == typeof r + ? i(t).fill(e, r) + : i(t).fill(e) + : i(t) + ); + })(t, e, r); + }), + (a.allocUnsafe = function (t) { + return l(t); + }), + (a.allocUnsafeSlow = function (t) { + return l(t); + }), + (a.isBuffer = function (t) { + return null != t && !0 === t._isBuffer && t !== a.prototype; + }), + (a.compare = function (t, e) { + if ( + (B(t, Uint8Array) && + (t = a.from(t, t.offset, t.byteLength)), + B(e, Uint8Array) && (e = a.from(e, e.offset, e.byteLength)), + !a.isBuffer(t) || !a.isBuffer(e)) + ) + throw new TypeError( + 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array' + ); + if (t === e) return 0; + for ( + var r = t.length, n = e.length, i = 0, o = Math.min(r, n); + i < o; + ++i + ) + if (t[i] !== e[i]) { + (r = t[i]), (n = e[i]); + break; + } + return r < n ? -1 : n < r ? 1 : 0; + }), + (a.isEncoding = function (t) { + switch (String(t).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return !0; + default: + return !1; + } + }), + (a.concat = function (t, e) { + if (!Array.isArray(t)) + throw new TypeError( + '"list" argument must be an Array of Buffers' + ); + if (0 === t.length) return a.alloc(0); + var r; + if (void 0 === e) + for (e = 0, r = 0; r < t.length; ++r) e += t[r].length; + var n = a.allocUnsafe(e), + i = 0; + for (r = 0; r < t.length; ++r) { + var o = t[r]; + if ((B(o, Uint8Array) && (o = a.from(o)), !a.isBuffer(o))) + throw new TypeError( + '"list" argument must be an Array of Buffers' + ); + o.copy(n, i), (i += o.length); + } + return n; + }), + (a.byteLength = f), + (a.prototype._isBuffer = !0), + (a.prototype.swap16 = function () { + var t = this.length; + if (t % 2 != 0) + throw new RangeError( + 'Buffer size must be a multiple of 16-bits' + ); + for (var e = 0; e < t; e += 2) p(this, e, e + 1); + return this; + }), + (a.prototype.swap32 = function () { + var t = this.length; + if (t % 4 != 0) + throw new RangeError( + 'Buffer size must be a multiple of 32-bits' + ); + for (var e = 0; e < t; e += 4) + p(this, e, e + 3), p(this, e + 1, e + 2); + return this; + }), + (a.prototype.swap64 = function () { + var t = this.length; + if (t % 8 != 0) + throw new RangeError( + 'Buffer size must be a multiple of 64-bits' + ); + for (var e = 0; e < t; e += 8) + p(this, e, e + 7), + p(this, e + 1, e + 6), + p(this, e + 2, e + 5), + p(this, e + 3, e + 4); + return this; + }), + (a.prototype.toString = function () { + var t = this.length; + return 0 === t + ? '' + : 0 === arguments.length + ? T(this, 0, t) + : h.apply(this, arguments); + }), + (a.prototype.toLocaleString = a.prototype.toString), + (a.prototype.equals = function (t) { + if (!a.isBuffer(t)) + throw new TypeError('Argument must be a Buffer'); + return this === t || 0 === a.compare(this, t); + }), + (a.prototype.inspect = function () { + var t = '', + e = r.INSPECT_MAX_BYTES; + return ( + (t = this.toString('hex', 0, e) + .replace(/(.{2})/g, '$1 ') + .trim()), + this.length > e && (t += ' ... '), + '' + ); + }), + (a.prototype.compare = function (t, e, r, n, i) { + if ( + (B(t, Uint8Array) && + (t = a.from(t, t.offset, t.byteLength)), + !a.isBuffer(t)) + ) + throw new TypeError( + 'The "target" argument must be one of type Buffer or Uint8Array. Received type ' + + typeof t + ); + if ( + (void 0 === e && (e = 0), + void 0 === r && (r = t ? t.length : 0), + void 0 === n && (n = 0), + void 0 === i && (i = this.length), + e < 0 || r > t.length || n < 0 || i > this.length) + ) + throw new RangeError('out of range index'); + if (n >= i && e >= r) return 0; + if (n >= i) return -1; + if (e >= r) return 1; + if (this === t) return 0; + for ( + var o = (i >>>= 0) - (n >>>= 0), + s = (r >>>= 0) - (e >>>= 0), + l = Math.min(o, s), + c = this.slice(n, i), + u = t.slice(e, r), + f = 0; + f < l; + ++f + ) + if (c[f] !== u[f]) { + (o = c[f]), (s = u[f]); + break; + } + return o < s ? -1 : s < o ? 1 : 0; + }), + (a.prototype.includes = function (t, e, r) { + return -1 !== this.indexOf(t, e, r); + }), + (a.prototype.indexOf = function (t, e, r) { + return d(this, t, e, r, !0); + }), + (a.prototype.lastIndexOf = function (t, e, r) { + return d(this, t, e, r, !1); + }), + (a.prototype.write = function (t, e, r, n) { + if (void 0 === e) (n = 'utf8'), (r = this.length), (e = 0); + else if (void 0 === r && 'string' == typeof e) + (n = e), (r = this.length), (e = 0); + else { + if (!isFinite(e)) + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ); + (e >>>= 0), + isFinite(r) + ? ((r >>>= 0), void 0 === n && (n = 'utf8')) + : ((n = r), (r = void 0)); + } + var i = this.length - e; + if ( + ((void 0 === r || r > i) && (r = i), + (t.length > 0 && (r < 0 || e < 0)) || e > this.length) + ) + throw new RangeError( + 'Attempt to write outside buffer bounds' + ); + n || (n = 'utf8'); + for (var a = !1; ; ) + switch (n) { + case 'hex': + return m(this, t, e, r); + case 'utf8': + case 'utf-8': + return v(this, t, e, r); + case 'ascii': + return y(this, t, e, r); + case 'latin1': + case 'binary': + return x(this, t, e, r); + case 'base64': + return b(this, t, e, r); + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return _(this, t, e, r); + default: + if (a) throw new TypeError('Unknown encoding: ' + n); + (n = ('' + n).toLowerCase()), (a = !0); + } + }), + (a.prototype.toJSON = function () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0), + }; + }); + function k(t, e, r) { + var n = ''; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) + n += String.fromCharCode(127 & t[i]); + return n; + } + function M(t, e, r) { + var n = ''; + r = Math.min(t.length, r); + for (var i = e; i < r; ++i) n += String.fromCharCode(t[i]); + return n; + } + function A(t, e, r) { + var n = t.length; + (!e || e < 0) && (e = 0), (!r || r < 0 || r > n) && (r = n); + for (var i = '', a = e; a < r; ++a) i += O(t[a]); + return i; + } + function S(t, e, r) { + for (var n = t.slice(e, r), i = '', a = 0; a < n.length; a += 2) + i += String.fromCharCode(n[a] + 256 * n[a + 1]); + return i; + } + function E(t, e, r) { + if (t % 1 != 0 || t < 0) + throw new RangeError('offset is not uint'); + if (t + e > r) + throw new RangeError('Trying to access beyond buffer length'); + } + function C(t, e, r, n, i, o) { + if (!a.isBuffer(t)) + throw new TypeError( + '"buffer" argument must be a Buffer instance' + ); + if (e > i || e < o) + throw new RangeError('"value" argument is out of bounds'); + if (r + n > t.length) + throw new RangeError('Index out of range'); + } + function L(t, e, r, n, i, a) { + if (r + n > t.length) + throw new RangeError('Index out of range'); + if (r < 0) throw new RangeError('Index out of range'); + } + function I(t, e, r, i, a) { + return ( + (e = +e), + (r >>>= 0), + a || L(t, 0, r, 4), + n.write(t, e, r, i, 23, 4), + r + 4 + ); + } + function P(t, e, r, i, a) { + return ( + (e = +e), + (r >>>= 0), + a || L(t, 0, r, 8), + n.write(t, e, r, i, 52, 8), + r + 8 + ); + } + (a.prototype.slice = function (t, e) { + var r = this.length; + (t = ~~t) < 0 ? (t += r) < 0 && (t = 0) : t > r && (t = r), + (e = void 0 === e ? r : ~~e) < 0 + ? (e += r) < 0 && (e = 0) + : e > r && (e = r), + e < t && (e = t); + var n = this.subarray(t, e); + return (n.__proto__ = a.prototype), n; + }), + (a.prototype.readUIntLE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || E(t, e, this.length); + for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) + n += this[t + a] * i; + return n; + }), + (a.prototype.readUIntBE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || E(t, e, this.length); + for (var n = this[t + --e], i = 1; e > 0 && (i *= 256); ) + n += this[t + --e] * i; + return n; + }), + (a.prototype.readUInt8 = function (t, e) { + return (t >>>= 0), e || E(t, 1, this.length), this[t]; + }), + (a.prototype.readUInt16LE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 2, this.length), + this[t] | (this[t + 1] << 8) + ); + }), + (a.prototype.readUInt16BE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 2, this.length), + (this[t] << 8) | this[t + 1] + ); + }), + (a.prototype.readUInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + (this[t] | (this[t + 1] << 8) | (this[t + 2] << 16)) + + 16777216 * this[t + 3] + ); + }), + (a.prototype.readUInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + 16777216 * this[t] + + ((this[t + 1] << 16) | (this[t + 2] << 8) | this[t + 3]) + ); + }), + (a.prototype.readIntLE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || E(t, e, this.length); + for (var n = this[t], i = 1, a = 0; ++a < e && (i *= 256); ) + n += this[t + a] * i; + return n >= (i *= 128) && (n -= Math.pow(2, 8 * e)), n; + }), + (a.prototype.readIntBE = function (t, e, r) { + (t >>>= 0), (e >>>= 0), r || E(t, e, this.length); + for ( + var n = e, i = 1, a = this[t + --n]; + n > 0 && (i *= 256); + + ) + a += this[t + --n] * i; + return a >= (i *= 128) && (a -= Math.pow(2, 8 * e)), a; + }), + (a.prototype.readInt8 = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 1, this.length), + 128 & this[t] ? -1 * (255 - this[t] + 1) : this[t] + ); + }), + (a.prototype.readInt16LE = function (t, e) { + (t >>>= 0), e || E(t, 2, this.length); + var r = this[t] | (this[t + 1] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (a.prototype.readInt16BE = function (t, e) { + (t >>>= 0), e || E(t, 2, this.length); + var r = this[t + 1] | (this[t] << 8); + return 32768 & r ? 4294901760 | r : r; + }), + (a.prototype.readInt32LE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + this[t] | + (this[t + 1] << 8) | + (this[t + 2] << 16) | + (this[t + 3] << 24) + ); + }), + (a.prototype.readInt32BE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + (this[t] << 24) | + (this[t + 1] << 16) | + (this[t + 2] << 8) | + this[t + 3] + ); + }), + (a.prototype.readFloatLE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + n.read(this, t, !0, 23, 4) + ); + }), + (a.prototype.readFloatBE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 4, this.length), + n.read(this, t, !1, 23, 4) + ); + }), + (a.prototype.readDoubleLE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 8, this.length), + n.read(this, t, !0, 52, 8) + ); + }), + (a.prototype.readDoubleBE = function (t, e) { + return ( + (t >>>= 0), + e || E(t, 8, this.length), + n.read(this, t, !1, 52, 8) + ); + }), + (a.prototype.writeUIntLE = function (t, e, r, n) { + ((t = +t), (e >>>= 0), (r >>>= 0), n) || + C(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = 1, + a = 0; + for (this[e] = 255 & t; ++a < r && (i *= 256); ) + this[e + a] = (t / i) & 255; + return e + r; + }), + (a.prototype.writeUIntBE = function (t, e, r, n) { + ((t = +t), (e >>>= 0), (r >>>= 0), n) || + C(this, t, e, r, Math.pow(2, 8 * r) - 1, 0); + var i = r - 1, + a = 1; + for (this[e + i] = 255 & t; --i >= 0 && (a *= 256); ) + this[e + i] = (t / a) & 255; + return e + r; + }), + (a.prototype.writeUInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 1, 255, 0), + (this[e] = 255 & t), + e + 1 + ); + }), + (a.prototype.writeUInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 2, 65535, 0), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (a.prototype.writeUInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 2, 65535, 0), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (a.prototype.writeUInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 4, 4294967295, 0), + (this[e + 3] = t >>> 24), + (this[e + 2] = t >>> 16), + (this[e + 1] = t >>> 8), + (this[e] = 255 & t), + e + 4 + ); + }), + (a.prototype.writeUInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 4, 4294967295, 0), + (this[e] = t >>> 24), + (this[e + 1] = t >>> 16), + (this[e + 2] = t >>> 8), + (this[e + 3] = 255 & t), + e + 4 + ); + }), + (a.prototype.writeIntLE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + C(this, t, e, r, i - 1, -i); + } + var a = 0, + o = 1, + s = 0; + for (this[e] = 255 & t; ++a < r && (o *= 256); ) + t < 0 && 0 === s && 0 !== this[e + a - 1] && (s = 1), + (this[e + a] = (((t / o) >> 0) - s) & 255); + return e + r; + }), + (a.prototype.writeIntBE = function (t, e, r, n) { + if (((t = +t), (e >>>= 0), !n)) { + var i = Math.pow(2, 8 * r - 1); + C(this, t, e, r, i - 1, -i); + } + var a = r - 1, + o = 1, + s = 0; + for (this[e + a] = 255 & t; --a >= 0 && (o *= 256); ) + t < 0 && 0 === s && 0 !== this[e + a + 1] && (s = 1), + (this[e + a] = (((t / o) >> 0) - s) & 255); + return e + r; + }), + (a.prototype.writeInt8 = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 1, 127, -128), + t < 0 && (t = 255 + t + 1), + (this[e] = 255 & t), + e + 1 + ); + }), + (a.prototype.writeInt16LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 2, 32767, -32768), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + e + 2 + ); + }), + (a.prototype.writeInt16BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 2, 32767, -32768), + (this[e] = t >>> 8), + (this[e + 1] = 255 & t), + e + 2 + ); + }), + (a.prototype.writeInt32LE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 4, 2147483647, -2147483648), + (this[e] = 255 & t), + (this[e + 1] = t >>> 8), + (this[e + 2] = t >>> 16), + (this[e + 3] = t >>> 24), + e + 4 + ); + }), + (a.prototype.writeInt32BE = function (t, e, r) { + return ( + (t = +t), + (e >>>= 0), + r || C(this, t, e, 4, 2147483647, -2147483648), + t < 0 && (t = 4294967295 + t + 1), + (this[e] = t >>> 24), + (this[e + 1] = t >>> 16), + (this[e + 2] = t >>> 8), + (this[e + 3] = 255 & t), + e + 4 + ); + }), + (a.prototype.writeFloatLE = function (t, e, r) { + return I(this, t, e, !0, r); + }), + (a.prototype.writeFloatBE = function (t, e, r) { + return I(this, t, e, !1, r); + }), + (a.prototype.writeDoubleLE = function (t, e, r) { + return P(this, t, e, !0, r); + }), + (a.prototype.writeDoubleBE = function (t, e, r) { + return P(this, t, e, !1, r); + }), + (a.prototype.copy = function (t, e, r, n) { + if (!a.isBuffer(t)) + throw new TypeError('argument should be a Buffer'); + if ( + (r || (r = 0), + n || 0 === n || (n = this.length), + e >= t.length && (e = t.length), + e || (e = 0), + n > 0 && n < r && (n = r), + n === r) + ) + return 0; + if (0 === t.length || 0 === this.length) return 0; + if (e < 0) throw new RangeError('targetStart out of bounds'); + if (r < 0 || r >= this.length) + throw new RangeError('Index out of range'); + if (n < 0) throw new RangeError('sourceEnd out of bounds'); + n > this.length && (n = this.length), + t.length - e < n - r && (n = t.length - e + r); + var i = n - r; + if ( + this === t && + 'function' == typeof Uint8Array.prototype.copyWithin + ) + this.copyWithin(e, r, n); + else if (this === t && r < e && e < n) + for (var o = i - 1; o >= 0; --o) t[o + e] = this[o + r]; + else Uint8Array.prototype.set.call(t, this.subarray(r, n), e); + return i; + }), + (a.prototype.fill = function (t, e, r, n) { + if ('string' == typeof t) { + if ( + ('string' == typeof e + ? ((n = e), (e = 0), (r = this.length)) + : 'string' == typeof r && ((n = r), (r = this.length)), + void 0 !== n && 'string' != typeof n) + ) + throw new TypeError('encoding must be a string'); + if ('string' == typeof n && !a.isEncoding(n)) + throw new TypeError('Unknown encoding: ' + n); + if (1 === t.length) { + var i = t.charCodeAt(0); + (('utf8' === n && i < 128) || 'latin1' === n) && (t = i); + } + } else 'number' == typeof t && (t &= 255); + if (e < 0 || this.length < e || this.length < r) + throw new RangeError('Out of range index'); + if (r <= e) return this; + var o; + if ( + ((e >>>= 0), + (r = void 0 === r ? this.length : r >>> 0), + t || (t = 0), + 'number' == typeof t) + ) + for (o = e; o < r; ++o) this[o] = t; + else { + var s = a.isBuffer(t) ? t : a.from(t, n), + l = s.length; + if (0 === l) + throw new TypeError( + 'The value "' + t + '" is invalid for argument "value"' + ); + for (o = 0; o < r - e; ++o) this[o + e] = s[o % l]; + } + return this; + }); + var z = /[^+/0-9A-Za-z-_]/g; + function O(t) { + return t < 16 ? '0' + t.toString(16) : t.toString(16); + } + function D(t, e) { + var r; + e = e || 1 / 0; + for (var n = t.length, i = null, a = [], o = 0; o < n; ++o) { + if ((r = t.charCodeAt(o)) > 55295 && r < 57344) { + if (!i) { + if (r > 56319) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue; + } + if (o + 1 === n) { + (e -= 3) > -1 && a.push(239, 191, 189); + continue; + } + i = r; + continue; + } + if (r < 56320) { + (e -= 3) > -1 && a.push(239, 191, 189), (i = r); + continue; + } + r = 65536 + (((i - 55296) << 10) | (r - 56320)); + } else i && (e -= 3) > -1 && a.push(239, 191, 189); + if (((i = null), r < 128)) { + if ((e -= 1) < 0) break; + a.push(r); + } else if (r < 2048) { + if ((e -= 2) < 0) break; + a.push((r >> 6) | 192, (63 & r) | 128); + } else if (r < 65536) { + if ((e -= 3) < 0) break; + a.push( + (r >> 12) | 224, + ((r >> 6) & 63) | 128, + (63 & r) | 128 + ); + } else { + if (!(r < 1114112)) throw new Error('Invalid code point'); + if ((e -= 4) < 0) break; + a.push( + (r >> 18) | 240, + ((r >> 12) & 63) | 128, + ((r >> 6) & 63) | 128, + (63 & r) | 128 + ); + } + } + return a; + } + function R(t) { + return e.toByteArray( + (function (t) { + if ( + (t = (t = t.split('=')[0]).trim().replace(z, '')).length < + 2 + ) + return ''; + for (; t.length % 4 != 0; ) t += '='; + return t; + })(t) + ); + } + function F(t, e, r, n) { + for ( + var i = 0; + i < n && !(i + r >= e.length || i >= t.length); + ++i + ) + e[i + r] = t[i]; + return i; + } + function B(t, e) { + return ( + t instanceof e || + (null != t && + null != t.constructor && + null != t.constructor.name && + t.constructor.name === e.name) + ); + } + function N(t) { + return t != t; + } + }.call(this)); + }.call(this, t('buffer').Buffer)); + }, + { 'base64-js': 79, buffer: 111, ieee754: 442 }, + ], + 112: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/monotone'), + i = t('./lib/triangulation'), + a = t('./lib/delaunay'), + o = t('./lib/filter'); + function s(t) { + return [Math.min(t[0], t[1]), Math.max(t[0], t[1])]; + } + function l(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function c(t, e, r) { + return e in t ? t[e] : r; + } + e.exports = function (t, e, r) { + Array.isArray(e) + ? ((r = r || {}), (e = e || [])) + : ((r = e || {}), (e = [])); + var u = !!c(r, 'delaunay', !0), + f = !!c(r, 'interior', !0), + h = !!c(r, 'exterior', !0), + p = !!c(r, 'infinity', !1); + if ((!f && !h) || 0 === t.length) return []; + var d = n(t, e); + if (u || f !== h || p) { + for ( + var g = i( + t.length, + (function (t) { + return t.map(s).sort(l); + })(e) + ), + m = 0; + m < d.length; + ++m + ) { + var v = d[m]; + g.addTriangle(v[0], v[1], v[2]); + } + return ( + u && a(t, g), + h ? (f ? (p ? o(g, 0, p) : g.cells()) : o(g, 1, p)) : o(g, -1) + ); + } + return d; + }; + }, + { + './lib/delaunay': 113, + './lib/filter': 114, + './lib/monotone': 115, + './lib/triangulation': 116, + }, + ], + 113: [ + function (t, e, r) { + 'use strict'; + var n = t('robust-in-sphere')[4]; + t('binary-search-bounds'); + function i(t, e, r, i, a, o) { + var s = e.opposite(i, a); + if (!(s < 0)) { + if (a < i) { + var l = i; + (i = a), (a = l), (l = o), (o = s), (s = l); + } + e.isConstraint(i, a) || + (n(t[i], t[a], t[o], t[s]) < 0 && r.push(i, a)); + } + } + e.exports = function (t, e) { + for (var r = [], a = t.length, o = e.stars, s = 0; s < a; ++s) + for (var l = o[s], c = 1; c < l.length; c += 2) { + if (!((p = l[c]) < s) && !e.isConstraint(s, p)) { + for (var u = l[c - 1], f = -1, h = 1; h < l.length; h += 2) + if (l[h - 1] === p) { + f = l[h]; + break; + } + f < 0 || (n(t[s], t[p], t[u], t[f]) < 0 && r.push(s, p)); + } + } + for (; r.length > 0; ) { + for ( + var p = r.pop(), + d = ((s = r.pop()), (u = -1), (f = -1), (l = o[s]), 1); + d < l.length; + d += 2 + ) { + var g = l[d - 1], + m = l[d]; + g === p ? (f = m) : m === p && (u = g); + } + u < 0 || + f < 0 || + n(t[s], t[p], t[u], t[f]) >= 0 || + (e.flip(s, p), + i(t, e, r, u, s, f), + i(t, e, r, s, f, u), + i(t, e, r, f, p, u), + i(t, e, r, p, u, f)); + } + }; + }, + { 'binary-search-bounds': 96, 'robust-in-sphere': 546 }, + ], + 114: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('binary-search-bounds'); + function a(t, e, r, n, i, a, o) { + (this.cells = t), + (this.neighbor = e), + (this.flags = n), + (this.constraint = r), + (this.active = i), + (this.next = a), + (this.boundary = o); + } + function o(t, e) { + return t[0] - e[0] || t[1] - e[1] || t[2] - e[2]; + } + (e.exports = function (t, e, r) { + var n = (function (t, e) { + for (var r = t.cells(), n = r.length, i = 0; i < n; ++i) { + var s = (v = r[i])[0], + l = v[1], + c = v[2]; + l < c + ? l < s && ((v[0] = l), (v[1] = c), (v[2] = s)) + : c < s && ((v[0] = c), (v[1] = s), (v[2] = l)); + } + r.sort(o); + var u = new Array(n); + for (i = 0; i < u.length; ++i) u[i] = 0; + var f = [], + h = [], + p = new Array(3 * n), + d = new Array(3 * n), + g = null; + e && (g = []); + var m = new a(r, p, d, u, f, h, g); + for (i = 0; i < n; ++i) + for (var v = r[i], y = 0; y < 3; ++y) { + (s = v[y]), (l = v[(y + 1) % 3]); + var x = (p[3 * i + y] = m.locate(l, s, t.opposite(l, s))), + b = (d[3 * i + y] = t.isConstraint(s, l)); + x < 0 && + (b ? h.push(i) : (f.push(i), (u[i] = 1)), + e && g.push([l, s, -1])); + } + return m; + })(t, r); + if (0 === e) return r ? n.cells.concat(n.boundary) : n.cells; + var i = 1, + s = n.active, + l = n.next, + c = n.flags, + u = n.cells, + f = n.constraint, + h = n.neighbor; + for (; s.length > 0 || l.length > 0; ) { + for (; s.length > 0; ) { + var p = s.pop(); + if (c[p] !== -i) { + c[p] = i; + u[p]; + for (var d = 0; d < 3; ++d) { + var g = h[3 * p + d]; + g >= 0 && + 0 === c[g] && + (f[3 * p + d] ? l.push(g) : (s.push(g), (c[g] = i))); + } + } + } + var m = l; + (l = s), (s = m), (l.length = 0), (i = -i); + } + var v = (function (t, e, r) { + for (var n = 0, i = 0; i < t.length; ++i) + e[i] === r && (t[n++] = t[i]); + return (t.length = n), t; + })(u, c, e); + if (r) return v.concat(n.boundary); + return v; + }), + (a.prototype.locate = + ((n = [0, 0, 0]), + function (t, e, r) { + var a = t, + s = e, + l = r; + return ( + e < r + ? e < t && ((a = e), (s = r), (l = t)) + : r < t && ((a = r), (s = t), (l = e)), + a < 0 + ? -1 + : ((n[0] = a), + (n[1] = s), + (n[2] = l), + i.eq(this.cells, n, o)) + ); + })); + }, + { 'binary-search-bounds': 96 }, + ], + 115: [ + function (t, e, r) { + 'use strict'; + var n = t('binary-search-bounds'), + i = t('robust-orientation')[3]; + function a(t, e, r, n, i) { + (this.a = t), + (this.b = e), + (this.idx = r), + (this.lowerIds = n), + (this.upperIds = i); + } + function o(t, e, r, n) { + (this.a = t), (this.b = e), (this.type = r), (this.idx = n); + } + function s(t, e) { + var r = t.a[0] - e.a[0] || t.a[1] - e.a[1] || t.type - e.type; + return ( + r || (0 !== t.type && (r = i(t.a, t.b, e.b)) ? r : t.idx - e.idx) + ); + } + function l(t, e) { + return i(t.a, t.b, e); + } + function c(t, e, r, a, o) { + for (var s = n.lt(e, a, l), c = n.gt(e, a, l), u = s; u < c; ++u) { + for ( + var f = e[u], h = f.lowerIds, p = h.length; + p > 1 && i(r[h[p - 2]], r[h[p - 1]], a) > 0; + + ) + t.push([h[p - 1], h[p - 2], o]), (p -= 1); + (h.length = p), h.push(o); + var d = f.upperIds; + for (p = d.length; p > 1 && i(r[d[p - 2]], r[d[p - 1]], a) < 0; ) + t.push([d[p - 2], d[p - 1], o]), (p -= 1); + (d.length = p), d.push(o); + } + } + function u(t, e) { + var r; + return (r = t.a[0] < e.a[0] ? i(t.a, t.b, e.a) : i(e.b, e.a, t.a)) + ? r + : (r = e.b[0] < t.b[0] ? i(t.a, t.b, e.b) : i(e.b, e.a, t.b)) || + t.idx - e.idx; + } + function f(t, e, r) { + var i = n.le(t, r, u), + o = t[i], + s = o.upperIds, + l = s[s.length - 1]; + (o.upperIds = [l]), + t.splice(i + 1, 0, new a(r.a, r.b, r.idx, [l], s)); + } + function h(t, e, r) { + var i = r.a; + (r.a = r.b), (r.b = i); + var a = n.eq(t, r, u), + o = t[a]; + (t[a - 1].upperIds = o.upperIds), t.splice(a, 1); + } + e.exports = function (t, e) { + for (var r = t.length, n = e.length, i = [], l = 0; l < r; ++l) + i.push(new o(t[l], null, 0, l)); + for (l = 0; l < n; ++l) { + var u = e[l], + p = t[u[0]], + d = t[u[1]]; + p[0] < d[0] + ? i.push(new o(p, d, 2, l), new o(d, p, 1, l)) + : p[0] > d[0] && i.push(new o(d, p, 2, l), new o(p, d, 1, l)); + } + i.sort(s); + for ( + var g = i[0].a[0] - (1 + Math.abs(i[0].a[0])) * Math.pow(2, -52), + m = [new a([g, 1], [g, 0], -1, [], [], [], [])], + v = [], + y = ((l = 0), i.length); + l < y; + ++l + ) { + var x = i[l], + b = x.type; + 0 === b + ? c(v, m, t, x.a, x.idx) + : 2 === b + ? f(m, t, x) + : h(m, t, x); + } + return v; + }; + }, + { 'binary-search-bounds': 96, 'robust-orientation': 548 }, + ], + 116: [ + function (t, e, r) { + 'use strict'; + var n = t('binary-search-bounds'); + function i(t, e) { + (this.stars = t), (this.edges = e); + } + e.exports = function (t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = []; + return new i(r, e); + }; + var a = i.prototype; + function o(t, e, r) { + for (var n = 1, i = t.length; n < i; n += 2) + if (t[n - 1] === e && t[n] === r) + return ( + (t[n - 1] = t[i - 2]), + (t[n] = t[i - 1]), + void (t.length = i - 2) + ); + } + (a.isConstraint = (function () { + var t = [0, 0]; + function e(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + return function (r, i) { + return ( + (t[0] = Math.min(r, i)), + (t[1] = Math.max(r, i)), + n.eq(this.edges, t, e) >= 0 + ); + }; + })()), + (a.removeTriangle = function (t, e, r) { + var n = this.stars; + o(n[t], e, r), o(n[e], r, t), o(n[r], t, e); + }), + (a.addTriangle = function (t, e, r) { + var n = this.stars; + n[t].push(e, r), n[e].push(r, t), n[r].push(t, e); + }), + (a.opposite = function (t, e) { + for (var r = this.stars[e], n = 1, i = r.length; n < i; n += 2) + if (r[n] === t) return r[n - 1]; + return -1; + }), + (a.flip = function (t, e) { + var r = this.opposite(t, e), + n = this.opposite(e, t); + this.removeTriangle(t, e, r), + this.removeTriangle(e, t, n), + this.addTriangle(t, n, r), + this.addTriangle(e, r, n); + }), + (a.edges = function () { + for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; a += 2) + e.push([i[a], i[a + 1]]); + return e; + }), + (a.cells = function () { + for (var t = this.stars, e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; a += 2) { + var s = i[a], + l = i[a + 1]; + r < Math.min(s, l) && e.push([r, s, l]); + } + return e; + }); + }, + { 'binary-search-bounds': 96 }, + ], + 117: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = 1, r = 1; r < t.length; ++r) + for (var n = 0; n < r; ++n) + if (t[r] < t[n]) e = -e; + else if (t[n] === t[r]) return 0; + return e; + }; + }, + {}, + ], + 118: [ + function (t, e, r) { + 'use strict'; + var n = t('dup'), + i = t('robust-linear-solve'); + function a(t, e) { + for (var r = 0, n = t.length, i = 0; i < n; ++i) r += t[i] * e[i]; + return r; + } + function o(t) { + var e = t.length; + if (0 === e) return []; + t[0].length; + var r = n([t.length + 1, t.length + 1], 1), + o = n([t.length + 1], 1); + r[e][e] = 0; + for (var s = 0; s < e; ++s) { + for (var l = 0; l <= s; ++l) + r[l][s] = r[s][l] = 2 * a(t[s], t[l]); + o[s] = a(t[s], t[s]); + } + var c = i(r, o), + u = 0, + f = c[e + 1]; + for (s = 0; s < f.length; ++s) u += f[s]; + var h = new Array(e); + for (s = 0; s < e; ++s) { + f = c[s]; + var p = 0; + for (l = 0; l < f.length; ++l) p += f[l]; + h[s] = p / u; + } + return h; + } + function s(t) { + if (0 === t.length) return []; + for ( + var e = t[0].length, r = n([e]), i = o(t), a = 0; + a < t.length; + ++a + ) + for (var s = 0; s < e; ++s) r[s] += t[a][s] * i[a]; + return r; + } + (s.barycenetric = o), (e.exports = s); + }, + { dup: 176, 'robust-linear-solve': 547 }, + ], + 119: [ + function (t, e, r) { + e.exports = function (t) { + for (var e = n(t), r = 0, i = 0; i < t.length; ++i) + for (var a = t[i], o = 0; o < e.length; ++o) + r += Math.pow(a[o] - e[o], 2); + return Math.sqrt(r / t.length); + }; + var n = t('circumcenter'); + }, + { circumcenter: 118 }, + ], + 120: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return e < r + ? t < e + ? e + : t > r + ? r + : t + : t < r + ? r + : t > e + ? e + : t; + }; + }, + {}, + ], + 121: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var n; + if (r) { + n = e; + for (var i = new Array(e.length), a = 0; a < e.length; ++a) { + var o = e[a]; + i[a] = [o[0], o[1], r[a]]; + } + e = i; + } + var s = (function (t, e, r) { + var n = d(t, [], p(t)); + return v(e, n, r), !!n; + })(t, e, !!r); + for (; y(t, e, !!r); ) s = !0; + if (r && s) { + (n.length = 0), (r.length = 0); + for (a = 0; a < e.length; ++a) { + o = e[a]; + n.push([o[0], o[1]]), r.push(o[2]); + } + } + return s; + }; + var n = t('union-find'), + i = t('box-intersect'), + a = t('robust-segment-intersect'), + o = t('big-rat'), + s = t('big-rat/cmp'), + l = t('big-rat/to-float'), + c = t('rat-vec'), + u = t('nextafter'), + f = t('./lib/rat-seg-intersect'); + function h(t) { + var e = l(t); + return [u(e, -1 / 0), u(e, 1 / 0)]; + } + function p(t) { + for (var e = new Array(t.length), r = 0; r < t.length; ++r) { + var n = t[r]; + e[r] = [ + u(n[0], -1 / 0), + u(n[1], -1 / 0), + u(n[0], 1 / 0), + u(n[1], 1 / 0), + ]; + } + return e; + } + function d(t, e, r) { + for ( + var a = e.length, o = new n(a), s = [], l = 0; + l < e.length; + ++l + ) { + var c = e[l], + f = h(c[0]), + p = h(c[1]); + s.push([ + u(f[0], -1 / 0), + u(p[0], -1 / 0), + u(f[1], 1 / 0), + u(p[1], 1 / 0), + ]); + } + i(s, function (t, e) { + o.link(t, e); + }); + var d = !0, + g = new Array(a); + for (l = 0; l < a; ++l) { + (v = o.find(l)) !== l && + ((d = !1), + (t[v] = [ + Math.min(t[l][0], t[v][0]), + Math.min(t[l][1], t[v][1]), + ])); + } + if (d) return null; + var m = 0; + for (l = 0; l < a; ++l) { + var v; + (v = o.find(l)) === l + ? ((g[l] = m), (t[m++] = t[l])) + : (g[l] = -1); + } + t.length = m; + for (l = 0; l < a; ++l) g[l] < 0 && (g[l] = g[o.find(l)]); + return g; + } + function g(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + function m(t, e) { + var r = t[0] - e[0] || t[1] - e[1]; + return r || (t[2] < e[2] ? -1 : t[2] > e[2] ? 1 : 0); + } + function v(t, e, r) { + if (0 !== t.length) { + if (e) + for (var n = 0; n < t.length; ++n) { + var i = e[(o = t[n])[0]], + a = e[o[1]]; + (o[0] = Math.min(i, a)), (o[1] = Math.max(i, a)); + } + else + for (n = 0; n < t.length; ++n) { + var o; + (i = (o = t[n])[0]), (a = o[1]); + (o[0] = Math.min(i, a)), (o[1] = Math.max(i, a)); + } + r ? t.sort(m) : t.sort(g); + var s = 1; + for (n = 1; n < t.length; ++n) { + var l = t[n - 1], + c = t[n]; + (c[0] !== l[0] || c[1] !== l[1] || (r && c[2] !== l[2])) && + (t[s++] = c); + } + t.length = s; + } + } + function y(t, e, r) { + var n = (function (t, e) { + for (var r = new Array(e.length), n = 0; n < e.length; ++n) { + var i = e[n], + a = t[i[0]], + o = t[i[1]]; + r[n] = [ + u(Math.min(a[0], o[0]), -1 / 0), + u(Math.min(a[1], o[1]), -1 / 0), + u(Math.max(a[0], o[0]), 1 / 0), + u(Math.max(a[1], o[1]), 1 / 0), + ]; + } + return r; + })(t, e), + h = (function (t, e, r) { + var n = []; + return ( + i(r, function (r, i) { + var o = e[r], + s = e[i]; + if ( + o[0] !== s[0] && + o[0] !== s[1] && + o[1] !== s[0] && + o[1] !== s[1] + ) { + var l = t[o[0]], + c = t[o[1]], + u = t[s[0]], + f = t[s[1]]; + a(l, c, u, f) && n.push([r, i]); + } + }), + n + ); + })(t, e, n), + g = p(t), + m = (function (t, e, r, n) { + var o = []; + return ( + i(r, n, function (r, n) { + var i = e[r]; + if (i[0] !== n && i[1] !== n) { + var s = t[n], + l = t[i[0]], + c = t[i[1]]; + a(l, c, s, s) && o.push([r, n]); + } + }), + o + ); + })(t, e, n, g), + y = d( + t, + (function (t, e, r, n, i) { + var a, + u, + h = t.map(function (t) { + return [o(t[0]), o(t[1])]; + }); + for (a = 0; a < r.length; ++a) { + var p = r[a]; + u = p[0]; + var d = p[1], + g = e[u], + m = e[d], + v = f(c(t[g[0]]), c(t[g[1]]), c(t[m[0]]), c(t[m[1]])); + if (v) { + var y = t.length; + t.push([l(v[0]), l(v[1])]), + h.push(v), + n.push([u, y], [d, y]); + } + } + for ( + n.sort(function (t, e) { + if (t[0] !== e[0]) return t[0] - e[0]; + var r = h[t[1]], + n = h[e[1]]; + return s(r[0], n[0]) || s(r[1], n[1]); + }), + a = n.length - 1; + a >= 0; + --a + ) { + var x = e[(u = (S = n[a])[0])], + b = x[0], + _ = x[1], + w = t[b], + T = t[_]; + if ((w[0] - T[0] || w[1] - T[1]) < 0) { + var k = b; + (b = _), (_ = k); + } + x[0] = b; + var M, + A = (x[1] = S[1]); + for (i && (M = x[2]); a > 0 && n[a - 1][0] === u; ) { + var S, + E = (S = n[--a])[1]; + i ? e.push([A, E, M]) : e.push([A, E]), (A = E); + } + i ? e.push([A, _, M]) : e.push([A, _]); + } + return h; + })(t, e, h, m, r) + ); + return v(e, y, r), !!y || h.length > 0 || m.length > 0; + } + }, + { + './lib/rat-seg-intersect': 122, + 'big-rat': 83, + 'big-rat/cmp': 81, + 'big-rat/to-float': 95, + 'box-intersect': 101, + nextafter: 496, + 'rat-vec': 530, + 'robust-segment-intersect': 551, + 'union-find': 596, + }, + ], + 122: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + var a = s(e, t), + f = s(n, r), + h = u(a, f); + if (0 === o(h)) return null; + var p = s(t, r), + d = u(f, p), + g = i(d, h), + m = c(a, g); + return l(t, m); + }; + var n = t('big-rat/mul'), + i = t('big-rat/div'), + a = t('big-rat/sub'), + o = t('big-rat/sign'), + s = t('rat-vec/sub'), + l = t('rat-vec/add'), + c = t('rat-vec/muls'); + function u(t, e) { + return a(n(t[0], e[1]), n(t[1], e[0])); + } + }, + { + 'big-rat/div': 82, + 'big-rat/mul': 92, + 'big-rat/sign': 93, + 'big-rat/sub': 94, + 'rat-vec/add': 529, + 'rat-vec/muls': 531, + 'rat-vec/sub': 532, + }, + ], + 123: [ + function (t, e, r) { + 'use strict'; + var n = t('clamp'); + function i(t, e) { + null == e && (e = !0); + var r = t[0], + i = t[1], + a = t[2], + o = t[3]; + return ( + null == o && (o = e ? 1 : 255), + e && ((r *= 255), (i *= 255), (a *= 255), (o *= 255)), + 16777216 * (r = 255 & n(r, 0, 255)) + + ((i = 255 & n(i, 0, 255)) << 16) + + ((a = 255 & n(a, 0, 255)) << 8) + + (o = 255 & n(o, 0, 255)) + ); + } + (e.exports = i), + (e.exports.to = i), + (e.exports.from = function (t, e) { + var r = (t = +t) >>> 24, + n = (16711680 & t) >>> 16, + i = (65280 & t) >>> 8, + a = 255 & t; + return !1 === e + ? [r, n, i, a] + : [r / 255, n / 255, i / 255, a / 255]; + }); + }, + { clamp: 120 }, + ], + 124: [ + function (t, e, r) { + 'use strict'; + e.exports = { + aliceblue: [240, 248, 255], + antiquewhite: [250, 235, 215], + aqua: [0, 255, 255], + aquamarine: [127, 255, 212], + azure: [240, 255, 255], + beige: [245, 245, 220], + bisque: [255, 228, 196], + black: [0, 0, 0], + blanchedalmond: [255, 235, 205], + blue: [0, 0, 255], + blueviolet: [138, 43, 226], + brown: [165, 42, 42], + burlywood: [222, 184, 135], + cadetblue: [95, 158, 160], + chartreuse: [127, 255, 0], + chocolate: [210, 105, 30], + coral: [255, 127, 80], + cornflowerblue: [100, 149, 237], + cornsilk: [255, 248, 220], + crimson: [220, 20, 60], + cyan: [0, 255, 255], + darkblue: [0, 0, 139], + darkcyan: [0, 139, 139], + darkgoldenrod: [184, 134, 11], + darkgray: [169, 169, 169], + darkgreen: [0, 100, 0], + darkgrey: [169, 169, 169], + darkkhaki: [189, 183, 107], + darkmagenta: [139, 0, 139], + darkolivegreen: [85, 107, 47], + darkorange: [255, 140, 0], + darkorchid: [153, 50, 204], + darkred: [139, 0, 0], + darksalmon: [233, 150, 122], + darkseagreen: [143, 188, 143], + darkslateblue: [72, 61, 139], + darkslategray: [47, 79, 79], + darkslategrey: [47, 79, 79], + darkturquoise: [0, 206, 209], + darkviolet: [148, 0, 211], + deeppink: [255, 20, 147], + deepskyblue: [0, 191, 255], + dimgray: [105, 105, 105], + dimgrey: [105, 105, 105], + dodgerblue: [30, 144, 255], + firebrick: [178, 34, 34], + floralwhite: [255, 250, 240], + forestgreen: [34, 139, 34], + fuchsia: [255, 0, 255], + gainsboro: [220, 220, 220], + ghostwhite: [248, 248, 255], + gold: [255, 215, 0], + goldenrod: [218, 165, 32], + gray: [128, 128, 128], + green: [0, 128, 0], + greenyellow: [173, 255, 47], + grey: [128, 128, 128], + honeydew: [240, 255, 240], + hotpink: [255, 105, 180], + indianred: [205, 92, 92], + indigo: [75, 0, 130], + ivory: [255, 255, 240], + khaki: [240, 230, 140], + lavender: [230, 230, 250], + lavenderblush: [255, 240, 245], + lawngreen: [124, 252, 0], + lemonchiffon: [255, 250, 205], + lightblue: [173, 216, 230], + lightcoral: [240, 128, 128], + lightcyan: [224, 255, 255], + lightgoldenrodyellow: [250, 250, 210], + lightgray: [211, 211, 211], + lightgreen: [144, 238, 144], + lightgrey: [211, 211, 211], + lightpink: [255, 182, 193], + lightsalmon: [255, 160, 122], + lightseagreen: [32, 178, 170], + lightskyblue: [135, 206, 250], + lightslategray: [119, 136, 153], + lightslategrey: [119, 136, 153], + lightsteelblue: [176, 196, 222], + lightyellow: [255, 255, 224], + lime: [0, 255, 0], + limegreen: [50, 205, 50], + linen: [250, 240, 230], + magenta: [255, 0, 255], + maroon: [128, 0, 0], + mediumaquamarine: [102, 205, 170], + mediumblue: [0, 0, 205], + mediumorchid: [186, 85, 211], + mediumpurple: [147, 112, 219], + mediumseagreen: [60, 179, 113], + mediumslateblue: [123, 104, 238], + mediumspringgreen: [0, 250, 154], + mediumturquoise: [72, 209, 204], + mediumvioletred: [199, 21, 133], + midnightblue: [25, 25, 112], + mintcream: [245, 255, 250], + mistyrose: [255, 228, 225], + moccasin: [255, 228, 181], + navajowhite: [255, 222, 173], + navy: [0, 0, 128], + oldlace: [253, 245, 230], + olive: [128, 128, 0], + olivedrab: [107, 142, 35], + orange: [255, 165, 0], + orangered: [255, 69, 0], + orchid: [218, 112, 214], + palegoldenrod: [238, 232, 170], + palegreen: [152, 251, 152], + paleturquoise: [175, 238, 238], + palevioletred: [219, 112, 147], + papayawhip: [255, 239, 213], + peachpuff: [255, 218, 185], + peru: [205, 133, 63], + pink: [255, 192, 203], + plum: [221, 160, 221], + powderblue: [176, 224, 230], + purple: [128, 0, 128], + rebeccapurple: [102, 51, 153], + red: [255, 0, 0], + rosybrown: [188, 143, 143], + royalblue: [65, 105, 225], + saddlebrown: [139, 69, 19], + salmon: [250, 128, 114], + sandybrown: [244, 164, 96], + seagreen: [46, 139, 87], + seashell: [255, 245, 238], + sienna: [160, 82, 45], + silver: [192, 192, 192], + skyblue: [135, 206, 235], + slateblue: [106, 90, 205], + slategray: [112, 128, 144], + slategrey: [112, 128, 144], + snow: [255, 250, 250], + springgreen: [0, 255, 127], + steelblue: [70, 130, 180], + tan: [210, 180, 140], + teal: [0, 128, 128], + thistle: [216, 191, 216], + tomato: [255, 99, 71], + turquoise: [64, 224, 208], + violet: [238, 130, 238], + wheat: [245, 222, 179], + white: [255, 255, 255], + whitesmoke: [245, 245, 245], + yellow: [255, 255, 0], + yellowgreen: [154, 205, 50], + }; + }, + {}, + ], + 125: [ + function (t, e, r) { + 'use strict'; + var n = t('color-rgba'), + i = t('clamp'), + a = t('dtype'); + e.exports = function (t, e) { + ('float' !== e && e) || (e = 'array'), + 'uint' === e && (e = 'uint8'), + 'uint_clamped' === e && (e = 'uint8_clamped'); + var r = new (a(e))(4), + o = 'uint8' !== e && 'uint8_clamped' !== e; + return ( + (t.length && 'string' != typeof t) || + (((t = n(t))[0] /= 255), (t[1] /= 255), (t[2] /= 255)), + (function (t) { + return ( + t instanceof Uint8Array || + t instanceof Uint8ClampedArray || + !!( + Array.isArray(t) && + (t[0] > 1 || 0 === t[0]) && + (t[1] > 1 || 0 === t[1]) && + (t[2] > 1 || 0 === t[2]) && + (!t[3] || t[3] > 1) + ) + ); + })(t) + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 255), + o && + ((r[0] /= 255), + (r[1] /= 255), + (r[2] /= 255), + (r[3] /= 255)), + r) + : (o + ? ((r[0] = t[0]), + (r[1] = t[1]), + (r[2] = t[2]), + (r[3] = null != t[3] ? t[3] : 1)) + : ((r[0] = i(Math.floor(255 * t[0]), 0, 255)), + (r[1] = i(Math.floor(255 * t[1]), 0, 255)), + (r[2] = i(Math.floor(255 * t[2]), 0, 255)), + (r[3] = + null == t[3] + ? 255 + : i(Math.floor(255 * t[3]), 0, 255))), + r) + ); + }; + }, + { clamp: 120, 'color-rgba': 127, dtype: 175 }, + ], + 126: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('color-name'), + i = t('is-plain-obj'), + a = t('defined'); + e.exports = function (t) { + var e, + s, + l = [], + c = 1; + if ('string' == typeof t) + if (n[t]) (l = n[t].slice()), (s = 'rgb'); + else if ('transparent' === t) + (c = 0), (s = 'rgb'), (l = [0, 0, 0]); + else if (/^#[A-Fa-f0-9]+$/.test(t)) { + var u = (p = t.slice(1)).length; + (c = 1), + u <= 4 + ? ((l = [ + parseInt(p[0] + p[0], 16), + parseInt(p[1] + p[1], 16), + parseInt(p[2] + p[2], 16), + ]), + 4 === u && (c = parseInt(p[3] + p[3], 16) / 255)) + : ((l = [ + parseInt(p[0] + p[1], 16), + parseInt(p[2] + p[3], 16), + parseInt(p[4] + p[5], 16), + ]), + 8 === u && (c = parseInt(p[6] + p[7], 16) / 255)), + l[0] || (l[0] = 0), + l[1] || (l[1] = 0), + l[2] || (l[2] = 0), + (s = 'rgb'); + } else if ( + (e = + /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec( + t + )) + ) { + var f = e[1], + h = 'rgb' === f, + p = f.replace(/a$/, ''); + s = p; + u = 'cmyk' === p ? 4 : 'gray' === p ? 1 : 3; + (l = e[2] + .trim() + .split(/\s*,\s*/) + .map(function (t, e) { + if (/%$/.test(t)) + return e === u + ? parseFloat(t) / 100 + : 'rgb' === p + ? (255 * parseFloat(t)) / 100 + : parseFloat(t); + if ('h' === p[e]) { + if (/deg$/.test(t)) return parseFloat(t); + if (void 0 !== o[t]) return o[t]; + } + return parseFloat(t); + })), + f === p && l.push(1), + (c = h || void 0 === l[u] ? 1 : l[u]), + (l = l.slice(0, u)); + } else + t.length > 10 && + /[0-9](?:\s|\/)/.test(t) && + ((l = t.match(/([0-9]+)/g).map(function (t) { + return parseFloat(t); + })), + (s = t + .match(/([a-z])/gi) + .join('') + .toLowerCase())); + else if (isNaN(t)) + if (i(t)) { + var d = a(t.r, t.red, t.R, null); + null !== d + ? ((s = 'rgb'), + (l = [d, a(t.g, t.green, t.G), a(t.b, t.blue, t.B)])) + : ((s = 'hsl'), + (l = [ + a(t.h, t.hue, t.H), + a(t.s, t.saturation, t.S), + a(t.l, t.lightness, t.L, t.b, t.brightness), + ])), + (c = a(t.a, t.alpha, t.opacity, 1)), + null != t.opacity && (c /= 100); + } else + (Array.isArray(t) || + (r.ArrayBuffer && + ArrayBuffer.isView && + ArrayBuffer.isView(t))) && + ((l = [t[0], t[1], t[2]]), + (s = 'rgb'), + (c = 4 === t.length ? t[3] : 1)); + else (s = 'rgb'), (l = [t >>> 16, (65280 & t) >>> 8, 255 & t]); + return { space: s, values: l, alpha: c }; + }; + var o = { + red: 0, + orange: 60, + yellow: 120, + green: 180, + blue: 240, + purple: 300, + }; + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'color-name': 124, defined: 170, 'is-plain-obj': 469 }, + ], + 127: [ + function (t, e, r) { + 'use strict'; + var n = t('color-parse'), + i = t('color-space/hsl'), + a = t('clamp'); + e.exports = function (t) { + var e, + r = n(t); + return r.space + ? (((e = Array(3))[0] = a(r.values[0], 0, 255)), + (e[1] = a(r.values[1], 0, 255)), + (e[2] = a(r.values[2], 0, 255)), + 'h' === r.space[0] && (e = i.rgb(e)), + e.push(a(r.alpha, 0, 1)), + e) + : []; + }; + }, + { clamp: 120, 'color-parse': 126, 'color-space/hsl': 128 }, + ], + 128: [ + function (t, e, r) { + 'use strict'; + var n = t('./rgb'); + (e.exports = { + name: 'hsl', + min: [0, 0, 0], + max: [360, 100, 100], + channel: ['hue', 'saturation', 'lightness'], + alias: ['HSL'], + rgb: function (t) { + var e, + r, + n, + i, + a, + o = t[0] / 360, + s = t[1] / 100, + l = t[2] / 100; + if (0 === s) return [(a = 255 * l), a, a]; + (e = 2 * l - (r = l < 0.5 ? l * (1 + s) : l + s - l * s)), + (i = [0, 0, 0]); + for (var c = 0; c < 3; c++) + (n = o + (1 / 3) * -(c - 1)) < 0 ? n++ : n > 1 && n--, + (a = + 6 * n < 1 + ? e + 6 * (r - e) * n + : 2 * n < 1 + ? r + : 3 * n < 2 + ? e + (r - e) * (2 / 3 - n) * 6 + : e), + (i[c] = 255 * a); + return i; + }, + }), + (n.hsl = function (t) { + var e, + r, + n = t[0] / 255, + i = t[1] / 255, + a = t[2] / 255, + o = Math.min(n, i, a), + s = Math.max(n, i, a), + l = s - o; + return ( + s === o + ? (e = 0) + : n === s + ? (e = (i - a) / l) + : i === s + ? (e = 2 + (a - n) / l) + : a === s && (e = 4 + (n - i) / l), + (e = Math.min(60 * e, 360)) < 0 && (e += 360), + (r = (o + s) / 2), + [ + e, + 100 * + (s === o ? 0 : r <= 0.5 ? l / (s + o) : l / (2 - s - o)), + 100 * r, + ] + ); + }); + }, + { './rgb': 129 }, + ], + 129: [ + function (t, e, r) { + 'use strict'; + e.exports = { + name: 'rgb', + min: [0, 0, 0], + max: [255, 255, 255], + channel: ['red', 'green', 'blue'], + alias: ['RGB'], + }; + }, + {}, + ], + 130: [ + function (t, e, r) { + e.exports = { + jet: [ + { index: 0, rgb: [0, 0, 131] }, + { index: 0.125, rgb: [0, 60, 170] }, + { index: 0.375, rgb: [5, 255, 255] }, + { index: 0.625, rgb: [255, 255, 0] }, + { index: 0.875, rgb: [250, 0, 0] }, + { index: 1, rgb: [128, 0, 0] }, + ], + hsv: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 0.169, rgb: [253, 255, 2] }, + { index: 0.173, rgb: [247, 255, 2] }, + { index: 0.337, rgb: [0, 252, 4] }, + { index: 0.341, rgb: [0, 252, 10] }, + { index: 0.506, rgb: [1, 249, 255] }, + { index: 0.671, rgb: [2, 0, 253] }, + { index: 0.675, rgb: [8, 0, 253] }, + { index: 0.839, rgb: [255, 0, 251] }, + { index: 0.843, rgb: [255, 0, 245] }, + { index: 1, rgb: [255, 0, 6] }, + ], + hot: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.3, rgb: [230, 0, 0] }, + { index: 0.6, rgb: [255, 210, 0] }, + { index: 1, rgb: [255, 255, 255] }, + ], + cool: [ + { index: 0, rgb: [0, 255, 255] }, + { index: 1, rgb: [255, 0, 255] }, + ], + spring: [ + { index: 0, rgb: [255, 0, 255] }, + { index: 1, rgb: [255, 255, 0] }, + ], + summer: [ + { index: 0, rgb: [0, 128, 102] }, + { index: 1, rgb: [255, 255, 102] }, + ], + autumn: [ + { index: 0, rgb: [255, 0, 0] }, + { index: 1, rgb: [255, 255, 0] }, + ], + winter: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 1, rgb: [0, 255, 128] }, + ], + bone: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.376, rgb: [84, 84, 116] }, + { index: 0.753, rgb: [169, 200, 200] }, + { index: 1, rgb: [255, 255, 255] }, + ], + copper: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.804, rgb: [255, 160, 102] }, + { index: 1, rgb: [255, 199, 127] }, + ], + greys: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 1, rgb: [255, 255, 255] }, + ], + yignbu: [ + { index: 0, rgb: [8, 29, 88] }, + { index: 0.125, rgb: [37, 52, 148] }, + { index: 0.25, rgb: [34, 94, 168] }, + { index: 0.375, rgb: [29, 145, 192] }, + { index: 0.5, rgb: [65, 182, 196] }, + { index: 0.625, rgb: [127, 205, 187] }, + { index: 0.75, rgb: [199, 233, 180] }, + { index: 0.875, rgb: [237, 248, 217] }, + { index: 1, rgb: [255, 255, 217] }, + ], + greens: [ + { index: 0, rgb: [0, 68, 27] }, + { index: 0.125, rgb: [0, 109, 44] }, + { index: 0.25, rgb: [35, 139, 69] }, + { index: 0.375, rgb: [65, 171, 93] }, + { index: 0.5, rgb: [116, 196, 118] }, + { index: 0.625, rgb: [161, 217, 155] }, + { index: 0.75, rgb: [199, 233, 192] }, + { index: 0.875, rgb: [229, 245, 224] }, + { index: 1, rgb: [247, 252, 245] }, + ], + yiorrd: [ + { index: 0, rgb: [128, 0, 38] }, + { index: 0.125, rgb: [189, 0, 38] }, + { index: 0.25, rgb: [227, 26, 28] }, + { index: 0.375, rgb: [252, 78, 42] }, + { index: 0.5, rgb: [253, 141, 60] }, + { index: 0.625, rgb: [254, 178, 76] }, + { index: 0.75, rgb: [254, 217, 118] }, + { index: 0.875, rgb: [255, 237, 160] }, + { index: 1, rgb: [255, 255, 204] }, + ], + bluered: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rdbu: [ + { index: 0, rgb: [5, 10, 172] }, + { index: 0.35, rgb: [106, 137, 247] }, + { index: 0.5, rgb: [190, 190, 190] }, + { index: 0.6, rgb: [220, 170, 132] }, + { index: 0.7, rgb: [230, 145, 90] }, + { index: 1, rgb: [178, 10, 28] }, + ], + picnic: [ + { index: 0, rgb: [0, 0, 255] }, + { index: 0.1, rgb: [51, 153, 255] }, + { index: 0.2, rgb: [102, 204, 255] }, + { index: 0.3, rgb: [153, 204, 255] }, + { index: 0.4, rgb: [204, 204, 255] }, + { index: 0.5, rgb: [255, 255, 255] }, + { index: 0.6, rgb: [255, 204, 255] }, + { index: 0.7, rgb: [255, 153, 255] }, + { index: 0.8, rgb: [255, 102, 204] }, + { index: 0.9, rgb: [255, 102, 102] }, + { index: 1, rgb: [255, 0, 0] }, + ], + rainbow: [ + { index: 0, rgb: [150, 0, 90] }, + { index: 0.125, rgb: [0, 0, 200] }, + { index: 0.25, rgb: [0, 25, 255] }, + { index: 0.375, rgb: [0, 152, 255] }, + { index: 0.5, rgb: [44, 255, 150] }, + { index: 0.625, rgb: [151, 255, 0] }, + { index: 0.75, rgb: [255, 234, 0] }, + { index: 0.875, rgb: [255, 111, 0] }, + { index: 1, rgb: [255, 0, 0] }, + ], + portland: [ + { index: 0, rgb: [12, 51, 131] }, + { index: 0.25, rgb: [10, 136, 186] }, + { index: 0.5, rgb: [242, 211, 56] }, + { index: 0.75, rgb: [242, 143, 56] }, + { index: 1, rgb: [217, 30, 30] }, + ], + blackbody: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.2, rgb: [230, 0, 0] }, + { index: 0.4, rgb: [230, 210, 0] }, + { index: 0.7, rgb: [255, 255, 255] }, + { index: 1, rgb: [160, 200, 255] }, + ], + earth: [ + { index: 0, rgb: [0, 0, 130] }, + { index: 0.1, rgb: [0, 180, 180] }, + { index: 0.2, rgb: [40, 210, 40] }, + { index: 0.4, rgb: [230, 230, 50] }, + { index: 0.6, rgb: [120, 70, 20] }, + { index: 1, rgb: [255, 255, 255] }, + ], + electric: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.15, rgb: [30, 0, 100] }, + { index: 0.4, rgb: [120, 0, 100] }, + { index: 0.6, rgb: [160, 90, 0] }, + { index: 0.8, rgb: [230, 200, 0] }, + { index: 1, rgb: [255, 250, 220] }, + ], + alpha: [ + { index: 0, rgb: [255, 255, 255, 0] }, + { index: 1, rgb: [255, 255, 255, 1] }, + ], + viridis: [ + { index: 0, rgb: [68, 1, 84] }, + { index: 0.13, rgb: [71, 44, 122] }, + { index: 0.25, rgb: [59, 81, 139] }, + { index: 0.38, rgb: [44, 113, 142] }, + { index: 0.5, rgb: [33, 144, 141] }, + { index: 0.63, rgb: [39, 173, 129] }, + { index: 0.75, rgb: [92, 200, 99] }, + { index: 0.88, rgb: [170, 220, 50] }, + { index: 1, rgb: [253, 231, 37] }, + ], + inferno: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [31, 12, 72] }, + { index: 0.25, rgb: [85, 15, 109] }, + { index: 0.38, rgb: [136, 34, 106] }, + { index: 0.5, rgb: [186, 54, 85] }, + { index: 0.63, rgb: [227, 89, 51] }, + { index: 0.75, rgb: [249, 140, 10] }, + { index: 0.88, rgb: [249, 201, 50] }, + { index: 1, rgb: [252, 255, 164] }, + ], + magma: [ + { index: 0, rgb: [0, 0, 4] }, + { index: 0.13, rgb: [28, 16, 68] }, + { index: 0.25, rgb: [79, 18, 123] }, + { index: 0.38, rgb: [129, 37, 129] }, + { index: 0.5, rgb: [181, 54, 122] }, + { index: 0.63, rgb: [229, 80, 100] }, + { index: 0.75, rgb: [251, 135, 97] }, + { index: 0.88, rgb: [254, 194, 135] }, + { index: 1, rgb: [252, 253, 191] }, + ], + plasma: [ + { index: 0, rgb: [13, 8, 135] }, + { index: 0.13, rgb: [75, 3, 161] }, + { index: 0.25, rgb: [125, 3, 168] }, + { index: 0.38, rgb: [168, 34, 150] }, + { index: 0.5, rgb: [203, 70, 121] }, + { index: 0.63, rgb: [229, 107, 93] }, + { index: 0.75, rgb: [248, 148, 65] }, + { index: 0.88, rgb: [253, 195, 40] }, + { index: 1, rgb: [240, 249, 33] }, + ], + warm: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [172, 0, 187] }, + { index: 0.25, rgb: [219, 0, 170] }, + { index: 0.38, rgb: [255, 0, 130] }, + { index: 0.5, rgb: [255, 63, 74] }, + { index: 0.63, rgb: [255, 123, 0] }, + { index: 0.75, rgb: [234, 176, 0] }, + { index: 0.88, rgb: [190, 228, 0] }, + { index: 1, rgb: [147, 255, 0] }, + ], + cool: [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.13, rgb: [116, 0, 218] }, + { index: 0.25, rgb: [98, 74, 237] }, + { index: 0.38, rgb: [68, 146, 231] }, + { index: 0.5, rgb: [0, 204, 197] }, + { index: 0.63, rgb: [0, 247, 146] }, + { index: 0.75, rgb: [0, 255, 88] }, + { index: 0.88, rgb: [40, 255, 8] }, + { index: 1, rgb: [147, 255, 0] }, + ], + 'rainbow-soft': [ + { index: 0, rgb: [125, 0, 179] }, + { index: 0.1, rgb: [199, 0, 180] }, + { index: 0.2, rgb: [255, 0, 121] }, + { index: 0.3, rgb: [255, 108, 0] }, + { index: 0.4, rgb: [222, 194, 0] }, + { index: 0.5, rgb: [150, 255, 0] }, + { index: 0.6, rgb: [0, 255, 55] }, + { index: 0.7, rgb: [0, 246, 150] }, + { index: 0.8, rgb: [50, 167, 222] }, + { index: 0.9, rgb: [103, 51, 235] }, + { index: 1, rgb: [124, 0, 186] }, + ], + bathymetry: [ + { index: 0, rgb: [40, 26, 44] }, + { index: 0.13, rgb: [59, 49, 90] }, + { index: 0.25, rgb: [64, 76, 139] }, + { index: 0.38, rgb: [63, 110, 151] }, + { index: 0.5, rgb: [72, 142, 158] }, + { index: 0.63, rgb: [85, 174, 163] }, + { index: 0.75, rgb: [120, 206, 163] }, + { index: 0.88, rgb: [187, 230, 172] }, + { index: 1, rgb: [253, 254, 204] }, + ], + cdom: [ + { index: 0, rgb: [47, 15, 62] }, + { index: 0.13, rgb: [87, 23, 86] }, + { index: 0.25, rgb: [130, 28, 99] }, + { index: 0.38, rgb: [171, 41, 96] }, + { index: 0.5, rgb: [206, 67, 86] }, + { index: 0.63, rgb: [230, 106, 84] }, + { index: 0.75, rgb: [242, 149, 103] }, + { index: 0.88, rgb: [249, 193, 135] }, + { index: 1, rgb: [254, 237, 176] }, + ], + chlorophyll: [ + { index: 0, rgb: [18, 36, 20] }, + { index: 0.13, rgb: [25, 63, 41] }, + { index: 0.25, rgb: [24, 91, 59] }, + { index: 0.38, rgb: [13, 119, 72] }, + { index: 0.5, rgb: [18, 148, 80] }, + { index: 0.63, rgb: [80, 173, 89] }, + { index: 0.75, rgb: [132, 196, 122] }, + { index: 0.88, rgb: [175, 221, 162] }, + { index: 1, rgb: [215, 249, 208] }, + ], + density: [ + { index: 0, rgb: [54, 14, 36] }, + { index: 0.13, rgb: [89, 23, 80] }, + { index: 0.25, rgb: [110, 45, 132] }, + { index: 0.38, rgb: [120, 77, 178] }, + { index: 0.5, rgb: [120, 113, 213] }, + { index: 0.63, rgb: [115, 151, 228] }, + { index: 0.75, rgb: [134, 185, 227] }, + { index: 0.88, rgb: [177, 214, 227] }, + { index: 1, rgb: [230, 241, 241] }, + ], + 'freesurface-blue': [ + { index: 0, rgb: [30, 4, 110] }, + { index: 0.13, rgb: [47, 14, 176] }, + { index: 0.25, rgb: [41, 45, 236] }, + { index: 0.38, rgb: [25, 99, 212] }, + { index: 0.5, rgb: [68, 131, 200] }, + { index: 0.63, rgb: [114, 156, 197] }, + { index: 0.75, rgb: [157, 181, 203] }, + { index: 0.88, rgb: [200, 208, 216] }, + { index: 1, rgb: [241, 237, 236] }, + ], + 'freesurface-red': [ + { index: 0, rgb: [60, 9, 18] }, + { index: 0.13, rgb: [100, 17, 27] }, + { index: 0.25, rgb: [142, 20, 29] }, + { index: 0.38, rgb: [177, 43, 27] }, + { index: 0.5, rgb: [192, 87, 63] }, + { index: 0.63, rgb: [205, 125, 105] }, + { index: 0.75, rgb: [216, 162, 148] }, + { index: 0.88, rgb: [227, 199, 193] }, + { index: 1, rgb: [241, 237, 236] }, + ], + oxygen: [ + { index: 0, rgb: [64, 5, 5] }, + { index: 0.13, rgb: [106, 6, 15] }, + { index: 0.25, rgb: [144, 26, 7] }, + { index: 0.38, rgb: [168, 64, 3] }, + { index: 0.5, rgb: [188, 100, 4] }, + { index: 0.63, rgb: [206, 136, 11] }, + { index: 0.75, rgb: [220, 174, 25] }, + { index: 0.88, rgb: [231, 215, 44] }, + { index: 1, rgb: [248, 254, 105] }, + ], + par: [ + { index: 0, rgb: [51, 20, 24] }, + { index: 0.13, rgb: [90, 32, 35] }, + { index: 0.25, rgb: [129, 44, 34] }, + { index: 0.38, rgb: [159, 68, 25] }, + { index: 0.5, rgb: [182, 99, 19] }, + { index: 0.63, rgb: [199, 134, 22] }, + { index: 0.75, rgb: [212, 171, 35] }, + { index: 0.88, rgb: [221, 210, 54] }, + { index: 1, rgb: [225, 253, 75] }, + ], + phase: [ + { index: 0, rgb: [145, 105, 18] }, + { index: 0.13, rgb: [184, 71, 38] }, + { index: 0.25, rgb: [186, 58, 115] }, + { index: 0.38, rgb: [160, 71, 185] }, + { index: 0.5, rgb: [110, 97, 218] }, + { index: 0.63, rgb: [50, 123, 164] }, + { index: 0.75, rgb: [31, 131, 110] }, + { index: 0.88, rgb: [77, 129, 34] }, + { index: 1, rgb: [145, 105, 18] }, + ], + salinity: [ + { index: 0, rgb: [42, 24, 108] }, + { index: 0.13, rgb: [33, 50, 162] }, + { index: 0.25, rgb: [15, 90, 145] }, + { index: 0.38, rgb: [40, 118, 137] }, + { index: 0.5, rgb: [59, 146, 135] }, + { index: 0.63, rgb: [79, 175, 126] }, + { index: 0.75, rgb: [120, 203, 104] }, + { index: 0.88, rgb: [193, 221, 100] }, + { index: 1, rgb: [253, 239, 154] }, + ], + temperature: [ + { index: 0, rgb: [4, 35, 51] }, + { index: 0.13, rgb: [23, 51, 122] }, + { index: 0.25, rgb: [85, 59, 157] }, + { index: 0.38, rgb: [129, 79, 143] }, + { index: 0.5, rgb: [175, 95, 130] }, + { index: 0.63, rgb: [222, 112, 101] }, + { index: 0.75, rgb: [249, 146, 66] }, + { index: 0.88, rgb: [249, 196, 65] }, + { index: 1, rgb: [232, 250, 91] }, + ], + turbidity: [ + { index: 0, rgb: [34, 31, 27] }, + { index: 0.13, rgb: [65, 50, 41] }, + { index: 0.25, rgb: [98, 69, 52] }, + { index: 0.38, rgb: [131, 89, 57] }, + { index: 0.5, rgb: [161, 112, 59] }, + { index: 0.63, rgb: [185, 140, 66] }, + { index: 0.75, rgb: [202, 174, 88] }, + { index: 0.88, rgb: [216, 209, 126] }, + { index: 1, rgb: [233, 246, 171] }, + ], + 'velocity-blue': [ + { index: 0, rgb: [17, 32, 64] }, + { index: 0.13, rgb: [35, 52, 116] }, + { index: 0.25, rgb: [29, 81, 156] }, + { index: 0.38, rgb: [31, 113, 162] }, + { index: 0.5, rgb: [50, 144, 169] }, + { index: 0.63, rgb: [87, 173, 176] }, + { index: 0.75, rgb: [149, 196, 189] }, + { index: 0.88, rgb: [203, 221, 211] }, + { index: 1, rgb: [254, 251, 230] }, + ], + 'velocity-green': [ + { index: 0, rgb: [23, 35, 19] }, + { index: 0.13, rgb: [24, 64, 38] }, + { index: 0.25, rgb: [11, 95, 45] }, + { index: 0.38, rgb: [39, 123, 35] }, + { index: 0.5, rgb: [95, 146, 12] }, + { index: 0.63, rgb: [152, 165, 18] }, + { index: 0.75, rgb: [201, 186, 69] }, + { index: 0.88, rgb: [233, 216, 137] }, + { index: 1, rgb: [255, 253, 205] }, + ], + cubehelix: [ + { index: 0, rgb: [0, 0, 0] }, + { index: 0.07, rgb: [22, 5, 59] }, + { index: 0.13, rgb: [60, 4, 105] }, + { index: 0.2, rgb: [109, 1, 135] }, + { index: 0.27, rgb: [161, 0, 147] }, + { index: 0.33, rgb: [210, 2, 142] }, + { index: 0.4, rgb: [251, 11, 123] }, + { index: 0.47, rgb: [255, 29, 97] }, + { index: 0.53, rgb: [255, 54, 69] }, + { index: 0.6, rgb: [255, 85, 46] }, + { index: 0.67, rgb: [255, 120, 34] }, + { index: 0.73, rgb: [255, 157, 37] }, + { index: 0.8, rgb: [241, 191, 57] }, + { index: 0.87, rgb: [224, 220, 93] }, + { index: 0.93, rgb: [218, 241, 142] }, + { index: 1, rgb: [227, 253, 198] }, + ], + }; + }, + {}, + ], + 131: [ + function (t, e, r) { + 'use strict'; + var n = t('./colorScale'), + i = t('lerp'); + function a(t) { + return [t[0] / 255, t[1] / 255, t[2] / 255, t[3]]; + } + function o(t) { + for (var e, r = '#', n = 0; n < 3; ++n) + r += ('00' + (e = (e = t[n]).toString(16))).substr(e.length); + return r; + } + function s(t) { + return 'rgba(' + t.join(',') + ')'; + } + e.exports = function (t) { + var e, r, l, c, u, f, h, p, d, g; + t || (t = {}); + (p = (t.nshades || 72) - 1), + (h = t.format || 'hex'), + (f = t.colormap) || (f = 'jet'); + if ('string' == typeof f) { + if (((f = f.toLowerCase()), !n[f])) + throw Error(f + ' not a supported colorscale'); + u = n[f]; + } else { + if (!Array.isArray(f)) + throw Error('unsupported colormap option', f); + u = f.slice(); + } + if (u.length > p + 1) + throw new Error( + f + ' map requires nshades to be at least size ' + u.length + ); + d = Array.isArray(t.alpha) + ? 2 !== t.alpha.length + ? [1, 1] + : t.alpha.slice() + : 'number' == typeof t.alpha + ? [t.alpha, t.alpha] + : [1, 1]; + (e = u.map(function (t) { + return Math.round(t.index * p); + })), + (d[0] = Math.min(Math.max(d[0], 0), 1)), + (d[1] = Math.min(Math.max(d[1], 0), 1)); + var m = u.map(function (t, e) { + var r = u[e].index, + n = u[e].rgb.slice(); + return ( + (4 === n.length && n[3] >= 0 && n[3] <= 1) || + (n[3] = d[0] + (d[1] - d[0]) * r), + n + ); + }), + v = []; + for (g = 0; g < e.length - 1; ++g) { + (c = e[g + 1] - e[g]), (r = m[g]), (l = m[g + 1]); + for (var y = 0; y < c; y++) { + var x = y / c; + v.push([ + Math.round(i(r[0], l[0], x)), + Math.round(i(r[1], l[1], x)), + Math.round(i(r[2], l[2], x)), + i(r[3], l[3], x), + ]); + } + } + v.push(u[u.length - 1].rgb.concat(d[1])), + 'hex' === h + ? (v = v.map(o)) + : 'rgbaString' === h + ? (v = v.map(s)) + : 'float' === h && (v = v.map(a)); + return v; + }; + }, + { './colorScale': 130, lerp: 472 }, + ], + 132: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, a) { + var o = n(e, r, a); + if (0 === o) { + var s = i(n(t, e, r)), + c = i(n(t, e, a)); + if (s === c) { + if (0 === s) { + var u = l(t, e, r), + f = l(t, e, a); + return u === f ? 0 : u ? 1 : -1; + } + return 0; + } + return 0 === c + ? s > 0 || l(t, e, a) + ? -1 + : 1 + : 0 === s + ? c > 0 || l(t, e, r) + ? 1 + : -1 + : i(c - s); + } + var h = n(t, e, r); + return h > 0 + ? o > 0 && n(t, e, a) > 0 + ? 1 + : -1 + : h < 0 + ? o > 0 || n(t, e, a) > 0 + ? 1 + : -1 + : n(t, e, a) > 0 || l(t, e, r) + ? 1 + : -1; + }; + var n = t('robust-orientation'), + i = t('signum'), + a = t('two-sum'), + o = t('robust-product'), + s = t('robust-sum'); + function l(t, e, r) { + var n = a(t[0], -e[0]), + i = a(t[1], -e[1]), + l = a(r[0], -e[0]), + c = a(r[1], -e[1]), + u = s(o(n, l), o(i, c)); + return u[u.length - 1] >= 0; + } + }, + { + 'robust-orientation': 548, + 'robust-product': 549, + 'robust-sum': 553, + signum: 554, + 'two-sum': 583, + }, + ], + 133: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = t.length, + a = t.length - e.length; + if (a) return a; + switch (r) { + case 0: + return 0; + case 1: + return t[0] - e[0]; + case 2: + return ( + t[0] + t[1] - e[0] - e[1] || n(t[0], t[1]) - n(e[0], e[1]) + ); + case 3: + var o = t[0] + t[1], + s = e[0] + e[1]; + if ((a = o + t[2] - (s + e[2]))) return a; + var l = n(t[0], t[1]), + c = n(e[0], e[1]); + return ( + n(l, t[2]) - n(c, e[2]) || n(l + t[2], o) - n(c + e[2], s) + ); + case 4: + var u = t[0], + f = t[1], + h = t[2], + p = t[3], + d = e[0], + g = e[1], + m = e[2], + v = e[3]; + return ( + u + f + h + p - (d + g + m + v) || + n(u, f, h, p) - n(d, g, m, v, d) || + n(u + f, u + h, u + p, f + h, f + p, h + p) - + n(d + g, d + m, d + v, g + m, g + v, m + v) || + n(u + f + h, u + f + p, u + h + p, f + h + p) - + n(d + g + m, d + g + v, d + m + v, g + m + v) + ); + default: + for ( + var y = t.slice().sort(i), x = e.slice().sort(i), b = 0; + b < r; + ++b + ) + if ((a = y[b] - x[b])) return a; + return 0; + } + }; + var n = Math.min; + function i(t, e) { + return t - e; + } + }, + {}, + ], + 134: [ + function (t, e, r) { + 'use strict'; + var n = t('compare-cell'), + i = t('cell-orientation'); + e.exports = function (t, e) { + return n(t, e) || i(t) - i(e); + }; + }, + { 'cell-orientation': 117, 'compare-cell': 133 }, + ], + 135: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/ch1d'), + i = t('./lib/ch2d'), + a = t('./lib/chnd'); + e.exports = function (t) { + var e = t.length; + if (0 === e) return []; + if (1 === e) return [[0]]; + var r = t[0].length; + if (0 === r) return []; + if (1 === r) return n(t); + if (2 === r) return i(t); + return a(t, r); + }; + }, + { './lib/ch1d': 136, './lib/ch2d': 137, './lib/chnd': 138 }, + ], + 136: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = 0, r = 0, n = 1; n < t.length; ++n) + t[n][0] < t[e][0] && (e = n), t[n][0] > t[r][0] && (r = n); + return e < r ? [[e], [r]] : e > r ? [[r], [e]] : [[e]]; + }; + }, + {}, + ], + 137: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = n(t), + r = e.length; + if (r <= 2) return []; + for (var i = new Array(r), a = e[r - 1], o = 0; o < r; ++o) { + var s = e[o]; + (i[o] = [a, s]), (a = s); + } + return i; + }; + var n = t('monotone-convex-hull-2d'); + }, + { 'monotone-convex-hull-2d': 482 }, + ], + 138: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + try { + return n(t, !0); + } catch (o) { + var r = i(t); + if (r.length <= e) return []; + var a = (function (t, e) { + for ( + var r = t.length, n = new Array(r), i = 0; + i < e.length; + ++i + ) + n[i] = t[e[i]]; + var a = e.length; + for (i = 0; i < r; ++i) e.indexOf(i) < 0 && (n[a++] = t[i]); + return n; + })(t, r); + return (function (t, e) { + for (var r = t.length, n = e.length, i = 0; i < r; ++i) + for (var a = t[i], o = 0; o < a.length; ++o) { + var s = a[o]; + if (s < n) a[o] = e[s]; + else { + s -= n; + for (var l = 0; l < n; ++l) s >= e[l] && (s += 1); + a[o] = s; + } + } + return t; + })(n(a, !0), r); + } + }; + var n = t('incremental-convex-hull'), + i = t('affine-hull'); + }, + { 'affine-hull': 67, 'incremental-convex-hull': 459 }, + ], + 139: [ + function (t, e, r) { + e.exports = { + AFG: 'afghan', + ALA: '\\b\\wland', + ALB: 'albania', + DZA: 'algeria', + ASM: '^(?=.*americ).*samoa', + AND: 'andorra', + AGO: 'angola', + AIA: 'anguill?a', + ATA: 'antarctica', + ATG: 'antigua', + ARG: 'argentin', + ARM: 'armenia', + ABW: '^(?!.*bonaire).*\\baruba', + AUS: 'australia', + AUT: '^(?!.*hungary).*austria|\\baustri.*\\bemp', + AZE: 'azerbaijan', + BHS: 'bahamas', + BHR: 'bahrain', + BGD: 'bangladesh|^(?=.*east).*paki?stan', + BRB: 'barbados', + BLR: 'belarus|byelo', + BEL: '^(?!.*luxem).*belgium', + BLZ: 'belize|^(?=.*british).*honduras', + BEN: 'benin|dahome', + BMU: 'bermuda', + BTN: 'bhutan', + BOL: 'bolivia', + BES: '^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands', + BIH: 'herzegovina|bosnia', + BWA: 'botswana|bechuana', + BVT: 'bouvet', + BRA: 'brazil', + IOT: 'british.?indian.?ocean', + BRN: 'brunei', + BGR: 'bulgaria', + BFA: 'burkina|\\bfaso|upper.?volta', + BDI: 'burundi', + CPV: 'verde', + KHM: 'cambodia|kampuchea|khmer', + CMR: 'cameroon', + CAN: 'canada', + CYM: 'cayman', + CAF: '\\bcentral.african.republic', + TCD: '\\bchad', + CHL: '\\bchile', + CHN: '^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china', + CXR: 'christmas', + CCK: '\\bcocos|keeling', + COL: 'colombia', + COM: 'comoro', + COG: '^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo', + COK: '\\bcook', + CRI: 'costa.?rica', + CIV: 'ivoire|ivory', + HRV: 'croatia', + CUB: '\\bcuba', + CUW: '^(?!.*bonaire).*\\bcura(c|\xe7)ao', + CYP: 'cyprus', + CSK: 'czechoslovakia', + CZE: '^(?=.*rep).*czech|czechia|bohemia', + COD: '\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc', + DNK: 'denmark', + DJI: 'djibouti', + DMA: 'dominica(?!n)', + DOM: 'dominican.rep', + ECU: 'ecuador', + EGY: 'egypt', + SLV: 'el.?salvador', + GNQ: 'guine.*eq|eq.*guine|^(?=.*span).*guinea', + ERI: 'eritrea', + EST: 'estonia', + ETH: 'ethiopia|abyssinia', + FLK: 'falkland|malvinas', + FRO: 'faroe|faeroe', + FJI: 'fiji', + FIN: 'finland', + FRA: '^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul', + GUF: '^(?=.*french).*guiana', + PYF: 'french.?polynesia|tahiti', + ATF: 'french.?southern', + GAB: 'gabon', + GMB: 'gambia', + GEO: '^(?!.*south).*georgia', + DDR: 'german.?democratic.?republic|democratic.?republic.*germany|east.germany', + DEU: '^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german', + GHA: 'ghana|gold.?coast', + GIB: 'gibraltar', + GRC: 'greece|hellenic|hellas', + GRL: 'greenland', + GRD: 'grenada', + GLP: 'guadeloupe', + GUM: '\\bguam', + GTM: 'guatemala', + GGY: 'guernsey', + GIN: '^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea', + GNB: 'bissau|^(?=.*portu).*guinea', + GUY: 'guyana|british.?guiana', + HTI: 'haiti', + HMD: 'heard.*mcdonald', + VAT: 'holy.?see|vatican|papal.?st', + HND: '^(?!.*brit).*honduras', + HKG: 'hong.?kong', + HUN: '^(?!.*austr).*hungary', + ISL: 'iceland', + IND: 'india(?!.*ocea)', + IDN: 'indonesia', + IRN: '\\biran|persia', + IRQ: '\\biraq|mesopotamia', + IRL: '(^ireland)|(^republic.*ireland)', + IMN: '^(?=.*isle).*\\bman', + ISR: 'israel', + ITA: 'italy', + JAM: 'jamaica', + JPN: 'japan', + JEY: 'jersey', + JOR: 'jordan', + KAZ: 'kazak', + KEN: 'kenya|british.?east.?africa|east.?africa.?prot', + KIR: 'kiribati', + PRK: '^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)', + KWT: 'kuwait', + KGZ: 'kyrgyz|kirghiz', + LAO: '\\blaos?\\b', + LVA: 'latvia', + LBN: 'lebanon', + LSO: 'lesotho|basuto', + LBR: 'liberia', + LBY: 'libya', + LIE: 'liechtenstein', + LTU: 'lithuania', + LUX: '^(?!.*belg).*luxem', + MAC: 'maca(o|u)', + MDG: 'madagascar|malagasy', + MWI: 'malawi|nyasa', + MYS: 'malaysia', + MDV: 'maldive', + MLI: '\\bmali\\b', + MLT: '\\bmalta', + MHL: 'marshall', + MTQ: 'martinique', + MRT: 'mauritania', + MUS: 'mauritius', + MYT: '\\bmayotte', + MEX: '\\bmexic', + FSM: 'fed.*micronesia|micronesia.*fed', + MCO: 'monaco', + MNG: 'mongolia', + MNE: '^(?!.*serbia).*montenegro', + MSR: 'montserrat', + MAR: 'morocco|\\bmaroc', + MOZ: 'mozambique', + MMR: 'myanmar|burma', + NAM: 'namibia', + NRU: 'nauru', + NPL: 'nepal', + NLD: '^(?!.*\\bant)(?!.*\\bcarib).*netherlands', + ANT: '^(?=.*\\bant).*(nether|dutch)', + NCL: 'new.?caledonia', + NZL: 'new.?zealand', + NIC: 'nicaragua', + NER: '\\bniger(?!ia)', + NGA: 'nigeria', + NIU: 'niue', + NFK: 'norfolk', + MNP: 'mariana', + NOR: 'norway', + OMN: '\\boman|trucial', + PAK: '^(?!.*east).*paki?stan', + PLW: 'palau', + PSE: 'palestin|\\bgaza|west.?bank', + PAN: 'panama', + PNG: 'papua|new.?guinea', + PRY: 'paraguay', + PER: 'peru', + PHL: 'philippines', + PCN: 'pitcairn', + POL: 'poland', + PRT: 'portugal', + PRI: 'puerto.?rico', + QAT: 'qatar', + KOR: '^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)', + MDA: 'moldov|b(a|e)ssarabia', + REU: 'r(e|\xe9)union', + ROU: 'r(o|u|ou)mania', + RUS: '\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics', + RWA: 'rwanda', + BLM: 'barth(e|\xe9)lemy', + SHN: 'helena', + KNA: 'kitts|\\bnevis', + LCA: '\\blucia', + MAF: '^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)', + SPM: 'miquelon', + VCT: 'vincent', + WSM: '^(?!.*amer).*samoa', + SMR: 'san.?marino', + STP: '\\bs(a|\xe3)o.?tom(e|\xe9)', + SAU: '\\bsa\\w*.?arabia', + SEN: 'senegal', + SRB: '^(?!.*monte).*serbia', + SYC: 'seychell', + SLE: 'sierra', + SGP: 'singapore', + SXM: '^(?!.*martin)(?!.*saba).*maarten', + SVK: '^(?!.*cze).*slovak', + SVN: 'slovenia', + SLB: 'solomon', + SOM: 'somali', + ZAF: 'south.africa|s\\\\..?africa', + SGS: 'south.?georgia|sandwich', + SSD: '\\bs\\w*.?sudan', + ESP: 'spain', + LKA: 'sri.?lanka|ceylon', + SDN: '^(?!.*\\bs(?!u)).*sudan', + SUR: 'surinam|dutch.?guiana', + SJM: 'svalbard', + SWZ: 'swaziland', + SWE: 'sweden', + CHE: 'switz|swiss', + SYR: 'syria', + TWN: 'taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china', + TJK: 'tajik', + THA: 'thailand|\\bsiam', + MKD: 'macedonia|fyrom', + TLS: '^(?=.*leste).*timor|^(?=.*east).*timor', + TGO: 'togo', + TKL: 'tokelau', + TON: 'tonga', + TTO: 'trinidad|tobago', + TUN: 'tunisia', + TUR: 'turkey', + TKM: 'turkmen', + TCA: 'turks', + TUV: 'tuvalu', + UGA: 'uganda', + UKR: 'ukrain', + ARE: 'emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em', + GBR: 'united.?kingdom|britain|^u\\.?k\\.?$', + TZA: 'tanzania', + USA: 'united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)', + UMI: 'minor.?outlying.?is', + URY: 'uruguay', + UZB: 'uzbek', + VUT: 'vanuatu|new.?hebrides', + VEN: 'venezuela', + VNM: '^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam', + VGB: '^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin', + VIR: '^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin', + WLF: 'futuna|wallis', + ESH: 'western.sahara', + YEM: '^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen', + YMD: '^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen', + YUG: 'yugoslavia', + ZMB: 'zambia|northern.?rhodesia', + EAZ: 'zanzibar', + ZWE: 'zimbabwe|^(?!.*northern).*rhodesia', + }; + }, + {}, + ], + 140: [ + function (t, e, r) { + e.exports = [ + 'xx-small', + 'x-small', + 'small', + 'medium', + 'large', + 'x-large', + 'xx-large', + 'larger', + 'smaller', + ]; + }, + {}, + ], + 141: [ + function (t, e, r) { + e.exports = [ + 'normal', + 'condensed', + 'semi-condensed', + 'extra-condensed', + 'ultra-condensed', + 'expanded', + 'semi-expanded', + 'extra-expanded', + 'ultra-expanded', + ]; + }, + {}, + ], + 142: [ + function (t, e, r) { + e.exports = ['normal', 'italic', 'oblique']; + }, + {}, + ], + 143: [ + function (t, e, r) { + e.exports = [ + 'normal', + 'bold', + 'bolder', + 'lighter', + '100', + '200', + '300', + '400', + '500', + '600', + '700', + '800', + '900', + ]; + }, + {}, + ], + 144: [ + function (t, e, r) { + 'use strict'; + e.exports = { parse: t('./parse'), stringify: t('./stringify') }; + }, + { './parse': 146, './stringify': 147 }, + ], + 145: [ + function (t, e, r) { + 'use strict'; + var n = t('css-font-size-keywords'); + e.exports = { + isSize: function (t) { + return ( + /^[\d\.]/.test(t) || + -1 !== t.indexOf('/') || + -1 !== n.indexOf(t) + ); + }, + }; + }, + { 'css-font-size-keywords': 140 }, + ], + 146: [ + function (t, e, r) { + 'use strict'; + var n = t('unquote'), + i = t('css-global-keywords'), + a = t('css-system-font-keywords'), + o = t('css-font-weight-keywords'), + s = t('css-font-style-keywords'), + l = t('css-font-stretch-keywords'), + c = t('string-split-by'), + u = t('./lib/util').isSize; + e.exports = h; + var f = (h.cache = {}); + function h(t) { + if ('string' != typeof t) + throw new Error('Font argument must be a string.'); + if (f[t]) return f[t]; + if ('' === t) throw new Error('Cannot parse an empty string.'); + if (-1 !== a.indexOf(t)) return (f[t] = { system: t }); + for ( + var e, + r = { + style: 'normal', + variant: 'normal', + weight: 'normal', + stretch: 'normal', + lineHeight: 'normal', + size: '1rem', + family: ['serif'], + }, + h = c(t, /\s+/); + (e = h.shift()); + + ) { + if (-1 !== i.indexOf(e)) + return ( + ['style', 'variant', 'weight', 'stretch'].forEach(function ( + t + ) { + r[t] = e; + }), + (f[t] = r) + ); + if (-1 === s.indexOf(e)) + if ('normal' !== e && 'small-caps' !== e) + if (-1 === l.indexOf(e)) { + if (-1 === o.indexOf(e)) { + if (u(e)) { + var d = c(e, '/'); + if ( + ((r.size = d[0]), + null != d[1] + ? (r.lineHeight = p(d[1])) + : '/' === h[0] && + (h.shift(), (r.lineHeight = p(h.shift()))), + !h.length) + ) + throw new Error('Missing required font-family.'); + return ( + (r.family = c(h.join(' '), /\s*,\s*/).map(n)), + (f[t] = r) + ); + } + throw new Error( + 'Unknown or unsupported font token: ' + e + ); + } + r.weight = e; + } else r.stretch = e; + else r.variant = e; + else r.style = e; + } + throw new Error('Missing required font-size.'); + } + function p(t) { + var e = parseFloat(t); + return e.toString() === t ? e : t; + } + }, + { + './lib/util': 145, + 'css-font-stretch-keywords': 141, + 'css-font-style-keywords': 142, + 'css-font-weight-keywords': 143, + 'css-global-keywords': 148, + 'css-system-font-keywords': 149, + 'string-split-by': 568, + unquote: 598, + }, + ], + 147: [ + function (t, e, r) { + 'use strict'; + var n = t('pick-by-alias'), + i = t('./lib/util').isSize, + a = g(t('css-global-keywords')), + o = g(t('css-system-font-keywords')), + s = g(t('css-font-weight-keywords')), + l = g(t('css-font-style-keywords')), + c = g(t('css-font-stretch-keywords')), + u = { normal: 1, 'small-caps': 1 }, + f = { + serif: 1, + 'sans-serif': 1, + monospace: 1, + cursive: 1, + fantasy: 1, + 'system-ui': 1, + }, + h = '1rem', + p = 'serif'; + function d(t, e) { + if (t && !e[t] && !a[t]) throw Error('Unknown keyword `' + t + '`'); + return t; + } + function g(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = 1; + return e; + } + e.exports = function (t) { + if ( + (t = n(t, { + style: 'style fontstyle fontStyle font-style slope distinction', + variant: + 'variant font-variant fontVariant fontvariant var capitalization', + weight: 'weight w font-weight fontWeight fontweight', + stretch: 'stretch font-stretch fontStretch fontstretch width', + size: 'size s font-size fontSize fontsize height em emSize', + lineHeight: 'lh line-height lineHeight lineheight leading', + family: + 'font family fontFamily font-family fontfamily type typeface face', + system: 'system reserved default global', + })).system + ) + return t.system && d(t.system, o), t.system; + if ( + (d(t.style, l), + d(t.variant, u), + d(t.weight, s), + d(t.stretch, c), + null == t.size && (t.size = h), + 'number' == typeof t.size && (t.size += 'px'), + !i) + ) + throw Error('Bad size value `' + t.size + '`'); + t.family || (t.family = p), + Array.isArray(t.family) && + (t.family.length || (t.family = [p]), + (t.family = t.family + .map(function (t) { + return f[t] ? t : '"' + t + '"'; + }) + .join(', '))); + var e = []; + return ( + e.push(t.style), + t.variant !== t.style && e.push(t.variant), + t.weight !== t.variant && + t.weight !== t.style && + e.push(t.weight), + t.stretch !== t.weight && + t.stretch !== t.variant && + t.stretch !== t.style && + e.push(t.stretch), + e.push( + t.size + + (null == t.lineHeight || + 'normal' === t.lineHeight || + t.lineHeight + '' == '1' + ? '' + : '/' + t.lineHeight) + ), + e.push(t.family), + e.filter(Boolean).join(' ') + ); + }; + }, + { + './lib/util': 145, + 'css-font-stretch-keywords': 141, + 'css-font-style-keywords': 142, + 'css-font-weight-keywords': 143, + 'css-global-keywords': 148, + 'css-system-font-keywords': 149, + 'pick-by-alias': 511, + }, + ], + 148: [ + function (t, e, r) { + e.exports = ['inherit', 'initial', 'unset']; + }, + {}, + ], + 149: [ + function (t, e, r) { + e.exports = [ + 'caption', + 'icon', + 'menu', + 'message-box', + 'small-caption', + 'status-bar', + ]; + }, + {}, + ], + 150: [ + function (t, e, r) { + 'use strict'; + (e.exports = function (t, e, r, n, i, a) { + var o = i - 1, + s = i * i, + l = o * o, + c = (1 + 2 * i) * l, + u = i * l, + f = s * (3 - 2 * i), + h = s * o; + if (t.length) { + a || (a = new Array(t.length)); + for (var p = t.length - 1; p >= 0; --p) + a[p] = c * t[p] + u * e[p] + f * r[p] + h * n[p]; + return a; + } + return c * t + u * e + f * r + h * n; + }), + (e.exports.derivative = function (t, e, r, n, i, a) { + var o = 6 * i * i - 6 * i, + s = 3 * i * i - 4 * i + 1, + l = -6 * i * i + 6 * i, + c = 3 * i * i - 2 * i; + if (t.length) { + a || (a = new Array(t.length)); + for (var u = t.length - 1; u >= 0; --u) + a[u] = o * t[u] + s * e[u] + l * r[u] + c * n[u]; + return a; + } + return o * t + s * e + l * r[u] + c * n; + }); + }, + {}, + ], + 151: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/thunk.js'); + function i() { + (this.argTypes = []), + (this.shimArgs = []), + (this.arrayArgs = []), + (this.arrayBlockIndices = []), + (this.scalarArgs = []), + (this.offsetArgs = []), + (this.offsetArgIndex = []), + (this.indexArgs = []), + (this.shapeArgs = []), + (this.funcName = ''), + (this.pre = null), + (this.body = null), + (this.post = null), + (this.debug = !1); + } + e.exports = function (t) { + var e = new i(); + (e.pre = t.pre), (e.body = t.body), (e.post = t.post); + var r = t.args.slice(0); + e.argTypes = r; + for (var a = 0; a < r.length; ++a) { + var o = r[a]; + if ('array' === o || ('object' == typeof o && o.blockIndices)) { + if ( + ((e.argTypes[a] = 'array'), + e.arrayArgs.push(a), + e.arrayBlockIndices.push(o.blockIndices ? o.blockIndices : 0), + e.shimArgs.push('array' + a), + a < e.pre.args.length && e.pre.args[a].count > 0) + ) + throw new Error( + 'cwise: pre() block may not reference array args' + ); + if (a < e.post.args.length && e.post.args[a].count > 0) + throw new Error( + 'cwise: post() block may not reference array args' + ); + } else if ('scalar' === o) + e.scalarArgs.push(a), e.shimArgs.push('scalar' + a); + else if ('index' === o) { + if ( + (e.indexArgs.push(a), + a < e.pre.args.length && e.pre.args[a].count > 0) + ) + throw new Error( + 'cwise: pre() block may not reference array index' + ); + if (a < e.body.args.length && e.body.args[a].lvalue) + throw new Error( + 'cwise: body() block may not write to array index' + ); + if (a < e.post.args.length && e.post.args[a].count > 0) + throw new Error( + 'cwise: post() block may not reference array index' + ); + } else if ('shape' === o) { + if ( + (e.shapeArgs.push(a), + a < e.pre.args.length && e.pre.args[a].lvalue) + ) + throw new Error( + 'cwise: pre() block may not write to array shape' + ); + if (a < e.body.args.length && e.body.args[a].lvalue) + throw new Error( + 'cwise: body() block may not write to array shape' + ); + if (a < e.post.args.length && e.post.args[a].lvalue) + throw new Error( + 'cwise: post() block may not write to array shape' + ); + } else { + if ('object' != typeof o || !o.offset) + throw new Error('cwise: Unknown argument type ' + r[a]); + (e.argTypes[a] = 'offset'), + e.offsetArgs.push({ array: o.array, offset: o.offset }), + e.offsetArgIndex.push(a); + } + } + if (e.arrayArgs.length <= 0) + throw new Error('cwise: No array arguments specified'); + if (e.pre.args.length > r.length) + throw new Error('cwise: Too many arguments in pre() block'); + if (e.body.args.length > r.length) + throw new Error('cwise: Too many arguments in body() block'); + if (e.post.args.length > r.length) + throw new Error('cwise: Too many arguments in post() block'); + return ( + (e.debug = !!t.printCode || !!t.debug), + (e.funcName = t.funcName || 'cwise'), + (e.blockSize = t.blockSize || 64), + n(e) + ); + }; + }, + { './lib/thunk.js': 153 }, + ], + 152: [ + function (t, e, r) { + 'use strict'; + var n = t('uniq'); + function i(t, e, r) { + var n, + i, + a = t.length, + o = e.arrayArgs.length, + s = e.indexArgs.length > 0, + l = [], + c = [], + u = 0, + f = 0; + for (n = 0; n < a; ++n) c.push(['i', n, '=0'].join('')); + for (i = 0; i < o; ++i) + for (n = 0; n < a; ++n) + (f = u), + (u = t[n]), + 0 === n + ? c.push(['d', i, 's', n, '=t', i, 'p', u].join('')) + : c.push( + [ + 'd', + i, + 's', + n, + '=(t', + i, + 'p', + u, + '-s', + f, + '*t', + i, + 'p', + f, + ')', + ].join('') + ); + for ( + c.length > 0 && l.push('var ' + c.join(',')), n = a - 1; + n >= 0; + --n + ) + (u = t[n]), + l.push( + ['for(i', n, '=0;i', n, ' 0 && l.push(['index[', f, ']-=s', f].join('')), + l.push(['++index[', u, ']'].join(''))), + l.push('}'); + } + return l.join('\n'); + } + function a(t, e, r) { + for ( + var n = t.body, i = [], a = [], o = 0; + o < t.args.length; + ++o + ) { + var s = t.args[o]; + if (!(s.count <= 0)) { + var l = new RegExp(s.name, 'g'), + c = '', + u = e.arrayArgs.indexOf(o); + switch (e.argTypes[o]) { + case 'offset': + var f = e.offsetArgIndex.indexOf(o); + (u = e.offsetArgs[f].array), (c = '+q' + f); + case 'array': + c = 'p' + u + c; + var h = 'l' + o, + p = 'a' + u; + if (0 === e.arrayBlockIndices[u]) + 1 === s.count + ? 'generic' === r[u] + ? s.lvalue + ? (i.push( + ['var ', h, '=', p, '.get(', c, ')'].join('') + ), + (n = n.replace(l, h)), + a.push([p, '.set(', c, ',', h, ')'].join(''))) + : (n = n.replace(l, [p, '.get(', c, ')'].join(''))) + : (n = n.replace(l, [p, '[', c, ']'].join(''))) + : 'generic' === r[u] + ? (i.push( + ['var ', h, '=', p, '.get(', c, ')'].join('') + ), + (n = n.replace(l, h)), + s.lvalue && + a.push([p, '.set(', c, ',', h, ')'].join(''))) + : (i.push(['var ', h, '=', p, '[', c, ']'].join('')), + (n = n.replace(l, h)), + s.lvalue && a.push([p, '[', c, ']=', h].join(''))); + else { + for ( + var d = [s.name], g = [c], m = 0; + m < Math.abs(e.arrayBlockIndices[u]); + m++ + ) + d.push('\\s*\\[([^\\]]+)\\]'), + g.push('$' + (m + 1) + '*t' + u + 'b' + m); + if ( + ((l = new RegExp(d.join(''), 'g')), + (c = g.join('+')), + 'generic' === r[u]) + ) + throw new Error( + 'cwise: Generic arrays not supported in combination with blocks!' + ); + n = n.replace(l, [p, '[', c, ']'].join('')); + } + break; + case 'scalar': + n = n.replace(l, 'Y' + e.scalarArgs.indexOf(o)); + break; + case 'index': + n = n.replace(l, 'index'); + break; + case 'shape': + n = n.replace(l, 'shape'); + } + } + } + return [i.join('\n'), n, a.join('\n')].join('\n').trim(); + } + function o(t) { + for ( + var e = new Array(t.length), r = !0, n = 0; + n < t.length; + ++n + ) { + var i = t[n], + a = i.match(/\d+/); + (a = a ? a[0] : ''), + 0 === i.charAt(0) + ? (e[n] = 'u' + i.charAt(1) + a) + : (e[n] = i.charAt(0) + a), + n > 0 && (r = r && e[n] === e[n - 1]); + } + return r ? e[0] : e.join(''); + } + e.exports = function (t, e) { + for ( + var r = (e[1].length - Math.abs(t.arrayBlockIndices[0])) | 0, + s = new Array(t.arrayArgs.length), + l = new Array(t.arrayArgs.length), + c = 0; + c < t.arrayArgs.length; + ++c + ) + (l[c] = e[2 * c]), (s[c] = e[2 * c + 1]); + var u = [], + f = [], + h = [], + p = [], + d = []; + for (c = 0; c < t.arrayArgs.length; ++c) { + t.arrayBlockIndices[c] < 0 + ? (h.push(0), + p.push(r), + u.push(r), + f.push(r + t.arrayBlockIndices[c])) + : (h.push(t.arrayBlockIndices[c]), + p.push(t.arrayBlockIndices[c] + r), + u.push(0), + f.push(t.arrayBlockIndices[c])); + for (var g = [], m = 0; m < s[c].length; m++) + h[c] <= s[c][m] && s[c][m] < p[c] && g.push(s[c][m] - h[c]); + d.push(g); + } + var v = ['SS'], + y = ["'use strict'"], + x = []; + for (m = 0; m < r; ++m) x.push(['s', m, '=SS[', m, ']'].join('')); + for (c = 0; c < t.arrayArgs.length; ++c) { + v.push('a' + c), v.push('t' + c), v.push('p' + c); + for (m = 0; m < r; ++m) + x.push(['t', c, 'p', m, '=t', c, '[', h[c] + m, ']'].join('')); + for (m = 0; m < Math.abs(t.arrayBlockIndices[c]); ++m) + x.push(['t', c, 'b', m, '=t', c, '[', u[c] + m, ']'].join('')); + } + for (c = 0; c < t.scalarArgs.length; ++c) v.push('Y' + c); + if ( + (t.shapeArgs.length > 0 && x.push('shape=SS.slice(0)'), + t.indexArgs.length > 0) + ) { + var b = new Array(r); + for (c = 0; c < r; ++c) b[c] = '0'; + x.push(['index=[', b.join(','), ']'].join('')); + } + for (c = 0; c < t.offsetArgs.length; ++c) { + var _ = t.offsetArgs[c], + w = []; + for (m = 0; m < _.offset.length; ++m) + 0 !== _.offset[m] && + (1 === _.offset[m] + ? w.push(['t', _.array, 'p', m].join('')) + : w.push([_.offset[m], '*t', _.array, 'p', m].join(''))); + 0 === w.length + ? x.push('q' + c + '=0') + : x.push(['q', c, '=', w.join('+')].join('')); + } + var T = n( + [] + .concat(t.pre.thisVars) + .concat(t.body.thisVars) + .concat(t.post.thisVars) + ); + for ( + (x = x.concat(T)).length > 0 && y.push('var ' + x.join(',')), + c = 0; + c < t.arrayArgs.length; + ++c + ) + y.push('p' + c + '|=0'); + t.pre.body.length > 3 && y.push(a(t.pre, t, l)); + var k = a(t.body, t, l), + M = (function (t) { + for (var e = 0, r = t[0].length; e < r; ) { + for (var n = 1; n < t.length; ++n) + if (t[n][e] !== t[0][e]) return e; + ++e; + } + return e; + })(d); + M < r + ? y.push( + (function (t, e, r, n) { + for ( + var a = e.length, + o = r.arrayArgs.length, + s = r.blockSize, + l = r.indexArgs.length > 0, + c = [], + u = 0; + u < o; + ++u + ) + c.push(['var offset', u, '=p', u].join('')); + for (u = t; u < a; ++u) + c.push( + [ + 'for(var j' + u + '=SS[', + e[u], + ']|0;j', + u, + '>0;){', + ].join('') + ), + c.push(['if(j', u, '<', s, '){'].join('')), + c.push(['s', e[u], '=j', u].join('')), + c.push(['j', u, '=0'].join('')), + c.push(['}else{s', e[u], '=', s].join('')), + c.push(['j', u, '-=', s, '}'].join('')), + l && c.push(['index[', e[u], ']=j', u].join('')); + for (u = 0; u < o; ++u) { + for (var f = ['offset' + u], h = t; h < a; ++h) + f.push(['j', h, '*t', u, 'p', e[h]].join('')); + c.push(['p', u, '=(', f.join('+'), ')'].join('')); + } + for (c.push(i(e, r, n)), u = t; u < a; ++u) c.push('}'); + return c.join('\n'); + })(M, d[0], t, k) + ) + : y.push(i(d[0], t, k)), + t.post.body.length > 3 && y.push(a(t.post, t, l)), + t.debug && + console.log( + '-----Generated cwise routine for ', + e, + ':\n' + y.join('\n') + '\n----------' + ); + var A = [ + t.funcName || 'unnamed', + '_cwise_loop_', + s[0].join('s'), + 'm', + M, + o(l), + ].join(''); + return new Function( + [ + 'function ', + A, + '(', + v.join(','), + '){', + y.join('\n'), + '} return ', + A, + ].join('') + )(); + }; + }, + { uniq: 597 }, + ], + 153: [ + function (t, e, r) { + 'use strict'; + var n = t('./compile.js'); + e.exports = function (t) { + var e = ["'use strict'", 'var CACHED={}'], + r = [], + i = t.funcName + '_cwise_thunk'; + e.push( + ['return function ', i, '(', t.shimArgs.join(','), '){'].join('') + ); + for ( + var a = [], + o = [], + s = [ + [ + 'array', + t.arrayArgs[0], + '.shape.slice(', + Math.max(0, t.arrayBlockIndices[0]), + t.arrayBlockIndices[0] < 0 + ? ',' + t.arrayBlockIndices[0] + ')' + : ')', + ].join(''), + ], + l = [], + c = [], + u = 0; + u < t.arrayArgs.length; + ++u + ) { + var f = t.arrayArgs[u]; + r.push( + [ + 't', + f, + '=array', + f, + '.dtype,', + 'r', + f, + '=array', + f, + '.order', + ].join('') + ), + a.push('t' + f), + a.push('r' + f), + o.push('t' + f), + o.push('r' + f + '.join()'), + s.push('array' + f + '.data'), + s.push('array' + f + '.stride'), + s.push('array' + f + '.offset|0'), + u > 0 && + (l.push( + 'array' + + t.arrayArgs[0] + + '.shape.length===array' + + f + + '.shape.length+' + + (Math.abs(t.arrayBlockIndices[0]) - + Math.abs(t.arrayBlockIndices[u])) + ), + c.push( + 'array' + + t.arrayArgs[0] + + '.shape[shapeIndex+' + + Math.max(0, t.arrayBlockIndices[0]) + + ']===array' + + f + + '.shape[shapeIndex+' + + Math.max(0, t.arrayBlockIndices[u]) + + ']' + )); + } + for ( + t.arrayArgs.length > 1 && + (e.push( + 'if (!(' + + l.join(' && ') + + ")) throw new Error('cwise: Arrays do not all have the same dimensionality!')" + ), + e.push( + 'for(var shapeIndex=array' + + t.arrayArgs[0] + + '.shape.length-' + + Math.abs(t.arrayBlockIndices[0]) + + '; shapeIndex--\x3e0;) {' + ), + e.push( + 'if (!(' + + c.join(' && ') + + ")) throw new Error('cwise: Arrays do not all have the same shape!')" + ), + e.push('}')), + u = 0; + u < t.scalarArgs.length; + ++u + ) + s.push('scalar' + t.scalarArgs[u]); + return ( + r.push(['type=[', o.join(','), '].join()'].join('')), + r.push('proc=CACHED[type]'), + e.push('var ' + r.join(',')), + e.push( + [ + 'if(!proc){', + 'CACHED[type]=proc=compile([', + a.join(','), + '])}', + 'return proc(', + s.join(','), + ')}', + ].join('') + ), + t.debug && + console.log( + '-----Generated thunk:\n' + e.join('\n') + '\n----------' + ), + new Function('compile', e.join('\n'))(n.bind(void 0, t)) + ); + }; + }, + { './compile.js': 152 }, + ], + 154: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('type/value/is'), + a = t('type/value/ensure'), + o = t('type/plain-function/ensure'), + s = t('es5-ext/object/copy'), + l = t('es5-ext/object/normalize-options'), + c = t('es5-ext/object/map'), + u = Function.prototype.bind, + f = Object.defineProperty, + h = Object.prototype.hasOwnProperty; + (n = function (t, e, r) { + var n, + i = a(e) && o(e.value); + return ( + delete (n = s(e)).writable, + delete n.value, + (n.get = function () { + return !r.overwriteDefinition && h.call(this, t) + ? i + : ((e.value = u.call( + i, + r.resolveContext ? r.resolveContext(this) : this + )), + f(this, t, e), + this[t]); + }), + n + ); + }), + (e.exports = function (t) { + var e = l(arguments[1]); + return ( + i(e.resolveContext) && o(e.resolveContext), + c(t, function (t, r) { + return n(r, t, e); + }) + ); + }); + }, + { + 'es5-ext/object/copy': 196, + 'es5-ext/object/map': 204, + 'es5-ext/object/normalize-options': 205, + 'type/plain-function/ensure': 589, + 'type/value/ensure': 593, + 'type/value/is': 594, + }, + ], + 155: [ + function (t, e, r) { + 'use strict'; + var n = t('type/value/is'), + i = t('type/plain-function/is'), + a = t('es5-ext/object/assign'), + o = t('es5-ext/object/normalize-options'), + s = t('es5-ext/string/#/contains'); + (e.exports = function (t, e) { + var r, i, l, c, u; + return ( + arguments.length < 2 || 'string' != typeof t + ? ((c = e), (e = t), (t = null)) + : (c = arguments[2]), + n(t) + ? ((r = s.call(t, 'c')), + (i = s.call(t, 'e')), + (l = s.call(t, 'w'))) + : ((r = l = !0), (i = !1)), + (u = { value: e, configurable: r, enumerable: i, writable: l }), + c ? a(o(c), u) : u + ); + }).gs = function (t, e, r) { + var l, c, u, f; + return ( + 'string' != typeof t + ? ((u = r), (r = e), (e = t), (t = null)) + : (u = arguments[3]), + n(e) + ? i(e) + ? n(r) + ? i(r) || ((u = r), (r = void 0)) + : (r = void 0) + : ((u = e), (e = r = void 0)) + : (e = void 0), + n(t) + ? ((l = s.call(t, 'c')), (c = s.call(t, 'e'))) + : ((l = !0), (c = !1)), + (f = { get: e, set: r, configurable: l, enumerable: c }), + u ? a(o(u), f) : f + ); + }; + }, + { + 'es5-ext/object/assign': 193, + 'es5-ext/object/normalize-options': 205, + 'es5-ext/string/#/contains': 212, + 'type/plain-function/is': 590, + 'type/value/is': 594, + }, + ], + 156: [ + function (t, e, r) { + !(function (t, n) { + n( + 'object' == typeof r && 'undefined' != typeof e + ? r + : (t.d3 = t.d3 || {}) + ); + })(this, function (t) { + 'use strict'; + function e(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function r(t) { + var r; + return ( + 1 === t.length && + ((r = t), + (t = function (t, n) { + return e(r(t), n); + })), + { + left: function (e, r, n, i) { + for ( + null == n && (n = 0), null == i && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) < 0 ? (n = a + 1) : (i = a); + } + return n; + }, + right: function (e, r, n, i) { + for ( + null == n && (n = 0), null == i && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) > 0 ? (i = a) : (n = a + 1); + } + return n; + }, + } + ); + } + var n = r(e), + i = n.right, + a = n.left; + function o(t, e) { + return [t, e]; + } + function s(t) { + return null === t ? NaN : +t; + } + function l(t, e) { + var r, + n, + i = t.length, + a = 0, + o = -1, + l = 0, + c = 0; + if (null == e) + for (; ++o < i; ) + isNaN((r = s(t[o]))) || + (c += (n = r - l) * (r - (l += n / ++a))); + else + for (; ++o < i; ) + isNaN((r = s(e(t[o], o, t)))) || + (c += (n = r - l) * (r - (l += n / ++a))); + if (a > 1) return c / (a - 1); + } + function c(t, e) { + var r = l(t, e); + return r ? Math.sqrt(r) : r; + } + function u(t, e) { + var r, + n, + i, + a = t.length, + o = -1; + if (null == e) { + for (; ++o < a; ) + if (null != (r = t[o]) && r >= r) + for (n = i = r; ++o < a; ) + null != (r = t[o]) && + (n > r && (n = r), i < r && (i = r)); + } else for (; ++o < a; ) if (null != (r = e(t[o], o, t)) && r >= r) for (n = i = r; ++o < a; ) null != (r = e(t[o], o, t)) && (n > r && (n = r), i < r && (i = r)); + return [n, i]; + } + var f = Array.prototype, + h = f.slice, + p = f.map; + function d(t) { + return function () { + return t; + }; + } + function g(t) { + return t; + } + function m(t, e, r) { + (t = +t), + (e = +e), + (r = + (i = arguments.length) < 2 + ? ((e = t), (t = 0), 1) + : i < 3 + ? 1 + : +r); + for ( + var n = -1, + i = 0 | Math.max(0, Math.ceil((e - t) / r)), + a = new Array(i); + ++n < i; + + ) + a[n] = t + n * r; + return a; + } + var v = Math.sqrt(50), + y = Math.sqrt(10), + x = Math.sqrt(2); + function b(t, e, r) { + var n = (e - t) / Math.max(0, r), + i = Math.floor(Math.log(n) / Math.LN10), + a = n / Math.pow(10, i); + return i >= 0 + ? (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1) * Math.pow(10, i) + : -Math.pow(10, -i) / + (a >= v ? 10 : a >= y ? 5 : a >= x ? 2 : 1); + } + function _(t, e, r) { + var n = Math.abs(e - t) / Math.max(0, r), + i = Math.pow(10, Math.floor(Math.log(n) / Math.LN10)), + a = n / i; + return ( + a >= v ? (i *= 10) : a >= y ? (i *= 5) : a >= x && (i *= 2), + e < t ? -i : i + ); + } + function w(t) { + return Math.ceil(Math.log(t.length) / Math.LN2) + 1; + } + function T(t, e, r) { + if ((null == r && (r = s), (n = t.length))) { + if ((e = +e) <= 0 || n < 2) return +r(t[0], 0, t); + if (e >= 1) return +r(t[n - 1], n - 1, t); + var n, + i = (n - 1) * e, + a = Math.floor(i), + o = +r(t[a], a, t); + return o + (+r(t[a + 1], a + 1, t) - o) * (i - a); + } + } + function k(t, e) { + var r, + n, + i = t.length, + a = -1; + if (null == e) { + for (; ++a < i; ) + if (null != (r = t[a]) && r >= r) + for (n = r; ++a < i; ) + null != (r = t[a]) && n > r && (n = r); + } else for (; ++a < i; ) if (null != (r = e(t[a], a, t)) && r >= r) for (n = r; ++a < i; ) null != (r = e(t[a], a, t)) && n > r && (n = r); + return n; + } + function M(t) { + if (!(i = t.length)) return []; + for (var e = -1, r = k(t, A), n = new Array(r); ++e < r; ) + for (var i, a = -1, o = (n[e] = new Array(i)); ++a < i; ) + o[a] = t[a][e]; + return n; + } + function A(t) { + return t.length; + } + (t.bisect = i), + (t.bisectRight = i), + (t.bisectLeft = a), + (t.ascending = e), + (t.bisector = r), + (t.cross = function (t, e, r) { + var n, + i, + a, + s, + l = t.length, + c = e.length, + u = new Array(l * c); + for (null == r && (r = o), n = a = 0; n < l; ++n) + for (s = t[n], i = 0; i < c; ++i, ++a) u[a] = r(s, e[i]); + return u; + }), + (t.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (t.deviation = c), + (t.extent = u), + (t.histogram = function () { + var t = g, + e = u, + r = w; + function n(n) { + var a, + o, + s = n.length, + l = new Array(s); + for (a = 0; a < s; ++a) l[a] = t(n[a], a, n); + var c = e(l), + u = c[0], + f = c[1], + h = r(l, u, f); + Array.isArray(h) || + ((h = _(u, f, h)), (h = m(Math.ceil(u / h) * h, f, h))); + for (var p = h.length; h[0] <= u; ) h.shift(), --p; + for (; h[p - 1] > f; ) h.pop(), --p; + var d, + g = new Array(p + 1); + for (a = 0; a <= p; ++a) + ((d = g[a] = []).x0 = a > 0 ? h[a - 1] : u), + (d.x1 = a < p ? h[a] : f); + for (a = 0; a < s; ++a) + u <= (o = l[a]) && o <= f && g[i(h, o, 0, p)].push(n[a]); + return g; + } + return ( + (n.value = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : d(e)), n) + : t; + }), + (n.domain = function (t) { + return arguments.length + ? ((e = 'function' == typeof t ? t : d([t[0], t[1]])), n) + : e; + }), + (n.thresholds = function (t) { + return arguments.length + ? ((r = + 'function' == typeof t + ? t + : Array.isArray(t) + ? d(h.call(t)) + : d(t)), + n) + : r; + }), + n + ); + }), + (t.thresholdFreedmanDiaconis = function (t, r, n) { + return ( + (t = p.call(t, s).sort(e)), + Math.ceil( + (n - r) / + (2 * + (T(t, 0.75) - T(t, 0.25)) * + Math.pow(t.length, -1 / 3)) + ) + ); + }), + (t.thresholdScott = function (t, e, r) { + return Math.ceil( + (r - e) / (3.5 * c(t) * Math.pow(t.length, -1 / 3)) + ); + }), + (t.thresholdSturges = w), + (t.max = function (t, e) { + var r, + n, + i = t.length, + a = -1; + if (null == e) { + for (; ++a < i; ) + if (null != (r = t[a]) && r >= r) + for (n = r; ++a < i; ) + null != (r = t[a]) && r > n && (n = r); + } else + for (; ++a < i; ) + if (null != (r = e(t[a], a, t)) && r >= r) + for (n = r; ++a < i; ) + null != (r = e(t[a], a, t)) && r > n && (n = r); + return n; + }), + (t.mean = function (t, e) { + var r, + n = t.length, + i = n, + a = -1, + o = 0; + if (null == e) + for (; ++a < n; ) isNaN((r = s(t[a]))) ? --i : (o += r); + else + for (; ++a < n; ) + isNaN((r = s(e(t[a], a, t)))) ? --i : (o += r); + if (i) return o / i; + }), + (t.median = function (t, r) { + var n, + i = t.length, + a = -1, + o = []; + if (null == r) + for (; ++a < i; ) isNaN((n = s(t[a]))) || o.push(n); + else + for (; ++a < i; ) isNaN((n = s(r(t[a], a, t)))) || o.push(n); + return T(o.sort(e), 0.5); + }), + (t.merge = function (t) { + for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) + o += t[a].length; + for (r = new Array(o); --i >= 0; ) + for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; + return r; + }), + (t.min = k), + (t.pairs = function (t, e) { + null == e && (e = o); + for ( + var r = 0, + n = t.length - 1, + i = t[0], + a = new Array(n < 0 ? 0 : n); + r < n; + + ) + a[r] = e(i, (i = t[++r])); + return a; + }), + (t.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; + return n; + }), + (t.quantile = T), + (t.range = m), + (t.scan = function (t, r) { + if ((n = t.length)) { + var n, + i, + a = 0, + o = 0, + s = t[o]; + for (null == r && (r = e); ++a < n; ) + (r((i = t[a]), s) < 0 || 0 !== r(s, s)) && + ((s = i), (o = a)); + return 0 === r(s, s) ? o : void 0; + } + }), + (t.shuffle = function (t, e, r) { + for ( + var n, + i, + a = (null == r ? t.length : r) - (e = null == e ? 0 : +e); + a; + + ) + (i = (Math.random() * a--) | 0), + (n = t[a + e]), + (t[a + e] = t[i + e]), + (t[i + e] = n); + return t; + }), + (t.sum = function (t, e) { + var r, + n = t.length, + i = -1, + a = 0; + if (null == e) for (; ++i < n; ) (r = +t[i]) && (a += r); + else for (; ++i < n; ) (r = +e(t[i], i, t)) && (a += r); + return a; + }), + (t.ticks = function (t, e, r) { + var n, + i, + a, + o, + s = -1; + if (((r = +r), (t = +t) === (e = +e) && r > 0)) return [t]; + if ( + ((n = e < t) && ((i = t), (t = e), (e = i)), + 0 === (o = b(t, e, r)) || !isFinite(o)) + ) + return []; + if (o > 0) + for ( + t = Math.ceil(t / o), + e = Math.floor(e / o), + a = new Array((i = Math.ceil(e - t + 1))); + ++s < i; + + ) + a[s] = (t + s) * o; + else + for ( + t = Math.floor(t * o), + e = Math.ceil(e * o), + a = new Array((i = Math.ceil(t - e + 1))); + ++s < i; + + ) + a[s] = (t - s) / o; + return n && a.reverse(), a; + }), + (t.tickIncrement = b), + (t.tickStep = _), + (t.transpose = M), + (t.variance = l), + (t.zip = function () { + return M(arguments); + }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 157: [ + function (t, e, r) { + !(function (t, n) { + n( + 'object' == typeof r && 'undefined' != typeof e + ? r + : (t.d3 = t.d3 || {}) + ); + })(this, function (t) { + 'use strict'; + function e() {} + function r(t, r) { + var n = new e(); + if (t instanceof e) + t.each(function (t, e) { + n.set(e, t); + }); + else if (Array.isArray(t)) { + var i, + a = -1, + o = t.length; + if (null == r) for (; ++a < o; ) n.set(a, t[a]); + else for (; ++a < o; ) n.set(r((i = t[a]), a, t), i); + } else if (t) for (var s in t) n.set(s, t[s]); + return n; + } + function n() { + return {}; + } + function i(t, e, r) { + t[e] = r; + } + function a() { + return r(); + } + function o(t, e, r) { + t.set(e, r); + } + function s() {} + e.prototype = r.prototype = { + constructor: e, + has: function (t) { + return '$' + t in this; + }, + get: function (t) { + return this['$' + t]; + }, + set: function (t, e) { + return (this['$' + t] = e), this; + }, + remove: function (t) { + var e = '$' + t; + return e in this && delete this[e]; + }, + clear: function () { + for (var t in this) '$' === t[0] && delete this[t]; + }, + keys: function () { + var t = []; + for (var e in this) '$' === e[0] && t.push(e.slice(1)); + return t; + }, + values: function () { + var t = []; + for (var e in this) '$' === e[0] && t.push(this[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this) + '$' === e[0] && t.push({ key: e.slice(1), value: this[e] }); + return t; + }, + size: function () { + var t = 0; + for (var e in this) '$' === e[0] && ++t; + return t; + }, + empty: function () { + for (var t in this) if ('$' === t[0]) return !1; + return !0; + }, + each: function (t) { + for (var e in this) + '$' === e[0] && t(this[e], e.slice(1), this); + }, + }; + var l = r.prototype; + function c(t, e) { + var r = new s(); + if (t instanceof s) + t.each(function (t) { + r.add(t); + }); + else if (t) { + var n = -1, + i = t.length; + if (null == e) for (; ++n < i; ) r.add(t[n]); + else for (; ++n < i; ) r.add(e(t[n], n, t)); + } + return r; + } + (s.prototype = c.prototype = + { + constructor: s, + has: l.has, + add: function (t) { + return (this['$' + (t += '')] = t), this; + }, + remove: l.remove, + clear: l.clear, + values: l.keys, + size: l.size, + empty: l.empty, + each: l.each, + }), + (t.nest = function () { + var t, + e, + s, + l = [], + c = []; + function u(n, i, a, o) { + if (i >= l.length) + return null != t && n.sort(t), null != e ? e(n) : n; + for ( + var s, + c, + f, + h = -1, + p = n.length, + d = l[i++], + g = r(), + m = a(); + ++h < p; + + ) + (f = g.get((s = d((c = n[h])) + ''))) + ? f.push(c) + : g.set(s, [c]); + return ( + g.each(function (t, e) { + o(m, e, u(t, i, a, o)); + }), + m + ); + } + return (s = { + object: function (t) { + return u(t, 0, n, i); + }, + map: function (t) { + return u(t, 0, a, o); + }, + entries: function (t) { + return (function t(r, n) { + if (++n > l.length) return r; + var i, + a = c[n - 1]; + return ( + null != e && n >= l.length + ? (i = r.entries()) + : ((i = []), + r.each(function (e, r) { + i.push({ key: r, values: t(e, n) }); + })), + null != a + ? i.sort(function (t, e) { + return a(t.key, e.key); + }) + : i + ); + })(u(t, 0, a, o), 0); + }, + key: function (t) { + return l.push(t), s; + }, + sortKeys: function (t) { + return (c[l.length - 1] = t), s; + }, + sortValues: function (e) { + return (t = e), s; + }, + rollup: function (t) { + return (e = t), s; + }, + }); + }), + (t.set = c), + (t.map = r), + (t.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 158: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + function e(t, e, r) { + (t.prototype = e.prototype = r), (r.constructor = t); + } + function r(t, e) { + var r = Object.create(t.prototype); + for (var n in e) r[n] = e[n]; + return r; + } + function n() {} + var i = '\\s*([+-]?\\d+)\\s*', + a = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*', + o = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*', + s = /^#([0-9a-f]{3,8})$/, + l = new RegExp('^rgb\\(' + [i, i, i] + '\\)$'), + c = new RegExp('^rgb\\(' + [o, o, o] + '\\)$'), + u = new RegExp('^rgba\\(' + [i, i, i, a] + '\\)$'), + f = new RegExp('^rgba\\(' + [o, o, o, a] + '\\)$'), + h = new RegExp('^hsl\\(' + [a, o, o] + '\\)$'), + p = new RegExp('^hsla\\(' + [a, o, o, a] + '\\)$'), + d = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }; + function g() { + return this.rgb().formatHex(); + } + function m() { + return this.rgb().formatRgb(); + } + function v(t) { + var e, r; + return ( + (t = (t + '').trim().toLowerCase()), + (e = s.exec(t)) + ? ((r = e[1].length), + (e = parseInt(e[1], 16)), + 6 === r + ? y(e) + : 3 === r + ? new w( + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + ((15 & e) << 4) | (15 & e), + 1 + ) + : 8 === r + ? x( + (e >> 24) & 255, + (e >> 16) & 255, + (e >> 8) & 255, + (255 & e) / 255 + ) + : 4 === r + ? x( + ((e >> 12) & 15) | ((e >> 8) & 240), + ((e >> 8) & 15) | ((e >> 4) & 240), + ((e >> 4) & 15) | (240 & e), + (((15 & e) << 4) | (15 & e)) / 255 + ) + : null) + : (e = l.exec(t)) + ? new w(e[1], e[2], e[3], 1) + : (e = c.exec(t)) + ? new w( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + 1 + ) + : (e = u.exec(t)) + ? x(e[1], e[2], e[3], e[4]) + : (e = f.exec(t)) + ? x( + (255 * e[1]) / 100, + (255 * e[2]) / 100, + (255 * e[3]) / 100, + e[4] + ) + : (e = h.exec(t)) + ? A(e[1], e[2] / 100, e[3] / 100, 1) + : (e = p.exec(t)) + ? A(e[1], e[2] / 100, e[3] / 100, e[4]) + : d.hasOwnProperty(t) + ? y(d[t]) + : 'transparent' === t + ? new w(NaN, NaN, NaN, 0) + : null + ); + } + function y(t) { + return new w((t >> 16) & 255, (t >> 8) & 255, 255 & t, 1); + } + function x(t, e, r, n) { + return n <= 0 && (t = e = r = NaN), new w(t, e, r, n); + } + function b(t) { + return ( + t instanceof n || (t = v(t)), + t ? new w((t = t.rgb()).r, t.g, t.b, t.opacity) : new w() + ); + } + function _(t, e, r, n) { + return 1 === arguments.length + ? b(t) + : new w(t, e, r, null == n ? 1 : n); + } + function w(t, e, r, n) { + (this.r = +t), (this.g = +e), (this.b = +r), (this.opacity = +n); + } + function T() { + return '#' + M(this.r) + M(this.g) + M(this.b); + } + function k() { + var t = this.opacity; + return ( + (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) + ? 'rgb(' + : 'rgba(') + + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + + ', ' + + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + + ', ' + + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + + (1 === t ? ')' : ', ' + t + ')') + ); + } + function M(t) { + return ( + ((t = Math.max(0, Math.min(255, Math.round(t) || 0))) < 16 + ? '0' + : '') + t.toString(16) + ); + } + function A(t, e, r, n) { + return ( + n <= 0 + ? (t = e = r = NaN) + : r <= 0 || r >= 1 + ? (t = e = NaN) + : e <= 0 && (t = NaN), + new C(t, e, r, n) + ); + } + function S(t) { + if (t instanceof C) return new C(t.h, t.s, t.l, t.opacity); + if ((t instanceof n || (t = v(t)), !t)) return new C(); + if (t instanceof C) return t; + var e = (t = t.rgb()).r / 255, + r = t.g / 255, + i = t.b / 255, + a = Math.min(e, r, i), + o = Math.max(e, r, i), + s = NaN, + l = o - a, + c = (o + a) / 2; + return ( + l + ? ((s = + e === o + ? (r - i) / l + 6 * (r < i) + : r === o + ? (i - e) / l + 2 + : (e - r) / l + 4), + (l /= c < 0.5 ? o + a : 2 - o - a), + (s *= 60)) + : (l = c > 0 && c < 1 ? 0 : s), + new C(s, l, c, t.opacity) + ); + } + function E(t, e, r, n) { + return 1 === arguments.length + ? S(t) + : new C(t, e, r, null == n ? 1 : n); + } + function C(t, e, r, n) { + (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n); + } + function L(t, e, r) { + return ( + 255 * + (t < 60 + ? e + ((r - e) * t) / 60 + : t < 180 + ? r + : t < 240 + ? e + ((r - e) * (240 - t)) / 60 + : e) + ); + } + e(n, v, { + copy: function (t) { + return Object.assign(new this.constructor(), this, t); + }, + displayable: function () { + return this.rgb().displayable(); + }, + hex: g, + formatHex: g, + formatHsl: function () { + return S(this).formatHsl(); + }, + formatRgb: m, + toString: m, + }), + e( + w, + _, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new w(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new w(this.r * t, this.g * t, this.b * t, this.opacity) + ); + }, + rgb: function () { + return this; + }, + displayable: function () { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + hex: T, + formatHex: T, + formatRgb: k, + toString: k, + }) + ), + e( + C, + E, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new C(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new C(this.h, this.s, this.l * t, this.opacity) + ); + }, + rgb: function () { + var t = (this.h % 360) + 360 * (this.h < 0), + e = isNaN(t) || isNaN(this.s) ? 0 : this.s, + r = this.l, + n = r + (r < 0.5 ? r : 1 - r) * e, + i = 2 * r - n; + return new w( + L(t >= 240 ? t - 240 : t + 120, i, n), + L(t, i, n), + L(t < 120 ? t + 240 : t - 120, i, n), + this.opacity + ); + }, + displayable: function () { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ); + }, + formatHsl: function () { + var t = this.opacity; + return ( + (1 === (t = isNaN(t) ? 1 : Math.max(0, Math.min(1, t))) + ? 'hsl(' + : 'hsla(') + + (this.h || 0) + + ', ' + + 100 * (this.s || 0) + + '%, ' + + 100 * (this.l || 0) + + '%' + + (1 === t ? ')' : ', ' + t + ')') + ); + }, + }) + ); + var I = Math.PI / 180, + P = 180 / Math.PI, + z = 6 / 29, + O = 3 * z * z; + function D(t) { + if (t instanceof F) return new F(t.l, t.a, t.b, t.opacity); + if (t instanceof H) return G(t); + t instanceof w || (t = b(t)); + var e, + r, + n = U(t.r), + i = U(t.g), + a = U(t.b), + o = B((0.2225045 * n + 0.7168786 * i + 0.0606169 * a) / 1); + return ( + n === i && i === a + ? (e = r = o) + : ((e = B( + (0.4360747 * n + 0.3850649 * i + 0.1430804 * a) / 0.96422 + )), + (r = B( + (0.0139322 * n + 0.0971045 * i + 0.7141733 * a) / 0.82521 + ))), + new F(116 * o - 16, 500 * (e - o), 200 * (o - r), t.opacity) + ); + } + function R(t, e, r, n) { + return 1 === arguments.length + ? D(t) + : new F(t, e, r, null == n ? 1 : n); + } + function F(t, e, r, n) { + (this.l = +t), (this.a = +e), (this.b = +r), (this.opacity = +n); + } + function B(t) { + return t > 0.008856451679035631 + ? Math.pow(t, 1 / 3) + : t / O + 4 / 29; + } + function N(t) { + return t > z ? t * t * t : O * (t - 4 / 29); + } + function j(t) { + return ( + 255 * + (t <= 0.0031308 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function U(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function V(t) { + if (t instanceof H) return new H(t.h, t.c, t.l, t.opacity); + if ((t instanceof F || (t = D(t)), 0 === t.a && 0 === t.b)) + return new H( + NaN, + 0 < t.l && t.l < 100 ? 0 : NaN, + t.l, + t.opacity + ); + var e = Math.atan2(t.b, t.a) * P; + return new H( + e < 0 ? e + 360 : e, + Math.sqrt(t.a * t.a + t.b * t.b), + t.l, + t.opacity + ); + } + function q(t, e, r, n) { + return 1 === arguments.length + ? V(t) + : new H(t, e, r, null == n ? 1 : n); + } + function H(t, e, r, n) { + (this.h = +t), (this.c = +e), (this.l = +r), (this.opacity = +n); + } + function G(t) { + if (isNaN(t.h)) return new F(t.l, 0, 0, t.opacity); + var e = t.h * I; + return new F( + t.l, + Math.cos(e) * t.c, + Math.sin(e) * t.c, + t.opacity + ); + } + e( + F, + R, + r(n, { + brighter: function (t) { + return new F( + this.l + 18 * (null == t ? 1 : t), + this.a, + this.b, + this.opacity + ); + }, + darker: function (t) { + return new F( + this.l - 18 * (null == t ? 1 : t), + this.a, + this.b, + this.opacity + ); + }, + rgb: function () { + var t = (this.l + 16) / 116, + e = isNaN(this.a) ? t : t + this.a / 500, + r = isNaN(this.b) ? t : t - this.b / 200; + return new w( + j( + 3.1338561 * (e = 0.96422 * N(e)) - + 1.6168667 * (t = 1 * N(t)) - + 0.4906146 * (r = 0.82521 * N(r)) + ), + j(-0.9787684 * e + 1.9161415 * t + 0.033454 * r), + j(0.0719453 * e - 0.2289914 * t + 1.4052427 * r), + this.opacity + ); + }, + }) + ), + e( + H, + q, + r(n, { + brighter: function (t) { + return new H( + this.h, + this.c, + this.l + 18 * (null == t ? 1 : t), + this.opacity + ); + }, + darker: function (t) { + return new H( + this.h, + this.c, + this.l - 18 * (null == t ? 1 : t), + this.opacity + ); + }, + rgb: function () { + return G(this).rgb(); + }, + }) + ); + var Y = -0.14861, + W = 1.78277, + X = -0.29227, + Z = -0.90649, + J = 1.97294, + K = J * Z, + Q = J * W, + $ = W * X - Z * Y; + function tt(t) { + if (t instanceof rt) return new rt(t.h, t.s, t.l, t.opacity); + t instanceof w || (t = b(t)); + var e = t.r / 255, + r = t.g / 255, + n = t.b / 255, + i = ($ * n + K * e - Q * r) / ($ + K - Q), + a = n - i, + o = (J * (r - i) - X * a) / Z, + s = Math.sqrt(o * o + a * a) / (J * i * (1 - i)), + l = s ? Math.atan2(o, a) * P - 120 : NaN; + return new rt(l < 0 ? l + 360 : l, s, i, t.opacity); + } + function et(t, e, r, n) { + return 1 === arguments.length + ? tt(t) + : new rt(t, e, r, null == n ? 1 : n); + } + function rt(t, e, r, n) { + (this.h = +t), (this.s = +e), (this.l = +r), (this.opacity = +n); + } + e( + rt, + et, + r(n, { + brighter: function (t) { + return ( + (t = null == t ? 1 / 0.7 : Math.pow(1 / 0.7, t)), + new rt(this.h, this.s, this.l * t, this.opacity) + ); + }, + darker: function (t) { + return ( + (t = null == t ? 0.7 : Math.pow(0.7, t)), + new rt(this.h, this.s, this.l * t, this.opacity) + ); + }, + rgb: function () { + var t = isNaN(this.h) ? 0 : (this.h + 120) * I, + e = +this.l, + r = isNaN(this.s) ? 0 : this.s * e * (1 - e), + n = Math.cos(t), + i = Math.sin(t); + return new w( + 255 * (e + r * (Y * n + W * i)), + 255 * (e + r * (X * n + Z * i)), + 255 * (e + r * (J * n)), + this.opacity + ); + }, + }) + ), + (t.color = v), + (t.cubehelix = et), + (t.gray = function (t, e) { + return new F(t, 0, 0, null == e ? 1 : e); + }), + (t.hcl = q), + (t.hsl = E), + (t.lab = R), + (t.lch = function (t, e, r, n) { + return 1 === arguments.length + ? V(t) + : new H(r, e, t, null == n ? 1 : n); + }), + (t.rgb = _), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 159: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + var e = { value: function () {} }; + function r() { + for (var t, e = 0, r = arguments.length, i = {}; e < r; ++e) { + if (!(t = arguments[e] + '') || t in i || /[\s.]/.test(t)) + throw new Error('illegal type: ' + t); + i[t] = []; + } + return new n(i); + } + function n(t) { + this._ = t; + } + function i(t, e) { + return t + .trim() + .split(/^|\s+/) + .map(function (t) { + var r = '', + n = t.indexOf('.'); + if ( + (n >= 0 && ((r = t.slice(n + 1)), (t = t.slice(0, n))), + t && !e.hasOwnProperty(t)) + ) + throw new Error('unknown type: ' + t); + return { type: t, name: r }; + }); + } + function a(t, e) { + for (var r, n = 0, i = t.length; n < i; ++n) + if ((r = t[n]).name === e) return r.value; + } + function o(t, r, n) { + for (var i = 0, a = t.length; i < a; ++i) + if (t[i].name === r) { + (t[i] = e), (t = t.slice(0, i).concat(t.slice(i + 1))); + break; + } + return null != n && t.push({ name: r, value: n }), t; + } + (n.prototype = r.prototype = + { + constructor: n, + on: function (t, e) { + var r, + n = this._, + s = i(t + '', n), + l = -1, + c = s.length; + if (!(arguments.length < 2)) { + if (null != e && 'function' != typeof e) + throw new Error('invalid callback: ' + e); + for (; ++l < c; ) + if ((r = (t = s[l]).type)) n[r] = o(n[r], t.name, e); + else if (null == e) + for (r in n) n[r] = o(n[r], t.name, null); + return this; + } + for (; ++l < c; ) + if ((r = (t = s[l]).type) && (r = a(n[r], t.name))) + return r; + }, + copy: function () { + var t = {}, + e = this._; + for (var r in e) t[r] = e[r].slice(); + return new n(t); + }, + call: function (t, e) { + if ((r = arguments.length - 2) > 0) + for (var r, n, i = new Array(r), a = 0; a < r; ++a) + i[a] = arguments[a + 2]; + if (!this._.hasOwnProperty(t)) + throw new Error('unknown type: ' + t); + for (a = 0, r = (n = this._[t]).length; a < r; ++a) + n[a].value.apply(e, i); + }, + apply: function (t, e, r) { + if (!this._.hasOwnProperty(t)) + throw new Error('unknown type: ' + t); + for (var n = this._[t], i = 0, a = n.length; i < a; ++i) + n[i].value.apply(e, r); + }, + }), + (t.dispatch = r), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 160: [ + function (t, e, r) { + !(function (n, i) { + 'object' == typeof r && 'undefined' != typeof e + ? i( + r, + t('d3-quadtree'), + t('d3-collection'), + t('d3-dispatch'), + t('d3-timer') + ) + : i((n.d3 = n.d3 || {}), n.d3, n.d3, n.d3, n.d3); + })(this, function (t, e, r, n, i) { + 'use strict'; + function a(t) { + return function () { + return t; + }; + } + function o() { + return 1e-6 * (Math.random() - 0.5); + } + function s(t) { + return t.x + t.vx; + } + function l(t) { + return t.y + t.vy; + } + function c(t) { + return t.index; + } + function u(t, e) { + var r = t.get(e); + if (!r) throw new Error('missing: ' + e); + return r; + } + function f(t) { + return t.x; + } + function h(t) { + return t.y; + } + var p = Math.PI * (3 - Math.sqrt(5)); + (t.forceCenter = function (t, e) { + var r; + function n() { + var n, + i, + a = r.length, + o = 0, + s = 0; + for (n = 0; n < a; ++n) (o += (i = r[n]).x), (s += i.y); + for (o = o / a - t, s = s / a - e, n = 0; n < a; ++n) + ((i = r[n]).x -= o), (i.y -= s); + } + return ( + null == t && (t = 0), + null == e && (e = 0), + (n.initialize = function (t) { + r = t; + }), + (n.x = function (e) { + return arguments.length ? ((t = +e), n) : t; + }), + (n.y = function (t) { + return arguments.length ? ((e = +t), n) : e; + }), + n + ); + }), + (t.forceCollide = function (t) { + var r, + n, + i = 1, + c = 1; + function u() { + for (var t, a, u, h, p, d, g, m = r.length, v = 0; v < c; ++v) + for ( + a = e.quadtree(r, s, l).visitAfter(f), t = 0; + t < m; + ++t + ) + (u = r[t]), + (d = n[u.index]), + (g = d * d), + (h = u.x + u.vx), + (p = u.y + u.vy), + a.visit(y); + function y(t, e, r, n, a) { + var s = t.data, + l = t.r, + c = d + l; + if (!s) + return e > h + c || n < h - c || r > p + c || a < p - c; + if (s.index > u.index) { + var f = h - s.x - s.vx, + m = p - s.y - s.vy, + v = f * f + m * m; + v < c * c && + (0 === f && (v += (f = o()) * f), + 0 === m && (v += (m = o()) * m), + (v = ((c - (v = Math.sqrt(v))) / v) * i), + (u.vx += (f *= v) * (c = (l *= l) / (g + l))), + (u.vy += (m *= v) * c), + (s.vx -= f * (c = 1 - c)), + (s.vy -= m * c)); + } + } + } + function f(t) { + if (t.data) return (t.r = n[t.data.index]); + for (var e = (t.r = 0); e < 4; ++e) + t[e] && t[e].r > t.r && (t.r = t[e].r); + } + function h() { + if (r) { + var e, + i, + a = r.length; + for (n = new Array(a), e = 0; e < a; ++e) + (i = r[e]), (n[i.index] = +t(i, e, r)); + } + } + return ( + 'function' != typeof t && (t = a(null == t ? 1 : +t)), + (u.initialize = function (t) { + (r = t), h(); + }), + (u.iterations = function (t) { + return arguments.length ? ((c = +t), u) : c; + }), + (u.strength = function (t) { + return arguments.length ? ((i = +t), u) : i; + }), + (u.radius = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : a(+e)), h(), u) + : t; + }), + u + ); + }), + (t.forceLink = function (t) { + var e, + n, + i, + s, + l, + f = c, + h = function (t) { + return 1 / Math.min(s[t.source.index], s[t.target.index]); + }, + p = a(30), + d = 1; + function g(r) { + for (var i = 0, a = t.length; i < d; ++i) + for (var s, c, u, f, h, p, g, m = 0; m < a; ++m) + (c = (s = t[m]).source), + (f = (u = s.target).x + u.vx - c.x - c.vx || o()), + (h = u.y + u.vy - c.y - c.vy || o()), + (f *= p = + (((p = Math.sqrt(f * f + h * h)) - n[m]) / p) * + r * + e[m]), + (h *= p), + (u.vx -= f * (g = l[m])), + (u.vy -= h * g), + (c.vx += f * (g = 1 - g)), + (c.vy += h * g); + } + function m() { + if (i) { + var a, + o, + c = i.length, + h = t.length, + p = r.map(i, f); + for (a = 0, s = new Array(c); a < h; ++a) + ((o = t[a]).index = a), + 'object' != typeof o.source && + (o.source = u(p, o.source)), + 'object' != typeof o.target && + (o.target = u(p, o.target)), + (s[o.source.index] = (s[o.source.index] || 0) + 1), + (s[o.target.index] = (s[o.target.index] || 0) + 1); + for (a = 0, l = new Array(h); a < h; ++a) + (o = t[a]), + (l[a] = + s[o.source.index] / + (s[o.source.index] + s[o.target.index])); + (e = new Array(h)), v(), (n = new Array(h)), y(); + } + } + function v() { + if (i) + for (var r = 0, n = t.length; r < n; ++r) + e[r] = +h(t[r], r, t); + } + function y() { + if (i) + for (var e = 0, r = t.length; e < r; ++e) + n[e] = +p(t[e], e, t); + } + return ( + null == t && (t = []), + (g.initialize = function (t) { + (i = t), m(); + }), + (g.links = function (e) { + return arguments.length ? ((t = e), m(), g) : t; + }), + (g.id = function (t) { + return arguments.length ? ((f = t), g) : f; + }), + (g.iterations = function (t) { + return arguments.length ? ((d = +t), g) : d; + }), + (g.strength = function (t) { + return arguments.length + ? ((h = 'function' == typeof t ? t : a(+t)), v(), g) + : h; + }), + (g.distance = function (t) { + return arguments.length + ? ((p = 'function' == typeof t ? t : a(+t)), y(), g) + : p; + }), + g + ); + }), + (t.forceManyBody = function () { + var t, + r, + n, + i, + s = a(-30), + l = 1, + c = 1 / 0, + u = 0.81; + function p(i) { + var a, + o = t.length, + s = e.quadtree(t, f, h).visitAfter(g); + for (n = i, a = 0; a < o; ++a) (r = t[a]), s.visit(m); + } + function d() { + if (t) { + var e, + r, + n = t.length; + for (i = new Array(n), e = 0; e < n; ++e) + (r = t[e]), (i[r.index] = +s(r, e, t)); + } + } + function g(t) { + var e, + r, + n, + a, + o, + s = 0, + l = 0; + if (t.length) { + for (n = a = o = 0; o < 4; ++o) + (e = t[o]) && + (r = Math.abs(e.value)) && + ((s += e.value), + (l += r), + (n += r * e.x), + (a += r * e.y)); + (t.x = n / l), (t.y = a / l); + } else { + ((e = t).x = e.data.x), (e.y = e.data.y); + do { + s += i[e.data.index]; + } while ((e = e.next)); + } + t.value = s; + } + function m(t, e, a, s) { + if (!t.value) return !0; + var f = t.x - r.x, + h = t.y - r.y, + p = s - e, + d = f * f + h * h; + if ((p * p) / u < d) + return ( + d < c && + (0 === f && (d += (f = o()) * f), + 0 === h && (d += (h = o()) * h), + d < l && (d = Math.sqrt(l * d)), + (r.vx += (f * t.value * n) / d), + (r.vy += (h * t.value * n) / d)), + !0 + ); + if (!(t.length || d >= c)) { + (t.data !== r || t.next) && + (0 === f && (d += (f = o()) * f), + 0 === h && (d += (h = o()) * h), + d < l && (d = Math.sqrt(l * d))); + do { + t.data !== r && + ((p = (i[t.data.index] * n) / d), + (r.vx += f * p), + (r.vy += h * p)); + } while ((t = t.next)); + } + } + return ( + (p.initialize = function (e) { + (t = e), d(); + }), + (p.strength = function (t) { + return arguments.length + ? ((s = 'function' == typeof t ? t : a(+t)), d(), p) + : s; + }), + (p.distanceMin = function (t) { + return arguments.length ? ((l = t * t), p) : Math.sqrt(l); + }), + (p.distanceMax = function (t) { + return arguments.length ? ((c = t * t), p) : Math.sqrt(c); + }), + (p.theta = function (t) { + return arguments.length ? ((u = t * t), p) : Math.sqrt(u); + }), + p + ); + }), + (t.forceRadial = function (t, e, r) { + var n, + i, + o, + s = a(0.1); + function l(t) { + for (var a = 0, s = n.length; a < s; ++a) { + var l = n[a], + c = l.x - e || 1e-6, + u = l.y - r || 1e-6, + f = Math.sqrt(c * c + u * u), + h = ((o[a] - f) * i[a] * t) / f; + (l.vx += c * h), (l.vy += u * h); + } + } + function c() { + if (n) { + var e, + r = n.length; + for (i = new Array(r), o = new Array(r), e = 0; e < r; ++e) + (o[e] = +t(n[e], e, n)), + (i[e] = isNaN(o[e]) ? 0 : +s(n[e], e, n)); + } + } + return ( + 'function' != typeof t && (t = a(+t)), + null == e && (e = 0), + null == r && (r = 0), + (l.initialize = function (t) { + (n = t), c(); + }), + (l.strength = function (t) { + return arguments.length + ? ((s = 'function' == typeof t ? t : a(+t)), c(), l) + : s; + }), + (l.radius = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : a(+e)), c(), l) + : t; + }), + (l.x = function (t) { + return arguments.length ? ((e = +t), l) : e; + }), + (l.y = function (t) { + return arguments.length ? ((r = +t), l) : r; + }), + l + ); + }), + (t.forceSimulation = function (t) { + var e, + a = 1, + o = 0.001, + s = 1 - Math.pow(o, 1 / 300), + l = 0, + c = 0.6, + u = r.map(), + f = i.timer(d), + h = n.dispatch('tick', 'end'); + function d() { + g(), h.call('tick', e), a < o && (f.stop(), h.call('end', e)); + } + function g(r) { + var n, + i, + o = t.length; + void 0 === r && (r = 1); + for (var f = 0; f < r; ++f) + for ( + a += (l - a) * s, + u.each(function (t) { + t(a); + }), + n = 0; + n < o; + ++n + ) + null == (i = t[n]).fx + ? (i.x += i.vx *= c) + : ((i.x = i.fx), (i.vx = 0)), + null == i.fy + ? (i.y += i.vy *= c) + : ((i.y = i.fy), (i.vy = 0)); + return e; + } + function m() { + for (var e, r = 0, n = t.length; r < n; ++r) { + if ( + (((e = t[r]).index = r), + null != e.fx && (e.x = e.fx), + null != e.fy && (e.y = e.fy), + isNaN(e.x) || isNaN(e.y)) + ) { + var i = 10 * Math.sqrt(r), + a = r * p; + (e.x = i * Math.cos(a)), (e.y = i * Math.sin(a)); + } + (isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0); + } + } + function v(e) { + return e.initialize && e.initialize(t), e; + } + return ( + null == t && (t = []), + m(), + (e = { + tick: g, + restart: function () { + return f.restart(d), e; + }, + stop: function () { + return f.stop(), e; + }, + nodes: function (r) { + return arguments.length + ? ((t = r), m(), u.each(v), e) + : t; + }, + alpha: function (t) { + return arguments.length ? ((a = +t), e) : a; + }, + alphaMin: function (t) { + return arguments.length ? ((o = +t), e) : o; + }, + alphaDecay: function (t) { + return arguments.length ? ((s = +t), e) : +s; + }, + alphaTarget: function (t) { + return arguments.length ? ((l = +t), e) : l; + }, + velocityDecay: function (t) { + return arguments.length ? ((c = 1 - t), e) : 1 - c; + }, + force: function (t, r) { + return arguments.length > 1 + ? (null == r ? u.remove(t) : u.set(t, v(r)), e) + : u.get(t); + }, + find: function (e, r, n) { + var i, + a, + o, + s, + l, + c = 0, + u = t.length; + for ( + null == n ? (n = 1 / 0) : (n *= n), c = 0; + c < u; + ++c + ) + (o = (i = e - (s = t[c]).x) * i + (a = r - s.y) * a) < + n && ((l = s), (n = o)); + return l; + }, + on: function (t, r) { + return arguments.length > 1 ? (h.on(t, r), e) : h.on(t); + }, + }) + ); + }), + (t.forceX = function (t) { + var e, + r, + n, + i = a(0.1); + function o(t) { + for (var i, a = 0, o = e.length; a < o; ++a) + (i = e[a]).vx += (n[a] - i.x) * r[a] * t; + } + function s() { + if (e) { + var a, + o = e.length; + for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) + r[a] = isNaN((n[a] = +t(e[a], a, e))) + ? 0 + : +i(e[a], a, e); + } + } + return ( + 'function' != typeof t && (t = a(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : a(+t)), s(), o) + : i; + }), + (o.x = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : a(+e)), s(), o) + : t; + }), + o + ); + }), + (t.forceY = function (t) { + var e, + r, + n, + i = a(0.1); + function o(t) { + for (var i, a = 0, o = e.length; a < o; ++a) + (i = e[a]).vy += (n[a] - i.y) * r[a] * t; + } + function s() { + if (e) { + var a, + o = e.length; + for (r = new Array(o), n = new Array(o), a = 0; a < o; ++a) + r[a] = isNaN((n[a] = +t(e[a], a, e))) + ? 0 + : +i(e[a], a, e); + } + } + return ( + 'function' != typeof t && (t = a(null == t ? 0 : +t)), + (o.initialize = function (t) { + (e = t), s(); + }), + (o.strength = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : a(+t)), s(), o) + : i; + }), + (o.y = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : a(+e)), s(), o) + : t; + }), + o + ); + }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { + 'd3-collection': 157, + 'd3-dispatch': 159, + 'd3-quadtree': 164, + 'd3-timer': 168, + }, + ], + 161: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + function e(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function r(t, e) { + return t + e.x; + } + function n(t, e) { + return Math.max(t, e.y); + } + function i(t) { + var e = 0, + r = t.children, + n = r && r.length; + if (n) for (; --n >= 0; ) e += r[n].value; + else e = 1; + t.value = e; + } + function a(t, e) { + var r, + n, + i, + a, + s, + u = new c(t), + f = +t.value && (u.value = t.value), + h = [u]; + for (null == e && (e = o); (r = h.pop()); ) + if ( + (f && (r.value = +r.data.value), + (i = e(r.data)) && (s = i.length)) + ) + for (r.children = new Array(s), a = s - 1; a >= 0; --a) + h.push((n = r.children[a] = new c(i[a]))), + (n.parent = r), + (n.depth = r.depth + 1); + return u.eachBefore(l); + } + function o(t) { + return t.children; + } + function s(t) { + t.data = t.data.data; + } + function l(t) { + var e = 0; + do { + t.height = e; + } while ((t = t.parent) && t.height < ++e); + } + function c(t) { + (this.data = t), + (this.depth = this.height = 0), + (this.parent = null); + } + c.prototype = a.prototype = { + constructor: c, + count: function () { + return this.eachAfter(i); + }, + each: function (t) { + var e, + r, + n, + i, + a = this, + o = [a]; + do { + for (e = o.reverse(), o = []; (a = e.pop()); ) + if ((t(a), (r = a.children))) + for (n = 0, i = r.length; n < i; ++n) o.push(r[n]); + } while (o.length); + return this; + }, + eachAfter: function (t) { + for (var e, r, n, i = this, a = [i], o = []; (i = a.pop()); ) + if ((o.push(i), (e = i.children))) + for (r = 0, n = e.length; r < n; ++r) a.push(e[r]); + for (; (i = o.pop()); ) t(i); + return this; + }, + eachBefore: function (t) { + for (var e, r, n = this, i = [n]; (n = i.pop()); ) + if ((t(n), (e = n.children))) + for (r = e.length - 1; r >= 0; --r) i.push(e[r]); + return this; + }, + sum: function (t) { + return this.eachAfter(function (e) { + for ( + var r = +t(e.data) || 0, n = e.children, i = n && n.length; + --i >= 0; + + ) + r += n[i].value; + e.value = r; + }); + }, + sort: function (t) { + return this.eachBefore(function (e) { + e.children && e.children.sort(t); + }); + }, + path: function (t) { + for ( + var e = this, + r = (function (t, e) { + if (t === e) return t; + var r = t.ancestors(), + n = e.ancestors(), + i = null; + (t = r.pop()), (e = n.pop()); + for (; t === e; ) (i = t), (t = r.pop()), (e = n.pop()); + return i; + })(e, t), + n = [e]; + e !== r; + + ) + (e = e.parent), n.push(e); + for (var i = n.length; t !== r; ) + n.splice(i, 0, t), (t = t.parent); + return n; + }, + ancestors: function () { + for (var t = this, e = [t]; (t = t.parent); ) e.push(t); + return e; + }, + descendants: function () { + var t = []; + return ( + this.each(function (e) { + t.push(e); + }), + t + ); + }, + leaves: function () { + var t = []; + return ( + this.eachBefore(function (e) { + e.children || t.push(e); + }), + t + ); + }, + links: function () { + var t = this, + e = []; + return ( + t.each(function (r) { + r !== t && e.push({ source: r.parent, target: r }); + }), + e + ); + }, + copy: function () { + return a(this).eachBefore(s); + }, + }; + var u = Array.prototype.slice; + function f(t) { + for ( + var e, + r, + n = 0, + i = (t = (function (t) { + for (var e, r, n = t.length; n; ) + (r = (Math.random() * n--) | 0), + (e = t[n]), + (t[n] = t[r]), + (t[r] = e); + return t; + })(u.call(t))).length, + a = []; + n < i; + + ) + (e = t[n]), + r && d(r, e) ? ++n : ((r = m((a = h(a, e)))), (n = 0)); + return r; + } + function h(t, e) { + var r, n; + if (g(e, t)) return [e]; + for (r = 0; r < t.length; ++r) + if (p(e, t[r]) && g(v(t[r], e), t)) return [t[r], e]; + for (r = 0; r < t.length - 1; ++r) + for (n = r + 1; n < t.length; ++n) + if ( + p(v(t[r], t[n]), e) && + p(v(t[r], e), t[n]) && + p(v(t[n], e), t[r]) && + g(y(t[r], t[n], e), t) + ) + return [t[r], t[n], e]; + throw new Error(); + } + function p(t, e) { + var r = t.r - e.r, + n = e.x - t.x, + i = e.y - t.y; + return r < 0 || r * r < n * n + i * i; + } + function d(t, e) { + var r = t.r - e.r + 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function g(t, e) { + for (var r = 0; r < e.length; ++r) if (!d(t, e[r])) return !1; + return !0; + } + function m(t) { + switch (t.length) { + case 1: + return { x: (e = t[0]).x, y: e.y, r: e.r }; + case 2: + return v(t[0], t[1]); + case 3: + return y(t[0], t[1], t[2]); + } + var e; + } + function v(t, e) { + var r = t.x, + n = t.y, + i = t.r, + a = e.x, + o = e.y, + s = e.r, + l = a - r, + c = o - n, + u = s - i, + f = Math.sqrt(l * l + c * c); + return { + x: (r + a + (l / f) * u) / 2, + y: (n + o + (c / f) * u) / 2, + r: (f + i + s) / 2, + }; + } + function y(t, e, r) { + var n = t.x, + i = t.y, + a = t.r, + o = e.x, + s = e.y, + l = e.r, + c = r.x, + u = r.y, + f = r.r, + h = n - o, + p = n - c, + d = i - s, + g = i - u, + m = l - a, + v = f - a, + y = n * n + i * i - a * a, + x = y - o * o - s * s + l * l, + b = y - c * c - u * u + f * f, + _ = p * d - h * g, + w = (d * b - g * x) / (2 * _) - n, + T = (g * m - d * v) / _, + k = (p * x - h * b) / (2 * _) - i, + M = (h * v - p * m) / _, + A = T * T + M * M - 1, + S = 2 * (a + w * T + k * M), + E = w * w + k * k - a * a, + C = -(A ? (S + Math.sqrt(S * S - 4 * A * E)) / (2 * A) : E / S); + return { x: n + w + T * C, y: i + k + M * C, r: C }; + } + function x(t, e, r) { + var n, + i, + a, + o, + s = t.x - e.x, + l = t.y - e.y, + c = s * s + l * l; + c + ? ((i = e.r + r.r), + (i *= i), + (o = t.r + r.r), + i > (o *= o) + ? ((n = (c + o - i) / (2 * c)), + (a = Math.sqrt(Math.max(0, o / c - n * n))), + (r.x = t.x - n * s - a * l), + (r.y = t.y - n * l + a * s)) + : ((n = (c + i - o) / (2 * c)), + (a = Math.sqrt(Math.max(0, i / c - n * n))), + (r.x = e.x + n * s - a * l), + (r.y = e.y + n * l + a * s))) + : ((r.x = e.x + r.r), (r.y = e.y)); + } + function b(t, e) { + var r = t.r + e.r - 1e-6, + n = e.x - t.x, + i = e.y - t.y; + return r > 0 && r * r > n * n + i * i; + } + function _(t) { + var e = t._, + r = t.next._, + n = e.r + r.r, + i = (e.x * r.r + r.x * e.r) / n, + a = (e.y * r.r + r.y * e.r) / n; + return i * i + a * a; + } + function w(t) { + (this._ = t), (this.next = null), (this.previous = null); + } + function T(t) { + if (!(i = t.length)) return 0; + var e, r, n, i, a, o, s, l, c, u, h; + if ((((e = t[0]).x = 0), (e.y = 0), !(i > 1))) return e.r; + if (((r = t[1]), (e.x = -r.r), (r.x = e.r), (r.y = 0), !(i > 2))) + return e.r + r.r; + x(r, e, (n = t[2])), + (e = new w(e)), + (r = new w(r)), + (n = new w(n)), + (e.next = n.previous = r), + (r.next = e.previous = n), + (n.next = r.previous = e); + t: for (s = 3; s < i; ++s) { + x(e._, r._, (n = t[s])), + (n = new w(n)), + (l = r.next), + (c = e.previous), + (u = r._.r), + (h = e._.r); + do { + if (u <= h) { + if (b(l._, n._)) { + (r = l), (e.next = r), (r.previous = e), --s; + continue t; + } + (u += l._.r), (l = l.next); + } else { + if (b(c._, n._)) { + ((e = c).next = r), (r.previous = e), --s; + continue t; + } + (h += c._.r), (c = c.previous); + } + } while (l !== c.next); + for ( + n.previous = e, + n.next = r, + e.next = r.previous = r = n, + a = _(e); + (n = n.next) !== r; + + ) + (o = _(n)) < a && ((e = n), (a = o)); + r = e.next; + } + for (e = [r._], n = r; (n = n.next) !== r; ) e.push(n._); + for (n = f(e), s = 0; s < i; ++s) + ((e = t[s]).x -= n.x), (e.y -= n.y); + return n.r; + } + function k(t) { + return null == t ? null : M(t); + } + function M(t) { + if ('function' != typeof t) throw new Error(); + return t; + } + function A() { + return 0; + } + function S(t) { + return function () { + return t; + }; + } + function E(t) { + return Math.sqrt(t.value); + } + function C(t) { + return function (e) { + e.children || (e.r = Math.max(0, +t(e) || 0)); + }; + } + function L(t, e) { + return function (r) { + if ((n = r.children)) { + var n, + i, + a, + o = n.length, + s = t(r) * e || 0; + if (s) for (i = 0; i < o; ++i) n[i].r += s; + if (((a = T(n)), s)) for (i = 0; i < o; ++i) n[i].r -= s; + r.r = a + s; + } + }; + } + function I(t) { + return function (e) { + var r = e.parent; + (e.r *= t), r && ((e.x = r.x + t * e.x), (e.y = r.y + t * e.y)); + }; + } + function P(t) { + (t.x0 = Math.round(t.x0)), + (t.y0 = Math.round(t.y0)), + (t.x1 = Math.round(t.x1)), + (t.y1 = Math.round(t.y1)); + } + function z(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + c = t.value && (n - e) / t.value; + ++s < l; + + ) + ((a = o[s]).y0 = r), + (a.y1 = i), + (a.x0 = e), + (a.x1 = e += a.value * c); + } + var O = { depth: -1 }, + D = {}; + function R(t) { + return t.id; + } + function F(t) { + return t.parentId; + } + function B(t, e) { + return t.parent === e.parent ? 1 : 2; + } + function N(t) { + var e = t.children; + return e ? e[0] : t.t; + } + function j(t) { + var e = t.children; + return e ? e[e.length - 1] : t.t; + } + function U(t, e, r) { + var n = r / (e.i - t.i); + (e.c -= n), (e.s += r), (t.c += n), (e.z += r), (e.m += r); + } + function V(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function q(t, e) { + (this._ = t), + (this.parent = null), + (this.children = null), + (this.A = null), + (this.a = this), + (this.z = 0), + (this.m = 0), + (this.c = 0), + (this.s = 0), + (this.t = null), + (this.i = e); + } + function H(t, e, r, n, i) { + for ( + var a, + o = t.children, + s = -1, + l = o.length, + c = t.value && (i - r) / t.value; + ++s < l; + + ) + ((a = o[s]).x0 = e), + (a.x1 = n), + (a.y0 = r), + (a.y1 = r += a.value * c); + } + q.prototype = Object.create(c.prototype); + var G = (1 + Math.sqrt(5)) / 2; + function Y(t, e, r, n, i, a) { + for ( + var o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v = [], + y = e.children, + x = 0, + b = 0, + _ = y.length, + w = e.value; + x < _; + + ) { + (l = i - r), (c = a - n); + do { + u = y[b++].value; + } while (!u && b < _); + for ( + f = h = u, + m = u * u * (g = Math.max(c / l, l / c) / (w * t)), + d = Math.max(h / m, m / f); + b < _; + ++b + ) { + if ( + ((u += s = y[b].value), + s < f && (f = s), + s > h && (h = s), + (m = u * u * g), + (p = Math.max(h / m, m / f)) > d) + ) { + u -= s; + break; + } + d = p; + } + v.push( + (o = { value: u, dice: l < c, children: y.slice(x, b) }) + ), + o.dice + ? z(o, r, n, i, w ? (n += (c * u) / w) : a) + : H(o, r, n, w ? (r += (l * u) / w) : i, a), + (w -= u), + (x = b); + } + return v; + } + var W = (function t(e) { + function r(t, r, n, i, a) { + Y(e, t, r, n, i, a); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(G); + var X = (function t(e) { + function r(t, r, n, i, a) { + if ((o = t._squarify) && o.ratio === e) + for ( + var o, s, l, c, u, f = -1, h = o.length, p = t.value; + ++f < h; + + ) { + for ( + l = (s = o[f]).children, c = s.value = 0, u = l.length; + c < u; + ++c + ) + s.value += l[c].value; + s.dice + ? z(s, r, n, i, (n += ((a - n) * s.value) / p)) + : H(s, r, n, (r += ((i - r) * s.value) / p), a), + (p -= s.value); + } + else (t._squarify = o = Y(e, t, r, n, i, a)), (o.ratio = e); + } + return ( + (r.ratio = function (e) { + return t((e = +e) > 1 ? e : 1); + }), + r + ); + })(G); + (t.cluster = function () { + var t = e, + i = 1, + a = 1, + o = !1; + function s(e) { + var s, + l = 0; + e.eachAfter(function (e) { + var i = e.children; + i + ? ((e.x = (function (t) { + return t.reduce(r, 0) / t.length; + })(i)), + (e.y = (function (t) { + return 1 + t.reduce(n, 0); + })(i))) + : ((e.x = s ? (l += t(e, s)) : 0), (e.y = 0), (s = e)); + }); + var c = (function (t) { + for (var e; (e = t.children); ) t = e[0]; + return t; + })(e), + u = (function (t) { + for (var e; (e = t.children); ) t = e[e.length - 1]; + return t; + })(e), + f = c.x - t(c, u) / 2, + h = u.x + t(u, c) / 2; + return e.eachAfter( + o + ? function (t) { + (t.x = (t.x - e.x) * i), (t.y = (e.y - t.y) * a); + } + : function (t) { + (t.x = ((t.x - f) / (h - f)) * i), + (t.y = (1 - (e.y ? t.y / e.y : 1)) * a); + } + ); + } + return ( + (s.separation = function (e) { + return arguments.length ? ((t = e), s) : t; + }), + (s.size = function (t) { + return arguments.length + ? ((o = !1), (i = +t[0]), (a = +t[1]), s) + : o + ? null + : [i, a]; + }), + (s.nodeSize = function (t) { + return arguments.length + ? ((o = !0), (i = +t[0]), (a = +t[1]), s) + : o + ? [i, a] + : null; + }), + s + ); + }), + (t.hierarchy = a), + (t.pack = function () { + var t = null, + e = 1, + r = 1, + n = A; + function i(i) { + return ( + (i.x = e / 2), + (i.y = r / 2), + t + ? i.eachBefore(C(t)).eachAfter(L(n, 0.5)).eachBefore(I(1)) + : i + .eachBefore(C(E)) + .eachAfter(L(A, 1)) + .eachAfter(L(n, i.r / Math.min(e, r))) + .eachBefore(I(Math.min(e, r) / (2 * i.r))), + i + ); + } + return ( + (i.radius = function (e) { + return arguments.length ? ((t = k(e)), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((e = +t[0]), (r = +t[1]), i) + : [e, r]; + }), + (i.padding = function (t) { + return arguments.length + ? ((n = 'function' == typeof t ? t : S(+t)), i) + : n; + }), + i + ); + }), + (t.packEnclose = f), + (t.packSiblings = function (t) { + return T(t), t; + }), + (t.partition = function () { + var t = 1, + e = 1, + r = 0, + n = !1; + function i(i) { + var a = i.height + 1; + return ( + (i.x0 = i.y0 = r), + (i.x1 = t), + (i.y1 = e / a), + i.eachBefore( + (function (t, e) { + return function (n) { + n.children && + z( + n, + n.x0, + (t * (n.depth + 1)) / e, + n.x1, + (t * (n.depth + 2)) / e + ); + var i = n.x0, + a = n.y0, + o = n.x1 - r, + s = n.y1 - r; + o < i && (i = o = (i + o) / 2), + s < a && (a = s = (a + s) / 2), + (n.x0 = i), + (n.y0 = a), + (n.x1 = o), + (n.y1 = s); + }; + })(e, a) + ), + n && i.eachBefore(P), + i + ); + } + return ( + (i.round = function (t) { + return arguments.length ? ((n = !!t), i) : n; + }), + (i.size = function (r) { + return arguments.length + ? ((t = +r[0]), (e = +r[1]), i) + : [t, e]; + }), + (i.padding = function (t) { + return arguments.length ? ((r = +t), i) : r; + }), + i + ); + }), + (t.stratify = function () { + var t = R, + e = F; + function r(r) { + var n, + i, + a, + o, + s, + u, + f, + h = r.length, + p = new Array(h), + d = {}; + for (i = 0; i < h; ++i) + (n = r[i]), + (s = p[i] = new c(n)), + null != (u = t(n, i, r)) && + (u += '') && + (d[(f = '$' + (s.id = u))] = f in d ? D : s); + for (i = 0; i < h; ++i) + if ( + ((s = p[i]), null != (u = e(r[i], i, r)) && (u += '')) + ) { + if (!(o = d['$' + u])) throw new Error('missing: ' + u); + if (o === D) throw new Error('ambiguous: ' + u); + o.children ? o.children.push(s) : (o.children = [s]), + (s.parent = o); + } else { + if (a) throw new Error('multiple roots'); + a = s; + } + if (!a) throw new Error('no root'); + if ( + ((a.parent = O), + a + .eachBefore(function (t) { + (t.depth = t.parent.depth + 1), --h; + }) + .eachBefore(l), + (a.parent = null), + h > 0) + ) + throw new Error('cycle'); + return a; + } + return ( + (r.id = function (e) { + return arguments.length ? ((t = M(e)), r) : t; + }), + (r.parentId = function (t) { + return arguments.length ? ((e = M(t)), r) : e; + }), + r + ); + }), + (t.tree = function () { + var t = B, + e = 1, + r = 1, + n = null; + function i(i) { + var l = (function (t) { + for ( + var e, r, n, i, a, o = new q(t, 0), s = [o]; + (e = s.pop()); + + ) + if ((n = e._.children)) + for ( + e.children = new Array((a = n.length)), i = a - 1; + i >= 0; + --i + ) + s.push((r = e.children[i] = new q(n[i], i))), + (r.parent = e); + return ((o.parent = new q(null, 0)).children = [o]), o; + })(i); + if ((l.eachAfter(a), (l.parent.m = -l.z), l.eachBefore(o), n)) + i.eachBefore(s); + else { + var c = i, + u = i, + f = i; + i.eachBefore(function (t) { + t.x < c.x && (c = t), + t.x > u.x && (u = t), + t.depth > f.depth && (f = t); + }); + var h = c === u ? 1 : t(c, u) / 2, + p = h - c.x, + d = e / (u.x + h + p), + g = r / (f.depth || 1); + i.eachBefore(function (t) { + (t.x = (t.x + p) * d), (t.y = t.depth * g); + }); + } + return i; + } + function a(e) { + var r = e.children, + n = e.parent.children, + i = e.i ? n[e.i - 1] : null; + if (r) { + !(function (t) { + for ( + var e, r = 0, n = 0, i = t.children, a = i.length; + --a >= 0; + + ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(e); + var a = (r[0].z + r[r.length - 1].z) / 2; + i + ? ((e.z = i.z + t(e._, i._)), (e.m = e.z - a)) + : (e.z = a); + } else i && (e.z = i.z + t(e._, i._)); + e.parent.A = (function (e, r, n) { + if (r) { + for ( + var i, + a = e, + o = e, + s = r, + l = a.parent.children[0], + c = a.m, + u = o.m, + f = s.m, + h = l.m; + (s = j(s)), (a = N(a)), s && a; + + ) + (l = N(l)), + ((o = j(o)).a = e), + (i = s.z + f - a.z - c + t(s._, a._)) > 0 && + (U(V(s, e, n), e, i), (c += i), (u += i)), + (f += s.m), + (c += a.m), + (h += l.m), + (u += o.m); + s && !j(o) && ((o.t = s), (o.m += f - u)), + a && !N(l) && ((l.t = a), (l.m += c - h), (n = e)); + } + return n; + })(e, i, e.parent.A || n[0]); + } + function o(t) { + (t._.x = t.z + t.parent.m), (t.m += t.parent.m); + } + function s(t) { + (t.x *= e), (t.y = t.depth * r); + } + return ( + (i.separation = function (e) { + return arguments.length ? ((t = e), i) : t; + }), + (i.size = function (t) { + return arguments.length + ? ((n = !1), (e = +t[0]), (r = +t[1]), i) + : n + ? null + : [e, r]; + }), + (i.nodeSize = function (t) { + return arguments.length + ? ((n = !0), (e = +t[0]), (r = +t[1]), i) + : n + ? [e, r] + : null; + }), + i + ); + }), + (t.treemap = function () { + var t = W, + e = !1, + r = 1, + n = 1, + i = [0], + a = A, + o = A, + s = A, + l = A, + c = A; + function u(t) { + return ( + (t.x0 = t.y0 = 0), + (t.x1 = r), + (t.y1 = n), + t.eachBefore(f), + (i = [0]), + e && t.eachBefore(P), + t + ); + } + function f(e) { + var r = i[e.depth], + n = e.x0 + r, + u = e.y0 + r, + f = e.x1 - r, + h = e.y1 - r; + f < n && (n = f = (n + f) / 2), + h < u && (u = h = (u + h) / 2), + (e.x0 = n), + (e.y0 = u), + (e.x1 = f), + (e.y1 = h), + e.children && + ((r = i[e.depth + 1] = a(e) / 2), + (n += c(e) - r), + (u += o(e) - r), + (f -= s(e) - r) < n && (n = f = (n + f) / 2), + (h -= l(e) - r) < u && (u = h = (u + h) / 2), + t(e, n, u, f, h)); + } + return ( + (u.round = function (t) { + return arguments.length ? ((e = !!t), u) : e; + }), + (u.size = function (t) { + return arguments.length + ? ((r = +t[0]), (n = +t[1]), u) + : [r, n]; + }), + (u.tile = function (e) { + return arguments.length ? ((t = M(e)), u) : t; + }), + (u.padding = function (t) { + return arguments.length + ? u.paddingInner(t).paddingOuter(t) + : u.paddingInner(); + }), + (u.paddingInner = function (t) { + return arguments.length + ? ((a = 'function' == typeof t ? t : S(+t)), u) + : a; + }), + (u.paddingOuter = function (t) { + return arguments.length + ? u + .paddingTop(t) + .paddingRight(t) + .paddingBottom(t) + .paddingLeft(t) + : u.paddingTop(); + }), + (u.paddingTop = function (t) { + return arguments.length + ? ((o = 'function' == typeof t ? t : S(+t)), u) + : o; + }), + (u.paddingRight = function (t) { + return arguments.length + ? ((s = 'function' == typeof t ? t : S(+t)), u) + : s; + }), + (u.paddingBottom = function (t) { + return arguments.length + ? ((l = 'function' == typeof t ? t : S(+t)), u) + : l; + }), + (u.paddingLeft = function (t) { + return arguments.length + ? ((c = 'function' == typeof t ? t : S(+t)), u) + : c; + }), + u + ); + }), + (t.treemapBinary = function (t, e, r, n, i) { + var a, + o, + s = t.children, + l = s.length, + c = new Array(l + 1); + for (c[0] = o = a = 0; a < l; ++a) c[a + 1] = o += s[a].value; + !(function t(e, r, n, i, a, o, l) { + if (e >= r - 1) { + var u = s[e]; + return (u.x0 = i), (u.y0 = a), (u.x1 = o), void (u.y1 = l); + } + var f = c[e], + h = n / 2 + f, + p = e + 1, + d = r - 1; + for (; p < d; ) { + var g = (p + d) >>> 1; + c[g] < h ? (p = g + 1) : (d = g); + } + h - c[p - 1] < c[p] - h && e + 1 < p && --p; + var m = c[p] - f, + v = n - m; + if (o - i > l - a) { + var y = (i * v + o * m) / n; + t(e, p, m, i, a, y, l), t(p, r, v, y, a, o, l); + } else { + var x = (a * v + l * m) / n; + t(e, p, m, i, a, o, x), t(p, r, v, i, x, o, l); + } + })(0, l, t.value, e, r, n, i); + }), + (t.treemapDice = z), + (t.treemapResquarify = X), + (t.treemapSlice = H), + (t.treemapSliceDice = function (t, e, r, n, i) { + (1 & t.depth ? H : z)(t, e, r, n, i); + }), + (t.treemapSquarify = W), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 162: [ + function (t, e, r) { + !(function (n, i) { + 'object' == typeof r && 'undefined' != typeof e + ? i(r, t('d3-color')) + : i(((n = n || self).d3 = n.d3 || {}), n.d3); + })(this, function (t, e) { + 'use strict'; + function r(t, e, r, n, i) { + var a = t * t, + o = a * t; + return ( + ((1 - 3 * t + 3 * a - o) * e + + (4 - 6 * a + 3 * o) * r + + (1 + 3 * t + 3 * a - 3 * o) * n + + o * i) / + 6 + ); + } + function n(t) { + var e = t.length - 1; + return function (n) { + var i = + n <= 0 + ? (n = 0) + : n >= 1 + ? ((n = 1), e - 1) + : Math.floor(n * e), + a = t[i], + o = t[i + 1], + s = i > 0 ? t[i - 1] : 2 * a - o, + l = i < e - 1 ? t[i + 2] : 2 * o - a; + return r((n - i / e) * e, s, a, o, l); + }; + } + function i(t) { + var e = t.length; + return function (n) { + var i = Math.floor(((n %= 1) < 0 ? ++n : n) * e), + a = t[(i + e - 1) % e], + o = t[i % e], + s = t[(i + 1) % e], + l = t[(i + 2) % e]; + return r((n - i / e) * e, a, o, s, l); + }; + } + function a(t) { + return function () { + return t; + }; + } + function o(t, e) { + return function (r) { + return t + r * e; + }; + } + function s(t, e) { + var r = e - t; + return r + ? o(t, r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r) + : a(isNaN(t) ? e : t); + } + function l(t) { + return 1 == (t = +t) + ? c + : function (e, r) { + return r - e + ? (function (t, e, r) { + return ( + (t = Math.pow(t, r)), + (e = Math.pow(e, r) - t), + (r = 1 / r), + function (n) { + return Math.pow(t + n * e, r); + } + ); + })(e, r, t) + : a(isNaN(e) ? r : e); + }; + } + function c(t, e) { + var r = e - t; + return r ? o(t, r) : a(isNaN(t) ? e : t); + } + var u = (function t(r) { + var n = l(r); + function i(t, r) { + var i = n((t = e.rgb(t)).r, (r = e.rgb(r)).r), + a = n(t.g, r.g), + o = n(t.b, r.b), + s = c(t.opacity, r.opacity); + return function (e) { + return ( + (t.r = i(e)), + (t.g = a(e)), + (t.b = o(e)), + (t.opacity = s(e)), + t + '' + ); + }; + } + return (i.gamma = t), i; + })(1); + function f(t) { + return function (r) { + var n, + i, + a = r.length, + o = new Array(a), + s = new Array(a), + l = new Array(a); + for (n = 0; n < a; ++n) + (i = e.rgb(r[n])), + (o[n] = i.r || 0), + (s[n] = i.g || 0), + (l[n] = i.b || 0); + return ( + (o = t(o)), + (s = t(s)), + (l = t(l)), + (i.opacity = 1), + function (t) { + return (i.r = o(t)), (i.g = s(t)), (i.b = l(t)), i + ''; + } + ); + }; + } + var h = f(n), + p = f(i); + function d(t, e) { + e || (e = []); + var r, + n = t ? Math.min(e.length, t.length) : 0, + i = e.slice(); + return function (a) { + for (r = 0; r < n; ++r) i[r] = t[r] * (1 - a) + e[r] * a; + return i; + }; + } + function g(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView); + } + function m(t, e) { + var r, + n = e ? e.length : 0, + i = t ? Math.min(n, t.length) : 0, + a = new Array(i), + o = new Array(n); + for (r = 0; r < i; ++r) a[r] = T(t[r], e[r]); + for (; r < n; ++r) o[r] = e[r]; + return function (t) { + for (r = 0; r < i; ++r) o[r] = a[r](t); + return o; + }; + } + function v(t, e) { + var r = new Date(); + return ( + (t = +t), + (e = +e), + function (n) { + return r.setTime(t * (1 - n) + e * n), r; + } + ); + } + function y(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function x(t, e) { + var r, + n = {}, + i = {}; + for (r in ((null !== t && 'object' == typeof t) || (t = {}), + (null !== e && 'object' == typeof e) || (e = {}), + e)) + r in t ? (n[r] = T(t[r], e[r])) : (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + } + var b = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + _ = new RegExp(b.source, 'g'); + function w(t, e) { + var r, + n, + i, + a = (b.lastIndex = _.lastIndex = 0), + o = -1, + s = [], + l = []; + for (t += '', e += ''; (r = b.exec(t)) && (n = _.exec(e)); ) + (i = n.index) > a && + ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), + (r = r[0]) === (n = n[0]) + ? s[o] + ? (s[o] += n) + : (s[++o] = n) + : ((s[++o] = null), l.push({ i: o, x: y(r, n) })), + (a = _.lastIndex); + return ( + a < e.length && + ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), + s.length < 2 + ? l[0] + ? (function (t) { + return function (e) { + return t(e) + ''; + }; + })(l[0].x) + : (function (t) { + return function () { + return t; + }; + })(e) + : ((e = l.length), + function (t) { + for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); + return s.join(''); + }) + ); + } + function T(t, r) { + var n, + i = typeof r; + return null == r || 'boolean' === i + ? a(r) + : ('number' === i + ? y + : 'string' === i + ? (n = e.color(r)) + ? ((r = n), u) + : w + : r instanceof e.color + ? u + : r instanceof Date + ? v + : g(r) + ? d + : Array.isArray(r) + ? m + : ('function' != typeof r.valueOf && + 'function' != typeof r.toString) || + isNaN(r) + ? x + : y)(t, r); + } + var k, + M, + A, + S, + E = 180 / Math.PI, + C = { + translateX: 0, + translateY: 0, + rotate: 0, + skewX: 0, + scaleX: 1, + scaleY: 1, + }; + function L(t, e, r, n, i, a) { + var o, s, l; + return ( + (o = Math.sqrt(t * t + e * e)) && ((t /= o), (e /= o)), + (l = t * r + e * n) && ((r -= t * l), (n -= e * l)), + (s = Math.sqrt(r * r + n * n)) && + ((r /= s), (n /= s), (l /= s)), + t * n < e * r && ((t = -t), (e = -e), (l = -l), (o = -o)), + { + translateX: i, + translateY: a, + rotate: Math.atan2(e, t) * E, + skewX: Math.atan(l) * E, + scaleX: o, + scaleY: s, + } + ); + } + function I(t, e, r, n) { + function i(t) { + return t.length ? t.pop() + ' ' : ''; + } + return function (a, o) { + var s = [], + l = []; + return ( + (a = t(a)), + (o = t(o)), + (function (t, n, i, a, o, s) { + if (t !== i || n !== a) { + var l = o.push('translate(', null, e, null, r); + s.push( + { i: l - 4, x: y(t, i) }, + { i: l - 2, x: y(n, a) } + ); + } else (i || a) && o.push('translate(' + i + e + a + r); + })( + a.translateX, + a.translateY, + o.translateX, + o.translateY, + s, + l + ), + (function (t, e, r, a) { + t !== e + ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), + a.push({ + i: r.push(i(r) + 'rotate(', null, n) - 2, + x: y(t, e), + })) + : e && r.push(i(r) + 'rotate(' + e + n); + })(a.rotate, o.rotate, s, l), + (function (t, e, r, a) { + t !== e + ? a.push({ + i: r.push(i(r) + 'skewX(', null, n) - 2, + x: y(t, e), + }) + : e && r.push(i(r) + 'skewX(' + e + n); + })(a.skewX, o.skewX, s, l), + (function (t, e, r, n, a, o) { + if (t !== r || e !== n) { + var s = a.push(i(a) + 'scale(', null, ',', null, ')'); + o.push( + { i: s - 4, x: y(t, r) }, + { i: s - 2, x: y(e, n) } + ); + } else + (1 === r && 1 === n) || + a.push(i(a) + 'scale(' + r + ',' + n + ')'); + })(a.scaleX, a.scaleY, o.scaleX, o.scaleY, s, l), + (a = o = null), + function (t) { + for (var e, r = -1, n = l.length; ++r < n; ) + s[(e = l[r]).i] = e.x(t); + return s.join(''); + } + ); + }; + } + var P = I( + function (t) { + return 'none' === t + ? C + : (k || + ((k = document.createElement('DIV')), + (M = document.documentElement), + (A = document.defaultView)), + (k.style.transform = t), + (t = A.getComputedStyle( + M.appendChild(k), + null + ).getPropertyValue('transform')), + M.removeChild(k), + L( + +(t = t.slice(7, -1).split(','))[0], + +t[1], + +t[2], + +t[3], + +t[4], + +t[5] + )); + }, + 'px, ', + 'px)', + 'deg)' + ), + z = I( + function (t) { + return null == t + ? C + : (S || + (S = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'g' + )), + S.setAttribute('transform', t), + (t = S.transform.baseVal.consolidate()) + ? L((t = t.matrix).a, t.b, t.c, t.d, t.e, t.f) + : C); + }, + ', ', + ')', + ')' + ), + O = Math.SQRT2; + function D(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + function R(t) { + return function (r, n) { + var i = t((r = e.hsl(r)).h, (n = e.hsl(n)).h), + a = c(r.s, n.s), + o = c(r.l, n.l), + s = c(r.opacity, n.opacity); + return function (t) { + return ( + (r.h = i(t)), + (r.s = a(t)), + (r.l = o(t)), + (r.opacity = s(t)), + r + '' + ); + }; + }; + } + var F = R(s), + B = R(c); + function N(t) { + return function (r, n) { + var i = t((r = e.hcl(r)).h, (n = e.hcl(n)).h), + a = c(r.c, n.c), + o = c(r.l, n.l), + s = c(r.opacity, n.opacity); + return function (t) { + return ( + (r.h = i(t)), + (r.c = a(t)), + (r.l = o(t)), + (r.opacity = s(t)), + r + '' + ); + }; + }; + } + var j = N(s), + U = N(c); + function V(t) { + return (function r(n) { + function i(r, i) { + var a = t((r = e.cubehelix(r)).h, (i = e.cubehelix(i)).h), + o = c(r.s, i.s), + s = c(r.l, i.l), + l = c(r.opacity, i.opacity); + return function (t) { + return ( + (r.h = a(t)), + (r.s = o(t)), + (r.l = s(Math.pow(t, n))), + (r.opacity = l(t)), + r + '' + ); + }; + } + return (n = +n), (i.gamma = r), i; + })(1); + } + var q = V(s), + H = V(c); + (t.interpolate = T), + (t.interpolateArray = function (t, e) { + return (g(e) ? d : m)(t, e); + }), + (t.interpolateBasis = n), + (t.interpolateBasisClosed = i), + (t.interpolateCubehelix = q), + (t.interpolateCubehelixLong = H), + (t.interpolateDate = v), + (t.interpolateDiscrete = function (t) { + var e = t.length; + return function (r) { + return t[Math.max(0, Math.min(e - 1, Math.floor(r * e)))]; + }; + }), + (t.interpolateHcl = j), + (t.interpolateHclLong = U), + (t.interpolateHsl = F), + (t.interpolateHslLong = B), + (t.interpolateHue = function (t, e) { + var r = s(+t, +e); + return function (t) { + var e = r(t); + return e - 360 * Math.floor(e / 360); + }; + }), + (t.interpolateLab = function (t, r) { + var n = c((t = e.lab(t)).l, (r = e.lab(r)).l), + i = c(t.a, r.a), + a = c(t.b, r.b), + o = c(t.opacity, r.opacity); + return function (e) { + return ( + (t.l = n(e)), + (t.a = i(e)), + (t.b = a(e)), + (t.opacity = o(e)), + t + '' + ); + }; + }), + (t.interpolateNumber = y), + (t.interpolateNumberArray = d), + (t.interpolateObject = x), + (t.interpolateRgb = u), + (t.interpolateRgbBasis = h), + (t.interpolateRgbBasisClosed = p), + (t.interpolateRound = function (t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return Math.round(t * (1 - r) + e * r); + } + ); + }), + (t.interpolateString = w), + (t.interpolateTransformCss = P), + (t.interpolateTransformSvg = z), + (t.interpolateZoom = function (t, e) { + var r, + n, + i = t[0], + a = t[1], + o = t[2], + s = e[0], + l = e[1], + c = e[2], + u = s - i, + f = l - a, + h = u * u + f * f; + if (h < 1e-12) + (n = Math.log(c / o) / O), + (r = function (t) { + return [i + t * u, a + t * f, o * Math.exp(O * t * n)]; + }); + else { + var p = Math.sqrt(h), + d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), + g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), + m = Math.log(Math.sqrt(d * d + 1) - d), + v = Math.log(Math.sqrt(g * g + 1) - g); + (n = (v - m) / O), + (r = function (t) { + var e, + r = t * n, + s = D(m), + l = + (o / (2 * p)) * + (s * + ((e = O * r + m), + ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(m)); + return [i + l * u, a + l * f, (o * s) / D(O * r + m)]; + }); + } + return (r.duration = 1e3 * n), r; + }), + (t.piecewise = function (t, e) { + for ( + var r = 0, + n = e.length - 1, + i = e[0], + a = new Array(n < 0 ? 0 : n); + r < n; + + ) + a[r] = t(i, (i = e[++r])); + return function (t) { + var e = Math.max(0, Math.min(n - 1, Math.floor((t *= n)))); + return a[e](t - e); + }; + }), + (t.quantize = function (t, e) { + for (var r = new Array(e), n = 0; n < e; ++n) + r[n] = t(n / (e - 1)); + return r; + }), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { 'd3-color': 158 }, + ], + 163: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + var e = Math.PI, + r = 2 * e, + n = r - 1e-6; + function i() { + (this._x0 = this._y0 = this._x1 = this._y1 = null), (this._ = ''); + } + function a() { + return new i(); + } + (i.prototype = a.prototype = + { + constructor: i, + moveTo: function (t, e) { + this._ += + 'M' + + (this._x0 = this._x1 = +t) + + ',' + + (this._y0 = this._y1 = +e); + }, + closePath: function () { + null !== this._x1 && + ((this._x1 = this._x0), + (this._y1 = this._y0), + (this._ += 'Z')); + }, + lineTo: function (t, e) { + this._ += 'L' + (this._x1 = +t) + ',' + (this._y1 = +e); + }, + quadraticCurveTo: function (t, e, r, n) { + this._ += + 'Q' + + +t + + ',' + + +e + + ',' + + (this._x1 = +r) + + ',' + + (this._y1 = +n); + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._ += + 'C' + + +t + + ',' + + +e + + ',' + + +r + + ',' + + +n + + ',' + + (this._x1 = +i) + + ',' + + (this._y1 = +a); + }, + arcTo: function (t, r, n, i, a) { + (t = +t), (r = +r), (n = +n), (i = +i), (a = +a); + var o = this._x1, + s = this._y1, + l = n - t, + c = i - r, + u = o - t, + f = s - r, + h = u * u + f * f; + if (a < 0) throw new Error('negative radius: ' + a); + if (null === this._x1) + this._ += 'M' + (this._x1 = t) + ',' + (this._y1 = r); + else if (h > 1e-6) + if (Math.abs(f * l - c * u) > 1e-6 && a) { + var p = n - o, + d = i - s, + g = l * l + c * c, + m = p * p + d * d, + v = Math.sqrt(g), + y = Math.sqrt(h), + x = + a * + Math.tan( + (e - Math.acos((g + h - m) / (2 * v * y))) / 2 + ), + b = x / y, + _ = x / v; + Math.abs(b - 1) > 1e-6 && + (this._ += 'L' + (t + b * u) + ',' + (r + b * f)), + (this._ += + 'A' + + a + + ',' + + a + + ',0,0,' + + +(f * p > u * d) + + ',' + + (this._x1 = t + _ * l) + + ',' + + (this._y1 = r + _ * c)); + } else + this._ += 'L' + (this._x1 = t) + ',' + (this._y1 = r); + else; + }, + arc: function (t, i, a, o, s, l) { + (t = +t), (i = +i), (l = !!l); + var c = (a = +a) * Math.cos(o), + u = a * Math.sin(o), + f = t + c, + h = i + u, + p = 1 ^ l, + d = l ? o - s : s - o; + if (a < 0) throw new Error('negative radius: ' + a); + null === this._x1 + ? (this._ += 'M' + f + ',' + h) + : (Math.abs(this._x1 - f) > 1e-6 || + Math.abs(this._y1 - h) > 1e-6) && + (this._ += 'L' + f + ',' + h), + a && + (d < 0 && (d = (d % r) + r), + d > n + ? (this._ += + 'A' + + a + + ',' + + a + + ',0,1,' + + p + + ',' + + (t - c) + + ',' + + (i - u) + + 'A' + + a + + ',' + + a + + ',0,1,' + + p + + ',' + + (this._x1 = f) + + ',' + + (this._y1 = h)) + : d > 1e-6 && + (this._ += + 'A' + + a + + ',' + + a + + ',0,' + + +(d >= e) + + ',' + + p + + ',' + + (this._x1 = t + a * Math.cos(s)) + + ',' + + (this._y1 = i + a * Math.sin(s)))); + }, + rect: function (t, e, r, n) { + this._ += + 'M' + + (this._x0 = this._x1 = +t) + + ',' + + (this._y0 = this._y1 = +e) + + 'h' + + +r + + 'v' + + +n + + 'h' + + -r + + 'Z'; + }, + toString: function () { + return this._; + }, + }), + (t.path = a), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 164: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + function e(t, e, r, n) { + if (isNaN(e) || isNaN(r)) return t; + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p = t._root, + d = { data: n }, + g = t._x0, + m = t._y0, + v = t._x1, + y = t._y1; + if (!p) return (t._root = d), t; + for (; p.length; ) + if ( + ((c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), + (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o), + (i = p), + !(p = p[(f = (u << 1) | c)])) + ) + return (i[f] = d), t; + if ( + ((s = +t._x.call(null, p.data)), + (l = +t._y.call(null, p.data)), + e === s && r === l) + ) + return (d.next = p), i ? (i[f] = d) : (t._root = d), t; + do { + (i = i ? (i[f] = new Array(4)) : (t._root = new Array(4))), + (c = e >= (a = (g + v) / 2)) ? (g = a) : (v = a), + (u = r >= (o = (m + y) / 2)) ? (m = o) : (y = o); + } while ((f = (u << 1) | c) == (h = ((l >= o) << 1) | (s >= a))); + return (i[h] = p), (i[f] = d), t; + } + function r(t, e, r, n, i) { + (this.node = t), + (this.x0 = e), + (this.y0 = r), + (this.x1 = n), + (this.y1 = i); + } + function n(t) { + return t[0]; + } + function i(t) { + return t[1]; + } + function a(t, e, r) { + var a = new o( + null == e ? n : e, + null == r ? i : r, + NaN, + NaN, + NaN, + NaN + ); + return null == t ? a : a.addAll(t); + } + function o(t, e, r, n, i, a) { + (this._x = t), + (this._y = e), + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + (this._root = void 0); + } + function s(t) { + for (var e = { data: t.data }, r = e; (t = t.next); ) + r = r.next = { data: t.data }; + return e; + } + var l = (a.prototype = o.prototype); + (l.copy = function () { + var t, + e, + r = new o( + this._x, + this._y, + this._x0, + this._y0, + this._x1, + this._y1 + ), + n = this._root; + if (!n) return r; + if (!n.length) return (r._root = s(n)), r; + for ( + t = [{ source: n, target: (r._root = new Array(4)) }]; + (n = t.pop()); + + ) + for (var i = 0; i < 4; ++i) + (e = n.source[i]) && + (e.length + ? t.push({ + source: e, + target: (n.target[i] = new Array(4)), + }) + : (n.target[i] = s(e))); + return r; + }), + (l.add = function (t) { + var r = +this._x.call(null, t), + n = +this._y.call(null, t); + return e(this.cover(r, n), r, n, t); + }), + (l.addAll = function (t) { + var r, + n, + i, + a, + o = t.length, + s = new Array(o), + l = new Array(o), + c = 1 / 0, + u = 1 / 0, + f = -1 / 0, + h = -1 / 0; + for (n = 0; n < o; ++n) + isNaN((i = +this._x.call(null, (r = t[n])))) || + isNaN((a = +this._y.call(null, r))) || + ((s[n] = i), + (l[n] = a), + i < c && (c = i), + i > f && (f = i), + a < u && (u = a), + a > h && (h = a)); + if (c > f || u > h) return this; + for (this.cover(c, u).cover(f, h), n = 0; n < o; ++n) + e(this, s[n], l[n], t[n]); + return this; + }), + (l.cover = function (t, e) { + if (isNaN((t = +t)) || isNaN((e = +e))) return this; + var r = this._x0, + n = this._y0, + i = this._x1, + a = this._y1; + if (isNaN(r)) + (i = (r = Math.floor(t)) + 1), (a = (n = Math.floor(e)) + 1); + else { + for ( + var o, s, l = i - r, c = this._root; + r > t || t >= i || n > e || e >= a; + + ) + switch ( + ((s = ((e < n) << 1) | (t < r)), + ((o = new Array(4))[s] = c), + (c = o), + (l *= 2), + s) + ) { + case 0: + (i = r + l), (a = n + l); + break; + case 1: + (r = i - l), (a = n + l); + break; + case 2: + (i = r + l), (n = a - l); + break; + case 3: + (r = i - l), (n = a - l); + } + this._root && this._root.length && (this._root = c); + } + return ( + (this._x0 = r), + (this._y0 = n), + (this._x1 = i), + (this._y1 = a), + this + ); + }), + (l.data = function () { + var t = []; + return ( + this.visit(function (e) { + if (!e.length) + do { + t.push(e.data); + } while ((e = e.next)); + }), + t + ); + }), + (l.extent = function (t) { + return arguments.length + ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) + : isNaN(this._x0) + ? void 0 + : [ + [this._x0, this._y0], + [this._x1, this._y1], + ]; + }), + (l.find = function (t, e, n) { + var i, + a, + o, + s, + l, + c, + u, + f = this._x0, + h = this._y0, + p = this._x1, + d = this._y1, + g = [], + m = this._root; + for ( + m && g.push(new r(m, f, h, p, d)), + null == n + ? (n = 1 / 0) + : ((f = t - n), + (h = e - n), + (p = t + n), + (d = e + n), + (n *= n)); + (c = g.pop()); + + ) + if ( + !( + !(m = c.node) || + (a = c.x0) > p || + (o = c.y0) > d || + (s = c.x1) < f || + (l = c.y1) < h + ) + ) + if (m.length) { + var v = (a + s) / 2, + y = (o + l) / 2; + g.push( + new r(m[3], v, y, s, l), + new r(m[2], a, y, v, l), + new r(m[1], v, o, s, y), + new r(m[0], a, o, v, y) + ), + (u = ((e >= y) << 1) | (t >= v)) && + ((c = g[g.length - 1]), + (g[g.length - 1] = g[g.length - 1 - u]), + (g[g.length - 1 - u] = c)); + } else { + var x = t - +this._x.call(null, m.data), + b = e - +this._y.call(null, m.data), + _ = x * x + b * b; + if (_ < n) { + var w = Math.sqrt((n = _)); + (f = t - w), + (h = e - w), + (p = t + w), + (d = e + w), + (i = m.data); + } + } + return i; + }), + (l.remove = function (t) { + if ( + isNaN((a = +this._x.call(null, t))) || + isNaN((o = +this._y.call(null, t))) + ) + return this; + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p = this._root, + d = this._x0, + g = this._y0, + m = this._x1, + v = this._y1; + if (!p) return this; + if (p.length) + for (;;) { + if ( + ((c = a >= (s = (d + m) / 2)) ? (d = s) : (m = s), + (u = o >= (l = (g + v) / 2)) ? (g = l) : (v = l), + (e = p), + !(p = p[(f = (u << 1) | c)])) + ) + return this; + if (!p.length) break; + (e[(f + 1) & 3] || e[(f + 2) & 3] || e[(f + 3) & 3]) && + ((r = e), (h = f)); + } + for (; p.data !== t; ) + if (((n = p), !(p = p.next))) return this; + return ( + (i = p.next) && delete p.next, + n + ? (i ? (n.next = i) : delete n.next, this) + : e + ? (i ? (e[f] = i) : delete e[f], + (p = e[0] || e[1] || e[2] || e[3]) && + p === (e[3] || e[2] || e[1] || e[0]) && + !p.length && + (r ? (r[h] = p) : (this._root = p)), + this) + : ((this._root = i), this) + ); + }), + (l.removeAll = function (t) { + for (var e = 0, r = t.length; e < r; ++e) this.remove(t[e]); + return this; + }), + (l.root = function () { + return this._root; + }), + (l.size = function () { + var t = 0; + return ( + this.visit(function (e) { + if (!e.length) + do { + ++t; + } while ((e = e.next)); + }), + t + ); + }), + (l.visit = function (t) { + var e, + n, + i, + a, + o, + s, + l = [], + c = this._root; + for ( + c && l.push(new r(c, this._x0, this._y0, this._x1, this._y1)); + (e = l.pop()); + + ) + if ( + !t( + (c = e.node), + (i = e.x0), + (a = e.y0), + (o = e.x1), + (s = e.y1) + ) && + c.length + ) { + var u = (i + o) / 2, + f = (a + s) / 2; + (n = c[3]) && l.push(new r(n, u, f, o, s)), + (n = c[2]) && l.push(new r(n, i, f, u, s)), + (n = c[1]) && l.push(new r(n, u, a, o, f)), + (n = c[0]) && l.push(new r(n, i, a, u, f)); + } + return this; + }), + (l.visitAfter = function (t) { + var e, + n = [], + i = []; + for ( + this._root && + n.push( + new r(this._root, this._x0, this._y0, this._x1, this._y1) + ); + (e = n.pop()); + + ) { + var a = e.node; + if (a.length) { + var o, + s = e.x0, + l = e.y0, + c = e.x1, + u = e.y1, + f = (s + c) / 2, + h = (l + u) / 2; + (o = a[0]) && n.push(new r(o, s, l, f, h)), + (o = a[1]) && n.push(new r(o, f, l, c, h)), + (o = a[2]) && n.push(new r(o, s, h, f, u)), + (o = a[3]) && n.push(new r(o, f, h, c, u)); + } + i.push(e); + } + for (; (e = i.pop()); ) t(e.node, e.x0, e.y0, e.x1, e.y1); + return this; + }), + (l.x = function (t) { + return arguments.length ? ((this._x = t), this) : this._x; + }), + (l.y = function (t) { + return arguments.length ? ((this._y = t), this) : this._y; + }), + (t.quadtree = a), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 165: [ + function (t, e, r) { + !(function (n, i) { + 'object' == typeof r && 'undefined' != typeof e + ? i(r, t('d3-path')) + : i(((n = n || self).d3 = n.d3 || {}), n.d3); + })(this, function (t, e) { + 'use strict'; + function r(t) { + return function () { + return t; + }; + } + var n = Math.abs, + i = Math.atan2, + a = Math.cos, + o = Math.max, + s = Math.min, + l = Math.sin, + c = Math.sqrt, + u = Math.PI, + f = u / 2, + h = 2 * u; + function p(t) { + return t > 1 ? 0 : t < -1 ? u : Math.acos(t); + } + function d(t) { + return t >= 1 ? f : t <= -1 ? -f : Math.asin(t); + } + function g(t) { + return t.innerRadius; + } + function m(t) { + return t.outerRadius; + } + function v(t) { + return t.startAngle; + } + function y(t) { + return t.endAngle; + } + function x(t) { + return t && t.padAngle; + } + function b(t, e, r, n, i, a, o, s) { + var l = r - t, + c = n - e, + u = o - i, + f = s - a, + h = f * l - u * c; + if (!(h * h < 1e-12)) + return [ + t + (h = (u * (e - a) - f * (t - i)) / h) * l, + e + h * c, + ]; + } + function _(t, e, r, n, i, a, s) { + var l = t - r, + u = e - n, + f = (s ? a : -a) / c(l * l + u * u), + h = f * u, + p = -f * l, + d = t + h, + g = e + p, + m = r + h, + v = n + p, + y = (d + m) / 2, + x = (g + v) / 2, + b = m - d, + _ = v - g, + w = b * b + _ * _, + T = i - a, + k = d * v - m * g, + M = (_ < 0 ? -1 : 1) * c(o(0, T * T * w - k * k)), + A = (k * _ - b * M) / w, + S = (-k * b - _ * M) / w, + E = (k * _ + b * M) / w, + C = (-k * b + _ * M) / w, + L = A - y, + I = S - x, + P = E - y, + z = C - x; + return ( + L * L + I * I > P * P + z * z && ((A = E), (S = C)), + { + cx: A, + cy: S, + x01: -h, + y01: -p, + x11: A * (i / T - 1), + y11: S * (i / T - 1), + } + ); + } + function w(t) { + this._context = t; + } + function T(t) { + return new w(t); + } + function k(t) { + return t[0]; + } + function M(t) { + return t[1]; + } + function A() { + var t = k, + n = M, + i = r(!0), + a = null, + o = T, + s = null; + function l(r) { + var l, + c, + u, + f = r.length, + h = !1; + for (null == a && (s = o((u = e.path()))), l = 0; l <= f; ++l) + !(l < f && i((c = r[l]), l, r)) === h && + ((h = !h) ? s.lineStart() : s.lineEnd()), + h && s.point(+t(c, l, r), +n(c, l, r)); + if (u) return (s = null), u + '' || null; + } + return ( + (l.x = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(+e)), l) + : t; + }), + (l.y = function (t) { + return arguments.length + ? ((n = 'function' == typeof t ? t : r(+t)), l) + : n; + }), + (l.defined = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : r(!!t)), l) + : i; + }), + (l.curve = function (t) { + return arguments.length + ? ((o = t), null != a && (s = o(a)), l) + : o; + }), + (l.context = function (t) { + return arguments.length + ? (null == t ? (a = s = null) : (s = o((a = t))), l) + : a; + }), + l + ); + } + function S() { + var t = k, + n = null, + i = r(0), + a = M, + o = r(!0), + s = null, + l = T, + c = null; + function u(r) { + var u, + f, + h, + p, + d, + g = r.length, + m = !1, + v = new Array(g), + y = new Array(g); + for (null == s && (c = l((d = e.path()))), u = 0; u <= g; ++u) { + if (!(u < g && o((p = r[u]), u, r)) === m) + if ((m = !m)) (f = u), c.areaStart(), c.lineStart(); + else { + for (c.lineEnd(), c.lineStart(), h = u - 1; h >= f; --h) + c.point(v[h], y[h]); + c.lineEnd(), c.areaEnd(); + } + m && + ((v[u] = +t(p, u, r)), + (y[u] = +i(p, u, r)), + c.point(n ? +n(p, u, r) : v[u], a ? +a(p, u, r) : y[u])); + } + if (d) return (c = null), d + '' || null; + } + function f() { + return A().defined(o).curve(l).context(s); + } + return ( + (u.x = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(+e)), (n = null), u) + : t; + }), + (u.x0 = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(+e)), u) + : t; + }), + (u.x1 = function (t) { + return arguments.length + ? ((n = + null == t ? null : 'function' == typeof t ? t : r(+t)), + u) + : n; + }), + (u.y = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : r(+t)), (a = null), u) + : i; + }), + (u.y0 = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : r(+t)), u) + : i; + }), + (u.y1 = function (t) { + return arguments.length + ? ((a = + null == t ? null : 'function' == typeof t ? t : r(+t)), + u) + : a; + }), + (u.lineX0 = u.lineY0 = + function () { + return f().x(t).y(i); + }), + (u.lineY1 = function () { + return f().x(t).y(a); + }), + (u.lineX1 = function () { + return f().x(n).y(i); + }), + (u.defined = function (t) { + return arguments.length + ? ((o = 'function' == typeof t ? t : r(!!t)), u) + : o; + }), + (u.curve = function (t) { + return arguments.length + ? ((l = t), null != s && (c = l(s)), u) + : l; + }), + (u.context = function (t) { + return arguments.length + ? (null == t ? (s = c = null) : (c = l((s = t))), u) + : s; + }), + u + ); + } + function E(t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + } + function C(t) { + return t; + } + w.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + this._context.lineTo(t, e); + } + }, + }; + var L = P(T); + function I(t) { + this._curve = t; + } + function P(t) { + function e(e) { + return new I(t(e)); + } + return (e._curve = t), e; + } + function z(t) { + var e = t.curve; + return ( + (t.angle = t.x), + delete t.x, + (t.radius = t.y), + delete t.y, + (t.curve = function (t) { + return arguments.length ? e(P(t)) : e()._curve; + }), + t + ); + } + function O() { + return z(A().curve(L)); + } + function D() { + var t = S().curve(L), + e = t.curve, + r = t.lineX0, + n = t.lineX1, + i = t.lineY0, + a = t.lineY1; + return ( + (t.angle = t.x), + delete t.x, + (t.startAngle = t.x0), + delete t.x0, + (t.endAngle = t.x1), + delete t.x1, + (t.radius = t.y), + delete t.y, + (t.innerRadius = t.y0), + delete t.y0, + (t.outerRadius = t.y1), + delete t.y1, + (t.lineStartAngle = function () { + return z(r()); + }), + delete t.lineX0, + (t.lineEndAngle = function () { + return z(n()); + }), + delete t.lineX1, + (t.lineInnerRadius = function () { + return z(i()); + }), + delete t.lineY0, + (t.lineOuterRadius = function () { + return z(a()); + }), + delete t.lineY1, + (t.curve = function (t) { + return arguments.length ? e(P(t)) : e()._curve; + }), + t + ); + } + function R(t, e) { + return [(e = +e) * Math.cos((t -= Math.PI / 2)), e * Math.sin(t)]; + } + I.prototype = { + areaStart: function () { + this._curve.areaStart(); + }, + areaEnd: function () { + this._curve.areaEnd(); + }, + lineStart: function () { + this._curve.lineStart(); + }, + lineEnd: function () { + this._curve.lineEnd(); + }, + point: function (t, e) { + this._curve.point(e * Math.sin(t), e * -Math.cos(t)); + }, + }; + var F = Array.prototype.slice; + function B(t) { + return t.source; + } + function N(t) { + return t.target; + } + function j(t) { + var n = B, + i = N, + a = k, + o = M, + s = null; + function l() { + var r, + l = F.call(arguments), + c = n.apply(this, l), + u = i.apply(this, l); + if ( + (s || (s = r = e.path()), + t( + s, + +a.apply(this, ((l[0] = c), l)), + +o.apply(this, l), + +a.apply(this, ((l[0] = u), l)), + +o.apply(this, l) + ), + r) + ) + return (s = null), r + '' || null; + } + return ( + (l.source = function (t) { + return arguments.length ? ((n = t), l) : n; + }), + (l.target = function (t) { + return arguments.length ? ((i = t), l) : i; + }), + (l.x = function (t) { + return arguments.length + ? ((a = 'function' == typeof t ? t : r(+t)), l) + : a; + }), + (l.y = function (t) { + return arguments.length + ? ((o = 'function' == typeof t ? t : r(+t)), l) + : o; + }), + (l.context = function (t) { + return arguments.length ? ((s = null == t ? null : t), l) : s; + }), + l + ); + } + function U(t, e, r, n, i) { + t.moveTo(e, r), t.bezierCurveTo((e = (e + n) / 2), r, e, i, n, i); + } + function V(t, e, r, n, i) { + t.moveTo(e, r), t.bezierCurveTo(e, (r = (r + i) / 2), n, r, n, i); + } + function q(t, e, r, n, i) { + var a = R(e, r), + o = R(e, (r = (r + i) / 2)), + s = R(n, r), + l = R(n, i); + t.moveTo(a[0], a[1]), + t.bezierCurveTo(o[0], o[1], s[0], s[1], l[0], l[1]); + } + var H = { + draw: function (t, e) { + var r = Math.sqrt(e / u); + t.moveTo(r, 0), t.arc(0, 0, r, 0, h); + }, + }, + G = { + draw: function (t, e) { + var r = Math.sqrt(e / 5) / 2; + t.moveTo(-3 * r, -r), + t.lineTo(-r, -r), + t.lineTo(-r, -3 * r), + t.lineTo(r, -3 * r), + t.lineTo(r, -r), + t.lineTo(3 * r, -r), + t.lineTo(3 * r, r), + t.lineTo(r, r), + t.lineTo(r, 3 * r), + t.lineTo(-r, 3 * r), + t.lineTo(-r, r), + t.lineTo(-3 * r, r), + t.closePath(); + }, + }, + Y = Math.sqrt(1 / 3), + W = 2 * Y, + X = { + draw: function (t, e) { + var r = Math.sqrt(e / W), + n = r * Y; + t.moveTo(0, -r), + t.lineTo(n, 0), + t.lineTo(0, r), + t.lineTo(-n, 0), + t.closePath(); + }, + }, + Z = Math.sin(u / 10) / Math.sin((7 * u) / 10), + J = Math.sin(h / 10) * Z, + K = -Math.cos(h / 10) * Z, + Q = { + draw: function (t, e) { + var r = Math.sqrt(0.8908130915292852 * e), + n = J * r, + i = K * r; + t.moveTo(0, -r), t.lineTo(n, i); + for (var a = 1; a < 5; ++a) { + var o = (h * a) / 5, + s = Math.cos(o), + l = Math.sin(o); + t.lineTo(l * r, -s * r), + t.lineTo(s * n - l * i, l * n + s * i); + } + t.closePath(); + }, + }, + $ = { + draw: function (t, e) { + var r = Math.sqrt(e), + n = -r / 2; + t.rect(n, n, r, r); + }, + }, + tt = Math.sqrt(3), + et = { + draw: function (t, e) { + var r = -Math.sqrt(e / (3 * tt)); + t.moveTo(0, 2 * r), + t.lineTo(-tt * r, -r), + t.lineTo(tt * r, -r), + t.closePath(); + }, + }, + rt = -0.5, + nt = Math.sqrt(3) / 2, + it = 1 / Math.sqrt(12), + at = 3 * (it / 2 + 1), + ot = { + draw: function (t, e) { + var r = Math.sqrt(e / at), + n = r / 2, + i = r * it, + a = n, + o = r * it + r, + s = -a, + l = o; + t.moveTo(n, i), + t.lineTo(a, o), + t.lineTo(s, l), + t.lineTo(rt * n - nt * i, nt * n + rt * i), + t.lineTo(rt * a - nt * o, nt * a + rt * o), + t.lineTo(rt * s - nt * l, nt * s + rt * l), + t.lineTo(rt * n + nt * i, rt * i - nt * n), + t.lineTo(rt * a + nt * o, rt * o - nt * a), + t.lineTo(rt * s + nt * l, rt * l - nt * s), + t.closePath(); + }, + }, + st = [H, G, X, $, Q, et, ot]; + function lt() {} + function ct(t, e, r) { + t._context.bezierCurveTo( + (2 * t._x0 + t._x1) / 3, + (2 * t._y0 + t._y1) / 3, + (t._x0 + 2 * t._x1) / 3, + (t._y0 + 2 * t._y1) / 3, + (t._x0 + 4 * t._x1 + e) / 6, + (t._y0 + 4 * t._y1 + r) / 6 + ); + } + function ut(t) { + this._context = t; + } + function ft(t) { + this._context = t; + } + function ht(t) { + this._context = t; + } + function pt(t, e) { + (this._basis = new ut(t)), (this._beta = e); + } + (ut.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 3: + ct(this, this._x1, this._y1); + case 2: + this._context.lineTo(this._x1, this._y1); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._context.lineTo( + (5 * this._x0 + this._x1) / 6, + (5 * this._y0 + this._y1) / 6 + ); + default: + ct(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = t), + (this._y0 = this._y1), + (this._y1 = e); + }, + }), + (ft.prototype = { + areaStart: lt, + areaEnd: lt, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x2, this._y2), + this._context.closePath(); + break; + case 2: + this._context.moveTo( + (this._x2 + 2 * this._x3) / 3, + (this._y2 + 2 * this._y3) / 3 + ), + this._context.lineTo( + (this._x3 + 2 * this._x2) / 3, + (this._y3 + 2 * this._y2) / 3 + ), + this._context.closePath(); + break; + case 3: + this.point(this._x2, this._y2), + this.point(this._x3, this._y3), + this.point(this._x4, this._y4); + } + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x2 = t), (this._y2 = e); + break; + case 1: + (this._point = 2), (this._x3 = t), (this._y3 = e); + break; + case 2: + (this._point = 3), + (this._x4 = t), + (this._y4 = e), + this._context.moveTo( + (this._x0 + 4 * this._x1 + t) / 6, + (this._y0 + 4 * this._y1 + e) / 6 + ); + break; + default: + ct(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = t), + (this._y0 = this._y1), + (this._y1 = e); + }, + }), + (ht.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = NaN), + (this._point = 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + var r = (this._x0 + 4 * this._x1 + t) / 6, + n = (this._y0 + 4 * this._y1 + e) / 6; + this._line + ? this._context.lineTo(r, n) + : this._context.moveTo(r, n); + break; + case 3: + this._point = 4; + default: + ct(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = t), + (this._y0 = this._y1), + (this._y1 = e); + }, + }), + (pt.prototype = { + lineStart: function () { + (this._x = []), (this._y = []), this._basis.lineStart(); + }, + lineEnd: function () { + var t = this._x, + e = this._y, + r = t.length - 1; + if (r > 0) + for ( + var n, + i = t[0], + a = e[0], + o = t[r] - i, + s = e[r] - a, + l = -1; + ++l <= r; + + ) + (n = l / r), + this._basis.point( + this._beta * t[l] + (1 - this._beta) * (i + n * o), + this._beta * e[l] + (1 - this._beta) * (a + n * s) + ); + (this._x = this._y = null), this._basis.lineEnd(); + }, + point: function (t, e) { + this._x.push(+t), this._y.push(+e); + }, + }); + var dt = (function t(e) { + function r(t) { + return 1 === e ? new ut(t) : new pt(t, e); + } + return ( + (r.beta = function (e) { + return t(+e); + }), + r + ); + })(0.85); + function gt(t, e, r) { + t._context.bezierCurveTo( + t._x1 + t._k * (t._x2 - t._x0), + t._y1 + t._k * (t._y2 - t._y0), + t._x2 + t._k * (t._x1 - e), + t._y2 + t._k * (t._y1 - r), + t._x2, + t._y2 + ); + } + function mt(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + mt.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._y0 = + this._y1 = + this._y2 = + NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + gt(this, this._x1, this._y1); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + (this._point = 2), (this._x1 = t), (this._y1 = e); + break; + case 2: + this._point = 3; + default: + gt(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var vt = (function t(e) { + function r(t) { + return new mt(t, e); + } + return ( + (r.tension = function (e) { + return t(+e); + }), + r + ); + })(0); + function yt(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + yt.prototype = { + areaStart: lt, + areaEnd: lt, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), + this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), + this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + } + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), + this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + gt(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var xt = (function t(e) { + function r(t) { + return new yt(t, e); + } + return ( + (r.tension = function (e) { + return t(+e); + }), + r + ); + })(0); + function bt(t, e) { + (this._context = t), (this._k = (1 - e) / 6); + } + bt.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._y0 = + this._y1 = + this._y2 = + NaN), + (this._point = 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + gt(this, t, e); + } + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var _t = (function t(e) { + function r(t) { + return new bt(t, e); + } + return ( + (r.tension = function (e) { + return t(+e); + }), + r + ); + })(0); + function wt(t, e, r) { + var n = t._x1, + i = t._y1, + a = t._x2, + o = t._y2; + if (t._l01_a > 1e-12) { + var s = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + l = 3 * t._l01_a * (t._l01_a + t._l12_a); + (n = (n * s - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / l), + (i = (i * s - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / l); + } + if (t._l23_a > 1e-12) { + var c = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + u = 3 * t._l23_a * (t._l23_a + t._l12_a); + (a = (a * c + t._x1 * t._l23_2a - e * t._l12_2a) / u), + (o = (o * c + t._y1 * t._l23_2a - r * t._l12_2a) / u); + } + t._context.bezierCurveTo(n, i, a, o, t._x2, t._y2); + } + function Tt(t, e) { + (this._context = t), (this._alpha = e); + } + Tt.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._y0 = + this._y1 = + this._y2 = + NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2); + break; + case 3: + this.point(this._x2, this._y2); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(r * r + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + this._point = 3; + default: + wt(this, t, e); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var kt = (function t(e) { + function r(t) { + return e ? new Tt(t, e) : new mt(t, 0); + } + return ( + (r.alpha = function (e) { + return t(+e); + }), + r + ); + })(0.5); + function Mt(t, e) { + (this._context = t), (this._alpha = e); + } + Mt.prototype = { + areaStart: lt, + areaEnd: lt, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), + this._context.closePath(); + break; + case 2: + this._context.lineTo(this._x3, this._y3), + this._context.closePath(); + break; + case 3: + this.point(this._x3, this._y3), + this.point(this._x4, this._y4), + this.point(this._x5, this._y5); + } + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(r * r + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + (this._point = 1), (this._x3 = t), (this._y3 = e); + break; + case 1: + (this._point = 2), + this._context.moveTo((this._x4 = t), (this._y4 = e)); + break; + case 2: + (this._point = 3), (this._x5 = t), (this._y5 = e); + break; + default: + wt(this, t, e); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var At = (function t(e) { + function r(t) { + return e ? new Mt(t, e) : new yt(t, 0); + } + return ( + (r.alpha = function (e) { + return t(+e); + }), + r + ); + })(0.5); + function St(t, e) { + (this._context = t), (this._alpha = e); + } + St.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = + this._x1 = + this._x2 = + this._y0 = + this._y1 = + this._y2 = + NaN), + (this._l01_a = + this._l12_a = + this._l23_a = + this._l01_2a = + this._l12_2a = + this._l23_2a = + this._point = + 0); + }, + lineEnd: function () { + (this._line || (0 !== this._line && 3 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + if (((t = +t), (e = +e), this._point)) { + var r = this._x2 - t, + n = this._y2 - e; + this._l23_a = Math.sqrt( + (this._l23_2a = Math.pow(r * r + n * n, this._alpha)) + ); + } + switch (this._point) { + case 0: + this._point = 1; + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + this._line + ? this._context.lineTo(this._x2, this._y2) + : this._context.moveTo(this._x2, this._y2); + break; + case 3: + this._point = 4; + default: + wt(this, t, e); + } + (this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = e); + }, + }; + var Et = (function t(e) { + function r(t) { + return e ? new St(t, e) : new bt(t, 0); + } + return ( + (r.alpha = function (e) { + return t(+e); + }), + r + ); + })(0.5); + function Ct(t) { + this._context = t; + } + function Lt(t) { + return t < 0 ? -1 : 1; + } + function It(t, e, r) { + var n = t._x1 - t._x0, + i = e - t._x1, + a = (t._y1 - t._y0) / (n || (i < 0 && -0)), + o = (r - t._y1) / (i || (n < 0 && -0)), + s = (a * i + o * n) / (n + i); + return ( + (Lt(a) + Lt(o)) * + Math.min(Math.abs(a), Math.abs(o), 0.5 * Math.abs(s)) || 0 + ); + } + function Pt(t, e) { + var r = t._x1 - t._x0; + return r ? ((3 * (t._y1 - t._y0)) / r - e) / 2 : e; + } + function zt(t, e, r) { + var n = t._x0, + i = t._y0, + a = t._x1, + o = t._y1, + s = (a - n) / 3; + t._context.bezierCurveTo( + n + s, + i + s * e, + a - s, + o - s * r, + a, + o + ); + } + function Ot(t) { + this._context = t; + } + function Dt(t) { + this._context = new Rt(t); + } + function Rt(t) { + this._context = t; + } + function Ft(t) { + this._context = t; + } + function Bt(t) { + var e, + r, + n = t.length - 1, + i = new Array(n), + a = new Array(n), + o = new Array(n); + for ( + i[0] = 0, a[0] = 2, o[0] = t[0] + 2 * t[1], e = 1; + e < n - 1; + ++e + ) + (i[e] = 1), (a[e] = 4), (o[e] = 4 * t[e] + 2 * t[e + 1]); + for ( + i[n - 1] = 2, + a[n - 1] = 7, + o[n - 1] = 8 * t[n - 1] + t[n], + e = 1; + e < n; + ++e + ) + (r = i[e] / a[e - 1]), (a[e] -= r), (o[e] -= r * o[e - 1]); + for (i[n - 1] = o[n - 1] / a[n - 1], e = n - 2; e >= 0; --e) + i[e] = (o[e] - i[e + 1]) / a[e]; + for (a[n - 1] = (t[n] + i[n - 1]) / 2, e = 0; e < n - 1; ++e) + a[e] = 2 * t[e + 1] - i[e + 1]; + return [i, a]; + } + function Nt(t, e) { + (this._context = t), (this._t = e); + } + function jt(t, e) { + if ((i = t.length) > 1) + for (var r, n, i, a = 1, o = t[e[0]], s = o.length; a < i; ++a) + for (n = o, o = t[e[a]], r = 0; r < s; ++r) + o[r][1] += o[r][0] = isNaN(n[r][1]) ? n[r][0] : n[r][1]; + } + function Ut(t) { + for (var e = t.length, r = new Array(e); --e >= 0; ) r[e] = e; + return r; + } + function Vt(t, e) { + return t[e]; + } + function qt(t) { + var e = t.map(Ht); + return Ut(t).sort(function (t, r) { + return e[t] - e[r]; + }); + } + function Ht(t) { + for (var e, r = -1, n = 0, i = t.length, a = -1 / 0; ++r < i; ) + (e = +t[r][1]) > a && ((a = e), (n = r)); + return n; + } + function Gt(t) { + var e = t.map(Yt); + return Ut(t).sort(function (t, r) { + return e[t] - e[r]; + }); + } + function Yt(t) { + for (var e, r = 0, n = -1, i = t.length; ++n < i; ) + (e = +t[n][1]) && (r += e); + return r; + } + (Ct.prototype = { + areaStart: lt, + areaEnd: lt, + lineStart: function () { + this._point = 0; + }, + lineEnd: function () { + this._point && this._context.closePath(); + }, + point: function (t, e) { + (t = +t), + (e = +e), + this._point + ? this._context.lineTo(t, e) + : ((this._point = 1), this._context.moveTo(t, e)); + }, + }), + (Ot.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), + (this._point = 0); + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1); + break; + case 3: + zt(this, this._t0, Pt(this, this._t0)); + } + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + (this._line = 1 - this._line); + }, + point: function (t, e) { + var r = NaN; + if (((e = +e), (t = +t) !== this._x1 || e !== this._y1)) { + switch (this._point) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + break; + case 2: + (this._point = 3), + zt(this, Pt(this, (r = It(this, t, e))), r); + break; + default: + zt(this, this._t0, (r = It(this, t, e))); + } + (this._x0 = this._x1), + (this._x1 = t), + (this._y0 = this._y1), + (this._y1 = e), + (this._t0 = r); + } + }, + }), + ((Dt.prototype = Object.create(Ot.prototype)).point = function ( + t, + e + ) { + Ot.prototype.point.call(this, e, t); + }), + (Rt.prototype = { + moveTo: function (t, e) { + this._context.moveTo(e, t); + }, + closePath: function () { + this._context.closePath(); + }, + lineTo: function (t, e) { + this._context.lineTo(e, t); + }, + bezierCurveTo: function (t, e, r, n, i, a) { + this._context.bezierCurveTo(e, t, n, r, a, i); + }, + }), + (Ft.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x = []), (this._y = []); + }, + lineEnd: function () { + var t = this._x, + e = this._y, + r = t.length; + if (r) + if ( + (this._line + ? this._context.lineTo(t[0], e[0]) + : this._context.moveTo(t[0], e[0]), + 2 === r) + ) + this._context.lineTo(t[1], e[1]); + else + for ( + var n = Bt(t), i = Bt(e), a = 0, o = 1; + o < r; + ++a, ++o + ) + this._context.bezierCurveTo( + n[0][a], + i[0][a], + n[1][a], + i[1][a], + t[o], + e[o] + ); + (this._line || (0 !== this._line && 1 === r)) && + this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null); + }, + point: function (t, e) { + this._x.push(+t), this._y.push(+e); + }, + }), + (Nt.prototype = { + areaStart: function () { + this._line = 0; + }, + areaEnd: function () { + this._line = NaN; + }, + lineStart: function () { + (this._x = this._y = NaN), (this._point = 0); + }, + lineEnd: function () { + 0 < this._t && + this._t < 1 && + 2 === this._point && + this._context.lineTo(this._x, this._y), + (this._line || (0 !== this._line && 1 === this._point)) && + this._context.closePath(), + this._line >= 0 && + ((this._t = 1 - this._t), (this._line = 1 - this._line)); + }, + point: function (t, e) { + switch (((t = +t), (e = +e), this._point)) { + case 0: + (this._point = 1), + this._line + ? this._context.lineTo(t, e) + : this._context.moveTo(t, e); + break; + case 1: + this._point = 2; + default: + if (this._t <= 0) + this._context.lineTo(this._x, e), + this._context.lineTo(t, e); + else { + var r = this._x * (1 - this._t) + t * this._t; + this._context.lineTo(r, this._y), + this._context.lineTo(r, e); + } + } + (this._x = t), (this._y = e); + }, + }), + (t.arc = function () { + var t = g, + o = m, + w = r(0), + T = null, + k = v, + M = y, + A = x, + S = null; + function E() { + var r, + g, + m = +t.apply(this, arguments), + v = +o.apply(this, arguments), + y = k.apply(this, arguments) - f, + x = M.apply(this, arguments) - f, + E = n(x - y), + C = x > y; + if ( + (S || (S = r = e.path()), + v < m && ((g = v), (v = m), (m = g)), + v > 1e-12) + ) + if (E > h - 1e-12) + S.moveTo(v * a(y), v * l(y)), + S.arc(0, 0, v, y, x, !C), + m > 1e-12 && + (S.moveTo(m * a(x), m * l(x)), + S.arc(0, 0, m, x, y, C)); + else { + var L, + I, + P = y, + z = x, + O = y, + D = x, + R = E, + F = E, + B = A.apply(this, arguments) / 2, + N = + B > 1e-12 && + (T ? +T.apply(this, arguments) : c(m * m + v * v)), + j = s(n(v - m) / 2, +w.apply(this, arguments)), + U = j, + V = j; + if (N > 1e-12) { + var q = d((N / m) * l(B)), + H = d((N / v) * l(B)); + (R -= 2 * q) > 1e-12 + ? ((O += q *= C ? 1 : -1), (D -= q)) + : ((R = 0), (O = D = (y + x) / 2)), + (F -= 2 * H) > 1e-12 + ? ((P += H *= C ? 1 : -1), (z -= H)) + : ((F = 0), (P = z = (y + x) / 2)); + } + var G = v * a(P), + Y = v * l(P), + W = m * a(D), + X = m * l(D); + if (j > 1e-12) { + var Z, + J = v * a(z), + K = v * l(z), + Q = m * a(O), + $ = m * l(O); + if (E < u && (Z = b(G, Y, Q, $, J, K, W, X))) { + var tt = G - Z[0], + et = Y - Z[1], + rt = J - Z[0], + nt = K - Z[1], + it = + 1 / + l( + p( + (tt * rt + et * nt) / + (c(tt * tt + et * et) * + c(rt * rt + nt * nt)) + ) / 2 + ), + at = c(Z[0] * Z[0] + Z[1] * Z[1]); + (U = s(j, (m - at) / (it - 1))), + (V = s(j, (v - at) / (it + 1))); + } + } + F > 1e-12 + ? V > 1e-12 + ? ((L = _(Q, $, G, Y, v, V, C)), + (I = _(J, K, W, X, v, V, C)), + S.moveTo(L.cx + L.x01, L.cy + L.y01), + V < j + ? S.arc( + L.cx, + L.cy, + V, + i(L.y01, L.x01), + i(I.y01, I.x01), + !C + ) + : (S.arc( + L.cx, + L.cy, + V, + i(L.y01, L.x01), + i(L.y11, L.x11), + !C + ), + S.arc( + 0, + 0, + v, + i(L.cy + L.y11, L.cx + L.x11), + i(I.cy + I.y11, I.cx + I.x11), + !C + ), + S.arc( + I.cx, + I.cy, + V, + i(I.y11, I.x11), + i(I.y01, I.x01), + !C + ))) + : (S.moveTo(G, Y), S.arc(0, 0, v, P, z, !C)) + : S.moveTo(G, Y), + m > 1e-12 && R > 1e-12 + ? U > 1e-12 + ? ((L = _(W, X, J, K, m, -U, C)), + (I = _(G, Y, Q, $, m, -U, C)), + S.lineTo(L.cx + L.x01, L.cy + L.y01), + U < j + ? S.arc( + L.cx, + L.cy, + U, + i(L.y01, L.x01), + i(I.y01, I.x01), + !C + ) + : (S.arc( + L.cx, + L.cy, + U, + i(L.y01, L.x01), + i(L.y11, L.x11), + !C + ), + S.arc( + 0, + 0, + m, + i(L.cy + L.y11, L.cx + L.x11), + i(I.cy + I.y11, I.cx + I.x11), + C + ), + S.arc( + I.cx, + I.cy, + U, + i(I.y11, I.x11), + i(I.y01, I.x01), + !C + ))) + : S.arc(0, 0, m, D, O, C) + : S.lineTo(W, X); + } + else S.moveTo(0, 0); + if ((S.closePath(), r)) return (S = null), r + '' || null; + } + return ( + (E.centroid = function () { + var e = + (+t.apply(this, arguments) + + +o.apply(this, arguments)) / + 2, + r = + (+k.apply(this, arguments) + + +M.apply(this, arguments)) / + 2 - + u / 2; + return [a(r) * e, l(r) * e]; + }), + (E.innerRadius = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(+e)), E) + : t; + }), + (E.outerRadius = function (t) { + return arguments.length + ? ((o = 'function' == typeof t ? t : r(+t)), E) + : o; + }), + (E.cornerRadius = function (t) { + return arguments.length + ? ((w = 'function' == typeof t ? t : r(+t)), E) + : w; + }), + (E.padRadius = function (t) { + return arguments.length + ? ((T = + null == t + ? null + : 'function' == typeof t + ? t + : r(+t)), + E) + : T; + }), + (E.startAngle = function (t) { + return arguments.length + ? ((k = 'function' == typeof t ? t : r(+t)), E) + : k; + }), + (E.endAngle = function (t) { + return arguments.length + ? ((M = 'function' == typeof t ? t : r(+t)), E) + : M; + }), + (E.padAngle = function (t) { + return arguments.length + ? ((A = 'function' == typeof t ? t : r(+t)), E) + : A; + }), + (E.context = function (t) { + return arguments.length + ? ((S = null == t ? null : t), E) + : S; + }), + E + ); + }), + (t.area = S), + (t.areaRadial = D), + (t.curveBasis = function (t) { + return new ut(t); + }), + (t.curveBasisClosed = function (t) { + return new ft(t); + }), + (t.curveBasisOpen = function (t) { + return new ht(t); + }), + (t.curveBundle = dt), + (t.curveCardinal = vt), + (t.curveCardinalClosed = xt), + (t.curveCardinalOpen = _t), + (t.curveCatmullRom = kt), + (t.curveCatmullRomClosed = At), + (t.curveCatmullRomOpen = Et), + (t.curveLinear = T), + (t.curveLinearClosed = function (t) { + return new Ct(t); + }), + (t.curveMonotoneX = function (t) { + return new Ot(t); + }), + (t.curveMonotoneY = function (t) { + return new Dt(t); + }), + (t.curveNatural = function (t) { + return new Ft(t); + }), + (t.curveStep = function (t) { + return new Nt(t, 0.5); + }), + (t.curveStepAfter = function (t) { + return new Nt(t, 1); + }), + (t.curveStepBefore = function (t) { + return new Nt(t, 0); + }), + (t.line = A), + (t.lineRadial = O), + (t.linkHorizontal = function () { + return j(U); + }), + (t.linkRadial = function () { + var t = j(q); + return ( + (t.angle = t.x), delete t.x, (t.radius = t.y), delete t.y, t + ); + }), + (t.linkVertical = function () { + return j(V); + }), + (t.pie = function () { + var t = C, + e = E, + n = null, + i = r(0), + a = r(h), + o = r(0); + function s(r) { + var s, + l, + c, + u, + f, + p = r.length, + d = 0, + g = new Array(p), + m = new Array(p), + v = +i.apply(this, arguments), + y = Math.min(h, Math.max(-h, a.apply(this, arguments) - v)), + x = Math.min(Math.abs(y) / p, o.apply(this, arguments)), + b = x * (y < 0 ? -1 : 1); + for (s = 0; s < p; ++s) + (f = m[(g[s] = s)] = +t(r[s], s, r)) > 0 && (d += f); + for ( + null != e + ? g.sort(function (t, r) { + return e(m[t], m[r]); + }) + : null != n && + g.sort(function (t, e) { + return n(r[t], r[e]); + }), + s = 0, + c = d ? (y - p * b) / d : 0; + s < p; + ++s, v = u + ) + (l = g[s]), + (u = v + ((f = m[l]) > 0 ? f * c : 0) + b), + (m[l] = { + data: r[l], + index: s, + value: f, + startAngle: v, + endAngle: u, + padAngle: x, + }); + return m; + } + return ( + (s.value = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(+e)), s) + : t; + }), + (s.sortValues = function (t) { + return arguments.length ? ((e = t), (n = null), s) : e; + }), + (s.sort = function (t) { + return arguments.length ? ((n = t), (e = null), s) : n; + }), + (s.startAngle = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : r(+t)), s) + : i; + }), + (s.endAngle = function (t) { + return arguments.length + ? ((a = 'function' == typeof t ? t : r(+t)), s) + : a; + }), + (s.padAngle = function (t) { + return arguments.length + ? ((o = 'function' == typeof t ? t : r(+t)), s) + : o; + }), + s + ); + }), + (t.pointRadial = R), + (t.radialArea = D), + (t.radialLine = O), + (t.stack = function () { + var t = r([]), + e = Ut, + n = jt, + i = Vt; + function a(r) { + var a, + o, + s = t.apply(this, arguments), + l = r.length, + c = s.length, + u = new Array(c); + for (a = 0; a < c; ++a) { + for ( + var f, h = s[a], p = (u[a] = new Array(l)), d = 0; + d < l; + ++d + ) + (p[d] = f = [0, +i(r[d], h, d, r)]), (f.data = r[d]); + p.key = h; + } + for (a = 0, o = e(u); a < c; ++a) u[o[a]].index = a; + return n(u, o), u; + } + return ( + (a.keys = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(F.call(e))), a) + : t; + }), + (a.value = function (t) { + return arguments.length + ? ((i = 'function' == typeof t ? t : r(+t)), a) + : i; + }), + (a.order = function (t) { + return arguments.length + ? ((e = + null == t + ? Ut + : 'function' == typeof t + ? t + : r(F.call(t))), + a) + : e; + }), + (a.offset = function (t) { + return arguments.length ? ((n = null == t ? jt : t), a) : n; + }), + a + ); + }), + (t.stackOffsetDiverging = function (t, e) { + if ((s = t.length) > 0) + for ( + var r, n, i, a, o, s, l = 0, c = t[e[0]].length; + l < c; + ++l + ) + for (a = o = 0, r = 0; r < s; ++r) + (i = (n = t[e[r]][l])[1] - n[0]) > 0 + ? ((n[0] = a), (n[1] = a += i)) + : i < 0 + ? ((n[1] = o), (n[0] = o += i)) + : ((n[0] = 0), (n[1] = i)); + }), + (t.stackOffsetExpand = function (t, e) { + if ((n = t.length) > 0) { + for (var r, n, i, a = 0, o = t[0].length; a < o; ++a) { + for (i = r = 0; r < n; ++r) i += t[r][a][1] || 0; + if (i) for (r = 0; r < n; ++r) t[r][a][1] /= i; + } + jt(t, e); + } + }), + (t.stackOffsetNone = jt), + (t.stackOffsetSilhouette = function (t, e) { + if ((r = t.length) > 0) { + for (var r, n = 0, i = t[e[0]], a = i.length; n < a; ++n) { + for (var o = 0, s = 0; o < r; ++o) s += t[o][n][1] || 0; + i[n][1] += i[n][0] = -s / 2; + } + jt(t, e); + } + }), + (t.stackOffsetWiggle = function (t, e) { + if ((i = t.length) > 0 && (n = (r = t[e[0]]).length) > 0) { + for (var r, n, i, a = 0, o = 1; o < n; ++o) { + for (var s = 0, l = 0, c = 0; s < i; ++s) { + for ( + var u = t[e[s]], + f = u[o][1] || 0, + h = (f - (u[o - 1][1] || 0)) / 2, + p = 0; + p < s; + ++p + ) { + var d = t[e[p]]; + h += (d[o][1] || 0) - (d[o - 1][1] || 0); + } + (l += f), (c += h * f); + } + (r[o - 1][1] += r[o - 1][0] = a), l && (a -= c / l); + } + (r[o - 1][1] += r[o - 1][0] = a), jt(t, e); + } + }), + (t.stackOrderAppearance = qt), + (t.stackOrderAscending = Gt), + (t.stackOrderDescending = function (t) { + return Gt(t).reverse(); + }), + (t.stackOrderInsideOut = function (t) { + var e, + r, + n = t.length, + i = t.map(Yt), + a = qt(t), + o = 0, + s = 0, + l = [], + c = []; + for (e = 0; e < n; ++e) + (r = a[e]), + o < s ? ((o += i[r]), l.push(r)) : ((s += i[r]), c.push(r)); + return c.reverse().concat(l); + }), + (t.stackOrderNone = Ut), + (t.stackOrderReverse = function (t) { + return Ut(t).reverse(); + }), + (t.symbol = function () { + var t = r(H), + n = r(64), + i = null; + function a() { + var r; + if ( + (i || (i = r = e.path()), + t.apply(this, arguments).draw(i, +n.apply(this, arguments)), + r) + ) + return (i = null), r + '' || null; + } + return ( + (a.type = function (e) { + return arguments.length + ? ((t = 'function' == typeof e ? e : r(e)), a) + : t; + }), + (a.size = function (t) { + return arguments.length + ? ((n = 'function' == typeof t ? t : r(+t)), a) + : n; + }), + (a.context = function (t) { + return arguments.length + ? ((i = null == t ? null : t), a) + : i; + }), + a + ); + }), + (t.symbolCircle = H), + (t.symbolCross = G), + (t.symbolDiamond = X), + (t.symbolSquare = $), + (t.symbolStar = Q), + (t.symbolTriangle = et), + (t.symbolWye = ot), + (t.symbols = st), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { 'd3-path': 163 }, + ], + 166: [ + function (t, e, r) { + !(function (n, i) { + 'object' == typeof r && 'undefined' != typeof e + ? i(r, t('d3-time')) + : i(((n = n || self).d3 = n.d3 || {}), n.d3); + })(this, function (t, e) { + 'use strict'; + function r(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L); + return e.setFullYear(t.y), e; + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L); + } + function n(t) { + if (0 <= t.y && t.y < 100) { + var e = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)); + return e.setUTCFullYear(t.y), e; + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)); + } + function i(t, e, r) { + return { y: t, m: e, d: r, H: 0, M: 0, S: 0, L: 0 }; + } + function a(t) { + var a = t.dateTime, + o = t.date, + l = t.time, + c = t.periods, + u = t.days, + f = t.shortDays, + h = t.months, + yt = t.shortMonths, + xt = p(c), + bt = d(c), + _t = p(u), + wt = d(u), + Tt = p(f), + kt = d(f), + Mt = p(h), + At = d(h), + St = p(yt), + Et = d(yt), + Ct = { + a: function (t) { + return f[t.getDay()]; + }, + A: function (t) { + return u[t.getDay()]; + }, + b: function (t) { + return yt[t.getMonth()]; + }, + B: function (t) { + return h[t.getMonth()]; + }, + c: null, + d: D, + e: D, + f: j, + H: R, + I: F, + j: B, + L: N, + m: U, + M: V, + p: function (t) { + return c[+(t.getHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getMonth() / 3); + }, + Q: mt, + s: vt, + S: q, + u: H, + U: G, + V: Y, + w: W, + W: X, + x: null, + X: null, + y: Z, + Y: J, + Z: K, + '%': gt, + }, + Lt = { + a: function (t) { + return f[t.getUTCDay()]; + }, + A: function (t) { + return u[t.getUTCDay()]; + }, + b: function (t) { + return yt[t.getUTCMonth()]; + }, + B: function (t) { + return h[t.getUTCMonth()]; + }, + c: null, + d: Q, + e: Q, + f: nt, + H: $, + I: tt, + j: et, + L: rt, + m: it, + M: at, + p: function (t) { + return c[+(t.getUTCHours() >= 12)]; + }, + q: function (t) { + return 1 + ~~(t.getUTCMonth() / 3); + }, + Q: mt, + s: vt, + S: ot, + u: st, + U: lt, + V: ct, + w: ut, + W: ft, + x: null, + X: null, + y: ht, + Y: pt, + Z: dt, + '%': gt, + }, + It = { + a: function (t, e, r) { + var n = Tt.exec(e.slice(r)); + return n + ? ((t.w = kt[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + A: function (t, e, r) { + var n = _t.exec(e.slice(r)); + return n + ? ((t.w = wt[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + b: function (t, e, r) { + var n = St.exec(e.slice(r)); + return n + ? ((t.m = Et[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + B: function (t, e, r) { + var n = Mt.exec(e.slice(r)); + return n + ? ((t.m = At[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + c: function (t, e, r) { + return Ot(t, a, e, r); + }, + d: M, + e: M, + f: I, + H: S, + I: S, + j: A, + L: L, + m: k, + M: E, + p: function (t, e, r) { + var n = xt.exec(e.slice(r)); + return n + ? ((t.p = bt[n[0].toLowerCase()]), r + n[0].length) + : -1; + }, + q: T, + Q: z, + s: O, + S: C, + u: m, + U: v, + V: y, + w: g, + W: x, + x: function (t, e, r) { + return Ot(t, o, e, r); + }, + X: function (t, e, r) { + return Ot(t, l, e, r); + }, + y: _, + Y: b, + Z: w, + '%': P, + }; + function Pt(t, e) { + return function (r) { + var n, + i, + a, + o = [], + l = -1, + c = 0, + u = t.length; + for (r instanceof Date || (r = new Date(+r)); ++l < u; ) + 37 === t.charCodeAt(l) && + (o.push(t.slice(c, l)), + null != (i = s[(n = t.charAt(++l))]) + ? (n = t.charAt(++l)) + : (i = 'e' === n ? ' ' : '0'), + (a = e[n]) && (n = a(r, i)), + o.push(n), + (c = l + 1)); + return o.push(t.slice(c, l)), o.join(''); + }; + } + function zt(t, a) { + return function (o) { + var s, + l, + c = i(1900, void 0, 1); + if (Ot(c, t, (o += ''), 0) != o.length) return null; + if ('Q' in c) return new Date(c.Q); + if ('s' in c) + return new Date(1e3 * c.s + ('L' in c ? c.L : 0)); + if ( + (a && !('Z' in c) && (c.Z = 0), + 'p' in c && (c.H = (c.H % 12) + 12 * c.p), + void 0 === c.m && (c.m = 'q' in c ? c.q : 0), + 'V' in c) + ) { + if (c.V < 1 || c.V > 53) return null; + 'w' in c || (c.w = 1), + 'Z' in c + ? ((l = (s = n(i(c.y, 0, 1))).getUTCDay()), + (s = + l > 4 || 0 === l + ? e.utcMonday.ceil(s) + : e.utcMonday(s)), + (s = e.utcDay.offset(s, 7 * (c.V - 1))), + (c.y = s.getUTCFullYear()), + (c.m = s.getUTCMonth()), + (c.d = s.getUTCDate() + ((c.w + 6) % 7))) + : ((l = (s = r(i(c.y, 0, 1))).getDay()), + (s = + l > 4 || 0 === l + ? e.timeMonday.ceil(s) + : e.timeMonday(s)), + (s = e.timeDay.offset(s, 7 * (c.V - 1))), + (c.y = s.getFullYear()), + (c.m = s.getMonth()), + (c.d = s.getDate() + ((c.w + 6) % 7))); + } else ('W' in c || 'U' in c) && ('w' in c || (c.w = 'u' in c ? c.u % 7 : 'W' in c ? 1 : 0), (l = 'Z' in c ? n(i(c.y, 0, 1)).getUTCDay() : r(i(c.y, 0, 1)).getDay()), (c.m = 0), (c.d = 'W' in c ? ((c.w + 6) % 7) + 7 * c.W - ((l + 5) % 7) : c.w + 7 * c.U - ((l + 6) % 7))); + return 'Z' in c + ? ((c.H += (c.Z / 100) | 0), (c.M += c.Z % 100), n(c)) + : r(c); + }; + } + function Ot(t, e, r, n) { + for (var i, a, o = 0, l = e.length, c = r.length; o < l; ) { + if (n >= c) return -1; + if (37 === (i = e.charCodeAt(o++))) { + if ( + ((i = e.charAt(o++)), + !(a = It[i in s ? e.charAt(o++) : i]) || + (n = a(t, r, n)) < 0) + ) + return -1; + } else if (i != r.charCodeAt(n++)) return -1; + } + return n; + } + return ( + (Ct.x = Pt(o, Ct)), + (Ct.X = Pt(l, Ct)), + (Ct.c = Pt(a, Ct)), + (Lt.x = Pt(o, Lt)), + (Lt.X = Pt(l, Lt)), + (Lt.c = Pt(a, Lt)), + { + format: function (t) { + var e = Pt((t += ''), Ct); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + parse: function (t) { + var e = zt((t += ''), !1); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcFormat: function (t) { + var e = Pt((t += ''), Lt); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + utcParse: function (t) { + var e = zt((t += ''), !0); + return ( + (e.toString = function () { + return t; + }), + e + ); + }, + } + ); + } + var o, + s = { '-': '', _: ' ', 0: '0' }, + l = /^\s*\d+/, + c = /^%/, + u = /[\\^$*+?|[\]().{}]/g; + function f(t, e, r) { + var n = t < 0 ? '-' : '', + i = (n ? -t : t) + '', + a = i.length; + return n + (a < r ? new Array(r - a + 1).join(e) + i : i); + } + function h(t) { + return t.replace(u, '\\$&'); + } + function p(t) { + return new RegExp('^(?:' + t.map(h).join('|') + ')', 'i'); + } + function d(t) { + for (var e = {}, r = -1, n = t.length; ++r < n; ) + e[t[r].toLowerCase()] = r; + return e; + } + function g(t, e, r) { + var n = l.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function m(t, e, r) { + var n = l.exec(e.slice(r, r + 1)); + return n ? ((t.u = +n[0]), r + n[0].length) : -1; + } + function v(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function y(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.V = +n[0]), r + n[0].length) : -1; + } + function x(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function b(t, e, r) { + var n = l.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function _(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n + ? ((t.y = +n[0] + (+n[0] > 68 ? 1900 : 2e3)), r + n[0].length) + : -1; + } + function w(t, e, r) { + var n = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r, r + 6)); + return n + ? ((t.Z = n[1] ? 0 : -(n[2] + (n[3] || '00'))), r + n[0].length) + : -1; + } + function T(t, e, r) { + var n = l.exec(e.slice(r, r + 1)); + return n ? ((t.q = 3 * n[0] - 3), r + n[0].length) : -1; + } + function k(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function M(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function A(t, e, r) { + var n = l.exec(e.slice(r, r + 3)); + return n ? ((t.m = 0), (t.d = +n[0]), r + n[0].length) : -1; + } + function S(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function E(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function C(t, e, r) { + var n = l.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function L(t, e, r) { + var n = l.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function I(t, e, r) { + var n = l.exec(e.slice(r, r + 6)); + return n ? ((t.L = Math.floor(n[0] / 1e3)), r + n[0].length) : -1; + } + function P(t, e, r) { + var n = c.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function z(t, e, r) { + var n = l.exec(e.slice(r)); + return n ? ((t.Q = +n[0]), r + n[0].length) : -1; + } + function O(t, e, r) { + var n = l.exec(e.slice(r)); + return n ? ((t.s = +n[0]), r + n[0].length) : -1; + } + function D(t, e) { + return f(t.getDate(), e, 2); + } + function R(t, e) { + return f(t.getHours(), e, 2); + } + function F(t, e) { + return f(t.getHours() % 12 || 12, e, 2); + } + function B(t, r) { + return f(1 + e.timeDay.count(e.timeYear(t), t), r, 3); + } + function N(t, e) { + return f(t.getMilliseconds(), e, 3); + } + function j(t, e) { + return N(t, e) + '000'; + } + function U(t, e) { + return f(t.getMonth() + 1, e, 2); + } + function V(t, e) { + return f(t.getMinutes(), e, 2); + } + function q(t, e) { + return f(t.getSeconds(), e, 2); + } + function H(t) { + var e = t.getDay(); + return 0 === e ? 7 : e; + } + function G(t, r) { + return f(e.timeSunday.count(e.timeYear(t) - 1, t), r, 2); + } + function Y(t, r) { + var n = t.getDay(); + return ( + (t = + n >= 4 || 0 === n + ? e.timeThursday(t) + : e.timeThursday.ceil(t)), + f( + e.timeThursday.count(e.timeYear(t), t) + + (4 === e.timeYear(t).getDay()), + r, + 2 + ) + ); + } + function W(t) { + return t.getDay(); + } + function X(t, r) { + return f(e.timeMonday.count(e.timeYear(t) - 1, t), r, 2); + } + function Z(t, e) { + return f(t.getFullYear() % 100, e, 2); + } + function J(t, e) { + return f(t.getFullYear() % 1e4, e, 4); + } + function K(t) { + var e = t.getTimezoneOffset(); + return ( + (e > 0 ? '-' : ((e *= -1), '+')) + + f((e / 60) | 0, '0', 2) + + f(e % 60, '0', 2) + ); + } + function Q(t, e) { + return f(t.getUTCDate(), e, 2); + } + function $(t, e) { + return f(t.getUTCHours(), e, 2); + } + function tt(t, e) { + return f(t.getUTCHours() % 12 || 12, e, 2); + } + function et(t, r) { + return f(1 + e.utcDay.count(e.utcYear(t), t), r, 3); + } + function rt(t, e) { + return f(t.getUTCMilliseconds(), e, 3); + } + function nt(t, e) { + return rt(t, e) + '000'; + } + function it(t, e) { + return f(t.getUTCMonth() + 1, e, 2); + } + function at(t, e) { + return f(t.getUTCMinutes(), e, 2); + } + function ot(t, e) { + return f(t.getUTCSeconds(), e, 2); + } + function st(t) { + var e = t.getUTCDay(); + return 0 === e ? 7 : e; + } + function lt(t, r) { + return f(e.utcSunday.count(e.utcYear(t) - 1, t), r, 2); + } + function ct(t, r) { + var n = t.getUTCDay(); + return ( + (t = + n >= 4 || 0 === n ? e.utcThursday(t) : e.utcThursday.ceil(t)), + f( + e.utcThursday.count(e.utcYear(t), t) + + (4 === e.utcYear(t).getUTCDay()), + r, + 2 + ) + ); + } + function ut(t) { + return t.getUTCDay(); + } + function ft(t, r) { + return f(e.utcMonday.count(e.utcYear(t) - 1, t), r, 2); + } + function ht(t, e) { + return f(t.getUTCFullYear() % 100, e, 2); + } + function pt(t, e) { + return f(t.getUTCFullYear() % 1e4, e, 4); + } + function dt() { + return '+0000'; + } + function gt() { + return '%'; + } + function mt(t) { + return +t; + } + function vt(t) { + return Math.floor(+t / 1e3); + } + function yt(e) { + return ( + (o = a(e)), + (t.timeFormat = o.format), + (t.timeParse = o.parse), + (t.utcFormat = o.utcFormat), + (t.utcParse = o.utcParse), + o + ); + } + yt({ + dateTime: '%x, %X', + date: '%-m/%-d/%Y', + time: '%-I:%M:%S %p', + periods: ['AM', 'PM'], + days: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + shortMonths: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + }); + var xt = Date.prototype.toISOString + ? function (t) { + return t.toISOString(); + } + : t.utcFormat('%Y-%m-%dT%H:%M:%S.%LZ'); + var bt = +new Date('2000-01-01T00:00:00.000Z') + ? function (t) { + var e = new Date(t); + return isNaN(e) ? null : e; + } + : t.utcParse('%Y-%m-%dT%H:%M:%S.%LZ'); + (t.isoFormat = xt), + (t.isoParse = bt), + (t.timeFormatDefaultLocale = yt), + (t.timeFormatLocale = a), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + { 'd3-time': 167 }, + ], + 167: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + var e = new Date(), + r = new Date(); + function n(t, i, a, o) { + function s(e) { + return ( + t((e = 0 === arguments.length ? new Date() : new Date(+e))), e + ); + } + return ( + (s.floor = function (e) { + return t((e = new Date(+e))), e; + }), + (s.ceil = function (e) { + return t((e = new Date(e - 1))), i(e, 1), t(e), e; + }), + (s.round = function (t) { + var e = s(t), + r = s.ceil(t); + return t - e < r - t ? e : r; + }), + (s.offset = function (t, e) { + return ( + i((t = new Date(+t)), null == e ? 1 : Math.floor(e)), t + ); + }), + (s.range = function (e, r, n) { + var a, + o = []; + if ( + ((e = s.ceil(e)), + (n = null == n ? 1 : Math.floor(n)), + !(e < r && n > 0)) + ) + return o; + do { + o.push((a = new Date(+e))), i(e, n), t(e); + } while (a < e && e < r); + return o; + }), + (s.filter = function (e) { + return n( + function (r) { + if (r >= r) for (; t(r), !e(r); ) r.setTime(r - 1); + }, + function (t, r) { + if (t >= t) + if (r < 0) for (; ++r <= 0; ) for (; i(t, -1), !e(t); ); + else for (; --r >= 0; ) for (; i(t, 1), !e(t); ); + } + ); + }), + a && + ((s.count = function (n, i) { + return ( + e.setTime(+n), + r.setTime(+i), + t(e), + t(r), + Math.floor(a(e, r)) + ); + }), + (s.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? s.filter( + o + ? function (e) { + return o(e) % t == 0; + } + : function (e) { + return s.count(0, e) % t == 0; + } + ) + : s + : null + ); + })), + s + ); + } + var i = n( + function () {}, + function (t, e) { + t.setTime(+t + e); + }, + function (t, e) { + return e - t; + } + ); + i.every = function (t) { + return ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? n( + function (e) { + e.setTime(Math.floor(e / t) * t); + }, + function (e, r) { + e.setTime(+e + r * t); + }, + function (e, r) { + return (r - e) / t; + } + ) + : i + : null + ); + }; + var a = i.range, + o = n( + function (t) { + t.setTime(t - t.getMilliseconds()); + }, + function (t, e) { + t.setTime(+t + 1e3 * e); + }, + function (t, e) { + return (e - t) / 1e3; + }, + function (t) { + return t.getUTCSeconds(); + } + ), + s = o.range, + l = n( + function (t) { + t.setTime(t - t.getMilliseconds() - 1e3 * t.getSeconds()); + }, + function (t, e) { + t.setTime(+t + 6e4 * e); + }, + function (t, e) { + return (e - t) / 6e4; + }, + function (t) { + return t.getMinutes(); + } + ), + c = l.range, + u = n( + function (t) { + t.setTime( + t - + t.getMilliseconds() - + 1e3 * t.getSeconds() - + 6e4 * t.getMinutes() + ); + }, + function (t, e) { + t.setTime(+t + 36e5 * e); + }, + function (t, e) { + return (e - t) / 36e5; + }, + function (t) { + return t.getHours(); + } + ), + f = u.range, + h = n( + function (t) { + t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + e); + }, + function (t, e) { + return ( + (e - + t - + 6e4 * (e.getTimezoneOffset() - t.getTimezoneOffset())) / + 864e5 + ); + }, + function (t) { + return t.getDate() - 1; + } + ), + p = h.range; + function d(t) { + return n( + function (e) { + e.setDate(e.getDate() - ((e.getDay() + 7 - t) % 7)), + e.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setDate(t.getDate() + 7 * e); + }, + function (t, e) { + return ( + (e - + t - + 6e4 * (e.getTimezoneOffset() - t.getTimezoneOffset())) / + 6048e5 + ); + } + ); + } + var g = d(0), + m = d(1), + v = d(2), + y = d(3), + x = d(4), + b = d(5), + _ = d(6), + w = g.range, + T = m.range, + k = v.range, + M = y.range, + A = x.range, + S = b.range, + E = _.range, + C = n( + function (t) { + t.setDate(1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setMonth(t.getMonth() + e); + }, + function (t, e) { + return ( + e.getMonth() - + t.getMonth() + + 12 * (e.getFullYear() - t.getFullYear()) + ); + }, + function (t) { + return t.getMonth(); + } + ), + L = C.range, + I = n( + function (t) { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0); + }, + function (t, e) { + t.setFullYear(t.getFullYear() + e); + }, + function (t, e) { + return e.getFullYear() - t.getFullYear(); + }, + function (t) { + return t.getFullYear(); + } + ); + I.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? n( + function (e) { + e.setFullYear(Math.floor(e.getFullYear() / t) * t), + e.setMonth(0, 1), + e.setHours(0, 0, 0, 0); + }, + function (e, r) { + e.setFullYear(e.getFullYear() + r * t); + } + ) + : null; + }; + var P = I.range, + z = n( + function (t) { + t.setUTCSeconds(0, 0); + }, + function (t, e) { + t.setTime(+t + 6e4 * e); + }, + function (t, e) { + return (e - t) / 6e4; + }, + function (t) { + return t.getUTCMinutes(); + } + ), + O = z.range, + D = n( + function (t) { + t.setUTCMinutes(0, 0, 0); + }, + function (t, e) { + t.setTime(+t + 36e5 * e); + }, + function (t, e) { + return (e - t) / 36e5; + }, + function (t) { + return t.getUTCHours(); + } + ), + R = D.range, + F = n( + function (t) { + t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + e); + }, + function (t, e) { + return (e - t) / 864e5; + }, + function (t) { + return t.getUTCDate() - 1; + } + ), + B = F.range; + function N(t) { + return n( + function (e) { + e.setUTCDate(e.getUTCDate() - ((e.getUTCDay() + 7 - t) % 7)), + e.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCDate(t.getUTCDate() + 7 * e); + }, + function (t, e) { + return (e - t) / 6048e5; + } + ); + } + var j = N(0), + U = N(1), + V = N(2), + q = N(3), + H = N(4), + G = N(5), + Y = N(6), + W = j.range, + X = U.range, + Z = V.range, + J = q.range, + K = H.range, + Q = G.range, + $ = Y.range, + tt = n( + function (t) { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCMonth(t.getUTCMonth() + e); + }, + function (t, e) { + return ( + e.getUTCMonth() - + t.getUTCMonth() + + 12 * (e.getUTCFullYear() - t.getUTCFullYear()) + ); + }, + function (t) { + return t.getUTCMonth(); + } + ), + et = tt.range, + rt = n( + function (t) { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0); + }, + function (t, e) { + t.setUTCFullYear(t.getUTCFullYear() + e); + }, + function (t, e) { + return e.getUTCFullYear() - t.getUTCFullYear(); + }, + function (t) { + return t.getUTCFullYear(); + } + ); + rt.every = function (t) { + return isFinite((t = Math.floor(t))) && t > 0 + ? n( + function (e) { + e.setUTCFullYear(Math.floor(e.getUTCFullYear() / t) * t), + e.setUTCMonth(0, 1), + e.setUTCHours(0, 0, 0, 0); + }, + function (e, r) { + e.setUTCFullYear(e.getUTCFullYear() + r * t); + } + ) + : null; + }; + var nt = rt.range; + (t.timeDay = h), + (t.timeDays = p), + (t.timeFriday = b), + (t.timeFridays = S), + (t.timeHour = u), + (t.timeHours = f), + (t.timeInterval = n), + (t.timeMillisecond = i), + (t.timeMilliseconds = a), + (t.timeMinute = l), + (t.timeMinutes = c), + (t.timeMonday = m), + (t.timeMondays = T), + (t.timeMonth = C), + (t.timeMonths = L), + (t.timeSaturday = _), + (t.timeSaturdays = E), + (t.timeSecond = o), + (t.timeSeconds = s), + (t.timeSunday = g), + (t.timeSundays = w), + (t.timeThursday = x), + (t.timeThursdays = A), + (t.timeTuesday = v), + (t.timeTuesdays = k), + (t.timeWednesday = y), + (t.timeWednesdays = M), + (t.timeWeek = g), + (t.timeWeeks = w), + (t.timeYear = I), + (t.timeYears = P), + (t.utcDay = F), + (t.utcDays = B), + (t.utcFriday = G), + (t.utcFridays = Q), + (t.utcHour = D), + (t.utcHours = R), + (t.utcMillisecond = i), + (t.utcMilliseconds = a), + (t.utcMinute = z), + (t.utcMinutes = O), + (t.utcMonday = U), + (t.utcMondays = X), + (t.utcMonth = tt), + (t.utcMonths = et), + (t.utcSaturday = Y), + (t.utcSaturdays = $), + (t.utcSecond = o), + (t.utcSeconds = s), + (t.utcSunday = j), + (t.utcSundays = W), + (t.utcThursday = H), + (t.utcThursdays = K), + (t.utcTuesday = V), + (t.utcTuesdays = Z), + (t.utcWednesday = q), + (t.utcWednesdays = J), + (t.utcWeek = j), + (t.utcWeeks = W), + (t.utcYear = rt), + (t.utcYears = nt), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 168: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).d3 = t.d3 || {})); + })(this, function (t) { + 'use strict'; + var e, + r, + n = 0, + i = 0, + a = 0, + o = 0, + s = 0, + l = 0, + c = + 'object' == typeof performance && performance.now + ? performance + : Date, + u = + 'object' == typeof window && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17); + }; + function f() { + return s || (u(h), (s = c.now() + l)); + } + function h() { + s = 0; + } + function p() { + this._call = this._time = this._next = null; + } + function d(t, e, r) { + var n = new p(); + return n.restart(t, e, r), n; + } + function g() { + f(), ++n; + for (var t, r = e; r; ) + (t = s - r._time) >= 0 && r._call.call(null, t), (r = r._next); + --n; + } + function m() { + (s = (o = c.now()) + l), (n = i = 0); + try { + g(); + } finally { + (n = 0), + (function () { + var t, + n, + i = e, + a = 1 / 0; + for (; i; ) + i._call + ? (a > i._time && (a = i._time), (t = i), (i = i._next)) + : ((n = i._next), + (i._next = null), + (i = t ? (t._next = n) : (e = n))); + (r = t), y(a); + })(), + (s = 0); + } + } + function v() { + var t = c.now(), + e = t - o; + e > 1e3 && ((l -= e), (o = t)); + } + function y(t) { + n || + (i && (i = clearTimeout(i)), + t - s > 24 + ? (t < 1 / 0 && (i = setTimeout(m, t - c.now() - l)), + a && (a = clearInterval(a))) + : (a || ((o = c.now()), (a = setInterval(v, 1e3))), + (n = 1), + u(m))); + } + (p.prototype = d.prototype = + { + constructor: p, + restart: function (t, n, i) { + if ('function' != typeof t) + throw new TypeError('callback is not a function'); + (i = (null == i ? f() : +i) + (null == n ? 0 : +n)), + this._next || + r === this || + (r ? (r._next = this) : (e = this), (r = this)), + (this._call = t), + (this._time = i), + y(); + }, + stop: function () { + this._call && + ((this._call = null), (this._time = 1 / 0), y()); + }, + }), + (t.interval = function (t, e, r) { + var n = new p(), + i = e; + return null == e + ? (n.restart(t, e, r), n) + : ((e = +e), + (r = null == r ? f() : +r), + n.restart( + function a(o) { + (o += i), n.restart(a, (i += e), r), t(o); + }, + e, + r + ), + n); + }), + (t.now = f), + (t.timeout = function (t, e, r) { + var n = new p(); + return ( + (e = null == e ? 0 : +e), + n.restart( + function (r) { + n.stop(), t(r + e); + }, + e, + r + ), + n + ); + }), + (t.timer = d), + (t.timerFlush = g), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 169: [ + function (t, e, r) { + !(function () { + var t = { version: '3.5.17' }, + r = [].slice, + n = function (t) { + return r.call(t); + }, + i = this.document; + function a(t) { + return t && (t.ownerDocument || t.document || t).documentElement; + } + function o(t) { + return ( + t && + ((t.ownerDocument && t.ownerDocument.defaultView) || + (t.document && t) || + t.defaultView) + ); + } + if (i) + try { + n(i.documentElement.childNodes)[0].nodeType; + } catch (t) { + n = function (t) { + for (var e = t.length, r = new Array(e); e--; ) r[e] = t[e]; + return r; + }; + } + if ( + (Date.now || + (Date.now = function () { + return +new Date(); + }), + i) + ) + try { + i.createElement('DIV').style.setProperty('opacity', 0, ''); + } catch (t) { + var s = this.Element.prototype, + l = s.setAttribute, + c = s.setAttributeNS, + u = this.CSSStyleDeclaration.prototype, + f = u.setProperty; + (s.setAttribute = function (t, e) { + l.call(this, t, e + ''); + }), + (s.setAttributeNS = function (t, e, r) { + c.call(this, t, e, r + ''); + }), + (u.setProperty = function (t, e, r) { + f.call(this, t, e + '', r); + }); + } + function h(t, e) { + return t < e ? -1 : t > e ? 1 : t >= e ? 0 : NaN; + } + function p(t) { + return null === t ? NaN : +t; + } + function d(t) { + return !isNaN(t); + } + function g(t) { + return { + left: function (e, r, n, i) { + for ( + arguments.length < 3 && (n = 0), + arguments.length < 4 && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) < 0 ? (n = a + 1) : (i = a); + } + return n; + }, + right: function (e, r, n, i) { + for ( + arguments.length < 3 && (n = 0), + arguments.length < 4 && (i = e.length); + n < i; + + ) { + var a = (n + i) >>> 1; + t(e[a], r) > 0 ? (i = a) : (n = a + 1); + } + return n; + }, + }; + } + (t.ascending = h), + (t.descending = function (t, e) { + return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN; + }), + (t.min = function (t, e) { + var r, + n, + i = -1, + a = t.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (n = t[i]) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) null != (n = t[i]) && r > n && (r = n); + } else { + for (; ++i < a; ) + if (null != (n = e.call(t, t[i], i)) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) + null != (n = e.call(t, t[i], i)) && r > n && (r = n); + } + return r; + }), + (t.max = function (t, e) { + var r, + n, + i = -1, + a = t.length; + if (1 === arguments.length) { + for (; ++i < a; ) + if (null != (n = t[i]) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) null != (n = t[i]) && n > r && (r = n); + } else { + for (; ++i < a; ) + if (null != (n = e.call(t, t[i], i)) && n >= n) { + r = n; + break; + } + for (; ++i < a; ) + null != (n = e.call(t, t[i], i)) && n > r && (r = n); + } + return r; + }), + (t.extent = function (t, e) { + var r, + n, + i, + a = -1, + o = t.length; + if (1 === arguments.length) { + for (; ++a < o; ) + if (null != (n = t[a]) && n >= n) { + r = i = n; + break; + } + for (; ++a < o; ) + null != (n = t[a]) && (r > n && (r = n), i < n && (i = n)); + } else { + for (; ++a < o; ) + if (null != (n = e.call(t, t[a], a)) && n >= n) { + r = i = n; + break; + } + for (; ++a < o; ) + null != (n = e.call(t, t[a], a)) && + (r > n && (r = n), i < n && (i = n)); + } + return [r, i]; + }), + (t.sum = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1; + if (1 === arguments.length) + for (; ++a < i; ) d((r = +t[a])) && (n += r); + else for (; ++a < i; ) d((r = +e.call(t, t[a], a))) && (n += r); + return n; + }), + (t.mean = function (t, e) { + var r, + n = 0, + i = t.length, + a = -1, + o = i; + if (1 === arguments.length) + for (; ++a < i; ) d((r = p(t[a]))) ? (n += r) : --o; + else + for (; ++a < i; ) + d((r = p(e.call(t, t[a], a)))) ? (n += r) : --o; + if (o) return n / o; + }), + (t.quantile = function (t, e) { + var r = (t.length - 1) * e + 1, + n = Math.floor(r), + i = +t[n - 1], + a = r - n; + return a ? i + a * (t[n] - i) : i; + }), + (t.median = function (e, r) { + var n, + i = [], + a = e.length, + o = -1; + if (1 === arguments.length) + for (; ++o < a; ) d((n = p(e[o]))) && i.push(n); + else + for (; ++o < a; ) d((n = p(r.call(e, e[o], o)))) && i.push(n); + if (i.length) return t.quantile(i.sort(h), 0.5); + }), + (t.variance = function (t, e) { + var r, + n, + i = t.length, + a = 0, + o = 0, + s = -1, + l = 0; + if (1 === arguments.length) + for (; ++s < i; ) + d((r = p(t[s]))) && + (o += (n = r - a) * (r - (a += n / ++l))); + else + for (; ++s < i; ) + d((r = p(e.call(t, t[s], s)))) && + (o += (n = r - a) * (r - (a += n / ++l))); + if (l > 1) return o / (l - 1); + }), + (t.deviation = function () { + var e = t.variance.apply(this, arguments); + return e ? Math.sqrt(e) : e; + }); + var m = g(h); + function v(t) { + return t.length; + } + (t.bisectLeft = m.left), + (t.bisect = t.bisectRight = m.right), + (t.bisector = function (t) { + return g( + 1 === t.length + ? function (e, r) { + return h(t(e), r); + } + : t + ); + }), + (t.shuffle = function (t, e, r) { + (a = arguments.length) < 3 && + ((r = t.length), a < 2 && (e = 0)); + for (var n, i, a = r - e; a; ) + (i = (Math.random() * a--) | 0), + (n = t[a + e]), + (t[a + e] = t[i + e]), + (t[i + e] = n); + return t; + }), + (t.permute = function (t, e) { + for (var r = e.length, n = new Array(r); r--; ) n[r] = t[e[r]]; + return n; + }), + (t.pairs = function (t) { + for ( + var e = 0, + r = t.length - 1, + n = t[0], + i = new Array(r < 0 ? 0 : r); + e < r; + + ) + i[e] = [n, (n = t[++e])]; + return i; + }), + (t.transpose = function (e) { + if (!(a = e.length)) return []; + for (var r = -1, n = t.min(e, v), i = new Array(n); ++r < n; ) + for (var a, o = -1, s = (i[r] = new Array(a)); ++o < a; ) + s[o] = e[o][r]; + return i; + }), + (t.zip = function () { + return t.transpose(arguments); + }), + (t.keys = function (t) { + var e = []; + for (var r in t) e.push(r); + return e; + }), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.entries = function (t) { + var e = []; + for (var r in t) e.push({ key: r, value: t[r] }); + return e; + }), + (t.merge = function (t) { + for (var e, r, n, i = t.length, a = -1, o = 0; ++a < i; ) + o += t[a].length; + for (r = new Array(o); --i >= 0; ) + for (e = (n = t[i]).length; --e >= 0; ) r[--o] = n[e]; + return r; + }); + var y = Math.abs; + function x(t) { + for (var e = 1; (t * e) % 1; ) e *= 10; + return e; + } + function b(t, e) { + for (var r in e) + Object.defineProperty(t.prototype, r, { + value: e[r], + enumerable: !1, + }); + } + function _() { + this._ = Object.create(null); + } + (t.range = function (t, e, r) { + if ( + (arguments.length < 3 && + ((r = 1), arguments.length < 2 && ((e = t), (t = 0))), + (e - t) / r == 1 / 0) + ) + throw new Error('infinite range'); + var n, + i = [], + a = x(y(r)), + o = -1; + if (((t *= a), (e *= a), (r *= a) < 0)) + for (; (n = t + r * ++o) > e; ) i.push(n / a); + else for (; (n = t + r * ++o) < e; ) i.push(n / a); + return i; + }), + (t.map = function (t, e) { + var r = new _(); + if (t instanceof _) + t.forEach(function (t, e) { + r.set(t, e); + }); + else if (Array.isArray(t)) { + var n, + i = -1, + a = t.length; + if (1 === arguments.length) for (; ++i < a; ) r.set(i, t[i]); + else for (; ++i < a; ) r.set(e.call(t, (n = t[i]), i), n); + } else for (var o in t) r.set(o, t[o]); + return r; + }); + function w(t) { + return '__proto__' == (t += '') || '\0' === t[0] ? '\0' + t : t; + } + function T(t) { + return '\0' === (t += '')[0] ? t.slice(1) : t; + } + function k(t) { + return w(t) in this._; + } + function M(t) { + return (t = w(t)) in this._ && delete this._[t]; + } + function A() { + var t = []; + for (var e in this._) t.push(T(e)); + return t; + } + function S() { + var t = 0; + for (var e in this._) ++t; + return t; + } + function E() { + for (var t in this._) return !1; + return !0; + } + function C() { + this._ = Object.create(null); + } + function L(t) { + return t; + } + function I(t, e, r) { + return function () { + var n = r.apply(e, arguments); + return n === e ? t : n; + }; + } + function P(t, e) { + if (e in t) return e; + e = e.charAt(0).toUpperCase() + e.slice(1); + for (var r = 0, n = z.length; r < n; ++r) { + var i = z[r] + e; + if (i in t) return i; + } + } + b(_, { + has: k, + get: function (t) { + return this._[w(t)]; + }, + set: function (t, e) { + return (this._[w(t)] = e); + }, + remove: M, + keys: A, + values: function () { + var t = []; + for (var e in this._) t.push(this._[e]); + return t; + }, + entries: function () { + var t = []; + for (var e in this._) t.push({ key: T(e), value: this._[e] }); + return t; + }, + size: S, + empty: E, + forEach: function (t) { + for (var e in this._) t.call(this, T(e), this._[e]); + }, + }), + (t.nest = function () { + var e, + r, + n = {}, + i = [], + a = []; + function o(t, a, s) { + if (s >= i.length) + return r ? r.call(n, a) : e ? a.sort(e) : a; + for ( + var l, + c, + u, + f, + h = -1, + p = a.length, + d = i[s++], + g = new _(); + ++h < p; + + ) + (f = g.get((l = d((c = a[h]))))) + ? f.push(c) + : g.set(l, [c]); + return ( + t + ? ((c = t()), + (u = function (e, r) { + c.set(e, o(t, r, s)); + })) + : ((c = {}), + (u = function (e, r) { + c[e] = o(t, r, s); + })), + g.forEach(u), + c + ); + } + return ( + (n.map = function (t, e) { + return o(e, t, 0); + }), + (n.entries = function (e) { + return (function t(e, r) { + if (r >= i.length) return e; + var n = [], + o = a[r++]; + return ( + e.forEach(function (e, i) { + n.push({ key: e, values: t(i, r) }); + }), + o + ? n.sort(function (t, e) { + return o(t.key, e.key); + }) + : n + ); + })(o(t.map, e, 0), 0); + }), + (n.key = function (t) { + return i.push(t), n; + }), + (n.sortKeys = function (t) { + return (a[i.length - 1] = t), n; + }), + (n.sortValues = function (t) { + return (e = t), n; + }), + (n.rollup = function (t) { + return (r = t), n; + }), + n + ); + }), + (t.set = function (t) { + var e = new C(); + if (t) for (var r = 0, n = t.length; r < n; ++r) e.add(t[r]); + return e; + }), + b(C, { + has: k, + add: function (t) { + return (this._[w((t += ''))] = !0), t; + }, + remove: M, + values: A, + size: S, + empty: E, + forEach: function (t) { + for (var e in this._) t.call(this, T(e)); + }, + }), + (t.behavior = {}), + (t.rebind = function (t, e) { + for (var r, n = 1, i = arguments.length; ++n < i; ) + t[(r = arguments[n])] = I(t, e, e[r]); + return t; + }); + var z = ['webkit', 'ms', 'moz', 'Moz', 'o', 'O']; + function O() {} + function D() {} + function R(t) { + var e = [], + r = new _(); + function n() { + for (var r, n = e, i = -1, a = n.length; ++i < a; ) + (r = n[i].on) && r.apply(this, arguments); + return t; + } + return ( + (n.on = function (n, i) { + var a, + o = r.get(n); + return arguments.length < 2 + ? o && o.on + : (o && + ((o.on = null), + (e = e + .slice(0, (a = e.indexOf(o))) + .concat(e.slice(a + 1))), + r.remove(n)), + i && e.push(r.set(n, { on: i })), + t); + }), + n + ); + } + function F() { + t.event.preventDefault(); + } + function B() { + for (var e, r = t.event; (e = r.sourceEvent); ) r = e; + return r; + } + function N(e) { + for (var r = new D(), n = 0, i = arguments.length; ++n < i; ) + r[arguments[n]] = R(r); + return ( + (r.of = function (n, i) { + return function (a) { + try { + var o = (a.sourceEvent = t.event); + (a.target = e), (t.event = a), r[a.type].apply(n, i); + } finally { + t.event = o; + } + }; + }), + r + ); + } + (t.dispatch = function () { + for (var t = new D(), e = -1, r = arguments.length; ++e < r; ) + t[arguments[e]] = R(t); + return t; + }), + (D.prototype.on = function (t, e) { + var r = t.indexOf('.'), + n = ''; + if ((r >= 0 && ((n = t.slice(r + 1)), (t = t.slice(0, r))), t)) + return arguments.length < 2 + ? this[t].on(n) + : this[t].on(n, e); + if (2 === arguments.length) { + if (null == e) + for (t in this) + this.hasOwnProperty(t) && this[t].on(n, null); + return this; + } + }), + (t.event = null), + (t.requote = function (t) { + return t.replace(j, '\\$&'); + }); + var j = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g, + U = {}.__proto__ + ? function (t, e) { + t.__proto__ = e; + } + : function (t, e) { + for (var r in e) t[r] = e[r]; + }; + function V(t) { + return U(t, Y), t; + } + var q = function (t, e) { + return e.querySelector(t); + }, + H = function (t, e) { + return e.querySelectorAll(t); + }, + G = function (t, e) { + var r = t.matches || t[P(t, 'matchesSelector')]; + return (G = function (t, e) { + return r.call(t, e); + })(t, e); + }; + 'function' == typeof Sizzle && + ((q = function (t, e) { + return Sizzle(t, e)[0] || null; + }), + (H = Sizzle), + (G = Sizzle.matchesSelector)), + (t.selection = function () { + return t.select(i.documentElement); + }); + var Y = (t.selection.prototype = []); + function W(t) { + return 'function' == typeof t + ? t + : function () { + return q(t, this); + }; + } + function X(t) { + return 'function' == typeof t + ? t + : function () { + return H(t, this); + }; + } + (Y.select = function (t) { + var e, + r, + n, + i, + a = []; + t = W(t); + for (var o = -1, s = this.length; ++o < s; ) { + a.push((e = [])), (e.parentNode = (n = this[o]).parentNode); + for (var l = -1, c = n.length; ++l < c; ) + (i = n[l]) + ? (e.push((r = t.call(i, i.__data__, l, o))), + r && '__data__' in i && (r.__data__ = i.__data__)) + : e.push(null); + } + return V(a); + }), + (Y.selectAll = function (t) { + var e, + r, + i = []; + t = X(t); + for (var a = -1, o = this.length; ++a < o; ) + for (var s = this[a], l = -1, c = s.length; ++l < c; ) + (r = s[l]) && + (i.push((e = n(t.call(r, r.__data__, l, a)))), + (e.parentNode = r)); + return V(i); + }); + var Z = 'http://www.w3.org/1999/xhtml', + J = { + svg: 'http://www.w3.org/2000/svg', + xhtml: Z, + xlink: 'http://www.w3.org/1999/xlink', + xml: 'http://www.w3.org/XML/1998/namespace', + xmlns: 'http://www.w3.org/2000/xmlns/', + }; + function K(e, r) { + return ( + (e = t.ns.qualify(e)), + null == r + ? e.local + ? function () { + this.removeAttributeNS(e.space, e.local); + } + : function () { + this.removeAttribute(e); + } + : 'function' == typeof r + ? e.local + ? function () { + var t = r.apply(this, arguments); + null == t + ? this.removeAttributeNS(e.space, e.local) + : this.setAttributeNS(e.space, e.local, t); + } + : function () { + var t = r.apply(this, arguments); + null == t + ? this.removeAttribute(e) + : this.setAttribute(e, t); + } + : e.local + ? function () { + this.setAttributeNS(e.space, e.local, r); + } + : function () { + this.setAttribute(e, r); + } + ); + } + function Q(t) { + return t.trim().replace(/\s+/g, ' '); + } + function $(e) { + return new RegExp( + '(?:^|\\s+)' + t.requote(e) + '(?:\\s+|$)', + 'g' + ); + } + function tt(t) { + return (t + '').trim().split(/^|\s+/); + } + function et(t, e) { + var r = (t = tt(t).map(rt)).length; + return 'function' == typeof e + ? function () { + for (var n = -1, i = e.apply(this, arguments); ++n < r; ) + t[n](this, i); + } + : function () { + for (var n = -1; ++n < r; ) t[n](this, e); + }; + } + function rt(t) { + var e = $(t); + return function (r, n) { + if ((i = r.classList)) return n ? i.add(t) : i.remove(t); + var i = r.getAttribute('class') || ''; + n + ? ((e.lastIndex = 0), + e.test(i) || r.setAttribute('class', Q(i + ' ' + t))) + : r.setAttribute('class', Q(i.replace(e, ' '))); + }; + } + function nt(t, e, r) { + return null == e + ? function () { + this.style.removeProperty(t); + } + : 'function' == typeof e + ? function () { + var n = e.apply(this, arguments); + null == n + ? this.style.removeProperty(t) + : this.style.setProperty(t, n, r); + } + : function () { + this.style.setProperty(t, e, r); + }; + } + function it(t, e) { + return null == e + ? function () { + delete this[t]; + } + : 'function' == typeof e + ? function () { + var r = e.apply(this, arguments); + null == r ? delete this[t] : (this[t] = r); + } + : function () { + this[t] = e; + }; + } + function at(e) { + return 'function' == typeof e + ? e + : (e = t.ns.qualify(e)).local + ? function () { + return this.ownerDocument.createElementNS(e.space, e.local); + } + : function () { + var t = this.ownerDocument, + r = this.namespaceURI; + return r === Z && t.documentElement.namespaceURI === Z + ? t.createElement(e) + : t.createElementNS(r, e); + }; + } + function ot() { + var t = this.parentNode; + t && t.removeChild(this); + } + function st(t) { + return { __data__: t }; + } + function lt(t) { + return function () { + return G(this, t); + }; + } + function ct(t) { + return ( + arguments.length || (t = h), + function (e, r) { + return e && r ? t(e.__data__, r.__data__) : !e - !r; + } + ); + } + function ut(t, e) { + for (var r = 0, n = t.length; r < n; r++) + for (var i, a = t[r], o = 0, s = a.length; o < s; o++) + (i = a[o]) && e(i, o, r); + return t; + } + function ft(t) { + return U(t, ht), t; + } + (t.ns = { + prefix: J, + qualify: function (t) { + var e = t.indexOf(':'), + r = t; + return ( + e >= 0 && + 'xmlns' !== (r = t.slice(0, e)) && + (t = t.slice(e + 1)), + J.hasOwnProperty(r) ? { space: J[r], local: t } : t + ); + }, + }), + (Y.attr = function (e, r) { + if (arguments.length < 2) { + if ('string' == typeof e) { + var n = this.node(); + return (e = t.ns.qualify(e)).local + ? n.getAttributeNS(e.space, e.local) + : n.getAttribute(e); + } + for (r in e) this.each(K(r, e[r])); + return this; + } + return this.each(K(e, r)); + }), + (Y.classed = function (t, e) { + if (arguments.length < 2) { + if ('string' == typeof t) { + var r = this.node(), + n = (t = tt(t)).length, + i = -1; + if ((e = r.classList)) { + for (; ++i < n; ) if (!e.contains(t[i])) return !1; + } else + for (e = r.getAttribute('class'); ++i < n; ) + if (!$(t[i]).test(e)) return !1; + return !0; + } + for (e in t) this.each(et(e, t[e])); + return this; + } + return this.each(et(t, e)); + }), + (Y.style = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ('string' != typeof t) { + for (r in (n < 2 && (e = ''), t)) this.each(nt(r, t[r], e)); + return this; + } + if (n < 2) { + var i = this.node(); + return o(i).getComputedStyle(i, null).getPropertyValue(t); + } + r = ''; + } + return this.each(nt(t, e, r)); + }), + (Y.property = function (t, e) { + if (arguments.length < 2) { + if ('string' == typeof t) return this.node()[t]; + for (e in t) this.each(it(e, t[e])); + return this; + } + return this.each(it(t, e)); + }), + (Y.text = function (t) { + return arguments.length + ? this.each( + 'function' == typeof t + ? function () { + var e = t.apply(this, arguments); + this.textContent = null == e ? '' : e; + } + : null == t + ? function () { + this.textContent = ''; + } + : function () { + this.textContent = t; + } + ) + : this.node().textContent; + }), + (Y.html = function (t) { + return arguments.length + ? this.each( + 'function' == typeof t + ? function () { + var e = t.apply(this, arguments); + this.innerHTML = null == e ? '' : e; + } + : null == t + ? function () { + this.innerHTML = ''; + } + : function () { + this.innerHTML = t; + } + ) + : this.node().innerHTML; + }), + (Y.append = function (t) { + return ( + (t = at(t)), + this.select(function () { + return this.appendChild(t.apply(this, arguments)); + }) + ); + }), + (Y.insert = function (t, e) { + return ( + (t = at(t)), + (e = W(e)), + this.select(function () { + return this.insertBefore( + t.apply(this, arguments), + e.apply(this, arguments) || null + ); + }) + ); + }), + (Y.remove = function () { + return this.each(ot); + }), + (Y.data = function (t, e) { + var r, + n, + i = -1, + a = this.length; + if (!arguments.length) { + for (t = new Array((a = (r = this[0]).length)); ++i < a; ) + (n = r[i]) && (t[i] = n.__data__); + return t; + } + function o(t, r) { + var n, + i, + a, + o = t.length, + u = r.length, + f = Math.min(o, u), + h = new Array(u), + p = new Array(u), + d = new Array(o); + if (e) { + var g, + m = new _(), + v = new Array(o); + for (n = -1; ++n < o; ) + (i = t[n]) && + (m.has((g = e.call(i, i.__data__, n))) + ? (d[n] = i) + : m.set(g, i), + (v[n] = g)); + for (n = -1; ++n < u; ) + (i = m.get((g = e.call(r, (a = r[n]), n)))) + ? !0 !== i && ((h[n] = i), (i.__data__ = a)) + : (p[n] = st(a)), + m.set(g, !0); + for (n = -1; ++n < o; ) + n in v && !0 !== m.get(v[n]) && (d[n] = t[n]); + } else { + for (n = -1; ++n < f; ) + (i = t[n]), + (a = r[n]), + i ? ((i.__data__ = a), (h[n] = i)) : (p[n] = st(a)); + for (; n < u; ++n) p[n] = st(r[n]); + for (; n < o; ++n) d[n] = t[n]; + } + (p.update = h), + (p.parentNode = h.parentNode = d.parentNode = t.parentNode), + s.push(p), + l.push(h), + c.push(d); + } + var s = ft([]), + l = V([]), + c = V([]); + if ('function' == typeof t) + for (; ++i < a; ) + o((r = this[i]), t.call(r, r.parentNode.__data__, i)); + else for (; ++i < a; ) o((r = this[i]), t); + return ( + (l.enter = function () { + return s; + }), + (l.exit = function () { + return c; + }), + l + ); + }), + (Y.datum = function (t) { + return arguments.length + ? this.property('__data__', t) + : this.property('__data__'); + }), + (Y.filter = function (t) { + var e, + r, + n, + i = []; + 'function' != typeof t && (t = lt(t)); + for (var a = 0, o = this.length; a < o; a++) { + i.push((e = [])), (e.parentNode = (r = this[a]).parentNode); + for (var s = 0, l = r.length; s < l; s++) + (n = r[s]) && t.call(n, n.__data__, s, a) && e.push(n); + } + return V(i); + }), + (Y.order = function () { + for (var t = -1, e = this.length; ++t < e; ) + for ( + var r, n = this[t], i = n.length - 1, a = n[i]; + --i >= 0; + + ) + (r = n[i]) && + (a && + a !== r.nextSibling && + a.parentNode.insertBefore(r, a), + (a = r)); + return this; + }), + (Y.sort = function (t) { + t = ct.apply(this, arguments); + for (var e = -1, r = this.length; ++e < r; ) this[e].sort(t); + return this.order(); + }), + (Y.each = function (t) { + return ut(this, function (e, r, n) { + t.call(e, e.__data__, r, n); + }); + }), + (Y.call = function (t) { + var e = n(arguments); + return t.apply((e[0] = this), e), this; + }), + (Y.empty = function () { + return !this.node(); + }), + (Y.node = function () { + for (var t = 0, e = this.length; t < e; t++) + for (var r = this[t], n = 0, i = r.length; n < i; n++) { + var a = r[n]; + if (a) return a; + } + return null; + }), + (Y.size = function () { + var t = 0; + return ( + ut(this, function () { + ++t; + }), + t + ); + }); + var ht = []; + function pt(t) { + var e, r; + return function (n, i, a) { + var o, + s = t[a].update, + l = s.length; + for ( + a != r && ((r = a), (e = 0)), i >= e && (e = i + 1); + !(o = s[e]) && ++e < l; + + ); + return o; + }; + } + function dt(e, r, i) { + var a = '__on' + e, + o = e.indexOf('.'), + s = mt; + o > 0 && (e = e.slice(0, o)); + var l = gt.get(e); + function c() { + var t = this[a]; + t && (this.removeEventListener(e, t, t.$), delete this[a]); + } + return ( + l && ((e = l), (s = vt)), + o + ? r + ? function () { + var t = s(r, n(arguments)); + c.call(this), + this.addEventListener(e, (this[a] = t), (t.$ = i)), + (t._ = r); + } + : c + : r + ? O + : function () { + var r, + n = new RegExp('^__on([^.]+)' + t.requote(e) + '$'); + for (var i in this) + if ((r = i.match(n))) { + var a = this[i]; + this.removeEventListener(r[1], a, a.$), + delete this[i]; + } + } + ); + } + (t.selection.enter = ft), + (t.selection.enter.prototype = ht), + (ht.append = Y.append), + (ht.empty = Y.empty), + (ht.node = Y.node), + (ht.call = Y.call), + (ht.size = Y.size), + (ht.select = function (t) { + for ( + var e, r, n, i, a, o = [], s = -1, l = this.length; + ++s < l; + + ) { + (n = (i = this[s]).update), + o.push((e = [])), + (e.parentNode = i.parentNode); + for (var c = -1, u = i.length; ++c < u; ) + (a = i[c]) + ? (e.push( + (n[c] = r = t.call(i.parentNode, a.__data__, c, s)) + ), + (r.__data__ = a.__data__)) + : e.push(null); + } + return V(o); + }), + (ht.insert = function (t, e) { + return ( + arguments.length < 2 && (e = pt(this)), + Y.insert.call(this, t, e) + ); + }), + (t.select = function (t) { + var e; + return ( + 'string' == typeof t + ? ((e = [q(t, i)]).parentNode = i.documentElement) + : ((e = [t]).parentNode = a(t)), + V([e]) + ); + }), + (t.selectAll = function (t) { + var e; + return ( + 'string' == typeof t + ? ((e = n(H(t, i))).parentNode = i.documentElement) + : ((e = n(t)).parentNode = null), + V([e]) + ); + }), + (Y.on = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ('string' != typeof t) { + for (r in (n < 2 && (e = !1), t)) this.each(dt(r, t[r], e)); + return this; + } + if (n < 2) return (n = this.node()['__on' + t]) && n._; + r = !1; + } + return this.each(dt(t, e, r)); + }); + var gt = t.map({ mouseenter: 'mouseover', mouseleave: 'mouseout' }); + function mt(e, r) { + return function (n) { + var i = t.event; + (t.event = n), (r[0] = this.__data__); + try { + e.apply(this, r); + } finally { + t.event = i; + } + }; + } + function vt(t, e) { + var r = mt(t, e); + return function (t) { + var e = t.relatedTarget; + (e && (e === this || 8 & e.compareDocumentPosition(this))) || + r.call(this, t); + }; + } + i && + gt.forEach(function (t) { + 'on' + t in i && gt.remove(t); + }); + var yt, + xt = 0; + function bt(e) { + var r = '.dragsuppress-' + ++xt, + n = 'click' + r, + i = t + .select(o(e)) + .on('touchmove' + r, F) + .on('dragstart' + r, F) + .on('selectstart' + r, F); + if ( + (null == yt && + (yt = !('onselectstart' in e) && P(e.style, 'userSelect')), + yt) + ) { + var s = a(e).style, + l = s[yt]; + s[yt] = 'none'; + } + return function (t) { + if ((i.on(r, null), yt && (s[yt] = l), t)) { + var e = function () { + i.on(n, null); + }; + i.on( + n, + function () { + F(), e(); + }, + !0 + ), + setTimeout(e, 0); + } + }; + } + t.mouse = function (t) { + return wt(t, B()); + }; + var _t = + this.navigator && /WebKit/.test(this.navigator.userAgent) + ? -1 + : 0; + function wt(e, r) { + r.changedTouches && (r = r.changedTouches[0]); + var n = e.ownerSVGElement || e; + if (n.createSVGPoint) { + var i = n.createSVGPoint(); + if (_t < 0) { + var a = o(e); + if (a.scrollX || a.scrollY) { + var s = (n = t + .select('body') + .append('svg') + .style( + { + position: 'absolute', + top: 0, + left: 0, + margin: 0, + padding: 0, + border: 'none', + }, + 'important' + ))[0][0].getScreenCTM(); + (_t = !(s.f || s.e)), n.remove(); + } + } + return ( + _t + ? ((i.x = r.pageX), (i.y = r.pageY)) + : ((i.x = r.clientX), (i.y = r.clientY)), + [(i = i.matrixTransform(e.getScreenCTM().inverse())).x, i.y] + ); + } + var l = e.getBoundingClientRect(); + return [ + r.clientX - l.left - e.clientLeft, + r.clientY - l.top - e.clientTop, + ]; + } + function Tt() { + return t.event.changedTouches[0].identifier; + } + (t.touch = function (t, e, r) { + if ( + (arguments.length < 3 && ((r = e), (e = B().changedTouches)), e) + ) + for (var n, i = 0, a = e.length; i < a; ++i) + if ((n = e[i]).identifier === r) return wt(t, n); + }), + (t.behavior.drag = function () { + var e = N(a, 'drag', 'dragstart', 'dragend'), + r = null, + n = s(O, t.mouse, o, 'mousemove', 'mouseup'), + i = s(Tt, t.touch, L, 'touchmove', 'touchend'); + function a() { + this.on('mousedown.drag', n).on('touchstart.drag', i); + } + function s(n, i, a, o, s) { + return function () { + var l, + c = this, + u = t.event.target.correspondingElement || t.event.target, + f = c.parentNode, + h = e.of(c, arguments), + p = 0, + d = n(), + g = '.drag' + (null == d ? '' : '-' + d), + m = t + .select(a(u)) + .on(o + g, x) + .on(s + g, b), + v = bt(u), + y = i(f, d); + function x() { + var t, + e, + r = i(f, d); + r && + ((t = r[0] - y[0]), + (e = r[1] - y[1]), + (p |= t | e), + (y = r), + h({ + type: 'drag', + x: r[0] + l[0], + y: r[1] + l[1], + dx: t, + dy: e, + })); + } + function b() { + i(f, d) && + (m.on(o + g, null).on(s + g, null), + v(p), + h({ type: 'dragend' })); + } + (l = r + ? [(l = r.apply(c, arguments)).x - y[0], l.y - y[1]] + : [0, 0]), + h({ type: 'dragstart' }); + }; + } + return ( + (a.origin = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + t.rebind(a, e, 'on') + ); + }), + (t.touches = function (t, e) { + return ( + arguments.length < 2 && (e = B().touches), + e + ? n(e).map(function (e) { + var r = wt(t, e); + return (r.identifier = e.identifier), r; + }) + : [] + ); + }); + var kt = 1e-6, + Mt = 1e-12, + At = Math.PI, + St = 2 * At, + Et = St - kt, + Ct = At / 2, + Lt = At / 180, + It = 180 / At; + function Pt(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function zt(t, e, r) { + return ( + (e[0] - t[0]) * (r[1] - t[1]) - (e[1] - t[1]) * (r[0] - t[0]) + ); + } + function Ot(t) { + return t > 1 ? 0 : t < -1 ? At : Math.acos(t); + } + function Dt(t) { + return t > 1 ? Ct : t < -1 ? -Ct : Math.asin(t); + } + function Rt(t) { + return ((t = Math.exp(t)) + 1 / t) / 2; + } + function Ft(t) { + return (t = Math.sin(t / 2)) * t; + } + var Bt = Math.SQRT2; + (t.interpolateZoom = function (t, e) { + var r, + n, + i = t[0], + a = t[1], + o = t[2], + s = e[0], + l = e[1], + c = e[2], + u = s - i, + f = l - a, + h = u * u + f * f; + if (h < Mt) + (n = Math.log(c / o) / Bt), + (r = function (t) { + return [i + t * u, a + t * f, o * Math.exp(Bt * t * n)]; + }); + else { + var p = Math.sqrt(h), + d = (c * c - o * o + 4 * h) / (2 * o * 2 * p), + g = (c * c - o * o - 4 * h) / (2 * c * 2 * p), + m = Math.log(Math.sqrt(d * d + 1) - d), + v = Math.log(Math.sqrt(g * g + 1) - g); + (n = (v - m) / Bt), + (r = function (t) { + var e, + r = t * n, + s = Rt(m), + l = + (o / (2 * p)) * + (s * + ((e = Bt * r + m), + ((e = Math.exp(2 * e)) - 1) / (e + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2; + })(m)); + return [i + l * u, a + l * f, (o * s) / Rt(Bt * r + m)]; + }); + } + return (r.duration = 1e3 * n), r; + }), + (t.behavior.zoom = function () { + var e, + r, + n, + a, + s, + l, + c, + u, + f, + h = { x: 0, y: 0, k: 1 }, + p = [960, 500], + d = Ut, + g = 250, + m = 0, + v = 'mousedown.zoom', + y = 'mousemove.zoom', + x = 'mouseup.zoom', + b = 'touchstart.zoom', + _ = N(w, 'zoomstart', 'zoom', 'zoomend'); + function w(t) { + t.on(v, I) + .on(jt + '.zoom', z) + .on('dblclick.zoom', O) + .on(b, P); + } + function T(t) { + return [(t[0] - h.x) / h.k, (t[1] - h.y) / h.k]; + } + function k(t) { + h.k = Math.max(d[0], Math.min(d[1], t)); + } + function M(t, e) { + (e = (function (t) { + return [t[0] * h.k + h.x, t[1] * h.k + h.y]; + })(e)), + (h.x += t[0] - e[0]), + (h.y += t[1] - e[1]); + } + function A(e, n, i, a) { + (e.__chart__ = { x: h.x, y: h.y, k: h.k }), + k(Math.pow(2, a)), + M((r = n), i), + (e = t.select(e)), + g > 0 && (e = e.transition().duration(g)), + e.call(w.event); + } + function S() { + c && + c.domain( + l + .range() + .map(function (t) { + return (t - h.x) / h.k; + }) + .map(l.invert) + ), + f && + f.domain( + u + .range() + .map(function (t) { + return (t - h.y) / h.k; + }) + .map(u.invert) + ); + } + function E(t) { + m++ || t({ type: 'zoomstart' }); + } + function C(t) { + S(), t({ type: 'zoom', scale: h.k, translate: [h.x, h.y] }); + } + function L(t) { + --m || (t({ type: 'zoomend' }), (r = null)); + } + function I() { + var e = this, + r = _.of(e, arguments), + n = 0, + i = t.select(o(e)).on(y, l).on(x, c), + a = T(t.mouse(e)), + s = bt(e); + function l() { + (n = 1), M(t.mouse(e), a), C(r); + } + function c() { + i.on(y, null).on(x, null), s(n), L(r); + } + vs.call(e), E(r); + } + function P() { + var e, + r = this, + n = _.of(r, arguments), + i = {}, + a = 0, + o = '.zoom-' + t.event.changedTouches[0].identifier, + l = 'touchmove' + o, + c = 'touchend' + o, + u = [], + f = t.select(r), + p = bt(r); + function d() { + var n = t.touches(r); + return ( + (e = h.k), + n.forEach(function (t) { + t.identifier in i && (i[t.identifier] = T(t)); + }), + n + ); + } + function g() { + var e = t.event.target; + t.select(e).on(l, m).on(c, y), u.push(e); + for ( + var n = t.event.changedTouches, o = 0, f = n.length; + o < f; + ++o + ) + i[n[o].identifier] = null; + var p = d(), + g = Date.now(); + if (1 === p.length) { + if (g - s < 500) { + var v = p[0]; + A( + r, + v, + i[v.identifier], + Math.floor(Math.log(h.k) / Math.LN2) + 1 + ), + F(); + } + s = g; + } else if (p.length > 1) { + v = p[0]; + var x = p[1], + b = v[0] - x[0], + _ = v[1] - x[1]; + a = b * b + _ * _; + } + } + function m() { + var o, + l, + c, + u, + f = t.touches(r); + vs.call(r); + for (var h = 0, p = f.length; h < p; ++h, u = null) + if (((c = f[h]), (u = i[c.identifier]))) { + if (l) break; + (o = c), (l = u); + } + if (u) { + var d = (d = c[0] - o[0]) * d + (d = c[1] - o[1]) * d, + g = a && Math.sqrt(d / a); + (o = [(o[0] + c[0]) / 2, (o[1] + c[1]) / 2]), + (l = [(l[0] + u[0]) / 2, (l[1] + u[1]) / 2]), + k(g * e); + } + (s = null), M(o, l), C(n); + } + function y() { + if (t.event.touches.length) { + for ( + var e = t.event.changedTouches, r = 0, a = e.length; + r < a; + ++r + ) + delete i[e[r].identifier]; + for (var s in i) return void d(); + } + t.selectAll(u).on(o, null), f.on(v, I).on(b, P), p(), L(n); + } + g(), E(n), f.on(v, null).on(b, g); + } + function z() { + var i = _.of(this, arguments); + a + ? clearTimeout(a) + : (vs.call(this), (e = T((r = n || t.mouse(this)))), E(i)), + (a = setTimeout(function () { + (a = null), L(i); + }, 50)), + F(), + k(Math.pow(2, 0.002 * Nt()) * h.k), + M(r, e), + C(i); + } + function O() { + var e = t.mouse(this), + r = Math.log(h.k) / Math.LN2; + A( + this, + e, + T(e), + t.event.shiftKey ? Math.ceil(r) - 1 : Math.floor(r) + 1 + ); + } + return ( + jt || + (jt = + 'onwheel' in i + ? ((Nt = function () { + return ( + -t.event.deltaY * (t.event.deltaMode ? 120 : 1) + ); + }), + 'wheel') + : 'onmousewheel' in i + ? ((Nt = function () { + return t.event.wheelDelta; + }), + 'mousewheel') + : ((Nt = function () { + return -t.event.detail; + }), + 'MozMousePixelScroll')), + (w.event = function (e) { + e.each(function () { + var e = _.of(this, arguments), + n = h; + bs + ? t + .select(this) + .transition() + .each('start.zoom', function () { + (h = this.__chart__ || { x: 0, y: 0, k: 1 }), + E(e); + }) + .tween('zoom:zoom', function () { + var i = p[0], + a = p[1], + o = r ? r[0] : i / 2, + s = r ? r[1] : a / 2, + l = t.interpolateZoom( + [(o - h.x) / h.k, (s - h.y) / h.k, i / h.k], + [(o - n.x) / n.k, (s - n.y) / n.k, i / n.k] + ); + return function (t) { + var r = l(t), + n = i / r[2]; + (this.__chart__ = h = + { x: o - r[0] * n, y: s - r[1] * n, k: n }), + C(e); + }; + }) + .each('interrupt.zoom', function () { + L(e); + }) + .each('end.zoom', function () { + L(e); + }) + : ((this.__chart__ = h), E(e), C(e), L(e)); + }); + }), + (w.translate = function (t) { + return arguments.length + ? ((h = { x: +t[0], y: +t[1], k: h.k }), S(), w) + : [h.x, h.y]; + }), + (w.scale = function (t) { + return arguments.length + ? ((h = { x: h.x, y: h.y, k: null }), k(+t), S(), w) + : h.k; + }), + (w.scaleExtent = function (t) { + return arguments.length + ? ((d = null == t ? Ut : [+t[0], +t[1]]), w) + : d; + }), + (w.center = function (t) { + return arguments.length + ? ((n = t && [+t[0], +t[1]]), w) + : n; + }), + (w.size = function (t) { + return arguments.length + ? ((p = t && [+t[0], +t[1]]), w) + : p; + }), + (w.duration = function (t) { + return arguments.length ? ((g = +t), w) : g; + }), + (w.x = function (t) { + return arguments.length + ? ((c = t), (l = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) + : c; + }), + (w.y = function (t) { + return arguments.length + ? ((f = t), (u = t.copy()), (h = { x: 0, y: 0, k: 1 }), w) + : f; + }), + t.rebind(w, _, 'on') + ); + }); + var Nt, + jt, + Ut = [0, 1 / 0]; + function Vt() {} + function qt(t, e, r) { + return this instanceof qt + ? ((this.h = +t), (this.s = +e), void (this.l = +r)) + : arguments.length < 2 + ? t instanceof qt + ? new qt(t.h, t.s, t.l) + : le('' + t, ce, qt) + : new qt(t, e, r); + } + (t.color = Vt), + (Vt.prototype.toString = function () { + return this.rgb() + ''; + }), + (t.hsl = qt); + var Ht = (qt.prototype = new Vt()); + function Gt(t, e, r) { + var n, i; + function a(t) { + return Math.round( + 255 * + (function (t) { + return ( + t > 360 ? (t -= 360) : t < 0 && (t += 360), + t < 60 + ? n + ((i - n) * t) / 60 + : t < 180 + ? i + : t < 240 + ? n + ((i - n) * (240 - t)) / 60 + : n + ); + })(t) + ); + } + return ( + (t = isNaN(t) ? 0 : (t %= 360) < 0 ? t + 360 : t), + (e = isNaN(e) || e < 0 ? 0 : e > 1 ? 1 : e), + (n = + 2 * (r = r < 0 ? 0 : r > 1 ? 1 : r) - + (i = r <= 0.5 ? r * (1 + e) : r + e - r * e)), + new ne(a(t + 120), a(t), a(t - 120)) + ); + } + function Yt(e, r, n) { + return this instanceof Yt + ? ((this.h = +e), (this.c = +r), void (this.l = +n)) + : arguments.length < 2 + ? e instanceof Yt + ? new Yt(e.h, e.c, e.l) + : $t( + e instanceof Zt + ? e.l + : (e = ue((e = t.rgb(e)).r, e.g, e.b)).l, + e.a, + e.b + ) + : new Yt(e, r, n); + } + (Ht.brighter = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new qt(this.h, this.s, this.l / t) + ); + }), + (Ht.darker = function (t) { + return ( + (t = Math.pow(0.7, arguments.length ? t : 1)), + new qt(this.h, this.s, t * this.l) + ); + }), + (Ht.rgb = function () { + return Gt(this.h, this.s, this.l); + }), + (t.hcl = Yt); + var Wt = (Yt.prototype = new Vt()); + function Xt(t, e, r) { + return ( + isNaN(t) && (t = 0), + isNaN(e) && (e = 0), + new Zt(r, Math.cos((t *= Lt)) * e, Math.sin(t) * e) + ); + } + function Zt(t, e, r) { + return this instanceof Zt + ? ((this.l = +t), (this.a = +e), void (this.b = +r)) + : arguments.length < 2 + ? t instanceof Zt + ? new Zt(t.l, t.a, t.b) + : t instanceof Yt + ? Xt(t.h, t.c, t.l) + : ue((t = ne(t)).r, t.g, t.b) + : new Zt(t, e, r); + } + (Wt.brighter = function (t) { + return new Yt( + this.h, + this.c, + Math.min(100, this.l + Jt * (arguments.length ? t : 1)) + ); + }), + (Wt.darker = function (t) { + return new Yt( + this.h, + this.c, + Math.max(0, this.l - Jt * (arguments.length ? t : 1)) + ); + }), + (Wt.rgb = function () { + return Xt(this.h, this.c, this.l).rgb(); + }), + (t.lab = Zt); + var Jt = 18, + Kt = (Zt.prototype = new Vt()); + function Qt(t, e, r) { + var n = (t + 16) / 116, + i = n + e / 500, + a = n - r / 200; + return new ne( + re( + 3.2404542 * (i = 0.95047 * te(i)) - + 1.5371385 * (n = 1 * te(n)) - + 0.4985314 * (a = 1.08883 * te(a)) + ), + re(-0.969266 * i + 1.8760108 * n + 0.041556 * a), + re(0.0556434 * i - 0.2040259 * n + 1.0572252 * a) + ); + } + function $t(t, e, r) { + return t > 0 + ? new Yt(Math.atan2(r, e) * It, Math.sqrt(e * e + r * r), t) + : new Yt(NaN, NaN, t); + } + function te(t) { + return t > 0.206893034 ? t * t * t : (t - 4 / 29) / 7.787037; + } + function ee(t) { + return t > 0.008856 ? Math.pow(t, 1 / 3) : 7.787037 * t + 4 / 29; + } + function re(t) { + return Math.round( + 255 * + (t <= 0.00304 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function ne(t, e, r) { + return this instanceof ne + ? ((this.r = ~~t), (this.g = ~~e), void (this.b = ~~r)) + : arguments.length < 2 + ? t instanceof ne + ? new ne(t.r, t.g, t.b) + : le('' + t, ne, Gt) + : new ne(t, e, r); + } + function ie(t) { + return new ne(t >> 16, (t >> 8) & 255, 255 & t); + } + function ae(t) { + return ie(t) + ''; + } + (Kt.brighter = function (t) { + return new Zt( + Math.min(100, this.l + Jt * (arguments.length ? t : 1)), + this.a, + this.b + ); + }), + (Kt.darker = function (t) { + return new Zt( + Math.max(0, this.l - Jt * (arguments.length ? t : 1)), + this.a, + this.b + ); + }), + (Kt.rgb = function () { + return Qt(this.l, this.a, this.b); + }), + (t.rgb = ne); + var oe = (ne.prototype = new Vt()); + function se(t) { + return t < 16 + ? '0' + Math.max(0, t).toString(16) + : Math.min(255, t).toString(16); + } + function le(t, e, r) { + var n, + i, + a, + o = 0, + s = 0, + l = 0; + if ((n = /([a-z]+)\((.*)\)/.exec((t = t.toLowerCase())))) + switch (((i = n[2].split(',')), n[1])) { + case 'hsl': + return r( + parseFloat(i[0]), + parseFloat(i[1]) / 100, + parseFloat(i[2]) / 100 + ); + case 'rgb': + return e(he(i[0]), he(i[1]), he(i[2])); + } + return (a = pe.get(t)) + ? e(a.r, a.g, a.b) + : (null == t || + '#' !== t.charAt(0) || + isNaN((a = parseInt(t.slice(1), 16))) || + (4 === t.length + ? ((o = (3840 & a) >> 4), + (o |= o >> 4), + (s = 240 & a), + (s |= s >> 4), + (l = 15 & a), + (l |= l << 4)) + : 7 === t.length && + ((o = (16711680 & a) >> 16), + (s = (65280 & a) >> 8), + (l = 255 & a))), + e(o, s, l)); + } + function ce(t, e, r) { + var n, + i, + a = Math.min((t /= 255), (e /= 255), (r /= 255)), + o = Math.max(t, e, r), + s = o - a, + l = (o + a) / 2; + return ( + s + ? ((i = l < 0.5 ? s / (o + a) : s / (2 - o - a)), + (n = + t == o + ? (e - r) / s + (e < r ? 6 : 0) + : e == o + ? (r - t) / s + 2 + : (t - e) / s + 4), + (n *= 60)) + : ((n = NaN), (i = l > 0 && l < 1 ? 0 : n)), + new qt(n, i, l) + ); + } + function ue(t, e, r) { + var n = ee( + (0.4124564 * (t = fe(t)) + + 0.3575761 * (e = fe(e)) + + 0.1804375 * (r = fe(r))) / + 0.95047 + ), + i = ee((0.2126729 * t + 0.7151522 * e + 0.072175 * r) / 1); + return Zt( + 116 * i - 16, + 500 * (n - i), + 200 * + (i - + ee( + (0.0193339 * t + 0.119192 * e + 0.9503041 * r) / 1.08883 + )) + ); + } + function fe(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function he(t) { + var e = parseFloat(t); + return '%' === t.charAt(t.length - 1) ? Math.round(2.55 * e) : e; + } + (oe.brighter = function (t) { + t = Math.pow(0.7, arguments.length ? t : 1); + var e = this.r, + r = this.g, + n = this.b, + i = 30; + return e || r || n + ? (e && e < i && (e = i), + r && r < i && (r = i), + n && n < i && (n = i), + new ne( + Math.min(255, e / t), + Math.min(255, r / t), + Math.min(255, n / t) + )) + : new ne(i, i, i); + }), + (oe.darker = function (t) { + return new ne( + (t = Math.pow(0.7, arguments.length ? t : 1)) * this.r, + t * this.g, + t * this.b + ); + }), + (oe.hsl = function () { + return ce(this.r, this.g, this.b); + }), + (oe.toString = function () { + return '#' + se(this.r) + se(this.g) + se(this.b); + }); + var pe = t.map({ + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074, + }); + function de(t) { + return 'function' == typeof t + ? t + : function () { + return t; + }; + } + function ge(t) { + return function (e, r, n) { + return ( + 2 === arguments.length && + 'function' == typeof r && + ((n = r), (r = null)), + me(e, r, t, n) + ); + }; + } + function me(e, r, i, a) { + var o = {}, + s = t.dispatch('beforesend', 'progress', 'load', 'error'), + l = {}, + c = new XMLHttpRequest(), + u = null; + function f() { + var t, + e = c.status; + if ( + (!e && + (function (t) { + var e = t.responseType; + return e && 'text' !== e ? t.response : t.responseText; + })(c)) || + (e >= 200 && e < 300) || + 304 === e + ) { + try { + t = i.call(o, c); + } catch (t) { + return void s.error.call(o, t); + } + s.load.call(o, t); + } else s.error.call(o, c); + } + return ( + this.XDomainRequest && + !('withCredentials' in c) && + /^(http(s)?:)?\/\//.test(e) && + (c = new XDomainRequest()), + 'onload' in c + ? (c.onload = c.onerror = f) + : (c.onreadystatechange = function () { + c.readyState > 3 && f(); + }), + (c.onprogress = function (e) { + var r = t.event; + t.event = e; + try { + s.progress.call(o, c); + } finally { + t.event = r; + } + }), + (o.header = function (t, e) { + return ( + (t = (t + '').toLowerCase()), + arguments.length < 2 + ? l[t] + : (null == e ? delete l[t] : (l[t] = e + ''), o) + ); + }), + (o.mimeType = function (t) { + return arguments.length + ? ((r = null == t ? null : t + ''), o) + : r; + }), + (o.responseType = function (t) { + return arguments.length ? ((u = t), o) : u; + }), + (o.response = function (t) { + return (i = t), o; + }), + ['get', 'post'].forEach(function (t) { + o[t] = function () { + return o.send.apply(o, [t].concat(n(arguments))); + }; + }), + (o.send = function (t, n, i) { + if ( + (2 === arguments.length && + 'function' == typeof n && + ((i = n), (n = null)), + c.open(t, e, !0), + null == r || 'accept' in l || (l.accept = r + ',*/*'), + c.setRequestHeader) + ) + for (var a in l) c.setRequestHeader(a, l[a]); + return ( + null != r && c.overrideMimeType && c.overrideMimeType(r), + null != u && (c.responseType = u), + null != i && + o.on('error', i).on('load', function (t) { + i(null, t); + }), + s.beforesend.call(o, c), + c.send(null == n ? null : n), + o + ); + }), + (o.abort = function () { + return c.abort(), o; + }), + t.rebind(o, s, 'on'), + null == a + ? o + : o.get( + (function (t) { + return 1 === t.length + ? function (e, r) { + t(null == e ? r : null); + } + : t; + })(a) + ) + ); + } + pe.forEach(function (t, e) { + pe.set(t, ie(e)); + }), + (t.functor = de), + (t.xhr = ge(L)), + (t.dsv = function (t, e) { + var r = new RegExp('["' + t + '\n]'), + n = t.charCodeAt(0); + function i(t, r, n) { + arguments.length < 3 && ((n = r), (r = null)); + var i = me(t, e, null == r ? a : o(r), n); + return ( + (i.row = function (t) { + return arguments.length + ? i.response(null == (r = t) ? a : o(t)) + : r; + }), + i + ); + } + function a(t) { + return i.parse(t.responseText); + } + function o(t) { + return function (e) { + return i.parse(e.responseText, t); + }; + } + function s(e) { + return e.map(l).join(t); + } + function l(t) { + return r.test(t) ? '"' + t.replace(/\"/g, '""') + '"' : t; + } + return ( + (i.parse = function (t, e) { + var r; + return i.parseRows(t, function (t, n) { + if (r) return r(t, n - 1); + var i = new Function( + 'd', + 'return {' + + t + .map(function (t, e) { + return JSON.stringify(t) + ': d[' + e + ']'; + }) + .join(',') + + '}' + ); + r = e + ? function (t, r) { + return e(i(t), r); + } + : i; + }); + }), + (i.parseRows = function (t, e) { + var r, + i, + a = {}, + o = {}, + s = [], + l = t.length, + c = 0, + u = 0; + function f() { + if (c >= l) return o; + if (i) return (i = !1), a; + var e = c; + if (34 === t.charCodeAt(e)) { + for (var r = e; r++ < l; ) + if (34 === t.charCodeAt(r)) { + if (34 !== t.charCodeAt(r + 1)) break; + ++r; + } + return ( + (c = r + 2), + 13 === (s = t.charCodeAt(r + 1)) + ? ((i = !0), 10 === t.charCodeAt(r + 2) && ++c) + : 10 === s && (i = !0), + t.slice(e + 1, r).replace(/""/g, '"') + ); + } + for (; c < l; ) { + var s, + u = 1; + if (10 === (s = t.charCodeAt(c++))) i = !0; + else if (13 === s) + (i = !0), 10 === t.charCodeAt(c) && (++c, ++u); + else if (s !== n) continue; + return t.slice(e, c - u); + } + return t.slice(e); + } + for (; (r = f()) !== o; ) { + for (var h = []; r !== a && r !== o; ) + h.push(r), (r = f()); + (e && null == (h = e(h, u++))) || s.push(h); + } + return s; + }), + (i.format = function (e) { + if (Array.isArray(e[0])) return i.formatRows(e); + var r = new C(), + n = []; + return ( + e.forEach(function (t) { + for (var e in t) r.has(e) || n.push(r.add(e)); + }), + [n.map(l).join(t)] + .concat( + e.map(function (e) { + return n + .map(function (t) { + return l(e[t]); + }) + .join(t); + }) + ) + .join('\n') + ); + }), + (i.formatRows = function (t) { + return t.map(s).join('\n'); + }), + i + ); + }), + (t.csv = t.dsv(',', 'text/csv')), + (t.tsv = t.dsv('\t', 'text/tab-separated-values')); + var ve, + ye, + xe, + be, + _e = + this[P(this, 'requestAnimationFrame')] || + function (t) { + setTimeout(t, 17); + }; + function we(t, e, r) { + var n = arguments.length; + n < 2 && (e = 0), n < 3 && (r = Date.now()); + var i = r + e, + a = { c: t, t: i, n: null }; + return ( + ye ? (ye.n = a) : (ve = a), + (ye = a), + xe || ((be = clearTimeout(be)), (xe = 1), _e(Te)), + a + ); + } + function Te() { + var t = ke(), + e = Me() - t; + e > 24 + ? (isFinite(e) && (clearTimeout(be), (be = setTimeout(Te, e))), + (xe = 0)) + : ((xe = 1), _e(Te)); + } + function ke() { + for (var t = Date.now(), e = ve; e; ) + t >= e.t && e.c(t - e.t) && (e.c = null), (e = e.n); + return t; + } + function Me() { + for (var t, e = ve, r = 1 / 0; e; ) + e.c + ? (e.t < r && (r = e.t), (e = (t = e).n)) + : (e = t ? (t.n = e.n) : (ve = e.n)); + return (ye = t), r; + } + function Ae(t, e) { + return e - (t ? Math.ceil(Math.log(t) / Math.LN10) : 1); + } + (t.timer = function () { + we.apply(this, arguments); + }), + (t.timer.flush = function () { + ke(), Me(); + }), + (t.round = function (t, e) { + return e + ? Math.round(t * (e = Math.pow(10, e))) / e + : Math.round(t); + }); + var Se = [ + 'y', + 'z', + 'a', + 'f', + 'p', + 'n', + '\xb5', + 'm', + '', + 'k', + 'M', + 'G', + 'T', + 'P', + 'E', + 'Z', + 'Y', + ].map(function (t, e) { + var r = Math.pow(10, 3 * y(8 - e)); + return { + scale: + e > 8 + ? function (t) { + return t / r; + } + : function (t) { + return t * r; + }, + symbol: t, + }; + }); + function Ee(e) { + var r = e.decimal, + n = e.thousands, + i = e.grouping, + a = e.currency, + o = + i && n + ? function (t, e) { + for ( + var r = t.length, a = [], o = 0, s = i[0], l = 0; + r > 0 && + s > 0 && + (l + s + 1 > e && (s = Math.max(1, e - l)), + a.push(t.substring((r -= s), r + s)), + !((l += s + 1) > e)); + + ) + s = i[(o = (o + 1) % i.length)]; + return a.reverse().join(n); + } + : L; + return function (e) { + var n = Ce.exec(e), + i = n[1] || ' ', + s = n[2] || '>', + l = n[3] || '-', + c = n[4] || '', + u = n[5], + f = +n[6], + h = n[7], + p = n[8], + d = n[9], + g = 1, + m = '', + v = '', + y = !1, + x = !0; + switch ( + (p && (p = +p.substring(1)), + (u || ('0' === i && '=' === s)) && ((u = i = '0'), (s = '=')), + d) + ) { + case 'n': + (h = !0), (d = 'g'); + break; + case '%': + (g = 100), (v = '%'), (d = 'f'); + break; + case 'p': + (g = 100), (v = '%'), (d = 'r'); + break; + case 'b': + case 'o': + case 'x': + case 'X': + '#' === c && (m = '0' + d.toLowerCase()); + case 'c': + x = !1; + case 'd': + (y = !0), (p = 0); + break; + case 's': + (g = -1), (d = 'r'); + } + '$' === c && ((m = a[0]), (v = a[1])), + 'r' != d || p || (d = 'g'), + null != p && + ('g' == d + ? (p = Math.max(1, Math.min(21, p))) + : ('e' != d && 'f' != d) || + (p = Math.max(0, Math.min(20, p)))), + (d = Le.get(d) || Ie); + var b = u && h; + return function (e) { + var n = v; + if (y && e % 1) return ''; + var a = + e < 0 || (0 === e && 1 / e < 0) + ? ((e = -e), '-') + : '-' === l + ? '' + : l; + if (g < 0) { + var c = t.formatPrefix(e, p); + (e = c.scale(e)), (n = c.symbol + v); + } else e *= g; + var _, + w, + T = (e = d(e, p)).lastIndexOf('.'); + if (T < 0) { + var k = x ? e.lastIndexOf('e') : -1; + k < 0 + ? ((_ = e), (w = '')) + : ((_ = e.substring(0, k)), (w = e.substring(k))); + } else (_ = e.substring(0, T)), (w = r + e.substring(T + 1)); + !u && h && (_ = o(_, 1 / 0)); + var M = m.length + _.length + w.length + (b ? 0 : a.length), + A = M < f ? new Array((M = f - M + 1)).join(i) : ''; + return ( + b && (_ = o(A + _, A.length ? f - w.length : 1 / 0)), + (a += m), + (e = _ + w), + ('<' === s + ? a + e + A + : '>' === s + ? A + a + e + : '^' === s + ? A.substring(0, (M >>= 1)) + a + e + A.substring(M) + : a + (b ? e : A + e)) + n + ); + }; + }; + } + t.formatPrefix = function (e, r) { + var n = 0; + return ( + (e = +e) && + (e < 0 && (e *= -1), + r && (e = t.round(e, Ae(e, r))), + (n = 1 + Math.floor(1e-12 + Math.log(e) / Math.LN10)), + (n = Math.max( + -24, + Math.min(24, 3 * Math.floor((n - 1) / 3)) + ))), + Se[8 + n / 3] + ); + }; + var Ce = + /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i, + Le = t.map({ + b: function (t) { + return t.toString(2); + }, + c: function (t) { + return String.fromCharCode(t); + }, + o: function (t) { + return t.toString(8); + }, + x: function (t) { + return t.toString(16); + }, + X: function (t) { + return t.toString(16).toUpperCase(); + }, + g: function (t, e) { + return t.toPrecision(e); + }, + e: function (t, e) { + return t.toExponential(e); + }, + f: function (t, e) { + return t.toFixed(e); + }, + r: function (e, r) { + return (e = t.round(e, Ae(e, r))).toFixed( + Math.max(0, Math.min(20, Ae(e * (1 + 1e-15), r))) + ); + }, + }); + function Ie(t) { + return t + ''; + } + var Pe = (t.time = {}), + ze = Date; + function Oe() { + this._ = new Date( + arguments.length > 1 + ? Date.UTC.apply(this, arguments) + : arguments[0] + ); + } + Oe.prototype = { + getDate: function () { + return this._.getUTCDate(); + }, + getDay: function () { + return this._.getUTCDay(); + }, + getFullYear: function () { + return this._.getUTCFullYear(); + }, + getHours: function () { + return this._.getUTCHours(); + }, + getMilliseconds: function () { + return this._.getUTCMilliseconds(); + }, + getMinutes: function () { + return this._.getUTCMinutes(); + }, + getMonth: function () { + return this._.getUTCMonth(); + }, + getSeconds: function () { + return this._.getUTCSeconds(); + }, + getTime: function () { + return this._.getTime(); + }, + getTimezoneOffset: function () { + return 0; + }, + valueOf: function () { + return this._.valueOf(); + }, + setDate: function () { + De.setUTCDate.apply(this._, arguments); + }, + setDay: function () { + De.setUTCDay.apply(this._, arguments); + }, + setFullYear: function () { + De.setUTCFullYear.apply(this._, arguments); + }, + setHours: function () { + De.setUTCHours.apply(this._, arguments); + }, + setMilliseconds: function () { + De.setUTCMilliseconds.apply(this._, arguments); + }, + setMinutes: function () { + De.setUTCMinutes.apply(this._, arguments); + }, + setMonth: function () { + De.setUTCMonth.apply(this._, arguments); + }, + setSeconds: function () { + De.setUTCSeconds.apply(this._, arguments); + }, + setTime: function () { + De.setTime.apply(this._, arguments); + }, + }; + var De = Date.prototype; + function Re(t, e, r) { + function n(e) { + var r = t(e), + n = a(r, 1); + return e - r < n - e ? r : n; + } + function i(r) { + return e((r = t(new ze(r - 1))), 1), r; + } + function a(t, r) { + return e((t = new ze(+t)), r), t; + } + function o(t, n, a) { + var o = i(t), + s = []; + if (a > 1) + for (; o < n; ) r(o) % a || s.push(new Date(+o)), e(o, 1); + else for (; o < n; ) s.push(new Date(+o)), e(o, 1); + return s; + } + (t.floor = t), + (t.round = n), + (t.ceil = i), + (t.offset = a), + (t.range = o); + var s = (t.utc = Fe(t)); + return ( + (s.floor = s), + (s.round = Fe(n)), + (s.ceil = Fe(i)), + (s.offset = Fe(a)), + (s.range = function (t, e, r) { + try { + ze = Oe; + var n = new Oe(); + return (n._ = t), o(n, e, r); + } finally { + ze = Date; + } + }), + t + ); + } + function Fe(t) { + return function (e, r) { + try { + ze = Oe; + var n = new Oe(); + return (n._ = e), t(n, r)._; + } finally { + ze = Date; + } + }; + } + function Be(e) { + var r = e.dateTime, + n = e.date, + i = e.time, + a = e.periods, + o = e.days, + s = e.shortDays, + l = e.months, + c = e.shortMonths; + function u(t) { + var e = t.length; + function r(r) { + for (var n, i, a, o = [], s = -1, l = 0; ++s < e; ) + 37 === t.charCodeAt(s) && + (o.push(t.slice(l, s)), + null != (i = Ne[(n = t.charAt(++s))]) && + (n = t.charAt(++s)), + (a = _[n]) && + (n = a(r, null == i ? ('e' === n ? ' ' : '0') : i)), + o.push(n), + (l = s + 1)); + return o.push(t.slice(l, s)), o.join(''); + } + return ( + (r.parse = function (e) { + var r = { + y: 1900, + m: 0, + d: 1, + H: 0, + M: 0, + S: 0, + L: 0, + Z: null, + }; + if (f(r, t, e, 0) != e.length) return null; + 'p' in r && (r.H = (r.H % 12) + 12 * r.p); + var n = null != r.Z && ze !== Oe, + i = new (n ? Oe : ze)(); + return ( + 'j' in r + ? i.setFullYear(r.y, 0, r.j) + : 'W' in r || 'U' in r + ? ('w' in r || (r.w = 'W' in r ? 1 : 0), + i.setFullYear(r.y, 0, 1), + i.setFullYear( + r.y, + 0, + 'W' in r + ? ((r.w + 6) % 7) + + 7 * r.W - + ((i.getDay() + 5) % 7) + : r.w + 7 * r.U - ((i.getDay() + 6) % 7) + )) + : i.setFullYear(r.y, r.m, r.d), + i.setHours( + r.H + ((r.Z / 100) | 0), + r.M + (r.Z % 100), + r.S, + r.L + ), + n ? i._ : i + ); + }), + (r.toString = function () { + return t; + }), + r + ); + } + function f(t, e, r, n) { + for (var i, a, o, s = 0, l = e.length, c = r.length; s < l; ) { + if (n >= c) return -1; + if (37 === (i = e.charCodeAt(s++))) { + if ( + ((o = e.charAt(s++)), + !(a = w[o in Ne ? e.charAt(s++) : o]) || + (n = a(t, r, n)) < 0) + ) + return -1; + } else if (i != r.charCodeAt(n++)) return -1; + } + return n; + } + (u.utc = function (t) { + var e = u(t); + function r(t) { + try { + var r = new (ze = Oe)(); + return (r._ = t), e(r); + } finally { + ze = Date; + } + } + return ( + (r.parse = function (t) { + try { + ze = Oe; + var r = e.parse(t); + return r && r._; + } finally { + ze = Date; + } + }), + (r.toString = e.toString), + r + ); + }), + (u.multi = u.utc.multi = or); + var h = t.map(), + p = qe(o), + d = He(o), + g = qe(s), + m = He(s), + v = qe(l), + y = He(l), + x = qe(c), + b = He(c); + a.forEach(function (t, e) { + h.set(t.toLowerCase(), e); + }); + var _ = { + a: function (t) { + return s[t.getDay()]; + }, + A: function (t) { + return o[t.getDay()]; + }, + b: function (t) { + return c[t.getMonth()]; + }, + B: function (t) { + return l[t.getMonth()]; + }, + c: u(r), + d: function (t, e) { + return Ve(t.getDate(), e, 2); + }, + e: function (t, e) { + return Ve(t.getDate(), e, 2); + }, + H: function (t, e) { + return Ve(t.getHours(), e, 2); + }, + I: function (t, e) { + return Ve(t.getHours() % 12 || 12, e, 2); + }, + j: function (t, e) { + return Ve(1 + Pe.dayOfYear(t), e, 3); + }, + L: function (t, e) { + return Ve(t.getMilliseconds(), e, 3); + }, + m: function (t, e) { + return Ve(t.getMonth() + 1, e, 2); + }, + M: function (t, e) { + return Ve(t.getMinutes(), e, 2); + }, + p: function (t) { + return a[+(t.getHours() >= 12)]; + }, + S: function (t, e) { + return Ve(t.getSeconds(), e, 2); + }, + U: function (t, e) { + return Ve(Pe.sundayOfYear(t), e, 2); + }, + w: function (t) { + return t.getDay(); + }, + W: function (t, e) { + return Ve(Pe.mondayOfYear(t), e, 2); + }, + x: u(n), + X: u(i), + y: function (t, e) { + return Ve(t.getFullYear() % 100, e, 2); + }, + Y: function (t, e) { + return Ve(t.getFullYear() % 1e4, e, 4); + }, + Z: ir, + '%': function () { + return '%'; + }, + }, + w = { + a: function (t, e, r) { + g.lastIndex = 0; + var n = g.exec(e.slice(r)); + return n + ? ((t.w = m.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + A: function (t, e, r) { + p.lastIndex = 0; + var n = p.exec(e.slice(r)); + return n + ? ((t.w = d.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + b: function (t, e, r) { + x.lastIndex = 0; + var n = x.exec(e.slice(r)); + return n + ? ((t.m = b.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + B: function (t, e, r) { + v.lastIndex = 0; + var n = v.exec(e.slice(r)); + return n + ? ((t.m = y.get(n[0].toLowerCase())), r + n[0].length) + : -1; + }, + c: function (t, e, r) { + return f(t, _.c.toString(), e, r); + }, + d: Qe, + e: Qe, + H: tr, + I: tr, + j: $e, + L: nr, + m: Ke, + M: er, + p: function (t, e, r) { + var n = h.get(e.slice(r, (r += 2)).toLowerCase()); + return null == n ? -1 : ((t.p = n), r); + }, + S: rr, + U: Ye, + w: Ge, + W: We, + x: function (t, e, r) { + return f(t, _.x.toString(), e, r); + }, + X: function (t, e, r) { + return f(t, _.X.toString(), e, r); + }, + y: Ze, + Y: Xe, + Z: Je, + '%': ar, + }; + return u; + } + (Pe.year = Re( + function (t) { + return (t = Pe.day(t)).setMonth(0, 1), t; + }, + function (t, e) { + t.setFullYear(t.getFullYear() + e); + }, + function (t) { + return t.getFullYear(); + } + )), + (Pe.years = Pe.year.range), + (Pe.years.utc = Pe.year.utc.range), + (Pe.day = Re( + function (t) { + var e = new ze(2e3, 0); + return ( + e.setFullYear(t.getFullYear(), t.getMonth(), t.getDate()), e + ); + }, + function (t, e) { + t.setDate(t.getDate() + e); + }, + function (t) { + return t.getDate() - 1; + } + )), + (Pe.days = Pe.day.range), + (Pe.days.utc = Pe.day.utc.range), + (Pe.dayOfYear = function (t) { + var e = Pe.year(t); + return Math.floor( + (t - + e - + 6e4 * (t.getTimezoneOffset() - e.getTimezoneOffset())) / + 864e5 + ); + }), + [ + 'sunday', + 'monday', + 'tuesday', + 'wednesday', + 'thursday', + 'friday', + 'saturday', + ].forEach(function (t, e) { + e = 7 - e; + var r = (Pe[t] = Re( + function (t) { + return ( + (t = Pe.day(t)).setDate( + t.getDate() - ((t.getDay() + e) % 7) + ), + t + ); + }, + function (t, e) { + t.setDate(t.getDate() + 7 * Math.floor(e)); + }, + function (t) { + var r = Pe.year(t).getDay(); + return ( + Math.floor((Pe.dayOfYear(t) + ((r + e) % 7)) / 7) - + (r !== e) + ); + } + )); + (Pe[t + 's'] = r.range), + (Pe[t + 's'].utc = r.utc.range), + (Pe[t + 'OfYear'] = function (t) { + var r = Pe.year(t).getDay(); + return Math.floor((Pe.dayOfYear(t) + ((r + e) % 7)) / 7); + }); + }), + (Pe.week = Pe.sunday), + (Pe.weeks = Pe.sunday.range), + (Pe.weeks.utc = Pe.sunday.utc.range), + (Pe.weekOfYear = Pe.sundayOfYear); + var Ne = { '-': '', _: ' ', 0: '0' }, + je = /^\s*\d+/, + Ue = /^%/; + function Ve(t, e, r) { + var n = t < 0 ? '-' : '', + i = (n ? -t : t) + '', + a = i.length; + return n + (a < r ? new Array(r - a + 1).join(e) + i : i); + } + function qe(e) { + return new RegExp('^(?:' + e.map(t.requote).join('|') + ')', 'i'); + } + function He(t) { + for (var e = new _(), r = -1, n = t.length; ++r < n; ) + e.set(t[r].toLowerCase(), r); + return e; + } + function Ge(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 1)); + return n ? ((t.w = +n[0]), r + n[0].length) : -1; + } + function Ye(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r)); + return n ? ((t.U = +n[0]), r + n[0].length) : -1; + } + function We(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r)); + return n ? ((t.W = +n[0]), r + n[0].length) : -1; + } + function Xe(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 4)); + return n ? ((t.y = +n[0]), r + n[0].length) : -1; + } + function Ze(t, e, r) { + je.lastIndex = 0; + var n, + i = je.exec(e.slice(r, r + 2)); + return i + ? ((t.y = (n = +i[0]) + (n > 68 ? 1900 : 2e3)), r + i[0].length) + : -1; + } + function Je(t, e, r) { + return /^[+-]\d{4}$/.test((e = e.slice(r, r + 5))) + ? ((t.Z = -e), r + 5) + : -1; + } + function Ke(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.m = n[0] - 1), r + n[0].length) : -1; + } + function Qe(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.d = +n[0]), r + n[0].length) : -1; + } + function $e(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 3)); + return n ? ((t.j = +n[0]), r + n[0].length) : -1; + } + function tr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.H = +n[0]), r + n[0].length) : -1; + } + function er(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.M = +n[0]), r + n[0].length) : -1; + } + function rr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 2)); + return n ? ((t.S = +n[0]), r + n[0].length) : -1; + } + function nr(t, e, r) { + je.lastIndex = 0; + var n = je.exec(e.slice(r, r + 3)); + return n ? ((t.L = +n[0]), r + n[0].length) : -1; + } + function ir(t) { + var e = t.getTimezoneOffset(), + r = e > 0 ? '-' : '+', + n = (y(e) / 60) | 0, + i = y(e) % 60; + return r + Ve(n, '0', 2) + Ve(i, '0', 2); + } + function ar(t, e, r) { + Ue.lastIndex = 0; + var n = Ue.exec(e.slice(r, r + 1)); + return n ? r + n[0].length : -1; + } + function or(t) { + for (var e = t.length, r = -1; ++r < e; ) t[r][0] = this(t[r][0]); + return function (e) { + for (var r = 0, n = t[r]; !n[1](e); ) n = t[++r]; + return n[0](e); + }; + } + t.locale = function (t) { + return { numberFormat: Ee(t), timeFormat: Be(t) }; + }; + var sr = t.locale({ + decimal: '.', + thousands: ',', + grouping: [3], + currency: ['$', ''], + dateTime: '%a %b %e %X %Y', + date: '%m/%d/%Y', + time: '%H:%M:%S', + periods: ['AM', 'PM'], + days: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + shortMonths: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + }); + function lr() {} + (t.format = sr.numberFormat), + (t.geo = {}), + (lr.prototype = { + s: 0, + t: 0, + add: function (t) { + ur(t, this.t, cr), + ur(cr.s, this.s, this), + this.s ? (this.t += cr.t) : (this.s = cr.t); + }, + reset: function () { + this.s = this.t = 0; + }, + valueOf: function () { + return this.s; + }, + }); + var cr = new lr(); + function ur(t, e, r) { + var n = (r.s = t + e), + i = n - t, + a = n - i; + r.t = t - a + (e - i); + } + function fr(t, e) { + t && pr.hasOwnProperty(t.type) && pr[t.type](t, e); + } + t.geo.stream = function (t, e) { + t && hr.hasOwnProperty(t.type) ? hr[t.type](t, e) : fr(t, e); + }; + var hr = { + Feature: function (t, e) { + fr(t.geometry, e); + }, + FeatureCollection: function (t, e) { + for (var r = t.features, n = -1, i = r.length; ++n < i; ) + fr(r[n].geometry, e); + }, + }, + pr = { + Sphere: function (t, e) { + e.sphere(); + }, + Point: function (t, e) { + (t = t.coordinates), e.point(t[0], t[1], t[2]); + }, + MultiPoint: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + (t = r[n]), e.point(t[0], t[1], t[2]); + }, + LineString: function (t, e) { + dr(t.coordinates, e, 0); + }, + MultiLineString: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + dr(r[n], e, 0); + }, + Polygon: function (t, e) { + gr(t.coordinates, e); + }, + MultiPolygon: function (t, e) { + for (var r = t.coordinates, n = -1, i = r.length; ++n < i; ) + gr(r[n], e); + }, + GeometryCollection: function (t, e) { + for (var r = t.geometries, n = -1, i = r.length; ++n < i; ) + fr(r[n], e); + }, + }; + function dr(t, e, r) { + var n, + i = -1, + a = t.length - r; + for (e.lineStart(); ++i < a; ) + (n = t[i]), e.point(n[0], n[1], n[2]); + e.lineEnd(); + } + function gr(t, e) { + var r = -1, + n = t.length; + for (e.polygonStart(); ++r < n; ) dr(t[r], e, 1); + e.polygonEnd(); + } + t.geo.area = function (e) { + return (mr = 0), t.geo.stream(e, Cr), mr; + }; + var mr, + vr, + yr, + xr, + br, + _r, + wr, + Tr, + kr, + Mr, + Ar, + Sr, + Er = new lr(), + Cr = { + sphere: function () { + mr += 4 * At; + }, + point: O, + lineStart: O, + lineEnd: O, + polygonStart: function () { + Er.reset(), (Cr.lineStart = Lr); + }, + polygonEnd: function () { + var t = 2 * Er; + (mr += t < 0 ? 4 * At + t : t), + (Cr.lineStart = Cr.lineEnd = Cr.point = O); + }, + }; + function Lr() { + var t, e, r, n, i; + function a(t, e) { + e = (e * Lt) / 2 + At / 4; + var a = (t *= Lt) - r, + o = a >= 0 ? 1 : -1, + s = o * a, + l = Math.cos(e), + c = Math.sin(e), + u = i * c, + f = n * l + u * Math.cos(s), + h = u * o * Math.sin(s); + Er.add(Math.atan2(h, f)), (r = t), (n = l), (i = c); + } + (Cr.point = function (o, s) { + (Cr.point = a), + (r = (t = o) * Lt), + (n = Math.cos((s = ((e = s) * Lt) / 2 + At / 4))), + (i = Math.sin(s)); + }), + (Cr.lineEnd = function () { + a(t, e); + }); + } + function Ir(t) { + var e = t[0], + r = t[1], + n = Math.cos(r); + return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; + } + function Pr(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + } + function zr(t, e) { + return [ + t[1] * e[2] - t[2] * e[1], + t[2] * e[0] - t[0] * e[2], + t[0] * e[1] - t[1] * e[0], + ]; + } + function Or(t, e) { + (t[0] += e[0]), (t[1] += e[1]), (t[2] += e[2]); + } + function Dr(t, e) { + return [t[0] * e, t[1] * e, t[2] * e]; + } + function Rr(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1] + t[2] * t[2]); + (t[0] /= e), (t[1] /= e), (t[2] /= e); + } + function Fr(t) { + return [Math.atan2(t[1], t[0]), Dt(t[2])]; + } + function Br(t, e) { + return y(t[0] - e[0]) < kt && y(t[1] - e[1]) < kt; + } + (t.geo.bounds = (function () { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h = { + point: p, + lineStart: g, + lineEnd: m, + polygonStart: function () { + (h.point = v), + (h.lineStart = x), + (h.lineEnd = b), + (c = 0), + Cr.polygonStart(); + }, + polygonEnd: function () { + Cr.polygonEnd(), + (h.point = p), + (h.lineStart = g), + (h.lineEnd = m), + Er < 0 + ? ((e = -(n = 180)), (r = -(i = 90))) + : c > kt + ? (i = 90) + : c < -kt && (r = -90), + (f[0] = e), + (f[1] = n); + }, + }; + function p(t, a) { + u.push((f = [(e = t), (n = t)])), + a < r && (r = a), + a > i && (i = a); + } + function d(t, o) { + var s = Ir([t * Lt, o * Lt]); + if (l) { + var c = zr(l, s), + u = zr([c[1], -c[0], 0], c); + Rr(u), (u = Fr(u)); + var f = t - a, + h = f > 0 ? 1 : -1, + d = u[0] * It * h, + g = y(f) > 180; + if (g ^ (h * a < d && d < h * t)) + (m = u[1] * It) > i && (i = m); + else if ( + g ^ (h * a < (d = ((d + 360) % 360) - 180) && d < h * t) + ) { + var m; + (m = -u[1] * It) < r && (r = m); + } else o < r && (r = o), o > i && (i = o); + g + ? t < a + ? _(e, t) > _(e, n) && (n = t) + : _(t, n) > _(e, n) && (e = t) + : n >= e + ? (t < e && (e = t), t > n && (n = t)) + : t > a + ? _(e, t) > _(e, n) && (n = t) + : _(t, n) > _(e, n) && (e = t); + } else p(t, o); + (l = s), (a = t); + } + function g() { + h.point = d; + } + function m() { + (f[0] = e), (f[1] = n), (h.point = p), (l = null); + } + function v(t, e) { + if (l) { + var r = t - a; + c += y(r) > 180 ? r + (r > 0 ? 360 : -360) : r; + } else (o = t), (s = e); + Cr.point(t, e), d(t, e); + } + function x() { + Cr.lineStart(); + } + function b() { + v(o, s), + Cr.lineEnd(), + y(c) > kt && (e = -(n = 180)), + (f[0] = e), + (f[1] = n), + (l = null); + } + function _(t, e) { + return (e -= t) < 0 ? e + 360 : e; + } + function w(t, e) { + return t[0] - e[0]; + } + function T(t, e) { + return e[0] <= e[1] + ? e[0] <= t && t <= e[1] + : t < e[0] || e[1] < t; + } + return function (a) { + if ( + ((i = n = -(e = r = 1 / 0)), + (u = []), + t.geo.stream(a, h), + (c = u.length)) + ) { + u.sort(w); + for (var o = 1, s = [(g = u[0])]; o < c; ++o) + T((p = u[o])[0], g) || T(p[1], g) + ? (_(g[0], p[1]) > _(g[0], g[1]) && (g[1] = p[1]), + _(p[0], g[1]) > _(g[0], g[1]) && (g[0] = p[0])) + : s.push((g = p)); + for ( + var l, + c, + p, + d = -1 / 0, + g = ((o = 0), s[(c = s.length - 1)]); + o <= c; + g = p, ++o + ) + (p = s[o]), + (l = _(g[1], p[0])) > d && + ((d = l), (e = p[0]), (n = g[1])); + } + return ( + (u = f = null), + e === 1 / 0 || r === 1 / 0 + ? [ + [NaN, NaN], + [NaN, NaN], + ] + : [ + [e, r], + [n, i], + ] + ); + }; + })()), + (t.geo.centroid = function (e) { + (vr = yr = xr = br = _r = wr = Tr = kr = Mr = Ar = Sr = 0), + t.geo.stream(e, Nr); + var r = Mr, + n = Ar, + i = Sr, + a = r * r + n * n + i * i; + return a < Mt && + ((r = wr), + (n = Tr), + (i = kr), + yr < kt && ((r = xr), (n = br), (i = _r)), + (a = r * r + n * n + i * i) < Mt) + ? [NaN, NaN] + : [Math.atan2(n, r) * It, Dt(i / Math.sqrt(a)) * It]; + }); + var Nr = { + sphere: O, + point: jr, + lineStart: Vr, + lineEnd: qr, + polygonStart: function () { + Nr.lineStart = Hr; + }, + polygonEnd: function () { + Nr.lineStart = Vr; + }, + }; + function jr(t, e) { + t *= Lt; + var r = Math.cos((e *= Lt)); + Ur(r * Math.cos(t), r * Math.sin(t), Math.sin(e)); + } + function Ur(t, e, r) { + ++vr, + (xr += (t - xr) / vr), + (br += (e - br) / vr), + (_r += (r - _r) / vr); + } + function Vr() { + var t, e, r; + function n(n, i) { + n *= Lt; + var a = Math.cos((i *= Lt)), + o = a * Math.cos(n), + s = a * Math.sin(n), + l = Math.sin(i), + c = Math.atan2( + Math.sqrt( + (c = e * l - r * s) * c + + (c = r * o - t * l) * c + + (c = t * s - e * o) * c + ), + t * o + e * s + r * l + ); + (yr += c), + (wr += c * (t + (t = o))), + (Tr += c * (e + (e = s))), + (kr += c * (r + (r = l))), + Ur(t, e, r); + } + Nr.point = function (i, a) { + i *= Lt; + var o = Math.cos((a *= Lt)); + (t = o * Math.cos(i)), + (e = o * Math.sin(i)), + (r = Math.sin(a)), + (Nr.point = n), + Ur(t, e, r); + }; + } + function qr() { + Nr.point = jr; + } + function Hr() { + var t, e, r, n, i; + function a(t, e) { + t *= Lt; + var a = Math.cos((e *= Lt)), + o = a * Math.cos(t), + s = a * Math.sin(t), + l = Math.sin(e), + c = n * l - i * s, + u = i * o - r * l, + f = r * s - n * o, + h = Math.sqrt(c * c + u * u + f * f), + p = r * o + n * s + i * l, + d = h && -Ot(p) / h, + g = Math.atan2(h, p); + (Mr += d * c), + (Ar += d * u), + (Sr += d * f), + (yr += g), + (wr += g * (r + (r = o))), + (Tr += g * (n + (n = s))), + (kr += g * (i + (i = l))), + Ur(r, n, i); + } + (Nr.point = function (o, s) { + (t = o), (e = s), (Nr.point = a), (o *= Lt); + var l = Math.cos((s *= Lt)); + (r = l * Math.cos(o)), + (n = l * Math.sin(o)), + (i = Math.sin(s)), + Ur(r, n, i); + }), + (Nr.lineEnd = function () { + a(t, e), (Nr.lineEnd = qr), (Nr.point = jr); + }); + } + function Gr(t, e) { + function r(r, n) { + return (r = t(r, n)), e(r[0], r[1]); + } + return ( + t.invert && + e.invert && + (r.invert = function (r, n) { + return (r = e.invert(r, n)) && t.invert(r[0], r[1]); + }), + r + ); + } + function Yr() { + return !0; + } + function Wr(t, e, r, n, i) { + var a = [], + o = []; + if ( + (t.forEach(function (t) { + if (!((e = t.length - 1) <= 0)) { + var e, + r = t[0], + n = t[e]; + if (Br(r, n)) { + i.lineStart(); + for (var s = 0; s < e; ++s) i.point((r = t[s])[0], r[1]); + i.lineEnd(); + } else { + var l = new Zr(r, t, null, !0), + c = new Zr(r, null, l, !1); + (l.o = c), + a.push(l), + o.push(c), + (l = new Zr(n, t, null, !1)), + (c = new Zr(n, null, l, !0)), + (l.o = c), + a.push(l), + o.push(c); + } + } + }), + o.sort(e), + Xr(a), + Xr(o), + a.length) + ) { + for (var s = 0, l = r, c = o.length; s < c; ++s) + o[s].e = l = !l; + for (var u, f, h = a[0]; ; ) { + for (var p = h, d = !0; p.v; ) if ((p = p.n) === h) return; + (u = p.z), i.lineStart(); + do { + if (((p.v = p.o.v = !0), p.e)) { + if (d) + for (s = 0, c = u.length; s < c; ++s) + i.point((f = u[s])[0], f[1]); + else n(p.x, p.n.x, 1, i); + p = p.n; + } else { + if (d) + for (s = (u = p.p.z).length - 1; s >= 0; --s) + i.point((f = u[s])[0], f[1]); + else n(p.x, p.p.x, -1, i); + p = p.p; + } + (u = (p = p.o).z), (d = !d); + } while (!p.v); + i.lineEnd(); + } + } + } + function Xr(t) { + if ((e = t.length)) { + for (var e, r, n = 0, i = t[0]; ++n < e; ) + (i.n = r = t[n]), (r.p = i), (i = r); + (i.n = r = t[0]), (r.p = i); + } + } + function Zr(t, e, r, n) { + (this.x = t), + (this.z = e), + (this.o = r), + (this.e = n), + (this.v = !1), + (this.n = this.p = null); + } + function Jr(e, r, n, i) { + return function (a, o) { + var s, + l = r(o), + c = a.invert(i[0], i[1]), + u = { + point: f, + lineStart: p, + lineEnd: d, + polygonStart: function () { + (u.point = b), + (u.lineStart = _), + (u.lineEnd = w), + (s = []), + (g = []); + }, + polygonEnd: function () { + (u.point = f), + (u.lineStart = p), + (u.lineEnd = d), + (s = t.merge(s)); + var e = (function (t, e) { + var r = t[0], + n = t[1], + i = [Math.sin(r), -Math.cos(r), 0], + a = 0, + o = 0; + Er.reset(); + for (var s = 0, l = e.length; s < l; ++s) { + var c = e[s], + u = c.length; + if (u) + for ( + var f = c[0], + h = f[0], + p = f[1] / 2 + At / 4, + d = Math.sin(p), + g = Math.cos(p), + m = 1; + ; + + ) { + m === u && (m = 0); + var v = (t = c[m])[0], + y = t[1] / 2 + At / 4, + x = Math.sin(y), + b = Math.cos(y), + _ = v - h, + w = _ >= 0 ? 1 : -1, + T = w * _, + k = T > At, + M = d * x; + if ( + (Er.add( + Math.atan2( + M * w * Math.sin(T), + g * b + M * Math.cos(T) + ) + ), + (a += k ? _ + w * St : _), + k ^ (h >= r) ^ (v >= r)) + ) { + var A = zr(Ir(f), Ir(t)); + Rr(A); + var S = zr(i, A); + Rr(S); + var E = (k ^ (_ >= 0) ? -1 : 1) * Dt(S[2]); + (n > E || (n === E && (A[0] || A[1]))) && + (o += k ^ (_ >= 0) ? 1 : -1); + } + if (!m++) break; + (h = v), (d = x), (g = b), (f = t); + } + } + return (a < -kt || (a < kt && Er < -kt)) ^ (1 & o); + })(c, g); + s.length + ? (x || (o.polygonStart(), (x = !0)), + Wr(s, $r, e, n, o)) + : e && + (x || (o.polygonStart(), (x = !0)), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd()), + x && (o.polygonEnd(), (x = !1)), + (s = g = null); + }, + sphere: function () { + o.polygonStart(), + o.lineStart(), + n(null, null, 1, o), + o.lineEnd(), + o.polygonEnd(); + }, + }; + function f(t, r) { + var n = a(t, r); + e((t = n[0]), (r = n[1])) && o.point(t, r); + } + function h(t, e) { + var r = a(t, e); + l.point(r[0], r[1]); + } + function p() { + (u.point = h), l.lineStart(); + } + function d() { + (u.point = f), l.lineEnd(); + } + var g, + m, + v = Qr(), + y = r(v), + x = !1; + function b(t, e) { + m.push([t, e]); + var r = a(t, e); + y.point(r[0], r[1]); + } + function _() { + y.lineStart(), (m = []); + } + function w() { + b(m[0][0], m[0][1]), y.lineEnd(); + var t, + e = y.clean(), + r = v.buffer(), + n = r.length; + if ((m.pop(), g.push(m), (m = null), n)) + if (1 & e) { + var i, + a = -1; + if ((n = (t = r[0]).length - 1) > 0) { + for ( + x || (o.polygonStart(), (x = !0)), o.lineStart(); + ++a < n; + + ) + o.point((i = t[a])[0], i[1]); + o.lineEnd(); + } + } else + n > 1 && 2 & e && r.push(r.pop().concat(r.shift())), + s.push(r.filter(Kr)); + } + return u; + }; + } + function Kr(t) { + return t.length > 1; + } + function Qr() { + var t, + e = []; + return { + lineStart: function () { + e.push((t = [])); + }, + point: function (e, r) { + t.push([e, r]); + }, + lineEnd: O, + buffer: function () { + var r = e; + return (e = []), (t = null), r; + }, + rejoin: function () { + e.length > 1 && e.push(e.pop().concat(e.shift())); + }, + }; + } + function $r(t, e) { + return ( + ((t = t.x)[0] < 0 ? t[1] - Ct - kt : Ct - t[1]) - + ((e = e.x)[0] < 0 ? e[1] - Ct - kt : Ct - e[1]) + ); + } + var tn = Jr( + Yr, + function (t) { + var e, + r = NaN, + n = NaN, + i = NaN; + return { + lineStart: function () { + t.lineStart(), (e = 1); + }, + point: function (a, o) { + var s = a > 0 ? At : -At, + l = y(a - r); + y(l - At) < kt + ? (t.point(r, (n = (n + o) / 2 > 0 ? Ct : -Ct)), + t.point(i, n), + t.lineEnd(), + t.lineStart(), + t.point(s, n), + t.point(a, n), + (e = 0)) + : i !== s && + l >= At && + (y(r - i) < kt && (r -= i * kt), + y(a - s) < kt && (a -= s * kt), + (n = (function (t, e, r, n) { + var i, + a, + o = Math.sin(t - r); + return y(o) > kt + ? Math.atan( + (Math.sin(e) * (a = Math.cos(n)) * Math.sin(r) - + Math.sin(n) * + (i = Math.cos(e)) * + Math.sin(t)) / + (i * a * o) + ) + : (e + n) / 2; + })(r, n, a, o)), + t.point(i, n), + t.lineEnd(), + t.lineStart(), + t.point(s, n), + (e = 0)), + t.point((r = a), (n = o)), + (i = s); + }, + lineEnd: function () { + t.lineEnd(), (r = n = NaN); + }, + clean: function () { + return 2 - e; + }, + }; + }, + function (t, e, r, n) { + var i; + if (null == t) + (i = r * Ct), + n.point(-At, i), + n.point(0, i), + n.point(At, i), + n.point(At, 0), + n.point(At, -i), + n.point(0, -i), + n.point(-At, -i), + n.point(-At, 0), + n.point(-At, i); + else if (y(t[0] - e[0]) > kt) { + var a = t[0] < e[0] ? At : -At; + (i = (r * a) / 2), + n.point(-a, i), + n.point(0, i), + n.point(a, i); + } else n.point(e[0], e[1]); + }, + [-At, -At / 2] + ); + function en(t) { + var e = Math.cos(t), + r = e > 0, + n = y(e) > kt; + return Jr( + i, + function (t) { + var e, s, l, c, u; + return { + lineStart: function () { + (c = l = !1), (u = 1); + }, + point: function (f, h) { + var p, + d = [f, h], + g = i(f, h), + m = r + ? g + ? 0 + : o(f, h) + : g + ? o(f + (f < 0 ? At : -At), h) + : 0; + if ( + (!e && (c = l = g) && t.lineStart(), + g !== l && + ((p = a(e, d)), + (Br(e, p) || Br(d, p)) && + ((d[0] += kt), (d[1] += kt), (g = i(d[0], d[1])))), + g !== l) + ) + (u = 0), + g + ? (t.lineStart(), + (p = a(d, e)), + t.point(p[0], p[1])) + : ((p = a(e, d)), t.point(p[0], p[1]), t.lineEnd()), + (e = p); + else if (n && e && r ^ g) { + var v; + m & s || + !(v = a(d, e, !0)) || + ((u = 0), + r + ? (t.lineStart(), + t.point(v[0][0], v[0][1]), + t.point(v[1][0], v[1][1]), + t.lineEnd()) + : (t.point(v[1][0], v[1][1]), + t.lineEnd(), + t.lineStart(), + t.point(v[0][0], v[0][1]))); + } + !g || (e && Br(e, d)) || t.point(d[0], d[1]), + (e = d), + (l = g), + (s = m); + }, + lineEnd: function () { + l && t.lineEnd(), (e = null); + }, + clean: function () { + return u | ((c && l) << 1); + }, + }; + }, + Bn(t, 6 * Lt), + r ? [0, -t] : [-At, t - At] + ); + function i(t, r) { + return Math.cos(t) * Math.cos(r) > e; + } + function a(t, r, n) { + var i = [1, 0, 0], + a = zr(Ir(t), Ir(r)), + o = Pr(a, a), + s = a[0], + l = o - s * s; + if (!l) return !n && t; + var c = (e * o) / l, + u = (-e * s) / l, + f = zr(i, a), + h = Dr(i, c); + Or(h, Dr(a, u)); + var p = f, + d = Pr(h, p), + g = Pr(p, p), + m = d * d - g * (Pr(h, h) - 1); + if (!(m < 0)) { + var v = Math.sqrt(m), + x = Dr(p, (-d - v) / g); + if ((Or(x, h), (x = Fr(x)), !n)) return x; + var b, + _ = t[0], + w = r[0], + T = t[1], + k = r[1]; + w < _ && ((b = _), (_ = w), (w = b)); + var M = w - _, + A = y(M - At) < kt; + if ( + (!A && k < T && ((b = T), (T = k), (k = b)), + A || M < kt + ? A + ? (T + k > 0) ^ (x[1] < (y(x[0] - _) < kt ? T : k)) + : T <= x[1] && x[1] <= k + : (M > At) ^ (_ <= x[0] && x[0] <= w)) + ) { + var S = Dr(p, (-d + v) / g); + return Or(S, h), [x, Fr(S)]; + } + } + } + function o(e, n) { + var i = r ? t : At - t, + a = 0; + return ( + e < -i ? (a |= 1) : e > i && (a |= 2), + n < -i ? (a |= 4) : n > i && (a |= 8), + a + ); + } + } + function rn(t, e, r, n) { + return function (i) { + var a, + o = i.a, + s = i.b, + l = o.x, + c = o.y, + u = 0, + f = 1, + h = s.x - l, + p = s.y - c; + if (((a = t - l), h || !(a > 0))) { + if (((a /= h), h < 0)) { + if (a < u) return; + a < f && (f = a); + } else if (h > 0) { + if (a > f) return; + a > u && (u = a); + } + if (((a = r - l), h || !(a < 0))) { + if (((a /= h), h < 0)) { + if (a > f) return; + a > u && (u = a); + } else if (h > 0) { + if (a < u) return; + a < f && (f = a); + } + if (((a = e - c), p || !(a > 0))) { + if (((a /= p), p < 0)) { + if (a < u) return; + a < f && (f = a); + } else if (p > 0) { + if (a > f) return; + a > u && (u = a); + } + if (((a = n - c), p || !(a < 0))) { + if (((a /= p), p < 0)) { + if (a > f) return; + a > u && (u = a); + } else if (p > 0) { + if (a < u) return; + a < f && (f = a); + } + return ( + u > 0 && (i.a = { x: l + u * h, y: c + u * p }), + f < 1 && (i.b = { x: l + f * h, y: c + f * p }), + i + ); + } + } + } + } + }; + } + function nn(e, r, n, i) { + return function (l) { + var c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b = l, + _ = Qr(), + w = rn(e, r, n, i), + T = { + point: A, + lineStart: function () { + (T.point = S), u && u.push((f = [])); + (y = !0), (v = !1), (g = m = NaN); + }, + lineEnd: function () { + c && (S(h, p), d && v && _.rejoin(), c.push(_.buffer())); + (T.point = A), v && l.lineEnd(); + }, + polygonStart: function () { + (l = _), (c = []), (u = []), (x = !0); + }, + polygonEnd: function () { + (l = b), (c = t.merge(c)); + var r = (function (t) { + for ( + var e = 0, r = u.length, n = t[1], i = 0; + i < r; + ++i + ) + for ( + var a, o = 1, s = u[i], l = s.length, c = s[0]; + o < l; + ++o + ) + (a = s[o]), + c[1] <= n + ? a[1] > n && zt(c, a, t) > 0 && ++e + : a[1] <= n && zt(c, a, t) < 0 && --e, + (c = a); + return 0 !== e; + })([e, i]), + n = x && r, + a = c.length; + (n || a) && + (l.polygonStart(), + n && (l.lineStart(), k(null, null, 1, l), l.lineEnd()), + a && Wr(c, o, r, k, l), + l.polygonEnd()), + (c = u = f = null); + }, + }; + function k(t, o, l, c) { + var u = 0, + f = 0; + if ( + null == t || + (u = a(t, l)) !== (f = a(o, l)) || + (s(t, o) < 0) ^ (l > 0) + ) + do { + c.point(0 === u || 3 === u ? e : n, u > 1 ? i : r); + } while ((u = (u + l + 4) % 4) !== f); + else c.point(o[0], o[1]); + } + function M(t, a) { + return e <= t && t <= n && r <= a && a <= i; + } + function A(t, e) { + M(t, e) && l.point(t, e); + } + function S(t, e) { + var r = M( + (t = Math.max(-1e9, Math.min(1e9, t))), + (e = Math.max(-1e9, Math.min(1e9, e))) + ); + if ((u && f.push([t, e]), y)) + (h = t), + (p = e), + (d = r), + (y = !1), + r && (l.lineStart(), l.point(t, e)); + else if (r && v) l.point(t, e); + else { + var n = { a: { x: g, y: m }, b: { x: t, y: e } }; + w(n) + ? (v || (l.lineStart(), l.point(n.a.x, n.a.y)), + l.point(n.b.x, n.b.y), + r || l.lineEnd(), + (x = !1)) + : r && (l.lineStart(), l.point(t, e), (x = !1)); + } + (g = t), (m = e), (v = r); + } + return T; + }; + function a(t, i) { + return y(t[0] - e) < kt + ? i > 0 + ? 0 + : 3 + : y(t[0] - n) < kt + ? i > 0 + ? 2 + : 1 + : y(t[1] - r) < kt + ? i > 0 + ? 1 + : 0 + : i > 0 + ? 3 + : 2; + } + function o(t, e) { + return s(t.x, e.x); + } + function s(t, e) { + var r = a(t, 1), + n = a(e, 1); + return r !== n + ? r - n + : 0 === r + ? e[1] - t[1] + : 1 === r + ? t[0] - e[0] + : 2 === r + ? t[1] - e[1] + : e[0] - t[0]; + } + } + function an(t) { + var e = 0, + r = At / 3, + n = Ln(t), + i = n(e, r); + return ( + (i.parallels = function (t) { + return arguments.length + ? n((e = (t[0] * At) / 180), (r = (t[1] * At) / 180)) + : [(e / At) * 180, (r / At) * 180]; + }), + i + ); + } + function on(t, e) { + var r = Math.sin(t), + n = (r + Math.sin(e)) / 2, + i = 1 + r * (2 * n - r), + a = Math.sqrt(i) / n; + function o(t, e) { + var r = Math.sqrt(i - 2 * n * Math.sin(e)) / n; + return [r * Math.sin((t *= n)), a - r * Math.cos(t)]; + } + return ( + (o.invert = function (t, e) { + var r = a - e; + return [ + Math.atan2(t, r) / n, + Dt((i - (t * t + r * r) * n * n) / (2 * n)), + ]; + }), + o + ); + } + (t.geo.clipExtent = function () { + var t, + e, + r, + n, + i, + a, + o = { + stream: function (t) { + return i && (i.valid = !1), ((i = a(t)).valid = !0), i; + }, + extent: function (s) { + return arguments.length + ? ((a = nn( + (t = +s[0][0]), + (e = +s[0][1]), + (r = +s[1][0]), + (n = +s[1][1]) + )), + i && ((i.valid = !1), (i = null)), + o) + : [ + [t, e], + [r, n], + ]; + }, + }; + return o.extent([ + [0, 0], + [960, 500], + ]); + }), + ((t.geo.conicEqualArea = function () { + return an(on); + }).raw = on), + (t.geo.albers = function () { + return t.geo + .conicEqualArea() + .rotate([96, 0]) + .center([-0.6, 38.7]) + .parallels([29.5, 45.5]) + .scale(1070); + }), + (t.geo.albersUsa = function () { + var e, + r, + n, + i, + a = t.geo.albers(), + o = t.geo + .conicEqualArea() + .rotate([154, 0]) + .center([-2, 58.5]) + .parallels([55, 65]), + s = t.geo + .conicEqualArea() + .rotate([157, 0]) + .center([-3, 19.9]) + .parallels([8, 18]), + l = { + point: function (t, r) { + e = [t, r]; + }, + }; + function c(t) { + var a = t[0], + o = t[1]; + return (e = null), r(a, o), e || (n(a, o), e) || i(a, o), e; + } + return ( + (c.invert = function (t) { + var e = a.scale(), + r = a.translate(), + n = (t[0] - r[0]) / e, + i = (t[1] - r[1]) / e; + return ( + i >= 0.12 && i < 0.234 && n >= -0.425 && n < -0.214 + ? o + : i >= 0.166 && i < 0.234 && n >= -0.214 && n < -0.115 + ? s + : a + ).invert(t); + }), + (c.stream = function (t) { + var e = a.stream(t), + r = o.stream(t), + n = s.stream(t); + return { + point: function (t, i) { + e.point(t, i), r.point(t, i), n.point(t, i); + }, + sphere: function () { + e.sphere(), r.sphere(), n.sphere(); + }, + lineStart: function () { + e.lineStart(), r.lineStart(), n.lineStart(); + }, + lineEnd: function () { + e.lineEnd(), r.lineEnd(), n.lineEnd(); + }, + polygonStart: function () { + e.polygonStart(), r.polygonStart(), n.polygonStart(); + }, + polygonEnd: function () { + e.polygonEnd(), r.polygonEnd(), n.polygonEnd(); + }, + }; + }), + (c.precision = function (t) { + return arguments.length + ? (a.precision(t), o.precision(t), s.precision(t), c) + : a.precision(); + }), + (c.scale = function (t) { + return arguments.length + ? (a.scale(t), + o.scale(0.35 * t), + s.scale(t), + c.translate(a.translate())) + : a.scale(); + }), + (c.translate = function (t) { + if (!arguments.length) return a.translate(); + var e = a.scale(), + u = +t[0], + f = +t[1]; + return ( + (r = a + .translate(t) + .clipExtent([ + [u - 0.455 * e, f - 0.238 * e], + [u + 0.455 * e, f + 0.238 * e], + ]) + .stream(l).point), + (n = o + .translate([u - 0.307 * e, f + 0.201 * e]) + .clipExtent([ + [u - 0.425 * e + kt, f + 0.12 * e + kt], + [u - 0.214 * e - kt, f + 0.234 * e - kt], + ]) + .stream(l).point), + (i = s + .translate([u - 0.205 * e, f + 0.212 * e]) + .clipExtent([ + [u - 0.214 * e + kt, f + 0.166 * e + kt], + [u - 0.115 * e - kt, f + 0.234 * e - kt], + ]) + .stream(l).point), + c + ); + }), + c.scale(1070) + ); + }); + var sn, + ln, + cn, + un, + fn, + hn, + pn = { + point: O, + lineStart: O, + lineEnd: O, + polygonStart: function () { + (ln = 0), (pn.lineStart = dn); + }, + polygonEnd: function () { + (pn.lineStart = pn.lineEnd = pn.point = O), (sn += y(ln / 2)); + }, + }; + function dn() { + var t, e, r, n; + function i(t, e) { + (ln += n * t - r * e), (r = t), (n = e); + } + (pn.point = function (a, o) { + (pn.point = i), (t = r = a), (e = n = o); + }), + (pn.lineEnd = function () { + i(t, e); + }); + } + var gn = { + point: function (t, e) { + t < cn && (cn = t); + t > fn && (fn = t); + e < un && (un = e); + e > hn && (hn = e); + }, + lineStart: O, + lineEnd: O, + polygonStart: O, + polygonEnd: O, + }; + function mn() { + var t = vn(4.5), + e = [], + r = { + point: n, + lineStart: function () { + r.point = i; + }, + lineEnd: o, + polygonStart: function () { + r.lineEnd = s; + }, + polygonEnd: function () { + (r.lineEnd = o), (r.point = n); + }, + pointRadius: function (e) { + return (t = vn(e)), r; + }, + result: function () { + if (e.length) { + var t = e.join(''); + return (e = []), t; + } + }, + }; + function n(r, n) { + e.push('M', r, ',', n, t); + } + function i(t, n) { + e.push('M', t, ',', n), (r.point = a); + } + function a(t, r) { + e.push('L', t, ',', r); + } + function o() { + r.point = n; + } + function s() { + e.push('Z'); + } + return r; + } + function vn(t) { + return ( + 'm0,' + + t + + 'a' + + t + + ',' + + t + + ' 0 1,1 0,' + + -2 * t + + 'a' + + t + + ',' + + t + + ' 0 1,1 0,' + + 2 * t + + 'z' + ); + } + var yn, + xn = { + point: bn, + lineStart: _n, + lineEnd: wn, + polygonStart: function () { + xn.lineStart = Tn; + }, + polygonEnd: function () { + (xn.point = bn), (xn.lineStart = _n), (xn.lineEnd = wn); + }, + }; + function bn(t, e) { + (xr += t), (br += e), ++_r; + } + function _n() { + var t, e; + function r(r, n) { + var i = r - t, + a = n - e, + o = Math.sqrt(i * i + a * a); + (wr += (o * (t + r)) / 2), + (Tr += (o * (e + n)) / 2), + (kr += o), + bn((t = r), (e = n)); + } + xn.point = function (n, i) { + (xn.point = r), bn((t = n), (e = i)); + }; + } + function wn() { + xn.point = bn; + } + function Tn() { + var t, e, r, n; + function i(t, e) { + var i = t - r, + a = e - n, + o = Math.sqrt(i * i + a * a); + (wr += (o * (r + t)) / 2), + (Tr += (o * (n + e)) / 2), + (kr += o), + (Mr += (o = n * t - r * e) * (r + t)), + (Ar += o * (n + e)), + (Sr += 3 * o), + bn((r = t), (n = e)); + } + (xn.point = function (a, o) { + (xn.point = i), bn((t = r = a), (e = n = o)); + }), + (xn.lineEnd = function () { + i(t, e); + }); + } + function kn(t) { + var e = 4.5, + r = { + point: n, + lineStart: function () { + r.point = i; + }, + lineEnd: o, + polygonStart: function () { + r.lineEnd = s; + }, + polygonEnd: function () { + (r.lineEnd = o), (r.point = n); + }, + pointRadius: function (t) { + return (e = t), r; + }, + result: O, + }; + function n(r, n) { + t.moveTo(r + e, n), t.arc(r, n, e, 0, St); + } + function i(e, n) { + t.moveTo(e, n), (r.point = a); + } + function a(e, r) { + t.lineTo(e, r); + } + function o() { + r.point = n; + } + function s() { + t.closePath(); + } + return r; + } + function Mn(t) { + var e = 0.5, + r = Math.cos(30 * Lt), + n = 16; + function i(t) { + return (n ? o : a)(t); + } + function a(e) { + return En(e, function (r, n) { + (r = t(r, n)), e.point(r[0], r[1]); + }); + } + function o(e) { + var r, + i, + a, + o, + l, + c, + u, + f, + h, + p, + d, + g, + m = { + point: v, + lineStart: y, + lineEnd: b, + polygonStart: function () { + e.polygonStart(), (m.lineStart = _); + }, + polygonEnd: function () { + e.polygonEnd(), (m.lineStart = y); + }, + }; + function v(r, n) { + (r = t(r, n)), e.point(r[0], r[1]); + } + function y() { + (f = NaN), (m.point = x), e.lineStart(); + } + function x(r, i) { + var a = Ir([r, i]), + o = t(r, i); + s( + f, + h, + u, + p, + d, + g, + (f = o[0]), + (h = o[1]), + (u = r), + (p = a[0]), + (d = a[1]), + (g = a[2]), + n, + e + ), + e.point(f, h); + } + function b() { + (m.point = v), e.lineEnd(); + } + function _() { + y(), (m.point = w), (m.lineEnd = T); + } + function w(t, e) { + x((r = t), e), + (i = f), + (a = h), + (o = p), + (l = d), + (c = g), + (m.point = x); + } + function T() { + s(f, h, u, p, d, g, i, a, r, o, l, c, n, e), + (m.lineEnd = b), + b(); + } + return m; + } + function s(n, i, a, o, l, c, u, f, h, p, d, g, m, v) { + var x = u - n, + b = f - i, + _ = x * x + b * b; + if (_ > 4 * e && m--) { + var w = o + p, + T = l + d, + k = c + g, + M = Math.sqrt(w * w + T * T + k * k), + A = Math.asin((k /= M)), + S = + y(y(k) - 1) < kt || y(a - h) < kt + ? (a + h) / 2 + : Math.atan2(T, w), + E = t(S, A), + C = E[0], + L = E[1], + I = C - n, + P = L - i, + z = b * I - x * P; + ((z * z) / _ > e || + y((x * I + b * P) / _ - 0.5) > 0.3 || + o * p + l * d + c * g < r) && + (s(n, i, a, o, l, c, C, L, S, (w /= M), (T /= M), k, m, v), + v.point(C, L), + s(C, L, S, w, T, k, u, f, h, p, d, g, m, v)); + } + } + return ( + (i.precision = function (t) { + return arguments.length + ? ((n = (e = t * t) > 0 && 16), i) + : Math.sqrt(e); + }), + i + ); + } + function An(t) { + var e = Mn(function (e, r) { + return t([e * It, r * It]); + }); + return function (t) { + return In(e(t)); + }; + } + function Sn(t) { + this.stream = t; + } + function En(t, e) { + return { + point: e, + sphere: function () { + t.sphere(); + }, + lineStart: function () { + t.lineStart(); + }, + lineEnd: function () { + t.lineEnd(); + }, + polygonStart: function () { + t.polygonStart(); + }, + polygonEnd: function () { + t.polygonEnd(); + }, + }; + } + function Cn(t) { + return Ln(function () { + return t; + })(); + } + function Ln(e) { + var r, + n, + i, + a, + o, + s, + l = Mn(function (t, e) { + return [(t = r(t, e))[0] * c + a, o - t[1] * c]; + }), + c = 150, + u = 480, + f = 250, + h = 0, + p = 0, + d = 0, + g = 0, + m = 0, + v = tn, + y = L, + x = null, + b = null; + function _(t) { + return [(t = i(t[0] * Lt, t[1] * Lt))[0] * c + a, o - t[1] * c]; + } + function w(t) { + return ( + (t = i.invert((t[0] - a) / c, (o - t[1]) / c)) && [ + t[0] * It, + t[1] * It, + ] + ); + } + function T() { + i = Gr((n = On(d, g, m)), r); + var t = r(h, p); + return (a = u - t[0] * c), (o = f + t[1] * c), k(); + } + function k() { + return s && ((s.valid = !1), (s = null)), _; + } + return ( + (_.stream = function (t) { + return ( + s && (s.valid = !1), ((s = In(v(n, l(y(t))))).valid = !0), s + ); + }), + (_.clipAngle = function (t) { + return arguments.length + ? ((v = null == t ? ((x = t), tn) : en((x = +t) * Lt)), k()) + : x; + }), + (_.clipExtent = function (t) { + return arguments.length + ? ((b = t), + (y = t ? nn(t[0][0], t[0][1], t[1][0], t[1][1]) : L), + k()) + : b; + }), + (_.scale = function (t) { + return arguments.length ? ((c = +t), T()) : c; + }), + (_.translate = function (t) { + return arguments.length + ? ((u = +t[0]), (f = +t[1]), T()) + : [u, f]; + }), + (_.center = function (t) { + return arguments.length + ? ((h = (t[0] % 360) * Lt), (p = (t[1] % 360) * Lt), T()) + : [h * It, p * It]; + }), + (_.rotate = function (t) { + return arguments.length + ? ((d = (t[0] % 360) * Lt), + (g = (t[1] % 360) * Lt), + (m = t.length > 2 ? (t[2] % 360) * Lt : 0), + T()) + : [d * It, g * It, m * It]; + }), + t.rebind(_, l, 'precision'), + function () { + return ( + (r = e.apply(this, arguments)), + (_.invert = r.invert && w), + T() + ); + } + ); + } + function In(t) { + return En(t, function (e, r) { + t.point(e * Lt, r * Lt); + }); + } + function Pn(t, e) { + return [t, e]; + } + function zn(t, e) { + return [t > At ? t - St : t < -At ? t + St : t, e]; + } + function On(t, e, r) { + return t + ? e || r + ? Gr(Rn(t), Fn(e, r)) + : Rn(t) + : e || r + ? Fn(e, r) + : zn; + } + function Dn(t) { + return function (e, r) { + return [(e += t) > At ? e - St : e < -At ? e + St : e, r]; + }; + } + function Rn(t) { + var e = Dn(t); + return (e.invert = Dn(-t)), e; + } + function Fn(t, e) { + var r = Math.cos(t), + n = Math.sin(t), + i = Math.cos(e), + a = Math.sin(e); + function o(t, e) { + var o = Math.cos(e), + s = Math.cos(t) * o, + l = Math.sin(t) * o, + c = Math.sin(e), + u = c * r + s * n; + return [ + Math.atan2(l * i - u * a, s * r - c * n), + Dt(u * i + l * a), + ]; + } + return ( + (o.invert = function (t, e) { + var o = Math.cos(e), + s = Math.cos(t) * o, + l = Math.sin(t) * o, + c = Math.sin(e), + u = c * i - l * a; + return [ + Math.atan2(l * i + c * a, s * r + u * n), + Dt(u * r - s * n), + ]; + }), + o + ); + } + function Bn(t, e) { + var r = Math.cos(t), + n = Math.sin(t); + return function (i, a, o, s) { + var l = o * e; + null != i + ? ((i = Nn(r, i)), + (a = Nn(r, a)), + (o > 0 ? i < a : i > a) && (i += o * St)) + : ((i = t + o * St), (a = t - 0.5 * l)); + for (var c, u = i; o > 0 ? u > a : u < a; u -= l) + s.point( + (c = Fr([r, -n * Math.cos(u), -n * Math.sin(u)]))[0], + c[1] + ); + }; + } + function Nn(t, e) { + var r = Ir(e); + (r[0] -= t), Rr(r); + var n = Ot(-r[1]); + return ((-r[2] < 0 ? -n : n) + 2 * Math.PI - kt) % (2 * Math.PI); + } + function jn(e, r, n) { + var i = t.range(e, r - kt, n).concat(r); + return function (t) { + return i.map(function (e) { + return [t, e]; + }); + }; + } + function Un(e, r, n) { + var i = t.range(e, r - kt, n).concat(r); + return function (t) { + return i.map(function (e) { + return [e, t]; + }); + }; + } + function Vn(t) { + return t.source; + } + function qn(t) { + return t.target; + } + (t.geo.path = function () { + var e, + r, + n, + i, + a, + o = 4.5; + function s(e) { + return ( + e && + ('function' == typeof o && + i.pointRadius(+o.apply(this, arguments)), + (a && a.valid) || (a = n(i)), + t.geo.stream(e, a)), + i.result() + ); + } + function l() { + return (a = null), s; + } + return ( + (s.area = function (e) { + return (sn = 0), t.geo.stream(e, n(pn)), sn; + }), + (s.centroid = function (e) { + return ( + (xr = br = _r = wr = Tr = kr = Mr = Ar = Sr = 0), + t.geo.stream(e, n(xn)), + Sr + ? [Mr / Sr, Ar / Sr] + : kr + ? [wr / kr, Tr / kr] + : _r + ? [xr / _r, br / _r] + : [NaN, NaN] + ); + }), + (s.bounds = function (e) { + return ( + (fn = hn = -(cn = un = 1 / 0)), + t.geo.stream(e, n(gn)), + [ + [cn, un], + [fn, hn], + ] + ); + }), + (s.projection = function (t) { + return arguments.length + ? ((n = (e = t) ? t.stream || An(t) : L), l()) + : e; + }), + (s.context = function (t) { + return arguments.length + ? ((i = null == (r = t) ? new mn() : new kn(t)), + 'function' != typeof o && i.pointRadius(o), + l()) + : r; + }), + (s.pointRadius = function (t) { + return arguments.length + ? ((o = + 'function' == typeof t ? t : (i.pointRadius(+t), +t)), + s) + : o; + }), + s.projection(t.geo.albersUsa()).context(null) + ); + }), + (t.geo.transform = function (t) { + return { + stream: function (e) { + var r = new Sn(e); + for (var n in t) r[n] = t[n]; + return r; + }, + }; + }), + (Sn.prototype = { + point: function (t, e) { + this.stream.point(t, e); + }, + sphere: function () { + this.stream.sphere(); + }, + lineStart: function () { + this.stream.lineStart(); + }, + lineEnd: function () { + this.stream.lineEnd(); + }, + polygonStart: function () { + this.stream.polygonStart(); + }, + polygonEnd: function () { + this.stream.polygonEnd(); + }, + }), + (t.geo.projection = Cn), + (t.geo.projectionMutator = Ln), + ((t.geo.equirectangular = function () { + return Cn(Pn); + }).raw = Pn.invert = + Pn), + (t.geo.rotation = function (t) { + function e(e) { + return ( + ((e = t(e[0] * Lt, e[1] * Lt))[0] *= It), (e[1] *= It), e + ); + } + return ( + (t = On( + (t[0] % 360) * Lt, + t[1] * Lt, + t.length > 2 ? t[2] * Lt : 0 + )), + (e.invert = function (e) { + return ( + ((e = t.invert(e[0] * Lt, e[1] * Lt))[0] *= It), + (e[1] *= It), + e + ); + }), + e + ); + }), + (zn.invert = Pn), + (t.geo.circle = function () { + var t, + e, + r = [0, 0], + n = 6; + function i() { + var t = 'function' == typeof r ? r.apply(this, arguments) : r, + n = On(-t[0] * Lt, -t[1] * Lt, 0).invert, + i = []; + return ( + e(null, null, 1, { + point: function (t, e) { + i.push((t = n(t, e))), (t[0] *= It), (t[1] *= It); + }, + }), + { type: 'Polygon', coordinates: [i] } + ); + } + return ( + (i.origin = function (t) { + return arguments.length ? ((r = t), i) : r; + }), + (i.angle = function (r) { + return arguments.length + ? ((e = Bn((t = +r) * Lt, n * Lt)), i) + : t; + }), + (i.precision = function (r) { + return arguments.length + ? ((e = Bn(t * Lt, (n = +r) * Lt)), i) + : n; + }), + i.angle(90) + ); + }), + (t.geo.distance = function (t, e) { + var r, + n = (e[0] - t[0]) * Lt, + i = t[1] * Lt, + a = e[1] * Lt, + o = Math.sin(n), + s = Math.cos(n), + l = Math.sin(i), + c = Math.cos(i), + u = Math.sin(a), + f = Math.cos(a); + return Math.atan2( + Math.sqrt((r = f * o) * r + (r = c * u - l * f * s) * r), + l * u + c * f * s + ); + }), + (t.geo.graticule = function () { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p = 10, + d = p, + g = 90, + m = 360, + v = 2.5; + function x() { + return { type: 'MultiLineString', coordinates: b() }; + } + function b() { + return t + .range(Math.ceil(i / g) * g, n, g) + .map(f) + .concat(t.range(Math.ceil(l / m) * m, s, m).map(h)) + .concat( + t + .range(Math.ceil(r / p) * p, e, p) + .filter(function (t) { + return y(t % g) > kt; + }) + .map(c) + ) + .concat( + t + .range(Math.ceil(o / d) * d, a, d) + .filter(function (t) { + return y(t % m) > kt; + }) + .map(u) + ); + } + return ( + (x.lines = function () { + return b().map(function (t) { + return { type: 'LineString', coordinates: t }; + }); + }), + (x.outline = function () { + return { + type: 'Polygon', + coordinates: [ + f(i).concat( + h(s).slice(1), + f(n).reverse().slice(1), + h(l).reverse().slice(1) + ), + ], + }; + }), + (x.extent = function (t) { + return arguments.length + ? x.majorExtent(t).minorExtent(t) + : x.minorExtent(); + }), + (x.majorExtent = function (t) { + return arguments.length + ? ((i = +t[0][0]), + (n = +t[1][0]), + (l = +t[0][1]), + (s = +t[1][1]), + i > n && ((t = i), (i = n), (n = t)), + l > s && ((t = l), (l = s), (s = t)), + x.precision(v)) + : [ + [i, l], + [n, s], + ]; + }), + (x.minorExtent = function (t) { + return arguments.length + ? ((r = +t[0][0]), + (e = +t[1][0]), + (o = +t[0][1]), + (a = +t[1][1]), + r > e && ((t = r), (r = e), (e = t)), + o > a && ((t = o), (o = a), (a = t)), + x.precision(v)) + : [ + [r, o], + [e, a], + ]; + }), + (x.step = function (t) { + return arguments.length + ? x.majorStep(t).minorStep(t) + : x.minorStep(); + }), + (x.majorStep = function (t) { + return arguments.length + ? ((g = +t[0]), (m = +t[1]), x) + : [g, m]; + }), + (x.minorStep = function (t) { + return arguments.length + ? ((p = +t[0]), (d = +t[1]), x) + : [p, d]; + }), + (x.precision = function (t) { + return arguments.length + ? ((v = +t), + (c = jn(o, a, 90)), + (u = Un(r, e, v)), + (f = jn(l, s, 90)), + (h = Un(i, n, v)), + x) + : v; + }), + x + .majorExtent([ + [-180, -90 + kt], + [180, 90 - kt], + ]) + .minorExtent([ + [-180, -80 - kt], + [180, 80 + kt], + ]) + ); + }), + (t.geo.greatArc = function () { + var e, + r, + n = Vn, + i = qn; + function a() { + return { + type: 'LineString', + coordinates: [ + e || n.apply(this, arguments), + r || i.apply(this, arguments), + ], + }; + } + return ( + (a.distance = function () { + return t.geo.distance( + e || n.apply(this, arguments), + r || i.apply(this, arguments) + ); + }), + (a.source = function (t) { + return arguments.length + ? ((n = t), (e = 'function' == typeof t ? null : t), a) + : n; + }), + (a.target = function (t) { + return arguments.length + ? ((i = t), (r = 'function' == typeof t ? null : t), a) + : i; + }), + (a.precision = function () { + return arguments.length ? a : 0; + }), + a + ); + }), + (t.geo.interpolate = function (t, e) { + return ( + (r = t[0] * Lt), + (n = t[1] * Lt), + (i = e[0] * Lt), + (a = e[1] * Lt), + (o = Math.cos(n)), + (s = Math.sin(n)), + (l = Math.cos(a)), + (c = Math.sin(a)), + (u = o * Math.cos(r)), + (f = o * Math.sin(r)), + (h = l * Math.cos(i)), + (p = l * Math.sin(i)), + (d = 2 * Math.asin(Math.sqrt(Ft(a - n) + o * l * Ft(i - r)))), + (g = 1 / Math.sin(d)), + ((m = d + ? function (t) { + var e = Math.sin((t *= d)) * g, + r = Math.sin(d - t) * g, + n = r * u + e * h, + i = r * f + e * p, + a = r * s + e * c; + return [ + Math.atan2(i, n) * It, + Math.atan2(a, Math.sqrt(n * n + i * i)) * It, + ]; + } + : function () { + return [r * It, n * It]; + }).distance = d), + m + ); + var r, n, i, a, o, s, l, c, u, f, h, p, d, g, m; + }), + (t.geo.length = function (e) { + return (yn = 0), t.geo.stream(e, Hn), yn; + }); + var Hn = { + sphere: O, + point: O, + lineStart: function () { + var t, e, r; + function n(n, i) { + var a = Math.sin((i *= Lt)), + o = Math.cos(i), + s = y((n *= Lt) - t), + l = Math.cos(s); + (yn += Math.atan2( + Math.sqrt( + (s = o * Math.sin(s)) * s + (s = r * a - e * o * l) * s + ), + e * a + r * o * l + )), + (t = n), + (e = a), + (r = o); + } + (Hn.point = function (i, a) { + (t = i * Lt), + (e = Math.sin((a *= Lt))), + (r = Math.cos(a)), + (Hn.point = n); + }), + (Hn.lineEnd = function () { + Hn.point = Hn.lineEnd = O; + }); + }, + lineEnd: O, + polygonStart: O, + polygonEnd: O, + }; + function Gn(t, e) { + function r(e, r) { + var n = Math.cos(e), + i = Math.cos(r), + a = t(n * i); + return [a * i * Math.sin(e), a * Math.sin(r)]; + } + return ( + (r.invert = function (t, r) { + var n = Math.sqrt(t * t + r * r), + i = e(n), + a = Math.sin(i), + o = Math.cos(i); + return [ + Math.atan2(t * a, n * o), + Math.asin(n && (r * a) / n), + ]; + }), + r + ); + } + var Yn = Gn( + function (t) { + return Math.sqrt(2 / (1 + t)); + }, + function (t) { + return 2 * Math.asin(t / 2); + } + ); + (t.geo.azimuthalEqualArea = function () { + return Cn(Yn); + }).raw = Yn; + var Wn = Gn(function (t) { + var e = Math.acos(t); + return e && e / Math.sin(e); + }, L); + function Xn(t, e) { + var r = Math.cos(t), + n = function (t) { + return Math.tan(At / 4 + t / 2); + }, + i = + t === e + ? Math.sin(t) + : Math.log(r / Math.cos(e)) / Math.log(n(e) / n(t)), + a = (r * Math.pow(n(t), i)) / i; + if (!i) return Kn; + function o(t, e) { + a > 0 + ? e < -Ct + kt && (e = -Ct + kt) + : e > Ct - kt && (e = Ct - kt); + var r = a / Math.pow(n(e), i); + return [r * Math.sin(i * t), a - r * Math.cos(i * t)]; + } + return ( + (o.invert = function (t, e) { + var r = a - e, + n = Pt(i) * Math.sqrt(t * t + r * r); + return [ + Math.atan2(t, r) / i, + 2 * Math.atan(Math.pow(a / n, 1 / i)) - Ct, + ]; + }), + o + ); + } + function Zn(t, e) { + var r = Math.cos(t), + n = t === e ? Math.sin(t) : (r - Math.cos(e)) / (e - t), + i = r / n + t; + if (y(n) < kt) return Pn; + function a(t, e) { + var r = i - e; + return [r * Math.sin(n * t), i - r * Math.cos(n * t)]; + } + return ( + (a.invert = function (t, e) { + var r = i - e; + return [ + Math.atan2(t, r) / n, + i - Pt(n) * Math.sqrt(t * t + r * r), + ]; + }), + a + ); + } + ((t.geo.azimuthalEquidistant = function () { + return Cn(Wn); + }).raw = Wn), + ((t.geo.conicConformal = function () { + return an(Xn); + }).raw = Xn), + ((t.geo.conicEquidistant = function () { + return an(Zn); + }).raw = Zn); + var Jn = Gn(function (t) { + return 1 / t; + }, Math.atan); + function Kn(t, e) { + return [t, Math.log(Math.tan(At / 4 + e / 2))]; + } + function Qn(t) { + var e, + r = Cn(t), + n = r.scale, + i = r.translate, + a = r.clipExtent; + return ( + (r.scale = function () { + var t = n.apply(r, arguments); + return t === r ? (e ? r.clipExtent(null) : r) : t; + }), + (r.translate = function () { + var t = i.apply(r, arguments); + return t === r ? (e ? r.clipExtent(null) : r) : t; + }), + (r.clipExtent = function (t) { + var o = a.apply(r, arguments); + if (o === r) { + if ((e = null == t)) { + var s = At * n(), + l = i(); + a([ + [l[0] - s, l[1] - s], + [l[0] + s, l[1] + s], + ]); + } + } else e && (o = null); + return o; + }), + r.clipExtent(null) + ); + } + ((t.geo.gnomonic = function () { + return Cn(Jn); + }).raw = Jn), + (Kn.invert = function (t, e) { + return [t, 2 * Math.atan(Math.exp(e)) - Ct]; + }), + ((t.geo.mercator = function () { + return Qn(Kn); + }).raw = Kn); + var $n = Gn(function () { + return 1; + }, Math.asin); + (t.geo.orthographic = function () { + return Cn($n); + }).raw = $n; + var ti = Gn( + function (t) { + return 1 / (1 + t); + }, + function (t) { + return 2 * Math.atan(t); + } + ); + function ei(t, e) { + return [Math.log(Math.tan(At / 4 + e / 2)), -t]; + } + function ri(t) { + return t[0]; + } + function ni(t) { + return t[1]; + } + function ii(t) { + for (var e = t.length, r = [0, 1], n = 2, i = 2; i < e; i++) { + for (; n > 1 && zt(t[r[n - 2]], t[r[n - 1]], t[i]) <= 0; ) --n; + r[n++] = i; + } + return r.slice(0, n); + } + function ai(t, e) { + return t[0] - e[0] || t[1] - e[1]; + } + ((t.geo.stereographic = function () { + return Cn(ti); + }).raw = ti), + (ei.invert = function (t, e) { + return [-e, 2 * Math.atan(Math.exp(t)) - Ct]; + }), + ((t.geo.transverseMercator = function () { + var t = Qn(ei), + e = t.center, + r = t.rotate; + return ( + (t.center = function (t) { + return t ? e([-t[1], t[0]]) : [(t = e())[1], -t[0]]; + }), + (t.rotate = function (t) { + return t + ? r([t[0], t[1], t.length > 2 ? t[2] + 90 : 90]) + : [(t = r())[0], t[1], t[2] - 90]; + }), + r([0, 0, 90]) + ); + }).raw = ei), + (t.geom = {}), + (t.geom.hull = function (t) { + var e = ri, + r = ni; + if (arguments.length) return n(t); + function n(t) { + if (t.length < 3) return []; + var n, + i = de(e), + a = de(r), + o = t.length, + s = [], + l = []; + for (n = 0; n < o; n++) + s.push([+i.call(this, t[n], n), +a.call(this, t[n], n), n]); + for (s.sort(ai), n = 0; n < o; n++) + l.push([s[n][0], -s[n][1]]); + var c = ii(s), + u = ii(l), + f = u[0] === c[0], + h = u[u.length - 1] === c[c.length - 1], + p = []; + for (n = c.length - 1; n >= 0; --n) p.push(t[s[c[n]][2]]); + for (n = +f; n < u.length - h; ++n) p.push(t[s[u[n]][2]]); + return p; + } + return ( + (n.x = function (t) { + return arguments.length ? ((e = t), n) : e; + }), + (n.y = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + n + ); + }), + (t.geom.polygon = function (t) { + return U(t, oi), t; + }); + var oi = (t.geom.polygon.prototype = []); + function si(t, e, r) { + return ( + (r[0] - e[0]) * (t[1] - e[1]) < (r[1] - e[1]) * (t[0] - e[0]) + ); + } + function li(t, e, r, n) { + var i = t[0], + a = r[0], + o = e[0] - i, + s = n[0] - a, + l = t[1], + c = r[1], + u = e[1] - l, + f = n[1] - c, + h = (s * (l - c) - f * (i - a)) / (f * o - s * u); + return [i + h * o, l + h * u]; + } + function ci(t) { + var e = t[0], + r = t[t.length - 1]; + return !(e[0] - r[0] || e[1] - r[1]); + } + (oi.area = function () { + for ( + var t, e = -1, r = this.length, n = this[r - 1], i = 0; + ++e < r; + + ) + (t = n), (n = this[e]), (i += t[1] * n[0] - t[0] * n[1]); + return 0.5 * i; + }), + (oi.centroid = function (t) { + var e, + r, + n = -1, + i = this.length, + a = 0, + o = 0, + s = this[i - 1]; + for ( + arguments.length || (t = -1 / (6 * this.area())); + ++n < i; + + ) + (e = s), + (s = this[n]), + (r = e[0] * s[1] - s[0] * e[1]), + (a += (e[0] + s[0]) * r), + (o += (e[1] + s[1]) * r); + return [a * t, o * t]; + }), + (oi.clip = function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s = ci(t), + l = -1, + c = this.length - ci(this), + u = this[c - 1]; + ++l < c; + + ) { + for ( + e = t.slice(), + t.length = 0, + i = this[l], + a = e[(n = e.length - s) - 1], + r = -1; + ++r < n; + + ) + si((o = e[r]), u, i) + ? (si(a, u, i) || t.push(li(a, o, u, i)), t.push(o)) + : si(a, u, i) && t.push(li(a, o, u, i)), + (a = o); + s && t.push(t[0]), (u = i); + } + return t; + }); + var ui, + fi, + hi, + pi, + di, + gi = [], + mi = []; + function vi() { + Ri(this), (this.edge = this.site = this.circle = null); + } + function yi(t) { + var e = gi.pop() || new vi(); + return (e.site = t), e; + } + function xi(t) { + Ei(t), hi.remove(t), gi.push(t), Ri(t); + } + function bi(t) { + var e = t.circle, + r = e.x, + n = e.cy, + i = { x: r, y: n }, + a = t.P, + o = t.N, + s = [t]; + xi(t); + for ( + var l = a; + l.circle && y(r - l.circle.x) < kt && y(n - l.circle.cy) < kt; + + ) + (a = l.P), s.unshift(l), xi(l), (l = a); + s.unshift(l), Ei(l); + for ( + var c = o; + c.circle && y(r - c.circle.x) < kt && y(n - c.circle.cy) < kt; + + ) + (o = c.N), s.push(c), xi(c), (c = o); + s.push(c), Ei(c); + var u, + f = s.length; + for (u = 1; u < f; ++u) + (c = s[u]), (l = s[u - 1]), zi(c.edge, l.site, c.site, i); + (l = s[0]), + ((c = s[f - 1]).edge = Ii(l.site, c.site, null, i)), + Si(l), + Si(c); + } + function _i(t) { + for (var e, r, n, i, a = t.x, o = t.y, s = hi._; s; ) + if ((n = wi(s, o) - a) > kt) s = s.L; + else { + if (!((i = a - Ti(s, o)) > kt)) { + n > -kt + ? ((e = s.P), (r = s)) + : i > -kt + ? ((e = s), (r = s.N)) + : (e = r = s); + break; + } + if (!s.R) { + e = s; + break; + } + s = s.R; + } + var l = yi(t); + if ((hi.insert(e, l), e || r)) { + if (e === r) + return ( + Ei(e), + (r = yi(e.site)), + hi.insert(l, r), + (l.edge = r.edge = Ii(e.site, l.site)), + Si(e), + void Si(r) + ); + if (r) { + Ei(e), Ei(r); + var c = e.site, + u = c.x, + f = c.y, + h = t.x - u, + p = t.y - f, + d = r.site, + g = d.x - u, + m = d.y - f, + v = 2 * (h * m - p * g), + y = h * h + p * p, + x = g * g + m * m, + b = { + x: (m * y - p * x) / v + u, + y: (h * x - g * y) / v + f, + }; + zi(r.edge, c, d, b), + (l.edge = Ii(c, t, null, b)), + (r.edge = Ii(t, d, null, b)), + Si(e), + Si(r); + } else l.edge = Ii(e.site, l.site); + } + } + function wi(t, e) { + var r = t.site, + n = r.x, + i = r.y, + a = i - e; + if (!a) return n; + var o = t.P; + if (!o) return -1 / 0; + var s = (r = o.site).x, + l = r.y, + c = l - e; + if (!c) return s; + var u = s - n, + f = 1 / a - 1 / c, + h = u / c; + return f + ? (-h + + Math.sqrt( + h * h - + 2 * f * ((u * u) / (-2 * c) - l + c / 2 + i - a / 2) + )) / + f + + n + : (n + s) / 2; + } + function Ti(t, e) { + var r = t.N; + if (r) return wi(r, e); + var n = t.site; + return n.y === e ? n.x : 1 / 0; + } + function ki(t) { + (this.site = t), (this.edges = []); + } + function Mi(t, e) { + return e.angle - t.angle; + } + function Ai() { + Ri(this), + (this.x = this.y = this.arc = this.site = this.cy = null); + } + function Si(t) { + var e = t.P, + r = t.N; + if (e && r) { + var n = e.site, + i = t.site, + a = r.site; + if (n !== a) { + var o = i.x, + s = i.y, + l = n.x - o, + c = n.y - s, + u = a.x - o, + f = 2 * (l * (m = a.y - s) - c * u); + if (!(f >= -Mt)) { + var h = l * l + c * c, + p = u * u + m * m, + d = (m * h - c * p) / f, + g = (l * p - u * h) / f, + m = g + s, + v = mi.pop() || new Ai(); + (v.arc = t), + (v.site = i), + (v.x = d + o), + (v.y = m + Math.sqrt(d * d + g * g)), + (v.cy = m), + (t.circle = v); + for (var y = null, x = di._; x; ) + if (v.y < x.y || (v.y === x.y && v.x <= x.x)) { + if (!x.L) { + y = x.P; + break; + } + x = x.L; + } else { + if (!x.R) { + y = x; + break; + } + x = x.R; + } + di.insert(y, v), y || (pi = v); + } + } + } + } + function Ei(t) { + var e = t.circle; + e && + (e.P || (pi = e.N), + di.remove(e), + mi.push(e), + Ri(e), + (t.circle = null)); + } + function Ci(t, e) { + var r = t.b; + if (r) return !0; + var n, + i, + a = t.a, + o = e[0][0], + s = e[1][0], + l = e[0][1], + c = e[1][1], + u = t.l, + f = t.r, + h = u.x, + p = u.y, + d = f.x, + g = f.y, + m = (h + d) / 2, + v = (p + g) / 2; + if (g === p) { + if (m < o || m >= s) return; + if (h > d) { + if (a) { + if (a.y >= c) return; + } else a = { x: m, y: l }; + r = { x: m, y: c }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: m, y: c }; + r = { x: m, y: l }; + } + } else if ( + ((i = v - (n = (h - d) / (g - p)) * m), n < -1 || n > 1) + ) + if (h > d) { + if (a) { + if (a.y >= c) return; + } else a = { x: (l - i) / n, y: l }; + r = { x: (c - i) / n, y: c }; + } else { + if (a) { + if (a.y < l) return; + } else a = { x: (c - i) / n, y: c }; + r = { x: (l - i) / n, y: l }; + } + else if (p < g) { + if (a) { + if (a.x >= s) return; + } else a = { x: o, y: n * o + i }; + r = { x: s, y: n * s + i }; + } else { + if (a) { + if (a.x < o) return; + } else a = { x: s, y: n * s + i }; + r = { x: o, y: n * o + i }; + } + return (t.a = a), (t.b = r), !0; + } + function Li(t, e) { + (this.l = t), (this.r = e), (this.a = this.b = null); + } + function Ii(t, e, r, n) { + var i = new Li(t, e); + return ( + ui.push(i), + r && zi(i, t, e, r), + n && zi(i, e, t, n), + fi[t.i].edges.push(new Oi(i, t, e)), + fi[e.i].edges.push(new Oi(i, e, t)), + i + ); + } + function Pi(t, e, r) { + var n = new Li(t, null); + return (n.a = e), (n.b = r), ui.push(n), n; + } + function zi(t, e, r, n) { + t.a || t.b + ? t.l === r + ? (t.b = n) + : (t.a = n) + : ((t.a = n), (t.l = e), (t.r = r)); + } + function Oi(t, e, r) { + var n = t.a, + i = t.b; + (this.edge = t), + (this.site = e), + (this.angle = r + ? Math.atan2(r.y - e.y, r.x - e.x) + : t.l === e + ? Math.atan2(i.x - n.x, n.y - i.y) + : Math.atan2(n.x - i.x, i.y - n.y)); + } + function Di() { + this._ = null; + } + function Ri(t) { + t.U = t.C = t.L = t.R = t.P = t.N = null; + } + function Fi(t, e) { + var r = e, + n = e.R, + i = r.U; + i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), + (n.U = i), + (r.U = n), + (r.R = n.L), + r.R && (r.R.U = r), + (n.L = r); + } + function Bi(t, e) { + var r = e, + n = e.L, + i = r.U; + i ? (i.L === r ? (i.L = n) : (i.R = n)) : (t._ = n), + (n.U = i), + (r.U = n), + (r.L = n.R), + r.L && (r.L.U = r), + (n.R = r); + } + function Ni(t) { + for (; t.L; ) t = t.L; + return t; + } + function ji(t, e) { + var r, + n, + i, + a = t.sort(Ui).pop(); + for ( + ui = [], fi = new Array(t.length), hi = new Di(), di = new Di(); + ; + + ) + if ( + ((i = pi), + a && (!i || a.y < i.y || (a.y === i.y && a.x < i.x))) + ) + (a.x === r && a.y === n) || + ((fi[a.i] = new ki(a)), _i(a), (r = a.x), (n = a.y)), + (a = t.pop()); + else { + if (!i) break; + bi(i.arc); + } + e && + ((function (t) { + for ( + var e, + r = ui, + n = rn(t[0][0], t[0][1], t[1][0], t[1][1]), + i = r.length; + i--; + + ) + (!Ci((e = r[i]), t) || + !n(e) || + (y(e.a.x - e.b.x) < kt && y(e.a.y - e.b.y) < kt)) && + ((e.a = e.b = null), r.splice(i, 1)); + })(e), + (function (t) { + for ( + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f = t[0][0], + h = t[1][0], + p = t[0][1], + d = t[1][1], + g = fi, + m = g.length; + m--; + + ) + if ((a = g[m]) && a.prepare()) + for (l = (s = a.edges).length, o = 0; o < l; ) + (n = (u = s[o].end()).x), + (i = u.y), + (e = (c = s[++o % l].start()).x), + (r = c.y), + (y(n - e) > kt || y(i - r) > kt) && + (s.splice( + o, + 0, + new Oi( + Pi( + a.site, + u, + y(n - f) < kt && d - i > kt + ? { x: f, y: y(e - f) < kt ? r : d } + : y(i - d) < kt && h - n > kt + ? { x: y(r - d) < kt ? e : h, y: d } + : y(n - h) < kt && i - p > kt + ? { x: h, y: y(e - h) < kt ? r : p } + : y(i - p) < kt && n - f > kt + ? { x: y(r - p) < kt ? e : f, y: p } + : null + ), + a.site, + null + ) + ), + ++l); + })(e)); + var o = { cells: fi, edges: ui }; + return (hi = di = ui = fi = null), o; + } + function Ui(t, e) { + return e.y - t.y || e.x - t.x; + } + (ki.prototype.prepare = function () { + for (var t, e = this.edges, r = e.length; r--; ) + ((t = e[r].edge).b && t.a) || e.splice(r, 1); + return e.sort(Mi), e.length; + }), + (Oi.prototype = { + start: function () { + return this.edge.l === this.site ? this.edge.a : this.edge.b; + }, + end: function () { + return this.edge.l === this.site ? this.edge.b : this.edge.a; + }, + }), + (Di.prototype = { + insert: function (t, e) { + var r, n, i; + if (t) { + if ( + ((e.P = t), + (e.N = t.N), + t.N && (t.N.P = e), + (t.N = e), + t.R) + ) { + for (t = t.R; t.L; ) t = t.L; + t.L = e; + } else t.R = e; + r = t; + } else + this._ + ? ((t = Ni(this._)), + (e.P = null), + (e.N = t), + (t.P = t.L = e), + (r = t)) + : ((e.P = e.N = null), (this._ = e), (r = null)); + for (e.L = e.R = null, e.U = r, e.C = !0, t = e; r && r.C; ) + r === (n = r.U).L + ? (i = n.R) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.R && (Fi(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + Bi(this, n)) + : (i = n.L) && i.C + ? ((r.C = i.C = !1), (n.C = !0), (t = n)) + : (t === r.L && (Bi(this, r), (r = (t = r).U)), + (r.C = !1), + (n.C = !0), + Fi(this, n)), + (r = t.U); + this._.C = !1; + }, + remove: function (t) { + t.N && (t.N.P = t.P), + t.P && (t.P.N = t.N), + (t.N = t.P = null); + var e, + r, + n, + i = t.U, + a = t.L, + o = t.R; + if ( + ((r = a ? (o ? Ni(o) : a) : o), + i ? (i.L === t ? (i.L = r) : (i.R = r)) : (this._ = r), + a && o + ? ((n = r.C), + (r.C = t.C), + (r.L = a), + (a.U = r), + r !== o + ? ((i = r.U), + (r.U = t.U), + (t = r.R), + (i.L = t), + (r.R = o), + (o.U = r)) + : ((r.U = i), (i = r), (t = r.R))) + : ((n = t.C), (t = r)), + t && (t.U = i), + !n) + ) + if (t && t.C) t.C = !1; + else { + do { + if (t === this._) break; + if (t === i.L) { + if ( + ((e = i.R).C && + ((e.C = !1), (i.C = !0), Fi(this, i), (e = i.R)), + (e.L && e.L.C) || (e.R && e.R.C)) + ) { + (e.R && e.R.C) || + ((e.L.C = !1), + (e.C = !0), + Bi(this, e), + (e = i.R)), + (e.C = i.C), + (i.C = e.R.C = !1), + Fi(this, i), + (t = this._); + break; + } + } else if ( + ((e = i.L).C && + ((e.C = !1), (i.C = !0), Bi(this, i), (e = i.L)), + (e.L && e.L.C) || (e.R && e.R.C)) + ) { + (e.L && e.L.C) || + ((e.R.C = !1), (e.C = !0), Fi(this, e), (e = i.L)), + (e.C = i.C), + (i.C = e.L.C = !1), + Bi(this, i), + (t = this._); + break; + } + (e.C = !0), (t = i), (i = i.U); + } while (!t.C); + t && (t.C = !1); + } + }, + }), + (t.geom.voronoi = function (t) { + var e = ri, + r = ni, + n = e, + i = r, + a = Vi; + if (t) return o(t); + function o(t) { + var e = new Array(t.length), + r = a[0][0], + n = a[0][1], + i = a[1][0], + o = a[1][1]; + return ( + ji(s(t), a).cells.forEach(function (a, s) { + var l = a.edges, + c = a.site; + (e[s] = l.length + ? l.map(function (t) { + var e = t.start(); + return [e.x, e.y]; + }) + : c.x >= r && c.x <= i && c.y >= n && c.y <= o + ? [ + [r, o], + [i, o], + [i, n], + [r, n], + ] + : []).point = t[s]; + }), + e + ); + } + function s(t) { + return t.map(function (t, e) { + return { + x: Math.round(n(t, e) / kt) * kt, + y: Math.round(i(t, e) / kt) * kt, + i: e, + }; + }); + } + return ( + (o.links = function (t) { + return ji(s(t)) + .edges.filter(function (t) { + return t.l && t.r; + }) + .map(function (e) { + return { source: t[e.l.i], target: t[e.r.i] }; + }); + }), + (o.triangles = function (t) { + var e = []; + return ( + ji(s(t)).cells.forEach(function (r, n) { + for ( + var i, + a, + o, + s, + l = r.site, + c = r.edges.sort(Mi), + u = -1, + f = c.length, + h = c[f - 1].edge, + p = h.l === l ? h.r : h.l; + ++u < f; + + ) + h, + (i = p), + (p = (h = c[u].edge).l === l ? h.r : h.l), + n < i.i && + n < p.i && + ((o = i), + (s = p), + ((a = l).x - s.x) * (o.y - a.y) - + (a.x - o.x) * (s.y - a.y) < + 0) && + e.push([t[n], t[i.i], t[p.i]]); + }), + e + ); + }), + (o.x = function (t) { + return arguments.length ? ((n = de((e = t))), o) : e; + }), + (o.y = function (t) { + return arguments.length ? ((i = de((r = t))), o) : r; + }), + (o.clipExtent = function (t) { + return arguments.length + ? ((a = null == t ? Vi : t), o) + : a === Vi + ? null + : a; + }), + (o.size = function (t) { + return arguments.length + ? o.clipExtent(t && [[0, 0], t]) + : a === Vi + ? null + : a && a[1]; + }), + o + ); + }); + var Vi = [ + [-1e6, -1e6], + [1e6, 1e6], + ]; + function qi(t) { + return t.x; + } + function Hi(t) { + return t.y; + } + function Gi(t, e, r, n, i, a) { + if (!t(e, r, n, i, a)) { + var o = 0.5 * (r + i), + s = 0.5 * (n + a), + l = e.nodes; + l[0] && Gi(t, l[0], r, n, o, s), + l[1] && Gi(t, l[1], o, n, i, s), + l[2] && Gi(t, l[2], r, s, o, a), + l[3] && Gi(t, l[3], o, s, i, a); + } + } + function Yi(t, e, r, n, i, a, o) { + var s, + l = 1 / 0; + return ( + (function t(c, u, f, h, p) { + if (!(u > a || f > o || h < n || p < i)) { + if ((d = c.point)) { + var d, + g = e - c.x, + m = r - c.y, + v = g * g + m * m; + if (v < l) { + var y = Math.sqrt((l = v)); + (n = e - y), + (i = r - y), + (a = e + y), + (o = r + y), + (s = d); + } + } + for ( + var x = c.nodes, + b = 0.5 * (u + h), + _ = 0.5 * (f + p), + w = ((r >= _) << 1) | (e >= b), + T = w + 4; + w < T; + ++w + ) + if ((c = x[3 & w])) + switch (3 & w) { + case 0: + t(c, u, f, b, _); + break; + case 1: + t(c, b, f, h, _); + break; + case 2: + t(c, u, _, b, p); + break; + case 3: + t(c, b, _, h, p); + } + } + })(t, n, i, a, o), + s + ); + } + function Wi(e, r) { + (e = t.rgb(e)), (r = t.rgb(r)); + var n = e.r, + i = e.g, + a = e.b, + o = r.r - n, + s = r.g - i, + l = r.b - a; + return function (t) { + return ( + '#' + + se(Math.round(n + o * t)) + + se(Math.round(i + s * t)) + + se(Math.round(a + l * t)) + ); + }; + } + function Xi(t, e) { + var r, + n = {}, + i = {}; + for (r in t) r in e ? (n[r] = $i(t[r], e[r])) : (i[r] = t[r]); + for (r in e) r in t || (i[r] = e[r]); + return function (t) { + for (r in n) i[r] = n[r](t); + return i; + }; + } + function Zi(t, e) { + return ( + (t = +t), + (e = +e), + function (r) { + return t * (1 - r) + e * r; + } + ); + } + function Ji(t, e) { + var r, + n, + i, + a = (Ki.lastIndex = Qi.lastIndex = 0), + o = -1, + s = [], + l = []; + for (t += '', e += ''; (r = Ki.exec(t)) && (n = Qi.exec(e)); ) + (i = n.index) > a && + ((i = e.slice(a, i)), s[o] ? (s[o] += i) : (s[++o] = i)), + (r = r[0]) === (n = n[0]) + ? s[o] + ? (s[o] += n) + : (s[++o] = n) + : ((s[++o] = null), l.push({ i: o, x: Zi(r, n) })), + (a = Qi.lastIndex); + return ( + a < e.length && + ((i = e.slice(a)), s[o] ? (s[o] += i) : (s[++o] = i)), + s.length < 2 + ? l[0] + ? ((e = l[0].x), + function (t) { + return e(t) + ''; + }) + : function () { + return e; + } + : ((e = l.length), + function (t) { + for (var r, n = 0; n < e; ++n) s[(r = l[n]).i] = r.x(t); + return s.join(''); + }) + ); + } + (t.geom.delaunay = function (e) { + return t.geom.voronoi().triangles(e); + }), + (t.geom.quadtree = function (t, e, r, n, i) { + var a, + o = ri, + s = ni; + if ((a = arguments.length)) + return ( + (o = qi), + (s = Hi), + 3 === a && ((i = r), (n = e), (r = e = 0)), + l(t) + ); + function l(t) { + var l, + c, + u, + f, + h, + p, + d, + g, + m, + v = de(o), + x = de(s); + if (null != e) (p = e), (d = r), (g = n), (m = i); + else if ( + ((g = m = -(p = d = 1 / 0)), + (c = []), + (u = []), + (h = t.length), + a) + ) + for (f = 0; f < h; ++f) + (l = t[f]).x < p && (p = l.x), + l.y < d && (d = l.y), + l.x > g && (g = l.x), + l.y > m && (m = l.y), + c.push(l.x), + u.push(l.y); + else + for (f = 0; f < h; ++f) { + var b = +v((l = t[f]), f), + _ = +x(l, f); + b < p && (p = b), + _ < d && (d = _), + b > g && (g = b), + _ > m && (m = _), + c.push(b), + u.push(_); + } + var w = g - p, + T = m - d; + function k(t, e, r, n, i, a, o, s) { + if (!isNaN(r) && !isNaN(n)) + if (t.leaf) { + var l = t.x, + c = t.y; + if (null != l) + if (y(l - r) + y(c - n) < 0.01) + M(t, e, r, n, i, a, o, s); + else { + var u = t.point; + (t.x = t.y = t.point = null), + M(t, u, l, c, i, a, o, s), + M(t, e, r, n, i, a, o, s); + } + else (t.x = r), (t.y = n), (t.point = e); + } else M(t, e, r, n, i, a, o, s); + } + function M(t, e, r, n, i, a, o, s) { + var l = 0.5 * (i + o), + c = 0.5 * (a + s), + u = r >= l, + f = n >= c, + h = (f << 1) | u; + (t.leaf = !1), + u ? (i = l) : (o = l), + f ? (a = c) : (s = c), + k( + (t = + t.nodes[h] || + (t.nodes[h] = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + })), + e, + r, + n, + i, + a, + o, + s + ); + } + w > T ? (m = d + w) : (g = p + T); + var A = { + leaf: !0, + nodes: [], + point: null, + x: null, + y: null, + add: function (t) { + k(A, t, +v(t, ++f), +x(t, f), p, d, g, m); + }, + visit: function (t) { + Gi(t, A, p, d, g, m); + }, + find: function (t) { + return Yi(A, t[0], t[1], p, d, g, m); + }, + }; + if (((f = -1), null == e)) { + for (; ++f < h; ) k(A, t[f], c[f], u[f], p, d, g, m); + --f; + } else t.forEach(A.add); + return (c = u = t = l = null), A; + } + return ( + (l.x = function (t) { + return arguments.length ? ((o = t), l) : o; + }), + (l.y = function (t) { + return arguments.length ? ((s = t), l) : s; + }), + (l.extent = function (t) { + return arguments.length + ? (null == t + ? (e = r = n = i = null) + : ((e = +t[0][0]), + (r = +t[0][1]), + (n = +t[1][0]), + (i = +t[1][1])), + l) + : null == e + ? null + : [ + [e, r], + [n, i], + ]; + }), + (l.size = function (t) { + return arguments.length + ? (null == t + ? (e = r = n = i = null) + : ((e = r = 0), (n = +t[0]), (i = +t[1])), + l) + : null == e + ? null + : [n - e, i - r]; + }), + l + ); + }), + (t.interpolateRgb = Wi), + (t.interpolateObject = Xi), + (t.interpolateNumber = Zi), + (t.interpolateString = Ji); + var Ki = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + Qi = new RegExp(Ki.source, 'g'); + function $i(e, r) { + for ( + var n, i = t.interpolators.length; + --i >= 0 && !(n = t.interpolators[i](e, r)); + + ); + return n; + } + function ta(t, e) { + var r, + n = [], + i = [], + a = t.length, + o = e.length, + s = Math.min(t.length, e.length); + for (r = 0; r < s; ++r) n.push($i(t[r], e[r])); + for (; r < a; ++r) i[r] = t[r]; + for (; r < o; ++r) i[r] = e[r]; + return function (t) { + for (r = 0; r < s; ++r) i[r] = n[r](t); + return i; + }; + } + (t.interpolate = $i), + (t.interpolators = [ + function (t, e) { + var r = typeof e; + return ( + 'string' === r + ? pe.has(e.toLowerCase()) || /^(#|rgb\(|hsl\()/i.test(e) + ? Wi + : Ji + : e instanceof Vt + ? Wi + : Array.isArray(e) + ? ta + : 'object' === r && isNaN(e) + ? Xi + : Zi + )(t, e); + }, + ]), + (t.interpolateArray = ta); + var ea = function () { + return L; + }, + ra = t.map({ + linear: ea, + poly: function (t) { + return function (e) { + return Math.pow(e, t); + }; + }, + quad: function () { + return sa; + }, + cubic: function () { + return la; + }, + sin: function () { + return ua; + }, + exp: function () { + return fa; + }, + circle: function () { + return ha; + }, + elastic: function (t, e) { + var r; + arguments.length < 2 && (e = 0.45); + arguments.length + ? (r = (e / St) * Math.asin(1 / t)) + : ((t = 1), (r = e / 4)); + return function (n) { + return ( + 1 + + t * Math.pow(2, -10 * n) * Math.sin(((n - r) * St) / e) + ); + }; + }, + back: function (t) { + t || (t = 1.70158); + return function (e) { + return e * e * ((t + 1) * e - t); + }; + }, + bounce: function () { + return pa; + }, + }), + na = t.map({ + in: L, + out: aa, + 'in-out': oa, + 'out-in': function (t) { + return oa(aa(t)); + }, + }); + function ia(t) { + return function (e) { + return e <= 0 ? 0 : e >= 1 ? 1 : t(e); + }; + } + function aa(t) { + return function (e) { + return 1 - t(1 - e); + }; + } + function oa(t) { + return function (e) { + return 0.5 * (e < 0.5 ? t(2 * e) : 2 - t(2 - 2 * e)); + }; + } + function sa(t) { + return t * t; + } + function la(t) { + return t * t * t; + } + function ca(t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + } + function ua(t) { + return 1 - Math.cos(t * Ct); + } + function fa(t) { + return Math.pow(2, 10 * (t - 1)); + } + function ha(t) { + return 1 - Math.sqrt(1 - t * t); + } + function pa(t) { + return t < 1 / 2.75 + ? 7.5625 * t * t + : t < 2 / 2.75 + ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 + : t < 2.5 / 2.75 + ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 + : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375; + } + function da(t, e) { + return ( + (e -= t), + function (r) { + return Math.round(t + e * r); + } + ); + } + function ga(t) { + var e, + r, + n, + i = [t.a, t.b], + a = [t.c, t.d], + o = va(i), + s = ma(i, a), + l = + va( + (((e = a)[0] += (n = -s) * (r = i)[0]), + (e[1] += n * r[1]), + e) + ) || 0; + i[0] * a[1] < a[0] * i[1] && + ((i[0] *= -1), (i[1] *= -1), (o *= -1), (s *= -1)), + (this.rotate = + (o ? Math.atan2(i[1], i[0]) : Math.atan2(-a[0], a[1])) * It), + (this.translate = [t.e, t.f]), + (this.scale = [o, l]), + (this.skew = l ? Math.atan2(s, l) * It : 0); + } + function ma(t, e) { + return t[0] * e[0] + t[1] * e[1]; + } + function va(t) { + var e = Math.sqrt(ma(t, t)); + return e && ((t[0] /= e), (t[1] /= e)), e; + } + (t.ease = function (t) { + var e = t.indexOf('-'), + n = e >= 0 ? t.slice(0, e) : t, + i = e >= 0 ? t.slice(e + 1) : 'in'; + return ( + (n = ra.get(n) || ea), + ia((i = na.get(i) || L)(n.apply(null, r.call(arguments, 1)))) + ); + }), + (t.interpolateHcl = function (e, r) { + (e = t.hcl(e)), (r = t.hcl(r)); + var n = e.h, + i = e.c, + a = e.l, + o = r.h - n, + s = r.c - i, + l = r.l - a; + isNaN(s) && ((s = 0), (i = isNaN(i) ? r.c : i)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? r.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function (t) { + return Xt(n + o * t, i + s * t, a + l * t) + ''; + }; + }), + (t.interpolateHsl = function (e, r) { + (e = t.hsl(e)), (r = t.hsl(r)); + var n = e.h, + i = e.s, + a = e.l, + o = r.h - n, + s = r.s - i, + l = r.l - a; + isNaN(s) && ((s = 0), (i = isNaN(i) ? r.s : i)); + isNaN(o) + ? ((o = 0), (n = isNaN(n) ? r.h : n)) + : o > 180 + ? (o -= 360) + : o < -180 && (o += 360); + return function (t) { + return Gt(n + o * t, i + s * t, a + l * t) + ''; + }; + }), + (t.interpolateLab = function (e, r) { + (e = t.lab(e)), (r = t.lab(r)); + var n = e.l, + i = e.a, + a = e.b, + o = r.l - n, + s = r.a - i, + l = r.b - a; + return function (t) { + return Qt(n + o * t, i + s * t, a + l * t) + ''; + }; + }), + (t.interpolateRound = da), + (t.transform = function (e) { + var r = i.createElementNS(t.ns.prefix.svg, 'g'); + return (t.transform = function (t) { + if (null != t) { + r.setAttribute('transform', t); + var e = r.transform.baseVal.consolidate(); + } + return new ga(e ? e.matrix : ya); + })(e); + }), + (ga.prototype.toString = function () { + return ( + 'translate(' + + this.translate + + ')rotate(' + + this.rotate + + ')skewX(' + + this.skew + + ')scale(' + + this.scale + + ')' + ); + }); + var ya = { a: 1, b: 0, c: 0, d: 1, e: 0, f: 0 }; + function xa(t) { + return t.length ? t.pop() + ',' : ''; + } + function ba(e, r) { + var n = [], + i = []; + return ( + (e = t.transform(e)), + (r = t.transform(r)), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push('translate(', null, ',', null, ')'); + n.push( + { i: i - 4, x: Zi(t[0], e[0]) }, + { i: i - 2, x: Zi(t[1], e[1]) } + ); + } else (e[0] || e[1]) && r.push('translate(' + e + ')'); + })(e.translate, r.translate, n, i), + (function (t, e, r, n) { + t !== e + ? (t - e > 180 ? (e += 360) : e - t > 180 && (t += 360), + n.push({ + i: r.push(xa(r) + 'rotate(', null, ')') - 2, + x: Zi(t, e), + })) + : e && r.push(xa(r) + 'rotate(' + e + ')'); + })(e.rotate, r.rotate, n, i), + (function (t, e, r, n) { + t !== e + ? n.push({ + i: r.push(xa(r) + 'skewX(', null, ')') - 2, + x: Zi(t, e), + }) + : e && r.push(xa(r) + 'skewX(' + e + ')'); + })(e.skew, r.skew, n, i), + (function (t, e, r, n) { + if (t[0] !== e[0] || t[1] !== e[1]) { + var i = r.push(xa(r) + 'scale(', null, ',', null, ')'); + n.push( + { i: i - 4, x: Zi(t[0], e[0]) }, + { i: i - 2, x: Zi(t[1], e[1]) } + ); + } else + (1 === e[0] && 1 === e[1]) || + r.push(xa(r) + 'scale(' + e + ')'); + })(e.scale, r.scale, n, i), + (e = r = null), + function (t) { + for (var e, r = -1, a = i.length; ++r < a; ) + n[(e = i[r]).i] = e.x(t); + return n.join(''); + } + ); + } + function _a(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return (r - t) / e; + } + ); + } + function wa(t, e) { + return ( + (e = (e -= t = +t) || 1 / e), + function (r) { + return Math.max(0, Math.min(1, (r - t) / e)); + } + ); + } + function Ta(t) { + for ( + var e = t.source, + r = t.target, + n = (function (t, e) { + if (t === e) return t; + var r = ka(t), + n = ka(e), + i = r.pop(), + a = n.pop(), + o = null; + for (; i === a; ) (o = i), (i = r.pop()), (a = n.pop()); + return o; + })(e, r), + i = [e]; + e !== n; + + ) + (e = e.parent), i.push(e); + for (var a = i.length; r !== n; ) + i.splice(a, 0, r), (r = r.parent); + return i; + } + function ka(t) { + for (var e = [], r = t.parent; null != r; ) + e.push(t), (t = r), (r = r.parent); + return e.push(t), e; + } + function Ma(t) { + t.fixed |= 2; + } + function Aa(t) { + t.fixed &= -7; + } + function Sa(t) { + (t.fixed |= 4), (t.px = t.x), (t.py = t.y); + } + function Ea(t) { + t.fixed &= -5; + } + (t.interpolateTransform = ba), + (t.layout = {}), + (t.layout.bundle = function () { + return function (t) { + for (var e = [], r = -1, n = t.length; ++r < n; ) + e.push(Ta(t[r])); + return e; + }; + }), + (t.layout.chord = function () { + var e, + r, + n, + i, + a, + o, + s, + l = {}, + c = 0; + function u() { + var l, + u, + h, + p, + d, + g = {}, + m = [], + v = t.range(i), + y = []; + for (e = [], r = [], l = 0, p = -1; ++p < i; ) { + for (u = 0, d = -1; ++d < i; ) u += n[p][d]; + m.push(u), y.push(t.range(i)), (l += u); + } + for ( + a && + v.sort(function (t, e) { + return a(m[t], m[e]); + }), + o && + y.forEach(function (t, e) { + t.sort(function (t, r) { + return o(n[e][t], n[e][r]); + }); + }), + l = (St - c * i) / l, + u = 0, + p = -1; + ++p < i; + + ) { + for (h = u, d = -1; ++d < i; ) { + var x = v[p], + b = y[x][d], + _ = n[x][b], + w = u, + T = (u += _ * l); + g[x + '-' + b] = { + index: x, + subindex: b, + startAngle: w, + endAngle: T, + value: _, + }; + } + (r[x] = { + index: x, + startAngle: h, + endAngle: u, + value: m[x], + }), + (u += c); + } + for (p = -1; ++p < i; ) + for (d = p - 1; ++d < i; ) { + var k = g[p + '-' + d], + M = g[d + '-' + p]; + (k.value || M.value) && + e.push( + k.value < M.value + ? { source: M, target: k } + : { source: k, target: M } + ); + } + s && f(); + } + function f() { + e.sort(function (t, e) { + return s( + (t.source.value + t.target.value) / 2, + (e.source.value + e.target.value) / 2 + ); + }); + } + return ( + (l.matrix = function (t) { + return arguments.length + ? ((i = (n = t) && n.length), (e = r = null), l) + : n; + }), + (l.padding = function (t) { + return arguments.length ? ((c = t), (e = r = null), l) : c; + }), + (l.sortGroups = function (t) { + return arguments.length ? ((a = t), (e = r = null), l) : a; + }), + (l.sortSubgroups = function (t) { + return arguments.length ? ((o = t), (e = null), l) : o; + }), + (l.sortChords = function (t) { + return arguments.length ? ((s = t), e && f(), l) : s; + }), + (l.chords = function () { + return e || u(), e; + }), + (l.groups = function () { + return r || u(), r; + }), + l + ); + }), + (t.layout.force = function () { + var e, + r, + n, + i, + a, + o, + s = {}, + l = t.dispatch('start', 'tick', 'end'), + c = [1, 1], + u = 0.9, + f = Ca, + h = La, + p = -30, + d = Ia, + g = 0.1, + m = 0.64, + v = [], + y = []; + function x(t) { + return function (e, r, n, i) { + if (e.point !== t) { + var a = e.cx - t.x, + o = e.cy - t.y, + s = i - r, + l = a * a + o * o; + if ((s * s) / m < l) { + if (l < d) { + var c = e.charge / l; + (t.px -= a * c), (t.py -= o * c); + } + return !0; + } + if (e.point && l && l < d) { + c = e.pointCharge / l; + (t.px -= a * c), (t.py -= o * c); + } + } + return !e.charge; + }; + } + function b(e) { + (e.px = t.event.x), (e.py = t.event.y), s.resume(); + } + return ( + (s.tick = function () { + if ((n *= 0.99) < 0.005) + return ( + (e = null), l.end({ type: 'end', alpha: (n = 0) }), !0 + ); + var r, + s, + f, + h, + d, + m, + b, + _, + w, + T = v.length, + k = y.length; + for (s = 0; s < k; ++s) + (h = (f = y[s]).source), + (m = + (_ = (d = f.target).x - h.x) * _ + + (w = d.y - h.y) * w) && + ((_ *= m = + (n * a[s] * ((m = Math.sqrt(m)) - i[s])) / m), + (w *= m), + (d.x -= + _ * + (b = + h.weight + d.weight + ? h.weight / (h.weight + d.weight) + : 0.5)), + (d.y -= w * b), + (h.x += _ * (b = 1 - b)), + (h.y += w * b)); + if ( + (b = n * g) && + ((_ = c[0] / 2), (w = c[1] / 2), (s = -1), b) + ) + for (; ++s < T; ) + ((f = v[s]).x += (_ - f.x) * b), (f.y += (w - f.y) * b); + if (p) + for ( + !(function t(e, r, n) { + var i = 0, + a = 0; + if (((e.charge = 0), !e.leaf)) + for ( + var o, s = e.nodes, l = s.length, c = -1; + ++c < l; + + ) + null != (o = s[c]) && + (t(o, r, n), + (e.charge += o.charge), + (i += o.charge * o.cx), + (a += o.charge * o.cy)); + if (e.point) { + e.leaf || + ((e.point.x += Math.random() - 0.5), + (e.point.y += Math.random() - 0.5)); + var u = r * n[e.point.index]; + (e.charge += e.pointCharge = u), + (i += u * e.point.x), + (a += u * e.point.y); + } + (e.cx = i / e.charge), (e.cy = a / e.charge); + })((r = t.geom.quadtree(v)), n, o), + s = -1; + ++s < T; + + ) + (f = v[s]).fixed || r.visit(x(f)); + for (s = -1; ++s < T; ) + (f = v[s]).fixed + ? ((f.x = f.px), (f.y = f.py)) + : ((f.x -= (f.px - (f.px = f.x)) * u), + (f.y -= (f.py - (f.py = f.y)) * u)); + l.tick({ type: 'tick', alpha: n }); + }), + (s.nodes = function (t) { + return arguments.length ? ((v = t), s) : v; + }), + (s.links = function (t) { + return arguments.length ? ((y = t), s) : y; + }), + (s.size = function (t) { + return arguments.length ? ((c = t), s) : c; + }), + (s.linkDistance = function (t) { + return arguments.length + ? ((f = 'function' == typeof t ? t : +t), s) + : f; + }), + (s.distance = s.linkDistance), + (s.linkStrength = function (t) { + return arguments.length + ? ((h = 'function' == typeof t ? t : +t), s) + : h; + }), + (s.friction = function (t) { + return arguments.length ? ((u = +t), s) : u; + }), + (s.charge = function (t) { + return arguments.length + ? ((p = 'function' == typeof t ? t : +t), s) + : p; + }), + (s.chargeDistance = function (t) { + return arguments.length ? ((d = t * t), s) : Math.sqrt(d); + }), + (s.gravity = function (t) { + return arguments.length ? ((g = +t), s) : g; + }), + (s.theta = function (t) { + return arguments.length ? ((m = t * t), s) : Math.sqrt(m); + }), + (s.alpha = function (t) { + return arguments.length + ? ((t = +t), + n + ? t > 0 + ? (n = t) + : ((e.c = null), + (e.t = NaN), + (e = null), + l.end({ type: 'end', alpha: (n = 0) })) + : t > 0 && + (l.start({ type: 'start', alpha: (n = t) }), + (e = we(s.tick))), + s) + : n; + }), + (s.start = function () { + var t, + e, + r, + n = v.length, + l = y.length, + u = c[0], + d = c[1]; + for (t = 0; t < n; ++t) + ((r = v[t]).index = t), (r.weight = 0); + for (t = 0; t < l; ++t) + 'number' == typeof (r = y[t]).source && + (r.source = v[r.source]), + 'number' == typeof r.target && (r.target = v[r.target]), + ++r.source.weight, + ++r.target.weight; + for (t = 0; t < n; ++t) + (r = v[t]), + isNaN(r.x) && (r.x = g('x', u)), + isNaN(r.y) && (r.y = g('y', d)), + isNaN(r.px) && (r.px = r.x), + isNaN(r.py) && (r.py = r.y); + if (((i = []), 'function' == typeof f)) + for (t = 0; t < l; ++t) i[t] = +f.call(this, y[t], t); + else for (t = 0; t < l; ++t) i[t] = f; + if (((a = []), 'function' == typeof h)) + for (t = 0; t < l; ++t) a[t] = +h.call(this, y[t], t); + else for (t = 0; t < l; ++t) a[t] = h; + if (((o = []), 'function' == typeof p)) + for (t = 0; t < n; ++t) o[t] = +p.call(this, v[t], t); + else for (t = 0; t < n; ++t) o[t] = p; + function g(r, i) { + if (!e) { + for (e = new Array(n), c = 0; c < n; ++c) e[c] = []; + for (c = 0; c < l; ++c) { + var a = y[c]; + e[a.source.index].push(a.target), + e[a.target.index].push(a.source); + } + } + for (var o, s = e[t], c = -1, u = s.length; ++c < u; ) + if (!isNaN((o = s[c][r]))) return o; + return Math.random() * i; + } + return s.resume(); + }), + (s.resume = function () { + return s.alpha(0.1); + }), + (s.stop = function () { + return s.alpha(0); + }), + (s.drag = function () { + if ( + (r || + (r = t.behavior + .drag() + .origin(L) + .on('dragstart.force', Ma) + .on('drag.force', b) + .on('dragend.force', Aa)), + !arguments.length) + ) + return r; + this.on('mouseover.force', Sa) + .on('mouseout.force', Ea) + .call(r); + }), + t.rebind(s, l, 'on') + ); + }); + var Ca = 20, + La = 1, + Ia = 1 / 0; + function Pa(e, r) { + return ( + t.rebind(e, r, 'sort', 'children', 'value'), + (e.nodes = e), + (e.links = Ba), + e + ); + } + function za(t, e) { + for (var r = [t]; null != (t = r.pop()); ) + if ((e(t), (i = t.children) && (n = i.length))) + for (var n, i; --n >= 0; ) r.push(i[n]); + } + function Oa(t, e) { + for (var r = [t], n = []; null != (t = r.pop()); ) + if ((n.push(t), (a = t.children) && (i = a.length))) + for (var i, a, o = -1; ++o < i; ) r.push(a[o]); + for (; null != (t = n.pop()); ) e(t); + } + function Da(t) { + return t.children; + } + function Ra(t) { + return t.value; + } + function Fa(t, e) { + return e.value - t.value; + } + function Ba(e) { + return t.merge( + e.map(function (t) { + return (t.children || []).map(function (e) { + return { source: t, target: e }; + }); + }) + ); + } + (t.layout.hierarchy = function () { + var t = Fa, + e = Da, + r = Ra; + function n(i) { + var a, + o = [i], + s = []; + for (i.depth = 0; null != (a = o.pop()); ) + if ( + (s.push(a), (c = e.call(n, a, a.depth)) && (l = c.length)) + ) { + for (var l, c, u; --l >= 0; ) + o.push((u = c[l])), + (u.parent = a), + (u.depth = a.depth + 1); + r && (a.value = 0), (a.children = c); + } else + r && (a.value = +r.call(n, a, a.depth) || 0), + delete a.children; + return ( + Oa(i, function (e) { + var n, i; + t && (n = e.children) && n.sort(t), + r && (i = e.parent) && (i.value += e.value); + }), + s + ); + } + return ( + (n.sort = function (e) { + return arguments.length ? ((t = e), n) : t; + }), + (n.children = function (t) { + return arguments.length ? ((e = t), n) : e; + }), + (n.value = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + (n.revalue = function (t) { + return ( + r && + (za(t, function (t) { + t.children && (t.value = 0); + }), + Oa(t, function (t) { + var e; + t.children || (t.value = +r.call(n, t, t.depth) || 0), + (e = t.parent) && (e.value += t.value); + })), + t + ); + }), + n + ); + }), + (t.layout.partition = function () { + var e = t.layout.hierarchy(), + r = [1, 1]; + function n(t, n) { + var i = e.call(this, t, n); + return ( + (function t(e, r, n, i) { + var a = e.children; + if ( + ((e.x = r), + (e.y = e.depth * i), + (e.dx = n), + (e.dy = i), + a && (o = a.length)) + ) { + var o, + s, + l, + c = -1; + for (n = e.value ? n / e.value : 0; ++c < o; ) + t((s = a[c]), r, (l = s.value * n), i), (r += l); + } + })( + i[0], + 0, + r[0], + r[1] / + (function t(e) { + var r = e.children, + n = 0; + if (r && (i = r.length)) + for (var i, a = -1; ++a < i; ) + n = Math.max(n, t(r[a])); + return 1 + n; + })(i[0]) + ), + i + ); + } + return ( + (n.size = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + Pa(n, e) + ); + }), + (t.layout.pie = function () { + var e = Number, + r = Na, + n = 0, + i = St, + a = 0; + function o(s) { + var l, + c = s.length, + u = s.map(function (t, r) { + return +e.call(o, t, r); + }), + f = +('function' == typeof n + ? n.apply(this, arguments) + : n), + h = + ('function' == typeof i ? i.apply(this, arguments) : i) - + f, + p = Math.min( + Math.abs(h) / c, + +('function' == typeof a ? a.apply(this, arguments) : a) + ), + d = p * (h < 0 ? -1 : 1), + g = t.sum(u), + m = g ? (h - c * d) / g : 0, + v = t.range(c), + y = []; + return ( + null != r && + v.sort( + r === Na + ? function (t, e) { + return u[e] - u[t]; + } + : function (t, e) { + return r(s[t], s[e]); + } + ), + v.forEach(function (t) { + y[t] = { + data: s[t], + value: (l = u[t]), + startAngle: f, + endAngle: (f += l * m + d), + padAngle: p, + }; + }), + y + ); + } + return ( + (o.value = function (t) { + return arguments.length ? ((e = t), o) : e; + }), + (o.sort = function (t) { + return arguments.length ? ((r = t), o) : r; + }), + (o.startAngle = function (t) { + return arguments.length ? ((n = t), o) : n; + }), + (o.endAngle = function (t) { + return arguments.length ? ((i = t), o) : i; + }), + (o.padAngle = function (t) { + return arguments.length ? ((a = t), o) : a; + }), + o + ); + }); + var Na = {}; + function ja(t) { + return t.x; + } + function Ua(t) { + return t.y; + } + function Va(t, e, r) { + (t.y0 = e), (t.y = r); + } + t.layout.stack = function () { + var e = L, + r = Ga, + n = Ya, + i = Va, + a = ja, + o = Ua; + function s(l, c) { + if (!(p = l.length)) return l; + var u = l.map(function (t, r) { + return e.call(s, t, r); + }), + f = u.map(function (t) { + return t.map(function (t, e) { + return [a.call(s, t, e), o.call(s, t, e)]; + }); + }), + h = r.call(s, f, c); + (u = t.permute(u, h)), (f = t.permute(f, h)); + var p, + d, + g, + m, + v = n.call(s, f, c), + y = u[0].length; + for (g = 0; g < y; ++g) + for ( + i.call(s, u[0][g], (m = v[g]), f[0][g][1]), d = 1; + d < p; + ++d + ) + i.call(s, u[d][g], (m += f[d - 1][g][1]), f[d][g][1]); + return l; + } + return ( + (s.values = function (t) { + return arguments.length ? ((e = t), s) : e; + }), + (s.order = function (t) { + return arguments.length + ? ((r = 'function' == typeof t ? t : qa.get(t) || Ga), s) + : r; + }), + (s.offset = function (t) { + return arguments.length + ? ((n = 'function' == typeof t ? t : Ha.get(t) || Ya), s) + : n; + }), + (s.x = function (t) { + return arguments.length ? ((a = t), s) : a; + }), + (s.y = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + (s.out = function (t) { + return arguments.length ? ((i = t), s) : i; + }), + s + ); + }; + var qa = t.map({ + 'inside-out': function (e) { + var r, + n, + i = e.length, + a = e.map(Wa), + o = e.map(Xa), + s = t.range(i).sort(function (t, e) { + return a[t] - a[e]; + }), + l = 0, + c = 0, + u = [], + f = []; + for (r = 0; r < i; ++r) + (n = s[r]), + l < c + ? ((l += o[n]), u.push(n)) + : ((c += o[n]), f.push(n)); + return f.reverse().concat(u); + }, + reverse: function (e) { + return t.range(e.length).reverse(); + }, + default: Ga, + }), + Ha = t.map({ + silhouette: function (t) { + var e, + r, + n, + i = t.length, + a = t[0].length, + o = [], + s = 0, + l = []; + for (r = 0; r < a; ++r) { + for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; + n > s && (s = n), o.push(n); + } + for (r = 0; r < a; ++r) l[r] = (s - o[r]) / 2; + return l; + }, + wiggle: function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c, + u = t.length, + f = t[0], + h = f.length, + p = []; + for (p[0] = l = c = 0, r = 1; r < h; ++r) { + for (e = 0, i = 0; e < u; ++e) i += t[e][r][1]; + for (e = 0, a = 0, s = f[r][0] - f[r - 1][0]; e < u; ++e) { + for ( + n = 0, o = (t[e][r][1] - t[e][r - 1][1]) / (2 * s); + n < e; + ++n + ) + o += (t[n][r][1] - t[n][r - 1][1]) / s; + a += o * t[e][r][1]; + } + (p[r] = l -= i ? (a / i) * s : 0), l < c && (c = l); + } + for (r = 0; r < h; ++r) p[r] -= c; + return p; + }, + expand: function (t) { + var e, + r, + n, + i = t.length, + a = t[0].length, + o = 1 / i, + s = []; + for (r = 0; r < a; ++r) { + for (e = 0, n = 0; e < i; e++) n += t[e][r][1]; + if (n) for (e = 0; e < i; e++) t[e][r][1] /= n; + else for (e = 0; e < i; e++) t[e][r][1] = o; + } + for (r = 0; r < a; ++r) s[r] = 0; + return s; + }, + zero: Ya, + }); + function Ga(e) { + return t.range(e.length); + } + function Ya(t) { + for (var e = -1, r = t[0].length, n = []; ++e < r; ) n[e] = 0; + return n; + } + function Wa(t) { + for (var e, r = 1, n = 0, i = t[0][1], a = t.length; r < a; ++r) + (e = t[r][1]) > i && ((n = r), (i = e)); + return n; + } + function Xa(t) { + return t.reduce(Za, 0); + } + function Za(t, e) { + return t + e[1]; + } + function Ja(t, e) { + return Ka(t, Math.ceil(Math.log(e.length) / Math.LN2 + 1)); + } + function Ka(t, e) { + for ( + var r = -1, n = +t[0], i = (t[1] - n) / e, a = []; + ++r <= e; + + ) + a[r] = i * r + n; + return a; + } + function Qa(e) { + return [t.min(e), t.max(e)]; + } + function $a(t, e) { + return t.value - e.value; + } + function to(t, e) { + var r = t._pack_next; + (t._pack_next = e), + (e._pack_prev = t), + (e._pack_next = r), + (r._pack_prev = e); + } + function eo(t, e) { + (t._pack_next = e), (e._pack_prev = t); + } + function ro(t, e) { + var r = e.x - t.x, + n = e.y - t.y, + i = t.r + e.r; + return 0.999 * i * i > r * r + n * n; + } + function no(t) { + if ((e = t.children) && (l = e.length)) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1 / 0, + u = -1 / 0, + f = 1 / 0, + h = -1 / 0; + if ( + (e.forEach(io), + ((r = e[0]).x = -r.r), + (r.y = 0), + x(r), + l > 1 && (((n = e[1]).x = n.r), (n.y = 0), x(n), l > 2)) + ) + for ( + oo(r, n, (i = e[2])), + x(i), + to(r, i), + r._pack_prev = i, + to(i, n), + n = r._pack_next, + a = 3; + a < l; + a++ + ) { + oo(r, n, (i = e[a])); + var p = 0, + d = 1, + g = 1; + for (o = n._pack_next; o !== n; o = o._pack_next, d++) + if (ro(o, i)) { + p = 1; + break; + } + if (1 == p) + for ( + s = r._pack_prev; + s !== o._pack_prev && !ro(s, i); + s = s._pack_prev, g++ + ); + p + ? (d < g || (d == g && n.r < r.r) + ? eo(r, (n = o)) + : eo((r = s), n), + a--) + : (to(r, i), (n = i), x(i)); + } + var m = (c + u) / 2, + v = (f + h) / 2, + y = 0; + for (a = 0; a < l; a++) + ((i = e[a]).x -= m), + (i.y -= v), + (y = Math.max(y, i.r + Math.sqrt(i.x * i.x + i.y * i.y))); + (t.r = y), e.forEach(ao); + } + function x(t) { + (c = Math.min(t.x - t.r, c)), + (u = Math.max(t.x + t.r, u)), + (f = Math.min(t.y - t.r, f)), + (h = Math.max(t.y + t.r, h)); + } + } + function io(t) { + t._pack_next = t._pack_prev = t; + } + function ao(t) { + delete t._pack_next, delete t._pack_prev; + } + function oo(t, e, r) { + var n = t.r + r.r, + i = e.x - t.x, + a = e.y - t.y; + if (n && (i || a)) { + var o = e.r + r.r, + s = i * i + a * a, + l = 0.5 + ((n *= n) - (o *= o)) / (2 * s), + c = + Math.sqrt( + Math.max(0, 2 * o * (n + s) - (n -= s) * n - o * o) + ) / + (2 * s); + (r.x = t.x + l * i + c * a), (r.y = t.y + l * a - c * i); + } else (r.x = t.x + n), (r.y = t.y); + } + function so(t, e) { + return t.parent == e.parent ? 1 : 2; + } + function lo(t) { + var e = t.children; + return e.length ? e[0] : t.t; + } + function co(t) { + var e, + r = t.children; + return (e = r.length) ? r[e - 1] : t.t; + } + function uo(t, e, r) { + var n = r / (e.i - t.i); + (e.c -= n), (e.s += r), (t.c += n), (e.z += r), (e.m += r); + } + function fo(t, e, r) { + return t.a.parent === e.parent ? t.a : r; + } + function ho(t) { + return { x: t.x, y: t.y, dx: t.dx, dy: t.dy }; + } + function po(t, e) { + var r = t.x + e[3], + n = t.y + e[0], + i = t.dx - e[1] - e[3], + a = t.dy - e[0] - e[2]; + return ( + i < 0 && ((r += i / 2), (i = 0)), + a < 0 && ((n += a / 2), (a = 0)), + { x: r, y: n, dx: i, dy: a } + ); + } + function go(t) { + var e = t[0], + r = t[t.length - 1]; + return e < r ? [e, r] : [r, e]; + } + function mo(t) { + return t.rangeExtent ? t.rangeExtent() : go(t.range()); + } + function vo(t, e, r, n) { + var i = r(t[0], t[1]), + a = n(e[0], e[1]); + return function (t) { + return a(i(t)); + }; + } + function yo(t, e) { + var r, + n = 0, + i = t.length - 1, + a = t[n], + o = t[i]; + return ( + o < a && ((r = n), (n = i), (i = r), (r = a), (a = o), (o = r)), + (t[n] = e.floor(a)), + (t[i] = e.ceil(o)), + t + ); + } + function xo(t) { + return t + ? { + floor: function (e) { + return Math.floor(e / t) * t; + }, + ceil: function (e) { + return Math.ceil(e / t) * t; + }, + } + : bo; + } + (t.layout.histogram = function () { + var e = !0, + r = Number, + n = Qa, + i = Ja; + function a(a, o) { + for ( + var s, + l, + c = [], + u = a.map(r, this), + f = n.call(this, u, o), + h = i.call(this, f, u, o), + p = ((o = -1), u.length), + d = h.length - 1, + g = e ? 1 : 1 / p; + ++o < d; + + ) + ((s = c[o] = []).dx = h[o + 1] - (s.x = h[o])), (s.y = 0); + if (d > 0) + for (o = -1; ++o < p; ) + (l = u[o]) >= f[0] && + l <= f[1] && + (((s = c[t.bisect(h, l, 1, d) - 1]).y += g), + s.push(a[o])); + return c; + } + return ( + (a.value = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.range = function (t) { + return arguments.length ? ((n = de(t)), a) : n; + }), + (a.bins = function (t) { + return arguments.length + ? ((i = + 'number' == typeof t + ? function (e) { + return Ka(e, t); + } + : de(t)), + a) + : i; + }), + (a.frequency = function (t) { + return arguments.length ? ((e = !!t), a) : e; + }), + a + ); + }), + (t.layout.pack = function () { + var e, + r = t.layout.hierarchy().sort($a), + n = 0, + i = [1, 1]; + function a(t, a) { + var o = r.call(this, t, a), + s = o[0], + l = i[0], + c = i[1], + u = + null == e + ? Math.sqrt + : 'function' == typeof e + ? e + : function () { + return e; + }; + if ( + ((s.x = s.y = 0), + Oa(s, function (t) { + t.r = +u(t.value); + }), + Oa(s, no), + n) + ) { + var f = + (n * (e ? 1 : Math.max((2 * s.r) / l, (2 * s.r) / c))) / + 2; + Oa(s, function (t) { + t.r += f; + }), + Oa(s, no), + Oa(s, function (t) { + t.r -= f; + }); + } + return ( + (function t(e, r, n, i) { + var a = e.children; + if ( + ((e.x = r += i * e.x), + (e.y = n += i * e.y), + (e.r *= i), + a) + ) + for (var o = -1, s = a.length; ++o < s; ) + t(a[o], r, n, i); + })( + s, + l / 2, + c / 2, + e ? 1 : 1 / Math.max((2 * s.r) / l, (2 * s.r) / c) + ), + o + ); + } + return ( + (a.size = function (t) { + return arguments.length ? ((i = t), a) : i; + }), + (a.radius = function (t) { + return arguments.length + ? ((e = null == t || 'function' == typeof t ? t : +t), a) + : e; + }), + (a.padding = function (t) { + return arguments.length ? ((n = +t), a) : n; + }), + Pa(a, r) + ); + }), + (t.layout.tree = function () { + var e = t.layout.hierarchy().sort(null).value(null), + r = so, + n = [1, 1], + i = null; + function a(t, a) { + var c = e.call(this, t, a), + u = c[0], + f = (function (t) { + var e, + r = { A: null, children: [t] }, + n = [r]; + for (; null != (e = n.pop()); ) + for ( + var i, a = e.children, o = 0, s = a.length; + o < s; + ++o + ) + n.push( + ((a[o] = i = + { + _: a[o], + parent: e, + children: + ((i = a[o].children) && i.slice()) || [], + A: null, + a: null, + z: 0, + m: 0, + c: 0, + s: 0, + t: null, + i: o, + }).a = i) + ); + return r.children[0]; + })(u); + if ((Oa(f, o), (f.parent.m = -f.z), za(f, s), i)) za(u, l); + else { + var h = u, + p = u, + d = u; + za(u, function (t) { + t.x < h.x && (h = t), + t.x > p.x && (p = t), + t.depth > d.depth && (d = t); + }); + var g = r(h, p) / 2 - h.x, + m = n[0] / (p.x + r(p, h) / 2 + g), + v = n[1] / (d.depth || 1); + za(u, function (t) { + (t.x = (t.x + g) * m), (t.y = t.depth * v); + }); + } + return c; + } + function o(t) { + var e = t.children, + n = t.parent.children, + i = t.i ? n[t.i - 1] : null; + if (e.length) { + !(function (t) { + var e, + r = 0, + n = 0, + i = t.children, + a = i.length; + for (; --a >= 0; ) + ((e = i[a]).z += r), + (e.m += r), + (r += e.s + (n += e.c)); + })(t); + var a = (e[0].z + e[e.length - 1].z) / 2; + i + ? ((t.z = i.z + r(t._, i._)), (t.m = t.z - a)) + : (t.z = a); + } else i && (t.z = i.z + r(t._, i._)); + t.parent.A = (function (t, e, n) { + if (e) { + for ( + var i, + a = t, + o = t, + s = e, + l = a.parent.children[0], + c = a.m, + u = o.m, + f = s.m, + h = l.m; + (s = co(s)), (a = lo(a)), s && a; + + ) + (l = lo(l)), + ((o = co(o)).a = t), + (i = s.z + f - a.z - c + r(s._, a._)) > 0 && + (uo(fo(s, t, n), t, i), (c += i), (u += i)), + (f += s.m), + (c += a.m), + (h += l.m), + (u += o.m); + s && !co(o) && ((o.t = s), (o.m += f - u)), + a && !lo(l) && ((l.t = a), (l.m += c - h), (n = t)); + } + return n; + })(t, i, t.parent.A || n[0]); + } + function s(t) { + (t._.x = t.z + t.parent.m), (t.m += t.parent.m); + } + function l(t) { + (t.x *= n[0]), (t.y = t.depth * n[1]); + } + return ( + (a.separation = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.size = function (t) { + return arguments.length + ? ((i = null == (n = t) ? l : null), a) + : i + ? null + : n; + }), + (a.nodeSize = function (t) { + return arguments.length + ? ((i = null == (n = t) ? null : l), a) + : i + ? n + : null; + }), + Pa(a, e) + ); + }), + (t.layout.cluster = function () { + var e = t.layout.hierarchy().sort(null).value(null), + r = so, + n = [1, 1], + i = !1; + function a(a, o) { + var s, + l = e.call(this, a, o), + c = l[0], + u = 0; + Oa(c, function (e) { + var n = e.children; + n && n.length + ? ((e.x = (function (t) { + return ( + t.reduce(function (t, e) { + return t + e.x; + }, 0) / t.length + ); + })(n)), + (e.y = (function (e) { + return ( + 1 + + t.max(e, function (t) { + return t.y; + }) + ); + })(n))) + : ((e.x = s ? (u += r(e, s)) : 0), (e.y = 0), (s = e)); + }); + var f = (function t(e) { + var r = e.children; + return r && r.length ? t(r[0]) : e; + })(c), + h = (function t(e) { + var r, + n = e.children; + return n && (r = n.length) ? t(n[r - 1]) : e; + })(c), + p = f.x - r(f, h) / 2, + d = h.x + r(h, f) / 2; + return ( + Oa( + c, + i + ? function (t) { + (t.x = (t.x - c.x) * n[0]), + (t.y = (c.y - t.y) * n[1]); + } + : function (t) { + (t.x = ((t.x - p) / (d - p)) * n[0]), + (t.y = (1 - (c.y ? t.y / c.y : 1)) * n[1]); + } + ), + l + ); + } + return ( + (a.separation = function (t) { + return arguments.length ? ((r = t), a) : r; + }), + (a.size = function (t) { + return arguments.length + ? ((i = null == (n = t)), a) + : i + ? null + : n; + }), + (a.nodeSize = function (t) { + return arguments.length + ? ((i = null != (n = t)), a) + : i + ? n + : null; + }), + Pa(a, e) + ); + }), + (t.layout.treemap = function () { + var e, + r = t.layout.hierarchy(), + n = Math.round, + i = [1, 1], + a = null, + o = ho, + s = !1, + l = 'squarify', + c = 0.5 * (1 + Math.sqrt(5)); + function u(t, e) { + for (var r, n, i = -1, a = t.length; ++i < a; ) + (n = (r = t[i]).value * (e < 0 ? 0 : e)), + (r.area = isNaN(n) || n <= 0 ? 0 : n); + } + function f(t) { + var e = t.children; + if (e && e.length) { + var r, + n, + i, + a = o(t), + s = [], + c = e.slice(), + h = 1 / 0, + g = + 'slice' === l + ? a.dx + : 'dice' === l + ? a.dy + : 'slice-dice' === l + ? 1 & t.depth + ? a.dy + : a.dx + : Math.min(a.dx, a.dy); + for ( + u(c, (a.dx * a.dy) / t.value), s.area = 0; + (i = c.length) > 0; + + ) + s.push((r = c[i - 1])), + (s.area += r.area), + 'squarify' !== l || (n = p(s, g)) <= h + ? (c.pop(), (h = n)) + : ((s.area -= s.pop().area), + d(s, g, a, !1), + (g = Math.min(a.dx, a.dy)), + (s.length = s.area = 0), + (h = 1 / 0)); + s.length && (d(s, g, a, !0), (s.length = s.area = 0)), + e.forEach(f); + } + } + function h(t) { + var e = t.children; + if (e && e.length) { + var r, + n = o(t), + i = e.slice(), + a = []; + for ( + u(i, (n.dx * n.dy) / t.value), a.area = 0; + (r = i.pop()); + + ) + a.push(r), + (a.area += r.area), + null != r.z && + (d(a, r.z ? n.dx : n.dy, n, !i.length), + (a.length = a.area = 0)); + e.forEach(h); + } + } + function p(t, e) { + for ( + var r, n = t.area, i = 0, a = 1 / 0, o = -1, s = t.length; + ++o < s; + + ) + (r = t[o].area) && (r < a && (a = r), r > i && (i = r)); + return ( + (e *= e), + (n *= n) + ? Math.max((e * i * c) / n, n / (e * a * c)) + : 1 / 0 + ); + } + function d(t, e, r, i) { + var a, + o = -1, + s = t.length, + l = r.x, + c = r.y, + u = e ? n(t.area / e) : 0; + if (e == r.dx) { + for ((i || u > r.dy) && (u = r.dy); ++o < s; ) + ((a = t[o]).x = l), + (a.y = c), + (a.dy = u), + (l += a.dx = + Math.min(r.x + r.dx - l, u ? n(a.area / u) : 0)); + (a.z = !0), + (a.dx += r.x + r.dx - l), + (r.y += u), + (r.dy -= u); + } else { + for ((i || u > r.dx) && (u = r.dx); ++o < s; ) + ((a = t[o]).x = l), + (a.y = c), + (a.dx = u), + (c += a.dy = + Math.min(r.y + r.dy - c, u ? n(a.area / u) : 0)); + (a.z = !1), + (a.dy += r.y + r.dy - c), + (r.x += u), + (r.dx -= u); + } + } + function g(t) { + var n = e || r(t), + a = n[0]; + return ( + (a.x = a.y = 0), + a.value + ? ((a.dx = i[0]), (a.dy = i[1])) + : (a.dx = a.dy = 0), + e && r.revalue(a), + u([a], (a.dx * a.dy) / a.value), + (e ? h : f)(a), + s && (e = n), + n + ); + } + return ( + (g.size = function (t) { + return arguments.length ? ((i = t), g) : i; + }), + (g.padding = function (t) { + if (!arguments.length) return a; + function e(e) { + var r = t.call(g, e, e.depth); + return null == r + ? ho(e) + : po(e, 'number' == typeof r ? [r, r, r, r] : r); + } + function r(e) { + return po(e, t); + } + var n; + return ( + (o = + null == (a = t) + ? ho + : 'function' == (n = typeof t) + ? e + : 'number' === n + ? ((t = [t, t, t, t]), r) + : r), + g + ); + }), + (g.round = function (t) { + return arguments.length + ? ((n = t ? Math.round : Number), g) + : n != Number; + }), + (g.sticky = function (t) { + return arguments.length ? ((s = t), (e = null), g) : s; + }), + (g.ratio = function (t) { + return arguments.length ? ((c = t), g) : c; + }), + (g.mode = function (t) { + return arguments.length ? ((l = t + ''), g) : l; + }), + Pa(g, r) + ); + }), + (t.random = { + normal: function (t, e) { + var r = arguments.length; + return ( + r < 2 && (e = 1), + r < 1 && (t = 0), + function () { + var r, n, i; + do { + i = + (r = 2 * Math.random() - 1) * r + + (n = 2 * Math.random() - 1) * n; + } while (!i || i > 1); + return t + e * r * Math.sqrt((-2 * Math.log(i)) / i); + } + ); + }, + logNormal: function () { + var e = t.random.normal.apply(t, arguments); + return function () { + return Math.exp(e()); + }; + }, + bates: function (e) { + var r = t.random.irwinHall(e); + return function () { + return r() / e; + }; + }, + irwinHall: function (t) { + return function () { + for (var e = 0, r = 0; r < t; r++) e += Math.random(); + return e; + }; + }, + }), + (t.scale = {}); + var bo = { floor: L, ceil: L }; + function _o(e, r, n, i) { + var a = [], + o = [], + s = 0, + l = Math.min(e.length, r.length) - 1; + for ( + e[l] < e[0] && + ((e = e.slice().reverse()), (r = r.slice().reverse())); + ++s <= l; + + ) + a.push(n(e[s - 1], e[s])), o.push(i(r[s - 1], r[s])); + return function (r) { + var n = t.bisect(e, r, 1, l) - 1; + return o[n](a[n](r)); + }; + } + function wo(e, r) { + return t.rebind( + e, + r, + 'range', + 'rangeRound', + 'interpolate', + 'clamp' + ); + } + function To(t, e) { + return yo(t, xo(ko(t, e)[2])), yo(t, xo(ko(t, e)[2])), t; + } + function ko(t, e) { + null == e && (e = 10); + var r = go(t), + n = r[1] - r[0], + i = Math.pow(10, Math.floor(Math.log(n / e) / Math.LN10)), + a = (e / n) * i; + return ( + a <= 0.15 + ? (i *= 10) + : a <= 0.35 + ? (i *= 5) + : a <= 0.75 && (i *= 2), + (r[0] = Math.ceil(r[0] / i) * i), + (r[1] = Math.floor(r[1] / i) * i + 0.5 * i), + (r[2] = i), + r + ); + } + function Mo(e, r) { + return t.range.apply(t, ko(e, r)); + } + function Ao(e, r, n) { + var i = ko(e, r); + if (n) { + var a = Ce.exec(n); + if ((a.shift(), 's' === a[8])) { + var o = t.formatPrefix(Math.max(y(i[0]), y(i[1]))); + return ( + a[7] || (a[7] = '.' + Eo(o.scale(i[2]))), + (a[8] = 'f'), + (n = t.format(a.join(''))), + function (t) { + return n(o.scale(t)) + o.symbol; + } + ); + } + a[7] || + (a[7] = + '.' + + (function (t, e) { + var r = Eo(e[2]); + return t in So + ? Math.abs(r - Eo(Math.max(y(e[0]), y(e[1])))) + + +('e' !== t) + : r - 2 * ('%' === t); + })(a[8], i)), + (n = a.join('')); + } else n = ',.' + Eo(i[2]) + 'f'; + return t.format(n); + } + t.scale.linear = function () { + return (function t(e, r, n, i) { + var a, o; + function s() { + var t = Math.min(e.length, r.length) > 2 ? _o : vo, + s = i ? wa : _a; + return (a = t(e, r, s, n)), (o = t(r, e, s, $i)), l; + } + function l(t) { + return a(t); + } + return ( + (l.invert = function (t) { + return o(t); + }), + (l.domain = function (t) { + return arguments.length ? ((e = t.map(Number)), s()) : e; + }), + (l.range = function (t) { + return arguments.length ? ((r = t), s()) : r; + }), + (l.rangeRound = function (t) { + return l.range(t).interpolate(da); + }), + (l.clamp = function (t) { + return arguments.length ? ((i = t), s()) : i; + }), + (l.interpolate = function (t) { + return arguments.length ? ((n = t), s()) : n; + }), + (l.ticks = function (t) { + return Mo(e, t); + }), + (l.tickFormat = function (t, r) { + return Ao(e, t, r); + }), + (l.nice = function (t) { + return To(e, t), s(); + }), + (l.copy = function () { + return t(e, r, n, i); + }), + s() + ); + })([0, 1], [0, 1], $i, !1); + }; + var So = { s: 1, g: 1, p: 1, r: 1, e: 1 }; + function Eo(t) { + return -Math.floor(Math.log(t) / Math.LN10 + 0.01); + } + t.scale.log = function () { + return (function e(r, n, i, a) { + function o(t) { + return ( + (i ? Math.log(t < 0 ? 0 : t) : -Math.log(t > 0 ? 0 : -t)) / + Math.log(n) + ); + } + function s(t) { + return i ? Math.pow(n, t) : -Math.pow(n, -t); + } + function l(t) { + return r(o(t)); + } + return ( + (l.invert = function (t) { + return s(r.invert(t)); + }), + (l.domain = function (t) { + return arguments.length + ? ((i = t[0] >= 0), + r.domain((a = t.map(Number)).map(o)), + l) + : a; + }), + (l.base = function (t) { + return arguments.length + ? ((n = +t), r.domain(a.map(o)), l) + : n; + }), + (l.nice = function () { + var t = yo(a.map(o), i ? Math : Lo); + return r.domain(t), (a = t.map(s)), l; + }), + (l.ticks = function () { + var t = go(a), + e = [], + r = t[0], + l = t[1], + c = Math.floor(o(r)), + u = Math.ceil(o(l)), + f = n % 1 ? 2 : n; + if (isFinite(u - c)) { + if (i) { + for (; c < u; c++) + for (var h = 1; h < f; h++) e.push(s(c) * h); + e.push(s(c)); + } else + for (e.push(s(c)); c++ < u; ) + for (h = f - 1; h > 0; h--) e.push(s(c) * h); + for (c = 0; e[c] < r; c++); + for (u = e.length; e[u - 1] > l; u--); + e = e.slice(c, u); + } + return e; + }), + (l.tickFormat = function (e, r) { + if (!arguments.length) return Co; + arguments.length < 2 + ? (r = Co) + : 'function' != typeof r && (r = t.format(r)); + var i = Math.max(1, (n * e) / l.ticks().length); + return function (t) { + var e = t / s(Math.round(o(t))); + return e * n < n - 0.5 && (e *= n), e <= i ? r(t) : ''; + }; + }), + (l.copy = function () { + return e(r.copy(), n, i, a); + }), + wo(l, r) + ); + })(t.scale.linear().domain([0, 1]), 10, !0, [1, 10]); + }; + var Co = t.format('.0e'), + Lo = { + floor: function (t) { + return -Math.ceil(-t); + }, + ceil: function (t) { + return -Math.floor(-t); + }, + }; + function Io(t) { + return function (e) { + return e < 0 ? -Math.pow(-e, t) : Math.pow(e, t); + }; + } + (t.scale.pow = function () { + return (function t(e, r, n) { + var i = Io(r), + a = Io(1 / r); + function o(t) { + return e(i(t)); + } + return ( + (o.invert = function (t) { + return a(e.invert(t)); + }), + (o.domain = function (t) { + return arguments.length + ? (e.domain((n = t.map(Number)).map(i)), o) + : n; + }), + (o.ticks = function (t) { + return Mo(n, t); + }), + (o.tickFormat = function (t, e) { + return Ao(n, t, e); + }), + (o.nice = function (t) { + return o.domain(To(n, t)); + }), + (o.exponent = function (t) { + return arguments.length + ? ((i = Io((r = t))), + (a = Io(1 / r)), + e.domain(n.map(i)), + o) + : r; + }), + (o.copy = function () { + return t(e.copy(), r, n); + }), + wo(o, e) + ); + })(t.scale.linear(), 1, [0, 1]); + }), + (t.scale.sqrt = function () { + return t.scale.pow().exponent(0.5); + }), + (t.scale.ordinal = function () { + return (function e(r, n) { + var i, a, o; + function s(t) { + return a[ + ((i.get(t) || + ('range' === n.t ? i.set(t, r.push(t)) : NaN)) - + 1) % + a.length + ]; + } + function l(e, n) { + return t.range(r.length).map(function (t) { + return e + n * t; + }); + } + return ( + (s.domain = function (t) { + if (!arguments.length) return r; + (r = []), (i = new _()); + for (var e, a = -1, o = t.length; ++a < o; ) + i.has((e = t[a])) || i.set(e, r.push(e)); + return s[n.t].apply(s, n.a); + }), + (s.range = function (t) { + return arguments.length + ? ((a = t), + (o = 0), + (n = { t: 'range', a: arguments }), + s) + : a; + }), + (s.rangePoints = function (t, e) { + arguments.length < 2 && (e = 0); + var i = t[0], + c = t[1], + u = + r.length < 2 + ? ((i = (i + c) / 2), 0) + : (c - i) / (r.length - 1 + e); + return ( + (a = l(i + (u * e) / 2, u)), + (o = 0), + (n = { t: 'rangePoints', a: arguments }), + s + ); + }), + (s.rangeRoundPoints = function (t, e) { + arguments.length < 2 && (e = 0); + var i = t[0], + c = t[1], + u = + r.length < 2 + ? ((i = c = Math.round((i + c) / 2)), 0) + : ((c - i) / (r.length - 1 + e)) | 0; + return ( + (a = l( + i + + Math.round( + (u * e) / 2 + (c - i - (r.length - 1 + e) * u) / 2 + ), + u + )), + (o = 0), + (n = { t: 'rangeRoundPoints', a: arguments }), + s + ); + }), + (s.rangeBands = function (t, e, i) { + arguments.length < 2 && (e = 0), + arguments.length < 3 && (i = e); + var c = t[1] < t[0], + u = t[c - 0], + f = t[1 - c], + h = (f - u) / (r.length - e + 2 * i); + return ( + (a = l(u + h * i, h)), + c && a.reverse(), + (o = h * (1 - e)), + (n = { t: 'rangeBands', a: arguments }), + s + ); + }), + (s.rangeRoundBands = function (t, e, i) { + arguments.length < 2 && (e = 0), + arguments.length < 3 && (i = e); + var c = t[1] < t[0], + u = t[c - 0], + f = t[1 - c], + h = Math.floor((f - u) / (r.length - e + 2 * i)); + return ( + (a = l( + u + Math.round((f - u - (r.length - e) * h) / 2), + h + )), + c && a.reverse(), + (o = Math.round(h * (1 - e))), + (n = { t: 'rangeRoundBands', a: arguments }), + s + ); + }), + (s.rangeBand = function () { + return o; + }), + (s.rangeExtent = function () { + return go(n.a[0]); + }), + (s.copy = function () { + return e(r, n); + }), + s.domain(r) + ); + })([], { t: 'range', a: [[]] }); + }), + (t.scale.category10 = function () { + return t.scale.ordinal().range(Po); + }), + (t.scale.category20 = function () { + return t.scale.ordinal().range(zo); + }), + (t.scale.category20b = function () { + return t.scale.ordinal().range(Oo); + }), + (t.scale.category20c = function () { + return t.scale.ordinal().range(Do); + }); + var Po = [ + 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, + 14907330, 8355711, 12369186, 1556175, + ].map(ae), + zo = [ + 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, + 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, + 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, + 1556175, 10410725, + ].map(ae), + Oo = [ + 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, + 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, + 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, + 14589654, + ].map(ae), + Do = [ + 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, + 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, + 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, + 12434877, 14277081, + ].map(ae); + function Ro() { + return 0; + } + (t.scale.quantile = function () { + return (function e(r, n) { + var i; + function a() { + var e = 0, + a = n.length; + for (i = []; ++e < a; ) i[e - 1] = t.quantile(r, e / a); + return o; + } + function o(e) { + if (!isNaN((e = +e))) return n[t.bisect(i, e)]; + } + return ( + (o.domain = function (t) { + return arguments.length + ? ((r = t.map(p).filter(d).sort(h)), a()) + : r; + }), + (o.range = function (t) { + return arguments.length ? ((n = t), a()) : n; + }), + (o.quantiles = function () { + return i; + }), + (o.invertExtent = function (t) { + return (t = n.indexOf(t)) < 0 + ? [NaN, NaN] + : [ + t > 0 ? i[t - 1] : r[0], + t < i.length ? i[t] : r[r.length - 1], + ]; + }), + (o.copy = function () { + return e(r, n); + }), + a() + ); + })([], []); + }), + (t.scale.quantize = function () { + return (function t(e, r, n) { + var i, a; + function o(t) { + return n[Math.max(0, Math.min(a, Math.floor(i * (t - e))))]; + } + function s() { + return (i = n.length / (r - e)), (a = n.length - 1), o; + } + return ( + (o.domain = function (t) { + return arguments.length + ? ((e = +t[0]), (r = +t[t.length - 1]), s()) + : [e, r]; + }), + (o.range = function (t) { + return arguments.length ? ((n = t), s()) : n; + }), + (o.invertExtent = function (t) { + return [ + (t = (t = n.indexOf(t)) < 0 ? NaN : t / i + e), + t + 1 / i, + ]; + }), + (o.copy = function () { + return t(e, r, n); + }), + s() + ); + })(0, 1, [0, 1]); + }), + (t.scale.threshold = function () { + return (function e(r, n) { + function i(e) { + if (e <= e) return n[t.bisect(r, e)]; + } + return ( + (i.domain = function (t) { + return arguments.length ? ((r = t), i) : r; + }), + (i.range = function (t) { + return arguments.length ? ((n = t), i) : n; + }), + (i.invertExtent = function (t) { + return (t = n.indexOf(t)), [r[t - 1], r[t]]; + }), + (i.copy = function () { + return e(r, n); + }), + i + ); + })([0.5], [0, 1]); + }), + (t.scale.identity = function () { + return (function t(e) { + function r(t) { + return +t; + } + return ( + (r.invert = r), + (r.domain = r.range = + function (t) { + return arguments.length ? ((e = t.map(r)), r) : e; + }), + (r.ticks = function (t) { + return Mo(e, t); + }), + (r.tickFormat = function (t, r) { + return Ao(e, t, r); + }), + (r.copy = function () { + return t(e); + }), + r + ); + })([0, 1]); + }), + (t.svg = {}), + (t.svg.arc = function () { + var t = Bo, + e = No, + r = Ro, + n = Fo, + i = jo, + a = Uo, + o = Vo; + function s() { + var s = Math.max(0, +t.apply(this, arguments)), + c = Math.max(0, +e.apply(this, arguments)), + u = i.apply(this, arguments) - Ct, + f = a.apply(this, arguments) - Ct, + h = Math.abs(f - u), + p = u > f ? 0 : 1; + if ((c < s && ((d = c), (c = s), (s = d)), h >= Et)) + return l(c, p) + (s ? l(s, 1 - p) : '') + 'Z'; + var d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A = 0, + S = 0, + E = []; + if ( + ((v = (+o.apply(this, arguments) || 0) / 2) && + ((m = + n === Fo + ? Math.sqrt(s * s + c * c) + : +n.apply(this, arguments)), + p || (S *= -1), + c && (S = Dt((m / c) * Math.sin(v))), + s && (A = Dt((m / s) * Math.sin(v)))), + c) + ) { + (y = c * Math.cos(u + S)), + (x = c * Math.sin(u + S)), + (b = c * Math.cos(f - S)), + (_ = c * Math.sin(f - S)); + var C = Math.abs(f - u - 2 * S) <= At ? 0 : 1; + if (S && (qo(y, x, b, _) === p) ^ C) { + var L = (u + f) / 2; + (y = c * Math.cos(L)), + (x = c * Math.sin(L)), + (b = _ = null); + } + } else y = x = 0; + if (s) { + (w = s * Math.cos(f - A)), + (T = s * Math.sin(f - A)), + (k = s * Math.cos(u + A)), + (M = s * Math.sin(u + A)); + var I = Math.abs(u - f + 2 * A) <= At ? 0 : 1; + if (A && (qo(w, T, k, M) === 1 - p) ^ I) { + var P = (u + f) / 2; + (w = s * Math.cos(P)), + (T = s * Math.sin(P)), + (k = M = null); + } + } else w = T = 0; + if ( + h > kt && + (d = Math.min( + Math.abs(c - s) / 2, + +r.apply(this, arguments) + )) > 0.001 + ) { + g = (s < c) ^ p ? 0 : 1; + var z = d, + O = d; + if (h < At) { + var D = + null == k + ? [w, T] + : null == b + ? [y, x] + : li([y, x], [k, M], [b, _], [w, T]), + R = y - D[0], + F = x - D[1], + B = b - D[0], + N = _ - D[1], + j = + 1 / + Math.sin( + Math.acos( + (R * B + F * N) / + (Math.sqrt(R * R + F * F) * + Math.sqrt(B * B + N * N)) + ) / 2 + ), + U = Math.sqrt(D[0] * D[0] + D[1] * D[1]); + (O = Math.min(d, (s - U) / (j - 1))), + (z = Math.min(d, (c - U) / (j + 1))); + } + if (null != b) { + var V = Ho(null == k ? [w, T] : [k, M], [y, x], c, z, p), + q = Ho([b, _], [w, T], c, z, p); + d === z + ? E.push( + 'M', + V[0], + 'A', + z, + ',', + z, + ' 0 0,', + g, + ' ', + V[1], + 'A', + c, + ',', + c, + ' 0 ', + (1 - p) ^ qo(V[1][0], V[1][1], q[1][0], q[1][1]), + ',', + p, + ' ', + q[1], + 'A', + z, + ',', + z, + ' 0 0,', + g, + ' ', + q[0] + ) + : E.push( + 'M', + V[0], + 'A', + z, + ',', + z, + ' 0 1,', + g, + ' ', + q[0] + ); + } else E.push('M', y, ',', x); + if (null != k) { + var H = Ho([y, x], [k, M], s, -O, p), + G = Ho([w, T], null == b ? [y, x] : [b, _], s, -O, p); + d === O + ? E.push( + 'L', + G[0], + 'A', + O, + ',', + O, + ' 0 0,', + g, + ' ', + G[1], + 'A', + s, + ',', + s, + ' 0 ', + p ^ qo(G[1][0], G[1][1], H[1][0], H[1][1]), + ',', + 1 - p, + ' ', + H[1], + 'A', + O, + ',', + O, + ' 0 0,', + g, + ' ', + H[0] + ) + : E.push( + 'L', + G[0], + 'A', + O, + ',', + O, + ' 0 0,', + g, + ' ', + H[0] + ); + } else E.push('L', w, ',', T); + } else + E.push('M', y, ',', x), + null != b && + E.push( + 'A', + c, + ',', + c, + ' 0 ', + C, + ',', + p, + ' ', + b, + ',', + _ + ), + E.push('L', w, ',', T), + null != k && + E.push( + 'A', + s, + ',', + s, + ' 0 ', + I, + ',', + 1 - p, + ' ', + k, + ',', + M + ); + return E.push('Z'), E.join(''); + } + function l(t, e) { + return ( + 'M0,' + + t + + 'A' + + t + + ',' + + t + + ' 0 1,' + + e + + ' 0,' + + -t + + 'A' + + t + + ',' + + t + + ' 0 1,' + + e + + ' 0,' + + t + ); + } + return ( + (s.innerRadius = function (e) { + return arguments.length ? ((t = de(e)), s) : t; + }), + (s.outerRadius = function (t) { + return arguments.length ? ((e = de(t)), s) : e; + }), + (s.cornerRadius = function (t) { + return arguments.length ? ((r = de(t)), s) : r; + }), + (s.padRadius = function (t) { + return arguments.length + ? ((n = t == Fo ? Fo : de(t)), s) + : n; + }), + (s.startAngle = function (t) { + return arguments.length ? ((i = de(t)), s) : i; + }), + (s.endAngle = function (t) { + return arguments.length ? ((a = de(t)), s) : a; + }), + (s.padAngle = function (t) { + return arguments.length ? ((o = de(t)), s) : o; + }), + (s.centroid = function () { + var r = + (+t.apply(this, arguments) + + +e.apply(this, arguments)) / + 2, + n = + (+i.apply(this, arguments) + + +a.apply(this, arguments)) / + 2 - + Ct; + return [Math.cos(n) * r, Math.sin(n) * r]; + }), + s + ); + }); + var Fo = 'auto'; + function Bo(t) { + return t.innerRadius; + } + function No(t) { + return t.outerRadius; + } + function jo(t) { + return t.startAngle; + } + function Uo(t) { + return t.endAngle; + } + function Vo(t) { + return t && t.padAngle; + } + function qo(t, e, r, n) { + return (t - r) * e - (e - n) * t > 0 ? 0 : 1; + } + function Ho(t, e, r, n, i) { + var a = t[0] - e[0], + o = t[1] - e[1], + s = (i ? n : -n) / Math.sqrt(a * a + o * o), + l = s * o, + c = -s * a, + u = t[0] + l, + f = t[1] + c, + h = e[0] + l, + p = e[1] + c, + d = (u + h) / 2, + g = (f + p) / 2, + m = h - u, + v = p - f, + y = m * m + v * v, + x = r - n, + b = u * p - h * f, + _ = + (v < 0 ? -1 : 1) * Math.sqrt(Math.max(0, x * x * y - b * b)), + w = (b * v - m * _) / y, + T = (-b * m - v * _) / y, + k = (b * v + m * _) / y, + M = (-b * m + v * _) / y, + A = w - d, + S = T - g, + E = k - d, + C = M - g; + return ( + A * A + S * S > E * E + C * C && ((w = k), (T = M)), + [ + [w - l, T - c], + [(w * r) / x, (T * r) / x], + ] + ); + } + function Go(t) { + var e = ri, + r = ni, + n = Yr, + i = Wo, + a = i.key, + o = 0.7; + function s(a) { + var s, + l = [], + c = [], + u = -1, + f = a.length, + h = de(e), + p = de(r); + function d() { + l.push('M', i(t(c), o)); + } + for (; ++u < f; ) + n.call(this, (s = a[u]), u) + ? c.push([+h.call(this, s, u), +p.call(this, s, u)]) + : c.length && (d(), (c = [])); + return c.length && d(), l.length ? l.join('') : null; + } + return ( + (s.x = function (t) { + return arguments.length ? ((e = t), s) : e; + }), + (s.y = function (t) { + return arguments.length ? ((r = t), s) : r; + }), + (s.defined = function (t) { + return arguments.length ? ((n = t), s) : n; + }), + (s.interpolate = function (t) { + return arguments.length + ? ((a = + 'function' == typeof t + ? (i = t) + : (i = Yo.get(t) || Wo).key), + s) + : a; + }), + (s.tension = function (t) { + return arguments.length ? ((o = t), s) : o; + }), + s + ); + } + t.svg.line = function () { + return Go(L); + }; + var Yo = t.map({ + linear: Wo, + 'linear-closed': Xo, + step: function (t) { + var e = 0, + r = t.length, + n = t[0], + i = [n[0], ',', n[1]]; + for (; ++e < r; ) + i.push('H', (n[0] + (n = t[e])[0]) / 2, 'V', n[1]); + r > 1 && i.push('H', n[0]); + return i.join(''); + }, + 'step-before': Zo, + 'step-after': Jo, + basis: $o, + 'basis-open': function (t) { + if (t.length < 4) return Wo(t); + var e, + r = [], + n = -1, + i = t.length, + a = [0], + o = [0]; + for (; ++n < 3; ) (e = t[n]), a.push(e[0]), o.push(e[1]); + r.push(ts(ns, a) + ',' + ts(ns, o)), --n; + for (; ++n < i; ) + (e = t[n]), + a.shift(), + a.push(e[0]), + o.shift(), + o.push(e[1]), + is(r, a, o); + return r.join(''); + }, + 'basis-closed': function (t) { + var e, + r, + n = -1, + i = t.length, + a = i + 4, + o = [], + s = []; + for (; ++n < 4; ) (r = t[n % i]), o.push(r[0]), s.push(r[1]); + (e = [ts(ns, o), ',', ts(ns, s)]), --n; + for (; ++n < a; ) + (r = t[n % i]), + o.shift(), + o.push(r[0]), + s.shift(), + s.push(r[1]), + is(e, o, s); + return e.join(''); + }, + bundle: function (t, e) { + var r = t.length - 1; + if (r) + for ( + var n, + i, + a = t[0][0], + o = t[0][1], + s = t[r][0] - a, + l = t[r][1] - o, + c = -1; + ++c <= r; + + ) + (n = t[c]), + (i = c / r), + (n[0] = e * n[0] + (1 - e) * (a + i * s)), + (n[1] = e * n[1] + (1 - e) * (o + i * l)); + return $o(t); + }, + cardinal: function (t, e) { + return t.length < 3 ? Wo(t) : t[0] + Ko(t, Qo(t, e)); + }, + 'cardinal-open': function (t, e) { + return t.length < 4 + ? Wo(t) + : t[1] + Ko(t.slice(1, -1), Qo(t, e)); + }, + 'cardinal-closed': function (t, e) { + return t.length < 3 + ? Xo(t) + : t[0] + + Ko( + (t.push(t[0]), t), + Qo([t[t.length - 2]].concat(t, [t[1]]), e) + ); + }, + monotone: function (t) { + return t.length < 3 + ? Wo(t) + : t[0] + + Ko( + t, + (function (t) { + var e, + r, + n, + i, + a = [], + o = (function (t) { + var e = 0, + r = t.length - 1, + n = [], + i = t[0], + a = t[1], + o = (n[0] = as(i, a)); + for (; ++e < r; ) + n[e] = + (o + (o = as((i = a), (a = t[e + 1])))) / 2; + return (n[e] = o), n; + })(t), + s = -1, + l = t.length - 1; + for (; ++s < l; ) + (e = as(t[s], t[s + 1])), + y(e) < kt + ? (o[s] = o[s + 1] = 0) + : ((r = o[s] / e), + (n = o[s + 1] / e), + (i = r * r + n * n) > 9 && + ((i = (3 * e) / Math.sqrt(i)), + (o[s] = i * r), + (o[s + 1] = i * n))); + s = -1; + for (; ++s <= l; ) + (i = + (t[Math.min(l, s + 1)][0] - + t[Math.max(0, s - 1)][0]) / + (6 * (1 + o[s] * o[s]))), + a.push([i || 0, o[s] * i || 0]); + return a; + })(t) + ); + }, + }); + function Wo(t) { + return t.length > 1 ? t.join('L') : t + 'Z'; + } + function Xo(t) { + return t.join('L') + 'Z'; + } + function Zo(t) { + for ( + var e = 0, r = t.length, n = t[0], i = [n[0], ',', n[1]]; + ++e < r; + + ) + i.push('V', (n = t[e])[1], 'H', n[0]); + return i.join(''); + } + function Jo(t) { + for ( + var e = 0, r = t.length, n = t[0], i = [n[0], ',', n[1]]; + ++e < r; + + ) + i.push('H', (n = t[e])[0], 'V', n[1]); + return i.join(''); + } + function Ko(t, e) { + if ( + e.length < 1 || + (t.length != e.length && t.length != e.length + 2) + ) + return Wo(t); + var r = t.length != e.length, + n = '', + i = t[0], + a = t[1], + o = e[0], + s = o, + l = 1; + if ( + (r && + ((n += + 'Q' + + (a[0] - (2 * o[0]) / 3) + + ',' + + (a[1] - (2 * o[1]) / 3) + + ',' + + a[0] + + ',' + + a[1]), + (i = t[1]), + (l = 2)), + e.length > 1) + ) { + (s = e[1]), + (a = t[l]), + l++, + (n += + 'C' + + (i[0] + o[0]) + + ',' + + (i[1] + o[1]) + + ',' + + (a[0] - s[0]) + + ',' + + (a[1] - s[1]) + + ',' + + a[0] + + ',' + + a[1]); + for (var c = 2; c < e.length; c++, l++) + (a = t[l]), + (s = e[c]), + (n += + 'S' + + (a[0] - s[0]) + + ',' + + (a[1] - s[1]) + + ',' + + a[0] + + ',' + + a[1]); + } + if (r) { + var u = t[l]; + n += + 'Q' + + (a[0] + (2 * s[0]) / 3) + + ',' + + (a[1] + (2 * s[1]) / 3) + + ',' + + u[0] + + ',' + + u[1]; + } + return n; + } + function Qo(t, e) { + for ( + var r, + n = [], + i = (1 - e) / 2, + a = t[0], + o = t[1], + s = 1, + l = t.length; + ++s < l; + + ) + (r = a), + (a = o), + (o = t[s]), + n.push([i * (o[0] - r[0]), i * (o[1] - r[1])]); + return n; + } + function $o(t) { + if (t.length < 3) return Wo(t); + var e = 1, + r = t.length, + n = t[0], + i = n[0], + a = n[1], + o = [i, i, i, (n = t[1])[0]], + s = [a, a, a, n[1]], + l = [i, ',', a, 'L', ts(ns, o), ',', ts(ns, s)]; + for (t.push(t[r - 1]); ++e <= r; ) + (n = t[e]), + o.shift(), + o.push(n[0]), + s.shift(), + s.push(n[1]), + is(l, o, s); + return t.pop(), l.push('L', n), l.join(''); + } + function ts(t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3]; + } + Yo.forEach(function (t, e) { + (e.key = t), (e.closed = /-closed$/.test(t)); + }); + var es = [0, 2 / 3, 1 / 3, 0], + rs = [0, 1 / 3, 2 / 3, 0], + ns = [0, 1 / 6, 2 / 3, 1 / 6]; + function is(t, e, r) { + t.push( + 'C', + ts(es, e), + ',', + ts(es, r), + ',', + ts(rs, e), + ',', + ts(rs, r), + ',', + ts(ns, e), + ',', + ts(ns, r) + ); + } + function as(t, e) { + return (e[1] - t[1]) / (e[0] - t[0]); + } + function os(t) { + for (var e, r, n, i = -1, a = t.length; ++i < a; ) + (r = (e = t[i])[0]), + (n = e[1] - Ct), + (e[0] = r * Math.cos(n)), + (e[1] = r * Math.sin(n)); + return t; + } + function ss(t) { + var e = ri, + r = ri, + n = 0, + i = ni, + a = Yr, + o = Wo, + s = o.key, + l = o, + c = 'L', + u = 0.7; + function f(s) { + var f, + h, + p, + d = [], + g = [], + m = [], + v = -1, + y = s.length, + x = de(e), + b = de(n), + _ = + e === r + ? function () { + return h; + } + : de(r), + w = + n === i + ? function () { + return p; + } + : de(i); + function T() { + d.push('M', o(t(m), u), c, l(t(g.reverse()), u), 'Z'); + } + for (; ++v < y; ) + a.call(this, (f = s[v]), v) + ? (g.push([ + (h = +x.call(this, f, v)), + (p = +b.call(this, f, v)), + ]), + m.push([+_.call(this, f, v), +w.call(this, f, v)])) + : g.length && (T(), (g = []), (m = [])); + return g.length && T(), d.length ? d.join('') : null; + } + return ( + (f.x = function (t) { + return arguments.length ? ((e = r = t), f) : r; + }), + (f.x0 = function (t) { + return arguments.length ? ((e = t), f) : e; + }), + (f.x1 = function (t) { + return arguments.length ? ((r = t), f) : r; + }), + (f.y = function (t) { + return arguments.length ? ((n = i = t), f) : i; + }), + (f.y0 = function (t) { + return arguments.length ? ((n = t), f) : n; + }), + (f.y1 = function (t) { + return arguments.length ? ((i = t), f) : i; + }), + (f.defined = function (t) { + return arguments.length ? ((a = t), f) : a; + }), + (f.interpolate = function (t) { + return arguments.length + ? ((s = + 'function' == typeof t + ? (o = t) + : (o = Yo.get(t) || Wo).key), + (l = o.reverse || o), + (c = o.closed ? 'M' : 'L'), + f) + : s; + }), + (f.tension = function (t) { + return arguments.length ? ((u = t), f) : u; + }), + f + ); + } + function ls(t) { + return t.radius; + } + function cs(t) { + return [t.x, t.y]; + } + function us(t) { + return function () { + var e = t.apply(this, arguments), + r = e[0], + n = e[1] - Ct; + return [r * Math.cos(n), r * Math.sin(n)]; + }; + } + function fs() { + return 64; + } + function hs() { + return 'circle'; + } + function ps(t) { + var e = Math.sqrt(t / At); + return ( + 'M0,' + + e + + 'A' + + e + + ',' + + e + + ' 0 1,1 0,' + + -e + + 'A' + + e + + ',' + + e + + ' 0 1,1 0,' + + e + + 'Z' + ); + } + (t.svg.line.radial = function () { + var t = Go(os); + return ( + (t.radius = t.x), delete t.x, (t.angle = t.y), delete t.y, t + ); + }), + (Zo.reverse = Jo), + (Jo.reverse = Zo), + (t.svg.area = function () { + return ss(L); + }), + (t.svg.area.radial = function () { + var t = ss(os); + return ( + (t.radius = t.x), + delete t.x, + (t.innerRadius = t.x0), + delete t.x0, + (t.outerRadius = t.x1), + delete t.x1, + (t.angle = t.y), + delete t.y, + (t.startAngle = t.y0), + delete t.y0, + (t.endAngle = t.y1), + delete t.y1, + t + ); + }), + (t.svg.chord = function () { + var t = Vn, + e = qn, + r = ls, + n = jo, + i = Uo; + function a(r, n) { + var i, + a, + c = o(this, t, r, n), + u = o(this, e, r, n); + return ( + 'M' + + c.p0 + + s(c.r, c.p1, c.a1 - c.a0) + + ((a = u), + ((i = c).a0 == a.a0 && i.a1 == a.a1 + ? l(c.r, c.p1, c.r, c.p0) + : l(c.r, c.p1, u.r, u.p0) + + s(u.r, u.p1, u.a1 - u.a0) + + l(u.r, u.p1, c.r, c.p0)) + 'Z') + ); + } + function o(t, e, a, o) { + var s = e.call(t, a, o), + l = r.call(t, s, o), + c = n.call(t, s, o) - Ct, + u = i.call(t, s, o) - Ct; + return { + r: l, + a0: c, + a1: u, + p0: [l * Math.cos(c), l * Math.sin(c)], + p1: [l * Math.cos(u), l * Math.sin(u)], + }; + } + function s(t, e, r) { + return 'A' + t + ',' + t + ' 0 ' + +(r > At) + ',1 ' + e; + } + function l(t, e, r, n) { + return 'Q 0,0 ' + n; + } + return ( + (a.radius = function (t) { + return arguments.length ? ((r = de(t)), a) : r; + }), + (a.source = function (e) { + return arguments.length ? ((t = de(e)), a) : t; + }), + (a.target = function (t) { + return arguments.length ? ((e = de(t)), a) : e; + }), + (a.startAngle = function (t) { + return arguments.length ? ((n = de(t)), a) : n; + }), + (a.endAngle = function (t) { + return arguments.length ? ((i = de(t)), a) : i; + }), + a + ); + }), + (t.svg.diagonal = function () { + var t = Vn, + e = qn, + r = cs; + function n(n, i) { + var a = t.call(this, n, i), + o = e.call(this, n, i), + s = (a.y + o.y) / 2, + l = [a, { x: a.x, y: s }, { x: o.x, y: s }, o]; + return ( + 'M' + + (l = l.map(r))[0] + + 'C' + + l[1] + + ' ' + + l[2] + + ' ' + + l[3] + ); + } + return ( + (n.source = function (e) { + return arguments.length ? ((t = de(e)), n) : t; + }), + (n.target = function (t) { + return arguments.length ? ((e = de(t)), n) : e; + }), + (n.projection = function (t) { + return arguments.length ? ((r = t), n) : r; + }), + n + ); + }), + (t.svg.diagonal.radial = function () { + var e = t.svg.diagonal(), + r = cs, + n = e.projection; + return ( + (e.projection = function (t) { + return arguments.length ? n(us((r = t))) : r; + }), + e + ); + }), + (t.svg.symbol = function () { + var t = hs, + e = fs; + function r(r, n) { + return (ds.get(t.call(this, r, n)) || ps)(e.call(this, r, n)); + } + return ( + (r.type = function (e) { + return arguments.length ? ((t = de(e)), r) : t; + }), + (r.size = function (t) { + return arguments.length ? ((e = de(t)), r) : e; + }), + r + ); + }); + var ds = t.map({ + circle: ps, + cross: function (t) { + var e = Math.sqrt(t / 5) / 2; + return ( + 'M' + + -3 * e + + ',' + + -e + + 'H' + + -e + + 'V' + + -3 * e + + 'H' + + e + + 'V' + + -e + + 'H' + + 3 * e + + 'V' + + e + + 'H' + + e + + 'V' + + 3 * e + + 'H' + + -e + + 'V' + + e + + 'H' + + -3 * e + + 'Z' + ); + }, + diamond: function (t) { + var e = Math.sqrt(t / (2 * ms)), + r = e * ms; + return 'M0,' + -e + 'L' + r + ',0 0,' + e + ' ' + -r + ',0Z'; + }, + square: function (t) { + var e = Math.sqrt(t) / 2; + return ( + 'M' + + -e + + ',' + + -e + + 'L' + + e + + ',' + + -e + + ' ' + + e + + ',' + + e + + ' ' + + -e + + ',' + + e + + 'Z' + ); + }, + 'triangle-down': function (t) { + var e = Math.sqrt(t / gs), + r = (e * gs) / 2; + return ( + 'M0,' + r + 'L' + e + ',' + -r + ' ' + -e + ',' + -r + 'Z' + ); + }, + 'triangle-up': function (t) { + var e = Math.sqrt(t / gs), + r = (e * gs) / 2; + return ( + 'M0,' + -r + 'L' + e + ',' + r + ' ' + -e + ',' + r + 'Z' + ); + }, + }); + t.svg.symbolTypes = ds.keys(); + var gs = Math.sqrt(3), + ms = Math.tan(30 * Lt); + (Y.transition = function (t) { + for ( + var e, + r, + n = bs || ++Ts, + i = As(t), + a = [], + o = _s || { + time: Date.now(), + ease: ca, + delay: 0, + duration: 250, + }, + s = -1, + l = this.length; + ++s < l; + + ) { + a.push((e = [])); + for (var c = this[s], u = -1, f = c.length; ++u < f; ) + (r = c[u]) && Ss(r, u, i, n, o), e.push(r); + } + return xs(a, i, n); + }), + (Y.interrupt = function (t) { + return this.each(null == t ? vs : ys(As(t))); + }); + var vs = ys(As()); + function ys(t) { + return function () { + var e, r, n; + (e = this[t]) && + (n = e[(r = e.active)]) && + ((n.timer.c = null), + (n.timer.t = NaN), + --e.count ? delete e[r] : delete this[t], + (e.active += 0.5), + n.event && + n.event.interrupt.call(this, this.__data__, n.index)); + }; + } + function xs(t, e, r) { + return U(t, ws), (t.namespace = e), (t.id = r), t; + } + var bs, + _s, + ws = [], + Ts = 0; + function ks(t, e, r, n) { + var i = t.id, + a = t.namespace; + return ut( + t, + 'function' == typeof r + ? function (t, o, s) { + t[a][i].tween.set(e, n(r.call(t, t.__data__, o, s))); + } + : ((r = n(r)), + function (t) { + t[a][i].tween.set(e, r); + }) + ); + } + function Ms(t) { + return ( + null == t && (t = ''), + function () { + this.textContent = t; + } + ); + } + function As(t) { + return null == t ? '__transition__' : '__transition_' + t + '__'; + } + function Ss(t, e, r, n, i) { + var a, + o, + s, + l, + c, + u = t[r] || (t[r] = { active: 0, count: 0 }), + f = u[n]; + function h(r) { + var i = u.active, + h = u[i]; + for (var d in (h && + ((h.timer.c = null), + (h.timer.t = NaN), + --u.count, + delete u[i], + h.event && h.event.interrupt.call(t, t.__data__, h.index)), + u)) + if (+d < n) { + var g = u[d]; + (g.timer.c = null), + (g.timer.t = NaN), + --u.count, + delete u[d]; + } + (o.c = p), + we( + function () { + return o.c && p(r || 1) && ((o.c = null), (o.t = NaN)), 1; + }, + 0, + a + ), + (u.active = n), + f.event && f.event.start.call(t, t.__data__, e), + (c = []), + f.tween.forEach(function (r, n) { + (n = n.call(t, t.__data__, e)) && c.push(n); + }), + (l = f.ease), + (s = f.duration); + } + function p(i) { + for (var a = i / s, o = l(a), h = c.length; h > 0; ) + c[--h].call(t, o); + if (a >= 1) + return ( + f.event && f.event.end.call(t, t.__data__, e), + --u.count ? delete u[n] : delete t[r], + 1 + ); + } + f || + ((a = i.time), + (o = we( + function (t) { + var e = f.delay; + if (((o.t = e + a), e <= t)) return h(t - e); + o.c = h; + }, + 0, + a + )), + (f = u[n] = + { + tween: new _(), + time: a, + timer: o, + delay: i.delay, + duration: i.duration, + ease: i.ease, + index: e, + }), + (i = null), + ++u.count); + } + (ws.call = Y.call), + (ws.empty = Y.empty), + (ws.node = Y.node), + (ws.size = Y.size), + (t.transition = function (e, r) { + return e && e.transition + ? bs + ? e.transition(r) + : e + : t.selection().transition(e); + }), + (t.transition.prototype = ws), + (ws.select = function (t) { + var e, + r, + n, + i = this.id, + a = this.namespace, + o = []; + t = W(t); + for (var s = -1, l = this.length; ++s < l; ) { + o.push((e = [])); + for (var c = this[s], u = -1, f = c.length; ++u < f; ) + (n = c[u]) && (r = t.call(n, n.__data__, u, s)) + ? ('__data__' in n && (r.__data__ = n.__data__), + Ss(r, u, a, i, n[a][i]), + e.push(r)) + : e.push(null); + } + return xs(o, a, i); + }), + (ws.selectAll = function (t) { + var e, + r, + n, + i, + a, + o = this.id, + s = this.namespace, + l = []; + t = X(t); + for (var c = -1, u = this.length; ++c < u; ) + for (var f = this[c], h = -1, p = f.length; ++h < p; ) + if ((n = f[h])) { + (a = n[s][o]), + (r = t.call(n, n.__data__, h, c)), + l.push((e = [])); + for (var d = -1, g = r.length; ++d < g; ) + (i = r[d]) && Ss(i, d, s, o, a), e.push(i); + } + return xs(l, s, o); + }), + (ws.filter = function (t) { + var e, + r, + n = []; + 'function' != typeof t && (t = lt(t)); + for (var i = 0, a = this.length; i < a; i++) { + n.push((e = [])); + for (var o, s = 0, l = (o = this[i]).length; s < l; s++) + (r = o[s]) && t.call(r, r.__data__, s, i) && e.push(r); + } + return xs(n, this.namespace, this.id); + }), + (ws.tween = function (t, e) { + var r = this.id, + n = this.namespace; + return arguments.length < 2 + ? this.node()[n][r].tween.get(t) + : ut( + this, + null == e + ? function (e) { + e[n][r].tween.remove(t); + } + : function (i) { + i[n][r].tween.set(t, e); + } + ); + }), + (ws.attr = function (e, r) { + if (arguments.length < 2) { + for (r in e) this.attr(r, e[r]); + return this; + } + var n = 'transform' == e ? ba : $i, + i = t.ns.qualify(e); + function a() { + this.removeAttribute(i); + } + function o() { + this.removeAttributeNS(i.space, i.local); + } + function s(t) { + return null == t + ? a + : ((t += ''), + function () { + var e, + r = this.getAttribute(i); + return ( + r !== t && + ((e = n(r, t)), + function (t) { + this.setAttribute(i, e(t)); + }) + ); + }); + } + function l(t) { + return null == t + ? o + : ((t += ''), + function () { + var e, + r = this.getAttributeNS(i.space, i.local); + return ( + r !== t && + ((e = n(r, t)), + function (t) { + this.setAttributeNS(i.space, i.local, e(t)); + }) + ); + }); + } + return ks(this, 'attr.' + e, r, i.local ? l : s); + }), + (ws.attrTween = function (e, r) { + var n = t.ns.qualify(e); + return this.tween( + 'attr.' + e, + n.local + ? function (t, e) { + var i = r.call( + this, + t, + e, + this.getAttributeNS(n.space, n.local) + ); + return ( + i && + function (t) { + this.setAttributeNS(n.space, n.local, i(t)); + } + ); + } + : function (t, e) { + var i = r.call(this, t, e, this.getAttribute(n)); + return ( + i && + function (t) { + this.setAttribute(n, i(t)); + } + ); + } + ); + }), + (ws.style = function (t, e, r) { + var n = arguments.length; + if (n < 3) { + if ('string' != typeof t) { + for (r in (n < 2 && (e = ''), t)) this.style(r, t[r], e); + return this; + } + r = ''; + } + function i() { + this.style.removeProperty(t); + } + function a(e) { + return null == e + ? i + : ((e += ''), + function () { + var n, + i = o(this) + .getComputedStyle(this, null) + .getPropertyValue(t); + return ( + i !== e && + ((n = $i(i, e)), + function (e) { + this.style.setProperty(t, n(e), r); + }) + ); + }); + } + return ks(this, 'style.' + t, e, a); + }), + (ws.styleTween = function (t, e, r) { + function n(n, i) { + var a = e.call( + this, + n, + i, + o(this).getComputedStyle(this, null).getPropertyValue(t) + ); + return ( + a && + function (e) { + this.style.setProperty(t, a(e), r); + } + ); + } + return ( + arguments.length < 3 && (r = ''), this.tween('style.' + t, n) + ); + }), + (ws.text = function (t) { + return ks(this, 'text', t, Ms); + }), + (ws.remove = function () { + var t = this.namespace; + return this.each('end.transition', function () { + var e; + this[t].count < 2 && + (e = this.parentNode) && + e.removeChild(this); + }); + }), + (ws.ease = function (e) { + var r = this.id, + n = this.namespace; + return arguments.length < 1 + ? this.node()[n][r].ease + : ('function' != typeof e && (e = t.ease.apply(t, arguments)), + ut(this, function (t) { + t[n][r].ease = e; + })); + }), + (ws.delay = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].delay + : ut( + this, + 'function' == typeof t + ? function (n, i, a) { + n[r][e].delay = +t.call(n, n.__data__, i, a); + } + : ((t = +t), + function (n) { + n[r][e].delay = t; + }) + ); + }), + (ws.duration = function (t) { + var e = this.id, + r = this.namespace; + return arguments.length < 1 + ? this.node()[r][e].duration + : ut( + this, + 'function' == typeof t + ? function (n, i, a) { + n[r][e].duration = Math.max( + 1, + t.call(n, n.__data__, i, a) + ); + } + : ((t = Math.max(1, t)), + function (n) { + n[r][e].duration = t; + }) + ); + }), + (ws.each = function (e, r) { + var n = this.id, + i = this.namespace; + if (arguments.length < 2) { + var a = _s, + o = bs; + try { + (bs = n), + ut(this, function (t, r, a) { + (_s = t[i][n]), e.call(t, t.__data__, r, a); + }); + } finally { + (_s = a), (bs = o); + } + } else + ut(this, function (a) { + var o = a[i][n]; + ( + o.event || + (o.event = t.dispatch('start', 'end', 'interrupt')) + ).on(e, r); + }); + return this; + }), + (ws.transition = function () { + for ( + var t, + e, + r, + n = this.id, + i = ++Ts, + a = this.namespace, + o = [], + s = 0, + l = this.length; + s < l; + s++ + ) { + o.push((t = [])); + for (var c, u = 0, f = (c = this[s]).length; u < f; u++) + (e = c[u]) && + Ss(e, u, a, i, { + time: (r = e[a][n]).time, + ease: r.ease, + delay: r.delay + r.duration, + duration: r.duration, + }), + t.push(e); + } + return xs(o, a, i); + }), + (t.svg.axis = function () { + var e, + r = t.scale.linear(), + i = Es, + a = 6, + o = 6, + s = 3, + l = [10], + c = null; + function u(n) { + n.each(function () { + var n, + u = t.select(this), + f = this.__chart__ || r, + h = (this.__chart__ = r.copy()), + p = + null == c + ? h.ticks + ? h.ticks.apply(h, l) + : h.domain() + : c, + d = + null == e + ? h.tickFormat + ? h.tickFormat.apply(h, l) + : L + : e, + g = u.selectAll('.tick').data(p, h), + m = g + .enter() + .insert('g', '.domain') + .attr('class', 'tick') + .style('opacity', kt), + v = t.transition(g.exit()).style('opacity', kt).remove(), + y = t.transition(g.order()).style('opacity', 1), + x = Math.max(a, 0) + s, + b = mo(h), + _ = u.selectAll('.domain').data([0]), + w = + (_.enter().append('path').attr('class', 'domain'), + t.transition(_)); + m.append('line'), m.append('text'); + var T, + k, + M, + A, + S = m.select('line'), + E = y.select('line'), + C = g.select('text').text(d), + I = m.select('text'), + P = y.select('text'), + z = 'top' === i || 'left' === i ? -1 : 1; + if ( + ('bottom' === i || 'top' === i + ? ((n = Ls), + (T = 'x'), + (M = 'y'), + (k = 'x2'), + (A = 'y2'), + C.attr('dy', z < 0 ? '0em' : '.71em').style( + 'text-anchor', + 'middle' + ), + w.attr( + 'd', + 'M' + + b[0] + + ',' + + z * o + + 'V0H' + + b[1] + + 'V' + + z * o + )) + : ((n = Is), + (T = 'y'), + (M = 'x'), + (k = 'y2'), + (A = 'x2'), + C.attr('dy', '.32em').style( + 'text-anchor', + z < 0 ? 'end' : 'start' + ), + w.attr( + 'd', + 'M' + + z * o + + ',' + + b[0] + + 'H0V' + + b[1] + + 'H' + + z * o + )), + S.attr(A, z * a), + I.attr(M, z * x), + E.attr(k, 0).attr(A, z * a), + P.attr(T, 0).attr(M, z * x), + h.rangeBand) + ) { + var O = h, + D = O.rangeBand() / 2; + f = h = function (t) { + return O(t) + D; + }; + } else f.rangeBand ? (f = h) : v.call(n, h, f); + m.call(n, f, h), y.call(n, h, h); + }); + } + return ( + (u.scale = function (t) { + return arguments.length ? ((r = t), u) : r; + }), + (u.orient = function (t) { + return arguments.length + ? ((i = t in Cs ? t + '' : Es), u) + : i; + }), + (u.ticks = function () { + return arguments.length ? ((l = n(arguments)), u) : l; + }), + (u.tickValues = function (t) { + return arguments.length ? ((c = t), u) : c; + }), + (u.tickFormat = function (t) { + return arguments.length ? ((e = t), u) : e; + }), + (u.tickSize = function (t) { + var e = arguments.length; + return e ? ((a = +t), (o = +arguments[e - 1]), u) : a; + }), + (u.innerTickSize = function (t) { + return arguments.length ? ((a = +t), u) : a; + }), + (u.outerTickSize = function (t) { + return arguments.length ? ((o = +t), u) : o; + }), + (u.tickPadding = function (t) { + return arguments.length ? ((s = +t), u) : s; + }), + (u.tickSubdivide = function () { + return arguments.length && u; + }), + u + ); + }); + var Es = 'bottom', + Cs = { top: 1, right: 1, bottom: 1, left: 1 }; + function Ls(t, e, r) { + t.attr('transform', function (t) { + var n = e(t); + return 'translate(' + (isFinite(n) ? n : r(t)) + ',0)'; + }); + } + function Is(t, e, r) { + t.attr('transform', function (t) { + var n = e(t); + return 'translate(0,' + (isFinite(n) ? n : r(t)) + ')'; + }); + } + t.svg.brush = function () { + var e, + r, + n = N(h, 'brushstart', 'brush', 'brushend'), + i = null, + a = null, + s = [0, 0], + l = [0, 0], + c = !0, + u = !0, + f = zs[0]; + function h(e) { + e.each(function () { + var e = t + .select(this) + .style('pointer-events', 'all') + .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)') + .on('mousedown.brush', m) + .on('touchstart.brush', m), + r = e.selectAll('.background').data([0]); + r + .enter() + .append('rect') + .attr('class', 'background') + .style('visibility', 'hidden') + .style('cursor', 'crosshair'), + e + .selectAll('.extent') + .data([0]) + .enter() + .append('rect') + .attr('class', 'extent') + .style('cursor', 'move'); + var n = e.selectAll('.resize').data(f, L); + n.exit().remove(), + n + .enter() + .append('g') + .attr('class', function (t) { + return 'resize ' + t; + }) + .style('cursor', function (t) { + return Ps[t]; + }) + .append('rect') + .attr('x', function (t) { + return /[ew]$/.test(t) ? -3 : null; + }) + .attr('y', function (t) { + return /^[ns]/.test(t) ? -3 : null; + }) + .attr('width', 6) + .attr('height', 6) + .style('visibility', 'hidden'), + n.style('display', h.empty() ? 'none' : null); + var o, + s = t.transition(e), + l = t.transition(r); + i && + ((o = mo(i)), + l.attr('x', o[0]).attr('width', o[1] - o[0]), + d(s)), + a && + ((o = mo(a)), + l.attr('y', o[0]).attr('height', o[1] - o[0]), + g(s)), + p(s); + }); + } + function p(t) { + t.selectAll('.resize').attr('transform', function (t) { + return ( + 'translate(' + + s[+/e$/.test(t)] + + ',' + + l[+/^s/.test(t)] + + ')' + ); + }); + } + function d(t) { + t.select('.extent').attr('x', s[0]), + t + .selectAll('.extent,.n>rect,.s>rect') + .attr('width', s[1] - s[0]); + } + function g(t) { + t.select('.extent').attr('y', l[0]), + t + .selectAll('.extent,.e>rect,.w>rect') + .attr('height', l[1] - l[0]); + } + function m() { + var f, + m, + v = this, + y = t.select(t.event.target), + x = n.of(v, arguments), + b = t.select(v), + _ = y.datum(), + w = !/^(n|s)$/.test(_) && i, + T = !/^(e|w)$/.test(_) && a, + k = y.classed('extent'), + M = bt(v), + A = t.mouse(v), + S = t + .select(o(v)) + .on('keydown.brush', L) + .on('keyup.brush', I); + if ( + (t.event.changedTouches + ? S.on('touchmove.brush', P).on('touchend.brush', O) + : S.on('mousemove.brush', P).on('mouseup.brush', O), + b.interrupt().selectAll('*').interrupt(), + k) + ) + (A[0] = s[0] - A[0]), (A[1] = l[0] - A[1]); + else if (_) { + var E = +/w$/.test(_), + C = +/^n/.test(_); + (m = [s[1 - E] - A[0], l[1 - C] - A[1]]), + (A[0] = s[E]), + (A[1] = l[C]); + } else t.event.altKey && (f = A.slice()); + function L() { + 32 == t.event.keyCode && + (k || ((f = null), (A[0] -= s[1]), (A[1] -= l[1]), (k = 2)), + F()); + } + function I() { + 32 == t.event.keyCode && + 2 == k && + ((A[0] += s[1]), (A[1] += l[1]), (k = 0), F()); + } + function P() { + var e = t.mouse(v), + r = !1; + m && ((e[0] += m[0]), (e[1] += m[1])), + k || + (t.event.altKey + ? (f || (f = [(s[0] + s[1]) / 2, (l[0] + l[1]) / 2]), + (A[0] = s[+(e[0] < f[0])]), + (A[1] = l[+(e[1] < f[1])])) + : (f = null)), + w && z(e, i, 0) && (d(b), (r = !0)), + T && z(e, a, 1) && (g(b), (r = !0)), + r && + (p(b), x({ type: 'brush', mode: k ? 'move' : 'resize' })); + } + function z(t, n, i) { + var a, + o, + h = mo(n), + p = h[0], + d = h[1], + g = A[i], + m = i ? l : s, + v = m[1] - m[0]; + if ( + (k && ((p -= g), (d -= v + g)), + (a = (i ? u : c) ? Math.max(p, Math.min(d, t[i])) : t[i]), + k + ? (o = (a += g) + v) + : (f && (g = Math.max(p, Math.min(d, 2 * f[i] - a))), + g < a ? ((o = a), (a = g)) : (o = g)), + m[0] != a || m[1] != o) + ) + return ( + i ? (r = null) : (e = null), (m[0] = a), (m[1] = o), !0 + ); + } + function O() { + P(), + b + .style('pointer-events', 'all') + .selectAll('.resize') + .style('display', h.empty() ? 'none' : null), + t.select('body').style('cursor', null), + S.on('mousemove.brush', null) + .on('mouseup.brush', null) + .on('touchmove.brush', null) + .on('touchend.brush', null) + .on('keydown.brush', null) + .on('keyup.brush', null), + M(), + x({ type: 'brushend' }); + } + b + .style('pointer-events', 'none') + .selectAll('.resize') + .style('display', null), + t.select('body').style('cursor', y.style('cursor')), + x({ type: 'brushstart' }), + P(); + } + return ( + (h.event = function (i) { + i.each(function () { + var i = n.of(this, arguments), + a = { x: s, y: l, i: e, j: r }, + o = this.__chart__ || a; + (this.__chart__ = a), + bs + ? t + .select(this) + .transition() + .each('start.brush', function () { + (e = o.i), + (r = o.j), + (s = o.x), + (l = o.y), + i({ type: 'brushstart' }); + }) + .tween('brush:brush', function () { + var t = ta(s, a.x), + n = ta(l, a.y); + return ( + (e = r = null), + function (e) { + (s = a.x = t(e)), + (l = a.y = n(e)), + i({ type: 'brush', mode: 'resize' }); + } + ); + }) + .each('end.brush', function () { + (e = a.i), + (r = a.j), + i({ type: 'brush', mode: 'resize' }), + i({ type: 'brushend' }); + }) + : (i({ type: 'brushstart' }), + i({ type: 'brush', mode: 'resize' }), + i({ type: 'brushend' })); + }); + }), + (h.x = function (t) { + return arguments.length + ? ((f = zs[(!(i = t) << 1) | !a]), h) + : i; + }), + (h.y = function (t) { + return arguments.length + ? ((f = zs[(!i << 1) | !(a = t)]), h) + : a; + }), + (h.clamp = function (t) { + return arguments.length + ? (i && a + ? ((c = !!t[0]), (u = !!t[1])) + : i + ? (c = !!t) + : a && (u = !!t), + h) + : i && a + ? [c, u] + : i + ? c + : a + ? u + : null; + }), + (h.extent = function (t) { + var n, o, c, u, f; + return arguments.length + ? (i && + ((n = t[0]), + (o = t[1]), + a && ((n = n[0]), (o = o[0])), + (e = [n, o]), + i.invert && ((n = i(n)), (o = i(o))), + o < n && ((f = n), (n = o), (o = f)), + (n == s[0] && o == s[1]) || (s = [n, o])), + a && + ((c = t[0]), + (u = t[1]), + i && ((c = c[1]), (u = u[1])), + (r = [c, u]), + a.invert && ((c = a(c)), (u = a(u))), + u < c && ((f = c), (c = u), (u = f)), + (c == l[0] && u == l[1]) || (l = [c, u])), + h) + : (i && + (e + ? ((n = e[0]), (o = e[1])) + : ((n = s[0]), + (o = s[1]), + i.invert && ((n = i.invert(n)), (o = i.invert(o))), + o < n && ((f = n), (n = o), (o = f)))), + a && + (r + ? ((c = r[0]), (u = r[1])) + : ((c = l[0]), + (u = l[1]), + a.invert && ((c = a.invert(c)), (u = a.invert(u))), + u < c && ((f = c), (c = u), (u = f)))), + i && a + ? [ + [n, c], + [o, u], + ] + : i + ? [n, o] + : a && [c, u]); + }), + (h.clear = function () { + return ( + h.empty() || ((s = [0, 0]), (l = [0, 0]), (e = r = null)), h + ); + }), + (h.empty = function () { + return (!!i && s[0] == s[1]) || (!!a && l[0] == l[1]); + }), + t.rebind(h, n, 'on') + ); + }; + var Ps = { + n: 'ns-resize', + e: 'ew-resize', + s: 'ns-resize', + w: 'ew-resize', + nw: 'nwse-resize', + ne: 'nesw-resize', + se: 'nwse-resize', + sw: 'nesw-resize', + }, + zs = [ + ['n', 'e', 's', 'w', 'nw', 'ne', 'se', 'sw'], + ['e', 'w'], + ['n', 's'], + [], + ], + Os = (Pe.format = sr.timeFormat), + Ds = Os.utc, + Rs = Ds('%Y-%m-%dT%H:%M:%S.%LZ'); + function Fs(t) { + return t.toISOString(); + } + function Bs(e, r, n) { + function i(t) { + return e(t); + } + function a(e, n) { + var i = (e[1] - e[0]) / n, + a = t.bisect(js, i); + return a == js.length + ? [ + r.year, + ko( + e.map(function (t) { + return t / 31536e6; + }), + n + )[2], + ] + : a + ? r[i / js[a - 1] < js[a] / i ? a - 1 : a] + : [qs, ko(e, n)[2]]; + } + return ( + (i.invert = function (t) { + return Ns(e.invert(t)); + }), + (i.domain = function (t) { + return arguments.length + ? (e.domain(t), i) + : e.domain().map(Ns); + }), + (i.nice = function (t, e) { + var r = i.domain(), + n = go(r), + o = null == t ? a(n, 10) : 'number' == typeof t && a(n, t); + function s(r) { + return !isNaN(r) && !t.range(r, Ns(+r + 1), e).length; + } + return ( + o && ((t = o[0]), (e = o[1])), + i.domain( + yo( + r, + e > 1 + ? { + floor: function (e) { + for (; s((e = t.floor(e))); ) e = Ns(e - 1); + return e; + }, + ceil: function (e) { + for (; s((e = t.ceil(e))); ) e = Ns(+e + 1); + return e; + }, + } + : t + ) + ) + ); + }), + (i.ticks = function (t, e) { + var r = go(i.domain()), + n = + null == t + ? a(r, 10) + : 'number' == typeof t + ? a(r, t) + : !t.range && [{ range: t }, e]; + return ( + n && ((t = n[0]), (e = n[1])), + t.range(r[0], Ns(+r[1] + 1), e < 1 ? 1 : e) + ); + }), + (i.tickFormat = function () { + return n; + }), + (i.copy = function () { + return Bs(e.copy(), r, n); + }), + wo(i, e) + ); + } + function Ns(t) { + return new Date(t); + } + (Os.iso = + Date.prototype.toISOString && + +new Date('2000-01-01T00:00:00.000Z') + ? Fs + : Rs), + (Fs.parse = function (t) { + var e = new Date(t); + return isNaN(e) ? null : e; + }), + (Fs.toString = Rs.toString), + (Pe.second = Re( + function (t) { + return new ze(1e3 * Math.floor(t / 1e3)); + }, + function (t, e) { + t.setTime(t.getTime() + 1e3 * Math.floor(e)); + }, + function (t) { + return t.getSeconds(); + } + )), + (Pe.seconds = Pe.second.range), + (Pe.seconds.utc = Pe.second.utc.range), + (Pe.minute = Re( + function (t) { + return new ze(6e4 * Math.floor(t / 6e4)); + }, + function (t, e) { + t.setTime(t.getTime() + 6e4 * Math.floor(e)); + }, + function (t) { + return t.getMinutes(); + } + )), + (Pe.minutes = Pe.minute.range), + (Pe.minutes.utc = Pe.minute.utc.range), + (Pe.hour = Re( + function (t) { + var e = t.getTimezoneOffset() / 60; + return new ze(36e5 * (Math.floor(t / 36e5 - e) + e)); + }, + function (t, e) { + t.setTime(t.getTime() + 36e5 * Math.floor(e)); + }, + function (t) { + return t.getHours(); + } + )), + (Pe.hours = Pe.hour.range), + (Pe.hours.utc = Pe.hour.utc.range), + (Pe.month = Re( + function (t) { + return (t = Pe.day(t)).setDate(1), t; + }, + function (t, e) { + t.setMonth(t.getMonth() + e); + }, + function (t) { + return t.getMonth(); + } + )), + (Pe.months = Pe.month.range), + (Pe.months.utc = Pe.month.utc.range); + var js = [ + 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, + 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6, + ], + Us = [ + [Pe.second, 1], + [Pe.second, 5], + [Pe.second, 15], + [Pe.second, 30], + [Pe.minute, 1], + [Pe.minute, 5], + [Pe.minute, 15], + [Pe.minute, 30], + [Pe.hour, 1], + [Pe.hour, 3], + [Pe.hour, 6], + [Pe.hour, 12], + [Pe.day, 1], + [Pe.day, 2], + [Pe.week, 1], + [Pe.month, 1], + [Pe.month, 3], + [Pe.year, 1], + ], + Vs = Os.multi([ + [ + '.%L', + function (t) { + return t.getMilliseconds(); + }, + ], + [ + ':%S', + function (t) { + return t.getSeconds(); + }, + ], + [ + '%I:%M', + function (t) { + return t.getMinutes(); + }, + ], + [ + '%I %p', + function (t) { + return t.getHours(); + }, + ], + [ + '%a %d', + function (t) { + return t.getDay() && 1 != t.getDate(); + }, + ], + [ + '%b %d', + function (t) { + return 1 != t.getDate(); + }, + ], + [ + '%B', + function (t) { + return t.getMonth(); + }, + ], + ['%Y', Yr], + ]), + qs = { + range: function (e, r, n) { + return t.range(Math.ceil(e / n) * n, +r, n).map(Ns); + }, + floor: L, + ceil: L, + }; + (Us.year = Pe.year), + (Pe.scale = function () { + return Bs(t.scale.linear(), Us, Vs); + }); + var Hs = Us.map(function (t) { + return [t[0].utc, t[1]]; + }), + Gs = Ds.multi([ + [ + '.%L', + function (t) { + return t.getUTCMilliseconds(); + }, + ], + [ + ':%S', + function (t) { + return t.getUTCSeconds(); + }, + ], + [ + '%I:%M', + function (t) { + return t.getUTCMinutes(); + }, + ], + [ + '%I %p', + function (t) { + return t.getUTCHours(); + }, + ], + [ + '%a %d', + function (t) { + return t.getUTCDay() && 1 != t.getUTCDate(); + }, + ], + [ + '%b %d', + function (t) { + return 1 != t.getUTCDate(); + }, + ], + [ + '%B', + function (t) { + return t.getUTCMonth(); + }, + ], + ['%Y', Yr], + ]); + function Ys(t) { + return JSON.parse(t.responseText); + } + function Ws(t) { + var e = i.createRange(); + return ( + e.selectNode(i.body), e.createContextualFragment(t.responseText) + ); + } + (Hs.year = Pe.year.utc), + (Pe.scale.utc = function () { + return Bs(t.scale.linear(), Hs, Gs); + }), + (t.text = ge(function (t) { + return t.responseText; + })), + (t.json = function (t, e) { + return me(t, 'application/json', Ys, e); + }), + (t.html = function (t, e) { + return me(t, 'text/html', Ws, e); + }), + (t.xml = ge(function (t) { + return t.responseXML; + })), + 'object' == typeof e && e.exports + ? (e.exports = t) + : (this.d3 = t); + })(); + }, + {}, + ], + 170: [ + function (t, e, r) { + e.exports = function () { + for (var t = 0; t < arguments.length; t++) + if (void 0 !== arguments[t]) return arguments[t]; + }; + }, + {}, + ], + 171: [ + function (t, e, r) { + 'use strict'; + var n = t('incremental-convex-hull'), + i = t('uniq'); + function a(t, e) { + (this.point = t), (this.index = e); + } + function o(t, e) { + for ( + var r = t.point, n = e.point, i = r.length, a = 0; + a < i; + ++a + ) { + var o = n[a] - r[a]; + if (o) return o; + } + return 0; + } + e.exports = function (t, e) { + var r = t.length; + if (0 === r) return []; + var s = t[0].length; + if (s < 1) return []; + if (1 === s) + return (function (t, e, r) { + if (1 === t) return r ? [[-1, 0]] : []; + var n = e.map(function (t, e) { + return [t[0], e]; + }); + n.sort(function (t, e) { + return t[0] - e[0]; + }); + for (var i = new Array(t - 1), a = 1; a < t; ++a) { + var o = n[a - 1], + s = n[a]; + i[a - 1] = [o[1], s[1]]; + } + r && i.push([-1, i[0][1]], [i[t - 1][1], -1]); + return i; + })(r, t, e); + for (var l = new Array(r), c = 1, u = 0; u < r; ++u) { + for ( + var f = t[u], h = new Array(s + 1), p = 0, d = 0; + d < s; + ++d + ) { + var g = f[d]; + (h[d] = g), (p += g * g); + } + (h[s] = p), (l[u] = new a(h, u)), (c = Math.max(p, c)); + } + i(l, o), (r = l.length); + var m = new Array(r + s + 1), + v = new Array(r + s + 1), + y = (s + 1) * (s + 1) * c, + x = new Array(s + 1); + for (u = 0; u <= s; ++u) x[u] = 0; + (x[s] = y), (m[0] = x.slice()), (v[0] = -1); + for (u = 0; u <= s; ++u) { + ((h = x.slice())[u] = 1), (m[u + 1] = h), (v[u + 1] = -1); + } + for (u = 0; u < r; ++u) { + var b = l[u]; + (m[u + s + 1] = b.point), (v[u + s + 1] = b.index); + } + var _ = n(m, !1); + _ = e + ? _.filter(function (t) { + for (var e = 0, r = 0; r <= s; ++r) { + var n = v[t[r]]; + if (n < 0 && ++e >= 2) return !1; + t[r] = n; + } + return !0; + }) + : _.filter(function (t) { + for (var e = 0; e <= s; ++e) { + var r = v[t[e]]; + if (r < 0) return !1; + t[e] = r; + } + return !0; + }); + if (1 & s) + for (u = 0; u < _.length; ++u) { + h = (b = _[u])[0]; + (b[0] = b[1]), (b[1] = h); + } + return _; + }; + }, + { 'incremental-convex-hull': 459, uniq: 597 }, + ], + 172: [ + function (t, e, r) { + 'use strict'; + e.exports = a; + var n = (a.canvas = document.createElement('canvas')).getContext( + '2d' + ), + i = o([32, 126]); + function a(t, e) { + Array.isArray(t) && (t = t.join(', ')); + var r, + a = {}, + s = 16, + l = 0.05; + e && + (2 === e.length && 'number' == typeof e[0] + ? (r = o(e)) + : Array.isArray(e) + ? (r = e) + : (e.o ? (r = o(e.o)) : e.pairs && (r = e.pairs), + e.fontSize && (s = e.fontSize), + null != e.threshold && (l = e.threshold))), + r || (r = i), + (n.font = s + 'px ' + t); + for (var c = 0; c < r.length; c++) { + var u = r[c], + f = n.measureText(u[0]).width + n.measureText(u[1]).width, + h = n.measureText(u).width; + if (Math.abs(f - h) > s * l) { + var p = (h - f) / s; + a[u] = 1e3 * p; + } + } + return a; + } + function o(t) { + for (var e = [], r = t[0]; r <= t[1]; r++) + for (var n = String.fromCharCode(r), i = t[0]; i < t[1]; i++) { + var a = n + String.fromCharCode(i); + e.push(a); + } + return e; + } + (a.createPairs = o), (a.ascii = i); + }, + {}, + ], + 173: [ + function (t, e, r) { + (function (t) { + (function () { + var r = !1; + if ('undefined' != typeof Float64Array) { + var n = new Float64Array(1), + i = new Uint32Array(n.buffer); + if (((n[0] = 1), (r = !0), 1072693248 === i[1])) { + (e.exports = function (t) { + return (n[0] = t), [i[0], i[1]]; + }), + (e.exports.pack = function (t, e) { + return (i[0] = t), (i[1] = e), n[0]; + }), + (e.exports.lo = function (t) { + return (n[0] = t), i[0]; + }), + (e.exports.hi = function (t) { + return (n[0] = t), i[1]; + }); + } else if (1072693248 === i[0]) { + (e.exports = function (t) { + return (n[0] = t), [i[1], i[0]]; + }), + (e.exports.pack = function (t, e) { + return (i[1] = t), (i[0] = e), n[0]; + }), + (e.exports.lo = function (t) { + return (n[0] = t), i[1]; + }), + (e.exports.hi = function (t) { + return (n[0] = t), i[0]; + }); + } else r = !1; + } + if (!r) { + var a = new t(8); + (e.exports = function (t) { + return ( + a.writeDoubleLE(t, 0, !0), + [a.readUInt32LE(0, !0), a.readUInt32LE(4, !0)] + ); + }), + (e.exports.pack = function (t, e) { + return ( + a.writeUInt32LE(t, 0, !0), + a.writeUInt32LE(e, 4, !0), + a.readDoubleLE(0, !0) + ); + }), + (e.exports.lo = function (t) { + return a.writeDoubleLE(t, 0, !0), a.readUInt32LE(0, !0); + }), + (e.exports.hi = function (t) { + return a.writeDoubleLE(t, 0, !0), a.readUInt32LE(4, !0); + }); + } + (e.exports.sign = function (t) { + return e.exports.hi(t) >>> 31; + }), + (e.exports.exponent = function (t) { + return ((e.exports.hi(t) << 1) >>> 21) - 1023; + }), + (e.exports.fraction = function (t) { + var r = e.exports.lo(t), + n = e.exports.hi(t), + i = 1048575 & n; + return 2146435072 & n && (i += 1 << 20), [r, i]; + }), + (e.exports.denormalized = function (t) { + return !(2146435072 & e.exports.hi(t)); + }); + }.call(this)); + }.call(this, t('buffer').Buffer)); + }, + { buffer: 111 }, + ], + 174: [ + function (t, e, r) { + var n = t('abs-svg-path'), + i = t('normalize-svg-path'), + a = { M: 'moveTo', C: 'bezierCurveTo' }; + e.exports = function (t, e) { + t.beginPath(), + i(n(e)).forEach(function (e) { + var r = e[0], + n = e.slice(1); + t[a[r]].apply(t, n); + }), + t.closePath(); + }; + }, + { 'abs-svg-path': 65, 'normalize-svg-path': 497 }, + ], + 175: [ + function (t, e, r) { + e.exports = function (t) { + switch (t) { + case 'int8': + return Int8Array; + case 'int16': + return Int16Array; + case 'int32': + return Int32Array; + case 'uint8': + return Uint8Array; + case 'uint16': + return Uint16Array; + case 'uint32': + return Uint32Array; + case 'float32': + return Float32Array; + case 'float64': + return Float64Array; + case 'array': + return Array; + case 'uint8_clamped': + return Uint8ClampedArray; + } + }; + }, + {}, + ], + 176: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + switch (('undefined' == typeof e && (e = 0), typeof t)) { + case 'number': + if (t > 0) + return (function (t, e) { + var r, n; + for (r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + })(0 | t, e); + break; + case 'object': + if ('number' == typeof t.length) + return (function t(e, r, n) { + var i = 0 | e[n]; + if (i <= 0) return []; + var a, + o = new Array(i); + if (n === e.length - 1) for (a = 0; a < i; ++a) o[a] = r; + else for (a = 0; a < i; ++a) o[a] = t(e, r, n + 1); + return o; + })(t, e, 0); + } + return []; + }; + }, + {}, + ], + 177: [ + function (t, e, r) { + 'use strict'; + function n(t, e, r) { + r = r || 2; + var n, + s, + l, + c, + u, + p, + d, + m = e && e.length, + v = m ? e[0] * r : t.length, + y = i(t, 0, v, r, !0), + x = []; + if (!y || y.next === y.prev) return x; + if ( + (m && + (y = (function (t, e, r, n) { + var o, + s, + l, + c, + u, + p = []; + for (o = 0, s = e.length; o < s; o++) + (l = e[o] * n), + (c = o < s - 1 ? e[o + 1] * n : t.length), + (u = i(t, l, c, n, !1)) === u.next && (u.steiner = !0), + p.push(g(u)); + for (p.sort(f), o = 0; o < p.length; o++) + h(p[o], r), (r = a(r, r.next)); + return r; + })(t, e, y, r)), + t.length > 80 * r) + ) { + (n = l = t[0]), (s = c = t[1]); + for (var b = r; b < v; b += r) + (u = t[b]) < n && (n = u), + (p = t[b + 1]) < s && (s = p), + u > l && (l = u), + p > c && (c = p); + d = 0 !== (d = Math.max(l - n, c - s)) ? 1 / d : 0; + } + return o(y, x, r, n, s, d), x; + } + function i(t, e, r, n, i) { + var a, o; + if (i === E(t, e, r, n) > 0) + for (a = e; a < r; a += n) o = M(a, t[a], t[a + 1], o); + else for (a = r - n; a >= e; a -= n) o = M(a, t[a], t[a + 1], o); + return o && x(o, o.next) && (A(o), (o = o.next)), o; + } + function a(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || (!x(n, n.next) && 0 !== y(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((A(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function o(t, e, r, n, i, f, h) { + if (t) { + !h && + f && + (function (t, e, r, n) { + var i = t; + do { + null === i.z && (i.z = d(i.x, i.y, e, r, n)), + (i.prevZ = i.prev), + (i.nextZ = i.next), + (i = i.next); + } while (i !== t); + (i.prevZ.nextZ = null), + (i.prevZ = null), + (function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1; + do { + for (r = t, t = null, a = null, o = 0; r; ) { + for ( + o++, n = r, s = 0, e = 0; + e < c && (s++, (n = n.nextZ)); + e++ + ); + for (l = c; s > 0 || (l > 0 && n); ) + 0 !== s && (0 === l || !n || r.z <= n.z) + ? ((i = r), (r = r.nextZ), s--) + : ((i = n), (n = n.nextZ), l--), + a ? (a.nextZ = i) : (t = i), + (i.prevZ = a), + (a = i); + r = n; + } + (a.nextZ = null), (c *= 2); + } while (o > 1); + })(i); + })(t, n, i, f); + for (var p, g, m = t; t.prev !== t.next; ) + if (((p = t.prev), (g = t.next), f ? l(t, n, i, f) : s(t))) + e.push(p.i / r), + e.push(t.i / r), + e.push(g.i / r), + A(t), + (t = g.next), + (m = g.next); + else if ((t = g) === m) { + h + ? 1 === h + ? o((t = c(a(t), e, r)), e, r, n, i, f, 2) + : 2 === h && u(t, e, r, n, i, f) + : o(a(t), e, r, n, i, f, 1); + break; + } + } + } + function s(t) { + var e = t.prev, + r = t, + n = t.next; + if (y(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + m(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + y(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function l(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (y(i, a, o) >= 0) return !1; + for ( + var s = + i.x < a.x ? (i.x < o.x ? i.x : o.x) : a.x < o.x ? a.x : o.x, + l = i.y < a.y ? (i.y < o.y ? i.y : o.y) : a.y < o.y ? a.y : o.y, + c = i.x > a.x ? (i.x > o.x ? i.x : o.x) : a.x > o.x ? a.x : o.x, + u = i.y > a.y ? (i.y > o.y ? i.y : o.y) : a.y > o.y ? a.y : o.y, + f = d(s, l, e, r, n), + h = d(c, u, e, r, n), + p = t.prevZ, + g = t.nextZ; + p && p.z >= f && g && g.z <= h; + + ) { + if ( + p !== t.prev && + p !== t.next && + m(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + y(p.prev, p, p.next) >= 0 + ) + return !1; + if ( + ((p = p.prevZ), + g !== t.prev && + g !== t.next && + m(i.x, i.y, a.x, a.y, o.x, o.y, g.x, g.y) && + y(g.prev, g, g.next) >= 0) + ) + return !1; + g = g.nextZ; + } + for (; p && p.z >= f; ) { + if ( + p !== t.prev && + p !== t.next && + m(i.x, i.y, a.x, a.y, o.x, o.y, p.x, p.y) && + y(p.prev, p, p.next) >= 0 + ) + return !1; + p = p.prevZ; + } + for (; g && g.z <= h; ) { + if ( + g !== t.prev && + g !== t.next && + m(i.x, i.y, a.x, a.y, o.x, o.y, g.x, g.y) && + y(g.prev, g, g.next) >= 0 + ) + return !1; + g = g.nextZ; + } + return !0; + } + function c(t, e, r) { + var n = t; + do { + var i = n.prev, + o = n.next.next; + !x(i, o) && + b(i, n, n.next, o) && + T(i, o) && + T(o, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(o.i / r), + A(n), + A(n.next), + (n = t = o)), + (n = n.next); + } while (n !== t); + return a(n); + } + function u(t, e, r, n, i, s) { + var l = t; + do { + for (var c = l.next.next; c !== l.prev; ) { + if (l.i !== c.i && v(l, c)) { + var u = k(l, c); + return ( + (l = a(l, l.next)), + (u = a(u, u.next)), + o(l, e, r, n, i, s), + void o(u, e, r, n, i, s) + ); + } + c = c.next; + } + l = l.next; + } while (l !== t); + } + function f(t, e) { + return t.x - e.x; + } + function h(t, e) { + if ( + (e = (function (t, e) { + var r, + n = e, + i = t.x, + a = t.y, + o = -1 / 0; + do { + if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { + var s = + n.x + ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if (s <= i && s > o) { + if (((o = s), s === i)) { + if (a === n.y) return n; + if (a === n.next.y) return n.next; + } + r = n.x < n.next.x ? n : n.next; + } + } + n = n.next; + } while (n !== e); + if (!r) return null; + if (i === o) return r; + var l, + c = r, + u = r.x, + f = r.y, + h = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= u && + i !== n.x && + m(a < f ? i : o, a, u, f, a < f ? o : i, a, n.x, n.y) && + ((l = Math.abs(a - n.y) / (i - n.x)), + T(n, t) && + (l < h || + (l === h && (n.x > r.x || (n.x === r.x && p(r, n))))) && + ((r = n), (h = l))), + (n = n.next); + } while (n !== c); + return r; + })(t, e)) + ) { + var r = k(e, t); + a(e, e.next), a(r, r.next); + } + } + function p(t, e) { + return y(t.prev, t, e.prev) < 0 && y(e.next, t, t.next) < 0; + } + function d(t, e, r, n, i) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | + (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | + (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + } + function g(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function m(t, e, r, n, i, a, o, s) { + return ( + (i - o) * (e - s) - (t - o) * (a - s) >= 0 && + (t - o) * (n - s) - (r - o) * (e - s) >= 0 && + (r - o) * (a - s) - (i - o) * (n - s) >= 0 + ); + } + function v(t, e) { + return ( + t.next.i !== e.i && + t.prev.i !== e.i && + !(function (t, e) { + var r = t; + do { + if ( + r.i !== t.i && + r.next.i !== t.i && + r.i !== e.i && + r.next.i !== e.i && + b(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((T(t, e) && + T(e, t) && + (function (t, e) { + var r = t, + n = !1, + i = (t.x + e.x) / 2, + a = (t.y + e.y) / 2; + do { + r.y > a != r.next.y > a && + r.next.y !== r.y && + i < + ((r.next.x - r.x) * (a - r.y)) / (r.next.y - r.y) + + r.x && + (n = !n), + (r = r.next); + } while (r !== t); + return n; + })(t, e) && + (y(t.prev, t, e.prev) || y(t, e.prev, e))) || + (x(t, e) && + y(t.prev, t, t.next) > 0 && + y(e.prev, e, e.next) > 0)) + ); + } + function y(t, e, r) { + return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); + } + function x(t, e) { + return t.x === e.x && t.y === e.y; + } + function b(t, e, r, n) { + var i = w(y(t, e, r)), + a = w(y(t, e, n)), + o = w(y(r, n, t)), + s = w(y(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !_(t, r, e)) || + !(0 !== a || !_(t, n, e)) || + !(0 !== o || !_(r, t, n)) || + !(0 !== s || !_(r, e, n)) + ); + } + function _(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function w(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function T(t, e) { + return y(t.prev, t, t.next) < 0 + ? y(t, e, t.next) >= 0 && y(t, t.prev, e) >= 0 + : y(t, e, t.prev) < 0 || y(t, t.next, e) < 0; + } + function k(t, e) { + var r = new S(t.i, t.x, t.y), + n = new S(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function M(t, e, r, n) { + var i = new S(t, e, r); + return ( + n + ? ((i.next = n.next), + (i.prev = n), + (n.next.prev = i), + (n.next = i)) + : ((i.prev = i), (i.next = i)), + i + ); + } + function A(t) { + (t.next.prev = t.prev), + (t.prev.next = t.next), + t.prevZ && (t.prevZ.nextZ = t.nextZ), + t.nextZ && (t.nextZ.prevZ = t.prevZ); + } + function S(t, e, r) { + (this.i = t), + (this.x = e), + (this.y = r), + (this.prev = null), + (this.next = null), + (this.z = null), + (this.prevZ = null), + (this.nextZ = null), + (this.steiner = !1); + } + function E(t, e, r, n) { + for (var i = 0, a = e, o = r - n; a < r; a += n) + (i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a); + return i; + } + (e.exports = n), + (e.exports.default = n), + (n.deviation = function (t, e, r, n) { + var i = e && e.length, + a = i ? e[0] * r : t.length, + o = Math.abs(E(t, 0, a, r)); + if (i) + for (var s = 0, l = e.length; s < l; s++) { + var c = e[s] * r, + u = s < l - 1 ? e[s + 1] * r : t.length; + o -= Math.abs(E(t, c, u, r)); + } + var f = 0; + for (s = 0; s < n.length; s += 3) { + var h = n[s] * r, + p = n[s + 1] * r, + d = n[s + 2] * r; + f += Math.abs( + (t[h] - t[d]) * (t[p + 1] - t[h + 1]) - + (t[h] - t[p]) * (t[d + 1] - t[h + 1]) + ); + } + return 0 === o && 0 === f ? 0 : Math.abs((f - o) / o); + }), + (n.flatten = function (t) { + for ( + var e = t[0][0].length, + r = { vertices: [], holes: [], dimensions: e }, + n = 0, + i = 0; + i < t.length; + i++ + ) { + for (var a = 0; a < t[i].length; a++) + for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); + i > 0 && ((n += t[i - 1].length), r.holes.push(n)); + } + return r; + }); + }, + {}, + ], + 178: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = t.length; + if ('number' != typeof e) { + e = 0; + for (var i = 0; i < r; ++i) { + var a = t[i]; + e = Math.max(e, a[0], a[1]); + } + e = 1 + (0 | e); + } + e |= 0; + var o = new Array(e); + for (i = 0; i < e; ++i) o[i] = []; + for (i = 0; i < r; ++i) { + a = t[i]; + o[a[0]].push(a[1]), o[a[1]].push(a[0]); + } + for (var s = 0; s < e; ++s) + n(o[s], function (t, e) { + return t - e; + }); + return o; + }; + var n = t('uniq'); + }, + { uniq: 597 }, + ], + 179: [ + function (t, e, r) { + var n = t('strongly-connected-components'); + e.exports = function (t, e) { + var r, + i = [], + a = [], + o = [], + s = {}, + l = []; + function c(t) { + var e, + n, + i = !1; + for (a.push(t), o[t] = !0, e = 0; e < l[t].length; e++) + (n = l[t][e]) === r ? (u(r, a), (i = !0)) : o[n] || (i = c(n)); + if (i) + !(function t(e) { + (o[e] = !1), + s.hasOwnProperty(e) && + Object.keys(s[e]).forEach(function (r) { + delete s[e][r], o[r] && t(r); + }); + })(t); + else + for (e = 0; e < l[t].length; e++) { + n = l[t][e]; + var f = s[n]; + f || ((f = {}), (s[n] = f)), (f[n] = !0); + } + return a.pop(), i; + } + function u(t, r) { + var n = [].concat(r).concat(t); + e ? e(c) : i.push(n); + } + function f(e) { + !(function (e) { + for (var r = 0; r < t.length; r++) + r < e && (t[r] = []), + (t[r] = t[r].filter(function (t) { + return t >= e; + })); + })(e); + for ( + var r, + i = n(t).components.filter(function (t) { + return t.length > 1; + }), + a = 1 / 0, + o = 0; + o < i.length; + o++ + ) + for (var s = 0; s < i[o].length; s++) + i[o][s] < a && ((a = i[o][s]), (r = o)); + var l = i[r]; + return ( + !!l && { + leastVertex: a, + adjList: t.map(function (t, e) { + return -1 === l.indexOf(e) + ? [] + : t.filter(function (t) { + return -1 !== l.indexOf(t); + }); + }), + } + ); + } + r = 0; + for (var h = t.length; r < h; ) { + var p = f(r); + if (((r = p.leastVertex), (l = p.adjList))) { + for (var d = 0; d < l.length; d++) + for (var g = 0; g < l[d].length; g++) { + var m = l[d][g]; + (o[+m] = !1), (s[m] = {}); + } + c(r), (r += 1); + } else r = h; + } + return e ? void 0 : i; + }; + }, + { 'strongly-connected-components': 569 }, + ], + 180: [ + function (t, e, r) { + 'use strict'; + var n = t('../../object/valid-value'); + e.exports = function () { + return (n(this).length = 0), this; + }; + }, + { '../../object/valid-value': 211 }, + ], + 181: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() ? Array.from : t('./shim'); + }, + { './is-implemented': 182, './shim': 183 }, + ], + 182: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + var t, + e, + r = Array.from; + return ( + 'function' == typeof r && + ((e = r((t = ['raz', 'dwa']))), + Boolean(e && e !== t && 'dwa' === e[1])) + ); + }; + }, + {}, + ], + 183: [ + function (t, e, r) { + 'use strict'; + var n = t('es6-symbol').iterator, + i = t('../../function/is-arguments'), + a = t('../../function/is-function'), + o = t('../../number/to-pos-integer'), + s = t('../../object/valid-callable'), + l = t('../../object/valid-value'), + c = t('../../object/is-value'), + u = t('../../string/is-string'), + f = Array.isArray, + h = Function.prototype.call, + p = { configurable: !0, enumerable: !0, writable: !0, value: null }, + d = Object.defineProperty; + e.exports = function (t) { + var e, + r, + g, + m, + v, + y, + x, + b, + _, + w, + T = arguments[1], + k = arguments[2]; + if ( + ((t = Object(l(t))), + c(T) && s(T), + this && this !== Array && a(this)) + ) + e = this; + else { + if (!T) { + if (i(t)) + return 1 !== (v = t.length) + ? Array.apply(null, t) + : (((m = new Array(1))[0] = t[0]), m); + if (f(t)) { + for (m = new Array((v = t.length)), r = 0; r < v; ++r) + m[r] = t[r]; + return m; + } + } + m = []; + } + if (!f(t)) + if (void 0 !== (_ = t[n])) { + for ( + x = s(_).call(t), e && (m = new e()), b = x.next(), r = 0; + !b.done; + + ) + (w = T ? h.call(T, k, b.value, r) : b.value), + e ? ((p.value = w), d(m, r, p)) : (m[r] = w), + (b = x.next()), + ++r; + v = r; + } else if (u(t)) { + for (v = t.length, e && (m = new e()), r = 0, g = 0; r < v; ++r) + (w = t[r]), + r + 1 < v && + (y = w.charCodeAt(0)) >= 55296 && + y <= 56319 && + (w += t[++r]), + (w = T ? h.call(T, k, w, g) : w), + e ? ((p.value = w), d(m, g, p)) : (m[g] = w), + ++g; + v = g; + } + if (void 0 === v) + for (v = o(t.length), e && (m = new e(v)), r = 0; r < v; ++r) + (w = T ? h.call(T, k, t[r], r) : t[r]), + e ? ((p.value = w), d(m, r, p)) : (m[r] = w); + return e && ((p.value = null), (m.length = v)), m; + }; + }, + { + '../../function/is-arguments': 184, + '../../function/is-function': 185, + '../../number/to-pos-integer': 191, + '../../object/is-value': 200, + '../../object/valid-callable': 209, + '../../object/valid-value': 211, + '../../string/is-string': 215, + 'es6-symbol': 225, + }, + ], + 184: [ + function (t, e, r) { + 'use strict'; + var n = Object.prototype.toString, + i = n.call( + (function () { + return arguments; + })() + ); + e.exports = function (t) { + return n.call(t) === i; + }; + }, + {}, + ], + 185: [ + function (t, e, r) { + 'use strict'; + var n = Object.prototype.toString, + i = RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/); + e.exports = function (t) { + return 'function' == typeof t && i(n.call(t)); + }; + }, + {}, + ], + 186: [ + function (t, e, r) { + 'use strict'; + e.exports = function () {}; + }, + {}, + ], + 187: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() ? Math.sign : t('./shim'); + }, + { './is-implemented': 188, './shim': 189 }, + ], + 188: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + var t = Math.sign; + return 'function' == typeof t && 1 === t(10) && -1 === t(-20); + }; + }, + {}, + ], + 189: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return (t = Number(t)), isNaN(t) || 0 === t ? t : t > 0 ? 1 : -1; + }; + }, + {}, + ], + 190: [ + function (t, e, r) { + 'use strict'; + var n = t('../math/sign'), + i = Math.abs, + a = Math.floor; + e.exports = function (t) { + return isNaN(t) + ? 0 + : 0 !== (t = Number(t)) && isFinite(t) + ? n(t) * a(i(t)) + : t; + }; + }, + { '../math/sign': 187 }, + ], + 191: [ + function (t, e, r) { + 'use strict'; + var n = t('./to-integer'), + i = Math.max; + e.exports = function (t) { + return i(0, n(t)); + }; + }, + { './to-integer': 190 }, + ], + 192: [ + function (t, e, r) { + 'use strict'; + var n = t('./valid-callable'), + i = t('./valid-value'), + a = Function.prototype.bind, + o = Function.prototype.call, + s = Object.keys, + l = Object.prototype.propertyIsEnumerable; + e.exports = function (t, e) { + return function (r, c) { + var u, + f = arguments[2], + h = arguments[3]; + return ( + (r = Object(i(r))), + n(c), + (u = s(r)), + h && u.sort('function' == typeof h ? a.call(h, r) : void 0), + 'function' != typeof t && (t = u[t]), + o.call(t, u, function (t, n) { + return l.call(r, t) ? o.call(c, f, r[t], t, r, n) : e; + }) + ); + }; + }; + }, + { './valid-callable': 209, './valid-value': 211 }, + ], + 193: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() ? Object.assign : t('./shim'); + }, + { './is-implemented': 194, './shim': 195 }, + ], + 194: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + var t, + e = Object.assign; + return ( + 'function' == typeof e && + (e((t = { foo: 'raz' }), { bar: 'dwa' }, { trzy: 'trzy' }), + t.foo + t.bar + t.trzy === 'razdwatrzy') + ); + }; + }, + {}, + ], + 195: [ + function (t, e, r) { + 'use strict'; + var n = t('../keys'), + i = t('../valid-value'), + a = Math.max; + e.exports = function (t, e) { + var r, + o, + s, + l = a(arguments.length, 2); + for ( + t = Object(i(t)), + s = function (n) { + try { + t[n] = e[n]; + } catch (t) { + r || (r = t); + } + }, + o = 1; + o < l; + ++o + ) + n((e = arguments[o])).forEach(s); + if (void 0 !== r) throw r; + return t; + }; + }, + { '../keys': 201, '../valid-value': 211 }, + ], + 196: [ + function (t, e, r) { + 'use strict'; + var n = t('../array/from'), + i = t('./assign'), + a = t('./valid-value'); + e.exports = function (t) { + var e = Object(a(t)), + r = arguments[1], + o = Object(arguments[2]); + if (e !== t && !r) return e; + var s = {}; + return ( + r + ? n(r, function (e) { + (o.ensure || e in t) && (s[e] = t[e]); + }) + : i(s, t), + s + ); + }; + }, + { '../array/from': 181, './assign': 193, './valid-value': 211 }, + ], + 197: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a, + o, + s = Object.create; + t('./set-prototype-of/is-implemented')() || + (n = t('./set-prototype-of/shim')), + (e.exports = n + ? 1 !== n.level + ? s + : ((i = {}), + (a = {}), + (o = { + configurable: !1, + enumerable: !1, + writable: !0, + value: void 0, + }), + Object.getOwnPropertyNames(Object.prototype).forEach( + function (t) { + a[t] = + '__proto__' !== t + ? o + : { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + } + ), + Object.defineProperties(i, a), + Object.defineProperty(n, 'nullPolyfill', { + configurable: !1, + enumerable: !1, + writable: !1, + value: i, + }), + function (t, e) { + return s(null === t ? i : t, e); + }) + : s); + }, + { + './set-prototype-of/is-implemented': 207, + './set-prototype-of/shim': 208, + }, + ], + 198: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./_iterate')('forEach'); + }, + { './_iterate': 192 }, + ], + 199: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-value'), + i = { function: !0, object: !0 }; + e.exports = function (t) { + return (n(t) && i[typeof t]) || !1; + }; + }, + { './is-value': 200 }, + ], + 200: [ + function (t, e, r) { + 'use strict'; + var n = t('../function/noop')(); + e.exports = function (t) { + return t !== n && null !== t; + }; + }, + { '../function/noop': 186 }, + ], + 201: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() ? Object.keys : t('./shim'); + }, + { './is-implemented': 202, './shim': 203 }, + ], + 202: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + try { + return Object.keys('primitive'), !0; + } catch (t) { + return !1; + } + }; + }, + {}, + ], + 203: [ + function (t, e, r) { + 'use strict'; + var n = t('../is-value'), + i = Object.keys; + e.exports = function (t) { + return i(n(t) ? Object(t) : t); + }; + }, + { '../is-value': 200 }, + ], + 204: [ + function (t, e, r) { + 'use strict'; + var n = t('./valid-callable'), + i = t('./for-each'), + a = Function.prototype.call; + e.exports = function (t, e) { + var r = {}, + o = arguments[2]; + return ( + n(e), + i(t, function (t, n, i, s) { + r[n] = a.call(e, o, t, n, i, s); + }), + r + ); + }; + }, + { './for-each': 198, './valid-callable': 209 }, + ], + 205: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-value'), + i = Array.prototype.forEach, + a = Object.create, + o = function (t, e) { + var r; + for (r in t) e[r] = t[r]; + }; + e.exports = function (t) { + var e = a(null); + return ( + i.call(arguments, function (t) { + n(t) && o(Object(t), e); + }), + e + ); + }; + }, + { './is-value': 200 }, + ], + 206: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() + ? Object.setPrototypeOf + : t('./shim'); + }, + { './is-implemented': 207, './shim': 208 }, + ], + 207: [ + function (t, e, r) { + 'use strict'; + var n = Object.create, + i = Object.getPrototypeOf, + a = {}; + e.exports = function () { + var t = Object.setPrototypeOf, + e = arguments[0] || n; + return 'function' == typeof t && i(t(e(null), a)) === a; + }; + }, + {}, + ], + 208: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('../is-object'), + a = t('../valid-value'), + o = Object.prototype.isPrototypeOf, + s = Object.defineProperty, + l = { + configurable: !0, + enumerable: !1, + writable: !0, + value: void 0, + }; + (n = function (t, e) { + if ((a(t), null === e || i(e))) return t; + throw new TypeError('Prototype must be null or an object'); + }), + (e.exports = (function (t) { + var e, r; + return t + ? (2 === t.level + ? t.set + ? ((r = t.set), + (e = function (t, e) { + return r.call(n(t, e), e), t; + })) + : (e = function (t, e) { + return (n(t, e).__proto__ = e), t; + }) + : (e = function t(e, r) { + var i; + return ( + n(e, r), + (i = o.call(t.nullPolyfill, e)) && + delete t.nullPolyfill.__proto__, + null === r && (r = t.nullPolyfill), + (e.__proto__ = r), + i && s(t.nullPolyfill, '__proto__', l), + e + ); + }), + Object.defineProperty(e, 'level', { + configurable: !1, + enumerable: !1, + writable: !1, + value: t.level, + })) + : null; + })( + (function () { + var t, + e = Object.create(null), + r = {}, + n = Object.getOwnPropertyDescriptor( + Object.prototype, + '__proto__' + ); + if (n) { + try { + (t = n.set).call(e, r); + } catch (t) {} + if (Object.getPrototypeOf(e) === r) + return { set: t, level: 2 }; + } + return ( + (e.__proto__ = r), + Object.getPrototypeOf(e) === r + ? { level: 2 } + : (((e = {}).__proto__ = r), + Object.getPrototypeOf(e) === r && { level: 1 }) + ); + })() + )), + t('../create'); + }, + { '../create': 197, '../is-object': 199, '../valid-value': 211 }, + ], + 209: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + if ('function' != typeof t) + throw new TypeError(t + ' is not a function'); + return t; + }; + }, + {}, + ], + 210: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-object'); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + ' is not an Object'); + return t; + }; + }, + { './is-object': 199 }, + ], + 211: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-value'); + e.exports = function (t) { + if (!n(t)) throw new TypeError('Cannot use null or undefined'); + return t; + }; + }, + { './is-value': 200 }, + ], + 212: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() + ? String.prototype.contains + : t('./shim'); + }, + { './is-implemented': 213, './shim': 214 }, + ], + 213: [ + function (t, e, r) { + 'use strict'; + var n = 'razdwatrzy'; + e.exports = function () { + return ( + 'function' == typeof n.contains && + !0 === n.contains('dwa') && + !1 === n.contains('foo') + ); + }; + }, + {}, + ], + 214: [ + function (t, e, r) { + 'use strict'; + var n = String.prototype.indexOf; + e.exports = function (t) { + return n.call(this, t, arguments[1]) > -1; + }; + }, + {}, + ], + 215: [ + function (t, e, r) { + 'use strict'; + var n = Object.prototype.toString, + i = n.call(''); + e.exports = function (t) { + return ( + 'string' == typeof t || + (t && + 'object' == typeof t && + (t instanceof String || n.call(t) === i)) || + !1 + ); + }; + }, + {}, + ], + 216: [ + function (t, e, r) { + 'use strict'; + var n = Object.create(null), + i = Math.random; + e.exports = function () { + var t; + do { + t = i().toString(36).slice(2); + } while (n[t]); + return t; + }; + }, + {}, + ], + 217: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('es5-ext/object/set-prototype-of'), + a = t('es5-ext/string/#/contains'), + o = t('d'), + s = t('es6-symbol'), + l = t('./'), + c = Object.defineProperty; + (n = e.exports = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + l.call(this, t), + (e = e + ? a.call(e, 'key+value') + ? 'key+value' + : a.call(e, 'key') + ? 'key' + : 'value' + : 'value'), + c(this, '__kind__', o('', e)); + }), + i && i(n, l), + delete n.prototype.constructor, + (n.prototype = Object.create(l.prototype, { + _resolve: o(function (t) { + return 'value' === this.__kind__ + ? this.__list__[t] + : 'key+value' === this.__kind__ + ? [t, this.__list__[t]] + : t; + }), + })), + c(n.prototype, s.toStringTag, o('c', 'Array Iterator')); + }, + { + './': 220, + d: 155, + 'es5-ext/object/set-prototype-of': 206, + 'es5-ext/string/#/contains': 212, + 'es6-symbol': 225, + }, + ], + 218: [ + function (t, e, r) { + 'use strict'; + var n = t('es5-ext/function/is-arguments'), + i = t('es5-ext/object/valid-callable'), + a = t('es5-ext/string/is-string'), + o = t('./get'), + s = Array.isArray, + l = Function.prototype.call, + c = Array.prototype.some; + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d, + g, + m, + v = arguments[2]; + if ( + (s(t) || n(t) + ? (r = 'array') + : a(t) + ? (r = 'string') + : (t = o(t)), + i(e), + (f = function () { + h = !0; + }), + 'array' !== r) + ) + if ('string' !== r) + for (u = t.next(); !u.done; ) { + if ((l.call(e, v, u.value, f), h)) return; + u = t.next(); + } + else + for ( + d = t.length, p = 0; + p < d && + ((g = t[p]), + p + 1 < d && + (m = g.charCodeAt(0)) >= 55296 && + m <= 56319 && + (g += t[++p]), + l.call(e, v, g, f), + !h); + ++p + ); + else + c.call(t, function (t) { + return l.call(e, v, t, f), h; + }); + }; + }, + { + './get': 219, + 'es5-ext/function/is-arguments': 184, + 'es5-ext/object/valid-callable': 209, + 'es5-ext/string/is-string': 215, + }, + ], + 219: [ + function (t, e, r) { + 'use strict'; + var n = t('es5-ext/function/is-arguments'), + i = t('es5-ext/string/is-string'), + a = t('./array'), + o = t('./string'), + s = t('./valid-iterable'), + l = t('es6-symbol').iterator; + e.exports = function (t) { + return 'function' == typeof s(t)[l] + ? t[l]() + : n(t) + ? new a(t) + : i(t) + ? new o(t) + : new a(t); + }; + }, + { + './array': 217, + './string': 222, + './valid-iterable': 223, + 'es5-ext/function/is-arguments': 184, + 'es5-ext/string/is-string': 215, + 'es6-symbol': 225, + }, + ], + 220: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('es5-ext/array/#/clear'), + a = t('es5-ext/object/assign'), + o = t('es5-ext/object/valid-callable'), + s = t('es5-ext/object/valid-value'), + l = t('d'), + c = t('d/auto-bind'), + u = t('es6-symbol'), + f = Object.defineProperty, + h = Object.defineProperties; + (e.exports = n = + function (t, e) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + h(this, { + __list__: l('w', s(t)), + __context__: l('w', e), + __nextIndex__: l('w', 0), + }), + e && + (o(e.on), + e.on('_add', this._onAdd), + e.on('_delete', this._onDelete), + e.on('_clear', this._onClear)); + }), + delete n.prototype.constructor, + h( + n.prototype, + a( + { + _next: l(function () { + var t; + if (this.__list__) + return this.__redo__ && + void 0 !== (t = this.__redo__.shift()) + ? t + : this.__nextIndex__ < this.__list__.length + ? this.__nextIndex__++ + : void this._unBind(); + }), + next: l(function () { + return this._createResult(this._next()); + }), + _createResult: l(function (t) { + return void 0 === t + ? { done: !0, value: void 0 } + : { done: !1, value: this._resolve(t) }; + }), + _resolve: l(function (t) { + return this.__list__[t]; + }), + _unBind: l(function () { + (this.__list__ = null), + delete this.__redo__, + this.__context__ && + (this.__context__.off('_add', this._onAdd), + this.__context__.off('_delete', this._onDelete), + this.__context__.off('_clear', this._onClear), + (this.__context__ = null)); + }), + toString: l(function () { + return '[object ' + (this[u.toStringTag] || 'Object') + ']'; + }), + }, + c({ + _onAdd: l(function (t) { + t >= this.__nextIndex__ || + (++this.__nextIndex__, + this.__redo__ + ? (this.__redo__.forEach(function (e, r) { + e >= t && (this.__redo__[r] = ++e); + }, this), + this.__redo__.push(t)) + : f(this, '__redo__', l('c', [t]))); + }), + _onDelete: l(function (t) { + var e; + t >= this.__nextIndex__ || + (--this.__nextIndex__, + this.__redo__ && + (-1 !== (e = this.__redo__.indexOf(t)) && + this.__redo__.splice(e, 1), + this.__redo__.forEach(function (e, r) { + e > t && (this.__redo__[r] = --e); + }, this))); + }), + _onClear: l(function () { + this.__redo__ && i.call(this.__redo__), + (this.__nextIndex__ = 0); + }), + }) + ) + ), + f( + n.prototype, + u.iterator, + l(function () { + return this; + }) + ); + }, + { + d: 155, + 'd/auto-bind': 154, + 'es5-ext/array/#/clear': 180, + 'es5-ext/object/assign': 193, + 'es5-ext/object/valid-callable': 209, + 'es5-ext/object/valid-value': 211, + 'es6-symbol': 225, + }, + ], + 221: [ + function (t, e, r) { + 'use strict'; + var n = t('es5-ext/function/is-arguments'), + i = t('es5-ext/object/is-value'), + a = t('es5-ext/string/is-string'), + o = t('es6-symbol').iterator, + s = Array.isArray; + e.exports = function (t) { + return ( + !!i(t) && + (!!s(t) || !!a(t) || !!n(t) || 'function' == typeof t[o]) + ); + }; + }, + { + 'es5-ext/function/is-arguments': 184, + 'es5-ext/object/is-value': 200, + 'es5-ext/string/is-string': 215, + 'es6-symbol': 225, + }, + ], + 222: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('es5-ext/object/set-prototype-of'), + a = t('d'), + o = t('es6-symbol'), + s = t('./'), + l = Object.defineProperty; + (n = e.exports = + function (t) { + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + (t = String(t)), + s.call(this, t), + l(this, '__length__', a('', t.length)); + }), + i && i(n, s), + delete n.prototype.constructor, + (n.prototype = Object.create(s.prototype, { + _next: a(function () { + if (this.__list__) + return this.__nextIndex__ < this.__length__ + ? this.__nextIndex__++ + : void this._unBind(); + }), + _resolve: a(function (t) { + var e, + r = this.__list__[t]; + return this.__nextIndex__ === this.__length__ + ? r + : (e = r.charCodeAt(0)) >= 55296 && e <= 56319 + ? r + this.__list__[this.__nextIndex__++] + : r; + }), + })), + l(n.prototype, o.toStringTag, a('c', 'String Iterator')); + }, + { + './': 220, + d: 155, + 'es5-ext/object/set-prototype-of': 206, + 'es6-symbol': 225, + }, + ], + 223: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-iterable'); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + ' is not iterable'); + return t; + }; + }, + { './is-iterable': 221 }, + ], + 224: [ + function (t, e, r) { + (function (n, i) { + (function () { + /*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.8+1e68dce6 + */ + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? (e.exports = n()) + : (t.ES6Promise = n()); + })(this, function () { + 'use strict'; + function e(t) { + return 'function' == typeof t; + } + var r = Array.isArray + ? Array.isArray + : function (t) { + return ( + '[object Array]' === Object.prototype.toString.call(t) + ); + }, + a = 0, + o = void 0, + s = void 0, + l = function (t, e) { + (g[a] = t), + (g[a + 1] = e), + 2 === (a += 2) && (s ? s(m) : _()); + }; + var c = 'undefined' != typeof window ? window : void 0, + u = c || {}, + f = u.MutationObserver || u.WebKitMutationObserver, + h = + 'undefined' == typeof self && + 'undefined' != typeof n && + '[object process]' === {}.toString.call(n), + p = + 'undefined' != typeof Uint8ClampedArray && + 'undefined' != typeof importScripts && + 'undefined' != typeof MessageChannel; + function d() { + var t = setTimeout; + return function () { + return t(m, 1); + }; + } + var g = new Array(1e3); + function m() { + for (var t = 0; t < a; t += 2) { + (0, g[t])(g[t + 1]), (g[t] = void 0), (g[t + 1] = void 0); + } + a = 0; + } + var v, + y, + x, + b, + _ = void 0; + function w(t, e) { + var r = this, + n = new this.constructor(M); + void 0 === n[k] && D(n); + var i = r._state; + if (i) { + var a = arguments[i - 1]; + l(function () { + return z(i, n, a, r._result); + }); + } else I(r, n, t, e); + return n; + } + function T(t) { + if (t && 'object' == typeof t && t.constructor === this) + return t; + var e = new this(M); + return S(e, t), e; + } + h + ? (_ = function () { + return n.nextTick(m); + }) + : f + ? ((y = 0), + (x = new f(m)), + (b = document.createTextNode('')), + x.observe(b, { characterData: !0 }), + (_ = function () { + b.data = y = ++y % 2; + })) + : p + ? (((v = new MessageChannel()).port1.onmessage = m), + (_ = function () { + return v.port2.postMessage(0); + })) + : (_ = + void 0 === c && 'function' == typeof t + ? (function () { + try { + var t = + Function('return this')().require('vertx'); + return 'undefined' != + typeof (o = t.runOnLoop || t.runOnContext) + ? function () { + o(m); + } + : d(); + } catch (t) { + return d(); + } + })() + : d()); + var k = Math.random().toString(36).substring(2); + function M() {} + function A(t, r, n) { + r.constructor === t.constructor && + n === w && + r.constructor.resolve === T + ? (function (t, e) { + 1 === e._state + ? C(t, e._result) + : 2 === e._state + ? L(t, e._result) + : I( + e, + void 0, + function (e) { + return S(t, e); + }, + function (e) { + return L(t, e); + } + ); + })(t, r) + : void 0 === n + ? C(t, r) + : e(n) + ? (function (t, e, r) { + l(function (t) { + var n = !1, + i = (function (t, e, r, n) { + try { + t.call(e, r, n); + } catch (t) { + return t; + } + })( + r, + e, + function (r) { + n || ((n = !0), e !== r ? S(t, r) : C(t, r)); + }, + function (e) { + n || ((n = !0), L(t, e)); + }, + t._label + ); + !n && i && ((n = !0), L(t, i)); + }, t); + })(t, r, n) + : C(t, r); + } + function S(t, e) { + if (t === e) + L( + t, + new TypeError('You cannot resolve a promise with itself') + ); + else if ( + ((i = typeof (n = e)), + null === n || ('object' !== i && 'function' !== i)) + ) + C(t, e); + else { + var r = void 0; + try { + r = e.then; + } catch (e) { + return void L(t, e); + } + A(t, e, r); + } + var n, i; + } + function E(t) { + t._onerror && t._onerror(t._result), P(t); + } + function C(t, e) { + void 0 === t._state && + ((t._result = e), + (t._state = 1), + 0 !== t._subscribers.length && l(P, t)); + } + function L(t, e) { + void 0 === t._state && + ((t._state = 2), (t._result = e), l(E, t)); + } + function I(t, e, r, n) { + var i = t._subscribers, + a = i.length; + (t._onerror = null), + (i[a] = e), + (i[a + 1] = r), + (i[a + 2] = n), + 0 === a && t._state && l(P, t); + } + function P(t) { + var e = t._subscribers, + r = t._state; + if (0 !== e.length) { + for ( + var n = void 0, i = void 0, a = t._result, o = 0; + o < e.length; + o += 3 + ) + (n = e[o]), (i = e[o + r]), n ? z(r, n, i, a) : i(a); + t._subscribers.length = 0; + } + } + function z(t, r, n, i) { + var a = e(n), + o = void 0, + s = void 0, + l = !0; + if (a) { + try { + o = n(i); + } catch (t) { + (l = !1), (s = t); + } + if (r === o) + return void L( + r, + new TypeError( + 'A promises callback cannot return that same promise.' + ) + ); + } else o = i; + void 0 !== r._state || + (a && l + ? S(r, o) + : !1 === l + ? L(r, s) + : 1 === t + ? C(r, o) + : 2 === t && L(r, o)); + } + var O = 0; + function D(t) { + (t[k] = O++), + (t._state = void 0), + (t._result = void 0), + (t._subscribers = []); + } + var R = (function () { + function t(t, e) { + (this._instanceConstructor = t), + (this.promise = new t(M)), + this.promise[k] || D(this.promise), + r(e) + ? ((this.length = e.length), + (this._remaining = e.length), + (this._result = new Array(this.length)), + 0 === this.length + ? C(this.promise, this._result) + : ((this.length = this.length || 0), + this._enumerate(e), + 0 === this._remaining && + C(this.promise, this._result))) + : L( + this.promise, + new Error('Array Methods must be provided an Array') + ); + } + return ( + (t.prototype._enumerate = function (t) { + for ( + var e = 0; + void 0 === this._state && e < t.length; + e++ + ) + this._eachEntry(t[e], e); + }), + (t.prototype._eachEntry = function (t, e) { + var r = this._instanceConstructor, + n = r.resolve; + if (n === T) { + var i = void 0, + a = void 0, + o = !1; + try { + i = t.then; + } catch (t) { + (o = !0), (a = t); + } + if (i === w && void 0 !== t._state) + this._settledAt(t._state, e, t._result); + else if ('function' != typeof i) + this._remaining--, (this._result[e] = t); + else if (r === F) { + var s = new r(M); + o ? L(s, a) : A(s, t, i), this._willSettleAt(s, e); + } else + this._willSettleAt( + new r(function (e) { + return e(t); + }), + e + ); + } else this._willSettleAt(n(t), e); + }), + (t.prototype._settledAt = function (t, e, r) { + var n = this.promise; + void 0 === n._state && + (this._remaining--, + 2 === t ? L(n, r) : (this._result[e] = r)), + 0 === this._remaining && C(n, this._result); + }), + (t.prototype._willSettleAt = function (t, e) { + var r = this; + I( + t, + void 0, + function (t) { + return r._settledAt(1, e, t); + }, + function (t) { + return r._settledAt(2, e, t); + } + ); + }), + t + ); + })(); + var F = (function () { + function t(e) { + (this[k] = O++), + (this._result = this._state = void 0), + (this._subscribers = []), + M !== e && + ('function' != typeof e && + (function () { + throw new TypeError( + 'You must pass a resolver function as the first argument to the promise constructor' + ); + })(), + this instanceof t + ? (function (t, e) { + try { + e( + function (e) { + S(t, e); + }, + function (e) { + L(t, e); + } + ); + } catch (e) { + L(t, e); + } + })(this, e) + : (function () { + throw new TypeError( + "Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function." + ); + })()); + } + return ( + (t.prototype.catch = function (t) { + return this.then(null, t); + }), + (t.prototype.finally = function (t) { + var r = this.constructor; + return e(t) + ? this.then( + function (e) { + return r.resolve(t()).then(function () { + return e; + }); + }, + function (e) { + return r.resolve(t()).then(function () { + throw e; + }); + } + ) + : this.then(t, t); + }), + t + ); + })(); + return ( + (F.prototype.then = w), + (F.all = function (t) { + return new R(this, t).promise; + }), + (F.race = function (t) { + var e = this; + return r(t) + ? new e(function (r, n) { + for (var i = t.length, a = 0; a < i; a++) + e.resolve(t[a]).then(r, n); + }) + : new e(function (t, e) { + return e( + new TypeError('You must pass an array to race.') + ); + }); + }), + (F.resolve = T), + (F.reject = function (t) { + var e = new this(M); + return L(e, t), e; + }), + (F._setScheduler = function (t) { + s = t; + }), + (F._setAsap = function (t) { + l = t; + }), + (F._asap = l), + (F.polyfill = function () { + var t = void 0; + if ('undefined' != typeof i) t = i; + else if ('undefined' != typeof self) t = self; + else + try { + t = Function('return this')(); + } catch (t) { + throw new Error( + 'polyfill failed because global object is unavailable in this environment' + ); + } + var e = t.Promise; + if (e) { + var r = null; + try { + r = Object.prototype.toString.call(e.resolve()); + } catch (t) {} + if ('[object Promise]' === r && !e.cast) return; + } + t.Promise = F; + }), + (F.Promise = F), + F + ); + }); + }.call(this)); + }.call( + this, + t('_process'), + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { _process: 526 }, + ], + 225: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() + ? t('ext/global-this').Symbol + : t('./polyfill'); + }, + { './is-implemented': 226, './polyfill': 231, 'ext/global-this': 238 }, + ], + 226: [ + function (t, e, r) { + 'use strict'; + var n = t('ext/global-this'), + i = { object: !0, symbol: !0 }; + e.exports = function () { + var t, + e = n.Symbol; + if ('function' != typeof e) return !1; + t = e('test symbol'); + try { + String(t); + } catch (t) { + return !1; + } + return ( + !!i[typeof e.iterator] && + !!i[typeof e.toPrimitive] && + !!i[typeof e.toStringTag] + ); + }; + }, + { 'ext/global-this': 238 }, + ], + 227: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return ( + !!t && + ('symbol' == typeof t || + (!!t.constructor && + 'Symbol' === t.constructor.name && + 'Symbol' === t[t.constructor.toStringTag])) + ); + }; + }, + {}, + ], + 228: [ + function (t, e, r) { + 'use strict'; + var n = t('d'), + i = Object.create, + a = Object.defineProperty, + o = Object.prototype, + s = i(null); + e.exports = function (t) { + for (var e, r, i = 0; s[t + (i || '')]; ) ++i; + return ( + (s[(t += i || '')] = !0), + a( + o, + (e = '@@' + t), + n.gs(null, function (t) { + r || ((r = !0), a(this, e, n(t)), (r = !1)); + }) + ), + e + ); + }; + }, + { d: 155 }, + ], + 229: [ + function (t, e, r) { + 'use strict'; + var n = t('d'), + i = t('ext/global-this').Symbol; + e.exports = function (t) { + return Object.defineProperties(t, { + hasInstance: n('', (i && i.hasInstance) || t('hasInstance')), + isConcatSpreadable: n( + '', + (i && i.isConcatSpreadable) || t('isConcatSpreadable') + ), + iterator: n('', (i && i.iterator) || t('iterator')), + match: n('', (i && i.match) || t('match')), + replace: n('', (i && i.replace) || t('replace')), + search: n('', (i && i.search) || t('search')), + species: n('', (i && i.species) || t('species')), + split: n('', (i && i.split) || t('split')), + toPrimitive: n('', (i && i.toPrimitive) || t('toPrimitive')), + toStringTag: n('', (i && i.toStringTag) || t('toStringTag')), + unscopables: n('', (i && i.unscopables) || t('unscopables')), + }); + }; + }, + { d: 155, 'ext/global-this': 238 }, + ], + 230: [ + function (t, e, r) { + 'use strict'; + var n = t('d'), + i = t('../../../validate-symbol'), + a = Object.create(null); + e.exports = function (t) { + return Object.defineProperties(t, { + for: n(function (e) { + return a[e] ? a[e] : (a[e] = t(String(e))); + }), + keyFor: n(function (t) { + var e; + for (e in (i(t), a)) if (a[e] === t) return e; + }), + }); + }; + }, + { '../../../validate-symbol': 232, d: 155 }, + ], + 231: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a, + o = t('d'), + s = t('./validate-symbol'), + l = t('ext/global-this').Symbol, + c = t('./lib/private/generate-name'), + u = t('./lib/private/setup/standard-symbols'), + f = t('./lib/private/setup/symbol-registry'), + h = Object.create, + p = Object.defineProperties, + d = Object.defineProperty; + if ('function' == typeof l) + try { + String(l()), (a = !0); + } catch (t) {} + else l = null; + (i = function (t) { + if (this instanceof i) + throw new TypeError('Symbol is not a constructor'); + return n(t); + }), + (e.exports = n = + function t(e) { + var r; + if (this instanceof t) + throw new TypeError('Symbol is not a constructor'); + return a + ? l(e) + : ((r = h(i.prototype)), + (e = void 0 === e ? '' : String(e)), + p(r, { __description__: o('', e), __name__: o('', c(e)) })); + }), + u(n), + f(n), + p(i.prototype, { + constructor: o(n), + toString: o('', function () { + return this.__name__; + }), + }), + p(n.prototype, { + toString: o(function () { + return 'Symbol (' + s(this).__description__ + ')'; + }), + valueOf: o(function () { + return s(this); + }), + }), + d( + n.prototype, + n.toPrimitive, + o('', function () { + var t = s(this); + return 'symbol' == typeof t ? t : t.toString(); + }) + ), + d(n.prototype, n.toStringTag, o('c', 'Symbol')), + d(i.prototype, n.toStringTag, o('c', n.prototype[n.toStringTag])), + d(i.prototype, n.toPrimitive, o('c', n.prototype[n.toPrimitive])); + }, + { + './lib/private/generate-name': 228, + './lib/private/setup/standard-symbols': 229, + './lib/private/setup/symbol-registry': 230, + './validate-symbol': 232, + d: 155, + 'ext/global-this': 238, + }, + ], + 232: [ + function (t, e, r) { + 'use strict'; + var n = t('./is-symbol'); + e.exports = function (t) { + if (!n(t)) throw new TypeError(t + ' is not a symbol'); + return t; + }; + }, + { './is-symbol': 227 }, + ], + 233: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() ? WeakMap : t('./polyfill'); + }, + { './is-implemented': 234, './polyfill': 236 }, + ], + 234: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + var t, e; + if ('function' != typeof WeakMap) return !1; + try { + t = new WeakMap([ + [(e = {}), 'one'], + [{}, 'two'], + [{}, 'three'], + ]); + } catch (t) { + return !1; + } + return ( + '[object WeakMap]' === String(t) && + 'function' == typeof t.set && + t.set({}, 1) === t && + 'function' == typeof t.delete && + 'function' == typeof t.has && + 'one' === t.get(e) + ); + }; + }, + {}, + ], + 235: [ + function (t, e, r) { + 'use strict'; + e.exports = + 'function' == typeof WeakMap && + '[object WeakMap]' === + Object.prototype.toString.call(new WeakMap()); + }, + {}, + ], + 236: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('es5-ext/object/is-value'), + a = t('es5-ext/object/set-prototype-of'), + o = t('es5-ext/object/valid-object'), + s = t('es5-ext/object/valid-value'), + l = t('es5-ext/string/random-uniq'), + c = t('d'), + u = t('es6-iterator/get'), + f = t('es6-iterator/for-of'), + h = t('es6-symbol').toStringTag, + p = t('./is-native-implemented'), + d = Array.isArray, + g = Object.defineProperty, + m = Object.prototype.hasOwnProperty, + v = Object.getPrototypeOf; + (e.exports = n = + function () { + var t, + e = arguments[0]; + if (!(this instanceof n)) + throw new TypeError("Constructor requires 'new'"); + return ( + (t = + p && a && WeakMap !== n ? a(new WeakMap(), v(this)) : this), + i(e) && (d(e) || (e = u(e))), + g(t, '__weakMapData__', c('c', '$weakMap$' + l())), + e + ? (f(e, function (e) { + s(e), t.set(e[0], e[1]); + }), + t) + : t + ); + }), + p && + (a && a(n, WeakMap), + (n.prototype = Object.create(WeakMap.prototype, { + constructor: c(n), + }))), + Object.defineProperties(n.prototype, { + delete: c(function (t) { + return ( + !!m.call(o(t), this.__weakMapData__) && + (delete t[this.__weakMapData__], !0) + ); + }), + get: c(function (t) { + if (m.call(o(t), this.__weakMapData__)) + return t[this.__weakMapData__]; + }), + has: c(function (t) { + return m.call(o(t), this.__weakMapData__); + }), + set: c(function (t, e) { + return g(o(t), this.__weakMapData__, c('c', e)), this; + }), + toString: c(function () { + return '[object WeakMap]'; + }), + }), + g(n.prototype, h, c('c', 'WeakMap')); + }, + { + './is-native-implemented': 235, + d: 155, + 'es5-ext/object/is-value': 200, + 'es5-ext/object/set-prototype-of': 206, + 'es5-ext/object/valid-object': 210, + 'es5-ext/object/valid-value': 211, + 'es5-ext/string/random-uniq': 216, + 'es6-iterator/for-of': 218, + 'es6-iterator/get': 219, + 'es6-symbol': 225, + }, + ], + 237: [ + function (t, e, r) { + var n = function () { + if ('object' == typeof self && self) return self; + if ('object' == typeof window && window) return window; + throw new Error('Unable to resolve global `this`'); + }; + e.exports = (function () { + if (this) return this; + try { + Object.defineProperty(Object.prototype, '__global__', { + get: function () { + return this; + }, + configurable: !0, + }); + } catch (t) { + return n(); + } + try { + return __global__ || n(); + } finally { + delete Object.prototype.__global__; + } + })(); + }, + {}, + ], + 238: [ + function (t, e, r) { + 'use strict'; + e.exports = t('./is-implemented')() + ? globalThis + : t('./implementation'); + }, + { './implementation': 237, './is-implemented': 239 }, + ], + 239: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + return ( + 'object' == typeof globalThis && + !!globalThis && + globalThis.Array === Array + ); + }; + }, + {}, + ], + 240: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var n = e || 0, + i = r || 1; + return [ + [t[12] + t[0], t[13] + t[1], t[14] + t[2], t[15] + t[3]], + [t[12] - t[0], t[13] - t[1], t[14] - t[2], t[15] - t[3]], + [t[12] + t[4], t[13] + t[5], t[14] + t[6], t[15] + t[7]], + [t[12] - t[4], t[13] - t[5], t[14] - t[6], t[15] - t[7]], + [ + n * t[12] + t[8], + n * t[13] + t[9], + n * t[14] + t[10], + n * t[15] + t[11], + ], + [ + i * t[12] - t[8], + i * t[13] - t[9], + i * t[14] - t[10], + i * t[15] - t[11], + ], + ]; + }; + }, + {}, + ], + 241: [ + function (t, e, r) { + 'use strict'; + var n = t('is-string-blank'); + e.exports = function (t) { + var e = typeof t; + if ('string' === e) { + var r = t; + if (0 === (t = +t) && n(r)) return !1; + } else if ('number' !== e) return !1; + return t - t < 1; + }; + }, + { 'is-string-blank': 470 }, + ], + 242: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + switch (arguments.length) { + case 0: + return new o([0], [0], 0); + case 1: + return 'number' == typeof t + ? new o((n = l(t)), n, 0) + : new o(t, l(t.length), 0); + case 2: + if ('number' == typeof e) { + var n = l(t.length); + return new o(t, n, +e); + } + r = 0; + case 3: + if (t.length !== e.length) + throw new Error('state and velocity lengths must match'); + return new o(t, e, r); + } + }; + var n = t('cubic-hermite'), + i = t('binary-search-bounds'); + function a(t, e, r) { + return Math.min(e, Math.max(t, r)); + } + function o(t, e, r) { + (this.dimension = t.length), + (this.bounds = [ + new Array(this.dimension), + new Array(this.dimension), + ]); + for (var n = 0; n < this.dimension; ++n) + (this.bounds[0][n] = -1 / 0), (this.bounds[1][n] = 1 / 0); + (this._state = t.slice().reverse()), + (this._velocity = e.slice().reverse()), + (this._time = [r]), + (this._scratch = [ + t.slice(), + t.slice(), + t.slice(), + t.slice(), + t.slice(), + ]); + } + var s = o.prototype; + function l(t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = 0; + return e; + } + (s.flush = function (t) { + var e = i.gt(this._time, t) - 1; + e <= 0 || + (this._time.splice(0, e), + this._state.splice(0, e * this.dimension), + this._velocity.splice(0, e * this.dimension)); + }), + (s.curve = function (t) { + var e = this._time, + r = e.length, + o = i.le(e, t), + s = this._scratch[0], + l = this._state, + c = this._velocity, + u = this.dimension, + f = this.bounds; + if (o < 0) + for (var h = u - 1, p = 0; p < u; ++p, --h) s[p] = l[h]; + else if (o >= r - 1) { + h = l.length - 1; + var d = t - e[r - 1]; + for (p = 0; p < u; ++p, --h) s[p] = l[h] + d * c[h]; + } else { + h = u * (o + 1) - 1; + var g = e[o], + m = e[o + 1] - g || 1, + v = this._scratch[1], + y = this._scratch[2], + x = this._scratch[3], + b = this._scratch[4], + _ = !0; + for (p = 0; p < u; ++p, --h) + (v[p] = l[h]), + (x[p] = c[h] * m), + (y[p] = l[h + u]), + (b[p] = c[h + u] * m), + (_ = _ && v[p] === y[p] && x[p] === b[p] && 0 === x[p]); + if (_) for (p = 0; p < u; ++p) s[p] = v[p]; + else n(v, x, y, b, (t - g) / m, s); + } + var w = f[0], + T = f[1]; + for (p = 0; p < u; ++p) s[p] = a(w[p], T[p], s[p]); + return s; + }), + (s.dcurve = function (t) { + var e = this._time, + r = e.length, + a = i.le(e, t), + o = this._scratch[0], + s = this._state, + l = this._velocity, + c = this.dimension; + if (a >= r - 1) + for (var u = s.length - 1, f = (e[r - 1], 0); f < c; ++f, --u) + o[f] = l[u]; + else { + u = c * (a + 1) - 1; + var h = e[a], + p = e[a + 1] - h || 1, + d = this._scratch[1], + g = this._scratch[2], + m = this._scratch[3], + v = this._scratch[4], + y = !0; + for (f = 0; f < c; ++f, --u) + (d[f] = s[u]), + (m[f] = l[u] * p), + (g[f] = s[u + c]), + (v[f] = l[u + c] * p), + (y = y && d[f] === g[f] && m[f] === v[f] && 0 === m[f]); + if (y) for (f = 0; f < c; ++f) o[f] = 0; + else { + n.derivative(d, m, g, v, (t - h) / p, o); + for (f = 0; f < c; ++f) o[f] /= p; + } + } + return o; + }), + (s.lastT = function () { + var t = this._time; + return t[t.length - 1]; + }), + (s.stable = function () { + for ( + var t = this._velocity, e = t.length, r = this.dimension - 1; + r >= 0; + --r + ) + if (t[--e]) return !1; + return !0; + }), + (s.jump = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + c = s[1]; + this._time.push(e, t); + for (var u = 0; u < 2; ++u) + for (var f = 0; f < r; ++f) n.push(n[o++]), i.push(0); + this._time.push(t); + for (f = r; f > 0; --f) + n.push(a(l[f - 1], c[f - 1], arguments[f])), i.push(0); + } + }), + (s.push = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t < e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = t - e, + l = this.bounds, + c = l[0], + u = l[1], + f = s > 1e-6 ? 1 / s : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = a(c[h - 1], u[h - 1], arguments[h]); + n.push(p), i.push((p - n[o++]) * f); + } + } + }), + (s.set = function (t) { + var e = this.dimension; + if (!(t < this.lastT() || arguments.length !== e + 1)) { + var r = this._state, + n = this._velocity, + i = this.bounds, + o = i[0], + s = i[1]; + this._time.push(t); + for (var l = e; l > 0; --l) + r.push(a(o[l - 1], s[l - 1], arguments[l])), n.push(0); + } + }), + (s.move = function (t) { + var e = this.lastT(), + r = this.dimension; + if (!(t <= e || arguments.length !== r + 1)) { + var n = this._state, + i = this._velocity, + o = n.length - this.dimension, + s = this.bounds, + l = s[0], + c = s[1], + u = t - e, + f = u > 1e-6 ? 1 / u : 0; + this._time.push(t); + for (var h = r; h > 0; --h) { + var p = arguments[h]; + n.push(a(l[h - 1], c[h - 1], n[o++] + p)), i.push(p * f); + } + } + }), + (s.idle = function (t) { + var e = this.lastT(); + if (!(t < e)) { + var r = this.dimension, + n = this._state, + i = this._velocity, + o = n.length - r, + s = this.bounds, + l = s[0], + c = s[1], + u = t - e; + this._time.push(t); + for (var f = r - 1; f >= 0; --f) + n.push(a(l[f], c[f], n[o] + u * i[o])), i.push(0), (o += 1); + } + }); + }, + { 'binary-search-bounds': 243, 'cubic-hermite': 150 }, + ], + 243: [ + function (t, e, r) { + 'use strict'; + function n(t, e, r, n, i, a) { + var o = [ + 'function ', + t, + '(a,l,h,', + n.join(','), + '){', + a ? '' : 'var i=', + r ? 'l-1' : 'h+1', + ';while(l<=h){var m=(l+h)>>>1,x=a', + i ? '.get(m)' : '[m]', + ]; + return ( + a + ? e.indexOf('c') < 0 + ? o.push(';if(x===y){return m}else if(x<=y){') + : o.push(';var p=c(x,y);if(p===0){return m}else if(p<=0){') + : o.push(';if(', e, '){i=m;'), + r ? o.push('l=m+1}else{h=m-1}') : o.push('h=m-1}else{l=m+1}'), + o.push('}'), + a ? o.push('return -1};') : o.push('return i};'), + o.join('') + ); + } + function i(t, e, r, i) { + return new Function( + [ + n('A', 'x' + t + 'y', e, ['y'], !1, i), + n('B', 'x' + t + 'y', e, ['y'], !0, i), + n('P', 'c(x,y)' + t + '0', e, ['y', 'c'], !1, i), + n('Q', 'c(x,y)' + t + '0', e, ['y', 'c'], !0, i), + 'function dispatchBsearch', + r, + "(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch", + r, + ].join('') + )(); + } + e.exports = { + ge: i('>=', !1, 'GE'), + gt: i('>', !1, 'GT'), + lt: i('<', !0, 'LT'), + le: i('<=', !0, 'LE'), + eq: i('-', !0, 'EQ', !0), + }; + }, + {}, + ], + 244: [ + function (t, e, r) { + var n = t('dtype'); + e.exports = function (t, e, r) { + if (!t) throw new TypeError('must specify data as first parameter'); + if ( + ((r = 0 | +(r || 0)), + Array.isArray(t) && t[0] && 'number' == typeof t[0][0]) + ) { + var i, + a, + o, + s, + l = t[0].length, + c = t.length * l; + (e && 'string' != typeof e) || + (e = new (n(e || 'float32'))(c + r)); + var u = e.length - r; + if (c !== u) + throw new Error( + 'source length ' + + c + + ' (' + + l + + 'x' + + t.length + + ') does not match destination length ' + + u + ); + for (i = 0, o = r; i < t.length; i++) + for (a = 0; a < l; a++) + e[o++] = null === t[i][a] ? NaN : t[i][a]; + } else if (e && 'string' != typeof e) e.set(t, r); + else { + var f = n(e || 'float32'); + if (Array.isArray(t) || 'array' === e) + for ( + e = new f(t.length + r), i = 0, o = r, s = e.length; + o < s; + o++, i++ + ) + e[o] = null === t[i] ? NaN : t[i]; + else + 0 === r ? (e = new f(t)) : (e = new f(t.length + r)).set(t, r); + } + return e; + }; + }, + { dtype: 175 }, + ], + 245: [ + function (t, e, r) { + 'use strict'; + var n = t('css-font/stringify'), + i = [32, 126]; + e.exports = function (t) { + var e = (t = t || {}).shape + ? t.shape + : t.canvas + ? [t.canvas.width, t.canvas.height] + : [512, 512], + r = t.canvas || document.createElement('canvas'), + a = t.font, + o = + 'number' == typeof t.step + ? [t.step, t.step] + : t.step || [32, 32], + s = t.chars || i; + a && 'string' != typeof a && (a = n(a)); + if (Array.isArray(s)) { + if ( + 2 === s.length && + 'number' == typeof s[0] && + 'number' == typeof s[1] + ) { + for (var l = [], c = s[0], u = 0; c <= s[1]; c++) + l[u++] = String.fromCharCode(c); + s = l; + } + } else s = String(s).split(''); + (e = e.slice()), (r.width = e[0]), (r.height = e[1]); + var f = r.getContext('2d'); + (f.fillStyle = '#000'), + f.fillRect(0, 0, r.width, r.height), + (f.font = a), + (f.textAlign = 'center'), + (f.textBaseline = 'middle'), + (f.fillStyle = '#fff'); + var h = o[0] / 2, + p = o[1] / 2; + for (c = 0; c < s.length; c++) + f.fillText(s[c], h, p), + (h += o[0]) > e[0] - o[0] / 2 && ((h = o[0] / 2), (p += o[1])); + return r; + }; + }, + { 'css-font/stringify': 147 }, + ], + 246: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + e || (e = {}), + ('string' == typeof t || Array.isArray(t)) && (e.family = t); + var r = Array.isArray(e.family) ? e.family.join(', ') : e.family; + if (!r) throw Error('`family` must be defined'); + var s = e.size || e.fontSize || e.em || 48, + l = e.weight || e.fontWeight || '', + c = + ((t = + [e.style || e.fontStyle || '', l, s].join(' ') + 'px ' + r), + e.origin || 'top'); + if (n.cache[r] && s <= n.cache[r].em) return i(n.cache[r], c); + var u = e.canvas || n.canvas, + f = u.getContext('2d'), + h = { + upper: void 0 !== e.upper ? e.upper : 'H', + lower: void 0 !== e.lower ? e.lower : 'x', + descent: void 0 !== e.descent ? e.descent : 'p', + ascent: void 0 !== e.ascent ? e.ascent : 'h', + tittle: void 0 !== e.tittle ? e.tittle : 'i', + overshoot: void 0 !== e.overshoot ? e.overshoot : 'O', + }, + p = Math.ceil(1.5 * s); + (u.height = p), (u.width = 0.5 * p), (f.font = t); + var d = { top: 0 }; + f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + (f.fillStyle = 'black'), + f.fillText('H', 0, 0); + var g = a(f.getImageData(0, 0, p, p)); + f.clearRect(0, 0, p, p), + (f.textBaseline = 'bottom'), + f.fillText('H', 0, p); + var m = a(f.getImageData(0, 0, p, p)); + (d.lineHeight = d.bottom = p - m + g), + f.clearRect(0, 0, p, p), + (f.textBaseline = 'alphabetic'), + f.fillText('H', 0, p); + var v = p - a(f.getImageData(0, 0, p, p)) - 1 + g; + (d.baseline = d.alphabetic = v), + f.clearRect(0, 0, p, p), + (f.textBaseline = 'middle'), + f.fillText('H', 0, 0.5 * p); + var y = a(f.getImageData(0, 0, p, p)); + (d.median = d.middle = p - y - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = 'hanging'), + f.fillText('H', 0, 0.5 * p); + var x = a(f.getImageData(0, 0, p, p)); + (d.hanging = p - x - 1 + g - 0.5 * p), + f.clearRect(0, 0, p, p), + (f.textBaseline = 'ideographic'), + f.fillText('H', 0, p); + var b = a(f.getImageData(0, 0, p, p)); + if ( + ((d.ideographic = p - b - 1 + g), + h.upper && + (f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.upper, 0, 0), + (d.upper = a(f.getImageData(0, 0, p, p))), + (d.capHeight = d.baseline - d.upper)), + h.lower && + (f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.lower, 0, 0), + (d.lower = a(f.getImageData(0, 0, p, p))), + (d.xHeight = d.baseline - d.lower)), + h.tittle && + (f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.tittle, 0, 0), + (d.tittle = a(f.getImageData(0, 0, p, p)))), + h.ascent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.ascent, 0, 0), + (d.ascent = a(f.getImageData(0, 0, p, p)))), + h.descent && + (f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.descent, 0, 0), + (d.descent = o(f.getImageData(0, 0, p, p)))), + h.overshoot) + ) { + f.clearRect(0, 0, p, p), + (f.textBaseline = 'top'), + f.fillText(h.overshoot, 0, 0); + var _ = o(f.getImageData(0, 0, p, p)); + d.overshoot = _ - v; + } + for (var w in d) d[w] /= s; + return (d.em = s), (n.cache[r] = d), i(d, c); + } + function i(t, e) { + var r = {}; + for (var n in ('string' == typeof e && (e = t[e]), t)) + 'em' !== n && (r[n] = t[n] - e); + return r; + } + function a(t) { + for (var e = t.height, r = t.data, n = 3; n < r.length; n += 4) + if (0 !== r[n]) return Math.floor((0.25 * (n - 3)) / e); + } + function o(t) { + for (var e = t.height, r = t.data, n = r.length - 1; n > 0; n -= 4) + if (0 !== r[n]) return Math.floor((0.25 * (n - 3)) / e); + } + (e.exports = n), + (n.canvas = document.createElement('canvas')), + (n.cache = {}); + }, + {}, + ], + 247: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return new s(t || g, null); + }; + function n(t, e, r, n, i, a) { + (this._color = t), + (this.key = e), + (this.value = r), + (this.left = n), + (this.right = i), + (this._count = a); + } + function i(t) { + return new n(t._color, t.key, t.value, t.left, t.right, t._count); + } + function a(t, e) { + return new n(t, e.key, e.value, e.left, e.right, e._count); + } + function o(t) { + t._count = + 1 + (t.left ? t.left._count : 0) + (t.right ? t.right._count : 0); + } + function s(t, e) { + (this._compare = t), (this.root = e); + } + var l = s.prototype; + function c(t, e) { + var r; + if (e.left && (r = c(t, e.left))) return r; + return ( + (r = t(e.key, e.value)) || (e.right ? c(t, e.right) : void 0) + ); + } + function u(t, e, r, n) { + if (e(t, n.key) <= 0) { + var i; + if (n.left) if ((i = u(t, e, r, n.left))) return i; + if ((i = r(n.key, n.value))) return i; + } + if (n.right) return u(t, e, r, n.right); + } + function f(t, e, r, n, i) { + var a, + o = r(t, i.key), + s = r(e, i.key); + if (o <= 0) { + if (i.left && (a = f(t, e, r, n, i.left))) return a; + if (s > 0 && (a = n(i.key, i.value))) return a; + } + if (s > 0 && i.right) return f(t, e, r, n, i.right); + } + function h(t, e) { + (this.tree = t), (this._stack = e); + } + Object.defineProperty(l, 'keys', { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(e); + }), + t + ); + }, + }), + Object.defineProperty(l, 'values', { + get: function () { + var t = []; + return ( + this.forEach(function (e, r) { + t.push(r); + }), + t + ); + }, + }), + Object.defineProperty(l, 'length', { + get: function () { + return this.root ? this.root._count : 0; + }, + }), + (l.insert = function (t, e) { + for (var r = this._compare, i = this.root, l = [], c = []; i; ) { + var u = r(t, i.key); + l.push(i), c.push(u), (i = u <= 0 ? i.left : i.right); + } + l.push(new n(0, t, e, null, null, 1)); + for (var f = l.length - 2; f >= 0; --f) { + i = l[f]; + c[f] <= 0 + ? (l[f] = new n( + i._color, + i.key, + i.value, + l[f + 1], + i.right, + i._count + 1 + )) + : (l[f] = new n( + i._color, + i.key, + i.value, + i.left, + l[f + 1], + i._count + 1 + )); + } + for (f = l.length - 1; f > 1; --f) { + var h = l[f - 1]; + i = l[f]; + if (1 === h._color || 1 === i._color) break; + var p = l[f - 2]; + if (p.left === h) + if (h.left === i) { + if (!(d = p.right) || 0 !== d._color) { + if ( + ((p._color = 0), + (p.left = h.right), + (h._color = 1), + (h.right = p), + (l[f - 2] = h), + (l[f - 1] = i), + o(p), + o(h), + f >= 3) + ) + (g = l[f - 3]).left === p + ? (g.left = h) + : (g.right = h); + break; + } + (h._color = 1), + (p.right = a(1, d)), + (p._color = 0), + (f -= 1); + } else { + if (!(d = p.right) || 0 !== d._color) { + if ( + ((h.right = i.left), + (p._color = 0), + (p.left = i.right), + (i._color = 1), + (i.left = h), + (i.right = p), + (l[f - 2] = i), + (l[f - 1] = h), + o(p), + o(h), + o(i), + f >= 3) + ) + (g = l[f - 3]).left === p + ? (g.left = i) + : (g.right = i); + break; + } + (h._color = 1), + (p.right = a(1, d)), + (p._color = 0), + (f -= 1); + } + else if (h.right === i) { + if (!(d = p.left) || 0 !== d._color) { + if ( + ((p._color = 0), + (p.right = h.left), + (h._color = 1), + (h.left = p), + (l[f - 2] = h), + (l[f - 1] = i), + o(p), + o(h), + f >= 3) + ) + (g = l[f - 3]).right === p ? (g.right = h) : (g.left = h); + break; + } + (h._color = 1), (p.left = a(1, d)), (p._color = 0), (f -= 1); + } else { + var d; + if (!(d = p.left) || 0 !== d._color) { + var g; + if ( + ((h.left = i.right), + (p._color = 0), + (p.right = i.left), + (i._color = 1), + (i.right = h), + (i.left = p), + (l[f - 2] = i), + (l[f - 1] = h), + o(p), + o(h), + o(i), + f >= 3) + ) + (g = l[f - 3]).right === p ? (g.right = i) : (g.left = i); + break; + } + (h._color = 1), (p.left = a(1, d)), (p._color = 0), (f -= 1); + } + } + return (l[0]._color = 1), new s(r, l[0]); + }), + (l.forEach = function (t, e, r) { + if (this.root) + switch (arguments.length) { + case 1: + return c(t, this.root); + case 2: + return u(e, this._compare, t, this.root); + case 3: + if (this._compare(e, r) >= 0) return; + return f(e, r, this._compare, t, this.root); + } + }), + Object.defineProperty(l, 'begin', { + get: function () { + for (var t = [], e = this.root; e; ) t.push(e), (e = e.left); + return new h(this, t); + }, + }), + Object.defineProperty(l, 'end', { + get: function () { + for (var t = [], e = this.root; e; ) t.push(e), (e = e.right); + return new h(this, t); + }, + }), + (l.at = function (t) { + if (t < 0) return new h(this, []); + for (var e = this.root, r = []; ; ) { + if ((r.push(e), e.left)) { + if (t < e.left._count) { + e = e.left; + continue; + } + t -= e.left._count; + } + if (!t) return new h(this, r); + if (((t -= 1), !e.right)) break; + if (t >= e.right._count) break; + e = e.right; + } + return new h(this, []); + }), + (l.ge = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + n.push(r), + a <= 0 && (i = n.length), + (r = a <= 0 ? r.left : r.right); + } + return (n.length = i), new h(this, n); + }), + (l.gt = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + n.push(r), + a < 0 && (i = n.length), + (r = a < 0 ? r.left : r.right); + } + return (n.length = i), new h(this, n); + }), + (l.lt = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + n.push(r), + a > 0 && (i = n.length), + (r = a <= 0 ? r.left : r.right); + } + return (n.length = i), new h(this, n); + }), + (l.le = function (t) { + for (var e = this._compare, r = this.root, n = [], i = 0; r; ) { + var a = e(t, r.key); + n.push(r), + a >= 0 && (i = n.length), + (r = a < 0 ? r.left : r.right); + } + return (n.length = i), new h(this, n); + }), + (l.find = function (t) { + for (var e = this._compare, r = this.root, n = []; r; ) { + var i = e(t, r.key); + if ((n.push(r), 0 === i)) return new h(this, n); + r = i <= 0 ? r.left : r.right; + } + return new h(this, []); + }), + (l.remove = function (t) { + var e = this.find(t); + return e ? e.remove() : this; + }), + (l.get = function (t) { + for (var e = this._compare, r = this.root; r; ) { + var n = e(t, r.key); + if (0 === n) return r.value; + r = n <= 0 ? r.left : r.right; + } + }); + var p = h.prototype; + function d(t, e) { + (t.key = e.key), + (t.value = e.value), + (t.left = e.left), + (t.right = e.right), + (t._color = e._color), + (t._count = e._count); + } + function g(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + Object.defineProperty(p, 'valid', { + get: function () { + return this._stack.length > 0; + }, + }), + Object.defineProperty(p, 'node', { + get: function () { + return this._stack.length > 0 + ? this._stack[this._stack.length - 1] + : null; + }, + enumerable: !0, + }), + (p.clone = function () { + return new h(this.tree, this._stack.slice()); + }), + (p.remove = function () { + var t = this._stack; + if (0 === t.length) return this.tree; + var e = new Array(t.length), + r = t[t.length - 1]; + e[e.length - 1] = new n( + r._color, + r.key, + r.value, + r.left, + r.right, + r._count + ); + for (var l = t.length - 2; l >= 0; --l) { + (r = t[l]).left === t[l + 1] + ? (e[l] = new n( + r._color, + r.key, + r.value, + e[l + 1], + r.right, + r._count + )) + : (e[l] = new n( + r._color, + r.key, + r.value, + r.left, + e[l + 1], + r._count + )); + } + if ((r = e[e.length - 1]).left && r.right) { + var c = e.length; + for (r = r.left; r.right; ) e.push(r), (r = r.right); + var u = e[c - 1]; + e.push( + new n(r._color, u.key, u.value, r.left, r.right, r._count) + ), + (e[c - 1].key = r.key), + (e[c - 1].value = r.value); + for (l = e.length - 2; l >= c; --l) + (r = e[l]), + (e[l] = new n( + r._color, + r.key, + r.value, + r.left, + e[l + 1], + r._count + )); + e[c - 1].left = e[c]; + } + if (0 === (r = e[e.length - 1])._color) { + var f = e[e.length - 2]; + f.left === r + ? (f.left = null) + : f.right === r && (f.right = null), + e.pop(); + for (l = 0; l < e.length; ++l) e[l]._count--; + return new s(this.tree._compare, e[0]); + } + if (r.left || r.right) { + r.left ? d(r, r.left) : r.right && d(r, r.right), + (r._color = 1); + for (l = 0; l < e.length - 1; ++l) e[l]._count--; + return new s(this.tree._compare, e[0]); + } + if (1 === e.length) return new s(this.tree._compare, null); + for (l = 0; l < e.length; ++l) e[l]._count--; + var h = e[e.length - 2]; + return ( + (function (t) { + for (var e, r, n, s, l = t.length - 1; l >= 0; --l) { + if (((e = t[l]), 0 === l)) return void (e._color = 1); + if ((r = t[l - 1]).left === e) { + if ((n = r.right).right && 0 === n.right._color) { + if ( + ((s = (n = r.right = i(n)).right = i(n.right)), + (r.right = n.left), + (n.left = r), + (n.right = s), + (n._color = r._color), + (e._color = 1), + (r._color = 1), + (s._color = 1), + o(r), + o(n), + l > 1) + ) + (c = t[l - 2]).left === r + ? (c.left = n) + : (c.right = n); + return void (t[l - 1] = n); + } + if (n.left && 0 === n.left._color) { + if ( + ((s = (n = r.right = i(n)).left = i(n.left)), + (r.right = s.left), + (n.left = s.right), + (s.left = r), + (s.right = n), + (s._color = r._color), + (r._color = 1), + (n._color = 1), + (e._color = 1), + o(r), + o(n), + o(s), + l > 1) + ) + (c = t[l - 2]).left === r + ? (c.left = s) + : (c.right = s); + return void (t[l - 1] = s); + } + if (1 === n._color) { + if (0 === r._color) + return (r._color = 1), void (r.right = a(0, n)); + r.right = a(0, n); + continue; + } + (n = i(n)), + (r.right = n.left), + (n.left = r), + (n._color = r._color), + (r._color = 0), + o(r), + o(n), + l > 1 && + ((c = t[l - 2]).left === r + ? (c.left = n) + : (c.right = n)), + (t[l - 1] = n), + (t[l] = r), + l + 1 < t.length ? (t[l + 1] = e) : t.push(e), + (l += 2); + } else { + if ((n = r.left).left && 0 === n.left._color) { + if ( + ((s = (n = r.left = i(n)).left = i(n.left)), + (r.left = n.right), + (n.right = r), + (n.left = s), + (n._color = r._color), + (e._color = 1), + (r._color = 1), + (s._color = 1), + o(r), + o(n), + l > 1) + ) + (c = t[l - 2]).right === r + ? (c.right = n) + : (c.left = n); + return void (t[l - 1] = n); + } + if (n.right && 0 === n.right._color) { + if ( + ((s = (n = r.left = i(n)).right = i(n.right)), + (r.left = s.right), + (n.right = s.left), + (s.right = r), + (s.left = n), + (s._color = r._color), + (r._color = 1), + (n._color = 1), + (e._color = 1), + o(r), + o(n), + o(s), + l > 1) + ) + (c = t[l - 2]).right === r + ? (c.right = s) + : (c.left = s); + return void (t[l - 1] = s); + } + if (1 === n._color) { + if (0 === r._color) + return (r._color = 1), void (r.left = a(0, n)); + r.left = a(0, n); + continue; + } + var c; + (n = i(n)), + (r.left = n.right), + (n.right = r), + (n._color = r._color), + (r._color = 0), + o(r), + o(n), + l > 1 && + ((c = t[l - 2]).right === r + ? (c.right = n) + : (c.left = n)), + (t[l - 1] = n), + (t[l] = r), + l + 1 < t.length ? (t[l + 1] = e) : t.push(e), + (l += 2); + } + } + })(e), + h.left === r ? (h.left = null) : (h.right = null), + new s(this.tree._compare, e[0]) + ); + }), + Object.defineProperty(p, 'key', { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1].key; + }, + enumerable: !0, + }), + Object.defineProperty(p, 'value', { + get: function () { + if (this._stack.length > 0) + return this._stack[this._stack.length - 1].value; + }, + enumerable: !0, + }), + Object.defineProperty(p, 'index', { + get: function () { + var t = 0, + e = this._stack; + if (0 === e.length) { + var r = this.tree.root; + return r ? r._count : 0; + } + e[e.length - 1].left && (t = e[e.length - 1].left._count); + for (var n = e.length - 2; n >= 0; --n) + e[n + 1] === e[n].right && + (++t, e[n].left && (t += e[n].left._count)); + return t; + }, + enumerable: !0, + }), + (p.next = function () { + var t = this._stack; + if (0 !== t.length) { + var e = t[t.length - 1]; + if (e.right) for (e = e.right; e; ) t.push(e), (e = e.left); + else + for (t.pop(); t.length > 0 && t[t.length - 1].right === e; ) + (e = t[t.length - 1]), t.pop(); + } + }), + Object.defineProperty(p, 'hasNext', { + get: function () { + var t = this._stack; + if (0 === t.length) return !1; + if (t[t.length - 1].right) return !0; + for (var e = t.length - 1; e > 0; --e) + if (t[e - 1].left === t[e]) return !0; + return !1; + }, + }), + (p.update = function (t) { + var e = this._stack; + if (0 === e.length) throw new Error("Can't update empty node!"); + var r = new Array(e.length), + i = e[e.length - 1]; + r[r.length - 1] = new n( + i._color, + i.key, + t, + i.left, + i.right, + i._count + ); + for (var a = e.length - 2; a >= 0; --a) + (i = e[a]).left === e[a + 1] + ? (r[a] = new n( + i._color, + i.key, + i.value, + r[a + 1], + i.right, + i._count + )) + : (r[a] = new n( + i._color, + i.key, + i.value, + i.left, + r[a + 1], + i._count + )); + return new s(this.tree._compare, r[0]); + }), + (p.prev = function () { + var t = this._stack; + if (0 !== t.length) { + var e = t[t.length - 1]; + if (e.left) for (e = e.left; e; ) t.push(e), (e = e.right); + else + for (t.pop(); t.length > 0 && t[t.length - 1].left === e; ) + (e = t[t.length - 1]), t.pop(); + } + }), + Object.defineProperty(p, 'hasPrev', { + get: function () { + var t = this._stack; + if (0 === t.length) return !1; + if (t[t.length - 1].left) return !0; + for (var e = t.length - 1; e > 0; --e) + if (t[e - 1].right === t[e]) return !0; + return !1; + }, + }); + }, + {}, + ], + 248: [ + function (t, e, r) { + var n = [ + 0.9999999999998099, 676.5203681218851, -1259.1392167224028, + 771.3234287776531, -176.6150291621406, 12.507343278686905, + -0.13857109526572012, 9984369578019572e-21, 1.5056327351493116e-7, + ], + i = [ + 0.9999999999999971, 57.15623566586292, -59.59796035547549, + 14.136097974741746, -0.4919138160976202, 3399464998481189e-20, + 4652362892704858e-20, -9837447530487956e-20, + 0.0001580887032249125, -0.00021026444172410488, + 0.00021743961811521265, -0.0001643181065367639, + 8441822398385275e-20, -26190838401581408e-21, + 36899182659531625e-22, + ]; + function a(t) { + if (t < 0) return Number('0/0'); + for (var e = i[0], r = i.length - 1; r > 0; --r) + e += i[r] / (t + r); + var n = t + 607 / 128 + 0.5; + return ( + 0.5 * Math.log(2 * Math.PI) + + (t + 0.5) * Math.log(n) - + n + + Math.log(e) - + Math.log(t) + ); + } + (e.exports = function t(e) { + if (e < 0.5) return Math.PI / (Math.sin(Math.PI * e) * t(1 - e)); + if (e > 100) return Math.exp(a(e)); + e -= 1; + for (var r = n[0], i = 1; i < 9; i++) r += n[i] / (e + i); + var o = e + 7 + 0.5; + return ( + Math.sqrt(2 * Math.PI) * Math.pow(o, e + 0.5) * Math.exp(-o) * r + ); + }), + (e.exports.log = a); + }, + {}, + ], + 249: [ + function (t, e, r) { + e.exports = function (t, e) { + if ('string' != typeof t) + throw new TypeError('must specify type string'); + if (((e = e || {}), 'undefined' == typeof document && !e.canvas)) + return null; + var r = e.canvas || document.createElement('canvas'); + 'number' == typeof e.width && (r.width = e.width); + 'number' == typeof e.height && (r.height = e.height); + var n, + i = e; + try { + var a = [t]; + 0 === t.indexOf('webgl') && a.push('experimental-' + t); + for (var o = 0; o < a.length; o++) + if ((n = r.getContext(a[o], i))) return n; + } catch (t) { + n = null; + } + return n || null; + }; + }, + {}, + ], + 250: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = new u(t); + return r.update(e), r; + }; + var n = t('./lib/text.js'), + i = t('./lib/lines.js'), + a = t('./lib/background.js'), + o = t('./lib/cube.js'), + s = t('./lib/ticks.js'), + l = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ]); + function c(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t; + } + function u(t) { + (this.gl = t), + (this.pixelRatio = 1), + (this.bounds = [ + [-10, -10, -10], + [10, 10, 10], + ]), + (this.ticks = [[], [], []]), + (this.autoTicks = !0), + (this.tickSpacing = [1, 1, 1]), + (this.tickEnable = [!0, !0, !0]), + (this.tickFont = ['sans-serif', 'sans-serif', 'sans-serif']), + (this.tickSize = [12, 12, 12]), + (this.tickAngle = [0, 0, 0]), + (this.tickAlign = ['auto', 'auto', 'auto']), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [10, 10, 10]), + (this.lastCubeProps = { cubeEdges: [0, 0, 0], axis: [0, 0, 0] }), + (this.labels = ['x', 'y', 'z']), + (this.labelEnable = [!0, !0, !0]), + (this.labelFont = 'sans-serif'), + (this.labelSize = [20, 20, 20]), + (this.labelAngle = [0, 0, 0]), + (this.labelAlign = ['auto', 'auto', 'auto']), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [10, 10, 10]), + (this.lineEnable = [!0, !0, !0]), + (this.lineMirror = [!1, !1, !1]), + (this.lineWidth = [1, 1, 1]), + (this.lineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.lineTickEnable = [!0, !0, !0]), + (this.lineTickMirror = [!1, !1, !1]), + (this.lineTickLength = [0, 0, 0]), + (this.lineTickWidth = [1, 1, 1]), + (this.lineTickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.gridEnable = [!0, !0, !0]), + (this.gridWidth = [1, 1, 1]), + (this.gridColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroEnable = [!0, !0, !0]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroLineWidth = [2, 2, 2]), + (this.backgroundEnable = [!1, !1, !1]), + (this.backgroundColor = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._firstInit = !0), + (this._text = null), + (this._lines = null), + (this._background = a(t)); + } + var f = u.prototype; + function h() { + (this.primalOffset = [0, 0, 0]), + (this.primalMinor = [0, 0, 0]), + (this.mirrorOffset = [0, 0, 0]), + (this.mirrorMinor = [0, 0, 0]); + } + f.update = function (t) { + function e(e, r, n) { + if (n in t) { + var i, + a = t[n], + o = this[n]; + (e ? Array.isArray(a) && Array.isArray(a[0]) : Array.isArray(a)) + ? (this[n] = i = [r(a[0]), r(a[1]), r(a[2])]) + : (this[n] = i = [r(a), r(a), r(a)]); + for (var s = 0; s < 3; ++s) if (i[s] !== o[s]) return !0; + } + return !1; + } + t = t || {}; + var r, + a = e.bind(this, !1, Number), + o = e.bind(this, !1, Boolean), + l = e.bind(this, !1, String), + c = e.bind(this, !0, function (t) { + if (Array.isArray(t)) { + if (3 === t.length) return [+t[0], +t[1], +t[2], 1]; + if (4 === t.length) return [+t[0], +t[1], +t[2], +t[3]]; + } + return [0, 0, 0, 1]; + }), + u = !1, + f = !1; + if ('bounds' in t) + for (var h = t.bounds, p = 0; p < 2; ++p) + for (var d = 0; d < 3; ++d) + h[p][d] !== this.bounds[p][d] && (f = !0), + (this.bounds[p][d] = h[p][d]); + if ('ticks' in t) { + (r = t.ticks), (u = !0), (this.autoTicks = !1); + for (p = 0; p < 3; ++p) this.tickSpacing[p] = 0; + } else a('tickSpacing') && ((this.autoTicks = !0), (f = !0)); + if ( + (this._firstInit && + ('ticks' in t || 'tickSpacing' in t || (this.autoTicks = !0), + (f = !0), + (u = !0), + (this._firstInit = !1)), + f && + this.autoTicks && + ((r = s.create(this.bounds, this.tickSpacing)), (u = !0)), + u) + ) { + for (p = 0; p < 3; ++p) + r[p].sort(function (t, e) { + return t.x - e.x; + }); + s.equal(r, this.ticks) ? (u = !1) : (this.ticks = r); + } + o('tickEnable'), + l('tickFont') && (u = !0), + a('tickSize'), + a('tickAngle'), + a('tickPad'), + c('tickColor'); + var g = l('labels'); + l('labelFont') && (g = !0), + o('labelEnable'), + a('labelSize'), + a('labelPad'), + c('labelColor'), + o('lineEnable'), + o('lineMirror'), + a('lineWidth'), + c('lineColor'), + o('lineTickEnable'), + o('lineTickMirror'), + a('lineTickLength'), + a('lineTickWidth'), + c('lineTickColor'), + o('gridEnable'), + a('gridWidth'), + c('gridColor'), + o('zeroEnable'), + c('zeroLineColor'), + a('zeroLineWidth'), + o('backgroundEnable'), + c('backgroundColor'), + this._text + ? this._text && + (g || u) && + this._text.update( + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont + ) + : (this._text = n( + this.gl, + this.bounds, + this.labels, + this.labelFont, + this.ticks, + this.tickFont + )), + this._lines && u && (this._lines.dispose(), (this._lines = null)), + this._lines || + (this._lines = i(this.gl, this.bounds, this.ticks)); + }; + var p = [new h(), new h(), new h()]; + function d(t, e, r, n, i) { + for ( + var a = t.primalOffset, + o = t.primalMinor, + s = t.mirrorOffset, + l = t.mirrorMinor, + c = n[e], + u = 0; + u < 3; + ++u + ) + if (e !== u) { + var f = a, + h = s, + p = o, + d = l; + c & (1 << u) && ((f = s), (h = a), (p = l), (d = o)), + (f[u] = r[0][u]), + (h[u] = r[1][u]), + i[u] > 0 + ? ((p[u] = -1), (d[u] = 0)) + : ((p[u] = 0), (d[u] = 1)); + } + } + var g = [0, 0, 0], + m = { model: l, view: l, projection: l, _ortho: !1 }; + (f.isOpaque = function () { + return !0; + }), + (f.isTransparent = function () { + return !1; + }), + (f.drawTransparent = function (t) {}); + var v = [0, 0, 0], + y = [0, 0, 0], + x = [0, 0, 0]; + (f.draw = function (t) { + t = t || m; + for ( + var e = this.gl, + r = t.model || l, + n = t.view || l, + i = t.projection || l, + a = this.bounds, + s = t._ortho || !1, + u = o(r, n, i, a, s), + f = u.cubeEdges, + h = u.axis, + b = n[12], + _ = n[13], + w = n[14], + T = n[15], + k = + ((s ? 2 : 1) * + this.pixelRatio * + (i[3] * b + i[7] * _ + i[11] * w + i[15] * T)) / + e.drawingBufferHeight, + M = 0; + M < 3; + ++M + ) + (this.lastCubeProps.cubeEdges[M] = f[M]), + (this.lastCubeProps.axis[M] = h[M]); + var A = p; + for (M = 0; M < 3; ++M) d(p[M], M, this.bounds, f, h); + e = this.gl; + var S, + E = g; + for (M = 0; M < 3; ++M) + this.backgroundEnable[M] ? (E[M] = h[M]) : (E[M] = 0); + this._background.draw(r, n, i, a, E, this.backgroundColor), + this._lines.bind(r, n, i, this); + for (M = 0; M < 3; ++M) { + var C = [0, 0, 0]; + h[M] > 0 ? (C[M] = a[1][M]) : (C[M] = a[0][M]); + for (var L = 0; L < 2; ++L) { + var I = (M + 1 + L) % 3, + P = (M + 1 + (1 ^ L)) % 3; + this.gridEnable[I] && + this._lines.drawGrid( + I, + P, + this.bounds, + C, + this.gridColor[I], + this.gridWidth[I] * this.pixelRatio + ); + } + for (L = 0; L < 2; ++L) { + (I = (M + 1 + L) % 3), (P = (M + 1 + (1 ^ L)) % 3); + this.zeroEnable[P] && + Math.min(a[0][P], a[1][P]) <= 0 && + Math.max(a[0][P], a[1][P]) >= 0 && + this._lines.drawZero( + I, + P, + this.bounds, + C, + this.zeroLineColor[P], + this.zeroLineWidth[P] * this.pixelRatio + ); + } + } + for (M = 0; M < 3; ++M) { + this.lineEnable[M] && + this._lines.drawAxisLine( + M, + this.bounds, + A[M].primalOffset, + this.lineColor[M], + this.lineWidth[M] * this.pixelRatio + ), + this.lineMirror[M] && + this._lines.drawAxisLine( + M, + this.bounds, + A[M].mirrorOffset, + this.lineColor[M], + this.lineWidth[M] * this.pixelRatio + ); + var z = c(v, A[M].primalMinor), + O = c(y, A[M].mirrorMinor), + D = this.lineTickLength; + for (L = 0; L < 3; ++L) { + var R = k / r[5 * L]; + (z[L] *= D[L] * R), (O[L] *= D[L] * R); + } + this.lineTickEnable[M] && + this._lines.drawAxisTicks( + M, + A[M].primalOffset, + z, + this.lineTickColor[M], + this.lineTickWidth[M] * this.pixelRatio + ), + this.lineTickMirror[M] && + this._lines.drawAxisTicks( + M, + A[M].mirrorOffset, + O, + this.lineTickColor[M], + this.lineTickWidth[M] * this.pixelRatio + ); + } + this._lines.unbind(), this._text.bind(r, n, i, this.pixelRatio); + var F, B; + function N(t) { + (B = [0, 0, 0])[t] = 1; + } + function j(t, e, r) { + var n = (t + 1) % 3, + i = (t + 2) % 3, + a = e[n], + o = e[i], + s = r[n], + l = r[i]; + (a > 0 && l > 0) || + (a > 0 && l < 0) || + (a < 0 && l > 0) || + (a < 0 && l < 0) + ? N(n) + : ((o > 0 && s > 0) || + (o > 0 && s < 0) || + (o < 0 && s > 0) || + (o < 0 && s < 0)) && + N(i); + } + for (M = 0; M < 3; ++M) { + var U = A[M].primalMinor, + V = A[M].mirrorMinor, + q = c(x, A[M].primalOffset); + for (L = 0; L < 3; ++L) + this.lineTickEnable[M] && + (q[L] += + (k * U[L] * Math.max(this.lineTickLength[L], 0)) / + r[5 * L]); + var H = [0, 0, 0]; + if (((H[M] = 1), this.tickEnable[M])) { + -3600 === this.tickAngle[M] + ? ((this.tickAngle[M] = 0), (this.tickAlign[M] = 'auto')) + : (this.tickAlign[M] = -1), + (F = 1), + 'auto' === (S = [this.tickAlign[M], 0.5, F])[0] + ? (S[0] = 0) + : (S[0] = parseInt('' + S[0])), + (B = [0, 0, 0]), + j(M, U, V); + for (L = 0; L < 3; ++L) + q[L] += (k * U[L] * this.tickPad[L]) / r[5 * L]; + this._text.drawTicks( + M, + this.tickSize[M], + this.tickAngle[M], + q, + this.tickColor[M], + H, + B, + S + ); + } + if (this.labelEnable[M]) { + (F = 0), + (B = [0, 0, 0]), + this.labels[M].length > 4 && (N(M), (F = 1)), + 'auto' === (S = [this.labelAlign[M], 0.5, F])[0] + ? (S[0] = 0) + : (S[0] = parseInt('' + S[0])); + for (L = 0; L < 3; ++L) + q[L] += (k * U[L] * this.labelPad[L]) / r[5 * L]; + (q[M] += 0.5 * (a[0][M] + a[1][M])), + this._text.drawLabel( + M, + this.labelSize[M], + this.labelAngle[M], + q, + this.labelColor[M], + [0, 0, 0], + B, + S + ); + } + } + this._text.unbind(); + }), + (f.dispose = function () { + this._text.dispose(), + this._lines.dispose(), + this._background.dispose(), + (this._lines = null), + (this._text = null), + (this._background = null), + (this.gl = null); + }); + }, + { + './lib/background.js': 251, + './lib/cube.js': 252, + './lib/lines.js': 253, + './lib/text.js': 255, + './lib/ticks.js': 256, + }, + ], + 251: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = [], r = [], s = 0, l = 0; l < 3; ++l) + for ( + var c = (l + 1) % 3, + u = (l + 2) % 3, + f = [0, 0, 0], + h = [0, 0, 0], + p = -1; + p <= 1; + p += 2 + ) { + r.push(s, s + 2, s + 1, s + 1, s + 2, s + 3), + (f[l] = p), + (h[l] = p); + for (var d = -1; d <= 1; d += 2) { + f[c] = d; + for (var g = -1; g <= 1; g += 2) + (f[u] = g), + e.push(f[0], f[1], f[2], h[0], h[1], h[2]), + (s += 1); + } + var m = c; + (c = u), (u = m); + } + var v = n(t, new Float32Array(e)), + y = n(t, new Uint16Array(r), t.ELEMENT_ARRAY_BUFFER), + x = i( + t, + [ + { buffer: v, type: t.FLOAT, size: 3, offset: 0, stride: 24 }, + { buffer: v, type: t.FLOAT, size: 3, offset: 12, stride: 24 }, + ], + y + ), + b = a(t); + return ( + (b.attributes.position.location = 0), + (b.attributes.normal.location = 1), + new o(t, v, x, b) + ); + }; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('./shaders').bg; + function o(t, e, r, n) { + (this.gl = t), (this.buffer = e), (this.vao = r), (this.shader = n); + } + var s = o.prototype; + (s.draw = function (t, e, r, n, i, a) { + for (var o = !1, s = 0; s < 3; ++s) o = o || i[s]; + if (o) { + var l = this.gl; + l.enable(l.POLYGON_OFFSET_FILL), + l.polygonOffset(1, 2), + this.shader.bind(), + (this.shader.uniforms = { + model: t, + view: e, + projection: r, + bounds: n, + enable: i, + colors: a, + }), + this.vao.bind(), + this.vao.draw(this.gl.TRIANGLES, 36), + this.vao.unbind(), + l.disable(l.POLYGON_OFFSET_FILL); + } + }), + (s.dispose = function () { + this.vao.dispose(), this.buffer.dispose(), this.shader.dispose(); + }); + }, + { './shaders': 254, 'gl-buffer': 259, 'gl-vao': 358 }, + ], + 252: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, a, p) { + i(s, e, t), i(s, r, s); + for (var y = 0, x = 0; x < 2; ++x) { + u[2] = a[x][2]; + for (var b = 0; b < 2; ++b) { + u[1] = a[b][1]; + for (var _ = 0; _ < 2; ++_) + (u[0] = a[_][0]), h(l[y], u, s), (y += 1); + } + } + var w = -1; + for (x = 0; x < 8; ++x) { + for (var T = l[x][3], k = 0; k < 3; ++k) c[x][k] = l[x][k] / T; + p && (c[x][2] *= -1), + T < 0 && (w < 0 || c[x][2] < c[w][2]) && (w = x); + } + if (w < 0) { + w = 0; + for (var M = 0; M < 3; ++M) { + for ( + var A = (M + 2) % 3, S = (M + 1) % 3, E = -1, C = -1, L = 0; + L < 2; + ++L + ) { + var I = (z = L << M) + (L << A) + ((1 - L) << S), + P = z + ((1 - L) << A) + (L << S); + o(c[z], c[I], c[P], f) < 0 || (L ? (E = 1) : (C = 1)); + } + if (E < 0 || C < 0) C > E && (w |= 1 << M); + else { + for (L = 0; L < 2; ++L) { + (I = (z = L << M) + (L << A) + ((1 - L) << S)), + (P = z + ((1 - L) << A) + (L << S)); + var z, + O = d([l[z], l[I], l[P], l[z + (1 << A) + (1 << S)]]); + L ? (E = O) : (C = O); + } + C > E && (w |= 1 << M); + } + } + } + var D = 7 ^ w, + R = -1; + for (x = 0; x < 8; ++x) + x !== w && x !== D && (R < 0 || c[R][1] > c[x][1]) && (R = x); + var F = -1; + for (x = 0; x < 3; ++x) { + if ((N = R ^ (1 << x)) !== w && N !== D) + F < 0 && (F = N), (S = c[N])[0] < c[F][0] && (F = N); + } + var B = -1; + for (x = 0; x < 3; ++x) { + var N; + if ((N = R ^ (1 << x)) !== w && N !== D && N !== F) + B < 0 && (B = N), (S = c[N])[0] > c[B][0] && (B = N); + } + var j = g; + (j[0] = j[1] = j[2] = 0), + (j[n.log2(F ^ R)] = R & F), + (j[n.log2(R ^ B)] = R & B); + var U = 7 ^ B; + U === w || U === D + ? ((U = 7 ^ F), (j[n.log2(B ^ U)] = U & B)) + : (j[n.log2(F ^ U)] = U & F); + var V = m, + q = w; + for (M = 0; M < 3; ++M) V[M] = q & (1 << M) ? -1 : 1; + return v; + }; + var n = t('bit-twiddle'), + i = t('gl-mat4/multiply'), + a = t('split-polygon'), + o = t('robust-orientation'), + s = new Array(16), + l = new Array(8), + c = new Array(8), + u = new Array(3), + f = [0, 0, 0]; + function h(t, e, r) { + for (var n = 0; n < 4; ++n) { + t[n] = r[12 + n]; + for (var i = 0; i < 3; ++i) t[n] += e[i] * r[4 * i + n]; + } + } + !(function () { + for (var t = 0; t < 8; ++t) + (l[t] = [1, 1, 1, 1]), (c[t] = [1, 1, 1]); + })(); + var p = [ + [0, 0, 1, 0, 0], + [0, 0, -1, 1, 0], + [0, -1, 0, 1, 0], + [0, 1, 0, 1, 0], + [-1, 0, 0, 1, 0], + [1, 0, 0, 1, 0], + ]; + function d(t) { + for (var e = 0; e < p.length; ++e) + if ((t = a.positive(t, p[e])).length < 3) return 0; + var r = t[0], + n = r[0] / r[3], + i = r[1] / r[3], + o = 0; + for (e = 1; e + 1 < t.length; ++e) { + var s = t[e], + l = t[e + 1], + c = s[0] / s[3] - n, + u = s[1] / s[3] - i, + f = l[0] / l[3] - n, + h = l[1] / l[3] - i; + o += Math.abs(c * h - u * f); + } + return o; + } + var g = [1, 1, 1], + m = [0, 0, 0], + v = { cubeEdges: g, axis: m }; + }, + { + 'bit-twiddle': 97, + 'gl-mat4/multiply': 295, + 'robust-orientation': 548, + 'split-polygon': 566, + }, + ], + 253: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var o = [], + s = [0, 0, 0], + l = [0, 0, 0], + c = [0, 0, 0], + u = [0, 0, 0]; + o.push(0, 0, 1, 0, 1, 1, 0, 0, -1, 0, 0, -1, 0, 1, 1, 0, 1, -1); + for (var f = 0; f < 3; ++f) { + for (var h = (o.length / 3) | 0, d = 0; d < r[f].length; ++d) { + var g = +r[f][d].x; + o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); + } + var m = (o.length / 3) | 0; + (s[f] = h), (l[f] = m - h); + h = (o.length / 3) | 0; + for (var v = 0; v < r[f].length; ++v) { + g = +r[f][v].x; + o.push(g, 0, 1, g, 1, 1, g, 0, -1, g, 0, -1, g, 1, 1, g, 1, -1); + } + m = (o.length / 3) | 0; + (c[f] = h), (u[f] = m - h); + } + var y = n(t, new Float32Array(o)), + x = i(t, [ + { buffer: y, type: t.FLOAT, size: 3, stride: 0, offset: 0 }, + ]), + b = a(t); + return ( + (b.attributes.position.location = 0), + new p(t, y, x, b, l, s, u, c) + ); + }; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('./shaders').line, + o = [0, 0, 0], + s = [0, 0, 0], + l = [0, 0, 0], + c = [0, 0, 0], + u = [1, 1]; + function f(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function h(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t; + } + function p(t, e, r, n, i, a, o, s) { + (this.gl = t), + (this.vertBuffer = e), + (this.vao = r), + (this.shader = n), + (this.tickCount = i), + (this.tickOffset = a), + (this.gridCount = o), + (this.gridOffset = s); + } + var d = p.prototype; + (d.bind = function (t, e, r) { + this.shader.bind(), + (this.shader.uniforms.model = t), + (this.shader.uniforms.view = e), + (this.shader.uniforms.projection = r), + (u[0] = this.gl.drawingBufferWidth), + (u[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.screenShape = u), + this.vao.bind(); + }), + (d.unbind = function () { + this.vao.unbind(); + }), + (d.drawAxisLine = function (t, e, r, n, i) { + var a = f(s); + (this.shader.uniforms.majorAxis = s), + (a[t] = e[1][t] - e[0][t]), + (this.shader.uniforms.minorAxis = a); + var o, + u = h(c, r); + (u[t] += e[0][t]), + (this.shader.uniforms.offset = u), + (this.shader.uniforms.lineWidth = i), + (this.shader.uniforms.color = n), + ((o = f(l))[(t + 2) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6), + ((o = f(l))[(t + 1) % 3] = 1), + (this.shader.uniforms.screenAxis = o), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.drawAxisTicks = function (t, e, r, n, i) { + if (this.tickCount[t]) { + var a = f(o); + (a[t] = 1), + (this.shader.uniforms.majorAxis = a), + (this.shader.uniforms.offset = e), + (this.shader.uniforms.minorAxis = r), + (this.shader.uniforms.color = n), + (this.shader.uniforms.lineWidth = i); + var s = f(l); + (s[t] = 1), + (this.shader.uniforms.screenAxis = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t] + ); + } + }), + (d.drawGrid = function (t, e, r, n, i, a) { + if (this.gridCount[t]) { + var u = f(s); + (u[e] = r[1][e] - r[0][e]), + (this.shader.uniforms.minorAxis = u); + var p = h(c, n); + (p[e] += r[0][e]), (this.shader.uniforms.offset = p); + var d = f(o); + (d[t] = 1), (this.shader.uniforms.majorAxis = d); + var g = f(l); + (g[t] = 1), + (this.shader.uniforms.screenAxis = g), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw( + this.gl.TRIANGLES, + this.gridCount[t], + this.gridOffset[t] + ); + } + }), + (d.drawZero = function (t, e, r, n, i, a) { + var o = f(s); + (this.shader.uniforms.majorAxis = o), + (o[t] = r[1][t] - r[0][t]), + (this.shader.uniforms.minorAxis = o); + var u = h(c, n); + (u[t] += r[0][t]), (this.shader.uniforms.offset = u); + var p = f(l); + (p[e] = 1), + (this.shader.uniforms.screenAxis = p), + (this.shader.uniforms.lineWidth = a), + (this.shader.uniforms.color = i), + this.vao.draw(this.gl.TRIANGLES, 6); + }), + (d.dispose = function () { + this.vao.dispose(), + this.vertBuffer.dispose(), + this.shader.dispose(); + }); + }, + { './shaders': 254, 'gl-buffer': 259, 'gl-vao': 358 }, + ], + 254: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'), + i = t('gl-shader'), + a = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n', + ]), + o = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}', + ]); + r.line = function (t) { + return i(t, a, o, null, [{ name: 'position', type: 'vec3' }]); + }; + var s = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}', + ]), + l = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}', + ]); + r.text = function (t) { + return i(t, s, l, null, [{ name: 'position', type: 'vec3' }]); + }; + var c = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}', + ]), + u = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}', + ]); + r.bg = function (t) { + return i(t, c, u, null, [ + { name: 'position', type: 'vec3' }, + { name: 'normal', type: 'vec3' }, + ]); + }; + }, + { 'gl-shader': 335, glslify: 257 }, + ], + 255: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + e.exports = function (t, e, r, a, s, l) { + var u = n(t), + f = i(t, [{ buffer: u, size: 3 }]), + h = o(t); + h.attributes.position.location = 0; + var p = new c(t, h, u, f); + return p.update(e, r, a, s, l), p; + }; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('vectorize-text'), + o = t('./shaders').text, + s = window || r.global || {}, + l = s.__TEXT_CACHE || {}; + s.__TEXT_CACHE = {}; + function c(t, e, r, n) { + (this.gl = t), + (this.shader = e), + (this.buffer = r), + (this.vao = n), + (this.tickOffset = + this.tickCount = + this.labelOffset = + this.labelCount = + null); + } + var u = c.prototype, + f = [0, 0]; + (u.bind = function (t, e, r, n) { + this.vao.bind(), this.shader.bind(); + var i = this.shader.uniforms; + (i.model = t), + (i.view = e), + (i.projection = r), + (i.pixelScale = n), + (f[0] = this.gl.drawingBufferWidth), + (f[1] = this.gl.drawingBufferHeight), + (this.shader.uniforms.resolution = f); + }), + (u.unbind = function () { + this.vao.unbind(); + }), + (u.update = function (t, e, r, n, i) { + var o = []; + function s(t, e, r, n, i, s) { + var c = l[r]; + c || (c = l[r] = {}); + var u = c[e]; + u || + (u = c[e] = + (function (t, e) { + try { + return a(t, e); + } catch (e) { + return ( + console.warn( + 'error vectorizing text:"' + t + '" error:', + e + ), + { cells: [], positions: [] } + ); + } + })(e, { + triangles: !0, + font: r, + textAlign: 'center', + textBaseline: 'middle', + lineSpacing: i, + styletags: s, + })); + for ( + var f = (n || 12) / 12, + h = u.positions, + p = u.cells, + d = 0, + g = p.length; + d < g; + ++d + ) + for (var m = p[d], v = 2; v >= 0; --v) { + var y = h[m[v]]; + o.push(f * y[0], -f * y[1], t); + } + } + for ( + var c = [0, 0, 0], + u = [0, 0, 0], + f = [0, 0, 0], + h = [0, 0, 0], + p = { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + d = 0; + d < 3; + ++d + ) { + (f[d] = (o.length / 3) | 0), + s(0.5 * (t[0][d] + t[1][d]), e[d], r[d], 12, 1.25, p), + (h[d] = ((o.length / 3) | 0) - f[d]), + (c[d] = (o.length / 3) | 0); + for (var g = 0; g < n[d].length; ++g) + n[d][g].text && + s( + n[d][g].x, + n[d][g].text, + n[d][g].font || i, + n[d][g].fontSize || 12, + 1.25, + p + ); + u[d] = ((o.length / 3) | 0) - c[d]; + } + this.buffer.update(o), + (this.tickOffset = c), + (this.tickCount = u), + (this.labelOffset = f), + (this.labelCount = h); + }), + (u.drawTicks = function (t, e, r, n, i, a, o, s) { + this.tickCount[t] && + ((this.shader.uniforms.axis = a), + (this.shader.uniforms.color = i), + (this.shader.uniforms.angle = r), + (this.shader.uniforms.scale = e), + (this.shader.uniforms.offset = n), + (this.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.tickCount[t], + this.tickOffset[t] + )); + }), + (u.drawLabel = function (t, e, r, n, i, a, o, s) { + this.labelCount[t] && + ((this.shader.uniforms.axis = a), + (this.shader.uniforms.color = i), + (this.shader.uniforms.angle = r), + (this.shader.uniforms.scale = e), + (this.shader.uniforms.offset = n), + (this.shader.uniforms.alignDir = o), + (this.shader.uniforms.alignOpt = s), + this.vao.draw( + this.gl.TRIANGLES, + this.labelCount[t], + this.labelOffset[t] + )); + }), + (u.dispose = function () { + this.shader.dispose(), + this.vao.dispose(), + this.buffer.dispose(); + }); + }.call(this)); + }.call(this, t('_process'))); + }, + { + './shaders': 254, + _process: 526, + 'gl-buffer': 259, + 'gl-vao': 358, + 'vectorize-text': 600, + }, + ], + 256: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + var r = t + '', + n = r.indexOf('.'), + i = 0; + n >= 0 && (i = r.length - n - 1); + var a = Math.pow(10, i), + o = Math.round(t * e * a), + s = o + ''; + if (s.indexOf('e') >= 0) return s; + var l = o / a, + c = o % a; + o < 0 + ? ((l = 0 | -Math.ceil(l)), (c = 0 | -c)) + : ((l = 0 | Math.floor(l)), (c |= 0)); + var u = '' + l; + if ((o < 0 && (u = '-' + u), i)) { + for (var f = '' + c; f.length < i; ) f = '0' + f; + return u + '.' + f; + } + return u; + } + (r.create = function (t, e) { + for (var r = [], i = 0; i < 3; ++i) { + for ( + var a = [], o = (t[0][i], t[1][i], 0); + o * e[i] <= t[1][i]; + ++o + ) + a.push({ x: o * e[i], text: n(e[i], o) }); + for (o = -1; o * e[i] >= t[0][i]; --o) + a.push({ x: o * e[i], text: n(e[i], o) }); + r.push(a); + } + return r; + }), + (r.equal = function (t, e) { + for (var r = 0; r < 3; ++r) { + if (t[r].length !== e[r].length) return !1; + for (var n = 0; n < t[r].length; ++n) { + var i = t[r][n], + a = e[r][n]; + if ( + i.x !== a.x || + i.text !== a.text || + i.font !== a.font || + i.fontColor !== a.fontColor || + i.fontSize !== a.fontSize || + i.dx !== a.dx || + i.dy !== a.dy + ) + return !1; + } + } + return !0; + }); + }, + {}, + ], + 257: [ + function (t, e, r) { + e.exports = function (t) { + 'string' == typeof t && (t = [t]); + for ( + var e = [].slice.call(arguments, 1), r = [], n = 0; + n < t.length - 1; + n++ + ) + r.push(t[n], e[n] || ''); + return r.push(t[n]), r.join(''); + }; + }, + {}, + ], + 258: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, l, f) { + var h = e.model || c, + p = e.view || c, + v = e.projection || c, + y = e._ortho || !1, + x = t.bounds, + b = (f = f || a(h, p, v, x, y)).axis; + o(u, p, h), o(u, v, u); + for (var _ = g, w = 0; w < 3; ++w) + (_[w].lo = 1 / 0), + (_[w].hi = -1 / 0), + (_[w].pixelsPerDataUnit = 1 / 0); + var T = n(s(u, u)); + s(u, u); + for (var k = 0; k < 3; ++k) { + var M = (k + 1) % 3, + A = (k + 2) % 3, + S = m; + t: for (w = 0; w < 2; ++w) { + var E = []; + if (b[k] < 0 != !!w) { + S[k] = x[w][k]; + for (var C = 0; C < 2; ++C) { + S[M] = x[C ^ w][M]; + for (var L = 0; L < 2; ++L) + (S[A] = x[L ^ C ^ w][A]), E.push(S.slice()); + } + var I = y ? 5 : 4; + for (C = I; C === I; ++C) { + if (0 === E.length) continue t; + E = i.positive(E, T[C]); + } + for (C = 0; C < E.length; ++C) { + A = E[C]; + var P = d(m, u, A, r, l); + for (L = 0; L < 3; ++L) + (_[L].lo = Math.min(_[L].lo, A[L])), + (_[L].hi = Math.max(_[L].hi, A[L])), + L !== k && + (_[L].pixelsPerDataUnit = Math.min( + _[L].pixelsPerDataUnit, + Math.abs(P[L]) + )); + } + } + } + } + return _; + }; + var n = t('extract-frustum-planes'), + i = t('split-polygon'), + a = t('./lib/cube.js'), + o = t('gl-mat4/multiply'), + s = t('gl-mat4/transpose'), + l = t('gl-vec4/transformMat4'), + c = new Float32Array([ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ]), + u = new Float32Array(16); + function f(t, e, r) { + (this.lo = t), (this.hi = e), (this.pixelsPerDataUnit = r); + } + var h = [0, 0, 0, 1], + p = [0, 0, 0, 1]; + function d(t, e, r, n, i) { + for (var a = 0; a < 3; ++a) { + for (var o = h, s = p, c = 0; c < 3; ++c) s[c] = o[c] = r[c]; + (s[3] = o[3] = 1), + (s[a] += 1), + l(s, s, e), + s[3] < 0 && (t[a] = 1 / 0), + (o[a] -= 1), + l(o, o, e), + o[3] < 0 && (t[a] = 1 / 0); + var u = (o[0] / o[3] - s[0] / s[3]) * n, + f = (o[1] / o[3] - s[1] / s[3]) * i; + t[a] = 0.25 * Math.sqrt(u * u + f * f); + } + return t; + } + var g = [ + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + new f(1 / 0, -1 / 0, 1 / 0), + ], + m = [0, 0, 0]; + }, + { + './lib/cube.js': 252, + 'extract-frustum-planes': 240, + 'gl-mat4/multiply': 295, + 'gl-mat4/transpose': 306, + 'gl-vec4/transformMat4': 429, + 'split-polygon': 566, + }, + ], + 259: [ + function (t, e, r) { + 'use strict'; + var n = t('typedarray-pool'), + i = t('ndarray-ops'), + a = t('ndarray'), + o = [ + 'uint8', + 'uint8_clamped', + 'uint16', + 'uint32', + 'int8', + 'int16', + 'int32', + 'float32', + ]; + function s(t, e, r, n, i) { + (this.gl = t), + (this.type = e), + (this.handle = r), + (this.length = n), + (this.usage = i); + } + var l = s.prototype; + function c(t, e, r, n, i, a) { + var o = i.length * i.BYTES_PER_ELEMENT; + if (a < 0) return t.bufferData(e, i, n), o; + if (o + a > r) + throw new Error( + 'gl-buffer: If resizing buffer, must not specify offset' + ); + return t.bufferSubData(e, a, i), r; + } + function u(t, e) { + for (var r = n.malloc(t.length, e), i = t.length, a = 0; a < i; ++a) + r[a] = t[a]; + return r; + } + (l.bind = function () { + this.gl.bindBuffer(this.type, this.handle); + }), + (l.unbind = function () { + this.gl.bindBuffer(this.type, null); + }), + (l.dispose = function () { + this.gl.deleteBuffer(this.handle); + }), + (l.update = function (t, e) { + if ( + ('number' != typeof e && (e = -1), + this.bind(), + 'object' == typeof t && 'undefined' != typeof t.shape) + ) { + var r = t.dtype; + if ( + (o.indexOf(r) < 0 && (r = 'float32'), + this.type === this.gl.ELEMENT_ARRAY_BUFFER) + ) + r = + gl.getExtension('OES_element_index_uint') && 'uint16' !== r + ? 'uint32' + : 'uint16'; + if ( + r === t.dtype && + (function (t, e) { + for (var r = 1, n = e.length - 1; n >= 0; --n) { + if (e[n] !== r) return !1; + r *= t[n]; + } + return !0; + })(t.shape, t.stride) + ) + 0 === t.offset && t.data.length === t.shape[0] + ? (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + t.data, + e + )) + : (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + t.data.subarray(t.offset, t.shape[0]), + e + )); + else { + var s = n.malloc(t.size, r), + l = a(s, t.shape); + i.assign(l, t), + (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? s : s.subarray(0, t.size), + e + )), + n.free(s); + } + } else if (Array.isArray(t)) { + var f; + (f = + this.type === this.gl.ELEMENT_ARRAY_BUFFER + ? u(t, 'uint16') + : u(t, 'float32')), + (this.length = c( + this.gl, + this.type, + this.length, + this.usage, + e < 0 ? f : f.subarray(0, t.length), + e + )), + n.free(f); + } else if ('object' == typeof t && 'number' == typeof t.length) + this.length = c( + this.gl, + this.type, + this.length, + this.usage, + t, + e + ); + else { + if ('number' != typeof t && void 0 !== t) + throw new Error('gl-buffer: Invalid data type'); + if (e >= 0) + throw new Error( + 'gl-buffer: Cannot specify offset when resizing buffer' + ); + (t |= 0) <= 0 && (t = 1), + this.gl.bufferData(this.type, 0 | t, this.usage), + (this.length = t); + } + }), + (e.exports = function (t, e, r, n) { + if ( + ((r = r || t.ARRAY_BUFFER), + (n = n || t.DYNAMIC_DRAW), + r !== t.ARRAY_BUFFER && r !== t.ELEMENT_ARRAY_BUFFER) + ) + throw new Error( + 'gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER' + ); + if ( + n !== t.DYNAMIC_DRAW && + n !== t.STATIC_DRAW && + n !== t.STREAM_DRAW + ) + throw new Error( + 'gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW' + ); + var i = t.createBuffer(), + a = new s(t, r, i, 0, n); + return a.update(e), a; + }); + }, + { ndarray: 495, 'ndarray-ops': 490, 'typedarray-pool': 595 }, + ], + 260: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-vec3'); + e.exports = function (t, e) { + var r = t.positions, + i = t.vectors, + a = { + positions: [], + vertexIntensity: [], + vertexIntensityBounds: t.vertexIntensityBounds, + vectors: [], + cells: [], + coneOffset: t.coneOffset, + colormap: t.colormap, + }; + if (0 === t.positions.length) + return e && ((e[0] = [0, 0, 0]), (e[1] = [0, 0, 0])), a; + for ( + var o = 0, + s = 1 / 0, + l = -1 / 0, + c = 1 / 0, + u = -1 / 0, + f = 1 / 0, + h = -1 / 0, + p = null, + d = null, + g = [], + m = 1 / 0, + v = !1, + y = 0; + y < r.length; + y++ + ) { + var x = r[y]; + (s = Math.min(x[0], s)), + (l = Math.max(x[0], l)), + (c = Math.min(x[1], c)), + (u = Math.max(x[1], u)), + (f = Math.min(x[2], f)), + (h = Math.max(x[2], h)); + var b = i[y]; + if ((n.length(b) > o && (o = n.length(b)), y)) { + var _ = (2 * n.distance(p, x)) / (n.length(d) + n.length(b)); + _ ? ((m = Math.min(m, _)), (v = !1)) : (v = !0); + } + v || ((p = x), (d = b)), g.push(b); + } + var w = [s, c, f], + T = [l, u, h]; + e && ((e[0] = w), (e[1] = T)), 0 === o && (o = 1); + var k = 1 / o; + isFinite(m) || (m = 1), (a.vectorScale = m); + var M = t.coneSize || 0.5; + t.absoluteConeSize && (M = t.absoluteConeSize * k), + (a.coneScale = M); + y = 0; + for (var A = 0; y < r.length; y++) + for ( + var S = (x = r[y])[0], + E = x[1], + C = x[2], + L = g[y], + I = n.length(L) * k, + P = 0; + P < 8; + P++ + ) { + a.positions.push([S, E, C, A++]), + a.positions.push([S, E, C, A++]), + a.positions.push([S, E, C, A++]), + a.positions.push([S, E, C, A++]), + a.positions.push([S, E, C, A++]), + a.positions.push([S, E, C, A++]), + a.vectors.push(L), + a.vectors.push(L), + a.vectors.push(L), + a.vectors.push(L), + a.vectors.push(L), + a.vectors.push(L), + a.vertexIntensity.push(I, I, I), + a.vertexIntensity.push(I, I, I); + var z = a.positions.length; + a.cells.push([z - 6, z - 5, z - 4], [z - 3, z - 2, z - 1]); + } + return a; + }; + var i = t('./lib/shaders'); + (e.exports.createMesh = t('./create_mesh')), + (e.exports.createConeMesh = function (t, r) { + return e.exports.createMesh(t, r, { + shaders: i, + traceType: 'cone', + }); + }); + }, + { './create_mesh': 261, './lib/shaders': 262, 'gl-vec3': 377 }, + ], + 261: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-shader'), + i = t('gl-buffer'), + a = t('gl-vao'), + o = t('gl-texture2d'), + s = t('gl-mat4/multiply'), + l = t('gl-mat4/invert'), + c = t('ndarray'), + u = t('colormap'), + f = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function h(t, e, r, n, i, a, o, s, l, c, u) { + (this.gl = t), + (this.pixelRatio = 1), + (this.cells = []), + (this.positions = []), + (this.intensity = []), + (this.texture = e), + (this.dirty = !0), + (this.triShader = r), + (this.pickShader = n), + (this.trianglePositions = i), + (this.triangleVectors = a), + (this.triangleColors = s), + (this.triangleUVs = l), + (this.triangleIds = o), + (this.triangleVAO = c), + (this.triangleCount = 0), + (this.pickId = 1), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.lightPosition = [1e5, 1e5, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.traceType = u), + (this.tubeScale = 1), + (this.coneScale = 2), + (this.vectorScale = 1), + (this.coneOffset = 0.25), + (this._model = f), + (this._view = f), + (this._projection = f), + (this._resolution = [1, 1]); + } + var p = h.prototype; + function d(t, e) { + var r = n( + t, + e.meshShader.vertex, + e.meshShader.fragment, + null, + e.meshShader.attributes + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.color.location = 2), + (r.attributes.uv.location = 3), + (r.attributes.vector.location = 4), + r + ); + } + function g(t, e) { + var r = n( + t, + e.pickShader.vertex, + e.pickShader.fragment, + null, + e.pickShader.attributes + ); + return ( + (r.attributes.position.location = 0), + (r.attributes.id.location = 1), + (r.attributes.vector.location = 4), + r + ); + } + (p.isOpaque = function () { + return this.opacity >= 1; + }), + (p.isTransparent = function () { + return this.opacity < 1; + }), + (p.pickSlots = 1), + (p.setPickBase = function (t) { + this.pickId = t; + }), + (p.update = function (t) { + t = t || {}; + var e = this.gl; + (this.dirty = !0), + 'lightPosition' in t && (this.lightPosition = t.lightPosition), + 'opacity' in t && (this.opacity = t.opacity), + 'ambient' in t && (this.ambientLight = t.ambient), + 'diffuse' in t && (this.diffuseLight = t.diffuse), + 'specular' in t && (this.specularLight = t.specular), + 'roughness' in t && (this.roughness = t.roughness), + 'fresnel' in t && (this.fresnel = t.fresnel), + void 0 !== t.tubeScale && (this.tubeScale = t.tubeScale), + void 0 !== t.vectorScale && (this.vectorScale = t.vectorScale), + void 0 !== t.coneScale && (this.coneScale = t.coneScale), + void 0 !== t.coneOffset && (this.coneOffset = t.coneOffset), + t.colormap && + ((this.texture.shape = [256, 256]), + (this.texture.minFilter = e.LINEAR_MIPMAP_LINEAR), + (this.texture.magFilter = e.LINEAR), + this.texture.setPixels( + (function (t) { + for ( + var e = u({ + colormap: t, + nshades: 256, + format: 'rgba', + }), + r = new Uint8Array(1024), + n = 0; + n < 256; + ++n + ) { + for (var i = e[n], a = 0; a < 3; ++a) + r[4 * n + a] = i[a]; + r[4 * n + 3] = 255 * i[3]; + } + return c(r, [256, 256, 4], [4, 0, 1]); + })(t.colormap) + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions, + i = t.vectors; + if (n && r && i) { + var a = [], + o = [], + s = [], + l = [], + f = []; + (this.cells = r), (this.positions = n), (this.vectors = i); + var h = t.meshColor || [1, 1, 1, 1], + p = t.vertexIntensity, + d = 1 / 0, + g = -1 / 0; + if (p) + if (t.vertexIntensityBounds) + (d = +t.vertexIntensityBounds[0]), + (g = +t.vertexIntensityBounds[1]); + else + for (var m = 0; m < p.length; ++m) { + var v = p[m]; + (d = Math.min(d, v)), (g = Math.max(g, v)); + } + else + for (m = 0; m < n.length; ++m) { + v = n[m][2]; + (d = Math.min(d, v)), (g = Math.max(g, v)); + } + (this.intensity = + p || + (function (t) { + for (var e = t.length, r = new Array(e), n = 0; n < e; ++n) + r[n] = t[n][2]; + return r; + })(n)), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]); + for (m = 0; m < n.length; ++m) + for (var y = n[m], x = 0; x < 3; ++x) + !isNaN(y[x]) && + isFinite(y[x]) && + ((this.bounds[0][x] = Math.min(this.bounds[0][x], y[x])), + (this.bounds[1][x] = Math.max(this.bounds[1][x], y[x]))); + var b = 0; + t: for (m = 0; m < r.length; ++m) { + var _ = r[m]; + switch (_.length) { + case 3: + for (x = 0; x < 3; ++x) { + y = n[(T = _[x])]; + for (var w = 0; w < 3; ++w) + if (isNaN(y[w]) || !isFinite(y[w])) continue t; + } + for (x = 0; x < 3; ++x) { + var T; + y = n[(T = _[2 - x])]; + a.push(y[0], y[1], y[2], y[3]); + var k = i[T]; + o.push(k[0], k[1], k[2], k[3] || 0); + var M, + A = h; + 3 === A.length + ? s.push(A[0], A[1], A[2], 1) + : s.push(A[0], A[1], A[2], A[3]), + (M = p + ? [(p[T] - d) / (g - d), 0] + : [(y[2] - d) / (g - d), 0]), + l.push(M[0], M[1]), + f.push(m); + } + b += 1; + } + } + (this.triangleCount = b), + this.trianglePositions.update(a), + this.triangleVectors.update(o), + this.triangleColors.update(s), + this.triangleUVs.update(l), + this.triangleIds.update(new Uint32Array(f)); + } + }), + (p.drawTransparent = p.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o])); + var c = { + model: r, + view: n, + projection: i, + inverseModel: f.slice(), + clipBounds: a, + kambient: this.ambientLight, + kdiffuse: this.diffuseLight, + kspecular: this.specularLight, + roughness: this.roughness, + fresnel: this.fresnel, + eyePosition: [0, 0, 0], + lightPosition: [0, 0, 0], + opacity: this.opacity, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + texture: 0, + }; + (c.inverseModel = l(c.inverseModel, c.model)), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var u = new Array(16); + s(u, c.view, c.model), s(u, c.projection, u), l(u, u); + for (o = 0; o < 3; ++o) c.eyePosition[o] = u[12 + o] / u[15]; + var h = u[15]; + for (o = 0; o < 3; ++o) + h += this.lightPosition[o] * u[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for (var p = u[12 + o], d = 0; d < 3; ++d) + p += u[4 * d + o] * this.lightPosition[d]; + c.lightPosition[o] = p / h; + } + if (this.triangleCount > 0) { + var g = this.triShader; + g.bind(), + (g.uniforms = c), + this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind(); + } + }), + (p.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || f, + n = t.view || f, + i = t.projection || f, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o])); + (this._model = [].slice.call(r)), + (this._view = [].slice.call(n)), + (this._projection = [].slice.call(i)), + (this._resolution = [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]); + var s = { + model: r, + view: n, + projection: i, + clipBounds: a, + tubeScale: this.tubeScale, + vectorScale: this.vectorScale, + coneScale: this.coneScale, + coneOffset: this.coneOffset, + pickId: this.pickId / 255, + }, + l = this.pickShader; + l.bind(), + (l.uniforms = s), + this.triangleCount > 0 && + (this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind()); + }), + (p.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = t.value[0] + 256 * t.value[1] + 65536 * t.value[2], + r = this.cells[e], + n = this.positions[r[1]].slice(0, 3), + i = { + position: n, + dataCoordinate: n, + index: Math.floor(r[1] / 48), + }; + return ( + 'cone' === this.traceType + ? (i.index = Math.floor(r[1] / 48)) + : 'streamtube' === this.traceType && + ((i.intensity = this.intensity[r[1]]), + (i.velocity = this.vectors[r[1]].slice(0, 3)), + (i.divergence = this.vectors[r[1]][3]), + (i.index = e)), + i + ); + }), + (p.dispose = function () { + this.texture.dispose(), + this.triShader.dispose(), + this.pickShader.dispose(), + this.triangleVAO.dispose(), + this.trianglePositions.dispose(), + this.triangleVectors.dispose(), + this.triangleColors.dispose(), + this.triangleUVs.dispose(), + this.triangleIds.dispose(); + }), + (e.exports = function (t, e, r) { + var n = r.shaders; + 1 === arguments.length && (t = (e = t).gl); + var s = d(t, n), + l = g(t, n), + u = o(t, c(new Uint8Array([255, 255, 255, 255]), [1, 1, 4])); + u.generateMipmap(), + (u.minFilter = t.LINEAR_MIPMAP_LINEAR), + (u.magFilter = t.LINEAR); + var f = i(t), + p = i(t), + m = i(t), + v = i(t), + y = i(t), + x = a(t, [ + { buffer: f, type: t.FLOAT, size: 4 }, + { buffer: y, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: m, type: t.FLOAT, size: 4 }, + { buffer: v, type: t.FLOAT, size: 2 }, + { buffer: p, type: t.FLOAT, size: 4 }, + ]), + b = new h(t, u, s, l, f, p, y, m, v, x, r.traceType || 'cone'); + return b.update(e), b; + }); + }, + { + colormap: 131, + 'gl-buffer': 259, + 'gl-mat4/invert': 293, + 'gl-mat4/multiply': 295, + 'gl-shader': 335, + 'gl-texture2d': 353, + 'gl-vao': 358, + ndarray: 495, + }, + ], + 262: [ + function (t, e, r) { + var n = t('glslify'), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + '#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n', + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}', + ]); + (r.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: 'position', type: 'vec4' }, + { name: 'color', type: 'vec4' }, + { name: 'uv', type: 'vec2' }, + { name: 'vector', type: 'vec3' }, + ], + }), + (r.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: 'position', type: 'vec4' }, + { name: 'id', type: 'vec4' }, + { name: 'vector', type: 'vec3' }, + ], + }); + }, + { glslify: 263 }, + ], + 263: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 264: [ + function (t, e, r) { + e.exports = { + 0: 'NONE', + 1: 'ONE', + 2: 'LINE_LOOP', + 3: 'LINE_STRIP', + 4: 'TRIANGLES', + 5: 'TRIANGLE_STRIP', + 6: 'TRIANGLE_FAN', + 256: 'DEPTH_BUFFER_BIT', + 512: 'NEVER', + 513: 'LESS', + 514: 'EQUAL', + 515: 'LEQUAL', + 516: 'GREATER', + 517: 'NOTEQUAL', + 518: 'GEQUAL', + 519: 'ALWAYS', + 768: 'SRC_COLOR', + 769: 'ONE_MINUS_SRC_COLOR', + 770: 'SRC_ALPHA', + 771: 'ONE_MINUS_SRC_ALPHA', + 772: 'DST_ALPHA', + 773: 'ONE_MINUS_DST_ALPHA', + 774: 'DST_COLOR', + 775: 'ONE_MINUS_DST_COLOR', + 776: 'SRC_ALPHA_SATURATE', + 1024: 'STENCIL_BUFFER_BIT', + 1028: 'FRONT', + 1029: 'BACK', + 1032: 'FRONT_AND_BACK', + 1280: 'INVALID_ENUM', + 1281: 'INVALID_VALUE', + 1282: 'INVALID_OPERATION', + 1285: 'OUT_OF_MEMORY', + 1286: 'INVALID_FRAMEBUFFER_OPERATION', + 2304: 'CW', + 2305: 'CCW', + 2849: 'LINE_WIDTH', + 2884: 'CULL_FACE', + 2885: 'CULL_FACE_MODE', + 2886: 'FRONT_FACE', + 2928: 'DEPTH_RANGE', + 2929: 'DEPTH_TEST', + 2930: 'DEPTH_WRITEMASK', + 2931: 'DEPTH_CLEAR_VALUE', + 2932: 'DEPTH_FUNC', + 2960: 'STENCIL_TEST', + 2961: 'STENCIL_CLEAR_VALUE', + 2962: 'STENCIL_FUNC', + 2963: 'STENCIL_VALUE_MASK', + 2964: 'STENCIL_FAIL', + 2965: 'STENCIL_PASS_DEPTH_FAIL', + 2966: 'STENCIL_PASS_DEPTH_PASS', + 2967: 'STENCIL_REF', + 2968: 'STENCIL_WRITEMASK', + 2978: 'VIEWPORT', + 3024: 'DITHER', + 3042: 'BLEND', + 3088: 'SCISSOR_BOX', + 3089: 'SCISSOR_TEST', + 3106: 'COLOR_CLEAR_VALUE', + 3107: 'COLOR_WRITEMASK', + 3317: 'UNPACK_ALIGNMENT', + 3333: 'PACK_ALIGNMENT', + 3379: 'MAX_TEXTURE_SIZE', + 3386: 'MAX_VIEWPORT_DIMS', + 3408: 'SUBPIXEL_BITS', + 3410: 'RED_BITS', + 3411: 'GREEN_BITS', + 3412: 'BLUE_BITS', + 3413: 'ALPHA_BITS', + 3414: 'DEPTH_BITS', + 3415: 'STENCIL_BITS', + 3553: 'TEXTURE_2D', + 4352: 'DONT_CARE', + 4353: 'FASTEST', + 4354: 'NICEST', + 5120: 'BYTE', + 5121: 'UNSIGNED_BYTE', + 5122: 'SHORT', + 5123: 'UNSIGNED_SHORT', + 5124: 'INT', + 5125: 'UNSIGNED_INT', + 5126: 'FLOAT', + 5386: 'INVERT', + 5890: 'TEXTURE', + 6401: 'STENCIL_INDEX', + 6402: 'DEPTH_COMPONENT', + 6406: 'ALPHA', + 6407: 'RGB', + 6408: 'RGBA', + 6409: 'LUMINANCE', + 6410: 'LUMINANCE_ALPHA', + 7680: 'KEEP', + 7681: 'REPLACE', + 7682: 'INCR', + 7683: 'DECR', + 7936: 'VENDOR', + 7937: 'RENDERER', + 7938: 'VERSION', + 9728: 'NEAREST', + 9729: 'LINEAR', + 9984: 'NEAREST_MIPMAP_NEAREST', + 9985: 'LINEAR_MIPMAP_NEAREST', + 9986: 'NEAREST_MIPMAP_LINEAR', + 9987: 'LINEAR_MIPMAP_LINEAR', + 10240: 'TEXTURE_MAG_FILTER', + 10241: 'TEXTURE_MIN_FILTER', + 10242: 'TEXTURE_WRAP_S', + 10243: 'TEXTURE_WRAP_T', + 10497: 'REPEAT', + 10752: 'POLYGON_OFFSET_UNITS', + 16384: 'COLOR_BUFFER_BIT', + 32769: 'CONSTANT_COLOR', + 32770: 'ONE_MINUS_CONSTANT_COLOR', + 32771: 'CONSTANT_ALPHA', + 32772: 'ONE_MINUS_CONSTANT_ALPHA', + 32773: 'BLEND_COLOR', + 32774: 'FUNC_ADD', + 32777: 'BLEND_EQUATION_RGB', + 32778: 'FUNC_SUBTRACT', + 32779: 'FUNC_REVERSE_SUBTRACT', + 32819: 'UNSIGNED_SHORT_4_4_4_4', + 32820: 'UNSIGNED_SHORT_5_5_5_1', + 32823: 'POLYGON_OFFSET_FILL', + 32824: 'POLYGON_OFFSET_FACTOR', + 32854: 'RGBA4', + 32855: 'RGB5_A1', + 32873: 'TEXTURE_BINDING_2D', + 32926: 'SAMPLE_ALPHA_TO_COVERAGE', + 32928: 'SAMPLE_COVERAGE', + 32936: 'SAMPLE_BUFFERS', + 32937: 'SAMPLES', + 32938: 'SAMPLE_COVERAGE_VALUE', + 32939: 'SAMPLE_COVERAGE_INVERT', + 32968: 'BLEND_DST_RGB', + 32969: 'BLEND_SRC_RGB', + 32970: 'BLEND_DST_ALPHA', + 32971: 'BLEND_SRC_ALPHA', + 33071: 'CLAMP_TO_EDGE', + 33170: 'GENERATE_MIPMAP_HINT', + 33189: 'DEPTH_COMPONENT16', + 33306: 'DEPTH_STENCIL_ATTACHMENT', + 33635: 'UNSIGNED_SHORT_5_6_5', + 33648: 'MIRRORED_REPEAT', + 33901: 'ALIASED_POINT_SIZE_RANGE', + 33902: 'ALIASED_LINE_WIDTH_RANGE', + 33984: 'TEXTURE0', + 33985: 'TEXTURE1', + 33986: 'TEXTURE2', + 33987: 'TEXTURE3', + 33988: 'TEXTURE4', + 33989: 'TEXTURE5', + 33990: 'TEXTURE6', + 33991: 'TEXTURE7', + 33992: 'TEXTURE8', + 33993: 'TEXTURE9', + 33994: 'TEXTURE10', + 33995: 'TEXTURE11', + 33996: 'TEXTURE12', + 33997: 'TEXTURE13', + 33998: 'TEXTURE14', + 33999: 'TEXTURE15', + 34e3: 'TEXTURE16', + 34001: 'TEXTURE17', + 34002: 'TEXTURE18', + 34003: 'TEXTURE19', + 34004: 'TEXTURE20', + 34005: 'TEXTURE21', + 34006: 'TEXTURE22', + 34007: 'TEXTURE23', + 34008: 'TEXTURE24', + 34009: 'TEXTURE25', + 34010: 'TEXTURE26', + 34011: 'TEXTURE27', + 34012: 'TEXTURE28', + 34013: 'TEXTURE29', + 34014: 'TEXTURE30', + 34015: 'TEXTURE31', + 34016: 'ACTIVE_TEXTURE', + 34024: 'MAX_RENDERBUFFER_SIZE', + 34041: 'DEPTH_STENCIL', + 34055: 'INCR_WRAP', + 34056: 'DECR_WRAP', + 34067: 'TEXTURE_CUBE_MAP', + 34068: 'TEXTURE_BINDING_CUBE_MAP', + 34069: 'TEXTURE_CUBE_MAP_POSITIVE_X', + 34070: 'TEXTURE_CUBE_MAP_NEGATIVE_X', + 34071: 'TEXTURE_CUBE_MAP_POSITIVE_Y', + 34072: 'TEXTURE_CUBE_MAP_NEGATIVE_Y', + 34073: 'TEXTURE_CUBE_MAP_POSITIVE_Z', + 34074: 'TEXTURE_CUBE_MAP_NEGATIVE_Z', + 34076: 'MAX_CUBE_MAP_TEXTURE_SIZE', + 34338: 'VERTEX_ATTRIB_ARRAY_ENABLED', + 34339: 'VERTEX_ATTRIB_ARRAY_SIZE', + 34340: 'VERTEX_ATTRIB_ARRAY_STRIDE', + 34341: 'VERTEX_ATTRIB_ARRAY_TYPE', + 34342: 'CURRENT_VERTEX_ATTRIB', + 34373: 'VERTEX_ATTRIB_ARRAY_POINTER', + 34466: 'NUM_COMPRESSED_TEXTURE_FORMATS', + 34467: 'COMPRESSED_TEXTURE_FORMATS', + 34660: 'BUFFER_SIZE', + 34661: 'BUFFER_USAGE', + 34816: 'STENCIL_BACK_FUNC', + 34817: 'STENCIL_BACK_FAIL', + 34818: 'STENCIL_BACK_PASS_DEPTH_FAIL', + 34819: 'STENCIL_BACK_PASS_DEPTH_PASS', + 34877: 'BLEND_EQUATION_ALPHA', + 34921: 'MAX_VERTEX_ATTRIBS', + 34922: 'VERTEX_ATTRIB_ARRAY_NORMALIZED', + 34930: 'MAX_TEXTURE_IMAGE_UNITS', + 34962: 'ARRAY_BUFFER', + 34963: 'ELEMENT_ARRAY_BUFFER', + 34964: 'ARRAY_BUFFER_BINDING', + 34965: 'ELEMENT_ARRAY_BUFFER_BINDING', + 34975: 'VERTEX_ATTRIB_ARRAY_BUFFER_BINDING', + 35040: 'STREAM_DRAW', + 35044: 'STATIC_DRAW', + 35048: 'DYNAMIC_DRAW', + 35632: 'FRAGMENT_SHADER', + 35633: 'VERTEX_SHADER', + 35660: 'MAX_VERTEX_TEXTURE_IMAGE_UNITS', + 35661: 'MAX_COMBINED_TEXTURE_IMAGE_UNITS', + 35663: 'SHADER_TYPE', + 35664: 'FLOAT_VEC2', + 35665: 'FLOAT_VEC3', + 35666: 'FLOAT_VEC4', + 35667: 'INT_VEC2', + 35668: 'INT_VEC3', + 35669: 'INT_VEC4', + 35670: 'BOOL', + 35671: 'BOOL_VEC2', + 35672: 'BOOL_VEC3', + 35673: 'BOOL_VEC4', + 35674: 'FLOAT_MAT2', + 35675: 'FLOAT_MAT3', + 35676: 'FLOAT_MAT4', + 35678: 'SAMPLER_2D', + 35680: 'SAMPLER_CUBE', + 35712: 'DELETE_STATUS', + 35713: 'COMPILE_STATUS', + 35714: 'LINK_STATUS', + 35715: 'VALIDATE_STATUS', + 35716: 'INFO_LOG_LENGTH', + 35717: 'ATTACHED_SHADERS', + 35718: 'ACTIVE_UNIFORMS', + 35719: 'ACTIVE_UNIFORM_MAX_LENGTH', + 35720: 'SHADER_SOURCE_LENGTH', + 35721: 'ACTIVE_ATTRIBUTES', + 35722: 'ACTIVE_ATTRIBUTE_MAX_LENGTH', + 35724: 'SHADING_LANGUAGE_VERSION', + 35725: 'CURRENT_PROGRAM', + 36003: 'STENCIL_BACK_REF', + 36004: 'STENCIL_BACK_VALUE_MASK', + 36005: 'STENCIL_BACK_WRITEMASK', + 36006: 'FRAMEBUFFER_BINDING', + 36007: 'RENDERBUFFER_BINDING', + 36048: 'FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE', + 36049: 'FRAMEBUFFER_ATTACHMENT_OBJECT_NAME', + 36050: 'FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL', + 36051: 'FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE', + 36053: 'FRAMEBUFFER_COMPLETE', + 36054: 'FRAMEBUFFER_INCOMPLETE_ATTACHMENT', + 36055: 'FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT', + 36057: 'FRAMEBUFFER_INCOMPLETE_DIMENSIONS', + 36061: 'FRAMEBUFFER_UNSUPPORTED', + 36064: 'COLOR_ATTACHMENT0', + 36096: 'DEPTH_ATTACHMENT', + 36128: 'STENCIL_ATTACHMENT', + 36160: 'FRAMEBUFFER', + 36161: 'RENDERBUFFER', + 36162: 'RENDERBUFFER_WIDTH', + 36163: 'RENDERBUFFER_HEIGHT', + 36164: 'RENDERBUFFER_INTERNAL_FORMAT', + 36168: 'STENCIL_INDEX8', + 36176: 'RENDERBUFFER_RED_SIZE', + 36177: 'RENDERBUFFER_GREEN_SIZE', + 36178: 'RENDERBUFFER_BLUE_SIZE', + 36179: 'RENDERBUFFER_ALPHA_SIZE', + 36180: 'RENDERBUFFER_DEPTH_SIZE', + 36181: 'RENDERBUFFER_STENCIL_SIZE', + 36194: 'RGB565', + 36336: 'LOW_FLOAT', + 36337: 'MEDIUM_FLOAT', + 36338: 'HIGH_FLOAT', + 36339: 'LOW_INT', + 36340: 'MEDIUM_INT', + 36341: 'HIGH_INT', + 36346: 'SHADER_COMPILER', + 36347: 'MAX_VERTEX_UNIFORM_VECTORS', + 36348: 'MAX_VARYING_VECTORS', + 36349: 'MAX_FRAGMENT_UNIFORM_VECTORS', + 37440: 'UNPACK_FLIP_Y_WEBGL', + 37441: 'UNPACK_PREMULTIPLY_ALPHA_WEBGL', + 37442: 'CONTEXT_LOST_WEBGL', + 37443: 'UNPACK_COLORSPACE_CONVERSION_WEBGL', + 37444: 'BROWSER_DEFAULT_WEBGL', + }; + }, + {}, + ], + 265: [ + function (t, e, r) { + var n = t('./1.0/numbers'); + e.exports = function (t) { + return n[t]; + }; + }, + { './1.0/numbers': 264 }, + ], + 266: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e), + o = i(e, [ + { buffer: r, type: e.FLOAT, size: 3, offset: 0, stride: 40 }, + { buffer: r, type: e.FLOAT, size: 4, offset: 12, stride: 40 }, + { buffer: r, type: e.FLOAT, size: 3, offset: 28, stride: 40 }, + ]), + l = a(e); + (l.attributes.position.location = 0), + (l.attributes.color.location = 1), + (l.attributes.offset.location = 2); + var c = new s(e, r, o, l); + return c.update(t), c; + }; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('./shaders/index'), + o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function s(t, e, r, n) { + (this.gl = t), + (this.shader = n), + (this.buffer = e), + (this.vao = r), + (this.pixelRatio = 1), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.lineWidth = [1, 1, 1]), + (this.capSize = [10, 10, 10]), + (this.lineCount = [0, 0, 0]), + (this.lineOffset = [0, 0, 0]), + (this.opacity = 1), + (this.hasAlpha = !1); + } + var l = s.prototype; + function c(t, e) { + for (var r = 0; r < 3; ++r) + (t[0][r] = Math.min(t[0][r], e[r])), + (t[1][r] = Math.max(t[1][r], e[r])); + } + (l.isOpaque = function () { + return !this.hasAlpha; + }), + (l.isTransparent = function () { + return this.hasAlpha; + }), + (l.drawTransparent = l.draw = + function (t) { + var e = this.gl, + r = this.shader.uniforms; + this.shader.bind(); + var n = (r.view = t.view || o), + i = (r.projection = t.projection || o); + (r.model = t.model || o), + (r.clipBounds = this.clipBounds), + (r.opacity = this.opacity); + var a = n[12], + s = n[13], + l = n[14], + c = n[15], + u = + ((t._ortho || !1 ? 2 : 1) * + this.pixelRatio * + (i[3] * a + i[7] * s + i[11] * l + i[15] * c)) / + e.drawingBufferHeight; + this.vao.bind(); + for (var f = 0; f < 3; ++f) + e.lineWidth(this.lineWidth[f] * this.pixelRatio), + (r.capSize = this.capSize[f] * u), + this.lineCount[f] && + e.drawArrays( + e.LINES, + this.lineOffset[f], + this.lineCount[f] + ); + this.vao.unbind(); + }); + var u = (function () { + for (var t = new Array(3), e = 0; e < 3; ++e) { + for (var r = [], n = 1; n <= 2; ++n) + for (var i = -1; i <= 1; i += 2) { + var a = [0, 0, 0]; + (a[(n + e) % 3] = i), r.push(a); + } + t[e] = r; + } + return t; + })(); + function f(t, e, r, n) { + for (var i = u[n], a = 0; a < i.length; ++a) { + var o = i[a]; + t.push( + e[0], + e[1], + e[2], + r[0], + r[1], + r[2], + r[3], + o[0], + o[1], + o[2] + ); + } + return i.length; + } + (l.update = function (t) { + 'lineWidth' in (t = t || {}) && + ((this.lineWidth = t.lineWidth), + Array.isArray(this.lineWidth) || + (this.lineWidth = [ + this.lineWidth, + this.lineWidth, + this.lineWidth, + ])), + 'capSize' in t && + ((this.capSize = t.capSize), + Array.isArray(this.capSize) || + (this.capSize = [this.capSize, this.capSize, this.capSize])), + (this.hasAlpha = !1), + 'opacity' in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)); + var e = t.color || [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + r = t.position, + n = t.error; + if ((Array.isArray(e[0]) || (e = [e, e, e]), r && n)) { + var i = [], + a = r.length, + o = 0; + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.lineCount = [0, 0, 0]); + for (var s = 0; s < 3; ++s) { + this.lineOffset[s] = o; + t: for (var l = 0; l < a; ++l) { + for (var u = r[l], h = 0; h < 3; ++h) + if (isNaN(u[h]) || !isFinite(u[h])) continue t; + var p = n[l], + d = e[s]; + if ( + (Array.isArray(d[0]) && (d = e[l]), + 3 === d.length + ? (d = [d[0], d[1], d[2], 1]) + : 4 === d.length && + ((d = [d[0], d[1], d[2], d[3]]), + !this.hasAlpha && d[3] < 1 && (this.hasAlpha = !0)), + !isNaN(p[0][s]) && !isNaN(p[1][s])) + ) { + var g; + if (p[0][s] < 0) + ((g = u.slice())[s] += p[0][s]), + i.push( + u[0], + u[1], + u[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + g[0], + g[1], + g[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0 + ), + c(this.bounds, g), + (o += 2 + f(i, g, d, s)); + if (p[1][s] > 0) + ((g = u.slice())[s] += p[1][s]), + i.push( + u[0], + u[1], + u[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0, + g[0], + g[1], + g[2], + d[0], + d[1], + d[2], + d[3], + 0, + 0, + 0 + ), + c(this.bounds, g), + (o += 2 + f(i, g, d, s)); + } + } + this.lineCount[s] = o - this.lineOffset[s]; + } + this.buffer.update(i); + } + }), + (l.dispose = function () { + this.shader.dispose(), this.buffer.dispose(), this.vao.dispose(); + }); + }, + { './shaders/index': 268, 'gl-buffer': 259, 'gl-vao': 358 }, + ], + 267: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 268: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'), + i = t('gl-shader'), + a = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}', + ]), + o = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}', + ]); + e.exports = function (t) { + return i(t, a, o, null, [ + { name: 'position', type: 'vec3' }, + { name: 'color', type: 'vec4' }, + { name: 'offset', type: 'vec3' }, + ]); + }; + }, + { 'gl-shader': 335, glslify: 267 }, + ], + 269: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-texture2d'); + e.exports = function (t, e, r, n) { + i || + ((i = t.FRAMEBUFFER_UNSUPPORTED), + (a = t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT), + (o = t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS), + (s = t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT)); + var c = t.getExtension('WEBGL_draw_buffers'); + !l && + c && + (function (t, e) { + var r = t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL); + l = new Array(r + 1); + for (var n = 0; n <= r; ++n) { + for (var i = new Array(r), a = 0; a < n; ++a) + i[a] = t.COLOR_ATTACHMENT0 + a; + for (a = n; a < r; ++a) i[a] = t.NONE; + l[n] = i; + } + })(t, c); + Array.isArray(e) && ((n = r), (r = 0 | e[1]), (e = 0 | e[0])); + if ('number' != typeof e) + throw new Error('gl-fbo: Missing shape parameter'); + var u = t.getParameter(t.MAX_RENDERBUFFER_SIZE); + if (e < 0 || e > u || r < 0 || r > u) + throw new Error('gl-fbo: Parameters are too large for FBO'); + var f = 1; + if ('color' in (n = n || {})) { + if ((f = Math.max(0 | n.color, 0)) < 0) + throw new Error( + 'gl-fbo: Must specify a nonnegative number of colors' + ); + if (f > 1) { + if (!c) + throw new Error( + 'gl-fbo: Multiple draw buffer extension not supported' + ); + if (f > t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL)) + throw new Error( + 'gl-fbo: Context does not support ' + f + ' draw buffers' + ); + } + } + var h = t.UNSIGNED_BYTE, + p = t.getExtension('OES_texture_float'); + if (n.float && f > 0) { + if (!p) + throw new Error( + 'gl-fbo: Context does not support floating point textures' + ); + h = t.FLOAT; + } else n.preferFloat && f > 0 && p && (h = t.FLOAT); + var g = !0; + 'depth' in n && (g = !!n.depth); + var m = !1; + 'stencil' in n && (m = !!n.stencil); + return new d(t, e, r, h, f, g, m, c); + }; + var i, + a, + o, + s, + l = null; + function c(t) { + return [ + t.getParameter(t.FRAMEBUFFER_BINDING), + t.getParameter(t.RENDERBUFFER_BINDING), + t.getParameter(t.TEXTURE_BINDING_2D), + ]; + } + function u(t, e) { + t.bindFramebuffer(t.FRAMEBUFFER, e[0]), + t.bindRenderbuffer(t.RENDERBUFFER, e[1]), + t.bindTexture(t.TEXTURE_2D, e[2]); + } + function f(t) { + switch (t) { + case i: + throw new Error('gl-fbo: Framebuffer unsupported'); + case a: + throw new Error('gl-fbo: Framebuffer incomplete attachment'); + case o: + throw new Error('gl-fbo: Framebuffer incomplete dimensions'); + case s: + throw new Error( + 'gl-fbo: Framebuffer incomplete missing attachment' + ); + default: + throw new Error( + 'gl-fbo: Framebuffer failed for unspecified reason' + ); + } + } + function h(t, e, r, i, a, o) { + if (!i) return null; + var s = n(t, e, r, a, i); + return ( + (s.magFilter = t.NEAREST), + (s.minFilter = t.NEAREST), + (s.mipSamples = 1), + s.bind(), + t.framebufferTexture2D( + t.FRAMEBUFFER, + o, + t.TEXTURE_2D, + s.handle, + 0 + ), + s + ); + } + function p(t, e, r, n, i) { + var a = t.createRenderbuffer(); + return ( + t.bindRenderbuffer(t.RENDERBUFFER, a), + t.renderbufferStorage(t.RENDERBUFFER, n, e, r), + t.framebufferRenderbuffer(t.FRAMEBUFFER, i, t.RENDERBUFFER, a), + a + ); + } + function d(t, e, r, n, i, a, o, s) { + (this.gl = t), + (this._shape = [0 | e, 0 | r]), + (this._destroyed = !1), + (this._ext = s), + (this.color = new Array(i)); + for (var d = 0; d < i; ++d) this.color[d] = null; + (this._color_rb = null), + (this.depth = null), + (this._depth_rb = null), + (this._colorType = n), + (this._useDepth = a), + (this._useStencil = o); + var g = this, + m = [0 | e, 0 | r]; + Object.defineProperties(m, { + 0: { + get: function () { + return g._shape[0]; + }, + set: function (t) { + return (g.width = t); + }, + }, + 1: { + get: function () { + return g._shape[1]; + }, + set: function (t) { + return (g.height = t); + }, + }, + }), + (this._shapeVector = m), + (function (t) { + var e = c(t.gl), + r = t.gl, + n = (t.handle = r.createFramebuffer()), + i = t._shape[0], + a = t._shape[1], + o = t.color.length, + s = t._ext, + d = t._useStencil, + g = t._useDepth, + m = t._colorType; + r.bindFramebuffer(r.FRAMEBUFFER, n); + for (var v = 0; v < o; ++v) + t.color[v] = h(r, i, a, m, r.RGBA, r.COLOR_ATTACHMENT0 + v); + 0 === o + ? ((t._color_rb = p(r, i, a, r.RGBA4, r.COLOR_ATTACHMENT0)), + s && s.drawBuffersWEBGL(l[0])) + : o > 1 && s.drawBuffersWEBGL(l[o]); + var y = r.getExtension('WEBGL_depth_texture'); + y + ? d + ? (t.depth = h( + r, + i, + a, + y.UNSIGNED_INT_24_8_WEBGL, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT + )) + : g && + (t.depth = h( + r, + i, + a, + r.UNSIGNED_SHORT, + r.DEPTH_COMPONENT, + r.DEPTH_ATTACHMENT + )) + : g && d + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_STENCIL, + r.DEPTH_STENCIL_ATTACHMENT + )) + : g + ? (t._depth_rb = p( + r, + i, + a, + r.DEPTH_COMPONENT16, + r.DEPTH_ATTACHMENT + )) + : d && + (t._depth_rb = p( + r, + i, + a, + r.STENCIL_INDEX, + r.STENCIL_ATTACHMENT + )); + var x = r.checkFramebufferStatus(r.FRAMEBUFFER); + if (x !== r.FRAMEBUFFER_COMPLETE) { + (t._destroyed = !0), + r.bindFramebuffer(r.FRAMEBUFFER, null), + r.deleteFramebuffer(t.handle), + (t.handle = null), + t.depth && (t.depth.dispose(), (t.depth = null)), + t._depth_rb && + (r.deleteRenderbuffer(t._depth_rb), (t._depth_rb = null)); + for (v = 0; v < t.color.length; ++v) + t.color[v].dispose(), (t.color[v] = null); + t._color_rb && + (r.deleteRenderbuffer(t._color_rb), (t._color_rb = null)), + u(r, e), + f(x); + } + u(r, e); + })(this); + } + var g = d.prototype; + function m(t, e, r) { + if (t._destroyed) + throw new Error("gl-fbo: Can't resize destroyed FBO"); + if (t._shape[0] !== e || t._shape[1] !== r) { + var n = t.gl, + i = n.getParameter(n.MAX_RENDERBUFFER_SIZE); + if (e < 0 || e > i || r < 0 || r > i) + throw new Error("gl-fbo: Can't resize FBO, invalid dimensions"); + (t._shape[0] = e), (t._shape[1] = r); + for (var a = c(n), o = 0; o < t.color.length; ++o) + t.color[o].shape = t._shape; + t._color_rb && + (n.bindRenderbuffer(n.RENDERBUFFER, t._color_rb), + n.renderbufferStorage( + n.RENDERBUFFER, + n.RGBA4, + t._shape[0], + t._shape[1] + )), + t.depth && (t.depth.shape = t._shape), + t._depth_rb && + (n.bindRenderbuffer(n.RENDERBUFFER, t._depth_rb), + t._useDepth && t._useStencil + ? n.renderbufferStorage( + n.RENDERBUFFER, + n.DEPTH_STENCIL, + t._shape[0], + t._shape[1] + ) + : t._useDepth + ? n.renderbufferStorage( + n.RENDERBUFFER, + n.DEPTH_COMPONENT16, + t._shape[0], + t._shape[1] + ) + : t._useStencil && + n.renderbufferStorage( + n.RENDERBUFFER, + n.STENCIL_INDEX, + t._shape[0], + t._shape[1] + )), + n.bindFramebuffer(n.FRAMEBUFFER, t.handle); + var s = n.checkFramebufferStatus(n.FRAMEBUFFER); + s !== n.FRAMEBUFFER_COMPLETE && (t.dispose(), u(n, a), f(s)), + u(n, a); + } + } + Object.defineProperties(g, { + shape: { + get: function () { + return this._destroyed ? [0, 0] : this._shapeVector; + }, + set: function (t) { + if ((Array.isArray(t) || (t = [0 | t, 0 | t]), 2 !== t.length)) + throw new Error('gl-fbo: Shape vector must be length 2'); + var e = 0 | t[0], + r = 0 | t[1]; + return m(this, e, r), [e, r]; + }, + enumerable: !1, + }, + width: { + get: function () { + return this._destroyed ? 0 : this._shape[0]; + }, + set: function (t) { + return m(this, (t |= 0), this._shape[1]), t; + }, + enumerable: !1, + }, + height: { + get: function () { + return this._destroyed ? 0 : this._shape[1]; + }, + set: function (t) { + return (t |= 0), m(this, this._shape[0], t), t; + }, + enumerable: !1, + }, + }), + (g.bind = function () { + if (!this._destroyed) { + var t = this.gl; + t.bindFramebuffer(t.FRAMEBUFFER, this.handle), + t.viewport(0, 0, this._shape[0], this._shape[1]); + } + }), + (g.dispose = function () { + if (!this._destroyed) { + this._destroyed = !0; + var t = this.gl; + t.deleteFramebuffer(this.handle), + (this.handle = null), + this.depth && (this.depth.dispose(), (this.depth = null)), + this._depth_rb && + (t.deleteRenderbuffer(this._depth_rb), + (this._depth_rb = null)); + for (var e = 0; e < this.color.length; ++e) + this.color[e].dispose(), (this.color[e] = null); + this._color_rb && + (t.deleteRenderbuffer(this._color_rb), + (this._color_rb = null)); + } + }); + }, + { 'gl-texture2d': 353 }, + ], + 270: [ + function (t, e, r) { + var n = t('sprintf-js').sprintf, + i = t('gl-constants/lookup'), + a = t('glsl-shader-name'), + o = t('add-line-numbers'); + e.exports = function (t, e, r) { + 'use strict'; + var s = a(e) || 'of unknown name (see npm glsl-shader-name)', + l = 'unknown type'; + void 0 !== r && + (l = r === i.FRAGMENT_SHADER ? 'fragment' : 'vertex'); + for ( + var c = n('Error compiling %s shader %s:\n', l, s), + u = n('%s%s', c, t), + f = t.split('\n'), + h = {}, + p = 0; + p < f.length; + p++ + ) { + var d = f[p]; + if ('' !== d && '\0' !== d) { + var g = parseInt(d.split(':')[2]); + if (isNaN(g)) + throw new Error(n('Could not parse error: %s', d)); + h[g] = d; + } + } + var m = o(e).split('\n'); + for (p = 0; p < m.length; p++) + if (h[p + 3] || h[p + 2] || h[p + 1]) { + var v = m[p]; + if (((c += v + '\n'), h[p + 1])) { + var y = h[p + 1]; + (y = y.substr(y.split(':', 3).join(':').length + 1).trim()), + (c += n('^^^ %s\n\n', y)); + } + } + return { long: c.trim(), short: u.trim() }; + }; + }, + { + 'add-line-numbers': 66, + 'gl-constants/lookup': 265, + 'glsl-shader-name': 431, + 'sprintf-js': 567, + }, + ], + 271: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = t.gl, + n = o(r, l.vertex, l.fragment), + i = o(r, l.pickVertex, l.pickFragment), + a = s(r), + u = s(r), + f = s(r), + h = s(r), + p = new c(t, n, i, a, u, f, h); + return p.update(e), t.addObject(p), p; + }; + var n = t('binary-search-bounds'), + i = t('iota-array'), + a = t('typedarray-pool'), + o = t('gl-shader'), + s = t('gl-buffer'), + l = t('./lib/shaders'); + function c(t, e, r, n, i, a, o) { + (this.plot = t), + (this.shader = e), + (this.pickShader = r), + (this.positionBuffer = n), + (this.weightBuffer = i), + (this.colorBuffer = a), + (this.idBuffer = o), + (this.xData = []), + (this.yData = []), + (this.shape = [0, 0]), + (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.pickOffset = 0); + } + var u, + f = c.prototype, + h = [0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1]; + (f.draw = + ((u = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + function () { + var t = this.plot, + e = this.shader, + r = this.bounds, + n = this.numVertices; + if (!(n <= 0)) { + var i = t.gl, + a = t.dataBox, + o = r[2] - r[0], + s = r[3] - r[1], + l = a[2] - a[0], + c = a[3] - a[1]; + (u[0] = (2 * o) / l), + (u[4] = (2 * s) / c), + (u[6] = (2 * (r[0] - a[0])) / l - 1), + (u[7] = (2 * (r[1] - a[1])) / c - 1), + e.bind(); + var f = e.uniforms; + (f.viewTransform = u), (f.shape = this.shape); + var h = e.attributes; + this.positionBuffer.bind(), + h.position.pointer(), + this.weightBuffer.bind(), + h.weight.pointer(i.UNSIGNED_BYTE, !1), + this.colorBuffer.bind(), + h.color.pointer(i.UNSIGNED_BYTE, !0), + i.drawArrays(i.TRIANGLES, 0, n); + } + })), + (f.drawPick = (function () { + var t = [1, 0, 0, 0, 1, 0, 0, 0, 1], + e = [0, 0, 0, 0]; + return function (r) { + var n = this.plot, + i = this.pickShader, + a = this.bounds, + o = this.numVertices; + if (!(o <= 0)) { + var s = n.gl, + l = n.dataBox, + c = a[2] - a[0], + u = a[3] - a[1], + f = l[2] - l[0], + h = l[3] - l[1]; + (t[0] = (2 * c) / f), + (t[4] = (2 * u) / h), + (t[6] = (2 * (a[0] - l[0])) / f - 1), + (t[7] = (2 * (a[1] - l[1])) / h - 1); + for (var p = 0; p < 4; ++p) e[p] = (r >> (8 * p)) & 255; + (this.pickOffset = r), i.bind(); + var d = i.uniforms; + (d.viewTransform = t), + (d.pickOffset = e), + (d.shape = this.shape); + var g = i.attributes; + return ( + this.positionBuffer.bind(), + g.position.pointer(), + this.weightBuffer.bind(), + g.weight.pointer(s.UNSIGNED_BYTE, !1), + this.idBuffer.bind(), + g.pickId.pointer(s.UNSIGNED_BYTE, !1), + s.drawArrays(s.TRIANGLES, 0, o), + r + this.shape[0] * this.shape[1] + ); + } + }; + })()), + (f.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.shape[0] * this.shape[1]; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.xData, + s = this.yData; + return { + object: this, + pointId: a, + dataCoord: [o[a % this.shape[0]], s[(a / this.shape[0]) | 0]], + }; + }), + (f.update = function (t) { + var e = (t = t || {}).shape || [0, 0], + r = t.x || i(e[0]), + o = t.y || i(e[1]), + s = t.z || new Float32Array(e[0] * e[1]), + l = !1 !== t.zsmooth; + (this.xData = r), (this.yData = o); + var c, + u, + f, + p, + d = t.colorLevels || [0], + g = t.colorValues || [0, 0, 0, 1], + m = d.length, + v = this.bounds; + l + ? ((c = v[0] = r[0]), + (u = v[1] = o[0]), + (f = v[2] = r[r.length - 1]), + (p = v[3] = o[o.length - 1])) + : ((c = v[0] = r[0] + (r[1] - r[0]) / 2), + (u = v[1] = o[0] + (o[1] - o[0]) / 2), + (f = v[2] = + r[r.length - 1] + (r[r.length - 1] - r[r.length - 2]) / 2), + (p = v[3] = + o[o.length - 1] + (o[o.length - 1] - o[o.length - 2]) / 2)); + var y = 1 / (f - c), + x = 1 / (p - u), + b = e[0], + _ = e[1]; + this.shape = [b, _]; + var w = (l ? (b - 1) * (_ - 1) : b * _) * (h.length >>> 1); + this.numVertices = w; + for ( + var T = a.mallocUint8(4 * w), + k = a.mallocFloat32(2 * w), + M = a.mallocUint8(2 * w), + A = a.mallocUint32(w), + S = 0, + E = l ? b - 1 : b, + C = l ? _ - 1 : _, + L = 0; + L < C; + ++L + ) { + var I, P; + l + ? ((I = x * (o[L] - u)), (P = x * (o[L + 1] - u))) + : ((I = + L < _ - 1 + ? x * (o[L] - (o[L + 1] - o[L]) / 2 - u) + : x * (o[L] - (o[L] - o[L - 1]) / 2 - u)), + (P = + L < _ - 1 + ? x * (o[L] + (o[L + 1] - o[L]) / 2 - u) + : x * (o[L] + (o[L] - o[L - 1]) / 2 - u))); + for (var z = 0; z < E; ++z) { + var O, D; + l + ? ((O = y * (r[z] - c)), (D = y * (r[z + 1] - c))) + : ((O = + z < b - 1 + ? y * (r[z] - (r[z + 1] - r[z]) / 2 - c) + : y * (r[z] - (r[z] - r[z - 1]) / 2 - c)), + (D = + z < b - 1 + ? y * (r[z] + (r[z + 1] - r[z]) / 2 - c) + : y * (r[z] + (r[z] - r[z - 1]) / 2 - c))); + for (var R = 0; R < h.length; R += 2) { + var F, + B, + N, + j, + U = h[R], + V = h[R + 1], + q = s[l ? (L + V) * b + (z + U) : L * b + z], + H = n.le(d, q); + if (H < 0) (F = g[0]), (B = g[1]), (N = g[2]), (j = g[3]); + else if (H === m - 1) + (F = g[4 * m - 4]), + (B = g[4 * m - 3]), + (N = g[4 * m - 2]), + (j = g[4 * m - 1]); + else { + var G = (q - d[H]) / (d[H + 1] - d[H]), + Y = 1 - G, + W = 4 * H, + X = 4 * (H + 1); + (F = Y * g[W] + G * g[X]), + (B = Y * g[W + 1] + G * g[X + 1]), + (N = Y * g[W + 2] + G * g[X + 2]), + (j = Y * g[W + 3] + G * g[X + 3]); + } + (T[4 * S] = 255 * F), + (T[4 * S + 1] = 255 * B), + (T[4 * S + 2] = 255 * N), + (T[4 * S + 3] = 255 * j), + (k[2 * S] = 0.5 * O + 0.5 * D), + (k[2 * S + 1] = 0.5 * I + 0.5 * P), + (M[2 * S] = U), + (M[2 * S + 1] = V), + (A[S] = L * b + z), + (S += 1); + } + } + } + this.positionBuffer.update(k), + this.weightBuffer.update(M), + this.colorBuffer.update(T), + this.idBuffer.update(A), + a.free(k), + a.free(T), + a.free(M), + a.free(A); + }), + (f.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.positionBuffer.dispose(), + this.weightBuffer.dispose(), + this.colorBuffer.dispose(), + this.idBuffer.dispose(), + this.plot.removeObject(this); + }); + }, + { + './lib/shaders': 272, + 'binary-search-bounds': 96, + 'gl-buffer': 259, + 'gl-shader': 335, + 'iota-array': 463, + 'typedarray-pool': 595, + }, + ], + 272: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'); + e.exports = { + fragment: n([ + 'precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n', + ]), + vertex: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n', + ]), + pickFragment: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n', + ]), + pickVertex: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n', + ]), + }; + }, + { glslify: 273 }, + ], + 273: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 274: [ + function (t, e, r) { + var n = t('glslify'), + i = t('gl-shader'), + a = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n', + ]), + o = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n', + ]), + s = n([ + 'precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}', + ]), + l = [ + { name: 'position', type: 'vec3' }, + { name: 'nextPosition', type: 'vec3' }, + { name: 'arcLength', type: 'float' }, + { name: 'lineWidth', type: 'float' }, + { name: 'color', type: 'vec4' }, + ]; + (r.createShader = function (t) { + return i(t, a, o, null, l); + }), + (r.createPickShader = function (t) { + return i(t, a, s, null, l); + }); + }, + { 'gl-shader': 335, glslify: 276 }, + ], + 275: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl || (t.scene && t.scene.gl), + r = f(e); + (r.attributes.position.location = 0), + (r.attributes.nextPosition.location = 1), + (r.attributes.arcLength.location = 2), + (r.attributes.lineWidth.location = 3), + (r.attributes.color.location = 4); + var o = h(e); + (o.attributes.position.location = 0), + (o.attributes.nextPosition.location = 1), + (o.attributes.arcLength.location = 2), + (o.attributes.lineWidth.location = 3), + (o.attributes.color.location = 4); + for ( + var s = n(e), + l = i(e, [ + { buffer: s, size: 3, offset: 0, stride: 48 }, + { buffer: s, size: 3, offset: 12, stride: 48 }, + { buffer: s, size: 1, offset: 24, stride: 48 }, + { buffer: s, size: 1, offset: 28, stride: 48 }, + { buffer: s, size: 4, offset: 32, stride: 48 }, + ]), + u = c(new Array(1024), [256, 1, 4]), + p = 0; + p < 1024; + ++p + ) + u.data[p] = 255; + var d = a(e, u); + d.wrap = e.REPEAT; + var g = new v(e, r, o, s, l, d); + return g.update(t), g; + }; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('gl-texture2d'), + o = new Uint8Array(4), + s = new Float32Array(o.buffer); + var l = t('binary-search-bounds'), + c = t('ndarray'), + u = t('./lib/shaders'), + f = u.createShader, + h = u.createPickShader, + p = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function d(t, e) { + for (var r = 0, n = 0; n < 3; ++n) { + var i = t[n] - e[n]; + r += i * i; + } + return Math.sqrt(r); + } + function g(t) { + for ( + var e = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + r = 0; + r < 3; + ++r + ) + (e[0][r] = Math.max(t[0][r], e[0][r])), + (e[1][r] = Math.min(t[1][r], e[1][r])); + return e; + } + function m(t, e, r, n) { + (this.arcLength = t), + (this.position = e), + (this.index = r), + (this.dataCoordinate = n); + } + function v(t, e, r, n, i, a) { + (this.gl = t), + (this.shader = e), + (this.pickShader = r), + (this.buffer = n), + (this.vao = i), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.points = []), + (this.arcLength = []), + (this.vertexCount = 0), + (this.bounds = [ + [0, 0, 0], + [0, 0, 0], + ]), + (this.pickId = 0), + (this.lineWidth = 1), + (this.texture = a), + (this.dashScale = 1), + (this.opacity = 1), + (this.hasAlpha = !1), + (this.dirty = !0), + (this.pixelRatio = 1); + } + var y = v.prototype; + (y.isTransparent = function () { + return this.hasAlpha; + }), + (y.isOpaque = function () { + return !this.hasAlpha; + }), + (y.pickSlots = 1), + (y.setPickBase = function (t) { + this.pickId = t; + }), + (y.drawTransparent = y.draw = + function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.shader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + clipBounds: g(this.clipBounds), + dashTexture: this.texture.bind(), + dashScale: + this.dashScale / + this.arcLength[this.arcLength.length - 1], + opacity: this.opacity, + screenShape: [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw(e.TRIANGLE_STRIP, this.vertexCount), + n.unbind(); + } + }), + (y.drawPick = function (t) { + if (this.vertexCount) { + var e = this.gl, + r = this.pickShader, + n = this.vao; + r.bind(), + (r.uniforms = { + model: t.model || p, + view: t.view || p, + projection: t.projection || p, + pickId: this.pickId, + clipBounds: g(this.clipBounds), + screenShape: [e.drawingBufferWidth, e.drawingBufferHeight], + pixelRatio: this.pixelRatio, + }), + n.bind(), + n.draw(e.TRIANGLE_STRIP, this.vertexCount), + n.unbind(); + } + }), + (y.update = function (t) { + var e, r; + this.dirty = !0; + var n = !!t.connectGaps; + 'dashScale' in t && (this.dashScale = t.dashScale), + (this.hasAlpha = !1), + 'opacity' in t && + ((this.opacity = +t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)); + var i = [], + a = [], + o = [], + s = 0, + u = 0, + f = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + h = t.position || t.positions; + if (h) { + var p = t.color || t.colors || [0, 0, 0, 1], + g = t.lineWidth || 1, + m = !1; + t: for (e = 1; e < h.length; ++e) { + var v, + y, + x, + b = h[e - 1], + _ = h[e]; + for (a.push(s), o.push(b.slice()), r = 0; r < 3; ++r) { + if ( + isNaN(b[r]) || + isNaN(_[r]) || + !isFinite(b[r]) || + !isFinite(_[r]) + ) { + if (!n && i.length > 0) { + for (var w = 0; w < 24; ++w) i.push(i[i.length - 12]); + (u += 2), (m = !0); + } + continue t; + } + (f[0][r] = Math.min(f[0][r], b[r], _[r])), + (f[1][r] = Math.max(f[1][r], b[r], _[r])); + } + Array.isArray(p[0]) + ? ((v = + p.length > e - 1 + ? p[e - 1] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1]), + (y = + p.length > e + ? p[e] + : p.length > 0 + ? p[p.length - 1] + : [0, 0, 0, 1])) + : (v = y = p), + 3 === v.length && (v = [v[0], v[1], v[2], 1]), + 3 === y.length && (y = [y[0], y[1], y[2], 1]), + !this.hasAlpha && v[3] < 1 && (this.hasAlpha = !0), + (x = Array.isArray(g) + ? g.length > e - 1 + ? g[e - 1] + : g.length > 0 + ? g[g.length - 1] + : [0, 0, 0, 1] + : g); + var T = s; + if (((s += d(b, _)), m)) { + for (r = 0; r < 2; ++r) + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + v[0], + v[1], + v[2], + v[3] + ); + (u += 2), (m = !1); + } + i.push( + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + x, + v[0], + v[1], + v[2], + v[3], + b[0], + b[1], + b[2], + _[0], + _[1], + _[2], + T, + -x, + v[0], + v[1], + v[2], + v[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + -x, + y[0], + y[1], + y[2], + y[3], + _[0], + _[1], + _[2], + b[0], + b[1], + b[2], + s, + x, + y[0], + y[1], + y[2], + y[3] + ), + (u += 4); + } + } + if ( + (this.buffer.update(i), + a.push(s), + o.push(h[h.length - 1].slice()), + (this.bounds = f), + (this.vertexCount = u), + (this.points = o), + (this.arcLength = a), + 'dashes' in t) + ) { + var k = t.dashes.slice(); + for (k.unshift(0), e = 1; e < k.length; ++e) + k[e] = k[e - 1] + k[e]; + var M = c(new Array(1024), [256, 1, 4]); + for (e = 0; e < 256; ++e) { + for (r = 0; r < 4; ++r) M.set(e, 0, r, 0); + 1 & l.le(k, (k[k.length - 1] * e) / 255) + ? M.set(e, 0, 0, 0) + : M.set(e, 0, 0, 255); + } + this.texture.setPixels(M); + } + }), + (y.dispose = function () { + this.shader.dispose(), this.vao.dispose(), this.buffer.dispose(); + }), + (y.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = (function (t, e, r, n) { + return (o[0] = n), (o[1] = r), (o[2] = e), (o[3] = t), s[0]; + })(t.value[0], t.value[1], t.value[2], 0), + r = l.le(this.arcLength, e); + if (r < 0) return null; + if (r === this.arcLength.length - 1) + return new m( + this.arcLength[this.arcLength.length - 1], + this.points[this.points.length - 1].slice(), + r + ); + for ( + var n = this.points[r], + i = this.points[Math.min(r + 1, this.points.length - 1)], + a = + (e - this.arcLength[r]) / + (this.arcLength[r + 1] - this.arcLength[r]), + c = 1 - a, + u = [0, 0, 0], + f = 0; + f < 3; + ++f + ) + u[f] = c * n[f] + a * i[f]; + var h = Math.min(a < 0.5 ? r : r + 1, this.points.length - 1); + return new m(e, u, h, this.points[h]); + }); + }, + { + './lib/shaders': 274, + 'binary-search-bounds': 96, + 'gl-buffer': 259, + 'gl-texture2d': 353, + 'gl-vao': 358, + ndarray: 495, + }, + ], + 276: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 277: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + g = e[13], + m = e[14], + v = e[15]; + return ( + (t[0] = + s * (h * v - p * m) - + f * (l * v - c * m) + + g * (l * p - c * h)), + (t[1] = -( + n * (h * v - p * m) - + f * (i * v - a * m) + + g * (i * p - a * h) + )), + (t[2] = + n * (l * v - c * m) - + s * (i * v - a * m) + + g * (i * c - a * l)), + (t[3] = -( + n * (l * p - c * h) - + s * (i * p - a * h) + + f * (i * c - a * l) + )), + (t[4] = -( + o * (h * v - p * m) - + u * (l * v - c * m) + + d * (l * p - c * h) + )), + (t[5] = + r * (h * v - p * m) - + u * (i * v - a * m) + + d * (i * p - a * h)), + (t[6] = -( + r * (l * v - c * m) - + o * (i * v - a * m) + + d * (i * c - a * l) + )), + (t[7] = + r * (l * p - c * h) - + o * (i * p - a * h) + + u * (i * c - a * l)), + (t[8] = + o * (f * v - p * g) - + u * (s * v - c * g) + + d * (s * p - c * f)), + (t[9] = -( + r * (f * v - p * g) - + u * (n * v - a * g) + + d * (n * p - a * f) + )), + (t[10] = + r * (s * v - c * g) - + o * (n * v - a * g) + + d * (n * c - a * s)), + (t[11] = -( + r * (s * p - c * f) - + o * (n * p - a * f) + + u * (n * c - a * s) + )), + (t[12] = -( + o * (f * m - h * g) - + u * (s * m - l * g) + + d * (s * h - l * f) + )), + (t[13] = + r * (f * m - h * g) - + u * (n * m - i * g) + + d * (n * h - i * f)), + (t[14] = -( + r * (s * m - l * g) - + o * (n * m - i * g) + + d * (n * l - i * s) + )), + (t[15] = + r * (s * h - l * f) - + o * (n * h - i * f) + + u * (n * l - i * s)), + t + ); + }; + }, + {}, + ], + 278: [ + function (t, e, r) { + e.exports = function (t) { + var e = new Float32Array(16); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + (e[4] = t[4]), + (e[5] = t[5]), + (e[6] = t[6]), + (e[7] = t[7]), + (e[8] = t[8]), + (e[9] = t[9]), + (e[10] = t[10]), + (e[11] = t[11]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15]), + e + ); + }; + }, + {}, + ], + 279: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }; + }, + {}, + ], + 280: [ + function (t, e, r) { + e.exports = function () { + var t = new Float32Array(16); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 281: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3], + a = t[4], + o = t[5], + s = t[6], + l = t[7], + c = t[8], + u = t[9], + f = t[10], + h = t[11], + p = t[12], + d = t[13], + g = t[14], + m = t[15]; + return ( + (e * o - r * a) * (f * m - h * g) - + (e * s - n * a) * (u * m - h * d) + + (e * l - i * a) * (u * g - f * d) + + (r * s - n * o) * (c * m - h * p) - + (r * l - i * o) * (c * g - f * p) + + (n * l - i * s) * (c * d - u * p) + ); + }; + }, + {}, + ], + 282: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r + r, + s = n + n, + l = i + i, + c = r * o, + u = n * o, + f = n * s, + h = i * o, + p = i * s, + d = i * l, + g = a * o, + m = a * s, + v = a * l; + return ( + (t[0] = 1 - f - d), + (t[1] = u + v), + (t[2] = h - m), + (t[3] = 0), + (t[4] = u - v), + (t[5] = 1 - c - d), + (t[6] = p + g), + (t[7] = 0), + (t[8] = h + m), + (t[9] = p - g), + (t[10] = 1 - c - f), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 283: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n, + i, + a, + o = r[0], + s = r[1], + l = r[2], + c = Math.sqrt(o * o + s * s + l * l); + if (Math.abs(c) < 1e-6) return null; + return ( + (o *= c = 1 / c), + (s *= c), + (l *= c), + (n = Math.sin(e)), + (i = Math.cos(e)), + (a = 1 - i), + (t[0] = o * o * a + i), + (t[1] = s * o * a + l * n), + (t[2] = l * o * a - s * n), + (t[3] = 0), + (t[4] = o * s * a - l * n), + (t[5] = s * s * a + i), + (t[6] = l * s * a + o * n), + (t[7] = 0), + (t[8] = o * l * a + s * n), + (t[9] = s * l * a - o * n), + (t[10] = l * l * a + i), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 284: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = n + n, + l = i + i, + c = a + a, + u = n * s, + f = n * l, + h = n * c, + p = i * l, + d = i * c, + g = a * c, + m = o * s, + v = o * l, + y = o * c; + return ( + (t[0] = 1 - (p + g)), + (t[1] = f + y), + (t[2] = h - v), + (t[3] = 0), + (t[4] = f - y), + (t[5] = 1 - (u + g)), + (t[6] = d + m), + (t[7] = 0), + (t[8] = h + v), + (t[9] = d - m), + (t[10] = 1 - (u + p)), + (t[11] = 0), + (t[12] = r[0]), + (t[13] = r[1]), + (t[14] = r[2]), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 285: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = e[0]), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = e[1]), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = e[2]), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 286: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = e[0]), + (t[13] = e[1]), + (t[14] = e[2]), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 287: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = n), + (t[6] = r), + (t[7] = 0), + (t[8] = 0), + (t[9] = -r), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 288: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = 0), + (t[2] = -r), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = r), + (t[9] = 0), + (t[10] = n), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 289: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = r), + (t[2] = 0), + (t[3] = 0), + (t[4] = -r), + (t[5] = n), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 290: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i, a, o) { + var s = 1 / (r - e), + l = 1 / (i - n), + c = 1 / (a - o); + return ( + (t[0] = 2 * a * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 2 * a * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = (r + e) * s), + (t[9] = (i + n) * l), + (t[10] = (o + a) * c), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = o * a * 2 * c), + (t[15] = 0), + t + ); + }; + }, + {}, + ], + 291: [ + function (t, e, r) { + e.exports = function (t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 292: [ + function (t, e, r) { + e.exports = { + create: t('./create'), + clone: t('./clone'), + copy: t('./copy'), + identity: t('./identity'), + transpose: t('./transpose'), + invert: t('./invert'), + adjoint: t('./adjoint'), + determinant: t('./determinant'), + multiply: t('./multiply'), + translate: t('./translate'), + scale: t('./scale'), + rotate: t('./rotate'), + rotateX: t('./rotateX'), + rotateY: t('./rotateY'), + rotateZ: t('./rotateZ'), + fromRotation: t('./fromRotation'), + fromRotationTranslation: t('./fromRotationTranslation'), + fromScaling: t('./fromScaling'), + fromTranslation: t('./fromTranslation'), + fromXRotation: t('./fromXRotation'), + fromYRotation: t('./fromYRotation'), + fromZRotation: t('./fromZRotation'), + fromQuat: t('./fromQuat'), + frustum: t('./frustum'), + perspective: t('./perspective'), + perspectiveFromFieldOfView: t('./perspectiveFromFieldOfView'), + ortho: t('./ortho'), + lookAt: t('./lookAt'), + str: t('./str'), + }; + }, + { + './adjoint': 277, + './clone': 278, + './copy': 279, + './create': 280, + './determinant': 281, + './fromQuat': 282, + './fromRotation': 283, + './fromRotationTranslation': 284, + './fromScaling': 285, + './fromTranslation': 286, + './fromXRotation': 287, + './fromYRotation': 288, + './fromZRotation': 289, + './frustum': 290, + './identity': 291, + './invert': 293, + './lookAt': 294, + './multiply': 295, + './ortho': 296, + './perspective': 297, + './perspectiveFromFieldOfView': 298, + './rotate': 299, + './rotateX': 300, + './rotateY': 301, + './rotateZ': 302, + './scale': 303, + './str': 304, + './translate': 305, + './transpose': 306, + }, + ], + 293: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + g = e[13], + m = e[14], + v = e[15], + y = r * s - n * o, + x = r * l - i * o, + b = r * c - a * o, + _ = n * l - i * s, + w = n * c - a * s, + T = i * c - a * l, + k = u * g - f * d, + M = u * m - h * d, + A = u * v - p * d, + S = f * m - h * g, + E = f * v - p * g, + C = h * v - p * m, + L = y * C - x * E + b * S + _ * A - w * M + T * k; + if (!L) return null; + return ( + (L = 1 / L), + (t[0] = (s * C - l * E + c * S) * L), + (t[1] = (i * E - n * C - a * S) * L), + (t[2] = (g * T - m * w + v * _) * L), + (t[3] = (h * w - f * T - p * _) * L), + (t[4] = (l * A - o * C - c * M) * L), + (t[5] = (r * C - i * A + a * M) * L), + (t[6] = (m * b - d * T - v * x) * L), + (t[7] = (u * T - h * b + p * x) * L), + (t[8] = (o * E - s * A + c * k) * L), + (t[9] = (n * A - r * E - a * k) * L), + (t[10] = (d * w - g * b + v * y) * L), + (t[11] = (f * b - u * w - p * y) * L), + (t[12] = (s * M - o * S - l * k) * L), + (t[13] = (r * S - n * M + i * k) * L), + (t[14] = (g * x - d * _ - m * y) * L), + (t[15] = (u * _ - f * x + h * y) * L), + t + ); + }; + }, + {}, + ], + 294: [ + function (t, e, r) { + var n = t('./identity'); + e.exports = function (t, e, r, i) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = e[0], + m = e[1], + v = e[2], + y = i[0], + x = i[1], + b = i[2], + _ = r[0], + w = r[1], + T = r[2]; + if ( + Math.abs(g - _) < 1e-6 && + Math.abs(m - w) < 1e-6 && + Math.abs(v - T) < 1e-6 + ) + return n(t); + (f = g - _), + (h = m - w), + (p = v - T), + (d = 1 / Math.sqrt(f * f + h * h + p * p)), + (a = x * (p *= d) - b * (h *= d)), + (o = b * (f *= d) - y * p), + (s = y * h - x * f), + (d = Math.sqrt(a * a + o * o + s * s)) + ? ((a *= d = 1 / d), (o *= d), (s *= d)) + : ((a = 0), (o = 0), (s = 0)); + (l = h * s - p * o), + (c = p * a - f * s), + (u = f * o - h * a), + (d = Math.sqrt(l * l + c * c + u * u)) + ? ((l *= d = 1 / d), (c *= d), (u *= d)) + : ((l = 0), (c = 0), (u = 0)); + return ( + (t[0] = a), + (t[1] = l), + (t[2] = f), + (t[3] = 0), + (t[4] = o), + (t[5] = c), + (t[6] = h), + (t[7] = 0), + (t[8] = s), + (t[9] = u), + (t[10] = p), + (t[11] = 0), + (t[12] = -(a * g + o * m + s * v)), + (t[13] = -(l * g + c * m + u * v)), + (t[14] = -(f * g + h * m + p * v)), + (t[15] = 1), + t + ); + }; + }, + { './identity': 291 }, + ], + 295: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = e[4], + l = e[5], + c = e[6], + u = e[7], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + g = e[12], + m = e[13], + v = e[14], + y = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * g), + (t[1] = x * i + b * l + _ * h + w * m), + (t[2] = x * a + b * c + _ * p + w * v), + (t[3] = x * o + b * u + _ * d + w * y), + (x = r[4]), + (b = r[5]), + (_ = r[6]), + (w = r[7]), + (t[4] = x * n + b * s + _ * f + w * g), + (t[5] = x * i + b * l + _ * h + w * m), + (t[6] = x * a + b * c + _ * p + w * v), + (t[7] = x * o + b * u + _ * d + w * y), + (x = r[8]), + (b = r[9]), + (_ = r[10]), + (w = r[11]), + (t[8] = x * n + b * s + _ * f + w * g), + (t[9] = x * i + b * l + _ * h + w * m), + (t[10] = x * a + b * c + _ * p + w * v), + (t[11] = x * o + b * u + _ * d + w * y), + (x = r[12]), + (b = r[13]), + (_ = r[14]), + (w = r[15]), + (t[12] = x * n + b * s + _ * f + w * g), + (t[13] = x * i + b * l + _ * h + w * m), + (t[14] = x * a + b * c + _ * p + w * v), + (t[15] = x * o + b * u + _ * d + w * y), + t + ); + }; + }, + {}, + ], + 296: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i, a, o) { + var s = 1 / (e - r), + l = 1 / (n - i), + c = 1 / (a - o); + return ( + (t[0] = -2 * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = -2 * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 2 * c), + (t[11] = 0), + (t[12] = (e + r) * s), + (t[13] = (i + n) * l), + (t[14] = (o + a) * c), + (t[15] = 1), + t + ); + }; + }, + {}, + ], + 297: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i) { + var a = 1 / Math.tan(e / 2), + o = 1 / (n - i); + return ( + (t[0] = a / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = a), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = (i + n) * o), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = 2 * i * n * o), + (t[15] = 0), + t + ); + }; + }, + {}, + ], + 298: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = Math.tan((e.upDegrees * Math.PI) / 180), + a = Math.tan((e.downDegrees * Math.PI) / 180), + o = Math.tan((e.leftDegrees * Math.PI) / 180), + s = Math.tan((e.rightDegrees * Math.PI) / 180), + l = 2 / (o + s), + c = 2 / (i + a); + return ( + (t[0] = l), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = c), + (t[6] = 0), + (t[7] = 0), + (t[8] = -(o - s) * l * 0.5), + (t[9] = (i - a) * c * 0.5), + (t[10] = n / (r - n)), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[14] = (n * r) / (r - n)), + (t[15] = 0), + t + ); + }; + }, + {}, + ], + 299: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A, + S, + E = n[0], + C = n[1], + L = n[2], + I = Math.sqrt(E * E + C * C + L * L); + if (Math.abs(I) < 1e-6) return null; + (E *= I = 1 / I), + (C *= I), + (L *= I), + (i = Math.sin(r)), + (a = Math.cos(r)), + (o = 1 - a), + (s = e[0]), + (l = e[1]), + (c = e[2]), + (u = e[3]), + (f = e[4]), + (h = e[5]), + (p = e[6]), + (d = e[7]), + (g = e[8]), + (m = e[9]), + (v = e[10]), + (y = e[11]), + (x = E * E * o + a), + (b = C * E * o + L * i), + (_ = L * E * o - C * i), + (w = E * C * o - L * i), + (T = C * C * o + a), + (k = L * C * o + E * i), + (M = E * L * o + C * i), + (A = C * L * o - E * i), + (S = L * L * o + a), + (t[0] = s * x + f * b + g * _), + (t[1] = l * x + h * b + m * _), + (t[2] = c * x + p * b + v * _), + (t[3] = u * x + d * b + y * _), + (t[4] = s * w + f * T + g * k), + (t[5] = l * w + h * T + m * k), + (t[6] = c * w + p * T + v * k), + (t[7] = u * w + d * T + y * k), + (t[8] = s * M + f * A + g * S), + (t[9] = l * M + h * A + m * S), + (t[10] = c * M + p * A + v * S), + (t[11] = u * M + d * A + y * S), + e !== t && + ((t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return t; + }; + }, + {}, + ], + 300: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[4], + o = e[5], + s = e[6], + l = e[7], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + e !== t && + ((t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[4] = a * i + c * n), + (t[5] = o * i + u * n), + (t[6] = s * i + f * n), + (t[7] = l * i + h * n), + (t[8] = c * i - a * n), + (t[9] = u * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }; + }, + {}, + ], + 301: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + e !== t && + ((t[4] = e[4]), + (t[5] = e[5]), + (t[6] = e[6]), + (t[7] = e[7]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[0] = a * i - c * n), + (t[1] = o * i - u * n), + (t[2] = s * i - f * n), + (t[3] = l * i - h * n), + (t[8] = a * n + c * i), + (t[9] = o * n + u * i), + (t[10] = s * n + f * i), + (t[11] = l * n + h * i), + t + ); + }; + }, + {}, + ], + 302: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[4], + u = e[5], + f = e[6], + h = e[7]; + e !== t && + ((t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])); + return ( + (t[0] = a * i + c * n), + (t[1] = o * i + u * n), + (t[2] = s * i + f * n), + (t[3] = l * i + h * n), + (t[4] = c * i - a * n), + (t[5] = u * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }; + }, + {}, + ], + 303: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = r[0], + i = r[1], + a = r[2]; + return ( + (t[0] = e[0] * n), + (t[1] = e[1] * n), + (t[2] = e[2] * n), + (t[3] = e[3] * n), + (t[4] = e[4] * i), + (t[5] = e[5] * i), + (t[6] = e[6] * i), + (t[7] = e[7] * i), + (t[8] = e[8] * a), + (t[9] = e[9] * a), + (t[10] = e[10] * a), + (t[11] = e[11] * a), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }; + }, + {}, + ], + 304: [ + function (t, e, r) { + e.exports = function (t) { + return ( + 'mat4(' + + t[0] + + ', ' + + t[1] + + ', ' + + t[2] + + ', ' + + t[3] + + ', ' + + t[4] + + ', ' + + t[5] + + ', ' + + t[6] + + ', ' + + t[7] + + ', ' + + t[8] + + ', ' + + t[9] + + ', ' + + t[10] + + ', ' + + t[11] + + ', ' + + t[12] + + ', ' + + t[13] + + ', ' + + t[14] + + ', ' + + t[15] + + ')' + ); + }; + }, + {}, + ], + 305: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = r[0], + m = r[1], + v = r[2]; + e === t + ? ((t[12] = e[0] * g + e[4] * m + e[8] * v + e[12]), + (t[13] = e[1] * g + e[5] * m + e[9] * v + e[13]), + (t[14] = e[2] * g + e[6] * m + e[10] * v + e[14]), + (t[15] = e[3] * g + e[7] * m + e[11] * v + e[15])) + : ((n = e[0]), + (i = e[1]), + (a = e[2]), + (o = e[3]), + (s = e[4]), + (l = e[5]), + (c = e[6]), + (u = e[7]), + (f = e[8]), + (h = e[9]), + (p = e[10]), + (d = e[11]), + (t[0] = n), + (t[1] = i), + (t[2] = a), + (t[3] = o), + (t[4] = s), + (t[5] = l), + (t[6] = c), + (t[7] = u), + (t[8] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * g + s * m + f * v + e[12]), + (t[13] = i * g + l * m + h * v + e[13]), + (t[14] = a * g + c * m + p * v + e[14]), + (t[15] = o * g + u * m + d * v + e[15])); + return t; + }; + }, + {}, + ], + 306: [ + function (t, e, r) { + e.exports = function (t, e) { + if (t === e) { + var r = e[1], + n = e[2], + i = e[3], + a = e[6], + o = e[7], + s = e[11]; + (t[1] = e[4]), + (t[2] = e[8]), + (t[3] = e[12]), + (t[4] = r), + (t[6] = e[9]), + (t[7] = e[13]), + (t[8] = n), + (t[9] = a), + (t[11] = e[14]), + (t[12] = i), + (t[13] = o), + (t[14] = s); + } else + (t[0] = e[0]), + (t[1] = e[4]), + (t[2] = e[8]), + (t[3] = e[12]), + (t[4] = e[1]), + (t[5] = e[5]), + (t[6] = e[9]), + (t[7] = e[13]), + (t[8] = e[2]), + (t[9] = e[6]), + (t[10] = e[10]), + (t[11] = e[14]), + (t[12] = e[3]), + (t[13] = e[7]), + (t[14] = e[11]), + (t[15] = e[15]); + return t; + }; + }, + {}, + ], + 307: [ + function (t, e, r) { + 'use strict'; + var n = t('barycentric'), + i = t('polytope-closest-point/lib/closest_point_2d.js'); + function a(t, e) { + for (var r = [0, 0, 0, 0], n = 0; n < 4; ++n) + for (var i = 0; i < 4; ++i) r[i] += t[4 * n + i] * e[n]; + return r; + } + function o(t, e, r, n, i) { + for ( + var o = a(n, a(r, a(e, [t[0], t[1], t[2], 1]))), s = 0; + s < 3; + ++s + ) + o[s] /= o[3]; + return [0.5 * i[0] * (1 + o[0]), 0.5 * i[1] * (1 - o[1])]; + } + function s(t, e) { + for (var r = [0, 0, 0], n = 0; n < t.length; ++n) + for (var i = t[n], a = e[n], o = 0; o < 3; ++o) r[o] += a * i[o]; + return r; + } + e.exports = function (t, e, r, a, l, c) { + if (1 === t.length) return [0, t[0].slice()]; + for (var u = new Array(t.length), f = 0; f < t.length; ++f) + u[f] = o(t[f], r, a, l, c); + var h = 0, + p = 1 / 0; + for (f = 0; f < u.length; ++f) { + for (var d = 0, g = 0; g < 2; ++g) + d += Math.pow(u[f][g] - e[g], 2); + d < p && ((p = d), (h = f)); + } + var m = (function (t, e) { + if (2 === t.length) { + for (var r = 0, a = 0, o = 0; o < 2; ++o) + (r += Math.pow(e[o] - t[0][o], 2)), + (a += Math.pow(e[o] - t[1][o], 2)); + return ( + (r = Math.sqrt(r)), + (a = Math.sqrt(a)), + r + a < 1e-6 ? [1, 0] : [a / (r + a), r / (a + r)] + ); + } + if (3 === t.length) { + var s = [0, 0]; + return i(t[0], t[1], t[2], e, s), n(t, s); + } + return []; + })(u, e), + v = 0; + for (f = 0; f < 3; ++f) { + if (m[f] < -0.001 || m[f] > 1.0001) return null; + v += m[f]; + } + if (Math.abs(v - 1) > 0.001) return null; + return [h, s(t, m), m]; + }; + }, + { + barycentric: 78, + 'polytope-closest-point/lib/closest_point_2d.js': 525, + }, + ], + 308: [ + function (t, e, r) { + var n = t('glslify'), + i = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n', + ]), + a = n([ + '#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n', + ]), + o = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}', + ]), + s = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}', + ]), + l = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}', + ]), + c = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}', + ]), + u = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}', + ]), + f = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}', + ]), + h = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}', + ]), + p = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}', + ]), + d = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n', + ]); + (r.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: 'position', type: 'vec3' }, + { name: 'normal', type: 'vec3' }, + { name: 'color', type: 'vec4' }, + { name: 'uv', type: 'vec2' }, + ], + }), + (r.wireShader = { + vertex: o, + fragment: s, + attributes: [ + { name: 'position', type: 'vec3' }, + { name: 'color', type: 'vec4' }, + { name: 'uv', type: 'vec2' }, + ], + }), + (r.pointShader = { + vertex: l, + fragment: c, + attributes: [ + { name: 'position', type: 'vec3' }, + { name: 'color', type: 'vec4' }, + { name: 'uv', type: 'vec2' }, + { name: 'pointSize', type: 'float' }, + ], + }), + (r.pickShader = { + vertex: u, + fragment: f, + attributes: [ + { name: 'position', type: 'vec3' }, + { name: 'id', type: 'vec4' }, + ], + }), + (r.pointPickShader = { + vertex: h, + fragment: f, + attributes: [ + { name: 'position', type: 'vec3' }, + { name: 'pointSize', type: 'float' }, + { name: 'id', type: 'vec4' }, + ], + }), + (r.contourShader = { + vertex: p, + fragment: d, + attributes: [{ name: 'position', type: 'vec3' }], + }); + }, + { glslify: 310 }, + ], + 309: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-shader'), + i = t('gl-buffer'), + a = t('gl-vao'), + o = t('gl-texture2d'), + s = t('normals'), + l = t('gl-mat4/multiply'), + c = t('gl-mat4/invert'), + u = t('ndarray'), + f = t('colormap'), + h = t('simplicial-complex-contour'), + p = t('typedarray-pool'), + d = t('./lib/shaders'), + g = t('./lib/closest-point'), + m = d.meshShader, + v = d.wireShader, + y = d.pointShader, + x = d.pickShader, + b = d.pointPickShader, + _ = d.contourShader, + w = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function T( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + T, + k, + M, + A, + S + ) { + (this.gl = t), + (this.pixelRatio = 1), + (this.cells = []), + (this.positions = []), + (this.intensity = []), + (this.texture = e), + (this.dirty = !0), + (this.triShader = r), + (this.lineShader = n), + (this.pointShader = i), + (this.pickShader = a), + (this.pointPickShader = o), + (this.contourShader = s), + (this.trianglePositions = l), + (this.triangleColors = u), + (this.triangleNormals = h), + (this.triangleUVs = f), + (this.triangleIds = c), + (this.triangleVAO = p), + (this.triangleCount = 0), + (this.lineWidth = 1), + (this.edgePositions = d), + (this.edgeColors = m), + (this.edgeUVs = v), + (this.edgeIds = g), + (this.edgeVAO = y), + (this.edgeCount = 0), + (this.pointPositions = x), + (this.pointColors = _), + (this.pointUVs = T), + (this.pointSizes = k), + (this.pointIds = b), + (this.pointVAO = M), + (this.pointCount = 0), + (this.contourLineWidth = 1), + (this.contourPositions = A), + (this.contourVAO = S), + (this.contourCount = 0), + (this.contourColor = [0, 0, 0]), + (this.contourEnable = !0), + (this.pickVertex = !0), + (this.pickId = 1), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.lightPosition = [1e5, 1e5, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.opacity = 1), + (this.hasAlpha = !1), + (this.opacityscale = !1), + (this._model = w), + (this._view = w), + (this._projection = w), + (this._resolution = [1, 1]); + } + var k = T.prototype; + function M(t, e) { + if (!e) return 1; + if (!e.length) return 1; + for (var r = 0; r < e.length; ++r) { + if (e.length < 2) return 1; + if (e[r][0] === t) return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = (e[r][0] - t) / (e[r][0] - e[r - 1][0]); + return e[r][1] * (1 - n) + n * e[r - 1][1]; + } + } + return 1; + } + function A(t) { + var e = n(t, m.vertex, m.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.normal.location = 4), + e + ); + } + function S(t) { + var e = n(t, v.vertex, v.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + e + ); + } + function E(t) { + var e = n(t, y.vertex, y.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.color.location = 2), + (e.attributes.uv.location = 3), + (e.attributes.pointSize.location = 4), + e + ); + } + function C(t) { + var e = n(t, x.vertex, x.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + e + ); + } + function L(t) { + var e = n(t, b.vertex, b.fragment); + return ( + (e.attributes.position.location = 0), + (e.attributes.id.location = 1), + (e.attributes.pointSize.location = 4), + e + ); + } + function I(t) { + var e = n(t, _.vertex, _.fragment); + return (e.attributes.position.location = 0), e; + } + (k.isOpaque = function () { + return !this.hasAlpha; + }), + (k.isTransparent = function () { + return this.hasAlpha; + }), + (k.pickSlots = 1), + (k.setPickBase = function (t) { + this.pickId = t; + }), + (k.highlight = function (t) { + if (t && this.contourEnable) { + for ( + var e = h(this.cells, this.intensity, t.intensity), + r = e.cells, + n = e.vertexIds, + i = e.vertexWeights, + a = r.length, + o = p.mallocFloat32(6 * a), + s = 0, + l = 0; + l < a; + ++l + ) + for (var c = r[l], u = 0; u < 2; ++u) { + var f = c[0]; + 2 === c.length && (f = c[u]); + for ( + var d = n[f][0], + g = n[f][1], + m = i[f], + v = 1 - m, + y = this.positions[d], + x = this.positions[g], + b = 0; + b < 3; + ++b + ) + o[s++] = m * y[b] + v * x[b]; + } + (this.contourCount = (s / 3) | 0), + this.contourPositions.update(o.subarray(0, s)), + p.free(o); + } else this.contourCount = 0; + }), + (k.update = function (t) { + t = t || {}; + var e = this.gl; + (this.dirty = !0), + 'contourEnable' in t && (this.contourEnable = t.contourEnable), + 'contourColor' in t && (this.contourColor = t.contourColor), + 'lineWidth' in t && (this.lineWidth = t.lineWidth), + 'lightPosition' in t && (this.lightPosition = t.lightPosition), + (this.hasAlpha = !1), + 'opacity' in t && + ((this.opacity = t.opacity), + this.opacity < 1 && (this.hasAlpha = !0)), + 'opacityscale' in t && + ((this.opacityscale = t.opacityscale), (this.hasAlpha = !0)), + 'ambient' in t && (this.ambientLight = t.ambient), + 'diffuse' in t && (this.diffuseLight = t.diffuse), + 'specular' in t && (this.specularLight = t.specular), + 'roughness' in t && (this.roughness = t.roughness), + 'fresnel' in t && (this.fresnel = t.fresnel), + t.texture + ? (this.texture.dispose(), (this.texture = o(e, t.texture))) + : t.colormap && + ((this.texture.shape = [256, 256]), + (this.texture.minFilter = e.LINEAR_MIPMAP_LINEAR), + (this.texture.magFilter = e.LINEAR), + this.texture.setPixels( + (function (t, e) { + for ( + var r = f({ + colormap: t, + nshades: 256, + format: 'rgba', + }), + n = new Uint8Array(1024), + i = 0; + i < 256; + ++i + ) { + for (var a = r[i], o = 0; o < 3; ++o) + n[4 * i + o] = a[o]; + n[4 * i + 3] = e ? 255 * M(i / 255, e) : 255 * a[3]; + } + return u(n, [256, 256, 4], [4, 0, 1]); + })(t.colormap, this.opacityscale) + ), + this.texture.generateMipmap()); + var r = t.cells, + n = t.positions; + if (n && r) { + var i = [], + a = [], + l = [], + c = [], + h = [], + p = [], + d = [], + g = [], + m = [], + v = [], + y = [], + x = [], + b = [], + _ = []; + (this.cells = r), (this.positions = n); + var w = t.vertexNormals, + T = t.cellNormals, + k = + void 0 === t.vertexNormalsEpsilon + ? 1e-6 + : t.vertexNormalsEpsilon, + A = + void 0 === t.faceNormalsEpsilon + ? 1e-6 + : t.faceNormalsEpsilon; + t.useFacetNormals && !T && (T = s.faceNormals(r, n, A)), + T || w || (w = s.vertexNormals(r, n, k)); + var S = t.vertexColors, + E = t.cellColors, + C = t.meshColor || [1, 1, 1, 1], + L = t.vertexUVs, + I = t.vertexIntensity, + P = t.cellUVs, + z = t.cellIntensity, + O = 1 / 0, + D = -1 / 0; + if (!L && !P) + if (I) + if (t.vertexIntensityBounds) + (O = +t.vertexIntensityBounds[0]), + (D = +t.vertexIntensityBounds[1]); + else + for (var R = 0; R < I.length; ++R) { + var F = I[R]; + (O = Math.min(O, F)), (D = Math.max(D, F)); + } + else if (z) + if (t.cellIntensityBounds) + (O = +t.cellIntensityBounds[0]), + (D = +t.cellIntensityBounds[1]); + else + for (R = 0; R < z.length; ++R) { + F = z[R]; + (O = Math.min(O, F)), (D = Math.max(D, F)); + } + else + for (R = 0; R < n.length; ++R) { + F = n[R][2]; + (O = Math.min(O, F)), (D = Math.max(D, F)); + } + (this.intensity = + I || + z || + (function (t) { + for (var e = t.length, r = new Array(e), n = 0; n < e; ++n) + r[n] = t[n][2]; + return r; + })(n)), + (this.pickVertex = !(z || E)); + var B = t.pointSizes, + N = t.pointSize || 1; + this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (R = 0; R < n.length; ++R) + for (var j = n[R], U = 0; U < 3; ++U) + !isNaN(j[U]) && + isFinite(j[U]) && + ((this.bounds[0][U] = Math.min(this.bounds[0][U], j[U])), + (this.bounds[1][U] = Math.max(this.bounds[1][U], j[U]))); + var V = 0, + q = 0, + H = 0; + t: for (R = 0; R < r.length; ++R) { + var G = r[R]; + switch (G.length) { + case 1: + for (j = n[(W = G[0])], U = 0; U < 3; ++U) + if (isNaN(j[U]) || !isFinite(j[U])) continue t; + v.push(j[0], j[1], j[2]), + (X = S ? S[W] : E ? E[R] : C), + this.opacityscale && I + ? a.push( + X[0], + X[1], + X[2], + this.opacity * + M((I[W] - O) / (D - O), this.opacityscale) + ) + : 3 === X.length + ? y.push(X[0], X[1], X[2], this.opacity) + : (y.push(X[0], X[1], X[2], X[3] * this.opacity), + X[3] < 1 && (this.hasAlpha = !0)), + (Z = L + ? L[W] + : I + ? [(I[W] - O) / (D - O), 0] + : P + ? P[R] + : z + ? [(z[R] - O) / (D - O), 0] + : [(j[2] - O) / (D - O), 0]), + x.push(Z[0], Z[1]), + B ? b.push(B[W]) : b.push(N), + _.push(R), + (H += 1); + break; + case 2: + for (U = 0; U < 2; ++U) { + j = n[(W = G[U])]; + for (var Y = 0; Y < 3; ++Y) + if (isNaN(j[Y]) || !isFinite(j[Y])) continue t; + } + for (U = 0; U < 2; ++U) { + j = n[(W = G[U])]; + p.push(j[0], j[1], j[2]), + (X = S ? S[W] : E ? E[R] : C), + this.opacityscale && I + ? a.push( + X[0], + X[1], + X[2], + this.opacity * + M((I[W] - O) / (D - O), this.opacityscale) + ) + : 3 === X.length + ? d.push(X[0], X[1], X[2], this.opacity) + : (d.push(X[0], X[1], X[2], X[3] * this.opacity), + X[3] < 1 && (this.hasAlpha = !0)), + (Z = L + ? L[W] + : I + ? [(I[W] - O) / (D - O), 0] + : P + ? P[R] + : z + ? [(z[R] - O) / (D - O), 0] + : [(j[2] - O) / (D - O), 0]), + g.push(Z[0], Z[1]), + m.push(R); + } + q += 1; + break; + case 3: + for (U = 0; U < 3; ++U) + for (j = n[(W = G[U])], Y = 0; Y < 3; ++Y) + if (isNaN(j[Y]) || !isFinite(j[Y])) continue t; + for (U = 0; U < 3; ++U) { + var W, X, Z, J; + j = n[(W = G[2 - U])]; + i.push(j[0], j[1], j[2]), + (X = S ? S[W] : E ? E[R] : C) + ? this.opacityscale && I + ? a.push( + X[0], + X[1], + X[2], + this.opacity * + M((I[W] - O) / (D - O), this.opacityscale) + ) + : 3 === X.length + ? a.push(X[0], X[1], X[2], this.opacity) + : (a.push(X[0], X[1], X[2], X[3] * this.opacity), + X[3] < 1 && (this.hasAlpha = !0)) + : a.push(0.5, 0.5, 0.5, 1), + (Z = L + ? L[W] + : I + ? [(I[W] - O) / (D - O), 0] + : P + ? P[R] + : z + ? [(z[R] - O) / (D - O), 0] + : [(j[2] - O) / (D - O), 0]), + c.push(Z[0], Z[1]), + (J = w ? w[W] : T[R]), + l.push(J[0], J[1], J[2]), + h.push(R); + } + V += 1; + } + } + (this.pointCount = H), + (this.edgeCount = q), + (this.triangleCount = V), + this.pointPositions.update(v), + this.pointColors.update(y), + this.pointUVs.update(x), + this.pointSizes.update(b), + this.pointIds.update(new Uint32Array(_)), + this.edgePositions.update(p), + this.edgeColors.update(d), + this.edgeUVs.update(g), + this.edgeIds.update(new Uint32Array(m)), + this.trianglePositions.update(i), + this.triangleColors.update(a), + this.triangleUVs.update(c), + this.triangleNormals.update(l), + this.triangleIds.update(new Uint32Array(h)); + } + }), + (k.drawTransparent = k.draw = + function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o])); + var s = { + model: r, + view: n, + projection: i, + inverseModel: w.slice(), + clipBounds: a, + kambient: this.ambientLight, + kdiffuse: this.diffuseLight, + kspecular: this.specularLight, + roughness: this.roughness, + fresnel: this.fresnel, + eyePosition: [0, 0, 0], + lightPosition: [0, 0, 0], + contourColor: this.contourColor, + texture: 0, + }; + (s.inverseModel = c(s.inverseModel, s.model)), + e.disable(e.CULL_FACE), + this.texture.bind(0); + var u = new Array(16); + l(u, s.view, s.model), l(u, s.projection, u), c(u, u); + for (o = 0; o < 3; ++o) s.eyePosition[o] = u[12 + o] / u[15]; + var f, + h = u[15]; + for (o = 0; o < 3; ++o) + h += this.lightPosition[o] * u[4 * o + 3]; + for (o = 0; o < 3; ++o) { + for (var p = u[12 + o], d = 0; d < 3; ++d) + p += u[4 * d + o] * this.lightPosition[d]; + s.lightPosition[o] = p / h; + } + this.triangleCount > 0 && + ((f = this.triShader).bind(), + (f.uniforms = s), + this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind()); + this.edgeCount > 0 && + this.lineWidth > 0 && + ((f = this.lineShader).bind(), + (f.uniforms = s), + this.edgeVAO.bind(), + e.lineWidth(this.lineWidth * this.pixelRatio), + e.drawArrays(e.LINES, 0, 2 * this.edgeCount), + this.edgeVAO.unbind()); + this.pointCount > 0 && + ((f = this.pointShader).bind(), + (f.uniforms = s), + this.pointVAO.bind(), + e.drawArrays(e.POINTS, 0, this.pointCount), + this.pointVAO.unbind()); + this.contourEnable && + this.contourCount > 0 && + this.contourLineWidth > 0 && + ((f = this.contourShader).bind(), + (f.uniforms = s), + this.contourVAO.bind(), + e.drawArrays(e.LINES, 0, this.contourCount), + this.contourVAO.unbind()); + }), + (k.drawPick = function (t) { + t = t || {}; + for ( + var e = this.gl, + r = t.model || w, + n = t.view || w, + i = t.projection || w, + a = [ + [-1e6, -1e6, -1e6], + [1e6, 1e6, 1e6], + ], + o = 0; + o < 3; + ++o + ) + (a[0][o] = Math.max(a[0][o], this.clipBounds[0][o])), + (a[1][o] = Math.min(a[1][o], this.clipBounds[1][o])); + (this._model = [].slice.call(r)), + (this._view = [].slice.call(n)), + (this._projection = [].slice.call(i)), + (this._resolution = [ + e.drawingBufferWidth, + e.drawingBufferHeight, + ]); + var s, + l = { + model: r, + view: n, + projection: i, + clipBounds: a, + pickId: this.pickId / 255, + }; + ((s = this.pickShader).bind(), + (s.uniforms = l), + this.triangleCount > 0 && + (this.triangleVAO.bind(), + e.drawArrays(e.TRIANGLES, 0, 3 * this.triangleCount), + this.triangleVAO.unbind()), + this.edgeCount > 0 && + (this.edgeVAO.bind(), + e.lineWidth(this.lineWidth * this.pixelRatio), + e.drawArrays(e.LINES, 0, 2 * this.edgeCount), + this.edgeVAO.unbind()), + this.pointCount > 0) && + ((s = this.pointPickShader).bind(), + (s.uniforms = l), + this.pointVAO.bind(), + e.drawArrays(e.POINTS, 0, this.pointCount), + this.pointVAO.unbind()); + }), + (k.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + for ( + var e = t.value[0] + 256 * t.value[1] + 65536 * t.value[2], + r = this.cells[e], + n = this.positions, + i = new Array(r.length), + a = 0; + a < r.length; + ++a + ) + i[a] = n[r[a]]; + var o = t.coord[0], + s = t.coord[1]; + if (!this.pickVertex) { + var l = this.positions[r[0]], + c = this.positions[r[1]], + u = this.positions[r[2]], + f = [ + (l[0] + c[0] + u[0]) / 3, + (l[1] + c[1] + u[1]) / 3, + (l[2] + c[2] + u[2]) / 3, + ]; + return { + _cellCenter: !0, + position: [o, s], + index: e, + cell: r, + cellId: e, + intensity: this.intensity[e], + dataCoordinate: f, + }; + } + var h = g( + i, + [ + o * this.pixelRatio, + this._resolution[1] - s * this.pixelRatio, + ], + this._model, + this._view, + this._projection, + this._resolution + ); + if (!h) return null; + var p = h[2], + d = 0; + for (a = 0; a < r.length; ++a) d += p[a] * this.intensity[r[a]]; + return { + position: h[1], + index: r[h[0]], + cell: r, + cellId: e, + intensity: d, + dataCoordinate: this.positions[r[h[0]]], + }; + }), + (k.dispose = function () { + this.texture.dispose(), + this.triShader.dispose(), + this.lineShader.dispose(), + this.pointShader.dispose(), + this.pickShader.dispose(), + this.pointPickShader.dispose(), + this.triangleVAO.dispose(), + this.trianglePositions.dispose(), + this.triangleColors.dispose(), + this.triangleUVs.dispose(), + this.triangleNormals.dispose(), + this.triangleIds.dispose(), + this.edgeVAO.dispose(), + this.edgePositions.dispose(), + this.edgeColors.dispose(), + this.edgeUVs.dispose(), + this.edgeIds.dispose(), + this.pointVAO.dispose(), + this.pointPositions.dispose(), + this.pointColors.dispose(), + this.pointUVs.dispose(), + this.pointSizes.dispose(), + this.pointIds.dispose(), + this.contourVAO.dispose(), + this.contourPositions.dispose(), + this.contourShader.dispose(); + }), + (e.exports = function (t, e) { + 1 === arguments.length && (t = (e = t).gl); + var r = + t.getExtension('OES_standard_derivatives') || + t.getExtension('MOZ_OES_standard_derivatives') || + t.getExtension('WEBKIT_OES_standard_derivatives'); + if (!r) throw new Error('derivatives not supported'); + var n = A(t), + s = S(t), + l = E(t), + c = C(t), + f = L(t), + h = I(t), + p = o(t, u(new Uint8Array([255, 255, 255, 255]), [1, 1, 4])); + p.generateMipmap(), + (p.minFilter = t.LINEAR_MIPMAP_LINEAR), + (p.magFilter = t.LINEAR); + var d = i(t), + g = i(t), + m = i(t), + v = i(t), + y = i(t), + x = a(t, [ + { buffer: d, type: t.FLOAT, size: 3 }, + { buffer: y, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: g, type: t.FLOAT, size: 4 }, + { buffer: m, type: t.FLOAT, size: 2 }, + { buffer: v, type: t.FLOAT, size: 3 }, + ]), + b = i(t), + _ = i(t), + w = i(t), + k = i(t), + M = a(t, [ + { buffer: b, type: t.FLOAT, size: 3 }, + { buffer: k, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: _, type: t.FLOAT, size: 4 }, + { buffer: w, type: t.FLOAT, size: 2 }, + ]), + P = i(t), + z = i(t), + O = i(t), + D = i(t), + R = i(t), + F = a(t, [ + { buffer: P, type: t.FLOAT, size: 3 }, + { buffer: R, type: t.UNSIGNED_BYTE, size: 4, normalized: !0 }, + { buffer: z, type: t.FLOAT, size: 4 }, + { buffer: O, type: t.FLOAT, size: 2 }, + { buffer: D, type: t.FLOAT, size: 1 }, + ]), + B = i(t), + N = a(t, [{ buffer: B, type: t.FLOAT, size: 3 }]), + j = new T( + t, + p, + n, + s, + l, + c, + f, + h, + d, + y, + g, + m, + v, + x, + b, + k, + _, + w, + M, + P, + R, + z, + O, + D, + F, + B, + N + ); + return j.update(e), j; + }); + }, + { + './lib/closest-point': 307, + './lib/shaders': 308, + colormap: 131, + 'gl-buffer': 259, + 'gl-mat4/invert': 293, + 'gl-mat4/multiply': 295, + 'gl-shader': 335, + 'gl-texture2d': 353, + 'gl-vao': 358, + ndarray: 495, + normals: 498, + 'simplicial-complex-contour': 556, + 'typedarray-pool': 595, + }, + ], + 310: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 311: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e, [0, 0, 0, 1, 1, 0, 1, 1]), + s = i(e, a.boxVert, a.lineFrag); + return new o(t, r, s); + }; + var n = t('gl-buffer'), + i = t('gl-shader'), + a = t('./shaders'); + function o(t, e, r) { + (this.plot = t), (this.vbo = e), (this.shader = r); + } + var s, + l, + c = o.prototype; + (c.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox); + }), + (c.drawBox = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i) { + var a = this.plot, + o = this.shader, + c = a.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (o.uniforms.lo = s), + (o.uniforms.hi = l), + (o.uniforms.color = i), + c.drawArrays(c.TRIANGLE_STRIP, 0, 4); + })), + (c.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + { './shaders': 314, 'gl-buffer': 259, 'gl-shader': 335 }, + ], + 312: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e), + a = i(e, o.gridVert, o.gridFrag), + l = i(e, o.tickVert, o.gridFrag); + return new s(t, r, a, l); + }; + var n = t('gl-buffer'), + i = t('gl-shader'), + a = t('binary-search-bounds'), + o = t('./shaders'); + function s(t, e, r, n) { + (this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickShader = n), + (this.ticks = [[], []]); + } + function l(t, e) { + return t - e; + } + var c, + u, + f, + h, + p, + d = s.prototype; + (d.draw = + ((c = [0, 0]), + (u = [0, 0]), + (f = [0, 0]), + function () { + for ( + var t = this.plot, + e = this.vbo, + r = this.shader, + n = this.ticks, + i = t.gl, + a = t._tickBounds, + o = t.dataBox, + s = t.viewBox, + l = t.gridLineWidth, + h = t.gridLineColor, + p = t.gridLineEnable, + d = t.pixelRatio, + g = 0; + g < 2; + ++g + ) { + var m = a[g], + v = a[g + 2] - m, + y = 0.5 * (o[g + 2] + o[g]), + x = o[g + 2] - o[g]; + (u[g] = (2 * v) / x), (c[g] = (2 * (m - y)) / x); + } + r.bind(), + e.bind(), + r.attributes.dataCoord.pointer(), + (r.uniforms.dataShift = c), + (r.uniforms.dataScale = u); + var b = 0; + for (g = 0; g < 2; ++g) { + (f[0] = f[1] = 0), + (f[g] = 1), + (r.uniforms.dataAxis = f), + (r.uniforms.lineWidth = (l[g] / (s[g + 2] - s[g])) * d), + (r.uniforms.color = h[g]); + var _ = 6 * n[g].length; + p[g] && _ && i.drawArrays(i.TRIANGLES, b, _), (b += _); + } + })), + (d.drawTickMarks = (function () { + var t = [0, 0], + e = [0, 0], + r = [1, 0], + n = [0, 1], + i = [0, 0], + o = [0, 0]; + return function () { + for ( + var s = this.plot, + c = this.vbo, + u = this.tickShader, + f = this.ticks, + h = s.gl, + p = s._tickBounds, + d = s.dataBox, + g = s.viewBox, + m = s.pixelRatio, + v = s.screenBox, + y = v[2] - v[0], + x = v[3] - v[1], + b = g[2] - g[0], + _ = g[3] - g[1], + w = 0; + w < 2; + ++w + ) { + var T = p[w], + k = p[w + 2] - T, + M = 0.5 * (d[w + 2] + d[w]), + A = d[w + 2] - d[w]; + (e[w] = (2 * k) / A), (t[w] = (2 * (T - M)) / A); + } + (e[0] *= b / y), + (t[0] *= b / y), + (e[1] *= _ / x), + (t[1] *= _ / x), + u.bind(), + c.bind(), + u.attributes.dataCoord.pointer(); + var S = u.uniforms; + (S.dataShift = t), (S.dataScale = e); + var E = s.tickMarkLength, + C = s.tickMarkWidth, + L = s.tickMarkColor, + I = 6 * f[0].length, + P = Math.min( + a.ge(f[0], (d[0] - p[0]) / (p[2] - p[0]), l), + f[0].length + ), + z = Math.min( + a.gt(f[0], (d[2] - p[0]) / (p[2] - p[0]), l), + f[0].length + ), + O = 0 + 6 * P, + D = 6 * Math.max(0, z - P), + R = Math.min( + a.ge(f[1], (d[1] - p[1]) / (p[3] - p[1]), l), + f[1].length + ), + F = Math.min( + a.gt(f[1], (d[3] - p[1]) / (p[3] - p[1]), l), + f[1].length + ), + B = I + 6 * R, + N = 6 * Math.max(0, F - R); + (i[0] = (2 * (g[0] - E[1])) / y - 1), + (i[1] = (g[3] + g[1]) / x - 1), + (o[0] = (E[1] * m) / y), + (o[1] = (C[1] * m) / x), + N && + ((S.color = L[1]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (g[2] + g[0]) / y - 1), + (i[1] = (2 * (g[1] - E[0])) / x - 1), + (o[0] = (C[0] * m) / y), + (o[1] = (E[0] * m) / x), + D && + ((S.color = L[0]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, O, D)), + (i[0] = (2 * (g[2] + E[3])) / y - 1), + (i[1] = (g[3] + g[1]) / x - 1), + (o[0] = (E[3] * m) / y), + (o[1] = (C[3] * m) / x), + N && + ((S.color = L[3]), + (S.tickScale = o), + (S.dataAxis = n), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, B, N)), + (i[0] = (g[2] + g[0]) / y - 1), + (i[1] = (2 * (g[3] + E[2])) / x - 1), + (o[0] = (C[2] * m) / y), + (o[1] = (E[2] * m) / x), + D && + ((S.color = L[2]), + (S.tickScale = o), + (S.dataAxis = r), + (S.screenOffset = i), + h.drawArrays(h.TRIANGLES, O, D)); + }; + })()), + (d.update = + ((h = [1, 1, -1, -1, 1, -1]), + (p = [1, -1, 1, 1, -1, -1]), + function (t) { + for ( + var e = t.ticks, + r = t.bounds, + n = new Float32Array(18 * (e[0].length + e[1].length)), + i = (this.plot.zeroLineEnable, 0), + a = [[], []], + o = 0; + o < 2; + ++o + ) + for ( + var s = a[o], l = e[o], c = r[o], u = r[o + 2], f = 0; + f < l.length; + ++f + ) { + var d = (l[f].x - c) / (u - c); + s.push(d); + for (var g = 0; g < 6; ++g) + (n[i++] = d), (n[i++] = h[g]), (n[i++] = p[g]); + } + (this.ticks = a), this.vbo.update(n); + })), + (d.dispose = function () { + this.vbo.dispose(), + this.shader.dispose(), + this.tickShader.dispose(); + }); + }, + { + './shaders': 314, + 'binary-search-bounds': 96, + 'gl-buffer': 259, + 'gl-shader': 335, + }, + ], + 313: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e, [-1, -1, -1, 1, 1, -1, 1, 1]), + s = i(e, a.lineVert, a.lineFrag); + return new o(t, r, s); + }; + var n = t('gl-buffer'), + i = t('gl-shader'), + a = t('./shaders'); + function o(t, e, r) { + (this.plot = t), (this.vbo = e), (this.shader = r); + } + var s, + l, + c = o.prototype; + (c.bind = function () { + var t = this.shader; + this.vbo.bind(), + this.shader.bind(), + t.attributes.coord.pointer(), + (t.uniforms.screenBox = this.plot.screenBox); + }), + (c.drawLine = + ((s = [0, 0]), + (l = [0, 0]), + function (t, e, r, n, i, a) { + var o = this.plot, + c = this.shader, + u = o.gl; + (s[0] = t), + (s[1] = e), + (l[0] = r), + (l[1] = n), + (c.uniforms.start = s), + (c.uniforms.end = l), + (c.uniforms.width = i * o.pixelRatio), + (c.uniforms.color = a), + u.drawArrays(u.TRIANGLE_STRIP, 0, 4); + })), + (c.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + { './shaders': 314, 'gl-buffer': 259, 'gl-shader': 335 }, + ], + 314: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'), + i = n([ + 'precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n', + ]); + e.exports = { + lineVert: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n', + ]), + lineFrag: i, + textVert: n([ + '#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n', + ]), + textFrag: i, + gridVert: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n', + ]), + gridFrag: i, + boxVert: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n', + ]), + tickVert: n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n', + ]), + }; + }, + { glslify: 316 }, + ], + 315: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e), + a = i(e, s.textVert, s.textFrag); + return new l(t, r, a); + }; + var n = t('gl-buffer'), + i = t('gl-shader'), + a = t('text-cache'), + o = t('binary-search-bounds'), + s = t('./shaders'); + function l(t, e, r) { + (this.plot = t), + (this.vbo = e), + (this.shader = r), + (this.tickOffset = [[], []]), + (this.tickX = [[], []]), + (this.labelOffset = [0, 0]), + (this.labelCount = [0, 0]); + } + var c, + u, + f, + h, + p, + d, + g = l.prototype; + (g.drawTicks = + ((c = [0, 0]), + (u = [0, 0]), + (f = [0, 0]), + function (t) { + var e = this.plot, + r = this.shader, + n = this.tickX[t], + i = this.tickOffset[t], + a = e.gl, + s = e.viewBox, + l = e.dataBox, + h = e.screenBox, + p = e.pixelRatio, + d = e.tickEnable, + g = e.tickPad, + m = e.tickColor, + v = e.tickAngle, + y = e.labelEnable, + x = e.labelPad, + b = e.labelColor, + _ = e.labelAngle, + w = this.labelOffset[t], + T = this.labelCount[t], + k = o.lt(n, l[t]), + M = o.le(n, l[t + 2]); + (c[0] = c[1] = 0), + (c[t] = 1), + (u[t] = (s[2 + t] + s[t]) / (h[2 + t] - h[t]) - 1); + var A = 2 / h[2 + (1 ^ t)] - h[1 ^ t]; + (u[1 ^ t] = A * s[1 ^ t] - 1), + d[t] && + ((u[1 ^ t] -= A * p * g[t]), + k < M && + i[M] > i[k] && + ((r.uniforms.dataAxis = c), + (r.uniforms.screenOffset = u), + (r.uniforms.color = m[t]), + (r.uniforms.angle = v[t]), + a.drawArrays(a.TRIANGLES, i[k], i[M] - i[k]))), + y[t] && + T && + ((u[1 ^ t] -= A * p * x[t]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = u), + (r.uniforms.color = b[t]), + (r.uniforms.angle = _[t]), + a.drawArrays(a.TRIANGLES, w, T)), + (u[1 ^ t] = A * s[2 + (1 ^ t)] - 1), + d[t + 2] && + ((u[1 ^ t] += A * p * g[t + 2]), + k < M && + i[M] > i[k] && + ((r.uniforms.dataAxis = c), + (r.uniforms.screenOffset = u), + (r.uniforms.color = m[t + 2]), + (r.uniforms.angle = v[t + 2]), + a.drawArrays(a.TRIANGLES, i[k], i[M] - i[k]))), + y[t + 2] && + T && + ((u[1 ^ t] += A * p * x[t + 2]), + (r.uniforms.dataAxis = f), + (r.uniforms.screenOffset = u), + (r.uniforms.color = b[t + 2]), + (r.uniforms.angle = _[t + 2]), + a.drawArrays(a.TRIANGLES, w, T)); + })), + (g.drawTitle = (function () { + var t = [0, 0], + e = [0, 0]; + return function () { + var r = this.plot, + n = this.shader, + i = r.gl, + a = r.screenBox, + o = r.titleCenter, + s = r.titleAngle, + l = r.titleColor, + c = r.pixelRatio; + if (this.titleCount) { + for (var u = 0; u < 2; ++u) + e[u] = (2 * (o[u] * c - a[u])) / (a[2 + u] - a[u]) - 1; + n.bind(), + (n.uniforms.dataAxis = t), + (n.uniforms.screenOffset = e), + (n.uniforms.angle = s), + (n.uniforms.color = l), + i.drawArrays( + i.TRIANGLES, + this.titleOffset, + this.titleCount + ); + } + }; + })()), + (g.bind = + ((h = [0, 0]), + (p = [0, 0]), + (d = [0, 0]), + function () { + var t = this.plot, + e = this.shader, + r = t._tickBounds, + n = t.dataBox, + i = t.screenBox, + a = t.viewBox; + e.bind(); + for (var o = 0; o < 2; ++o) { + var s = r[o], + l = r[o + 2] - s, + c = 0.5 * (n[o + 2] + n[o]), + u = n[o + 2] - n[o], + f = a[o], + g = a[o + 2] - f, + m = i[o], + v = i[o + 2] - m; + (p[o] = (((2 * l) / u) * g) / v), + (h[o] = (((2 * (s - c)) / u) * g) / v); + } + (d[1] = (2 * t.pixelRatio) / (i[3] - i[1])), + (d[0] = (d[1] * (i[3] - i[1])) / (i[2] - i[0])), + (e.uniforms.dataScale = p), + (e.uniforms.dataShift = h), + (e.uniforms.textScale = d), + this.vbo.bind(), + e.attributes.textCoordinate.pointer(); + })), + (g.update = function (t) { + var e, + r, + n, + i, + o, + s = [], + l = t.ticks, + c = t.bounds; + for (o = 0; o < 2; ++o) { + var u = [Math.floor(s.length / 3)], + f = [-1 / 0], + h = l[o]; + for (e = 0; e < h.length; ++e) { + var p = h[e], + d = p.x, + g = p.text, + m = p.font || 'sans-serif'; + i = p.fontSize || 12; + for ( + var v = 1 / (c[o + 2] - c[o]), + y = c[o], + x = g.split('\n'), + b = 0; + b < x.length; + b++ + ) + for (n = a(m, x[b]).data, r = 0; r < n.length; r += 2) + s.push( + n[r] * i, + -n[r + 1] * i - b * i * 1.2, + (d - y) * v + ); + u.push(Math.floor(s.length / 3)), f.push(d); + } + (this.tickOffset[o] = u), (this.tickX[o] = f); + } + for (o = 0; o < 2; ++o) { + for ( + this.labelOffset[o] = Math.floor(s.length / 3), + n = a(t.labelFont[o], t.labels[o], { + textAlign: 'center', + }).data, + i = t.labelSize[o], + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + this.labelCount[o] = + Math.floor(s.length / 3) - this.labelOffset[o]; + } + for ( + this.titleOffset = Math.floor(s.length / 3), + n = a(t.titleFont, t.title).data, + i = t.titleSize, + e = 0; + e < n.length; + e += 2 + ) + s.push(n[e] * i, -n[e + 1] * i, 0); + (this.titleCount = Math.floor(s.length / 3) - this.titleOffset), + this.vbo.update(s); + }), + (g.dispose = function () { + this.vbo.dispose(), this.shader.dispose(); + }); + }, + { + './shaders': 314, + 'binary-search-bounds': 96, + 'gl-buffer': 259, + 'gl-shader': 335, + 'text-cache': 575, + }, + ], + 316: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 317: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = n(e, [e.drawingBufferWidth, e.drawingBufferHeight]), + c = new l(e, r); + return ( + (c.grid = i(c)), + (c.text = a(c)), + (c.line = o(c)), + (c.box = s(c)), + c.update(t), + c + ); + }; + var n = t('gl-select-static'), + i = t('./lib/grid'), + a = t('./lib/text'), + o = t('./lib/line'), + s = t('./lib/box'); + function l(t, e) { + (this.gl = t), + (this.pickBuffer = e), + (this.screenBox = [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]), + (this.viewBox = [0, 0, 0, 0]), + (this.dataBox = [-10, -10, 10, 10]), + (this.gridLineEnable = [!0, !0]), + (this.gridLineWidth = [1, 1]), + (this.gridLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.pixelRatio = 1), + (this.tickMarkLength = [0, 0, 0, 0]), + (this.tickMarkWidth = [0, 0, 0, 0]), + (this.tickMarkColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [15, 15, 15, 15]), + (this.tickAngle = [0, 0, 0, 0]), + (this.tickEnable = [!0, !0, !0, !0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [15, 15, 15, 15]), + (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), + (this.labelEnable = [!0, !0, !0, !0]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.titleCenter = [0, 0]), + (this.titleEnable = !0), + (this.titleAngle = 0), + (this.titleColor = [0, 0, 0, 1]), + (this.borderColor = [0, 0, 0, 0]), + (this.backgroundColor = [0, 0, 0, 0]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [4, 4]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderLineEnable = [!0, !0, !0, !0]), + (this.borderLineWidth = [2, 2, 2, 2]), + (this.borderLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.grid = null), + (this.text = null), + (this.line = null), + (this.box = null), + (this.objects = []), + (this.overlays = []), + (this._tickBounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.static = !1), + (this.dirty = !1), + (this.pickDirty = !1), + (this.pickDelay = 120), + (this.pickRadius = 10), + (this._pickTimeout = null), + (this._drawPick = this.drawPick.bind(this)), + (this._depthCounter = 0); + } + var c = l.prototype; + function u(t) { + for (var e = t.slice(), r = 0; r < e.length; ++r) + e[r] = e[r].slice(); + return e; + } + function f(t, e) { + return t.x - e.x; + } + (c.setDirty = function () { + this.dirty = this.pickDirty = !0; + }), + (c.setOverlayDirty = function () { + this.dirty = !0; + }), + (c.nextDepthValue = function () { + return this._depthCounter++ / 65536; + }), + (c.draw = function () { + var t = this.gl, + e = this.screenBox, + r = this.viewBox, + n = this.dataBox, + i = this.pixelRatio, + a = this.grid, + o = this.line, + s = this.text, + l = this.objects; + if ( + ((this._depthCounter = 0), + this.pickDirty && + (this._pickTimeout && clearTimeout(this._pickTimeout), + (this.pickDirty = !1), + (this._pickTimeout = setTimeout( + this._drawPick, + this.pickDelay + ))), + this.dirty) + ) { + if ( + ((this.dirty = !1), + t.bindFramebuffer(t.FRAMEBUFFER, null), + t.enable(t.SCISSOR_TEST), + t.disable(t.DEPTH_TEST), + t.depthFunc(t.LESS), + t.depthMask(!1), + t.enable(t.BLEND), + t.blendEquation(t.FUNC_ADD, t.FUNC_ADD), + t.blendFunc(t.ONE, t.ONE_MINUS_SRC_ALPHA), + this.borderColor) + ) { + t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]); + var c = this.borderColor; + t.clearColor(c[0] * c[3], c[1] * c[3], c[2] * c[3], c[3]), + t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT); + } + t.scissor(r[0], r[1], r[2] - r[0], r[3] - r[1]), + t.viewport(r[0], r[1], r[2] - r[0], r[3] - r[1]); + var u = this.backgroundColor; + t.clearColor(u[0] * u[3], u[1] * u[3], u[2] * u[3], u[3]), + t.clear(t.COLOR_BUFFER_BIT), + a.draw(); + var f = this.zeroLineEnable, + h = this.zeroLineColor, + p = this.zeroLineWidth; + if (f[0] || f[1]) { + o.bind(); + for (var d = 0; d < 2; ++d) + if (f[d] && n[d] <= 0 && n[d + 2] >= 0) { + var g = + e[d] - (n[d] * (e[d + 2] - e[d])) / (n[d + 2] - n[d]); + 0 === d + ? o.drawLine(g, e[1], g, e[3], p[d], h[d]) + : o.drawLine(e[0], g, e[2], g, p[d], h[d]); + } + } + for (d = 0; d < l.length; ++d) l[d].draw(); + t.viewport(e[0], e[1], e[2] - e[0], e[3] - e[1]), + t.scissor(e[0], e[1], e[2] - e[0], e[3] - e[1]), + this.grid.drawTickMarks(), + o.bind(); + var m = this.borderLineEnable, + v = this.borderLineWidth, + y = this.borderLineColor; + for ( + m[1] && + o.drawLine( + r[0], + r[1] - 0.5 * v[1] * i, + r[0], + r[3] + 0.5 * v[3] * i, + v[1], + y[1] + ), + m[0] && + o.drawLine( + r[0] - 0.5 * v[0] * i, + r[1], + r[2] + 0.5 * v[2] * i, + r[1], + v[0], + y[0] + ), + m[3] && + o.drawLine( + r[2], + r[1] - 0.5 * v[1] * i, + r[2], + r[3] + 0.5 * v[3] * i, + v[3], + y[3] + ), + m[2] && + o.drawLine( + r[0] - 0.5 * v[0] * i, + r[3], + r[2] + 0.5 * v[2] * i, + r[3], + v[2], + y[2] + ), + s.bind(), + d = 0; + d < 2; + ++d + ) + s.drawTicks(d); + this.titleEnable && s.drawTitle(); + var x = this.overlays; + for (d = 0; d < x.length; ++d) x[d].draw(); + t.disable(t.SCISSOR_TEST), t.disable(t.BLEND), t.depthMask(!0); + } + }), + (c.drawPick = function () { + if (!this.static) { + var t = this.pickBuffer; + this.gl, (this._pickTimeout = null), t.begin(); + for (var e = 1, r = this.objects, n = 0; n < r.length; ++n) + e = r[n].drawPick(e); + t.end(); + } + }), + (c.pick = function (t, e) { + if (!this.static) { + var r = this.pixelRatio, + n = this.pickPixelRatio, + i = this.viewBox, + a = 0 | Math.round((t - i[0] / r) * n), + o = 0 | Math.round((e - i[1] / r) * n), + s = this.pickBuffer.query(a, o, this.pickRadius); + if (!s) return null; + for ( + var l = + s.id + + (s.value[0] << 8) + + (s.value[1] << 16) + + (s.value[2] << 24), + c = this.objects, + u = 0; + u < c.length; + ++u + ) { + var f = c[u].pick(a, o, l); + if (f) return f; + } + return null; + } + }), + (c.setScreenBox = function (t) { + var e = this.screenBox, + r = this.pixelRatio; + (e[0] = 0 | Math.round(t[0] * r)), + (e[1] = 0 | Math.round(t[1] * r)), + (e[2] = 0 | Math.round(t[2] * r)), + (e[3] = 0 | Math.round(t[3] * r)), + this.setDirty(); + }), + (c.setDataBox = function (t) { + var e = this.dataBox; + (e[0] !== t[0] || + e[1] !== t[1] || + e[2] !== t[2] || + e[3] !== t[3]) && + ((e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + this.setDirty()); + }), + (c.setViewBox = function (t) { + var e = this.pixelRatio, + r = this.viewBox; + (r[0] = 0 | Math.round(t[0] * e)), + (r[1] = 0 | Math.round(t[1] * e)), + (r[2] = 0 | Math.round(t[2] * e)), + (r[3] = 0 | Math.round(t[3] * e)); + var n = this.pickPixelRatio; + (this.pickBuffer.shape = [ + 0 | Math.round((t[2] - t[0]) * n), + 0 | Math.round((t[3] - t[1]) * n), + ]), + this.setDirty(); + }), + (c.update = function (t) { + t = t || {}; + var e = this.gl; + this.pixelRatio = t.pixelRatio || 1; + var r = this.pixelRatio; + (this.pickPixelRatio = Math.max(r, 1)), + this.setScreenBox( + t.screenBox || [ + 0, + 0, + e.drawingBufferWidth / r, + e.drawingBufferHeight / r, + ] + ); + this.screenBox; + this.setViewBox( + t.viewBox || [ + (0.125 * (this.screenBox[2] - this.screenBox[0])) / r, + (0.125 * (this.screenBox[3] - this.screenBox[1])) / r, + (0.875 * (this.screenBox[2] - this.screenBox[0])) / r, + (0.875 * (this.screenBox[3] - this.screenBox[1])) / r, + ] + ); + var n = this.viewBox, + i = (n[2] - n[0]) / (n[3] - n[1]); + this.setDataBox(t.dataBox || [-10, -10 / i, 10, 10 / i]), + (this.borderColor = + !1 !== t.borderColor && + (t.borderColor || [0, 0, 0, 0]).slice()), + (this.backgroundColor = ( + t.backgroundColor || [0, 0, 0, 0] + ).slice()), + (this.gridLineEnable = (t.gridLineEnable || [!0, !0]).slice()), + (this.gridLineWidth = (t.gridLineWidth || [1, 1]).slice()), + (this.gridLineColor = u( + t.gridLineColor || [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ] + )), + (this.zeroLineEnable = (t.zeroLineEnable || [!0, !0]).slice()), + (this.zeroLineWidth = (t.zeroLineWidth || [4, 4]).slice()), + (this.zeroLineColor = u( + t.zeroLineColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + )), + (this.tickMarkLength = ( + t.tickMarkLength || [0, 0, 0, 0] + ).slice()), + (this.tickMarkWidth = ( + t.tickMarkWidth || [0, 0, 0, 0] + ).slice()), + (this.tickMarkColor = u( + t.tickMarkColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + )), + (this.titleCenter = ( + t.titleCenter || [(0.5 * (n[0] + n[2])) / r, (n[3] + 120) / r] + ).slice()), + (this.titleEnable = !('titleEnable' in t) || !!t.titleEnable), + (this.titleAngle = t.titleAngle || 0), + (this.titleColor = (t.titleColor || [0, 0, 0, 1]).slice()), + (this.labelPad = (t.labelPad || [15, 15, 15, 15]).slice()), + (this.labelAngle = ( + t.labelAngle || [0, Math.PI / 2, 0, (3 * Math.PI) / 2] + ).slice()), + (this.labelEnable = ( + t.labelEnable || [!0, !0, !0, !0] + ).slice()), + (this.labelColor = u( + t.labelColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + )), + (this.tickPad = (t.tickPad || [15, 15, 15, 15]).slice()), + (this.tickAngle = (t.tickAngle || [0, 0, 0, 0]).slice()), + (this.tickEnable = (t.tickEnable || [!0, !0, !0, !0]).slice()), + (this.tickColor = u( + t.tickColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + )), + (this.borderLineEnable = ( + t.borderLineEnable || [!0, !0, !0, !0] + ).slice()), + (this.borderLineWidth = ( + t.borderLineWidth || [2, 2, 2, 2] + ).slice()), + (this.borderLineColor = u( + t.borderLineColor || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + )); + var a = t.ticks || [[], []], + o = this._tickBounds; + (o[0] = o[1] = 1 / 0), (o[2] = o[3] = -1 / 0); + for (var s = 0; s < 2; ++s) { + var l = a[s].slice(0); + 0 !== l.length && + (l.sort(f), + (o[s] = Math.min(o[s], l[0].x)), + (o[s + 2] = Math.max(o[s + 2], l[l.length - 1].x))); + } + this.grid.update({ bounds: o, ticks: a }), + this.text.update({ + bounds: o, + ticks: a, + labels: t.labels || ['x', 'y'], + labelSize: t.labelSize || [12, 12], + labelFont: t.labelFont || ['sans-serif', 'sans-serif'], + title: t.title || '', + titleSize: t.titleSize || 18, + titleFont: t.titleFont || 'sans-serif', + }), + (this.static = !!t.static), + this.setDirty(); + }), + (c.dispose = function () { + this.box.dispose(), + this.grid.dispose(), + this.text.dispose(), + this.line.dispose(); + for (var t = this.objects.length - 1; t >= 0; --t) + this.objects[t].dispose(); + this.objects.length = 0; + for (t = this.overlays.length - 1; t >= 0; --t) + this.overlays[t].dispose(); + (this.overlays.length = 0), (this.gl = null); + }), + (c.addObject = function (t) { + this.objects.indexOf(t) < 0 && + (this.objects.push(t), this.setDirty()); + }), + (c.removeObject = function (t) { + for (var e = this.objects, r = 0; r < e.length; ++r) + if (e[r] === t) { + e.splice(r, 1), this.setDirty(); + break; + } + }), + (c.addOverlay = function (t) { + this.overlays.indexOf(t) < 0 && + (this.overlays.push(t), this.setOverlayDirty()); + }), + (c.removeOverlay = function (t) { + for (var e = this.overlays, r = 0; r < e.length; ++r) + if (e[r] === t) { + e.splice(r, 1), this.setOverlayDirty(); + break; + } + }); + }, + { + './lib/box': 311, + './lib/grid': 312, + './lib/line': 313, + './lib/text': 315, + 'gl-select-static': 334, + }, + ], + 318: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + (t = t || document.body), (e = e || {}); + var r = [0.01, 1 / 0]; + 'distanceLimits' in e && + ((r[0] = e.distanceLimits[0]), (r[1] = e.distanceLimits[1])); + 'zoomMin' in e && (r[0] = e.zoomMin); + 'zoomMax' in e && (r[1] = e.zoomMax); + var c = i({ + center: e.center || [0, 0, 0], + up: e.up || [0, 1, 0], + eye: e.eye || [0, 0, 10], + mode: e.mode || 'orbit', + distanceLimits: r, + }), + u = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + f = 0, + h = t.clientWidth, + p = t.clientHeight, + d = { + keyBindingMode: 'rotate', + enableWheel: !0, + view: c, + element: t, + delay: e.delay || 16, + rotateSpeed: e.rotateSpeed || 1, + zoomSpeed: e.zoomSpeed || 1, + translateSpeed: e.translateSpeed || 1, + flipX: !!e.flipX, + flipY: !!e.flipY, + modes: c.modes, + _ortho: + e._ortho || + (e.projection && 'orthographic' === e.projection.type) || + !1, + tick: function () { + var e = n(), + r = this.delay, + i = e - 2 * r; + c.idle(e - r), c.recalcMatrix(i), c.flush(e - (100 + 2 * r)); + for (var a = !0, o = c.computedMatrix, s = 0; s < 16; ++s) + (a = a && u[s] === o[s]), (u[s] = o[s]); + var l = t.clientWidth === h && t.clientHeight === p; + return ( + (h = t.clientWidth), + (p = t.clientHeight), + a ? !l : ((f = Math.exp(c.computedRadius[0])), !0) + ); + }, + lookAt: function (t, e, r) { + c.lookAt(c.lastT(), t, e, r); + }, + rotate: function (t, e, r) { + c.rotate(c.lastT(), t, e, r); + }, + pan: function (t, e, r) { + c.pan(c.lastT(), t, e, r); + }, + translate: function (t, e, r) { + c.translate(c.lastT(), t, e, r); + }, + }; + return ( + Object.defineProperties(d, { + matrix: { + get: function () { + return c.computedMatrix; + }, + set: function (t) { + return c.setMatrix(c.lastT(), t), c.computedMatrix; + }, + enumerable: !0, + }, + mode: { + get: function () { + return c.getMode(); + }, + set: function (t) { + var e = c.computedUp.slice(), + r = c.computedEye.slice(), + i = c.computedCenter.slice(); + if ((c.setMode(t), 'turntable' === t)) { + var a = n(); + c._active.lookAt(a, r, i, e), + c._active.lookAt(a + 500, r, i, [0, 0, 1]), + c._active.flush(a); + } + return c.getMode(); + }, + enumerable: !0, + }, + center: { + get: function () { + return c.computedCenter; + }, + set: function (t) { + return c.lookAt(c.lastT(), null, t), c.computedCenter; + }, + enumerable: !0, + }, + eye: { + get: function () { + return c.computedEye; + }, + set: function (t) { + return c.lookAt(c.lastT(), t), c.computedEye; + }, + enumerable: !0, + }, + up: { + get: function () { + return c.computedUp; + }, + set: function (t) { + return c.lookAt(c.lastT(), null, null, t), c.computedUp; + }, + enumerable: !0, + }, + distance: { + get: function () { + return f; + }, + set: function (t) { + return c.setDistance(c.lastT(), t), t; + }, + enumerable: !0, + }, + distanceLimits: { + get: function () { + return c.getDistanceLimits(r); + }, + set: function (t) { + return c.setDistanceLimits(t), t; + }, + enumerable: !0, + }, + }), + t.addEventListener('contextmenu', function (t) { + return t.preventDefault(), !1; + }), + (d._lastX = -1), + (d._lastY = -1), + (d._lastMods = { shift: !1, control: !1, alt: !1, meta: !1 }), + (d.enableMouseListeners = function () { + function e(e, r, i, a) { + var o = d.keyBindingMode; + if (!1 !== o) { + var s = 'rotate' === o, + l = 'pan' === o, + u = 'zoom' === o, + h = !!a.control, + p = !!a.alt, + g = !!a.shift, + m = !!(1 & e), + v = !!(2 & e), + y = !!(4 & e), + x = 1 / t.clientHeight, + b = x * (r - d._lastX), + _ = x * (i - d._lastY), + w = d.flipX ? 1 : -1, + T = d.flipY ? 1 : -1, + k = Math.PI * d.rotateSpeed, + M = n(); + if ( + -1 !== d._lastX && + -1 !== d._lastY && + (((s && m && !h && !p && !g) || (m && !h && !p && g)) && + c.rotate(M, w * k * b, -T * k * _, 0), + ((l && m && !h && !p && !g) || + v || + (m && h && !p && !g)) && + c.pan( + M, + -d.translateSpeed * b * f, + d.translateSpeed * _ * f, + 0 + ), + (u && m && !h && !p && !g) || y || (m && !h && p && !g)) + ) { + var A = + ((-d.zoomSpeed * _) / window.innerHeight) * + (M - c.lastT()) * + 100; + c.pan(M, 0, 0, f * (Math.exp(A) - 1)); + } + return ( + (d._lastX = r), (d._lastY = i), (d._lastMods = a), !0 + ); + } + } + (d.mouseListener = a(t, e)), + t.addEventListener( + 'touchstart', + function (r) { + var n = s(r.changedTouches[0], t); + e(0, n[0], n[1], d._lastMods), + e(1, n[0], n[1], d._lastMods); + }, + !!l && { passive: !0 } + ), + t.addEventListener( + 'touchmove', + function (r) { + var n = s(r.changedTouches[0], t); + e(1, n[0], n[1], d._lastMods), r.preventDefault(); + }, + !!l && { passive: !1 } + ), + t.addEventListener( + 'touchend', + function (t) { + e(0, d._lastX, d._lastY, d._lastMods); + }, + !!l && { passive: !0 } + ), + (d.wheelListener = o( + t, + function (t, e) { + if (!1 !== d.keyBindingMode && d.enableWheel) { + var r = d.flipX ? 1 : -1, + i = d.flipY ? 1 : -1, + a = n(); + if (Math.abs(t) > Math.abs(e)) + c.rotate( + a, + 0, + 0, + (-t * r * Math.PI * d.rotateSpeed) / + window.innerWidth + ); + else if (!d._ortho) { + var o = + (((-d.zoomSpeed * i * e) / window.innerHeight) * + (a - c.lastT())) / + 20; + c.pan(a, 0, 0, f * (Math.exp(o) - 1)); + } + } + }, + !0 + )); + }), + d.enableMouseListeners(), + d + ); + }; + var n = t('right-now'), + i = t('3d-view'), + a = t('mouse-change'), + o = t('mouse-wheel'), + s = t('mouse-event-offset'), + l = t('has-passive-events'); + }, + { + '3d-view': 54, + 'has-passive-events': 441, + 'mouse-change': 483, + 'mouse-event-offset': 484, + 'mouse-wheel': 486, + 'right-now': 542, + }, + ], + 319: [ + function (t, e, r) { + var n = t('glslify'), + i = t('gl-shader'), + a = n([ + 'precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}', + ]), + o = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}', + ]); + e.exports = function (t) { + return i(t, a, o, null, [{ name: 'position', type: 'vec2' }]); + }; + }, + { 'gl-shader': 335, glslify: 320 }, + ], + 320: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 321: [ + function (t, e, r) { + 'use strict'; + var n = t('./camera.js'), + i = t('gl-axes3d'), + a = t('gl-axes3d/properties'), + o = t('gl-spikes3d'), + s = t('gl-select-static'), + l = t('gl-fbo'), + c = t('a-big-triangle'), + u = t('mouse-change'), + f = t('gl-mat4/perspective'), + h = t('gl-mat4/ortho'), + p = t('./lib/shader'), + d = t('is-mobile')({ tablet: !0, featureDetect: !0 }); + function g() { + (this.mouse = [-1, -1]), + (this.screen = null), + (this.distance = 1 / 0), + (this.index = null), + (this.dataCoordinate = null), + (this.dataPosition = null), + (this.object = null), + (this.data = null); + } + function m(t) { + var e = Math.round(Math.log(Math.abs(t)) / Math.log(10)); + if (e < 0) { + var r = Math.round(Math.pow(10, -e)); + return Math.ceil(t * r) / r; + } + if (e > 0) { + r = Math.round(Math.pow(10, e)); + return Math.ceil(t / r) * r; + } + return Math.ceil(t); + } + function v(t) { + return 'boolean' != typeof t || t; + } + e.exports = { + createScene: function (t) { + (t = t || {}).camera = t.camera || {}; + var e = t.canvas; + if (!e) { + if (((e = document.createElement('canvas')), t.container)) + t.container.appendChild(e); + else document.body.appendChild(e); + } + var r = t.gl; + r || + (t.glOptions && (d = !!t.glOptions.preserveDrawingBuffer), + (r = (function (t, e) { + var r = null; + try { + (r = t.getContext('webgl', e)) || + (r = t.getContext('experimental-webgl', e)); + } catch (t) { + return null; + } + return r; + })( + e, + t.glOptions || { + premultipliedAlpha: !0, + antialias: !0, + preserveDrawingBuffer: d, + } + ))); + if (!r) throw new Error('webgl not supported'); + var y = t.bounds || [ + [-10, -10, -10], + [10, 10, 10], + ], + x = new g(), + b = l(r, r.drawingBufferWidth, r.drawingBufferHeight, { + preferFloat: !d, + }), + _ = p(r), + w = + (t.cameraObject && !0 === t.cameraObject._ortho) || + (t.camera.projection && + 'orthographic' === t.camera.projection.type) || + !1, + T = { + eye: t.camera.eye || [2, 0, 0], + center: t.camera.center || [0, 0, 0], + up: t.camera.up || [0, 1, 0], + zoomMin: t.camera.zoomMax || 0.1, + zoomMax: t.camera.zoomMin || 100, + mode: t.camera.mode || 'turntable', + _ortho: w, + }, + k = t.axes || {}, + M = i(r, k); + M.enable = !k.disable; + var A = t.spikes || {}, + S = o(r, A), + E = [], + C = [], + L = [], + I = [], + P = !0, + z = !0, + O = new Array(16), + D = new Array(16), + R = { view: null, projection: O, model: D, _ortho: !1 }, + F = ((z = !0), [r.drawingBufferWidth, r.drawingBufferHeight]), + B = t.cameraObject || n(e, T), + N = { + gl: r, + contextLost: !1, + pixelRatio: t.pixelRatio || 1, + canvas: e, + selection: x, + camera: B, + axes: M, + axesPixels: null, + spikes: S, + bounds: y, + objects: E, + shape: F, + aspect: t.aspectRatio || [1, 1, 1], + pickRadius: t.pickRadius || 10, + zNear: t.zNear || 0.01, + zFar: t.zFar || 1e3, + fovy: t.fovy || Math.PI / 4, + clearColor: t.clearColor || [0, 0, 0, 0], + autoResize: v(t.autoResize), + autoBounds: v(t.autoBounds), + autoScale: !!t.autoScale, + autoCenter: v(t.autoCenter), + clipToBounds: v(t.clipToBounds), + snapToData: !!t.snapToData, + onselect: t.onselect || null, + onrender: t.onrender || null, + onclick: t.onclick || null, + cameraParams: R, + oncontextloss: null, + mouseListener: null, + _stopped: !1, + getAspectratio: function () { + return { + x: this.aspect[0], + y: this.aspect[1], + z: this.aspect[2], + }; + }, + setAspectratio: function (t) { + (this.aspect[0] = t.x), + (this.aspect[1] = t.y), + (this.aspect[2] = t.z), + (z = !0); + }, + setBounds: function (t, e) { + (this.bounds[0][t] = e.min), (this.bounds[1][t] = e.max); + }, + setClearColor: function (t) { + this.clearColor = t; + }, + clearRGBA: function () { + this.gl.clearColor( + this.clearColor[0], + this.clearColor[1], + this.clearColor[2], + this.clearColor[3] + ), + this.gl.clear( + this.gl.COLOR_BUFFER_BIT | this.gl.DEPTH_BUFFER_BIT + ); + }, + }, + j = [ + (r.drawingBufferWidth / N.pixelRatio) | 0, + (r.drawingBufferHeight / N.pixelRatio) | 0, + ]; + function U() { + if (!N._stopped && N.autoResize) { + var t = e.parentNode, + r = 1, + n = 1; + t && t !== document.body + ? ((r = t.clientWidth), (n = t.clientHeight)) + : ((r = window.innerWidth), (n = window.innerHeight)); + var i = 0 | Math.ceil(r * N.pixelRatio), + a = 0 | Math.ceil(n * N.pixelRatio); + if (i !== e.width || a !== e.height) { + (e.width = i), (e.height = a); + var o = e.style; + (o.position = o.position || 'absolute'), + (o.left = '0px'), + (o.top = '0px'), + (o.width = r + 'px'), + (o.height = n + 'px'), + (P = !0); + } + } + } + N.autoResize && U(); + function V() { + for (var t = E.length, e = I.length, n = 0; n < e; ++n) + L[n] = 0; + t: for (n = 0; n < t; ++n) { + var i = E[n], + a = i.pickSlots; + if (a) { + for (var o = 0; o < e; ++o) + if (L[o] + a < 255) { + (C[n] = o), i.setPickBase(L[o] + 1), (L[o] += a); + continue t; + } + var l = s(r, F); + (C[n] = e), + I.push(l), + L.push(a), + i.setPickBase(1), + (e += 1); + } else C[n] = -1; + } + for (; e > 0 && 0 === L[e - 1]; ) L.pop(), I.pop().dispose(); + } + function q() { + if (N.contextLost) return !0; + r.isContextLost() && + ((N.contextLost = !0), + (N.mouseListener.enabled = !1), + (N.selection.object = null), + N.oncontextloss && N.oncontextloss()); + } + window.addEventListener('resize', U), + (N.update = function (t) { + N._stopped || ((t = t || {}), (P = !0), (z = !0)); + }), + (N.add = function (t) { + N._stopped || + ((t.axes = M), + E.push(t), + C.push(-1), + (P = !0), + (z = !0), + V()); + }), + (N.remove = function (t) { + if (!N._stopped) { + var e = E.indexOf(t); + e < 0 || (E.splice(e, 1), C.pop(), (P = !0), (z = !0), V()); + } + }), + (N.dispose = function () { + if ( + !N._stopped && + ((N._stopped = !0), + window.removeEventListener('resize', U), + e.removeEventListener('webglcontextlost', q), + (N.mouseListener.enabled = !1), + !N.contextLost) + ) { + M.dispose(), S.dispose(); + for (var t = 0; t < E.length; ++t) E[t].dispose(); + b.dispose(); + for (t = 0; t < I.length; ++t) I[t].dispose(); + _.dispose(), (r = null), (M = null), (S = null), (E = []); + } + }), + (N._mouseRotating = !1), + (N._prevButtons = 0), + (N.enableMouseListeners = function () { + N.mouseListener = u(e, function (t, e, r) { + if (!N._stopped) { + var n = I.length, + i = E.length, + a = x.object; + (x.distance = 1 / 0), + (x.mouse[0] = e), + (x.mouse[1] = r), + (x.object = null), + (x.screen = null), + (x.dataCoordinate = x.dataPosition = null); + var o = !1; + if (t && N._prevButtons) N._mouseRotating = !0; + else { + N._mouseRotating && (z = !0), (N._mouseRotating = !1); + for (var s = 0; s < n; ++s) { + var l = I[s].query(e, j[1] - r - 1, N.pickRadius); + if (l) { + if (l.distance > x.distance) continue; + for (var c = 0; c < i; ++c) { + var u = E[c]; + if (C[c] === s) { + var f = u.pick(l); + f && + ((x.buttons = t), + (x.screen = l.coord), + (x.distance = l.distance), + (x.object = u), + (x.index = f.distance), + (x.dataPosition = f.position), + (x.dataCoordinate = f.dataCoordinate), + (x.data = f), + (o = !0)); + } + } + } + } + } + a && + a !== x.object && + (a.highlight && a.highlight(null), (P = !0)), + x.object && + (x.object.highlight && x.object.highlight(x.data), + (P = !0)), + (o = o || x.object !== a) && + N.onselect && + N.onselect(x), + 1 & t && + !(1 & N._prevButtons) && + N.onclick && + N.onclick(x), + (N._prevButtons = t); + } + }); + }), + e.addEventListener('webglcontextlost', q); + var H = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ], + G = [H[0].slice(), H[1].slice()]; + function Y() { + if (!q()) { + U(); + var t = N.camera.tick(); + (R.view = N.camera.matrix), + (P = P || t), + (z = z || t), + (M.pixelRatio = N.pixelRatio), + (S.pixelRatio = N.pixelRatio); + var e = E.length, + n = H[0], + i = H[1]; + (n[0] = n[1] = n[2] = 1 / 0), (i[0] = i[1] = i[2] = -1 / 0); + for (var o = 0; o < e; ++o) { + ((L = E[o]).pixelRatio = N.pixelRatio), + (L.axes = N.axes), + (P = P || !!L.dirty), + (z = z || !!L.dirty); + var s = L.bounds; + if (s) + for (var l = s[0], u = s[1], p = 0; p < 3; ++p) + (n[p] = Math.min(n[p], l[p])), + (i[p] = Math.max(i[p], u[p])); + } + var d = N.bounds; + if (N.autoBounds) + for (p = 0; p < 3; ++p) { + if (i[p] < n[p]) (n[p] = -1), (i[p] = 1); + else { + n[p] === i[p] && ((n[p] -= 1), (i[p] += 1)); + var g = 0.05 * (i[p] - n[p]); + (n[p] = n[p] - g), (i[p] = i[p] + g); + } + (d[0][p] = n[p]), (d[1][p] = i[p]); + } + var v = !1; + for (p = 0; p < 3; ++p) + (v = v || G[0][p] !== d[0][p] || G[1][p] !== d[1][p]), + (G[0][p] = d[0][p]), + (G[1][p] = d[1][p]); + if (((z = z || v), (P = P || v))) { + if (v) { + var y = [0, 0, 0]; + for (o = 0; o < 3; ++o) + y[o] = m((d[1][o] - d[0][o]) / 10); + M.autoTicks + ? M.update({ bounds: d, tickSpacing: y }) + : M.update({ bounds: d }); + } + var T = r.drawingBufferWidth, + k = r.drawingBufferHeight; + (F[0] = T), + (F[1] = k), + (j[0] = 0 | Math.max(T / N.pixelRatio, 1)), + (j[1] = 0 | Math.max(k / N.pixelRatio, 1)), + (function (t, e) { + var r = t.bounds, + n = t.cameraParams, + i = n.projection, + a = n.model, + o = t.gl.drawingBufferWidth, + s = t.gl.drawingBufferHeight, + l = t.zNear, + c = t.zFar, + u = t.fovy, + p = o / s; + e + ? (h(i, -p, p, -1, 1, l, c), (n._ortho = !0)) + : (f(i, u, p, l, c), (n._ortho = !1)); + for (var d = 0; d < 16; ++d) a[d] = 0; + a[15] = 1; + var g = 0; + for (d = 0; d < 3; ++d) + g = Math.max(g, r[1][d] - r[0][d]); + for (d = 0; d < 3; ++d) + t.autoScale + ? (a[5 * d] = t.aspect[d] / (r[1][d] - r[0][d])) + : (a[5 * d] = 1 / g), + t.autoCenter && + (a[12 + d] = + 0.5 * -a[5 * d] * (r[0][d] + r[1][d])); + })(N, w); + for (o = 0; o < e; ++o) { + ((L = E[o]).axesBounds = d), + N.clipToBounds && (L.clipBounds = d); + } + x.object && + (N.snapToData + ? (S.position = x.dataCoordinate) + : (S.position = x.dataPosition), + (S.bounds = d)), + z && + ((z = !1), + (function () { + if (!q()) { + r.colorMask(!0, !0, !0, !0), + r.depthMask(!0), + r.disable(r.BLEND), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL); + for ( + var t = E.length, e = I.length, n = 0; + n < e; + ++n + ) { + var i = I[n]; + (i.shape = j), i.begin(); + for (var a = 0; a < t; ++a) + if (C[a] === n) { + var o = E[a]; + o.drawPick && + ((o.pixelRatio = 1), o.drawPick(R)); + } + i.end(); + } + } + })()), + (N.axesPixels = a(N.axes, R, T, k)), + N.onrender && N.onrender(), + r.bindFramebuffer(r.FRAMEBUFFER, null), + r.viewport(0, 0, T, k), + N.clearRGBA(), + r.depthMask(!0), + r.colorMask(!0, !0, !0, !0), + r.enable(r.DEPTH_TEST), + r.depthFunc(r.LEQUAL), + r.disable(r.BLEND), + r.disable(r.CULL_FACE); + var A = !1; + M.enable && ((A = A || M.isTransparent()), M.draw(R)), + (S.axes = M), + x.object && S.draw(R), + r.disable(r.CULL_FACE); + for (o = 0; o < e; ++o) { + ((L = E[o]).axes = M), + (L.pixelRatio = N.pixelRatio), + L.isOpaque && L.isOpaque() && L.draw(R), + L.isTransparent && L.isTransparent() && (A = !0); + } + if (A) { + (b.shape = F), + b.bind(), + r.clear(r.DEPTH_BUFFER_BIT), + r.colorMask(!1, !1, !1, !1), + r.depthMask(!0), + r.depthFunc(r.LESS), + M.enable && M.isTransparent() && M.drawTransparent(R); + for (o = 0; o < e; ++o) { + (L = E[o]).isOpaque && L.isOpaque() && L.draw(R); + } + r.enable(r.BLEND), + r.blendEquation(r.FUNC_ADD), + r.blendFunc(r.ONE, r.ONE_MINUS_SRC_ALPHA), + r.colorMask(!0, !0, !0, !0), + r.depthMask(!1), + r.clearColor(0, 0, 0, 0), + r.clear(r.COLOR_BUFFER_BIT), + M.isTransparent() && M.drawTransparent(R); + for (o = 0; o < e; ++o) { + var L; + (L = E[o]).isTransparent && + L.isTransparent() && + L.drawTransparent(R); + } + r.bindFramebuffer(r.FRAMEBUFFER, null), + r.blendFunc(r.ONE, r.ONE_MINUS_SRC_ALPHA), + r.disable(r.DEPTH_TEST), + _.bind(), + b.color[0].bind(0), + (_.uniforms.accumBuffer = 0), + c(r), + r.disable(r.BLEND); + } + P = !1; + for (o = 0; o < e; ++o) E[o].dirty = !1; + } + } + } + return ( + N.enableMouseListeners(), + (function t() { + if (N._stopped || N.contextLost) return; + Y(), requestAnimationFrame(t); + })(), + (N.redraw = function () { + N._stopped || ((P = !0), Y()); + }), + N + ); + }, + createCamera: n, + }; + }, + { + './camera.js': 318, + './lib/shader': 319, + 'a-big-triangle': 64, + 'gl-axes3d': 250, + 'gl-axes3d/properties': 258, + 'gl-fbo': 269, + 'gl-mat4/ortho': 296, + 'gl-mat4/perspective': 297, + 'gl-select-static': 334, + 'gl-spikes3d': 345, + 'is-mobile': 467, + 'mouse-change': 483, + }, + ], + 322: [ + function (t, e, r) { + var n = t('glslify'); + (r.pointVertex = n([ + "precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}", + ])), + (r.pointFragment = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n', + ])), + (r.pickVertex = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n', + ])), + (r.pickFragment = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n', + ])); + }, + { glslify: 323 }, + ], + 323: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 324: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-shader'), + i = t('gl-buffer'), + a = t('typedarray-pool'), + o = t('./lib/shader'); + function s(t, e, r, n, i) { + (this.plot = t), + (this.offsetBuffer = e), + (this.pickBuffer = r), + (this.shader = n), + (this.pickShader = i), + (this.sizeMin = 0.5), + (this.sizeMinCap = 2), + (this.sizeMax = 20), + (this.areaRatio = 1), + (this.pointCount = 0), + (this.color = [1, 0, 0, 1]), + (this.borderColor = [0, 0, 0, 1]), + (this.blend = !1), + (this.pickOffset = 0), + (this.points = null); + } + e.exports = function (t, e) { + var r = t.gl, + a = i(r), + l = i(r), + c = n(r, o.pointVertex, o.pointFragment), + u = n(r, o.pickVertex, o.pickFragment), + f = new s(t, a, l, c, u); + return f.update(e), t.addObject(f), f; + }; + var l, + c, + u = s.prototype; + (u.dispose = function () { + this.shader.dispose(), + this.pickShader.dispose(), + this.offsetBuffer.dispose(), + this.pickBuffer.dispose(), + this.plot.removeObject(this); + }), + (u.update = function (t) { + var e; + function r(e, r) { + return e in t ? t[e] : r; + } + (t = t || {}), + (this.sizeMin = r('sizeMin', 0.5)), + (this.sizeMax = r('sizeMax', 20)), + (this.color = r('color', [1, 0, 0, 1]).slice()), + (this.areaRatio = r('areaRatio', 1)), + (this.borderColor = r('borderColor', [0, 0, 0, 1]).slice()), + (this.blend = r('blend', !1)); + var n = t.positions.length >>> 1, + i = t.positions instanceof Float32Array, + o = + t.idToIndex instanceof Int32Array && t.idToIndex.length >= n, + s = t.positions, + l = i ? s : a.mallocFloat32(s.length), + c = o ? t.idToIndex : a.mallocInt32(n); + if ((i || l.set(s), !o)) + for (l.set(s), e = 0; e < n; e++) c[e] = e; + (this.points = s), + this.offsetBuffer.update(l), + this.pickBuffer.update(c), + i || a.free(l), + o || a.free(c), + (this.pointCount = n), + (this.pickOffset = 0); + }), + (u.unifiedDraw = + ((l = [1, 0, 0, 0, 1, 0, 0, 0, 1]), + (c = [0, 0, 0, 0]), + function (t) { + var e = void 0 !== t, + r = e ? this.pickShader : this.shader, + n = this.plot.gl, + i = this.plot.dataBox; + if (0 === this.pointCount) return t; + var a = i[2] - i[0], + o = i[3] - i[1], + s = (function (t, e) { + var r, + n = 0, + i = t.length >>> 1; + for (r = 0; r < i; r++) { + var a = t[2 * r], + o = t[2 * r + 1]; + a >= e[0] && a <= e[2] && o >= e[1] && o <= e[3] && n++; + } + return n; + })(this.points, i), + u = + this.plot.pickPixelRatio * + Math.max( + Math.min(this.sizeMinCap, this.sizeMin), + Math.min( + this.sizeMax, + this.sizeMax / Math.pow(s, 0.33333) + ) + ); + (l[0] = 2 / a), + (l[4] = 2 / o), + (l[6] = (-2 * i[0]) / a - 1), + (l[7] = (-2 * i[1]) / o - 1), + this.offsetBuffer.bind(), + r.bind(), + r.attributes.position.pointer(), + (r.uniforms.matrix = l), + (r.uniforms.color = this.color), + (r.uniforms.borderColor = this.borderColor), + (r.uniforms.pointCloud = u < 5), + (r.uniforms.pointSize = u), + (r.uniforms.centerFraction = Math.min( + 1, + Math.max(0, Math.sqrt(1 - this.areaRatio)) + )), + e && + ((c[0] = 255 & t), + (c[1] = (t >> 8) & 255), + (c[2] = (t >> 16) & 255), + (c[3] = (t >> 24) & 255), + this.pickBuffer.bind(), + r.attributes.pickId.pointer(n.UNSIGNED_BYTE), + (r.uniforms.pickOffset = c), + (this.pickOffset = t)); + var f = n.getParameter(n.BLEND), + h = n.getParameter(n.DITHER); + return ( + f && !this.blend && n.disable(n.BLEND), + h && n.disable(n.DITHER), + n.drawArrays(n.POINTS, 0, this.pointCount), + f && !this.blend && n.enable(n.BLEND), + h && n.enable(n.DITHER), + t + this.pointCount + ); + })), + (u.draw = u.unifiedDraw), + (u.drawPick = u.unifiedDraw), + (u.pick = function (t, e, r) { + var n = this.pickOffset, + i = this.pointCount; + if (r < n || r >= n + i) return null; + var a = r - n, + o = this.points; + return { + object: this, + pointId: a, + dataCoord: [o[2 * a], o[2 * a + 1]], + }; + }); + }, + { + './lib/shader': 322, + 'gl-buffer': 259, + 'gl-shader': 335, + 'typedarray-pool': 595, + }, + ], + 325: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i, + a, + o, + s, + l, + c = e[0], + u = e[1], + f = e[2], + h = e[3], + p = r[0], + d = r[1], + g = r[2], + m = r[3]; + (a = c * p + u * d + f * g + h * m) < 0 && + ((a = -a), (p = -p), (d = -d), (g = -g), (m = -m)); + 1 - a > 1e-6 + ? ((i = Math.acos(a)), + (o = Math.sin(i)), + (s = Math.sin((1 - n) * i) / o), + (l = Math.sin(n * i) / o)) + : ((s = 1 - n), (l = n)); + return ( + (t[0] = s * c + l * p), + (t[1] = s * u + l * d), + (t[2] = s * f + l * g), + (t[3] = s * h + l * m), + t + ); + }; + }, + {}, + ], + 326: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return t || 0 === t ? t.toString() : ''; + }; + }, + {}, + ], + 327: [ + function (t, e, r) { + 'use strict'; + var n = t('vectorize-text'); + e.exports = function (t, e, r) { + var a = i[e]; + a || (a = i[e] = {}); + if (t in a) return a[t]; + var o = { + textAlign: 'center', + textBaseline: 'middle', + lineHeight: 1, + font: e, + lineSpacing: 1.25, + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + triangles: !0, + }, + s = n(t, o); + o.triangles = !1; + var l, + c, + u = n(t, o); + if (r && 1 !== r) { + for (l = 0; l < s.positions.length; ++l) + for (c = 0; c < s.positions[l].length; ++c) + s.positions[l][c] /= r; + for (l = 0; l < u.positions.length; ++l) + for (c = 0; c < u.positions[l].length; ++c) + u.positions[l][c] /= r; + } + var f = [ + [1 / 0, 1 / 0], + [-1 / 0, -1 / 0], + ], + h = u.positions.length; + for (l = 0; l < h; ++l) { + var p = u.positions[l]; + for (c = 0; c < 2; ++c) + (f[0][c] = Math.min(f[0][c], p[c])), + (f[1][c] = Math.max(f[1][c], p[c])); + } + return (a[t] = [s, u, f]); + }; + var i = {}; + }, + { 'vectorize-text': 600 }, + ], + 328: [ + function (t, e, r) { + var n = t('gl-shader'), + i = t('glslify'), + a = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}', + ]), + o = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}', + ]), + s = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n', + ]), + l = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n', + ]), + c = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}', + ]), + u = [ + { name: 'position', type: 'vec3' }, + { name: 'color', type: 'vec4' }, + { name: 'glyph', type: 'vec2' }, + { name: 'id', type: 'vec4' }, + ], + f = { vertex: a, fragment: l, attributes: u }, + h = { vertex: o, fragment: l, attributes: u }, + p = { vertex: s, fragment: l, attributes: u }, + d = { vertex: a, fragment: c, attributes: u }, + g = { vertex: o, fragment: c, attributes: u }, + m = { vertex: s, fragment: c, attributes: u }; + function v(t, e) { + var r = n(t, e), + i = r.attributes; + return ( + (i.position.location = 0), + (i.color.location = 1), + (i.glyph.location = 2), + (i.id.location = 3), + r + ); + } + (r.createPerspective = function (t) { + return v(t, f); + }), + (r.createOrtho = function (t) { + return v(t, h); + }), + (r.createProject = function (t) { + return v(t, p); + }), + (r.createPickPerspective = function (t) { + return v(t, d); + }), + (r.createPickOrtho = function (t) { + return v(t, g); + }), + (r.createPickProject = function (t) { + return v(t, m); + }); + }, + { 'gl-shader': 335, glslify: 329 }, + ], + 329: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 330: [ + function (t, e, r) { + 'use strict'; + var n = t('is-string-blank'), + i = t('gl-buffer'), + a = t('gl-vao'), + o = t('typedarray-pool'), + s = t('gl-mat4/multiply'), + l = t('./lib/shaders'), + c = t('./lib/glyphs'), + u = t('./lib/get-simple-string'), + f = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function h(t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t[3]; + return ( + (t[0] = e[0] * r + e[4] * n + e[8] * i + e[12] * a), + (t[1] = e[1] * r + e[5] * n + e[9] * i + e[13] * a), + (t[2] = e[2] * r + e[6] * n + e[10] * i + e[14] * a), + (t[3] = e[3] * r + e[7] * n + e[11] * i + e[15] * a), + t + ); + } + function p(t, e, r, n) { + return h(n, n), h(n, n), h(n, n); + } + function d(t, e) { + (this.index = t), (this.dataCoordinate = this.position = e); + } + function g(t) { + return !0 === t || t > 1 ? 1 : t; + } + function m(t, e, r, n, i, a, o, s, l, c, u, f) { + (this.gl = t), + (this.pixelRatio = 1), + (this.shader = e), + (this.orthoShader = r), + (this.projectShader = n), + (this.pointBuffer = i), + (this.colorBuffer = a), + (this.glyphBuffer = o), + (this.idBuffer = s), + (this.vao = l), + (this.vertexCount = 0), + (this.lineVertexCount = 0), + (this.opacity = 1), + (this.hasAlpha = !1), + (this.lineWidth = 0), + (this.projectScale = [2 / 3, 2 / 3, 2 / 3]), + (this.projectOpacity = [1, 1, 1]), + (this.projectHasAlpha = !1), + (this.pickId = 0), + (this.pickPerspectiveShader = c), + (this.pickOrthoShader = u), + (this.pickProjectShader = f), + (this.points = []), + (this._selectResult = new d(0, [0, 0, 0])), + (this.useOrtho = !0), + (this.bounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.axesProject = [!0, !0, !0]), + (this.axesBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.highlightId = [1, 1, 1, 1]), + (this.highlightScale = 2), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.dirty = !0); + } + e.exports = function (t) { + var e = t.gl, + r = l.createPerspective(e), + n = l.createOrtho(e), + o = l.createProject(e), + s = l.createPickPerspective(e), + c = l.createPickOrtho(e), + u = l.createPickProject(e), + f = i(e), + h = i(e), + p = i(e), + d = i(e), + g = a(e, [ + { buffer: f, size: 3, type: e.FLOAT }, + { buffer: h, size: 4, type: e.FLOAT }, + { buffer: p, size: 2, type: e.FLOAT }, + { buffer: d, size: 4, type: e.UNSIGNED_BYTE, normalized: !0 }, + ]), + v = new m(e, r, n, o, f, h, p, d, g, s, c, u); + return v.update(t), v; + }; + var v = m.prototype; + (v.pickSlots = 1), + (v.setPickBase = function (t) { + this.pickId = t; + }), + (v.isTransparent = function () { + if (this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if (this.axesProject[t] && this.projectHasAlpha) return !0; + return !1; + }), + (v.isOpaque = function () { + if (!this.hasAlpha) return !0; + for (var t = 0; t < 3; ++t) + if (this.axesProject[t] && !this.projectHasAlpha) return !0; + return !1; + }); + var y = [0, 0], + x = [0, 0, 0], + b = [0, 0, 0], + _ = [0, 0, 0, 1], + w = [0, 0, 0, 1], + T = f.slice(), + k = [0, 0, 0], + M = [ + [0, 0, 0], + [0, 0, 0], + ]; + function A(t) { + return (t[0] = t[1] = t[2] = 0), t; + } + function S(t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = 1), t; + } + function E(t, e, r, n) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[r] = n), t; + } + function C(t, e, r, n) { + var i, + a = e.axesProject, + o = e.gl, + l = t.uniforms, + c = r.model || f, + u = r.view || f, + h = r.projection || f, + d = e.axesBounds, + g = (function (t) { + for (var e = M, r = 0; r < 2; ++r) + for (var n = 0; n < 3; ++n) + e[r][n] = Math.max(Math.min(t[r][n], 1e8), -1e8); + return e; + })(e.clipBounds); + (i = + e.axes && e.axes.lastCubeProps + ? e.axes.lastCubeProps.axis + : [1, 1, 1]), + (y[0] = 2 / o.drawingBufferWidth), + (y[1] = 2 / o.drawingBufferHeight), + t.bind(), + (l.view = u), + (l.projection = h), + (l.screenSize = y), + (l.highlightId = e.highlightId), + (l.highlightScale = e.highlightScale), + (l.clipBounds = g), + (l.pickGroup = e.pickId / 255), + (l.pixelRatio = n); + for (var m = 0; m < 3; ++m) + if (a[m]) { + (l.scale = e.projectScale[m]), + (l.opacity = e.projectOpacity[m]); + for (var v = T, C = 0; C < 16; ++C) v[C] = 0; + for (C = 0; C < 4; ++C) v[5 * C] = 1; + (v[5 * m] = 0), + i[m] < 0 ? (v[12 + m] = d[0][m]) : (v[12 + m] = d[1][m]), + s(v, c, v), + (l.model = v); + var L = (m + 1) % 3, + I = (m + 2) % 3, + P = A(x), + z = A(b); + (P[L] = 1), (z[I] = 1); + var O = p(0, 0, 0, S(_, P)), + D = p(0, 0, 0, S(w, z)); + if (Math.abs(O[1]) > Math.abs(D[1])) { + var R = O; + (O = D), (D = R), (R = P), (P = z), (z = R); + var F = L; + (L = I), (I = F); + } + O[0] < 0 && (P[L] = -1), D[1] > 0 && (z[I] = -1); + var B = 0, + N = 0; + for (C = 0; C < 4; ++C) + (B += Math.pow(c[4 * L + C], 2)), + (N += Math.pow(c[4 * I + C], 2)); + (P[L] /= Math.sqrt(B)), + (z[I] /= Math.sqrt(N)), + (l.axes[0] = P), + (l.axes[1] = z), + (l.fragClipBounds[0] = E(k, g[0], m, -1e8)), + (l.fragClipBounds[1] = E(k, g[1], m, 1e8)), + e.vao.bind(), + e.vao.draw(o.TRIANGLES, e.vertexCount), + e.lineWidth > 0 && + (o.lineWidth(e.lineWidth * n), + e.vao.draw(o.LINES, e.lineVertexCount, e.vertexCount)), + e.vao.unbind(); + } + } + var L = [ + [-1e8, -1e8, -1e8], + [1e8, 1e8, 1e8], + ]; + function I(t, e, r, n, i, a, o) { + var s = r.gl; + if ( + ((a === r.projectHasAlpha || o) && C(e, r, n, i), + a === r.hasAlpha || o) + ) { + t.bind(); + var l = t.uniforms; + (l.model = n.model || f), + (l.view = n.view || f), + (l.projection = n.projection || f), + (y[0] = 2 / s.drawingBufferWidth), + (y[1] = 2 / s.drawingBufferHeight), + (l.screenSize = y), + (l.highlightId = r.highlightId), + (l.highlightScale = r.highlightScale), + (l.fragClipBounds = L), + (l.clipBounds = r.axes.bounds), + (l.opacity = r.opacity), + (l.pickGroup = r.pickId / 255), + (l.pixelRatio = i), + r.vao.bind(), + r.vao.draw(s.TRIANGLES, r.vertexCount), + r.lineWidth > 0 && + (s.lineWidth(r.lineWidth * i), + r.vao.draw(s.LINES, r.lineVertexCount, r.vertexCount)), + r.vao.unbind(); + } + } + function P(t, e, r, i) { + var a; + (a = Array.isArray(t) ? (e < t.length ? t[e] : void 0) : t), + (a = u(a)); + var o = !0; + n(a) && ((a = '\u25bc'), (o = !1)); + var s = c(a, r, i); + return { mesh: s[0], lines: s[1], bounds: s[2], visible: o }; + } + (v.draw = function (t) { + I( + this.useOrtho ? this.orthoShader : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !1, + !1 + ); + }), + (v.drawTransparent = function (t) { + I( + this.useOrtho ? this.orthoShader : this.shader, + this.projectShader, + this, + t, + this.pixelRatio, + !0, + !1 + ); + }), + (v.drawPick = function (t) { + I( + this.useOrtho + ? this.pickOrthoShader + : this.pickPerspectiveShader, + this.pickProjectShader, + this, + t, + 1, + !0, + !0 + ); + }), + (v.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = t.value[2] + (t.value[1] << 8) + (t.value[0] << 16); + if (e >= this.pointCount || e < 0) return null; + var r = this.points[e], + n = this._selectResult; + n.index = e; + for (var i = 0; i < 3; ++i) + n.position[i] = n.dataCoordinate[i] = r[i]; + return n; + }), + (v.highlight = function (t) { + if (t) { + var e = t.index, + r = 255 & e, + n = (e >> 8) & 255, + i = (e >> 16) & 255; + this.highlightId = [r / 255, n / 255, i / 255, 0]; + } else this.highlightId = [1, 1, 1, 1]; + }), + (v.update = function (t) { + if ( + ('perspective' in (t = t || {}) && + (this.useOrtho = !t.perspective), + 'orthographic' in t && (this.useOrtho = !!t.orthographic), + 'lineWidth' in t && (this.lineWidth = t.lineWidth), + 'project' in t) + ) + if (Array.isArray(t.project)) this.axesProject = t.project; + else { + var e = !!t.project; + this.axesProject = [e, e, e]; + } + if ('projectScale' in t) + if (Array.isArray(t.projectScale)) + this.projectScale = t.projectScale.slice(); + else { + var r = +t.projectScale; + this.projectScale = [r, r, r]; + } + if (((this.projectHasAlpha = !1), 'projectOpacity' in t)) { + if (Array.isArray(t.projectOpacity)) + this.projectOpacity = t.projectOpacity.slice(); + else { + r = +t.projectOpacity; + this.projectOpacity = [r, r, r]; + } + for (var n = 0; n < 3; ++n) + (this.projectOpacity[n] = g(this.projectOpacity[n])), + this.projectOpacity[n] < 1 && (this.projectHasAlpha = !0); + } + (this.hasAlpha = !1), + 'opacity' in t && + ((this.opacity = g(t.opacity)), + this.opacity < 1 && (this.hasAlpha = !0)), + (this.dirty = !0); + var i, + a, + s = t.position, + l = t.font || 'normal', + c = t.alignment || [0, 0]; + if (2 === c.length) (i = c[0]), (a = c[1]); + else { + (i = []), (a = []); + for (n = 0; n < c.length; ++n) + (i[n] = c[n][0]), (a[n] = c[n][1]); + } + var u = [1 / 0, 1 / 0, 1 / 0], + f = [-1 / 0, -1 / 0, -1 / 0], + h = t.glyph, + p = t.color, + d = t.size, + m = t.angle, + v = t.lineColor, + y = -1, + x = 0, + b = 0, + _ = 0; + if (s.length) { + _ = s.length; + t: for (n = 0; n < _; ++n) { + for (var w = s[n], T = 0; T < 3; ++T) + if (isNaN(w[T]) || !isFinite(w[T])) continue t; + var k = (N = P(h, n, l, this.pixelRatio)).mesh, + M = N.lines, + A = N.bounds; + (x += 3 * k.cells.length), (b += 2 * M.edges.length); + } + } + var S = x + b, + E = o.mallocFloat(3 * S), + C = o.mallocFloat(4 * S), + L = o.mallocFloat(2 * S), + I = o.mallocUint32(S); + if (S > 0) { + var z = 0, + O = x, + D = [0, 0, 0, 1], + R = [0, 0, 0, 1], + F = Array.isArray(p) && Array.isArray(p[0]), + B = Array.isArray(v) && Array.isArray(v[0]); + t: for (n = 0; n < _; ++n) { + y += 1; + for (w = s[n], T = 0; T < 3; ++T) { + if (isNaN(w[T]) || !isFinite(w[T])) continue t; + (f[T] = Math.max(f[T], w[T])), + (u[T] = Math.min(u[T], w[T])); + } + (k = (N = P(h, n, l, this.pixelRatio)).mesh), + (M = N.lines), + (A = N.bounds); + var N, + j = N.visible; + if (j) + if (Array.isArray(p)) { + if ( + 3 === + (U = F ? (n < p.length ? p[n] : [0, 0, 0, 0]) : p) + .length + ) { + for (T = 0; T < 3; ++T) D[T] = U[T]; + D[3] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) D[T] = U[T]; + !this.hasAlpha && U[3] < 1 && (this.hasAlpha = !0); + } + } else (D[0] = D[1] = D[2] = 0), (D[3] = 1); + else D = [1, 1, 1, 0]; + if (j) + if (Array.isArray(v)) { + var U; + if ( + 3 === + (U = B ? (n < v.length ? v[n] : [0, 0, 0, 0]) : v) + .length + ) { + for (T = 0; T < 3; ++T) R[T] = U[T]; + R[T] = 1; + } else if (4 === U.length) { + for (T = 0; T < 4; ++T) R[T] = U[T]; + !this.hasAlpha && U[3] < 1 && (this.hasAlpha = !0); + } + } else (R[0] = R[1] = R[2] = 0), (R[3] = 1); + else R = [1, 1, 1, 0]; + var V = 0.5; + j + ? Array.isArray(d) + ? (V = n < d.length ? +d[n] : 12) + : d + ? (V = +d) + : this.useOrtho && (V = 12) + : (V = 0); + var q = 0; + Array.isArray(m) + ? (q = n < m.length ? +m[n] : 0) + : m && (q = +m); + var H = Math.cos(q), + G = Math.sin(q); + for (w = s[n], T = 0; T < 3; ++T) + (f[T] = Math.max(f[T], w[T])), + (u[T] = Math.min(u[T], w[T])); + var Y = i, + W = a; + Y = 0; + Array.isArray(i) + ? (Y = n < i.length ? i[n] : 0) + : i && (Y = i); + W = 0; + Array.isArray(a) + ? (W = n < a.length ? a[n] : 0) + : a && (W = a); + var X = [ + (Y *= Y > 0 ? 1 - A[0][0] : Y < 0 ? 1 + A[1][0] : 1), + (W *= W > 0 ? 1 - A[0][1] : W < 0 ? 1 + A[1][1] : 1), + ], + Z = k.cells || [], + J = k.positions || []; + for (T = 0; T < Z.length; ++T) + for (var K = Z[T], Q = 0; Q < 3; ++Q) { + for (var $ = 0; $ < 3; ++$) E[3 * z + $] = w[$]; + for ($ = 0; $ < 4; ++$) C[4 * z + $] = D[$]; + I[z] = y; + var tt = J[K[Q]]; + (L[2 * z] = V * (H * tt[0] - G * tt[1] + X[0])), + (L[2 * z + 1] = V * (G * tt[0] + H * tt[1] + X[1])), + (z += 1); + } + for (Z = M.edges, J = M.positions, T = 0; T < Z.length; ++T) + for (K = Z[T], Q = 0; Q < 2; ++Q) { + for ($ = 0; $ < 3; ++$) E[3 * O + $] = w[$]; + for ($ = 0; $ < 4; ++$) C[4 * O + $] = R[$]; + I[O] = y; + tt = J[K[Q]]; + (L[2 * O] = V * (H * tt[0] - G * tt[1] + X[0])), + (L[2 * O + 1] = V * (G * tt[0] + H * tt[1] + X[1])), + (O += 1); + } + } + } + (this.bounds = [u, f]), + (this.points = s), + (this.pointCount = s.length), + (this.vertexCount = x), + (this.lineVertexCount = b), + this.pointBuffer.update(E), + this.colorBuffer.update(C), + this.glyphBuffer.update(L), + this.idBuffer.update(I), + o.free(E), + o.free(C), + o.free(L), + o.free(I); + }), + (v.dispose = function () { + this.shader.dispose(), + this.orthoShader.dispose(), + this.pickPerspectiveShader.dispose(), + this.pickOrthoShader.dispose(), + this.vao.dispose(), + this.pointBuffer.dispose(), + this.colorBuffer.dispose(), + this.glyphBuffer.dispose(), + this.idBuffer.dispose(); + }); + }, + { + './lib/get-simple-string': 326, + './lib/glyphs': 327, + './lib/shaders': 328, + 'gl-buffer': 259, + 'gl-mat4/multiply': 295, + 'gl-vao': 358, + 'is-string-blank': 470, + 'typedarray-pool': 595, + }, + ], + 331: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'); + (r.boxVertex = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n', + ])), + (r.boxFragment = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n', + ])); + }, + { glslify: 332 }, + ], + 332: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 333: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-shader'), + i = t('gl-buffer'), + a = t('./lib/shaders'); + function o(t, e, r) { + (this.plot = t), + (this.boxBuffer = e), + (this.boxShader = r), + (this.enabled = !0), + (this.selectBox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + (this.borderColor = [0, 0, 0, 1]), + (this.innerFill = !1), + (this.innerColor = [0, 0, 0, 0.25]), + (this.outerFill = !0), + (this.outerColor = [0, 0, 0, 0.5]), + (this.borderWidth = 10); + } + e.exports = function (t, e) { + var r = t.gl, + s = i(r, [0, 0, 0, 1, 1, 0, 1, 1]), + l = n(r, a.boxVertex, a.boxFragment), + c = new o(t, s, l); + return c.update(e), t.addOverlay(c), c; + }; + var s = o.prototype; + (s.draw = function () { + if (this.enabled) { + var t = this.plot, + e = this.selectBox, + r = this.borderWidth, + n = (this.innerFill, this.innerColor), + i = (this.outerFill, this.outerColor), + a = this.borderColor, + o = t.box, + s = t.screenBox, + l = t.dataBox, + c = t.viewBox, + u = t.pixelRatio, + f = ((e[0] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], + h = ((e[1] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1], + p = ((e[2] - l[0]) * (c[2] - c[0])) / (l[2] - l[0]) + c[0], + d = ((e[3] - l[1]) * (c[3] - c[1])) / (l[3] - l[1]) + c[1]; + if ( + ((f = Math.max(f, c[0])), + (h = Math.max(h, c[1])), + (p = Math.min(p, c[2])), + (d = Math.min(d, c[3])), + !(p < f || d < h)) + ) { + o.bind(); + var g = s[2] - s[0], + m = s[3] - s[1]; + if ( + (this.outerFill && + (o.drawBox(0, 0, g, h, i), + o.drawBox(0, h, f, d, i), + o.drawBox(0, d, g, m, i), + o.drawBox(p, h, g, d, i)), + this.innerFill && o.drawBox(f, h, p, d, n), + r > 0) + ) { + var v = r * u; + o.drawBox(f - v, h - v, p + v, h + v, a), + o.drawBox(f - v, d - v, p + v, d + v, a), + o.drawBox(f - v, h - v, f + v, d + v, a), + o.drawBox(p - v, h - v, p + v, d + v, a); + } + } + } + }), + (s.update = function (t) { + (t = t || {}), + (this.innerFill = !!t.innerFill), + (this.outerFill = !!t.outerFill), + (this.innerColor = (t.innerColor || [0, 0, 0, 0.5]).slice()), + (this.outerColor = (t.outerColor || [0, 0, 0, 0.5]).slice()), + (this.borderColor = (t.borderColor || [0, 0, 0, 1]).slice()), + (this.borderWidth = t.borderWidth || 0), + (this.selectBox = (t.selectBox || this.selectBox).slice()); + }), + (s.dispose = function () { + this.boxBuffer.dispose(), + this.boxShader.dispose(), + this.plot.removeOverlay(this); + }); + }, + { './lib/shaders': 331, 'gl-buffer': 259, 'gl-shader': 335 }, + ], + 334: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = e[0], + a = e[1], + o = n(t, r, a, {}), + s = i.mallocUint8(r * a * 4); + return new l(t, o, s); + }; + var n = t('gl-fbo'), + i = t('typedarray-pool'), + a = t('ndarray'), + o = t('bit-twiddle').nextPow2; + function s(t, e, r, n, i) { + (this.coord = [t, e]), + (this.id = r), + (this.value = n), + (this.distance = i); + } + function l(t, e, r) { + (this.gl = t), + (this.fbo = e), + (this.buffer = r), + (this._readTimeout = null); + var n = this; + this._readCallback = function () { + n.gl && + (e.bind(), + t.readPixels( + 0, + 0, + e.shape[0], + e.shape[1], + t.RGBA, + t.UNSIGNED_BYTE, + n.buffer + ), + (n._readTimeout = null)); + }; + } + var c = l.prototype; + Object.defineProperty(c, 'shape', { + get: function () { + return this.gl ? this.fbo.shape.slice() : [0, 0]; + }, + set: function (t) { + if (this.gl) { + this.fbo.shape = t; + var e = this.fbo.shape[0], + r = this.fbo.shape[1]; + if (r * e * 4 > this.buffer.length) { + i.free(this.buffer); + for ( + var n = (this.buffer = i.mallocUint8(o(r * e * 4))), a = 0; + a < r * e * 4; + ++a + ) + n[a] = 255; + } + return t; + } + }, + }), + (c.begin = function () { + var t = this.gl; + this.shape; + t && + (this.fbo.bind(), + t.clearColor(1, 1, 1, 1), + t.clear(t.COLOR_BUFFER_BIT | t.DEPTH_BUFFER_BIT)); + }), + (c.end = function () { + var t = this.gl; + t && + (t.bindFramebuffer(t.FRAMEBUFFER, null), + this._readTimeout || clearTimeout(this._readTimeout), + (this._readTimeout = setTimeout(this._readCallback, 1))); + }), + (c.query = function (t, e, r) { + if (!this.gl) return null; + var n = this.fbo.shape.slice(); + (t |= 0), (e |= 0), 'number' != typeof r && (r = 1); + var i = 0 | Math.min(Math.max(t - r, 0), n[0]), + o = 0 | Math.min(Math.max(t + r, 0), n[0]), + l = 0 | Math.min(Math.max(e - r, 0), n[1]), + c = 0 | Math.min(Math.max(e + r, 0), n[1]); + if (o <= i || c <= l) return null; + var u = [o - i, c - l], + f = a( + this.buffer, + [u[0], u[1], 4], + [4, 4 * n[0], 1], + 4 * (i + n[0] * l) + ), + h = (function (t, e, r) { + for ( + var n = 1e8, + i = -1, + a = -1, + o = t.shape[0], + s = t.shape[1], + l = 0; + l < o; + l++ + ) + for (var c = 0; c < s; c++) { + var u = t.get(l, c, 0), + f = t.get(l, c, 1), + h = t.get(l, c, 2), + p = t.get(l, c, 3); + if (u < 255 || f < 255 || h < 255 || p < 255) { + var d = e - l, + g = r - c, + m = d * d + g * g; + m < n && ((n = m), (i = l), (a = c)); + } + } + return [i, a, n]; + })(f.hi(u[0], u[1], 1), r, r), + p = h[0], + d = h[1]; + return p < 0 || Math.pow(this.radius, 2) < h[2] + ? null + : new s( + (p + i) | 0, + (d + l) | 0, + f.get(p, d, 0), + [f.get(p, d, 1), f.get(p, d, 2), f.get(p, d, 3)], + Math.sqrt(h[2]) + ); + }), + (c.dispose = function () { + this.gl && + (this.fbo.dispose(), + i.free(this.buffer), + (this.gl = null), + this._readTimeout && clearTimeout(this._readTimeout)); + }); + }, + { + 'bit-twiddle': 97, + 'gl-fbo': 269, + ndarray: 495, + 'typedarray-pool': 595, + }, + ], + 335: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/create-uniforms'), + i = t('./lib/create-attributes'), + a = t('./lib/reflect'), + o = t('./lib/shader-cache'), + s = t('./lib/runtime-reflect'), + l = t('./lib/GLError'); + function c(t) { + (this.gl = t), + (this.gl.lastAttribCount = 0), + (this._vref = + this._fref = + this._relink = + this.vertShader = + this.fragShader = + this.program = + this.attributes = + this.uniforms = + this.types = + null); + } + var u = c.prototype; + function f(t, e) { + return t.name < e.name ? -1 : 1; + } + (u.bind = function () { + var t; + this.program || this._relink(); + var e = this.gl.getProgramParameter( + this.program, + this.gl.ACTIVE_ATTRIBUTES + ), + r = this.gl.lastAttribCount; + if (e > r) + for (t = r; t < e; t++) this.gl.enableVertexAttribArray(t); + else if (r > e) + for (t = e; t < r; t++) this.gl.disableVertexAttribArray(t); + (this.gl.lastAttribCount = e), this.gl.useProgram(this.program); + }), + (u.dispose = function () { + for (var t = this.gl.lastAttribCount, e = 0; e < t; e++) + this.gl.disableVertexAttribArray(e); + (this.gl.lastAttribCount = 0), + this._fref && this._fref.dispose(), + this._vref && this._vref.dispose(), + (this.attributes = + this.types = + this.vertShader = + this.fragShader = + this.program = + this._relink = + this._fref = + this._vref = + null); + }), + (u.update = function (t, e, r, c) { + if (!e || 1 === arguments.length) { + var u = t; + (t = u.vertex), + (e = u.fragment), + (r = u.uniforms), + (c = u.attributes); + } + var h = this, + p = h.gl, + d = h._vref; + (h._vref = o.shader(p, p.VERTEX_SHADER, t)), + d && d.dispose(), + (h.vertShader = h._vref.shader); + var g = this._fref; + if ( + ((h._fref = o.shader(p, p.FRAGMENT_SHADER, e)), + g && g.dispose(), + (h.fragShader = h._fref.shader), + !r || !c) + ) { + var m = p.createProgram(); + if ( + (p.attachShader(m, h.fragShader), + p.attachShader(m, h.vertShader), + p.linkProgram(m), + !p.getProgramParameter(m, p.LINK_STATUS)) + ) { + var v = p.getProgramInfoLog(m); + throw new l(v, 'Error linking program:' + v); + } + (r = r || s.uniforms(p, m)), + (c = c || s.attributes(p, m)), + p.deleteProgram(m); + } + (c = c.slice()).sort(f); + var y, + x = [], + b = [], + _ = []; + for (y = 0; y < c.length; ++y) { + var w = c[y]; + if (w.type.indexOf('mat') >= 0) { + for ( + var T = 0 | w.type.charAt(w.type.length - 1), + k = new Array(T), + M = 0; + M < T; + ++M + ) + (k[M] = _.length), + b.push(w.name + '[' + M + ']'), + 'number' == typeof w.location + ? _.push(w.location + M) + : Array.isArray(w.location) && + w.location.length === T && + 'number' == typeof w.location[M] + ? _.push(0 | w.location[M]) + : _.push(-1); + x.push({ name: w.name, type: w.type, locations: k }); + } else + x.push({ name: w.name, type: w.type, locations: [_.length] }), + b.push(w.name), + 'number' == typeof w.location + ? _.push(0 | w.location) + : _.push(-1); + } + var A = 0; + for (y = 0; y < _.length; ++y) + if (_[y] < 0) { + for (; _.indexOf(A) >= 0; ) A += 1; + _[y] = A; + } + var S = new Array(r.length); + function E() { + h.program = o.program(p, h._vref, h._fref, b, _); + for (var t = 0; t < r.length; ++t) + S[t] = p.getUniformLocation(h.program, r[t].name); + } + E(), + (h._relink = E), + (h.types = { uniforms: a(r), attributes: a(c) }), + (h.attributes = i(p, h, x, _)), + Object.defineProperty(h, 'uniforms', n(p, h, r, S)); + }), + (e.exports = function (t, e, r, n, i) { + var a = new c(t); + return a.update(e, r, n, i), a; + }); + }, + { + './lib/GLError': 336, + './lib/create-attributes': 337, + './lib/create-uniforms': 338, + './lib/reflect': 339, + './lib/runtime-reflect': 340, + './lib/shader-cache': 341, + }, + ], + 336: [ + function (t, e, r) { + function n(t, e, r) { + (this.shortMessage = e || ''), + (this.longMessage = r || ''), + (this.rawError = t || ''), + (this.message = + 'gl-shader: ' + (e || t || '') + (r ? '\n' + r : '')), + (this.stack = new Error().stack); + } + (n.prototype = new Error()), + (n.prototype.name = 'GLError'), + (n.prototype.constructor = n), + (e.exports = n); + }, + {}, + ], + 337: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, i) { + for (var a = {}, l = 0, c = r.length; l < c; ++l) { + var u = r[l], + f = u.name, + h = u.type, + p = u.locations; + switch (h) { + case 'bool': + case 'int': + case 'float': + o(t, e, p[0], i, 1, a, f); + break; + default: + if (h.indexOf('vec') >= 0) { + if ((d = h.charCodeAt(h.length - 1) - 48) < 2 || d > 4) + throw new n( + '', + 'Invalid data type for attribute ' + f + ': ' + h + ); + o(t, e, p[0], i, d, a, f); + } else { + if (!(h.indexOf('mat') >= 0)) + throw new n( + '', + 'Unknown data type for attribute ' + f + ': ' + h + ); + var d; + if ((d = h.charCodeAt(h.length - 1) - 48) < 2 || d > 4) + throw new n( + '', + 'Invalid data type for attribute ' + f + ': ' + h + ); + s(t, e, p, i, d, a, f); + } + } + } + return a; + }; + var n = t('./GLError'); + function i(t, e, r, n, i, a) { + (this._gl = t), + (this._wrapper = e), + (this._index = r), + (this._locations = n), + (this._dimension = i), + (this._constFunc = a); + } + var a = i.prototype; + function o(t, e, r, n, a, o, s) { + for (var l = ['gl', 'v'], c = [], u = 0; u < a; ++u) + l.push('x' + u), c.push('x' + u); + l.push( + 'if(x0.length===void 0){return gl.vertexAttrib' + + a + + 'f(v,' + + c.join() + + ')}else{return gl.vertexAttrib' + + a + + 'fv(v,x0)}' + ); + var f = Function.apply(null, l), + h = new i(t, e, r, n, a, f); + Object.defineProperty(o, s, { + set: function (e) { + return t.disableVertexAttribArray(n[r]), f(t, n[r], e), e; + }, + get: function () { + return h; + }, + enumerable: !0, + }); + } + function s(t, e, r, n, i, a, s) { + for (var l = new Array(i), c = new Array(i), u = 0; u < i; ++u) + o(t, e, r[u], n, i, l, u), (c[u] = l[u]); + Object.defineProperty(l, 'location', { + set: function (t) { + if (Array.isArray(t)) + for (var e = 0; e < i; ++e) c[e].location = t[e]; + else for (e = 0; e < i; ++e) c[e].location = t + e; + return t; + }, + get: function () { + for (var t = new Array(i), e = 0; e < i; ++e) t[e] = n[r[e]]; + return t; + }, + enumerable: !0, + }), + (l.pointer = function (e, a, o, s) { + (e = e || t.FLOAT), (a = !!a), (o = o || i * i), (s = s || 0); + for (var l = 0; l < i; ++l) { + var c = n[r[l]]; + t.vertexAttribPointer(c, i, e, a, o, s + l * i), + t.enableVertexAttribArray(c); + } + }); + var f = new Array(i), + h = t['vertexAttrib' + i + 'fv']; + Object.defineProperty(a, s, { + set: function (e) { + for (var a = 0; a < i; ++a) { + var o = n[r[a]]; + if ((t.disableVertexAttribArray(o), Array.isArray(e[0]))) + h.call(t, o, e[a]); + else { + for (var s = 0; s < i; ++s) f[s] = e[i * a + s]; + h.call(t, o, f); + } + } + return e; + }, + get: function () { + return l; + }, + enumerable: !0, + }); + } + (a.pointer = function (t, e, r, n) { + var i = this._gl, + a = this._locations[this._index]; + i.vertexAttribPointer( + a, + this._dimension, + t || i.FLOAT, + !!e, + r || 0, + n || 0 + ), + i.enableVertexAttribArray(a); + }), + (a.set = function (t, e, r, n) { + return this._constFunc(this._locations[this._index], t, e, r, n); + }), + Object.defineProperty(a, 'location', { + get: function () { + return this._locations[this._index]; + }, + set: function (t) { + return ( + t !== this._locations[this._index] && + ((this._locations[this._index] = 0 | t), + (this._wrapper.program = null)), + 0 | t + ); + }, + }); + }, + { './GLError': 336 }, + ], + 338: [ + function (t, e, r) { + 'use strict'; + var n = t('./reflect'), + i = t('./GLError'); + function a(t) { + return new Function('y', 'return function(){return y}')(t); + } + function o(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + } + e.exports = function (t, e, r, s) { + function l(t, e, r) { + switch (r) { + case 'bool': + case 'int': + case 'sampler2D': + case 'samplerCube': + return 'gl.uniform1i(locations[' + e + '],obj' + t + ')'; + case 'float': + return 'gl.uniform1f(locations[' + e + '],obj' + t + ')'; + default: + var n = r.indexOf('vec'); + if (!(0 <= n && n <= 1 && r.length === 4 + n)) { + if (0 === r.indexOf('mat') && 4 === r.length) { + var a; + if ((a = r.charCodeAt(r.length - 1) - 48) < 2 || a > 4) + throw new i( + '', + 'Invalid uniform dimension type for matrix ' + + name + + ': ' + + r + ); + return ( + 'gl.uniformMatrix' + + a + + 'fv(locations[' + + e + + '],false,obj' + + t + + ')' + ); + } + throw new i( + '', + 'Unknown uniform data type for ' + name + ': ' + r + ); + } + if ((a = r.charCodeAt(r.length - 1) - 48) < 2 || a > 4) + throw new i('', 'Invalid data type'); + switch (r.charAt(0)) { + case 'b': + case 'i': + return ( + 'gl.uniform' + + a + + 'iv(locations[' + + e + + '],obj' + + t + + ')' + ); + case 'v': + return ( + 'gl.uniform' + + a + + 'fv(locations[' + + e + + '],obj' + + t + + ')' + ); + default: + throw new i( + '', + 'Unrecognized data type for vector ' + name + ': ' + r + ); + } + } + } + function c(e) { + for ( + var n = ['return function updateProperty(obj){'], + i = (function t(e, r) { + if ('object' != typeof r) return [[e, r]]; + var n = []; + for (var i in r) { + var a = r[i], + o = e; + parseInt(i) + '' === i + ? (o += '[' + i + ']') + : (o += '.' + i), + 'object' == typeof a + ? n.push.apply(n, t(o, a)) + : n.push([o, a]); + } + return n; + })('', e), + a = 0; + a < i.length; + ++a + ) { + var o = i[a], + c = o[0], + u = o[1]; + s[u] && n.push(l(c, u, r[u].type)); + } + return ( + n.push('return obj}'), + new Function('gl', 'locations', n.join('\n'))(t, s) + ); + } + function u(n, l, u) { + if ('object' == typeof u) { + var h = f(u); + Object.defineProperty(n, l, { + get: a(h), + set: c(u), + enumerable: !0, + configurable: !1, + }); + } else + s[u] + ? Object.defineProperty(n, l, { + get: + ((p = u), + new Function( + 'gl', + 'wrapper', + 'locations', + 'return function(){return gl.getUniform(wrapper.program,locations[' + + p + + '])}' + )(t, e, s)), + set: c(u), + enumerable: !0, + configurable: !1, + }) + : (n[l] = (function (t) { + switch (t) { + case 'bool': + return !1; + case 'int': + case 'sampler2D': + case 'samplerCube': + case 'float': + return 0; + default: + var e = t.indexOf('vec'); + if (0 <= e && e <= 1 && t.length === 4 + e) { + if ( + (r = t.charCodeAt(t.length - 1) - 48) < 2 || + r > 4 + ) + throw new i('', 'Invalid data type'); + return 'b' === t.charAt(0) ? o(r, !1) : o(r, 0); + } + if (0 === t.indexOf('mat') && 4 === t.length) { + var r; + if ( + (r = t.charCodeAt(t.length - 1) - 48) < 2 || + r > 4 + ) + throw new i( + '', + 'Invalid uniform dimension type for matrix ' + + name + + ': ' + + t + ); + return o(r * r, 0); + } + throw new i( + '', + 'Unknown uniform data type for ' + name + ': ' + t + ); + } + })(r[u].type)); + var p; + } + function f(t) { + var e; + if (Array.isArray(t)) { + e = new Array(t.length); + for (var r = 0; r < t.length; ++r) u(e, r, t[r]); + } else for (var n in ((e = {}), t)) u(e, n, t[n]); + return e; + } + var h = n(r, !0); + return { + get: a(f(h)), + set: c(h), + enumerable: !0, + configurable: !0, + }; + }; + }, + { './GLError': 336, './reflect': 339 }, + ], + 339: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for (var r = {}, n = 0; n < t.length; ++n) + for ( + var i = t[n].name.split('.'), a = r, o = 0; + o < i.length; + ++o + ) { + var s = i[o].split('['); + if (s.length > 1) { + s[0] in a || (a[s[0]] = []), (a = a[s[0]]); + for (var l = 1; l < s.length; ++l) { + var c = parseInt(s[l]); + l < s.length - 1 || o < i.length - 1 + ? (c in a || + (l < s.length - 1 ? (a[c] = []) : (a[c] = {})), + (a = a[c])) + : (a[c] = e ? n : t[n].type); + } + } else + o < i.length - 1 + ? (s[0] in a || (a[s[0]] = {}), (a = a[s[0]])) + : (a[s[0]] = e ? n : t[n].type); + } + return r; + }; + }, + {}, + ], + 340: [ + function (t, e, r) { + 'use strict'; + (r.uniforms = function (t, e) { + for ( + var r = t.getProgramParameter(e, t.ACTIVE_UNIFORMS), + n = [], + i = 0; + i < r; + ++i + ) { + var o = t.getActiveUniform(e, i); + if (o) { + var s = a(t, o.type); + if (o.size > 1) + for (var l = 0; l < o.size; ++l) + n.push({ + name: o.name.replace('[0]', '[' + l + ']'), + type: s, + }); + else n.push({ name: o.name, type: s }); + } + } + return n; + }), + (r.attributes = function (t, e) { + for ( + var r = t.getProgramParameter(e, t.ACTIVE_ATTRIBUTES), + n = [], + i = 0; + i < r; + ++i + ) { + var o = t.getActiveAttrib(e, i); + o && n.push({ name: o.name, type: a(t, o.type) }); + } + return n; + }); + var n = { + FLOAT: 'float', + FLOAT_VEC2: 'vec2', + FLOAT_VEC3: 'vec3', + FLOAT_VEC4: 'vec4', + INT: 'int', + INT_VEC2: 'ivec2', + INT_VEC3: 'ivec3', + INT_VEC4: 'ivec4', + BOOL: 'bool', + BOOL_VEC2: 'bvec2', + BOOL_VEC3: 'bvec3', + BOOL_VEC4: 'bvec4', + FLOAT_MAT2: 'mat2', + FLOAT_MAT3: 'mat3', + FLOAT_MAT4: 'mat4', + SAMPLER_2D: 'sampler2D', + SAMPLER_CUBE: 'samplerCube', + }, + i = null; + function a(t, e) { + if (!i) { + var r = Object.keys(n); + i = {}; + for (var a = 0; a < r.length; ++a) { + var o = r[a]; + i[t[o]] = n[o]; + } + } + return i[e]; + } + }, + {}, + ], + 341: [ + function (t, e, r) { + 'use strict'; + (r.shader = function (t, e, r) { + return u(t).getShaderReference(e, r); + }), + (r.program = function (t, e, r, n, i) { + return u(t).getProgram(e, r, n, i); + }); + var n = t('./GLError'), + i = t('gl-format-compiler-error'), + a = new ( + 'undefined' == typeof WeakMap ? t('weakmap-shim') : WeakMap + )(), + o = 0; + function s(t, e, r, n, i, a, o) { + (this.id = t), + (this.src = e), + (this.type = r), + (this.shader = n), + (this.count = a), + (this.programs = []), + (this.cache = o); + } + function l(t) { + (this.gl = t), (this.shaders = [{}, {}]), (this.programs = {}); + } + s.prototype.dispose = function () { + if (0 == --this.count) { + for ( + var t = this.cache, + e = t.gl, + r = this.programs, + n = 0, + i = r.length; + n < i; + ++n + ) { + var a = t.programs[r[n]]; + a && (delete t.programs[n], e.deleteProgram(a)); + } + e.deleteShader(this.shader), + delete t.shaders[(this.type === e.FRAGMENT_SHADER) | 0][ + this.src + ]; + } + }; + var c = l.prototype; + function u(t) { + var e = a.get(t); + return e || ((e = new l(t)), a.set(t, e)), e; + } + (c.getShaderReference = function (t, e) { + var r = this.gl, + a = this.shaders[(t === r.FRAGMENT_SHADER) | 0], + l = a[e]; + if (l && r.isShader(l.shader)) l.count += 1; + else { + var c = (function (t, e, r) { + var a = t.createShader(e); + if ( + (t.shaderSource(a, r), + t.compileShader(a), + !t.getShaderParameter(a, t.COMPILE_STATUS)) + ) { + var o = t.getShaderInfoLog(a); + try { + var s = i(o, r, e); + } catch (t) { + throw ( + (console.warn('Failed to format compiler error: ' + t), + new n(o, 'Error compiling shader:\n' + o)) + ); + } + throw new n(o, s.short, s.long); + } + return a; + })(r, t, e); + l = a[e] = new s(o++, e, t, c, [], 1, this); + } + return l; + }), + (c.getProgram = function (t, e, r, i) { + var a = [t.id, e.id, r.join(':'), i.join(':')].join('@'), + o = this.programs[a]; + return ( + (o && this.gl.isProgram(o)) || + ((this.programs[a] = o = + (function (t, e, r, i, a) { + var o = t.createProgram(); + t.attachShader(o, e), t.attachShader(o, r); + for (var s = 0; s < i.length; ++s) + t.bindAttribLocation(o, a[s], i[s]); + if ( + (t.linkProgram(o), + !t.getProgramParameter(o, t.LINK_STATUS)) + ) { + var l = t.getProgramInfoLog(o); + throw new n(l, 'Error linking program: ' + l); + } + return o; + })(this.gl, t.shader, e.shader, r, i)), + t.programs.push(a), + e.programs.push(a)), + o + ); + }); + }, + { + './GLError': 336, + 'gl-format-compiler-error': 270, + 'weakmap-shim': 605, + }, + ], + 342: [ + function (t, e, r) { + 'use strict'; + function n(t) { + (this.plot = t), + (this.enable = [!0, !0, !1, !1]), + (this.width = [1, 1, 1, 1]), + (this.color = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.center = [1 / 0, 1 / 0]); + } + e.exports = function (t, e) { + var r = new n(t); + return r.update(e), t.addOverlay(r), r; + }; + var i = n.prototype; + (i.update = function (t) { + (t = t || {}), + (this.enable = (t.enable || [!0, !0, !1, !1]).slice()), + (this.width = (t.width || [1, 1, 1, 1]).slice()), + (this.color = ( + t.color || [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ] + ).map(function (t) { + return t.slice(); + })), + (this.center = (t.center || [1 / 0, 1 / 0]).slice()), + this.plot.setOverlayDirty(); + }), + (i.draw = function () { + var t = this.enable, + e = this.width, + r = this.color, + n = this.center, + i = this.plot, + a = i.line, + o = i.dataBox, + s = i.viewBox; + if ( + (a.bind(), + o[0] <= n[0] && n[0] <= o[2] && o[1] <= n[1] && n[1] <= o[3]) + ) { + var l = s[0] + ((n[0] - o[0]) / (o[2] - o[0])) * (s[2] - s[0]), + c = s[1] + ((n[1] - o[1]) / (o[3] - o[1])) * (s[3] - s[1]); + t[0] && a.drawLine(l, c, s[0], c, e[0], r[0]), + t[1] && a.drawLine(l, c, l, s[1], e[1], r[1]), + t[2] && a.drawLine(l, c, s[2], c, e[2], r[2]), + t[3] && a.drawLine(l, c, l, s[3], e[3], r[3]); + } + }), + (i.dispose = function () { + this.plot.removeOverlay(this); + }); + }, + {}, + ], + 343: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 344: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'), + i = t('gl-shader'), + a = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n', + ]), + o = n([ + 'precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}', + ]); + e.exports = function (t) { + return i(t, a, o, null, [ + { name: 'position', type: 'vec3' }, + { name: 'color', type: 'vec3' }, + { name: 'weight', type: 'float' }, + ]); + }; + }, + { 'gl-shader': 335, glslify: 343 }, + ], + 345: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-buffer'), + i = t('gl-vao'), + a = t('./shaders/index'); + e.exports = function (t, e) { + var r = []; + function o(t, e, n, i, a, o) { + var s = [t, e, n, 0, 0, 0, 1]; + (s[i + 3] = 1), + (s[i] = a), + r.push.apply(r, s), + (s[6] = -1), + r.push.apply(r, s), + (s[i] = o), + r.push.apply(r, s), + r.push.apply(r, s), + (s[6] = 1), + r.push.apply(r, s), + (s[i] = a), + r.push.apply(r, s); + } + o(0, 0, 0, 0, 0, 1), + o(0, 0, 0, 1, 0, 1), + o(0, 0, 0, 2, 0, 1), + o(1, 0, 0, 1, -1, 1), + o(1, 0, 0, 2, -1, 1), + o(0, 1, 0, 0, -1, 1), + o(0, 1, 0, 2, -1, 1), + o(0, 0, 1, 0, -1, 1), + o(0, 0, 1, 1, -1, 1); + var l = n(t, r), + c = i(t, [ + { type: t.FLOAT, buffer: l, size: 3, offset: 0, stride: 28 }, + { type: t.FLOAT, buffer: l, size: 3, offset: 12, stride: 28 }, + { type: t.FLOAT, buffer: l, size: 1, offset: 24, stride: 28 }, + ]), + u = a(t); + (u.attributes.position.location = 0), + (u.attributes.color.location = 1), + (u.attributes.weight.location = 2); + var f = new s(t, l, c, u); + return f.update(e), f; + }; + var o = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + function s(t, e, r, n) { + (this.gl = t), + (this.buffer = e), + (this.vao = r), + (this.shader = n), + (this.pixelRatio = 1), + (this.bounds = [ + [-1e3, -1e3, -1e3], + [1e3, 1e3, 1e3], + ]), + (this.position = [0, 0, 0]), + (this.lineWidth = [2, 2, 2]), + (this.colors = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.enabled = [!0, !0, !0]), + (this.drawSides = [!0, !0, !0]), + (this.axes = null); + } + var l = s.prototype, + c = [0, 0, 0], + u = [0, 0, 0], + f = [0, 0]; + (l.isTransparent = function () { + return !1; + }), + (l.drawTransparent = function (t) {}), + (l.draw = function (t) { + var e = this.gl, + r = this.vao, + n = this.shader; + r.bind(), n.bind(); + var i, + a = t.model || o, + s = t.view || o, + l = t.projection || o; + this.axes && (i = this.axes.lastCubeProps.axis); + for (var h = c, p = u, d = 0; d < 3; ++d) + i && i[d] < 0 + ? ((h[d] = this.bounds[0][d]), (p[d] = this.bounds[1][d])) + : ((h[d] = this.bounds[1][d]), (p[d] = this.bounds[0][d])); + (f[0] = e.drawingBufferWidth), + (f[1] = e.drawingBufferHeight), + (n.uniforms.model = a), + (n.uniforms.view = s), + (n.uniforms.projection = l), + (n.uniforms.coordinates = [this.position, h, p]), + (n.uniforms.colors = this.colors), + (n.uniforms.screenShape = f); + for (d = 0; d < 3; ++d) + (n.uniforms.lineWidth = this.lineWidth[d] * this.pixelRatio), + this.enabled[d] && + (r.draw(e.TRIANGLES, 6, 6 * d), + this.drawSides[d] && r.draw(e.TRIANGLES, 12, 18 + 12 * d)); + r.unbind(); + }), + (l.update = function (t) { + t && + ('bounds' in t && (this.bounds = t.bounds), + 'position' in t && (this.position = t.position), + 'lineWidth' in t && (this.lineWidth = t.lineWidth), + 'colors' in t && (this.colors = t.colors), + 'enabled' in t && (this.enabled = t.enabled), + 'drawSides' in t && (this.drawSides = t.drawSides)); + }), + (l.dispose = function () { + this.vao.dispose(), this.buffer.dispose(), this.shader.dispose(); + }); + }, + { './shaders/index': 344, 'gl-buffer': 259, 'gl-vao': 358 }, + ], + 346: [ + function (t, e, r) { + var n = t('glslify'), + i = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n", + ]), + a = n([ + '#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n', + ]), + o = n([ + "precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n", + ]), + s = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}', + ]); + (r.meshShader = { + vertex: i, + fragment: a, + attributes: [ + { name: 'position', type: 'vec4' }, + { name: 'color', type: 'vec4' }, + { name: 'uv', type: 'vec2' }, + { name: 'vector', type: 'vec4' }, + ], + }), + (r.pickShader = { + vertex: o, + fragment: s, + attributes: [ + { name: 'position', type: 'vec4' }, + { name: 'id', type: 'vec4' }, + { name: 'vector', type: 'vec4' }, + ], + }); + }, + { glslify: 347 }, + ], + 347: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 348: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-vec3'), + i = t('gl-vec4'), + a = ['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx'], + o = function (t, e, r, a) { + for (var o = 0, s = 0; s < t.length; s++) + for (var l = t[s].velocities, c = 0; c < l.length; c++) + o = Math.max(o, n.length(l[c])); + var u = t.map(function (t) { + return (function (t, e, r, a) { + for ( + var o = t.points, + s = t.velocities, + l = t.divergences, + c = [], + u = [], + f = [], + h = [], + p = [], + d = [], + g = 0, + m = 0, + v = i.create(), + y = i.create(), + x = 0; + x < o.length; + x++ + ) { + var b = o[x], + _ = s[x], + w = l[x]; + 0 === e && (w = 0.05 * r), + (m = n.length(_) / a), + (v = i.create()), + n.copy(v, _), + (v[3] = w); + for (var T = 0; T < 8; T++) p[T] = [b[0], b[1], b[2], T]; + if (h.length > 0) + for (T = 0; T < 8; T++) { + var k = (T + 1) % 8; + c.push(h[T], p[T], p[k], p[k], h[k], h[T]), + f.push(y, v, v, v, y, y), + d.push(g, m, m, m, g, g); + var M = c.length; + u.push([M - 6, M - 5, M - 4], [M - 3, M - 2, M - 1]); + } + var A = h; + (h = p), (p = A); + var S = y; + (y = v), (v = S); + var E = g; + (g = m), (m = E); + } + return { + positions: c, + cells: u, + vectors: f, + vertexIntensity: d, + }; + })(t, r, a, o); + }), + f = [], + h = [], + p = [], + d = []; + for (s = 0; s < u.length; s++) { + var g = u[s], + m = f.length; + (f = f.concat(g.positions)), + (p = p.concat(g.vectors)), + (d = d.concat(g.vertexIntensity)); + for (c = 0; c < g.cells.length; c++) { + var v = g.cells[c], + y = []; + h.push(y); + for (var x = 0; x < v.length; x++) y.push(v[x] + m); + } + } + return { + positions: f, + cells: h, + vectors: p, + vertexIntensity: d, + colormap: e, + }; + }, + s = function (t, e) { + var r, + n = t.length; + for (r = 0; r < n; r++) { + var i = t[r]; + if (i === e) return r; + if (i > e) return r - 1; + } + return r; + }, + l = function (t, e, r) { + return t < e ? e : t > r ? r : t; + }, + c = function (t) { + var e = 1 / 0; + t.sort(function (t, e) { + return t - e; + }); + for (var r = t.length, n = 1; n < r; n++) { + var i = Math.abs(t[n] - t[n - 1]); + i < e && (e = i); + } + return e; + }; + e.exports = function (t, e) { + var r = t.startingPositions, + i = t.maxLength || 1e3, + u = t.tubeSize || 1, + f = t.absoluteTubeSize, + h = t.gridFill || '+x+y+z', + p = {}; + -1 !== h.indexOf('-x') && (p.reversedX = !0), + -1 !== h.indexOf('-y') && (p.reversedY = !0), + -1 !== h.indexOf('-z') && (p.reversedZ = !0), + (p.filled = a.indexOf(h.replace(/-/g, '').replace(/\+/g, ''))); + var d = + t.getVelocity || + function (e) { + return (function (t, e, r) { + var i = e.vectors, + a = e.meshgrid, + o = t[0], + c = t[1], + u = t[2], + f = a[0].length, + h = a[1].length, + p = a[2].length, + d = s(a[0], o), + g = s(a[1], c), + m = s(a[2], u), + v = d + 1, + y = g + 1, + x = m + 1; + if ( + ((d = l(d, 0, f - 1)), + (v = l(v, 0, f - 1)), + (g = l(g, 0, h - 1)), + (y = l(y, 0, h - 1)), + (m = l(m, 0, p - 1)), + (x = l(x, 0, p - 1)), + d < 0 || + g < 0 || + m < 0 || + v > f - 1 || + y > h - 1 || + x > p - 1) + ) + return n.create(); + var b, + _, + w, + T, + k, + M, + A = a[0][d], + S = a[0][v], + E = a[1][g], + C = a[1][y], + L = a[2][m], + I = (o - A) / (S - A), + P = (c - E) / (C - E), + z = (u - L) / (a[2][x] - L); + switch ( + (isFinite(I) || (I = 0.5), + isFinite(P) || (P = 0.5), + isFinite(z) || (z = 0.5), + r.reversedX && ((d = f - 1 - d), (v = f - 1 - v)), + r.reversedY && ((g = h - 1 - g), (y = h - 1 - y)), + r.reversedZ && ((m = p - 1 - m), (x = p - 1 - x)), + r.filled) + ) { + case 5: + (k = m), + (M = x), + (w = g * p), + (T = y * p), + (b = d * p * h), + (_ = v * p * h); + break; + case 4: + (k = m), + (M = x), + (b = d * p), + (_ = v * p), + (w = g * p * f), + (T = y * p * f); + break; + case 3: + (w = g), + (T = y), + (k = m * h), + (M = x * h), + (b = d * h * p), + (_ = v * h * p); + break; + case 2: + (w = g), + (T = y), + (b = d * h), + (_ = v * h), + (k = m * h * f), + (M = x * h * f); + break; + case 1: + (b = d), + (_ = v), + (k = m * f), + (M = x * f), + (w = g * f * p), + (T = y * f * p); + break; + default: + (b = d), + (_ = v), + (w = g * f), + (T = y * f), + (k = m * f * h), + (M = x * f * h); + } + var O = i[b + w + k], + D = i[b + w + M], + R = i[b + T + k], + F = i[b + T + M], + B = i[_ + w + k], + N = i[_ + w + M], + j = i[_ + T + k], + U = i[_ + T + M], + V = n.create(), + q = n.create(), + H = n.create(), + G = n.create(); + n.lerp(V, O, B, I), + n.lerp(q, D, N, I), + n.lerp(H, R, j, I), + n.lerp(G, F, U, I); + var Y = n.create(), + W = n.create(); + n.lerp(Y, V, H, P), n.lerp(W, q, G, P); + var X = n.create(); + return n.lerp(X, Y, W, z), X; + })(e, t, p); + }, + g = + t.getDivergence || + function (t, e) { + var r = n.create(), + i = 1e-4; + n.add(r, t, [i, 0, 0]); + var a = d(r); + n.subtract(a, a, e), + n.scale(a, a, 1 / i), + n.add(r, t, [0, i, 0]); + var o = d(r); + n.subtract(o, o, e), + n.scale(o, o, 1 / i), + n.add(r, t, [0, 0, i]); + var s = d(r); + return ( + n.subtract(s, s, e), + n.scale(s, s, 1 / i), + n.add(r, a, o), + n.add(r, r, s), + r + ); + }, + m = [], + v = e[0][0], + y = e[0][1], + x = e[0][2], + b = e[1][0], + _ = e[1][1], + w = e[1][2], + T = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return !(e < v || e > b || r < y || r > _ || n < x || n > w); + }, + k = (10 * n.distance(e[0], e[1])) / i, + M = k * k, + A = 1, + S = 0, + E = r.length; + E > 1 && + (A = (function (t) { + for ( + var e = [], + r = [], + n = [], + i = {}, + a = {}, + o = {}, + s = t.length, + l = 0; + l < s; + l++ + ) { + var u = t[l], + f = u[0], + h = u[1], + p = u[2]; + i[f] || (e.push(f), (i[f] = !0)), + a[h] || (r.push(h), (a[h] = !0)), + o[p] || (n.push(p), (o[p] = !0)); + } + var d = c(e), + g = c(r), + m = c(n), + v = Math.min(d, g, m); + return isFinite(v) ? v : 1; + })(r)); + for (var C = 0; C < E; C++) { + var L = n.create(); + n.copy(L, r[C]); + var I = [L], + P = [], + z = d(L), + O = L; + P.push(z); + var D = [], + R = g(L, z), + F = n.length(R); + isFinite(F) && F > S && (S = F), + D.push(F), + m.push({ points: I, velocities: P, divergences: D }); + for (var B = 0; B < 100 * i && I.length < i && T(L); ) { + B++; + var N = n.clone(z), + j = n.squaredLength(N); + if (0 === j) break; + if ( + (j > M && n.scale(N, N, k / Math.sqrt(j)), + n.add(N, N, L), + (z = d(N)), + n.squaredDistance(O, N) - M > -1e-4 * M) + ) { + I.push(N), (O = N), P.push(z); + (R = g(N, z)), (F = n.length(R)); + isFinite(F) && F > S && (S = F), D.push(F); + } + L = N; + } + } + var U = o(m, t.colormap, S, A); + return ( + f + ? (U.tubeScale = f) + : (0 === S && (S = 1), (U.tubeScale = (0.5 * u * A) / S)), + U + ); + }; + var u = t('./lib/shaders'), + f = t('gl-cone3d').createMesh; + e.exports.createTubeMesh = function (t, e) { + return f(t, e, { shaders: u, traceType: 'streamtube' }); + }; + }, + { + './lib/shaders': 346, + 'gl-cone3d': 260, + 'gl-vec3': 377, + 'gl-vec4': 413, + }, + ], + 349: [ + function (t, e, r) { + var n = t('gl-shader'), + i = t('glslify'), + a = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n', + ]), + o = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color \u2014 in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n', + ]), + s = i([ + "precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n", + ]), + l = i([ + 'precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n', + ]); + (r.createShader = function (t) { + var e = n(t, a, o, null, [ + { name: 'uv', type: 'vec4' }, + { name: 'f', type: 'vec3' }, + { name: 'normal', type: 'vec3' }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + (e.attributes.normal.location = 2), + e + ); + }), + (r.createPickShader = function (t) { + var e = n(t, a, l, null, [ + { name: 'uv', type: 'vec4' }, + { name: 'f', type: 'vec3' }, + { name: 'normal', type: 'vec3' }, + ]); + return ( + (e.attributes.uv.location = 0), + (e.attributes.f.location = 1), + (e.attributes.normal.location = 2), + e + ); + }), + (r.createContourShader = function (t) { + var e = n(t, s, o, null, [ + { name: 'uv', type: 'vec4' }, + { name: 'f', type: 'float' }, + ]); + return ( + (e.attributes.uv.location = 0), (e.attributes.f.location = 1), e + ); + }), + (r.createPickContourShader = function (t) { + var e = n(t, s, l, null, [ + { name: 'uv', type: 'vec4' }, + { name: 'f', type: 'float' }, + ]); + return ( + (e.attributes.uv.location = 0), (e.attributes.f.location = 1), e + ); + }); + }, + { 'gl-shader': 335, glslify: 350 }, + ], + 350: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 351: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.gl, + r = y(e), + n = b(e), + s = x(e), + l = _(e), + c = i(e), + u = a(e, [ + { buffer: c, size: 4, stride: 40, offset: 0 }, + { buffer: c, size: 3, stride: 40, offset: 16 }, + { buffer: c, size: 3, stride: 40, offset: 28 }, + ]), + f = i(e), + h = a(e, [ + { buffer: f, size: 4, stride: 20, offset: 0 }, + { buffer: f, size: 1, stride: 20, offset: 16 }, + ]), + p = i(e), + d = a(e, [{ buffer: p, size: 2, type: e.FLOAT }]), + g = o(e, 1, 256, e.RGBA, e.UNSIGNED_BYTE); + (g.minFilter = e.LINEAR), (g.magFilter = e.LINEAR); + var m = new A( + e, + [0, 0], + [ + [0, 0, 0], + [0, 0, 0], + ], + r, + n, + c, + u, + g, + s, + l, + f, + h, + p, + d, + [0, 0, 0] + ), + v = { levels: [[], [], []] }; + for (var w in t) v[w] = t[w]; + return (v.colormap = v.colormap || 'jet'), m.update(v), m; + }; + var n = t('bit-twiddle'), + i = t('gl-buffer'), + a = t('gl-vao'), + o = t('gl-texture2d'), + s = t('typedarray-pool'), + l = t('colormap'), + c = t('ndarray-ops'), + u = t('ndarray-pack'), + f = t('ndarray'), + h = t('surface-nets'), + p = t('gl-mat4/multiply'), + d = t('gl-mat4/invert'), + g = t('binary-search-bounds'), + m = t('ndarray-gradient'), + v = t('./lib/shaders'), + y = v.createShader, + x = v.createContourShader, + b = v.createPickShader, + _ = v.createPickContourShader, + w = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], + T = [ + [0, 0], + [0, 1], + [1, 0], + [1, 1], + [1, 0], + [0, 1], + ], + k = [ + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 0, 0, 0, 0, 0], + ]; + function M(t, e, r, n, i) { + (this.position = t), + (this.index = e), + (this.uv = r), + (this.level = n), + (this.dataCoordinate = i); + } + !(function () { + for (var t = 0; t < 3; ++t) { + var e = k[t], + r = (t + 2) % 3; + (e[((t + 1) % 3) + 0] = 1), (e[r + 3] = 1), (e[t + 6] = 1); + } + })(); + function A(t, e, r, n, i, a, o, l, c, u, h, p, d, g, m) { + (this.gl = t), + (this.shape = e), + (this.bounds = r), + (this.objectOffset = m), + (this.intensityBounds = []), + (this._shader = n), + (this._pickShader = i), + (this._coordinateBuffer = a), + (this._vao = o), + (this._colorMap = l), + (this._contourShader = c), + (this._contourPickShader = u), + (this._contourBuffer = h), + (this._contourVAO = p), + (this._contourOffsets = [[], [], []]), + (this._contourCounts = [[], [], []]), + (this._vertexCount = 0), + (this._pickResult = new M( + [0, 0, 0], + [0, 0], + [0, 0], + [0, 0, 0], + [0, 0, 0] + )), + (this._dynamicBuffer = d), + (this._dynamicVAO = g), + (this._dynamicOffsets = [0, 0, 0]), + (this._dynamicCounts = [0, 0, 0]), + (this.contourWidth = [1, 1, 1]), + (this.contourLevels = [[1], [1], [1]]), + (this.contourTint = [0, 0, 0]), + (this.contourColor = [ + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + [0.5, 0.5, 0.5, 1], + ]), + (this.showContour = !0), + (this.showSurface = !0), + (this.enableHighlight = [!0, !0, !0]), + (this.highlightColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.highlightTint = [1, 1, 1]), + (this.highlightLevel = [-1, -1, -1]), + (this.enableDynamic = [!0, !0, !0]), + (this.dynamicLevel = [NaN, NaN, NaN]), + (this.dynamicColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.dynamicTint = [1, 1, 1]), + (this.dynamicWidth = [1, 1, 1]), + (this.axesBounds = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]), + (this.surfaceProject = [!1, !1, !1]), + (this.contourProject = [ + [!1, !1, !1], + [!1, !1, !1], + [!1, !1, !1], + ]), + (this.colorBounds = [!1, !1]), + (this._field = [ + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + f(s.mallocFloat(1024), [0, 0]), + ]), + (this.pickId = 1), + (this.clipBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.snapToData = !1), + (this.pixelRatio = 1), + (this.opacity = 1), + (this.lightPosition = [10, 1e4, 0]), + (this.ambientLight = 0.8), + (this.diffuseLight = 0.8), + (this.specularLight = 2), + (this.roughness = 0.5), + (this.fresnel = 1.5), + (this.vertexColor = 0), + (this.dirty = !0); + } + var S = A.prototype; + (S.genColormap = function (t, e) { + var r = !1, + n = u([ + l({ colormap: t, nshades: 256, format: 'rgba' }).map(function ( + t, + n + ) { + var i = e + ? (function (t, e) { + if (!e) return 1; + if (!e.length) return 1; + for (var r = 0; r < e.length; ++r) { + if (e.length < 2) return 1; + if (e[r][0] === t) return e[r][1]; + if (e[r][0] > t && r > 0) { + var n = (e[r][0] - t) / (e[r][0] - e[r - 1][0]); + return e[r][1] * (1 - n) + n * e[r - 1][1]; + } + } + return 1; + })(n / 255, e) + : t[3]; + return i < 1 && (r = !0), [t[0], t[1], t[2], 255 * i]; + }), + ]); + return c.divseq(n, 255), (this.hasAlphaScale = r), n; + }), + (S.isTransparent = function () { + return this.opacity < 1 || this.hasAlphaScale; + }), + (S.isOpaque = function () { + return !this.isTransparent(); + }), + (S.pickSlots = 1), + (S.setPickBase = function (t) { + this.pickId = t; + }); + var E = [0, 0, 0], + C = { + showSurface: !1, + showContour: !1, + projections: [w.slice(), w.slice(), w.slice()], + clipBounds: [ + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + [ + [0, 0, 0], + [0, 0, 0], + ], + ], + }; + function L(t, e) { + var r, + n, + i, + a = (e.axes && e.axes.lastCubeProps.axis) || E, + o = e.showSurface, + s = e.showContour; + for (r = 0; r < 3; ++r) + for (o = o || e.surfaceProject[r], n = 0; n < 3; ++n) + s = s || e.contourProject[r][n]; + for (r = 0; r < 3; ++r) { + var l = C.projections[r]; + for (n = 0; n < 16; ++n) l[n] = 0; + for (n = 0; n < 4; ++n) l[5 * n] = 1; + (l[5 * r] = 0), + (l[12 + r] = e.axesBounds[+(a[r] > 0)][r]), + p(l, t.model, l); + var c = C.clipBounds[r]; + for (i = 0; i < 2; ++i) + for (n = 0; n < 3; ++n) c[i][n] = t.clipBounds[i][n]; + (c[0][r] = -1e8), (c[1][r] = 1e8); + } + return (C.showSurface = o), (C.showContour = s), C; + } + var I = { + model: w, + view: w, + projection: w, + inverseModel: w.slice(), + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + colorMap: 0, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + contourTint: 0, + contourColor: [0, 0, 0, 1], + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + zOffset: -1e-4, + objectOffset: [0, 0, 0], + kambient: 1, + kdiffuse: 1, + kspecular: 1, + lightPosition: [1e3, 1e3, 1e3], + eyePosition: [0, 0, 0], + roughness: 1, + fresnel: 1, + opacity: 1, + vertexColor: 0, + }, + P = w.slice(), + z = [1, 0, 0, 0, 1, 0, 0, 0, 1]; + function O(t, e) { + t = t || {}; + var r = this.gl; + r.disable(r.CULL_FACE), this._colorMap.bind(0); + var n = I; + (n.model = t.model || w), + (n.view = t.view || w), + (n.projection = t.projection || w), + (n.lowerBound = [ + this.bounds[0][0], + this.bounds[0][1], + this.colorBounds[0] || this.bounds[0][2], + ]), + (n.upperBound = [ + this.bounds[1][0], + this.bounds[1][1], + this.colorBounds[1] || this.bounds[1][2], + ]), + (n.objectOffset = this.objectOffset), + (n.contourColor = this.contourColor[0]), + (n.inverseModel = d(n.inverseModel, n.model)); + for (var i = 0; i < 2; ++i) + for (var a = n.clipBounds[i], o = 0; o < 3; ++o) + a[o] = Math.min(Math.max(this.clipBounds[i][o], -1e8), 1e8); + (n.kambient = this.ambientLight), + (n.kdiffuse = this.diffuseLight), + (n.kspecular = this.specularLight), + (n.roughness = this.roughness), + (n.fresnel = this.fresnel), + (n.opacity = this.opacity), + (n.height = 0), + (n.permutation = z), + (n.vertexColor = this.vertexColor); + var s = P; + for ( + p(s, n.view, n.model), p(s, n.projection, s), d(s, s), i = 0; + i < 3; + ++i + ) + n.eyePosition[i] = s[12 + i] / s[15]; + var l = s[15]; + for (i = 0; i < 3; ++i) l += this.lightPosition[i] * s[4 * i + 3]; + for (i = 0; i < 3; ++i) { + var c = s[12 + i]; + for (o = 0; o < 3; ++o) c += s[4 * o + i] * this.lightPosition[o]; + n.lightPosition[i] = c / l; + } + var u = L(n, this); + if (u.showSurface) { + for ( + this._shader.bind(), + this._shader.uniforms = n, + this._vao.bind(), + this.showSurface && + this._vertexCount && + this._vao.draw(r.TRIANGLES, this._vertexCount), + i = 0; + i < 3; + ++i + ) + this.surfaceProject[i] && + this.vertexCount && + ((this._shader.uniforms.model = u.projections[i]), + (this._shader.uniforms.clipBounds = u.clipBounds[i]), + this._vao.draw(r.TRIANGLES, this._vertexCount)); + this._vao.unbind(); + } + if (u.showContour) { + var f = this._contourShader; + (n.kambient = 1), + (n.kdiffuse = 0), + (n.kspecular = 0), + (n.opacity = 1), + f.bind(), + (f.uniforms = n); + var h = this._contourVAO; + for (h.bind(), i = 0; i < 3; ++i) + for ( + f.uniforms.permutation = k[i], + r.lineWidth(this.contourWidth[i] * this.pixelRatio), + o = 0; + o < this.contourLevels[i].length; + ++o + ) + o === this.highlightLevel[i] + ? ((f.uniforms.contourColor = this.highlightColor[i]), + (f.uniforms.contourTint = this.highlightTint[i])) + : (0 !== o && o - 1 !== this.highlightLevel[i]) || + ((f.uniforms.contourColor = this.contourColor[i]), + (f.uniforms.contourTint = this.contourTint[i])), + this._contourCounts[i][o] && + ((f.uniforms.height = this.contourLevels[i][o]), + h.draw( + r.LINES, + this._contourCounts[i][o], + this._contourOffsets[i][o] + )); + for (i = 0; i < 3; ++i) + for ( + f.uniforms.model = u.projections[i], + f.uniforms.clipBounds = u.clipBounds[i], + o = 0; + o < 3; + ++o + ) + if (this.contourProject[i][o]) { + (f.uniforms.permutation = k[o]), + r.lineWidth(this.contourWidth[o] * this.pixelRatio); + for (var g = 0; g < this.contourLevels[o].length; ++g) + g === this.highlightLevel[o] + ? ((f.uniforms.contourColor = this.highlightColor[o]), + (f.uniforms.contourTint = this.highlightTint[o])) + : (0 !== g && g - 1 !== this.highlightLevel[o]) || + ((f.uniforms.contourColor = this.contourColor[o]), + (f.uniforms.contourTint = this.contourTint[o])), + this._contourCounts[o][g] && + ((f.uniforms.height = this.contourLevels[o][g]), + h.draw( + r.LINES, + this._contourCounts[o][g], + this._contourOffsets[o][g] + )); + } + for (h.unbind(), (h = this._dynamicVAO).bind(), i = 0; i < 3; ++i) + if (0 !== this._dynamicCounts[i]) + for ( + f.uniforms.model = n.model, + f.uniforms.clipBounds = n.clipBounds, + f.uniforms.permutation = k[i], + r.lineWidth(this.dynamicWidth[i] * this.pixelRatio), + f.uniforms.contourColor = this.dynamicColor[i], + f.uniforms.contourTint = this.dynamicTint[i], + f.uniforms.height = this.dynamicLevel[i], + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i] + ), + o = 0; + o < 3; + ++o + ) + this.contourProject[o][i] && + ((f.uniforms.model = u.projections[o]), + (f.uniforms.clipBounds = u.clipBounds[o]), + h.draw( + r.LINES, + this._dynamicCounts[i], + this._dynamicOffsets[i] + )); + h.unbind(); + } + } + (S.draw = function (t) { + return O.call(this, t, !1); + }), + (S.drawTransparent = function (t) { + return O.call(this, t, !0); + }); + var D = { + model: w, + view: w, + projection: w, + inverseModel: w, + clipBounds: [ + [0, 0, 0], + [0, 0, 0], + ], + height: 0, + shape: [0, 0], + pickId: 0, + lowerBound: [0, 0, 0], + upperBound: [0, 0, 0], + zOffset: 0, + objectOffset: [0, 0, 0], + permutation: [1, 0, 0, 0, 1, 0, 0, 0, 1], + lightPosition: [0, 0, 0], + eyePosition: [0, 0, 0], + }; + function R(t, e) { + return Array.isArray(t) + ? [e(t[0]), e(t[1]), e(t[2])] + : [e(t), e(t), e(t)]; + } + function F(t) { + return Array.isArray(t) + ? 3 === t.length + ? [t[0], t[1], t[2], 1] + : [t[0], t[1], t[2], t[3]] + : [0, 0, 0, 1]; + } + function B(t) { + if (Array.isArray(t)) { + if (Array.isArray(t)) return [F(t[0]), F(t[1]), F(t[2])]; + var e = F(t); + return [e.slice(), e.slice(), e.slice()]; + } + } + (S.drawPick = function (t) { + t = t || {}; + var e = this.gl; + e.disable(e.CULL_FACE); + var r = D; + (r.model = t.model || w), + (r.view = t.view || w), + (r.projection = t.projection || w), + (r.shape = this._field[2].shape), + (r.pickId = this.pickId / 255), + (r.lowerBound = this.bounds[0]), + (r.upperBound = this.bounds[1]), + (r.objectOffset = this.objectOffset), + (r.permutation = z); + for (var n = 0; n < 2; ++n) + for (var i = r.clipBounds[n], a = 0; a < 3; ++a) + i[a] = Math.min(Math.max(this.clipBounds[n][a], -1e8), 1e8); + var o = L(r, this); + if (o.showSurface) { + for ( + this._pickShader.bind(), + this._pickShader.uniforms = r, + this._vao.bind(), + this._vao.draw(e.TRIANGLES, this._vertexCount), + n = 0; + n < 3; + ++n + ) + this.surfaceProject[n] && + ((this._pickShader.uniforms.model = o.projections[n]), + (this._pickShader.uniforms.clipBounds = o.clipBounds[n]), + this._vao.draw(e.TRIANGLES, this._vertexCount)); + this._vao.unbind(); + } + if (o.showContour) { + var s = this._contourPickShader; + s.bind(), (s.uniforms = r); + var l = this._contourVAO; + for (l.bind(), a = 0; a < 3; ++a) + for ( + e.lineWidth(this.contourWidth[a] * this.pixelRatio), + s.uniforms.permutation = k[a], + n = 0; + n < this.contourLevels[a].length; + ++n + ) + this._contourCounts[a][n] && + ((s.uniforms.height = this.contourLevels[a][n]), + l.draw( + e.LINES, + this._contourCounts[a][n], + this._contourOffsets[a][n] + )); + for (n = 0; n < 3; ++n) + for ( + s.uniforms.model = o.projections[n], + s.uniforms.clipBounds = o.clipBounds[n], + a = 0; + a < 3; + ++a + ) + if (this.contourProject[n][a]) { + (s.uniforms.permutation = k[a]), + e.lineWidth(this.contourWidth[a] * this.pixelRatio); + for (var c = 0; c < this.contourLevels[a].length; ++c) + this._contourCounts[a][c] && + ((s.uniforms.height = this.contourLevels[a][c]), + l.draw( + e.LINES, + this._contourCounts[a][c], + this._contourOffsets[a][c] + )); + } + l.unbind(); + } + }), + (S.pick = function (t) { + if (!t) return null; + if (t.id !== this.pickId) return null; + var e = this._field[2].shape, + r = this._pickResult, + n = (e[0] * (t.value[0] + (t.value[2] >> 4) / 16)) / 255, + i = Math.floor(n), + a = n - i, + o = (e[1] * (t.value[1] + (15 & t.value[2]) / 16)) / 255, + s = Math.floor(o), + l = o - s; + (i += 1), (s += 1); + var c = r.position; + c[0] = c[1] = c[2] = 0; + for (var u = 0; u < 2; ++u) + for (var f = u ? a : 1 - a, h = 0; h < 2; ++h) + for ( + var p = i + u, d = s + h, m = f * (h ? l : 1 - l), v = 0; + v < 3; + ++v + ) + c[v] += this._field[v].get(p, d) * m; + for (var y = this._pickResult.level, x = 0; x < 3; ++x) + if (((y[x] = g.le(this.contourLevels[x], c[x])), y[x] < 0)) + this.contourLevels[x].length > 0 && (y[x] = 0); + else if (y[x] < this.contourLevels[x].length - 1) { + var b = this.contourLevels[x][y[x]], + _ = this.contourLevels[x][y[x] + 1]; + Math.abs(b - c[x]) > Math.abs(_ - c[x]) && (y[x] += 1); + } + for ( + r.index[0] = a < 0.5 ? i : i + 1, + r.index[1] = l < 0.5 ? s : s + 1, + r.uv[0] = n / e[0], + r.uv[1] = o / e[1], + v = 0; + v < 3; + ++v + ) + r.dataCoordinate[v] = this._field[v].get( + r.index[0], + r.index[1] + ); + return r; + }), + (S.padField = function (t, e) { + var r = e.shape.slice(), + n = t.shape.slice(); + c.assign(t.lo(1, 1).hi(r[0], r[1]), e), + c.assign(t.lo(1).hi(r[0], 1), e.hi(r[0], 1)), + c.assign( + t.lo(1, n[1] - 1).hi(r[0], 1), + e.lo(0, r[1] - 1).hi(r[0], 1) + ), + c.assign(t.lo(0, 1).hi(1, r[1]), e.hi(1)), + c.assign(t.lo(n[0] - 1, 1).hi(1, r[1]), e.lo(r[0] - 1)), + t.set(0, 0, e.get(0, 0)), + t.set(0, n[1] - 1, e.get(0, r[1] - 1)), + t.set(n[0] - 1, 0, e.get(r[0] - 1, 0)), + t.set(n[0] - 1, n[1] - 1, e.get(r[0] - 1, r[1] - 1)); + }), + (S.update = function (t) { + (t = t || {}), + (this.objectOffset = t.objectOffset || this.objectOffset), + (this.dirty = !0), + 'contourWidth' in t && + (this.contourWidth = R(t.contourWidth, Number)), + 'showContour' in t && + (this.showContour = R(t.showContour, Boolean)), + 'showSurface' in t && (this.showSurface = !!t.showSurface), + 'contourTint' in t && + (this.contourTint = R(t.contourTint, Boolean)), + 'contourColor' in t && (this.contourColor = B(t.contourColor)), + 'contourProject' in t && + (this.contourProject = R(t.contourProject, function (t) { + return R(t, Boolean); + })), + 'surfaceProject' in t && + (this.surfaceProject = t.surfaceProject), + 'dynamicColor' in t && (this.dynamicColor = B(t.dynamicColor)), + 'dynamicTint' in t && + (this.dynamicTint = R(t.dynamicTint, Number)), + 'dynamicWidth' in t && + (this.dynamicWidth = R(t.dynamicWidth, Number)), + 'opacity' in t && (this.opacity = t.opacity), + 'opacityscale' in t && (this.opacityscale = t.opacityscale), + 'colorBounds' in t && (this.colorBounds = t.colorBounds), + 'vertexColor' in t && + (this.vertexColor = t.vertexColor ? 1 : 0), + 'colormap' in t && + this._colorMap.setPixels( + this.genColormap(t.colormap, this.opacityscale) + ); + var e = t.field || (t.coords && t.coords[2]) || null, + r = !1; + if ( + (e || + (e = + this._field[2].shape[0] || this._field[2].shape[2] + ? this._field[2] + .lo(1, 1) + .hi( + this._field[2].shape[0] - 2, + this._field[2].shape[1] - 2 + ) + : this._field[2].hi(0, 0)), + 'field' in t || 'coords' in t) + ) { + var i = (e.shape[0] + 2) * (e.shape[1] + 2); + i > this._field[2].data.length && + (s.freeFloat(this._field[2].data), + (this._field[2].data = s.mallocFloat(n.nextPow2(i)))), + (this._field[2] = f(this._field[2].data, [ + e.shape[0] + 2, + e.shape[1] + 2, + ])), + this.padField(this._field[2], e), + (this.shape = e.shape.slice()); + for (var a = this.shape, o = 0; o < 2; ++o) + this._field[2].size > this._field[o].data.length && + (s.freeFloat(this._field[o].data), + (this._field[o].data = s.mallocFloat(this._field[2].size))), + (this._field[o] = f(this._field[o].data, [ + a[0] + 2, + a[1] + 2, + ])); + if (t.coords) { + var l = t.coords; + if (!Array.isArray(l) || 3 !== l.length) + throw new Error('gl-surface: invalid coordinates for x/y'); + for (o = 0; o < 2; ++o) { + var c = l[o]; + for (v = 0; v < 2; ++v) + if (c.shape[v] !== a[v]) + throw new Error( + 'gl-surface: coords have incorrect shape' + ); + this.padField(this._field[o], c); + } + } else if (t.ticks) { + var u = t.ticks; + if (!Array.isArray(u) || 2 !== u.length) + throw new Error('gl-surface: invalid ticks'); + for (o = 0; o < 2; ++o) { + var p = u[o]; + if ( + ((Array.isArray(p) || p.length) && (p = f(p)), + p.shape[0] !== a[o]) + ) + throw new Error('gl-surface: invalid tick length'); + var d = f(p.data, a); + (d.stride[o] = p.stride[0]), + (d.stride[1 ^ o] = 0), + this.padField(this._field[o], d); + } + } else { + for (o = 0; o < 2; ++o) { + var g = [0, 0]; + (g[o] = 1), + (this._field[o] = f( + this._field[o].data, + [a[0] + 2, a[1] + 2], + g, + 0 + )); + } + this._field[0].set(0, 0, 0); + for (var v = 0; v < a[0]; ++v) + this._field[0].set(v + 1, 0, v); + for ( + this._field[0].set(a[0] + 1, 0, a[0] - 1), + this._field[1].set(0, 0, 0), + v = 0; + v < a[1]; + ++v + ) + this._field[1].set(0, v + 1, v); + this._field[1].set(0, a[1] + 1, a[1] - 1); + } + var y = this._field, + x = f(s.mallocFloat(3 * y[2].size * 2), [ + 3, + a[0] + 2, + a[1] + 2, + 2, + ]); + for (o = 0; o < 3; ++o) m(x.pick(o), y[o], 'mirror'); + var b = f(s.mallocFloat(3 * y[2].size), [ + a[0] + 2, + a[1] + 2, + 3, + ]); + for (o = 0; o < a[0] + 2; ++o) + for (v = 0; v < a[1] + 2; ++v) { + var _ = x.get(0, o, v, 0), + w = x.get(0, o, v, 1), + k = x.get(1, o, v, 0), + M = x.get(1, o, v, 1), + A = x.get(2, o, v, 0), + S = x.get(2, o, v, 1), + E = k * S - M * A, + C = A * w - S * _, + L = _ * M - w * k, + I = Math.sqrt(E * E + C * C + L * L); + I < 1e-8 + ? (I = Math.max(Math.abs(E), Math.abs(C), Math.abs(L))) < + 1e-8 + ? ((L = 1), (C = E = 0), (I = 1)) + : (I = 1 / I) + : (I = 1 / Math.sqrt(I)), + b.set(o, v, 0, E * I), + b.set(o, v, 1, C * I), + b.set(o, v, 2, L * I); + } + s.free(x.data); + var P = [1 / 0, 1 / 0, 1 / 0], + z = [-1 / 0, -1 / 0, -1 / 0], + O = 1 / 0, + D = -1 / 0, + F = (a[0] - 1) * (a[1] - 1) * 6, + N = s.mallocFloat(n.nextPow2(10 * F)), + j = 0, + U = 0; + for (o = 0; o < a[0] - 1; ++o) + t: for (v = 0; v < a[1] - 1; ++v) { + for (var V = 0; V < 2; ++V) + for (var q = 0; q < 2; ++q) + for (var H = 0; H < 3; ++H) { + var G = this._field[H].get(1 + o + V, 1 + v + q); + if (isNaN(G) || !isFinite(G)) continue t; + } + for (H = 0; H < 6; ++H) { + var Y = o + T[H][0], + W = v + T[H][1], + X = this._field[0].get(Y + 1, W + 1), + Z = this._field[1].get(Y + 1, W + 1); + (G = this._field[2].get(Y + 1, W + 1)), + (E = b.get(Y + 1, W + 1, 0)), + (C = b.get(Y + 1, W + 1, 1)), + (L = b.get(Y + 1, W + 1, 2)), + t.intensity && (J = t.intensity.get(Y, W)); + var J = t.intensity + ? t.intensity.get(Y, W) + : G + this.objectOffset[2]; + (N[j++] = Y), + (N[j++] = W), + (N[j++] = X), + (N[j++] = Z), + (N[j++] = G), + (N[j++] = 0), + (N[j++] = J), + (N[j++] = E), + (N[j++] = C), + (N[j++] = L), + (P[0] = Math.min(P[0], X + this.objectOffset[0])), + (P[1] = Math.min(P[1], Z + this.objectOffset[1])), + (P[2] = Math.min(P[2], G + this.objectOffset[2])), + (O = Math.min(O, J)), + (z[0] = Math.max(z[0], X + this.objectOffset[0])), + (z[1] = Math.max(z[1], Z + this.objectOffset[1])), + (z[2] = Math.max(z[2], G + this.objectOffset[2])), + (D = Math.max(D, J)), + (U += 1); + } + } + for ( + t.intensityBounds && + ((O = +t.intensityBounds[0]), (D = +t.intensityBounds[1])), + o = 6; + o < j; + o += 10 + ) + N[o] = (N[o] - O) / (D - O); + (this._vertexCount = U), + this._coordinateBuffer.update(N.subarray(0, j)), + s.freeFloat(N), + s.free(b.data), + (this.bounds = [P, z]), + (this.intensity = t.intensity || this._field[2]), + (this.intensityBounds[0] === O && + this.intensityBounds[1] === D) || + (r = !0), + (this.intensityBounds = [O, D]); + } + if ('levels' in t) { + var K = t.levels; + for ( + K = Array.isArray(K[0]) ? K.slice() : [[], [], K], o = 0; + o < 3; + ++o + ) + (K[o] = K[o].slice()), + K[o].sort(function (t, e) { + return t - e; + }); + for (o = 0; o < 3; ++o) + for (v = 0; v < K[o].length; ++v) + K[o][v] -= this.objectOffset[o]; + t: for (o = 0; o < 3; ++o) { + if (K[o].length !== this.contourLevels[o].length) { + r = !0; + break; + } + for (v = 0; v < K[o].length; ++v) + if (K[o][v] !== this.contourLevels[o][v]) { + r = !0; + break t; + } + } + this.contourLevels = K; + } + if (r) { + (y = this._field), (a = this.shape); + for (var Q = [], $ = 0; $ < 3; ++$) { + var tt = this.contourLevels[$], + et = [], + rt = [], + nt = [0, 0, 0]; + for (o = 0; o < tt.length; ++o) { + var it = h(this._field[$], tt[o]); + et.push((Q.length / 5) | 0), (U = 0); + t: for (v = 0; v < it.cells.length; ++v) { + var at = it.cells[v]; + for (H = 0; H < 2; ++H) { + var ot = it.positions[at[H]], + st = ot[0], + lt = 0 | Math.floor(st), + ct = st - lt, + ut = ot[1], + ft = 0 | Math.floor(ut), + ht = ut - ft, + pt = !1; + e: for (var dt = 0; dt < 3; ++dt) { + nt[dt] = 0; + var gt = ($ + dt + 1) % 3; + for (V = 0; V < 2; ++V) { + var mt = V ? ct : 1 - ct; + for ( + Y = 0 | Math.min(Math.max(lt + V, 0), a[0]), + q = 0; + q < 2; + ++q + ) { + var vt = q ? ht : 1 - ht; + if ( + ((W = 0 | Math.min(Math.max(ft + q, 0), a[1])), + (G = + dt < 2 + ? this._field[gt].get(Y, W) + : (this.intensity.get(Y, W) - + this.intensityBounds[0]) / + (this.intensityBounds[1] - + this.intensityBounds[0])), + !isFinite(G) || isNaN(G)) + ) { + pt = !0; + break e; + } + var yt = mt * vt; + nt[dt] += yt * G; + } + } + } + if (pt) { + if (H > 0) { + for (var xt = 0; xt < 5; ++xt) Q.pop(); + U -= 1; + } + continue t; + } + Q.push(nt[0], nt[1], ot[0], ot[1], nt[2]), (U += 1); + } + } + rt.push(U); + } + (this._contourOffsets[$] = et), (this._contourCounts[$] = rt); + } + var bt = s.mallocFloat(Q.length); + for (o = 0; o < Q.length; ++o) bt[o] = Q[o]; + this._contourBuffer.update(bt), s.freeFloat(bt); + } + }), + (S.dispose = function () { + this._shader.dispose(), + this._vao.dispose(), + this._coordinateBuffer.dispose(), + this._colorMap.dispose(), + this._contourBuffer.dispose(), + this._contourVAO.dispose(), + this._contourShader.dispose(), + this._contourPickShader.dispose(), + this._dynamicBuffer.dispose(), + this._dynamicVAO.dispose(); + for (var t = 0; t < 3; ++t) s.freeFloat(this._field[t].data); + }), + (S.highlight = function (t) { + var e, r; + if (!t) + return ( + (this._dynamicCounts = [0, 0, 0]), + (this.dyanamicLevel = [NaN, NaN, NaN]), + void (this.highlightLevel = [-1, -1, -1]) + ); + for (e = 0; e < 3; ++e) + this.enableHighlight[e] + ? (this.highlightLevel[e] = t.level[e]) + : (this.highlightLevel[e] = -1); + for ( + r = this.snapToData ? t.dataCoordinate : t.position, e = 0; + e < 3; + ++e + ) + r[e] -= this.objectOffset[e]; + if ( + (this.enableDynamic[0] && r[0] !== this.dynamicLevel[0]) || + (this.enableDynamic[1] && r[1] !== this.dynamicLevel[1]) || + (this.enableDynamic[2] && r[2] !== this.dynamicLevel[2]) + ) { + for ( + var n = 0, + i = this.shape, + a = s.mallocFloat(12 * i[0] * i[1]), + o = 0; + o < 3; + ++o + ) + if (this.enableDynamic[o]) { + this.dynamicLevel[o] = r[o]; + var l = (o + 1) % 3, + c = (o + 2) % 3, + u = this._field[o], + f = this._field[l], + p = this._field[c], + d = h(u, r[o]), + g = d.cells, + m = d.positions; + for (this._dynamicOffsets[o] = n, e = 0; e < g.length; ++e) + for (var v = g[e], y = 0; y < 2; ++y) { + var x = m[v[y]], + b = +x[0], + _ = 0 | b, + w = 0 | Math.min(_ + 1, i[0]), + T = b - _, + k = 1 - T, + M = +x[1], + A = 0 | M, + S = 0 | Math.min(A + 1, i[1]), + E = M - A, + C = 1 - E, + L = k * C, + I = k * E, + P = T * C, + z = T * E, + O = + L * f.get(_, A) + + I * f.get(_, S) + + P * f.get(w, A) + + z * f.get(w, S), + D = + L * p.get(_, A) + + I * p.get(_, S) + + P * p.get(w, A) + + z * p.get(w, S); + if (isNaN(O) || isNaN(D)) { + y && (n -= 1); + break; + } + (a[2 * n + 0] = O), (a[2 * n + 1] = D), (n += 1); + } + this._dynamicCounts[o] = n - this._dynamicOffsets[o]; + } else + (this.dynamicLevel[o] = NaN), (this._dynamicCounts[o] = 0); + this._dynamicBuffer.update(a.subarray(0, 2 * n)), + s.freeFloat(a); + } + }); + }, + { + './lib/shaders': 349, + 'binary-search-bounds': 96, + 'bit-twiddle': 97, + colormap: 131, + 'gl-buffer': 259, + 'gl-mat4/invert': 293, + 'gl-mat4/multiply': 295, + 'gl-texture2d': 353, + 'gl-vao': 358, + ndarray: 495, + 'ndarray-gradient': 488, + 'ndarray-ops': 490, + 'ndarray-pack': 491, + 'surface-nets': 570, + 'typedarray-pool': 595, + }, + ], + 352: [ + function (t, e, r) { + 'use strict'; + var n = t('css-font'), + i = t('pick-by-alias'), + a = t('regl'), + o = t('gl-util/context'), + s = t('es6-weak-map'), + l = t('color-normalize'), + c = t('font-atlas'), + u = t('typedarray-pool'), + f = t('parse-rect'), + h = t('is-plain-obj'), + p = t('parse-unit'), + d = t('to-px'), + g = t('detect-kerning'), + m = t('object-assign'), + v = t('font-measure'), + y = t('flatten-vertex-data'), + x = t('bit-twiddle').nextPow2, + b = new s(), + _ = !1; + if (document.body) { + var w = document.body.appendChild(document.createElement('div')); + (w.style.font = 'italic small-caps bold condensed 16px/2 cursive'), + getComputedStyle(w).fontStretch && (_ = !0), + document.body.removeChild(w); + } + var T = function (t) { + !(function (t) { + return ( + 'function' == typeof t && + t._gl && + t.prop && + t.texture && + t.buffer + ); + })(t) + ? (this.gl = o(t)) + : ((t = { regl: t }), (this.gl = t.regl._gl)), + (this.shader = b.get(this.gl)), + this.shader + ? (this.regl = this.shader.regl) + : (this.regl = t.regl || a({ gl: this.gl })), + (this.charBuffer = this.regl.buffer({ + type: 'uint8', + usage: 'stream', + })), + (this.sizeBuffer = this.regl.buffer({ + type: 'float', + usage: 'stream', + })), + this.shader || + ((this.shader = this.createShader()), + b.set(this.gl, this.shader)), + (this.batch = []), + (this.fontSize = []), + (this.font = []), + (this.fontAtlas = []), + (this.draw = this.shader.draw.bind(this)), + (this.render = function () { + this.regl._refresh(), this.draw(this.batch); + }), + (this.canvas = this.gl.canvas), + this.update(h(t) ? t : {}); + }; + (T.prototype.createShader = function () { + var t = this.regl, + e = t({ + blend: { + enable: !0, + color: [0, 0, 0, 1], + func: { + srcRGB: 'src alpha', + dstRGB: 'one minus src alpha', + srcAlpha: 'one minus dst alpha', + dstAlpha: 'one', + }, + }, + stencil: { enable: !1 }, + depth: { enable: !1 }, + count: t.prop('count'), + offset: t.prop('offset'), + attributes: { + charOffset: { + offset: 4, + stride: 8, + buffer: t.this('sizeBuffer'), + }, + width: { offset: 0, stride: 8, buffer: t.this('sizeBuffer') }, + char: t.this('charBuffer'), + position: t.this('position'), + }, + uniforms: { + atlasSize: function (t, e) { + return [e.atlas.width, e.atlas.height]; + }, + atlasDim: function (t, e) { + return [e.atlas.cols, e.atlas.rows]; + }, + atlas: function (t, e) { + return e.atlas.texture; + }, + charStep: function (t, e) { + return e.atlas.step; + }, + em: function (t, e) { + return e.atlas.em; + }, + color: t.prop('color'), + opacity: t.prop('opacity'), + viewport: t.this('viewportArray'), + scale: t.this('scale'), + align: t.prop('align'), + baseline: t.prop('baseline'), + translate: t.this('translate'), + positionOffset: t.prop('positionOffset'), + }, + primitive: 'points', + viewport: t.this('viewport'), + vert: + '\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t' + + (T.normalViewport + ? '' + : 'vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);') + + '\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t' + + (T.normalViewport ? 'position.y = 1. - position.y;' : '') + + '\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}', + frag: '\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}', + }); + return { regl: t, draw: e, atlas: {} }; + }), + (T.prototype.update = function (t) { + var e = this; + if ('string' == typeof t) t = { text: t }; + else if (!t) return; + null != + (t = i( + t, + { + position: 'position positions coord coords coordinates', + font: 'font fontFace fontface typeface cssFont css-font family fontFamily', + fontSize: 'fontSize fontsize size font-size', + text: 'text texts chars characters value values symbols', + align: 'align alignment textAlign textbaseline', + baseline: 'baseline textBaseline textbaseline', + direction: 'dir direction textDirection', + color: + 'color colour fill fill-color fillColor textColor textcolor', + kerning: 'kerning kern', + range: 'range dataBox', + viewport: 'vp viewport viewBox viewbox viewPort', + opacity: + 'opacity alpha transparency visible visibility opaque', + offset: + 'offset positionOffset padding shift indent indentation', + }, + !0 + )).opacity && + (Array.isArray(t.opacity) + ? (this.opacity = t.opacity.map(function (t) { + return parseFloat(t); + })) + : (this.opacity = parseFloat(t.opacity))), + null != t.viewport && + ((this.viewport = f(t.viewport)), + T.normalViewport && + (this.viewport.y = + this.canvas.height - + this.viewport.y - + this.viewport.height), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null == this.viewport && + ((this.viewport = { + x: 0, + y: 0, + width: this.gl.drawingBufferWidth, + height: this.gl.drawingBufferHeight, + }), + (this.viewportArray = [ + this.viewport.x, + this.viewport.y, + this.viewport.width, + this.viewport.height, + ])), + null != t.kerning && (this.kerning = t.kerning), + null != t.offset && + ('number' == typeof t.offset && (t.offset = [t.offset, 0]), + (this.positionOffset = y(t.offset))), + t.direction && (this.direction = t.direction), + t.range && + ((this.range = t.range), + (this.scale = [ + 1 / (t.range[2] - t.range[0]), + 1 / (t.range[3] - t.range[1]), + ]), + (this.translate = [-t.range[0], -t.range[1]])), + t.scale && (this.scale = t.scale), + t.translate && (this.translate = t.translate), + this.scale || + (this.scale = [ + 1 / this.viewport.width, + 1 / this.viewport.height, + ]), + this.translate || (this.translate = [0, 0]), + this.font.length || + t.font || + (t.font = T.baseFontSize + 'px sans-serif'); + var r, + a = !1, + o = !1; + if ( + (t.font && + (Array.isArray(t.font) ? t.font : [t.font]).forEach(function ( + t, + r + ) { + if ('string' == typeof t) + try { + t = n.parse(t); + } catch (e) { + t = n.parse(T.baseFontSize + 'px ' + t); + } + else t = n.parse(n.stringify(t)); + var i = n.stringify({ + size: T.baseFontSize, + family: t.family, + stretch: _ ? t.stretch : void 0, + variant: t.variant, + weight: t.weight, + style: t.style, + }), + s = p(t.size), + l = Math.round(s[0] * d(s[1])); + if ( + (l !== e.fontSize[r] && ((o = !0), (e.fontSize[r] = l)), + !( + (e.font[r] && i == e.font[r].baseString) || + ((a = !0), (e.font[r] = T.fonts[i]), e.font[r]) + )) + ) { + var c = t.family.join(', '), + u = [t.style]; + t.style != t.variant && u.push(t.variant), + t.variant != t.weight && u.push(t.weight), + _ && t.weight != t.stretch && u.push(t.stretch), + (e.font[r] = { + baseString: i, + family: c, + weight: t.weight, + stretch: t.stretch, + style: t.style, + variant: t.variant, + width: {}, + kerning: {}, + metrics: v(c, { + origin: 'top', + fontSize: T.baseFontSize, + fontStyle: u.join(' '), + }), + }), + (T.fonts[i] = e.font[r]); + } + }), + (a || o) && + this.font.forEach(function (r, i) { + var a = n.stringify({ + size: e.fontSize[i], + family: r.family, + stretch: _ ? r.stretch : void 0, + variant: r.variant, + weight: r.weight, + style: r.style, + }); + if ( + ((e.fontAtlas[i] = e.shader.atlas[a]), !e.fontAtlas[i]) + ) { + var o = r.metrics; + e.shader.atlas[a] = e.fontAtlas[i] = { + fontString: a, + step: 2 * Math.ceil(e.fontSize[i] * o.bottom * 0.5), + em: e.fontSize[i], + cols: 0, + rows: 0, + height: 0, + width: 0, + chars: [], + ids: {}, + texture: e.regl.texture(), + }; + } + null == t.text && (t.text = e.text); + }), + 'string' == typeof t.text && + t.position && + t.position.length > 2) + ) { + for ( + var s = Array(0.5 * t.position.length), h = 0; + h < s.length; + h++ + ) + s[h] = t.text; + t.text = s; + } + if (null != t.text || a) { + if (((this.textOffsets = [0]), Array.isArray(t.text))) { + (this.count = t.text[0].length), (this.counts = [this.count]); + for (var b = 1; b < t.text.length; b++) + (this.textOffsets[b] = + this.textOffsets[b - 1] + t.text[b - 1].length), + (this.count += t.text[b].length), + this.counts.push(t.text[b].length); + this.text = t.text.join(''); + } else + (this.text = t.text), + (this.count = this.text.length), + (this.counts = [this.count]); + (r = []), + this.font.forEach(function (t, n) { + T.atlasContext.font = t.baseString; + for ( + var i = e.fontAtlas[n], a = 0; + a < e.text.length; + a++ + ) { + var o = e.text.charAt(a); + if ( + (null == i.ids[o] && + ((i.ids[o] = i.chars.length), + i.chars.push(o), + r.push(o)), + null == t.width[o] && + ((t.width[o] = + T.atlasContext.measureText(o).width / + T.baseFontSize), + e.kerning)) + ) { + var s = []; + for (var l in t.width) s.push(l + o, o + l); + m(t.kerning, g(t.family, { pairs: s })); + } + } + }); + } + if (t.position) + if (t.position.length > 2) { + for ( + var w = !t.position[0].length, + k = u.mallocFloat(2 * this.count), + M = 0, + A = 0; + M < this.counts.length; + M++ + ) { + var S = this.counts[M]; + if (w) + for (var E = 0; E < S; E++) + (k[A++] = t.position[2 * M]), + (k[A++] = t.position[2 * M + 1]); + else + for (var C = 0; C < S; C++) + (k[A++] = t.position[M][0]), + (k[A++] = t.position[M][1]); + } + this.position.call + ? this.position({ type: 'float', data: k }) + : (this.position = this.regl.buffer({ + type: 'float', + data: k, + })), + u.freeFloat(k); + } else + this.position.destroy && this.position.destroy(), + (this.position = { constant: t.position }); + if (t.text || a) { + var L = u.mallocUint8(this.count), + I = u.mallocFloat(2 * this.count); + this.textWidth = []; + for (var P = 0, z = 0; P < this.counts.length; P++) { + for ( + var O = this.counts[P], + D = this.font[P] || this.font[0], + R = this.fontAtlas[P] || this.fontAtlas[0], + F = 0; + F < O; + F++ + ) { + var B = this.text.charAt(z), + N = this.text.charAt(z - 1); + if (((L[z] = R.ids[B]), (I[2 * z] = D.width[B]), F)) { + var j = I[2 * z - 2], + U = I[2 * z], + V = I[2 * z - 1] + 0.5 * j + 0.5 * U; + if (this.kerning) { + var q = D.kerning[N + B]; + q && (V += 0.001 * q); + } + I[2 * z + 1] = V; + } else I[2 * z + 1] = 0.5 * I[2 * z]; + z++; + } + this.textWidth.push( + I.length ? 0.5 * I[2 * z - 2] + I[2 * z - 1] : 0 + ); + } + t.align || (t.align = this.align), + this.charBuffer({ data: L, type: 'uint8', usage: 'stream' }), + this.sizeBuffer({ data: I, type: 'float', usage: 'stream' }), + u.freeUint8(L), + u.freeFloat(I), + r.length && + this.font.forEach(function (t, r) { + var n = e.fontAtlas[r], + i = n.step, + a = Math.floor(T.maxAtlasSize / i), + o = Math.min(a, n.chars.length), + s = Math.ceil(n.chars.length / o), + l = x(o * i), + u = x(s * i); + (n.width = l), + (n.height = u), + (n.rows = s), + (n.cols = o), + n.em && + n.texture({ + data: c({ + canvas: T.atlasCanvas, + font: n.fontString, + chars: n.chars, + shape: [l, u], + step: [i, i], + }), + }); + }); + } + if ( + (t.align && + ((this.align = t.align), + (this.alignOffset = this.textWidth.map(function (t, r) { + var n = Array.isArray(e.align) + ? e.align.length > 1 + ? e.align[r] + : e.align[0] + : e.align; + if ('number' == typeof n) return n; + switch (n) { + case 'right': + case 'end': + return -t; + case 'center': + case 'centre': + case 'middle': + return 0.5 * -t; + } + return 0; + }))), + null == this.baseline && null == t.baseline && (t.baseline = 0), + null != t.baseline && + ((this.baseline = t.baseline), + Array.isArray(this.baseline) || + (this.baseline = [this.baseline]), + (this.baselineOffset = this.baseline.map(function (t, r) { + var n = (e.font[r] || e.font[0]).metrics, + i = 0; + return ( + (i += 0.5 * n.bottom), + (i += 'number' == typeof t ? t - n.baseline : -n[t]), + T.normalViewport || (i *= -1), + i + ); + }))), + null != t.color) + ) + if ( + (t.color || (t.color = 'transparent'), + 'string' != typeof t.color && isNaN(t.color)) + ) { + var H; + if ( + 'number' == typeof t.color[0] && + t.color.length > this.counts.length + ) { + var G = t.color.length; + H = u.mallocUint8(G); + for ( + var Y = (t.color.subarray || t.color.slice).bind(t.color), + W = 0; + W < G; + W += 4 + ) + H.set(l(Y(W, W + 4), 'uint8'), W); + } else { + var X = t.color.length; + H = u.mallocUint8(4 * X); + for (var Z = 0; Z < X; Z++) + H.set(l(t.color[Z] || 0, 'uint8'), 4 * Z); + } + this.color = H; + } else this.color = l(t.color, 'uint8'); + if ( + t.position || + t.text || + t.color || + t.baseline || + t.align || + t.font || + t.offset || + t.opacity + ) + if ( + this.color.length > 4 || + this.baselineOffset.length > 1 || + (this.align && this.align.length > 1) || + this.fontAtlas.length > 1 || + this.positionOffset.length > 2 + ) { + var J = Math.max( + 0.5 * this.position.length || 0, + 0.25 * this.color.length || 0, + this.baselineOffset.length || 0, + this.alignOffset.length || 0, + this.font.length || 0, + this.opacity.length || 0, + 0.5 * this.positionOffset.length || 0 + ); + this.batch = Array(J); + for (var K = 0; K < this.batch.length; K++) + this.batch[K] = { + count: + this.counts.length > 1 + ? this.counts[K] + : this.counts[0], + offset: + this.textOffsets.length > 1 + ? this.textOffsets[K] + : this.textOffsets[0], + color: this.color + ? this.color.length <= 4 + ? this.color + : this.color.subarray(4 * K, 4 * K + 4) + : [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[K] + : this.opacity, + baseline: + null != this.baselineOffset[K] + ? this.baselineOffset[K] + : this.baselineOffset[0], + align: this.align + ? null != this.alignOffset[K] + ? this.alignOffset[K] + : this.alignOffset[0] + : 0, + atlas: this.fontAtlas[K] || this.fontAtlas[0], + positionOffset: + this.positionOffset.length > 2 + ? this.positionOffset.subarray(2 * K, 2 * K + 2) + : this.positionOffset, + }; + } else + this.count + ? (this.batch = [ + { + count: this.count, + offset: 0, + color: this.color || [0, 0, 0, 255], + opacity: Array.isArray(this.opacity) + ? this.opacity[0] + : this.opacity, + baseline: this.baselineOffset[0], + align: this.alignOffset ? this.alignOffset[0] : 0, + atlas: this.fontAtlas[0], + positionOffset: this.positionOffset, + }, + ]) + : (this.batch = []); + }), + (T.prototype.destroy = function () {}), + (T.prototype.kerning = !0), + (T.prototype.position = { constant: new Float32Array(2) }), + (T.prototype.translate = null), + (T.prototype.scale = null), + (T.prototype.font = null), + (T.prototype.text = ''), + (T.prototype.positionOffset = [0, 0]), + (T.prototype.opacity = 1), + (T.prototype.color = new Uint8Array([0, 0, 0, 255])), + (T.prototype.alignOffset = [0, 0]), + (T.normalViewport = !1), + (T.maxAtlasSize = 1024), + (T.atlasCanvas = document.createElement('canvas')), + (T.atlasContext = T.atlasCanvas.getContext('2d', { alpha: !1 })), + (T.baseFontSize = 64), + (T.fonts = {}), + (e.exports = T); + }, + { + 'bit-twiddle': 97, + 'color-normalize': 125, + 'css-font': 144, + 'detect-kerning': 172, + 'es6-weak-map': 233, + 'flatten-vertex-data': 244, + 'font-atlas': 245, + 'font-measure': 246, + 'gl-util/context': 354, + 'is-plain-obj': 469, + 'object-assign': 499, + 'parse-rect': 504, + 'parse-unit': 506, + 'pick-by-alias': 511, + regl: 540, + 'to-px': 578, + 'typedarray-pool': 595, + }, + ], + 353: [ + function (t, e, r) { + 'use strict'; + var n = t('ndarray'), + i = t('ndarray-ops'), + a = t('typedarray-pool'); + e.exports = function (t) { + if (arguments.length <= 1) + throw new Error( + 'gl-texture2d: Missing arguments for texture2d constructor' + ); + o || c(t); + if ('number' == typeof arguments[1]) + return v( + t, + arguments[1], + arguments[2], + arguments[3] || t.RGBA, + arguments[4] || t.UNSIGNED_BYTE + ); + if (Array.isArray(arguments[1])) + return v( + t, + 0 | arguments[1][0], + 0 | arguments[1][1], + arguments[2] || t.RGBA, + arguments[3] || t.UNSIGNED_BYTE + ); + if ('object' == typeof arguments[1]) { + var e = arguments[1], + r = u(e) ? e : e.raw; + if (r) + return y( + t, + r, + 0 | e.width, + 0 | e.height, + arguments[2] || t.RGBA, + arguments[3] || t.UNSIGNED_BYTE + ); + if (e.shape && e.data && e.stride) return x(t, e); + } + throw new Error( + 'gl-texture2d: Invalid arguments for texture2d constructor' + ); + }; + var o = null, + s = null, + l = null; + function c(t) { + (o = [ + t.LINEAR, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_NEAREST, + ]), + (s = [ + t.NEAREST, + t.LINEAR, + t.NEAREST_MIPMAP_NEAREST, + t.NEAREST_MIPMAP_LINEAR, + t.LINEAR_MIPMAP_NEAREST, + t.LINEAR_MIPMAP_LINEAR, + ]), + (l = [t.REPEAT, t.CLAMP_TO_EDGE, t.MIRRORED_REPEAT]); + } + function u(t) { + return ( + ('undefined' != typeof HTMLCanvasElement && + t instanceof HTMLCanvasElement) || + ('undefined' != typeof HTMLImageElement && + t instanceof HTMLImageElement) || + ('undefined' != typeof HTMLVideoElement && + t instanceof HTMLVideoElement) || + ('undefined' != typeof ImageData && t instanceof ImageData) + ); + } + var f = function (t, e) { + i.muls(t, e, 255); + }; + function h(t, e, r) { + var n = t.gl, + i = n.getParameter(n.MAX_TEXTURE_SIZE); + if (e < 0 || e > i || r < 0 || r > i) + throw new Error('gl-texture2d: Invalid texture size'); + return ( + (t._shape = [e, r]), + t.bind(), + n.texImage2D( + n.TEXTURE_2D, + 0, + t.format, + e, + r, + 0, + t.format, + t.type, + null + ), + (t._mipLevels = [0]), + t + ); + } + function p(t, e, r, n, i, a) { + (this.gl = t), + (this.handle = e), + (this.format = i), + (this.type = a), + (this._shape = [r, n]), + (this._mipLevels = [0]), + (this._magFilter = t.NEAREST), + (this._minFilter = t.NEAREST), + (this._wrapS = t.CLAMP_TO_EDGE), + (this._wrapT = t.CLAMP_TO_EDGE), + (this._anisoSamples = 1); + var o = this, + s = [this._wrapS, this._wrapT]; + Object.defineProperties(s, [ + { + get: function () { + return o._wrapS; + }, + set: function (t) { + return (o.wrapS = t); + }, + }, + { + get: function () { + return o._wrapT; + }, + set: function (t) { + return (o.wrapT = t); + }, + }, + ]), + (this._wrapVector = s); + var l = [this._shape[0], this._shape[1]]; + Object.defineProperties(l, [ + { + get: function () { + return o._shape[0]; + }, + set: function (t) { + return (o.width = t); + }, + }, + { + get: function () { + return o._shape[1]; + }, + set: function (t) { + return (o.height = t); + }, + }, + ]), + (this._shapeVector = l); + } + var d = p.prototype; + function g(t, e) { + return 3 === t.length + ? 1 === e[2] && e[1] === t[0] * t[2] && e[0] === t[2] + : 1 === e[0] && e[1] === t[0]; + } + function m(t) { + var e = t.createTexture(); + return ( + t.bindTexture(t.TEXTURE_2D, e), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.NEAREST), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.NEAREST), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), + t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), + e + ); + } + function v(t, e, r, n, i) { + var a = t.getParameter(t.MAX_TEXTURE_SIZE); + if (e < 0 || e > a || r < 0 || r > a) + throw new Error('gl-texture2d: Invalid texture shape'); + if (i === t.FLOAT && !t.getExtension('OES_texture_float')) + throw new Error( + 'gl-texture2d: Floating point textures not supported on this platform' + ); + var o = m(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, n, e, r, 0, n, i, null), + new p(t, o, e, r, n, i) + ); + } + function y(t, e, r, n, i, a) { + var o = m(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, i, i, a, e), new p(t, o, r, n, i, a) + ); + } + function x(t, e) { + var r = e.dtype, + o = e.shape.slice(), + s = t.getParameter(t.MAX_TEXTURE_SIZE); + if (o[0] < 0 || o[0] > s || o[1] < 0 || o[1] > s) + throw new Error('gl-texture2d: Invalid texture size'); + var l = g(o, e.stride.slice()), + c = 0; + 'float32' === r + ? (c = t.FLOAT) + : 'float64' === r + ? ((c = t.FLOAT), (l = !1), (r = 'float32')) + : 'uint8' === r + ? (c = t.UNSIGNED_BYTE) + : ((c = t.UNSIGNED_BYTE), (l = !1), (r = 'uint8')); + var u, + h, + d = 0; + if (2 === o.length) + (d = t.LUMINANCE), + (o = [o[0], o[1], 1]), + (e = n(e.data, o, [e.stride[0], e.stride[1], 1], e.offset)); + else { + if (3 !== o.length) + throw new Error('gl-texture2d: Invalid shape for texture'); + if (1 === o[2]) d = t.ALPHA; + else if (2 === o[2]) d = t.LUMINANCE_ALPHA; + else if (3 === o[2]) d = t.RGB; + else { + if (4 !== o[2]) + throw new Error( + 'gl-texture2d: Invalid shape for pixel coords' + ); + d = t.RGBA; + } + } + c !== t.FLOAT || + t.getExtension('OES_texture_float') || + ((c = t.UNSIGNED_BYTE), (l = !1)); + var v = e.size; + if (l) + u = + 0 === e.offset && e.data.length === v + ? e.data + : e.data.subarray(e.offset, e.offset + v); + else { + var y = [o[2], o[2] * o[0], 1]; + h = a.malloc(v, r); + var x = n(h, o, y, 0); + ('float32' !== r && 'float64' !== r) || c !== t.UNSIGNED_BYTE + ? i.assign(x, e) + : f(x, e), + (u = h.subarray(0, v)); + } + var b = m(t); + return ( + t.texImage2D(t.TEXTURE_2D, 0, d, o[0], o[1], 0, d, c, u), + l || a.free(h), + new p(t, b, o[0], o[1], d, c) + ); + } + Object.defineProperties(d, { + minFilter: { + get: function () { + return this._minFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension('OES_texture_float_linear') || + (t = e.NEAREST)), + s.indexOf(t) < 0) + ) + throw new Error('gl-texture2d: Unknown filter mode ' + t); + return ( + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, t), + (this._minFilter = t) + ); + }, + }, + magFilter: { + get: function () { + return this._magFilter; + }, + set: function (t) { + this.bind(); + var e = this.gl; + if ( + (this.type === e.FLOAT && + o.indexOf(t) >= 0 && + (e.getExtension('OES_texture_float_linear') || + (t = e.NEAREST)), + s.indexOf(t) < 0) + ) + throw new Error('gl-texture2d: Unknown filter mode ' + t); + return ( + e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, t), + (this._magFilter = t) + ); + }, + }, + mipSamples: { + get: function () { + return this._anisoSamples; + }, + set: function (t) { + var e = this._anisoSamples; + if ( + ((this._anisoSamples = 0 | Math.max(t, 1)), + e !== this._anisoSamples) + ) { + var r = this.gl.getExtension( + 'EXT_texture_filter_anisotropic' + ); + r && + this.gl.texParameterf( + this.gl.TEXTURE_2D, + r.TEXTURE_MAX_ANISOTROPY_EXT, + this._anisoSamples + ); + } + return this._anisoSamples; + }, + }, + wrapS: { + get: function () { + return this._wrapS; + }, + set: function (t) { + if ((this.bind(), l.indexOf(t) < 0)) + throw new Error('gl-texture2d: Unknown wrap mode ' + t); + return ( + this.gl.texParameteri( + this.gl.TEXTURE_2D, + this.gl.TEXTURE_WRAP_S, + t + ), + (this._wrapS = t) + ); + }, + }, + wrapT: { + get: function () { + return this._wrapT; + }, + set: function (t) { + if ((this.bind(), l.indexOf(t) < 0)) + throw new Error('gl-texture2d: Unknown wrap mode ' + t); + return ( + this.gl.texParameteri( + this.gl.TEXTURE_2D, + this.gl.TEXTURE_WRAP_T, + t + ), + (this._wrapT = t) + ); + }, + }, + wrap: { + get: function () { + return this._wrapVector; + }, + set: function (t) { + if ((Array.isArray(t) || (t = [t, t]), 2 !== t.length)) + throw new Error( + 'gl-texture2d: Must specify wrap mode for rows and columns' + ); + for (var e = 0; e < 2; ++e) + if (l.indexOf(t[e]) < 0) + throw new Error('gl-texture2d: Unknown wrap mode ' + t); + (this._wrapS = t[0]), (this._wrapT = t[1]); + var r = this.gl; + return ( + this.bind(), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, this._wrapS), + r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, this._wrapT), + t + ); + }, + }, + shape: { + get: function () { + return this._shapeVector; + }, + set: function (t) { + if (Array.isArray(t)) { + if (2 !== t.length) + throw new Error('gl-texture2d: Invalid texture shape'); + } else t = [0 | t, 0 | t]; + return h(this, 0 | t[0], 0 | t[1]), [0 | t[0], 0 | t[1]]; + }, + }, + width: { + get: function () { + return this._shape[0]; + }, + set: function (t) { + return h(this, (t |= 0), this._shape[1]), t; + }, + }, + height: { + get: function () { + return this._shape[1]; + }, + set: function (t) { + return (t |= 0), h(this, this._shape[0], t), t; + }, + }, + }), + (d.bind = function (t) { + var e = this.gl; + return ( + void 0 !== t && e.activeTexture(e.TEXTURE0 + (0 | t)), + e.bindTexture(e.TEXTURE_2D, this.handle), + void 0 !== t + ? 0 | t + : e.getParameter(e.ACTIVE_TEXTURE) - e.TEXTURE0 + ); + }), + (d.dispose = function () { + this.gl.deleteTexture(this.handle); + }), + (d.generateMipmap = function () { + this.bind(), this.gl.generateMipmap(this.gl.TEXTURE_2D); + for ( + var t = Math.min(this._shape[0], this._shape[1]), e = 0; + t > 0; + ++e, t >>>= 1 + ) + this._mipLevels.indexOf(e) < 0 && this._mipLevels.push(e); + }), + (d.setPixels = function (t, e, r, o) { + var s = this.gl; + this.bind(), + Array.isArray(e) + ? ((o = r), (r = 0 | e[1]), (e = 0 | e[0])) + : ((e = e || 0), (r = r || 0)), + (o = o || 0); + var l = u(t) ? t : t.raw; + if (l) { + this._mipLevels.indexOf(o) < 0 + ? (s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + this.type, + l + ), + this._mipLevels.push(o)) + : s.texSubImage2D( + s.TEXTURE_2D, + o, + e, + r, + this.format, + this.type, + l + ); + } else { + if (!(t.shape && t.stride && t.data)) + throw new Error('gl-texture2d: Unsupported data type'); + if ( + t.shape.length < 2 || + e + t.shape[1] > this._shape[1] >>> o || + r + t.shape[0] > this._shape[0] >>> o || + e < 0 || + r < 0 + ) + throw new Error( + 'gl-texture2d: Texture dimensions are out of bounds' + ); + !(function (t, e, r, o, s, l, c, u) { + var h = u.dtype, + p = u.shape.slice(); + if (p.length < 2 || p.length > 3) + throw new Error( + 'gl-texture2d: Invalid ndarray, must be 2d or 3d' + ); + var d = 0, + m = 0, + v = g(p, u.stride.slice()); + 'float32' === h + ? (d = t.FLOAT) + : 'float64' === h + ? ((d = t.FLOAT), (v = !1), (h = 'float32')) + : 'uint8' === h + ? (d = t.UNSIGNED_BYTE) + : ((d = t.UNSIGNED_BYTE), (v = !1), (h = 'uint8')); + if (2 === p.length) + (m = t.LUMINANCE), + (p = [p[0], p[1], 1]), + (u = n( + u.data, + p, + [u.stride[0], u.stride[1], 1], + u.offset + )); + else { + if (3 !== p.length) + throw new Error( + 'gl-texture2d: Invalid shape for texture' + ); + if (1 === p[2]) m = t.ALPHA; + else if (2 === p[2]) m = t.LUMINANCE_ALPHA; + else if (3 === p[2]) m = t.RGB; + else { + if (4 !== p[2]) + throw new Error( + 'gl-texture2d: Invalid shape for pixel coords' + ); + m = t.RGBA; + } + p[2]; + } + (m !== t.LUMINANCE && m !== t.ALPHA) || + (s !== t.LUMINANCE && s !== t.ALPHA) || + (m = s); + if (m !== s) + throw new Error( + 'gl-texture2d: Incompatible texture format for setPixels' + ); + var y = u.size, + x = c.indexOf(o) < 0; + x && c.push(o); + if (d === l && v) + 0 === u.offset && u.data.length === y + ? x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + u.data + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + u.data + ) + : x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + u.data.subarray(u.offset, u.offset + y) + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + u.data.subarray(u.offset, u.offset + y) + ); + else { + var b; + b = l === t.FLOAT ? a.mallocFloat32(y) : a.mallocUint8(y); + var _ = n(b, p, [p[2], p[2] * p[0], 1]); + d === t.FLOAT && l === t.UNSIGNED_BYTE + ? f(_, u) + : i.assign(_, u), + x + ? t.texImage2D( + t.TEXTURE_2D, + o, + s, + p[0], + p[1], + 0, + s, + l, + b.subarray(0, y) + ) + : t.texSubImage2D( + t.TEXTURE_2D, + o, + e, + r, + p[0], + p[1], + s, + l, + b.subarray(0, y) + ), + l === t.FLOAT ? a.freeFloat32(b) : a.freeUint8(b); + } + })(s, e, r, o, this.format, this.type, this._mipLevels, t); + } + }); + }, + { ndarray: 495, 'ndarray-ops': 490, 'typedarray-pool': 595 }, + ], + 354: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('pick-by-alias'); + function i(t) { + if (t.container) + if (t.container == document.body) + document.body.style.width || + (t.canvas.width = t.width || t.pixelRatio * r.innerWidth), + document.body.style.height || + (t.canvas.height = + t.height || t.pixelRatio * r.innerHeight); + else { + var e = t.container.getBoundingClientRect(); + (t.canvas.width = t.width || e.right - e.left), + (t.canvas.height = t.height || e.bottom - e.top); + } + } + function a(t) { + return ( + 'function' == typeof t.getContext && + 'width' in t && + 'height' in t + ); + } + function o() { + var t = document.createElement('canvas'); + return ( + (t.style.position = 'absolute'), + (t.style.top = 0), + (t.style.left = 0), + t + ); + } + e.exports = function (t) { + var e; + if ( + (t + ? 'string' == typeof t && (t = { container: t }) + : (t = {}), + a(t) + ? (t = { container: t }) + : (t = + 'string' == typeof (e = t).nodeName && + 'function' == typeof e.appendChild && + 'function' == typeof e.getBoundingClientRect + ? { container: t } + : (function (t) { + return ( + 'function' == typeof t.drawArrays || + 'function' == typeof t.drawElements + ); + })(t) + ? { gl: t } + : n( + t, + { + container: + 'container target element el canvas holder parent parentNode wrapper use ref root node', + gl: 'gl context webgl glContext', + attrs: 'attributes attrs contextAttributes', + pixelRatio: + 'pixelRatio pxRatio px ratio pxratio pixelratio', + width: 'w width', + height: 'h height', + }, + !0 + )), + t.pixelRatio || (t.pixelRatio = r.pixelRatio || 1), + t.gl) + ) + return t.gl; + if ( + (t.canvas && (t.container = t.canvas.parentNode), t.container) + ) { + if ('string' == typeof t.container) { + var s = document.querySelector(t.container); + if (!s) + throw Error('Element ' + t.container + ' is not found'); + t.container = s; + } + a(t.container) + ? ((t.canvas = t.container), + (t.container = t.canvas.parentNode)) + : t.canvas || + ((t.canvas = o()), + t.container.appendChild(t.canvas), + i(t)); + } else if (!t.canvas) { + if ('undefined' == typeof document) + throw Error('Not DOM environment. Use headless-gl.'); + (t.container = document.body || document.documentElement), + (t.canvas = o()), + t.container.appendChild(t.canvas), + i(t); + } + if (!t.gl) + try { + t.gl = t.canvas.getContext('webgl', t.attrs); + } catch (e) { + try { + t.gl = t.canvas.getContext('experimental-webgl', t.attrs); + } catch (e) { + t.gl = t.canvas.getContext('webgl-experimental', t.attrs); + } + } + return t.gl; + }; + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'pick-by-alias': 511 }, + ], + 355: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + e ? e.bind() : t.bindBuffer(t.ELEMENT_ARRAY_BUFFER, null); + var n = 0 | t.getParameter(t.MAX_VERTEX_ATTRIBS); + if (r) { + if (r.length > n) + throw new Error('gl-vao: Too many vertex attributes'); + for (var i = 0; i < r.length; ++i) { + var a = r[i]; + if (a.buffer) { + var o = a.buffer, + s = a.size || 4, + l = a.type || t.FLOAT, + c = !!a.normalized, + u = a.stride || 0, + f = a.offset || 0; + o.bind(), + t.enableVertexAttribArray(i), + t.vertexAttribPointer(i, s, l, c, u, f); + } else { + if ('number' == typeof a) t.vertexAttrib1f(i, a); + else if (1 === a.length) t.vertexAttrib1f(i, a[0]); + else if (2 === a.length) t.vertexAttrib2f(i, a[0], a[1]); + else if (3 === a.length) + t.vertexAttrib3f(i, a[0], a[1], a[2]); + else { + if (4 !== a.length) + throw new Error('gl-vao: Invalid vertex attribute'); + t.vertexAttrib4f(i, a[0], a[1], a[2], a[3]); + } + t.disableVertexAttribArray(i); + } + } + for (; i < n; ++i) t.disableVertexAttribArray(i); + } else { + t.bindBuffer(t.ARRAY_BUFFER, null); + for (i = 0; i < n; ++i) t.disableVertexAttribArray(i); + } + }; + }, + {}, + ], + 356: [ + function (t, e, r) { + 'use strict'; + var n = t('./do-bind.js'); + function i(t) { + (this.gl = t), + (this._elements = null), + (this._attributes = null), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.prototype.bind = function () { + n(this.gl, this._elements, this._attributes); + }), + (i.prototype.update = function (t, e, r) { + (this._elements = e), + (this._attributes = t), + (this._elementsType = r || this.gl.UNSIGNED_SHORT); + }), + (i.prototype.dispose = function () {}), + (i.prototype.unbind = function () {}), + (i.prototype.draw = function (t, e, r) { + r = r || 0; + var n = this.gl; + this._elements + ? n.drawElements(t, e, this._elementsType, r) + : n.drawArrays(t, r, e); + }), + (e.exports = function (t) { + return new i(t); + }); + }, + { './do-bind.js': 355 }, + ], + 357: [ + function (t, e, r) { + 'use strict'; + var n = t('./do-bind.js'); + function i(t, e, r, n, i, a) { + (this.location = t), + (this.dimension = e), + (this.a = r), + (this.b = n), + (this.c = i), + (this.d = a); + } + function a(t, e, r) { + (this.gl = t), + (this._ext = e), + (this.handle = r), + (this._attribs = []), + (this._useElements = !1), + (this._elementsType = t.UNSIGNED_SHORT); + } + (i.prototype.bind = function (t) { + switch (this.dimension) { + case 1: + t.vertexAttrib1f(this.location, this.a); + break; + case 2: + t.vertexAttrib2f(this.location, this.a, this.b); + break; + case 3: + t.vertexAttrib3f(this.location, this.a, this.b, this.c); + break; + case 4: + t.vertexAttrib4f(this.location, this.a, this.b, this.c, this.d); + } + }), + (a.prototype.bind = function () { + this._ext.bindVertexArrayOES(this.handle); + for (var t = 0; t < this._attribs.length; ++t) + this._attribs[t].bind(this.gl); + }), + (a.prototype.unbind = function () { + this._ext.bindVertexArrayOES(null); + }), + (a.prototype.dispose = function () { + this._ext.deleteVertexArrayOES(this.handle); + }), + (a.prototype.update = function (t, e, r) { + if ( + (this.bind(), + n(this.gl, e, t), + this.unbind(), + (this._attribs.length = 0), + t) + ) + for (var a = 0; a < t.length; ++a) { + var o = t[a]; + 'number' == typeof o + ? this._attribs.push(new i(a, 1, o)) + : Array.isArray(o) && + this._attribs.push( + new i(a, o.length, o[0], o[1], o[2], o[3]) + ); + } + (this._useElements = !!e), + (this._elementsType = r || this.gl.UNSIGNED_SHORT); + }), + (a.prototype.draw = function (t, e, r) { + r = r || 0; + var n = this.gl; + this._useElements + ? n.drawElements(t, e, this._elementsType, r) + : n.drawArrays(t, r, e); + }), + (e.exports = function (t, e) { + return new a(t, e, e.createVertexArrayOES()); + }); + }, + { './do-bind.js': 355 }, + ], + 358: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/vao-native.js'), + i = t('./lib/vao-emulated.js'); + function a(t) { + (this.bindVertexArrayOES = t.bindVertexArray.bind(t)), + (this.createVertexArrayOES = t.createVertexArray.bind(t)), + (this.deleteVertexArrayOES = t.deleteVertexArray.bind(t)); + } + e.exports = function (t, e, r, o) { + var s, + l = t.createVertexArray + ? new a(t) + : t.getExtension('OES_vertex_array_object'); + return (s = l ? n(t, l) : i(t)).update(e, r, o), s; + }; + }, + { './lib/vao-emulated.js': 356, './lib/vao-native.js': 357 }, + ], + 359: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }; + }, + {}, + ], + 360: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = n(t[0], t[1], t[2]), + o = n(e[0], e[1], e[2]); + i(r, r), i(o, o); + var s = a(r, o); + return s > 1 ? 0 : Math.acos(s); + }; + var n = t('./fromValues'), + i = t('./normalize'), + a = t('./dot'); + }, + { './dot': 370, './fromValues': 376, './normalize': 387 }, + ], + 361: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = Math.ceil(e[0])), + (t[1] = Math.ceil(e[1])), + (t[2] = Math.ceil(e[2])), + t + ); + }; + }, + {}, + ], + 362: [ + function (t, e, r) { + e.exports = function (t) { + var e = new Float32Array(3); + return (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e; + }; + }, + {}, + ], + 363: [ + function (t, e, r) { + e.exports = function (t, e) { + return (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), t; + }; + }, + {}, + ], + 364: [ + function (t, e, r) { + e.exports = function () { + var t = new Float32Array(3); + return (t[0] = 0), (t[1] = 0), (t[2] = 0), t; + }; + }, + {}, + ], + 365: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2]; + return ( + (t[0] = i * l - a * s), + (t[1] = a * o - n * l), + (t[2] = n * s - i * o), + t + ); + }; + }, + {}, + ], + 366: [ + function (t, e, r) { + e.exports = t('./distance'); + }, + { './distance': 367 }, + ], + 367: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return Math.sqrt(r * r + n * n + i * i); + }; + }, + {}, + ], + 368: [ + function (t, e, r) { + e.exports = t('./divide'); + }, + { './divide': 369 }, + ], + 369: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + t + ); + }; + }, + {}, + ], + 370: [ + function (t, e, r) { + e.exports = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }; + }, + {}, + ], + 371: [ + function (t, e, r) { + e.exports = 1e-6; + }, + {}, + ], + 372: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = t[0], + i = t[1], + a = t[2], + o = e[0], + s = e[1], + l = e[2]; + return ( + Math.abs(r - o) <= n * Math.max(1, Math.abs(r), Math.abs(o)) && + Math.abs(i - s) <= n * Math.max(1, Math.abs(i), Math.abs(s)) && + Math.abs(a - l) <= n * Math.max(1, Math.abs(a), Math.abs(l)) + ); + }; + var n = t('./epsilon'); + }, + { './epsilon': 371 }, + ], + 373: [ + function (t, e, r) { + e.exports = function (t, e) { + return t[0] === e[0] && t[1] === e[1] && t[2] === e[2]; + }; + }, + {}, + ], + 374: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = Math.floor(e[0])), + (t[1] = Math.floor(e[1])), + (t[2] = Math.floor(e[2])), + t + ); + }; + }, + {}, + ], + 375: [ + function (t, e, r) { + e.exports = function (t, e, r, i, a, o) { + var s, l; + e || (e = 3); + r || (r = 0); + l = i ? Math.min(i * e + r, t.length) : t.length; + for (s = r; s < l; s += e) + (n[0] = t[s]), + (n[1] = t[s + 1]), + (n[2] = t[s + 2]), + a(n, n, o), + (t[s] = n[0]), + (t[s + 1] = n[1]), + (t[s + 2] = n[2]); + return t; + }; + var n = t('./create')(); + }, + { './create': 364 }, + ], + 376: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = new Float32Array(3); + return (n[0] = t), (n[1] = e), (n[2] = r), n; + }; + }, + {}, + ], + 377: [ + function (t, e, r) { + e.exports = { + EPSILON: t('./epsilon'), + create: t('./create'), + clone: t('./clone'), + angle: t('./angle'), + fromValues: t('./fromValues'), + copy: t('./copy'), + set: t('./set'), + equals: t('./equals'), + exactEquals: t('./exactEquals'), + add: t('./add'), + subtract: t('./subtract'), + sub: t('./sub'), + multiply: t('./multiply'), + mul: t('./mul'), + divide: t('./divide'), + div: t('./div'), + min: t('./min'), + max: t('./max'), + floor: t('./floor'), + ceil: t('./ceil'), + round: t('./round'), + scale: t('./scale'), + scaleAndAdd: t('./scaleAndAdd'), + distance: t('./distance'), + dist: t('./dist'), + squaredDistance: t('./squaredDistance'), + sqrDist: t('./sqrDist'), + length: t('./length'), + len: t('./len'), + squaredLength: t('./squaredLength'), + sqrLen: t('./sqrLen'), + negate: t('./negate'), + inverse: t('./inverse'), + normalize: t('./normalize'), + dot: t('./dot'), + cross: t('./cross'), + lerp: t('./lerp'), + random: t('./random'), + transformMat4: t('./transformMat4'), + transformMat3: t('./transformMat3'), + transformQuat: t('./transformQuat'), + rotateX: t('./rotateX'), + rotateY: t('./rotateY'), + rotateZ: t('./rotateZ'), + forEach: t('./forEach'), + }; + }, + { + './add': 359, + './angle': 360, + './ceil': 361, + './clone': 362, + './copy': 363, + './create': 364, + './cross': 365, + './dist': 366, + './distance': 367, + './div': 368, + './divide': 369, + './dot': 370, + './epsilon': 371, + './equals': 372, + './exactEquals': 373, + './floor': 374, + './forEach': 375, + './fromValues': 376, + './inverse': 378, + './len': 379, + './length': 380, + './lerp': 381, + './max': 382, + './min': 383, + './mul': 384, + './multiply': 385, + './negate': 386, + './normalize': 387, + './random': 388, + './rotateX': 389, + './rotateY': 390, + './rotateZ': 391, + './round': 392, + './scale': 393, + './scaleAndAdd': 394, + './set': 395, + './sqrDist': 396, + './sqrLen': 397, + './squaredDistance': 398, + './squaredLength': 399, + './sub': 400, + './subtract': 401, + './transformMat3': 402, + './transformMat4': 403, + './transformQuat': 404, + }, + ], + 378: [ + function (t, e, r) { + e.exports = function (t, e) { + return (t[0] = 1 / e[0]), (t[1] = 1 / e[1]), (t[2] = 1 / e[2]), t; + }; + }, + {}, + ], + 379: [ + function (t, e, r) { + e.exports = t('./length'); + }, + { './length': 380 }, + ], + 380: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return Math.sqrt(e * e + r * r + n * n); + }; + }, + {}, + ], + 381: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = e[0], + a = e[1], + o = e[2]; + return ( + (t[0] = i + n * (r[0] - i)), + (t[1] = a + n * (r[1] - a)), + (t[2] = o + n * (r[2] - o)), + t + ); + }; + }, + {}, + ], + 382: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + t + ); + }; + }, + {}, + ], + 383: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + t + ); + }; + }, + {}, + ], + 384: [ + function (t, e, r) { + e.exports = t('./multiply'); + }, + { './multiply': 385 }, + ], + 385: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + t + ); + }; + }, + {}, + ], + 386: [ + function (t, e, r) { + e.exports = function (t, e) { + return (t[0] = -e[0]), (t[1] = -e[1]), (t[2] = -e[2]), t; + }; + }, + {}, + ], + 387: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + a > 0 && + ((a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a)); + return t; + }; + }, + {}, + ], + 388: [ + function (t, e, r) { + e.exports = function (t, e) { + e = e || 1; + var r = 2 * Math.random() * Math.PI, + n = 2 * Math.random() - 1, + i = Math.sqrt(1 - n * n) * e; + return ( + (t[0] = Math.cos(r) * i), + (t[1] = Math.sin(r) * i), + (t[2] = n * e), + t + ); + }; + }, + {}, + ], + 389: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = r[1], + a = r[2], + o = e[1] - i, + s = e[2] - a, + l = Math.sin(n), + c = Math.cos(n); + return ( + (t[0] = e[0]), + (t[1] = i + o * c - s * l), + (t[2] = a + o * l + s * c), + t + ); + }; + }, + {}, + ], + 390: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = r[0], + a = r[2], + o = e[0] - i, + s = e[2] - a, + l = Math.sin(n), + c = Math.cos(n); + return ( + (t[0] = i + s * l + o * c), + (t[1] = e[1]), + (t[2] = a + s * c - o * l), + t + ); + }; + }, + {}, + ], + 391: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = r[0], + a = r[1], + o = e[0] - i, + s = e[1] - a, + l = Math.sin(n), + c = Math.cos(n); + return ( + (t[0] = i + o * c - s * l), + (t[1] = a + o * l + s * c), + (t[2] = e[2]), + t + ); + }; + }, + {}, + ], + 392: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = Math.round(e[0])), + (t[1] = Math.round(e[1])), + (t[2] = Math.round(e[2])), + t + ); + }; + }, + {}, + ], + 393: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return (t[0] = e[0] * r), (t[1] = e[1] * r), (t[2] = e[2] * r), t; + }; + }, + {}, + ], + 394: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + t + ); + }; + }, + {}, + ], + 395: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + return (t[0] = e), (t[1] = r), (t[2] = n), t; + }; + }, + {}, + ], + 396: [ + function (t, e, r) { + e.exports = t('./squaredDistance'); + }, + { './squaredDistance': 398 }, + ], + 397: [ + function (t, e, r) { + e.exports = t('./squaredLength'); + }, + { './squaredLength': 399 }, + ], + 398: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2]; + return r * r + n * n + i * i; + }; + }, + {}, + ], + 399: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return e * e + r * r + n * n; + }; + }, + {}, + ], + 400: [ + function (t, e, r) { + e.exports = t('./subtract'); + }, + { './subtract': 401 }, + ], + 401: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }; + }, + {}, + ], + 402: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2]; + return ( + (t[0] = n * r[0] + i * r[3] + a * r[6]), + (t[1] = n * r[1] + i * r[4] + a * r[7]), + (t[2] = n * r[2] + i * r[5] + a * r[8]), + t + ); + }; + }, + {}, + ], + 403: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[3] * n + r[7] * i + r[11] * a + r[15]; + return ( + (o = o || 1), + (t[0] = (r[0] * n + r[4] * i + r[8] * a + r[12]) / o), + (t[1] = (r[1] * n + r[5] * i + r[9] * a + r[13]) / o), + (t[2] = (r[2] * n + r[6] * i + r[10] * a + r[14]) / o), + t + ); + }; + }, + {}, + ], + 404: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + c = r[3], + u = c * n + s * a - l * i, + f = c * i + l * n - o * a, + h = c * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = u * c + p * -o + f * -l - h * -s), + (t[1] = f * c + p * -s + h * -o - u * -l), + (t[2] = h * c + p * -l + u * -s - f * -o), + t + ); + }; + }, + {}, + ], + 405: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + (t[3] = e[3] + r[3]), + t + ); + }; + }, + {}, + ], + 406: [ + function (t, e, r) { + e.exports = function (t) { + var e = new Float32Array(4); + return ( + (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), (e[3] = t[3]), e + ); + }; + }, + {}, + ], + 407: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = e[0]), (t[1] = e[1]), (t[2] = e[2]), (t[3] = e[3]), t + ); + }; + }, + {}, + ], + 408: [ + function (t, e, r) { + e.exports = function () { + var t = new Float32Array(4); + return (t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0), t; + }; + }, + {}, + ], + 409: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return Math.sqrt(r * r + n * n + i * i + a * a); + }; + }, + {}, + ], + 410: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] / r[0]), + (t[1] = e[1] / r[1]), + (t[2] = e[2] / r[2]), + (t[3] = e[3] / r[3]), + t + ); + }; + }, + {}, + ], + 411: [ + function (t, e, r) { + e.exports = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3]; + }; + }, + {}, + ], + 412: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = new Float32Array(4); + return (i[0] = t), (i[1] = e), (i[2] = r), (i[3] = n), i; + }; + }, + {}, + ], + 413: [ + function (t, e, r) { + e.exports = { + create: t('./create'), + clone: t('./clone'), + fromValues: t('./fromValues'), + copy: t('./copy'), + set: t('./set'), + add: t('./add'), + subtract: t('./subtract'), + multiply: t('./multiply'), + divide: t('./divide'), + min: t('./min'), + max: t('./max'), + scale: t('./scale'), + scaleAndAdd: t('./scaleAndAdd'), + distance: t('./distance'), + squaredDistance: t('./squaredDistance'), + length: t('./length'), + squaredLength: t('./squaredLength'), + negate: t('./negate'), + inverse: t('./inverse'), + normalize: t('./normalize'), + dot: t('./dot'), + lerp: t('./lerp'), + random: t('./random'), + transformMat4: t('./transformMat4'), + transformQuat: t('./transformQuat'), + }; + }, + { + './add': 405, + './clone': 406, + './copy': 407, + './create': 408, + './distance': 409, + './divide': 410, + './dot': 411, + './fromValues': 412, + './inverse': 414, + './length': 415, + './lerp': 416, + './max': 417, + './min': 418, + './multiply': 419, + './negate': 420, + './normalize': 421, + './random': 422, + './scale': 423, + './scaleAndAdd': 424, + './set': 425, + './squaredDistance': 426, + './squaredLength': 427, + './subtract': 428, + './transformMat4': 429, + './transformQuat': 430, + }, + ], + 414: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = 1 / e[0]), + (t[1] = 1 / e[1]), + (t[2] = 1 / e[2]), + (t[3] = 1 / e[3]), + t + ); + }; + }, + {}, + ], + 415: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return Math.sqrt(e * e + r * r + n * n + i * i); + }; + }, + {}, + ], + 416: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + var i = e[0], + a = e[1], + o = e[2], + s = e[3]; + return ( + (t[0] = i + n * (r[0] - i)), + (t[1] = a + n * (r[1] - a)), + (t[2] = o + n * (r[2] - o)), + (t[3] = s + n * (r[3] - s)), + t + ); + }; + }, + {}, + ], + 417: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = Math.max(e[0], r[0])), + (t[1] = Math.max(e[1], r[1])), + (t[2] = Math.max(e[2], r[2])), + (t[3] = Math.max(e[3], r[3])), + t + ); + }; + }, + {}, + ], + 418: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = Math.min(e[0], r[0])), + (t[1] = Math.min(e[1], r[1])), + (t[2] = Math.min(e[2], r[2])), + (t[3] = Math.min(e[3], r[3])), + t + ); + }; + }, + {}, + ], + 419: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r[0]), + (t[1] = e[1] * r[1]), + (t[2] = e[2] * r[2]), + (t[3] = e[3] * r[3]), + t + ); + }; + }, + {}, + ], + 420: [ + function (t, e, r) { + e.exports = function (t, e) { + return ( + (t[0] = -e[0]), (t[1] = -e[1]), (t[2] = -e[2]), (t[3] = -e[3]), t + ); + }; + }, + {}, + ], + 421: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = r * r + n * n + i * i + a * a; + o > 0 && + ((o = 1 / Math.sqrt(o)), + (t[0] = r * o), + (t[1] = n * o), + (t[2] = i * o), + (t[3] = a * o)); + return t; + }; + }, + {}, + ], + 422: [ + function (t, e, r) { + var n = t('./normalize'), + i = t('./scale'); + e.exports = function (t, e) { + return ( + (e = e || 1), + (t[0] = Math.random()), + (t[1] = Math.random()), + (t[2] = Math.random()), + (t[3] = Math.random()), + n(t, t), + i(t, t, e), + t + ); + }; + }, + { './normalize': 421, './scale': 423 }, + ], + 423: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }; + }, + {}, + ], + 424: [ + function (t, e, r) { + e.exports = function (t, e, r, n) { + return ( + (t[0] = e[0] + r[0] * n), + (t[1] = e[1] + r[1] * n), + (t[2] = e[2] + r[2] * n), + (t[3] = e[3] + r[3] * n), + t + ); + }; + }, + {}, + ], + 425: [ + function (t, e, r) { + e.exports = function (t, e, r, n, i) { + return (t[0] = e), (t[1] = r), (t[2] = n), (t[3] = i), t; + }; + }, + {}, + ], + 426: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[0] - t[0], + n = e[1] - t[1], + i = e[2] - t[2], + a = e[3] - t[3]; + return r * r + n * n + i * i + a * a; + }; + }, + {}, + ], + 427: [ + function (t, e, r) { + e.exports = function (t) { + var e = t[0], + r = t[1], + n = t[2], + i = t[3]; + return e * e + r * r + n * n + i * i; + }; + }, + {}, + ], + 428: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + (t[3] = e[3] - r[3]), + t + ); + }; + }, + {}, + ], + 429: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3]; + return ( + (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), + (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), + (t[2] = r[2] * n + r[6] * i + r[10] * a + r[14] * o), + (t[3] = r[3] * n + r[7] * i + r[11] * a + r[15] * o), + t + ); + }; + }, + {}, + ], + 430: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2], + c = r[3], + u = c * n + s * a - l * i, + f = c * i + l * n - o * a, + h = c * a + o * i - s * n, + p = -o * n - s * i - l * a; + return ( + (t[0] = u * c + p * -o + f * -l - h * -s), + (t[1] = f * c + p * -s + h * -o - u * -l), + (t[2] = h * c + p * -l + u * -s - f * -o), + (t[3] = e[3]), + t + ); + }; + }, + {}, + ], + 431: [ + function (t, e, r) { + var n = t('glsl-tokenizer'), + i = t('atob-lite'); + e.exports = function (t) { + for ( + var e = Array.isArray(t) ? t : n(t), r = 0; + r < e.length; + r++ + ) { + var a = e[r]; + if ('preprocessor' === a.type) { + var o = a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/); + if (o && o[2]) { + var s = o[1], + l = o[2]; + return (s ? i(l) : l).trim(); + } + } + } + }; + }, + { 'atob-lite': 77, 'glsl-tokenizer': 438 }, + ], + 432: [ + function (t, e, r) { + e.exports = function (t) { + var e, + r, + c, + u = 0, + f = 0, + h = 999, + p = [], + d = [], + g = 1, + m = 0, + v = 0, + y = !1, + x = !1, + b = '', + _ = a, + w = n; + '300 es' === (t = t || {}).version && ((_ = s), (w = o)); + var T = {}, + k = {}; + for (u = 0; u < _.length; u++) T[_[u]] = !0; + for (u = 0; u < w.length; u++) k[w[u]] = !0; + return function (t) { + return ( + (d = []), + null !== t + ? (function (t) { + (u = 0), t.toString && (t = t.toString()); + var r; + (b += t.replace(/\r\n/g, '\n')), (c = b.length); + for (; (e = b[u]), u < c; ) { + switch (((r = u), h)) { + case 0: + u = C(); + break; + case 1: + case 2: + u = E(); + break; + case 3: + u = L(); + break; + case 4: + u = z(); + break; + case 11: + u = P(); + break; + case 5: + u = O(); + break; + case 9999: + u = D(); + break; + case 9: + u = S(); + break; + case 999: + u = A(); + } + if (r !== u) + switch (b[r]) { + case '\n': + (m = 0), ++g; + break; + default: + ++m; + } + } + return (f += u), (b = b.slice(u)), d; + })(t) + : (function (t) { + p.length && M(p.join('')); + return (h = 10), M('(eof)'), d; + })() + ); + }; + function M(t) { + t.length && + d.push({ + type: l[h], + data: t, + position: v, + line: g, + column: m, + }); + } + function A() { + return ( + (p = p.length ? [] : p), + '/' === r && '*' === e + ? ((v = f + u - 1), (h = 0), (r = e), u + 1) + : '/' === r && '/' === e + ? ((v = f + u - 1), (h = 1), (r = e), u + 1) + : '#' === e + ? ((h = 2), (v = f + u), u) + : /\s/.test(e) + ? ((h = 9), (v = f + u), u) + : ((y = /\d/.test(e)), + (x = /[^\w_]/.test(e)), + (v = f + u), + (h = y ? 4 : x ? 3 : 9999), + u) + ); + } + function S() { + return /[^\s]/g.test(e) + ? (M(p.join('')), (h = 999), u) + : (p.push(e), (r = e), u + 1); + } + function E() { + return ('\r' !== e && '\n' !== e) || '\\' === r + ? (p.push(e), (r = e), u + 1) + : (M(p.join('')), (h = 999), u); + } + function C() { + return '/' === e && '*' === r + ? (p.push(e), M(p.join('')), (h = 999), u + 1) + : (p.push(e), (r = e), u + 1); + } + function L() { + if ('.' === r && /\d/.test(e)) return (h = 5), u; + if ('/' === r && '*' === e) return (h = 0), u; + if ('/' === r && '/' === e) return (h = 1), u; + if ('.' === e && p.length) { + for (; I(p); ); + return (h = 5), u; + } + if (';' === e || ')' === e || '(' === e) { + if (p.length) for (; I(p); ); + return M(e), (h = 999), u + 1; + } + var t = 2 === p.length && '=' !== e; + if (/[\w_\d\s]/.test(e) || t) { + for (; I(p); ); + return (h = 999), u; + } + return p.push(e), (r = e), u + 1; + } + function I(t) { + for (var e, r, n = 0; ; ) { + if ( + ((e = i.indexOf(t.slice(0, t.length + n).join(''))), + (r = i[e]), + -1 === e) + ) { + if (n-- + t.length > 0) continue; + r = t.slice(0, 1).join(''); + } + return M(r), (v += r.length), (p = p.slice(r.length)).length; + } + } + function P() { + return /[^a-fA-F0-9]/.test(e) + ? (M(p.join('')), (h = 999), u) + : (p.push(e), (r = e), u + 1); + } + function z() { + return '.' === e || /[eE]/.test(e) + ? (p.push(e), (h = 5), (r = e), u + 1) + : 'x' === e && 1 === p.length && '0' === p[0] + ? ((h = 11), p.push(e), (r = e), u + 1) + : /[^\d]/.test(e) + ? (M(p.join('')), (h = 999), u) + : (p.push(e), (r = e), u + 1); + } + function O() { + return ( + 'f' === e && (p.push(e), (r = e), (u += 1)), + /[eE]/.test(e) + ? (p.push(e), (r = e), u + 1) + : (('-' !== e && '+' !== e) || !/[eE]/.test(r)) && + /[^\d]/.test(e) + ? (M(p.join('')), (h = 999), u) + : (p.push(e), (r = e), u + 1) + ); + } + function D() { + if (/[^\d\w_]/.test(e)) { + var t = p.join(''); + return ( + (h = k[t] ? 8 : T[t] ? 7 : 6), M(p.join('')), (h = 999), u + ); + } + return p.push(e), (r = e), u + 1; + } + }; + var n = t('./lib/literals'), + i = t('./lib/operators'), + a = t('./lib/builtins'), + o = t('./lib/literals-300es'), + s = t('./lib/builtins-300es'), + l = [ + 'block-comment', + 'line-comment', + 'preprocessor', + 'operator', + 'integer', + 'float', + 'ident', + 'builtin', + 'keyword', + 'whitespace', + 'eof', + 'integer', + ]; + }, + { + './lib/builtins': 434, + './lib/builtins-300es': 433, + './lib/literals': 436, + './lib/literals-300es': 435, + './lib/operators': 437, + }, + ], + 433: [ + function (t, e, r) { + var n = t('./builtins'); + (n = n.slice().filter(function (t) { + return !/^(gl\_|texture)/.test(t); + })), + (e.exports = n.concat([ + 'gl_VertexID', + 'gl_InstanceID', + 'gl_Position', + 'gl_PointSize', + 'gl_FragCoord', + 'gl_FrontFacing', + 'gl_FragDepth', + 'gl_PointCoord', + 'gl_MaxVertexAttribs', + 'gl_MaxVertexUniformVectors', + 'gl_MaxVertexOutputVectors', + 'gl_MaxFragmentInputVectors', + 'gl_MaxVertexTextureImageUnits', + 'gl_MaxCombinedTextureImageUnits', + 'gl_MaxTextureImageUnits', + 'gl_MaxFragmentUniformVectors', + 'gl_MaxDrawBuffers', + 'gl_MinProgramTexelOffset', + 'gl_MaxProgramTexelOffset', + 'gl_DepthRangeParameters', + 'gl_DepthRange', + 'trunc', + 'round', + 'roundEven', + 'isnan', + 'isinf', + 'floatBitsToInt', + 'floatBitsToUint', + 'intBitsToFloat', + 'uintBitsToFloat', + 'packSnorm2x16', + 'unpackSnorm2x16', + 'packUnorm2x16', + 'unpackUnorm2x16', + 'packHalf2x16', + 'unpackHalf2x16', + 'outerProduct', + 'transpose', + 'determinant', + 'inverse', + 'texture', + 'textureSize', + 'textureProj', + 'textureLod', + 'textureOffset', + 'texelFetch', + 'texelFetchOffset', + 'textureProjOffset', + 'textureLodOffset', + 'textureProjLod', + 'textureProjLodOffset', + 'textureGrad', + 'textureGradOffset', + 'textureProjGrad', + 'textureProjGradOffset', + ])); + }, + { './builtins': 434 }, + ], + 434: [ + function (t, e, r) { + e.exports = [ + 'abs', + 'acos', + 'all', + 'any', + 'asin', + 'atan', + 'ceil', + 'clamp', + 'cos', + 'cross', + 'dFdx', + 'dFdy', + 'degrees', + 'distance', + 'dot', + 'equal', + 'exp', + 'exp2', + 'faceforward', + 'floor', + 'fract', + 'gl_BackColor', + 'gl_BackLightModelProduct', + 'gl_BackLightProduct', + 'gl_BackMaterial', + 'gl_BackSecondaryColor', + 'gl_ClipPlane', + 'gl_ClipVertex', + 'gl_Color', + 'gl_DepthRange', + 'gl_DepthRangeParameters', + 'gl_EyePlaneQ', + 'gl_EyePlaneR', + 'gl_EyePlaneS', + 'gl_EyePlaneT', + 'gl_Fog', + 'gl_FogCoord', + 'gl_FogFragCoord', + 'gl_FogParameters', + 'gl_FragColor', + 'gl_FragCoord', + 'gl_FragData', + 'gl_FragDepth', + 'gl_FragDepthEXT', + 'gl_FrontColor', + 'gl_FrontFacing', + 'gl_FrontLightModelProduct', + 'gl_FrontLightProduct', + 'gl_FrontMaterial', + 'gl_FrontSecondaryColor', + 'gl_LightModel', + 'gl_LightModelParameters', + 'gl_LightModelProducts', + 'gl_LightProducts', + 'gl_LightSource', + 'gl_LightSourceParameters', + 'gl_MaterialParameters', + 'gl_MaxClipPlanes', + 'gl_MaxCombinedTextureImageUnits', + 'gl_MaxDrawBuffers', + 'gl_MaxFragmentUniformComponents', + 'gl_MaxLights', + 'gl_MaxTextureCoords', + 'gl_MaxTextureImageUnits', + 'gl_MaxTextureUnits', + 'gl_MaxVaryingFloats', + 'gl_MaxVertexAttribs', + 'gl_MaxVertexTextureImageUnits', + 'gl_MaxVertexUniformComponents', + 'gl_ModelViewMatrix', + 'gl_ModelViewMatrixInverse', + 'gl_ModelViewMatrixInverseTranspose', + 'gl_ModelViewMatrixTranspose', + 'gl_ModelViewProjectionMatrix', + 'gl_ModelViewProjectionMatrixInverse', + 'gl_ModelViewProjectionMatrixInverseTranspose', + 'gl_ModelViewProjectionMatrixTranspose', + 'gl_MultiTexCoord0', + 'gl_MultiTexCoord1', + 'gl_MultiTexCoord2', + 'gl_MultiTexCoord3', + 'gl_MultiTexCoord4', + 'gl_MultiTexCoord5', + 'gl_MultiTexCoord6', + 'gl_MultiTexCoord7', + 'gl_Normal', + 'gl_NormalMatrix', + 'gl_NormalScale', + 'gl_ObjectPlaneQ', + 'gl_ObjectPlaneR', + 'gl_ObjectPlaneS', + 'gl_ObjectPlaneT', + 'gl_Point', + 'gl_PointCoord', + 'gl_PointParameters', + 'gl_PointSize', + 'gl_Position', + 'gl_ProjectionMatrix', + 'gl_ProjectionMatrixInverse', + 'gl_ProjectionMatrixInverseTranspose', + 'gl_ProjectionMatrixTranspose', + 'gl_SecondaryColor', + 'gl_TexCoord', + 'gl_TextureEnvColor', + 'gl_TextureMatrix', + 'gl_TextureMatrixInverse', + 'gl_TextureMatrixInverseTranspose', + 'gl_TextureMatrixTranspose', + 'gl_Vertex', + 'greaterThan', + 'greaterThanEqual', + 'inversesqrt', + 'length', + 'lessThan', + 'lessThanEqual', + 'log', + 'log2', + 'matrixCompMult', + 'max', + 'min', + 'mix', + 'mod', + 'normalize', + 'not', + 'notEqual', + 'pow', + 'radians', + 'reflect', + 'refract', + 'sign', + 'sin', + 'smoothstep', + 'sqrt', + 'step', + 'tan', + 'texture2D', + 'texture2DLod', + 'texture2DProj', + 'texture2DProjLod', + 'textureCube', + 'textureCubeLod', + 'texture2DLodEXT', + 'texture2DProjLodEXT', + 'textureCubeLodEXT', + 'texture2DGradEXT', + 'texture2DProjGradEXT', + 'textureCubeGradEXT', + ]; + }, + {}, + ], + 435: [ + function (t, e, r) { + var n = t('./literals'); + e.exports = n + .slice() + .concat([ + 'layout', + 'centroid', + 'smooth', + 'case', + 'mat2x2', + 'mat2x3', + 'mat2x4', + 'mat3x2', + 'mat3x3', + 'mat3x4', + 'mat4x2', + 'mat4x3', + 'mat4x4', + 'uvec2', + 'uvec3', + 'uvec4', + 'samplerCubeShadow', + 'sampler2DArray', + 'sampler2DArrayShadow', + 'isampler2D', + 'isampler3D', + 'isamplerCube', + 'isampler2DArray', + 'usampler2D', + 'usampler3D', + 'usamplerCube', + 'usampler2DArray', + 'coherent', + 'restrict', + 'readonly', + 'writeonly', + 'resource', + 'atomic_uint', + 'noperspective', + 'patch', + 'sample', + 'subroutine', + 'common', + 'partition', + 'active', + 'filter', + 'image1D', + 'image2D', + 'image3D', + 'imageCube', + 'iimage1D', + 'iimage2D', + 'iimage3D', + 'iimageCube', + 'uimage1D', + 'uimage2D', + 'uimage3D', + 'uimageCube', + 'image1DArray', + 'image2DArray', + 'iimage1DArray', + 'iimage2DArray', + 'uimage1DArray', + 'uimage2DArray', + 'image1DShadow', + 'image2DShadow', + 'image1DArrayShadow', + 'image2DArrayShadow', + 'imageBuffer', + 'iimageBuffer', + 'uimageBuffer', + 'sampler1DArray', + 'sampler1DArrayShadow', + 'isampler1D', + 'isampler1DArray', + 'usampler1D', + 'usampler1DArray', + 'isampler2DRect', + 'usampler2DRect', + 'samplerBuffer', + 'isamplerBuffer', + 'usamplerBuffer', + 'sampler2DMS', + 'isampler2DMS', + 'usampler2DMS', + 'sampler2DMSArray', + 'isampler2DMSArray', + 'usampler2DMSArray', + ]); + }, + { './literals': 436 }, + ], + 436: [ + function (t, e, r) { + e.exports = [ + 'precision', + 'highp', + 'mediump', + 'lowp', + 'attribute', + 'const', + 'uniform', + 'varying', + 'break', + 'continue', + 'do', + 'for', + 'while', + 'if', + 'else', + 'in', + 'out', + 'inout', + 'float', + 'int', + 'uint', + 'void', + 'bool', + 'true', + 'false', + 'discard', + 'return', + 'mat2', + 'mat3', + 'mat4', + 'vec2', + 'vec3', + 'vec4', + 'ivec2', + 'ivec3', + 'ivec4', + 'bvec2', + 'bvec3', + 'bvec4', + 'sampler1D', + 'sampler2D', + 'sampler3D', + 'samplerCube', + 'sampler1DShadow', + 'sampler2DShadow', + 'struct', + 'asm', + 'class', + 'union', + 'enum', + 'typedef', + 'template', + 'this', + 'packed', + 'goto', + 'switch', + 'default', + 'inline', + 'noinline', + 'volatile', + 'public', + 'static', + 'extern', + 'external', + 'interface', + 'long', + 'short', + 'double', + 'half', + 'fixed', + 'unsigned', + 'input', + 'output', + 'hvec2', + 'hvec3', + 'hvec4', + 'dvec2', + 'dvec3', + 'dvec4', + 'fvec2', + 'fvec3', + 'fvec4', + 'sampler2DRect', + 'sampler3DRect', + 'sampler2DRectShadow', + 'sizeof', + 'cast', + 'namespace', + 'using', + ]; + }, + {}, + ], + 437: [ + function (t, e, r) { + e.exports = [ + '<<=', + '>>=', + '++', + '--', + '<<', + '>>', + '<=', + '>=', + '==', + '!=', + '&&', + '||', + '+=', + '-=', + '*=', + '/=', + '%=', + '&=', + '^^', + '^=', + '|=', + '(', + ')', + '[', + ']', + '.', + '!', + '~', + '*', + '/', + '%', + '+', + '-', + '<', + '>', + '&', + '^', + '|', + '?', + ':', + '=', + ',', + ';', + '{', + '}', + ]; + }, + {}, + ], + 438: [ + function (t, e, r) { + var n = t('./index'); + e.exports = function (t, e) { + var r = n(e), + i = []; + return (i = (i = i.concat(r(t))).concat(r(null))); + }; + }, + { './index': 432 }, + ], + 439: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 440: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n, + i = t('is-browser'); + (n = + 'function' == typeof r.matchMedia + ? !r.matchMedia('(hover: none)').matches + : i), + (e.exports = n); + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'is-browser': 464 }, + ], + 441: [ + function (t, e, r) { + 'use strict'; + var n = t('is-browser'); + e.exports = + n && + (function () { + var t = !1; + try { + var e = Object.defineProperty({}, 'passive', { + get: function () { + t = !0; + }, + }); + window.addEventListener('test', null, e), + window.removeEventListener('test', null, e); + } catch (e) { + t = !1; + } + return t; + })(); + }, + { 'is-browser': 464 }, + ], + 442: [ + function (t, e, r) { + (r.read = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + c = l >> 1, + u = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; + u > 0; + a = 256 * a + t[e + f], f += h, u -= 8 + ); + for ( + o = a & ((1 << -u) - 1), a >>= -u, u += n; + u > 0; + o = 256 * o + t[e + f], f += h, u -= 8 + ); + if (0 === a) a = 1 - c; + else { + if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); + (o += Math.pow(2, n)), (a -= c); + } + return (p ? -1 : 1) * o * Math.pow(2, a - n); + }), + (r.write = function (t, e, r, n, i, a) { + var o, + s, + l, + c = 8 * a - i - 1, + u = (1 << c) - 1, + f = u >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; + for ( + e = Math.abs(e), + isNaN(e) || e === 1 / 0 + ? ((s = isNaN(e) ? 1 : 0), (o = u)) + : ((o = Math.floor(Math.log(e) / Math.LN2)), + e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), + (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * l >= + 2 && (o++, (l /= 2)), + o + f >= u + ? ((s = 0), (o = u)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) + : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), + (o = 0))); + i >= 8; + t[r + p] = 255 & s, p += d, s /= 256, i -= 8 + ); + for ( + o = (o << i) | s, c += i; + c > 0; + t[r + p] = 255 & o, p += d, o /= 256, c -= 8 + ); + t[r + p - d] |= 128 * g; + }); + }, + {}, + ], + 443: [ + function (t, e, r) { + 'use strict'; + var n = t('./types'); + e.exports = function (t, e) { + var r; + for (r in n) if (n[r].detect(t, e)) return r; + }; + }, + { './types': 446 }, + ], + 444: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('fs'), + i = t('path'), + a = t('./types'), + o = t('./detector'); + function s(t, e) { + var r = o(t, e); + if (r in a) { + var n = a[r].calculate(t, e); + if (!1 !== n) return (n.type = r), n; + } + throw new TypeError( + 'unsupported file type: ' + r + ' (file: ' + e + ')' + ); + } + (e.exports = function (t, e) { + if (r.isBuffer(t)) return s(t); + if ('string' != typeof t) + throw new TypeError('invalid invocation'); + var a = i.resolve(t); + if ('function' != typeof e) + return s( + (function (t) { + var e = n.openSync(t, 'r'), + i = n.fstatSync(e).size, + a = Math.min(i, 524288), + o = r.alloc(a); + return n.readSync(e, o, 0, a, 0), n.closeSync(e), o; + })(a), + a + ); + !(function (t, e) { + n.open(t, 'r', function (i, a) { + if (i) return e(i); + n.fstat(a, function (i, o) { + if (i) return e(i); + var s = o.size; + if (s <= 0) + return e( + new Error( + 'File size is not greater than 0 \u2014\u2014 ' + t + ) + ); + var l = Math.min(s, 524288), + c = r.alloc(l); + n.read(a, c, 0, l, 0, function (t) { + if (t) return e(t); + n.close(a, function (t) { + e(t, c); + }); + }); + }); + }); + })(a, function (t, r) { + if (t) return e(t); + var n; + try { + n = s(r, a); + } catch (e) { + t = e; + } + e(t, n); + }); + }), + (e.exports.types = Object.keys(a)); + }.call(this)); + }.call(this, t('buffer').Buffer)); + }, + { './detector': 443, './types': 446, buffer: 111, fs: 109, path: 507 }, + ], + 445: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + return ( + (r = r || 0), t['readUInt' + e + (n ? 'BE' : 'LE')].call(t, r) + ); + }; + }, + {}, + ], + 446: [ + function (t, e, r) { + 'use strict'; + var n = { + bmp: t('./types/bmp'), + cur: t('./types/cur'), + dds: t('./types/dds'), + gif: t('./types/gif'), + icns: t('./types/icns'), + ico: t('./types/ico'), + jpg: t('./types/jpg'), + png: t('./types/png'), + psd: t('./types/psd'), + svg: t('./types/svg'), + tiff: t('./types/tiff'), + webp: t('./types/webp'), + }; + e.exports = n; + }, + { + './types/bmp': 447, + './types/cur': 448, + './types/dds': 449, + './types/gif': 450, + './types/icns': 451, + './types/ico': 452, + './types/jpg': 453, + './types/png': 454, + './types/psd': 455, + './types/svg': 456, + './types/tiff': 457, + './types/webp': 458, + }, + ], + 447: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + return 'BM' === t.toString('ascii', 0, 2); + }, + calculate: function (t) { + return { + width: t.readUInt32LE(18), + height: Math.abs(t.readInt32LE(22)), + }; + }, + }; + }, + {}, + ], + 448: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + return 0 === t.readUInt16LE(0) && 2 === t.readUInt16LE(2); + }, + calculate: t('./ico').calculate, + }; + }, + { './ico': 452 }, + ], + 449: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + return 542327876 === t.readUInt32LE(0); + }, + calculate: function (t) { + return { height: t.readUInt32LE(12), width: t.readUInt32LE(16) }; + }, + }; + }, + {}, + ], + 450: [ + function (t, e, r) { + 'use strict'; + var n = /^GIF8[79]a/; + e.exports = { + detect: function (t) { + var e = t.toString('ascii', 0, 6); + return n.test(e); + }, + calculate: function (t) { + return { width: t.readUInt16LE(6), height: t.readUInt16LE(8) }; + }, + }; + }, + {}, + ], + 451: [ + function (t, e, r) { + 'use strict'; + var n = { + ICON: 32, + 'ICN#': 32, + 'icm#': 16, + icm4: 16, + icm8: 16, + 'ics#': 16, + ics4: 16, + ics8: 16, + is32: 16, + s8mk: 16, + icp4: 16, + icl4: 32, + icl8: 32, + il32: 32, + l8mk: 32, + icp5: 32, + ic11: 32, + ich4: 48, + ich8: 48, + ih32: 48, + h8mk: 48, + icp6: 64, + ic12: 32, + it32: 128, + t8mk: 128, + ic07: 128, + ic08: 256, + ic13: 256, + ic09: 512, + ic14: 512, + ic10: 1024, + }; + function i(t, e) { + var r = e + 4; + return [t.toString('ascii', e, r), t.readUInt32BE(r)]; + } + function a(t) { + var e = n[t]; + return { width: e, height: e, type: t }; + } + e.exports = { + detect: function (t) { + return 'icns' === t.toString('ascii', 0, 4); + }, + calculate: function (t) { + var e, + r, + n, + o = t.length, + s = 8, + l = t.readUInt32BE(4); + if (((r = a((e = i(t, s))[0])), (s += e[1]) === l)) return r; + for ( + n = { width: r.width, height: r.height, images: [r] }; + s < l && s < o; + + ) + (r = a((e = i(t, s))[0])), (s += e[1]), n.images.push(r); + return n; + }, + }; + }, + {}, + ], + 452: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + var r = t.readUInt8(e); + return 0 === r ? 256 : r; + } + function i(t, e) { + var r = 6 + 16 * e; + return { width: n(t, r), height: n(t, r + 1) }; + } + e.exports = { + detect: function (t) { + return 0 === t.readUInt16LE(0) && 1 === t.readUInt16LE(2); + }, + calculate: function (t) { + var e, + r = t.readUInt16LE(4), + n = i(t, 0); + if (1 === r) return n; + for ( + n.images = [{ width: n.width, height: n.height }], e = 1; + e < r; + e += 1 + ) + n.images.push(i(t, e)); + return n; + }, + }; + }, + {}, + ], + 453: [ + function (t, e, r) { + 'use strict'; + var n = t('../readUInt'); + function i(t) { + return '45786966' === t.toString('hex', 2, 6); + } + function a(t, e) { + return { height: t.readUInt16BE(e), width: t.readUInt16BE(e + 2) }; + } + function o(t, e) { + var r = t.slice(2, e), + i = r.toString('hex', 6, 8), + a = '4d4d' === i; + if (a || '4949' === i) + return (function (t, e) { + for (var r, i, a = n(t, 16, 14, e), o = 0; o < a; o++) { + if (((i = (r = 16 + 12 * o) + 12), r > t.length)) return; + var s = t.slice(r, i); + if (274 === n(s, 16, 0, e)) { + if (3 !== n(s, 16, 2, e)) return; + if (1 !== n(s, 32, 4, e)) return; + return n(s, 16, 8, e); + } + } + })(r, a); + } + function s(t, e) { + if (e > t.length) + throw new TypeError('Corrupt JPG, exceeded buffer limits'); + if (255 !== t[e]) + throw new TypeError('Invalid JPG, marker table corrupted'); + } + e.exports = { + detect: function (t) { + return 'ffd8' === t.toString('hex', 0, 2); + }, + calculate: function (t) { + var e, r, n; + for (t = t.slice(4); t.length; ) { + if ( + ((r = t.readUInt16BE(0)), + i(t) && (e = o(t, r)), + s(t, r), + 192 === (n = t[r + 1]) || 193 === n || 194 === n) + ) { + var l = a(t, r + 5); + return e + ? { width: l.width, height: l.height, orientation: e } + : l; + } + t = t.slice(r + 2); + } + throw new TypeError('Invalid JPG, no size found'); + }, + }; + }, + { '../readUInt': 445 }, + ], + 454: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + if ('PNG\r\n\x1a\n' === t.toString('ascii', 1, 8)) { + var e = t.toString('ascii', 12, 16); + if ( + ('CgBI' === e && (e = t.toString('ascii', 28, 32)), + 'IHDR' !== e) + ) + throw new TypeError('invalid png'); + return !0; + } + }, + calculate: function (t) { + return 'CgBI' === t.toString('ascii', 12, 16) + ? { width: t.readUInt32BE(32), height: t.readUInt32BE(36) } + : { width: t.readUInt32BE(16), height: t.readUInt32BE(20) }; + }, + }; + }, + {}, + ], + 455: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + return '8BPS' === t.toString('ascii', 0, 4); + }, + calculate: function (t) { + return { width: t.readUInt32BE(18), height: t.readUInt32BE(14) }; + }, + }; + }, + {}, + ], + 456: [ + function (t, e, r) { + 'use strict'; + var n = /"']|"[^"]*"|'[^']*')*>/; + var i = { + root: n, + width: /\swidth=(['"])([^%]+?)\1/, + height: /\sheight=(['"])([^%]+?)\1/, + viewbox: /\sviewBox=(['"])(.+?)\1/, + }, + a = { + cm: 96 / 2.54, + mm: 96 / 2.54 / 10, + m: (96 / 2.54) * 100, + pt: 96 / 72, + pc: 96 / 72 / 12, + em: 16, + ex: 8, + }; + function o(t) { + var e = /([0-9.]+)([a-z]*)/.exec(t); + if (e) return Math.round(parseFloat(e[1]) * (a[e[2]] || 1)); + } + function s(t) { + var e = t.split(' '); + return { width: o(e[2]), height: o(e[3]) }; + } + e.exports = { + detect: function (t) { + return n.test(t); + }, + calculate: function (t) { + var e = t.toString('utf8').match(i.root); + if (e) { + var r = (function (t) { + var e = t.match(i.width), + r = t.match(i.height), + n = t.match(i.viewbox); + return { + width: e && o(e[2]), + height: r && o(r[2]), + viewbox: n && s(n[2]), + }; + })(e[0]); + if (r.width && r.height) + return (function (t) { + return { width: t.width, height: t.height }; + })(r); + if (r.viewbox) + return (function (t) { + var e = t.viewbox.width / t.viewbox.height; + return t.width + ? { width: t.width, height: Math.floor(t.width / e) } + : t.height + ? { width: Math.floor(t.height * e), height: t.height } + : { width: t.viewbox.width, height: t.viewbox.height }; + })(r); + } + throw new TypeError('invalid svg'); + }, + }; + }, + {}, + ], + 457: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('fs'), + i = t('../readUInt'); + function a(t, e) { + var r = i(t, 16, 8, e); + return (i(t, 16, 10, e) << 16) + r; + } + function o(t) { + if (t.length > 24) return t.slice(12); + } + e.exports = { + detect: function (t) { + var e = t.toString('hex', 0, 4); + return '49492a00' === e || '4d4d002a' === e; + }, + calculate: function (t, e) { + if (!e) throw new TypeError("Tiff doesn't support buffer"); + var s = + 'BE' === + (function (t) { + var e = t.toString('ascii', 0, 2); + return 'II' === e ? 'LE' : 'MM' === e ? 'BE' : void 0; + })(t), + l = (function (t, e) { + for ( + var r, n, s, l = {}; + t && + t.length && + ((r = i(t, 16, 0, e)), + (n = i(t, 16, 2, e)), + (s = i(t, 32, 4, e)), + 0 !== r); + + ) + 1 !== s || (3 !== n && 4 !== n) || (l[r] = a(t, e)), + (t = o(t)); + return l; + })( + (function (t, e, a) { + var o = i(t, 32, 4, a), + s = 1024, + l = n.statSync(e).size; + o + s > l && (s = l - o - 10); + var c = r.alloc(s), + u = n.openSync(e, 'r'); + return n.readSync(u, c, 0, s, o), c.slice(2); + })(t, e, s), + s + ), + c = l[256], + u = l[257]; + if (!c || !u) + throw new TypeError('Invalid Tiff, missing tags'); + return { width: c, height: u }; + }, + }; + }.call(this)); + }.call(this, t('buffer').Buffer)); + }, + { '../readUInt': 445, buffer: 111, fs: 109 }, + ], + 458: [ + function (t, e, r) { + 'use strict'; + e.exports = { + detect: function (t) { + var e = 'RIFF' === t.toString('ascii', 0, 4), + r = 'WEBP' === t.toString('ascii', 8, 12), + n = 'VP8' === t.toString('ascii', 12, 15); + return e && r && n; + }, + calculate: function (t) { + var e = t.toString('ascii', 12, 16); + if (((t = t.slice(20, 30)), 'VP8X' === e)) { + var r = t[0]; + return ( + !(!(0 == (192 & r)) || !(0 == (1 & r))) && + (function (t) { + return { + width: 1 + t.readUIntLE(4, 3), + height: 1 + t.readUIntLE(7, 3), + }; + })(t) + ); + } + if ('VP8 ' === e && 47 !== t[0]) + return (function (t) { + return { + width: 16383 & t.readInt16LE(6), + height: 16383 & t.readInt16LE(8), + }; + })(t); + var n = t.toString('hex', 3, 6); + return ( + 'VP8L' === e && + '9d012a' !== n && + (function (t) { + return { + width: 1 + (((63 & t[2]) << 8) | t[1]), + height: + 1 + + (((15 & t[4]) << 10) | (t[3] << 2) | ((192 & t[2]) >> 6)), + }; + })(t) + ); + }, + }; + }, + {}, + ], + 459: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = t.length; + if (0 === r) throw new Error('Must have at least d+1 points'); + var i = t[0].length; + if (r <= i) throw new Error('Must input at least d+1 points'); + var o = t.slice(0, i + 1), + s = n.apply(void 0, o); + if (0 === s) throw new Error('Input not in general position'); + for (var l = new Array(i + 1), u = 0; u <= i; ++u) l[u] = u; + s < 0 && ((l[0] = 1), (l[1] = 0)); + var f = new a(l, new Array(i + 1), !1), + h = f.adjacent, + p = new Array(i + 2); + for (u = 0; u <= i; ++u) { + for (var d = l.slice(), g = 0; g <= i; ++g) + g === u && (d[g] = -1); + var m = d[0]; + (d[0] = d[1]), (d[1] = m); + var v = new a(d, new Array(i + 1), !0); + (h[u] = v), (p[u] = v); + } + p[i + 1] = f; + for (u = 0; u <= i; ++u) { + d = h[u].vertices; + var y = h[u].adjacent; + for (g = 0; g <= i; ++g) { + var x = d[g]; + if (x < 0) y[g] = f; + else + for (var b = 0; b <= i; ++b) + h[b].vertices.indexOf(x) < 0 && (y[g] = h[b]); + } + } + var _ = new c(i, o, p), + w = !!e; + for (u = i + 1; u < r; ++u) _.insert(t[u], w); + return _.boundary(); + }; + var n = t('robust-orientation'), + i = t('simplicial-complex').compareCells; + function a(t, e, r) { + (this.vertices = t), + (this.adjacent = e), + (this.boundary = r), + (this.lastVisited = -1); + } + function o(t, e, r) { + (this.vertices = t), (this.cell = e), (this.index = r); + } + function s(t, e) { + return i(t.vertices, e.vertices); + } + a.prototype.flip = function () { + var t = this.vertices[0]; + (this.vertices[0] = this.vertices[1]), (this.vertices[1] = t); + var e = this.adjacent[0]; + (this.adjacent[0] = this.adjacent[1]), (this.adjacent[1] = e); + }; + var l = []; + function c(t, e, r) { + (this.dimension = t), + (this.vertices = e), + (this.simplices = r), + (this.interior = r.filter(function (t) { + return !t.boundary; + })), + (this.tuple = new Array(t + 1)); + for (var i = 0; i <= t; ++i) this.tuple[i] = this.vertices[i]; + var a = l[t]; + a || + (a = l[t] = + (function (t) { + for ( + var e = [ + 'function orient(){var tuple=this.tuple;return test(', + ], + r = 0; + r <= t; + ++r + ) + r > 0 && e.push(','), e.push('tuple[', r, ']'); + e.push(')}return orient'); + var i = new Function('test', e.join('')), + a = n[t + 1]; + return a || (a = n), i(a); + })(t)), + (this.orient = a); + } + var u = c.prototype; + (u.handleBoundaryDegeneracy = function (t, e) { + var r = this.dimension, + n = this.vertices.length - 1, + i = this.tuple, + a = this.vertices, + o = [t]; + for (t.lastVisited = -n; o.length > 0; ) { + (t = o.pop()).vertices; + for (var s = t.adjacent, l = 0; l <= r; ++l) { + var c = s[l]; + if (c.boundary && !(c.lastVisited <= -n)) { + for (var u = c.vertices, f = 0; f <= r; ++f) { + var h = u[f]; + i[f] = h < 0 ? e : a[h]; + } + var p = this.orient(); + if (p > 0) return c; + (c.lastVisited = -n), 0 === p && o.push(c); + } + } + } + return null; + }), + (u.walk = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + a = this.tuple, + o = e + ? (this.interior.length * Math.random()) | 0 + : this.interior.length - 1, + s = this.interior[o]; + t: for (; !s.boundary; ) { + for (var l = s.vertices, c = s.adjacent, u = 0; u <= n; ++u) + a[u] = i[l[u]]; + s.lastVisited = r; + for (u = 0; u <= n; ++u) { + var f = c[u]; + if (!(f.lastVisited >= r)) { + var h = a[u]; + a[u] = t; + var p = this.orient(); + if (((a[u] = h), p < 0)) { + s = f; + continue t; + } + f.boundary ? (f.lastVisited = -r) : (f.lastVisited = r); + } + } + return; + } + return s; + }), + (u.addPeaks = function (t, e) { + var r = this.vertices.length - 1, + n = this.dimension, + i = this.vertices, + l = this.tuple, + c = this.interior, + u = this.simplices, + f = [e]; + (e.lastVisited = r), + (e.vertices[e.vertices.indexOf(-1)] = r), + (e.boundary = !1), + c.push(e); + for (var h = []; f.length > 0; ) { + var p = (e = f.pop()).vertices, + d = e.adjacent, + g = p.indexOf(r); + if (!(g < 0)) + for (var m = 0; m <= n; ++m) + if (m !== g) { + var v = d[m]; + if (v.boundary && !(v.lastVisited >= r)) { + var y = v.vertices; + if (v.lastVisited !== -r) { + for (var x = 0, b = 0; b <= n; ++b) + y[b] < 0 ? ((x = b), (l[b] = t)) : (l[b] = i[y[b]]); + if (this.orient() > 0) { + (y[x] = r), + (v.boundary = !1), + c.push(v), + f.push(v), + (v.lastVisited = r); + continue; + } + v.lastVisited = -r; + } + var _ = v.adjacent, + w = p.slice(), + T = d.slice(), + k = new a(w, T, !0); + u.push(k); + var M = _.indexOf(e); + if (!(M < 0)) { + (_[M] = k), + (T[g] = v), + (w[m] = -1), + (T[m] = e), + (d[m] = k), + k.flip(); + for (b = 0; b <= n; ++b) { + var A = w[b]; + if (!(A < 0 || A === r)) { + for ( + var S = new Array(n - 1), E = 0, C = 0; + C <= n; + ++C + ) { + var L = w[C]; + L < 0 || C === b || (S[E++] = L); + } + h.push(new o(S, k, b)); + } + } + } + } + } + } + h.sort(s); + for (m = 0; m + 1 < h.length; m += 2) { + var I = h[m], + P = h[m + 1], + z = I.index, + O = P.index; + z < 0 || + O < 0 || + ((I.cell.adjacent[I.index] = P.cell), + (P.cell.adjacent[P.index] = I.cell)); + } + }), + (u.insert = function (t, e) { + var r = this.vertices; + r.push(t); + var n = this.walk(t, e); + if (n) { + for ( + var i = this.dimension, a = this.tuple, o = 0; + o <= i; + ++o + ) { + var s = n.vertices[o]; + a[o] = s < 0 ? t : r[s]; + } + var l = this.orient(a); + l < 0 || + ((0 !== l || (n = this.handleBoundaryDegeneracy(n, t))) && + this.addPeaks(t, n)); + } + }), + (u.boundary = function () { + for ( + var t = this.dimension, + e = [], + r = this.simplices, + n = r.length, + i = 0; + i < n; + ++i + ) { + var a = r[i]; + if (a.boundary) { + for ( + var o = new Array(t), s = a.vertices, l = 0, c = 0, u = 0; + u <= t; + ++u + ) + s[u] >= 0 ? (o[l++] = s[u]) : (c = 1 & u); + if (c === (1 & t)) { + var f = o[0]; + (o[0] = o[1]), (o[1] = f); + } + e.push(o); + } + } + return e; + }); + }, + { 'robust-orientation': 548, 'simplicial-complex': 558 }, + ], + 460: [ + function (t, e, r) { + 'use strict'; + var n = t('binary-search-bounds'); + function i(t, e, r, n, i) { + (this.mid = t), + (this.left = e), + (this.right = r), + (this.leftPoints = n), + (this.rightPoints = i), + (this.count = (e ? e.count : 0) + (r ? r.count : 0) + n.length); + } + e.exports = function (t) { + if (!t || 0 === t.length) return new v(null); + return new v(m(t)); + }; + var a = i.prototype; + function o(t, e) { + (t.mid = e.mid), + (t.left = e.left), + (t.right = e.right), + (t.leftPoints = e.leftPoints), + (t.rightPoints = e.rightPoints), + (t.count = e.count); + } + function s(t, e) { + var r = m(e); + (t.mid = r.mid), + (t.left = r.left), + (t.right = r.right), + (t.leftPoints = r.leftPoints), + (t.rightPoints = r.rightPoints), + (t.count = r.count); + } + function l(t, e) { + var r = t.intervals([]); + r.push(e), s(t, r); + } + function c(t, e) { + var r = t.intervals([]), + n = r.indexOf(e); + return n < 0 ? 0 : (r.splice(n, 1), s(t, r), 1); + } + function u(t, e, r) { + for (var n = 0; n < t.length && t[n][0] <= e; ++n) { + var i = r(t[n]); + if (i) return i; + } + } + function f(t, e, r) { + for (var n = t.length - 1; n >= 0 && t[n][1] >= e; --n) { + var i = r(t[n]); + if (i) return i; + } + } + function h(t, e) { + for (var r = 0; r < t.length; ++r) { + var n = e(t[r]); + if (n) return n; + } + } + function p(t, e) { + return t - e; + } + function d(t, e) { + var r = t[0] - e[0]; + return r || t[1] - e[1]; + } + function g(t, e) { + var r = t[1] - e[1]; + return r || t[0] - e[0]; + } + function m(t) { + if (0 === t.length) return null; + for (var e = [], r = 0; r < t.length; ++r) e.push(t[r][0], t[r][1]); + e.sort(p); + var n = e[e.length >> 1], + a = [], + o = [], + s = []; + for (r = 0; r < t.length; ++r) { + var l = t[r]; + l[1] < n ? a.push(l) : n < l[0] ? o.push(l) : s.push(l); + } + var c = s, + u = s.slice(); + return c.sort(d), u.sort(g), new i(n, m(a), m(o), c, u); + } + function v(t) { + this.root = t; + } + (a.intervals = function (t) { + return ( + t.push.apply(t, this.leftPoints), + this.left && this.left.intervals(t), + this.right && this.right.intervals(t), + t + ); + }), + (a.insert = function (t) { + var e = this.count - this.leftPoints.length; + if (((this.count += 1), t[1] < this.mid)) + this.left + ? 4 * (this.left.count + 1) > 3 * (e + 1) + ? l(this, t) + : this.left.insert(t) + : (this.left = m([t])); + else if (t[0] > this.mid) + this.right + ? 4 * (this.right.count + 1) > 3 * (e + 1) + ? l(this, t) + : this.right.insert(t) + : (this.right = m([t])); + else { + var r = n.ge(this.leftPoints, t, d), + i = n.ge(this.rightPoints, t, g); + this.leftPoints.splice(r, 0, t), + this.rightPoints.splice(i, 0, t); + } + }), + (a.remove = function (t) { + var e = this.count - this.leftPoints; + if (t[1] < this.mid) + return this.left + ? 4 * (this.right ? this.right.count : 0) > 3 * (e - 1) + ? c(this, t) + : 2 === (s = this.left.remove(t)) + ? ((this.left = null), (this.count -= 1), 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (t[0] > this.mid) + return this.right + ? 4 * (this.left ? this.left.count : 0) > 3 * (e - 1) + ? c(this, t) + : 2 === (s = this.right.remove(t)) + ? ((this.right = null), (this.count -= 1), 1) + : (1 === s && (this.count -= 1), s) + : 0; + if (1 === this.count) return this.leftPoints[0] === t ? 2 : 0; + if (1 === this.leftPoints.length && this.leftPoints[0] === t) { + if (this.left && this.right) { + for (var r = this, i = this.left; i.right; ) + (r = i), (i = i.right); + if (r === this) i.right = this.right; + else { + var a = this.left, + s = this.right; + (r.count -= i.count), + (r.right = i.left), + (i.left = a), + (i.right = s); + } + o(this, i), + (this.count = + (this.left ? this.left.count : 0) + + (this.right ? this.right.count : 0) + + this.leftPoints.length); + } else this.left ? o(this, this.left) : o(this, this.right); + return 1; + } + for ( + a = n.ge(this.leftPoints, t, d); + a < this.leftPoints.length && this.leftPoints[a][0] === t[0]; + ++a + ) + if (this.leftPoints[a] === t) { + (this.count -= 1), this.leftPoints.splice(a, 1); + for ( + s = n.ge(this.rightPoints, t, g); + s < this.rightPoints.length && + this.rightPoints[s][1] === t[1]; + ++s + ) + if (this.rightPoints[s] === t) + return this.rightPoints.splice(s, 1), 1; + } + return 0; + }), + (a.queryPoint = function (t, e) { + if (t < this.mid) { + if (this.left) if ((r = this.left.queryPoint(t, e))) return r; + return u(this.leftPoints, t, e); + } + if (t > this.mid) { + var r; + if (this.right) if ((r = this.right.queryPoint(t, e))) return r; + return f(this.rightPoints, t, e); + } + return h(this.leftPoints, e); + }), + (a.queryInterval = function (t, e, r) { + var n; + if ( + t < this.mid && + this.left && + (n = this.left.queryInterval(t, e, r)) + ) + return n; + if ( + e > this.mid && + this.right && + (n = this.right.queryInterval(t, e, r)) + ) + return n; + return e < this.mid + ? u(this.leftPoints, e, r) + : t > this.mid + ? f(this.rightPoints, t, r) + : h(this.leftPoints, r); + }); + var y = v.prototype; + (y.insert = function (t) { + this.root + ? this.root.insert(t) + : (this.root = new i(t[0], null, null, [t], [t])); + }), + (y.remove = function (t) { + if (this.root) { + var e = this.root.remove(t); + return 2 === e && (this.root = null), 0 !== e; + } + return !1; + }), + (y.queryPoint = function (t, e) { + if (this.root) return this.root.queryPoint(t, e); + }), + (y.queryInterval = function (t, e, r) { + if (t <= e && this.root) return this.root.queryInterval(t, e, r); + }), + Object.defineProperty(y, 'count', { + get: function () { + return this.root ? this.root.count : 0; + }, + }), + Object.defineProperty(y, 'intervals', { + get: function () { + return this.root ? this.root.intervals([]) : []; + }, + }); + }, + { 'binary-search-bounds': 461 }, + ], + 461: [ + function (t, e, r) { + arguments[4][243][0].apply(r, arguments); + }, + { dup: 243 }, + ], + 462: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + e = e || new Array(t.length); + for (var r = 0; r < t.length; ++r) e[t[r]] = r; + return e; + }; + }, + {}, + ], + 463: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = r; + return e; + }; + }, + {}, + ], + 464: [ + function (t, e, r) { + e.exports = !0; + }, + {}, + ], + 465: [ + function (t, e, r) { + function n(t) { + return ( + !!t.constructor && + 'function' == typeof t.constructor.isBuffer && + t.constructor.isBuffer(t) + ); + } + /*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ + e.exports = function (t) { + return ( + null != t && + (n(t) || + (function (t) { + return ( + 'function' == typeof t.readFloatLE && + 'function' == typeof t.slice && + n(t.slice(0, 0)) + ); + })(t) || + !!t._isBuffer) + ); + }; + }, + {}, + ], + 466: [ + function (t, e, r) { + 'use strict'; + e.exports = + 'undefined' != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion)); + }, + {}, + ], + 467: [ + function (t, e, r) { + 'use strict'; + (e.exports = a), (e.exports.isMobile = a), (e.exports.default = a); + var n = + /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i, + i = + /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i; + function a(t) { + t || (t = {}); + var e = t.ua; + if ( + (e || + 'undefined' == typeof navigator || + (e = navigator.userAgent), + e && + e.headers && + 'string' == typeof e.headers['user-agent'] && + (e = e.headers['user-agent']), + 'string' != typeof e) + ) + return !1; + var r = t.tablet ? i.test(e) : n.test(e); + return ( + !r && + t.tablet && + t.featureDetect && + navigator && + navigator.maxTouchPoints > 1 && + -1 !== e.indexOf('Macintosh') && + -1 !== e.indexOf('Safari') && + (r = !0), + r + ); + } + }, + {}, + ], + 468: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = typeof t; + return null !== t && ('object' === e || 'function' === e); + }; + }, + {}, + ], + 469: [ + function (t, e, r) { + 'use strict'; + var n = Object.prototype.toString; + e.exports = function (t) { + var e; + return ( + '[object Object]' === n.call(t) && + (null === (e = Object.getPrototypeOf(t)) || + e === Object.getPrototypeOf({})) + ); + }; + }, + {}, + ], + 470: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e, r = t.length, n = 0; n < r; n++) + if ( + ((e = t.charCodeAt(n)) < 9 || e > 13) && + 32 !== e && + 133 !== e && + 160 !== e && + 5760 !== e && + 6158 !== e && + (e < 8192 || e > 8205) && + 8232 !== e && + 8233 !== e && + 8239 !== e && + 8287 !== e && + 8288 !== e && + 12288 !== e && + 65279 !== e + ) + return !1; + return !0; + }; + }, + {}, + ], + 471: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return ( + 'string' == typeof t && + ((t = t.trim()), + !!( + /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t) && + /[\dz]$/i.test(t) && + t.length > 4 + )) + ); + }; + }, + {}, + ], + 472: [ + function (t, e, r) { + e.exports = function (t, e, r) { + return t * (1 - r) + e * r; + }; + }, + {}, + ], + 473: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? (e.exports = n()) + : ((t = t || self).mapboxgl = n()); + })(this, function () { + 'use strict'; + var t, e, r; + function n(n, i) { + if (t) + if (e) { + var a = + 'var sharedChunk = {}; (' + + t + + ')(sharedChunk); (' + + e + + ')(sharedChunk);', + o = {}; + t(o), + ((r = i(o)).workerUrl = window.URL.createObjectURL( + new Blob([a], { type: 'text/javascript' }) + )); + } else e = i; + else t = i; + } + return ( + n(0, function (t) { + function e(t, e) { + return t((e = { exports: {} }), e.exports), e.exports; + } + var r = n; + function n(t, e, r, n) { + (this.cx = 3 * t), + (this.bx = 3 * (r - t) - this.cx), + (this.ax = 1 - this.cx - this.bx), + (this.cy = 3 * e), + (this.by = 3 * (n - e) - this.cy), + (this.ay = 1 - this.cy - this.by), + (this.p1x = t), + (this.p1y = n), + (this.p2x = r), + (this.p2y = n); + } + (n.prototype.sampleCurveX = function (t) { + return ((this.ax * t + this.bx) * t + this.cx) * t; + }), + (n.prototype.sampleCurveY = function (t) { + return ((this.ay * t + this.by) * t + this.cy) * t; + }), + (n.prototype.sampleCurveDerivativeX = function (t) { + return (3 * this.ax * t + 2 * this.bx) * t + this.cx; + }), + (n.prototype.solveCurveX = function (t, e) { + var r, n, i, a, o; + for (void 0 === e && (e = 1e-6), i = t, o = 0; o < 8; o++) { + if (((a = this.sampleCurveX(i) - t), Math.abs(a) < e)) + return i; + var s = this.sampleCurveDerivativeX(i); + if (Math.abs(s) < 1e-6) break; + i -= a / s; + } + if ((i = t) < (r = 0)) return r; + if (i > (n = 1)) return n; + for (; r < n; ) { + if (((a = this.sampleCurveX(i)), Math.abs(a - t) < e)) + return i; + t > a ? (r = i) : (n = i), (i = 0.5 * (n - r) + r); + } + return i; + }), + (n.prototype.solve = function (t, e) { + return this.sampleCurveY(this.solveCurveX(t, e)); + }); + var i = a; + function a(t, e) { + (this.x = t), (this.y = e); + } + function o(t, e, n, i) { + var a = new r(t, e, n, i); + return function (t) { + return a.solve(t); + }; + } + (a.prototype = { + clone: function () { + return new a(this.x, this.y); + }, + add: function (t) { + return this.clone()._add(t); + }, + sub: function (t) { + return this.clone()._sub(t); + }, + multByPoint: function (t) { + return this.clone()._multByPoint(t); + }, + divByPoint: function (t) { + return this.clone()._divByPoint(t); + }, + mult: function (t) { + return this.clone()._mult(t); + }, + div: function (t) { + return this.clone()._div(t); + }, + rotate: function (t) { + return this.clone()._rotate(t); + }, + rotateAround: function (t, e) { + return this.clone()._rotateAround(t, e); + }, + matMult: function (t) { + return this.clone()._matMult(t); + }, + unit: function () { + return this.clone()._unit(); + }, + perp: function () { + return this.clone()._perp(); + }, + round: function () { + return this.clone()._round(); + }, + mag: function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }, + equals: function (t) { + return this.x === t.x && this.y === t.y; + }, + dist: function (t) { + return Math.sqrt(this.distSqr(t)); + }, + distSqr: function (t) { + var e = t.x - this.x, + r = t.y - this.y; + return e * e + r * r; + }, + angle: function () { + return Math.atan2(this.y, this.x); + }, + angleTo: function (t) { + return Math.atan2(this.y - t.y, this.x - t.x); + }, + angleWith: function (t) { + return this.angleWithSep(t.x, t.y); + }, + angleWithSep: function (t, e) { + return Math.atan2( + this.x * e - this.y * t, + this.x * t + this.y * e + ); + }, + _matMult: function (t) { + var e = t[2] * this.x + t[3] * this.y; + return ( + (this.x = t[0] * this.x + t[1] * this.y), + (this.y = e), + this + ); + }, + _add: function (t) { + return (this.x += t.x), (this.y += t.y), this; + }, + _sub: function (t) { + return (this.x -= t.x), (this.y -= t.y), this; + }, + _mult: function (t) { + return (this.x *= t), (this.y *= t), this; + }, + _div: function (t) { + return (this.x /= t), (this.y /= t), this; + }, + _multByPoint: function (t) { + return (this.x *= t.x), (this.y *= t.y), this; + }, + _divByPoint: function (t) { + return (this.x /= t.x), (this.y /= t.y), this; + }, + _unit: function () { + return this._div(this.mag()), this; + }, + _perp: function () { + var t = this.y; + return (this.y = this.x), (this.x = -t), this; + }, + _rotate: function (t) { + var e = Math.cos(t), + r = Math.sin(t), + n = r * this.x + e * this.y; + return ( + (this.x = e * this.x - r * this.y), (this.y = n), this + ); + }, + _rotateAround: function (t, e) { + var r = Math.cos(t), + n = Math.sin(t), + i = e.y + n * (this.x - e.x) + r * (this.y - e.y); + return ( + (this.x = e.x + r * (this.x - e.x) - n * (this.y - e.y)), + (this.y = i), + this + ); + }, + _round: function () { + return ( + (this.x = Math.round(this.x)), + (this.y = Math.round(this.y)), + this + ); + }, + }), + (a.convert = function (t) { + return t instanceof a + ? t + : Array.isArray(t) + ? new a(t[0], t[1]) + : t; + }); + var s = o(0.25, 0.1, 0.25, 1); + function l(t, e, r) { + return Math.min(r, Math.max(e, t)); + } + function c(t, e, r) { + var n = r - e, + i = ((((t - e) % n) + n) % n) + e; + return i === e ? r : i; + } + function u(t) { + for (var e = [], r = arguments.length - 1; r-- > 0; ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + var f = 1; + function h() { + return f++; + } + function p() { + return (function t(e) { + return e + ? (e ^ ((16 * Math.random()) >> (e / 4))).toString(16) + : ([1e7] + -[1e3] + -4e3 + -8e3 + -1e11).replace( + /[018]/g, + t + ); + })(); + } + function d(t) { + return ( + !!t && + /^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test( + t + ) + ); + } + function g(t, e) { + t.forEach(function (t) { + e[t] && (e[t] = e[t].bind(e)); + }); + } + function m(t, e) { + return -1 !== t.indexOf(e, t.length - e.length); + } + function v(t, e, r) { + var n = {}; + for (var i in t) n[i] = e.call(r || this, t[i], i, t); + return n; + } + function y(t, e, r) { + var n = {}; + for (var i in t) + e.call(r || this, t[i], i, t) && (n[i] = t[i]); + return n; + } + function x(t) { + return Array.isArray(t) + ? t.map(x) + : 'object' == typeof t && t + ? v(t, x) + : t; + } + var b = {}; + function _(t) { + b[t] || + ('undefined' != typeof console && console.warn(t), + (b[t] = !0)); + } + function w(t, e, r) { + return (r.y - t.y) * (e.x - t.x) > (e.y - t.y) * (r.x - t.x); + } + function T(t) { + for ( + var e = 0, + r = 0, + n = t.length, + i = n - 1, + a = void 0, + o = void 0; + r < n; + i = r++ + ) + e += ((o = t[i]).x - (a = t[r]).x) * (a.y + o.y); + return e; + } + function k() { + return ( + 'undefined' != typeof WorkerGlobalScope && + 'undefined' != typeof self && + self instanceof WorkerGlobalScope + ); + } + function M(t) { + var e = {}; + if ( + (t.replace( + /(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g, + function (t, r, n, i) { + var a = n || i; + return (e[r] = !a || a.toLowerCase()), ''; + } + ), + e['max-age']) + ) { + var r = parseInt(e['max-age'], 10); + isNaN(r) ? delete e['max-age'] : (e['max-age'] = r); + } + return e; + } + var A = null; + function S(t) { + if (null == A) { + var e = t.navigator ? t.navigator.userAgent : null; + A = + !!t.safari || + !( + !e || + !( + /\b(iPad|iPhone|iPod)\b/.test(e) || + (e.match('Safari') && !e.match('Chrome')) + ) + ); + } + return A; + } + function E(t) { + try { + var e = self[t]; + return ( + e.setItem('_mapbox_test_', 1), + e.removeItem('_mapbox_test_'), + !0 + ); + } catch (t) { + return !1; + } + } + var C, + L, + I, + P, + z = + self.performance && self.performance.now + ? self.performance.now.bind(self.performance) + : Date.now.bind(Date), + O = + self.requestAnimationFrame || + self.mozRequestAnimationFrame || + self.webkitRequestAnimationFrame || + self.msRequestAnimationFrame, + D = + self.cancelAnimationFrame || + self.mozCancelAnimationFrame || + self.webkitCancelAnimationFrame || + self.msCancelAnimationFrame, + R = { + now: z, + frame: function (t) { + var e = O(t); + return { + cancel: function () { + return D(e); + }, + }; + }, + getImageData: function (t, e) { + void 0 === e && (e = 0); + var r = self.document.createElement('canvas'), + n = r.getContext('2d'); + if (!n) + throw new Error('failed to create canvas 2d context'); + return ( + (r.width = t.width), + (r.height = t.height), + n.drawImage(t, 0, 0, t.width, t.height), + n.getImageData( + -e, + -e, + t.width + 2 * e, + t.height + 2 * e + ) + ); + }, + resolveURL: function (t) { + return ( + C || (C = self.document.createElement('a')), + (C.href = t), + C.href + ); + }, + hardwareConcurrency: + self.navigator.hardwareConcurrency || 4, + get devicePixelRatio() { + return self.devicePixelRatio; + }, + get prefersReducedMotion() { + return ( + !!self.matchMedia && + (null == L && + (L = self.matchMedia( + '(prefers-reduced-motion: reduce)' + )), + L.matches) + ); + }, + }, + F = { + API_URL: 'https://api.mapbox.com', + get EVENTS_URL() { + return this.API_URL + ? 0 === this.API_URL.indexOf('https://api.mapbox.cn') + ? 'https://events.mapbox.cn/events/v2' + : 0 === this.API_URL.indexOf('https://api.mapbox.com') + ? 'https://events.mapbox.com/events/v2' + : null + : null; + }, + FEEDBACK_URL: 'https://apps.mapbox.com/feedback', + REQUIRE_ACCESS_TOKEN: !0, + ACCESS_TOKEN: null, + MAX_PARALLEL_IMAGE_REQUESTS: 16, + }, + B = { + supported: !1, + testSupport: function (t) { + !N && P && (j ? U(t) : (I = t)); + }, + }, + N = !1, + j = !1; + function U(t) { + var e = t.createTexture(); + t.bindTexture(t.TEXTURE_2D, e); + try { + if ( + (t.texImage2D( + t.TEXTURE_2D, + 0, + t.RGBA, + t.RGBA, + t.UNSIGNED_BYTE, + P + ), + t.isContextLost()) + ) + return; + B.supported = !0; + } catch (t) {} + t.deleteTexture(e), (N = !0); + } + self.document && + (((P = self.document.createElement('img')).onload = + function () { + I && U(I), (I = null), (j = !0); + }), + (P.onerror = function () { + (N = !0), (I = null); + }), + (P.src = + 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=')); + var V = '01', + q = function (t, e) { + (this._transformRequestFn = t), + (this._customAccessToken = e), + this._createSkuToken(); + }; + function H(t) { + return 0 === t.indexOf('mapbox:'); + } + (q.prototype._createSkuToken = function () { + var t = (function () { + for (var t = '', e = 0; e < 10; e++) + t += + '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'[ + Math.floor(62 * Math.random()) + ]; + return { + token: ['1', V, t].join(''), + tokenExpiresAt: Date.now() + 432e5, + }; + })(); + (this._skuToken = t.token), + (this._skuTokenExpiresAt = t.tokenExpiresAt); + }), + (q.prototype._isSkuTokenExpired = function () { + return Date.now() > this._skuTokenExpiresAt; + }), + (q.prototype.transformRequest = function (t, e) { + return ( + (this._transformRequestFn && + this._transformRequestFn(t, e)) || { url: t } + ); + }), + (q.prototype.normalizeStyleURL = function (t, e) { + if (!H(t)) return t; + var r = X(t); + return ( + (r.path = '/styles/v1' + r.path), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeGlyphsURL = function (t, e) { + if (!H(t)) return t; + var r = X(t); + return ( + (r.path = '/fonts/v1' + r.path), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeSourceURL = function (t, e) { + if (!H(t)) return t; + var r = X(t); + return ( + (r.path = '/v4/' + r.authority + '.json'), + r.params.push('secure'), + this._makeAPIURL(r, this._customAccessToken || e) + ); + }), + (q.prototype.normalizeSpriteURL = function (t, e, r, n) { + var i = X(t); + return H(t) + ? ((i.path = '/styles/v1' + i.path + '/sprite' + e + r), + this._makeAPIURL(i, this._customAccessToken || n)) + : ((i.path += '' + e + r), Z(i)); + }), + (q.prototype.normalizeTileURL = function (t, e) { + if ( + (this._isSkuTokenExpired() && this._createSkuToken(), + t && !H(t)) + ) + return t; + var r = X(t); + (r.path = r.path.replace( + /(\.(png|jpg)\d*)(?=$)/, + (R.devicePixelRatio >= 2 || 512 === e ? '@2x' : '') + + (B.supported ? '.webp' : '$1') + )), + (r.path = r.path.replace(/^.+\/v4\//, '/')), + (r.path = '/v4' + r.path); + var n = + this._customAccessToken || + (function (t) { + for (var e = 0, r = t; e < r.length; e += 1) { + var n = r[e].match(/^access_token=(.*)$/); + if (n) return n[1]; + } + return null; + })(r.params) || + F.ACCESS_TOKEN; + return ( + F.REQUIRE_ACCESS_TOKEN && + n && + this._skuToken && + r.params.push('sku=' + this._skuToken), + this._makeAPIURL(r, n) + ); + }), + (q.prototype.canonicalizeTileURL = function (t, e) { + var r = X(t); + if (!r.path.match(/(^\/v4\/)/) || !r.path.match(/\.[\w]+$/)) + return t; + var n = 'mapbox://tiles/'; + n += r.path.replace('/v4/', ''); + var i = r.params; + return ( + e && + (i = i.filter(function (t) { + return !t.match(/^access_token=/); + })), + i.length && (n += '?' + i.join('&')), + n + ); + }), + (q.prototype.canonicalizeTileset = function (t, e) { + for ( + var r = !!e && H(e), n = [], i = 0, a = t.tiles || []; + i < a.length; + i += 1 + ) { + var o = a[i]; + Y(o) ? n.push(this.canonicalizeTileURL(o, r)) : n.push(o); + } + return n; + }), + (q.prototype._makeAPIURL = function (t, e) { + var r = + 'See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes', + n = X(F.API_URL); + if ( + ((t.protocol = n.protocol), + (t.authority = n.authority), + '/' !== n.path && (t.path = '' + n.path + t.path), + !F.REQUIRE_ACCESS_TOKEN) + ) + return Z(t); + if (!(e = e || F.ACCESS_TOKEN)) + throw new Error( + 'An API access token is required to use Mapbox GL. ' + r + ); + if ('s' === e[0]) + throw new Error( + 'Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). ' + + r + ); + return ( + (t.params = t.params.filter(function (t) { + return -1 === t.indexOf('access_token'); + })), + t.params.push('access_token=' + e), + Z(t) + ); + }); + var G = + /^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i; + function Y(t) { + return G.test(t); + } + var W = /^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/; + function X(t) { + var e = t.match(W); + if (!e) throw new Error('Unable to parse URL object'); + return { + protocol: e[1], + authority: e[2], + path: e[3] || '/', + params: e[4] ? e[4].split('&') : [], + }; + } + function Z(t) { + var e = t.params.length ? '?' + t.params.join('&') : ''; + return t.protocol + '://' + t.authority + t.path + e; + } + function J(t) { + if (!t) return null; + var e = t.split('.'); + if (!e || 3 !== e.length) return null; + try { + return JSON.parse( + decodeURIComponent( + self + .atob(e[1]) + .split('') + .map(function (t) { + return ( + '%' + + ('00' + t.charCodeAt(0).toString(16)).slice(-2) + ); + }) + .join('') + ) + ); + } catch (t) { + return null; + } + } + var K = function (t) { + (this.type = t), + (this.anonId = null), + (this.eventData = {}), + (this.queue = []), + (this.pendingRequest = null); + }; + (K.prototype.getStorageKey = function (t) { + var e, + r = J(F.ACCESS_TOKEN); + return ( + (e = + r && r.u + ? self.btoa( + encodeURIComponent(r.u).replace( + /%([0-9A-F]{2})/g, + function (t, e) { + return String.fromCharCode(Number('0x' + e)); + } + ) + ) + : F.ACCESS_TOKEN || ''), + t + ? 'mapbox.eventData.' + t + ':' + e + : 'mapbox.eventData:' + e + ); + }), + (K.prototype.fetchEventData = function () { + var t = E('localStorage'), + e = this.getStorageKey(), + r = this.getStorageKey('uuid'); + if (t) + try { + var n = self.localStorage.getItem(e); + n && (this.eventData = JSON.parse(n)); + var i = self.localStorage.getItem(r); + i && (this.anonId = i); + } catch (t) { + _('Unable to read from LocalStorage'); + } + }), + (K.prototype.saveEventData = function () { + var t = E('localStorage'), + e = this.getStorageKey(), + r = this.getStorageKey('uuid'); + if (t) + try { + self.localStorage.setItem(r, this.anonId), + Object.keys(this.eventData).length >= 1 && + self.localStorage.setItem( + e, + JSON.stringify(this.eventData) + ); + } catch (t) { + _('Unable to write to LocalStorage'); + } + }), + (K.prototype.processRequests = function (t) {}), + (K.prototype.postEvent = function (t, e, r, n) { + var i = this; + if (F.EVENTS_URL) { + var a = X(F.EVENTS_URL); + a.params.push( + 'access_token=' + (n || F.ACCESS_TOKEN || '') + ); + var o = { + event: this.type, + created: new Date(t).toISOString(), + sdkIdentifier: 'mapbox-gl-js', + sdkVersion: '1.10.1', + skuId: V, + userId: this.anonId, + }, + s = e ? u(o, e) : o, + l = { + url: Z(a), + headers: { 'Content-Type': 'text/plain' }, + body: JSON.stringify([s]), + }; + this.pendingRequest = xt(l, function (t) { + (i.pendingRequest = null), + r(t), + i.saveEventData(), + i.processRequests(n); + }); + } + }), + (K.prototype.queueRequest = function (t, e) { + this.queue.push(t), this.processRequests(e); + }); + var Q, + $, + tt = (function (t) { + function e() { + t.call(this, 'map.load'), + (this.success = {}), + (this.skuToken = ''); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.postMapLoadEvent = function (t, e, r, n) { + (this.skuToken = r), + ((F.EVENTS_URL && n) || + (F.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return H(t) || Y(t); + }))) && + this.queueRequest( + { id: e, timestamp: Date.now() }, + n + ); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if (!this.pendingRequest && 0 !== this.queue.length) { + var r = this.queue.shift(), + n = r.id, + i = r.timestamp; + (n && this.success[n]) || + (this.anonId || this.fetchEventData(), + d(this.anonId) || (this.anonId = p()), + this.postEvent( + i, + { skuToken: this.skuToken }, + function (t) { + t || (n && (e.success[n] = !0)); + }, + t + )); + } + }), + e + ); + })(K), + et = new ((function (t) { + function e(e) { + t.call(this, 'appUserTurnstile'), + (this._customAccessToken = e); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.postTurnstileEvent = function (t, e) { + F.EVENTS_URL && + F.ACCESS_TOKEN && + Array.isArray(t) && + t.some(function (t) { + return H(t) || Y(t); + }) && + this.queueRequest(Date.now(), e); + }), + (e.prototype.processRequests = function (t) { + var e = this; + if (!this.pendingRequest && 0 !== this.queue.length) { + (this.anonId && + this.eventData.lastSuccess && + this.eventData.tokenU) || + this.fetchEventData(); + var r = J(F.ACCESS_TOKEN), + n = r ? r.u : F.ACCESS_TOKEN, + i = n !== this.eventData.tokenU; + d(this.anonId) || ((this.anonId = p()), (i = !0)); + var a = this.queue.shift(); + if (this.eventData.lastSuccess) { + var o = new Date(this.eventData.lastSuccess), + s = new Date(a), + l = (a - this.eventData.lastSuccess) / 864e5; + i = + i || + l >= 1 || + l < -1 || + o.getDate() !== s.getDate(); + } else i = !0; + if (!i) return this.processRequests(); + this.postEvent( + a, + { 'enabled.telemetry': !1 }, + function (t) { + t || + ((e.eventData.lastSuccess = a), + (e.eventData.tokenU = n)); + }, + t + ); + } + }), + e + ); + })(K))(), + rt = et.postTurnstileEvent.bind(et), + nt = new tt(), + it = nt.postMapLoadEvent.bind(nt), + at = 500, + ot = 50; + function st() { + self.caches && !Q && (Q = self.caches.open('mapbox-tiles')); + } + function lt(t) { + var e = t.indexOf('?'); + return e < 0 ? t : t.slice(0, e); + } + var ct, + ut = 1 / 0; + function ft() { + return ( + null == ct && + (ct = + self.OffscreenCanvas && + new self.OffscreenCanvas(1, 1).getContext('2d') && + 'function' == typeof self.createImageBitmap), + ct + ); + } + var ht = { + Unknown: 'Unknown', + Style: 'Style', + Source: 'Source', + Tile: 'Tile', + Glyphs: 'Glyphs', + SpriteImage: 'SpriteImage', + SpriteJSON: 'SpriteJSON', + Image: 'Image', + }; + 'function' == typeof Object.freeze && Object.freeze(ht); + var pt, + dt, + gt = (function (t) { + function e(e, r, n) { + 401 === r && + Y(n) && + (e += + ': you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes'), + t.call(this, e), + (this.status = r), + (this.url = n), + (this.name = this.constructor.name), + (this.message = e); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.toString = function () { + return ( + this.name + + ': ' + + this.message + + ' (' + + this.status + + '): ' + + this.url + ); + }), + e + ); + })(Error), + mt = k() + ? function () { + return self.worker && self.worker.referrer; + } + : function () { + return ( + 'blob:' === self.location.protocol + ? self.parent + : self + ).location.href; + }, + vt = function (t, e) { + if ( + !( + /^file:/.test((r = t.url)) || + (/^file:/.test(mt()) && !/^\w+:/.test(r)) + ) + ) { + if ( + self.fetch && + self.Request && + self.AbortController && + self.Request.prototype.hasOwnProperty('signal') + ) + return (function (t, e) { + var r, + n = new self.AbortController(), + i = new self.Request(t.url, { + method: t.method || 'GET', + body: t.body, + credentials: t.credentials, + headers: t.headers, + referrer: mt(), + signal: n.signal, + }), + a = !1, + o = !1, + s = (r = i.url).indexOf('sku=') > 0 && Y(r); + 'json' === t.type && + i.headers.set('Accept', 'application/json'); + var l = function (r, n, a) { + if (!o) { + if ( + (r && 'SecurityError' !== r.message && _(r), + n && a) + ) + return c(n); + var l = Date.now(); + self + .fetch(i) + .then(function (r) { + if (r.ok) { + var n = s ? r.clone() : null; + return c(r, n, l); + } + return e( + new gt(r.statusText, r.status, t.url) + ); + }) + .catch(function (t) { + 20 !== t.code && e(new Error(t.message)); + }); + } + }, + c = function (r, n, s) { + ('arrayBuffer' === t.type + ? r.arrayBuffer() + : 'json' === t.type + ? r.json() + : r.text() + ) + .then(function (t) { + o || + (n && + s && + (function (t, e, r) { + if ((st(), Q)) { + var n = { + status: e.status, + statusText: e.statusText, + headers: new self.Headers(), + }; + e.headers.forEach(function (t, e) { + return n.headers.set(e, t); + }); + var i = M( + e.headers.get('Cache-Control') || '' + ); + i['no-store'] || + (i['max-age'] && + n.headers.set( + 'Expires', + new Date( + r + 1e3 * i['max-age'] + ).toUTCString() + ), + new Date( + n.headers.get('Expires') + ).getTime() - + r < + 42e4 || + (function (t, e) { + if (void 0 === $) + try { + new Response( + new ReadableStream() + ), + ($ = !0); + } catch (t) { + $ = !1; + } + $ + ? e(t.body) + : t.blob().then(e); + })(e, function (e) { + var r = new self.Response(e, n); + st(), + Q && + Q.then(function (e) { + return e.put( + lt(t.url), + r + ); + }).catch(function (t) { + return _(t.message); + }); + })); + } + })(i, n, s), + (a = !0), + e( + null, + t, + r.headers.get('Cache-Control'), + r.headers.get('Expires') + )); + }) + .catch(function (t) { + o || e(new Error(t.message)); + }); + }; + return ( + s + ? (function (t, e) { + if ((st(), !Q)) return e(null); + var r = lt(t.url); + Q.then(function (t) { + t.match(r) + .then(function (n) { + var i = (function (t) { + if (!t) return !1; + var e = new Date( + t.headers.get('Expires') || 0 + ), + r = M( + t.headers.get('Cache-Control') || + '' + ); + return ( + e > Date.now() && !r['no-cache'] + ); + })(n); + t.delete(r), + i && t.put(r, n.clone()), + e(null, n, i); + }) + .catch(e); + }).catch(e); + })(i, l) + : l(null, null), + { + cancel: function () { + (o = !0), a || n.abort(); + }, + } + ); + })(t, e); + if (k() && self.worker && self.worker.actor) + return self.worker.actor.send( + 'getResource', + t, + e, + void 0, + !0 + ); + } + var r; + return (function (t, e) { + var r = new self.XMLHttpRequest(); + for (var n in (r.open(t.method || 'GET', t.url, !0), + 'arrayBuffer' === t.type && + (r.responseType = 'arraybuffer'), + t.headers)) + r.setRequestHeader(n, t.headers[n]); + return ( + 'json' === t.type && + ((r.responseType = 'text'), + r.setRequestHeader('Accept', 'application/json')), + (r.withCredentials = 'include' === t.credentials), + (r.onerror = function () { + e(new Error(r.statusText)); + }), + (r.onload = function () { + if ( + ((r.status >= 200 && r.status < 300) || + 0 === r.status) && + null !== r.response + ) { + var n = r.response; + if ('json' === t.type) + try { + n = JSON.parse(r.response); + } catch (t) { + return e(t); + } + e( + null, + n, + r.getResponseHeader('Cache-Control'), + r.getResponseHeader('Expires') + ); + } else e(new gt(r.statusText, r.status, t.url)); + }), + r.send(t.body), + { + cancel: function () { + return r.abort(); + }, + } + ); + })(t, e); + }, + yt = function (t, e) { + return vt(u(t, { type: 'arrayBuffer' }), e); + }, + xt = function (t, e) { + return vt(u(t, { method: 'POST' }), e); + }; + (pt = []), (dt = 0); + var bt = function (t, e) { + if ( + (B.supported && + (t.headers || (t.headers = {}), + (t.headers.accept = 'image/webp,*/*')), + dt >= F.MAX_PARALLEL_IMAGE_REQUESTS) + ) { + var r = { + requestParameters: t, + callback: e, + cancelled: !1, + cancel: function () { + this.cancelled = !0; + }, + }; + return pt.push(r), r; + } + dt++; + var n = !1, + i = function () { + if (!n) + for ( + n = !0, dt--; + pt.length && dt < F.MAX_PARALLEL_IMAGE_REQUESTS; + + ) { + var t = pt.shift(); + t.cancelled || + (t.cancel = bt( + t.requestParameters, + t.callback + ).cancel); + } + }, + a = yt(t, function (t, r, n, a) { + i(), + t + ? e(t) + : r && + (ft() + ? (function (t, e) { + var r = new self.Blob([new Uint8Array(t)], { + type: 'image/png', + }); + self + .createImageBitmap(r) + .then(function (t) { + e(null, t); + }) + .catch(function (t) { + e( + new Error( + 'Could not load image because of ' + + t.message + + '. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.' + ) + ); + }); + })(r, e) + : (function (t, e, r, n) { + var i = new self.Image(), + a = self.URL; + (i.onload = function () { + e(null, i), a.revokeObjectURL(i.src); + }), + (i.onerror = function () { + return e( + new Error( + 'Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.' + ) + ); + }); + var o = new self.Blob([new Uint8Array(t)], { + type: 'image/png', + }); + (i.cacheControl = r), + (i.expires = n), + (i.src = t.byteLength + ? a.createObjectURL(o) + : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII='); + })(r, e, n, a)); + }); + return { + cancel: function () { + a.cancel(), i(); + }, + }; + }; + function _t(t, e, r) { + (r[t] && -1 !== r[t].indexOf(e)) || + ((r[t] = r[t] || []), r[t].push(e)); + } + function wt(t, e, r) { + if (r && r[t]) { + var n = r[t].indexOf(e); + -1 !== n && r[t].splice(n, 1); + } + } + var Tt = function (t, e) { + void 0 === e && (e = {}), u(this, e), (this.type = t); + }, + kt = (function (t) { + function e(e, r) { + void 0 === r && (r = {}), + t.call(this, 'error', u({ error: e }, r)); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(Tt), + Mt = function () {}; + (Mt.prototype.on = function (t, e) { + return ( + (this._listeners = this._listeners || {}), + _t(t, e, this._listeners), + this + ); + }), + (Mt.prototype.off = function (t, e) { + return ( + wt(t, e, this._listeners), + wt(t, e, this._oneTimeListeners), + this + ); + }), + (Mt.prototype.once = function (t, e) { + return ( + (this._oneTimeListeners = this._oneTimeListeners || {}), + _t(t, e, this._oneTimeListeners), + this + ); + }), + (Mt.prototype.fire = function (t, e) { + 'string' == typeof t && (t = new Tt(t, e || {})); + var r = t.type; + if (this.listens(r)) { + t.target = this; + for ( + var n = 0, + i = + this._listeners && this._listeners[r] + ? this._listeners[r].slice() + : []; + n < i.length; + n += 1 + ) + i[n].call(this, t); + for ( + var a = 0, + o = + this._oneTimeListeners && this._oneTimeListeners[r] + ? this._oneTimeListeners[r].slice() + : []; + a < o.length; + a += 1 + ) { + var s = o[a]; + wt(r, s, this._oneTimeListeners), s.call(this, t); + } + var l = this._eventedParent; + l && + (u( + t, + 'function' == typeof this._eventedParentData + ? this._eventedParentData() + : this._eventedParentData + ), + l.fire(t)); + } else t instanceof kt && console.error(t.error); + return this; + }), + (Mt.prototype.listens = function (t) { + return ( + (this._listeners && + this._listeners[t] && + this._listeners[t].length > 0) || + (this._oneTimeListeners && + this._oneTimeListeners[t] && + this._oneTimeListeners[t].length > 0) || + (this._eventedParent && this._eventedParent.listens(t)) + ); + }), + (Mt.prototype.setEventedParent = function (t, e) { + return ( + (this._eventedParent = t), + (this._eventedParentData = e), + this + ); + }); + var At = { + $version: 8, + $root: { + version: { required: !0, type: 'enum', values: [8] }, + name: { type: 'string' }, + metadata: { type: '*' }, + center: { type: 'array', value: 'number' }, + zoom: { type: 'number' }, + bearing: { + type: 'number', + default: 0, + period: 360, + units: 'degrees', + }, + pitch: { type: 'number', default: 0, units: 'degrees' }, + light: { type: 'light' }, + sources: { required: !0, type: 'sources' }, + sprite: { type: 'string' }, + glyphs: { type: 'string' }, + transition: { type: 'transition' }, + layers: { required: !0, type: 'array', value: 'layer' }, + }, + sources: { '*': { type: 'source' } }, + source: [ + 'source_vector', + 'source_raster', + 'source_raster_dem', + 'source_geojson', + 'source_video', + 'source_image', + ], + source_vector: { + type: { + required: !0, + type: 'enum', + values: { vector: {} }, + }, + url: { type: 'string' }, + tiles: { type: 'array', value: 'string' }, + bounds: { + type: 'array', + value: 'number', + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + scheme: { + type: 'enum', + values: { xyz: {}, tms: {} }, + default: 'xyz', + }, + minzoom: { type: 'number', default: 0 }, + maxzoom: { type: 'number', default: 22 }, + attribution: { type: 'string' }, + promoteId: { type: 'promoteId' }, + '*': { type: '*' }, + }, + source_raster: { + type: { + required: !0, + type: 'enum', + values: { raster: {} }, + }, + url: { type: 'string' }, + tiles: { type: 'array', value: 'string' }, + bounds: { + type: 'array', + value: 'number', + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + minzoom: { type: 'number', default: 0 }, + maxzoom: { type: 'number', default: 22 }, + tileSize: { + type: 'number', + default: 512, + units: 'pixels', + }, + scheme: { + type: 'enum', + values: { xyz: {}, tms: {} }, + default: 'xyz', + }, + attribution: { type: 'string' }, + '*': { type: '*' }, + }, + source_raster_dem: { + type: { + required: !0, + type: 'enum', + values: { 'raster-dem': {} }, + }, + url: { type: 'string' }, + tiles: { type: 'array', value: 'string' }, + bounds: { + type: 'array', + value: 'number', + length: 4, + default: [-180, -85.051129, 180, 85.051129], + }, + minzoom: { type: 'number', default: 0 }, + maxzoom: { type: 'number', default: 22 }, + tileSize: { + type: 'number', + default: 512, + units: 'pixels', + }, + attribution: { type: 'string' }, + encoding: { + type: 'enum', + values: { terrarium: {}, mapbox: {} }, + default: 'mapbox', + }, + '*': { type: '*' }, + }, + source_geojson: { + type: { + required: !0, + type: 'enum', + values: { geojson: {} }, + }, + data: { type: '*' }, + maxzoom: { type: 'number', default: 18 }, + attribution: { type: 'string' }, + buffer: { + type: 'number', + default: 128, + maximum: 512, + minimum: 0, + }, + tolerance: { type: 'number', default: 0.375 }, + cluster: { type: 'boolean', default: !1 }, + clusterRadius: { + type: 'number', + default: 50, + minimum: 0, + }, + clusterMaxZoom: { type: 'number' }, + clusterProperties: { type: '*' }, + lineMetrics: { type: 'boolean', default: !1 }, + generateId: { type: 'boolean', default: !1 }, + promoteId: { type: 'promoteId' }, + }, + source_video: { + type: { + required: !0, + type: 'enum', + values: { video: {} }, + }, + urls: { required: !0, type: 'array', value: 'string' }, + coordinates: { + required: !0, + type: 'array', + length: 4, + value: { type: 'array', length: 2, value: 'number' }, + }, + }, + source_image: { + type: { + required: !0, + type: 'enum', + values: { image: {} }, + }, + url: { required: !0, type: 'string' }, + coordinates: { + required: !0, + type: 'array', + length: 4, + value: { type: 'array', length: 2, value: 'number' }, + }, + }, + layer: { + id: { type: 'string', required: !0 }, + type: { + type: 'enum', + values: { + fill: {}, + line: {}, + symbol: {}, + circle: {}, + heatmap: {}, + 'fill-extrusion': {}, + raster: {}, + hillshade: {}, + background: {}, + }, + required: !0, + }, + metadata: { type: '*' }, + source: { type: 'string' }, + 'source-layer': { type: 'string' }, + minzoom: { type: 'number', minimum: 0, maximum: 24 }, + maxzoom: { type: 'number', minimum: 0, maximum: 24 }, + filter: { type: 'filter' }, + layout: { type: 'layout' }, + paint: { type: 'paint' }, + }, + layout: [ + 'layout_fill', + 'layout_line', + 'layout_circle', + 'layout_heatmap', + 'layout_fill-extrusion', + 'layout_symbol', + 'layout_raster', + 'layout_hillshade', + 'layout_background', + ], + layout_background: { + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_fill: { + 'fill-sort-key': { + type: 'number', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_circle: { + 'circle-sort-key': { + type: 'number', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_heatmap: { + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + 'layout_fill-extrusion': { + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_line: { + 'line-cap': { + type: 'enum', + values: { butt: {}, round: {}, square: {} }, + default: 'butt', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'line-join': { + type: 'enum', + values: { bevel: {}, round: {}, miter: {} }, + default: 'miter', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'line-miter-limit': { + type: 'number', + default: 2, + requires: [{ 'line-join': 'miter' }], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'line-round-limit': { + type: 'number', + default: 1.05, + requires: [{ 'line-join': 'round' }], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'line-sort-key': { + type: 'number', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_symbol: { + 'symbol-placement': { + type: 'enum', + values: { point: {}, line: {}, 'line-center': {} }, + default: 'point', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'symbol-spacing': { + type: 'number', + default: 250, + minimum: 1, + units: 'pixels', + requires: [{ 'symbol-placement': 'line' }], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'symbol-avoid-edges': { + type: 'boolean', + default: !1, + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'symbol-sort-key': { + type: 'number', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'symbol-z-order': { + type: 'enum', + values: { auto: {}, 'viewport-y': {}, source: {} }, + default: 'auto', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-allow-overlap': { + type: 'boolean', + default: !1, + requires: ['icon-image'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-ignore-placement': { + type: 'boolean', + default: !1, + requires: ['icon-image'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-optional': { + type: 'boolean', + default: !1, + requires: ['icon-image', 'text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-rotation-alignment': { + type: 'enum', + values: { map: {}, viewport: {}, auto: {} }, + default: 'auto', + requires: ['icon-image'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-size': { + type: 'number', + default: 1, + minimum: 0, + units: 'factor of the original icon size', + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'icon-text-fit': { + type: 'enum', + values: { none: {}, width: {}, height: {}, both: {} }, + default: 'none', + requires: ['icon-image', 'text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-text-fit-padding': { + type: 'array', + value: 'number', + length: 4, + default: [0, 0, 0, 0], + units: 'pixels', + requires: [ + 'icon-image', + 'text-field', + { 'icon-text-fit': ['both', 'width', 'height'] }, + ], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-image': { + type: 'resolvedImage', + tokens: !0, + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'icon-rotate': { + type: 'number', + default: 0, + period: 360, + units: 'degrees', + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'icon-padding': { + type: 'number', + default: 2, + minimum: 0, + units: 'pixels', + requires: ['icon-image'], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-keep-upright': { + type: 'boolean', + default: !1, + requires: [ + 'icon-image', + { 'icon-rotation-alignment': 'map' }, + { 'symbol-placement': ['line', 'line-center'] }, + ], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-offset': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'icon-anchor': { + type: 'enum', + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + 'top-left': {}, + 'top-right': {}, + 'bottom-left': {}, + 'bottom-right': {}, + }, + default: 'center', + requires: ['icon-image'], + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'icon-pitch-alignment': { + type: 'enum', + values: { map: {}, viewport: {}, auto: {} }, + default: 'auto', + requires: ['icon-image'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-pitch-alignment': { + type: 'enum', + values: { map: {}, viewport: {}, auto: {} }, + default: 'auto', + requires: ['text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-rotation-alignment': { + type: 'enum', + values: { map: {}, viewport: {}, auto: {} }, + default: 'auto', + requires: ['text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-field': { + type: 'formatted', + default: '', + tokens: !0, + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-font': { + type: 'array', + value: 'string', + default: [ + 'Open Sans Regular', + 'Arial Unicode MS Regular', + ], + requires: ['text-field'], + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-size': { + type: 'number', + default: 16, + minimum: 0, + units: 'pixels', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-max-width': { + type: 'number', + default: 10, + minimum: 0, + units: 'ems', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-line-height': { + type: 'number', + default: 1.2, + units: 'ems', + requires: ['text-field'], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-letter-spacing': { + type: 'number', + default: 0, + units: 'ems', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-justify': { + type: 'enum', + values: { auto: {}, left: {}, center: {}, right: {} }, + default: 'center', + requires: ['text-field'], + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-radial-offset': { + type: 'number', + units: 'ems', + default: 0, + requires: ['text-field'], + 'property-type': 'data-driven', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + }, + 'text-variable-anchor': { + type: 'array', + value: 'enum', + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + 'top-left': {}, + 'top-right': {}, + 'bottom-left': {}, + 'bottom-right': {}, + }, + requires: [ + 'text-field', + { 'symbol-placement': ['point'] }, + ], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-anchor': { + type: 'enum', + values: { + center: {}, + left: {}, + right: {}, + top: {}, + bottom: {}, + 'top-left': {}, + 'top-right': {}, + 'bottom-left': {}, + 'bottom-right': {}, + }, + default: 'center', + requires: [ + 'text-field', + { '!': 'text-variable-anchor' }, + ], + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-max-angle': { + type: 'number', + default: 45, + units: 'degrees', + requires: [ + 'text-field', + { 'symbol-placement': ['line', 'line-center'] }, + ], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-writing-mode': { + type: 'array', + value: 'enum', + values: { horizontal: {}, vertical: {} }, + requires: [ + 'text-field', + { 'symbol-placement': ['point'] }, + ], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-rotate': { + type: 'number', + default: 0, + period: 360, + units: 'degrees', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-padding': { + type: 'number', + default: 2, + minimum: 0, + units: 'pixels', + requires: ['text-field'], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-keep-upright': { + type: 'boolean', + default: !0, + requires: [ + 'text-field', + { 'text-rotation-alignment': 'map' }, + { 'symbol-placement': ['line', 'line-center'] }, + ], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-transform': { + type: 'enum', + values: { none: {}, uppercase: {}, lowercase: {} }, + default: 'none', + requires: ['text-field'], + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-offset': { + type: 'array', + value: 'number', + units: 'ems', + length: 2, + default: [0, 0], + requires: ['text-field', { '!': 'text-radial-offset' }], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'data-driven', + }, + 'text-allow-overlap': { + type: 'boolean', + default: !1, + requires: ['text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-ignore-placement': { + type: 'boolean', + default: !1, + requires: ['text-field'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-optional': { + type: 'boolean', + default: !1, + requires: ['text-field', 'icon-image'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_raster: { + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + layout_hillshade: { + visibility: { + type: 'enum', + values: { visible: {}, none: {} }, + default: 'visible', + 'property-type': 'constant', + }, + }, + filter: { type: 'array', value: '*' }, + filter_operator: { + type: 'enum', + values: { + '==': {}, + '!=': {}, + '>': {}, + '>=': {}, + '<': {}, + '<=': {}, + in: {}, + '!in': {}, + all: {}, + any: {}, + none: {}, + has: {}, + '!has': {}, + within: {}, + }, + }, + geometry_type: { + type: 'enum', + values: { Point: {}, LineString: {}, Polygon: {} }, + }, + function: { + expression: { type: 'expression' }, + stops: { type: 'array', value: 'function_stop' }, + base: { type: 'number', default: 1, minimum: 0 }, + property: { type: 'string', default: '$zoom' }, + type: { + type: 'enum', + values: { + identity: {}, + exponential: {}, + interval: {}, + categorical: {}, + }, + default: 'exponential', + }, + colorSpace: { + type: 'enum', + values: { rgb: {}, lab: {}, hcl: {} }, + default: 'rgb', + }, + default: { type: '*', required: !1 }, + }, + function_stop: { + type: 'array', + minimum: 0, + maximum: 24, + value: ['number', 'color'], + length: 2, + }, + expression: { type: 'array', value: '*', minimum: 1 }, + expression_name: { + type: 'enum', + values: { + let: { group: 'Variable binding' }, + var: { group: 'Variable binding' }, + literal: { group: 'Types' }, + array: { group: 'Types' }, + at: { group: 'Lookup' }, + in: { group: 'Lookup' }, + 'index-of': { group: 'Lookup' }, + slice: { group: 'Lookup' }, + case: { group: 'Decision' }, + match: { group: 'Decision' }, + coalesce: { group: 'Decision' }, + step: { group: 'Ramps, scales, curves' }, + interpolate: { group: 'Ramps, scales, curves' }, + 'interpolate-hcl': { group: 'Ramps, scales, curves' }, + 'interpolate-lab': { group: 'Ramps, scales, curves' }, + ln2: { group: 'Math' }, + pi: { group: 'Math' }, + e: { group: 'Math' }, + typeof: { group: 'Types' }, + string: { group: 'Types' }, + number: { group: 'Types' }, + boolean: { group: 'Types' }, + object: { group: 'Types' }, + collator: { group: 'Types' }, + format: { group: 'Types' }, + image: { group: 'Types' }, + 'number-format': { group: 'Types' }, + 'to-string': { group: 'Types' }, + 'to-number': { group: 'Types' }, + 'to-boolean': { group: 'Types' }, + 'to-rgba': { group: 'Color' }, + 'to-color': { group: 'Types' }, + rgb: { group: 'Color' }, + rgba: { group: 'Color' }, + get: { group: 'Lookup' }, + has: { group: 'Lookup' }, + length: { group: 'Lookup' }, + properties: { group: 'Feature data' }, + 'feature-state': { group: 'Feature data' }, + 'geometry-type': { group: 'Feature data' }, + id: { group: 'Feature data' }, + zoom: { group: 'Zoom' }, + 'heatmap-density': { group: 'Heatmap' }, + 'line-progress': { group: 'Feature data' }, + accumulated: { group: 'Feature data' }, + '+': { group: 'Math' }, + '*': { group: 'Math' }, + '-': { group: 'Math' }, + '/': { group: 'Math' }, + '%': { group: 'Math' }, + '^': { group: 'Math' }, + sqrt: { group: 'Math' }, + log10: { group: 'Math' }, + ln: { group: 'Math' }, + log2: { group: 'Math' }, + sin: { group: 'Math' }, + cos: { group: 'Math' }, + tan: { group: 'Math' }, + asin: { group: 'Math' }, + acos: { group: 'Math' }, + atan: { group: 'Math' }, + min: { group: 'Math' }, + max: { group: 'Math' }, + round: { group: 'Math' }, + abs: { group: 'Math' }, + ceil: { group: 'Math' }, + floor: { group: 'Math' }, + distance: { group: 'Math' }, + '==': { group: 'Decision' }, + '!=': { group: 'Decision' }, + '>': { group: 'Decision' }, + '<': { group: 'Decision' }, + '>=': { group: 'Decision' }, + '<=': { group: 'Decision' }, + all: { group: 'Decision' }, + any: { group: 'Decision' }, + '!': { group: 'Decision' }, + within: { group: 'Decision' }, + 'is-supported-script': { group: 'String' }, + upcase: { group: 'String' }, + downcase: { group: 'String' }, + concat: { group: 'String' }, + 'resolved-locale': { group: 'String' }, + }, + }, + light: { + anchor: { + type: 'enum', + default: 'viewport', + values: { map: {}, viewport: {} }, + 'property-type': 'data-constant', + transition: !1, + expression: { interpolated: !1, parameters: ['zoom'] }, + }, + position: { + type: 'array', + default: [1.15, 210, 30], + length: 3, + value: 'number', + 'property-type': 'data-constant', + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + }, + color: { + type: 'color', + 'property-type': 'data-constant', + default: '#ffffff', + expression: { interpolated: !0, parameters: ['zoom'] }, + transition: !0, + }, + intensity: { + type: 'number', + 'property-type': 'data-constant', + default: 0.5, + minimum: 0, + maximum: 1, + expression: { interpolated: !0, parameters: ['zoom'] }, + transition: !0, + }, + }, + paint: [ + 'paint_fill', + 'paint_line', + 'paint_circle', + 'paint_heatmap', + 'paint_fill-extrusion', + 'paint_symbol', + 'paint_raster', + 'paint_hillshade', + 'paint_background', + ], + paint_fill: { + 'fill-antialias': { + type: 'boolean', + default: !0, + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-color': { + type: 'color', + default: '#000000', + transition: !0, + requires: [{ '!': 'fill-pattern' }], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-outline-color': { + type: 'color', + transition: !0, + requires: [ + { '!': 'fill-pattern' }, + { 'fill-antialias': !0 }, + ], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['fill-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-pattern': { + type: 'resolvedImage', + transition: !0, + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'cross-faded-data-driven', + }, + }, + 'paint_fill-extrusion': { + 'fill-extrusion-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-extrusion-color': { + type: 'color', + default: '#000000', + transition: !0, + requires: [{ '!': 'fill-extrusion-pattern' }], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-extrusion-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-extrusion-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['fill-extrusion-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'fill-extrusion-pattern': { + type: 'resolvedImage', + transition: !0, + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'cross-faded-data-driven', + }, + 'fill-extrusion-height': { + type: 'number', + default: 0, + minimum: 0, + units: 'meters', + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-extrusion-base': { + type: 'number', + default: 0, + minimum: 0, + units: 'meters', + transition: !0, + requires: ['fill-extrusion-height'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'fill-extrusion-vertical-gradient': { + type: 'boolean', + default: !0, + transition: !1, + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + paint_line: { + 'line-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-color': { + type: 'color', + default: '#000000', + transition: !0, + requires: [{ '!': 'line-pattern' }], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'line-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['line-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'line-width': { + type: 'number', + default: 1, + minimum: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-gap-width': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-offset': { + type: 'number', + default: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-blur': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'line-dasharray': { + type: 'array', + value: 'number', + minimum: 0, + transition: !0, + units: 'line widths', + requires: [{ '!': 'line-pattern' }], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'cross-faded', + }, + 'line-pattern': { + type: 'resolvedImage', + transition: !0, + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + 'property-type': 'cross-faded-data-driven', + }, + 'line-gradient': { + type: 'color', + transition: !1, + requires: [ + { '!': 'line-dasharray' }, + { '!': 'line-pattern' }, + { source: 'geojson', has: { lineMetrics: !0 } }, + ], + expression: { + interpolated: !0, + parameters: ['line-progress'], + }, + 'property-type': 'color-ramp', + }, + }, + paint_circle: { + 'circle-radius': { + type: 'number', + default: 5, + minimum: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-color': { + type: 'color', + default: '#000000', + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-blur': { + type: 'number', + default: 0, + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'circle-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['circle-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'circle-pitch-scale': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'circle-pitch-alignment': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'viewport', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'circle-stroke-width': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-stroke-color': { + type: 'color', + default: '#000000', + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'circle-stroke-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + }, + paint_heatmap: { + 'heatmap-radius': { + type: 'number', + default: 30, + minimum: 1, + transition: !0, + units: 'pixels', + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'heatmap-weight': { + type: 'number', + default: 1, + minimum: 0, + transition: !1, + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'heatmap-intensity': { + type: 'number', + default: 1, + minimum: 0, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'heatmap-color': { + type: 'color', + default: [ + 'interpolate', + ['linear'], + ['heatmap-density'], + 0, + 'rgba(0, 0, 255, 0)', + 0.1, + 'royalblue', + 0.3, + 'cyan', + 0.5, + 'lime', + 0.7, + 'yellow', + 1, + 'red', + ], + transition: !1, + expression: { + interpolated: !0, + parameters: ['heatmap-density'], + }, + 'property-type': 'color-ramp', + }, + 'heatmap-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + paint_symbol: { + 'icon-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'icon-color': { + type: 'color', + default: '#000000', + transition: !0, + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'icon-halo-color': { + type: 'color', + default: 'rgba(0, 0, 0, 0)', + transition: !0, + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'icon-halo-width': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'icon-halo-blur': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + requires: ['icon-image'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'icon-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + requires: ['icon-image'], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'icon-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['icon-image', 'icon-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'text-color': { + type: 'color', + default: '#000000', + transition: !0, + overridable: !0, + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'text-halo-color': { + type: 'color', + default: 'rgba(0, 0, 0, 0)', + transition: !0, + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'text-halo-width': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'text-halo-blur': { + type: 'number', + default: 0, + minimum: 0, + transition: !0, + units: 'pixels', + requires: ['text-field'], + expression: { + interpolated: !0, + parameters: ['zoom', 'feature', 'feature-state'], + }, + 'property-type': 'data-driven', + }, + 'text-translate': { + type: 'array', + value: 'number', + length: 2, + default: [0, 0], + transition: !0, + units: 'pixels', + requires: ['text-field'], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'text-translate-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'map', + requires: ['text-field', 'text-translate'], + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + paint_raster: { + 'raster-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-hue-rotate': { + type: 'number', + default: 0, + period: 360, + transition: !0, + units: 'degrees', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-brightness-min': { + type: 'number', + default: 0, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-brightness-max': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-saturation': { + type: 'number', + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-contrast': { + type: 'number', + default: 0, + minimum: -1, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-resampling': { + type: 'enum', + values: { linear: {}, nearest: {} }, + default: 'linear', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'raster-fade-duration': { + type: 'number', + default: 300, + minimum: 0, + transition: !1, + units: 'milliseconds', + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + paint_hillshade: { + 'hillshade-illumination-direction': { + type: 'number', + default: 335, + minimum: 0, + maximum: 359, + transition: !1, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'hillshade-illumination-anchor': { + type: 'enum', + values: { map: {}, viewport: {} }, + default: 'viewport', + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'hillshade-exaggeration': { + type: 'number', + default: 0.5, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'hillshade-shadow-color': { + type: 'color', + default: '#000000', + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'hillshade-highlight-color': { + type: 'color', + default: '#FFFFFF', + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'hillshade-accent-color': { + type: 'color', + default: '#000000', + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + paint_background: { + 'background-color': { + type: 'color', + default: '#000000', + transition: !0, + requires: [{ '!': 'background-pattern' }], + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + 'background-pattern': { + type: 'resolvedImage', + transition: !0, + expression: { interpolated: !1, parameters: ['zoom'] }, + 'property-type': 'cross-faded', + }, + 'background-opacity': { + type: 'number', + default: 1, + minimum: 0, + maximum: 1, + transition: !0, + expression: { interpolated: !0, parameters: ['zoom'] }, + 'property-type': 'data-constant', + }, + }, + transition: { + duration: { + type: 'number', + default: 300, + minimum: 0, + units: 'milliseconds', + }, + delay: { + type: 'number', + default: 0, + minimum: 0, + units: 'milliseconds', + }, + }, + 'property-type': { + 'data-driven': { type: 'property-type' }, + 'cross-faded': { type: 'property-type' }, + 'cross-faded-data-driven': { type: 'property-type' }, + 'color-ramp': { type: 'property-type' }, + 'data-constant': { type: 'property-type' }, + constant: { type: 'property-type' }, + }, + promoteId: { '*': { type: 'string' } }, + }, + St = function (t, e, r, n) { + (this.message = (t ? t + ': ' : '') + r), + n && (this.identifier = n), + null != e && e.__line__ && (this.line = e.__line__); + }; + function Et(t) { + var e = t.value; + return e + ? [ + new St( + t.key, + e, + 'constants have been deprecated as of v8' + ), + ] + : []; + } + function Ct(t) { + for (var e = [], r = arguments.length - 1; r-- > 0; ) + e[r] = arguments[r + 1]; + for (var n = 0, i = e; n < i.length; n += 1) { + var a = i[n]; + for (var o in a) t[o] = a[o]; + } + return t; + } + function Lt(t) { + return t instanceof Number || + t instanceof String || + t instanceof Boolean + ? t.valueOf() + : t; + } + function It(t) { + if (Array.isArray(t)) return t.map(It); + if ( + t instanceof Object && + !( + t instanceof Number || + t instanceof String || + t instanceof Boolean + ) + ) { + var e = {}; + for (var r in t) e[r] = It(t[r]); + return e; + } + return Lt(t); + } + var Pt = (function (t) { + function e(e, r) { + t.call(this, r), (this.message = r), (this.key = e); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(Error), + zt = function (t, e) { + void 0 === e && (e = []), + (this.parent = t), + (this.bindings = {}); + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r]; + this.bindings[i[0]] = i[1]; + } + }; + (zt.prototype.concat = function (t) { + return new zt(this, t); + }), + (zt.prototype.get = function (t) { + if (this.bindings[t]) return this.bindings[t]; + if (this.parent) return this.parent.get(t); + throw new Error(t + ' not found in scope.'); + }), + (zt.prototype.has = function (t) { + return ( + !!this.bindings[t] || + (!!this.parent && this.parent.has(t)) + ); + }); + var Ot = { kind: 'null' }, + Dt = { kind: 'number' }, + Rt = { kind: 'string' }, + Ft = { kind: 'boolean' }, + Bt = { kind: 'color' }, + Nt = { kind: 'object' }, + jt = { kind: 'value' }, + Ut = { kind: 'collator' }, + Vt = { kind: 'formatted' }, + qt = { kind: 'resolvedImage' }; + function Ht(t, e) { + return { kind: 'array', itemType: t, N: e }; + } + function Gt(t) { + if ('array' === t.kind) { + var e = Gt(t.itemType); + return 'number' == typeof t.N + ? 'array<' + e + ', ' + t.N + '>' + : 'value' === t.itemType.kind + ? 'array' + : 'array<' + e + '>'; + } + return t.kind; + } + var Yt = [Ot, Dt, Rt, Ft, Bt, Vt, Nt, Ht(jt), qt]; + function Wt(t, e) { + if ('error' === e.kind) return null; + if ('array' === t.kind) { + if ( + 'array' === e.kind && + ((0 === e.N && 'value' === e.itemType.kind) || + !Wt(t.itemType, e.itemType)) && + ('number' != typeof t.N || t.N === e.N) + ) + return null; + } else { + if (t.kind === e.kind) return null; + if ('value' === t.kind) + for (var r = 0, n = Yt; r < n.length; r += 1) + if (!Wt(n[r], e)) return null; + } + return ( + 'Expected ' + Gt(t) + ' but found ' + Gt(e) + ' instead.' + ); + } + function Xt(t, e) { + return e.some(function (e) { + return e.kind === t.kind; + }); + } + function Zt(t, e) { + return e.some(function (e) { + return 'null' === e + ? null === t + : 'array' === e + ? Array.isArray(t) + : 'object' === e + ? t && !Array.isArray(t) && 'object' == typeof t + : e === typeof t; + }); + } + var Jt = e(function (t, e) { + var r = { + transparent: [0, 0, 0, 0], + aliceblue: [240, 248, 255, 1], + antiquewhite: [250, 235, 215, 1], + aqua: [0, 255, 255, 1], + aquamarine: [127, 255, 212, 1], + azure: [240, 255, 255, 1], + beige: [245, 245, 220, 1], + bisque: [255, 228, 196, 1], + black: [0, 0, 0, 1], + blanchedalmond: [255, 235, 205, 1], + blue: [0, 0, 255, 1], + blueviolet: [138, 43, 226, 1], + brown: [165, 42, 42, 1], + burlywood: [222, 184, 135, 1], + cadetblue: [95, 158, 160, 1], + chartreuse: [127, 255, 0, 1], + chocolate: [210, 105, 30, 1], + coral: [255, 127, 80, 1], + cornflowerblue: [100, 149, 237, 1], + cornsilk: [255, 248, 220, 1], + crimson: [220, 20, 60, 1], + cyan: [0, 255, 255, 1], + darkblue: [0, 0, 139, 1], + darkcyan: [0, 139, 139, 1], + darkgoldenrod: [184, 134, 11, 1], + darkgray: [169, 169, 169, 1], + darkgreen: [0, 100, 0, 1], + darkgrey: [169, 169, 169, 1], + darkkhaki: [189, 183, 107, 1], + darkmagenta: [139, 0, 139, 1], + darkolivegreen: [85, 107, 47, 1], + darkorange: [255, 140, 0, 1], + darkorchid: [153, 50, 204, 1], + darkred: [139, 0, 0, 1], + darksalmon: [233, 150, 122, 1], + darkseagreen: [143, 188, 143, 1], + darkslateblue: [72, 61, 139, 1], + darkslategray: [47, 79, 79, 1], + darkslategrey: [47, 79, 79, 1], + darkturquoise: [0, 206, 209, 1], + darkviolet: [148, 0, 211, 1], + deeppink: [255, 20, 147, 1], + deepskyblue: [0, 191, 255, 1], + dimgray: [105, 105, 105, 1], + dimgrey: [105, 105, 105, 1], + dodgerblue: [30, 144, 255, 1], + firebrick: [178, 34, 34, 1], + floralwhite: [255, 250, 240, 1], + forestgreen: [34, 139, 34, 1], + fuchsia: [255, 0, 255, 1], + gainsboro: [220, 220, 220, 1], + ghostwhite: [248, 248, 255, 1], + gold: [255, 215, 0, 1], + goldenrod: [218, 165, 32, 1], + gray: [128, 128, 128, 1], + green: [0, 128, 0, 1], + greenyellow: [173, 255, 47, 1], + grey: [128, 128, 128, 1], + honeydew: [240, 255, 240, 1], + hotpink: [255, 105, 180, 1], + indianred: [205, 92, 92, 1], + indigo: [75, 0, 130, 1], + ivory: [255, 255, 240, 1], + khaki: [240, 230, 140, 1], + lavender: [230, 230, 250, 1], + lavenderblush: [255, 240, 245, 1], + lawngreen: [124, 252, 0, 1], + lemonchiffon: [255, 250, 205, 1], + lightblue: [173, 216, 230, 1], + lightcoral: [240, 128, 128, 1], + lightcyan: [224, 255, 255, 1], + lightgoldenrodyellow: [250, 250, 210, 1], + lightgray: [211, 211, 211, 1], + lightgreen: [144, 238, 144, 1], + lightgrey: [211, 211, 211, 1], + lightpink: [255, 182, 193, 1], + lightsalmon: [255, 160, 122, 1], + lightseagreen: [32, 178, 170, 1], + lightskyblue: [135, 206, 250, 1], + lightslategray: [119, 136, 153, 1], + lightslategrey: [119, 136, 153, 1], + lightsteelblue: [176, 196, 222, 1], + lightyellow: [255, 255, 224, 1], + lime: [0, 255, 0, 1], + limegreen: [50, 205, 50, 1], + linen: [250, 240, 230, 1], + magenta: [255, 0, 255, 1], + maroon: [128, 0, 0, 1], + mediumaquamarine: [102, 205, 170, 1], + mediumblue: [0, 0, 205, 1], + mediumorchid: [186, 85, 211, 1], + mediumpurple: [147, 112, 219, 1], + mediumseagreen: [60, 179, 113, 1], + mediumslateblue: [123, 104, 238, 1], + mediumspringgreen: [0, 250, 154, 1], + mediumturquoise: [72, 209, 204, 1], + mediumvioletred: [199, 21, 133, 1], + midnightblue: [25, 25, 112, 1], + mintcream: [245, 255, 250, 1], + mistyrose: [255, 228, 225, 1], + moccasin: [255, 228, 181, 1], + navajowhite: [255, 222, 173, 1], + navy: [0, 0, 128, 1], + oldlace: [253, 245, 230, 1], + olive: [128, 128, 0, 1], + olivedrab: [107, 142, 35, 1], + orange: [255, 165, 0, 1], + orangered: [255, 69, 0, 1], + orchid: [218, 112, 214, 1], + palegoldenrod: [238, 232, 170, 1], + palegreen: [152, 251, 152, 1], + paleturquoise: [175, 238, 238, 1], + palevioletred: [219, 112, 147, 1], + papayawhip: [255, 239, 213, 1], + peachpuff: [255, 218, 185, 1], + peru: [205, 133, 63, 1], + pink: [255, 192, 203, 1], + plum: [221, 160, 221, 1], + powderblue: [176, 224, 230, 1], + purple: [128, 0, 128, 1], + rebeccapurple: [102, 51, 153, 1], + red: [255, 0, 0, 1], + rosybrown: [188, 143, 143, 1], + royalblue: [65, 105, 225, 1], + saddlebrown: [139, 69, 19, 1], + salmon: [250, 128, 114, 1], + sandybrown: [244, 164, 96, 1], + seagreen: [46, 139, 87, 1], + seashell: [255, 245, 238, 1], + sienna: [160, 82, 45, 1], + silver: [192, 192, 192, 1], + skyblue: [135, 206, 235, 1], + slateblue: [106, 90, 205, 1], + slategray: [112, 128, 144, 1], + slategrey: [112, 128, 144, 1], + snow: [255, 250, 250, 1], + springgreen: [0, 255, 127, 1], + steelblue: [70, 130, 180, 1], + tan: [210, 180, 140, 1], + teal: [0, 128, 128, 1], + thistle: [216, 191, 216, 1], + tomato: [255, 99, 71, 1], + turquoise: [64, 224, 208, 1], + violet: [238, 130, 238, 1], + wheat: [245, 222, 179, 1], + white: [255, 255, 255, 1], + whitesmoke: [245, 245, 245, 1], + yellow: [255, 255, 0, 1], + yellowgreen: [154, 205, 50, 1], + }; + function n(t) { + return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t; + } + function i(t) { + return n( + '%' === t[t.length - 1] + ? (parseFloat(t) / 100) * 255 + : parseInt(t) + ); + } + function a(t) { + return (e = + '%' === t[t.length - 1] + ? parseFloat(t) / 100 + : parseFloat(t)) < 0 + ? 0 + : e > 1 + ? 1 + : e; + var e; + } + function o(t, e, r) { + return ( + r < 0 ? (r += 1) : r > 1 && (r -= 1), + 6 * r < 1 + ? t + (e - t) * r * 6 + : 2 * r < 1 + ? e + : 3 * r < 2 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + try { + e.parseCSSColor = function (t) { + var e, + s = t.replace(/ /g, '').toLowerCase(); + if (s in r) return r[s].slice(); + if ('#' === s[0]) + return 4 === s.length + ? (e = parseInt(s.substr(1), 16)) >= 0 && e <= 4095 + ? [ + ((3840 & e) >> 4) | ((3840 & e) >> 8), + (240 & e) | ((240 & e) >> 4), + (15 & e) | ((15 & e) << 4), + 1, + ] + : null + : 7 === s.length && + (e = parseInt(s.substr(1), 16)) >= 0 && + e <= 16777215 + ? [ + (16711680 & e) >> 16, + (65280 & e) >> 8, + 255 & e, + 1, + ] + : null; + var l = s.indexOf('('), + c = s.indexOf(')'); + if (-1 !== l && c + 1 === s.length) { + var u = s.substr(0, l), + f = s.substr(l + 1, c - (l + 1)).split(','), + h = 1; + switch (u) { + case 'rgba': + if (4 !== f.length) return null; + h = a(f.pop()); + case 'rgb': + return 3 !== f.length + ? null + : [i(f[0]), i(f[1]), i(f[2]), h]; + case 'hsla': + if (4 !== f.length) return null; + h = a(f.pop()); + case 'hsl': + if (3 !== f.length) return null; + var p = + (((parseFloat(f[0]) % 360) + 360) % 360) / + 360, + d = a(f[1]), + g = a(f[2]), + m = g <= 0.5 ? g * (d + 1) : g + d - g * d, + v = 2 * g - m; + return [ + n(255 * o(v, m, p + 1 / 3)), + n(255 * o(v, m, p)), + n(255 * o(v, m, p - 1 / 3)), + h, + ]; + default: + return null; + } + } + return null; + }; + } catch (t) {} + }).parseCSSColor, + Kt = function (t, e, r, n) { + void 0 === n && (n = 1), + (this.r = t), + (this.g = e), + (this.b = r), + (this.a = n); + }; + (Kt.parse = function (t) { + if (t) { + if (t instanceof Kt) return t; + if ('string' == typeof t) { + var e = Jt(t); + if (e) + return new Kt( + (e[0] / 255) * e[3], + (e[1] / 255) * e[3], + (e[2] / 255) * e[3], + e[3] + ); + } + } + }), + (Kt.prototype.toString = function () { + var t = this.toArray(), + e = t[1], + r = t[2], + n = t[3]; + return ( + 'rgba(' + + Math.round(t[0]) + + ',' + + Math.round(e) + + ',' + + Math.round(r) + + ',' + + n + + ')' + ); + }), + (Kt.prototype.toArray = function () { + var t = this.a; + return 0 === t + ? [0, 0, 0, 0] + : [ + (255 * this.r) / t, + (255 * this.g) / t, + (255 * this.b) / t, + t, + ]; + }), + (Kt.black = new Kt(0, 0, 0, 1)), + (Kt.white = new Kt(1, 1, 1, 1)), + (Kt.transparent = new Kt(0, 0, 0, 0)), + (Kt.red = new Kt(1, 0, 0, 1)); + var Qt = function (t, e, r) { + (this.sensitivity = t + ? e + ? 'variant' + : 'case' + : e + ? 'accent' + : 'base'), + (this.locale = r), + (this.collator = new Intl.Collator( + this.locale ? this.locale : [], + { sensitivity: this.sensitivity, usage: 'search' } + )); + }; + (Qt.prototype.compare = function (t, e) { + return this.collator.compare(t, e); + }), + (Qt.prototype.resolvedLocale = function () { + return new Intl.Collator( + this.locale ? this.locale : [] + ).resolvedOptions().locale; + }); + var $t = function (t, e, r, n, i) { + (this.text = t), + (this.image = e), + (this.scale = r), + (this.fontStack = n), + (this.textColor = i); + }, + te = function (t) { + this.sections = t; + }; + (te.fromString = function (t) { + return new te([new $t(t, null, null, null, null)]); + }), + (te.prototype.isEmpty = function () { + return ( + 0 === this.sections.length || + !this.sections.some(function (t) { + return ( + 0 !== t.text.length || + (t.image && 0 !== t.image.name.length) + ); + }) + ); + }), + (te.factory = function (t) { + return t instanceof te ? t : te.fromString(t); + }), + (te.prototype.toString = function () { + return 0 === this.sections.length + ? '' + : this.sections + .map(function (t) { + return t.text; + }) + .join(''); + }), + (te.prototype.serialize = function () { + for ( + var t = ['format'], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + if (n.image) t.push(['image', n.image.name]); + else { + t.push(n.text); + var i = {}; + n.fontStack && + (i['text-font'] = [ + 'literal', + n.fontStack.split(','), + ]), + n.scale && (i['font-scale'] = n.scale), + n.textColor && + (i['text-color'] = ['rgba'].concat( + n.textColor.toArray() + )), + t.push(i); + } + } + return t; + }); + var ee = function (t) { + (this.name = t.name), (this.available = t.available); + }; + function re(t, e, r, n) { + return 'number' == typeof t && + t >= 0 && + t <= 255 && + 'number' == typeof e && + e >= 0 && + e <= 255 && + 'number' == typeof r && + r >= 0 && + r <= 255 + ? void 0 === n || ('number' == typeof n && n >= 0 && n <= 1) + ? null + : 'Invalid rgba value [' + + [t, e, r, n].join(', ') + + "]: 'a' must be between 0 and 1." + : 'Invalid rgba value [' + + ('number' == typeof n ? [t, e, r, n] : [t, e, r]).join( + ', ' + ) + + "]: 'r', 'g', and 'b' must be between 0 and 255."; + } + function ne(t) { + if (null === t) return !0; + if ('string' == typeof t) return !0; + if ('boolean' == typeof t) return !0; + if ('number' == typeof t) return !0; + if (t instanceof Kt) return !0; + if (t instanceof Qt) return !0; + if (t instanceof te) return !0; + if (t instanceof ee) return !0; + if (Array.isArray(t)) { + for (var e = 0, r = t; e < r.length; e += 1) + if (!ne(r[e])) return !1; + return !0; + } + if ('object' == typeof t) { + for (var n in t) if (!ne(t[n])) return !1; + return !0; + } + return !1; + } + function ie(t) { + if (null === t) return Ot; + if ('string' == typeof t) return Rt; + if ('boolean' == typeof t) return Ft; + if ('number' == typeof t) return Dt; + if (t instanceof Kt) return Bt; + if (t instanceof Qt) return Ut; + if (t instanceof te) return Vt; + if (t instanceof ee) return qt; + if (Array.isArray(t)) { + for ( + var e, r = t.length, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = ie(i[n]); + if (e) { + if (e === a) continue; + e = jt; + break; + } + e = a; + } + return Ht(e || jt, r); + } + return Nt; + } + function ae(t) { + var e = typeof t; + return null === t + ? '' + : 'string' === e || 'number' === e || 'boolean' === e + ? String(t) + : t instanceof Kt || t instanceof te || t instanceof ee + ? t.toString() + : JSON.stringify(t); + } + (ee.prototype.toString = function () { + return this.name; + }), + (ee.fromString = function (t) { + return t ? new ee({ name: t, available: !1 }) : null; + }), + (ee.prototype.serialize = function () { + return ['image', this.name]; + }); + var oe = function (t, e) { + (this.type = t), (this.value = e); + }; + (oe.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'literal' expression requires exactly one argument, but found " + + (t.length - 1) + + ' instead.' + ); + if (!ne(t[1])) return e.error('invalid value'); + var r = t[1], + n = ie(r), + i = e.expectedType; + return ( + 'array' !== n.kind || + 0 !== n.N || + !i || + 'array' !== i.kind || + ('number' == typeof i.N && 0 !== i.N) || + (n = i), + new oe(n, r) + ); + }), + (oe.prototype.evaluate = function () { + return this.value; + }), + (oe.prototype.eachChild = function () {}), + (oe.prototype.outputDefined = function () { + return !0; + }), + (oe.prototype.serialize = function () { + return 'array' === this.type.kind || + 'object' === this.type.kind + ? ['literal', this.value] + : this.value instanceof Kt + ? ['rgba'].concat(this.value.toArray()) + : this.value instanceof te + ? this.value.serialize() + : this.value; + }); + var se = function (t) { + (this.name = 'ExpressionEvaluationError'), (this.message = t); + }; + se.prototype.toJSON = function () { + return this.message; + }; + var le = { string: Rt, number: Dt, boolean: Ft, object: Nt }, + ce = function (t, e) { + (this.type = t), (this.args = e); + }; + (ce.parse = function (t, e) { + if (t.length < 2) + return e.error('Expected at least one argument.'); + var r, + n = 1, + i = t[0]; + if ('array' === i) { + var a, o; + if (t.length > 2) { + var s = t[1]; + if ('string' != typeof s || !(s in le) || 'object' === s) + return e.error( + 'The item type argument of "array" must be one of string, number, boolean', + 1 + ); + (a = le[s]), n++; + } else a = jt; + if (t.length > 3) { + if ( + null !== t[2] && + ('number' != typeof t[2] || + t[2] < 0 || + t[2] !== Math.floor(t[2])) + ) + return e.error( + 'The length argument to "array" must be a positive integer literal', + 2 + ); + (o = t[2]), n++; + } + r = Ht(a, o); + } else r = le[i]; + for (var l = []; n < t.length; n++) { + var c = e.parse(t[n], n, jt); + if (!c) return null; + l.push(c); + } + return new ce(r, l); + }), + (ce.prototype.evaluate = function (t) { + for (var e = 0; e < this.args.length; e++) { + var r = this.args[e].evaluate(t); + if (!Wt(this.type, ie(r))) return r; + if (e === this.args.length - 1) + throw new se( + 'Expected value to be of type ' + + Gt(this.type) + + ', but found ' + + Gt(ie(r)) + + ' instead.' + ); + } + return null; + }), + (ce.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ce.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (ce.prototype.serialize = function () { + var t = this.type, + e = [t.kind]; + if ('array' === t.kind) { + var r = t.itemType; + if ( + 'string' === r.kind || + 'number' === r.kind || + 'boolean' === r.kind + ) { + e.push(r.kind); + var n = t.N; + ('number' == typeof n || this.args.length > 1) && + e.push(n); + } + } + return e.concat( + this.args.map(function (t) { + return t.serialize(); + }) + ); + }); + var ue = function (t) { + (this.type = Vt), (this.sections = t); + }; + (ue.parse = function (t, e) { + if (t.length < 2) + return e.error('Expected at least one argument.'); + var r = t[1]; + if (!Array.isArray(r) && 'object' == typeof r) + return e.error( + 'First argument must be an image or text section.' + ); + for (var n = [], i = !1, a = 1; a <= t.length - 1; ++a) { + var o = t[a]; + if (i && 'object' == typeof o && !Array.isArray(o)) { + i = !1; + var s = null; + if ( + o['font-scale'] && + !(s = e.parse(o['font-scale'], 1, Dt)) + ) + return null; + var l = null; + if ( + o['text-font'] && + !(l = e.parse(o['text-font'], 1, Ht(Rt))) + ) + return null; + var c = null; + if ( + o['text-color'] && + !(c = e.parse(o['text-color'], 1, Bt)) + ) + return null; + var u = n[n.length - 1]; + (u.scale = s), (u.font = l), (u.textColor = c); + } else { + var f = e.parse(t[a], 1, jt); + if (!f) return null; + var h = f.type.kind; + if ( + 'string' !== h && + 'value' !== h && + 'null' !== h && + 'resolvedImage' !== h + ) + return e.error( + "Formatted text type must be 'string', 'value', 'image' or 'null'." + ); + (i = !0), + n.push({ + content: f, + scale: null, + font: null, + textColor: null, + }); + } + } + return new ue(n); + }), + (ue.prototype.evaluate = function (t) { + return new te( + this.sections.map(function (e) { + var r = e.content.evaluate(t); + return ie(r) === qt + ? new $t('', r, null, null, null) + : new $t( + ae(r), + null, + e.scale ? e.scale.evaluate(t) : null, + e.font ? e.font.evaluate(t).join(',') : null, + e.textColor ? e.textColor.evaluate(t) : null + ); + }) + ); + }), + (ue.prototype.eachChild = function (t) { + for (var e = 0, r = this.sections; e < r.length; e += 1) { + var n = r[e]; + t(n.content), + n.scale && t(n.scale), + n.font && t(n.font), + n.textColor && t(n.textColor); + } + }), + (ue.prototype.outputDefined = function () { + return !1; + }), + (ue.prototype.serialize = function () { + for ( + var t = ['format'], e = 0, r = this.sections; + e < r.length; + e += 1 + ) { + var n = r[e]; + t.push(n.content.serialize()); + var i = {}; + n.scale && (i['font-scale'] = n.scale.serialize()), + n.font && (i['text-font'] = n.font.serialize()), + n.textColor && + (i['text-color'] = n.textColor.serialize()), + t.push(i); + } + return t; + }); + var fe = function (t) { + (this.type = qt), (this.input = t); + }; + (fe.parse = function (t, e) { + if (2 !== t.length) return e.error('Expected two arguments.'); + var r = e.parse(t[1], 1, Rt); + return r ? new fe(r) : e.error('No image name provided.'); + }), + (fe.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = ee.fromString(e); + return ( + r && + t.availableImages && + (r.available = t.availableImages.indexOf(e) > -1), + r + ); + }), + (fe.prototype.eachChild = function (t) { + t(this.input); + }), + (fe.prototype.outputDefined = function () { + return !1; + }), + (fe.prototype.serialize = function () { + return ['image', this.input.serialize()]; + }); + var he = { + 'to-boolean': Ft, + 'to-color': Bt, + 'to-number': Dt, + 'to-string': Rt, + }, + pe = function (t, e) { + (this.type = t), (this.args = e); + }; + (pe.parse = function (t, e) { + if (t.length < 2) + return e.error('Expected at least one argument.'); + var r = t[0]; + if ( + ('to-boolean' === r || 'to-string' === r) && + 2 !== t.length + ) + return e.error('Expected one argument.'); + for (var n = he[r], i = [], a = 1; a < t.length; a++) { + var o = e.parse(t[a], a, jt); + if (!o) return null; + i.push(o); + } + return new pe(n, i); + }), + (pe.prototype.evaluate = function (t) { + if ('boolean' === this.type.kind) + return Boolean(this.args[0].evaluate(t)); + if ('color' === this.type.kind) { + for ( + var e, r, n = 0, i = this.args; + n < i.length; + n += 1 + ) { + if (((r = null), (e = i[n].evaluate(t)) instanceof Kt)) + return e; + if ('string' == typeof e) { + var a = t.parseColor(e); + if (a) return a; + } else if ( + Array.isArray(e) && + !(r = + e.length < 3 || e.length > 4 + ? 'Invalid rbga value ' + + JSON.stringify(e) + + ': expected an array containing either three or four numeric values.' + : re(e[0], e[1], e[2], e[3])) + ) + return new Kt( + e[0] / 255, + e[1] / 255, + e[2] / 255, + e[3] + ); + } + throw new se( + r || + "Could not parse color from value '" + + ('string' == typeof e + ? e + : String(JSON.stringify(e))) + + "'" + ); + } + if ('number' === this.type.kind) { + for ( + var o = null, s = 0, l = this.args; + s < l.length; + s += 1 + ) { + if (null === (o = l[s].evaluate(t))) return 0; + var c = Number(o); + if (!isNaN(c)) return c; + } + throw new se( + 'Could not convert ' + JSON.stringify(o) + ' to number.' + ); + } + return 'formatted' === this.type.kind + ? te.fromString(ae(this.args[0].evaluate(t))) + : 'resolvedImage' === this.type.kind + ? ee.fromString(ae(this.args[0].evaluate(t))) + : ae(this.args[0].evaluate(t)); + }), + (pe.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (pe.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (pe.prototype.serialize = function () { + if ('formatted' === this.type.kind) + return new ue([ + { + content: this.args[0], + scale: null, + font: null, + textColor: null, + }, + ]).serialize(); + if ('resolvedImage' === this.type.kind) + return new fe(this.args[0]).serialize(); + var t = ['to-' + this.type.kind]; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var de = ['Unknown', 'Point', 'LineString', 'Polygon'], + ge = function () { + (this.globals = null), + (this.feature = null), + (this.featureState = null), + (this.formattedSection = null), + (this._parseColorCache = {}), + (this.availableImages = null), + (this.canonical = null); + }; + (ge.prototype.id = function () { + return this.feature && 'id' in this.feature + ? this.feature.id + : null; + }), + (ge.prototype.geometryType = function () { + return this.feature + ? 'number' == typeof this.feature.type + ? de[this.feature.type] + : this.feature.type + : null; + }), + (ge.prototype.geometry = function () { + return this.feature && 'geometry' in this.feature + ? this.feature.geometry + : null; + }), + (ge.prototype.canonicalID = function () { + return this.canonical; + }), + (ge.prototype.properties = function () { + return (this.feature && this.feature.properties) || {}; + }), + (ge.prototype.parseColor = function (t) { + var e = this._parseColorCache[t]; + return e || (e = this._parseColorCache[t] = Kt.parse(t)), e; + }); + var me = function (t, e, r, n) { + (this.name = t), + (this.type = e), + (this._evaluate = r), + (this.args = n); + }; + (me.prototype.evaluate = function (t) { + return this._evaluate(t, this.args); + }), + (me.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (me.prototype.outputDefined = function () { + return !1; + }), + (me.prototype.serialize = function () { + return [this.name].concat( + this.args.map(function (t) { + return t.serialize(); + }) + ); + }), + (me.parse = function (t, e) { + var r, + n = t[0], + i = me.definitions[n]; + if (!i) + return e.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0 + ); + for ( + var a = Array.isArray(i) ? i[0] : i.type, + o = Array.isArray(i) ? [[i[1], i[2]]] : i.overloads, + s = o.filter(function (e) { + var r = e[0]; + return !Array.isArray(r) || r.length === t.length - 1; + }), + l = null, + c = 0, + u = s; + c < u.length; + c += 1 + ) { + var f = u[c], + h = f[0], + p = f[1]; + l = new Be(e.registry, e.path, null, e.scope); + for (var d = [], g = !1, m = 1; m < t.length; m++) { + var v = t[m], + y = Array.isArray(h) ? h[m - 1] : h.type, + x = l.parse(v, 1 + d.length, y); + if (!x) { + g = !0; + break; + } + d.push(x); + } + if (!g) + if (Array.isArray(h) && h.length !== d.length) + l.error( + 'Expected ' + + h.length + + ' arguments, but found ' + + d.length + + ' instead.' + ); + else { + for (var b = 0; b < d.length; b++) { + var _ = Array.isArray(h) ? h[b] : h.type, + w = d[b]; + l.concat(b + 1).checkSubtype(_, w.type); + } + if (0 === l.errors.length) return new me(n, a, p, d); + } + } + if (1 === s.length) (r = e.errors).push.apply(r, l.errors); + else { + for ( + var T = (s.length ? s : o) + .map(function (t) { + var e; + return ( + (e = t[0]), + Array.isArray(e) + ? '(' + e.map(Gt).join(', ') + ')' + : '(' + Gt(e.type) + '...)' + ); + }) + .join(' | '), + k = [], + M = 1; + M < t.length; + M++ + ) { + var A = e.parse(t[M], 1 + k.length); + if (!A) return null; + k.push(Gt(A.type)); + } + e.error( + 'Expected arguments of type ' + + T + + ', but found (' + + k.join(', ') + + ') instead.' + ); + } + return null; + }), + (me.register = function (t, e) { + for (var r in ((me.definitions = e), e)) t[r] = me; + }); + var ve = function (t, e, r) { + (this.type = Ut), + (this.locale = r), + (this.caseSensitive = t), + (this.diacriticSensitive = e); + }; + function ye(t, e) { + (t[0] = Math.min(t[0], e[0])), + (t[1] = Math.min(t[1], e[1])), + (t[2] = Math.max(t[2], e[0])), + (t[3] = Math.max(t[3], e[1])); + } + function xe(t, e) { + return !( + t[0] <= e[0] || + t[2] >= e[2] || + t[1] <= e[1] || + t[3] >= e[3] + ); + } + function be(t, e) { + var r = (180 + t[0]) / 360, + n = + (180 - + (180 / Math.PI) * + Math.log( + Math.tan(Math.PI / 4 + (t[1] * Math.PI) / 360) + )) / + 360, + i = Math.pow(2, e.z); + return [Math.round(r * i * 8192), Math.round(n * i * 8192)]; + } + function _e(t, e, r) { + return ( + e[1] > t[1] != r[1] > t[1] && + t[0] < + ((r[0] - e[0]) * (t[1] - e[1])) / (r[1] - e[1]) + e[0] + ); + } + function we(t, e) { + for ( + var r, n, i, a, o, s, l, c = !1, u = 0, f = e.length; + u < f; + u++ + ) + for (var h = e[u], p = 0, d = h.length; p < d - 1; p++) { + if ( + (a = (r = t)[0] - (n = h[p])[0]) * + (l = r[1] - (i = h[p + 1])[1]) - + (s = r[0] - i[0]) * (o = r[1] - n[1]) == + 0 && + a * s <= 0 && + o * l <= 0 + ) + return !1; + _e(t, h[p], h[p + 1]) && (c = !c); + } + return c; + } + function Te(t, e) { + for (var r = 0; r < e.length; r++) if (we(t, e[r])) return !0; + return !1; + } + function ke(t, e, r, n) { + var i = n[0] - r[0], + a = n[1] - r[1], + o = (t[0] - r[0]) * a - i * (t[1] - r[1]), + s = (e[0] - r[0]) * a - i * (e[1] - r[1]); + return (o > 0 && s < 0) || (o < 0 && s > 0); + } + function Me(t, e, r) { + for (var n = 0, i = r; n < i.length; n += 1) + for (var a = i[n], o = 0; o < a.length - 1; ++o) + if ( + 0 != + (f = [ + (u = a[o + 1])[0] - (c = a[o])[0], + u[1] - c[1], + ])[0] * + (h = [(l = e)[0] - (s = t)[0], l[1] - s[1]])[1] - + f[1] * h[0] && + ke(s, l, c, u) && + ke(c, u, s, l) + ) + return !0; + var s, l, c, u, f, h; + return !1; + } + function Ae(t, e) { + for (var r = 0; r < t.length; ++r) + if (!we(t[r], e)) return !1; + for (var n = 0; n < t.length - 1; ++n) + if (Me(t[n], t[n + 1], e)) return !1; + return !0; + } + function Se(t, e) { + for (var r = 0; r < e.length; r++) if (Ae(t, e[r])) return !0; + return !1; + } + function Ee(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + for (var a = [], o = 0; o < t[i].length; o++) { + var s = be(t[i][o], r); + ye(e, s), a.push(s); + } + n.push(a); + } + return n; + } + function Ce(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) { + var a = Ee(t[i], e, r); + n.push(a); + } + return n; + } + function Le(t, e, r, n) { + if (t[0] < r[0] || t[0] > r[2]) { + var i = 0.5 * n, + a = t[0] - r[0] > i ? -n : r[0] - t[0] > i ? n : 0; + 0 === a && + (a = t[0] - r[2] > i ? -n : r[2] - t[0] > i ? n : 0), + (t[0] += a); + } + ye(e, t); + } + function Ie(t, e, r, n) { + for ( + var i = 8192 * Math.pow(2, n.z), + a = [8192 * n.x, 8192 * n.y], + o = [], + s = 0, + l = t; + s < l.length; + s += 1 + ) + for (var c = 0, u = l[s]; c < u.length; c += 1) { + var f = u[c], + h = [f.x + a[0], f.y + a[1]]; + Le(h, e, r, i), o.push(h); + } + return o; + } + function Pe(t, e, r, n) { + for ( + var i, + a = 8192 * Math.pow(2, n.z), + o = [8192 * n.x, 8192 * n.y], + s = [], + l = 0, + c = t; + l < c.length; + l += 1 + ) { + for (var u = [], f = 0, h = c[l]; f < h.length; f += 1) { + var p = h[f], + d = [p.x + o[0], p.y + o[1]]; + ye(e, d), u.push(d); + } + s.push(u); + } + if (e[2] - e[0] <= a / 2) { + ((i = e)[0] = i[1] = 1 / 0), (i[2] = i[3] = -1 / 0); + for (var g = 0, m = s; g < m.length; g += 1) + for (var v = 0, y = m[g]; v < y.length; v += 1) + Le(y[v], e, r, a); + } + return s; + } + (ve.parse = function (t, e) { + if (2 !== t.length) return e.error('Expected one argument.'); + var r = t[1]; + if ('object' != typeof r || Array.isArray(r)) + return e.error( + 'Collator options argument must be an object.' + ); + var n = e.parse( + void 0 !== r['case-sensitive'] && r['case-sensitive'], + 1, + Ft + ); + if (!n) return null; + var i = e.parse( + void 0 !== r['diacritic-sensitive'] && + r['diacritic-sensitive'], + 1, + Ft + ); + if (!i) return null; + var a = null; + return r.locale && !(a = e.parse(r.locale, 1, Rt)) + ? null + : new ve(n, i, a); + }), + (ve.prototype.evaluate = function (t) { + return new Qt( + this.caseSensitive.evaluate(t), + this.diacriticSensitive.evaluate(t), + this.locale ? this.locale.evaluate(t) : null + ); + }), + (ve.prototype.eachChild = function (t) { + t(this.caseSensitive), + t(this.diacriticSensitive), + this.locale && t(this.locale); + }), + (ve.prototype.outputDefined = function () { + return !1; + }), + (ve.prototype.serialize = function () { + var t = {}; + return ( + (t['case-sensitive'] = this.caseSensitive.serialize()), + (t['diacritic-sensitive'] = + this.diacriticSensitive.serialize()), + this.locale && (t.locale = this.locale.serialize()), + ['collator', t] + ); + }); + var ze = function (t, e) { + (this.type = Ft), (this.geojson = t), (this.geometries = e); + }; + function Oe(t) { + if (t instanceof me) { + if ('get' === t.name && 1 === t.args.length) return !1; + if ('feature-state' === t.name) return !1; + if ('has' === t.name && 1 === t.args.length) return !1; + if ( + 'properties' === t.name || + 'geometry-type' === t.name || + 'id' === t.name + ) + return !1; + if (/^filter-/.test(t.name)) return !1; + } + if (t instanceof ze) return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !Oe(t) && (e = !1); + }), + e + ); + } + function De(t) { + if (t instanceof me && 'feature-state' === t.name) return !1; + var e = !0; + return ( + t.eachChild(function (t) { + e && !De(t) && (e = !1); + }), + e + ); + } + function Re(t, e) { + if (t instanceof me && e.indexOf(t.name) >= 0) return !1; + var r = !0; + return ( + t.eachChild(function (t) { + r && !Re(t, e) && (r = !1); + }), + r + ); + } + (ze.parse = function (t, e) { + if (2 !== t.length) + return e.error( + "'within' expression requires exactly one argument, but found " + + (t.length - 1) + + ' instead.' + ); + if (ne(t[1])) { + var r = t[1]; + if ('FeatureCollection' === r.type) + for (var n = 0; n < r.features.length; ++n) { + var i = r.features[n].geometry.type; + if ('Polygon' === i || 'MultiPolygon' === i) + return new ze(r, r.features[n].geometry); + } + else if ('Feature' === r.type) { + var a = r.geometry.type; + if ('Polygon' === a || 'MultiPolygon' === a) + return new ze(r, r.geometry); + } else if ( + 'Polygon' === r.type || + 'MultiPolygon' === r.type + ) + return new ze(r, r); + } + return e.error( + "'within' expression requires valid geojson object that contains polygon geometry type." + ); + }), + (ze.prototype.evaluate = function (t) { + if (null != t.geometry() && null != t.canonicalID()) { + if ('Point' === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ('Polygon' === e.type) { + var a = Ee(e.coordinates, n, i), + o = Ie(t.geometry(), r, n, i); + if (!xe(r, n)) return !1; + for (var s = 0, l = o; s < l.length; s += 1) + if (!we(l[s], a)) return !1; + } + if ('MultiPolygon' === e.type) { + var c = Ce(e.coordinates, n, i), + u = Ie(t.geometry(), r, n, i); + if (!xe(r, n)) return !1; + for (var f = 0, h = u; f < h.length; f += 1) + if (!Te(h[f], c)) return !1; + } + return !0; + })(t, this.geometries); + if ('LineString' === t.geometryType()) + return (function (t, e) { + var r = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + n = [1 / 0, 1 / 0, -1 / 0, -1 / 0], + i = t.canonicalID(); + if ('Polygon' === e.type) { + var a = Ee(e.coordinates, n, i), + o = Pe(t.geometry(), r, n, i); + if (!xe(r, n)) return !1; + for (var s = 0, l = o; s < l.length; s += 1) + if (!Ae(l[s], a)) return !1; + } + if ('MultiPolygon' === e.type) { + var c = Ce(e.coordinates, n, i), + u = Pe(t.geometry(), r, n, i); + if (!xe(r, n)) return !1; + for (var f = 0, h = u; f < h.length; f += 1) + if (!Se(h[f], c)) return !1; + } + return !0; + })(t, this.geometries); + } + return !1; + }), + (ze.prototype.eachChild = function () {}), + (ze.prototype.outputDefined = function () { + return !0; + }), + (ze.prototype.serialize = function () { + return ['within', this.geojson]; + }); + var Fe = function (t, e) { + (this.type = e.type), + (this.name = t), + (this.boundExpression = e); + }; + (Fe.parse = function (t, e) { + if (2 !== t.length || 'string' != typeof t[1]) + return e.error( + "'var' expression requires exactly one string literal argument." + ); + var r = t[1]; + return e.scope.has(r) + ? new Fe(r, e.scope.get(r)) + : e.error( + 'Unknown variable "' + + r + + '". Make sure "' + + r + + '" has been bound in an enclosing "let" expression before using it.', + 1 + ); + }), + (Fe.prototype.evaluate = function (t) { + return this.boundExpression.evaluate(t); + }), + (Fe.prototype.eachChild = function () {}), + (Fe.prototype.outputDefined = function () { + return !1; + }), + (Fe.prototype.serialize = function () { + return ['var', this.name]; + }); + var Be = function (t, e, r, n, i) { + void 0 === e && (e = []), + void 0 === n && (n = new zt()), + void 0 === i && (i = []), + (this.registry = t), + (this.path = e), + (this.key = e + .map(function (t) { + return '[' + t + ']'; + }) + .join('')), + (this.scope = n), + (this.errors = i), + (this.expectedType = r); + }; + function Ne(t, e) { + for (var r, n = t.length - 1, i = 0, a = n, o = 0; i <= a; ) + if ((r = t[(o = Math.floor((i + a) / 2))]) <= e) { + if (o === n || e < t[o + 1]) return o; + i = o + 1; + } else { + if (!(r > e)) throw new se('Input is not a number.'); + a = o - 1; + } + return 0; + } + (Be.prototype.parse = function (t, e, r, n, i) { + return ( + void 0 === i && (i = {}), + e ? this.concat(e, r, n)._parse(t, i) : this._parse(t, i) + ); + }), + (Be.prototype._parse = function (t, e) { + function r(t, e, r) { + return 'assert' === r + ? new ce(e, [t]) + : 'coerce' === r + ? new pe(e, [t]) + : t; + } + if ( + ((null !== t && + 'string' != typeof t && + 'boolean' != typeof t && + 'number' != typeof t) || + (t = ['literal', t]), + Array.isArray(t)) + ) { + if (0 === t.length) + return this.error( + 'Expected an array with at least one element. If you wanted a literal array, use ["literal", []].' + ); + var n = t[0]; + if ('string' != typeof n) + return ( + this.error( + 'Expression name must be a string, but found ' + + typeof n + + ' instead. If you wanted a literal array, use ["literal", [...]].', + 0 + ), + null + ); + var i = this.registry[n]; + if (i) { + var a = i.parse(t, this); + if (!a) return null; + if (this.expectedType) { + var o = this.expectedType, + s = a.type; + if ( + ('string' !== o.kind && + 'number' !== o.kind && + 'boolean' !== o.kind && + 'object' !== o.kind && + 'array' !== o.kind) || + 'value' !== s.kind + ) + if ( + ('color' !== o.kind && + 'formatted' !== o.kind && + 'resolvedImage' !== o.kind) || + ('value' !== s.kind && 'string' !== s.kind) + ) { + if (this.checkSubtype(o, s)) return null; + } else a = r(a, o, e.typeAnnotation || 'coerce'); + else a = r(a, o, e.typeAnnotation || 'assert'); + } + if ( + !(a instanceof oe) && + 'resolvedImage' !== a.type.kind && + (function t(e) { + if (e instanceof Fe) return t(e.boundExpression); + if (e instanceof me && 'error' === e.name) + return !1; + if (e instanceof ve) return !1; + if (e instanceof ze) return !1; + var r = e instanceof pe || e instanceof ce, + n = !0; + return ( + e.eachChild(function (e) { + n = r ? n && t(e) : n && e instanceof oe; + }), + !!n && + Oe(e) && + Re(e, [ + 'zoom', + 'heatmap-density', + 'line-progress', + 'accumulated', + 'is-supported-script', + ]) + ); + })(a) + ) { + var l = new ge(); + try { + a = new oe(a.type, a.evaluate(l)); + } catch (t) { + return this.error(t.message), null; + } + } + return a; + } + return this.error( + 'Unknown expression "' + + n + + '". If you wanted a literal array, use ["literal", [...]].', + 0 + ); + } + return this.error( + void 0 === t + ? "'undefined' value invalid. Use null instead." + : 'object' == typeof t + ? 'Bare objects invalid. Use ["literal", {...}] instead.' + : 'Expected an array, but found ' + + typeof t + + ' instead.' + ); + }), + (Be.prototype.concat = function (t, e, r) { + var n = + 'number' == typeof t ? this.path.concat(t) : this.path, + i = r ? this.scope.concat(r) : this.scope; + return new Be(this.registry, n, e || null, i, this.errors); + }), + (Be.prototype.error = function (t) { + for (var e = [], r = arguments.length - 1; r-- > 0; ) + e[r] = arguments[r + 1]; + var n = + '' + + this.key + + e + .map(function (t) { + return '[' + t + ']'; + }) + .join(''); + this.errors.push(new Pt(n, t)); + }), + (Be.prototype.checkSubtype = function (t, e) { + var r = Wt(t, e); + return r && this.error(r), r; + }); + var je = function (t, e, r) { + (this.type = t), + (this.input = e), + (this.labels = []), + (this.outputs = []); + for (var n = 0, i = r; n < i.length; n += 1) { + var a = i[n], + o = a[1]; + this.labels.push(a[0]), this.outputs.push(o); + } + }; + function Ue(t, e, r) { + return t * (1 - r) + e * r; + } + (je.parse = function (t, e) { + if (t.length - 1 < 4) + return e.error( + 'Expected at least 4 arguments, but found only ' + + (t.length - 1) + + '.' + ); + if ((t.length - 1) % 2 != 0) + return e.error('Expected an even number of arguments.'); + var r = e.parse(t[1], 1, Dt); + if (!r) return null; + var n = [], + i = null; + e.expectedType && + 'value' !== e.expectedType.kind && + (i = e.expectedType); + for (var a = 1; a < t.length; a += 2) { + var o = 1 === a ? -1 / 0 : t[a], + s = t[a + 1], + l = a, + c = a + 1; + if ('number' != typeof o) + return e.error( + 'Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + l + ); + if (n.length && n[n.length - 1][0] >= o) + return e.error( + 'Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', + l + ); + var u = e.parse(s, c, i); + if (!u) return null; + (i = i || u.type), n.push([o, u]); + } + return new je(i, r, n); + }), + (je.prototype.evaluate = function (t) { + var e = this.labels, + r = this.outputs; + if (1 === e.length) return r[0].evaluate(t); + var n = this.input.evaluate(t); + if (n <= e[0]) return r[0].evaluate(t); + var i = e.length; + return n >= e[i - 1] + ? r[i - 1].evaluate(t) + : r[Ne(e, n)].evaluate(t); + }), + (je.prototype.eachChild = function (t) { + t(this.input); + for (var e = 0, r = this.outputs; e < r.length; e += 1) + t(r[e]); + }), + (je.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (je.prototype.serialize = function () { + for ( + var t = ['step', this.input.serialize()], e = 0; + e < this.labels.length; + e++ + ) + e > 0 && t.push(this.labels[e]), + t.push(this.outputs[e].serialize()); + return t; + }); + var Ve = Object.freeze({ + __proto__: null, + number: Ue, + color: function (t, e, r) { + return new Kt( + Ue(t.r, e.r, r), + Ue(t.g, e.g, r), + Ue(t.b, e.b, r), + Ue(t.a, e.a, r) + ); + }, + array: function (t, e, r) { + return t.map(function (t, n) { + return Ue(t, e[n], r); + }); + }, + }), + qe = (6 / 29) * 3 * (6 / 29), + He = Math.PI / 180, + Ge = 180 / Math.PI; + function Ye(t) { + return t > 0.008856451679035631 + ? Math.pow(t, 1 / 3) + : t / qe + 4 / 29; + } + function We(t) { + return t > 6 / 29 ? t * t * t : qe * (t - 4 / 29); + } + function Xe(t) { + return ( + 255 * + (t <= 0.0031308 + ? 12.92 * t + : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + ); + } + function Ze(t) { + return (t /= 255) <= 0.04045 + ? t / 12.92 + : Math.pow((t + 0.055) / 1.055, 2.4); + } + function Je(t) { + var e = Ze(t.r), + r = Ze(t.g), + n = Ze(t.b), + i = Ye( + (0.4124564 * e + 0.3575761 * r + 0.1804375 * n) / 0.95047 + ), + a = Ye((0.2126729 * e + 0.7151522 * r + 0.072175 * n) / 1); + return { + l: 116 * a - 16, + a: 500 * (i - a), + b: + 200 * + (a - + Ye( + (0.0193339 * e + 0.119192 * r + 0.9503041 * n) / + 1.08883 + )), + alpha: t.a, + }; + } + function Ke(t) { + var e = (t.l + 16) / 116, + r = isNaN(t.a) ? e : e + t.a / 500, + n = isNaN(t.b) ? e : e - t.b / 200; + return ( + (e = 1 * We(e)), + (r = 0.95047 * We(r)), + (n = 1.08883 * We(n)), + new Kt( + Xe(3.2404542 * r - 1.5371385 * e - 0.4985314 * n), + Xe(-0.969266 * r + 1.8760108 * e + 0.041556 * n), + Xe(0.0556434 * r - 0.2040259 * e + 1.0572252 * n), + t.alpha + ) + ); + } + function Qe(t, e, r) { + var n = e - t; + return ( + t + + r * + (n > 180 || n < -180 ? n - 360 * Math.round(n / 360) : n) + ); + } + var $e = { + forward: Je, + reverse: Ke, + interpolate: function (t, e, r) { + return { + l: Ue(t.l, e.l, r), + a: Ue(t.a, e.a, r), + b: Ue(t.b, e.b, r), + alpha: Ue(t.alpha, e.alpha, r), + }; + }, + }, + tr = { + forward: function (t) { + var e = Je(t), + r = e.l, + n = e.a, + i = e.b, + a = Math.atan2(i, n) * Ge; + return { + h: a < 0 ? a + 360 : a, + c: Math.sqrt(n * n + i * i), + l: r, + alpha: t.a, + }; + }, + reverse: function (t) { + var e = t.h * He, + r = t.c; + return Ke({ + l: t.l, + a: Math.cos(e) * r, + b: Math.sin(e) * r, + alpha: t.alpha, + }); + }, + interpolate: function (t, e, r) { + return { + h: Qe(t.h, e.h, r), + c: Ue(t.c, e.c, r), + l: Ue(t.l, e.l, r), + alpha: Ue(t.alpha, e.alpha, r), + }; + }, + }, + er = Object.freeze({ __proto__: null, lab: $e, hcl: tr }), + rr = function (t, e, r, n, i) { + (this.type = t), + (this.operator = e), + (this.interpolation = r), + (this.input = n), + (this.labels = []), + (this.outputs = []); + for (var a = 0, o = i; a < o.length; a += 1) { + var s = o[a], + l = s[1]; + this.labels.push(s[0]), this.outputs.push(l); + } + }; + function nr(t, e, r, n) { + var i = n - r, + a = t - r; + return 0 === i + ? 0 + : 1 === e + ? a / i + : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); + } + (rr.interpolationFactor = function (t, e, n, i) { + var a = 0; + if ('exponential' === t.name) a = nr(e, t.base, n, i); + else if ('linear' === t.name) a = nr(e, 1, n, i); + else if ('cubic-bezier' === t.name) { + var o = t.controlPoints; + a = new r(o[0], o[1], o[2], o[3]).solve(nr(e, 1, n, i)); + } + return a; + }), + (rr.parse = function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t.slice(3); + if (!Array.isArray(n) || 0 === n.length) + return e.error( + 'Expected an interpolation type expression.', + 1 + ); + if ('linear' === n[0]) n = { name: 'linear' }; + else if ('exponential' === n[0]) { + var o = n[1]; + if ('number' != typeof o) + return e.error( + 'Exponential interpolation requires a numeric base.', + 1, + 1 + ); + n = { name: 'exponential', base: o }; + } else { + if ('cubic-bezier' !== n[0]) + return e.error( + 'Unknown interpolation type ' + String(n[0]), + 1, + 0 + ); + var s = n.slice(1); + if ( + 4 !== s.length || + s.some(function (t) { + return 'number' != typeof t || t < 0 || t > 1; + }) + ) + return e.error( + 'Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.', + 1 + ); + n = { name: 'cubic-bezier', controlPoints: s }; + } + if (t.length - 1 < 4) + return e.error( + 'Expected at least 4 arguments, but found only ' + + (t.length - 1) + + '.' + ); + if ((t.length - 1) % 2 != 0) + return e.error('Expected an even number of arguments.'); + if (!(i = e.parse(i, 2, Dt))) return null; + var l = [], + c = null; + 'interpolate-hcl' === r || 'interpolate-lab' === r + ? (c = Bt) + : e.expectedType && + 'value' !== e.expectedType.kind && + (c = e.expectedType); + for (var u = 0; u < a.length; u += 2) { + var f = a[u], + h = a[u + 1], + p = u + 3, + d = u + 4; + if ('number' != typeof f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', + p + ); + if (l.length && l[l.length - 1][0] >= f) + return e.error( + 'Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', + p + ); + var g = e.parse(h, d, c); + if (!g) return null; + (c = c || g.type), l.push([f, g]); + } + return 'number' === c.kind || + 'color' === c.kind || + ('array' === c.kind && + 'number' === c.itemType.kind && + 'number' == typeof c.N) + ? new rr(c, r, n, i, l) + : e.error('Type ' + Gt(c) + ' is not interpolatable.'); + }), + (rr.prototype.evaluate = function (t) { + var e = this.labels, + r = this.outputs; + if (1 === e.length) return r[0].evaluate(t); + var n = this.input.evaluate(t); + if (n <= e[0]) return r[0].evaluate(t); + var i = e.length; + if (n >= e[i - 1]) return r[i - 1].evaluate(t); + var a = Ne(e, n), + o = rr.interpolationFactor( + this.interpolation, + n, + e[a], + e[a + 1] + ), + s = r[a].evaluate(t), + l = r[a + 1].evaluate(t); + return 'interpolate' === this.operator + ? Ve[this.type.kind.toLowerCase()](s, l, o) + : 'interpolate-hcl' === this.operator + ? tr.reverse( + tr.interpolate(tr.forward(s), tr.forward(l), o) + ) + : $e.reverse( + $e.interpolate($e.forward(s), $e.forward(l), o) + ); + }), + (rr.prototype.eachChild = function (t) { + t(this.input); + for (var e = 0, r = this.outputs; e < r.length; e += 1) + t(r[e]); + }), + (rr.prototype.outputDefined = function () { + return this.outputs.every(function (t) { + return t.outputDefined(); + }); + }), + (rr.prototype.serialize = function () { + var t; + t = + 'linear' === this.interpolation.name + ? ['linear'] + : 'exponential' === this.interpolation.name + ? 1 === this.interpolation.base + ? ['linear'] + : ['exponential', this.interpolation.base] + : ['cubic-bezier'].concat( + this.interpolation.controlPoints + ); + for ( + var e = [this.operator, t, this.input.serialize()], r = 0; + r < this.labels.length; + r++ + ) + e.push(this.labels[r], this.outputs[r].serialize()); + return e; + }); + var ir = function (t, e) { + (this.type = t), (this.args = e); + }; + (ir.parse = function (t, e) { + if (t.length < 2) + return e.error('Expectected at least one argument.'); + var r = null, + n = e.expectedType; + n && 'value' !== n.kind && (r = n); + for ( + var i = [], a = 0, o = t.slice(1); + a < o.length; + a += 1 + ) { + var s = e.parse(o[a], 1 + i.length, r, void 0, { + typeAnnotation: 'omit', + }); + if (!s) return null; + (r = r || s.type), i.push(s); + } + var l = + n && + i.some(function (t) { + return Wt(n, t.type); + }); + return new ir(l ? jt : r, i); + }), + (ir.prototype.evaluate = function (t) { + for ( + var e, r = null, n = 0, i = 0, a = this.args; + i < a.length && + (n++, + (r = a[i].evaluate(t)) && + r instanceof ee && + !r.available && + (e || (e = r.name), + (r = null), + n === this.args.length && (r = e)), + null === r); + i += 1 + ); + return r; + }), + (ir.prototype.eachChild = function (t) { + this.args.forEach(t); + }), + (ir.prototype.outputDefined = function () { + return this.args.every(function (t) { + return t.outputDefined(); + }); + }), + (ir.prototype.serialize = function () { + var t = ['coalesce']; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var ar = function (t, e) { + (this.type = e.type), + (this.bindings = [].concat(t)), + (this.result = e); + }; + (ar.prototype.evaluate = function (t) { + return this.result.evaluate(t); + }), + (ar.prototype.eachChild = function (t) { + for (var e = 0, r = this.bindings; e < r.length; e += 1) + t(r[e][1]); + t(this.result); + }), + (ar.parse = function (t, e) { + if (t.length < 4) + return e.error( + 'Expected at least 3 arguments, but found ' + + (t.length - 1) + + ' instead.' + ); + for (var r = [], n = 1; n < t.length - 1; n += 2) { + var i = t[n]; + if ('string' != typeof i) + return e.error( + 'Expected string, but found ' + + typeof i + + ' instead.', + n + ); + if (/[^a-zA-Z0-9_]/.test(i)) + return e.error( + "Variable names must contain only alphanumeric characters or '_'.", + n + ); + var a = e.parse(t[n + 1], n + 1); + if (!a) return null; + r.push([i, a]); + } + var o = e.parse( + t[t.length - 1], + t.length - 1, + e.expectedType, + r + ); + return o ? new ar(r, o) : null; + }), + (ar.prototype.outputDefined = function () { + return this.result.outputDefined(); + }), + (ar.prototype.serialize = function () { + for ( + var t = ['let'], e = 0, r = this.bindings; + e < r.length; + e += 1 + ) { + var n = r[e]; + t.push(n[0], n[1].serialize()); + } + return t.push(this.result.serialize()), t; + }); + var or = function (t, e, r) { + (this.type = t), (this.index = e), (this.input = r); + }; + (or.parse = function (t, e) { + if (3 !== t.length) + return e.error( + 'Expected 2 arguments, but found ' + + (t.length - 1) + + ' instead.' + ); + var r = e.parse(t[1], 1, Dt), + n = e.parse(t[2], 2, Ht(e.expectedType || jt)); + return r && n ? new or(n.type.itemType, r, n) : null; + }), + (or.prototype.evaluate = function (t) { + var e = this.index.evaluate(t), + r = this.input.evaluate(t); + if (e < 0) + throw new se('Array index out of bounds: ' + e + ' < 0.'); + if (e >= r.length) + throw new se( + 'Array index out of bounds: ' + + e + + ' > ' + + (r.length - 1) + + '.' + ); + if (e !== Math.floor(e)) + throw new se( + 'Array index must be an integer, but found ' + + e + + ' instead.' + ); + return r[e]; + }), + (or.prototype.eachChild = function (t) { + t(this.index), t(this.input); + }), + (or.prototype.outputDefined = function () { + return !1; + }), + (or.prototype.serialize = function () { + return [ + 'at', + this.index.serialize(), + this.input.serialize(), + ]; + }); + var sr = function (t, e) { + (this.type = Ft), (this.needle = t), (this.haystack = e); + }; + (sr.parse = function (t, e) { + if (3 !== t.length) + return e.error( + 'Expected 2 arguments, but found ' + + (t.length - 1) + + ' instead.' + ); + var r = e.parse(t[1], 1, jt), + n = e.parse(t[2], 2, jt); + return r && n + ? Xt(r.type, [Ft, Rt, Dt, Ot, jt]) + ? new sr(r, n) + : e.error( + 'Expected first argument to be of type boolean, string, number or null, but found ' + + Gt(r.type) + + ' instead' + ) + : null; + }), + (sr.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!r) return !1; + if (!Zt(e, ['boolean', 'string', 'number', 'null'])) + throw new se( + 'Expected first argument to be of type boolean, string, number or null, but found ' + + Gt(ie(e)) + + ' instead.' + ); + if (!Zt(r, ['string', 'array'])) + throw new se( + 'Expected second argument to be of type array or string, but found ' + + Gt(ie(r)) + + ' instead.' + ); + return r.indexOf(e) >= 0; + }), + (sr.prototype.eachChild = function (t) { + t(this.needle), t(this.haystack); + }), + (sr.prototype.outputDefined = function () { + return !0; + }), + (sr.prototype.serialize = function () { + return [ + 'in', + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var lr = function (t, e, r) { + (this.type = Dt), + (this.needle = t), + (this.haystack = e), + (this.fromIndex = r); + }; + (lr.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + 'Expected 3 or 4 arguments, but found ' + + (t.length - 1) + + ' instead.' + ); + var r = e.parse(t[1], 1, jt), + n = e.parse(t[2], 2, jt); + if (!r || !n) return null; + if (!Xt(r.type, [Ft, Rt, Dt, Ot, jt])) + return e.error( + 'Expected first argument to be of type boolean, string, number or null, but found ' + + Gt(r.type) + + ' instead' + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Dt); + return i ? new lr(r, n, i) : null; + } + return new lr(r, n); + }), + (lr.prototype.evaluate = function (t) { + var e = this.needle.evaluate(t), + r = this.haystack.evaluate(t); + if (!Zt(e, ['boolean', 'string', 'number', 'null'])) + throw new se( + 'Expected first argument to be of type boolean, string, number or null, but found ' + + Gt(ie(e)) + + ' instead.' + ); + if (!Zt(r, ['string', 'array'])) + throw new se( + 'Expected second argument to be of type array or string, but found ' + + Gt(ie(r)) + + ' instead.' + ); + if (this.fromIndex) { + var n = this.fromIndex.evaluate(t); + return r.indexOf(e, n); + } + return r.indexOf(e); + }), + (lr.prototype.eachChild = function (t) { + t(this.needle), + t(this.haystack), + this.fromIndex && t(this.fromIndex); + }), + (lr.prototype.outputDefined = function () { + return !1; + }), + (lr.prototype.serialize = function () { + if (null != this.fromIndex && void 0 !== this.fromIndex) { + var t = this.fromIndex.serialize(); + return [ + 'index-of', + this.needle.serialize(), + this.haystack.serialize(), + t, + ]; + } + return [ + 'index-of', + this.needle.serialize(), + this.haystack.serialize(), + ]; + }); + var cr = function (t, e, r, n, i, a) { + (this.inputType = t), + (this.type = e), + (this.input = r), + (this.cases = n), + (this.outputs = i), + (this.otherwise = a); + }; + (cr.parse = function (t, e) { + if (t.length < 5) + return e.error( + 'Expected at least 4 arguments, but found only ' + + (t.length - 1) + + '.' + ); + if (t.length % 2 != 1) + return e.error('Expected an even number of arguments.'); + var r, n; + e.expectedType && + 'value' !== e.expectedType.kind && + (n = e.expectedType); + for (var i = {}, a = [], o = 2; o < t.length - 1; o += 2) { + var s = t[o], + l = t[o + 1]; + Array.isArray(s) || (s = [s]); + var c = e.concat(o); + if (0 === s.length) + return c.error('Expected at least one branch label.'); + for (var u = 0, f = s; u < f.length; u += 1) { + var h = f[u]; + if ('number' != typeof h && 'string' != typeof h) + return c.error( + 'Branch labels must be numbers or strings.' + ); + if ( + 'number' == typeof h && + Math.abs(h) > Number.MAX_SAFE_INTEGER + ) + return c.error( + 'Branch labels must be integers no larger than ' + + Number.MAX_SAFE_INTEGER + + '.' + ); + if ('number' == typeof h && Math.floor(h) !== h) + return c.error( + 'Numeric branch labels must be integer values.' + ); + if (r) { + if (c.checkSubtype(r, ie(h))) return null; + } else r = ie(h); + if (void 0 !== i[String(h)]) + return c.error('Branch labels must be unique.'); + i[String(h)] = a.length; + } + var p = e.parse(l, o, n); + if (!p) return null; + (n = n || p.type), a.push(p); + } + var d = e.parse(t[1], 1, jt); + if (!d) return null; + var g = e.parse(t[t.length - 1], t.length - 1, n); + return g + ? 'value' !== d.type.kind && + e.concat(1).checkSubtype(r, d.type) + ? null + : new cr(r, n, d, i, a, g) + : null; + }), + (cr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + return ( + (ie(e) === this.inputType && + this.outputs[this.cases[e]]) || + this.otherwise + ).evaluate(t); + }), + (cr.prototype.eachChild = function (t) { + t(this.input), this.outputs.forEach(t), t(this.otherwise); + }), + (cr.prototype.outputDefined = function () { + return ( + this.outputs.every(function (t) { + return t.outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (cr.prototype.serialize = function () { + for ( + var t = this, + e = ['match', this.input.serialize()], + r = [], + n = {}, + i = 0, + a = Object.keys(this.cases).sort(); + i < a.length; + i += 1 + ) { + var o = a[i]; + void 0 === (f = n[this.cases[o]]) + ? ((n[this.cases[o]] = r.length), + r.push([this.cases[o], [o]])) + : r[f][1].push(o); + } + for ( + var s = function (e) { + return 'number' === t.inputType.kind ? Number(e) : e; + }, + l = 0, + c = r; + l < c.length; + l += 1 + ) { + var u = c[l], + f = u[0], + h = u[1]; + e.push(1 === h.length ? s(h[0]) : h.map(s)), + e.push(this.outputs[outputIndex$1].serialize()); + } + return e.push(this.otherwise.serialize()), e; + }); + var ur = function (t, e, r) { + (this.type = t), (this.branches = e), (this.otherwise = r); + }; + (ur.parse = function (t, e) { + if (t.length < 4) + return e.error( + 'Expected at least 3 arguments, but found only ' + + (t.length - 1) + + '.' + ); + if (t.length % 2 != 0) + return e.error('Expected an odd number of arguments.'); + var r; + e.expectedType && + 'value' !== e.expectedType.kind && + (r = e.expectedType); + for (var n = [], i = 1; i < t.length - 1; i += 2) { + var a = e.parse(t[i], i, Ft); + if (!a) return null; + var o = e.parse(t[i + 1], i + 1, r); + if (!o) return null; + n.push([a, o]), (r = r || o.type); + } + var s = e.parse(t[t.length - 1], t.length - 1, r); + return s ? new ur(r, n, s) : null; + }), + (ur.prototype.evaluate = function (t) { + for (var e = 0, r = this.branches; e < r.length; e += 1) { + var n = r[e], + i = n[1]; + if (n[0].evaluate(t)) return i.evaluate(t); + } + return this.otherwise.evaluate(t); + }), + (ur.prototype.eachChild = function (t) { + for (var e = 0, r = this.branches; e < r.length; e += 1) { + var n = r[e], + i = n[1]; + t(n[0]), t(i); + } + t(this.otherwise); + }), + (ur.prototype.outputDefined = function () { + return ( + this.branches.every(function (t) { + return t[1].outputDefined(); + }) && this.otherwise.outputDefined() + ); + }), + (ur.prototype.serialize = function () { + var t = ['case']; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var fr = function (t, e, r, n) { + (this.type = t), + (this.input = e), + (this.beginIndex = r), + (this.endIndex = n); + }; + function hr(t, e) { + return '==' === t || '!=' === t + ? 'boolean' === e.kind || + 'string' === e.kind || + 'number' === e.kind || + 'null' === e.kind || + 'value' === e.kind + : 'string' === e.kind || + 'number' === e.kind || + 'value' === e.kind; + } + function pr(t, e, r, n) { + return 0 === n.compare(e, r); + } + function dr(t, e, r) { + var n = '==' !== t && '!=' !== t; + return (function () { + function i(t, e, r) { + (this.type = Ft), + (this.lhs = t), + (this.rhs = e), + (this.collator = r), + (this.hasUntypedArgument = + 'value' === t.type.kind || 'value' === e.type.kind); + } + return ( + (i.parse = function (t, e) { + if (3 !== t.length && 4 !== t.length) + return e.error('Expected two or three arguments.'); + var r = t[0], + a = e.parse(t[1], 1, jt); + if (!a) return null; + if (!hr(r, a.type)) + return e + .concat(1) + .error( + '"' + + r + + '" comparisons are not supported for type \'' + + Gt(a.type) + + "'." + ); + var o = e.parse(t[2], 2, jt); + if (!o) return null; + if (!hr(r, o.type)) + return e + .concat(2) + .error( + '"' + + r + + '" comparisons are not supported for type \'' + + Gt(o.type) + + "'." + ); + if ( + a.type.kind !== o.type.kind && + 'value' !== a.type.kind && + 'value' !== o.type.kind + ) + return e.error( + "Cannot compare types '" + + Gt(a.type) + + "' and '" + + Gt(o.type) + + "'." + ); + n && + ('value' === a.type.kind && 'value' !== o.type.kind + ? (a = new ce(o.type, [a])) + : 'value' !== a.type.kind && + 'value' === o.type.kind && + (o = new ce(a.type, [o]))); + var s = null; + if (4 === t.length) { + if ( + 'string' !== a.type.kind && + 'string' !== o.type.kind && + 'value' !== a.type.kind && + 'value' !== o.type.kind + ) + return e.error( + 'Cannot use collator to compare non-string types.' + ); + if (!(s = e.parse(t[3], 3, Ut))) return null; + } + return new i(a, o, s); + }), + (i.prototype.evaluate = function (i) { + var a = this.lhs.evaluate(i), + o = this.rhs.evaluate(i); + if (n && this.hasUntypedArgument) { + var s = ie(a), + l = ie(o); + if ( + s.kind !== l.kind || + ('string' !== s.kind && 'number' !== s.kind) + ) + throw new se( + 'Expected arguments for "' + + t + + '" to be (string, string) or (number, number), but found (' + + s.kind + + ', ' + + l.kind + + ') instead.' + ); + } + if (this.collator && !n && this.hasUntypedArgument) { + var c = ie(a), + u = ie(o); + if ('string' !== c.kind || 'string' !== u.kind) + return e(i, a, o); + } + return this.collator + ? r(i, a, o, this.collator.evaluate(i)) + : e(i, a, o); + }), + (i.prototype.eachChild = function (t) { + t(this.lhs), + t(this.rhs), + this.collator && t(this.collator); + }), + (i.prototype.outputDefined = function () { + return !0; + }), + (i.prototype.serialize = function () { + var e = [t]; + return ( + this.eachChild(function (t) { + e.push(t.serialize()); + }), + e + ); + }), + i + ); + })(); + } + (fr.parse = function (t, e) { + if (t.length <= 2 || t.length >= 5) + return e.error( + 'Expected 3 or 4 arguments, but found ' + + (t.length - 1) + + ' instead.' + ); + var r = e.parse(t[1], 1, jt), + n = e.parse(t[2], 2, Dt); + if (!r || !n) return null; + if (!Xt(r.type, [Ht(jt), Rt, jt])) + return e.error( + 'Expected first argument to be of type array or string, but found ' + + Gt(r.type) + + ' instead' + ); + if (4 === t.length) { + var i = e.parse(t[3], 3, Dt); + return i ? new fr(r.type, r, n, i) : null; + } + return new fr(r.type, r, n); + }), + (fr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t), + r = this.beginIndex.evaluate(t); + if (!Zt(e, ['string', 'array'])) + throw new se( + 'Expected first argument to be of type array or string, but found ' + + Gt(ie(e)) + + ' instead.' + ); + if (this.endIndex) { + var n = this.endIndex.evaluate(t); + return e.slice(r, n); + } + return e.slice(r); + }), + (fr.prototype.eachChild = function (t) { + t(this.input), + t(this.beginIndex), + this.endIndex && t(this.endIndex); + }), + (fr.prototype.outputDefined = function () { + return !1; + }), + (fr.prototype.serialize = function () { + if (null != this.endIndex && void 0 !== this.endIndex) { + var t = this.endIndex.serialize(); + return [ + 'slice', + this.input.serialize(), + this.beginIndex.serialize(), + t, + ]; + } + return [ + 'slice', + this.input.serialize(), + this.beginIndex.serialize(), + ]; + }); + var gr = dr( + '==', + function (t, e, r) { + return e === r; + }, + pr + ), + mr = dr( + '!=', + function (t, e, r) { + return e !== r; + }, + function (t, e, r, n) { + return !pr(0, e, r, n); + } + ), + vr = dr( + '<', + function (t, e, r) { + return e < r; + }, + function (t, e, r, n) { + return n.compare(e, r) < 0; + } + ), + yr = dr( + '>', + function (t, e, r) { + return e > r; + }, + function (t, e, r, n) { + return n.compare(e, r) > 0; + } + ), + xr = dr( + '<=', + function (t, e, r) { + return e <= r; + }, + function (t, e, r, n) { + return n.compare(e, r) <= 0; + } + ), + br = dr( + '>=', + function (t, e, r) { + return e >= r; + }, + function (t, e, r, n) { + return n.compare(e, r) >= 0; + } + ), + _r = function (t, e, r, n, i) { + (this.type = Rt), + (this.number = t), + (this.locale = e), + (this.currency = r), + (this.minFractionDigits = n), + (this.maxFractionDigits = i); + }; + (_r.parse = function (t, e) { + if (3 !== t.length) return e.error('Expected two arguments.'); + var r = e.parse(t[1], 1, Dt); + if (!r) return null; + var n = t[2]; + if ('object' != typeof n || Array.isArray(n)) + return e.error( + 'NumberFormat options argument must be an object.' + ); + var i = null; + if (n.locale && !(i = e.parse(n.locale, 1, Rt))) return null; + var a = null; + if (n.currency && !(a = e.parse(n.currency, 1, Rt))) + return null; + var o = null; + if ( + n['min-fraction-digits'] && + !(o = e.parse(n['min-fraction-digits'], 1, Dt)) + ) + return null; + var s = null; + return n['max-fraction-digits'] && + !(s = e.parse(n['max-fraction-digits'], 1, Dt)) + ? null + : new _r(r, i, a, o, s); + }), + (_r.prototype.evaluate = function (t) { + return new Intl.NumberFormat( + this.locale ? this.locale.evaluate(t) : [], + { + style: this.currency ? 'currency' : 'decimal', + currency: this.currency + ? this.currency.evaluate(t) + : void 0, + minimumFractionDigits: this.minFractionDigits + ? this.minFractionDigits.evaluate(t) + : void 0, + maximumFractionDigits: this.maxFractionDigits + ? this.maxFractionDigits.evaluate(t) + : void 0, + } + ).format(this.number.evaluate(t)); + }), + (_r.prototype.eachChild = function (t) { + t(this.number), + this.locale && t(this.locale), + this.currency && t(this.currency), + this.minFractionDigits && t(this.minFractionDigits), + this.maxFractionDigits && t(this.maxFractionDigits); + }), + (_r.prototype.outputDefined = function () { + return !1; + }), + (_r.prototype.serialize = function () { + var t = {}; + return ( + this.locale && (t.locale = this.locale.serialize()), + this.currency && (t.currency = this.currency.serialize()), + this.minFractionDigits && + (t['min-fraction-digits'] = + this.minFractionDigits.serialize()), + this.maxFractionDigits && + (t['max-fraction-digits'] = + this.maxFractionDigits.serialize()), + ['number-format', this.number.serialize(), t] + ); + }); + var wr = function (t) { + (this.type = Dt), (this.input = t); + }; + (wr.parse = function (t, e) { + if (2 !== t.length) + return e.error( + 'Expected 1 argument, but found ' + + (t.length - 1) + + ' instead.' + ); + var r = e.parse(t[1], 1); + return r + ? 'array' !== r.type.kind && + 'string' !== r.type.kind && + 'value' !== r.type.kind + ? e.error( + 'Expected argument of type string or array, but found ' + + Gt(r.type) + + ' instead.' + ) + : new wr(r) + : null; + }), + (wr.prototype.evaluate = function (t) { + var e = this.input.evaluate(t); + if ('string' == typeof e) return e.length; + if (Array.isArray(e)) return e.length; + throw new se( + 'Expected value to be of type string or array, but found ' + + Gt(ie(e)) + + ' instead.' + ); + }), + (wr.prototype.eachChild = function (t) { + t(this.input); + }), + (wr.prototype.outputDefined = function () { + return !1; + }), + (wr.prototype.serialize = function () { + var t = ['length']; + return ( + this.eachChild(function (e) { + t.push(e.serialize()); + }), + t + ); + }); + var Tr = { + '==': gr, + '!=': mr, + '>': yr, + '<': vr, + '>=': br, + '<=': xr, + array: ce, + at: or, + boolean: ce, + case: ur, + coalesce: ir, + collator: ve, + format: ue, + image: fe, + in: sr, + 'index-of': lr, + interpolate: rr, + 'interpolate-hcl': rr, + 'interpolate-lab': rr, + length: wr, + let: ar, + literal: oe, + match: cr, + number: ce, + 'number-format': _r, + object: ce, + slice: fr, + step: je, + string: ce, + 'to-boolean': pe, + 'to-color': pe, + 'to-number': pe, + 'to-string': pe, + var: Fe, + within: ze, + }; + function kr(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3]; + (r = r.evaluate(t)), (n = n.evaluate(t)), (i = i.evaluate(t)); + var o = a ? a.evaluate(t) : 1, + s = re(r, n, i, o); + if (s) throw new se(s); + return new Kt((r / 255) * o, (n / 255) * o, (i / 255) * o, o); + } + function Mr(t, e) { + return t in e; + } + function Ar(t, e) { + var r = e[t]; + return void 0 === r ? null : r; + } + function Sr(t) { + return { type: t }; + } + function Er(t) { + return { result: 'success', value: t }; + } + function Cr(t) { + return { result: 'error', value: t }; + } + function Lr(t) { + return ( + 'data-driven' === t['property-type'] || + 'cross-faded-data-driven' === t['property-type'] + ); + } + function Ir(t) { + return ( + !!t.expression && + t.expression.parameters.indexOf('zoom') > -1 + ); + } + function Pr(t) { + return !!t.expression && t.expression.interpolated; + } + function zr(t) { + return t instanceof Number + ? 'number' + : t instanceof String + ? 'string' + : t instanceof Boolean + ? 'boolean' + : Array.isArray(t) + ? 'array' + : null === t + ? 'null' + : typeof t; + } + function Or(t) { + return ( + 'object' == typeof t && null !== t && !Array.isArray(t) + ); + } + function Dr(t) { + return t; + } + function Rr(t, e, r) { + return void 0 !== t + ? t + : void 0 !== e + ? e + : void 0 !== r + ? r + : void 0; + } + function Fr(t, e, r, n, i) { + return Rr( + typeof r === i ? n[r] : void 0, + t.default, + e.default + ); + } + function Br(t, e, r) { + if ('number' !== zr(r)) return Rr(t.default, e.default); + var n = t.stops.length; + if (1 === n) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[n - 1][0]) return t.stops[n - 1][1]; + var i = Ne( + t.stops.map(function (t) { + return t[0]; + }), + r + ); + return t.stops[i][1]; + } + function Nr(t, e, r) { + var n = void 0 !== t.base ? t.base : 1; + if ('number' !== zr(r)) return Rr(t.default, e.default); + var i = t.stops.length; + if (1 === i) return t.stops[0][1]; + if (r <= t.stops[0][0]) return t.stops[0][1]; + if (r >= t.stops[i - 1][0]) return t.stops[i - 1][1]; + var a = Ne( + t.stops.map(function (t) { + return t[0]; + }), + r + ), + o = (function (t, e, r, n) { + var i = n - r, + a = t - r; + return 0 === i + ? 0 + : 1 === e + ? a / i + : (Math.pow(e, a) - 1) / (Math.pow(e, i) - 1); + })(r, n, t.stops[a][0], t.stops[a + 1][0]), + s = t.stops[a][1], + l = t.stops[a + 1][1], + c = Ve[e.type] || Dr; + if (t.colorSpace && 'rgb' !== t.colorSpace) { + var u = er[t.colorSpace]; + c = function (t, e) { + return u.reverse( + u.interpolate(u.forward(t), u.forward(e), o) + ); + }; + } + return 'function' == typeof s.evaluate + ? { + evaluate: function () { + for (var t = [], e = arguments.length; e--; ) + t[e] = arguments[e]; + var r = s.evaluate.apply(void 0, t), + n = l.evaluate.apply(void 0, t); + if (void 0 !== r && void 0 !== n) return c(r, n, o); + }, + } + : c(s, l, o); + } + function jr(t, e, r) { + return ( + 'color' === e.type + ? (r = Kt.parse(r)) + : 'formatted' === e.type + ? (r = te.fromString(r.toString())) + : 'resolvedImage' === e.type + ? (r = ee.fromString(r.toString())) + : zr(r) === e.type || + ('enum' === e.type && e.values[r]) || + (r = void 0), + Rr(r, t.default, e.default) + ); + } + me.register(Tr, { + error: [ + { kind: 'error' }, + [Rt], + function (t, e) { + throw new se(e[0].evaluate(t)); + }, + ], + typeof: [ + Rt, + [jt], + function (t, e) { + return Gt(ie(e[0].evaluate(t))); + }, + ], + 'to-rgba': [ + Ht(Dt, 4), + [Bt], + function (t, e) { + return e[0].evaluate(t).toArray(); + }, + ], + rgb: [Bt, [Dt, Dt, Dt], kr], + rgba: [Bt, [Dt, Dt, Dt, Dt], kr], + has: { + type: Ft, + overloads: [ + [ + [Rt], + function (t, e) { + return Mr(e[0].evaluate(t), t.properties()); + }, + ], + [ + [Rt, Nt], + function (t, e) { + var r = e[1]; + return Mr(e[0].evaluate(t), r.evaluate(t)); + }, + ], + ], + }, + get: { + type: jt, + overloads: [ + [ + [Rt], + function (t, e) { + return Ar(e[0].evaluate(t), t.properties()); + }, + ], + [ + [Rt, Nt], + function (t, e) { + var r = e[1]; + return Ar(e[0].evaluate(t), r.evaluate(t)); + }, + ], + ], + }, + 'feature-state': [ + jt, + [Rt], + function (t, e) { + return Ar(e[0].evaluate(t), t.featureState || {}); + }, + ], + properties: [ + Nt, + [], + function (t) { + return t.properties(); + }, + ], + 'geometry-type': [ + Rt, + [], + function (t) { + return t.geometryType(); + }, + ], + id: [ + jt, + [], + function (t) { + return t.id(); + }, + ], + zoom: [ + Dt, + [], + function (t) { + return t.globals.zoom; + }, + ], + 'heatmap-density': [ + Dt, + [], + function (t) { + return t.globals.heatmapDensity || 0; + }, + ], + 'line-progress': [ + Dt, + [], + function (t) { + return t.globals.lineProgress || 0; + }, + ], + accumulated: [ + jt, + [], + function (t) { + return void 0 === t.globals.accumulated + ? null + : t.globals.accumulated; + }, + ], + '+': [ + Dt, + Sr(Dt), + function (t, e) { + for (var r = 0, n = 0, i = e; n < i.length; n += 1) + r += i[n].evaluate(t); + return r; + }, + ], + '*': [ + Dt, + Sr(Dt), + function (t, e) { + for (var r = 1, n = 0, i = e; n < i.length; n += 1) + r *= i[n].evaluate(t); + return r; + }, + ], + '-': { + type: Dt, + overloads: [ + [ + [Dt, Dt], + function (t, e) { + var r = e[1]; + return e[0].evaluate(t) - r.evaluate(t); + }, + ], + [ + [Dt], + function (t, e) { + return -e[0].evaluate(t); + }, + ], + ], + }, + '/': [ + Dt, + [Dt, Dt], + function (t, e) { + var r = e[1]; + return e[0].evaluate(t) / r.evaluate(t); + }, + ], + '%': [ + Dt, + [Dt, Dt], + function (t, e) { + var r = e[1]; + return e[0].evaluate(t) % r.evaluate(t); + }, + ], + ln2: [ + Dt, + [], + function () { + return Math.LN2; + }, + ], + pi: [ + Dt, + [], + function () { + return Math.PI; + }, + ], + e: [ + Dt, + [], + function () { + return Math.E; + }, + ], + '^': [ + Dt, + [Dt, Dt], + function (t, e) { + var r = e[1]; + return Math.pow(e[0].evaluate(t), r.evaluate(t)); + }, + ], + sqrt: [ + Dt, + [Dt], + function (t, e) { + return Math.sqrt(e[0].evaluate(t)); + }, + ], + log10: [ + Dt, + [Dt], + function (t, e) { + return Math.log(e[0].evaluate(t)) / Math.LN10; + }, + ], + ln: [ + Dt, + [Dt], + function (t, e) { + return Math.log(e[0].evaluate(t)); + }, + ], + log2: [ + Dt, + [Dt], + function (t, e) { + return Math.log(e[0].evaluate(t)) / Math.LN2; + }, + ], + sin: [ + Dt, + [Dt], + function (t, e) { + return Math.sin(e[0].evaluate(t)); + }, + ], + cos: [ + Dt, + [Dt], + function (t, e) { + return Math.cos(e[0].evaluate(t)); + }, + ], + tan: [ + Dt, + [Dt], + function (t, e) { + return Math.tan(e[0].evaluate(t)); + }, + ], + asin: [ + Dt, + [Dt], + function (t, e) { + return Math.asin(e[0].evaluate(t)); + }, + ], + acos: [ + Dt, + [Dt], + function (t, e) { + return Math.acos(e[0].evaluate(t)); + }, + ], + atan: [ + Dt, + [Dt], + function (t, e) { + return Math.atan(e[0].evaluate(t)); + }, + ], + min: [ + Dt, + Sr(Dt), + function (t, e) { + return Math.min.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }) + ); + }, + ], + max: [ + Dt, + Sr(Dt), + function (t, e) { + return Math.max.apply( + Math, + e.map(function (e) { + return e.evaluate(t); + }) + ); + }, + ], + abs: [ + Dt, + [Dt], + function (t, e) { + return Math.abs(e[0].evaluate(t)); + }, + ], + round: [ + Dt, + [Dt], + function (t, e) { + var r = e[0].evaluate(t); + return r < 0 ? -Math.round(-r) : Math.round(r); + }, + ], + floor: [ + Dt, + [Dt], + function (t, e) { + return Math.floor(e[0].evaluate(t)); + }, + ], + ceil: [ + Dt, + [Dt], + function (t, e) { + return Math.ceil(e[0].evaluate(t)); + }, + ], + 'filter-==': [ + Ft, + [Rt, jt], + function (t, e) { + var r = e[0], + n = e[1]; + return t.properties()[r.value] === n.value; + }, + ], + 'filter-id-==': [ + Ft, + [jt], + function (t, e) { + var r = e[0]; + return t.id() === r.value; + }, + ], + 'filter-type-==': [ + Ft, + [Rt], + function (t, e) { + var r = e[0]; + return t.geometryType() === r.value; + }, + ], + 'filter-<': [ + Ft, + [Rt, jt], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i < a; + }, + ], + 'filter-id-<': [ + Ft, + [jt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n < i; + }, + ], + 'filter->': [ + Ft, + [Rt, jt], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i > a; + }, + ], + 'filter-id->': [ + Ft, + [jt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n > i; + }, + ], + 'filter-<=': [ + Ft, + [Rt, jt], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i <= a; + }, + ], + 'filter-id-<=': [ + Ft, + [jt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n <= i; + }, + ], + 'filter->=': [ + Ft, + [Rt, jt], + function (t, e) { + var r = e[0], + n = e[1], + i = t.properties()[r.value], + a = n.value; + return typeof i == typeof a && i >= a; + }, + ], + 'filter-id->=': [ + Ft, + [jt], + function (t, e) { + var r = e[0], + n = t.id(), + i = r.value; + return typeof n == typeof i && n >= i; + }, + ], + 'filter-has': [ + Ft, + [jt], + function (t, e) { + return e[0].value in t.properties(); + }, + ], + 'filter-has-id': [ + Ft, + [], + function (t) { + return null !== t.id() && void 0 !== t.id(); + }, + ], + 'filter-type-in': [ + Ft, + [Ht(Rt)], + function (t, e) { + return e[0].value.indexOf(t.geometryType()) >= 0; + }, + ], + 'filter-id-in': [ + Ft, + [Ht(jt)], + function (t, e) { + return e[0].value.indexOf(t.id()) >= 0; + }, + ], + 'filter-in-small': [ + Ft, + [Rt, Ht(jt)], + function (t, e) { + var r = e[0]; + return e[1].value.indexOf(t.properties()[r.value]) >= 0; + }, + ], + 'filter-in-large': [ + Ft, + [Rt, Ht(jt)], + function (t, e) { + var r = e[0], + n = e[1]; + return (function (t, e, r, n) { + for (; r <= n; ) { + var i = (r + n) >> 1; + if (e[i] === t) return !0; + e[i] > t ? (n = i - 1) : (r = i + 1); + } + return !1; + })( + t.properties()[r.value], + n.value, + 0, + n.value.length - 1 + ); + }, + ], + all: { + type: Ft, + overloads: [ + [ + [Ft, Ft], + function (t, e) { + var r = e[1]; + return e[0].evaluate(t) && r.evaluate(t); + }, + ], + [ + Sr(Ft), + function (t, e) { + for (var r = 0, n = e; r < n.length; r += 1) + if (!n[r].evaluate(t)) return !1; + return !0; + }, + ], + ], + }, + any: { + type: Ft, + overloads: [ + [ + [Ft, Ft], + function (t, e) { + var r = e[1]; + return e[0].evaluate(t) || r.evaluate(t); + }, + ], + [ + Sr(Ft), + function (t, e) { + for (var r = 0, n = e; r < n.length; r += 1) + if (n[r].evaluate(t)) return !0; + return !1; + }, + ], + ], + }, + '!': [ + Ft, + [Ft], + function (t, e) { + return !e[0].evaluate(t); + }, + ], + 'is-supported-script': [ + Ft, + [Rt], + function (t, e) { + var r = t.globals && t.globals.isSupportedScript; + return !r || r(e[0].evaluate(t)); + }, + ], + upcase: [ + Rt, + [Rt], + function (t, e) { + return e[0].evaluate(t).toUpperCase(); + }, + ], + downcase: [ + Rt, + [Rt], + function (t, e) { + return e[0].evaluate(t).toLowerCase(); + }, + ], + concat: [ + Rt, + Sr(jt), + function (t, e) { + return e + .map(function (e) { + return ae(e.evaluate(t)); + }) + .join(''); + }, + ], + 'resolved-locale': [ + Rt, + [Ut], + function (t, e) { + return e[0].evaluate(t).resolvedLocale(); + }, + ], + }); + var Ur = function (t, e) { + (this.expression = t), + (this._warningHistory = {}), + (this._evaluator = new ge()), + (this._defaultValue = e + ? (function (t) { + return 'color' === t.type && Or(t.default) + ? new Kt(0, 0, 0, 0) + : 'color' === t.type + ? Kt.parse(t.default) || null + : void 0 === t.default + ? null + : t.default; + })(e) + : null), + (this._enumValues = + e && 'enum' === e.type ? e.values : null); + }; + function Vr(t) { + return ( + Array.isArray(t) && + t.length > 0 && + 'string' == typeof t[0] && + t[0] in Tr + ); + } + function qr(t, e) { + var r = new Be( + Tr, + [], + e + ? (function (t) { + var e = { + color: Bt, + string: Rt, + number: Dt, + enum: Rt, + boolean: Ft, + formatted: Vt, + resolvedImage: qt, + }; + return 'array' === t.type + ? Ht(e[t.value] || jt, t.length) + : e[t.type]; + })(e) + : void 0 + ), + n = r.parse( + t, + void 0, + void 0, + void 0, + e && 'string' === e.type + ? { typeAnnotation: 'coerce' } + : void 0 + ); + return n ? Er(new Ur(n, e)) : Cr(r.errors); + } + (Ur.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a + ) { + return ( + (this._evaluator.globals = t), + (this._evaluator.feature = e), + (this._evaluator.featureState = r), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = a), + this.expression.evaluate(this._evaluator) + ); + }), + (Ur.prototype.evaluate = function (t, e, r, n, i, a) { + (this._evaluator.globals = t), + (this._evaluator.feature = e || null), + (this._evaluator.featureState = r || null), + (this._evaluator.canonical = n), + (this._evaluator.availableImages = i || null), + (this._evaluator.formattedSection = a || null); + try { + var o = this.expression.evaluate(this._evaluator); + if (null == o || ('number' == typeof o && o != o)) + return this._defaultValue; + if (this._enumValues && !(o in this._enumValues)) + throw new se( + 'Expected value to be one of ' + + Object.keys(this._enumValues) + .map(function (t) { + return JSON.stringify(t); + }) + .join(', ') + + ', but found ' + + JSON.stringify(o) + + ' instead.' + ); + return o; + } catch (t) { + return ( + this._warningHistory[t.message] || + ((this._warningHistory[t.message] = !0), + 'undefined' != typeof console && + console.warn(t.message)), + this._defaultValue + ); + } + }); + var Hr = function (t, e) { + (this.kind = t), + (this._styleExpression = e), + (this.isStateDependent = + 'constant' !== t && !De(e.expression)); + }; + (Hr.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a + ) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a + ); + }), + (Hr.prototype.evaluate = function (t, e, r, n, i, a) { + return this._styleExpression.evaluate(t, e, r, n, i, a); + }); + var Gr = function (t, e, r, n) { + (this.kind = t), + (this.zoomStops = r), + (this._styleExpression = e), + (this.isStateDependent = + 'camera' !== t && !De(e.expression)), + (this.interpolationType = n); + }; + function Yr(t, e) { + if ('error' === (t = qr(t, e)).result) return t; + var r = t.value.expression, + n = Oe(r); + if (!n && !Lr(e)) + return Cr([new Pt('', 'data expressions not supported')]); + var i = Re(r, ['zoom']); + if (!i && !Ir(e)) + return Cr([new Pt('', 'zoom expressions not supported')]); + var a = (function t(e) { + var r = null; + if (e instanceof ar) r = t(e.result); + else if (e instanceof ir) + for ( + var n = 0, i = e.args; + n < i.length && !(r = t(i[n])); + n += 1 + ); + else + (e instanceof je || e instanceof rr) && + e.input instanceof me && + 'zoom' === e.input.name && + (r = e); + return ( + r instanceof Pt || + e.eachChild(function (e) { + var n = t(e); + n instanceof Pt + ? (r = n) + : !r && n + ? (r = new Pt( + '', + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.' + )) + : r && + n && + r !== n && + (r = new Pt( + '', + 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.' + )); + }), + r + ); + })(r); + return a || i + ? a instanceof Pt + ? Cr([a]) + : a instanceof rr && !Pr(e) + ? Cr([ + new Pt( + '', + '"interpolate" expressions cannot be used with this property' + ), + ]) + : Er( + a + ? new Gr( + n ? 'camera' : 'composite', + t.value, + a.labels, + a instanceof rr ? a.interpolation : void 0 + ) + : new Hr(n ? 'constant' : 'source', t.value) + ) + : Cr([ + new Pt( + '', + '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.' + ), + ]); + } + (Gr.prototype.evaluateWithoutErrorHandling = function ( + t, + e, + r, + n, + i, + a + ) { + return this._styleExpression.evaluateWithoutErrorHandling( + t, + e, + r, + n, + i, + a + ); + }), + (Gr.prototype.evaluate = function (t, e, r, n, i, a) { + return this._styleExpression.evaluate(t, e, r, n, i, a); + }), + (Gr.prototype.interpolationFactor = function (t, e, r) { + return this.interpolationType + ? rr.interpolationFactor(this.interpolationType, t, e, r) + : 0; + }); + var Wr = function (t, e) { + (this._parameters = t), + (this._specification = e), + Ct( + this, + (function t(e, r) { + var n, + i, + a, + o = 'color' === r.type, + s = e.stops && 'object' == typeof e.stops[0][0], + l = s || !(s || void 0 !== e.property), + c = e.type || (Pr(r) ? 'exponential' : 'interval'); + if ( + (o && + ((e = Ct({}, e)).stops && + (e.stops = e.stops.map(function (t) { + return [t[0], Kt.parse(t[1])]; + })), + (e.default = Kt.parse( + e.default ? e.default : r.default + ))), + e.colorSpace && + 'rgb' !== e.colorSpace && + !er[e.colorSpace]) + ) + throw new Error( + 'Unknown color space: ' + e.colorSpace + ); + if ('exponential' === c) n = Nr; + else if ('interval' === c) n = Br; + else if ('categorical' === c) { + (n = Fr), (i = Object.create(null)); + for (var u = 0, f = e.stops; u < f.length; u += 1) { + var h = f[u]; + i[h[0]] = h[1]; + } + a = typeof e.stops[0][0]; + } else { + if ('identity' !== c) + throw new Error( + 'Unknown function type "' + c + '"' + ); + n = jr; + } + if (s) { + for ( + var p = {}, d = [], g = 0; + g < e.stops.length; + g++ + ) { + var m = e.stops[g], + v = m[0].zoom; + void 0 === p[v] && + ((p[v] = { + zoom: v, + type: e.type, + property: e.property, + default: e.default, + stops: [], + }), + d.push(v)), + p[v].stops.push([m[0].value, m[1]]); + } + for (var y = [], x = 0, b = d; x < b.length; x += 1) { + var _ = b[x]; + y.push([p[_].zoom, t(p[_], r)]); + } + var w = { name: 'linear' }; + return { + kind: 'composite', + interpolationType: w, + interpolationFactor: rr.interpolationFactor.bind( + void 0, + w + ), + zoomStops: y.map(function (t) { + return t[0]; + }), + evaluate: function (t, n) { + var i = t.zoom; + return Nr( + { stops: y, base: e.base }, + r, + i + ).evaluate(i, n); + }, + }; + } + if (l) { + var T = + 'exponential' === c + ? { + name: 'exponential', + base: void 0 !== e.base ? e.base : 1, + } + : null; + return { + kind: 'camera', + interpolationType: T, + interpolationFactor: rr.interpolationFactor.bind( + void 0, + T + ), + zoomStops: e.stops.map(function (t) { + return t[0]; + }), + evaluate: function (t) { + return n(e, r, t.zoom, i, a); + }, + }; + } + return { + kind: 'source', + evaluate: function (t, o) { + var s = + o && o.properties + ? o.properties[e.property] + : void 0; + return void 0 === s + ? Rr(e.default, r.default) + : n(e, r, s, i, a); + }, + }; + })(this._parameters, this._specification) + ); + }; + function Xr(t) { + var e = t.key, + r = t.value, + n = t.valueSpec || {}, + i = t.objectElementValidators || {}, + a = t.style, + o = t.styleSpec, + s = [], + l = zr(r); + if ('object' !== l) + return [new St(e, r, 'object expected, ' + l + ' found')]; + for (var c in r) { + var u = c.split('.')[0], + f = n[u] || n['*'], + h = void 0; + if (i[u]) h = i[u]; + else if (n[u]) h = bn; + else if (i['*']) h = i['*']; + else { + if (!n['*']) { + s.push(new St(e, r[c], 'unknown property "' + c + '"')); + continue; + } + h = bn; + } + s = s.concat( + h( + { + key: (e ? e + '.' : e) + c, + value: r[c], + valueSpec: f, + style: a, + styleSpec: o, + object: r, + objectKey: c, + }, + r + ) + ); + } + for (var p in n) + i[p] || + (n[p].required && + void 0 === n[p].default && + void 0 === r[p] && + s.push( + new St(e, r, 'missing required property "' + p + '"') + )); + return s; + } + function Zr(t) { + var e = t.value, + r = t.valueSpec, + n = t.style, + i = t.styleSpec, + a = t.key, + o = t.arrayElementValidator || bn; + if ('array' !== zr(e)) + return [ + new St(a, e, 'array expected, ' + zr(e) + ' found'), + ]; + if (r.length && e.length !== r.length) + return [ + new St( + a, + e, + 'array length ' + + r.length + + ' expected, length ' + + e.length + + ' found' + ), + ]; + if (r['min-length'] && e.length < r['min-length']) + return [ + new St( + a, + e, + 'array length at least ' + + r['min-length'] + + ' expected, length ' + + e.length + + ' found' + ), + ]; + var s = { type: r.value, values: r.values }; + i.$version < 7 && (s.function = r.function), + 'object' === zr(r.value) && (s = r.value); + for (var l = [], c = 0; c < e.length; c++) + l = l.concat( + o({ + array: e, + arrayIndex: c, + value: e[c], + valueSpec: s, + style: n, + styleSpec: i, + key: a + '[' + c + ']', + }) + ); + return l; + } + function Jr(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = zr(r); + return ( + 'number' === i && r != r && (i = 'NaN'), + 'number' !== i + ? [new St(e, r, 'number expected, ' + i + ' found')] + : 'minimum' in n && r < n.minimum + ? [ + new St( + e, + r, + r + ' is less than the minimum value ' + n.minimum + ), + ] + : 'maximum' in n && r > n.maximum + ? [ + new St( + e, + r, + r + + ' is greater than the maximum value ' + + n.maximum + ), + ] + : [] + ); + } + function Kr(t) { + var e, + r, + n, + i = t.valueSpec, + a = Lt(t.value.type), + o = {}, + s = 'categorical' !== a && void 0 === t.value.property, + l = !s, + c = + 'array' === zr(t.value.stops) && + 'array' === zr(t.value.stops[0]) && + 'object' === zr(t.value.stops[0][0]), + u = Xr({ + key: t.key, + value: t.value, + valueSpec: t.styleSpec.function, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + stops: function (t) { + if ('identity' === a) + return [ + new St( + t.key, + t.value, + 'identity function may not have a "stops" property' + ), + ]; + var e = [], + r = t.value; + return ( + (e = e.concat( + Zr({ + key: t.key, + value: r, + valueSpec: t.valueSpec, + style: t.style, + styleSpec: t.styleSpec, + arrayElementValidator: f, + }) + )), + 'array' === zr(r) && + 0 === r.length && + e.push( + new St( + t.key, + r, + 'array must have at least one stop' + ) + ), + e + ); + }, + default: function (t) { + return bn({ + key: t.key, + value: t.value, + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }); + }, + }, + }); + return ( + 'identity' === a && + s && + u.push( + new St( + t.key, + t.value, + 'missing required property "property"' + ) + ), + 'identity' === a || + t.value.stops || + u.push( + new St( + t.key, + t.value, + 'missing required property "stops"' + ) + ), + 'exponential' === a && + t.valueSpec.expression && + !Pr(t.valueSpec) && + u.push( + new St( + t.key, + t.value, + 'exponential functions not supported' + ) + ), + t.styleSpec.$version >= 8 && + (l && !Lr(t.valueSpec) + ? u.push( + new St( + t.key, + t.value, + 'property functions not supported' + ) + ) + : s && + !Ir(t.valueSpec) && + u.push( + new St( + t.key, + t.value, + 'zoom functions not supported' + ) + )), + ('categorical' !== a && !c) || + void 0 !== t.value.property || + u.push( + new St( + t.key, + t.value, + '"property" property is required' + ) + ), + u + ); + function f(t) { + var e = [], + a = t.value, + s = t.key; + if ('array' !== zr(a)) + return [ + new St(s, a, 'array expected, ' + zr(a) + ' found'), + ]; + if (2 !== a.length) + return [ + new St( + s, + a, + 'array length 2 expected, length ' + + a.length + + ' found' + ), + ]; + if (c) { + if ('object' !== zr(a[0])) + return [ + new St( + s, + a, + 'object expected, ' + zr(a[0]) + ' found' + ), + ]; + if (void 0 === a[0].zoom) + return [new St(s, a, 'object stop key must have zoom')]; + if (void 0 === a[0].value) + return [ + new St(s, a, 'object stop key must have value'), + ]; + if (n && n > Lt(a[0].zoom)) + return [ + new St( + s, + a[0].zoom, + 'stop zoom values must appear in ascending order' + ), + ]; + Lt(a[0].zoom) !== n && + ((n = Lt(a[0].zoom)), (r = void 0), (o = {})), + (e = e.concat( + Xr({ + key: s + '[0]', + value: a[0], + valueSpec: { zoom: {} }, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { zoom: Jr, value: h }, + }) + )); + } else e = e.concat(h({ key: s + '[0]', value: a[0], valueSpec: {}, style: t.style, styleSpec: t.styleSpec }, a)); + return Vr(It(a[1])) + ? e.concat([ + new St( + s + '[1]', + a[1], + 'expressions are not allowed in function stops.' + ), + ]) + : e.concat( + bn({ + key: s + '[1]', + value: a[1], + valueSpec: i, + style: t.style, + styleSpec: t.styleSpec, + }) + ); + } + function h(t, n) { + var s = zr(t.value), + l = Lt(t.value), + c = null !== t.value ? t.value : n; + if (e) { + if (s !== e) + return [ + new St( + t.key, + c, + s + + ' stop domain type must match previous stop domain type ' + + e + ), + ]; + } else e = s; + if ('number' !== s && 'string' !== s && 'boolean' !== s) + return [ + new St( + t.key, + c, + 'stop domain value must be a number, string, or boolean' + ), + ]; + if ('number' !== s && 'categorical' !== a) { + var u = 'number expected, ' + s + ' found'; + return ( + Lr(i) && + void 0 === a && + (u += + '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), + [new St(t.key, c, u)] + ); + } + return 'categorical' !== a || + 'number' !== s || + (isFinite(l) && Math.floor(l) === l) + ? 'categorical' !== a && + 'number' === s && + void 0 !== r && + l < r + ? [ + new St( + t.key, + c, + 'stop domain values must appear in ascending order' + ), + ] + : ((r = l), + 'categorical' === a && l in o + ? [ + new St( + t.key, + c, + 'stop domain values must be unique' + ), + ] + : ((o[l] = !0), [])) + : [new St(t.key, c, 'integer expected, found ' + l)]; + } + } + function Qr(t) { + var e = ('property' === t.expressionContext ? Yr : qr)( + It(t.value), + t.valueSpec + ); + if ('error' === e.result) + return e.value.map(function (e) { + return new St('' + t.key + e.key, t.value, e.message); + }); + var r = + e.value.expression || e.value._styleExpression.expression; + if ( + 'property' === t.expressionContext && + 'text-font' === t.propertyKey && + !r.outputDefined() + ) + return [ + new St( + t.key, + t.value, + 'Invalid data expression for "' + + t.propertyKey + + '". Output values must be contained as literals within the expression.' + ), + ]; + if ( + 'property' === t.expressionContext && + 'layout' === t.propertyType && + !De(r) + ) + return [ + new St( + t.key, + t.value, + '"feature-state" data expressions are not supported with layout properties.' + ), + ]; + if ('filter' === t.expressionContext && !De(r)) + return [ + new St( + t.key, + t.value, + '"feature-state" data expressions are not supported with filters.' + ), + ]; + if ( + t.expressionContext && + 0 === t.expressionContext.indexOf('cluster') + ) { + if (!Re(r, ['zoom', 'feature-state'])) + return [ + new St( + t.key, + t.value, + '"zoom" and "feature-state" expressions are not supported with cluster properties.' + ), + ]; + if ('cluster-initial' === t.expressionContext && !Oe(r)) + return [ + new St( + t.key, + t.value, + 'Feature data expressions are not supported with initial expression part of cluster properties.' + ), + ]; + } + return []; + } + function $r(t) { + var e = t.key, + r = t.value, + n = t.valueSpec, + i = []; + return ( + Array.isArray(n.values) + ? -1 === n.values.indexOf(Lt(r)) && + i.push( + new St( + e, + r, + 'expected one of [' + + n.values.join(', ') + + '], ' + + JSON.stringify(r) + + ' found' + ) + ) + : -1 === Object.keys(n.values).indexOf(Lt(r)) && + i.push( + new St( + e, + r, + 'expected one of [' + + Object.keys(n.values).join(', ') + + '], ' + + JSON.stringify(r) + + ' found' + ) + ), + i + ); + } + function tn(t) { + if (!0 === t || !1 === t) return !0; + if (!Array.isArray(t) || 0 === t.length) return !1; + switch (t[0]) { + case 'has': + return ( + t.length >= 2 && '$id' !== t[1] && '$type' !== t[1] + ); + case 'in': + return ( + t.length >= 3 && + ('string' != typeof t[1] || Array.isArray(t[2])) + ); + case '!in': + case '!has': + case 'none': + return !1; + case '==': + case '!=': + case '>': + case '>=': + case '<': + case '<=': + return ( + 3 !== t.length || + Array.isArray(t[1]) || + Array.isArray(t[2]) + ); + case 'any': + case 'all': + for (var e = 0, r = t.slice(1); e < r.length; e += 1) { + var n = r[e]; + if (!tn(n) && 'boolean' != typeof n) return !1; + } + return !0; + default: + return !0; + } + } + (Wr.deserialize = function (t) { + return new Wr(t._parameters, t._specification); + }), + (Wr.serialize = function (t) { + return { + _parameters: t._parameters, + _specification: t._specification, + }; + }); + var en = { + type: 'boolean', + default: !1, + transition: !1, + 'property-type': 'data-driven', + expression: { + interpolated: !1, + parameters: ['zoom', 'feature'], + }, + }; + function rn(t) { + if (null == t) + return { + filter: function () { + return !0; + }, + needGeometry: !1, + }; + tn(t) || (t = an(t)); + var e = qr(t, en); + if ('error' === e.result) + throw new Error( + e.value + .map(function (t) { + return t.key + ': ' + t.message; + }) + .join(', ') + ); + return { + filter: function (t, r, n) { + return e.value.evaluate(t, r, {}, n); + }, + needGeometry: (function t(e) { + if (!Array.isArray(e)) return !1; + if ('within' === e[0]) return !0; + for (var r = 1; r < e.length; r++) if (t(e[r])) return !0; + return !1; + })(t), + }; + } + function nn(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function an(t) { + if (!t) return !0; + var e, + r = t[0]; + return t.length <= 1 + ? 'any' !== r + : '==' === r + ? on(t[1], t[2], '==') + : '!=' === r + ? cn(on(t[1], t[2], '==')) + : '<' === r || '>' === r || '<=' === r || '>=' === r + ? on(t[1], t[2], r) + : 'any' === r + ? ((e = t.slice(1)), ['any'].concat(e.map(an))) + : 'all' === r + ? ['all'].concat(t.slice(1).map(an)) + : 'none' === r + ? ['all'].concat(t.slice(1).map(an).map(cn)) + : 'in' === r + ? sn(t[1], t.slice(2)) + : '!in' === r + ? cn(sn(t[1], t.slice(2))) + : 'has' === r + ? ln(t[1]) + : '!has' === r + ? cn(ln(t[1])) + : 'within' !== r || t; + } + function on(t, e, r) { + switch (t) { + case '$type': + return ['filter-type-' + r, e]; + case '$id': + return ['filter-id-' + r, e]; + default: + return ['filter-' + r, t, e]; + } + } + function sn(t, e) { + if (0 === e.length) return !1; + switch (t) { + case '$type': + return ['filter-type-in', ['literal', e]]; + case '$id': + return ['filter-id-in', ['literal', e]]; + default: + return e.length > 200 && + !e.some(function (t) { + return typeof t != typeof e[0]; + }) + ? ['filter-in-large', t, ['literal', e.sort(nn)]] + : ['filter-in-small', t, ['literal', e]]; + } + } + function ln(t) { + switch (t) { + case '$type': + return !0; + case '$id': + return ['filter-has-id']; + default: + return ['filter-has', t]; + } + } + function cn(t) { + return ['!', t]; + } + function un(t) { + return tn(It(t.value)) + ? Qr( + Ct({}, t, { + expressionContext: 'filter', + valueSpec: { value: 'boolean' }, + }) + ) + : (function t(e) { + var r = e.value, + n = e.key; + if ('array' !== zr(r)) + return [ + new St(n, r, 'array expected, ' + zr(r) + ' found'), + ]; + var i, + a = e.styleSpec, + o = []; + if (r.length < 1) + return [ + new St( + n, + r, + 'filter array must have at least 1 element' + ), + ]; + switch ( + ((o = o.concat( + $r({ + key: n + '[0]', + value: r[0], + valueSpec: a.filter_operator, + style: e.style, + styleSpec: e.styleSpec, + }) + )), + Lt(r[0])) + ) { + case '<': + case '<=': + case '>': + case '>=': + r.length >= 2 && + '$type' === Lt(r[1]) && + o.push( + new St( + n, + r, + '"$type" cannot be use with operator "' + + r[0] + + '"' + ) + ); + case '==': + case '!=': + 3 !== r.length && + o.push( + new St( + n, + r, + 'filter array for operator "' + + r[0] + + '" must have 3 elements' + ) + ); + case 'in': + case '!in': + r.length >= 2 && + 'string' !== (i = zr(r[1])) && + o.push( + new St( + n + '[1]', + r[1], + 'string expected, ' + i + ' found' + ) + ); + for (var s = 2; s < r.length; s++) + (i = zr(r[s])), + '$type' === Lt(r[1]) + ? (o = o.concat( + $r({ + key: n + '[' + s + ']', + value: r[s], + valueSpec: a.geometry_type, + style: e.style, + styleSpec: e.styleSpec, + }) + )) + : 'string' !== i && + 'number' !== i && + 'boolean' !== i && + o.push( + new St( + n + '[' + s + ']', + r[s], + 'string, number, or boolean expected, ' + + i + + ' found' + ) + ); + break; + case 'any': + case 'all': + case 'none': + for (var l = 1; l < r.length; l++) + o = o.concat( + t({ + key: n + '[' + l + ']', + value: r[l], + style: e.style, + styleSpec: e.styleSpec, + }) + ); + break; + case 'has': + case '!has': + (i = zr(r[1])), + 2 !== r.length + ? o.push( + new St( + n, + r, + 'filter array for "' + + r[0] + + '" operator must have 2 elements' + ) + ) + : 'string' !== i && + o.push( + new St( + n + '[1]', + r[1], + 'string expected, ' + i + ' found' + ) + ); + break; + case 'within': + (i = zr(r[1])), + 2 !== r.length + ? o.push( + new St( + n, + r, + 'filter array for "' + + r[0] + + '" operator must have 2 elements' + ) + ) + : 'object' !== i && + o.push( + new St( + n + '[1]', + r[1], + 'object expected, ' + i + ' found' + ) + ); + } + return o; + })(t); + } + function fn(t, e) { + var r = t.key, + n = t.style, + i = t.styleSpec, + a = t.value, + o = t.objectKey, + s = i[e + '_' + t.layerType]; + if (!s) return []; + var l = o.match(/^(.*)-transition$/); + if ('paint' === e && l && s[l[1]] && s[l[1]].transition) + return bn({ + key: r, + value: a, + valueSpec: i.transition, + style: n, + styleSpec: i, + }); + var c, + u = t.valueSpec || s[o]; + if (!u) return [new St(r, a, 'unknown property "' + o + '"')]; + if ( + 'string' === zr(a) && + Lr(u) && + !u.tokens && + (c = /^{([^}]+)}$/.exec(a)) + ) + return [ + new St( + r, + a, + '"' + + o + + '" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": ' + + JSON.stringify(c[1]) + + ' }`.' + ), + ]; + var f = []; + return ( + 'symbol' === t.layerType && + ('text-field' === o && + n && + !n.glyphs && + f.push( + new St( + r, + a, + 'use of "text-field" requires a style "glyphs" property' + ) + ), + 'text-font' === o && + Or(It(a)) && + 'identity' === Lt(a.type) && + f.push( + new St( + r, + a, + '"text-font" does not support identity functions' + ) + )), + f.concat( + bn({ + key: t.key, + value: a, + valueSpec: u, + style: n, + styleSpec: i, + expressionContext: 'property', + propertyType: e, + propertyKey: o, + }) + ) + ); + } + function hn(t) { + return fn(t, 'paint'); + } + function pn(t) { + return fn(t, 'layout'); + } + function dn(t) { + var e = [], + r = t.value, + n = t.key, + i = t.style, + a = t.styleSpec; + r.type || + r.ref || + e.push(new St(n, r, 'either "type" or "ref" is required')); + var o, + s = Lt(r.type), + l = Lt(r.ref); + if (r.id) + for (var c = Lt(r.id), u = 0; u < t.arrayIndex; u++) { + var f = i.layers[u]; + Lt(f.id) === c && + e.push( + new St( + n, + r.id, + 'duplicate layer id "' + + r.id + + '", previously used at line ' + + f.id.__line__ + ) + ); + } + if ('ref' in r) + [ + 'type', + 'source', + 'source-layer', + 'filter', + 'layout', + ].forEach(function (t) { + t in r && + e.push( + new St( + n, + r[t], + '"' + t + '" is prohibited for ref layers' + ) + ); + }), + i.layers.forEach(function (t) { + Lt(t.id) === l && (o = t); + }), + o + ? o.ref + ? e.push( + new St( + n, + r.ref, + 'ref cannot reference another ref layer' + ) + ) + : (s = Lt(o.type)) + : e.push( + new St(n, r.ref, 'ref layer "' + l + '" not found') + ); + else if ('background' !== s) + if (r.source) { + var h = i.sources && i.sources[r.source], + p = h && Lt(h.type); + h + ? 'vector' === p && 'raster' === s + ? e.push( + new St( + n, + r.source, + 'layer "' + r.id + '" requires a raster source' + ) + ) + : 'raster' === p && 'raster' !== s + ? e.push( + new St( + n, + r.source, + 'layer "' + r.id + '" requires a vector source' + ) + ) + : 'vector' !== p || r['source-layer'] + ? 'raster-dem' === p && 'hillshade' !== s + ? e.push( + new St( + n, + r.source, + "raster-dem source can only be used with layer type 'hillshade'." + ) + ) + : 'line' !== s || + !r.paint || + !r.paint['line-gradient'] || + ('geojson' === p && h.lineMetrics) || + e.push( + new St( + n, + r, + 'layer "' + + r.id + + '" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.' + ) + ) + : e.push( + new St( + n, + r, + 'layer "' + + r.id + + '" must specify a "source-layer"' + ) + ) + : e.push( + new St( + n, + r.source, + 'source "' + r.source + '" not found' + ) + ); + } else + e.push( + new St(n, r, 'missing required property "source"') + ); + return (e = e.concat( + Xr({ + key: n, + value: r, + valueSpec: a.layer, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + '*': function () { + return []; + }, + type: function () { + return bn({ + key: n + '.type', + value: r.type, + valueSpec: a.layer.type, + style: t.style, + styleSpec: t.styleSpec, + object: r, + objectKey: 'type', + }); + }, + filter: un, + layout: function (t) { + return Xr({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + '*': function (t) { + return pn(Ct({ layerType: s }, t)); + }, + }, + }); + }, + paint: function (t) { + return Xr({ + layer: r, + key: t.key, + value: t.value, + style: t.style, + styleSpec: t.styleSpec, + objectElementValidators: { + '*': function (t) { + return hn(Ct({ layerType: s }, t)); + }, + }, + }); + }, + }, + }) + )); + } + function gn(t) { + var e = t.value, + r = t.key, + n = zr(e); + return 'string' !== n + ? [new St(r, e, 'string expected, ' + n + ' found')] + : []; + } + var mn = { + promoteId: function (t) { + var e = t.key, + r = t.value; + if ('string' === zr(r)) return gn({ key: e, value: r }); + var n = []; + for (var i in r) + n.push.apply(n, gn({ key: e + '.' + i, value: r[i] })); + return n; + }, + }; + function vn(t) { + var e = t.value, + r = t.key, + n = t.styleSpec, + i = t.style; + if (!e.type) return [new St(r, e, '"type" is required')]; + var a, + o = Lt(e.type); + switch (o) { + case 'vector': + case 'raster': + case 'raster-dem': + return Xr({ + key: r, + value: e, + valueSpec: n['source_' + o.replace('-', '_')], + style: t.style, + styleSpec: n, + objectElementValidators: mn, + }); + case 'geojson': + if ( + ((a = Xr({ + key: r, + value: e, + valueSpec: n.source_geojson, + style: i, + styleSpec: n, + objectElementValidators: mn, + })), + e.cluster) + ) + for (var s in e.clusterProperties) { + var l = e.clusterProperties[s], + c = l[0], + u = + 'string' == typeof c + ? [c, ['accumulated'], ['get', s]] + : c; + a.push.apply( + a, + Qr({ + key: r + '.' + s + '.map', + value: l[1], + expressionContext: 'cluster-map', + }) + ), + a.push.apply( + a, + Qr({ + key: r + '.' + s + '.reduce', + value: u, + expressionContext: 'cluster-reduce', + }) + ); + } + return a; + case 'video': + return Xr({ + key: r, + value: e, + valueSpec: n.source_video, + style: i, + styleSpec: n, + }); + case 'image': + return Xr({ + key: r, + value: e, + valueSpec: n.source_image, + style: i, + styleSpec: n, + }); + case 'canvas': + return [ + new St( + r, + null, + 'Please use runtime APIs to add canvas sources, rather than including them in stylesheets.', + 'source.canvas' + ), + ]; + default: + return $r({ + key: r + '.type', + value: e.type, + valueSpec: { + values: [ + 'vector', + 'raster', + 'raster-dem', + 'geojson', + 'video', + 'image', + ], + }, + style: i, + styleSpec: n, + }); + } + } + function yn(t) { + var e = t.value, + r = t.styleSpec, + n = r.light, + i = t.style, + a = [], + o = zr(e); + if (void 0 === e) return a; + if ('object' !== o) + return a.concat([ + new St('light', e, 'object expected, ' + o + ' found'), + ]); + for (var s in e) { + var l = s.match(/^(.*)-transition$/); + a = a.concat( + l && n[l[1]] && n[l[1]].transition + ? bn({ + key: s, + value: e[s], + valueSpec: r.transition, + style: i, + styleSpec: r, + }) + : n[s] + ? bn({ + key: s, + value: e[s], + valueSpec: n[s], + style: i, + styleSpec: r, + }) + : [new St(s, e[s], 'unknown property "' + s + '"')] + ); + } + return a; + } + var xn = { + '*': function () { + return []; + }, + array: Zr, + boolean: function (t) { + var e = t.value, + r = t.key, + n = zr(e); + return 'boolean' !== n + ? [new St(r, e, 'boolean expected, ' + n + ' found')] + : []; + }, + number: Jr, + color: function (t) { + var e = t.key, + r = t.value, + n = zr(r); + return 'string' !== n + ? [new St(e, r, 'color expected, ' + n + ' found')] + : null === Jt(r) + ? [new St(e, r, 'color expected, "' + r + '" found')] + : []; + }, + constants: Et, + enum: $r, + filter: un, + function: Kr, + layer: dn, + object: Xr, + source: vn, + light: yn, + string: gn, + formatted: function (t) { + return 0 === gn(t).length ? [] : Qr(t); + }, + resolvedImage: function (t) { + return 0 === gn(t).length ? [] : Qr(t); + }, + }; + function bn(t) { + var e = t.value, + r = t.valueSpec, + n = t.styleSpec; + return r.expression && Or(Lt(e)) + ? Kr(t) + : r.expression && Vr(It(e)) + ? Qr(t) + : r.type && xn[r.type] + ? xn[r.type](t) + : Xr(Ct({}, t, { valueSpec: r.type ? n[r.type] : r })); + } + function _n(t) { + var e = t.value, + r = t.key, + n = gn(t); + return ( + n.length || + (-1 === e.indexOf('{fontstack}') && + n.push( + new St( + r, + e, + '"glyphs" url must include a "{fontstack}" token' + ) + ), + -1 === e.indexOf('{range}') && + n.push( + new St( + r, + e, + '"glyphs" url must include a "{range}" token' + ) + )), + n + ); + } + function wn(t, e) { + void 0 === e && (e = At); + var r = []; + return ( + (r = r.concat( + bn({ + key: '', + value: t, + valueSpec: e.$root, + styleSpec: e, + style: t, + objectElementValidators: { + glyphs: _n, + '*': function () { + return []; + }, + }, + }) + )), + t.constants && + (r = r.concat( + Et({ + key: 'constants', + value: t.constants, + style: t, + styleSpec: e, + }) + )), + Tn(r) + ); + } + function Tn(t) { + return [].concat(t).sort(function (t, e) { + return t.line - e.line; + }); + } + function kn(t) { + return function () { + for (var e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return Tn(t.apply(this, e)); + }; + } + (wn.source = kn(vn)), + (wn.light = kn(yn)), + (wn.layer = kn(dn)), + (wn.filter = kn(un)), + (wn.paintProperty = kn(hn)), + (wn.layoutProperty = kn(pn)); + var Mn = wn, + An = Mn.light, + Sn = Mn.paintProperty, + En = Mn.layoutProperty; + function Cn(t, e) { + var r = !1; + if (e && e.length) + for (var n = 0, i = e; n < i.length; n += 1) + t.fire(new kt(new Error(i[n].message))), (r = !0); + return r; + } + var Ln = In; + function In(t, e, r) { + var n = (this.cells = []); + if (t instanceof ArrayBuffer) { + this.arrayBuffer = t; + var i = new Int32Array(this.arrayBuffer); + (t = i[0]), (this.d = (e = i[1]) + 2 * (r = i[2])); + for (var a = 0; a < this.d * this.d; a++) { + var o = i[3 + a], + s = i[3 + a + 1]; + n.push(o === s ? null : i.subarray(o, s)); + } + var l = i[3 + n.length + 1]; + (this.keys = i.subarray(i[3 + n.length], l)), + (this.bboxes = i.subarray(l)), + (this.insert = this._insertReadonly); + } else { + this.d = e + 2 * r; + for (var c = 0; c < this.d * this.d; c++) n.push([]); + (this.keys = []), (this.bboxes = []); + } + (this.n = e), + (this.extent = t), + (this.padding = r), + (this.scale = e / t), + (this.uid = 0); + var u = (r / e) * t; + (this.min = -u), (this.max = t + u); + } + (In.prototype.insert = function (t, e, r, n, i) { + this._forEachCell(e, r, n, i, this._insertCell, this.uid++), + this.keys.push(t), + this.bboxes.push(e), + this.bboxes.push(r), + this.bboxes.push(n), + this.bboxes.push(i); + }), + (In.prototype._insertReadonly = function () { + throw 'Cannot insert into a GridIndex created from an ArrayBuffer.'; + }), + (In.prototype._insertCell = function (t, e, r, n, i, a) { + this.cells[i].push(a); + }), + (In.prototype.query = function (t, e, r, n, i) { + var a = this.min, + o = this.max; + if (t <= a && e <= a && o <= r && o <= n && !i) + return Array.prototype.slice.call(this.keys); + var s = []; + return ( + this._forEachCell(t, e, r, n, this._queryCell, s, {}, i), + s + ); + }), + (In.prototype._queryCell = function (t, e, r, n, i, a, o, s) { + var l = this.cells[i]; + if (null !== l) + for ( + var c = this.keys, u = this.bboxes, f = 0; + f < l.length; + f++ + ) { + var h = l[f]; + if (void 0 === o[h]) { + var p = 4 * h; + ( + s + ? s(u[p + 0], u[p + 1], u[p + 2], u[p + 3]) + : t <= u[p + 2] && + e <= u[p + 3] && + r >= u[p + 0] && + n >= u[p + 1] + ) + ? ((o[h] = !0), a.push(c[h])) + : (o[h] = !1); + } + } + }), + (In.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s + ) { + for ( + var l = this._convertToCellCoord(t), + c = this._convertToCellCoord(e), + u = this._convertToCellCoord(r), + f = this._convertToCellCoord(n), + h = l; + h <= u; + h++ + ) + for (var p = c; p <= f; p++) { + var d = this.d * p + h; + if ( + (!s || + s( + this._convertFromCellCoord(h), + this._convertFromCellCoord(p), + this._convertFromCellCoord(h + 1), + this._convertFromCellCoord(p + 1) + )) && + i.call(this, t, e, r, n, d, a, o, s) + ) + return; + } + }), + (In.prototype._convertFromCellCoord = function (t) { + return (t - this.padding) / this.scale; + }), + (In.prototype._convertToCellCoord = function (t) { + return Math.max( + 0, + Math.min( + this.d - 1, + Math.floor(t * this.scale) + this.padding + ) + ); + }), + (In.prototype.toArrayBuffer = function () { + if (this.arrayBuffer) return this.arrayBuffer; + for ( + var t = this.cells, + e = 3 + this.cells.length + 1 + 1, + r = 0, + n = 0; + n < this.cells.length; + n++ + ) + r += this.cells[n].length; + var i = new Int32Array( + e + r + this.keys.length + this.bboxes.length + ); + (i[0] = this.extent), + (i[1] = this.n), + (i[2] = this.padding); + for (var a = e, o = 0; o < t.length; o++) { + var s = t[o]; + (i[3 + o] = a), i.set(s, a), (a += s.length); + } + return ( + (i[3 + t.length] = a), + i.set(this.keys, a), + (i[3 + t.length + 1] = a += this.keys.length), + i.set(this.bboxes, a), + (a += this.bboxes.length), + i.buffer + ); + }); + var Pn = self.ImageData, + zn = self.ImageBitmap, + On = {}; + function Dn(t, e, r) { + void 0 === r && (r = {}), + Object.defineProperty(e, '_classRegistryKey', { + value: t, + writeable: !1, + }), + (On[t] = { + klass: e, + omit: r.omit || [], + shallow: r.shallow || [], + }); + } + for (var Rn in (Dn('Object', Object), + (Ln.serialize = function (t, e) { + var r = t.toArrayBuffer(); + return e && e.push(r), { buffer: r }; + }), + (Ln.deserialize = function (t) { + return new Ln(t.buffer); + }), + Dn('Grid', Ln), + Dn('Color', Kt), + Dn('Error', Error), + Dn('ResolvedImage', ee), + Dn('StylePropertyFunction', Wr), + Dn('StyleExpression', Ur, { omit: ['_evaluator'] }), + Dn('ZoomDependentExpression', Gr), + Dn('ZoomConstantExpression', Hr), + Dn('CompoundExpression', me, { omit: ['_evaluate'] }), + Tr)) + Tr[Rn]._classRegistryKey || Dn('Expression_' + Rn, Tr[Rn]); + function Fn(t) { + return ( + t && + 'undefined' != typeof ArrayBuffer && + (t instanceof ArrayBuffer || + (t.constructor && 'ArrayBuffer' === t.constructor.name)) + ); + } + function Bn(t) { + return zn && t instanceof zn; + } + function Nn(t, e) { + if ( + null == t || + 'boolean' == typeof t || + 'number' == typeof t || + 'string' == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp + ) + return t; + if (Fn(t) || Bn(t)) return e && e.push(t), t; + if (ArrayBuffer.isView(t)) { + var r = t; + return e && e.push(r.buffer), r; + } + if (t instanceof Pn) return e && e.push(t.data.buffer), t; + if (Array.isArray(t)) { + for (var n = [], i = 0, a = t; i < a.length; i += 1) + n.push(Nn(a[i], e)); + return n; + } + if ('object' == typeof t) { + var o = t.constructor, + s = o._classRegistryKey; + if (!s) + throw new Error( + "can't serialize object of unregistered class" + ); + var l = o.serialize ? o.serialize(t, e) : {}; + if (!o.serialize) { + for (var c in t) + if ( + t.hasOwnProperty(c) && + !(On[s].omit.indexOf(c) >= 0) + ) { + var u = t[c]; + l[c] = On[s].shallow.indexOf(c) >= 0 ? u : Nn(u, e); + } + t instanceof Error && (l.message = t.message); + } + if (l.$name) + throw new Error( + '$name property is reserved for worker serialization logic.' + ); + return 'Object' !== s && (l.$name = s), l; + } + throw new Error("can't serialize object of type " + typeof t); + } + function jn(t) { + if ( + null == t || + 'boolean' == typeof t || + 'number' == typeof t || + 'string' == typeof t || + t instanceof Boolean || + t instanceof Number || + t instanceof String || + t instanceof Date || + t instanceof RegExp || + Fn(t) || + Bn(t) || + ArrayBuffer.isView(t) || + t instanceof Pn + ) + return t; + if (Array.isArray(t)) return t.map(jn); + if ('object' == typeof t) { + var e = t.$name || 'Object', + r = On[e].klass; + if (!r) + throw new Error( + "can't deserialize unregistered class " + e + ); + if (r.deserialize) return r.deserialize(t); + for ( + var n = Object.create(r.prototype), + i = 0, + a = Object.keys(t); + i < a.length; + i += 1 + ) { + var o = a[i]; + if ('$name' !== o) { + var s = t[o]; + n[o] = On[e].shallow.indexOf(o) >= 0 ? s : jn(s); + } + } + return n; + } + throw new Error( + "can't deserialize object of type " + typeof t + ); + } + var Un = function () { + this.first = !0; + }; + Un.prototype.update = function (t, e) { + var r = Math.floor(t); + return this.first + ? ((this.first = !1), + (this.lastIntegerZoom = r), + (this.lastIntegerZoomTime = 0), + (this.lastZoom = t), + (this.lastFloorZoom = r), + !0) + : (this.lastFloorZoom > r + ? ((this.lastIntegerZoom = r + 1), + (this.lastIntegerZoomTime = e)) + : this.lastFloorZoom < r && + ((this.lastIntegerZoom = r), + (this.lastIntegerZoomTime = e)), + t !== this.lastZoom && + ((this.lastZoom = t), (this.lastFloorZoom = r), !0)); + }; + var Vn = { + 'Latin-1 Supplement': function (t) { + return t >= 128 && t <= 255; + }, + Arabic: function (t) { + return t >= 1536 && t <= 1791; + }, + 'Arabic Supplement': function (t) { + return t >= 1872 && t <= 1919; + }, + 'Arabic Extended-A': function (t) { + return t >= 2208 && t <= 2303; + }, + 'Hangul Jamo': function (t) { + return t >= 4352 && t <= 4607; + }, + 'Unified Canadian Aboriginal Syllabics': function (t) { + return t >= 5120 && t <= 5759; + }, + Khmer: function (t) { + return t >= 6016 && t <= 6143; + }, + 'Unified Canadian Aboriginal Syllabics Extended': function ( + t + ) { + return t >= 6320 && t <= 6399; + }, + 'General Punctuation': function (t) { + return t >= 8192 && t <= 8303; + }, + 'Letterlike Symbols': function (t) { + return t >= 8448 && t <= 8527; + }, + 'Number Forms': function (t) { + return t >= 8528 && t <= 8591; + }, + 'Miscellaneous Technical': function (t) { + return t >= 8960 && t <= 9215; + }, + 'Control Pictures': function (t) { + return t >= 9216 && t <= 9279; + }, + 'Optical Character Recognition': function (t) { + return t >= 9280 && t <= 9311; + }, + 'Enclosed Alphanumerics': function (t) { + return t >= 9312 && t <= 9471; + }, + 'Geometric Shapes': function (t) { + return t >= 9632 && t <= 9727; + }, + 'Miscellaneous Symbols': function (t) { + return t >= 9728 && t <= 9983; + }, + 'Miscellaneous Symbols and Arrows': function (t) { + return t >= 11008 && t <= 11263; + }, + 'CJK Radicals Supplement': function (t) { + return t >= 11904 && t <= 12031; + }, + 'Kangxi Radicals': function (t) { + return t >= 12032 && t <= 12255; + }, + 'Ideographic Description Characters': function (t) { + return t >= 12272 && t <= 12287; + }, + 'CJK Symbols and Punctuation': function (t) { + return t >= 12288 && t <= 12351; + }, + Hiragana: function (t) { + return t >= 12352 && t <= 12447; + }, + Katakana: function (t) { + return t >= 12448 && t <= 12543; + }, + Bopomofo: function (t) { + return t >= 12544 && t <= 12591; + }, + 'Hangul Compatibility Jamo': function (t) { + return t >= 12592 && t <= 12687; + }, + Kanbun: function (t) { + return t >= 12688 && t <= 12703; + }, + 'Bopomofo Extended': function (t) { + return t >= 12704 && t <= 12735; + }, + 'CJK Strokes': function (t) { + return t >= 12736 && t <= 12783; + }, + 'Katakana Phonetic Extensions': function (t) { + return t >= 12784 && t <= 12799; + }, + 'Enclosed CJK Letters and Months': function (t) { + return t >= 12800 && t <= 13055; + }, + 'CJK Compatibility': function (t) { + return t >= 13056 && t <= 13311; + }, + 'CJK Unified Ideographs Extension A': function (t) { + return t >= 13312 && t <= 19903; + }, + 'Yijing Hexagram Symbols': function (t) { + return t >= 19904 && t <= 19967; + }, + 'CJK Unified Ideographs': function (t) { + return t >= 19968 && t <= 40959; + }, + 'Yi Syllables': function (t) { + return t >= 40960 && t <= 42127; + }, + 'Yi Radicals': function (t) { + return t >= 42128 && t <= 42191; + }, + 'Hangul Jamo Extended-A': function (t) { + return t >= 43360 && t <= 43391; + }, + 'Hangul Syllables': function (t) { + return t >= 44032 && t <= 55215; + }, + 'Hangul Jamo Extended-B': function (t) { + return t >= 55216 && t <= 55295; + }, + 'Private Use Area': function (t) { + return t >= 57344 && t <= 63743; + }, + 'CJK Compatibility Ideographs': function (t) { + return t >= 63744 && t <= 64255; + }, + 'Arabic Presentation Forms-A': function (t) { + return t >= 64336 && t <= 65023; + }, + 'Vertical Forms': function (t) { + return t >= 65040 && t <= 65055; + }, + 'CJK Compatibility Forms': function (t) { + return t >= 65072 && t <= 65103; + }, + 'Small Form Variants': function (t) { + return t >= 65104 && t <= 65135; + }, + 'Arabic Presentation Forms-B': function (t) { + return t >= 65136 && t <= 65279; + }, + 'Halfwidth and Fullwidth Forms': function (t) { + return t >= 65280 && t <= 65519; + }, + }; + function qn(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (Hn(r[e].charCodeAt(0))) return !0; + return !1; + } + function Hn(t) { + return !( + 746 !== t && + 747 !== t && + (t < 4352 || + !( + Vn['Bopomofo Extended'](t) || + Vn.Bopomofo(t) || + (Vn['CJK Compatibility Forms'](t) && + !(t >= 65097 && t <= 65103)) || + Vn['CJK Compatibility Ideographs'](t) || + Vn['CJK Compatibility'](t) || + Vn['CJK Radicals Supplement'](t) || + Vn['CJK Strokes'](t) || + !( + !Vn['CJK Symbols and Punctuation'](t) || + (t >= 12296 && t <= 12305) || + (t >= 12308 && t <= 12319) || + 12336 === t + ) || + Vn['CJK Unified Ideographs Extension A'](t) || + Vn['CJK Unified Ideographs'](t) || + Vn['Enclosed CJK Letters and Months'](t) || + Vn['Hangul Compatibility Jamo'](t) || + Vn['Hangul Jamo Extended-A'](t) || + Vn['Hangul Jamo Extended-B'](t) || + Vn['Hangul Jamo'](t) || + Vn['Hangul Syllables'](t) || + Vn.Hiragana(t) || + Vn['Ideographic Description Characters'](t) || + Vn.Kanbun(t) || + Vn['Kangxi Radicals'](t) || + Vn['Katakana Phonetic Extensions'](t) || + (Vn.Katakana(t) && 12540 !== t) || + !( + !Vn['Halfwidth and Fullwidth Forms'](t) || + 65288 === t || + 65289 === t || + 65293 === t || + (t >= 65306 && t <= 65310) || + 65339 === t || + 65341 === t || + 65343 === t || + (t >= 65371 && t <= 65503) || + 65507 === t || + (t >= 65512 && t <= 65519) + ) || + !( + !Vn['Small Form Variants'](t) || + (t >= 65112 && t <= 65118) || + (t >= 65123 && t <= 65126) + ) || + Vn['Unified Canadian Aboriginal Syllabics'](t) || + Vn['Unified Canadian Aboriginal Syllabics Extended']( + t + ) || + Vn['Vertical Forms'](t) || + Vn['Yijing Hexagram Symbols'](t) || + Vn['Yi Syllables'](t) || + Vn['Yi Radicals'](t) + )) + ); + } + function Gn(t) { + return !( + Hn(t) || + (function (t) { + return !!( + (Vn['Latin-1 Supplement'](t) && + (167 === t || + 169 === t || + 174 === t || + 177 === t || + 188 === t || + 189 === t || + 190 === t || + 215 === t || + 247 === t)) || + (Vn['General Punctuation'](t) && + (8214 === t || + 8224 === t || + 8225 === t || + 8240 === t || + 8241 === t || + 8251 === t || + 8252 === t || + 8258 === t || + 8263 === t || + 8264 === t || + 8265 === t || + 8273 === t)) || + Vn['Letterlike Symbols'](t) || + Vn['Number Forms'](t) || + (Vn['Miscellaneous Technical'](t) && + ((t >= 8960 && t <= 8967) || + (t >= 8972 && t <= 8991) || + (t >= 8996 && t <= 9e3) || + 9003 === t || + (t >= 9085 && t <= 9114) || + (t >= 9150 && t <= 9165) || + 9167 === t || + (t >= 9169 && t <= 9179) || + (t >= 9186 && t <= 9215))) || + (Vn['Control Pictures'](t) && 9251 !== t) || + Vn['Optical Character Recognition'](t) || + Vn['Enclosed Alphanumerics'](t) || + Vn['Geometric Shapes'](t) || + (Vn['Miscellaneous Symbols'](t) && + !(t >= 9754 && t <= 9759)) || + (Vn['Miscellaneous Symbols and Arrows'](t) && + ((t >= 11026 && t <= 11055) || + (t >= 11088 && t <= 11097) || + (t >= 11192 && t <= 11243))) || + Vn['CJK Symbols and Punctuation'](t) || + Vn.Katakana(t) || + Vn['Private Use Area'](t) || + Vn['CJK Compatibility Forms'](t) || + Vn['Small Form Variants'](t) || + Vn['Halfwidth and Fullwidth Forms'](t) || + 8734 === t || + 8756 === t || + 8757 === t || + (t >= 9984 && t <= 10087) || + (t >= 10102 && t <= 10131) || + 65532 === t || + 65533 === t + ); + })(t) + ); + } + function Yn(t) { + return ( + (t >= 1424 && t <= 2303) || + Vn['Arabic Presentation Forms-A'](t) || + Vn['Arabic Presentation Forms-B'](t) + ); + } + function Wn(t, e) { + return !( + (!e && Yn(t)) || + (t >= 2304 && t <= 3583) || + (t >= 3840 && t <= 4255) || + Vn.Khmer(t) + ); + } + function Xn(t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (Yn(r[e].charCodeAt(0))) return !0; + return !1; + } + var Zn = null, + Jn = 'unavailable', + Kn = null, + Qn = function (t) { + t && + 'string' == typeof t && + t.indexOf('NetworkError') > -1 && + (Jn = 'error'), + Zn && Zn(t); + }; + function $n() { + ti.fire( + new Tt('pluginStateChange', { + pluginStatus: Jn, + pluginURL: Kn, + }) + ); + } + var ti = new Mt(), + ei = function () { + return Jn; + }, + ri = function () { + if ('deferred' !== Jn || !Kn) + throw new Error( + 'rtl-text-plugin cannot be downloaded unless a pluginURL is specified' + ); + (Jn = 'loading'), + $n(), + Kn && + yt({ url: Kn }, function (t) { + t ? Qn(t) : ((Jn = 'loaded'), $n()); + }); + }, + ni = { + applyArabicShaping: null, + processBidirectionalText: null, + processStyledBidirectionalText: null, + isLoaded: function () { + return 'loaded' === Jn || null != ni.applyArabicShaping; + }, + isLoading: function () { + return 'loading' === Jn; + }, + setState: function (t) { + (Jn = t.pluginStatus), (Kn = t.pluginURL); + }, + isParsed: function () { + return ( + null != ni.applyArabicShaping && + null != ni.processBidirectionalText && + null != ni.processStyledBidirectionalText + ); + }, + getPluginURL: function () { + return Kn; + }, + }, + ii = function (t, e) { + (this.zoom = t), + e + ? ((this.now = e.now), + (this.fadeDuration = e.fadeDuration), + (this.zoomHistory = e.zoomHistory), + (this.transition = e.transition)) + : ((this.now = 0), + (this.fadeDuration = 0), + (this.zoomHistory = new Un()), + (this.transition = {})); + }; + (ii.prototype.isSupportedScript = function (t) { + return (function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) + if (!Wn(n[r].charCodeAt(0), e)) return !1; + return !0; + })(t, ni.isLoaded()); + }), + (ii.prototype.crossFadingFactor = function () { + return 0 === this.fadeDuration + ? 1 + : Math.min( + (this.now - this.zoomHistory.lastIntegerZoomTime) / + this.fadeDuration, + 1 + ); + }), + (ii.prototype.getCrossfadeParameters = function () { + var t = this.zoom, + e = t - Math.floor(t), + r = this.crossFadingFactor(); + return t > this.zoomHistory.lastIntegerZoom + ? { fromScale: 2, toScale: 1, t: e + (1 - e) * r } + : { fromScale: 0.5, toScale: 1, t: 1 - (1 - r) * e }; + }); + var ai = function (t, e) { + (this.property = t), + (this.value = e), + (this.expression = (function (t, e) { + if (Or(t)) return new Wr(t, e); + if (Vr(t)) { + var r = Yr(t, e); + if ('error' === r.result) + throw new Error( + r.value + .map(function (t) { + return t.key + ': ' + t.message; + }) + .join(', ') + ); + return r.value; + } + var n = t; + return ( + 'string' == typeof t && + 'color' === e.type && + (n = Kt.parse(t)), + { + kind: 'constant', + evaluate: function () { + return n; + }, + } + ); + })( + void 0 === e ? t.specification.default : e, + t.specification + )); + }; + (ai.prototype.isDataDriven = function () { + return ( + 'source' === this.expression.kind || + 'composite' === this.expression.kind + ); + }), + (ai.prototype.possiblyEvaluate = function (t, e, r) { + return this.property.possiblyEvaluate(this, t, e, r); + }); + var oi = function (t) { + (this.property = t), (this.value = new ai(t, void 0)); + }; + (oi.prototype.transitioned = function (t, e) { + return new li( + this.property, + this.value, + e, + u({}, t.transition, this.transition), + t.now + ); + }), + (oi.prototype.untransitioned = function () { + return new li(this.property, this.value, null, {}, 0); + }); + var si = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitionablePropertyValues + )); + }; + (si.prototype.getValue = function (t) { + return x(this._values[t].value.value); + }), + (si.prototype.setValue = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new oi(this._values[t].property)), + (this._values[t].value = new ai( + this._values[t].property, + null === e ? void 0 : x(e) + )); + }), + (si.prototype.getTransition = function (t) { + return x(this._values[t].transition); + }), + (si.prototype.setTransition = function (t, e) { + this._values.hasOwnProperty(t) || + (this._values[t] = new oi(this._values[t].property)), + (this._values[t].transition = x(e) || void 0); + }), + (si.prototype.serialize = function () { + for ( + var t = {}, e = 0, r = Object.keys(this._values); + e < r.length; + e += 1 + ) { + var n = r[e], + i = this.getValue(n); + void 0 !== i && (t[n] = i); + var a = this.getTransition(n); + void 0 !== a && (t[n + '-transition'] = a); + } + return t; + }), + (si.prototype.transitioned = function (t, e) { + for ( + var r = new ci(this._properties), + n = 0, + i = Object.keys(this._values); + n < i.length; + n += 1 + ) { + var a = i[n]; + r._values[a] = this._values[a].transitioned( + t, + e._values[a] + ); + } + return r; + }), + (si.prototype.untransitioned = function () { + for ( + var t = new ci(this._properties), + e = 0, + r = Object.keys(this._values); + e < r.length; + e += 1 + ) { + var n = r[e]; + t._values[n] = this._values[n].untransitioned(); + } + return t; + }); + var li = function (t, e, r, n, i) { + (this.property = t), + (this.value = e), + (this.begin = i + n.delay || 0), + (this.end = this.begin + n.duration || 0), + t.specification.transition && + (n.delay || n.duration) && + (this.prior = r); + }; + li.prototype.possiblyEvaluate = function (t, e, r) { + var n = t.now || 0, + i = this.value.possiblyEvaluate(t, e, r), + a = this.prior; + if (a) { + if (n > this.end) return (this.prior = null), i; + if (this.value.isDataDriven()) + return (this.prior = null), i; + if (n < this.begin) return a.possiblyEvaluate(t, e, r); + var o = (n - this.begin) / (this.end - this.begin); + return this.property.interpolate( + a.possiblyEvaluate(t, e, r), + i, + (function (t) { + if (t <= 0) return 0; + if (t >= 1) return 1; + var e = t * t, + r = e * t; + return 4 * (t < 0.5 ? r : 3 * (t - e) + r - 0.75); + })(o) + ); + } + return i; + }; + var ci = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultTransitioningPropertyValues + )); + }; + (ci.prototype.possiblyEvaluate = function (t, e, r) { + for ( + var n = new hi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[o].possiblyEvaluate(t, e, r); + } + return n; + }), + (ci.prototype.hasTransition = function () { + for ( + var t = 0, e = Object.keys(this._values); + t < e.length; + t += 1 + ) + if (this._values[e[t]].prior) return !0; + return !1; + }); + var ui = function (t) { + (this._properties = t), + (this._values = Object.create(t.defaultPropertyValues)); + }; + (ui.prototype.getValue = function (t) { + return x(this._values[t].value); + }), + (ui.prototype.setValue = function (t, e) { + this._values[t] = new ai( + this._values[t].property, + null === e ? void 0 : x(e) + ); + }), + (ui.prototype.serialize = function () { + for ( + var t = {}, e = 0, r = Object.keys(this._values); + e < r.length; + e += 1 + ) { + var n = r[e], + i = this.getValue(n); + void 0 !== i && (t[n] = i); + } + return t; + }), + (ui.prototype.possiblyEvaluate = function (t, e, r) { + for ( + var n = new hi(this._properties), + i = 0, + a = Object.keys(this._values); + i < a.length; + i += 1 + ) { + var o = a[i]; + n._values[o] = this._values[o].possiblyEvaluate(t, e, r); + } + return n; + }); + var fi = function (t, e, r) { + (this.property = t), (this.value = e), (this.parameters = r); + }; + (fi.prototype.isConstant = function () { + return 'constant' === this.value.kind; + }), + (fi.prototype.constantOr = function (t) { + return 'constant' === this.value.kind + ? this.value.value + : t; + }), + (fi.prototype.evaluate = function (t, e, r, n) { + return this.property.evaluate( + this.value, + this.parameters, + t, + e, + r, + n + ); + }); + var hi = function (t) { + (this._properties = t), + (this._values = Object.create( + t.defaultPossiblyEvaluatedValues + )); + }; + hi.prototype.get = function (t) { + return this._values[t]; + }; + var pi = function (t) { + this.specification = t; + }; + (pi.prototype.possiblyEvaluate = function (t, e) { + return t.expression.evaluate(e); + }), + (pi.prototype.interpolate = function (t, e, r) { + var n = Ve[this.specification.type]; + return n ? n(t, e, r) : t; + }); + var di = function (t, e) { + (this.specification = t), (this.overrides = e); + }; + (di.prototype.possiblyEvaluate = function (t, e, r, n) { + return new fi( + this, + 'constant' === t.expression.kind || + 'camera' === t.expression.kind + ? { + kind: 'constant', + value: t.expression.evaluate(e, null, {}, r, n), + } + : t.expression, + e + ); + }), + (di.prototype.interpolate = function (t, e, r) { + if ( + 'constant' !== t.value.kind || + 'constant' !== e.value.kind + ) + return t; + if (void 0 === t.value.value || void 0 === e.value.value) + return new fi( + this, + { kind: 'constant', value: void 0 }, + t.parameters + ); + var n = Ve[this.specification.type]; + return n + ? new fi( + this, + { + kind: 'constant', + value: n(t.value.value, e.value.value, r), + }, + t.parameters + ) + : t; + }), + (di.prototype.evaluate = function (t, e, r, n, i, a) { + return 'constant' === t.kind + ? t.value + : t.evaluate(e, r, n, i, a); + }); + var gi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.possiblyEvaluate = function (t, e, r, n) { + if (void 0 === t.value) + return new fi( + this, + { kind: 'constant', value: void 0 }, + e + ); + if ('constant' === t.expression.kind) { + var i = t.expression.evaluate(e, null, {}, r, n), + a = + 'resolvedImage' === + t.property.specification.type && + 'string' != typeof i + ? i.name + : i, + o = this._calculate(a, a, a, e); + return new fi( + this, + { kind: 'constant', value: o }, + e + ); + } + if ('camera' === t.expression.kind) { + var s = this._calculate( + t.expression.evaluate({ zoom: e.zoom - 1 }), + t.expression.evaluate({ zoom: e.zoom }), + t.expression.evaluate({ zoom: e.zoom + 1 }), + e + ); + return new fi( + this, + { kind: 'constant', value: s }, + e + ); + } + return new fi(this, t.expression, e); + }), + (e.prototype.evaluate = function (t, e, r, n, i, a) { + if ('source' === t.kind) { + var o = t.evaluate(e, r, n, i, a); + return this._calculate(o, o, o, e); + } + return 'composite' === t.kind + ? this._calculate( + t.evaluate( + { zoom: Math.floor(e.zoom) - 1 }, + r, + n + ), + t.evaluate({ zoom: Math.floor(e.zoom) }, r, n), + t.evaluate( + { zoom: Math.floor(e.zoom) + 1 }, + r, + n + ), + e + ) + : t.value; + }), + (e.prototype._calculate = function (t, e, r, n) { + return n.zoom > n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (e.prototype.interpolate = function (t) { + return t; + }), + e + ); + })(di), + mi = function (t) { + this.specification = t; + }; + (mi.prototype.possiblyEvaluate = function (t, e, r, n) { + if (void 0 !== t.value) { + if ('constant' === t.expression.kind) { + var i = t.expression.evaluate(e, null, {}, r, n); + return this._calculate(i, i, i, e); + } + return this._calculate( + t.expression.evaluate(new ii(Math.floor(e.zoom - 1), e)), + t.expression.evaluate(new ii(Math.floor(e.zoom), e)), + t.expression.evaluate(new ii(Math.floor(e.zoom + 1), e)), + e + ); + } + }), + (mi.prototype._calculate = function (t, e, r, n) { + return n.zoom > n.zoomHistory.lastIntegerZoom + ? { from: t, to: e } + : { from: r, to: e }; + }), + (mi.prototype.interpolate = function (t) { + return t; + }); + var vi = function (t) { + this.specification = t; + }; + (vi.prototype.possiblyEvaluate = function (t, e, r, n) { + return !!t.expression.evaluate(e, null, {}, r, n); + }), + (vi.prototype.interpolate = function () { + return !1; + }); + var yi = function (t) { + for (var e in ((this.properties = t), + (this.defaultPropertyValues = {}), + (this.defaultTransitionablePropertyValues = {}), + (this.defaultTransitioningPropertyValues = {}), + (this.defaultPossiblyEvaluatedValues = {}), + (this.overridableProperties = []), + t)) { + var r = t[e]; + r.specification.overridable && + this.overridableProperties.push(e); + var n = (this.defaultPropertyValues[e] = new ai(r, void 0)), + i = (this.defaultTransitionablePropertyValues[e] = new oi( + r + )); + (this.defaultTransitioningPropertyValues[e] = + i.untransitioned()), + (this.defaultPossiblyEvaluatedValues[e] = + n.possiblyEvaluate({})); + } + }; + Dn('DataDrivenProperty', di), + Dn('DataConstantProperty', pi), + Dn('CrossFadedDataDrivenProperty', gi), + Dn('CrossFadedProperty', mi), + Dn('ColorRampProperty', vi); + var xi = (function (t) { + function e(e, r) { + if ( + (t.call(this), + (this.id = e.id), + (this.type = e.type), + (this._featureFilter = { + filter: function () { + return !0; + }, + needGeometry: !1, + }), + 'custom' !== e.type && + ((this.metadata = (e = e).metadata), + (this.minzoom = e.minzoom), + (this.maxzoom = e.maxzoom), + 'background' !== e.type && + ((this.source = e.source), + (this.sourceLayer = e['source-layer']), + (this.filter = e.filter)), + r.layout && + (this._unevaluatedLayout = new ui(r.layout)), + r.paint)) + ) { + for (var n in ((this._transitionablePaint = new si( + r.paint + )), + e.paint)) + this.setPaintProperty(n, e.paint[n], { + validate: !1, + }); + for (var i in e.layout) + this.setLayoutProperty(i, e.layout[i], { + validate: !1, + }); + (this._transitioningPaint = + this._transitionablePaint.untransitioned()), + (this.paint = new hi(r.paint)); + } + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getCrossfadeParameters = function () { + return this._crossfadeParameters; + }), + (e.prototype.getLayoutProperty = function (t) { + return 'visibility' === t + ? this.visibility + : this._unevaluatedLayout.getValue(t); + }), + (e.prototype.setLayoutProperty = function (t, e, r) { + void 0 === r && (r = {}), + (null != e && + this._validate( + En, + 'layers.' + this.id + '.layout.' + t, + t, + e, + r + )) || + ('visibility' !== t + ? this._unevaluatedLayout.setValue(t, e) + : (this.visibility = e)); + }), + (e.prototype.getPaintProperty = function (t) { + return m(t, '-transition') + ? this._transitionablePaint.getTransition( + t.slice(0, -'-transition'.length) + ) + : this._transitionablePaint.getValue(t); + }), + (e.prototype.setPaintProperty = function (t, e, r) { + if ( + (void 0 === r && (r = {}), + null != e && + this._validate( + Sn, + 'layers.' + this.id + '.paint.' + t, + t, + e, + r + )) + ) + return !1; + if (m(t, '-transition')) + return ( + this._transitionablePaint.setTransition( + t.slice(0, -'-transition'.length), + e || void 0 + ), + !1 + ); + var n = this._transitionablePaint._values[t], + i = + 'cross-faded-data-driven' === + n.property.specification['property-type'], + a = n.value.isDataDriven(), + o = n.value; + this._transitionablePaint.setValue(t, e), + this._handleSpecialPaintPropertyUpdate(t); + var s = this._transitionablePaint._values[t].value; + return ( + s.isDataDriven() || + a || + i || + this._handleOverridablePaintPropertyUpdate(t, o, s) + ); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) {}), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, e, r) { + return !1; + }), + (e.prototype.isHidden = function (t) { + return ( + !!(this.minzoom && t < this.minzoom) || + !!(this.maxzoom && t >= this.maxzoom) || + 'none' === this.visibility + ); + }), + (e.prototype.updateTransitions = function (t) { + this._transitioningPaint = + this._transitionablePaint.transitioned( + t, + this._transitioningPaint + ); + }), + (e.prototype.hasTransition = function () { + return this._transitioningPaint.hasTransition(); + }), + (e.prototype.recalculate = function (t, e) { + t.getCrossfadeParameters && + (this._crossfadeParameters = + t.getCrossfadeParameters()), + this._unevaluatedLayout && + (this.layout = + this._unevaluatedLayout.possiblyEvaluate( + t, + void 0, + e + )), + (this.paint = + this._transitioningPaint.possiblyEvaluate( + t, + void 0, + e + )); + }), + (e.prototype.serialize = function () { + var t = { + id: this.id, + type: this.type, + source: this.source, + 'source-layer': this.sourceLayer, + metadata: this.metadata, + minzoom: this.minzoom, + maxzoom: this.maxzoom, + filter: this.filter, + layout: + this._unevaluatedLayout && + this._unevaluatedLayout.serialize(), + paint: + this._transitionablePaint && + this._transitionablePaint.serialize(), + }; + return ( + this.visibility && + ((t.layout = t.layout || {}), + (t.layout.visibility = this.visibility)), + y(t, function (t, e) { + return !( + void 0 === t || + ('layout' === e && !Object.keys(t).length) || + ('paint' === e && !Object.keys(t).length) + ); + }) + ); + }), + (e.prototype._validate = function (t, e, r, n, i) { + return ( + void 0 === i && (i = {}), + (!i || !1 !== i.validate) && + Cn( + this, + t.call(Mn, { + key: e, + layerType: this.type, + objectKey: r, + value: n, + styleSpec: At, + style: { glyphs: !0, sprite: !0 }, + }) + ) + ); + }), + (e.prototype.is3D = function () { + return !1; + }), + (e.prototype.isTileClipped = function () { + return !1; + }), + (e.prototype.hasOffscreenPass = function () { + return !1; + }), + (e.prototype.resize = function () {}), + (e.prototype.isStateDependent = function () { + for (var t in this.paint._values) { + var e = this.paint.get(t); + if ( + e instanceof fi && + Lr(e.property.specification) && + ('source' === e.value.kind || + 'composite' === e.value.kind) && + e.value.isStateDependent + ) + return !0; + } + return !1; + }), + e + ); + })(Mt), + bi = { + Int8: Int8Array, + Uint8: Uint8Array, + Int16: Int16Array, + Uint16: Uint16Array, + Int32: Int32Array, + Uint32: Uint32Array, + Float32: Float32Array, + }, + _i = function (t, e) { + (this._structArray = t), + (this._pos1 = e * this.size), + (this._pos2 = this._pos1 / 2), + (this._pos4 = this._pos1 / 4), + (this._pos8 = this._pos1 / 8); + }, + wi = function () { + (this.isTransferred = !1), + (this.capacity = -1), + this.resize(0); + }; + function Ti(t, e) { + void 0 === e && (e = 1); + var r = 0, + n = 0; + return { + members: t.map(function (t) { + var i = bi[t.type].BYTES_PER_ELEMENT, + a = (r = ki(r, Math.max(e, i))), + o = t.components || 1; + return ( + (n = Math.max(n, i)), + (r += i * o), + { name: t.name, type: t.type, components: o, offset: a } + ); + }), + size: ki(r, Math.max(n, e)), + alignment: e, + }; + } + function ki(t, e) { + return Math.ceil(t / e) * e; + } + (wi.serialize = function (t, e) { + return ( + t._trim(), + e && ((t.isTransferred = !0), e.push(t.arrayBuffer)), + { length: t.length, arrayBuffer: t.arrayBuffer } + ); + }), + (wi.deserialize = function (t) { + var e = Object.create(this.prototype); + return ( + (e.arrayBuffer = t.arrayBuffer), + (e.length = t.length), + (e.capacity = + t.arrayBuffer.byteLength / e.bytesPerElement), + e._refreshViews(), + e + ); + }), + (wi.prototype._trim = function () { + this.length !== this.capacity && + ((this.capacity = this.length), + (this.arrayBuffer = this.arrayBuffer.slice( + 0, + this.length * this.bytesPerElement + )), + this._refreshViews()); + }), + (wi.prototype.clear = function () { + this.length = 0; + }), + (wi.prototype.resize = function (t) { + this.reserve(t), (this.length = t); + }), + (wi.prototype.reserve = function (t) { + if (t > this.capacity) { + (this.capacity = Math.max( + t, + Math.floor(5 * this.capacity), + 128 + )), + (this.arrayBuffer = new ArrayBuffer( + this.capacity * this.bytesPerElement + )); + var e = this.uint8; + this._refreshViews(), e && this.uint8.set(e); + } + }), + (wi.prototype._refreshViews = function () { + throw new Error( + '_refreshViews() must be implemented by each concrete StructArray layout' + ); + }); + var Mi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.int16[n + 0] = e), (this.int16[n + 1] = r), t + ); + }), + e + ); + })(wi); + (Mi.prototype.bytesPerElement = 4), + Dn('StructArrayLayout2i4', Mi); + var Ai = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n) { + var i = this.length; + return this.resize(i + 1), this.emplace(i, t, e, r, n); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 4 * t; + return ( + (this.int16[a + 0] = e), + (this.int16[a + 1] = r), + (this.int16[a + 2] = n), + (this.int16[a + 3] = i), + t + ); + }), + e + ); + })(wi); + (Ai.prototype.bytesPerElement = 8), + Dn('StructArrayLayout4i8', Ai); + var Si = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a) { + var o = this.length; + return ( + this.resize(o + 1), this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i, a, o) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(wi); + (Si.prototype.bytesPerElement = 12), + Dn('StructArrayLayout2i4i12', Si); + var Ei = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a) { + var o = this.length; + return ( + this.resize(o + 1), this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i, a, o) { + var s = 4 * t, + l = 8 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.uint8[l + 4] = n), + (this.uint8[l + 5] = i), + (this.uint8[l + 6] = a), + (this.uint8[l + 7] = o), + t + ); + }), + e + ); + })(wi); + (Ei.prototype.bytesPerElement = 8), + Dn('StructArrayLayout2i4ub8', Ei); + var Ci = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c + ) { + var u = this.length; + return ( + this.resize(u + 1), + this.emplace(u, t, e, r, n, i, a, o, s, l, c) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u + ) { + var f = 9 * t, + h = 18 * t; + return ( + (this.uint16[f + 0] = e), + (this.uint16[f + 1] = r), + (this.uint16[f + 2] = n), + (this.uint16[f + 3] = i), + (this.uint16[f + 4] = a), + (this.uint16[f + 5] = o), + (this.uint16[f + 6] = s), + (this.uint16[f + 7] = l), + (this.uint8[h + 16] = c), + (this.uint8[h + 17] = u), + t + ); + }), + e + ); + })(wi); + (Ci.prototype.bytesPerElement = 18), + Dn('StructArrayLayout8ui2ub18', Ci); + var Li = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f + ) { + var h = this.length; + return ( + this.resize(h + 1), + this.emplace(h, t, e, r, n, i, a, o, s, l, c, u, f) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h + ) { + var p = 12 * t; + return ( + (this.int16[p + 0] = e), + (this.int16[p + 1] = r), + (this.int16[p + 2] = n), + (this.int16[p + 3] = i), + (this.uint16[p + 4] = a), + (this.uint16[p + 5] = o), + (this.uint16[p + 6] = s), + (this.uint16[p + 7] = l), + (this.int16[p + 8] = c), + (this.int16[p + 9] = u), + (this.int16[p + 10] = f), + (this.int16[p + 11] = h), + t + ); + }), + e + ); + })(wi); + (Li.prototype.bytesPerElement = 24), + Dn('StructArrayLayout4i4ui4i24', Li); + var Ii = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + return this.resize(n + 1), this.emplace(n, t, e, r); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.float32[i + 0] = e), + (this.float32[i + 1] = r), + (this.float32[i + 2] = n), + t + ); + }), + e + ); + })(wi); + (Ii.prototype.bytesPerElement = 12), + Dn('StructArrayLayout3f12', Ii); + var Pi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t) { + var e = this.length; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + return (this.uint32[1 * t + 0] = e), t; + }), + e + ); + })(wi); + (Pi.prototype.bytesPerElement = 4), + Dn('StructArrayLayout1ul4', Pi); + var zi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l + ) { + var c = this.length; + return ( + this.resize(c + 1), + this.emplace(c, t, e, r, n, i, a, o, s, l) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c + ) { + var u = 10 * t, + f = 5 * t; + return ( + (this.int16[u + 0] = e), + (this.int16[u + 1] = r), + (this.int16[u + 2] = n), + (this.int16[u + 3] = i), + (this.int16[u + 4] = a), + (this.int16[u + 5] = o), + (this.uint32[f + 3] = s), + (this.uint16[u + 8] = l), + (this.uint16[u + 9] = c), + t + ); + }), + e + ); + })(wi); + (zi.prototype.bytesPerElement = 20), + Dn('StructArrayLayout6i1ul2ui20', zi); + var Oi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i, a) { + var o = this.length; + return ( + this.resize(o + 1), this.emplace(o, t, e, r, n, i, a) + ); + }), + (e.prototype.emplace = function (t, e, r, n, i, a, o) { + var s = 6 * t; + return ( + (this.int16[s + 0] = e), + (this.int16[s + 1] = r), + (this.int16[s + 2] = n), + (this.int16[s + 3] = i), + (this.int16[s + 4] = a), + (this.int16[s + 5] = o), + t + ); + }), + e + ); + })(wi); + (Oi.prototype.bytesPerElement = 12), + Dn('StructArrayLayout2i2i2i12', Oi); + var Di = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n, i) { + var a = this.length; + return this.resize(a + 1), this.emplace(a, t, e, r, n, i); + }), + (e.prototype.emplace = function (t, e, r, n, i, a) { + var o = 4 * t, + s = 8 * t; + return ( + (this.float32[o + 0] = e), + (this.float32[o + 1] = r), + (this.float32[o + 2] = n), + (this.int16[s + 6] = i), + (this.int16[s + 7] = a), + t + ); + }), + e + ); + })(wi); + (Di.prototype.bytesPerElement = 16), + Dn('StructArrayLayout2f1f2i16', Di); + var Ri = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n) { + var i = this.length; + return this.resize(i + 1), this.emplace(i, t, e, r, n); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 12 * t, + o = 3 * t; + return ( + (this.uint8[a + 0] = e), + (this.uint8[a + 1] = r), + (this.float32[o + 1] = n), + (this.float32[o + 2] = i), + t + ); + }), + e + ); + })(wi); + (Ri.prototype.bytesPerElement = 12), + Dn('StructArrayLayout2ub2f12', Ri); + var Fi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + return this.resize(n + 1), this.emplace(n, t, e, r); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.uint16[i + 0] = e), + (this.uint16[i + 1] = r), + (this.uint16[i + 2] = n), + t + ); + }), + e + ); + })(wi); + (Fi.prototype.bytesPerElement = 6), + Dn('StructArrayLayout3ui6', Fi); + var Bi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m + ) { + var v = this.length; + return ( + this.resize(v + 1), + this.emplace( + v, + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v + ) { + var y = 24 * t, + x = 12 * t, + b = 48 * t; + return ( + (this.int16[y + 0] = e), + (this.int16[y + 1] = r), + (this.uint16[y + 2] = n), + (this.uint16[y + 3] = i), + (this.uint32[x + 2] = a), + (this.uint32[x + 3] = o), + (this.uint32[x + 4] = s), + (this.uint16[y + 10] = l), + (this.uint16[y + 11] = c), + (this.uint16[y + 12] = u), + (this.float32[x + 7] = f), + (this.float32[x + 8] = h), + (this.uint8[b + 36] = p), + (this.uint8[b + 37] = d), + (this.uint8[b + 38] = g), + (this.uint32[x + 10] = m), + (this.int16[y + 22] = v), + t + ); + }), + e + ); + })(wi); + (Bi.prototype.bytesPerElement = 48), + Dn('StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48', Bi); + var Ni = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A, + S + ) { + var E = this.length; + return ( + this.resize(E + 1), + this.emplace( + E, + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A, + S + ) + ); + }), + (e.prototype.emplace = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A, + S, + E + ) { + var C = 34 * t, + L = 17 * t; + return ( + (this.int16[C + 0] = e), + (this.int16[C + 1] = r), + (this.int16[C + 2] = n), + (this.int16[C + 3] = i), + (this.int16[C + 4] = a), + (this.int16[C + 5] = o), + (this.int16[C + 6] = s), + (this.int16[C + 7] = l), + (this.uint16[C + 8] = c), + (this.uint16[C + 9] = u), + (this.uint16[C + 10] = f), + (this.uint16[C + 11] = h), + (this.uint16[C + 12] = p), + (this.uint16[C + 13] = d), + (this.uint16[C + 14] = g), + (this.uint16[C + 15] = m), + (this.uint16[C + 16] = v), + (this.uint16[C + 17] = y), + (this.uint16[C + 18] = x), + (this.uint16[C + 19] = b), + (this.uint16[C + 20] = _), + (this.uint16[C + 21] = w), + (this.uint16[C + 22] = T), + (this.uint32[L + 12] = k), + (this.float32[L + 13] = M), + (this.float32[L + 14] = A), + (this.float32[L + 15] = S), + (this.float32[L + 16] = E), + t + ); + }), + e + ); + })(wi); + (Ni.prototype.bytesPerElement = 68), + Dn('StructArrayLayout8i15ui1ul4f68', Ni); + var ji = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t) { + var e = this.length; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + return (this.float32[1 * t + 0] = e), t; + }), + e + ); + })(wi); + (ji.prototype.bytesPerElement = 4), + Dn('StructArrayLayout1f4', ji); + var Ui = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.int16 = new Int16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + return this.resize(n + 1), this.emplace(n, t, e, r); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 3 * t; + return ( + (this.int16[i + 0] = e), + (this.int16[i + 1] = r), + (this.int16[i + 2] = n), + t + ); + }), + e + ); + })(wi); + (Ui.prototype.bytesPerElement = 6), + Dn('StructArrayLayout3i6', Ui); + var Vi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint32 = new Uint32Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r) { + var n = this.length; + return this.resize(n + 1), this.emplace(n, t, e, r); + }), + (e.prototype.emplace = function (t, e, r, n) { + var i = 4 * t; + return ( + (this.uint32[2 * t + 0] = e), + (this.uint16[i + 2] = r), + (this.uint16[i + 3] = n), + t + ); + }), + e + ); + })(wi); + (Vi.prototype.bytesPerElement = 8), + Dn('StructArrayLayout1ul2ui8', Vi); + var qi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.uint16[n + 0] = e), (this.uint16[n + 1] = r), t + ); + }), + e + ); + })(wi); + (qi.prototype.bytesPerElement = 4), + Dn('StructArrayLayout2ui4', qi); + var Hi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.uint16 = new Uint16Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t) { + var e = this.length; + return this.resize(e + 1), this.emplace(e, t); + }), + (e.prototype.emplace = function (t, e) { + return (this.uint16[1 * t + 0] = e), t; + }), + e + ); + })(wi); + (Hi.prototype.bytesPerElement = 2), + Dn('StructArrayLayout1ui2', Hi); + var Gi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e) { + var r = this.length; + return this.resize(r + 1), this.emplace(r, t, e); + }), + (e.prototype.emplace = function (t, e, r) { + var n = 2 * t; + return ( + (this.float32[n + 0] = e), (this.float32[n + 1] = r), t + ); + }), + e + ); + })(wi); + (Gi.prototype.bytesPerElement = 8), + Dn('StructArrayLayout2f8', Gi); + var Yi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._refreshViews = function () { + (this.uint8 = new Uint8Array(this.arrayBuffer)), + (this.float32 = new Float32Array(this.arrayBuffer)); + }), + (e.prototype.emplaceBack = function (t, e, r, n) { + var i = this.length; + return this.resize(i + 1), this.emplace(i, t, e, r, n); + }), + (e.prototype.emplace = function (t, e, r, n, i) { + var a = 4 * t; + return ( + (this.float32[a + 0] = e), + (this.float32[a + 1] = r), + (this.float32[a + 2] = n), + (this.float32[a + 3] = i), + t + ); + }), + e + ); + })(wi); + (Yi.prototype.bytesPerElement = 16), + Dn('StructArrayLayout4f16', Yi); + var Wi = (function (t) { + function e() { + t.apply(this, arguments); + } + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e); + var r = { + anchorPointX: { configurable: !0 }, + anchorPointY: { configurable: !0 }, + x1: { configurable: !0 }, + y1: { configurable: !0 }, + x2: { configurable: !0 }, + y2: { configurable: !0 }, + featureIndex: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + anchorPoint: { configurable: !0 }, + }; + return ( + (r.anchorPointX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorPointY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.x1.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.y1.get = function () { + return this._structArray.int16[this._pos2 + 3]; + }), + (r.x2.get = function () { + return this._structArray.int16[this._pos2 + 4]; + }), + (r.y2.get = function () { + return this._structArray.int16[this._pos2 + 5]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 8]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 9]; + }), + (r.anchorPoint.get = function () { + return new i(this.anchorPointX, this.anchorPointY); + }), + Object.defineProperties(e.prototype, r), + e + ); + })(_i); + Wi.prototype.size = 20; + var Xi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.get = function (t) { + return new Wi(this, t); + }), + e + ); + })(zi); + Dn('CollisionBoxArray', Xi); + var Zi = (function (t) { + function e() { + t.apply(this, arguments); + } + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e); + var r = { + anchorX: { configurable: !0 }, + anchorY: { configurable: !0 }, + glyphStartIndex: { configurable: !0 }, + numGlyphs: { configurable: !0 }, + vertexStartIndex: { configurable: !0 }, + lineStartIndex: { configurable: !0 }, + lineLength: { configurable: !0 }, + segment: { configurable: !0 }, + lowerSize: { configurable: !0 }, + upperSize: { configurable: !0 }, + lineOffsetX: { configurable: !0 }, + lineOffsetY: { configurable: !0 }, + writingMode: { configurable: !0 }, + placedOrientation: { configurable: !0 }, + hidden: { configurable: !0 }, + crossTileID: { configurable: !0 }, + associatedIconIndex: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.glyphStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.numGlyphs.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + (r.vertexStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 2]; + }), + (r.lineStartIndex.get = function () { + return this._structArray.uint32[this._pos4 + 3]; + }), + (r.lineLength.get = function () { + return this._structArray.uint32[this._pos4 + 4]; + }), + (r.segment.get = function () { + return this._structArray.uint16[this._pos2 + 10]; + }), + (r.lowerSize.get = function () { + return this._structArray.uint16[this._pos2 + 11]; + }), + (r.upperSize.get = function () { + return this._structArray.uint16[this._pos2 + 12]; + }), + (r.lineOffsetX.get = function () { + return this._structArray.float32[this._pos4 + 7]; + }), + (r.lineOffsetY.get = function () { + return this._structArray.float32[this._pos4 + 8]; + }), + (r.writingMode.get = function () { + return this._structArray.uint8[this._pos1 + 36]; + }), + (r.placedOrientation.get = function () { + return this._structArray.uint8[this._pos1 + 37]; + }), + (r.placedOrientation.set = function (t) { + this._structArray.uint8[this._pos1 + 37] = t; + }), + (r.hidden.get = function () { + return this._structArray.uint8[this._pos1 + 38]; + }), + (r.hidden.set = function (t) { + this._structArray.uint8[this._pos1 + 38] = t; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[this._pos4 + 10]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 10] = t; + }), + (r.associatedIconIndex.get = function () { + return this._structArray.int16[this._pos2 + 22]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(_i); + Zi.prototype.size = 48; + var Ji = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.get = function (t) { + return new Zi(this, t); + }), + e + ); + })(Bi); + Dn('PlacedSymbolArray', Ji); + var Ki = (function (t) { + function e() { + t.apply(this, arguments); + } + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e); + var r = { + anchorX: { configurable: !0 }, + anchorY: { configurable: !0 }, + rightJustifiedTextSymbolIndex: { configurable: !0 }, + centerJustifiedTextSymbolIndex: { configurable: !0 }, + leftJustifiedTextSymbolIndex: { configurable: !0 }, + verticalPlacedTextSymbolIndex: { configurable: !0 }, + placedIconSymbolIndex: { configurable: !0 }, + verticalPlacedIconSymbolIndex: { configurable: !0 }, + key: { configurable: !0 }, + textBoxStartIndex: { configurable: !0 }, + textBoxEndIndex: { configurable: !0 }, + verticalTextBoxStartIndex: { configurable: !0 }, + verticalTextBoxEndIndex: { configurable: !0 }, + iconBoxStartIndex: { configurable: !0 }, + iconBoxEndIndex: { configurable: !0 }, + verticalIconBoxStartIndex: { configurable: !0 }, + verticalIconBoxEndIndex: { configurable: !0 }, + featureIndex: { configurable: !0 }, + numHorizontalGlyphVertices: { configurable: !0 }, + numVerticalGlyphVertices: { configurable: !0 }, + numIconVertices: { configurable: !0 }, + numVerticalIconVertices: { configurable: !0 }, + useRuntimeCollisionCircles: { configurable: !0 }, + crossTileID: { configurable: !0 }, + textBoxScale: { configurable: !0 }, + textOffset0: { configurable: !0 }, + textOffset1: { configurable: !0 }, + collisionCircleDiameter: { configurable: !0 }, + }; + return ( + (r.anchorX.get = function () { + return this._structArray.int16[this._pos2 + 0]; + }), + (r.anchorY.get = function () { + return this._structArray.int16[this._pos2 + 1]; + }), + (r.rightJustifiedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 2]; + }), + (r.centerJustifiedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 3]; + }), + (r.leftJustifiedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 4]; + }), + (r.verticalPlacedTextSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 5]; + }), + (r.placedIconSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 6]; + }), + (r.verticalPlacedIconSymbolIndex.get = function () { + return this._structArray.int16[this._pos2 + 7]; + }), + (r.key.get = function () { + return this._structArray.uint16[this._pos2 + 8]; + }), + (r.textBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 9]; + }), + (r.textBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 10]; + }), + (r.verticalTextBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 11]; + }), + (r.verticalTextBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 12]; + }), + (r.iconBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 13]; + }), + (r.iconBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 14]; + }), + (r.verticalIconBoxStartIndex.get = function () { + return this._structArray.uint16[this._pos2 + 15]; + }), + (r.verticalIconBoxEndIndex.get = function () { + return this._structArray.uint16[this._pos2 + 16]; + }), + (r.featureIndex.get = function () { + return this._structArray.uint16[this._pos2 + 17]; + }), + (r.numHorizontalGlyphVertices.get = function () { + return this._structArray.uint16[this._pos2 + 18]; + }), + (r.numVerticalGlyphVertices.get = function () { + return this._structArray.uint16[this._pos2 + 19]; + }), + (r.numIconVertices.get = function () { + return this._structArray.uint16[this._pos2 + 20]; + }), + (r.numVerticalIconVertices.get = function () { + return this._structArray.uint16[this._pos2 + 21]; + }), + (r.useRuntimeCollisionCircles.get = function () { + return this._structArray.uint16[this._pos2 + 22]; + }), + (r.crossTileID.get = function () { + return this._structArray.uint32[this._pos4 + 12]; + }), + (r.crossTileID.set = function (t) { + this._structArray.uint32[this._pos4 + 12] = t; + }), + (r.textBoxScale.get = function () { + return this._structArray.float32[this._pos4 + 13]; + }), + (r.textOffset0.get = function () { + return this._structArray.float32[this._pos4 + 14]; + }), + (r.textOffset1.get = function () { + return this._structArray.float32[this._pos4 + 15]; + }), + (r.collisionCircleDiameter.get = function () { + return this._structArray.float32[this._pos4 + 16]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(_i); + Ki.prototype.size = 68; + var Qi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.get = function (t) { + return new Ki(this, t); + }), + e + ); + })(Ni); + Dn('SymbolInstanceArray', Qi); + var $i = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getoffsetX = function (t) { + return this.float32[1 * t + 0]; + }), + e + ); + })(ji); + Dn('GlyphOffsetArray', $i); + var ta = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getx = function (t) { + return this.int16[3 * t + 0]; + }), + (e.prototype.gety = function (t) { + return this.int16[3 * t + 1]; + }), + (e.prototype.gettileUnitDistanceFromAnchor = function (t) { + return this.int16[3 * t + 2]; + }), + e + ); + })(Ui); + Dn('SymbolLineVertexArray', ta); + var ea = (function (t) { + function e() { + t.apply(this, arguments); + } + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e); + var r = { + featureIndex: { configurable: !0 }, + sourceLayerIndex: { configurable: !0 }, + bucketIndex: { configurable: !0 }, + }; + return ( + (r.featureIndex.get = function () { + return this._structArray.uint32[this._pos4 + 0]; + }), + (r.sourceLayerIndex.get = function () { + return this._structArray.uint16[this._pos2 + 2]; + }), + (r.bucketIndex.get = function () { + return this._structArray.uint16[this._pos2 + 3]; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(_i); + ea.prototype.size = 8; + var ra = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.get = function (t) { + return new ea(this, t); + }), + e + ); + })(Vi); + Dn('FeatureIndexArray', ra); + var na = Ti( + [{ name: 'a_pos', components: 2, type: 'Int16' }], + 4 + ).members, + ia = function (t) { + void 0 === t && (t = []), (this.segments = t); + }; + function aa(t, e) { + return ( + 256 * (t = l(Math.floor(t), 0, 255)) + + l(Math.floor(e), 0, 255) + ); + } + (ia.prototype.prepareSegment = function (t, e, r, n) { + var i = this.segments[this.segments.length - 1]; + return ( + t > ia.MAX_VERTEX_ARRAY_LENGTH && + _( + 'Max vertices per segment is ' + + ia.MAX_VERTEX_ARRAY_LENGTH + + ': bucket requested ' + + t + ), + (!i || + i.vertexLength + t > ia.MAX_VERTEX_ARRAY_LENGTH || + i.sortKey !== n) && + ((i = { + vertexOffset: e.length, + primitiveOffset: r.length, + vertexLength: 0, + primitiveLength: 0, + }), + void 0 !== n && (i.sortKey = n), + this.segments.push(i)), + i + ); + }), + (ia.prototype.get = function () { + return this.segments; + }), + (ia.prototype.destroy = function () { + for (var t = 0, e = this.segments; t < e.length; t += 1) { + var r = e[t]; + for (var n in r.vaos) r.vaos[n].destroy(); + } + }), + (ia.simpleSegment = function (t, e, r, n) { + return new ia([ + { + vertexOffset: t, + primitiveOffset: e, + vertexLength: r, + primitiveLength: n, + vaos: {}, + sortKey: 0, + }, + ]); + }), + (ia.MAX_VERTEX_ARRAY_LENGTH = Math.pow(2, 16) - 1), + Dn('SegmentVector', ia); + var oa = Ti([ + { name: 'a_pattern_from', components: 4, type: 'Uint16' }, + { name: 'a_pattern_to', components: 4, type: 'Uint16' }, + { + name: 'a_pixel_ratio_from', + components: 1, + type: 'Uint8', + }, + { name: 'a_pixel_ratio_to', components: 1, type: 'Uint8' }, + ]), + sa = e(function (t) { + t.exports = function (t, e) { + var r, n, i, a, o, s, l, c; + for ( + n = t.length - (r = 3 & t.length), + i = e, + o = 3432918353, + s = 461845907, + c = 0; + c < n; + + ) + (l = + (255 & t.charCodeAt(c)) | + ((255 & t.charCodeAt(++c)) << 8) | + ((255 & t.charCodeAt(++c)) << 16) | + ((255 & t.charCodeAt(++c)) << 24)), + ++c, + (i = + 27492 + + (65535 & + (a = + (5 * + (65535 & + (i = + ((i ^= l = + ((65535 & + (l = + ((l = + ((65535 & l) * o + + ((((l >>> 16) * o) & 65535) << + 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & 65535) << 16)) & + 4294967295) << + 13) | + (i >>> 19))) + + (((5 * (i >>> 16)) & 65535) << 16)) & + 4294967295)) + + (((58964 + (a >>> 16)) & 65535) << 16)); + switch (((l = 0), r)) { + case 3: + l ^= (255 & t.charCodeAt(c + 2)) << 16; + case 2: + l ^= (255 & t.charCodeAt(c + 1)) << 8; + case 1: + i ^= l = + ((65535 & + (l = + ((l = + ((65535 & (l ^= 255 & t.charCodeAt(c))) * o + + ((((l >>> 16) * o) & 65535) << 16)) & + 4294967295) << + 15) | + (l >>> 17))) * + s + + ((((l >>> 16) * s) & 65535) << 16)) & + 4294967295; + } + return ( + (i ^= t.length), + (i = + (2246822507 * (65535 & (i ^= i >>> 16)) + + (((2246822507 * (i >>> 16)) & 65535) << 16)) & + 4294967295), + (i = + (3266489909 * (65535 & (i ^= i >>> 13)) + + (((3266489909 * (i >>> 16)) & 65535) << 16)) & + 4294967295), + (i ^= i >>> 16) >>> 0 + ); + }; + }), + la = e(function (t) { + t.exports = function (t, e) { + for (var r, n = t.length, i = e ^ n, a = 0; n >= 4; ) + (r = + 1540483477 * + (65535 & + (r = + (255 & t.charCodeAt(a)) | + ((255 & t.charCodeAt(++a)) << 8) | + ((255 & t.charCodeAt(++a)) << 16) | + ((255 & t.charCodeAt(++a)) << 24))) + + (((1540483477 * (r >>> 16)) & 65535) << 16)), + (i = + (1540483477 * (65535 & i) + + (((1540483477 * (i >>> 16)) & 65535) << 16)) ^ + (r = + 1540483477 * (65535 & (r ^= r >>> 24)) + + (((1540483477 * (r >>> 16)) & 65535) << 16))), + (n -= 4), + ++a; + switch (n) { + case 3: + i ^= (255 & t.charCodeAt(a + 2)) << 16; + case 2: + i ^= (255 & t.charCodeAt(a + 1)) << 8; + case 1: + i = + 1540483477 * + (65535 & (i ^= 255 & t.charCodeAt(a))) + + (((1540483477 * (i >>> 16)) & 65535) << 16); + } + return ( + (i = + 1540483477 * (65535 & (i ^= i >>> 13)) + + (((1540483477 * (i >>> 16)) & 65535) << 16)), + (i ^= i >>> 15) >>> 0 + ); + }; + }), + ca = sa, + ua = la; + (ca.murmur3 = sa), (ca.murmur2 = ua); + var fa = function () { + (this.ids = []), (this.positions = []), (this.indexed = !1); + }; + (fa.prototype.add = function (t, e, r, n) { + this.ids.push(pa(t)), this.positions.push(e, r, n); + }), + (fa.prototype.getPositions = function (t) { + for ( + var e = pa(t), r = 0, n = this.ids.length - 1; + r < n; + + ) { + var i = (r + n) >> 1; + this.ids[i] >= e ? (n = i) : (r = i + 1); + } + for (var a = []; this.ids[r] === e; ) + a.push({ + index: this.positions[3 * r], + start: this.positions[3 * r + 1], + end: this.positions[3 * r + 2], + }), + r++; + return a; + }), + (fa.serialize = function (t, e) { + var r = new Float64Array(t.ids), + n = new Uint32Array(t.positions); + return ( + (function t(e, r, n, i) { + for (; n < i; ) { + for ( + var a = e[(n + i) >> 1], o = n - 1, s = i + 1; + ; + + ) { + do { + o++; + } while (e[o] < a); + do { + s--; + } while (e[s] > a); + if (o >= s) break; + da(e, o, s), + da(r, 3 * o, 3 * s), + da(r, 3 * o + 1, 3 * s + 1), + da(r, 3 * o + 2, 3 * s + 2); + } + s - n < i - s + ? (t(e, r, n, s), (n = s + 1)) + : (t(e, r, s + 1, i), (i = s)); + } + })(r, n, 0, r.length - 1), + e && e.push(r.buffer, n.buffer), + { ids: r, positions: n } + ); + }), + (fa.deserialize = function (t) { + var e = new fa(); + return ( + (e.ids = t.ids), + (e.positions = t.positions), + (e.indexed = !0), + e + ); + }); + var ha = Math.pow(2, 53) - 1; + function pa(t) { + var e = +t; + return !isNaN(e) && e <= ha ? e : ca(String(t)); + } + function da(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + Dn('FeaturePositionMap', fa); + var ga = function (t, e) { + (this.gl = t.gl), (this.location = e); + }, + ma = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1i(this.location, t)); + }), + e + ); + })(ga), + va = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = 0); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + this.current !== t && + ((this.current = t), + this.gl.uniform1f(this.location, t)); + }), + e + ); + })(ga), + ya = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0]); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1]) || + ((this.current = t), + this.gl.uniform2f(this.location, t[0], t[1])); + }), + e + ); + })(ga), + xa = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2]) || + ((this.current = t), + this.gl.uniform3f(this.location, t[0], t[1], t[2])); + }), + e + ); + })(ga), + ba = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = [0, 0, 0, 0]); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + (t[0] === this.current[0] && + t[1] === this.current[1] && + t[2] === this.current[2] && + t[3] === this.current[3]) || + ((this.current = t), + this.gl.uniform4f( + this.location, + t[0], + t[1], + t[2], + t[3] + )); + }), + e + ); + })(ga), + _a = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = Kt.transparent); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + (t.r === this.current.r && + t.g === this.current.g && + t.b === this.current.b && + t.a === this.current.a) || + ((this.current = t), + this.gl.uniform4f(this.location, t.r, t.g, t.b, t.a)); + }), + e + ); + })(ga), + wa = new Float32Array(16), + Ta = (function (t) { + function e(e, r) { + t.call(this, e, r), (this.current = wa); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + if ( + t[12] !== this.current[12] || + t[0] !== this.current[0] + ) + return ( + (this.current = t), + void this.gl.uniformMatrix4fv(this.location, !1, t) + ); + for (var e = 1; e < 16; e++) + if (t[e] !== this.current[e]) { + (this.current = t), + this.gl.uniformMatrix4fv(this.location, !1, t); + break; + } + }), + e + ); + })(ga); + function ka(t) { + return [aa(255 * t.r, 255 * t.g), aa(255 * t.b, 255 * t.a)]; + } + var Ma = function (t, e, r) { + (this.value = t), + (this.uniformNames = e.map(function (t) { + return 'u_' + t; + })), + (this.type = r); + }; + (Ma.prototype.setUniform = function (t, e, r) { + t.set(r.constantOr(this.value)); + }), + (Ma.prototype.getBinding = function (t, e, r) { + return 'color' === this.type ? new _a(t, e) : new va(t, e); + }); + var Aa = function (t, e) { + (this.uniformNames = e.map(function (t) { + return 'u_' + t; + })), + (this.patternFrom = null), + (this.patternTo = null), + (this.pixelRatioFrom = 1), + (this.pixelRatioTo = 1); + }; + (Aa.prototype.setConstantPatternPositions = function (t, e) { + (this.pixelRatioFrom = e.pixelRatio), + (this.pixelRatioTo = t.pixelRatio), + (this.patternFrom = e.tlbr), + (this.patternTo = t.tlbr); + }), + (Aa.prototype.setUniform = function (t, e, r, n) { + var i = + 'u_pattern_to' === n + ? this.patternTo + : 'u_pattern_from' === n + ? this.patternFrom + : 'u_pixel_ratio_to' === n + ? this.pixelRatioTo + : 'u_pixel_ratio_from' === n + ? this.pixelRatioFrom + : null; + i && t.set(i); + }), + (Aa.prototype.getBinding = function (t, e, r) { + return 'u_pattern' === r.substr(0, 9) + ? new ba(t, e) + : new va(t, e); + }); + var Sa = function (t, e, r, n) { + (this.expression = t), + (this.type = r), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map(function (t) { + return { + name: 'a_' + t, + type: 'Float32', + components: 'color' === r ? 2 : 1, + offset: 0, + }; + })), + (this.paintVertexArray = new n()); + }; + (Sa.prototype.populatePaintArray = function (t, e, r, n, i) { + var a = this.paintVertexArray.length, + o = this.expression.evaluate(new ii(0), e, {}, n, [], i); + this.paintVertexArray.resize(t), this._setPaintValue(a, t, o); + }), + (Sa.prototype.updatePaintArray = function (t, e, r, n) { + var i = this.expression.evaluate({ zoom: 0 }, r, n); + this._setPaintValue(t, e, i); + }), + (Sa.prototype._setPaintValue = function (t, e, r) { + if ('color' === this.type) + for (var n = ka(r), i = t; i < e; i++) + this.paintVertexArray.emplace(i, n[0], n[1]); + else { + for (var a = t; a < e; a++) + this.paintVertexArray.emplace(a, r); + this.maxValue = Math.max(this.maxValue, Math.abs(r)); + } + }), + (Sa.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray + ) + : (this.paintVertexBuffer = t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent + ))); + }), + (Sa.prototype.destroy = function () { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + }); + var Ea = function (t, e, r, n, i, a) { + (this.expression = t), + (this.uniformNames = e.map(function (t) { + return 'u_' + t + '_t'; + })), + (this.type = r), + (this.useIntegerZoom = n), + (this.zoom = i), + (this.maxValue = 0), + (this.paintVertexAttributes = e.map(function (t) { + return { + name: 'a_' + t, + type: 'Float32', + components: 'color' === r ? 4 : 2, + offset: 0, + }; + })), + (this.paintVertexArray = new a()); + }; + (Ea.prototype.populatePaintArray = function (t, e, r, n, i) { + var a = this.expression.evaluate( + new ii(this.zoom), + e, + {}, + n, + [], + i + ), + o = this.expression.evaluate( + new ii(this.zoom + 1), + e, + {}, + n, + [], + i + ), + s = this.paintVertexArray.length; + this.paintVertexArray.resize(t), + this._setPaintValue(s, t, a, o); + }), + (Ea.prototype.updatePaintArray = function (t, e, r, n) { + var i = this.expression.evaluate({ zoom: this.zoom }, r, n), + a = this.expression.evaluate( + { zoom: this.zoom + 1 }, + r, + n + ); + this._setPaintValue(t, e, i, a); + }), + (Ea.prototype._setPaintValue = function (t, e, r, n) { + if ('color' === this.type) + for (var i = ka(r), a = ka(n), o = t; o < e; o++) + this.paintVertexArray.emplace( + o, + i[0], + i[1], + a[0], + a[1] + ); + else { + for (var s = t; s < e; s++) + this.paintVertexArray.emplace(s, r, n); + this.maxValue = Math.max( + this.maxValue, + Math.abs(r), + Math.abs(n) + ); + } + }), + (Ea.prototype.upload = function (t) { + this.paintVertexArray && + this.paintVertexArray.arrayBuffer && + (this.paintVertexBuffer && this.paintVertexBuffer.buffer + ? this.paintVertexBuffer.updateData( + this.paintVertexArray + ) + : (this.paintVertexBuffer = t.createVertexBuffer( + this.paintVertexArray, + this.paintVertexAttributes, + this.expression.isStateDependent + ))); + }), + (Ea.prototype.destroy = function () { + this.paintVertexBuffer && this.paintVertexBuffer.destroy(); + }), + (Ea.prototype.setUniform = function (t, e) { + var r = this.useIntegerZoom ? Math.floor(e.zoom) : e.zoom, + n = l( + this.expression.interpolationFactor( + r, + this.zoom, + this.zoom + 1 + ), + 0, + 1 + ); + t.set(n); + }), + (Ea.prototype.getBinding = function (t, e, r) { + return new va(t, e); + }); + var Ca = function (t, e, r, n, i, a) { + (this.expression = t), + (this.type = e), + (this.useIntegerZoom = r), + (this.zoom = n), + (this.layerId = a), + (this.zoomInPaintVertexArray = new i()), + (this.zoomOutPaintVertexArray = new i()); + }; + (Ca.prototype.populatePaintArray = function (t, e, r) { + var n = this.zoomInPaintVertexArray.length; + this.zoomInPaintVertexArray.resize(t), + this.zoomOutPaintVertexArray.resize(t), + this._setPaintValues( + n, + t, + e.patterns && e.patterns[this.layerId], + r + ); + }), + (Ca.prototype.updatePaintArray = function (t, e, r, n, i) { + this._setPaintValues( + t, + e, + r.patterns && r.patterns[this.layerId], + i + ); + }), + (Ca.prototype._setPaintValues = function (t, e, r, n) { + if (n && r) { + var i = n[r.min], + a = n[r.mid], + o = n[r.max]; + if (i && a && o) + for (var s = t; s < e; s++) + this.zoomInPaintVertexArray.emplace( + s, + a.tl[0], + a.tl[1], + a.br[0], + a.br[1], + i.tl[0], + i.tl[1], + i.br[0], + i.br[1], + a.pixelRatio, + i.pixelRatio + ), + this.zoomOutPaintVertexArray.emplace( + s, + a.tl[0], + a.tl[1], + a.br[0], + a.br[1], + o.tl[0], + o.tl[1], + o.br[0], + o.br[1], + a.pixelRatio, + o.pixelRatio + ); + } + }), + (Ca.prototype.upload = function (t) { + this.zoomInPaintVertexArray && + this.zoomInPaintVertexArray.arrayBuffer && + this.zoomOutPaintVertexArray && + this.zoomOutPaintVertexArray.arrayBuffer && + ((this.zoomInPaintVertexBuffer = t.createVertexBuffer( + this.zoomInPaintVertexArray, + oa.members, + this.expression.isStateDependent + )), + (this.zoomOutPaintVertexBuffer = t.createVertexBuffer( + this.zoomOutPaintVertexArray, + oa.members, + this.expression.isStateDependent + ))); + }), + (Ca.prototype.destroy = function () { + this.zoomOutPaintVertexBuffer && + this.zoomOutPaintVertexBuffer.destroy(), + this.zoomInPaintVertexBuffer && + this.zoomInPaintVertexBuffer.destroy(); + }); + var La = function (t, e, r, n) { + (this.binders = {}), + (this.layoutAttributes = n), + (this._buffers = []); + var i = []; + for (var a in t.paint._values) + if (r(a)) { + var o = t.paint.get(a); + if (o instanceof fi && Lr(o.property.specification)) { + var s = Pa(a, t.type), + l = o.value, + c = o.property.specification.type, + u = o.property.useIntegerZoom, + f = o.property.specification['property-type'], + h = + 'cross-faded' === f || + 'cross-faded-data-driven' === f; + if ('constant' === l.kind) + (this.binders[a] = h + ? new Aa(l.value, s) + : new Ma(l.value, s, c)), + i.push('/u_' + a); + else if ('source' === l.kind || h) { + var p = za(a, c, 'source'); + (this.binders[a] = h + ? new Ca(l, c, u, e, p, t.id) + : new Sa(l, s, c, p)), + i.push('/a_' + a); + } else { + var d = za(a, c, 'composite'); + (this.binders[a] = new Ea(l, s, c, u, e, d)), + i.push('/z_' + a); + } + } + } + this.cacheKey = i.sort().join(''); + }; + (La.prototype.getMaxValue = function (t) { + var e = this.binders[t]; + return e instanceof Sa || e instanceof Ea ? e.maxValue : 0; + }), + (La.prototype.populatePaintArrays = function (t, e, r, n, i) { + for (var a in this.binders) { + var o = this.binders[a]; + (o instanceof Sa || o instanceof Ea || o instanceof Ca) && + o.populatePaintArray(t, e, r, n, i); + } + }), + (La.prototype.setConstantPatternPositions = function (t, e) { + for (var r in this.binders) { + var n = this.binders[r]; + n instanceof Aa && n.setConstantPatternPositions(t, e); + } + }), + (La.prototype.updatePaintArrays = function (t, e, r, n, i) { + var a = !1; + for (var o in t) + for ( + var s = 0, l = e.getPositions(o); + s < l.length; + s += 1 + ) { + var c = l[s], + u = r.feature(c.index); + for (var f in this.binders) { + var h = this.binders[f]; + if ( + (h instanceof Sa || + h instanceof Ea || + h instanceof Ca) && + !0 === h.expression.isStateDependent + ) { + var p = n.paint.get(f); + (h.expression = p.value), + h.updatePaintArray(c.start, c.end, u, t[o], i), + (a = !0); + } + } + } + return a; + }), + (La.prototype.defines = function () { + var t = []; + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Ma || r instanceof Aa) && + t.push.apply( + t, + r.uniformNames.map(function (t) { + return '#define HAS_UNIFORM_' + t; + }) + ); + } + return t; + }), + (La.prototype.getPaintVertexBuffers = function () { + return this._buffers; + }), + (La.prototype.getUniforms = function (t, e) { + var r = []; + for (var n in this.binders) { + var i = this.binders[n]; + if (i instanceof Ma || i instanceof Aa || i instanceof Ea) + for ( + var a = 0, o = i.uniformNames; + a < o.length; + a += 1 + ) { + var s = o[a]; + if (e[s]) { + var l = i.getBinding(t, e[s], s); + r.push({ name: s, property: n, binding: l }); + } + } + } + return r; + }), + (La.prototype.setUniforms = function (t, e, r, n) { + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i], + s = o.name, + l = o.property; + this.binders[l].setUniform(o.binding, n, r.get(l), s); + } + }), + (La.prototype.updatePaintBuffers = function (t) { + for (var e in ((this._buffers = []), this.binders)) { + var r = this.binders[e]; + if (t && r instanceof Ca) { + var n = + 2 === t.fromScale + ? r.zoomInPaintVertexBuffer + : r.zoomOutPaintVertexBuffer; + n && this._buffers.push(n); + } else + (r instanceof Sa || r instanceof Ea) && + r.paintVertexBuffer && + this._buffers.push(r.paintVertexBuffer); + } + }), + (La.prototype.upload = function (t) { + for (var e in this.binders) { + var r = this.binders[e]; + (r instanceof Sa || r instanceof Ea || r instanceof Ca) && + r.upload(t); + } + this.updatePaintBuffers(); + }), + (La.prototype.destroy = function () { + for (var t in this.binders) { + var e = this.binders[t]; + (e instanceof Sa || e instanceof Ea || e instanceof Ca) && + e.destroy(); + } + }); + var Ia = function (t, e, r, n) { + void 0 === n && + (n = function () { + return !0; + }), + (this.programConfigurations = {}); + for (var i = 0, a = e; i < a.length; i += 1) { + var o = a[i]; + this.programConfigurations[o.id] = new La(o, r, n, t); + } + (this.needsUpload = !1), + (this._featureMap = new fa()), + (this._bufferOffset = 0); + }; + function Pa(t, e) { + return ( + { + 'text-opacity': ['opacity'], + 'icon-opacity': ['opacity'], + 'text-color': ['fill_color'], + 'icon-color': ['fill_color'], + 'text-halo-color': ['halo_color'], + 'icon-halo-color': ['halo_color'], + 'text-halo-blur': ['halo_blur'], + 'icon-halo-blur': ['halo_blur'], + 'text-halo-width': ['halo_width'], + 'icon-halo-width': ['halo_width'], + 'line-gap-width': ['gapwidth'], + 'line-pattern': [ + 'pattern_to', + 'pattern_from', + 'pixel_ratio_to', + 'pixel_ratio_from', + ], + 'fill-pattern': [ + 'pattern_to', + 'pattern_from', + 'pixel_ratio_to', + 'pixel_ratio_from', + ], + 'fill-extrusion-pattern': [ + 'pattern_to', + 'pattern_from', + 'pixel_ratio_to', + 'pixel_ratio_from', + ], + }[t] || [t.replace(e + '-', '').replace(/-/g, '_')] + ); + } + function za(t, e, r) { + var n = { + color: { source: Gi, composite: Yi }, + number: { source: ji, composite: Gi }, + }, + i = (function (t) { + return { + 'line-pattern': { source: Ci, composite: Ci }, + 'fill-pattern': { source: Ci, composite: Ci }, + 'fill-extrusion-pattern': { source: Ci, composite: Ci }, + }[t]; + })(t); + return (i && i[r]) || n[e][r]; + } + (Ia.prototype.populatePaintArrays = function ( + t, + e, + r, + n, + i, + a + ) { + for (var o in this.programConfigurations) + this.programConfigurations[o].populatePaintArrays( + t, + e, + n, + i, + a + ); + void 0 !== e.id && + this._featureMap.add(e.id, r, this._bufferOffset, t), + (this._bufferOffset = t), + (this.needsUpload = !0); + }), + (Ia.prototype.updatePaintArrays = function (t, e, r, n) { + for (var i = 0, a = r; i < a.length; i += 1) { + var o = a[i]; + this.needsUpload = + this.programConfigurations[o.id].updatePaintArrays( + t, + this._featureMap, + e, + o, + n + ) || this.needsUpload; + } + }), + (Ia.prototype.get = function (t) { + return this.programConfigurations[t]; + }), + (Ia.prototype.upload = function (t) { + if (this.needsUpload) { + for (var e in this.programConfigurations) + this.programConfigurations[e].upload(t); + this.needsUpload = !1; + } + }), + (Ia.prototype.destroy = function () { + for (var t in this.programConfigurations) + this.programConfigurations[t].destroy(); + }), + Dn('ConstantBinder', Ma), + Dn('CrossFadedConstantBinder', Aa), + Dn('SourceExpressionBinder', Sa), + Dn('CrossFadedCompositeBinder', Ca), + Dn('CompositeExpressionBinder', Ea), + Dn('ProgramConfiguration', La, { omit: ['_buffers'] }), + Dn('ProgramConfigurationSet', Ia); + var Oa = { + min: -1 * Math.pow(2, 14), + max: Math.pow(2, 14) - 1, + }; + function Da(t) { + for ( + var e = 8192 / t.extent, r = t.loadGeometry(), n = 0; + n < r.length; + n++ + ) + for (var i = r[n], a = 0; a < i.length; a++) { + var o = i[a]; + (o.x = Math.round(o.x * e)), + (o.y = Math.round(o.y * e)), + (o.x < Oa.min || + o.x > Oa.max || + o.y < Oa.min || + o.y > Oa.max) && + (_( + 'Geometry exceeds allowed extent, reduce your vector tile buffer size' + ), + (o.x = l(o.x, Oa.min, Oa.max)), + (o.y = l(o.y, Oa.min, Oa.max))); + } + return r; + } + function Ra(t, e, r, n, i) { + t.emplaceBack(2 * e + (n + 1) / 2, 2 * r + (i + 1) / 2); + } + var Fa = function (t) { + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.hasPattern = !1), + (this.layoutVertexArray = new Mi()), + (this.indexArray = new Fi()), + (this.segments = new ia()), + (this.programConfigurations = new Ia(na, t.layers, t.zoom)), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function Ba(t, e) { + for (var r = 0; r < t.length; r++) if (Wa(e, t[r])) return !0; + for (var n = 0; n < e.length; n++) if (Wa(t, e[n])) return !0; + return !!Va(t, e); + } + function Na(t, e, r) { + return !!Wa(t, e) || !!Ha(e, t, r); + } + function ja(t, e) { + if (1 === t.length) return Ya(e, t[0]); + for (var r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) + if (Wa(t, n[i])) return !0; + for (var a = 0; a < t.length; a++) if (Ya(e, t[a])) return !0; + for (var o = 0; o < e.length; o++) if (Va(t, e[o])) return !0; + return !1; + } + function Ua(t, e, r) { + if (t.length > 1) { + if (Va(t, e)) return !0; + for (var n = 0; n < e.length; n++) + if (Ha(e[n], t, r)) return !0; + } + for (var i = 0; i < t.length; i++) + if (Ha(t[i], e, r)) return !0; + return !1; + } + function Va(t, e) { + if (0 === t.length || 0 === e.length) return !1; + for (var r = 0; r < t.length - 1; r++) + for ( + var n = t[r], i = t[r + 1], a = 0; + a < e.length - 1; + a++ + ) + if (qa(n, i, e[a], e[a + 1])) return !0; + return !1; + } + function qa(t, e, r, n) { + return w(t, r, n) !== w(e, r, n) && w(t, e, r) !== w(t, e, n); + } + function Ha(t, e, r) { + var n = r * r; + if (1 === e.length) return t.distSqr(e[0]) < n; + for (var i = 1; i < e.length; i++) + if (Ga(t, e[i - 1], e[i]) < n) return !0; + return !1; + } + function Ga(t, e, r) { + var n = e.distSqr(r); + if (0 === n) return t.distSqr(e); + var i = + ((t.x - e.x) * (r.x - e.x) + (t.y - e.y) * (r.y - e.y)) / n; + return t.distSqr( + i < 0 ? e : i > 1 ? r : r.sub(e)._mult(i)._add(e) + ); + } + function Ya(t, e) { + for (var r, n, i, a = !1, o = 0; o < t.length; o++) + for ( + var s = 0, l = (r = t[o]).length - 1; + s < r.length; + l = s++ + ) + (n = r[s]).y > e.y != (i = r[l]).y > e.y && + e.x < ((i.x - n.x) * (e.y - n.y)) / (i.y - n.y) + n.x && + (a = !a); + return a; + } + function Wa(t, e) { + for ( + var r = !1, n = 0, i = t.length - 1; + n < t.length; + i = n++ + ) { + var a = t[n], + o = t[i]; + a.y > e.y != o.y > e.y && + e.x < ((o.x - a.x) * (e.y - a.y)) / (o.y - a.y) + a.x && + (r = !r); + } + return r; + } + function Xa(t, e, r) { + var n = r[0], + i = r[2]; + if ( + (t.x < n.x && e.x < n.x) || + (t.x > i.x && e.x > i.x) || + (t.y < n.y && e.y < n.y) || + (t.y > i.y && e.y > i.y) + ) + return !1; + var a = w(t, e, r[0]); + return ( + a !== w(t, e, r[1]) || + a !== w(t, e, r[2]) || + a !== w(t, e, r[3]) + ); + } + function Za(t, e, r) { + var n = e.paint.get(t).value; + return 'constant' === n.kind + ? n.value + : r.programConfigurations.get(e.id).getMaxValue(t); + } + function Ja(t) { + return Math.sqrt(t[0] * t[0] + t[1] * t[1]); + } + function Ka(t, e, r, n, a) { + if (!e[0] && !e[1]) return t; + var o = i.convert(e)._mult(a); + 'viewport' === r && o._rotate(-n); + for (var s = [], l = 0; l < t.length; l++) + s.push(t[l].sub(o)); + return s; + } + (Fa.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = [], + a = null; + 'circle' === n.type && (a = n.layout.get('circle-sort-key')); + for (var o = 0, s = t; o < s.length; o += 1) { + var l = s[o], + c = l.feature, + u = l.id, + f = l.index, + h = l.sourceLayerIndex, + p = this.layers[0]._featureFilter.needGeometry, + d = { + type: c.type, + id: u, + properties: c.properties, + geometry: p ? Da(c) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new ii(this.zoom), + d, + r + ) + ) { + p || (d.geometry = Da(c)); + var g = a ? a.evaluate(d, {}, r) : void 0; + i.push({ + id: u, + properties: c.properties, + type: c.type, + sourceLayerIndex: h, + index: f, + geometry: d.geometry, + patterns: {}, + sortKey: g, + }); + } + } + a && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var m = 0, v = i; m < v.length; m += 1) { + var y = v[m], + x = y.geometry, + b = y.index, + _ = y.sourceLayerIndex, + w = t[b].feature; + this.addFeature(y, x, b, r), + e.featureIndex.insert(w, x, b, _, this.index); + } + }), + (Fa.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r + ); + }), + (Fa.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Fa.prototype.uploadPending = function () { + return ( + !this.uploaded || this.programConfigurations.needsUpload + ); + }), + (Fa.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + na + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Fa.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (Fa.prototype.addFeature = function (t, e, r, n) { + for (var i = 0, a = e; i < a.length; i += 1) + for (var o = 0, s = a[i]; o < s.length; o += 1) { + var l = s[o], + c = l.x, + u = l.y; + if (!(c < 0 || c >= 8192 || u < 0 || u >= 8192)) { + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray, + t.sortKey + ), + h = f.vertexLength; + Ra(this.layoutVertexArray, c, u, -1, -1), + Ra(this.layoutVertexArray, c, u, 1, -1), + Ra(this.layoutVertexArray, c, u, 1, 1), + Ra(this.layoutVertexArray, c, u, -1, 1), + this.indexArray.emplaceBack(h, h + 1, h + 2), + this.indexArray.emplaceBack(h, h + 3, h + 2), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + {}, + n + ); + }), + Dn('CircleBucket', Fa, { omit: ['layers'] }); + var Qa = new yi({ + 'circle-sort-key': new di( + At.layout_circle['circle-sort-key'] + ), + }), + $a = { + paint: new yi({ + 'circle-radius': new di(At.paint_circle['circle-radius']), + 'circle-color': new di(At.paint_circle['circle-color']), + 'circle-blur': new di(At.paint_circle['circle-blur']), + 'circle-opacity': new di( + At.paint_circle['circle-opacity'] + ), + 'circle-translate': new pi( + At.paint_circle['circle-translate'] + ), + 'circle-translate-anchor': new pi( + At.paint_circle['circle-translate-anchor'] + ), + 'circle-pitch-scale': new pi( + At.paint_circle['circle-pitch-scale'] + ), + 'circle-pitch-alignment': new pi( + At.paint_circle['circle-pitch-alignment'] + ), + 'circle-stroke-width': new di( + At.paint_circle['circle-stroke-width'] + ), + 'circle-stroke-color': new di( + At.paint_circle['circle-stroke-color'] + ), + 'circle-stroke-opacity': new di( + At.paint_circle['circle-stroke-opacity'] + ), + }), + layout: Qa, + }, + to = + 'undefined' != typeof Float32Array ? Float32Array : Array; + function eo(t) { + return ( + (t[0] = 1), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = 1), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 1), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0), + (t[15] = 1), + t + ); + } + function ro(t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = e[4], + l = e[5], + c = e[6], + u = e[7], + f = e[8], + h = e[9], + p = e[10], + d = e[11], + g = e[12], + m = e[13], + v = e[14], + y = e[15], + x = r[0], + b = r[1], + _ = r[2], + w = r[3]; + return ( + (t[0] = x * n + b * s + _ * f + w * g), + (t[1] = x * i + b * l + _ * h + w * m), + (t[2] = x * a + b * c + _ * p + w * v), + (t[3] = x * o + b * u + _ * d + w * y), + (t[4] = + (x = r[4]) * n + + (b = r[5]) * s + + (_ = r[6]) * f + + (w = r[7]) * g), + (t[5] = x * i + b * l + _ * h + w * m), + (t[6] = x * a + b * c + _ * p + w * v), + (t[7] = x * o + b * u + _ * d + w * y), + (t[8] = + (x = r[8]) * n + + (b = r[9]) * s + + (_ = r[10]) * f + + (w = r[11]) * g), + (t[9] = x * i + b * l + _ * h + w * m), + (t[10] = x * a + b * c + _ * p + w * v), + (t[11] = x * o + b * u + _ * d + w * y), + (t[12] = + (x = r[12]) * n + + (b = r[13]) * s + + (_ = r[14]) * f + + (w = r[15]) * g), + (t[13] = x * i + b * l + _ * h + w * m), + (t[14] = x * a + b * c + _ * p + w * v), + (t[15] = x * o + b * u + _ * d + w * y), + t + ); + } + Math.hypot || + (Math.hypot = function () { + for (var t = arguments, e = 0, r = arguments.length; r--; ) + e += t[r] * t[r]; + return Math.sqrt(e); + }); + var no, + io = ro; + function ao(t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3]; + return ( + (t[0] = r[0] * n + r[4] * i + r[8] * a + r[12] * o), + (t[1] = r[1] * n + r[5] * i + r[9] * a + r[13] * o), + (t[2] = r[2] * n + r[6] * i + r[10] * a + r[14] * o), + (t[3] = r[3] * n + r[7] * i + r[11] * a + r[15] * o), + t + ); + } + (no = new to(3)), + to != Float32Array && ((no[0] = 0), (no[1] = 0), (no[2] = 0)), + (function () { + var t = new to(4); + to != Float32Array && + ((t[0] = 0), (t[1] = 0), (t[2] = 0), (t[3] = 0)); + })(); + var oo = + ((function () { + var t = new to(2); + to != Float32Array && ((t[0] = 0), (t[1] = 0)); + })(), + (function (t) { + function e(e) { + t.call(this, e, $a); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.createBucket = function (t) { + return new Fa(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t; + return ( + Za('circle-radius', this, e) + + Za('circle-stroke-width', this, e) + + Ja(this.paint.get('circle-translate')) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + a, + o, + s + ) { + for ( + var l = Ka( + t, + this.paint.get('circle-translate'), + this.paint.get('circle-translate-anchor'), + a.angle, + o + ), + c = + this.paint.get('circle-radius').evaluate(e, r) + + this.paint + .get('circle-stroke-width') + .evaluate(e, r), + u = + 'map' === + this.paint.get('circle-pitch-alignment'), + f = u + ? l + : (function (t, e) { + return t.map(function (t) { + return so(t, e); + }); + })(l, s), + h = u ? c * o : c, + p = 0, + d = n; + p < d.length; + p += 1 + ) + for (var g = 0, m = d[p]; g < m.length; g += 1) { + var v = m[g], + y = u ? v : so(v, s), + x = h, + b = ao([], [v.x, v.y, 0, 1], s); + if ( + ('viewport' === + this.paint.get('circle-pitch-scale') && + 'map' === this.paint.get('circle-pitch-alignment') + ? (x *= b[3] / a.cameraToCenterDistance) + : 'map' === + this.paint.get('circle-pitch-scale') && + 'viewport' === + this.paint.get('circle-pitch-alignment') && + (x *= a.cameraToCenterDistance / b[3]), + Na(f, y, x)) + ) + return !0; + } + return !1; + }), + e + ); + })(xi)); + function so(t, e) { + var r = ao([], [t.x, t.y, 0, 1], e); + return new i(r[0] / r[3], r[1] / r[3]); + } + var lo = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(Fa); + function co(t, e, r, n) { + var i = e.width, + a = e.height; + if (n) { + if (n instanceof Uint8ClampedArray) + n = new Uint8Array(n.buffer); + else if (n.length !== i * a * r) + throw new RangeError('mismatched image size'); + } else n = new Uint8Array(i * a * r); + return (t.width = i), (t.height = a), (t.data = n), t; + } + function uo(t, e, r) { + var n = e.width, + i = e.height; + if (n !== t.width || i !== t.height) { + var a = co({}, { width: n, height: i }, r); + fo( + t, + a, + { x: 0, y: 0 }, + { x: 0, y: 0 }, + { + width: Math.min(t.width, n), + height: Math.min(t.height, i), + }, + r + ), + (t.width = n), + (t.height = i), + (t.data = a.data); + } + } + function fo(t, e, r, n, i, a) { + if (0 === i.width || 0 === i.height) return e; + if ( + i.width > t.width || + i.height > t.height || + r.x > t.width - i.width || + r.y > t.height - i.height + ) + throw new RangeError( + 'out of range source coordinates for image copy' + ); + if ( + i.width > e.width || + i.height > e.height || + n.x > e.width - i.width || + n.y > e.height - i.height + ) + throw new RangeError( + 'out of range destination coordinates for image copy' + ); + for (var o = t.data, s = e.data, l = 0; l < i.height; l++) + for ( + var c = ((r.y + l) * t.width + r.x) * a, + u = ((n.y + l) * e.width + n.x) * a, + f = 0; + f < i.width * a; + f++ + ) + s[u + f] = o[c + f]; + return e; + } + Dn('HeatmapBucket', lo, { omit: ['layers'] }); + var ho = function (t, e) { + co(this, t, 1, e); + }; + (ho.prototype.resize = function (t) { + uo(this, t, 1); + }), + (ho.prototype.clone = function () { + return new ho( + { width: this.width, height: this.height }, + new Uint8Array(this.data) + ); + }), + (ho.copy = function (t, e, r, n, i) { + fo(t, e, r, n, i, 1); + }); + var po = function (t, e) { + co(this, t, 4, e); + }; + (po.prototype.resize = function (t) { + uo(this, t, 4); + }), + (po.prototype.replace = function (t, e) { + e + ? this.data.set(t) + : (this.data = + t instanceof Uint8ClampedArray + ? new Uint8Array(t.buffer) + : t); + }), + (po.prototype.clone = function () { + return new po( + { width: this.width, height: this.height }, + new Uint8Array(this.data) + ); + }), + (po.copy = function (t, e, r, n, i) { + fo(t, e, r, n, i, 4); + }), + Dn('AlphaImage', ho), + Dn('RGBAImage', po); + var go = { + paint: new yi({ + 'heatmap-radius': new di( + At.paint_heatmap['heatmap-radius'] + ), + 'heatmap-weight': new di( + At.paint_heatmap['heatmap-weight'] + ), + 'heatmap-intensity': new pi( + At.paint_heatmap['heatmap-intensity'] + ), + 'heatmap-color': new vi(At.paint_heatmap['heatmap-color']), + 'heatmap-opacity': new pi( + At.paint_heatmap['heatmap-opacity'] + ), + }), + }; + function mo(t, e) { + for ( + var r = new Uint8Array(1024), n = {}, i = 0, a = 0; + i < 256; + i++, a += 4 + ) { + n[e] = i / 255; + var o = t.evaluate(n); + (r[a + 0] = Math.floor((255 * o.r) / o.a)), + (r[a + 1] = Math.floor((255 * o.g) / o.a)), + (r[a + 2] = Math.floor((255 * o.b) / o.a)), + (r[a + 3] = Math.floor(255 * o.a)); + } + return new po({ width: 256, height: 1 }, r); + } + var vo = (function (t) { + function e(e) { + t.call(this, e, go), this._updateColorRamp(); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.createBucket = function (t) { + return new lo(t); + }), + (e.prototype._handleSpecialPaintPropertyUpdate = + function (t) { + 'heatmap-color' === t && this._updateColorRamp(); + }), + (e.prototype._updateColorRamp = function () { + (this.colorRamp = mo( + this._transitionablePaint._values['heatmap-color'] + .value.expression, + 'heatmapDensity' + )), + (this.colorRampTexture = null); + }), + (e.prototype.resize = function () { + this.heatmapFbo && + (this.heatmapFbo.destroy(), (this.heatmapFbo = null)); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = function () { + return !1; + }), + (e.prototype.hasOffscreenPass = function () { + return ( + 0 !== this.paint.get('heatmap-opacity') && + 'none' !== this.visibility + ); + }), + e + ); + })(xi), + yo = { + paint: new yi({ + 'hillshade-illumination-direction': new pi( + At.paint_hillshade['hillshade-illumination-direction'] + ), + 'hillshade-illumination-anchor': new pi( + At.paint_hillshade['hillshade-illumination-anchor'] + ), + 'hillshade-exaggeration': new pi( + At.paint_hillshade['hillshade-exaggeration'] + ), + 'hillshade-shadow-color': new pi( + At.paint_hillshade['hillshade-shadow-color'] + ), + 'hillshade-highlight-color': new pi( + At.paint_hillshade['hillshade-highlight-color'] + ), + 'hillshade-accent-color': new pi( + At.paint_hillshade['hillshade-accent-color'] + ), + }), + }, + xo = (function (t) { + function e(e) { + t.call(this, e, yo); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.hasOffscreenPass = function () { + return ( + 0 !== this.paint.get('hillshade-exaggeration') && + 'none' !== this.visibility + ); + }), + e + ); + })(xi), + bo = Ti( + [{ name: 'a_pos', components: 2, type: 'Int16' }], + 4 + ).members, + _o = To, + wo = To; + function To(t, e, r) { + r = r || 2; + var n, + i, + a, + o, + s, + l, + c, + u = e && e.length, + f = u ? e[0] * r : t.length, + h = ko(t, 0, f, r, !0), + p = []; + if (!h || h.next === h.prev) return p; + if ( + (u && + (h = (function (t, e, r, n) { + var i, + a, + o, + s = []; + for (i = 0, a = e.length; i < a; i++) + (o = ko( + t, + e[i] * n, + i < a - 1 ? e[i + 1] * n : t.length, + n, + !1 + )) === o.next && (o.steiner = !0), + s.push(Do(o)); + for (s.sort(Io), i = 0; i < s.length; i++) + Po(s[i], r), (r = Mo(r, r.next)); + return r; + })(t, e, h, r)), + t.length > 80 * r) + ) { + (n = a = t[0]), (i = o = t[1]); + for (var d = r; d < f; d += r) + (s = t[d]) < n && (n = s), + (l = t[d + 1]) < i && (i = l), + s > a && (a = s), + l > o && (o = l); + c = 0 !== (c = Math.max(a - n, o - i)) ? 1 / c : 0; + } + return Ao(h, p, r, n, i, c), p; + } + function ko(t, e, r, n, i) { + var a, o; + if (i === Xo(t, e, r, n) > 0) + for (a = e; a < r; a += n) o = Go(a, t[a], t[a + 1], o); + else + for (a = r - n; a >= e; a -= n) + o = Go(a, t[a], t[a + 1], o); + return o && No(o, o.next) && (Yo(o), (o = o.next)), o; + } + function Mo(t, e) { + if (!t) return t; + e || (e = t); + var r, + n = t; + do { + if ( + ((r = !1), + n.steiner || + (!No(n, n.next) && 0 !== Bo(n.prev, n, n.next))) + ) + n = n.next; + else { + if ((Yo(n), (n = e = n.prev) === n.next)) break; + r = !0; + } + } while (r || n !== e); + return e; + } + function Ao(t, e, r, n, i, a, o) { + if (t) { + !o && + a && + (function (t, e, r, n) { + var i = t; + do { + null === i.z && (i.z = Oo(i.x, i.y, e, r, n)), + (i.prevZ = i.prev), + (i.nextZ = i.next), + (i = i.next); + } while (i !== t); + (i.prevZ.nextZ = null), + (i.prevZ = null), + (function (t) { + var e, + r, + n, + i, + a, + o, + s, + l, + c = 1; + do { + for (r = t, t = null, a = null, o = 0; r; ) { + for ( + o++, n = r, s = 0, e = 0; + e < c && (s++, (n = n.nextZ)); + e++ + ); + for (l = c; s > 0 || (l > 0 && n); ) + 0 !== s && (0 === l || !n || r.z <= n.z) + ? ((i = r), (r = r.nextZ), s--) + : ((i = n), (n = n.nextZ), l--), + a ? (a.nextZ = i) : (t = i), + (i.prevZ = a), + (a = i); + r = n; + } + (a.nextZ = null), (c *= 2); + } while (o > 1); + })(i); + })(t, n, i, a); + for (var s, l, c = t; t.prev !== t.next; ) + if ( + ((s = t.prev), (l = t.next), a ? Eo(t, n, i, a) : So(t)) + ) + e.push(s.i / r), + e.push(t.i / r), + e.push(l.i / r), + Yo(t), + (t = l.next), + (c = l.next); + else if ((t = l) === c) { + o + ? 1 === o + ? Ao((t = Co(Mo(t), e, r)), e, r, n, i, a, 2) + : 2 === o && Lo(t, e, r, n, i, a) + : Ao(Mo(t), e, r, n, i, a, 1); + break; + } + } + } + function So(t) { + var e = t.prev, + r = t, + n = t.next; + if (Bo(e, r, n) >= 0) return !1; + for (var i = t.next.next; i !== t.prev; ) { + if ( + Ro(e.x, e.y, r.x, r.y, n.x, n.y, i.x, i.y) && + Bo(i.prev, i, i.next) >= 0 + ) + return !1; + i = i.next; + } + return !0; + } + function Eo(t, e, r, n) { + var i = t.prev, + a = t, + o = t.next; + if (Bo(i, a, o) >= 0) return !1; + for ( + var s = + i.x > a.x + ? i.x > o.x + ? i.x + : o.x + : a.x > o.x + ? a.x + : o.x, + l = + i.y > a.y + ? i.y > o.y + ? i.y + : o.y + : a.y > o.y + ? a.y + : o.y, + c = Oo( + i.x < a.x + ? i.x < o.x + ? i.x + : o.x + : a.x < o.x + ? a.x + : o.x, + i.y < a.y + ? i.y < o.y + ? i.y + : o.y + : a.y < o.y + ? a.y + : o.y, + e, + r, + n + ), + u = Oo(s, l, e, r, n), + f = t.prevZ, + h = t.nextZ; + f && f.z >= c && h && h.z <= u; + + ) { + if ( + f !== t.prev && + f !== t.next && + Ro(i.x, i.y, a.x, a.y, o.x, o.y, f.x, f.y) && + Bo(f.prev, f, f.next) >= 0 + ) + return !1; + if ( + ((f = f.prevZ), + h !== t.prev && + h !== t.next && + Ro(i.x, i.y, a.x, a.y, o.x, o.y, h.x, h.y) && + Bo(h.prev, h, h.next) >= 0) + ) + return !1; + h = h.nextZ; + } + for (; f && f.z >= c; ) { + if ( + f !== t.prev && + f !== t.next && + Ro(i.x, i.y, a.x, a.y, o.x, o.y, f.x, f.y) && + Bo(f.prev, f, f.next) >= 0 + ) + return !1; + f = f.prevZ; + } + for (; h && h.z <= u; ) { + if ( + h !== t.prev && + h !== t.next && + Ro(i.x, i.y, a.x, a.y, o.x, o.y, h.x, h.y) && + Bo(h.prev, h, h.next) >= 0 + ) + return !1; + h = h.nextZ; + } + return !0; + } + function Co(t, e, r) { + var n = t; + do { + var i = n.prev, + a = n.next.next; + !No(i, a) && + jo(i, n, n.next, a) && + qo(i, a) && + qo(a, i) && + (e.push(i.i / r), + e.push(n.i / r), + e.push(a.i / r), + Yo(n), + Yo(n.next), + (n = t = a)), + (n = n.next); + } while (n !== t); + return Mo(n); + } + function Lo(t, e, r, n, i, a) { + var o = t; + do { + for (var s = o.next.next; s !== o.prev; ) { + if (o.i !== s.i && Fo(o, s)) { + var l = Ho(o, s); + return ( + (o = Mo(o, o.next)), + (l = Mo(l, l.next)), + Ao(o, e, r, n, i, a), + void Ao(l, e, r, n, i, a) + ); + } + s = s.next; + } + o = o.next; + } while (o !== t); + } + function Io(t, e) { + return t.x - e.x; + } + function Po(t, e) { + if ( + (e = (function (t, e) { + var r, + n = e, + i = t.x, + a = t.y, + o = -1 / 0; + do { + if (a <= n.y && a >= n.next.y && n.next.y !== n.y) { + var s = + n.x + + ((a - n.y) * (n.next.x - n.x)) / (n.next.y - n.y); + if (s <= i && s > o) { + if (((o = s), s === i)) { + if (a === n.y) return n; + if (a === n.next.y) return n.next; + } + r = n.x < n.next.x ? n : n.next; + } + } + n = n.next; + } while (n !== e); + if (!r) return null; + if (i === o) return r; + var l, + c = r, + u = r.x, + f = r.y, + h = 1 / 0; + n = r; + do { + i >= n.x && + n.x >= u && + i !== n.x && + Ro( + a < f ? i : o, + a, + u, + f, + a < f ? o : i, + a, + n.x, + n.y + ) && + ((l = Math.abs(a - n.y) / (i - n.x)), + qo(n, t) && + (l < h || + (l === h && + (n.x > r.x || (n.x === r.x && zo(r, n))))) && + ((r = n), (h = l))), + (n = n.next); + } while (n !== c); + return r; + })(t, e)) + ) { + var r = Ho(e, t); + Mo(e, e.next), Mo(r, r.next); + } + } + function zo(t, e) { + return Bo(t.prev, t, e.prev) < 0 && Bo(e.next, t, t.next) < 0; + } + function Oo(t, e, r, n, i) { + return ( + (t = + 1431655765 & + ((t = + 858993459 & + ((t = + 252645135 & + ((t = + 16711935 & ((t = 32767 * (t - r) * i) | (t << 8))) | + (t << 4))) | + (t << 2))) | + (t << 1))) | + ((e = + 1431655765 & + ((e = + 858993459 & + ((e = + 252645135 & + ((e = + 16711935 & ((e = 32767 * (e - n) * i) | (e << 8))) | + (e << 4))) | + (e << 2))) | + (e << 1))) << + 1) + ); + } + function Do(t) { + var e = t, + r = t; + do { + (e.x < r.x || (e.x === r.x && e.y < r.y)) && (r = e), + (e = e.next); + } while (e !== t); + return r; + } + function Ro(t, e, r, n, i, a, o, s) { + return ( + (i - o) * (e - s) - (t - o) * (a - s) >= 0 && + (t - o) * (n - s) - (r - o) * (e - s) >= 0 && + (r - o) * (a - s) - (i - o) * (n - s) >= 0 + ); + } + function Fo(t, e) { + return ( + t.next.i !== e.i && + t.prev.i !== e.i && + !(function (t, e) { + var r = t; + do { + if ( + r.i !== t.i && + r.next.i !== t.i && + r.i !== e.i && + r.next.i !== e.i && + jo(r, r.next, t, e) + ) + return !0; + r = r.next; + } while (r !== t); + return !1; + })(t, e) && + ((qo(t, e) && + qo(e, t) && + (function (t, e) { + var r = t, + n = !1, + i = (t.x + e.x) / 2, + a = (t.y + e.y) / 2; + do { + r.y > a != r.next.y > a && + r.next.y !== r.y && + i < + ((r.next.x - r.x) * (a - r.y)) / + (r.next.y - r.y) + + r.x && + (n = !n), + (r = r.next); + } while (r !== t); + return n; + })(t, e) && + (Bo(t.prev, t, e.prev) || Bo(t, e.prev, e))) || + (No(t, e) && + Bo(t.prev, t, t.next) > 0 && + Bo(e.prev, e, e.next) > 0)) + ); + } + function Bo(t, e, r) { + return (e.y - t.y) * (r.x - e.x) - (e.x - t.x) * (r.y - e.y); + } + function No(t, e) { + return t.x === e.x && t.y === e.y; + } + function jo(t, e, r, n) { + var i = Vo(Bo(t, e, r)), + a = Vo(Bo(t, e, n)), + o = Vo(Bo(r, n, t)), + s = Vo(Bo(r, n, e)); + return ( + (i !== a && o !== s) || + !(0 !== i || !Uo(t, r, e)) || + !(0 !== a || !Uo(t, n, e)) || + !(0 !== o || !Uo(r, t, n)) || + !(0 !== s || !Uo(r, e, n)) + ); + } + function Uo(t, e, r) { + return ( + e.x <= Math.max(t.x, r.x) && + e.x >= Math.min(t.x, r.x) && + e.y <= Math.max(t.y, r.y) && + e.y >= Math.min(t.y, r.y) + ); + } + function Vo(t) { + return t > 0 ? 1 : t < 0 ? -1 : 0; + } + function qo(t, e) { + return Bo(t.prev, t, t.next) < 0 + ? Bo(t, e, t.next) >= 0 && Bo(t, t.prev, e) >= 0 + : Bo(t, e, t.prev) < 0 || Bo(t, t.next, e) < 0; + } + function Ho(t, e) { + var r = new Wo(t.i, t.x, t.y), + n = new Wo(e.i, e.x, e.y), + i = t.next, + a = e.prev; + return ( + (t.next = e), + (e.prev = t), + (r.next = i), + (i.prev = r), + (n.next = r), + (r.prev = n), + (a.next = n), + (n.prev = a), + n + ); + } + function Go(t, e, r, n) { + var i = new Wo(t, e, r); + return ( + n + ? ((i.next = n.next), + (i.prev = n), + (n.next.prev = i), + (n.next = i)) + : ((i.prev = i), (i.next = i)), + i + ); + } + function Yo(t) { + (t.next.prev = t.prev), + (t.prev.next = t.next), + t.prevZ && (t.prevZ.nextZ = t.nextZ), + t.nextZ && (t.nextZ.prevZ = t.prevZ); + } + function Wo(t, e, r) { + (this.i = t), + (this.x = e), + (this.y = r), + (this.prev = null), + (this.next = null), + (this.z = null), + (this.prevZ = null), + (this.nextZ = null), + (this.steiner = !1); + } + function Xo(t, e, r, n) { + for (var i = 0, a = e, o = r - n; a < r; a += n) + (i += (t[o] - t[a]) * (t[a + 1] + t[o + 1])), (o = a); + return i; + } + function Zo(t, e, r, n, i) { + !(function t(e, r, n, i, a) { + for (; i > n; ) { + if (i - n > 600) { + var o = i - n + 1, + s = r - n + 1, + l = Math.log(o), + c = 0.5 * Math.exp((2 * l) / 3), + u = + 0.5 * + Math.sqrt((l * c * (o - c)) / o) * + (s - o / 2 < 0 ? -1 : 1); + t( + e, + r, + Math.max(n, Math.floor(r - (s * c) / o + u)), + Math.min(i, Math.floor(r + ((o - s) * c) / o + u)), + a + ); + } + var f = e[r], + h = n, + p = i; + for ( + Jo(e, n, r), a(e[i], f) > 0 && Jo(e, n, i); + h < p; + + ) { + for (Jo(e, h, p), h++, p--; a(e[h], f) < 0; ) h++; + for (; a(e[p], f) > 0; ) p--; + } + 0 === a(e[n], f) ? Jo(e, n, p) : Jo(e, ++p, i), + p <= r && (n = p + 1), + r <= p && (i = p - 1); + } + })(t, e, r || 0, n || t.length - 1, i || Ko); + } + function Jo(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function Ko(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Qo(t, e) { + var r = t.length; + if (r <= 1) return [t]; + for (var n, i, a = [], o = 0; o < r; o++) { + var s = T(t[o]); + 0 !== s && + ((t[o].area = Math.abs(s)), + void 0 === i && (i = s < 0), + i === s < 0 + ? (n && a.push(n), (n = [t[o]])) + : n.push(t[o])); + } + if ((n && a.push(n), e > 1)) + for (var l = 0; l < a.length; l++) + a[l].length <= e || + (Zo(a[l], e, 1, a[l].length - 1, $o), + (a[l] = a[l].slice(0, e))); + return a; + } + function $o(t, e) { + return e.area - t.area; + } + function ts(t, e, r) { + for ( + var n = r.patternDependencies, i = !1, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a].paint.get(t + '-pattern'); + s.isConstant() || (i = !0); + var l = s.constantOr(null); + l && ((i = !0), (n[l.to] = !0), (n[l.from] = !0)); + } + return i; + } + function es(t, e, r, n, i) { + for ( + var a = i.patternDependencies, o = 0, s = e; + o < s.length; + o += 1 + ) { + var l = s[o], + c = l.paint.get(t + '-pattern').value; + if ('constant' !== c.kind) { + var u = c.evaluate( + { zoom: n - 1 }, + r, + {}, + i.availableImages + ), + f = c.evaluate({ zoom: n }, r, {}, i.availableImages), + h = c.evaluate( + { zoom: n + 1 }, + r, + {}, + i.availableImages + ); + (f = f && f.name ? f.name : f), + (h = h && h.name ? h.name : h), + (a[(u = u && u.name ? u.name : u)] = !0), + (a[f] = !0), + (a[h] = !0), + (r.patterns[l.id] = { min: u, mid: f, max: h }); + } + } + return r; + } + (To.deviation = function (t, e, r, n) { + var i = e && e.length, + a = Math.abs(Xo(t, 0, i ? e[0] * r : t.length, r)); + if (i) + for (var o = 0, s = e.length; o < s; o++) + a -= Math.abs( + Xo(t, e[o] * r, o < s - 1 ? e[o + 1] * r : t.length, r) + ); + var l = 0; + for (o = 0; o < n.length; o += 3) { + var c = n[o] * r, + u = n[o + 1] * r, + f = n[o + 2] * r; + l += Math.abs( + (t[c] - t[f]) * (t[u + 1] - t[c + 1]) - + (t[c] - t[u]) * (t[f + 1] - t[c + 1]) + ); + } + return 0 === a && 0 === l ? 0 : Math.abs((l - a) / a); + }), + (To.flatten = function (t) { + for ( + var e = t[0][0].length, + r = { vertices: [], holes: [], dimensions: e }, + n = 0, + i = 0; + i < t.length; + i++ + ) { + for (var a = 0; a < t[i].length; a++) + for (var o = 0; o < e; o++) r.vertices.push(t[i][a][o]); + i > 0 && r.holes.push((n += t[i - 1].length)); + } + return r; + }), + (_o.default = wo); + var rs = function (t) { + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new Mi()), + (this.indexArray = new Fi()), + (this.indexArray2 = new qi()), + (this.programConfigurations = new Ia(bo, t.layers, t.zoom)), + (this.segments = new ia()), + (this.segments2 = new ia()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (rs.prototype.populate = function (t, e, r) { + this.hasPattern = ts('fill', this.layers, e); + for ( + var n = this.layers[0].layout.get('fill-sort-key'), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + c = s.id, + u = s.index, + f = s.sourceLayerIndex, + h = this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: c, + properties: l.properties, + geometry: h ? Da(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new ii(this.zoom), + p, + r + ) + ) { + h || (p.geometry = Da(l)); + var d = n + ? n.evaluate(p, {}, r, e.availableImages) + : void 0; + i.push({ + id: c, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: u, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, m = i; g < m.length; g += 1) { + var v = m[g], + y = v.geometry, + x = v.index, + b = v.sourceLayerIndex; + if (this.hasPattern) { + var _ = es('fill', this.layers, v, this.zoom, e); + this.patternFeatures.push(_); + } else this.addFeature(v, y, x, r, {}); + e.featureIndex.insert(t[x].feature, y, x, b, this.index); + } + }), + (rs.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r + ); + }), + (rs.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (rs.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (rs.prototype.uploadPending = function () { + return ( + !this.uploaded || this.programConfigurations.needsUpload + ); + }), + (rs.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + bo + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + (this.indexBuffer2 = t.createIndexBuffer( + this.indexArray2 + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (rs.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.indexBuffer2.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.segments2.destroy()); + }), + (rs.prototype.addFeature = function (t, e, r, n, i) { + for (var a = 0, o = Qo(e, 500); a < o.length; a += 1) { + for ( + var s = o[a], l = 0, c = 0, u = s; + c < u.length; + c += 1 + ) + l += u[c].length; + for ( + var f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray + ), + h = f.vertexLength, + p = [], + d = [], + g = 0, + m = s; + g < m.length; + g += 1 + ) { + var v = m[g]; + if (0 !== v.length) { + v !== s[0] && d.push(p.length / 2); + var y = this.segments2.prepareSegment( + v.length, + this.layoutVertexArray, + this.indexArray2 + ), + x = y.vertexLength; + this.layoutVertexArray.emplaceBack(v[0].x, v[0].y), + this.indexArray2.emplaceBack(x + v.length - 1, x), + p.push(v[0].x), + p.push(v[0].y); + for (var b = 1; b < v.length; b++) + this.layoutVertexArray.emplaceBack(v[b].x, v[b].y), + this.indexArray2.emplaceBack(x + b - 1, x + b), + p.push(v[b].x), + p.push(v[b].y); + (y.vertexLength += v.length), + (y.primitiveLength += v.length); + } + } + for (var _ = _o(p, d), w = 0; w < _.length; w += 3) + this.indexArray.emplaceBack( + h + _[w], + h + _[w + 1], + h + _[w + 2] + ); + (f.vertexLength += l), + (f.primitiveLength += _.length / 3); + } + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n + ); + }), + Dn('FillBucket', rs, { omit: ['layers', 'patternFeatures'] }); + var ns = new yi({ + 'fill-sort-key': new di(At.layout_fill['fill-sort-key']), + }), + is = { + paint: new yi({ + 'fill-antialias': new pi(At.paint_fill['fill-antialias']), + 'fill-opacity': new di(At.paint_fill['fill-opacity']), + 'fill-color': new di(At.paint_fill['fill-color']), + 'fill-outline-color': new di( + At.paint_fill['fill-outline-color'] + ), + 'fill-translate': new pi(At.paint_fill['fill-translate']), + 'fill-translate-anchor': new pi( + At.paint_fill['fill-translate-anchor'] + ), + 'fill-pattern': new gi(At.paint_fill['fill-pattern']), + }), + layout: ns, + }, + as = (function (t) { + function e(e) { + t.call(this, e, is); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r); + var n = this.paint._values['fill-outline-color']; + 'constant' === n.value.kind && + void 0 === n.value.value && + (this.paint._values['fill-outline-color'] = + this.paint._values['fill-color']); + }), + (e.prototype.createBucket = function (t) { + return new rs(t); + }), + (e.prototype.queryRadius = function () { + return Ja(this.paint.get('fill-translate')); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + i, + a, + o + ) { + return ja( + Ka( + t, + this.paint.get('fill-translate'), + this.paint.get('fill-translate-anchor'), + a.angle, + o + ), + n + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(xi), + os = Ti( + [ + { name: 'a_pos', components: 2, type: 'Int16' }, + { name: 'a_normal_ed', components: 4, type: 'Int16' }, + ], + 4 + ).members, + ss = ls; + function ls(t, e, r, n, i) { + (this.properties = {}), + (this.extent = r), + (this.type = 0), + (this._pbf = t), + (this._geometry = -1), + (this._keys = n), + (this._values = i), + t.readFields(cs, this, e); + } + function cs(t, e, r) { + 1 == t + ? (e.id = r.readVarint()) + : 2 == t + ? (function (t, e) { + for (var r = t.readVarint() + t.pos; t.pos < r; ) { + var n = e._keys[t.readVarint()], + i = e._values[t.readVarint()]; + e.properties[n] = i; + } + })(r, e) + : 3 == t + ? (e.type = r.readVarint()) + : 4 == t && (e._geometry = r.pos); + } + function us(t) { + for ( + var e, r, n = 0, i = 0, a = t.length, o = a - 1; + i < a; + o = i++ + ) + n += ((r = t[o]).x - (e = t[i]).x) * (e.y + r.y); + return n; + } + (ls.types = ['Unknown', 'Point', 'LineString', 'Polygon']), + (ls.prototype.loadGeometry = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e, + r = t.readVarint() + t.pos, + n = 1, + a = 0, + o = 0, + s = 0, + l = []; + t.pos < r; + + ) { + if (a <= 0) { + var c = t.readVarint(); + (n = 7 & c), (a = c >> 3); + } + if ((a--, 1 === n || 2 === n)) + (o += t.readSVarint()), + (s += t.readSVarint()), + 1 === n && (e && l.push(e), (e = [])), + e.push(new i(o, s)); + else { + if (7 !== n) throw new Error('unknown command ' + n); + e && e.push(e[0].clone()); + } + } + return e && l.push(e), l; + }), + (ls.prototype.bbox = function () { + var t = this._pbf; + t.pos = this._geometry; + for ( + var e = t.readVarint() + t.pos, + r = 1, + n = 0, + i = 0, + a = 0, + o = 1 / 0, + s = -1 / 0, + l = 1 / 0, + c = -1 / 0; + t.pos < e; + + ) { + if (n <= 0) { + var u = t.readVarint(); + (r = 7 & u), (n = u >> 3); + } + if ((n--, 1 === r || 2 === r)) + (i += t.readSVarint()) < o && (o = i), + i > s && (s = i), + (a += t.readSVarint()) < l && (l = a), + a > c && (c = a); + else if (7 !== r) throw new Error('unknown command ' + r); + } + return [o, l, s, c]; + }), + (ls.prototype.toGeoJSON = function (t, e, r) { + var n, + i, + a = this.extent * Math.pow(2, r), + o = this.extent * t, + s = this.extent * e, + l = this.loadGeometry(), + c = ls.types[this.type]; + function u(t) { + for (var e = 0; e < t.length; e++) { + var r = t[e]; + t[e] = [ + (360 * (r.x + o)) / a - 180, + (360 / Math.PI) * + Math.atan( + Math.exp( + ((180 - (360 * (r.y + s)) / a) * Math.PI) / 180 + ) + ) - + 90, + ]; + } + } + switch (this.type) { + case 1: + var f = []; + for (n = 0; n < l.length; n++) f[n] = l[n][0]; + u((l = f)); + break; + case 2: + for (n = 0; n < l.length; n++) u(l[n]); + break; + case 3: + for ( + l = (function (t) { + var e = t.length; + if (e <= 1) return [t]; + for (var r, n, i = [], a = 0; a < e; a++) { + var o = us(t[a]); + 0 !== o && + (void 0 === n && (n = o < 0), + n === o < 0 + ? (r && i.push(r), (r = [t[a]])) + : r.push(t[a])); + } + return r && i.push(r), i; + })(l), + n = 0; + n < l.length; + n++ + ) + for (i = 0; i < l[n].length; i++) u(l[n][i]); + } + 1 === l.length ? (l = l[0]) : (c = 'Multi' + c); + var h = { + type: 'Feature', + geometry: { type: c, coordinates: l }, + properties: this.properties, + }; + return 'id' in this && (h.id = this.id), h; + }); + var fs = hs; + function hs(t, e) { + (this.version = 1), + (this.name = null), + (this.extent = 4096), + (this.length = 0), + (this._pbf = t), + (this._keys = []), + (this._values = []), + (this._features = []), + t.readFields(ps, this, e), + (this.length = this._features.length); + } + function ps(t, e, r) { + 15 === t + ? (e.version = r.readVarint()) + : 1 === t + ? (e.name = r.readString()) + : 5 === t + ? (e.extent = r.readVarint()) + : 2 === t + ? e._features.push(r.pos) + : 3 === t + ? e._keys.push(r.readString()) + : 4 === t && + e._values.push( + (function (t) { + for ( + var e = null, r = t.readVarint() + t.pos; + t.pos < r; + + ) { + var n = t.readVarint() >> 3; + e = + 1 === n + ? t.readString() + : 2 === n + ? t.readFloat() + : 3 === n + ? t.readDouble() + : 4 === n + ? t.readVarint64() + : 5 === n + ? t.readVarint() + : 6 === n + ? t.readSVarint() + : 7 === n + ? t.readBoolean() + : null; + } + return e; + })(r) + ); + } + function ds(t, e, r) { + if (3 === t) { + var n = new fs(r, r.readVarint() + r.pos); + n.length && (e[n.name] = n); + } + } + hs.prototype.feature = function (t) { + if (t < 0 || t >= this._features.length) + throw new Error('feature index out of bounds'); + this._pbf.pos = this._features[t]; + var e = this._pbf.readVarint() + this._pbf.pos; + return new ss( + this._pbf, + e, + this.extent, + this._keys, + this._values + ); + }; + var gs = { + VectorTile: function (t, e) { + this.layers = t.readFields(ds, {}, e); + }, + VectorTileFeature: ss, + VectorTileLayer: fs, + }, + ms = gs.VectorTileFeature.types, + vs = Math.pow(2, 13); + function ys(t, e, r, n, i, a, o, s) { + t.emplaceBack( + e, + r, + 2 * Math.floor(n * vs) + o, + i * vs * 2, + a * vs * 2, + Math.round(s) + ); + } + var xs = function (t) { + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.hasPattern = !1), + (this.layoutVertexArray = new Si()), + (this.indexArray = new Fi()), + (this.programConfigurations = new Ia(os, t.layers, t.zoom)), + (this.segments = new ia()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + function bs(t, e) { + return ( + (t.x === e.x && (t.x < 0 || t.x > 8192)) || + (t.y === e.y && (t.y < 0 || t.y > 8192)) + ); + } + (xs.prototype.populate = function (t, e, r) { + (this.features = []), + (this.hasPattern = ts('fill-extrusion', this.layers, e)); + for (var n = 0, i = t; n < i.length; n += 1) { + var a = i[n], + o = a.feature, + s = a.id, + l = a.index, + c = a.sourceLayerIndex, + u = this.layers[0]._featureFilter.needGeometry, + f = { + type: o.type, + id: s, + properties: o.properties, + geometry: u ? Da(o) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new ii(this.zoom), + f, + r + ) + ) { + var h = { + id: s, + sourceLayerIndex: c, + index: l, + geometry: u ? f.geometry : Da(o), + properties: o.properties, + type: o.type, + patterns: {}, + }; + void 0 !== o.id && (h.id = o.id), + this.hasPattern + ? this.features.push( + es('fill-extrusion', this.layers, h, this.zoom, e) + ) + : this.addFeature(h, h.geometry, l, r, {}), + e.featureIndex.insert( + o, + h.geometry, + l, + c, + this.index, + !0 + ); + } + } + }), + (xs.prototype.addFeatures = function (t, e, r) { + for (var n = 0, i = this.features; n < i.length; n += 1) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (xs.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r + ); + }), + (xs.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (xs.prototype.uploadPending = function () { + return ( + !this.uploaded || this.programConfigurations.needsUpload + ); + }), + (xs.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + os + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (xs.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (xs.prototype.addFeature = function (t, e, r, n, i) { + for (var a = 0, o = Qo(e, 500); a < o.length; a += 1) { + for ( + var s = o[a], l = 0, c = 0, u = s; + c < u.length; + c += 1 + ) + l += u[c].length; + for ( + var f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray + ), + h = 0, + p = s; + h < p.length; + h += 1 + ) { + var d = p[h]; + if ( + 0 !== d.length && + !( + (P = d).every(function (t) { + return t.x < 0; + }) || + P.every(function (t) { + return t.x > 8192; + }) || + P.every(function (t) { + return t.y < 0; + }) || + P.every(function (t) { + return t.y > 8192; + }) + ) + ) + for (var g = 0, m = 0; m < d.length; m++) { + var v = d[m]; + if (m >= 1) { + var y = d[m - 1]; + if (!bs(v, y)) { + f.vertexLength + 4 > + ia.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + 4, + this.layoutVertexArray, + this.indexArray + )); + var x = v.sub(y)._perp()._unit(), + b = y.dist(v); + g + b > 32768 && (g = 0), + ys( + this.layoutVertexArray, + v.x, + v.y, + x.x, + x.y, + 0, + 0, + g + ), + ys( + this.layoutVertexArray, + v.x, + v.y, + x.x, + x.y, + 0, + 1, + g + ), + ys( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 0, + (g += b) + ), + ys( + this.layoutVertexArray, + y.x, + y.y, + x.x, + x.y, + 0, + 1, + g + ); + var _ = f.vertexLength; + this.indexArray.emplaceBack(_, _ + 2, _ + 1), + this.indexArray.emplaceBack( + _ + 1, + _ + 2, + _ + 3 + ), + (f.vertexLength += 4), + (f.primitiveLength += 2); + } + } + } + } + if ( + (f.vertexLength + l > ia.MAX_VERTEX_ARRAY_LENGTH && + (f = this.segments.prepareSegment( + l, + this.layoutVertexArray, + this.indexArray + )), + 'Polygon' === ms[t.type]) + ) { + for ( + var w = [], T = [], k = f.vertexLength, M = 0, A = s; + M < A.length; + M += 1 + ) { + var S = A[M]; + if (0 !== S.length) { + S !== s[0] && T.push(w.length / 2); + for (var E = 0; E < S.length; E++) { + var C = S[E]; + ys( + this.layoutVertexArray, + C.x, + C.y, + 0, + 0, + 1, + 1, + 0 + ), + w.push(C.x), + w.push(C.y); + } + } + } + for (var L = _o(w, T), I = 0; I < L.length; I += 3) + this.indexArray.emplaceBack( + k + L[I], + k + L[I + 2], + k + L[I + 1] + ); + (f.primitiveLength += L.length / 3), + (f.vertexLength += l); + } + } + var P; + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n + ); + }), + Dn('FillExtrusionBucket', xs, { + omit: ['layers', 'features'], + }); + var _s = { + paint: new yi({ + 'fill-extrusion-opacity': new pi( + At['paint_fill-extrusion']['fill-extrusion-opacity'] + ), + 'fill-extrusion-color': new di( + At['paint_fill-extrusion']['fill-extrusion-color'] + ), + 'fill-extrusion-translate': new pi( + At['paint_fill-extrusion']['fill-extrusion-translate'] + ), + 'fill-extrusion-translate-anchor': new pi( + At['paint_fill-extrusion'][ + 'fill-extrusion-translate-anchor' + ] + ), + 'fill-extrusion-pattern': new gi( + At['paint_fill-extrusion']['fill-extrusion-pattern'] + ), + 'fill-extrusion-height': new di( + At['paint_fill-extrusion']['fill-extrusion-height'] + ), + 'fill-extrusion-base': new di( + At['paint_fill-extrusion']['fill-extrusion-base'] + ), + 'fill-extrusion-vertical-gradient': new pi( + At['paint_fill-extrusion'][ + 'fill-extrusion-vertical-gradient' + ] + ), + }), + }, + ws = (function (t) { + function e(e) { + t.call(this, e, _s); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.createBucket = function (t) { + return new xs(t); + }), + (e.prototype.queryRadius = function () { + return Ja(this.paint.get('fill-extrusion-translate')); + }), + (e.prototype.is3D = function () { + return !0; + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + a, + o, + s, + l + ) { + var c = Ka( + t, + this.paint.get('fill-extrusion-translate'), + this.paint.get('fill-extrusion-translate-anchor'), + o.angle, + s + ), + u = this.paint + .get('fill-extrusion-height') + .evaluate(e, r), + f = this.paint + .get('fill-extrusion-base') + .evaluate(e, r), + h = (function (t, e, r, n) { + for ( + var a = [], o = 0, s = t; + o < s.length; + o += 1 + ) { + var l = s[o], + c = [l.x, l.y, 0, 1]; + ao(c, c, e), + a.push(new i(c[0] / c[3], c[1] / c[3])); + } + return a; + })(c, l), + p = (function (t, e, r, n) { + for ( + var a = [], + o = [], + s = n[8] * e, + l = n[9] * e, + c = n[10] * e, + u = n[11] * e, + f = n[8] * r, + h = n[9] * r, + p = n[10] * r, + d = n[11] * r, + g = 0, + m = t; + g < m.length; + g += 1 + ) { + for ( + var v = [], y = [], x = 0, b = m[g]; + x < b.length; + x += 1 + ) { + var _ = b[x], + w = _.x, + T = _.y, + k = n[0] * w + n[4] * T + n[12], + M = n[1] * w + n[5] * T + n[13], + A = n[2] * w + n[6] * T + n[14], + S = n[3] * w + n[7] * T + n[15], + E = A + c, + C = S + u, + L = k + f, + I = M + h, + P = A + p, + z = S + d, + O = new i((k + s) / C, (M + l) / C); + (O.z = E / C), v.push(O); + var D = new i(L / z, I / z); + (D.z = P / z), y.push(D); + } + a.push(v), o.push(y); + } + return [a, o]; + })(n, f, u, l); + return (function (t, e, r) { + var n = 1 / 0; + ja(r, e) && (n = ks(r, e[0])); + for (var i = 0; i < e.length; i++) + for ( + var a = e[i], o = t[i], s = 0; + s < a.length - 1; + s++ + ) { + var l = a[s], + c = [l, a[s + 1], o[s + 1], o[s], l]; + Ba(r, c) && (n = Math.min(n, ks(r, c))); + } + return n !== 1 / 0 && n; + })(p[0], p[1], h); + }), + e + ); + })(xi); + function Ts(t, e) { + return t.x * e.x + t.y * e.y; + } + function ks(t, e) { + if (1 === t.length) { + for (var r, n = 0, i = e[n++]; !r || i.equals(r); ) + if (!(r = e[n++])) return 1 / 0; + for (; n < e.length; n++) { + var a = e[n], + o = t[0], + s = r.sub(i), + l = a.sub(i), + c = o.sub(i), + u = Ts(s, s), + f = Ts(s, l), + h = Ts(l, l), + p = Ts(c, s), + d = Ts(c, l), + g = u * h - f * f, + m = (h * p - f * d) / g, + v = (u * d - f * p) / g, + y = i.z * (1 - m - v) + r.z * m + a.z * v; + if (isFinite(y)) return y; + } + return 1 / 0; + } + for (var x = 1 / 0, b = 0, _ = e; b < _.length; b += 1) + x = Math.min(x, _[b].z); + return x; + } + var Ms = Ti( + [ + { name: 'a_pos_normal', components: 2, type: 'Int16' }, + { name: 'a_data', components: 4, type: 'Uint8' }, + ], + 4 + ).members, + As = gs.VectorTileFeature.types, + Ss = Math.cos((Math.PI / 180) * 37.5), + Es = Math.pow(2, 14) / 0.5, + Cs = function (t) { + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.hasPattern = !1), + (this.patternFeatures = []), + (this.layoutVertexArray = new Ei()), + (this.indexArray = new Fi()), + (this.programConfigurations = new Ia( + Ms, + t.layers, + t.zoom + )), + (this.segments = new ia()), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })); + }; + (Cs.prototype.populate = function (t, e, r) { + this.hasPattern = ts('line', this.layers, e); + for ( + var n = this.layers[0].layout.get('line-sort-key'), + i = [], + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.feature, + c = s.id, + u = s.index, + f = s.sourceLayerIndex, + h = this.layers[0]._featureFilter.needGeometry, + p = { + type: l.type, + id: c, + properties: l.properties, + geometry: h ? Da(l) : [], + }; + if ( + this.layers[0]._featureFilter.filter( + new ii(this.zoom), + p, + r + ) + ) { + h || (p.geometry = Da(l)); + var d = n ? n.evaluate(p, {}, r) : void 0; + i.push({ + id: c, + properties: l.properties, + type: l.type, + sourceLayerIndex: f, + index: u, + geometry: p.geometry, + patterns: {}, + sortKey: d, + }); + } + } + n && + i.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var g = 0, m = i; g < m.length; g += 1) { + var v = m[g], + y = v.geometry, + x = v.index, + b = v.sourceLayerIndex; + if (this.hasPattern) { + var _ = es('line', this.layers, v, this.zoom, e); + this.patternFeatures.push(_); + } else this.addFeature(v, y, x, r, {}); + e.featureIndex.insert(t[x].feature, y, x, b, this.index); + } + }), + (Cs.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + this.programConfigurations.updatePaintArrays( + t, + e, + this.stateDependentLayers, + r + ); + }), + (Cs.prototype.addFeatures = function (t, e, r) { + for ( + var n = 0, i = this.patternFeatures; + n < i.length; + n += 1 + ) { + var a = i[n]; + this.addFeature(a, a.geometry, a.index, e, r); + } + }), + (Cs.prototype.isEmpty = function () { + return 0 === this.layoutVertexArray.length; + }), + (Cs.prototype.uploadPending = function () { + return ( + !this.uploaded || this.programConfigurations.needsUpload + ); + }), + (Cs.prototype.upload = function (t) { + this.uploaded || + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + Ms + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray + ))), + this.programConfigurations.upload(t), + (this.uploaded = !0); + }), + (Cs.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy()); + }), + (Cs.prototype.addFeature = function (t, e, r, n, i) { + for ( + var a = this.layers[0].layout, + o = a.get('line-join').evaluate(t, {}), + s = a.get('line-cap'), + l = a.get('line-miter-limit'), + c = a.get('line-round-limit'), + u = 0, + f = e; + u < f.length; + u += 1 + ) + this.addLine(f[u], t, o, s, l, c); + this.programConfigurations.populatePaintArrays( + this.layoutVertexArray.length, + t, + r, + i, + n + ); + }), + (Cs.prototype.addLine = function (t, e, r, n, i, a) { + if ( + ((this.distance = 0), + (this.scaledDistance = 0), + (this.totalDistance = 0), + e.properties && + e.properties.hasOwnProperty('mapbox_clip_start') && + e.properties.hasOwnProperty('mapbox_clip_end')) + ) { + (this.clipStart = +e.properties.mapbox_clip_start), + (this.clipEnd = +e.properties.mapbox_clip_end); + for (var o = 0; o < t.length - 1; o++) + this.totalDistance += t[o].dist(t[o + 1]); + this.updateScaledDistance(); + } + for ( + var s = 'Polygon' === As[e.type], l = t.length; + l >= 2 && t[l - 1].equals(t[l - 2]); + + ) + l--; + for (var c = 0; c < l - 1 && t[c].equals(t[c + 1]); ) c++; + if (!(l < (s ? 3 : 2))) { + 'bevel' === r && (i = 1.05); + var u, + f = + this.overscaling <= 16 + ? 122880 / (512 * this.overscaling) + : 0, + h = this.segments.prepareSegment( + 10 * l, + this.layoutVertexArray, + this.indexArray + ), + p = void 0, + d = void 0, + g = void 0, + m = void 0; + (this.e1 = this.e2 = -1), + s && + (m = t[c] + .sub((u = t[l - 2])) + ._unit() + ._perp()); + for (var v = c; v < l; v++) + if ( + !(d = + v === l - 1 ? (s ? t[c + 1] : void 0) : t[v + 1]) || + !t[v].equals(d) + ) { + m && (g = m), + u && (p = u), + (u = t[v]), + (m = d ? d.sub(u)._unit()._perp() : g); + var y = (g = g || m).add(m); + (0 === y.x && 0 === y.y) || y._unit(); + var x = g.x * m.x + g.y * m.y, + b = y.x * m.x + y.y * m.y, + _ = 0 !== b ? 1 / b : 1 / 0, + w = 2 * Math.sqrt(2 - 2 * b), + T = b < Ss && p && d, + k = g.x * m.y - g.y * m.x > 0; + if (T && v > c) { + var M = u.dist(p); + if (M > 2 * f) { + var A = u.sub( + u + .sub(p) + ._mult(f / M) + ._round() + ); + this.updateDistance(p, A), + this.addCurrentVertex(A, g, 0, 0, h), + (p = A); + } + } + var S = p && d, + E = S ? r : s ? 'butt' : n; + if ( + (S && + 'round' === E && + (_ < a + ? (E = 'miter') + : _ <= 2 && (E = 'fakeround')), + 'miter' === E && _ > i && (E = 'bevel'), + 'bevel' === E && + (_ > 2 && (E = 'flipbevel'), + _ < i && (E = 'miter')), + p && this.updateDistance(p, u), + 'miter' === E) + ) + y._mult(_), this.addCurrentVertex(u, y, 0, 0, h); + else if ('flipbevel' === E) { + if (_ > 100) y = m.mult(-1); + else { + var C = (_ * g.add(m).mag()) / g.sub(m).mag(); + y._perp()._mult(C * (k ? -1 : 1)); + } + this.addCurrentVertex(u, y, 0, 0, h), + this.addCurrentVertex(u, y.mult(-1), 0, 0, h); + } else if ('bevel' === E || 'fakeround' === E) { + var L = -Math.sqrt(_ * _ - 1), + I = k ? L : 0, + P = k ? 0 : L; + if ( + (p && this.addCurrentVertex(u, g, I, P, h), + 'fakeround' === E) + ) + for ( + var z = Math.round((180 * w) / Math.PI / 20), + O = 1; + O < z; + O++ + ) { + var D = O / z; + if (0.5 !== D) { + var R = D - 0.5; + D += + D * + R * + (D - 1) * + ((1.0904 + + x * + (x * (3.55645 - 1.43519 * x) - + 3.2452)) * + R * + R + + (0.848013 + + x * (0.215638 * x - 1.06021))); + } + var F = m + .sub(g) + ._mult(D) + ._add(g) + ._unit() + ._mult(k ? -1 : 1); + this.addHalfVertex(u, F.x, F.y, !1, k, 0, h); + } + d && this.addCurrentVertex(u, m, -I, -P, h); + } else if ('butt' === E) + this.addCurrentVertex(u, y, 0, 0, h); + else if ('square' === E) { + var B = p ? 1 : -1; + this.addCurrentVertex(u, y, B, B, h); + } else + 'round' === E && + (p && + (this.addCurrentVertex(u, g, 0, 0, h), + this.addCurrentVertex(u, g, 1, 1, h, !0)), + d && + (this.addCurrentVertex(u, m, -1, -1, h, !0), + this.addCurrentVertex(u, m, 0, 0, h))); + if (T && v < l - 1) { + var N = u.dist(d); + if (N > 2 * f) { + var j = u.add( + d + .sub(u) + ._mult(f / N) + ._round() + ); + this.updateDistance(u, j), + this.addCurrentVertex(j, m, 0, 0, h), + (u = j); + } + } + } + } + }), + (Cs.prototype.addCurrentVertex = function (t, e, r, n, i, a) { + void 0 === a && (a = !1); + var o = e.y * n - e.x, + s = -e.y - e.x * n; + this.addHalfVertex( + t, + e.x + e.y * r, + e.y - e.x * r, + a, + !1, + r, + i + ), + this.addHalfVertex(t, o, s, a, !0, -n, i), + this.distance > Es / 2 && + 0 === this.totalDistance && + ((this.distance = 0), + this.addCurrentVertex(t, e, r, n, i, a)); + }), + (Cs.prototype.addHalfVertex = function (t, e, r, n, i, a, o) { + var s = 0.5 * this.scaledDistance; + this.layoutVertexArray.emplaceBack( + (t.x << 1) + (n ? 1 : 0), + (t.y << 1) + (i ? 1 : 0), + Math.round(63 * e) + 128, + Math.round(63 * r) + 128, + (1 + (0 === a ? 0 : a < 0 ? -1 : 1)) | ((63 & s) << 2), + s >> 6 + ); + var l = o.vertexLength++; + this.e1 >= 0 && + this.e2 >= 0 && + (this.indexArray.emplaceBack(this.e1, this.e2, l), + o.primitiveLength++), + i ? (this.e2 = l) : (this.e1 = l); + }), + (Cs.prototype.updateScaledDistance = function () { + this.scaledDistance = + this.totalDistance > 0 + ? (this.clipStart + + ((this.clipEnd - this.clipStart) * this.distance) / + this.totalDistance) * + (Es - 1) + : this.distance; + }), + (Cs.prototype.updateDistance = function (t, e) { + (this.distance += t.dist(e)), this.updateScaledDistance(); + }), + Dn('LineBucket', Cs, { omit: ['layers', 'patternFeatures'] }); + var Ls = new yi({ + 'line-cap': new pi(At.layout_line['line-cap']), + 'line-join': new di(At.layout_line['line-join']), + 'line-miter-limit': new pi( + At.layout_line['line-miter-limit'] + ), + 'line-round-limit': new pi( + At.layout_line['line-round-limit'] + ), + 'line-sort-key': new di(At.layout_line['line-sort-key']), + }), + Is = { + paint: new yi({ + 'line-opacity': new di(At.paint_line['line-opacity']), + 'line-color': new di(At.paint_line['line-color']), + 'line-translate': new pi(At.paint_line['line-translate']), + 'line-translate-anchor': new pi( + At.paint_line['line-translate-anchor'] + ), + 'line-width': new di(At.paint_line['line-width']), + 'line-gap-width': new di(At.paint_line['line-gap-width']), + 'line-offset': new di(At.paint_line['line-offset']), + 'line-blur': new di(At.paint_line['line-blur']), + 'line-dasharray': new mi(At.paint_line['line-dasharray']), + 'line-pattern': new gi(At.paint_line['line-pattern']), + 'line-gradient': new vi(At.paint_line['line-gradient']), + }), + layout: Ls, + }, + Ps = new ((function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.possiblyEvaluate = function (e, r) { + return ( + (r = new ii(Math.floor(r.zoom), { + now: r.now, + fadeDuration: r.fadeDuration, + zoomHistory: r.zoomHistory, + transition: r.transition, + })), + t.prototype.possiblyEvaluate.call(this, e, r) + ); + }), + (e.prototype.evaluate = function (e, r, n, i) { + return ( + (r = u({}, r, { zoom: Math.floor(r.zoom) })), + t.prototype.evaluate.call(this, e, r, n, i) + ); + }), + e + ); + })(di))(Is.paint.properties['line-width'].specification); + Ps.useIntegerZoom = !0; + var zs = (function (t) { + function e(e) { + t.call(this, e, Is); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._handleSpecialPaintPropertyUpdate = function ( + t + ) { + 'line-gradient' === t && this._updateGradient(); + }), + (e.prototype._updateGradient = function () { + (this.gradient = mo( + this._transitionablePaint._values['line-gradient'].value + .expression, + 'lineProgress' + )), + (this.gradientTexture = null); + }), + (e.prototype.recalculate = function (e, r) { + t.prototype.recalculate.call(this, e, r), + (this.paint._values['line-floorwidth'] = + Ps.possiblyEvaluate( + this._transitioningPaint._values['line-width'] + .value, + e + )); + }), + (e.prototype.createBucket = function (t) { + return new Cs(t); + }), + (e.prototype.queryRadius = function (t) { + var e = t, + r = Os( + Za('line-width', this, e), + Za('line-gap-width', this, e) + ), + n = Za('line-offset', this, e); + return ( + r / 2 + + Math.abs(n) + + Ja(this.paint.get('line-translate')) + ); + }), + (e.prototype.queryIntersectsFeature = function ( + t, + e, + r, + n, + a, + o, + s + ) { + var l = Ka( + t, + this.paint.get('line-translate'), + this.paint.get('line-translate-anchor'), + o.angle, + s + ), + c = + (s / 2) * + Os( + this.paint.get('line-width').evaluate(e, r), + this.paint.get('line-gap-width').evaluate(e, r) + ), + u = this.paint.get('line-offset').evaluate(e, r); + return ( + u && + (n = (function (t, e) { + for ( + var r = [], n = new i(0, 0), a = 0; + a < t.length; + a++ + ) { + for ( + var o = t[a], s = [], l = 0; + l < o.length; + l++ + ) { + var c = o[l], + u = o[l + 1], + f = + 0 === l + ? n + : c + .sub(o[l - 1]) + ._unit() + ._perp(), + h = + l === o.length - 1 + ? n + : u.sub(c)._unit()._perp(), + p = f._add(h)._unit(); + p._mult(1 / (p.x * h.x + p.y * h.y)), + s.push(p._mult(e)._add(c)); + } + r.push(s); + } + return r; + })(n, u * s)), + (function (t, e, r) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + if (t.length >= 3) + for (var a = 0; a < i.length; a++) + if (Wa(t, i[a])) return !0; + if (Ua(t, i, r)) return !0; + } + return !1; + })(l, n, c) + ); + }), + (e.prototype.isTileClipped = function () { + return !0; + }), + e + ); + })(xi); + function Os(t, e) { + return e > 0 ? e + 2 * t : t; + } + var Ds = Ti( + [ + { name: 'a_pos_offset', components: 4, type: 'Int16' }, + { name: 'a_data', components: 4, type: 'Uint16' }, + { name: 'a_pixeloffset', components: 4, type: 'Int16' }, + ], + 4 + ), + Rs = Ti( + [ + { + name: 'a_projected_pos', + components: 3, + type: 'Float32', + }, + ], + 4 + ), + Fs = + (Ti( + [ + { + name: 'a_fade_opacity', + components: 1, + type: 'Uint32', + }, + ], + 4 + ), + Ti([ + { name: 'a_placed', components: 2, type: 'Uint8' }, + { name: 'a_shift', components: 2, type: 'Float32' }, + ])), + Bs = + (Ti([ + { type: 'Int16', name: 'anchorPointX' }, + { type: 'Int16', name: 'anchorPointY' }, + { type: 'Int16', name: 'x1' }, + { type: 'Int16', name: 'y1' }, + { type: 'Int16', name: 'x2' }, + { type: 'Int16', name: 'y2' }, + { type: 'Uint32', name: 'featureIndex' }, + { type: 'Uint16', name: 'sourceLayerIndex' }, + { type: 'Uint16', name: 'bucketIndex' }, + ]), + Ti( + [ + { name: 'a_pos', components: 2, type: 'Int16' }, + { name: 'a_anchor_pos', components: 2, type: 'Int16' }, + { name: 'a_extrude', components: 2, type: 'Int16' }, + ], + 4 + )), + Ns = Ti( + [ + { name: 'a_pos', components: 2, type: 'Float32' }, + { name: 'a_radius', components: 1, type: 'Float32' }, + { name: 'a_flags', components: 2, type: 'Int16' }, + ], + 4 + ); + function js(t, e, r) { + return ( + t.sections.forEach(function (t) { + t.text = (function (t, e, r) { + var n = e.layout.get('text-transform').evaluate(r, {}); + return ( + 'uppercase' === n + ? (t = t.toLocaleUpperCase()) + : 'lowercase' === n && (t = t.toLocaleLowerCase()), + ni.applyArabicShaping && + (t = ni.applyArabicShaping(t)), + t + ); + })(t.text, e, r); + }), + t + ); + } + Ti([{ name: 'triangle', components: 3, type: 'Uint16' }]), + Ti([ + { type: 'Int16', name: 'anchorX' }, + { type: 'Int16', name: 'anchorY' }, + { type: 'Uint16', name: 'glyphStartIndex' }, + { type: 'Uint16', name: 'numGlyphs' }, + { type: 'Uint32', name: 'vertexStartIndex' }, + { type: 'Uint32', name: 'lineStartIndex' }, + { type: 'Uint32', name: 'lineLength' }, + { type: 'Uint16', name: 'segment' }, + { type: 'Uint16', name: 'lowerSize' }, + { type: 'Uint16', name: 'upperSize' }, + { type: 'Float32', name: 'lineOffsetX' }, + { type: 'Float32', name: 'lineOffsetY' }, + { type: 'Uint8', name: 'writingMode' }, + { type: 'Uint8', name: 'placedOrientation' }, + { type: 'Uint8', name: 'hidden' }, + { type: 'Uint32', name: 'crossTileID' }, + { type: 'Int16', name: 'associatedIconIndex' }, + ]), + Ti([ + { type: 'Int16', name: 'anchorX' }, + { type: 'Int16', name: 'anchorY' }, + { type: 'Int16', name: 'rightJustifiedTextSymbolIndex' }, + { type: 'Int16', name: 'centerJustifiedTextSymbolIndex' }, + { type: 'Int16', name: 'leftJustifiedTextSymbolIndex' }, + { type: 'Int16', name: 'verticalPlacedTextSymbolIndex' }, + { type: 'Int16', name: 'placedIconSymbolIndex' }, + { type: 'Int16', name: 'verticalPlacedIconSymbolIndex' }, + { type: 'Uint16', name: 'key' }, + { type: 'Uint16', name: 'textBoxStartIndex' }, + { type: 'Uint16', name: 'textBoxEndIndex' }, + { type: 'Uint16', name: 'verticalTextBoxStartIndex' }, + { type: 'Uint16', name: 'verticalTextBoxEndIndex' }, + { type: 'Uint16', name: 'iconBoxStartIndex' }, + { type: 'Uint16', name: 'iconBoxEndIndex' }, + { type: 'Uint16', name: 'verticalIconBoxStartIndex' }, + { type: 'Uint16', name: 'verticalIconBoxEndIndex' }, + { type: 'Uint16', name: 'featureIndex' }, + { type: 'Uint16', name: 'numHorizontalGlyphVertices' }, + { type: 'Uint16', name: 'numVerticalGlyphVertices' }, + { type: 'Uint16', name: 'numIconVertices' }, + { type: 'Uint16', name: 'numVerticalIconVertices' }, + { type: 'Uint16', name: 'useRuntimeCollisionCircles' }, + { type: 'Uint32', name: 'crossTileID' }, + { type: 'Float32', name: 'textBoxScale' }, + { type: 'Float32', components: 2, name: 'textOffset' }, + { type: 'Float32', name: 'collisionCircleDiameter' }, + ]), + Ti([{ type: 'Float32', name: 'offsetX' }]), + Ti([ + { type: 'Int16', name: 'x' }, + { type: 'Int16', name: 'y' }, + { type: 'Int16', name: 'tileUnitDistanceFromAnchor' }, + ]); + var Us = { + '!': '\ufe15', + '#': '\uff03', + $: '\uff04', + '%': '\uff05', + '&': '\uff06', + '(': '\ufe35', + ')': '\ufe36', + '*': '\uff0a', + '+': '\uff0b', + ',': '\ufe10', + '-': '\ufe32', + '.': '\u30fb', + '/': '\uff0f', + ':': '\ufe13', + ';': '\ufe14', + '<': '\ufe3f', + '=': '\uff1d', + '>': '\ufe40', + '?': '\ufe16', + '@': '\uff20', + '[': '\ufe47', + '\\': '\uff3c', + ']': '\ufe48', + '^': '\uff3e', + _: '\ufe33', + '`': '\uff40', + '{': '\ufe37', + '|': '\u2015', + '}': '\ufe38', + '~': '\uff5e', + '\xa2': '\uffe0', + '\xa3': '\uffe1', + '\xa5': '\uffe5', + '\xa6': '\uffe4', + '\xac': '\uffe2', + '\xaf': '\uffe3', + '\u2013': '\ufe32', + '\u2014': '\ufe31', + '\u2018': '\ufe43', + '\u2019': '\ufe44', + '\u201c': '\ufe41', + '\u201d': '\ufe42', + '\u2026': '\ufe19', + '\u2027': '\u30fb', + '\u20a9': '\uffe6', + '\u3001': '\ufe11', + '\u3002': '\ufe12', + '\u3008': '\ufe3f', + '\u3009': '\ufe40', + '\u300a': '\ufe3d', + '\u300b': '\ufe3e', + '\u300c': '\ufe41', + '\u300d': '\ufe42', + '\u300e': '\ufe43', + '\u300f': '\ufe44', + '\u3010': '\ufe3b', + '\u3011': '\ufe3c', + '\u3014': '\ufe39', + '\u3015': '\ufe3a', + '\u3016': '\ufe17', + '\u3017': '\ufe18', + '\uff01': '\ufe15', + '\uff08': '\ufe35', + '\uff09': '\ufe36', + '\uff0c': '\ufe10', + '\uff0d': '\ufe32', + '\uff0e': '\u30fb', + '\uff1a': '\ufe13', + '\uff1b': '\ufe14', + '\uff1c': '\ufe3f', + '\uff1e': '\ufe40', + '\uff1f': '\ufe16', + '\uff3b': '\ufe47', + '\uff3d': '\ufe48', + '\uff3f': '\ufe33', + '\uff5b': '\ufe37', + '\uff5c': '\u2015', + '\uff5d': '\ufe38', + '\uff5f': '\ufe35', + '\uff60': '\ufe36', + '\uff61': '\ufe12', + '\uff62': '\ufe41', + '\uff63': '\ufe42', + }, + Vs = function (t, e, r, n, i) { + var a, + o, + s = 8 * i - n - 1, + l = (1 << s) - 1, + c = l >> 1, + u = -7, + f = r ? i - 1 : 0, + h = r ? -1 : 1, + p = t[e + f]; + for ( + f += h, a = p & ((1 << -u) - 1), p >>= -u, u += s; + u > 0; + a = 256 * a + t[e + f], f += h, u -= 8 + ); + for ( + o = a & ((1 << -u) - 1), a >>= -u, u += n; + u > 0; + o = 256 * o + t[e + f], f += h, u -= 8 + ); + if (0 === a) a = 1 - c; + else { + if (a === l) return o ? NaN : (1 / 0) * (p ? -1 : 1); + (o += Math.pow(2, n)), (a -= c); + } + return (p ? -1 : 1) * o * Math.pow(2, a - n); + }, + qs = function (t, e, r, n, i, a) { + var o, + s, + l, + c = 8 * a - i - 1, + u = (1 << c) - 1, + f = u >> 1, + h = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0, + p = n ? 0 : a - 1, + d = n ? 1 : -1, + g = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; + for ( + e = Math.abs(e), + isNaN(e) || e === 1 / 0 + ? ((s = isNaN(e) ? 1 : 0), (o = u)) + : ((o = Math.floor(Math.log(e) / Math.LN2)), + e * (l = Math.pow(2, -o)) < 1 && (o--, (l *= 2)), + (e += o + f >= 1 ? h / l : h * Math.pow(2, 1 - f)) * + l >= + 2 && (o++, (l /= 2)), + o + f >= u + ? ((s = 0), (o = u)) + : o + f >= 1 + ? ((s = (e * l - 1) * Math.pow(2, i)), (o += f)) + : ((s = e * Math.pow(2, f - 1) * Math.pow(2, i)), + (o = 0))); + i >= 8; + t[r + p] = 255 & s, p += d, s /= 256, i -= 8 + ); + for ( + o = (o << i) | s, c += i; + c > 0; + t[r + p] = 255 & o, p += d, o /= 256, c -= 8 + ); + t[r + p - d] |= 128 * g; + }, + Hs = Gs; + function Gs(t) { + (this.buf = + ArrayBuffer.isView && ArrayBuffer.isView(t) + ? t + : new Uint8Array(t || 0)), + (this.pos = 0), + (this.type = 0), + (this.length = this.buf.length); + } + (Gs.Varint = 0), + (Gs.Fixed64 = 1), + (Gs.Bytes = 2), + (Gs.Fixed32 = 5); + var Ys = + 'undefined' == typeof TextDecoder + ? null + : new TextDecoder('utf8'); + function Ws(t) { + return t.type === Gs.Bytes + ? t.readVarint() + t.pos + : t.pos + 1; + } + function Xs(t, e, r) { + return r + ? 4294967296 * e + (t >>> 0) + : 4294967296 * (e >>> 0) + (t >>> 0); + } + function Zs(t, e, r) { + var n = + e <= 16383 + ? 1 + : e <= 2097151 + ? 2 + : e <= 268435455 + ? 3 + : Math.floor(Math.log(e) / (7 * Math.LN2)); + r.realloc(n); + for (var i = r.pos - 1; i >= t; i--) r.buf[i + n] = r.buf[i]; + } + function Js(t, e) { + for (var r = 0; r < t.length; r++) e.writeVarint(t[r]); + } + function Ks(t, e) { + for (var r = 0; r < t.length; r++) e.writeSVarint(t[r]); + } + function Qs(t, e) { + for (var r = 0; r < t.length; r++) e.writeFloat(t[r]); + } + function $s(t, e) { + for (var r = 0; r < t.length; r++) e.writeDouble(t[r]); + } + function tl(t, e) { + for (var r = 0; r < t.length; r++) e.writeBoolean(t[r]); + } + function el(t, e) { + for (var r = 0; r < t.length; r++) e.writeFixed32(t[r]); + } + function rl(t, e) { + for (var r = 0; r < t.length; r++) e.writeSFixed32(t[r]); + } + function nl(t, e) { + for (var r = 0; r < t.length; r++) e.writeFixed64(t[r]); + } + function il(t, e) { + for (var r = 0; r < t.length; r++) e.writeSFixed64(t[r]); + } + function al(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + 16777216 * t[e + 3] + ); + } + function ol(t, e, r) { + (t[r] = e), + (t[r + 1] = e >>> 8), + (t[r + 2] = e >>> 16), + (t[r + 3] = e >>> 24); + } + function sl(t, e) { + return ( + (t[e] | (t[e + 1] << 8) | (t[e + 2] << 16)) + + (t[e + 3] << 24) + ); + } + function ll(t, e, r) { + 1 === t && r.readMessage(cl, e); + } + function cl(t, e, r) { + if (3 === t) { + var n = r.readMessage(ul, {}), + i = n.width, + a = n.height, + o = n.left, + s = n.top, + l = n.advance; + e.push({ + id: n.id, + bitmap: new ho({ width: i + 6, height: a + 6 }, n.bitmap), + metrics: { + width: i, + height: a, + left: o, + top: s, + advance: l, + }, + }); + } + } + function ul(t, e, r) { + 1 === t + ? (e.id = r.readVarint()) + : 2 === t + ? (e.bitmap = r.readBytes()) + : 3 === t + ? (e.width = r.readVarint()) + : 4 === t + ? (e.height = r.readVarint()) + : 5 === t + ? (e.left = r.readSVarint()) + : 6 === t + ? (e.top = r.readSVarint()) + : 7 === t && (e.advance = r.readVarint()); + } + function fl(t) { + for (var e = 0, r = 0, n = 0, i = t; n < i.length; n += 1) { + var a = i[n]; + (e += a.w * a.h), (r = Math.max(r, a.w)); + } + t.sort(function (t, e) { + return e.h - t.h; + }); + for ( + var o = [ + { + x: 0, + y: 0, + w: Math.max(Math.ceil(Math.sqrt(e / 0.95)), r), + h: 1 / 0, + }, + ], + s = 0, + l = 0, + c = 0, + u = t; + c < u.length; + c += 1 + ) + for (var f = u[c], h = o.length - 1; h >= 0; h--) { + var p = o[h]; + if (!(f.w > p.w || f.h > p.h)) { + if ( + ((f.x = p.x), + (f.y = p.y), + (l = Math.max(l, f.y + f.h)), + (s = Math.max(s, f.x + f.w)), + f.w === p.w && f.h === p.h) + ) { + var d = o.pop(); + h < o.length && (o[h] = d); + } else + f.h === p.h + ? ((p.x += f.w), (p.w -= f.w)) + : f.w === p.w + ? ((p.y += f.h), (p.h -= f.h)) + : (o.push({ + x: p.x + f.w, + y: p.y, + w: p.w - f.w, + h: f.h, + }), + (p.y += f.h), + (p.h -= f.h)); + break; + } + } + return { w: s, h: l, fill: e / (s * l) || 0 }; + } + Gs.prototype = { + destroy: function () { + this.buf = null; + }, + readFields: function (t, e, r) { + for (r = r || this.length; this.pos < r; ) { + var n = this.readVarint(), + i = n >> 3, + a = this.pos; + (this.type = 7 & n), + t(i, e, this), + this.pos === a && this.skip(n); + } + return e; + }, + readMessage: function (t, e) { + return this.readFields(t, e, this.readVarint() + this.pos); + }, + readFixed32: function () { + var t = al(this.buf, this.pos); + return (this.pos += 4), t; + }, + readSFixed32: function () { + var t = sl(this.buf, this.pos); + return (this.pos += 4), t; + }, + readFixed64: function () { + var t = + al(this.buf, this.pos) + + 4294967296 * al(this.buf, this.pos + 4); + return (this.pos += 8), t; + }, + readSFixed64: function () { + var t = + al(this.buf, this.pos) + + 4294967296 * sl(this.buf, this.pos + 4); + return (this.pos += 8), t; + }, + readFloat: function () { + var t = Vs(this.buf, this.pos, !0, 23, 4); + return (this.pos += 4), t; + }, + readDouble: function () { + var t = Vs(this.buf, this.pos, !0, 52, 8); + return (this.pos += 8), t; + }, + readVarint: function (t) { + var e, + r, + n = this.buf; + return ( + (e = 127 & (r = n[this.pos++])), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 7), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 14), + r < 128 + ? e + : ((e |= (127 & (r = n[this.pos++])) << 21), + r < 128 + ? e + : (function (t, e, r) { + var n, + i, + a = r.buf; + if ( + ((n = (112 & (i = a[r.pos++])) >> 4), + i < 128) + ) + return Xs(t, n, e); + if ( + ((n |= (127 & (i = a[r.pos++])) << 3), + i < 128) + ) + return Xs(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << 10), + i < 128) + ) + return Xs(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << 17), + i < 128) + ) + return Xs(t, n, e); + if ( + ((n |= + (127 & (i = a[r.pos++])) << 24), + i < 128) + ) + return Xs(t, n, e); + if ( + ((n |= (1 & (i = a[r.pos++])) << 31), + i < 128) + ) + return Xs(t, n, e); + throw new Error( + 'Expected varint not more than 10 bytes' + ); + })( + (e |= (15 & (r = n[this.pos])) << 28), + t, + this + )))) + ); + }, + readVarint64: function () { + return this.readVarint(!0); + }, + readSVarint: function () { + var t = this.readVarint(); + return t % 2 == 1 ? (t + 1) / -2 : t / 2; + }, + readBoolean: function () { + return Boolean(this.readVarint()); + }, + readString: function () { + var t = this.readVarint() + this.pos, + e = this.pos; + return ( + (this.pos = t), + t - e >= 12 && Ys + ? (function (t, e, r) { + return Ys.decode(t.subarray(e, r)); + })(this.buf, e, t) + : (function (t, e, r) { + for (var n = '', i = e; i < r; ) { + var a, + o, + s, + l = t[i], + c = null, + u = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1; + if (i + u > r) break; + 1 === u + ? l < 128 && (c = l) + : 2 === u + ? 128 == (192 & (a = t[i + 1])) && + (c = ((31 & l) << 6) | (63 & a)) <= 127 && + (c = null) + : 3 === u + ? ((o = t[i + 2]), + 128 == (192 & (a = t[i + 1])) && + 128 == (192 & o) && + ((c = + ((15 & l) << 12) | + ((63 & a) << 6) | + (63 & o)) <= 2047 || + (c >= 55296 && c <= 57343)) && + (c = null)) + : 4 === u && + ((o = t[i + 2]), + (s = t[i + 3]), + 128 == (192 & (a = t[i + 1])) && + 128 == (192 & o) && + 128 == (192 & s) && + ((c = + ((15 & l) << 18) | + ((63 & a) << 12) | + ((63 & o) << 6) | + (63 & s)) <= 65535 || + c >= 1114112) && + (c = null)), + null === c + ? ((c = 65533), (u = 1)) + : c > 65535 && + ((c -= 65536), + (n += String.fromCharCode( + ((c >>> 10) & 1023) | 55296 + )), + (c = 56320 | (1023 & c))), + (n += String.fromCharCode(c)), + (i += u); + } + return n; + })(this.buf, e, t) + ); + }, + readBytes: function () { + var t = this.readVarint() + this.pos, + e = this.buf.subarray(this.pos, t); + return (this.pos = t), e; + }, + readPackedVarint: function (t, e) { + if (this.type !== Gs.Bytes) + return t.push(this.readVarint(e)); + var r = Ws(this); + for (t = t || []; this.pos < r; ) + t.push(this.readVarint(e)); + return t; + }, + readPackedSVarint: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readSVarint()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSVarint()); + return t; + }, + readPackedBoolean: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readBoolean()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readBoolean()); + return t; + }, + readPackedFloat: function (t) { + if (this.type !== Gs.Bytes) return t.push(this.readFloat()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) t.push(this.readFloat()); + return t; + }, + readPackedDouble: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readDouble()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) t.push(this.readDouble()); + return t; + }, + readPackedFixed32: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readFixed32()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed32()); + return t; + }, + readPackedSFixed32: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readSFixed32()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed32()); + return t; + }, + readPackedFixed64: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readFixed64()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readFixed64()); + return t; + }, + readPackedSFixed64: function (t) { + if (this.type !== Gs.Bytes) + return t.push(this.readSFixed64()); + var e = Ws(this); + for (t = t || []; this.pos < e; ) + t.push(this.readSFixed64()); + return t; + }, + skip: function (t) { + var e = 7 & t; + if (e === Gs.Varint) for (; this.buf[this.pos++] > 127; ); + else if (e === Gs.Bytes) + this.pos = this.readVarint() + this.pos; + else if (e === Gs.Fixed32) this.pos += 4; + else { + if (e !== Gs.Fixed64) + throw new Error('Unimplemented type: ' + e); + this.pos += 8; + } + }, + writeTag: function (t, e) { + this.writeVarint((t << 3) | e); + }, + realloc: function (t) { + for (var e = this.length || 16; e < this.pos + t; ) e *= 2; + if (e !== this.length) { + var r = new Uint8Array(e); + r.set(this.buf), (this.buf = r), (this.length = e); + } + }, + finish: function () { + return ( + (this.length = this.pos), + (this.pos = 0), + this.buf.subarray(0, this.length) + ); + }, + writeFixed32: function (t) { + this.realloc(4), ol(this.buf, t, this.pos), (this.pos += 4); + }, + writeSFixed32: function (t) { + this.realloc(4), ol(this.buf, t, this.pos), (this.pos += 4); + }, + writeFixed64: function (t) { + this.realloc(8), + ol(this.buf, -1 & t, this.pos), + ol( + this.buf, + Math.floor(t * (1 / 4294967296)), + this.pos + 4 + ), + (this.pos += 8); + }, + writeSFixed64: function (t) { + this.realloc(8), + ol(this.buf, -1 & t, this.pos), + ol( + this.buf, + Math.floor(t * (1 / 4294967296)), + this.pos + 4 + ), + (this.pos += 8); + }, + writeVarint: function (t) { + (t = +t || 0) > 268435455 || t < 0 + ? (function (t, e) { + var r, n; + if ( + (t >= 0 + ? ((r = t % 4294967296 | 0), + (n = (t / 4294967296) | 0)) + : ((n = ~(-t / 4294967296)), + 4294967295 ^ (r = ~(-t % 4294967296)) + ? (r = (r + 1) | 0) + : ((r = 0), (n = (n + 1) | 0))), + t >= 0x10000000000000000 || + t < -0x10000000000000000) + ) + throw new Error( + "Given varint doesn't fit into 10 bytes" + ); + e.realloc(10), + (function (t, e, r) { + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (t >>>= 7), + (r.buf[r.pos++] = (127 & t) | 128), + (r.buf[r.pos] = 127 & (t >>>= 7)); + })(r, 0, e), + (function (t, e) { + var r = (7 & t) << 4; + (e.buf[e.pos++] |= r | ((t >>>= 3) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && + ((e.buf[e.pos++] = + (127 & t) | ((t >>>= 7) ? 128 : 0)), + t && (e.buf[e.pos++] = 127 & t))))); + })(n, e); + })(t, this) + : (this.realloc(4), + (this.buf[this.pos++] = + (127 & t) | (t > 127 ? 128 : 0)), + t <= 127 || + ((this.buf[this.pos++] = + (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), + t <= 127 || + ((this.buf[this.pos++] = + (127 & (t >>>= 7)) | (t > 127 ? 128 : 0)), + t <= 127 || + (this.buf[this.pos++] = (t >>> 7) & 127)))); + }, + writeSVarint: function (t) { + this.writeVarint(t < 0 ? 2 * -t - 1 : 2 * t); + }, + writeBoolean: function (t) { + this.writeVarint(Boolean(t)); + }, + writeString: function (t) { + (t = String(t)), this.realloc(4 * t.length), this.pos++; + var e = this.pos; + this.pos = (function (t, e, r) { + for (var n, i, a = 0; a < e.length; a++) { + if ((n = e.charCodeAt(a)) > 55295 && n < 57344) { + if (!i) { + n > 56319 || a + 1 === e.length + ? ((t[r++] = 239), (t[r++] = 191), (t[r++] = 189)) + : (i = n); + continue; + } + if (n < 56320) { + (t[r++] = 239), + (t[r++] = 191), + (t[r++] = 189), + (i = n); + continue; + } + (n = ((i - 55296) << 10) | (n - 56320) | 65536), + (i = null); + } else + i && + ((t[r++] = 239), + (t[r++] = 191), + (t[r++] = 189), + (i = null)); + n < 128 + ? (t[r++] = n) + : (n < 2048 + ? (t[r++] = (n >> 6) | 192) + : (n < 65536 + ? (t[r++] = (n >> 12) | 224) + : ((t[r++] = (n >> 18) | 240), + (t[r++] = ((n >> 12) & 63) | 128)), + (t[r++] = ((n >> 6) & 63) | 128)), + (t[r++] = (63 & n) | 128)); + } + return r; + })(this.buf, t, this.pos); + var r = this.pos - e; + r >= 128 && Zs(e, r, this), + (this.pos = e - 1), + this.writeVarint(r), + (this.pos += r); + }, + writeFloat: function (t) { + this.realloc(4), + qs(this.buf, t, this.pos, !0, 23, 4), + (this.pos += 4); + }, + writeDouble: function (t) { + this.realloc(8), + qs(this.buf, t, this.pos, !0, 52, 8), + (this.pos += 8); + }, + writeBytes: function (t) { + var e = t.length; + this.writeVarint(e), this.realloc(e); + for (var r = 0; r < e; r++) this.buf[this.pos++] = t[r]; + }, + writeRawMessage: function (t, e) { + this.pos++; + var r = this.pos; + t(e, this); + var n = this.pos - r; + n >= 128 && Zs(r, n, this), + (this.pos = r - 1), + this.writeVarint(n), + (this.pos += n); + }, + writeMessage: function (t, e, r) { + this.writeTag(t, Gs.Bytes), this.writeRawMessage(e, r); + }, + writePackedVarint: function (t, e) { + e.length && this.writeMessage(t, Js, e); + }, + writePackedSVarint: function (t, e) { + e.length && this.writeMessage(t, Ks, e); + }, + writePackedBoolean: function (t, e) { + e.length && this.writeMessage(t, tl, e); + }, + writePackedFloat: function (t, e) { + e.length && this.writeMessage(t, Qs, e); + }, + writePackedDouble: function (t, e) { + e.length && this.writeMessage(t, $s, e); + }, + writePackedFixed32: function (t, e) { + e.length && this.writeMessage(t, el, e); + }, + writePackedSFixed32: function (t, e) { + e.length && this.writeMessage(t, rl, e); + }, + writePackedFixed64: function (t, e) { + e.length && this.writeMessage(t, nl, e); + }, + writePackedSFixed64: function (t, e) { + e.length && this.writeMessage(t, il, e); + }, + writeBytesField: function (t, e) { + this.writeTag(t, Gs.Bytes), this.writeBytes(e); + }, + writeFixed32Field: function (t, e) { + this.writeTag(t, Gs.Fixed32), this.writeFixed32(e); + }, + writeSFixed32Field: function (t, e) { + this.writeTag(t, Gs.Fixed32), this.writeSFixed32(e); + }, + writeFixed64Field: function (t, e) { + this.writeTag(t, Gs.Fixed64), this.writeFixed64(e); + }, + writeSFixed64Field: function (t, e) { + this.writeTag(t, Gs.Fixed64), this.writeSFixed64(e); + }, + writeVarintField: function (t, e) { + this.writeTag(t, Gs.Varint), this.writeVarint(e); + }, + writeSVarintField: function (t, e) { + this.writeTag(t, Gs.Varint), this.writeSVarint(e); + }, + writeStringField: function (t, e) { + this.writeTag(t, Gs.Bytes), this.writeString(e); + }, + writeFloatField: function (t, e) { + this.writeTag(t, Gs.Fixed32), this.writeFloat(e); + }, + writeDoubleField: function (t, e) { + this.writeTag(t, Gs.Fixed64), this.writeDouble(e); + }, + writeBooleanField: function (t, e) { + this.writeVarintField(t, Boolean(e)); + }, + }; + var hl = function (t, e) { + var r = e.pixelRatio, + n = e.version, + i = e.stretchX, + a = e.stretchY, + o = e.content; + (this.paddedRect = t), + (this.pixelRatio = r), + (this.stretchX = i), + (this.stretchY = a), + (this.content = o), + (this.version = n); + }, + pl = { + tl: { configurable: !0 }, + br: { configurable: !0 }, + tlbr: { configurable: !0 }, + displaySize: { configurable: !0 }, + }; + (pl.tl.get = function () { + return [this.paddedRect.x + 1, this.paddedRect.y + 1]; + }), + (pl.br.get = function () { + return [ + this.paddedRect.x + this.paddedRect.w - 1, + this.paddedRect.y + this.paddedRect.h - 1, + ]; + }), + (pl.tlbr.get = function () { + return this.tl.concat(this.br); + }), + (pl.displaySize.get = function () { + return [ + (this.paddedRect.w - 2) / this.pixelRatio, + (this.paddedRect.h - 2) / this.pixelRatio, + ]; + }), + Object.defineProperties(hl.prototype, pl); + var dl = function (t, e) { + var r = {}, + n = {}; + this.haveRenderCallbacks = []; + var i = []; + this.addImages(t, r, i), this.addImages(e, n, i); + var a = fl(i), + o = new po({ width: a.w || 1, height: a.h || 1 }); + for (var s in t) { + var l = t[s], + c = r[s].paddedRect; + po.copy( + l.data, + o, + { x: 0, y: 0 }, + { x: c.x + 1, y: c.y + 1 }, + l.data + ); + } + for (var u in e) { + var f = e[u], + h = n[u].paddedRect, + p = h.x + 1, + d = h.y + 1, + g = f.data.width, + m = f.data.height; + po.copy(f.data, o, { x: 0, y: 0 }, { x: p, y: d }, f.data), + po.copy( + f.data, + o, + { x: 0, y: m - 1 }, + { x: p, y: d - 1 }, + { width: g, height: 1 } + ), + po.copy( + f.data, + o, + { x: 0, y: 0 }, + { x: p, y: d + m }, + { width: g, height: 1 } + ), + po.copy( + f.data, + o, + { x: g - 1, y: 0 }, + { x: p - 1, y: d }, + { width: 1, height: m } + ), + po.copy( + f.data, + o, + { x: 0, y: 0 }, + { x: p + g, y: d }, + { width: 1, height: m } + ); + } + (this.image = o), + (this.iconPositions = r), + (this.patternPositions = n); + }; + (dl.prototype.addImages = function (t, e, r) { + for (var n in t) { + var i = t[n], + a = { + x: 0, + y: 0, + w: i.data.width + 2, + h: i.data.height + 2, + }; + r.push(a), + (e[n] = new hl(a, i)), + i.hasRenderCallback && this.haveRenderCallbacks.push(n); + } + }), + (dl.prototype.patchUpdatedImages = function (t, e) { + for (var r in (t.dispatchRenderCallbacks( + this.haveRenderCallbacks + ), + t.updatedImages)) + this.patchUpdatedImage( + this.iconPositions[r], + t.getImage(r), + e + ), + this.patchUpdatedImage( + this.patternPositions[r], + t.getImage(r), + e + ); + }), + (dl.prototype.patchUpdatedImage = function (t, e, r) { + if (t && e && t.version !== e.version) { + t.version = e.version; + var n = t.tl; + r.update(e.data, void 0, { x: n[0], y: n[1] }); + } + }), + Dn('ImagePosition', hl), + Dn('ImageAtlas', dl); + var gl = { horizontal: 1, vertical: 2, horizontalOnly: 3 }, + ml = function () { + (this.scale = 1), + (this.fontStack = ''), + (this.imageName = null); + }; + (ml.forText = function (t, e) { + var r = new ml(); + return (r.scale = t || 1), (r.fontStack = e), r; + }), + (ml.forImage = function (t) { + var e = new ml(); + return (e.imageName = t), e; + }); + var vl = function () { + (this.text = ''), + (this.sectionIndex = []), + (this.sections = []), + (this.imageSectionID = null); + }; + function yl(t, e, r, n, i, a, o, s, l, c, u, f, h, p, d, g) { + var m, + v = vl.fromFeature(t, i); + f === gl.vertical && v.verticalizePunctuation(); + var y = ni.processBidirectionalText, + x = ni.processStyledBidirectionalText; + if (y && 1 === v.sections.length) { + m = []; + for ( + var b = 0, _ = y(v.toString(), Ml(v, c, a, e, n, p, d)); + b < _.length; + b += 1 + ) { + var w = _[b], + T = new vl(); + (T.text = w), (T.sections = v.sections); + for (var k = 0; k < w.length; k++) T.sectionIndex.push(0); + m.push(T); + } + } else if (x) { + m = []; + for ( + var M = 0, + A = x(v.text, v.sectionIndex, Ml(v, c, a, e, n, p, d)); + M < A.length; + M += 1 + ) { + var S = A[M], + E = new vl(); + (E.text = S[0]), + (E.sectionIndex = S[1]), + (E.sections = v.sections), + m.push(E); + } + } else + m = (function (t, e) { + for ( + var r = [], n = t.text, i = 0, a = 0, o = e; + a < o.length; + a += 1 + ) { + var s = o[a]; + r.push(t.substring(i, s)), (i = s); + } + return ( + i < n.length && r.push(t.substring(i, n.length)), r + ); + })(v, Ml(v, c, a, e, n, p, d)); + var C = [], + L = { + positionedLines: C, + text: v.toString(), + top: u[1], + bottom: u[1], + left: u[0], + right: u[0], + writingMode: f, + iconsInText: !1, + verticalizable: !1, + }; + return ( + (function (t, e, r, n, i, a, o, s, l, c, u, f) { + for ( + var h = 0, + p = -17, + d = 0, + g = 0, + m = 'right' === s ? 1 : 'left' === s ? 0 : 0.5, + v = 0, + y = 0, + x = i; + y < x.length; + y += 1 + ) { + var b = x[y]; + b.trim(); + var _ = b.getMaxScale(), + w = 24 * (_ - 1), + T = { positionedGlyphs: [], lineOffset: 0 }; + t.positionedLines[v] = T; + var k = T.positionedGlyphs, + M = 0; + if (b.length()) { + for (var A = 0; A < b.length(); A++) { + var S = b.getSection(A), + E = b.getSectionIndex(A), + C = b.getCharCode(A), + L = 0, + I = null, + P = null, + z = null, + O = 24, + D = !( + l === gl.horizontal || + (!u && !Hn(C)) || + (u && + (xl[C] || + ((H = C), + Vn.Arabic(H) || + Vn['Arabic Supplement'](H) || + Vn['Arabic Extended-A'](H) || + Vn['Arabic Presentation Forms-A'](H) || + Vn['Arabic Presentation Forms-B'](H)))) + ); + if (S.imageName) { + var R = n[S.imageName]; + if (!R) continue; + (z = S.imageName), + (t.iconsInText = t.iconsInText || !0), + (P = R.paddedRect); + var F = R.displaySize; + (S.scale = (24 * S.scale) / f), + (L = w + (24 - F[1] * S.scale)), + (O = (I = { + width: F[0], + height: F[1], + left: 1, + top: -3, + advance: D ? F[1] : F[0], + }).advance); + var B = D + ? F[0] * S.scale - 24 * _ + : F[1] * S.scale - 24 * _; + B > 0 && B > M && (M = B); + } else { + var N = r[S.fontStack], + j = N && N[C]; + if (j && j.rect) (P = j.rect), (I = j.metrics); + else { + var U = e[S.fontStack], + V = U && U[C]; + if (!V) continue; + I = V.metrics; + } + L = 24 * (_ - S.scale); + } + D + ? ((t.verticalizable = !0), + k.push({ + glyph: C, + imageName: z, + x: h, + y: p + L, + vertical: D, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: I, + rect: P, + }), + (h += O * S.scale + c)) + : (k.push({ + glyph: C, + imageName: z, + x: h, + y: p + L, + vertical: D, + scale: S.scale, + fontStack: S.fontStack, + sectionIndex: E, + metrics: I, + rect: P, + }), + (h += I.advance * S.scale + c)); + } + 0 !== k.length && + ((d = Math.max(h - c, d)), + Sl(k, 0, k.length - 1, m, M)), + (h = 0); + var q = a * _ + M; + (T.lineOffset = Math.max(M, w)), + (p += q), + (g = Math.max(q, g)), + ++v; + } else (p += a), ++v; + } + var H, + G = p - -17, + Y = Al(o), + W = Y.horizontalAlign, + X = Y.verticalAlign; + (function (t, e, r, n, i, a, o, s, l) { + var c, + u = (e - r) * i; + c = a !== o ? -s * n - -17 : (-n * l + 0.5) * o; + for (var f = 0, h = t; f < h.length; f += 1) + for ( + var p = 0, d = h[f].positionedGlyphs; + p < d.length; + p += 1 + ) { + var g = d[p]; + (g.x += u), (g.y += c); + } + })(t.positionedLines, m, W, X, d, g, a, G, i.length), + (t.top += -X * G), + (t.bottom = t.top + G), + (t.left += -W * d), + (t.right = t.left + d); + })(L, e, r, n, m, o, s, l, f, c, h, g), + !(function (t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (0 !== r[e].positionedGlyphs.length) return !1; + return !0; + })(C) && L + ); + } + (vl.fromFeature = function (t, e) { + for (var r = new vl(), n = 0; n < t.sections.length; n++) { + var i = t.sections[n]; + i.image ? r.addImageSection(i) : r.addTextSection(i, e); + } + return r; + }), + (vl.prototype.length = function () { + return this.text.length; + }), + (vl.prototype.getSection = function (t) { + return this.sections[this.sectionIndex[t]]; + }), + (vl.prototype.getSectionIndex = function (t) { + return this.sectionIndex[t]; + }), + (vl.prototype.getCharCode = function (t) { + return this.text.charCodeAt(t); + }), + (vl.prototype.verticalizePunctuation = function () { + this.text = (function (t) { + for (var e = '', r = 0; r < t.length; r++) { + var n = t.charCodeAt(r + 1) || null, + i = t.charCodeAt(r - 1) || null; + e += + (n && Gn(n) && !Us[t[r + 1]]) || + (i && Gn(i) && !Us[t[r - 1]]) || + !Us[t[r]] + ? t[r] + : Us[t[r]]; + } + return e; + })(this.text); + }), + (vl.prototype.trim = function () { + for ( + var t = 0, e = 0; + e < this.text.length && xl[this.text.charCodeAt(e)]; + e++ + ) + t++; + for ( + var r = this.text.length, n = this.text.length - 1; + n >= 0 && n >= t && xl[this.text.charCodeAt(n)]; + n-- + ) + r--; + (this.text = this.text.substring(t, r)), + (this.sectionIndex = this.sectionIndex.slice(t, r)); + }), + (vl.prototype.substring = function (t, e) { + var r = new vl(); + return ( + (r.text = this.text.substring(t, e)), + (r.sectionIndex = this.sectionIndex.slice(t, e)), + (r.sections = this.sections), + r + ); + }), + (vl.prototype.toString = function () { + return this.text; + }), + (vl.prototype.getMaxScale = function () { + var t = this; + return this.sectionIndex.reduce(function (e, r) { + return Math.max(e, t.sections[r].scale); + }, 0); + }), + (vl.prototype.addTextSection = function (t, e) { + (this.text += t.text), + this.sections.push(ml.forText(t.scale, t.fontStack || e)); + for ( + var r = this.sections.length - 1, n = 0; + n < t.text.length; + ++n + ) + this.sectionIndex.push(r); + }), + (vl.prototype.addImageSection = function (t) { + var e = t.image ? t.image.name : ''; + if (0 !== e.length) { + var r = this.getNextImageSectionCharCode(); + r + ? ((this.text += String.fromCharCode(r)), + this.sections.push(ml.forImage(e)), + this.sectionIndex.push(this.sections.length - 1)) + : _('Reached maximum number of images 6401'); + } else _("Can't add FormattedSection with an empty image."); + }), + (vl.prototype.getNextImageSectionCharCode = function () { + return this.imageSectionID + ? this.imageSectionID >= 63743 + ? null + : ++this.imageSectionID + : ((this.imageSectionID = 57344), this.imageSectionID); + }); + var xl = { 9: !0, 10: !0, 11: !0, 12: !0, 13: !0, 32: !0 }, + bl = {}; + function _l(t, e, r, n, i, a) { + if (e.imageName) { + var o = n[e.imageName]; + return o ? (o.displaySize[0] * e.scale * 24) / a + i : 0; + } + var s = r[e.fontStack], + l = s && s[t]; + return l ? l.metrics.advance * e.scale + i : 0; + } + function wl(t, e, r, n) { + var i = Math.pow(t - e, 2); + return n ? (t < e ? i / 2 : 2 * i) : i + Math.abs(r) * r; + } + function Tl(t, e, r) { + var n = 0; + return ( + 10 === t && (n -= 1e4), + r && (n += 150), + (40 !== t && 65288 !== t) || (n += 50), + (41 !== e && 65289 !== e) || (n += 50), + n + ); + } + function kl(t, e, r, n, i, a) { + for ( + var o = null, s = wl(e, r, i, a), l = 0, c = n; + l < c.length; + l += 1 + ) { + var u = c[l], + f = wl(e - u.x, r, i, a) + u.badness; + f <= s && ((o = u), (s = f)); + } + return { index: t, x: e, priorBreak: o, badness: s }; + } + function Ml(t, e, r, n, i, a, o) { + if ('point' !== a) return []; + if (!t) return []; + for ( + var s, + l = [], + c = (function (t, e, r, n, i, a) { + for (var o = 0, s = 0; s < t.length(); s++) { + var l = t.getSection(s); + o += _l(t.getCharCode(s), l, n, i, e, a); + } + return o / Math.max(1, Math.ceil(o / r)); + })(t, e, r, n, i, o), + u = t.text.indexOf('\u200b') >= 0, + f = 0, + h = 0; + h < t.length(); + h++ + ) { + var p = t.getSection(h), + d = t.getCharCode(h); + if ( + (xl[d] || (f += _l(d, p, n, i, e, o)), h < t.length() - 1) + ) { + var g = !( + (s = d) < 11904 || + !( + Vn['Bopomofo Extended'](s) || + Vn.Bopomofo(s) || + Vn['CJK Compatibility Forms'](s) || + Vn['CJK Compatibility Ideographs'](s) || + Vn['CJK Compatibility'](s) || + Vn['CJK Radicals Supplement'](s) || + Vn['CJK Strokes'](s) || + Vn['CJK Symbols and Punctuation'](s) || + Vn['CJK Unified Ideographs Extension A'](s) || + Vn['CJK Unified Ideographs'](s) || + Vn['Enclosed CJK Letters and Months'](s) || + Vn['Halfwidth and Fullwidth Forms'](s) || + Vn.Hiragana(s) || + Vn['Ideographic Description Characters'](s) || + Vn['Kangxi Radicals'](s) || + Vn['Katakana Phonetic Extensions'](s) || + Vn.Katakana(s) || + Vn['Vertical Forms'](s) || + Vn['Yi Radicals'](s) || + Vn['Yi Syllables'](s) + ) + ); + (bl[d] || g || p.imageName) && + l.push( + kl( + h + 1, + f, + c, + l, + Tl(d, t.getCharCode(h + 1), g && u), + !1 + ) + ); + } + } + return (function t(e) { + return e ? t(e.priorBreak).concat(e.index) : []; + })(kl(t.length(), f, c, l, 0, !0)); + } + function Al(t) { + var e = 0.5, + r = 0.5; + switch (t) { + case 'right': + case 'top-right': + case 'bottom-right': + e = 1; + break; + case 'left': + case 'top-left': + case 'bottom-left': + e = 0; + } + switch (t) { + case 'bottom': + case 'bottom-right': + case 'bottom-left': + r = 1; + break; + case 'top': + case 'top-right': + case 'top-left': + r = 0; + } + return { horizontalAlign: e, verticalAlign: r }; + } + function Sl(t, e, r, n, i) { + if (n || i) + for ( + var a = t[r], + o = (t[r].x + a.metrics.advance * a.scale) * n, + s = e; + s <= r; + s++ + ) + (t[s].x -= o), (t[s].y += i); + } + function El(t, e, r, n, i, a) { + var o, + s = t.image; + if (s.content) { + var l = s.content, + c = s.pixelRatio || 1; + o = [ + l[0] / c, + l[1] / c, + s.displaySize[0] - l[2] / c, + s.displaySize[1] - l[3] / c, + ]; + } + var u, + f, + h, + p, + d = e.left * a, + g = e.right * a; + 'width' === r || 'both' === r + ? ((p = i[0] + d - n[3]), (f = i[0] + g + n[1])) + : (f = + (p = i[0] + (d + g - s.displaySize[0]) / 2) + + s.displaySize[0]); + var m = e.top * a, + v = e.bottom * a; + return ( + 'height' === r || 'both' === r + ? ((u = i[1] + m - n[0]), (h = i[1] + v + n[2])) + : (h = + (u = i[1] + (m + v - s.displaySize[1]) / 2) + + s.displaySize[1]), + { + image: s, + top: u, + right: f, + bottom: h, + left: p, + collisionPadding: o, + } + ); + } + (bl[10] = !0), + (bl[32] = !0), + (bl[38] = !0), + (bl[40] = !0), + (bl[41] = !0), + (bl[43] = !0), + (bl[45] = !0), + (bl[47] = !0), + (bl[173] = !0), + (bl[183] = !0), + (bl[8203] = !0), + (bl[8208] = !0), + (bl[8211] = !0), + (bl[8231] = !0); + var Cl = (function (t) { + function e(e, r, n, i) { + t.call(this, e, r), + (this.angle = n), + void 0 !== i && (this.segment = i); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.clone = function () { + return new e(this.x, this.y, this.angle, this.segment); + }), + e + ); + })(i); + function Ll(t, e) { + var r = e.expression; + if ('constant' === r.kind) + return { + kind: 'constant', + layoutSize: r.evaluate(new ii(t + 1)), + }; + if ('source' === r.kind) return { kind: 'source' }; + for ( + var n = r.zoomStops, i = r.interpolationType, a = 0; + a < n.length && n[a] <= t; + + ) + a++; + for ( + var o = (a = Math.max(0, a - 1)); + o < n.length && n[o] < t + 1; + + ) + o++; + o = Math.min(n.length - 1, o); + var s = n[a], + l = n[o]; + return 'composite' === r.kind + ? { + kind: 'composite', + minZoom: s, + maxZoom: l, + interpolationType: i, + } + : { + kind: 'camera', + minZoom: s, + maxZoom: l, + minSize: r.evaluate(new ii(s)), + maxSize: r.evaluate(new ii(l)), + interpolationType: i, + }; + } + function Il(t, e, r) { + var n = e.uSize, + i = r.lowerSize; + return 'source' === t.kind + ? i / 128 + : 'composite' === t.kind + ? Ue(i / 128, r.upperSize / 128, e.uSizeT) + : n; + } + function Pl(t, e) { + var r = 0, + n = 0; + if ('constant' === t.kind) n = t.layoutSize; + else if ('source' !== t.kind) { + var i = t.interpolationType, + a = i + ? l( + rr.interpolationFactor(i, e, t.minZoom, t.maxZoom), + 0, + 1 + ) + : 0; + 'camera' === t.kind + ? (n = Ue(t.minSize, t.maxSize, a)) + : (r = a); + } + return { uSizeT: r, uSize: n }; + } + Dn('Anchor', Cl); + var zl = Object.freeze({ + __proto__: null, + getSizeData: Ll, + evaluateSizeForFeature: Il, + evaluateSizeForZoom: Pl, + SIZE_PACK_FACTOR: 128, + }); + function Ol(t, e, r, n, i) { + if (void 0 === e.segment) return !0; + for (var a = e, o = e.segment + 1, s = 0; s > -r / 2; ) { + if (--o < 0) return !1; + (s -= t[o].dist(a)), (a = t[o]); + } + (s += t[o].dist(t[o + 1])), o++; + for (var l = [], c = 0; s < r / 2; ) { + var u = t[o], + f = t[o + 1]; + if (!f) return !1; + var h = t[o - 1].angleTo(u) - u.angleTo(f); + for ( + h = Math.abs( + ((h + 3 * Math.PI) % (2 * Math.PI)) - Math.PI + ), + l.push({ distance: s, angleDelta: h }), + c += h; + s - l[0].distance > n; + + ) + c -= l.shift().angleDelta; + if (c > i) return !1; + o++, (s += u.dist(f)); + } + return !0; + } + function Dl(t) { + for (var e = 0, r = 0; r < t.length - 1; r++) + e += t[r].dist(t[r + 1]); + return e; + } + function Rl(t, e, r) { + return t ? 0.6 * e * r : 0; + } + function Fl(t, e) { + return Math.max( + t ? t.right - t.left : 0, + e ? e.right - e.left : 0 + ); + } + function Bl(t, e, r, n, i, a) { + for ( + var o = Rl(r, i, a), + s = Fl(r, n) * a, + l = 0, + c = Dl(t) / 2, + u = 0; + u < t.length - 1; + u++ + ) { + var f = t[u], + h = t[u + 1], + p = f.dist(h); + if (l + p > c) { + var d = (c - l) / p, + g = Ue(f.x, h.x, d), + m = Ue(f.y, h.y, d), + v = new Cl(g, m, h.angleTo(f), u); + return v._round(), !o || Ol(t, v, s, o, e) ? v : void 0; + } + l += p; + } + } + function Nl(t, e, r, n, i, a, o, s, l) { + var c = Rl(n, a, o), + u = Fl(n, i), + f = u * o, + h = + 0 === t[0].x || + t[0].x === l || + 0 === t[0].y || + t[0].y === l; + return ( + e - f < e / 4 && (e = f + e / 4), + (function t(e, r, n, i, a, o, s, l, c) { + for ( + var u = o / 2, + f = Dl(e), + h = 0, + p = r - n, + d = [], + g = 0; + g < e.length - 1; + g++ + ) { + for ( + var m = e[g], + v = e[g + 1], + y = m.dist(v), + x = v.angleTo(m); + p + n < h + y; + + ) { + var b = ((p += n) - h) / y, + _ = Ue(m.x, v.x, b), + w = Ue(m.y, v.y, b); + if ( + _ >= 0 && + _ < c && + w >= 0 && + w < c && + p - u >= 0 && + p + u <= f + ) { + var T = new Cl(_, w, x, g); + T._round(), (i && !Ol(e, T, o, i, a)) || d.push(T); + } + } + h += y; + } + return ( + l || + d.length || + s || + (d = t(e, h / 2, n, i, a, o, s, !0, c)), + d + ); + })( + t, + h ? ((e / 2) * s) % e : ((u / 2 + 2 * a) * o * s) % e, + e, + c, + r, + f, + h, + !1, + l + ) + ); + } + function jl(t, e, r, n, a) { + for (var o = [], s = 0; s < t.length; s++) + for ( + var l = t[s], c = void 0, u = 0; + u < l.length - 1; + u++ + ) { + var f = l[u], + h = l[u + 1]; + (f.x < e && h.x < e) || + (f.x < e + ? (f = new i( + e, + f.y + ((e - f.x) / (h.x - f.x)) * (h.y - f.y) + )._round()) + : h.x < e && + (h = new i( + e, + f.y + ((e - f.x) / (h.x - f.x)) * (h.y - f.y) + )._round()), + (f.y < r && h.y < r) || + (f.y < r + ? (f = new i( + f.x + ((r - f.y) / (h.y - f.y)) * (h.x - f.x), + r + )._round()) + : h.y < r && + (h = new i( + f.x + ((r - f.y) / (h.y - f.y)) * (h.x - f.x), + r + )._round()), + (f.x >= n && h.x >= n) || + (f.x >= n + ? (f = new i( + n, + f.y + ((n - f.x) / (h.x - f.x)) * (h.y - f.y) + )._round()) + : h.x >= n && + (h = new i( + n, + f.y + ((n - f.x) / (h.x - f.x)) * (h.y - f.y) + )._round()), + (f.y >= a && h.y >= a) || + (f.y >= a + ? (f = new i( + f.x + + ((a - f.y) / (h.y - f.y)) * (h.x - f.x), + a + )._round()) + : h.y >= a && + (h = new i( + f.x + + ((a - f.y) / (h.y - f.y)) * (h.x - f.x), + a + )._round()), + (c && f.equals(c[c.length - 1])) || + o.push((c = [f])), + c.push(h))))); + } + return o; + } + function Ul(t, e, r, n) { + var a = [], + o = t.image, + s = o.pixelRatio, + l = o.paddedRect.w - 2, + c = o.paddedRect.h - 2, + u = t.right - t.left, + f = t.bottom - t.top, + h = o.stretchX || [[0, l]], + p = o.stretchY || [[0, c]], + d = function (t, e) { + return t + e[1] - e[0]; + }, + g = h.reduce(d, 0), + m = p.reduce(d, 0), + v = l - g, + y = c - m, + x = 0, + b = g, + _ = 0, + w = m, + T = 0, + k = v, + M = 0, + A = y; + if (o.content && n) { + var S = o.content; + (x = Vl(h, 0, S[0])), + (_ = Vl(p, 0, S[1])), + (b = Vl(h, S[0], S[2])), + (w = Vl(p, S[1], S[3])), + (T = S[0] - x), + (M = S[1] - _), + (k = S[2] - S[0] - b), + (A = S[3] - S[1] - w); + } + var E = function (n, a, l, c) { + var h = Hl(n.stretch - x, b, u, t.left), + p = Gl(n.fixed - T, k, n.stretch, g), + d = Hl(a.stretch - _, w, f, t.top), + v = Gl(a.fixed - M, A, a.stretch, m), + y = Hl(l.stretch - x, b, u, t.left), + S = Gl(l.fixed - T, k, l.stretch, g), + E = Hl(c.stretch - _, w, f, t.top), + C = Gl(c.fixed - M, A, c.stretch, m), + L = new i(h, d), + I = new i(y, d), + P = new i(y, E), + z = new i(h, E), + O = new i(p / s, v / s), + D = new i(S / s, C / s), + R = (e * Math.PI) / 180; + if (R) { + var F = Math.sin(R), + B = Math.cos(R), + N = [B, -F, F, B]; + L._matMult(N), + I._matMult(N), + z._matMult(N), + P._matMult(N); + } + var j = n.stretch + n.fixed, + U = a.stretch + a.fixed; + return { + tl: L, + tr: I, + bl: z, + br: P, + tex: { + x: o.paddedRect.x + 1 + j, + y: o.paddedRect.y + 1 + U, + w: l.stretch + l.fixed - j, + h: c.stretch + c.fixed - U, + }, + writingMode: void 0, + glyphOffset: [0, 0], + sectionIndex: 0, + pixelOffsetTL: O, + pixelOffsetBR: D, + minFontScaleX: k / s / u, + minFontScaleY: A / s / f, + isSDF: r, + }; + }; + if (n && (o.stretchX || o.stretchY)) + for ( + var C = ql(h, v, g), L = ql(p, y, m), I = 0; + I < C.length - 1; + I++ + ) + for ( + var P = C[I], z = C[I + 1], O = 0; + O < L.length - 1; + O++ + ) + a.push(E(P, L[O], z, L[O + 1])); + else + a.push( + E( + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: -1 }, + { fixed: 0, stretch: l + 1 }, + { fixed: 0, stretch: c + 1 } + ) + ); + return a; + } + function Vl(t, e, r) { + for (var n = 0, i = 0, a = t; i < a.length; i += 1) { + var o = a[i]; + n += + Math.max(e, Math.min(r, o[1])) - + Math.max(e, Math.min(r, o[0])); + } + return n; + } + function ql(t, e, r) { + for ( + var n = [{ fixed: -1, stretch: 0 }], i = 0, a = t; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + c = n[n.length - 1]; + n.push({ fixed: s - c.stretch, stretch: c.stretch }), + n.push({ + fixed: s - c.stretch, + stretch: c.stretch + (l - s), + }); + } + return n.push({ fixed: e + 1, stretch: r }), n; + } + function Hl(t, e, r, n) { + return (t / e) * r + n; + } + function Gl(t, e, r, n) { + return t - (e * r) / n; + } + var Yl = function (t, e, r, n, a, o, s, l, c, u) { + if (((this.boxStartIndex = t.length), c)) { + var f = o.top, + h = o.bottom, + p = o.collisionPadding; + p && ((f -= p[1]), (h += p[3])); + var d = h - f; + d > 0 && + ((d = Math.max(10, d)), (this.circleDiameter = d)); + } else { + var g = o.top * s - l, + m = o.bottom * s + l, + v = o.left * s - l, + y = o.right * s + l, + x = o.collisionPadding; + if ( + (x && + ((v -= x[0] * s), + (g -= x[1] * s), + (y += x[2] * s), + (m += x[3] * s)), + u) + ) { + var b = new i(v, g), + _ = new i(y, g), + w = new i(v, m), + T = new i(y, m), + k = (u * Math.PI) / 180; + b._rotate(k), + _._rotate(k), + w._rotate(k), + T._rotate(k), + (v = Math.min(b.x, _.x, w.x, T.x)), + (y = Math.max(b.x, _.x, w.x, T.x)), + (g = Math.min(b.y, _.y, w.y, T.y)), + (m = Math.max(b.y, _.y, w.y, T.y)); + } + t.emplaceBack(e.x, e.y, v, g, y, m, r, n, a); + } + this.boxEndIndex = t.length; + }, + Wl = function (t, e) { + if ( + (void 0 === t && (t = []), + void 0 === e && (e = Xl), + (this.data = t), + (this.length = this.data.length), + (this.compare = e), + this.length > 0) + ) + for (var r = (this.length >> 1) - 1; r >= 0; r--) + this._down(r); + }; + function Xl(t, e) { + return t < e ? -1 : t > e ? 1 : 0; + } + function Zl(t, e, r) { + void 0 === e && (e = 1), void 0 === r && (r = !1); + for ( + var n = 1 / 0, + a = 1 / 0, + o = -1 / 0, + s = -1 / 0, + l = t[0], + c = 0; + c < l.length; + c++ + ) { + var u = l[c]; + (!c || u.x < n) && (n = u.x), + (!c || u.y < a) && (a = u.y), + (!c || u.x > o) && (o = u.x), + (!c || u.y > s) && (s = u.y); + } + var f = Math.min(o - n, s - a), + h = f / 2, + p = new Wl([], Jl); + if (0 === f) return new i(n, a); + for (var d = n; d < o; d += f) + for (var g = a; g < s; g += f) + p.push(new Kl(d + h, g + h, h, t)); + for ( + var m = (function (t) { + for ( + var e = 0, + r = 0, + n = 0, + i = t[0], + a = 0, + o = i.length, + s = o - 1; + a < o; + s = a++ + ) { + var l = i[a], + c = i[s], + u = l.x * c.y - c.x * l.y; + (r += (l.x + c.x) * u), + (n += (l.y + c.y) * u), + (e += 3 * u); + } + return new Kl(r / e, n / e, 0, t); + })(t), + v = p.length; + p.length; + + ) { + var y = p.pop(); + (y.d > m.d || !m.d) && + ((m = y), + r && + console.log( + 'found best %d after %d probes', + Math.round(1e4 * y.d) / 1e4, + v + )), + y.max - m.d <= e || + (p.push(new Kl(y.p.x - (h = y.h / 2), y.p.y - h, h, t)), + p.push(new Kl(y.p.x + h, y.p.y - h, h, t)), + p.push(new Kl(y.p.x - h, y.p.y + h, h, t)), + p.push(new Kl(y.p.x + h, y.p.y + h, h, t)), + (v += 4)); + } + return ( + r && + (console.log('num probes: ' + v), + console.log('best distance: ' + m.d)), + m.p + ); + } + function Jl(t, e) { + return e.max - t.max; + } + function Kl(t, e, r, n) { + (this.p = new i(t, e)), + (this.h = r), + (this.d = (function (t, e) { + for (var r = !1, n = 1 / 0, i = 0; i < e.length; i++) + for ( + var a = e[i], o = 0, s = a.length, l = s - 1; + o < s; + l = o++ + ) { + var c = a[o], + u = a[l]; + c.y > t.y != u.y > t.y && + t.x < + ((u.x - c.x) * (t.y - c.y)) / (u.y - c.y) + c.x && + (r = !r), + (n = Math.min(n, Ga(t, c, u))); + } + return (r ? 1 : -1) * Math.sqrt(n); + })(this.p, n)), + (this.max = this.d + this.h * Math.SQRT2); + } + (Wl.prototype.push = function (t) { + this.data.push(t), this.length++, this._up(this.length - 1); + }), + (Wl.prototype.pop = function () { + if (0 !== this.length) { + var t = this.data[0], + e = this.data.pop(); + return ( + this.length--, + this.length > 0 && ((this.data[0] = e), this._down(0)), + t + ); + } + }), + (Wl.prototype.peek = function () { + return this.data[0]; + }), + (Wl.prototype._up = function (t) { + for ( + var e = this.data, r = this.compare, n = e[t]; + t > 0; + + ) { + var i = (t - 1) >> 1, + a = e[i]; + if (r(n, a) >= 0) break; + (e[t] = a), (t = i); + } + e[t] = n; + }), + (Wl.prototype._down = function (t) { + for ( + var e = this.data, + r = this.compare, + n = this.length >> 1, + i = e[t]; + t < n; + + ) { + var a = 1 + (t << 1), + o = e[a], + s = a + 1; + if ( + (s < this.length && + r(e[s], o) < 0 && + ((a = s), (o = e[s])), + r(o, i) >= 0) + ) + break; + (e[t] = o), (t = a); + } + e[t] = i; + }); + var Ql = Number.POSITIVE_INFINITY; + function $l(t, e) { + return e[1] !== Ql + ? (function (t, e, r) { + var n = 0, + i = 0; + switch (((e = Math.abs(e)), (r = Math.abs(r)), t)) { + case 'top-right': + case 'top-left': + case 'top': + i = r - 7; + break; + case 'bottom-right': + case 'bottom-left': + case 'bottom': + i = 7 - r; + } + switch (t) { + case 'top-right': + case 'bottom-right': + case 'right': + n = -e; + break; + case 'top-left': + case 'bottom-left': + case 'left': + n = e; + } + return [n, i]; + })(t, e[0], e[1]) + : (function (t, e) { + var r = 0, + n = 0; + e < 0 && (e = 0); + var i = e / Math.sqrt(2); + switch (t) { + case 'top-right': + case 'top-left': + n = i - 7; + break; + case 'bottom-right': + case 'bottom-left': + n = 7 - i; + break; + case 'bottom': + n = 7 - e; + break; + case 'top': + n = e - 7; + } + switch (t) { + case 'top-right': + case 'bottom-right': + r = -i; + break; + case 'top-left': + case 'bottom-left': + r = i; + break; + case 'left': + r = e; + break; + case 'right': + r = -e; + } + return [r, n]; + })(t, e[0]); + } + function tc(t) { + switch (t) { + case 'right': + case 'top-right': + case 'bottom-right': + return 'right'; + case 'left': + case 'top-left': + case 'bottom-left': + return 'left'; + } + return 'center'; + } + function ec(t, e, r, n, a, o, s, l, c, u, f, h, p, d, g) { + var m = (function (t, e, r, n, a, o, s, l) { + for ( + var c = + (n.layout.get('text-rotate').evaluate(o, {}) * + Math.PI) / + 180, + u = [], + f = 0, + h = e.positionedLines; + f < h.length; + f += 1 + ) + for ( + var p = h[f], d = 0, g = p.positionedGlyphs; + d < g.length; + d += 1 + ) { + var m = g[d]; + if (m.rect) { + var v = m.rect || {}, + y = 4, + x = !0, + b = 1, + _ = 0, + w = (a || l) && m.vertical, + T = (m.metrics.advance * m.scale) / 2; + if ( + (l && + e.verticalizable && + (_ = + p.lineOffset / 2 - + (m.imageName + ? -(24 - m.metrics.width * m.scale) / 2 + : 24 * (m.scale - 1))), + m.imageName) + ) { + var k = s[m.imageName]; + (x = k.sdf), (y = 1 / (b = k.pixelRatio)); + } + var M = a ? [m.x + T, m.y] : [0, 0], + A = a ? [0, 0] : [m.x + T + r[0], m.y + r[1] - _], + S = [0, 0]; + w && ((S = A), (A = [0, 0])); + var E = (m.metrics.left - y) * m.scale - T + A[0], + C = (-m.metrics.top - y) * m.scale + A[1], + L = E + (v.w * m.scale) / b, + I = C + (v.h * m.scale) / b, + P = new i(E, C), + z = new i(L, C), + O = new i(E, I), + D = new i(L, I); + if (w) { + var R = new i(-T, T - -17), + F = -Math.PI / 2, + B = 12 - T, + N = new i(22 - B, -(m.imageName ? B : 0)), + j = new (Function.prototype.bind.apply( + i, + [null].concat(S) + ))(); + P._rotateAround(F, R)._add(N)._add(j), + z._rotateAround(F, R)._add(N)._add(j), + O._rotateAround(F, R)._add(N)._add(j), + D._rotateAround(F, R)._add(N)._add(j); + } + if (c) { + var U = Math.sin(c), + V = Math.cos(c), + q = [V, -U, U, V]; + P._matMult(q), + z._matMult(q), + O._matMult(q), + D._matMult(q); + } + var H = new i(0, 0), + G = new i(0, 0); + u.push({ + tl: P, + tr: z, + bl: O, + br: D, + tex: v, + writingMode: e.writingMode, + glyphOffset: M, + sectionIndex: m.sectionIndex, + isSDF: x, + pixelOffsetTL: H, + pixelOffsetBR: G, + minFontScaleX: 0, + minFontScaleY: 0, + }); + } + } + return u; + })(0, r, l, a, o, s, n, t.allowVerticalPlacement), + v = t.textSizeData, + y = null; + 'source' === v.kind + ? (y = [ + 128 * a.layout.get('text-size').evaluate(s, {}), + ])[0] > 32640 && + _( + t.layerIds[0] + + ': Value for "text-size" is >= 255. Reduce your "text-size".' + ) + : 'composite' === v.kind && + ((y = [ + 128 * d.compositeTextSizes[0].evaluate(s, {}, g), + 128 * d.compositeTextSizes[1].evaluate(s, {}, g), + ])[0] > 32640 || + y[1] > 32640) && + _( + t.layerIds[0] + + ': Value for "text-size" is >= 255. Reduce your "text-size".' + ), + t.addSymbols( + t.text, + m, + y, + l, + o, + s, + u, + e, + c.lineStartIndex, + c.lineLength, + p, + g + ); + for (var x = 0, b = f; x < b.length; x += 1) + h[b[x]] = t.text.placedSymbolArray.length - 1; + return 4 * m.length; + } + function rc(t) { + for (var e in t) return t[e]; + return null; + } + function nc(t, e, r, n) { + var i = t.compareText; + if (e in i) { + for (var a = i[e], o = a.length - 1; o >= 0; o--) + if (n.dist(a[o]) < r) return !0; + } else i[e] = []; + return i[e].push(n), !1; + } + var ic = gs.VectorTileFeature.types, + ac = [ + { + name: 'a_fade_opacity', + components: 1, + type: 'Uint8', + offset: 0, + }, + ]; + function oc(t, e, r, n, i, a, o, s, l, c, u, f, h) { + var p = s ? Math.min(32640, Math.round(s[0])) : 0, + d = s ? Math.min(32640, Math.round(s[1])) : 0; + t.emplaceBack( + e, + r, + Math.round(32 * n), + Math.round(32 * i), + a, + o, + (p << 1) + (l ? 1 : 0), + d, + 16 * c, + 16 * u, + 256 * f, + 256 * h + ); + } + function sc(t, e, r) { + t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r), + t.emplaceBack(e.x, e.y, r); + } + function lc(t) { + for (var e = 0, r = t.sections; e < r.length; e += 1) + if (Xn(r[e].text)) return !0; + return !1; + } + var cc = function (t) { + (this.layoutVertexArray = new Li()), + (this.indexArray = new Fi()), + (this.programConfigurations = t), + (this.segments = new ia()), + (this.dynamicLayoutVertexArray = new Ii()), + (this.opacityVertexArray = new Pi()), + (this.placedSymbolArray = new Ji()); + }; + (cc.prototype.isEmpty = function () { + return ( + 0 === this.layoutVertexArray.length && + 0 === this.indexArray.length && + 0 === this.dynamicLayoutVertexArray.length && + 0 === this.opacityVertexArray.length + ); + }), + (cc.prototype.upload = function (t, e, r, n) { + this.isEmpty() || + (r && + ((this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + Ds.members + )), + (this.indexBuffer = t.createIndexBuffer( + this.indexArray, + e + )), + (this.dynamicLayoutVertexBuffer = t.createVertexBuffer( + this.dynamicLayoutVertexArray, + Rs.members, + !0 + )), + (this.opacityVertexBuffer = t.createVertexBuffer( + this.opacityVertexArray, + ac, + !0 + )), + (this.opacityVertexBuffer.itemSize = 1)), + (r || n) && this.programConfigurations.upload(t)); + }), + (cc.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.programConfigurations.destroy(), + this.segments.destroy(), + this.dynamicLayoutVertexBuffer.destroy(), + this.opacityVertexBuffer.destroy()); + }), + Dn('SymbolBuffers', cc); + var uc = function (t, e, r) { + (this.layoutVertexArray = new t()), + (this.layoutAttributes = e), + (this.indexArray = new r()), + (this.segments = new ia()), + (this.collisionVertexArray = new Ri()); + }; + (uc.prototype.upload = function (t) { + (this.layoutVertexBuffer = t.createVertexBuffer( + this.layoutVertexArray, + this.layoutAttributes + )), + (this.indexBuffer = t.createIndexBuffer(this.indexArray)), + (this.collisionVertexBuffer = t.createVertexBuffer( + this.collisionVertexArray, + Fs.members, + !0 + )); + }), + (uc.prototype.destroy = function () { + this.layoutVertexBuffer && + (this.layoutVertexBuffer.destroy(), + this.indexBuffer.destroy(), + this.segments.destroy(), + this.collisionVertexBuffer.destroy()); + }), + Dn('CollisionBuffers', uc); + var fc = function (t) { + (this.collisionBoxArray = t.collisionBoxArray), + (this.zoom = t.zoom), + (this.overscaling = t.overscaling), + (this.layers = t.layers), + (this.layerIds = this.layers.map(function (t) { + return t.id; + })), + (this.index = t.index), + (this.pixelRatio = t.pixelRatio), + (this.sourceLayerIndex = t.sourceLayerIndex), + (this.hasPattern = !1), + (this.hasRTLText = !1), + (this.sortKeyRanges = []), + (this.collisionCircleArray = []), + (this.placementInvProjMatrix = eo([])), + (this.placementViewportMatrix = eo([])); + var e = this.layers[0]._unevaluatedLayout._values; + (this.textSizeData = Ll(this.zoom, e['text-size'])), + (this.iconSizeData = Ll(this.zoom, e['icon-size'])); + var r = this.layers[0].layout, + n = r.get('symbol-sort-key'), + i = r.get('symbol-z-order'); + (this.sortFeaturesByKey = + 'viewport-y' !== i && void 0 !== n.constantOr(1)), + (this.sortFeaturesByY = + ('viewport-y' === i || + ('auto' === i && !this.sortFeaturesByKey)) && + (r.get('text-allow-overlap') || + r.get('icon-allow-overlap') || + r.get('text-ignore-placement') || + r.get('icon-ignore-placement'))), + 'point' === r.get('symbol-placement') && + (this.writingModes = r + .get('text-writing-mode') + .map(function (t) { + return gl[t]; + })), + (this.stateDependentLayerIds = this.layers + .filter(function (t) { + return t.isStateDependent(); + }) + .map(function (t) { + return t.id; + })), + (this.sourceID = t.sourceID); + }; + (fc.prototype.createArrays = function () { + (this.text = new cc( + new Ia(Ds.members, this.layers, this.zoom, function (t) { + return /^text/.test(t); + }) + )), + (this.icon = new cc( + new Ia(Ds.members, this.layers, this.zoom, function (t) { + return /^icon/.test(t); + }) + )), + (this.glyphOffsetArray = new $i()), + (this.lineVertexArray = new ta()), + (this.symbolInstances = new Qi()); + }), + (fc.prototype.calculateGlyphDependencies = function ( + t, + e, + r, + n, + i + ) { + for (var a = 0; a < t.length; a++) + if (((e[t.charCodeAt(a)] = !0), (r || n) && i)) { + var o = Us[t.charAt(a)]; + o && (e[o.charCodeAt(0)] = !0); + } + }), + (fc.prototype.populate = function (t, e, r) { + var n = this.layers[0], + i = n.layout, + a = i.get('text-font'), + o = i.get('text-field'), + s = i.get('icon-image'), + l = + ('constant' !== o.value.kind || + (o.value.value instanceof te && + !o.value.value.isEmpty()) || + o.value.value.toString().length > 0) && + ('constant' !== a.value.kind || + a.value.value.length > 0), + c = + 'constant' !== s.value.kind || + !!s.value.value || + Object.keys(s.parameters).length > 0, + u = i.get('symbol-sort-key'); + if (((this.features = []), l || c)) { + for ( + var f = e.iconDependencies, + h = e.glyphDependencies, + p = e.availableImages, + d = new ii(this.zoom), + g = 0, + m = t; + g < m.length; + g += 1 + ) { + var v = m[g], + y = v.feature, + x = v.id, + b = v.index, + _ = v.sourceLayerIndex, + w = n._featureFilter.needGeometry, + T = { + type: y.type, + id: x, + properties: y.properties, + geometry: w ? Da(y) : [], + }; + if (n._featureFilter.filter(d, T, r)) { + w || (T.geometry = Da(y)); + var k = void 0; + if (l) { + var M = n.getValueAndResolveTokens( + 'text-field', + T, + r, + p + ), + A = te.factory(M); + lc(A) && (this.hasRTLText = !0), + (!this.hasRTLText || + 'unavailable' === ei() || + (this.hasRTLText && ni.isParsed())) && + (k = js(A, n, T)); + } + var S = void 0; + if (c) { + var E = n.getValueAndResolveTokens( + 'icon-image', + T, + r, + p + ); + S = E instanceof ee ? E : ee.fromString(E); + } + if (k || S) { + var C = this.sortFeaturesByKey + ? u.evaluate(T, {}, r) + : void 0, + L = { + id: x, + text: k, + icon: S, + index: b, + sourceLayerIndex: _, + geometry: Da(y), + properties: y.properties, + type: ic[y.type], + sortKey: C, + }; + if ( + (this.features.push(L), S && (f[S.name] = !0), k) + ) { + var I = a.evaluate(T, {}, r).join(','), + P = + 'map' === i.get('text-rotation-alignment') && + 'point' !== i.get('symbol-placement'); + this.allowVerticalPlacement = + this.writingModes && + this.writingModes.indexOf(gl.vertical) >= 0; + for ( + var z = 0, O = k.sections; + z < O.length; + z += 1 + ) { + var D = O[z]; + if (D.image) f[D.image.name] = !0; + else { + var R = qn(k.toString()), + F = D.fontStack || I, + B = (h[F] = h[F] || {}); + this.calculateGlyphDependencies( + D.text, + B, + P, + this.allowVerticalPlacement, + R + ); + } + } + } + } + } + } + 'line' === i.get('symbol-placement') && + (this.features = (function (t) { + var e = {}, + r = {}, + n = [], + i = 0; + function a(e) { + n.push(t[e]), i++; + } + function o(t, e, i) { + var a = r[t]; + return ( + delete r[t], + (r[e] = a), + n[a].geometry[0].pop(), + (n[a].geometry[0] = n[a].geometry[0].concat( + i[0] + )), + a + ); + } + function s(t, r, i) { + var a = e[r]; + return ( + delete e[r], + (e[t] = a), + n[a].geometry[0].shift(), + (n[a].geometry[0] = i[0].concat( + n[a].geometry[0] + )), + a + ); + } + function l(t, e, r) { + var n = r ? e[0][e[0].length - 1] : e[0][0]; + return t + ':' + n.x + ':' + n.y; + } + for (var c = 0; c < t.length; c++) { + var u = t[c], + f = u.geometry, + h = u.text ? u.text.toString() : null; + if (h) { + var p = l(h, f), + d = l(h, f, !0); + if (p in r && d in e && r[p] !== e[d]) { + var g = s(p, d, f), + m = o(p, d, n[g].geometry); + delete e[p], + delete r[d], + (r[l(h, n[m].geometry, !0)] = m), + (n[g].geometry = null); + } else + p in r + ? o(p, d, f) + : d in e + ? s(p, d, f) + : (a(c), (e[p] = i - 1), (r[d] = i - 1)); + } else a(c); + } + return n.filter(function (t) { + return t.geometry; + }); + })(this.features)), + this.sortFeaturesByKey && + this.features.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + } + }), + (fc.prototype.update = function (t, e, r) { + this.stateDependentLayers.length && + (this.text.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r + ), + this.icon.programConfigurations.updatePaintArrays( + t, + e, + this.layers, + r + )); + }), + (fc.prototype.isEmpty = function () { + return ( + 0 === this.symbolInstances.length && !this.hasRTLText + ); + }), + (fc.prototype.uploadPending = function () { + return ( + !this.uploaded || + this.text.programConfigurations.needsUpload || + this.icon.programConfigurations.needsUpload + ); + }), + (fc.prototype.upload = function (t) { + !this.uploaded && + this.hasDebugData() && + (this.textCollisionBox.upload(t), + this.iconCollisionBox.upload(t)), + this.text.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.text.programConfigurations.needsUpload + ), + this.icon.upload( + t, + this.sortFeaturesByY, + !this.uploaded, + this.icon.programConfigurations.needsUpload + ), + (this.uploaded = !0); + }), + (fc.prototype.destroyDebugData = function () { + this.textCollisionBox.destroy(), + this.iconCollisionBox.destroy(); + }), + (fc.prototype.destroy = function () { + this.text.destroy(), + this.icon.destroy(), + this.hasDebugData() && this.destroyDebugData(); + }), + (fc.prototype.addToLineVertexArray = function (t, e) { + var r = this.lineVertexArray.length; + if (void 0 !== t.segment) { + for ( + var n = t.dist(e[t.segment + 1]), + i = t.dist(e[t.segment]), + a = {}, + o = t.segment + 1; + o < e.length; + o++ + ) + (a[o] = { + x: e[o].x, + y: e[o].y, + tileUnitDistanceFromAnchor: n, + }), + o < e.length - 1 && (n += e[o + 1].dist(e[o])); + for (var s = t.segment || 0; s >= 0; s--) + (a[s] = { + x: e[s].x, + y: e[s].y, + tileUnitDistanceFromAnchor: i, + }), + s > 0 && (i += e[s - 1].dist(e[s])); + for (var l = 0; l < e.length; l++) { + var c = a[l]; + this.lineVertexArray.emplaceBack( + c.x, + c.y, + c.tileUnitDistanceFromAnchor + ); + } + } + return { + lineStartIndex: r, + lineLength: this.lineVertexArray.length - r, + }; + }), + (fc.prototype.addSymbols = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f + ) { + for ( + var h = t.indexArray, + p = t.layoutVertexArray, + d = t.segments.prepareSegment( + 4 * e.length, + p, + h, + a.sortKey + ), + g = this.glyphOffsetArray.length, + m = d.vertexLength, + v = + this.allowVerticalPlacement && o === gl.vertical + ? Math.PI / 2 + : 0, + y = a.text && a.text.sections, + x = 0; + x < e.length; + x++ + ) { + var b = e[x], + _ = b.tl, + w = b.tr, + T = b.bl, + k = b.br, + M = b.tex, + A = b.pixelOffsetTL, + S = b.pixelOffsetBR, + E = b.minFontScaleX, + C = b.minFontScaleY, + L = b.glyphOffset, + I = b.isSDF, + P = b.sectionIndex, + z = d.vertexLength, + O = L[1]; + oc( + p, + s.x, + s.y, + _.x, + O + _.y, + M.x, + M.y, + r, + I, + A.x, + A.y, + E, + C + ), + oc( + p, + s.x, + s.y, + w.x, + O + w.y, + M.x + M.w, + M.y, + r, + I, + S.x, + A.y, + E, + C + ), + oc( + p, + s.x, + s.y, + T.x, + O + T.y, + M.x, + M.y + M.h, + r, + I, + A.x, + S.y, + E, + C + ), + oc( + p, + s.x, + s.y, + k.x, + O + k.y, + M.x + M.w, + M.y + M.h, + r, + I, + S.x, + S.y, + E, + C + ), + sc(t.dynamicLayoutVertexArray, s, v), + h.emplaceBack(z, z + 1, z + 2), + h.emplaceBack(z + 1, z + 2, z + 3), + (d.vertexLength += 4), + (d.primitiveLength += 2), + this.glyphOffsetArray.emplaceBack(L[0]), + (x !== e.length - 1 && P === e[x + 1].sectionIndex) || + t.programConfigurations.populatePaintArrays( + p.length, + a, + a.index, + {}, + f, + y && y[P] + ); + } + t.placedSymbolArray.emplaceBack( + s.x, + s.y, + g, + this.glyphOffsetArray.length - g, + m, + l, + c, + s.segment, + r ? r[0] : 0, + r ? r[1] : 0, + n[0], + n[1], + o, + 0, + !1, + 0, + u + ); + }), + (fc.prototype._addCollisionDebugVertex = function ( + t, + e, + r, + n, + i, + a + ) { + return ( + e.emplaceBack(0, 0), + t.emplaceBack( + r.x, + r.y, + n, + i, + Math.round(a.x), + Math.round(a.y) + ) + ); + }), + (fc.prototype.addCollisionDebugVertices = function ( + t, + e, + r, + n, + a, + o, + s + ) { + var l = a.segments.prepareSegment( + 4, + a.layoutVertexArray, + a.indexArray + ), + c = l.vertexLength, + u = a.layoutVertexArray, + f = a.collisionVertexArray, + h = s.anchorX, + p = s.anchorY; + this._addCollisionDebugVertex(u, f, o, h, p, new i(t, e)), + this._addCollisionDebugVertex(u, f, o, h, p, new i(r, e)), + this._addCollisionDebugVertex(u, f, o, h, p, new i(r, n)), + this._addCollisionDebugVertex(u, f, o, h, p, new i(t, n)), + (l.vertexLength += 4); + var d = a.indexArray; + d.emplaceBack(c, c + 1), + d.emplaceBack(c + 1, c + 2), + d.emplaceBack(c + 2, c + 3), + d.emplaceBack(c + 3, c), + (l.primitiveLength += 4); + }), + (fc.prototype.addDebugCollisionBoxes = function (t, e, r, n) { + for (var i = t; i < e; i++) { + var a = this.collisionBoxArray.get(i); + this.addCollisionDebugVertices( + a.x1, + a.y1, + a.x2, + a.y2, + n ? this.textCollisionBox : this.iconCollisionBox, + a.anchorPoint, + r + ); + } + }), + (fc.prototype.generateCollisionDebugBuffers = function () { + this.hasDebugData() && this.destroyDebugData(), + (this.textCollisionBox = new uc(Oi, Bs.members, qi)), + (this.iconCollisionBox = new uc(Oi, Bs.members, qi)); + for (var t = 0; t < this.symbolInstances.length; t++) { + var e = this.symbolInstances.get(t); + this.addDebugCollisionBoxes( + e.textBoxStartIndex, + e.textBoxEndIndex, + e, + !0 + ), + this.addDebugCollisionBoxes( + e.verticalTextBoxStartIndex, + e.verticalTextBoxEndIndex, + e, + !0 + ), + this.addDebugCollisionBoxes( + e.iconBoxStartIndex, + e.iconBoxEndIndex, + e, + !1 + ), + this.addDebugCollisionBoxes( + e.verticalIconBoxStartIndex, + e.verticalIconBoxEndIndex, + e, + !1 + ); + } + }), + (fc.prototype._deserializeCollisionBoxesForSymbol = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l + ) { + for (var c = {}, u = e; u < r; u++) { + var f = t.get(u); + (c.textBox = { + x1: f.x1, + y1: f.y1, + x2: f.x2, + y2: f.y2, + anchorPointX: f.anchorPointX, + anchorPointY: f.anchorPointY, + }), + (c.textFeatureIndex = f.featureIndex); + break; + } + for (var h = n; h < i; h++) { + var p = t.get(h); + (c.verticalTextBox = { + x1: p.x1, + y1: p.y1, + x2: p.x2, + y2: p.y2, + anchorPointX: p.anchorPointX, + anchorPointY: p.anchorPointY, + }), + (c.verticalTextFeatureIndex = p.featureIndex); + break; + } + for (var d = a; d < o; d++) { + var g = t.get(d); + (c.iconBox = { + x1: g.x1, + y1: g.y1, + x2: g.x2, + y2: g.y2, + anchorPointX: g.anchorPointX, + anchorPointY: g.anchorPointY, + }), + (c.iconFeatureIndex = g.featureIndex); + break; + } + for (var m = s; m < l; m++) { + var v = t.get(m); + (c.verticalIconBox = { + x1: v.x1, + y1: v.y1, + x2: v.x2, + y2: v.y2, + anchorPointX: v.anchorPointX, + anchorPointY: v.anchorPointY, + }), + (c.verticalIconFeatureIndex = v.featureIndex); + break; + } + return c; + }), + (fc.prototype.deserializeCollisionBoxes = function (t) { + this.collisionArrays = []; + for (var e = 0; e < this.symbolInstances.length; e++) { + var r = this.symbolInstances.get(e); + this.collisionArrays.push( + this._deserializeCollisionBoxesForSymbol( + t, + r.textBoxStartIndex, + r.textBoxEndIndex, + r.verticalTextBoxStartIndex, + r.verticalTextBoxEndIndex, + r.iconBoxStartIndex, + r.iconBoxEndIndex, + r.verticalIconBoxStartIndex, + r.verticalIconBoxEndIndex + ) + ); + } + }), + (fc.prototype.hasTextData = function () { + return this.text.segments.get().length > 0; + }), + (fc.prototype.hasIconData = function () { + return this.icon.segments.get().length > 0; + }), + (fc.prototype.hasDebugData = function () { + return this.textCollisionBox && this.iconCollisionBox; + }), + (fc.prototype.hasTextCollisionBoxData = function () { + return ( + this.hasDebugData() && + this.textCollisionBox.segments.get().length > 0 + ); + }), + (fc.prototype.hasIconCollisionBoxData = function () { + return ( + this.hasDebugData() && + this.iconCollisionBox.segments.get().length > 0 + ); + }), + (fc.prototype.addIndicesForPlacedSymbol = function (t, e) { + for ( + var r = t.placedSymbolArray.get(e), + n = r.vertexStartIndex + 4 * r.numGlyphs, + i = r.vertexStartIndex; + i < n; + i += 4 + ) + t.indexArray.emplaceBack(i, i + 1, i + 2), + t.indexArray.emplaceBack(i + 1, i + 2, i + 3); + }), + (fc.prototype.getSortedSymbolIndexes = function (t) { + if ( + this.sortedAngle === t && + void 0 !== this.symbolInstanceIndexes + ) + return this.symbolInstanceIndexes; + for ( + var e = Math.sin(t), + r = Math.cos(t), + n = [], + i = [], + a = [], + o = 0; + o < this.symbolInstances.length; + ++o + ) { + a.push(o); + var s = this.symbolInstances.get(o); + n.push(0 | Math.round(e * s.anchorX + r * s.anchorY)), + i.push(s.featureIndex); + } + return ( + a.sort(function (t, e) { + return n[t] - n[e] || i[e] - i[t]; + }), + a + ); + }), + (fc.prototype.addToSortKeyRanges = function (t, e) { + var r = this.sortKeyRanges[this.sortKeyRanges.length - 1]; + r && r.sortKey === e + ? (r.symbolInstanceEnd = t + 1) + : this.sortKeyRanges.push({ + sortKey: e, + symbolInstanceStart: t, + symbolInstanceEnd: t + 1, + }); + }), + (fc.prototype.sortFeatures = function (t) { + var e = this; + if ( + this.sortFeaturesByY && + this.sortedAngle !== t && + !( + this.text.segments.get().length > 1 || + this.icon.segments.get().length > 1 + ) + ) { + (this.symbolInstanceIndexes = + this.getSortedSymbolIndexes(t)), + (this.sortedAngle = t), + this.text.indexArray.clear(), + this.icon.indexArray.clear(), + (this.featureSortOrder = []); + for ( + var r = 0, n = this.symbolInstanceIndexes; + r < n.length; + r += 1 + ) { + var i = this.symbolInstances.get(n[r]); + this.featureSortOrder.push(i.featureIndex), + [ + i.rightJustifiedTextSymbolIndex, + i.centerJustifiedTextSymbolIndex, + i.leftJustifiedTextSymbolIndex, + ].forEach(function (t, r, n) { + t >= 0 && + n.indexOf(t) === r && + e.addIndicesForPlacedSymbol(e.text, t); + }), + i.verticalPlacedTextSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.text, + i.verticalPlacedTextSymbolIndex + ), + i.placedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + i.placedIconSymbolIndex + ), + i.verticalPlacedIconSymbolIndex >= 0 && + this.addIndicesForPlacedSymbol( + this.icon, + i.verticalPlacedIconSymbolIndex + ); + } + this.text.indexBuffer && + this.text.indexBuffer.updateData(this.text.indexArray), + this.icon.indexBuffer && + this.icon.indexBuffer.updateData( + this.icon.indexArray + ); + } + }), + Dn('SymbolBucket', fc, { + omit: [ + 'layers', + 'collisionBoxArray', + 'features', + 'compareText', + ], + }), + (fc.MAX_GLYPHS = 65535), + (fc.addDynamicAttributes = sc); + var hc = new yi({ + 'symbol-placement': new pi( + At.layout_symbol['symbol-placement'] + ), + 'symbol-spacing': new pi( + At.layout_symbol['symbol-spacing'] + ), + 'symbol-avoid-edges': new pi( + At.layout_symbol['symbol-avoid-edges'] + ), + 'symbol-sort-key': new di( + At.layout_symbol['symbol-sort-key'] + ), + 'symbol-z-order': new pi( + At.layout_symbol['symbol-z-order'] + ), + 'icon-allow-overlap': new pi( + At.layout_symbol['icon-allow-overlap'] + ), + 'icon-ignore-placement': new pi( + At.layout_symbol['icon-ignore-placement'] + ), + 'icon-optional': new pi(At.layout_symbol['icon-optional']), + 'icon-rotation-alignment': new pi( + At.layout_symbol['icon-rotation-alignment'] + ), + 'icon-size': new di(At.layout_symbol['icon-size']), + 'icon-text-fit': new pi(At.layout_symbol['icon-text-fit']), + 'icon-text-fit-padding': new pi( + At.layout_symbol['icon-text-fit-padding'] + ), + 'icon-image': new di(At.layout_symbol['icon-image']), + 'icon-rotate': new di(At.layout_symbol['icon-rotate']), + 'icon-padding': new pi(At.layout_symbol['icon-padding']), + 'icon-keep-upright': new pi( + At.layout_symbol['icon-keep-upright'] + ), + 'icon-offset': new di(At.layout_symbol['icon-offset']), + 'icon-anchor': new di(At.layout_symbol['icon-anchor']), + 'icon-pitch-alignment': new pi( + At.layout_symbol['icon-pitch-alignment'] + ), + 'text-pitch-alignment': new pi( + At.layout_symbol['text-pitch-alignment'] + ), + 'text-rotation-alignment': new pi( + At.layout_symbol['text-rotation-alignment'] + ), + 'text-field': new di(At.layout_symbol['text-field']), + 'text-font': new di(At.layout_symbol['text-font']), + 'text-size': new di(At.layout_symbol['text-size']), + 'text-max-width': new di( + At.layout_symbol['text-max-width'] + ), + 'text-line-height': new pi( + At.layout_symbol['text-line-height'] + ), + 'text-letter-spacing': new di( + At.layout_symbol['text-letter-spacing'] + ), + 'text-justify': new di(At.layout_symbol['text-justify']), + 'text-radial-offset': new di( + At.layout_symbol['text-radial-offset'] + ), + 'text-variable-anchor': new pi( + At.layout_symbol['text-variable-anchor'] + ), + 'text-anchor': new di(At.layout_symbol['text-anchor']), + 'text-max-angle': new pi( + At.layout_symbol['text-max-angle'] + ), + 'text-writing-mode': new pi( + At.layout_symbol['text-writing-mode'] + ), + 'text-rotate': new di(At.layout_symbol['text-rotate']), + 'text-padding': new pi(At.layout_symbol['text-padding']), + 'text-keep-upright': new pi( + At.layout_symbol['text-keep-upright'] + ), + 'text-transform': new di( + At.layout_symbol['text-transform'] + ), + 'text-offset': new di(At.layout_symbol['text-offset']), + 'text-allow-overlap': new pi( + At.layout_symbol['text-allow-overlap'] + ), + 'text-ignore-placement': new pi( + At.layout_symbol['text-ignore-placement'] + ), + 'text-optional': new pi(At.layout_symbol['text-optional']), + }), + pc = { + paint: new yi({ + 'icon-opacity': new di(At.paint_symbol['icon-opacity']), + 'icon-color': new di(At.paint_symbol['icon-color']), + 'icon-halo-color': new di( + At.paint_symbol['icon-halo-color'] + ), + 'icon-halo-width': new di( + At.paint_symbol['icon-halo-width'] + ), + 'icon-halo-blur': new di( + At.paint_symbol['icon-halo-blur'] + ), + 'icon-translate': new pi( + At.paint_symbol['icon-translate'] + ), + 'icon-translate-anchor': new pi( + At.paint_symbol['icon-translate-anchor'] + ), + 'text-opacity': new di(At.paint_symbol['text-opacity']), + 'text-color': new di(At.paint_symbol['text-color'], { + runtimeType: Bt, + getOverride: function (t) { + return t.textColor; + }, + hasOverride: function (t) { + return !!t.textColor; + }, + }), + 'text-halo-color': new di( + At.paint_symbol['text-halo-color'] + ), + 'text-halo-width': new di( + At.paint_symbol['text-halo-width'] + ), + 'text-halo-blur': new di( + At.paint_symbol['text-halo-blur'] + ), + 'text-translate': new pi( + At.paint_symbol['text-translate'] + ), + 'text-translate-anchor': new pi( + At.paint_symbol['text-translate-anchor'] + ), + }), + layout: hc, + }, + dc = function (t) { + (this.type = t.property.overrides + ? t.property.overrides.runtimeType + : Ot), + (this.defaultValue = t); + }; + (dc.prototype.evaluate = function (t) { + if (t.formattedSection) { + var e = this.defaultValue.property.overrides; + if (e && e.hasOverride(t.formattedSection)) + return e.getOverride(t.formattedSection); + } + return t.feature && t.featureState + ? this.defaultValue.evaluate(t.feature, t.featureState) + : this.defaultValue.property.specification.default; + }), + (dc.prototype.eachChild = function (t) { + this.defaultValue.isConstant() || + t(this.defaultValue.value._styleExpression.expression); + }), + (dc.prototype.outputDefined = function () { + return !1; + }), + (dc.prototype.serialize = function () { + return null; + }), + Dn('FormatSectionOverride', dc, { omit: ['defaultValue'] }); + var gc = (function (t) { + function e(e) { + t.call(this, e, pc); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.recalculate = function (e, r) { + if ( + (t.prototype.recalculate.call(this, e, r), + 'auto' === + this.layout.get('icon-rotation-alignment') && + (this.layout._values['icon-rotation-alignment'] = + 'point' !== this.layout.get('symbol-placement') + ? 'map' + : 'viewport'), + 'auto' === + this.layout.get('text-rotation-alignment') && + (this.layout._values['text-rotation-alignment'] = + 'point' !== this.layout.get('symbol-placement') + ? 'map' + : 'viewport'), + 'auto' === this.layout.get('text-pitch-alignment') && + (this.layout._values['text-pitch-alignment'] = + this.layout.get('text-rotation-alignment')), + 'auto' === this.layout.get('icon-pitch-alignment') && + (this.layout._values['icon-pitch-alignment'] = + this.layout.get('icon-rotation-alignment')), + 'point' === this.layout.get('symbol-placement')) + ) { + var n = this.layout.get('text-writing-mode'); + if (n) { + for ( + var i = [], a = 0, o = n; + a < o.length; + a += 1 + ) { + var s = o[a]; + i.indexOf(s) < 0 && i.push(s); + } + this.layout._values['text-writing-mode'] = i; + } else + this.layout._values['text-writing-mode'] = [ + 'horizontal', + ]; + } + this._setPaintOverrides(); + }), + (e.prototype.getValueAndResolveTokens = function ( + t, + e, + r, + n + ) { + var i = this.layout.get(t).evaluate(e, {}, r, n), + a = this._unevaluatedLayout._values[t]; + return a.isDataDriven() || Vr(a.value) || !i + ? i + : (function (t, e) { + return e.replace(/{([^{}]+)}/g, function (e, r) { + return r in t ? String(t[r]) : ''; + }); + })(e.properties, i); + }), + (e.prototype.createBucket = function (t) { + return new fc(t); + }), + (e.prototype.queryRadius = function () { + return 0; + }), + (e.prototype.queryIntersectsFeature = function () { + return !1; + }), + (e.prototype._setPaintOverrides = function () { + for ( + var t = 0, r = pc.paint.overridableProperties; + t < r.length; + t += 1 + ) { + var n = r[t]; + if (e.hasPaintOverride(this.layout, n)) { + var i, + a = this.paint.get(n), + o = new dc(a), + s = new Ur(o, a.property.specification); + (i = + 'constant' === a.value.kind || + 'source' === a.value.kind + ? new Hr('source', s) + : new Gr( + 'composite', + s, + a.value.zoomStops, + a.value._interpolationType + )), + (this.paint._values[n] = new fi( + a.property, + i, + a.parameters + )); + } + } + }), + (e.prototype._handleOverridablePaintPropertyUpdate = + function (t, r, n) { + return ( + !( + !this.layout || + r.isDataDriven() || + n.isDataDriven() + ) && e.hasPaintOverride(this.layout, t) + ); + }), + (e.hasPaintOverride = function (t, e) { + var r = t.get('text-field'), + n = pc.paint.properties[e], + i = !1, + a = function (t) { + for (var e = 0, r = t; e < r.length; e += 1) + if (n.overrides && n.overrides.hasOverride(r[e])) + return void (i = !0); + }; + if ( + 'constant' === r.value.kind && + r.value.value instanceof te + ) + a(r.value.value.sections); + else if ('source' === r.value.kind) { + var o = function (t) { + i || + (t instanceof oe && ie(t.value) === Vt + ? a(t.value.sections) + : t instanceof ue + ? a(t.sections) + : t.eachChild(o)); + }, + s = r.value; + s._styleExpression && + o(s._styleExpression.expression); + } + return i; + }), + e + ); + })(xi), + mc = { + paint: new yi({ + 'background-color': new pi( + At.paint_background['background-color'] + ), + 'background-pattern': new mi( + At.paint_background['background-pattern'] + ), + 'background-opacity': new pi( + At.paint_background['background-opacity'] + ), + }), + }, + vc = (function (t) { + function e(e) { + t.call(this, e, mc); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(xi), + yc = { + paint: new yi({ + 'raster-opacity': new pi( + At.paint_raster['raster-opacity'] + ), + 'raster-hue-rotate': new pi( + At.paint_raster['raster-hue-rotate'] + ), + 'raster-brightness-min': new pi( + At.paint_raster['raster-brightness-min'] + ), + 'raster-brightness-max': new pi( + At.paint_raster['raster-brightness-max'] + ), + 'raster-saturation': new pi( + At.paint_raster['raster-saturation'] + ), + 'raster-contrast': new pi( + At.paint_raster['raster-contrast'] + ), + 'raster-resampling': new pi( + At.paint_raster['raster-resampling'] + ), + 'raster-fade-duration': new pi( + At.paint_raster['raster-fade-duration'] + ), + }), + }, + xc = (function (t) { + function e(e) { + t.call(this, e, yc); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(xi), + bc = (function (t) { + function e(e) { + t.call(this, e, {}), (this.implementation = e); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.is3D = function () { + return '3d' === this.implementation.renderingMode; + }), + (e.prototype.hasOffscreenPass = function () { + return void 0 !== this.implementation.prerender; + }), + (e.prototype.recalculate = function () {}), + (e.prototype.updateTransitions = function () {}), + (e.prototype.hasTransition = function () {}), + (e.prototype.serialize = function () {}), + (e.prototype.onAdd = function (t) { + this.implementation.onAdd && + this.implementation.onAdd(t, t.painter.context.gl); + }), + (e.prototype.onRemove = function (t) { + this.implementation.onRemove && + this.implementation.onRemove(t, t.painter.context.gl); + }), + e + ); + })(xi), + _c = { + circle: oo, + heatmap: vo, + hillshade: xo, + fill: as, + 'fill-extrusion': ws, + line: zs, + symbol: gc, + background: vc, + raster: xc, + }, + wc = self.HTMLImageElement, + Tc = self.HTMLCanvasElement, + kc = self.HTMLVideoElement, + Mc = self.ImageData, + Ac = self.ImageBitmap, + Sc = function (t, e, r, n) { + (this.context = t), + (this.format = r), + (this.texture = t.gl.createTexture()), + this.update(e, n); + }; + (Sc.prototype.update = function (t, e, r) { + var n = t.width, + i = t.height, + a = !( + (this.size && this.size[0] === n && this.size[1] === i) || + r + ), + o = this.context, + s = o.gl; + if ( + ((this.useMipmap = Boolean(e && e.useMipmap)), + s.bindTexture(s.TEXTURE_2D, this.texture), + o.pixelStoreUnpackFlipY.set(!1), + o.pixelStoreUnpack.set(1), + o.pixelStoreUnpackPremultiplyAlpha.set( + this.format === s.RGBA && (!e || !1 !== e.premultiply) + ), + a) + ) + (this.size = [n, i]), + t instanceof wc || + t instanceof Tc || + t instanceof kc || + t instanceof Mc || + (Ac && t instanceof Ac) + ? s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + this.format, + s.UNSIGNED_BYTE, + t + ) + : s.texImage2D( + s.TEXTURE_2D, + 0, + this.format, + n, + i, + 0, + this.format, + s.UNSIGNED_BYTE, + t.data + ); + else { + var l = r || { x: 0, y: 0 }, + c = l.x, + u = l.y; + t instanceof wc || + t instanceof Tc || + t instanceof kc || + t instanceof Mc || + (Ac && t instanceof Ac) + ? s.texSubImage2D( + s.TEXTURE_2D, + 0, + c, + u, + s.RGBA, + s.UNSIGNED_BYTE, + t + ) + : s.texSubImage2D( + s.TEXTURE_2D, + 0, + c, + u, + n, + i, + s.RGBA, + s.UNSIGNED_BYTE, + t.data + ); + } + this.useMipmap && + this.isSizePowerOfTwo() && + s.generateMipmap(s.TEXTURE_2D); + }), + (Sc.prototype.bind = function (t, e, r) { + var n = this.context.gl; + n.bindTexture(n.TEXTURE_2D, this.texture), + r !== n.LINEAR_MIPMAP_NEAREST || + this.isSizePowerOfTwo() || + (r = n.LINEAR), + t !== this.filter && + (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MAG_FILTER, t), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MIN_FILTER, + r || t + ), + (this.filter = t)), + e !== this.wrap && + (n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, e), + n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, e), + (this.wrap = e)); + }), + (Sc.prototype.isSizePowerOfTwo = function () { + return ( + this.size[0] === this.size[1] && + (Math.log(this.size[0]) / Math.LN2) % 1 == 0 + ); + }), + (Sc.prototype.destroy = function () { + this.context.gl.deleteTexture(this.texture), + (this.texture = null); + }); + var Ec = function (t) { + var e = this; + (this._callback = t), + (this._triggered = !1), + 'undefined' != typeof MessageChannel && + ((this._channel = new MessageChannel()), + (this._channel.port2.onmessage = function () { + (e._triggered = !1), e._callback(); + })); + }; + (Ec.prototype.trigger = function () { + var t = this; + this._triggered || + ((this._triggered = !0), + this._channel + ? this._channel.port1.postMessage(!0) + : setTimeout(function () { + (t._triggered = !1), t._callback(); + }, 0)); + }), + (Ec.prototype.remove = function () { + delete this._channel, (this._callback = function () {}); + }); + var Cc = function (t, e, r) { + (this.target = t), + (this.parent = e), + (this.mapId = r), + (this.callbacks = {}), + (this.tasks = {}), + (this.taskQueue = []), + (this.cancelCallbacks = {}), + g(['receive', 'process'], this), + (this.invoker = new Ec(this.process)), + this.target.addEventListener('message', this.receive, !1), + (this.globalScope = k() ? t : self); + }; + function Lc(t, e, r) { + var n = (2 * Math.PI * 6378137) / 256 / Math.pow(2, r); + return [ + t * n - (2 * Math.PI * 6378137) / 2, + e * n - (2 * Math.PI * 6378137) / 2, + ]; + } + (Cc.prototype.send = function (t, e, r, n, i) { + var a = this; + void 0 === i && (i = !1); + var o = Math.round(1e18 * Math.random()) + .toString(36) + .substring(0, 10); + r && (this.callbacks[o] = r); + var s = S(this.globalScope) ? void 0 : []; + return ( + this.target.postMessage( + { + id: o, + type: t, + hasCallback: !!r, + targetMapId: n, + mustQueue: i, + sourceMapId: this.mapId, + data: Nn(e, s), + }, + s + ), + { + cancel: function () { + r && delete a.callbacks[o], + a.target.postMessage({ + id: o, + type: '', + targetMapId: n, + sourceMapId: a.mapId, + }); + }, + } + ); + }), + (Cc.prototype.receive = function (t) { + var e = t.data, + r = e.id; + if (r && (!e.targetMapId || this.mapId === e.targetMapId)) + if ('' === e.type) { + delete this.tasks[r]; + var n = this.cancelCallbacks[r]; + delete this.cancelCallbacks[r], n && n(); + } else + k() || e.mustQueue + ? ((this.tasks[r] = e), + this.taskQueue.push(r), + this.invoker.trigger()) + : this.processTask(r, e); + }), + (Cc.prototype.process = function () { + if (this.taskQueue.length) { + var t = this.taskQueue.shift(), + e = this.tasks[t]; + delete this.tasks[t], + this.taskQueue.length && this.invoker.trigger(), + e && this.processTask(t, e); + } + }), + (Cc.prototype.processTask = function (t, e) { + var r = this; + if ('' === e.type) { + var n = this.callbacks[t]; + delete this.callbacks[t], + n && (e.error ? n(jn(e.error)) : n(null, jn(e.data))); + } else { + var i = !1, + a = S(this.globalScope) ? void 0 : [], + o = e.hasCallback + ? function (e, n) { + (i = !0), + delete r.cancelCallbacks[t], + r.target.postMessage( + { + id: t, + type: '', + sourceMapId: r.mapId, + error: e ? Nn(e) : null, + data: Nn(n, a), + }, + a + ); + } + : function (t) { + i = !0; + }, + s = null, + l = jn(e.data); + if (this.parent[e.type]) + s = this.parent[e.type](e.sourceMapId, l, o); + else if (this.parent.getWorkerSource) { + var c = e.type.split('.'); + s = this.parent + .getWorkerSource(e.sourceMapId, c[0], l.source) + [c[1]](l, o); + } else o(new Error('Could not find function ' + e.type)); + !i && + s && + s.cancel && + (this.cancelCallbacks[t] = s.cancel); + } + }), + (Cc.prototype.remove = function () { + this.invoker.remove(), + this.target.removeEventListener( + 'message', + this.receive, + !1 + ); + }); + var Ic = function (t, e) { + t && + (e + ? this.setSouthWest(t).setNorthEast(e) + : 4 === t.length + ? this.setSouthWest([t[0], t[1]]).setNorthEast([ + t[2], + t[3], + ]) + : this.setSouthWest(t[0]).setNorthEast(t[1])); + }; + (Ic.prototype.setNorthEast = function (t) { + return ( + (this._ne = + t instanceof Pc ? new Pc(t.lng, t.lat) : Pc.convert(t)), + this + ); + }), + (Ic.prototype.setSouthWest = function (t) { + return ( + (this._sw = + t instanceof Pc ? new Pc(t.lng, t.lat) : Pc.convert(t)), + this + ); + }), + (Ic.prototype.extend = function (t) { + var e, + r, + n = this._sw, + i = this._ne; + if (t instanceof Pc) (e = t), (r = t); + else { + if (!(t instanceof Ic)) + return Array.isArray(t) + ? 4 === t.length || t.every(Array.isArray) + ? this.extend(Ic.convert(t)) + : this.extend(Pc.convert(t)) + : this; + if (((r = t._ne), !(e = t._sw) || !r)) return this; + } + return ( + n || i + ? ((n.lng = Math.min(e.lng, n.lng)), + (n.lat = Math.min(e.lat, n.lat)), + (i.lng = Math.max(r.lng, i.lng)), + (i.lat = Math.max(r.lat, i.lat))) + : ((this._sw = new Pc(e.lng, e.lat)), + (this._ne = new Pc(r.lng, r.lat))), + this + ); + }), + (Ic.prototype.getCenter = function () { + return new Pc( + (this._sw.lng + this._ne.lng) / 2, + (this._sw.lat + this._ne.lat) / 2 + ); + }), + (Ic.prototype.getSouthWest = function () { + return this._sw; + }), + (Ic.prototype.getNorthEast = function () { + return this._ne; + }), + (Ic.prototype.getNorthWest = function () { + return new Pc(this.getWest(), this.getNorth()); + }), + (Ic.prototype.getSouthEast = function () { + return new Pc(this.getEast(), this.getSouth()); + }), + (Ic.prototype.getWest = function () { + return this._sw.lng; + }), + (Ic.prototype.getSouth = function () { + return this._sw.lat; + }), + (Ic.prototype.getEast = function () { + return this._ne.lng; + }), + (Ic.prototype.getNorth = function () { + return this._ne.lat; + }), + (Ic.prototype.toArray = function () { + return [this._sw.toArray(), this._ne.toArray()]; + }), + (Ic.prototype.toString = function () { + return ( + 'LngLatBounds(' + + this._sw.toString() + + ', ' + + this._ne.toString() + + ')' + ); + }), + (Ic.prototype.isEmpty = function () { + return !(this._sw && this._ne); + }), + (Ic.prototype.contains = function (t) { + var e = Pc.convert(t), + r = e.lng, + n = e.lat, + i = this._sw.lng <= r && r <= this._ne.lng; + return ( + this._sw.lng > this._ne.lng && + (i = this._sw.lng >= r && r >= this._ne.lng), + this._sw.lat <= n && n <= this._ne.lat && i + ); + }), + (Ic.convert = function (t) { + return !t || t instanceof Ic ? t : new Ic(t); + }); + var Pc = function (t, e) { + if (isNaN(t) || isNaN(e)) + throw new Error( + 'Invalid LngLat object: (' + t + ', ' + e + ')' + ); + if ( + ((this.lng = +t), + (this.lat = +e), + this.lat > 90 || this.lat < -90) + ) + throw new Error( + 'Invalid LngLat latitude value: must be between -90 and 90' + ); + }; + (Pc.prototype.wrap = function () { + return new Pc(c(this.lng, -180, 180), this.lat); + }), + (Pc.prototype.toArray = function () { + return [this.lng, this.lat]; + }), + (Pc.prototype.toString = function () { + return 'LngLat(' + this.lng + ', ' + this.lat + ')'; + }), + (Pc.prototype.distanceTo = function (t) { + var e = Math.PI / 180, + r = this.lat * e, + n = t.lat * e, + i = + Math.sin(r) * Math.sin(n) + + Math.cos(r) * + Math.cos(n) * + Math.cos((t.lng - this.lng) * e); + return 6371008.8 * Math.acos(Math.min(i, 1)); + }), + (Pc.prototype.toBounds = function (t) { + void 0 === t && (t = 0); + var e = (360 * t) / 40075017, + r = e / Math.cos((Math.PI / 180) * this.lat); + return new Ic( + new Pc(this.lng - r, this.lat - e), + new Pc(this.lng + r, this.lat + e) + ); + }), + (Pc.convert = function (t) { + if (t instanceof Pc) return t; + if (Array.isArray(t) && (2 === t.length || 3 === t.length)) + return new Pc(Number(t[0]), Number(t[1])); + if (!Array.isArray(t) && 'object' == typeof t && null !== t) + return new Pc( + Number('lng' in t ? t.lng : t.lon), + Number(t.lat) + ); + throw new Error( + '`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]' + ); + }); + var zc = 2 * Math.PI * 6371008.8; + function Oc(t) { + return zc * Math.cos((t * Math.PI) / 180); + } + function Dc(t) { + return (180 + t) / 360; + } + function Rc(t) { + return ( + (180 - + (180 / Math.PI) * + Math.log(Math.tan(Math.PI / 4 + (t * Math.PI) / 360))) / + 360 + ); + } + function Fc(t, e) { + return t / Oc(e); + } + function Bc(t) { + return ( + (360 / Math.PI) * + Math.atan(Math.exp(((180 - 360 * t) * Math.PI) / 180)) - + 90 + ); + } + var Nc = function (t, e, r) { + void 0 === r && (r = 0), + (this.x = +t), + (this.y = +e), + (this.z = +r); + }; + (Nc.fromLngLat = function (t, e) { + void 0 === e && (e = 0); + var r = Pc.convert(t); + return new Nc(Dc(r.lng), Rc(r.lat), Fc(e, r.lat)); + }), + (Nc.prototype.toLngLat = function () { + return new Pc(360 * this.x - 180, Bc(this.y)); + }), + (Nc.prototype.toAltitude = function () { + return this.z * Oc(Bc(this.y)); + }), + (Nc.prototype.meterInMercatorCoordinateUnits = function () { + return ( + (1 / zc) * + ((t = Bc(this.y)), 1 / Math.cos((t * Math.PI) / 180)) + ); + var t; + }); + var jc = function (t, e, r) { + (this.z = t), + (this.x = e), + (this.y = r), + (this.key = qc(0, t, t, e, r)); + }; + (jc.prototype.equals = function (t) { + return this.z === t.z && this.x === t.x && this.y === t.y; + }), + (jc.prototype.url = function (t, e) { + var r, + n, + i, + a, + o, + s = + ((n = this.y), + (i = this.z), + (a = Lc( + 256 * (r = this.x), + 256 * (n = Math.pow(2, i) - n - 1), + i + )), + (o = Lc(256 * (r + 1), 256 * (n + 1), i)), + a[0] + ',' + a[1] + ',' + o[0] + ',' + o[1]), + l = (function (t, e, r) { + for (var n, i = '', a = t; a > 0; a--) + i += + (e & (n = 1 << (a - 1)) ? 1 : 0) + (r & n ? 2 : 0); + return i; + })(this.z, this.x, this.y); + return t[(this.x + this.y) % t.length] + .replace( + '{prefix}', + (this.x % 16).toString(16) + (this.y % 16).toString(16) + ) + .replace('{z}', String(this.z)) + .replace('{x}', String(this.x)) + .replace( + '{y}', + String( + 'tms' === e + ? Math.pow(2, this.z) - this.y - 1 + : this.y + ) + ) + .replace('{quadkey}', l) + .replace('{bbox-epsg-3857}', s); + }), + (jc.prototype.getTilePoint = function (t) { + var e = Math.pow(2, this.z); + return new i( + 8192 * (t.x * e - this.x), + 8192 * (t.y * e - this.y) + ); + }), + (jc.prototype.toString = function () { + return this.z + '/' + this.x + '/' + this.y; + }); + var Uc = function (t, e) { + (this.wrap = t), + (this.canonical = e), + (this.key = qc(t, e.z, e.z, e.x, e.y)); + }, + Vc = function (t, e, r, n, i) { + (this.overscaledZ = t), + (this.wrap = e), + (this.canonical = new jc(r, +n, +i)), + (this.key = qc(e, t, r, n, i)); + }; + function qc(t, e, r, n, i) { + (t *= 2) < 0 && (t = -1 * t - 1); + var a = 1 << r; + return ( + (a * a * t + a * i + n).toString(36) + + r.toString(36) + + e.toString(36) + ); + } + (Vc.prototype.equals = function (t) { + return ( + this.overscaledZ === t.overscaledZ && + this.wrap === t.wrap && + this.canonical.equals(t.canonical) + ); + }), + (Vc.prototype.scaledTo = function (t) { + var e = this.canonical.z - t; + return t > this.canonical.z + ? new Vc( + t, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y + ) + : new Vc( + t, + this.wrap, + t, + this.canonical.x >> e, + this.canonical.y >> e + ); + }), + (Vc.prototype.calculateScaledKey = function (t, e) { + var r = this.canonical.z - t; + return t > this.canonical.z + ? qc( + this.wrap * +e, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y + ) + : qc( + this.wrap * +e, + t, + t, + this.canonical.x >> r, + this.canonical.y >> r + ); + }), + (Vc.prototype.isChildOf = function (t) { + if (t.wrap !== this.wrap) return !1; + var e = this.canonical.z - t.canonical.z; + return ( + 0 === t.overscaledZ || + (t.overscaledZ < this.overscaledZ && + t.canonical.x === this.canonical.x >> e && + t.canonical.y === this.canonical.y >> e) + ); + }), + (Vc.prototype.children = function (t) { + if (this.overscaledZ >= t) + return [ + new Vc( + this.overscaledZ + 1, + this.wrap, + this.canonical.z, + this.canonical.x, + this.canonical.y + ), + ]; + var e = this.canonical.z + 1, + r = 2 * this.canonical.x, + n = 2 * this.canonical.y; + return [ + new Vc(e, this.wrap, e, r, n), + new Vc(e, this.wrap, e, r + 1, n), + new Vc(e, this.wrap, e, r, n + 1), + new Vc(e, this.wrap, e, r + 1, n + 1), + ]; + }), + (Vc.prototype.isLessThan = function (t) { + return ( + this.wrap < t.wrap || + (!(this.wrap > t.wrap) && + (this.overscaledZ < t.overscaledZ || + (!(this.overscaledZ > t.overscaledZ) && + (this.canonical.x < t.canonical.x || + (!(this.canonical.x > t.canonical.x) && + this.canonical.y < t.canonical.y))))) + ); + }), + (Vc.prototype.wrapped = function () { + return new Vc( + this.overscaledZ, + 0, + this.canonical.z, + this.canonical.x, + this.canonical.y + ); + }), + (Vc.prototype.unwrapTo = function (t) { + return new Vc( + this.overscaledZ, + t, + this.canonical.z, + this.canonical.x, + this.canonical.y + ); + }), + (Vc.prototype.overscaleFactor = function () { + return Math.pow(2, this.overscaledZ - this.canonical.z); + }), + (Vc.prototype.toUnwrapped = function () { + return new Uc(this.wrap, this.canonical); + }), + (Vc.prototype.toString = function () { + return ( + this.overscaledZ + + '/' + + this.canonical.x + + '/' + + this.canonical.y + ); + }), + (Vc.prototype.getTilePoint = function (t) { + return this.canonical.getTilePoint( + new Nc(t.x - this.wrap, t.y) + ); + }), + Dn('CanonicalTileID', jc), + Dn('OverscaledTileID', Vc, { omit: ['posMatrix'] }); + var Hc = function (t, e, r) { + if (((this.uid = t), e.height !== e.width)) + throw new RangeError('DEM tiles must be square'); + if (r && 'mapbox' !== r && 'terrarium' !== r) + return _( + '"' + + r + + '" is not a valid encoding type. Valid types include "mapbox" and "terrarium".' + ); + this.stride = e.height; + var n = (this.dim = e.height - 2); + (this.data = new Uint32Array(e.data.buffer)), + (this.encoding = r || 'mapbox'); + for (var i = 0; i < n; i++) + (this.data[this._idx(-1, i)] = this.data[this._idx(0, i)]), + (this.data[this._idx(n, i)] = + this.data[this._idx(n - 1, i)]), + (this.data[this._idx(i, -1)] = + this.data[this._idx(i, 0)]), + (this.data[this._idx(i, n)] = + this.data[this._idx(i, n - 1)]); + (this.data[this._idx(-1, -1)] = this.data[this._idx(0, 0)]), + (this.data[this._idx(n, -1)] = + this.data[this._idx(n - 1, 0)]), + (this.data[this._idx(-1, n)] = + this.data[this._idx(0, n - 1)]), + (this.data[this._idx(n, n)] = + this.data[this._idx(n - 1, n - 1)]); + }; + (Hc.prototype.get = function (t, e) { + var r = new Uint8Array(this.data.buffer), + n = 4 * this._idx(t, e); + return ( + 'terrarium' === this.encoding + ? this._unpackTerrarium + : this._unpackMapbox + )(r[n], r[n + 1], r[n + 2]); + }), + (Hc.prototype.getUnpackVector = function () { + return 'terrarium' === this.encoding + ? [256, 1, 1 / 256, 32768] + : [6553.6, 25.6, 0.1, 1e4]; + }), + (Hc.prototype._idx = function (t, e) { + if ( + t < -1 || + t >= this.dim + 1 || + e < -1 || + e >= this.dim + 1 + ) + throw new RangeError( + 'out of range source coordinates for DEM data' + ); + return (e + 1) * this.stride + (t + 1); + }), + (Hc.prototype._unpackMapbox = function (t, e, r) { + return (256 * t * 256 + 256 * e + r) / 10 - 1e4; + }), + (Hc.prototype._unpackTerrarium = function (t, e, r) { + return 256 * t + e + r / 256 - 32768; + }), + (Hc.prototype.getPixels = function () { + return new po( + { width: this.stride, height: this.stride }, + new Uint8Array(this.data.buffer) + ); + }), + (Hc.prototype.backfillBorder = function (t, e, r) { + if (this.dim !== t.dim) + throw new Error('dem dimension mismatch'); + var n = e * this.dim, + i = e * this.dim + this.dim, + a = r * this.dim, + o = r * this.dim + this.dim; + switch (e) { + case -1: + n = i - 1; + break; + case 1: + i = n + 1; + } + switch (r) { + case -1: + a = o - 1; + break; + case 1: + o = a + 1; + } + for ( + var s = -e * this.dim, l = -r * this.dim, c = a; + c < o; + c++ + ) + for (var u = n; u < i; u++) + this.data[this._idx(u, c)] = + t.data[this._idx(u + s, c + l)]; + }), + Dn('DEMData', Hc); + var Gc = function (t) { + (this._stringToNumber = {}), (this._numberToString = []); + for (var e = 0; e < t.length; e++) { + var r = t[e]; + (this._stringToNumber[r] = e), + (this._numberToString[e] = r); + } + }; + (Gc.prototype.encode = function (t) { + return this._stringToNumber[t]; + }), + (Gc.prototype.decode = function (t) { + return this._numberToString[t]; + }); + var Yc = function (t, e, r, n, i) { + (this.type = 'Feature'), + (this._vectorTileFeature = t), + (t._z = e), + (t._x = r), + (t._y = n), + (this.properties = t.properties), + (this.id = i); + }, + Wc = { geometry: { configurable: !0 } }; + (Wc.geometry.get = function () { + return ( + void 0 === this._geometry && + (this._geometry = this._vectorTileFeature.toGeoJSON( + this._vectorTileFeature._x, + this._vectorTileFeature._y, + this._vectorTileFeature._z + ).geometry), + this._geometry + ); + }), + (Wc.geometry.set = function (t) { + this._geometry = t; + }), + (Yc.prototype.toJSON = function () { + var t = { geometry: this.geometry }; + for (var e in this) + '_geometry' !== e && + '_vectorTileFeature' !== e && + (t[e] = this[e]); + return t; + }), + Object.defineProperties(Yc.prototype, Wc); + var Xc = function () { + (this.state = {}), + (this.stateChanges = {}), + (this.deletedStates = {}); + }; + (Xc.prototype.updateState = function (t, e, r) { + var n = String(e); + if ( + ((this.stateChanges[t] = this.stateChanges[t] || {}), + (this.stateChanges[t][n] = this.stateChanges[t][n] || {}), + u(this.stateChanges[t][n], r), + null === this.deletedStates[t]) + ) + for (var i in ((this.deletedStates[t] = {}), this.state[t])) + i !== n && (this.deletedStates[t][i] = null); + else if ( + this.deletedStates[t] && + null === this.deletedStates[t][n] + ) + for (var a in ((this.deletedStates[t][n] = {}), + this.state[t][n])) + r[a] || (this.deletedStates[t][n][a] = null); + else + for (var o in r) + this.deletedStates[t] && + this.deletedStates[t][n] && + null === this.deletedStates[t][n][o] && + delete this.deletedStates[t][n][o]; + }), + (Xc.prototype.removeFeatureState = function (t, e, r) { + if (null !== this.deletedStates[t]) { + var n = String(e); + if ( + ((this.deletedStates[t] = this.deletedStates[t] || {}), + r && void 0 !== e) + ) + null !== this.deletedStates[t][n] && + ((this.deletedStates[t][n] = + this.deletedStates[t][n] || {}), + (this.deletedStates[t][n][r] = null)); + else if (void 0 !== e) + if (this.stateChanges[t] && this.stateChanges[t][n]) + for (r in ((this.deletedStates[t][n] = {}), + this.stateChanges[t][n])) + this.deletedStates[t][n][r] = null; + else this.deletedStates[t][n] = null; + else this.deletedStates[t] = null; + } + }), + (Xc.prototype.getState = function (t, e) { + var r = String(e), + n = u( + {}, + (this.state[t] || {})[r], + (this.stateChanges[t] || {})[r] + ); + if (null === this.deletedStates[t]) return {}; + if (this.deletedStates[t]) { + var i = this.deletedStates[t][e]; + if (null === i) return {}; + for (var a in i) delete n[a]; + } + return n; + }), + (Xc.prototype.initializeTileState = function (t, e) { + t.setFeatureState(this.state, e); + }), + (Xc.prototype.coalesceChanges = function (t, e) { + var r = {}; + for (var n in this.stateChanges) { + this.state[n] = this.state[n] || {}; + var i = {}; + for (var a in this.stateChanges[n]) + this.state[n][a] || (this.state[n][a] = {}), + u(this.state[n][a], this.stateChanges[n][a]), + (i[a] = this.state[n][a]); + r[n] = i; + } + for (var o in this.deletedStates) { + this.state[o] = this.state[o] || {}; + var s = {}; + if (null === this.deletedStates[o]) + for (var l in this.state[o]) + (s[l] = {}), (this.state[o][l] = {}); + else + for (var c in this.deletedStates[o]) { + if (null === this.deletedStates[o][c]) + this.state[o][c] = {}; + else + for ( + var f = 0, + h = Object.keys(this.deletedStates[o][c]); + f < h.length; + f += 1 + ) + delete this.state[o][c][h[f]]; + s[c] = this.state[o][c]; + } + (r[o] = r[o] || {}), u(r[o], s); + } + if ( + ((this.stateChanges = {}), + (this.deletedStates = {}), + 0 !== Object.keys(r).length) + ) + for (var p in t) t[p].setFeatureState(r, e); + }); + var Zc = function (t, e) { + (this.tileID = t), + (this.x = t.canonical.x), + (this.y = t.canonical.y), + (this.z = t.canonical.z), + (this.grid = new Ln(8192, 16, 0)), + (this.grid3D = new Ln(8192, 16, 0)), + (this.featureIndexArray = new ra()), + (this.promoteId = e); + }; + function Jc(t, e, r, n, i) { + return v(t, function (t, a) { + var o = e instanceof hi ? e.get(a) : null; + return o && o.evaluate ? o.evaluate(r, n, i) : o; + }); + } + function Kc(t) { + for ( + var e = 1 / 0, + r = 1 / 0, + n = -1 / 0, + i = -1 / 0, + a = 0, + o = t; + a < o.length; + a += 1 + ) { + var s = o[a]; + (e = Math.min(e, s.x)), + (r = Math.min(r, s.y)), + (n = Math.max(n, s.x)), + (i = Math.max(i, s.y)); + } + return { minX: e, minY: r, maxX: n, maxY: i }; + } + function Qc(t, e) { + return e - t; + } + (Zc.prototype.insert = function (t, e, r, n, i, a) { + var o = this.featureIndexArray.length; + this.featureIndexArray.emplaceBack(r, n, i); + for ( + var s = a ? this.grid3D : this.grid, l = 0; + l < e.length; + l++ + ) { + for ( + var c = e[l], u = [1 / 0, 1 / 0, -1 / 0, -1 / 0], f = 0; + f < c.length; + f++ + ) { + var h = c[f]; + (u[0] = Math.min(u[0], h.x)), + (u[1] = Math.min(u[1], h.y)), + (u[2] = Math.max(u[2], h.x)), + (u[3] = Math.max(u[3], h.y)); + } + u[0] < 8192 && + u[1] < 8192 && + u[2] >= 0 && + u[3] >= 0 && + s.insert(o, u[0], u[1], u[2], u[3]); + } + }), + (Zc.prototype.loadVTLayers = function () { + return ( + this.vtLayers || + ((this.vtLayers = new gs.VectorTile( + new Hs(this.rawTileData) + ).layers), + (this.sourceLayerCoder = new Gc( + this.vtLayers + ? Object.keys(this.vtLayers).sort() + : ['_geojsonTileLayer'] + ))), + this.vtLayers + ); + }), + (Zc.prototype.query = function (t, e, r, n) { + var a = this; + this.loadVTLayers(); + for ( + var o = t.params || {}, + s = 8192 / t.tileSize / t.scale, + l = rn(o.filter), + c = t.queryGeometry, + u = t.queryPadding * s, + f = Kc(c), + h = this.grid.query( + f.minX - u, + f.minY - u, + f.maxX + u, + f.maxY + u + ), + p = Kc(t.cameraQueryGeometry), + d = 0, + g = this.grid3D.query( + p.minX - u, + p.minY - u, + p.maxX + u, + p.maxY + u, + function (e, r, n, a) { + return (function (t, e, r, n, a) { + for (var o = 0, s = t; o < s.length; o += 1) { + var l = s[o]; + if ( + e <= l.x && + r <= l.y && + n >= l.x && + a >= l.y + ) + return !0; + } + var c = [ + new i(e, r), + new i(e, a), + new i(n, a), + new i(n, r), + ]; + if (t.length > 2) + for (var u = 0, f = c; u < f.length; u += 1) + if (Wa(t, f[u])) return !0; + for (var h = 0; h < t.length - 1; h++) + if (Xa(t[h], t[h + 1], c)) return !0; + return !1; + })( + t.cameraQueryGeometry, + e - u, + r - u, + n + u, + a + u + ); + } + ); + d < g.length; + d += 1 + ) + h.push(g[d]); + h.sort(Qc); + for ( + var m, + v = {}, + y = function (i) { + var u = h[i]; + if (u !== m) { + m = u; + var f = a.featureIndexArray.get(u), + p = null; + a.loadMatchingFeature( + v, + f.bucketIndex, + f.sourceLayerIndex, + f.featureIndex, + l, + o.layers, + o.availableImages, + e, + r, + n, + function (e, r, n) { + return ( + p || (p = Da(e)), + r.queryIntersectsFeature( + c, + e, + n, + p, + a.z, + t.transform, + s, + t.pixelPosMatrix + ) + ); + } + ); + } + }, + x = 0; + x < h.length; + x++ + ) + y(x); + return v; + }), + (Zc.prototype.loadMatchingFeature = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u + ) { + var f = this.bucketLayerIDs[e]; + if ( + !a || + (function (t, e) { + for (var r = 0; r < t.length; r++) + if (e.indexOf(t[r]) >= 0) return !0; + return !1; + })(a, f) + ) { + var h = this.sourceLayerCoder.decode(r), + p = this.vtLayers[h].feature(n); + if (i.filter(new ii(this.tileID.overscaledZ), p)) + for ( + var d = this.getId(p, h), g = 0; + g < f.length; + g++ + ) { + var m = f[g]; + if (!(a && a.indexOf(m) < 0)) { + var v = s[m]; + if (v) { + var y = {}; + void 0 !== d && + c && + (y = c.getState( + v.sourceLayer || '_geojsonTileLayer', + d + )); + var x = l[m]; + (x.paint = Jc(x.paint, v.paint, p, y, o)), + (x.layout = Jc(x.layout, v.layout, p, y, o)); + var b = !u || u(p, v, y); + if (b) { + var _ = new Yc(p, this.z, this.x, this.y, d); + _.layer = x; + var w = t[m]; + void 0 === w && (w = t[m] = []), + w.push({ + featureIndex: n, + feature: _, + intersectionZ: b, + }); + } + } + } + } + } + }), + (Zc.prototype.lookupSymbolFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s + ) { + var l = {}; + this.loadVTLayers(); + for (var c = rn(i), u = 0, f = t; u < f.length; u += 1) + this.loadMatchingFeature(l, r, n, f[u], c, a, o, s, e); + return l; + }), + (Zc.prototype.hasLayer = function (t) { + for ( + var e = 0, r = this.bucketLayerIDs; + e < r.length; + e += 1 + ) + for (var n = 0, i = r[e]; n < i.length; n += 1) + if (t === i[n]) return !0; + return !1; + }), + (Zc.prototype.getId = function (t, e) { + var r = t.id; + return ( + this.promoteId && + 'boolean' == + typeof (r = + t.properties[ + 'string' == typeof this.promoteId + ? this.promoteId + : this.promoteId[e] + ]) && + (r = Number(r)), + r + ); + }), + Dn('FeatureIndex', Zc, { + omit: ['rawTileData', 'sourceLayerCoder'], + }); + var $c = function (t, e) { + (this.tileID = t), + (this.uid = h()), + (this.uses = 0), + (this.tileSize = e), + (this.buckets = {}), + (this.expirationTime = null), + (this.queryPadding = 0), + (this.hasSymbolBuckets = !1), + (this.hasRTLText = !1), + (this.dependencies = {}), + (this.expiredRequestCount = 0), + (this.state = 'loading'); + }; + ($c.prototype.registerFadeDuration = function (t) { + var e = t + this.timeAdded; + e < R.now() || + (this.fadeEndTime && e < this.fadeEndTime) || + (this.fadeEndTime = e); + }), + ($c.prototype.wasRequested = function () { + return ( + 'errored' === this.state || + 'loaded' === this.state || + 'reloading' === this.state + ); + }), + ($c.prototype.loadVectorData = function (t, e, r) { + if ( + (this.hasData() && this.unloadVectorData(), + (this.state = 'loaded'), + t) + ) { + for (var n in (t.featureIndex && + ((this.latestFeatureIndex = t.featureIndex), + t.rawTileData + ? ((this.latestRawTileData = t.rawTileData), + (this.latestFeatureIndex.rawTileData = + t.rawTileData)) + : this.latestRawTileData && + (this.latestFeatureIndex.rawTileData = + this.latestRawTileData)), + (this.collisionBoxArray = t.collisionBoxArray), + (this.buckets = (function (t, e) { + var r = {}; + if (!e) return r; + for ( + var n = function () { + var t = a[i], + n = t.layerIds + .map(function (t) { + return e.getLayer(t); + }) + .filter(Boolean); + if (0 !== n.length) { + (t.layers = n), + t.stateDependentLayerIds && + (t.stateDependentLayers = + t.stateDependentLayerIds.map(function ( + t + ) { + return n.filter(function (e) { + return e.id === t; + })[0]; + })); + for (var o = 0, s = n; o < s.length; o += 1) + r[s[o].id] = t; + } + }, + i = 0, + a = t; + i < a.length; + i += 1 + ) + n(); + return r; + })(t.buckets, e.style)), + (this.hasSymbolBuckets = !1), + this.buckets)) { + var i = this.buckets[n]; + if (i instanceof fc) { + if (((this.hasSymbolBuckets = !0), !r)) break; + i.justReloaded = !0; + } + } + if (((this.hasRTLText = !1), this.hasSymbolBuckets)) + for (var a in this.buckets) { + var o = this.buckets[a]; + if (o instanceof fc && o.hasRTLText) { + (this.hasRTLText = !0), + ni.isLoading() || + ni.isLoaded() || + 'deferred' !== ei() || + ri(); + break; + } + } + for (var s in ((this.queryPadding = 0), this.buckets)) { + var l = this.buckets[s]; + this.queryPadding = Math.max( + this.queryPadding, + e.style.getLayer(s).queryRadius(l) + ); + } + t.imageAtlas && (this.imageAtlas = t.imageAtlas), + t.glyphAtlasImage && + (this.glyphAtlasImage = t.glyphAtlasImage); + } else this.collisionBoxArray = new Xi(); + }), + ($c.prototype.unloadVectorData = function () { + for (var t in this.buckets) this.buckets[t].destroy(); + (this.buckets = {}), + this.imageAtlasTexture && + this.imageAtlasTexture.destroy(), + this.imageAtlas && (this.imageAtlas = null), + this.glyphAtlasTexture && + this.glyphAtlasTexture.destroy(), + (this.latestFeatureIndex = null), + (this.state = 'unloaded'); + }), + ($c.prototype.getBucket = function (t) { + return this.buckets[t.id]; + }), + ($c.prototype.upload = function (t) { + for (var e in this.buckets) { + var r = this.buckets[e]; + r.uploadPending() && r.upload(t); + } + var n = t.gl; + this.imageAtlas && + !this.imageAtlas.uploaded && + ((this.imageAtlasTexture = new Sc( + t, + this.imageAtlas.image, + n.RGBA + )), + (this.imageAtlas.uploaded = !0)), + this.glyphAtlasImage && + ((this.glyphAtlasTexture = new Sc( + t, + this.glyphAtlasImage, + n.ALPHA + )), + (this.glyphAtlasImage = null)); + }), + ($c.prototype.prepare = function (t) { + this.imageAtlas && + this.imageAtlas.patchUpdatedImages( + t, + this.imageAtlasTexture + ); + }), + ($c.prototype.queryRenderedFeatures = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c + ) { + return this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData + ? this.latestFeatureIndex.query( + { + queryGeometry: n, + cameraQueryGeometry: i, + scale: a, + tileSize: this.tileSize, + pixelPosMatrix: c, + transform: s, + params: o, + queryPadding: this.queryPadding * l, + }, + t, + e, + r + ) + : {}; + }), + ($c.prototype.querySourceFeatures = function (t, e) { + var r = this.latestFeatureIndex; + if (r && r.rawTileData) { + var n = r.loadVTLayers(), + i = e ? e.sourceLayer : '', + a = n._geojsonTileLayer || n[i]; + if (a) + for ( + var o = rn(e && e.filter), + s = this.tileID.canonical, + l = s.z, + c = s.x, + u = s.y, + f = { z: l, x: c, y: u }, + h = 0; + h < a.length; + h++ + ) { + var p = a.feature(h); + if (o.filter(new ii(this.tileID.overscaledZ), p)) { + var d = r.getId(p, i), + g = new Yc(p, l, c, u, d); + (g.tile = f), t.push(g); + } + } + } + }), + ($c.prototype.hasData = function () { + return ( + 'loaded' === this.state || + 'reloading' === this.state || + 'expired' === this.state + ); + }), + ($c.prototype.patternsLoaded = function () { + return ( + this.imageAtlas && + !!Object.keys(this.imageAtlas.patternPositions).length + ); + }), + ($c.prototype.setExpiryData = function (t) { + var e = this.expirationTime; + if (t.cacheControl) { + var r = M(t.cacheControl); + r['max-age'] && + (this.expirationTime = Date.now() + 1e3 * r['max-age']); + } else + t.expires && + (this.expirationTime = new Date(t.expires).getTime()); + if (this.expirationTime) { + var n = Date.now(), + i = !1; + if (this.expirationTime > n) i = !1; + else if (e) + if (this.expirationTime < e) i = !0; + else { + var a = this.expirationTime - e; + a + ? (this.expirationTime = n + Math.max(a, 3e4)) + : (i = !0); + } + else i = !0; + i + ? (this.expiredRequestCount++, (this.state = 'expired')) + : (this.expiredRequestCount = 0); + } + }), + ($c.prototype.getExpiryTimeout = function () { + if (this.expirationTime) + return this.expiredRequestCount + ? 1e3 * + (1 << Math.min(this.expiredRequestCount - 1, 31)) + : Math.min( + this.expirationTime - new Date().getTime(), + Math.pow(2, 31) - 1 + ); + }), + ($c.prototype.setFeatureState = function (t, e) { + if ( + this.latestFeatureIndex && + this.latestFeatureIndex.rawTileData && + 0 !== Object.keys(t).length + ) { + var r = this.latestFeatureIndex.loadVTLayers(); + for (var n in this.buckets) + if (e.style.hasLayer(n)) { + var i = this.buckets[n], + a = i.layers[0].sourceLayer || '_geojsonTileLayer', + o = r[a], + s = t[a]; + if (o && s && 0 !== Object.keys(s).length) { + i.update( + s, + o, + (this.imageAtlas && + this.imageAtlas.patternPositions) || + {} + ); + var l = e && e.style && e.style.getLayer(n); + l && + (this.queryPadding = Math.max( + this.queryPadding, + l.queryRadius(i) + )); + } + } + } + }), + ($c.prototype.holdingForFade = function () { + return void 0 !== this.symbolFadeHoldUntil; + }), + ($c.prototype.symbolFadeFinished = function () { + return ( + !this.symbolFadeHoldUntil || + this.symbolFadeHoldUntil < R.now() + ); + }), + ($c.prototype.clearFadeHold = function () { + this.symbolFadeHoldUntil = void 0; + }), + ($c.prototype.setHoldDuration = function (t) { + this.symbolFadeHoldUntil = R.now() + t; + }), + ($c.prototype.setDependencies = function (t, e) { + for (var r = {}, n = 0, i = e; n < i.length; n += 1) + r[i[n]] = !0; + this.dependencies[t] = r; + }), + ($c.prototype.hasDependency = function (t, e) { + for (var r = 0, n = t; r < n.length; r += 1) { + var i = this.dependencies[n[r]]; + if (i) + for (var a = 0, o = e; a < o.length; a += 1) + if (i[o[a]]) return !0; + } + return !1; + }); + var tu = self.performance, + eu = function (t) { + (this._marks = { + start: [t.url, 'start'].join('#'), + end: [t.url, 'end'].join('#'), + measure: t.url.toString(), + }), + tu.mark(this._marks.start); + }; + (eu.prototype.finish = function () { + tu.mark(this._marks.end); + var t = tu.getEntriesByName(this._marks.measure); + return ( + 0 === t.length && + (tu.measure( + this._marks.measure, + this._marks.start, + this._marks.end + ), + (t = tu.getEntriesByName(this._marks.measure)), + tu.clearMarks(this._marks.start), + tu.clearMarks(this._marks.end), + tu.clearMeasures(this._marks.measure)), + t + ); + }), + (t.Actor = Cc), + (t.AlphaImage = ho), + (t.CanonicalTileID = jc), + (t.CollisionBoxArray = Xi), + (t.Color = Kt), + (t.DEMData = Hc), + (t.DataConstantProperty = pi), + (t.DictionaryCoder = Gc), + (t.EXTENT = 8192), + (t.ErrorEvent = kt), + (t.EvaluationParameters = ii), + (t.Event = Tt), + (t.Evented = Mt), + (t.FeatureIndex = Zc), + (t.FillBucket = rs), + (t.FillExtrusionBucket = xs), + (t.ImageAtlas = dl), + (t.ImagePosition = hl), + (t.LineBucket = Cs), + (t.LngLat = Pc), + (t.LngLatBounds = Ic), + (t.MercatorCoordinate = Nc), + (t.ONE_EM = 24), + (t.OverscaledTileID = Vc), + (t.Point = i), + (t.Point$1 = i), + (t.Properties = yi), + (t.Protobuf = Hs), + (t.RGBAImage = po), + (t.RequestManager = q), + (t.RequestPerformance = eu), + (t.ResourceType = ht), + (t.SegmentVector = ia), + (t.SourceFeatureState = Xc), + (t.StructArrayLayout1ui2 = Hi), + (t.StructArrayLayout2f1f2i16 = Di), + (t.StructArrayLayout2i4 = Mi), + (t.StructArrayLayout3ui6 = Fi), + (t.StructArrayLayout4i8 = Ai), + (t.SymbolBucket = fc), + (t.Texture = Sc), + (t.Tile = $c), + (t.Transitionable = si), + (t.Uniform1f = va), + (t.Uniform1i = ma), + (t.Uniform2f = ya), + (t.Uniform3f = xa), + (t.Uniform4f = ba), + (t.UniformColor = _a), + (t.UniformMatrix4f = Ta), + (t.UnwrappedTileID = Uc), + (t.ValidationError = St), + (t.WritingMode = gl), + (t.ZoomHistory = Un), + (t.add = function (t, e, r) { + return ( + (t[0] = e[0] + r[0]), + (t[1] = e[1] + r[1]), + (t[2] = e[2] + r[2]), + t + ); + }), + (t.addDynamicAttributes = sc), + (t.asyncAll = function (t, e, r) { + if (!t.length) return r(null, []); + var n = t.length, + i = new Array(t.length), + a = null; + t.forEach(function (t, o) { + e(t, function (t, e) { + t && (a = t), (i[o] = e), 0 == --n && r(a, i); + }); + }); + }), + (t.bezier = o), + (t.bindAll = g), + (t.browser = R), + (t.cacheEntryPossiblyAdded = function (t) { + ++ut > ot && + (t.getActor().send('enforceCacheSizeLimit', at), + (ut = 0)); + }), + (t.clamp = l), + (t.clearTileCache = function (t) { + var e = self.caches.delete('mapbox-tiles'); + t && + e.catch(t).then(function () { + return t(); + }); + }), + (t.clipLine = jl), + (t.clone = function (t) { + var e = new to(16); + return ( + (e[0] = t[0]), + (e[1] = t[1]), + (e[2] = t[2]), + (e[3] = t[3]), + (e[4] = t[4]), + (e[5] = t[5]), + (e[6] = t[6]), + (e[7] = t[7]), + (e[8] = t[8]), + (e[9] = t[9]), + (e[10] = t[10]), + (e[11] = t[11]), + (e[12] = t[12]), + (e[13] = t[13]), + (e[14] = t[14]), + (e[15] = t[15]), + e + ); + }), + (t.clone$1 = x), + (t.clone$2 = function (t) { + var e = new to(3); + return (e[0] = t[0]), (e[1] = t[1]), (e[2] = t[2]), e; + }), + (t.collisionCircleLayout = Ns), + (t.config = F), + (t.create = function () { + var t = new to(16); + return ( + to != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = 0), + (t[12] = 0), + (t[13] = 0), + (t[14] = 0)), + (t[0] = 1), + (t[5] = 1), + (t[10] = 1), + (t[15] = 1), + t + ); + }), + (t.create$1 = function () { + var t = new to(9); + return ( + to != Float32Array && + ((t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0)), + (t[0] = 1), + (t[4] = 1), + (t[8] = 1), + t + ); + }), + (t.create$2 = function () { + var t = new to(4); + return ( + to != Float32Array && ((t[1] = 0), (t[2] = 0)), + (t[0] = 1), + (t[3] = 1), + t + ); + }), + (t.createCommonjsModule = e), + (t.createExpression = qr), + (t.createLayout = Ti), + (t.createStyleLayer = function (t) { + return 'custom' === t.type ? new bc(t) : new _c[t.type](t); + }), + (t.cross = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = r[0], + s = r[1], + l = r[2]; + return ( + (t[0] = i * l - a * s), + (t[1] = a * o - n * l), + (t[2] = n * s - i * o), + t + ); + }), + (t.deepEqual = function t(e, r) { + if (Array.isArray(e)) { + if (!Array.isArray(r) || e.length !== r.length) return !1; + for (var n = 0; n < e.length; n++) + if (!t(e[n], r[n])) return !1; + return !0; + } + if ('object' == typeof e && null !== e && null !== r) { + if ('object' != typeof r) return !1; + if (Object.keys(e).length !== Object.keys(r).length) + return !1; + for (var i in e) if (!t(e[i], r[i])) return !1; + return !0; + } + return e === r; + }), + (t.dot = function (t, e) { + return t[0] * e[0] + t[1] * e[1] + t[2] * e[2]; + }), + (t.dot$1 = function (t, e) { + return ( + t[0] * e[0] + t[1] * e[1] + t[2] * e[2] + t[3] * e[3] + ); + }), + (t.ease = s), + (t.emitValidationErrors = Cn), + (t.endsWith = m), + (t.enforceCacheSizeLimit = function (t) { + st(), + Q && + Q.then(function (e) { + e.keys().then(function (r) { + for (var n = 0; n < r.length - t; n++) + e.delete(r[n]); + }); + }); + }), + (t.evaluateSizeForFeature = Il), + (t.evaluateSizeForZoom = Pl), + (t.evaluateVariableOffset = $l), + (t.evented = ti), + (t.extend = u), + (t.featureFilter = rn), + (t.filterObject = y), + (t.fromRotation = function (t, e) { + var r = Math.sin(e), + n = Math.cos(e); + return ( + (t[0] = n), + (t[1] = r), + (t[2] = 0), + (t[3] = -r), + (t[4] = n), + (t[5] = 0), + (t[6] = 0), + (t[7] = 0), + (t[8] = 1), + t + ); + }), + (t.getAnchorAlignment = Al), + (t.getAnchorJustification = tc), + (t.getArrayBuffer = yt), + (t.getImage = bt), + (t.getJSON = function (t, e) { + return vt(u(t, { type: 'json' }), e); + }), + (t.getRTLTextPluginStatus = ei), + (t.getReferrer = mt), + (t.getVideo = function (t, e) { + var r, + n, + i = self.document.createElement('video'); + (i.muted = !0), + (i.onloadstart = function () { + e(null, i); + }); + for (var a = 0; a < t.length; a++) { + var o = self.document.createElement('source'); + (r = t[a]), + (n = void 0), + ((n = self.document.createElement('a')).href = r), + (n.protocol !== self.document.location.protocol || + n.host !== self.document.location.host) && + (i.crossOrigin = 'Anonymous'), + (o.src = t[a]), + i.appendChild(o); + } + return { cancel: function () {} }; + }), + (t.identity = eo), + (t.invert = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = e[4], + s = e[5], + l = e[6], + c = e[7], + u = e[8], + f = e[9], + h = e[10], + p = e[11], + d = e[12], + g = e[13], + m = e[14], + v = e[15], + y = r * s - n * o, + x = r * l - i * o, + b = r * c - a * o, + _ = n * l - i * s, + w = n * c - a * s, + T = i * c - a * l, + k = u * g - f * d, + M = u * m - h * d, + A = u * v - p * d, + S = f * m - h * g, + E = f * v - p * g, + C = h * v - p * m, + L = y * C - x * E + b * S + _ * A - w * M + T * k; + return L + ? ((t[0] = (s * C - l * E + c * S) * (L = 1 / L)), + (t[1] = (i * E - n * C - a * S) * L), + (t[2] = (g * T - m * w + v * _) * L), + (t[3] = (h * w - f * T - p * _) * L), + (t[4] = (l * A - o * C - c * M) * L), + (t[5] = (r * C - i * A + a * M) * L), + (t[6] = (m * b - d * T - v * x) * L), + (t[7] = (u * T - h * b + p * x) * L), + (t[8] = (o * E - s * A + c * k) * L), + (t[9] = (n * A - r * E - a * k) * L), + (t[10] = (d * w - g * b + v * y) * L), + (t[11] = (f * b - u * w - p * y) * L), + (t[12] = (s * M - o * S - l * k) * L), + (t[13] = (r * S - n * M + i * k) * L), + (t[14] = (g * x - d * _ - m * y) * L), + (t[15] = (u * _ - f * x + h * y) * L), + t) + : null; + }), + (t.isChar = Vn), + (t.isMapboxURL = H), + (t.keysDifference = function (t, e) { + var r = []; + for (var n in t) n in e || r.push(n); + return r; + }), + (t.makeRequest = vt), + (t.mapObject = v), + (t.mercatorXfromLng = Dc), + (t.mercatorYfromLat = Rc), + (t.mercatorZfromAltitude = Fc), + (t.mul = io), + (t.multiply = ro), + (t.mvt = gs), + (t.normalize = function (t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = r * r + n * n + i * i; + return ( + a > 0 && (a = 1 / Math.sqrt(a)), + (t[0] = e[0] * a), + (t[1] = e[1] * a), + (t[2] = e[2] * a), + t + ); + }), + (t.number = Ue), + (t.offscreenCanvasSupported = ft), + (t.ortho = function (t, e, r, n, i, a, o) { + var s = 1 / (e - r), + l = 1 / (n - i), + c = 1 / (a - o); + return ( + (t[0] = -2 * s), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = -2 * l), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[10] = 2 * c), + (t[11] = 0), + (t[12] = (e + r) * s), + (t[13] = (i + n) * l), + (t[14] = (o + a) * c), + (t[15] = 1), + t + ); + }), + (t.parseGlyphPBF = function (t) { + return new Hs(t).readFields(ll, []); + }), + (t.pbf = Hs), + (t.performSymbolLayout = function (t, e, r, n, i, a, o) { + t.createArrays(), + (t.tilePixelRatio = 8192 / (512 * t.overscaling)), + (t.compareText = {}), + (t.iconsNeedLinear = !1); + var s = t.layers[0].layout, + l = t.layers[0]._unevaluatedLayout._values, + c = {}; + if ('composite' === t.textSizeData.kind) { + var u = t.textSizeData, + f = u.maxZoom; + c.compositeTextSizes = [ + l['text-size'].possiblyEvaluate(new ii(u.minZoom), o), + l['text-size'].possiblyEvaluate(new ii(f), o), + ]; + } + if ('composite' === t.iconSizeData.kind) { + var h = t.iconSizeData, + p = h.maxZoom; + c.compositeIconSizes = [ + l['icon-size'].possiblyEvaluate(new ii(h.minZoom), o), + l['icon-size'].possiblyEvaluate(new ii(p), o), + ]; + } + (c.layoutTextSize = l['text-size'].possiblyEvaluate( + new ii(t.zoom + 1), + o + )), + (c.layoutIconSize = l['icon-size'].possiblyEvaluate( + new ii(t.zoom + 1), + o + )), + (c.textMaxSize = l['text-size'].possiblyEvaluate( + new ii(18) + )); + for ( + var d = 24 * s.get('text-line-height'), + g = + 'map' === s.get('text-rotation-alignment') && + 'point' !== s.get('symbol-placement'), + m = s.get('text-keep-upright'), + v = s.get('text-size'), + y = function () { + var a = b[x], + l = s.get('text-font').evaluate(a, {}, o).join(','), + u = v.evaluate(a, {}, o), + f = c.layoutTextSize.evaluate(a, {}, o), + h = c.layoutIconSize.evaluate(a, {}, o), + p = { horizontal: {}, vertical: void 0 }, + y = a.text, + w = [0, 0]; + if (y) { + var T = y.toString(), + k = + 24 * + s.get('text-letter-spacing').evaluate(a, {}, o), + M = (function (t) { + for (var e = 0, r = t; e < r.length; e += 1) + if ( + ((n = r[e].charCodeAt(0)), + Vn.Arabic(n) || + Vn['Arabic Supplement'](n) || + Vn['Arabic Extended-A'](n) || + Vn['Arabic Presentation Forms-A'](n) || + Vn['Arabic Presentation Forms-B'](n)) + ) + return !1; + var n; + return !0; + })(T) + ? k + : 0, + A = s.get('text-anchor').evaluate(a, {}, o), + S = s.get('text-variable-anchor'); + if (!S) { + var E = s + .get('text-radial-offset') + .evaluate(a, {}, o); + w = E + ? $l(A, [24 * E, Ql]) + : s + .get('text-offset') + .evaluate(a, {}, o) + .map(function (t) { + return 24 * t; + }); + } + var C = g + ? 'center' + : s.get('text-justify').evaluate(a, {}, o), + L = s.get('symbol-placement'), + I = + 'point' === L + ? 24 * + s.get('text-max-width').evaluate(a, {}, o) + : 0, + P = function () { + t.allowVerticalPlacement && + qn(T) && + (p.vertical = yl( + y, + e, + r, + i, + l, + I, + d, + A, + 'left', + M, + w, + gl.vertical, + !0, + L, + f, + u + )); + }; + if (!g && S) { + for ( + var z = + 'auto' === C + ? S.map(function (t) { + return tc(t); + }) + : [C], + O = !1, + D = 0; + D < z.length; + D++ + ) { + var R = z[D]; + if (!p.horizontal[R]) + if (O) p.horizontal[R] = p.horizontal[0]; + else { + var F = yl( + y, + e, + r, + i, + l, + I, + d, + 'center', + R, + M, + w, + gl.horizontal, + !1, + L, + f, + u + ); + F && + ((p.horizontal[R] = F), + (O = 1 === F.positionedLines.length)); + } + } + P(); + } else { + 'auto' === C && (C = tc(A)); + var B = yl( + y, + e, + r, + i, + l, + I, + d, + A, + C, + M, + w, + gl.horizontal, + !1, + L, + f, + u + ); + B && (p.horizontal[C] = B), + P(), + qn(T) && + g && + m && + (p.vertical = yl( + y, + e, + r, + i, + l, + I, + d, + A, + C, + M, + w, + gl.vertical, + !1, + L, + f, + u + )); + } + } + var N = void 0, + j = !1; + if (a.icon && a.icon.name) { + var U = n[a.icon.name]; + U && + ((N = (function (t, e, r) { + var n = Al(r), + i = + e[0] - t.displaySize[0] * n.horizontalAlign, + a = e[1] - t.displaySize[1] * n.verticalAlign; + return { + image: t, + top: a, + bottom: a + t.displaySize[1], + left: i, + right: i + t.displaySize[0], + }; + })( + i[a.icon.name], + s.get('icon-offset').evaluate(a, {}, o), + s.get('icon-anchor').evaluate(a, {}, o) + )), + (j = U.sdf), + void 0 === t.sdfIcons + ? (t.sdfIcons = U.sdf) + : t.sdfIcons !== U.sdf && + _( + 'Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer' + ), + (U.pixelRatio !== t.pixelRatio || + 0 !== s.get('icon-rotate').constantOr(1)) && + (t.iconsNeedLinear = !0)); + } + var V = rc(p.horizontal) || p.vertical; + (t.iconsInText = !!V && V.iconsInText), + (V || N) && + (function (t, e, r, n, i, a, o, s, l, c, u) { + var f = a.textMaxSize.evaluate(e, {}); + void 0 === f && (f = o); + var h, + p = t.layers[0].layout, + d = p.get('icon-offset').evaluate(e, {}, u), + g = rc(r.horizontal), + m = o / 24, + v = t.tilePixelRatio * m, + y = (t.tilePixelRatio * f) / 24, + x = t.tilePixelRatio * s, + b = + t.tilePixelRatio * p.get('symbol-spacing'), + w = p.get('text-padding') * t.tilePixelRatio, + T = p.get('icon-padding') * t.tilePixelRatio, + k = (p.get('text-max-angle') / 180) * Math.PI, + M = + 'map' === + p.get('text-rotation-alignment') && + 'point' !== p.get('symbol-placement'), + A = + 'map' === + p.get('icon-rotation-alignment') && + 'point' !== p.get('symbol-placement'), + S = p.get('symbol-placement'), + E = b / 2, + C = p.get('icon-text-fit'); + n && + 'none' !== C && + (t.allowVerticalPlacement && + r.vertical && + (h = El( + n, + r.vertical, + C, + p.get('icon-text-fit-padding'), + d, + m + )), + g && + (n = El( + n, + g, + C, + p.get('icon-text-fit-padding'), + d, + m + ))); + var L = function (s, f) { + f.x < 0 || + f.x >= 8192 || + f.y < 0 || + f.y >= 8192 || + (function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + w, + T, + k, + M + ) { + var A, + S, + E, + C, + L, + I = t.addToLineVertexArray(e, r), + P = 0, + z = 0, + O = 0, + D = 0, + R = -1, + F = -1, + B = {}, + N = ca(''), + j = 0, + U = 0; + if ( + (void 0 === + s._unevaluatedLayout.getValue( + 'text-radial-offset' + ) + ? ((j = (A = s.layout + .get('text-offset') + .evaluate(b, {}, k) + .map(function (t) { + return 24 * t; + }))[0]), + (U = A[1])) + : ((j = + 24 * + s.layout + .get('text-radial-offset') + .evaluate(b, {}, k)), + (U = Ql)), + t.allowVerticalPlacement && n.vertical) + ) { + var V = + s.layout + .get('text-rotate') + .evaluate(b, {}, k) + 90; + (C = new Yl( + l, + e, + c, + u, + f, + n.vertical, + h, + p, + d, + V + )), + o && + (L = new Yl( + l, + e, + c, + u, + f, + o, + m, + v, + d, + V + )); + } + if (i) { + var q = s.layout + .get('icon-rotate') + .evaluate(b, {}), + H = + 'none' !== + s.layout.get('icon-text-fit'), + G = Ul(i, q, T, H), + Y = o ? Ul(o, q, T, H) : void 0; + (E = new Yl( + l, + e, + c, + u, + f, + i, + m, + v, + !1, + q + )), + (P = 4 * G.length); + var W = t.iconSizeData, + X = null; + 'source' === W.kind + ? (X = [ + 128 * + s.layout + .get('icon-size') + .evaluate(b, {}), + ])[0] > 32640 && + _( + t.layerIds[0] + + ': Value for "icon-size" is >= 255. Reduce your "icon-size".' + ) + : 'composite' === W.kind && + ((X = [ + 128 * + w.compositeIconSizes[0].evaluate( + b, + {}, + k + ), + 128 * + w.compositeIconSizes[1].evaluate( + b, + {}, + k + ), + ])[0] > 32640 || + X[1] > 32640) && + _( + t.layerIds[0] + + ': Value for "icon-size" is >= 255. Reduce your "icon-size".' + ), + t.addSymbols( + t.icon, + G, + X, + x, + y, + b, + !1, + e, + I.lineStartIndex, + I.lineLength, + -1, + k + ), + (R = + t.icon.placedSymbolArray.length - + 1), + Y && + ((z = 4 * Y.length), + t.addSymbols( + t.icon, + Y, + X, + x, + y, + b, + gl.vertical, + e, + I.lineStartIndex, + I.lineLength, + -1, + k + ), + (F = + t.icon.placedSymbolArray.length - + 1)); + } + for (var Z in n.horizontal) { + var J = n.horizontal[Z]; + if (!S) { + N = ca(J.text); + var K = s.layout + .get('text-rotate') + .evaluate(b, {}, k); + S = new Yl( + l, + e, + c, + u, + f, + J, + h, + p, + d, + K + ); + } + var Q = 1 === J.positionedLines.length; + if ( + ((O += ec( + t, + e, + J, + a, + s, + d, + b, + g, + I, + n.vertical + ? gl.horizontal + : gl.horizontalOnly, + Q ? Object.keys(n.horizontal) : [Z], + B, + R, + w, + k + )), + Q) + ) + break; + } + n.vertical && + (D += ec( + t, + e, + n.vertical, + a, + s, + d, + b, + g, + I, + gl.vertical, + ['vertical'], + B, + F, + w, + k + )); + var $ = S + ? S.boxStartIndex + : t.collisionBoxArray.length, + tt = S + ? S.boxEndIndex + : t.collisionBoxArray.length, + et = C + ? C.boxStartIndex + : t.collisionBoxArray.length, + rt = C + ? C.boxEndIndex + : t.collisionBoxArray.length, + nt = E + ? E.boxStartIndex + : t.collisionBoxArray.length, + it = E + ? E.boxEndIndex + : t.collisionBoxArray.length, + at = L + ? L.boxStartIndex + : t.collisionBoxArray.length, + ot = L + ? L.boxEndIndex + : t.collisionBoxArray.length, + st = -1, + lt = function (t, e) { + return t && t.circleDiameter + ? Math.max(t.circleDiameter, e) + : e; + }; + (st = lt(S, st)), + (st = lt(C, st)), + (st = lt(E, st)); + var ct = (st = lt(L, st)) > -1 ? 1 : 0; + ct && (st *= M / 24), + t.glyphOffsetArray.length >= + fc.MAX_GLYPHS && + _( + 'Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907' + ), + void 0 !== b.sortKey && + t.addToSortKeyRanges( + t.symbolInstances.length, + b.sortKey + ), + t.symbolInstances.emplaceBack( + e.x, + e.y, + B.right >= 0 ? B.right : -1, + B.center >= 0 ? B.center : -1, + B.left >= 0 ? B.left : -1, + B.vertical || -1, + R, + F, + N, + $, + tt, + et, + rt, + nt, + it, + at, + ot, + c, + O, + D, + P, + z, + ct, + 0, + h, + j, + U, + st + ); + })( + t, + f, + s, + r, + n, + i, + h, + t.layers[0], + t.collisionBoxArray, + e.index, + e.sourceLayerIndex, + t.index, + v, + w, + M, + l, + x, + T, + A, + d, + e, + a, + c, + u, + o + ); + }; + if ('line' === S) + for ( + var I = 0, + P = jl(e.geometry, 0, 0, 8192, 8192); + I < P.length; + I += 1 + ) + for ( + var z = P[I], + O = 0, + D = Nl( + z, + b, + k, + r.vertical || g, + n, + 24, + y, + t.overscaling, + 8192 + ); + O < D.length; + O += 1 + ) { + var R = D[O]; + (g && nc(t, g.text, E, R)) || L(z, R); + } + else if ('line-center' === S) + for ( + var F = 0, B = e.geometry; + F < B.length; + F += 1 + ) { + var N = B[F]; + if (N.length > 1) { + var j = Bl( + N, + k, + r.vertical || g, + n, + 24, + y + ); + j && L(N, j); + } + } + else if ('Polygon' === e.type) + for ( + var U = 0, V = Qo(e.geometry, 0); + U < V.length; + U += 1 + ) { + var q = V[U], + H = Zl(q, 16); + L(q[0], new Cl(H.x, H.y, 0)); + } + else if ('LineString' === e.type) + for ( + var G = 0, Y = e.geometry; + G < Y.length; + G += 1 + ) { + var W = Y[G]; + L(W, new Cl(W[0].x, W[0].y, 0)); + } + else if ('Point' === e.type) + for ( + var X = 0, Z = e.geometry; + X < Z.length; + X += 1 + ) + for ( + var J = 0, K = Z[X]; + J < K.length; + J += 1 + ) { + var Q = K[J]; + L([Q], new Cl(Q.x, Q.y, 0)); + } + })(t, a, p, N, n, c, f, h, w, j, o); + }, + x = 0, + b = t.features; + x < b.length; + x += 1 + ) + y(); + a && t.generateCollisionDebugBuffers(); + }), + (t.perspective = function (t, e, r, n, i) { + var a, + o = 1 / Math.tan(e / 2); + return ( + (t[0] = o / r), + (t[1] = 0), + (t[2] = 0), + (t[3] = 0), + (t[4] = 0), + (t[5] = o), + (t[6] = 0), + (t[7] = 0), + (t[8] = 0), + (t[9] = 0), + (t[11] = -1), + (t[12] = 0), + (t[13] = 0), + (t[15] = 0), + null != i && i !== 1 / 0 + ? ((t[10] = (i + n) * (a = 1 / (n - i))), + (t[14] = 2 * i * n * a)) + : ((t[10] = -1), (t[14] = -2 * n)), + t + ); + }), + (t.pick = function (t, e) { + for (var r = {}, n = 0; n < e.length; n++) { + var i = e[n]; + i in t && (r[i] = t[i]); + } + return r; + }), + (t.plugin = ni), + (t.polygonIntersectsPolygon = Ba), + (t.postMapLoadEvent = it), + (t.postTurnstileEvent = rt), + (t.potpack = fl), + (t.refProperties = [ + 'type', + 'source', + 'source-layer', + 'minzoom', + 'maxzoom', + 'filter', + 'layout', + ]), + (t.register = Dn), + (t.registerForPluginStateChange = function (t) { + return ( + t({ pluginStatus: Jn, pluginURL: Kn }), + ti.on('pluginStateChange', t), + t + ); + }), + (t.rotate = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2], + o = e[3], + s = Math.sin(r), + l = Math.cos(r); + return ( + (t[0] = n * l + a * s), + (t[1] = i * l + o * s), + (t[2] = n * -s + a * l), + (t[3] = i * -s + o * l), + t + ); + }), + (t.rotateX = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[4], + o = e[5], + s = e[6], + l = e[7], + c = e[8], + u = e[9], + f = e[10], + h = e[11]; + return ( + e !== t && + ((t[0] = e[0]), + (t[1] = e[1]), + (t[2] = e[2]), + (t[3] = e[3]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[4] = a * i + c * n), + (t[5] = o * i + u * n), + (t[6] = s * i + f * n), + (t[7] = l * i + h * n), + (t[8] = c * i - a * n), + (t[9] = u * i - o * n), + (t[10] = f * i - s * n), + (t[11] = h * i - l * n), + t + ); + }), + (t.rotateZ = function (t, e, r) { + var n = Math.sin(r), + i = Math.cos(r), + a = e[0], + o = e[1], + s = e[2], + l = e[3], + c = e[4], + u = e[5], + f = e[6], + h = e[7]; + return ( + e !== t && + ((t[8] = e[8]), + (t[9] = e[9]), + (t[10] = e[10]), + (t[11] = e[11]), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15])), + (t[0] = a * i + c * n), + (t[1] = o * i + u * n), + (t[2] = s * i + f * n), + (t[3] = l * i + h * n), + (t[4] = c * i - a * n), + (t[5] = u * i - o * n), + (t[6] = f * i - s * n), + (t[7] = h * i - l * n), + t + ); + }), + (t.scale = function (t, e, r) { + var n = r[0], + i = r[1], + a = r[2]; + return ( + (t[0] = e[0] * n), + (t[1] = e[1] * n), + (t[2] = e[2] * n), + (t[3] = e[3] * n), + (t[4] = e[4] * i), + (t[5] = e[5] * i), + (t[6] = e[6] * i), + (t[7] = e[7] * i), + (t[8] = e[8] * a), + (t[9] = e[9] * a), + (t[10] = e[10] * a), + (t[11] = e[11] * a), + (t[12] = e[12]), + (t[13] = e[13]), + (t[14] = e[14]), + (t[15] = e[15]), + t + ); + }), + (t.scale$1 = function (t, e, r) { + return ( + (t[0] = e[0] * r), + (t[1] = e[1] * r), + (t[2] = e[2] * r), + (t[3] = e[3] * r), + t + ); + }), + (t.scale$2 = function (t, e, r) { + return ( + (t[0] = e[0] * r), (t[1] = e[1] * r), (t[2] = e[2] * r), t + ); + }), + (t.setCacheLimits = function (t, e) { + (at = t), (ot = e); + }), + (t.setRTLTextPlugin = function (t, e, r) { + if ( + (void 0 === r && (r = !1), + 'deferred' === Jn || 'loading' === Jn || 'loaded' === Jn) + ) + throw new Error( + 'setRTLTextPlugin cannot be called multiple times.' + ); + (Kn = R.resolveURL(t)), + (Jn = 'deferred'), + (Zn = e), + $n(), + r || ri(); + }), + (t.sphericalToCartesian = function (t) { + var e = t[0], + r = t[1], + n = t[2]; + return ( + (r += 90), + (r *= Math.PI / 180), + (n *= Math.PI / 180), + { + x: e * Math.cos(r) * Math.sin(n), + y: e * Math.sin(r) * Math.sin(n), + z: e * Math.cos(n), + } + ); + }), + (t.sqrLen = function (t) { + var e = t[0], + r = t[1]; + return e * e + r * r; + }), + (t.styleSpec = At), + (t.sub = function (t, e, r) { + return ( + (t[0] = e[0] - r[0]), + (t[1] = e[1] - r[1]), + (t[2] = e[2] - r[2]), + t + ); + }), + (t.symbolSize = zl), + (t.transformMat3 = function (t, e, r) { + var n = e[0], + i = e[1], + a = e[2]; + return ( + (t[0] = n * r[0] + i * r[3] + a * r[6]), + (t[1] = n * r[1] + i * r[4] + a * r[7]), + (t[2] = n * r[2] + i * r[5] + a * r[8]), + t + ); + }), + (t.transformMat4 = ao), + (t.translate = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g = r[0], + m = r[1], + v = r[2]; + return ( + e === t + ? ((t[12] = e[0] * g + e[4] * m + e[8] * v + e[12]), + (t[13] = e[1] * g + e[5] * m + e[9] * v + e[13]), + (t[14] = e[2] * g + e[6] * m + e[10] * v + e[14]), + (t[15] = e[3] * g + e[7] * m + e[11] * v + e[15])) + : ((i = e[1]), + (a = e[2]), + (o = e[3]), + (s = e[4]), + (l = e[5]), + (c = e[6]), + (u = e[7]), + (f = e[8]), + (h = e[9]), + (p = e[10]), + (d = e[11]), + (t[0] = n = e[0]), + (t[1] = i), + (t[2] = a), + (t[3] = o), + (t[4] = s), + (t[5] = l), + (t[6] = c), + (t[7] = u), + (t[8] = f), + (t[9] = h), + (t[10] = p), + (t[11] = d), + (t[12] = n * g + s * m + f * v + e[12]), + (t[13] = i * g + l * m + h * v + e[13]), + (t[14] = a * g + c * m + p * v + e[14]), + (t[15] = o * g + u * m + d * v + e[15])), + t + ); + }), + (t.triggerPluginCompletionEvent = Qn), + (t.uniqueId = h), + (t.validateCustomStyleLayer = function (t) { + var e = [], + r = t.id; + return ( + void 0 === r && + e.push({ + message: + 'layers.' + r + ': missing required property "id"', + }), + void 0 === t.render && + e.push({ + message: + 'layers.' + + r + + ': missing required method "render"', + }), + t.renderingMode && + '2d' !== t.renderingMode && + '3d' !== t.renderingMode && + e.push({ + message: + 'layers.' + + r + + ': property "renderingMode" must be either "2d" or "3d"', + }), + e + ); + }), + (t.validateLight = An), + (t.validateStyle = Mn), + (t.values = function (t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + }), + (t.vectorTile = gs), + (t.version = '1.10.1'), + (t.warnOnce = _), + (t.webpSupported = B), + (t.window = self), + (t.wrap = c); + }), + n(0, function (t) { + function e(t) { + var r = typeof t; + if ( + 'number' === r || + 'boolean' === r || + 'string' === r || + null == t + ) + return JSON.stringify(t); + if (Array.isArray(t)) { + for (var n = '[', i = 0, a = t; i < a.length; i += 1) + n += e(a[i]) + ','; + return n + ']'; + } + for ( + var o = Object.keys(t).sort(), s = '{', l = 0; + l < o.length; + l++ + ) + s += JSON.stringify(o[l]) + ':' + e(t[o[l]]) + ','; + return s + '}'; + } + function r(r) { + for ( + var n = '', i = 0, a = t.refProperties; + i < a.length; + i += 1 + ) + n += '/' + e(r[a[i]]); + return n; + } + var n = function (t) { + (this.keyCache = {}), t && this.replace(t); + }; + (n.prototype.replace = function (t) { + (this._layerConfigs = {}), + (this._layers = {}), + this.update(t, []); + }), + (n.prototype.update = function (e, n) { + for (var i = this, a = 0, o = e; a < o.length; a += 1) { + var s = o[a]; + this._layerConfigs[s.id] = s; + var l = (this._layers[s.id] = t.createStyleLayer(s)); + (l._featureFilter = t.featureFilter(l.filter)), + this.keyCache[s.id] && delete this.keyCache[s.id]; + } + for (var c = 0, u = n; c < u.length; c += 1) { + var f = u[c]; + delete this.keyCache[f], + delete this._layerConfigs[f], + delete this._layers[f]; + } + this.familiesBySource = {}; + for ( + var h = 0, + p = (function (t, e) { + for (var n = {}, i = 0; i < t.length; i++) { + var a = (e && e[t[i].id]) || r(t[i]); + e && (e[t[i].id] = a); + var o = n[a]; + o || (o = n[a] = []), o.push(t[i]); + } + var s = []; + for (var l in n) s.push(n[l]); + return s; + })(t.values(this._layerConfigs), this.keyCache); + h < p.length; + h += 1 + ) { + var d = p[h].map(function (t) { + return i._layers[t.id]; + }), + g = d[0]; + if ('none' !== g.visibility) { + var m = g.source || '', + v = this.familiesBySource[m]; + v || (v = this.familiesBySource[m] = {}); + var y = g.sourceLayer || '_geojsonTileLayer', + x = v[y]; + x || (x = v[y] = []), x.push(d); + } + } + }); + var i = function (e) { + var r = {}, + n = []; + for (var i in e) { + var a = e[i], + o = (r[i] = {}); + for (var s in a) { + var l = a[+s]; + if (l && 0 !== l.bitmap.width && 0 !== l.bitmap.height) { + var c = { + x: 0, + y: 0, + w: l.bitmap.width + 2, + h: l.bitmap.height + 2, + }; + n.push(c), (o[s] = { rect: c, metrics: l.metrics }); + } + } + } + var u = t.potpack(n), + f = new t.AlphaImage({ width: u.w || 1, height: u.h || 1 }); + for (var h in e) { + var p = e[h]; + for (var d in p) { + var g = p[+d]; + if (g && 0 !== g.bitmap.width && 0 !== g.bitmap.height) { + var m = r[h][d].rect; + t.AlphaImage.copy( + g.bitmap, + f, + { x: 0, y: 0 }, + { x: m.x + 1, y: m.y + 1 }, + g.bitmap + ); + } + } + } + (this.image = f), (this.positions = r); + }; + t.register('GlyphAtlas', i); + var a = function (e) { + (this.tileID = new t.OverscaledTileID( + e.tileID.overscaledZ, + e.tileID.wrap, + e.tileID.canonical.z, + e.tileID.canonical.x, + e.tileID.canonical.y + )), + (this.uid = e.uid), + (this.zoom = e.zoom), + (this.pixelRatio = e.pixelRatio), + (this.tileSize = e.tileSize), + (this.source = e.source), + (this.overscaling = this.tileID.overscaleFactor()), + (this.showCollisionBoxes = e.showCollisionBoxes), + (this.collectResourceTiming = !!e.collectResourceTiming), + (this.returnDependencies = !!e.returnDependencies), + (this.promoteId = e.promoteId); + }; + function o(e, r, n) { + for ( + var i = new t.EvaluationParameters(r), a = 0, o = e; + a < o.length; + a += 1 + ) + o[a].recalculate(i, n); + } + function s(e, r) { + var n = t.getArrayBuffer(e.request, function (e, n, i, a) { + e + ? r(e) + : n && + r(null, { + vectorTile: new t.vectorTile.VectorTile(new t.pbf(n)), + rawData: n, + cacheControl: i, + expires: a, + }); + }); + return function () { + n.cancel(), r(); + }; + } + a.prototype.parse = function (e, r, n, a, s) { + var l = this; + (this.status = 'parsing'), + (this.data = e), + (this.collisionBoxArray = new t.CollisionBoxArray()); + var c = new t.DictionaryCoder(Object.keys(e.layers).sort()), + u = new t.FeatureIndex(this.tileID, this.promoteId); + u.bucketLayerIDs = []; + var f, + h, + p, + d, + g = {}, + m = { + featureIndex: u, + iconDependencies: {}, + patternDependencies: {}, + glyphDependencies: {}, + availableImages: n, + }, + v = r.familiesBySource[this.source]; + for (var y in v) { + var x = e.layers[y]; + if (x) { + 1 === x.version && + t.warnOnce( + 'Vector tile source "' + + this.source + + '" layer "' + + y + + '" does not use vector tile spec v2 and therefore may have some rendering errors.' + ); + for ( + var b = c.encode(y), _ = [], w = 0; + w < x.length; + w++ + ) { + var T = x.feature(w), + k = u.getId(T, y); + _.push({ + feature: T, + id: k, + index: w, + sourceLayerIndex: b, + }); + } + for (var M = 0, A = v[y]; M < A.length; M += 1) { + var S = A[M], + E = S[0]; + (E.minzoom && this.zoom < Math.floor(E.minzoom)) || + (E.maxzoom && this.zoom >= E.maxzoom) || + ('none' !== E.visibility && + (o(S, this.zoom, n), + (g[E.id] = E.createBucket({ + index: u.bucketLayerIDs.length, + layers: S, + zoom: this.zoom, + pixelRatio: this.pixelRatio, + overscaling: this.overscaling, + collisionBoxArray: this.collisionBoxArray, + sourceLayerIndex: b, + sourceID: this.source, + })).populate(_, m, this.tileID.canonical), + u.bucketLayerIDs.push( + S.map(function (t) { + return t.id; + }) + ))); + } + } + } + var C = t.mapObject(m.glyphDependencies, function (t) { + return Object.keys(t).map(Number); + }); + Object.keys(C).length + ? a.send( + 'getGlyphs', + { uid: this.uid, stacks: C }, + function (t, e) { + f || ((f = t), (h = e), P.call(l)); + } + ) + : (h = {}); + var L = Object.keys(m.iconDependencies); + L.length + ? a.send( + 'getImages', + { + icons: L, + source: this.source, + tileID: this.tileID, + type: 'icons', + }, + function (t, e) { + f || ((f = t), (p = e), P.call(l)); + } + ) + : (p = {}); + var I = Object.keys(m.patternDependencies); + function P() { + if (f) return s(f); + if (h && p && d) { + var e = new i(h), + r = new t.ImageAtlas(p, d); + for (var a in g) { + var l = g[a]; + l instanceof t.SymbolBucket + ? (o(l.layers, this.zoom, n), + t.performSymbolLayout( + l, + h, + e.positions, + p, + r.iconPositions, + this.showCollisionBoxes, + this.tileID.canonical + )) + : l.hasPattern && + (l instanceof t.LineBucket || + l instanceof t.FillBucket || + l instanceof t.FillExtrusionBucket) && + (o(l.layers, this.zoom, n), + l.addFeatures( + m, + this.tileID.canonical, + r.patternPositions + )); + } + (this.status = 'done'), + s(null, { + buckets: t.values(g).filter(function (t) { + return !t.isEmpty(); + }), + featureIndex: u, + collisionBoxArray: this.collisionBoxArray, + glyphAtlasImage: e.image, + imageAtlas: r, + glyphMap: this.returnDependencies ? h : null, + iconMap: this.returnDependencies ? p : null, + glyphPositions: this.returnDependencies + ? e.positions + : null, + }); + } + } + I.length + ? a.send( + 'getImages', + { + icons: I, + source: this.source, + tileID: this.tileID, + type: 'patterns', + }, + function (t, e) { + f || ((f = t), (d = e), P.call(l)); + } + ) + : (d = {}), + P.call(this); + }; + var l = function (t, e, r, n) { + (this.actor = t), + (this.layerIndex = e), + (this.availableImages = r), + (this.loadVectorData = n || s), + (this.loading = {}), + (this.loaded = {}); + }; + (l.prototype.loadTile = function (e, r) { + var n = this, + i = e.uid; + this.loading || (this.loading = {}); + var o = + !!(e && e.request && e.request.collectResourceTiming) && + new t.RequestPerformance(e.request), + s = (this.loading[i] = new a(e)); + s.abort = this.loadVectorData(e, function (e, a) { + if ((delete n.loading[i], e || !a)) + return (s.status = 'done'), (n.loaded[i] = s), r(e); + var l = a.rawData, + c = {}; + a.expires && (c.expires = a.expires), + a.cacheControl && (c.cacheControl = a.cacheControl); + var u = {}; + if (o) { + var f = o.finish(); + f && (u.resourceTiming = JSON.parse(JSON.stringify(f))); + } + (s.vectorTile = a.vectorTile), + s.parse( + a.vectorTile, + n.layerIndex, + n.availableImages, + n.actor, + function (e, n) { + if (e || !n) return r(e); + r( + null, + t.extend({ rawTileData: l.slice(0) }, n, c, u) + ); + } + ), + (n.loaded = n.loaded || {}), + (n.loaded[i] = s); + }); + }), + (l.prototype.reloadTile = function (t, e) { + var r = this, + n = this.loaded, + i = t.uid, + a = this; + if (n && n[i]) { + var o = n[i]; + o.showCollisionBoxes = t.showCollisionBoxes; + var s = function (t, n) { + var i = o.reloadCallback; + i && + (delete o.reloadCallback, + o.parse( + o.vectorTile, + a.layerIndex, + r.availableImages, + a.actor, + i + )), + e(t, n); + }; + 'parsing' === o.status + ? (o.reloadCallback = s) + : 'done' === o.status && + (o.vectorTile + ? o.parse( + o.vectorTile, + this.layerIndex, + this.availableImages, + this.actor, + s + ) + : s()); + } + }), + (l.prototype.abortTile = function (t, e) { + var r = this.loading, + n = t.uid; + r && r[n] && r[n].abort && (r[n].abort(), delete r[n]), e(); + }), + (l.prototype.removeTile = function (t, e) { + var r = this.loaded, + n = t.uid; + r && r[n] && delete r[n], e(); + }); + var c = t.window.ImageBitmap, + u = function () { + this.loaded = {}; + }; + function f(t, e) { + if (0 !== t.length) { + h(t[0], e); + for (var r = 1; r < t.length; r++) h(t[r], !e); + } + } + function h(t, e) { + for ( + var r = 0, n = 0, i = t.length, a = i - 1; + n < i; + a = n++ + ) + r += (t[n][0] - t[a][0]) * (t[a][1] + t[n][1]); + r >= 0 != !!e && t.reverse(); + } + (u.prototype.loadTile = function (e, r) { + var n = e.uid, + i = e.encoding, + a = e.rawImageData, + o = c && a instanceof c ? this.getImageData(a) : a, + s = new t.DEMData(n, o, i); + (this.loaded = this.loaded || {}), + (this.loaded[n] = s), + r(null, s); + }), + (u.prototype.getImageData = function (e) { + (this.offscreenCanvas && this.offscreenCanvasContext) || + ((this.offscreenCanvas = new OffscreenCanvas( + e.width, + e.height + )), + (this.offscreenCanvasContext = + this.offscreenCanvas.getContext('2d'))), + (this.offscreenCanvas.width = e.width), + (this.offscreenCanvas.height = e.height), + this.offscreenCanvasContext.drawImage( + e, + 0, + 0, + e.width, + e.height + ); + var r = this.offscreenCanvasContext.getImageData( + -1, + -1, + e.width + 2, + e.height + 2 + ); + return ( + this.offscreenCanvasContext.clearRect( + 0, + 0, + this.offscreenCanvas.width, + this.offscreenCanvas.height + ), + new t.RGBAImage( + { width: r.width, height: r.height }, + r.data + ) + ); + }), + (u.prototype.removeTile = function (t) { + var e = this.loaded, + r = t.uid; + e && e[r] && delete e[r]; + }); + var p = t.vectorTile.VectorTileFeature.prototype.toGeoJSON, + d = function (e) { + (this._feature = e), + (this.extent = t.EXTENT), + (this.type = e.type), + (this.properties = e.tags), + 'id' in e && + !isNaN(e.id) && + (this.id = parseInt(e.id, 10)); + }; + (d.prototype.loadGeometry = function () { + if (1 === this._feature.type) { + for ( + var e = [], r = 0, n = this._feature.geometry; + r < n.length; + r += 1 + ) { + var i = n[r]; + e.push([new t.Point$1(i[0], i[1])]); + } + return e; + } + for ( + var a = [], o = 0, s = this._feature.geometry; + o < s.length; + o += 1 + ) { + for (var l = [], c = 0, u = s[o]; c < u.length; c += 1) { + var f = u[c]; + l.push(new t.Point$1(f[0], f[1])); + } + a.push(l); + } + return a; + }), + (d.prototype.toGeoJSON = function (t, e, r) { + return p.call(this, t, e, r); + }); + var g = function (e) { + (this.layers = { _geojsonTileLayer: this }), + (this.name = '_geojsonTileLayer'), + (this.extent = t.EXTENT), + (this.length = e.length), + (this._features = e); + }; + g.prototype.feature = function (t) { + return new d(this._features[t]); + }; + var m = t.vectorTile.VectorTileFeature, + v = y; + function y(t, e) { + (this.options = e || {}), + (this.features = t), + (this.length = t.length); + } + function x(t, e) { + (this.id = 'number' == typeof t.id ? t.id : void 0), + (this.type = t.type), + (this.rawGeometry = + 1 === t.type ? [t.geometry] : t.geometry), + (this.properties = t.tags), + (this.extent = e || 4096); + } + (y.prototype.feature = function (t) { + return new x(this.features[t], this.options.extent); + }), + (x.prototype.loadGeometry = function () { + var e = this.rawGeometry; + this.geometry = []; + for (var r = 0; r < e.length; r++) { + for (var n = e[r], i = [], a = 0; a < n.length; a++) + i.push(new t.Point$1(n[a][0], n[a][1])); + this.geometry.push(i); + } + return this.geometry; + }), + (x.prototype.bbox = function () { + this.geometry || this.loadGeometry(); + for ( + var t = this.geometry, + e = 1 / 0, + r = -1 / 0, + n = 1 / 0, + i = -1 / 0, + a = 0; + a < t.length; + a++ + ) + for (var o = t[a], s = 0; s < o.length; s++) { + var l = o[s]; + (e = Math.min(e, l.x)), + (r = Math.max(r, l.x)), + (n = Math.min(n, l.y)), + (i = Math.max(i, l.y)); + } + return [e, n, r, i]; + }), + (x.prototype.toGeoJSON = m.prototype.toGeoJSON); + var b = w, + _ = v; + function w(e) { + var r = new t.pbf(); + return ( + (function (t, e) { + for (var r in t.layers) e.writeMessage(3, T, t.layers[r]); + })(e, r), + r.finish() + ); + } + function T(t, e) { + var r; + e.writeVarintField(15, t.version || 1), + e.writeStringField(1, t.name || ''), + e.writeVarintField(5, t.extent || 4096); + var n = { + keys: [], + values: [], + keycache: {}, + valuecache: {}, + }; + for (r = 0; r < t.length; r++) + (n.feature = t.feature(r)), e.writeMessage(2, k, n); + var i = n.keys; + for (r = 0; r < i.length; r++) e.writeStringField(3, i[r]); + var a = n.values; + for (r = 0; r < a.length; r++) e.writeMessage(4, C, a[r]); + } + function k(t, e) { + var r = t.feature; + void 0 !== r.id && e.writeVarintField(1, r.id), + e.writeMessage(2, M, t), + e.writeVarintField(3, r.type), + e.writeMessage(4, E, r); + } + function M(t, e) { + var r = t.feature, + n = t.keys, + i = t.values, + a = t.keycache, + o = t.valuecache; + for (var s in r.properties) { + var l = a[s]; + void 0 === l && (n.push(s), (a[s] = l = n.length - 1)), + e.writeVarint(l); + var c = r.properties[s], + u = typeof c; + 'string' !== u && + 'boolean' !== u && + 'number' !== u && + (c = JSON.stringify(c)); + var f = u + ':' + c, + h = o[f]; + void 0 === h && (i.push(c), (o[f] = h = i.length - 1)), + e.writeVarint(h); + } + } + function A(t, e) { + return (e << 3) + (7 & t); + } + function S(t) { + return (t << 1) ^ (t >> 31); + } + function E(t, e) { + for ( + var r = t.loadGeometry(), + n = t.type, + i = 0, + a = 0, + o = r.length, + s = 0; + s < o; + s++ + ) { + var l = r[s], + c = 1; + 1 === n && (c = l.length), e.writeVarint(A(1, c)); + for ( + var u = 3 === n ? l.length - 1 : l.length, f = 0; + f < u; + f++ + ) { + 1 === f && 1 !== n && e.writeVarint(A(2, u - 1)); + var h = l[f].x - i, + p = l[f].y - a; + e.writeVarint(S(h)), + e.writeVarint(S(p)), + (i += h), + (a += p); + } + 3 === n && e.writeVarint(A(7, 1)); + } + } + function C(t, e) { + var r = typeof t; + 'string' === r + ? e.writeStringField(1, t) + : 'boolean' === r + ? e.writeBooleanField(7, t) + : 'number' === r && + (t % 1 != 0 + ? e.writeDoubleField(3, t) + : t < 0 + ? e.writeSVarintField(6, t) + : e.writeVarintField(5, t)); + } + function L(t, e, r, n) { + I(t, r, n), I(e, 2 * r, 2 * n), I(e, 2 * r + 1, 2 * n + 1); + } + function I(t, e, r) { + var n = t[e]; + (t[e] = t[r]), (t[r] = n); + } + function P(t, e, r, n) { + var i = t - r, + a = e - n; + return i * i + a * a; + } + (b.fromVectorTileJs = w), + (b.fromGeojsonVt = function (t, e) { + e = e || {}; + var r = {}; + for (var n in t) + (r[n] = new v(t[n].features, e)), + (r[n].name = n), + (r[n].version = e.version), + (r[n].extent = e.extent); + return w({ layers: r }); + }), + (b.GeoJSONWrapper = _); + var z = function (t) { + return t[0]; + }, + O = function (t) { + return t[1]; + }, + D = function (t, e, r, n, i) { + void 0 === e && (e = z), + void 0 === r && (r = O), + void 0 === n && (n = 64), + void 0 === i && (i = Float64Array), + (this.nodeSize = n), + (this.points = t); + for ( + var a = t.length < 65536 ? Uint16Array : Uint32Array, + o = (this.ids = new a(t.length)), + s = (this.coords = new i(2 * t.length)), + l = 0; + l < t.length; + l++ + ) + (o[l] = l), + (s[2 * l] = e(t[l])), + (s[2 * l + 1] = r(t[l])); + !(function t(e, r, n, i, a, o) { + if (!(a - i <= n)) { + var s = (i + a) >> 1; + !(function t(e, r, n, i, a, o) { + for (; a > i; ) { + if (a - i > 600) { + var s = a - i + 1, + l = n - i + 1, + c = Math.log(s), + u = 0.5 * Math.exp((2 * c) / 3), + f = + 0.5 * + Math.sqrt((c * u * (s - u)) / s) * + (l - s / 2 < 0 ? -1 : 1); + t( + e, + r, + n, + Math.max(i, Math.floor(n - (l * u) / s + f)), + Math.min( + a, + Math.floor(n + ((s - l) * u) / s + f) + ), + o + ); + } + var h = r[2 * n + o], + p = i, + d = a; + for ( + L(e, r, i, n), r[2 * a + o] > h && L(e, r, i, a); + p < d; + + ) { + for (L(e, r, p, d), p++, d--; r[2 * p + o] < h; ) + p++; + for (; r[2 * d + o] > h; ) d--; + } + r[2 * i + o] === h + ? L(e, r, i, d) + : L(e, r, ++d, a), + d <= n && (i = d + 1), + n <= d && (a = d - 1); + } + })(e, r, s, i, a, o % 2), + t(e, r, n, i, s - 1, o + 1), + t(e, r, n, s + 1, a, o + 1); + } + })(o, s, n, 0, o.length - 1, 0); + }; + (D.prototype.range = function (t, e, r, n) { + return (function (t, e, r, n, i, a, o) { + for ( + var s, l, c = [0, t.length - 1, 0], u = []; + c.length; + + ) { + var f = c.pop(), + h = c.pop(), + p = c.pop(); + if (h - p <= o) + for (var d = p; d <= h; d++) + (l = e[2 * d + 1]), + (s = e[2 * d]) >= r && + s <= i && + l >= n && + l <= a && + u.push(t[d]); + else { + var g = Math.floor((p + h) / 2); + (l = e[2 * g + 1]), + (s = e[2 * g]) >= r && + s <= i && + l >= n && + l <= a && + u.push(t[g]); + var m = (f + 1) % 2; + (0 === f ? r <= s : n <= l) && + (c.push(p), c.push(g - 1), c.push(m)), + (0 === f ? i >= s : a >= l) && + (c.push(g + 1), c.push(h), c.push(m)); + } + } + return u; + })(this.ids, this.coords, t, e, r, n, this.nodeSize); + }), + (D.prototype.within = function (t, e, r) { + return (function (t, e, r, n, i, a) { + for ( + var o = [0, t.length - 1, 0], s = [], l = i * i; + o.length; + + ) { + var c = o.pop(), + u = o.pop(), + f = o.pop(); + if (u - f <= a) + for (var h = f; h <= u; h++) + P(e[2 * h], e[2 * h + 1], r, n) <= l && + s.push(t[h]); + else { + var p = Math.floor((f + u) / 2), + d = e[2 * p], + g = e[2 * p + 1]; + P(d, g, r, n) <= l && s.push(t[p]); + var m = (c + 1) % 2; + (0 === c ? r - i <= d : n - i <= g) && + (o.push(f), o.push(p - 1), o.push(m)), + (0 === c ? r + i >= d : n + i >= g) && + (o.push(p + 1), o.push(u), o.push(m)); + } + } + return s; + })(this.ids, this.coords, t, e, r, this.nodeSize); + }); + var R = { + minZoom: 0, + maxZoom: 16, + radius: 40, + extent: 512, + nodeSize: 64, + log: !1, + generateId: !1, + reduce: null, + map: function (t) { + return t; + }, + }, + F = function (t) { + (this.options = H(Object.create(R), t)), + (this.trees = new Array(this.options.maxZoom + 1)); + }; + function B(t, e, r, n, i) { + return { + x: t, + y: e, + zoom: 1 / 0, + id: r, + parentId: -1, + numPoints: n, + properties: i, + }; + } + function N(t, e) { + var r = t.geometry.coordinates, + n = r[1]; + return { + x: V(r[0]), + y: q(n), + zoom: 1 / 0, + index: e, + parentId: -1, + }; + } + function j(t) { + return { + type: 'Feature', + id: t.id, + properties: U(t), + geometry: { + type: 'Point', + coordinates: [ + ((n = t.x), 360 * (n - 0.5)), + ((e = t.y), + (r = ((180 - 360 * e) * Math.PI) / 180), + (360 * Math.atan(Math.exp(r))) / Math.PI - 90), + ], + }, + }; + var e, r, n; + } + function U(t) { + var e = t.numPoints, + r = + e >= 1e4 + ? Math.round(e / 1e3) + 'k' + : e >= 1e3 + ? Math.round(e / 100) / 10 + 'k' + : e; + return H(H({}, t.properties), { + cluster: !0, + cluster_id: t.id, + point_count: e, + point_count_abbreviated: r, + }); + } + function V(t) { + return t / 360 + 0.5; + } + function q(t) { + var e = Math.sin((t * Math.PI) / 180), + r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function H(t, e) { + for (var r in e) t[r] = e[r]; + return t; + } + function G(t) { + return t.x; + } + function Y(t) { + return t.y; + } + function W(t, e, r, n, i, a) { + var o = i - r, + s = a - n; + if (0 !== o || 0 !== s) { + var l = ((t - r) * o + (e - n) * s) / (o * o + s * s); + l > 1 + ? ((r = i), (n = a)) + : l > 0 && ((r += o * l), (n += s * l)); + } + return (o = t - r) * o + (s = e - n) * s; + } + function X(t, e, r, n) { + var i = { + id: void 0 === t ? null : t, + type: e, + geometry: r, + tags: n, + minX: 1 / 0, + minY: 1 / 0, + maxX: -1 / 0, + maxY: -1 / 0, + }; + return ( + (function (t) { + var e = t.geometry, + r = t.type; + if ( + 'Point' === r || + 'MultiPoint' === r || + 'LineString' === r + ) + Z(t, e); + else if ('Polygon' === r || 'MultiLineString' === r) + for (var n = 0; n < e.length; n++) Z(t, e[n]); + else if ('MultiPolygon' === r) + for (n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) Z(t, e[n][i]); + })(i), + i + ); + } + function Z(t, e) { + for (var r = 0; r < e.length; r += 3) + (t.minX = Math.min(t.minX, e[r])), + (t.minY = Math.min(t.minY, e[r + 1])), + (t.maxX = Math.max(t.maxX, e[r])), + (t.maxY = Math.max(t.maxY, e[r + 1])); + } + function J(t, e, r, n) { + if (e.geometry) { + var i = e.geometry.coordinates, + a = e.geometry.type, + o = Math.pow( + r.tolerance / ((1 << r.maxZoom) * r.extent), + 2 + ), + s = [], + l = e.id; + if ( + (r.promoteId + ? (l = e.properties[r.promoteId]) + : r.generateId && (l = n || 0), + 'Point' === a) + ) + K(i, s); + else if ('MultiPoint' === a) + for (var c = 0; c < i.length; c++) K(i[c], s); + else if ('LineString' === a) Q(i, s, o, !1); + else if ('MultiLineString' === a) { + if (r.lineMetrics) { + for (c = 0; c < i.length; c++) + Q(i[c], (s = []), o, !1), + t.push(X(l, 'LineString', s, e.properties)); + return; + } + $(i, s, o, !1); + } else if ('Polygon' === a) $(i, s, o, !0); + else { + if ('MultiPolygon' !== a) { + if ('GeometryCollection' === a) { + for (c = 0; c < e.geometry.geometries.length; c++) + J( + t, + { + id: l, + geometry: e.geometry.geometries[c], + properties: e.properties, + }, + r, + n + ); + return; + } + throw new Error( + 'Input data is not a valid GeoJSON object.' + ); + } + for (c = 0; c < i.length; c++) { + var u = []; + $(i[c], u, o, !0), s.push(u); + } + } + t.push(X(l, a, s, e.properties)); + } + } + function K(t, e) { + e.push(tt(t[0])), e.push(et(t[1])), e.push(0); + } + function Q(t, e, r, n) { + for (var i, a, o = 0, s = 0; s < t.length; s++) { + var l = tt(t[s][0]), + c = et(t[s][1]); + e.push(l), + e.push(c), + e.push(0), + s > 0 && + (o += n + ? (i * c - l * a) / 2 + : Math.sqrt(Math.pow(l - i, 2) + Math.pow(c - a, 2))), + (i = l), + (a = c); + } + var u = e.length - 3; + (e[2] = 1), + (function t(e, r, n, i) { + for ( + var a, + o = i, + s = (n - r) >> 1, + l = n - r, + c = e[r], + u = e[r + 1], + f = e[n], + h = e[n + 1], + p = r + 3; + p < n; + p += 3 + ) { + var d = W(e[p], e[p + 1], c, u, f, h); + if (d > o) (a = p), (o = d); + else if (d === o) { + var g = Math.abs(p - s); + g < l && ((a = p), (l = g)); + } + } + o > i && + (a - r > 3 && t(e, r, a, i), + (e[a + 2] = o), + n - a > 3 && t(e, a, n, i)); + })(e, 0, u, r), + (e[u + 2] = 1), + (e.size = Math.abs(o)), + (e.start = 0), + (e.end = e.size); + } + function $(t, e, r, n) { + for (var i = 0; i < t.length; i++) { + var a = []; + Q(t[i], a, r, n), e.push(a); + } + } + function tt(t) { + return t / 360 + 0.5; + } + function et(t) { + var e = Math.sin((t * Math.PI) / 180), + r = 0.5 - (0.25 * Math.log((1 + e) / (1 - e))) / Math.PI; + return r < 0 ? 0 : r > 1 ? 1 : r; + } + function rt(t, e, r, n, i, a, o, s) { + if (((n /= e), a >= (r /= e) && o < n)) return t; + if (o < r || a >= n) return null; + for (var l = [], c = 0; c < t.length; c++) { + var u = t[c], + f = u.geometry, + h = u.type, + p = 0 === i ? u.minX : u.minY, + d = 0 === i ? u.maxX : u.maxY; + if (p >= r && d < n) l.push(u); + else if (!(d < r || p >= n)) { + var g = []; + if ('Point' === h || 'MultiPoint' === h) + nt(f, g, r, n, i); + else if ('LineString' === h) + it(f, g, r, n, i, !1, s.lineMetrics); + else if ('MultiLineString' === h) ot(f, g, r, n, i, !1); + else if ('Polygon' === h) ot(f, g, r, n, i, !0); + else if ('MultiPolygon' === h) + for (var m = 0; m < f.length; m++) { + var v = []; + ot(f[m], v, r, n, i, !0), v.length && g.push(v); + } + if (g.length) { + if (s.lineMetrics && 'LineString' === h) { + for (m = 0; m < g.length; m++) + l.push(X(u.id, h, g[m], u.tags)); + continue; + } + ('LineString' !== h && 'MultiLineString' !== h) || + (1 === g.length + ? ((h = 'LineString'), (g = g[0])) + : (h = 'MultiLineString')), + ('Point' !== h && 'MultiPoint' !== h) || + (h = 3 === g.length ? 'Point' : 'MultiPoint'), + l.push(X(u.id, h, g, u.tags)); + } + } + } + return l.length ? l : null; + } + function nt(t, e, r, n, i) { + for (var a = 0; a < t.length; a += 3) { + var o = t[a + i]; + o >= r && + o <= n && + (e.push(t[a]), e.push(t[a + 1]), e.push(t[a + 2])); + } + } + function it(t, e, r, n, i, a, o) { + for ( + var s, + l, + c = at(t), + u = 0 === i ? lt : ct, + f = t.start, + h = 0; + h < t.length - 3; + h += 3 + ) { + var p = t[h], + d = t[h + 1], + g = t[h + 2], + m = t[h + 3], + v = t[h + 4], + y = 0 === i ? p : d, + x = 0 === i ? m : v, + b = !1; + o && + (s = Math.sqrt(Math.pow(p - m, 2) + Math.pow(d - v, 2))), + y < r + ? x > r && + ((l = u(c, p, d, m, v, r)), + o && (c.start = f + s * l)) + : y > n + ? x < n && + ((l = u(c, p, d, m, v, n)), + o && (c.start = f + s * l)) + : st(c, p, d, g), + x < r && y >= r && ((l = u(c, p, d, m, v, r)), (b = !0)), + x > n && y <= n && ((l = u(c, p, d, m, v, n)), (b = !0)), + !a && + b && + (o && (c.end = f + s * l), e.push(c), (c = at(t))), + o && (f += s); + } + var _ = t.length - 3; + (p = t[_]), + (d = t[_ + 1]), + (g = t[_ + 2]), + (y = 0 === i ? p : d) >= r && y <= n && st(c, p, d, g), + (_ = c.length - 3), + a && + _ >= 3 && + (c[_] !== c[0] || c[_ + 1] !== c[1]) && + st(c, c[0], c[1], c[2]), + c.length && e.push(c); + } + function at(t) { + var e = []; + return ( + (e.size = t.size), (e.start = t.start), (e.end = t.end), e + ); + } + function ot(t, e, r, n, i, a) { + for (var o = 0; o < t.length; o++) + it(t[o], e, r, n, i, a, !1); + } + function st(t, e, r, n) { + t.push(e), t.push(r), t.push(n); + } + function lt(t, e, r, n, i, a) { + var o = (a - e) / (n - e); + return t.push(a), t.push(r + (i - r) * o), t.push(1), o; + } + function ct(t, e, r, n, i, a) { + var o = (a - r) / (i - r); + return t.push(e + (n - e) * o), t.push(a), t.push(1), o; + } + function ut(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i, + a = t[n], + o = a.type; + if ( + 'Point' === o || + 'MultiPoint' === o || + 'LineString' === o + ) + i = ft(a.geometry, e); + else if ('MultiLineString' === o || 'Polygon' === o) { + i = []; + for (var s = 0; s < a.geometry.length; s++) + i.push(ft(a.geometry[s], e)); + } else if ('MultiPolygon' === o) + for (i = [], s = 0; s < a.geometry.length; s++) { + for (var l = [], c = 0; c < a.geometry[s].length; c++) + l.push(ft(a.geometry[s][c], e)); + i.push(l); + } + r.push(X(a.id, o, i, a.tags)); + } + return r; + } + function ft(t, e) { + var r = []; + (r.size = t.size), + void 0 !== t.start && + ((r.start = t.start), (r.end = t.end)); + for (var n = 0; n < t.length; n += 3) + r.push(t[n] + e, t[n + 1], t[n + 2]); + return r; + } + function ht(t, e) { + if (t.transformed) return t; + var r, + n, + i, + a = 1 << t.z, + o = t.x, + s = t.y; + for (r = 0; r < t.features.length; r++) { + var l = t.features[r], + c = l.geometry, + u = l.type; + if (((l.geometry = []), 1 === u)) + for (n = 0; n < c.length; n += 2) + l.geometry.push(pt(c[n], c[n + 1], e, a, o, s)); + else + for (n = 0; n < c.length; n++) { + var f = []; + for (i = 0; i < c[n].length; i += 2) + f.push(pt(c[n][i], c[n][i + 1], e, a, o, s)); + l.geometry.push(f); + } + } + return (t.transformed = !0), t; + } + function pt(t, e, r, n, i, a) { + return [ + Math.round(r * (t * n - i)), + Math.round(r * (e * n - a)), + ]; + } + function dt(t, e, r, n, i) { + for ( + var a = + e === i.maxZoom + ? 0 + : i.tolerance / ((1 << e) * i.extent), + o = { + features: [], + numPoints: 0, + numSimplified: 0, + numFeatures: 0, + source: null, + x: r, + y: n, + z: e, + transformed: !1, + minX: 2, + minY: 1, + maxX: -1, + maxY: 0, + }, + s = 0; + s < t.length; + s++ + ) { + o.numFeatures++, gt(o, t[s], a, i); + var l = t[s].minX, + c = t[s].minY, + u = t[s].maxX, + f = t[s].maxY; + l < o.minX && (o.minX = l), + c < o.minY && (o.minY = c), + u > o.maxX && (o.maxX = u), + f > o.maxY && (o.maxY = f); + } + return o; + } + function gt(t, e, r, n) { + var i = e.geometry, + a = e.type, + o = []; + if ('Point' === a || 'MultiPoint' === a) + for (var s = 0; s < i.length; s += 3) + o.push(i[s]), + o.push(i[s + 1]), + t.numPoints++, + t.numSimplified++; + else if ('LineString' === a) mt(o, i, t, r, !1, !1); + else if ('MultiLineString' === a || 'Polygon' === a) + for (s = 0; s < i.length; s++) + mt(o, i[s], t, r, 'Polygon' === a, 0 === s); + else if ('MultiPolygon' === a) + for (var l = 0; l < i.length; l++) { + var c = i[l]; + for (s = 0; s < c.length; s++) + mt(o, c[s], t, r, !0, 0 === s); + } + if (o.length) { + var u = e.tags || null; + if ('LineString' === a && n.lineMetrics) { + for (var f in ((u = {}), e.tags)) u[f] = e.tags[f]; + (u.mapbox_clip_start = i.start / i.size), + (u.mapbox_clip_end = i.end / i.size); + } + var h = { + geometry: o, + type: + 'Polygon' === a || 'MultiPolygon' === a + ? 3 + : 'LineString' === a || 'MultiLineString' === a + ? 2 + : 1, + tags: u, + }; + null !== e.id && (h.id = e.id), t.features.push(h); + } + } + function mt(t, e, r, n, i, a) { + var o = n * n; + if (n > 0 && e.size < (i ? o : n)) + r.numPoints += e.length / 3; + else { + for (var s = [], l = 0; l < e.length; l += 3) + (0 === n || e[l + 2] > o) && + (r.numSimplified++, s.push(e[l]), s.push(e[l + 1])), + r.numPoints++; + i && + (function (t, e) { + for ( + var r = 0, n = 0, i = t.length, a = i - 2; + n < i; + a = n, n += 2 + ) + r += (t[n] - t[a]) * (t[n + 1] + t[a + 1]); + if (r > 0 === e) + for (n = 0, i = t.length; n < i / 2; n += 2) { + var o = t[n], + s = t[n + 1]; + (t[n] = t[i - 2 - n]), + (t[n + 1] = t[i - 1 - n]), + (t[i - 2 - n] = o), + (t[i - 1 - n] = s); + } + })(s, a), + t.push(s); + } + } + function vt(t, e) { + var r = (e = this.options = + (function (t, e) { + for (var r in e) t[r] = e[r]; + return t; + })(Object.create(this.options), e)).debug; + if ( + (r && console.time('preprocess data'), + e.maxZoom < 0 || e.maxZoom > 24) + ) + throw new Error('maxZoom should be in the 0-24 range'); + if (e.promoteId && e.generateId) + throw new Error( + 'promoteId and generateId cannot be used together.' + ); + var n = (function (t, e) { + var r = []; + if ('FeatureCollection' === t.type) + for (var n = 0; n < t.features.length; n++) + J(r, t.features[n], e, n); + else J(r, 'Feature' === t.type ? t : { geometry: t }, e); + return r; + })(t, e); + (this.tiles = {}), + (this.tileCoords = []), + r && + (console.timeEnd('preprocess data'), + console.log( + 'index: maxZoom: %d, maxPoints: %d', + e.indexMaxZoom, + e.indexMaxPoints + ), + console.time('generate tiles'), + (this.stats = {}), + (this.total = 0)), + (n = (function (t, e) { + var r = e.buffer / e.extent, + n = t, + i = rt(t, 1, -1 - r, r, 0, -1, 2, e), + a = rt(t, 1, 1 - r, 2 + r, 0, -1, 2, e); + return ( + (i || a) && + ((n = rt(t, 1, -r, 1 + r, 0, -1, 2, e) || []), + i && (n = ut(i, 1).concat(n)), + a && (n = n.concat(ut(a, -1)))), + n + ); + })(n, e)).length && this.splitTile(n, 0, 0, 0), + r && + (n.length && + console.log( + 'features: %d, points: %d', + this.tiles[0].numFeatures, + this.tiles[0].numPoints + ), + console.timeEnd('generate tiles'), + console.log( + 'tiles generated:', + this.total, + JSON.stringify(this.stats) + )); + } + function yt(t, e, r) { + return 32 * ((1 << t) * r + e) + t; + } + function xt(t, e) { + var r = t.tileID.canonical; + if (!this._geoJSONIndex) return e(null, null); + var n = this._geoJSONIndex.getTile(r.z, r.x, r.y); + if (!n) return e(null, null); + var i = new g(n.features), + a = b(i); + (0 === a.byteOffset && + a.byteLength === a.buffer.byteLength) || + (a = new Uint8Array(a)), + e(null, { vectorTile: i, rawData: a.buffer }); + } + (F.prototype.load = function (t) { + var e = this.options, + r = e.log, + n = e.minZoom, + i = e.maxZoom, + a = e.nodeSize; + r && console.time('total time'); + var o = 'prepare ' + t.length + ' points'; + r && console.time(o), (this.points = t); + for (var s = [], l = 0; l < t.length; l++) + t[l].geometry && s.push(N(t[l], l)); + (this.trees[i + 1] = new D(s, G, Y, a, Float32Array)), + r && console.timeEnd(o); + for (var c = i; c >= n; c--) { + var u = +Date.now(); + (s = this._cluster(s, c)), + (this.trees[c] = new D(s, G, Y, a, Float32Array)), + r && + console.log( + 'z%d: %d clusters in %dms', + c, + s.length, + +Date.now() - u + ); + } + return r && console.timeEnd('total time'), this; + }), + (F.prototype.getClusters = function (t, e) { + var r = ((((t[0] + 180) % 360) + 360) % 360) - 180, + n = Math.max(-90, Math.min(90, t[1])), + i = + 180 === t[2] + ? 180 + : ((((t[2] + 180) % 360) + 360) % 360) - 180, + a = Math.max(-90, Math.min(90, t[3])); + if (t[2] - t[0] >= 360) (r = -180), (i = 180); + else if (r > i) { + var o = this.getClusters([r, n, 180, a], e), + s = this.getClusters([-180, n, i, a], e); + return o.concat(s); + } + for ( + var l = this.trees[this._limitZoom(e)], + c = [], + u = 0, + f = l.range(V(r), q(a), V(i), q(n)); + u < f.length; + u += 1 + ) { + var h = l.points[f[u]]; + c.push(h.numPoints ? j(h) : this.points[h.index]); + } + return c; + }), + (F.prototype.getChildren = function (t) { + var e = this._getOriginId(t), + r = this._getOriginZoom(t), + n = 'No cluster with the specified id.', + i = this.trees[r]; + if (!i) throw new Error(n); + var a = i.points[e]; + if (!a) throw new Error(n); + for ( + var o = + this.options.radius / + (this.options.extent * Math.pow(2, r - 1)), + s = [], + l = 0, + c = i.within(a.x, a.y, o); + l < c.length; + l += 1 + ) { + var u = i.points[c[l]]; + u.parentId === t && + s.push(u.numPoints ? j(u) : this.points[u.index]); + } + if (0 === s.length) throw new Error(n); + return s; + }), + (F.prototype.getLeaves = function (t, e, r) { + var n = []; + return ( + this._appendLeaves(n, t, (e = e || 10), (r = r || 0), 0), + n + ); + }), + (F.prototype.getTile = function (t, e, r) { + var n = this.trees[this._limitZoom(t)], + i = Math.pow(2, t), + a = this.options, + o = a.radius / a.extent, + s = (r - o) / i, + l = (r + 1 + o) / i, + c = { features: [] }; + return ( + this._addTileFeatures( + n.range((e - o) / i, s, (e + 1 + o) / i, l), + n.points, + e, + r, + i, + c + ), + 0 === e && + this._addTileFeatures( + n.range(1 - o / i, s, 1, l), + n.points, + i, + r, + i, + c + ), + e === i - 1 && + this._addTileFeatures( + n.range(0, s, o / i, l), + n.points, + -1, + r, + i, + c + ), + c.features.length ? c : null + ); + }), + (F.prototype.getClusterExpansionZoom = function (t) { + for ( + var e = this._getOriginZoom(t) - 1; + e <= this.options.maxZoom; + + ) { + var r = this.getChildren(t); + if ((e++, 1 !== r.length)) break; + t = r[0].properties.cluster_id; + } + return e; + }), + (F.prototype._appendLeaves = function (t, e, r, n, i) { + for ( + var a = 0, o = this.getChildren(e); + a < o.length; + a += 1 + ) { + var s = o[a], + l = s.properties; + if ( + (l && l.cluster + ? i + l.point_count <= n + ? (i += l.point_count) + : (i = this._appendLeaves(t, l.cluster_id, r, n, i)) + : i < n + ? i++ + : t.push(s), + t.length === r) + ) + break; + } + return i; + }), + (F.prototype._addTileFeatures = function (t, e, r, n, i, a) { + for (var o = 0, s = t; o < s.length; o += 1) { + var l = e[s[o]], + c = l.numPoints, + u = { + type: 1, + geometry: [ + [ + Math.round(this.options.extent * (l.x * i - r)), + Math.round(this.options.extent * (l.y * i - n)), + ], + ], + tags: c ? U(l) : this.points[l.index].properties, + }, + f = void 0; + c + ? (f = l.id) + : this.options.generateId + ? (f = l.index) + : this.points[l.index].id && + (f = this.points[l.index].id), + void 0 !== f && (u.id = f), + a.features.push(u); + } + }), + (F.prototype._limitZoom = function (t) { + return Math.max( + this.options.minZoom, + Math.min(t, this.options.maxZoom + 1) + ); + }), + (F.prototype._cluster = function (t, e) { + for ( + var r = [], + n = this.options, + i = n.reduce, + a = n.radius / (n.extent * Math.pow(2, e)), + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + if (!(s.zoom <= e)) { + s.zoom = e; + for ( + var l = this.trees[e + 1], + c = l.within(s.x, s.y, a), + u = s.numPoints || 1, + f = s.x * u, + h = s.y * u, + p = i && u > 1 ? this._map(s, !0) : null, + d = (o << 5) + (e + 1) + this.points.length, + g = 0, + m = c; + g < m.length; + g += 1 + ) { + var v = l.points[m[g]]; + if (!(v.zoom <= e)) { + v.zoom = e; + var y = v.numPoints || 1; + (f += v.x * y), + (h += v.y * y), + (u += y), + (v.parentId = d), + i && + (p || (p = this._map(s, !0)), + i(p, this._map(v))); + } + } + 1 === u + ? r.push(s) + : ((s.parentId = d), + r.push(B(f / u, h / u, d, u, p))); + } + } + return r; + }), + (F.prototype._getOriginId = function (t) { + return (t - this.points.length) >> 5; + }), + (F.prototype._getOriginZoom = function (t) { + return (t - this.points.length) % 32; + }), + (F.prototype._map = function (t, e) { + if (t.numPoints) + return e ? H({}, t.properties) : t.properties; + var r = this.points[t.index].properties, + n = this.options.map(r); + return e && n === r ? H({}, n) : n; + }), + (vt.prototype.options = { + maxZoom: 14, + indexMaxZoom: 5, + indexMaxPoints: 1e5, + tolerance: 3, + extent: 4096, + buffer: 64, + lineMetrics: !1, + promoteId: null, + generateId: !1, + debug: 0, + }), + (vt.prototype.splitTile = function (t, e, r, n, i, a, o) { + for ( + var s = [t, e, r, n], l = this.options, c = l.debug; + s.length; + + ) { + (n = s.pop()), + (r = s.pop()), + (e = s.pop()), + (t = s.pop()); + var u = 1 << e, + f = yt(e, r, n), + h = this.tiles[f]; + if ( + !h && + (c > 1 && console.time('creation'), + (h = this.tiles[f] = dt(t, e, r, n, l)), + this.tileCoords.push({ z: e, x: r, y: n }), + c) + ) { + c > 1 && + (console.log( + 'tile z%d-%d-%d (features: %d, points: %d, simplified: %d)', + e, + r, + n, + h.numFeatures, + h.numPoints, + h.numSimplified + ), + console.timeEnd('creation')); + var p = 'z' + e; + (this.stats[p] = (this.stats[p] || 0) + 1), + this.total++; + } + if (((h.source = t), i)) { + if (e === l.maxZoom || e === i) continue; + var d = 1 << (i - e); + if (r !== Math.floor(a / d) || n !== Math.floor(o / d)) + continue; + } else if ( + e === l.indexMaxZoom || + h.numPoints <= l.indexMaxPoints + ) + continue; + if (((h.source = null), 0 !== t.length)) { + c > 1 && console.time('clipping'); + var g, + m, + v, + y, + x, + b, + _ = (0.5 * l.buffer) / l.extent, + w = 0.5 - _, + T = 0.5 + _, + k = 1 + _; + (g = m = v = y = null), + (x = rt(t, u, r - _, r + T, 0, h.minX, h.maxX, l)), + (b = rt(t, u, r + w, r + k, 0, h.minX, h.maxX, l)), + (t = null), + x && + ((g = rt(x, u, n - _, n + T, 1, h.minY, h.maxY, l)), + (m = rt(x, u, n + w, n + k, 1, h.minY, h.maxY, l)), + (x = null)), + b && + ((v = rt(b, u, n - _, n + T, 1, h.minY, h.maxY, l)), + (y = rt(b, u, n + w, n + k, 1, h.minY, h.maxY, l)), + (b = null)), + c > 1 && console.timeEnd('clipping'), + s.push(g || [], e + 1, 2 * r, 2 * n), + s.push(m || [], e + 1, 2 * r, 2 * n + 1), + s.push(v || [], e + 1, 2 * r + 1, 2 * n), + s.push(y || [], e + 1, 2 * r + 1, 2 * n + 1); + } + } + }), + (vt.prototype.getTile = function (t, e, r) { + var n = this.options, + i = n.extent, + a = n.debug; + if (t < 0 || t > 24) return null; + var o = 1 << t, + s = yt(t, (e = ((e % o) + o) % o), r); + if (this.tiles[s]) return ht(this.tiles[s], i); + a > 1 && console.log('drilling down to z%d-%d-%d', t, e, r); + for (var l, c = t, u = e, f = r; !l && c > 0; ) + c--, + (u = Math.floor(u / 2)), + (f = Math.floor(f / 2)), + (l = this.tiles[yt(c, u, f)]); + return l && l.source + ? (a > 1 && + console.log('found parent tile z%d-%d-%d', c, u, f), + a > 1 && console.time('drilling down'), + this.splitTile(l.source, c, u, f, t, e, r), + a > 1 && console.timeEnd('drilling down'), + this.tiles[s] ? ht(this.tiles[s], i) : null) + : null; + }); + var bt = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, xt), i && (this.loadGeoJSON = i); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.loadData = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { abandoned: !0 }), + (this._pendingCallback = e), + (this._pendingLoadDataParams = t), + this._state && 'Idle' !== this._state + ? (this._state = 'NeedsLoadData') + : ((this._state = 'Coalescing'), this._loadData()); + }), + (r.prototype._loadData = function () { + var e = this; + if ( + this._pendingCallback && + this._pendingLoadDataParams + ) { + var r = this._pendingCallback, + n = this._pendingLoadDataParams; + delete this._pendingCallback, + delete this._pendingLoadDataParams; + var i = + !!( + n && + n.request && + n.request.collectResourceTiming + ) && new t.RequestPerformance(n.request); + this.loadGeoJSON(n, function (a, o) { + if (a || !o) return r(a); + if ('object' != typeof o) + return r( + new Error( + "Input data given to '" + + n.source + + "' is not a valid GeoJSON object." + ) + ); + !(function t(e, r) { + var n, + i = e && e.type; + if ('FeatureCollection' === i) + for (n = 0; n < e.features.length; n++) + t(e.features[n], r); + else if ('GeometryCollection' === i) + for (n = 0; n < e.geometries.length; n++) + t(e.geometries[n], r); + else if ('Feature' === i) t(e.geometry, r); + else if ('Polygon' === i) f(e.coordinates, r); + else if ('MultiPolygon' === i) + for (n = 0; n < e.coordinates.length; n++) + f(e.coordinates[n], r); + return e; + })(o, !0); + try { + e._geoJSONIndex = n.cluster + ? new F( + (function (e) { + var r = e.superclusterOptions, + n = e.clusterProperties; + if (!n || !r) return r; + for ( + var i = {}, + a = {}, + o = { accumulated: null, zoom: 0 }, + s = { properties: null }, + l = Object.keys(n), + c = 0, + u = l; + c < u.length; + c += 1 + ) { + var f = u[c], + h = n[f], + p = h[0], + d = t.createExpression(h[1]), + g = t.createExpression( + 'string' == typeof p + ? [p, ['accumulated'], ['get', f]] + : p + ); + (i[f] = d.value), (a[f] = g.value); + } + return ( + (r.map = function (t) { + s.properties = t; + for ( + var e = {}, r = 0, n = l; + r < n.length; + r += 1 + ) { + var a = n[r]; + e[a] = i[a].evaluate(o, s); + } + return e; + }), + (r.reduce = function (t, e) { + s.properties = e; + for ( + var r = 0, n = l; + r < n.length; + r += 1 + ) { + var i = n[r]; + (o.accumulated = t[i]), + (t[i] = a[i].evaluate(o, s)); + } + }), + r + ); + })(n) + ).load(o.features) + : (function (t, e) { + return new vt(t, e); + })(o, n.geojsonVtOptions); + } catch (a) { + return r(a); + } + e.loaded = {}; + var s = {}; + if (i) { + var l = i.finish(); + l && + ((s.resourceTiming = {}), + (s.resourceTiming[n.source] = JSON.parse( + JSON.stringify(l) + ))); + } + r(null, s); + }); + } + }), + (r.prototype.coalesce = function () { + 'Coalescing' === this._state + ? (this._state = 'Idle') + : 'NeedsLoadData' === this._state && + ((this._state = 'Coalescing'), this._loadData()); + }), + (r.prototype.reloadTile = function (t, r) { + var n = this.loaded; + return n && n[t.uid] + ? e.prototype.reloadTile.call(this, t, r) + : this.loadTile(t, r); + }), + (r.prototype.loadGeoJSON = function (e, r) { + if (e.request) t.getJSON(e.request, r); + else { + if ('string' != typeof e.data) + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object." + ) + ); + try { + return r(null, JSON.parse(e.data)); + } catch (t) { + return r( + new Error( + "Input data given to '" + + e.source + + "' is not a valid GeoJSON object." + ) + ); + } + } + }), + (r.prototype.removeSource = function (t, e) { + this._pendingCallback && + this._pendingCallback(null, { abandoned: !0 }), + e(); + }), + (r.prototype.getClusterExpansionZoom = function (t, e) { + try { + e( + null, + this._geoJSONIndex.getClusterExpansionZoom( + t.clusterId + ) + ); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterChildren = function (t, e) { + try { + e(null, this._geoJSONIndex.getChildren(t.clusterId)); + } catch (t) { + e(t); + } + }), + (r.prototype.getClusterLeaves = function (t, e) { + try { + e( + null, + this._geoJSONIndex.getLeaves( + t.clusterId, + t.limit, + t.offset + ) + ); + } catch (t) { + e(t); + } + }), + r + ); + })(l), + _t = function (e) { + var r = this; + (this.self = e), + (this.actor = new t.Actor(e, this)), + (this.layerIndexes = {}), + (this.availableImages = {}), + (this.workerSourceTypes = { vector: l, geojson: bt }), + (this.workerSources = {}), + (this.demWorkerSources = {}), + (this.self.registerWorkerSource = function (t, e) { + if (r.workerSourceTypes[t]) + throw new Error( + 'Worker source with name "' + + t + + '" already registered.' + ); + r.workerSourceTypes[t] = e; + }), + (this.self.registerRTLTextPlugin = function (e) { + if (t.plugin.isParsed()) + throw new Error( + 'RTL text plugin already registered.' + ); + (t.plugin.applyArabicShaping = e.applyArabicShaping), + (t.plugin.processBidirectionalText = + e.processBidirectionalText), + (t.plugin.processStyledBidirectionalText = + e.processStyledBidirectionalText); + }); + }; + return ( + (_t.prototype.setReferrer = function (t, e) { + this.referrer = e; + }), + (_t.prototype.setImages = function (t, e, r) { + for (var n in ((this.availableImages[t] = e), + this.workerSources[t])) { + var i = this.workerSources[t][n]; + for (var a in i) i[a].availableImages = e; + } + r(); + }), + (_t.prototype.setLayers = function (t, e, r) { + this.getLayerIndex(t).replace(e), r(); + }), + (_t.prototype.updateLayers = function (t, e, r) { + this.getLayerIndex(t).update(e.layers, e.removedIds), r(); + }), + (_t.prototype.loadTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).loadTile(e, r); + }), + (_t.prototype.loadDEMTile = function (t, e, r) { + this.getDEMWorkerSource(t, e.source).loadTile(e, r); + }), + (_t.prototype.reloadTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).reloadTile(e, r); + }), + (_t.prototype.abortTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).abortTile(e, r); + }), + (_t.prototype.removeTile = function (t, e, r) { + this.getWorkerSource(t, e.type, e.source).removeTile(e, r); + }), + (_t.prototype.removeDEMTile = function (t, e) { + this.getDEMWorkerSource(t, e.source).removeTile(e); + }), + (_t.prototype.removeSource = function (t, e, r) { + if ( + this.workerSources[t] && + this.workerSources[t][e.type] && + this.workerSources[t][e.type][e.source] + ) { + var n = this.workerSources[t][e.type][e.source]; + delete this.workerSources[t][e.type][e.source], + void 0 !== n.removeSource ? n.removeSource(e, r) : r(); + } + }), + (_t.prototype.loadWorkerSource = function (t, e, r) { + try { + this.self.importScripts(e.url), r(); + } catch (t) { + r(t.toString()); + } + }), + (_t.prototype.syncRTLPluginState = function (e, r, n) { + try { + t.plugin.setState(r); + var i = t.plugin.getPluginURL(); + if ( + t.plugin.isLoaded() && + !t.plugin.isParsed() && + null != i + ) { + this.self.importScripts(i); + var a = t.plugin.isParsed(); + n( + a + ? void 0 + : new Error( + 'RTL Text Plugin failed to import scripts from ' + + i + ), + a + ); + } + } catch (t) { + n(t.toString()); + } + }), + (_t.prototype.getAvailableImages = function (t) { + var e = this.availableImages[t]; + return e || (e = []), e; + }), + (_t.prototype.getLayerIndex = function (t) { + var e = this.layerIndexes[t]; + return e || (e = this.layerIndexes[t] = new n()), e; + }), + (_t.prototype.getWorkerSource = function (t, e, r) { + var n = this; + return ( + this.workerSources[t] || (this.workerSources[t] = {}), + this.workerSources[t][e] || + (this.workerSources[t][e] = {}), + this.workerSources[t][e][r] || + (this.workerSources[t][e][r] = + new this.workerSourceTypes[e]( + { + send: function (e, r, i) { + n.actor.send(e, r, i, t); + }, + }, + this.getLayerIndex(t), + this.getAvailableImages(t) + )), + this.workerSources[t][e][r] + ); + }), + (_t.prototype.getDEMWorkerSource = function (t, e) { + return ( + this.demWorkerSources[t] || + (this.demWorkerSources[t] = {}), + this.demWorkerSources[t][e] || + (this.demWorkerSources[t][e] = new u()), + this.demWorkerSources[t][e] + ); + }), + (_t.prototype.enforceCacheSizeLimit = function (e, r) { + t.enforceCacheSizeLimit(r); + }), + 'undefined' != typeof WorkerGlobalScope && + void 0 !== t.window && + t.window instanceof WorkerGlobalScope && + (t.window.worker = new _t(t.window)), + _t + ); + }), + n(0, function (t) { + var e = t.createCommonjsModule(function (t) { + function e(t) { + return !r(t); + } + function r(t) { + return 'undefined' == typeof window || + 'undefined' == typeof document + ? 'not a browser' + : Array.prototype && + Array.prototype.every && + Array.prototype.filter && + Array.prototype.forEach && + Array.prototype.indexOf && + Array.prototype.lastIndexOf && + Array.prototype.map && + Array.prototype.some && + Array.prototype.reduce && + Array.prototype.reduceRight && + Array.isArray + ? Function.prototype && Function.prototype.bind + ? Object.keys && + Object.create && + Object.getPrototypeOf && + Object.getOwnPropertyNames && + Object.isSealed && + Object.isFrozen && + Object.isExtensible && + Object.getOwnPropertyDescriptor && + Object.defineProperty && + Object.defineProperties && + Object.seal && + Object.freeze && + Object.preventExtensions + ? 'JSON' in window && + 'parse' in JSON && + 'stringify' in JSON + ? (function () { + if ( + !( + 'Worker' in window && + 'Blob' in window && + 'URL' in window + ) + ) + return !1; + var t, + e, + r = new Blob([''], { + type: 'text/javascript', + }), + n = URL.createObjectURL(r); + try { + (e = new Worker(n)), (t = !0); + } catch (e) { + t = !1; + } + return ( + e && e.terminate(), + URL.revokeObjectURL(n), + t + ); + })() + ? 'Uint8ClampedArray' in window + ? ArrayBuffer.isView + ? (function () { + var t = + document.createElement('canvas'); + t.width = t.height = 1; + var e = t.getContext('2d'); + if (!e) return !1; + var r = e.getImageData(0, 0, 1, 1); + return r && r.width === t.width; + })() + ? (void 0 === + n[ + (r = + t && + t.failIfMajorPerformanceCaveat) + ] && + (n[r] = (function (t) { + var r = (function (t) { + var r = + document.createElement( + 'canvas' + ), + n = Object.create( + e.webGLContextAttributes + ); + return ( + (n.failIfMajorPerformanceCaveat = + t), + r.probablySupportsContext + ? r.probablySupportsContext( + 'webgl', + n + ) || + r.probablySupportsContext( + 'experimental-webgl', + n + ) + : r.supportsContext + ? r.supportsContext( + 'webgl', + n + ) || + r.supportsContext( + 'experimental-webgl', + n + ) + : r.getContext('webgl', n) || + r.getContext( + 'experimental-webgl', + n + ) + ); + })(t); + if (!r) return !1; + var n = r.createShader( + r.VERTEX_SHADER + ); + return ( + !(!n || r.isContextLost()) && + (r.shaderSource( + n, + 'void main() {}' + ), + r.compileShader(n), + !0 === + r.getShaderParameter( + n, + r.COMPILE_STATUS + )) + ); + })(r)), + n[r] + ? void 0 + : 'insufficient WebGL support') + : 'insufficient Canvas/getImageData support' + : 'insufficient ArrayBuffer support' + : 'insufficient Uint8ClampedArray support' + : 'insufficient worker support' + : 'insufficient JSON support' + : 'insufficient Object support' + : 'insufficient Function support' + : 'insufficent Array support'; + var r; + } + t.exports + ? (t.exports = e) + : window && + ((window.mapboxgl = window.mapboxgl || {}), + (window.mapboxgl.supported = e), + (window.mapboxgl.notSupportedReason = r)); + var n = {}; + e.webGLContextAttributes = { + antialias: !1, + alpha: !0, + stencil: !0, + depth: !0, + }; + }), + r = { + create: function (e, r, n) { + var i = t.window.document.createElement(e); + return ( + void 0 !== r && (i.className = r), + n && n.appendChild(i), + i + ); + }, + createNS: function (e, r) { + return t.window.document.createElementNS(e, r); + }, + }, + n = t.window.document.documentElement.style; + function i(t) { + if (!n) return t[0]; + for (var e = 0; e < t.length; e++) if (t[e] in n) return t[e]; + return t[0]; + } + var a, + o = i([ + 'userSelect', + 'MozUserSelect', + 'WebkitUserSelect', + 'msUserSelect', + ]); + (r.disableDrag = function () { + n && o && ((a = n[o]), (n[o] = 'none')); + }), + (r.enableDrag = function () { + n && o && (n[o] = a); + }); + var s = i(['transform', 'WebkitTransform']); + r.setTransform = function (t, e) { + t.style[s] = e; + }; + var l = !1; + try { + var c = Object.defineProperty({}, 'passive', { + get: function () { + l = !0; + }, + }); + t.window.addEventListener('test', c, c), + t.window.removeEventListener('test', c, c); + } catch (t) { + l = !1; + } + (r.addEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + t.addEventListener( + e, + r, + 'passive' in n && l ? n : n.capture + ); + }), + (r.removeEventListener = function (t, e, r, n) { + void 0 === n && (n = {}), + t.removeEventListener( + e, + r, + 'passive' in n && l ? n : n.capture + ); + }); + var u = function (e) { + e.preventDefault(), + e.stopPropagation(), + t.window.removeEventListener('click', u, !0); + }; + function f(t) { + var e = t.userImage; + return ( + !!(e && e.render && e.render()) && + (t.data.replace(new Uint8Array(e.data.buffer)), !0) + ); + } + (r.suppressClick = function () { + t.window.addEventListener('click', u, !0), + t.window.setTimeout(function () { + t.window.removeEventListener('click', u, !0); + }, 0); + }), + (r.mousePos = function (e, r) { + var n = e.getBoundingClientRect(); + return new t.Point( + r.clientX - n.left - e.clientLeft, + r.clientY - n.top - e.clientTop + ); + }), + (r.touchPos = function (e, r) { + for ( + var n = e.getBoundingClientRect(), i = [], a = 0; + a < r.length; + a++ + ) + i.push( + new t.Point( + r[a].clientX - n.left - e.clientLeft, + r[a].clientY - n.top - e.clientTop + ) + ); + return i; + }), + (r.mouseButton = function (e) { + return void 0 !== t.window.InstallTrigger && + 2 === e.button && + e.ctrlKey && + t.window.navigator.platform + .toUpperCase() + .indexOf('MAC') >= 0 + ? 0 + : e.button; + }), + (r.remove = function (t) { + t.parentNode && t.parentNode.removeChild(t); + }); + var h = (function (e) { + function r() { + e.call(this), + (this.images = {}), + (this.updatedImages = {}), + (this.callbackDispatchedThisFrame = {}), + (this.loaded = !1), + (this.requestors = []), + (this.patterns = {}), + (this.atlasImage = new t.RGBAImage({ + width: 1, + height: 1, + })), + (this.dirty = !0); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.isLoaded = function () { + return this.loaded; + }), + (r.prototype.setLoaded = function (t) { + if (this.loaded !== t && ((this.loaded = t), t)) { + for ( + var e = 0, r = this.requestors; + e < r.length; + e += 1 + ) { + var n = r[e]; + this._notify(n.ids, n.callback); + } + this.requestors = []; + } + }), + (r.prototype.getImage = function (t) { + return this.images[t]; + }), + (r.prototype.addImage = function (t, e) { + this._validate(t, e) && (this.images[t] = e); + }), + (r.prototype._validate = function (e, r) { + var n = !0; + return ( + this._validateStretch( + r.stretchX, + r.data && r.data.width + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchX" value' + ) + ) + ), + (n = !1)), + this._validateStretch( + r.stretchY, + r.data && r.data.height + ) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "stretchY" value' + ) + ) + ), + (n = !1)), + this._validateContent(r.content, r) || + (this.fire( + new t.ErrorEvent( + new Error( + 'Image "' + + e + + '" has invalid "content" value' + ) + ) + ), + (n = !1)), + n + ); + }), + (r.prototype._validateStretch = function (t, e) { + if (!t) return !0; + for (var r = 0, n = 0, i = t; n < i.length; n += 1) { + var a = i[n]; + if (a[0] < r || a[1] < a[0] || e < a[1]) return !1; + r = a[1]; + } + return !0; + }), + (r.prototype._validateContent = function (t, e) { + return !( + t && + (4 !== t.length || + t[0] < 0 || + e.data.width < t[0] || + t[1] < 0 || + e.data.height < t[1] || + t[2] < 0 || + e.data.width < t[2] || + t[3] < 0 || + e.data.height < t[3] || + t[2] < t[0] || + t[3] < t[1]) + ); + }), + (r.prototype.updateImage = function (t, e) { + (e.version = this.images[t].version + 1), + (this.images[t] = e), + (this.updatedImages[t] = !0); + }), + (r.prototype.removeImage = function (t) { + var e = this.images[t]; + delete this.images[t], + delete this.patterns[t], + e.userImage && + e.userImage.onRemove && + e.userImage.onRemove(); + }), + (r.prototype.listImages = function () { + return Object.keys(this.images); + }), + (r.prototype.getImages = function (t, e) { + var r = !0; + if (!this.isLoaded()) + for (var n = 0, i = t; n < i.length; n += 1) + this.images[i[n]] || (r = !1); + this.isLoaded() || r + ? this._notify(t, e) + : this.requestors.push({ ids: t, callback: e }); + }), + (r.prototype._notify = function (e, r) { + for (var n = {}, i = 0, a = e; i < a.length; i += 1) { + var o = a[i]; + this.images[o] || + this.fire( + new t.Event('styleimagemissing', { id: o }) + ); + var s = this.images[o]; + s + ? (n[o] = { + data: s.data.clone(), + pixelRatio: s.pixelRatio, + sdf: s.sdf, + version: s.version, + stretchX: s.stretchX, + stretchY: s.stretchY, + content: s.content, + hasRenderCallback: Boolean( + s.userImage && s.userImage.render + ), + }) + : t.warnOnce( + 'Image "' + + o + + '" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.' + ); + } + r(null, n); + }), + (r.prototype.getPixelSize = function () { + var t = this.atlasImage; + return { width: t.width, height: t.height }; + }), + (r.prototype.getPattern = function (e) { + var r = this.patterns[e], + n = this.getImage(e); + if (!n) return null; + if (r && r.position.version === n.version) + return r.position; + if (r) r.position.version = n.version; + else { + var i = { + w: n.data.width + 2, + h: n.data.height + 2, + x: 0, + y: 0, + }, + a = new t.ImagePosition(i, n); + this.patterns[e] = { bin: i, position: a }; + } + return ( + this._updatePatternAtlas(), this.patterns[e].position + ); + }), + (r.prototype.bind = function (e) { + var r = e.gl; + this.atlasTexture + ? this.dirty && + (this.atlasTexture.update(this.atlasImage), + (this.dirty = !1)) + : (this.atlasTexture = new t.Texture( + e, + this.atlasImage, + r.RGBA + )), + this.atlasTexture.bind(r.LINEAR, r.CLAMP_TO_EDGE); + }), + (r.prototype._updatePatternAtlas = function () { + var e = []; + for (var r in this.patterns) + e.push(this.patterns[r].bin); + var n = t.potpack(e), + i = n.w, + a = n.h, + o = this.atlasImage; + for (var s in (o.resize({ + width: i || 1, + height: a || 1, + }), + this.patterns)) { + var l = this.patterns[s].bin, + c = l.x + 1, + u = l.y + 1, + f = this.images[s].data, + h = f.width, + p = f.height; + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: c, y: u }, + { width: h, height: p } + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: p - 1 }, + { x: c, y: u - 1 }, + { width: h, height: 1 } + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: c, y: u + p }, + { width: h, height: 1 } + ), + t.RGBAImage.copy( + f, + o, + { x: h - 1, y: 0 }, + { x: c - 1, y: u }, + { width: 1, height: p } + ), + t.RGBAImage.copy( + f, + o, + { x: 0, y: 0 }, + { x: c + h, y: u }, + { width: 1, height: p } + ); + } + this.dirty = !0; + }), + (r.prototype.beginFrame = function () { + this.callbackDispatchedThisFrame = {}; + }), + (r.prototype.dispatchRenderCallbacks = function (t) { + for (var e = 0, r = t; e < r.length; e += 1) { + var n = r[e]; + if (!this.callbackDispatchedThisFrame[n]) { + this.callbackDispatchedThisFrame[n] = !0; + var i = this.images[n]; + f(i) && this.updateImage(n, i); + } + } + }), + r + ); + })(t.Evented), + p = m, + d = m, + g = 1e20; + function m(t, e, r, n, i, a) { + (this.fontSize = t || 24), + (this.buffer = void 0 === e ? 3 : e), + (this.cutoff = n || 0.25), + (this.fontFamily = i || 'sans-serif'), + (this.fontWeight = a || 'normal'), + (this.radius = r || 8); + var o = (this.size = this.fontSize + 2 * this.buffer); + (this.canvas = document.createElement('canvas')), + (this.canvas.width = this.canvas.height = o), + (this.ctx = this.canvas.getContext('2d')), + (this.ctx.font = + this.fontWeight + + ' ' + + this.fontSize + + 'px ' + + this.fontFamily), + (this.ctx.textBaseline = 'middle'), + (this.ctx.fillStyle = 'black'), + (this.gridOuter = new Float64Array(o * o)), + (this.gridInner = new Float64Array(o * o)), + (this.f = new Float64Array(o)), + (this.d = new Float64Array(o)), + (this.z = new Float64Array(o + 1)), + (this.v = new Int16Array(o)), + (this.middle = Math.round( + (o / 2) * + (navigator.userAgent.indexOf('Gecko/') >= 0 ? 1.2 : 1) + )); + } + function v(t, e, r, n, i, a, o) { + for (var s = 0; s < e; s++) { + for (var l = 0; l < r; l++) n[l] = t[l * e + s]; + for (y(n, i, a, o, r), l = 0; l < r; l++) + t[l * e + s] = i[l]; + } + for (l = 0; l < r; l++) { + for (s = 0; s < e; s++) n[s] = t[l * e + s]; + for (y(n, i, a, o, e), s = 0; s < e; s++) + t[l * e + s] = Math.sqrt(i[s]); + } + } + function y(t, e, r, n, i) { + (r[0] = 0), (n[0] = -g), (n[1] = +g); + for (var a = 1, o = 0; a < i; a++) { + for ( + var s = + (t[a] + a * a - (t[r[o]] + r[o] * r[o])) / + (2 * a - 2 * r[o]); + s <= n[o]; + + ) + o--, + (s = + (t[a] + a * a - (t[r[o]] + r[o] * r[o])) / + (2 * a - 2 * r[o])); + (r[++o] = a), (n[o] = s), (n[o + 1] = +g); + } + for (a = 0, o = 0; a < i; a++) { + for (; n[o + 1] < a; ) o++; + e[a] = (a - r[o]) * (a - r[o]) + t[r[o]]; + } + } + (m.prototype.draw = function (t) { + this.ctx.clearRect(0, 0, this.size, this.size), + this.ctx.fillText(t, this.buffer, this.middle); + for ( + var e = this.ctx.getImageData(0, 0, this.size, this.size), + r = new Uint8ClampedArray(this.size * this.size), + n = 0; + n < this.size * this.size; + n++ + ) { + var i = e.data[4 * n + 3] / 255; + (this.gridOuter[n] = + 1 === i + ? 0 + : 0 === i + ? g + : Math.pow(Math.max(0, 0.5 - i), 2)), + (this.gridInner[n] = + 1 === i + ? g + : 0 === i + ? 0 + : Math.pow(Math.max(0, i - 0.5), 2)); + } + for ( + v( + this.gridOuter, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z + ), + v( + this.gridInner, + this.size, + this.size, + this.f, + this.d, + this.v, + this.z + ), + n = 0; + n < this.size * this.size; + n++ + ) + r[n] = Math.max( + 0, + Math.min( + 255, + Math.round( + 255 - + 255 * + ((this.gridOuter[n] - this.gridInner[n]) / + this.radius + + this.cutoff) + ) + ) + ); + return r; + }), + (p.default = d); + var x = function (t, e) { + (this.requestManager = t), + (this.localIdeographFontFamily = e), + (this.entries = {}); + }; + (x.prototype.setURL = function (t) { + this.url = t; + }), + (x.prototype.getGlyphs = function (e, r) { + var n = this, + i = []; + for (var a in e) + for (var o = 0, s = e[a]; o < s.length; o += 1) + i.push({ stack: a, id: s[o] }); + t.asyncAll( + i, + function (t, e) { + var r = t.stack, + i = t.id, + a = n.entries[r]; + a || + (a = n.entries[r] = + { glyphs: {}, requests: {}, ranges: {} }); + var o = a.glyphs[i]; + if (void 0 === o) { + if ((o = n._tinySDF(a, r, i))) + return ( + (a.glyphs[i] = o), + void e(null, { stack: r, id: i, glyph: o }) + ); + var s = Math.floor(i / 256); + if (256 * s > 65535) + e(new Error('glyphs > 65535 not supported')); + else if (a.ranges[s]) + e(null, { stack: r, id: i, glyph: o }); + else { + var l = a.requests[s]; + l || + ((l = a.requests[s] = []), + x.loadGlyphRange( + r, + s, + n.url, + n.requestManager, + function (t, e) { + if (e) { + for (var r in e) + n._doesCharSupportLocalGlyph(+r) || + (a.glyphs[+r] = e[+r]); + a.ranges[s] = !0; + } + for (var i = 0, o = l; i < o.length; i += 1) + (0, o[i])(t, e); + delete a.requests[s]; + } + )), + l.push(function (t, n) { + t + ? e(t) + : n && + e(null, { + stack: r, + id: i, + glyph: n[i] || null, + }); + }); + } + } else e(null, { stack: r, id: i, glyph: o }); + }, + function (t, e) { + if (t) r(t); + else if (e) { + for (var n = {}, i = 0, a = e; i < a.length; i += 1) { + var o = a[i], + s = o.stack, + l = o.id, + c = o.glyph; + (n[s] || (n[s] = {}))[l] = c && { + id: c.id, + bitmap: c.bitmap.clone(), + metrics: c.metrics, + }; + } + r(null, n); + } + } + ); + }), + (x.prototype._doesCharSupportLocalGlyph = function (e) { + return ( + !!this.localIdeographFontFamily && + (t.isChar['CJK Unified Ideographs'](e) || + t.isChar['Hangul Syllables'](e) || + t.isChar.Hiragana(e) || + t.isChar.Katakana(e)) + ); + }), + (x.prototype._tinySDF = function (e, r, n) { + var i = this.localIdeographFontFamily; + if (i && this._doesCharSupportLocalGlyph(n)) { + var a = e.tinySDF; + if (!a) { + var o = '400'; + /bold/i.test(r) + ? (o = '900') + : /medium/i.test(r) + ? (o = '500') + : /light/i.test(r) && (o = '200'), + (a = e.tinySDF = new x.TinySDF(24, 3, 8, 0.25, i, o)); + } + return { + id: n, + bitmap: new t.AlphaImage( + { width: 30, height: 30 }, + a.draw(String.fromCharCode(n)) + ), + metrics: { + width: 24, + height: 24, + left: 0, + top: -8, + advance: 24, + }, + }; + } + }), + (x.loadGlyphRange = function (e, r, n, i, a) { + var o = 256 * r, + s = o + 255, + l = i.transformRequest( + i + .normalizeGlyphsURL(n) + .replace('{fontstack}', e) + .replace('{range}', o + '-' + s), + t.ResourceType.Glyphs + ); + t.getArrayBuffer(l, function (e, r) { + if (e) a(e); + else if (r) { + for ( + var n = {}, i = 0, o = t.parseGlyphPBF(r); + i < o.length; + i += 1 + ) { + var s = o[i]; + n[s.id] = s; + } + a(null, n); + } + }); + }), + (x.TinySDF = p); + var b = function () { + this.specification = t.styleSpec.light.position; + }; + (b.prototype.possiblyEvaluate = function (e, r) { + return t.sphericalToCartesian(e.expression.evaluate(r)); + }), + (b.prototype.interpolate = function (e, r, n) { + return { + x: t.number(e.x, r.x, n), + y: t.number(e.y, r.y, n), + z: t.number(e.z, r.z, n), + }; + }); + var _ = new t.Properties({ + anchor: new t.DataConstantProperty( + t.styleSpec.light.anchor + ), + position: new b(), + color: new t.DataConstantProperty(t.styleSpec.light.color), + intensity: new t.DataConstantProperty( + t.styleSpec.light.intensity + ), + }), + w = (function (e) { + function r(r) { + e.call(this), + (this._transitionable = new t.Transitionable(_)), + this.setLight(r), + (this._transitioning = + this._transitionable.untransitioned()); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.getLight = function () { + return this._transitionable.serialize(); + }), + (r.prototype.setLight = function (e, r) { + if ( + (void 0 === r && (r = {}), + !this._validate(t.validateLight, e, r)) + ) + for (var n in e) { + var i = e[n]; + t.endsWith(n, '-transition') + ? this._transitionable.setTransition( + n.slice(0, -'-transition'.length), + i + ) + : this._transitionable.setValue(n, i); + } + }), + (r.prototype.updateTransitions = function (t) { + this._transitioning = this._transitionable.transitioned( + t, + this._transitioning + ); + }), + (r.prototype.hasTransition = function () { + return this._transitioning.hasTransition(); + }), + (r.prototype.recalculate = function (t) { + this.properties = + this._transitioning.possiblyEvaluate(t); + }), + (r.prototype._validate = function (e, r, n) { + return ( + (!n || !1 !== n.validate) && + t.emitValidationErrors( + this, + e.call( + t.validateStyle, + t.extend({ + value: r, + style: { glyphs: !0, sprite: !0 }, + styleSpec: t.styleSpec, + }) + ) + ) + ); + }), + r + ); + })(t.Evented), + T = function (t, e) { + (this.width = t), + (this.height = e), + (this.nextRow = 0), + (this.data = new Uint8Array(this.width * this.height)), + (this.dashEntry = {}); + }; + (T.prototype.getDash = function (t, e) { + var r = t.join(',') + String(e); + return ( + this.dashEntry[r] || + (this.dashEntry[r] = this.addDash(t, e)), + this.dashEntry[r] + ); + }), + (T.prototype.getDashRanges = function (t, e, r) { + var n = [], + i = t.length % 2 == 1 ? -t[t.length - 1] * r : 0, + a = t[0] * r, + o = !0; + n.push({ + left: i, + right: a, + isDash: o, + zeroLength: 0 === t[0], + }); + for (var s = t[0], l = 1; l < t.length; l++) { + var c = t[l]; + n.push({ + left: (i = s * r), + right: (a = (s += c) * r), + isDash: (o = !o), + zeroLength: 0 === c, + }); + } + return n; + }), + (T.prototype.addRoundDash = function (t, e, r) { + for (var n = e / 2, i = -r; i <= r; i++) + for ( + var a = this.width * (this.nextRow + r + i), + o = 0, + s = t[o], + l = 0; + l < this.width; + l++ + ) { + l / s.right > 1 && (s = t[++o]); + var c = Math.abs(l - s.left), + u = Math.abs(l - s.right), + f = Math.min(c, u), + h = void 0, + p = (i / r) * (n + 1); + if (s.isDash) { + var d = n - Math.abs(p); + h = Math.sqrt(f * f + d * d); + } else h = n - Math.sqrt(f * f + p * p); + this.data[a + l] = Math.max(0, Math.min(255, h + 128)); + } + }), + (T.prototype.addRegularDash = function (t) { + for (var e = t.length - 1; e >= 0; --e) { + var r = t[e], + n = t[e + 1]; + r.zeroLength + ? t.splice(e, 1) + : n && + n.isDash === r.isDash && + ((n.left = r.left), t.splice(e, 1)); + } + var i = t[0], + a = t[t.length - 1]; + i.isDash === a.isDash && + ((i.left = a.left - this.width), + (a.right = i.right + this.width)); + for ( + var o = this.width * this.nextRow, s = 0, l = t[s], c = 0; + c < this.width; + c++ + ) { + c / l.right > 1 && (l = t[++s]); + var u = Math.abs(c - l.left), + f = Math.abs(c - l.right), + h = Math.min(u, f); + this.data[o + c] = Math.max( + 0, + Math.min(255, (l.isDash ? h : -h) + 128) + ); + } + }), + (T.prototype.addDash = function (e, r) { + var n = r ? 7 : 0, + i = 2 * n + 1; + if (this.nextRow + i > this.height) + return t.warnOnce('LineAtlas out of space'), null; + for (var a = 0, o = 0; o < e.length; o++) a += e[o]; + if (0 !== a) { + var s = this.width / a, + l = this.getDashRanges(e, this.width, s); + r ? this.addRoundDash(l, s, n) : this.addRegularDash(l); + } + var c = { + y: (this.nextRow + n + 0.5) / this.height, + height: (2 * n) / this.height, + width: a, + }; + return (this.nextRow += i), (this.dirty = !0), c; + }), + (T.prototype.bind = function (t) { + var e = t.gl; + this.texture + ? (e.bindTexture(e.TEXTURE_2D, this.texture), + this.dirty && + ((this.dirty = !1), + e.texSubImage2D( + e.TEXTURE_2D, + 0, + 0, + 0, + this.width, + this.height, + e.ALPHA, + e.UNSIGNED_BYTE, + this.data + ))) + : ((this.texture = e.createTexture()), + e.bindTexture(e.TEXTURE_2D, this.texture), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_WRAP_S, + e.REPEAT + ), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_WRAP_T, + e.REPEAT + ), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_MIN_FILTER, + e.LINEAR + ), + e.texParameteri( + e.TEXTURE_2D, + e.TEXTURE_MAG_FILTER, + e.LINEAR + ), + e.texImage2D( + e.TEXTURE_2D, + 0, + e.ALPHA, + this.width, + this.height, + 0, + e.ALPHA, + e.UNSIGNED_BYTE, + this.data + )); + }); + var k = function e(r, n) { + (this.workerPool = r), + (this.actors = []), + (this.currentActor = 0), + (this.id = t.uniqueId()); + for ( + var i = this.workerPool.acquire(this.id), a = 0; + a < i.length; + a++ + ) { + var o = new e.Actor(i[a], n, this.id); + (o.name = 'Worker ' + a), this.actors.push(o); + } + }; + function M(e, r, n) { + var i = function (i, a) { + if (i) return n(i); + if (a) { + var o = t.pick(t.extend(a, e), [ + 'tiles', + 'minzoom', + 'maxzoom', + 'attribution', + 'mapbox_logo', + 'bounds', + 'scheme', + 'tileSize', + 'encoding', + ]); + a.vector_layers && + ((o.vectorLayers = a.vector_layers), + (o.vectorLayerIds = o.vectorLayers.map(function (t) { + return t.id; + }))), + (o.tiles = r.canonicalizeTileset(o, e.url)), + n(null, o); + } + }; + return e.url + ? t.getJSON( + r.transformRequest( + r.normalizeSourceURL(e.url), + t.ResourceType.Source + ), + i + ) + : t.browser.frame(function () { + return i(null, e); + }); + } + (k.prototype.broadcast = function (e, r, n) { + t.asyncAll( + this.actors, + function (t, n) { + t.send(e, r, n); + }, + (n = n || function () {}) + ); + }), + (k.prototype.getActor = function () { + return ( + (this.currentActor = + (this.currentActor + 1) % this.actors.length), + this.actors[this.currentActor] + ); + }), + (k.prototype.remove = function () { + this.actors.forEach(function (t) { + t.remove(); + }), + (this.actors = []), + this.workerPool.release(this.id); + }), + (k.Actor = t.Actor); + var A = function (e, r, n) { + (this.bounds = t.LngLatBounds.convert( + this.validateBounds(e) + )), + (this.minzoom = r || 0), + (this.maxzoom = n || 24); + }; + (A.prototype.validateBounds = function (t) { + return Array.isArray(t) && 4 === t.length + ? [ + Math.max(-180, t[0]), + Math.max(-90, t[1]), + Math.min(180, t[2]), + Math.min(90, t[3]), + ] + : [-180, -90, 180, 90]; + }), + (A.prototype.contains = function (e) { + var r = Math.pow(2, e.z), + n = Math.floor( + t.mercatorXfromLng(this.bounds.getWest()) * r + ), + i = Math.floor( + t.mercatorYfromLat(this.bounds.getNorth()) * r + ), + a = Math.ceil( + t.mercatorXfromLng(this.bounds.getEast()) * r + ), + o = Math.ceil( + t.mercatorYfromLat(this.bounds.getSouth()) * r + ); + return e.x >= n && e.x < a && e.y >= i && e.y < o; + }); + var S = (function (e) { + function r(r, n, i, a) { + if ( + (e.call(this), + (this.id = r), + (this.dispatcher = i), + (this.type = 'vector'), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.scheme = 'xyz'), + (this.tileSize = 512), + (this.reparseOverscaled = !0), + (this.isTileClipped = !0), + (this._loaded = !1), + t.extend( + this, + t.pick(n, ['url', 'scheme', 'tileSize', 'promoteId']) + ), + (this._options = t.extend({ type: 'vector' }, n)), + (this._collectResourceTiming = n.collectResourceTiming), + 512 !== this.tileSize) + ) + throw new Error( + 'vector tile sources must have a tileSize of 512' + ); + this.setEventedParent(a); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event('dataloading', { dataType: 'source' }) + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new A( + n.bounds, + e.minzoom, + e.maxzoom + )), + t.postTurnstileEvent( + n.tiles, + e.map._requestManager._customAccessToken + ), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager._skuToken, + e.map._requestManager._customAccessToken + ), + e.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'metadata', + }) + ), + e.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'content', + }) + )); + } + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.loadTile = function (e, r) { + var n = this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url(this.tiles, this.scheme) + ), + i = { + request: this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile + ), + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + tileSize: + this.tileSize * e.tileID.overscaleFactor(), + type: this.type, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: this.map.showCollisionBoxes, + promoteId: this.promoteId, + }; + function a(n, i) { + return ( + delete e.request, + e.aborted + ? r(null) + : n && 404 !== n.status + ? r(n) + : (i && + i.resourceTiming && + (e.resourceTiming = i.resourceTiming), + this.map._refreshExpiredTiles && + i && + e.setExpiryData(i), + e.loadVectorData(i, this.map.painter), + t.cacheEntryPossiblyAdded(this.dispatcher), + r(null), + void ( + e.reloadCallback && + (this.loadTile(e, e.reloadCallback), + (e.reloadCallback = null)) + )) + ); + } + (i.request.collectResourceTiming = + this._collectResourceTiming), + e.actor && 'expired' !== e.state + ? 'loading' === e.state + ? (e.reloadCallback = r) + : (e.request = e.actor.send( + 'reloadTile', + i, + a.bind(this) + )) + : ((e.actor = this.dispatcher.getActor()), + (e.request = e.actor.send( + 'loadTile', + i, + a.bind(this) + ))); + }), + (r.prototype.abortTile = function (t) { + t.request && (t.request.cancel(), delete t.request), + t.actor && + t.actor.send( + 'abortTile', + { uid: t.uid, type: this.type, source: this.id }, + void 0 + ); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + t.actor && + t.actor.send( + 'removeTile', + { uid: t.uid, type: this.type, source: this.id }, + void 0 + ); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + E = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (this.dispatcher = i), + this.setEventedParent(a), + (this.type = 'raster'), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.roundZoom = !0), + (this.scheme = 'xyz'), + (this.tileSize = 512), + (this._loaded = !1), + (this._options = t.extend({ type: 'raster' }, n)), + t.extend( + this, + t.pick(n, ['url', 'scheme', 'tileSize']) + ); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function () { + var e = this; + (this._loaded = !1), + this.fire( + new t.Event('dataloading', { dataType: 'source' }) + ), + (this._tileJSONRequest = M( + this._options, + this.map._requestManager, + function (r, n) { + (e._tileJSONRequest = null), + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + (t.extend(e, n), + n.bounds && + (e.tileBounds = new A( + n.bounds, + e.minzoom, + e.maxzoom + )), + t.postTurnstileEvent(n.tiles), + t.postMapLoadEvent( + n.tiles, + e.map._getMapId(), + e.map._requestManager._skuToken + ), + e.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'metadata', + }) + ), + e.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'content', + }) + )); + } + )); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.onRemove = function () { + this._tileJSONRequest && + (this._tileJSONRequest.cancel(), + (this._tileJSONRequest = null)); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options); + }), + (r.prototype.hasTile = function (t) { + return ( + !this.tileBounds || + this.tileBounds.contains(t.canonical) + ); + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url(this.tiles, this.scheme), + this.tileSize + ); + e.request = t.getImage( + this.map._requestManager.transformRequest( + i, + t.ResourceType.Tile + ), + function (i, a) { + if ((delete e.request, e.aborted)) + (e.state = 'unloaded'), r(null); + else if (i) (e.state = 'errored'), r(i); + else if (a) { + n.map._refreshExpiredTiles && e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = n.map.painter.context, + s = o.gl; + (e.texture = n.map.painter.getTileTexture( + a.width + )), + e.texture + ? e.texture.update(a, { useMipmap: !0 }) + : ((e.texture = new t.Texture(o, a, s.RGBA, { + useMipmap: !0, + })), + e.texture.bind( + s.LINEAR, + s.CLAMP_TO_EDGE, + s.LINEAR_MIPMAP_NEAREST + ), + o.extTextureFilterAnisotropic && + s.texParameterf( + s.TEXTURE_2D, + o.extTextureFilterAnisotropic + .TEXTURE_MAX_ANISOTROPY_EXT, + o.extTextureFilterAnisotropicMax + )), + (e.state = 'loaded'), + t.cacheEntryPossiblyAdded(n.dispatcher), + r(null); + } + } + ); + }), + (r.prototype.abortTile = function (t, e) { + t.request && (t.request.cancel(), delete t.request), + e(); + }), + (r.prototype.unloadTile = function (t, e) { + t.texture && + this.map.painter.saveTileTexture(t.texture), + e(); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + C = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + (this.type = 'raster-dem'), + (this.maxzoom = 22), + (this._options = t.extend({ type: 'raster-dem' }, n)), + (this.encoding = n.encoding || 'mapbox'); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.serialize = function () { + return { + type: 'raster-dem', + url: this.url, + tileSize: this.tileSize, + tiles: this.tiles, + bounds: this.bounds, + encoding: this.encoding, + }; + }), + (r.prototype.loadTile = function (e, r) { + var n = this.map._requestManager.normalizeTileURL( + e.tileID.canonical.url(this.tiles, this.scheme), + this.tileSize + ); + function i(t, n) { + t && ((e.state = 'errored'), r(t)), + n && + ((e.dem = n), + (e.needsHillshadePrepare = !0), + (e.state = 'loaded'), + r(null)); + } + (e.request = t.getImage( + this.map._requestManager.transformRequest( + n, + t.ResourceType.Tile + ), + function (n, a) { + if ((delete e.request, e.aborted)) + (e.state = 'unloaded'), r(null); + else if (n) (e.state = 'errored'), r(n); + else if (a) { + this.map._refreshExpiredTiles && + e.setExpiryData(a), + delete a.cacheControl, + delete a.expires; + var o = + t.window.ImageBitmap && + a instanceof t.window.ImageBitmap && + t.offscreenCanvasSupported() + ? a + : t.browser.getImageData(a, 1), + s = { + uid: e.uid, + coord: e.tileID, + source: this.id, + rawImageData: o, + encoding: this.encoding, + }; + (e.actor && 'expired' !== e.state) || + ((e.actor = this.dispatcher.getActor()), + e.actor.send('loadDEMTile', s, i.bind(this))); + } + }.bind(this) + )), + (e.neighboringTiles = this._getNeighboringTiles( + e.tileID + )); + }), + (r.prototype._getNeighboringTiles = function (e) { + var r = e.canonical, + n = Math.pow(2, r.z), + i = (r.x - 1 + n) % n, + a = 0 === r.x ? e.wrap - 1 : e.wrap, + o = (r.x + 1 + n) % n, + s = r.x + 1 === n ? e.wrap + 1 : e.wrap, + l = {}; + return ( + (l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y + ).key + ] = { backfilled: !1 }), + r.y > 0 && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y - 1 + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y - 1 + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y - 1 + ).key + ] = { backfilled: !1 })), + r.y + 1 < n && + ((l[ + new t.OverscaledTileID( + e.overscaledZ, + a, + r.z, + i, + r.y + 1 + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + e.wrap, + r.z, + r.x, + r.y + 1 + ).key + ] = { backfilled: !1 }), + (l[ + new t.OverscaledTileID( + e.overscaledZ, + s, + r.z, + o, + r.y + 1 + ).key + ] = { backfilled: !1 })), + l + ); + }), + (r.prototype.unloadTile = function (t) { + t.demTexture && + this.map.painter.saveTileTexture(t.demTexture), + t.fbo && (t.fbo.destroy(), delete t.fbo), + t.dem && delete t.dem, + delete t.neighboringTiles, + (t.state = 'unloaded'), + t.actor && + t.actor.send('removeDEMTile', { + uid: t.uid, + source: this.id, + }); + }), + r + ); + })(E), + L = (function (e) { + function r(r, n, i, a) { + e.call(this), + (this.id = r), + (this.type = 'geojson'), + (this.minzoom = 0), + (this.maxzoom = 18), + (this.tileSize = 512), + (this.isTileClipped = !0), + (this.reparseOverscaled = !0), + (this._removed = !1), + (this._loaded = !1), + (this.actor = i.getActor()), + this.setEventedParent(a), + (this._data = n.data), + (this._options = t.extend({}, n)), + (this._collectResourceTiming = n.collectResourceTiming), + (this._resourceTiming = []), + void 0 !== n.maxzoom && (this.maxzoom = n.maxzoom), + n.type && (this.type = n.type), + n.attribution && (this.attribution = n.attribution), + (this.promoteId = n.promoteId); + var o = t.EXTENT / this.tileSize; + this.workerOptions = t.extend( + { + source: this.id, + cluster: n.cluster || !1, + geojsonVtOptions: { + buffer: (void 0 !== n.buffer ? n.buffer : 128) * o, + tolerance: + (void 0 !== n.tolerance ? n.tolerance : 0.375) * + o, + extent: t.EXTENT, + maxZoom: this.maxzoom, + lineMetrics: n.lineMetrics || !1, + generateId: n.generateId || !1, + }, + superclusterOptions: { + maxZoom: + void 0 !== n.clusterMaxZoom + ? Math.min(n.clusterMaxZoom, this.maxzoom - 1) + : this.maxzoom - 1, + extent: t.EXTENT, + radius: (n.clusterRadius || 50) * o, + log: !1, + generateId: n.generateId || !1, + }, + clusterProperties: n.clusterProperties, + }, + n.workerOptions + ); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function () { + var e = this; + this.fire( + new t.Event('dataloading', { dataType: 'source' }) + ), + this._updateWorkerData(function (r) { + if (r) e.fire(new t.ErrorEvent(r)); + else { + var n = { + dataType: 'source', + sourceDataType: 'metadata', + }; + e._collectResourceTiming && + e._resourceTiming && + e._resourceTiming.length > 0 && + ((n.resourceTiming = e._resourceTiming), + (e._resourceTiming = [])), + e.fire(new t.Event('data', n)); + } + }); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setData = function (e) { + var r = this; + return ( + (this._data = e), + this.fire( + new t.Event('dataloading', { dataType: 'source' }) + ), + this._updateWorkerData(function (e) { + if (e) r.fire(new t.ErrorEvent(e)); + else { + var n = { + dataType: 'source', + sourceDataType: 'content', + }; + r._collectResourceTiming && + r._resourceTiming && + r._resourceTiming.length > 0 && + ((n.resourceTiming = r._resourceTiming), + (r._resourceTiming = [])), + r.fire(new t.Event('data', n)); + } + }), + this + ); + }), + (r.prototype.getClusterExpansionZoom = function (t, e) { + return ( + this.actor.send( + 'geojson.getClusterExpansionZoom', + { clusterId: t, source: this.id }, + e + ), + this + ); + }), + (r.prototype.getClusterChildren = function (t, e) { + return ( + this.actor.send( + 'geojson.getClusterChildren', + { clusterId: t, source: this.id }, + e + ), + this + ); + }), + (r.prototype.getClusterLeaves = function (t, e, r, n) { + return ( + this.actor.send( + 'geojson.getClusterLeaves', + { + source: this.id, + clusterId: t, + limit: e, + offset: r, + }, + n + ), + this + ); + }), + (r.prototype._updateWorkerData = function (e) { + var r = this; + this._loaded = !1; + var n = t.extend({}, this.workerOptions), + i = this._data; + 'string' == typeof i + ? ((n.request = + this.map._requestManager.transformRequest( + t.browser.resolveURL(i), + t.ResourceType.Source + )), + (n.request.collectResourceTiming = + this._collectResourceTiming)) + : (n.data = JSON.stringify(i)), + this.actor.send( + this.type + '.loadData', + n, + function (t, i) { + r._removed || + (i && i.abandoned) || + ((r._loaded = !0), + i && + i.resourceTiming && + i.resourceTiming[r.id] && + (r._resourceTiming = + i.resourceTiming[r.id].slice(0)), + r.actor.send( + r.type + '.coalesce', + { source: n.source }, + null + ), + e(t)); + } + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.loadTile = function (e, r) { + var n = this, + i = e.actor ? 'reloadTile' : 'loadTile'; + (e.actor = this.actor), + (e.request = this.actor.send( + i, + { + type: this.type, + uid: e.uid, + tileID: e.tileID, + zoom: e.tileID.overscaledZ, + maxZoom: this.maxzoom, + tileSize: this.tileSize, + source: this.id, + pixelRatio: t.browser.devicePixelRatio, + showCollisionBoxes: this.map.showCollisionBoxes, + promoteId: this.promoteId, + }, + function (t, a) { + return ( + delete e.request, + e.unloadVectorData(), + e.aborted + ? r(null) + : t + ? r(t) + : (e.loadVectorData( + a, + n.map.painter, + 'reloadTile' === i + ), + r(null)) + ); + } + )); + }), + (r.prototype.abortTile = function (t) { + t.request && (t.request.cancel(), delete t.request), + (t.aborted = !0); + }), + (r.prototype.unloadTile = function (t) { + t.unloadVectorData(), + this.actor.send('removeTile', { + uid: t.uid, + type: this.type, + source: this.id, + }); + }), + (r.prototype.onRemove = function () { + (this._removed = !0), + this.actor.send('removeSource', { + type: this.type, + source: this.id, + }); + }), + (r.prototype.serialize = function () { + return t.extend({}, this._options, { + type: this.type, + data: this._data, + }); + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + I = t.createLayout([ + { name: 'a_pos', type: 'Int16', components: 2 }, + { name: 'a_texture_pos', type: 'Int16', components: 2 }, + ]), + P = (function (e) { + function r(t, r, n, i) { + e.call(this), + (this.id = t), + (this.dispatcher = n), + (this.coordinates = r.coordinates), + (this.type = 'image'), + (this.minzoom = 0), + (this.maxzoom = 22), + (this.tileSize = 512), + (this.tiles = {}), + (this._loaded = !1), + this.setEventedParent(i), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function (e, r) { + var n = this; + (this._loaded = !1), + this.fire( + new t.Event('dataloading', { dataType: 'source' }) + ), + (this.url = this.options.url), + t.getImage( + this.map._requestManager.transformRequest( + this.url, + t.ResourceType.Image + ), + function (i, a) { + (n._loaded = !0), + i + ? n.fire(new t.ErrorEvent(i)) + : a && + ((n.image = a), + e && (n.coordinates = e), + r && r(), + n._finishLoading()); + } + ); + }), + (r.prototype.loaded = function () { + return this._loaded; + }), + (r.prototype.updateImage = function (t) { + var e = this; + return this.image && t.url + ? ((this.options.url = t.url), + this.load(t.coordinates, function () { + e.texture = null; + }), + this) + : this; + }), + (r.prototype._finishLoading = function () { + this.map && + (this.setCoordinates(this.coordinates), + this.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'metadata', + }) + )); + }), + (r.prototype.onAdd = function (t) { + (this.map = t), this.load(); + }), + (r.prototype.setCoordinates = function (e) { + var r = this; + this.coordinates = e; + var n = e.map(t.MercatorCoordinate.fromLngLat); + (this.tileID = (function (e) { + for ( + var r = 1 / 0, + n = 1 / 0, + i = -1 / 0, + a = -1 / 0, + o = 0, + s = e; + o < s.length; + o += 1 + ) { + var l = s[o]; + (r = Math.min(r, l.x)), + (n = Math.min(n, l.y)), + (i = Math.max(i, l.x)), + (a = Math.max(a, l.y)); + } + var c = Math.max(i - r, a - n), + u = Math.max( + 0, + Math.floor(-Math.log(c) / Math.LN2) + ), + f = Math.pow(2, u); + return new t.CanonicalTileID( + u, + Math.floor(((r + i) / 2) * f), + Math.floor(((n + a) / 2) * f) + ); + })(n)), + (this.minzoom = this.maxzoom = this.tileID.z); + var i = n.map(function (t) { + return r.tileID.getTilePoint(t)._round(); + }); + return ( + (this._boundsArray = new t.StructArrayLayout4i8()), + this._boundsArray.emplaceBack(i[0].x, i[0].y, 0, 0), + this._boundsArray.emplaceBack( + i[1].x, + i[1].y, + t.EXTENT, + 0 + ), + this._boundsArray.emplaceBack( + i[3].x, + i[3].y, + 0, + t.EXTENT + ), + this._boundsArray.emplaceBack( + i[2].x, + i[2].y, + t.EXTENT, + t.EXTENT + ), + this.boundsBuffer && + (this.boundsBuffer.destroy(), + delete this.boundsBuffer), + this.fire( + new t.Event('data', { + dataType: 'source', + sourceDataType: 'content', + }) + ), + this + ); + }), + (r.prototype.prepare = function () { + if ( + 0 !== Object.keys(this.tiles).length && + this.image + ) { + var e = this.map.painter.context, + r = e.gl; + for (var n in (this.boundsBuffer || + (this.boundsBuffer = e.createVertexBuffer( + this._boundsArray, + I.members + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)), + this.texture || + ((this.texture = new t.Texture( + e, + this.image, + r.RGBA + )), + this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), + this.tiles)) { + var i = this.tiles[n]; + 'loaded' !== i.state && + ((i.state = 'loaded'), + (i.texture = this.texture)); + } + } + }), + (r.prototype.loadTile = function (t, e) { + this.tileID && this.tileID.equals(t.tileID.canonical) + ? ((this.tiles[String(t.tileID.wrap)] = t), + (t.buckets = {}), + e(null)) + : ((t.state = 'errored'), e(null)); + }), + (r.prototype.serialize = function () { + return { + type: 'image', + url: this.options.url, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return !1; + }), + r + ); + })(t.Evented), + z = (function (e) { + function r(t, r, n, i) { + e.call(this, t, r, n, i), + (this.roundZoom = !0), + (this.type = 'video'), + (this.options = r); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function () { + var e = this; + this._loaded = !1; + var r = this.options; + this.urls = []; + for (var n = 0, i = r.urls; n < i.length; n += 1) + this.urls.push( + this.map._requestManager.transformRequest( + i[n], + t.ResourceType.Source + ).url + ); + t.getVideo(this.urls, function (r, n) { + (e._loaded = !0), + r + ? e.fire(new t.ErrorEvent(r)) + : n && + ((e.video = n), + (e.video.loop = !0), + e.video.addEventListener( + 'playing', + function () { + e.map.triggerRepaint(); + } + ), + e.map && e.video.play(), + e._finishLoading()); + }); + }), + (r.prototype.pause = function () { + this.video && this.video.pause(); + }), + (r.prototype.play = function () { + this.video && this.video.play(); + }), + (r.prototype.seek = function (e) { + if (this.video) { + var r = this.video.seekable; + e < r.start(0) || e > r.end(0) + ? this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + this.id, + null, + 'Playback for this video can be set only between the ' + + r.start(0) + + ' and ' + + r.end(0) + + '-second mark.' + ) + ) + ) + : (this.video.currentTime = e); + } + }), + (r.prototype.getVideo = function () { + return this.video; + }), + (r.prototype.onAdd = function (t) { + this.map || + ((this.map = t), + this.load(), + this.video && + (this.video.play(), + this.setCoordinates(this.coordinates))); + }), + (r.prototype.prepare = function () { + if ( + !( + 0 === Object.keys(this.tiles).length || + this.video.readyState < 2 + ) + ) { + var e = this.map.painter.context, + r = e.gl; + for (var n in (this.boundsBuffer || + (this.boundsBuffer = e.createVertexBuffer( + this._boundsArray, + I.members + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)), + this.texture + ? this.video.paused || + (this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE), + r.texSubImage2D( + r.TEXTURE_2D, + 0, + 0, + 0, + r.RGBA, + r.UNSIGNED_BYTE, + this.video + )) + : ((this.texture = new t.Texture( + e, + this.video, + r.RGBA + )), + this.texture.bind(r.LINEAR, r.CLAMP_TO_EDGE)), + this.tiles)) { + var i = this.tiles[n]; + 'loaded' !== i.state && + ((i.state = 'loaded'), + (i.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: 'video', + urls: this.urls, + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this.video && !this.video.paused; + }), + r + ); + })(P), + O = (function (e) { + function r(r, n, i, a) { + e.call(this, r, n, i, a), + n.coordinates + ? (Array.isArray(n.coordinates) && + 4 === n.coordinates.length && + !n.coordinates.some(function (t) { + return ( + !Array.isArray(t) || + 2 !== t.length || + t.some(function (t) { + return 'number' != typeof t; + }) + ); + })) || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + r, + null, + '"coordinates" property must be an array of 4 longitude/latitude array pairs' + ) + ) + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + r, + null, + 'missing required property "coordinates"' + ) + ) + ), + n.animate && + 'boolean' != typeof n.animate && + this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + r, + null, + 'optional "animate" property must be a boolean value' + ) + ) + ), + n.canvas + ? 'string' == typeof n.canvas || + n.canvas instanceof t.window.HTMLCanvasElement || + this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + r, + null, + '"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance' + ) + ) + ) + : this.fire( + new t.ErrorEvent( + new t.ValidationError( + 'sources.' + r, + null, + 'missing required property "canvas"' + ) + ) + ), + (this.options = n), + (this.animate = void 0 === n.animate || n.animate); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.load = function () { + (this._loaded = !0), + this.canvas || + (this.canvas = + this.options.canvas instanceof + t.window.HTMLCanvasElement + ? this.options.canvas + : t.window.document.getElementById( + this.options.canvas + )), + (this.width = this.canvas.width), + (this.height = this.canvas.height), + this._hasInvalidDimensions() + ? this.fire( + new t.ErrorEvent( + new Error( + 'Canvas dimensions cannot be less than or equal to zero.' + ) + ) + ) + : ((this.play = function () { + (this._playing = !0), this.map.triggerRepaint(); + }), + (this.pause = function () { + this._playing && + (this.prepare(), (this._playing = !1)); + }), + this._finishLoading()); + }), + (r.prototype.getCanvas = function () { + return this.canvas; + }), + (r.prototype.onAdd = function (t) { + (this.map = t), + this.load(), + this.canvas && this.animate && this.play(); + }), + (r.prototype.onRemove = function () { + this.pause(); + }), + (r.prototype.prepare = function () { + var e = !1; + if ( + (this.canvas.width !== this.width && + ((this.width = this.canvas.width), (e = !0)), + this.canvas.height !== this.height && + ((this.height = this.canvas.height), (e = !0)), + !this._hasInvalidDimensions() && + 0 !== Object.keys(this.tiles).length) + ) { + var r = this.map.painter.context, + n = r.gl; + for (var i in (this.boundsBuffer || + (this.boundsBuffer = r.createVertexBuffer( + this._boundsArray, + I.members + )), + this.boundsSegments || + (this.boundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)), + this.texture + ? (e || this._playing) && + this.texture.update(this.canvas, { + premultiply: !0, + }) + : (this.texture = new t.Texture( + r, + this.canvas, + n.RGBA, + { premultiply: !0 } + )), + this.tiles)) { + var a = this.tiles[i]; + 'loaded' !== a.state && + ((a.state = 'loaded'), + (a.texture = this.texture)); + } + } + }), + (r.prototype.serialize = function () { + return { + type: 'canvas', + coordinates: this.coordinates, + }; + }), + (r.prototype.hasTransition = function () { + return this._playing; + }), + (r.prototype._hasInvalidDimensions = function () { + for ( + var t = 0, + e = [this.canvas.width, this.canvas.height]; + t < e.length; + t += 1 + ) { + var r = e[t]; + if (isNaN(r) || r <= 0) return !0; + } + return !1; + }), + r + ); + })(P), + D = { + vector: S, + raster: E, + 'raster-dem': C, + geojson: L, + video: z, + image: P, + canvas: O, + }; + function R(e, r) { + var n = t.identity([]); + return ( + t.translate(n, n, [1, 1, 0]), + t.scale(n, n, [0.5 * e.width, 0.5 * e.height, 1]), + t.multiply(n, n, e.calculatePosMatrix(r.toUnwrapped())) + ); + } + function F(t, e, r, n, i, a) { + var o = (function (t, e, r) { + if (t) + for (var n = 0, i = t; n < i.length; n += 1) { + var a = e[i[n]]; + if ( + a && + a.source === r && + 'fill-extrusion' === a.type + ) + return !0; + } + else + for (var o in e) { + var s = e[o]; + if (s.source === r && 'fill-extrusion' === s.type) + return !0; + } + return !1; + })(i && i.layers, e, t.id), + s = a.maxPitchScaleFactor(), + l = t.tilesIn(n, s, o); + l.sort(B); + for (var c = [], u = 0, f = l; u < f.length; u += 1) { + var h = f[u]; + c.push({ + wrappedTileID: h.tileID.wrapped().key, + queryResults: h.tile.queryRenderedFeatures( + e, + r, + t._state, + h.queryGeometry, + h.cameraQueryGeometry, + h.scale, + i, + a, + s, + R(t.transform, h.tileID) + ), + }); + } + var p = (function (t) { + for ( + var e = {}, r = {}, n = 0, i = t; + n < i.length; + n += 1 + ) { + var a = i[n], + o = a.queryResults, + s = a.wrappedTileID, + l = (r[s] = r[s] || {}); + for (var c in o) + for ( + var u = o[c], + f = (l[c] = l[c] || {}), + h = (e[c] = e[c] || []), + p = 0, + d = u; + p < d.length; + p += 1 + ) { + var g = d[p]; + f[g.featureIndex] || + ((f[g.featureIndex] = !0), h.push(g)); + } + } + return e; + })(c); + for (var d in p) + p[d].forEach(function (e) { + var r = e.feature, + n = t.getFeatureState(r.layer['source-layer'], r.id); + (r.source = r.layer.source), + r.layer['source-layer'] && + (r.sourceLayer = r.layer['source-layer']), + (r.state = n); + }); + return p; + } + function B(t, e) { + var r = t.tileID, + n = e.tileID; + return ( + r.overscaledZ - n.overscaledZ || + r.canonical.y - n.canonical.y || + r.wrap - n.wrap || + r.canonical.x - n.canonical.x + ); + } + var N = function (t, e) { + (this.max = t), (this.onRemove = e), this.reset(); + }; + (N.prototype.reset = function () { + for (var t in this.data) + for (var e = 0, r = this.data[t]; e < r.length; e += 1) { + var n = r[e]; + n.timeout && clearTimeout(n.timeout), + this.onRemove(n.value); + } + return (this.data = {}), (this.order = []), this; + }), + (N.prototype.add = function (t, e, r) { + var n = this, + i = t.wrapped().key; + void 0 === this.data[i] && (this.data[i] = []); + var a = { value: e, timeout: void 0 }; + if ( + (void 0 !== r && + (a.timeout = setTimeout(function () { + n.remove(t, a); + }, r)), + this.data[i].push(a), + this.order.push(i), + this.order.length > this.max) + ) { + var o = this._getAndRemoveByKey(this.order[0]); + o && this.onRemove(o); + } + return this; + }), + (N.prototype.has = function (t) { + return t.wrapped().key in this.data; + }), + (N.prototype.getAndRemove = function (t) { + return this.has(t) + ? this._getAndRemoveByKey(t.wrapped().key) + : null; + }), + (N.prototype._getAndRemoveByKey = function (t) { + var e = this.data[t].shift(); + return ( + e.timeout && clearTimeout(e.timeout), + 0 === this.data[t].length && delete this.data[t], + this.order.splice(this.order.indexOf(t), 1), + e.value + ); + }), + (N.prototype.getByKey = function (t) { + var e = this.data[t]; + return e ? e[0].value : null; + }), + (N.prototype.get = function (t) { + return this.has(t) + ? this.data[t.wrapped().key][0].value + : null; + }), + (N.prototype.remove = function (t, e) { + if (!this.has(t)) return this; + var r = t.wrapped().key, + n = void 0 === e ? 0 : this.data[r].indexOf(e), + i = this.data[r][n]; + return ( + this.data[r].splice(n, 1), + i.timeout && clearTimeout(i.timeout), + 0 === this.data[r].length && delete this.data[r], + this.onRemove(i.value), + this.order.splice(this.order.indexOf(r), 1), + this + ); + }), + (N.prototype.setMaxSize = function (t) { + for (this.max = t; this.order.length > this.max; ) { + var e = this._getAndRemoveByKey(this.order[0]); + e && this.onRemove(e); + } + return this; + }), + (N.prototype.filter = function (t) { + var e = []; + for (var r in this.data) + for (var n = 0, i = this.data[r]; n < i.length; n += 1) { + var a = i[n]; + t(a.value) || e.push(a); + } + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o]; + this.remove(l.value.tileID, l); + } + }); + var j = function (t, e, r) { + this.context = t; + var n = t.gl; + (this.buffer = n.createBuffer()), + (this.dynamicDraw = Boolean(r)), + this.context.unbindVAO(), + t.bindElementBuffer.set(this.buffer), + n.bufferData( + n.ELEMENT_ARRAY_BUFFER, + e.arrayBuffer, + this.dynamicDraw ? n.DYNAMIC_DRAW : n.STATIC_DRAW + ), + this.dynamicDraw || delete e.arrayBuffer; + }; + (j.prototype.bind = function () { + this.context.bindElementBuffer.set(this.buffer); + }), + (j.prototype.updateData = function (t) { + var e = this.context.gl; + this.context.unbindVAO(), + this.bind(), + e.bufferSubData(e.ELEMENT_ARRAY_BUFFER, 0, t.arrayBuffer); + }), + (j.prototype.destroy = function () { + this.buffer && + (this.context.gl.deleteBuffer(this.buffer), + delete this.buffer); + }); + var U = { + Int8: 'BYTE', + Uint8: 'UNSIGNED_BYTE', + Int16: 'SHORT', + Uint16: 'UNSIGNED_SHORT', + Int32: 'INT', + Uint32: 'UNSIGNED_INT', + Float32: 'FLOAT', + }, + V = function (t, e, r, n) { + (this.length = e.length), + (this.attributes = r), + (this.itemSize = e.bytesPerElement), + (this.dynamicDraw = n), + (this.context = t); + var i = t.gl; + (this.buffer = i.createBuffer()), + t.bindVertexBuffer.set(this.buffer), + i.bufferData( + i.ARRAY_BUFFER, + e.arrayBuffer, + this.dynamicDraw ? i.DYNAMIC_DRAW : i.STATIC_DRAW + ), + this.dynamicDraw || delete e.arrayBuffer; + }; + (V.prototype.bind = function () { + this.context.bindVertexBuffer.set(this.buffer); + }), + (V.prototype.updateData = function (t) { + var e = this.context.gl; + this.bind(), + e.bufferSubData(e.ARRAY_BUFFER, 0, t.arrayBuffer); + }), + (V.prototype.enableAttributes = function (t, e) { + for (var r = 0; r < this.attributes.length; r++) { + var n = e.attributes[this.attributes[r].name]; + void 0 !== n && t.enableVertexAttribArray(n); + } + }), + (V.prototype.setVertexAttribPointers = function (t, e, r) { + for (var n = 0; n < this.attributes.length; n++) { + var i = this.attributes[n], + a = e.attributes[i.name]; + void 0 !== a && + t.vertexAttribPointer( + a, + i.components, + t[U[i.type]], + !1, + this.itemSize, + i.offset + this.itemSize * (r || 0) + ); + } + }), + (V.prototype.destroy = function () { + this.buffer && + (this.context.gl.deleteBuffer(this.buffer), + delete this.buffer); + }); + var q = function (t) { + (this.gl = t.gl), + (this.default = this.getDefault()), + (this.current = this.default), + (this.dirty = !1); + }; + (q.prototype.get = function () { + return this.current; + }), + (q.prototype.set = function (t) {}), + (q.prototype.getDefault = function () { + return this.default; + }), + (q.prototype.setDefault = function () { + this.set(this.default); + }); + var H = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.prototype.set = function (t) { + var e = this.current; + (t.r !== e.r || + t.g !== e.g || + t.b !== e.b || + t.a !== e.a || + this.dirty) && + (this.gl.clearColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + G = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return 1; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearDepth(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + Y = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return 0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.clearStencil(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + W = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return [!0, !0, !0, !0]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + t[2] !== e[2] || + t[3] !== e[3] || + this.dirty) && + (this.gl.colorMask(t[0], t[1], t[2], t[3]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + X = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + Z = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return 255; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.stencilMask(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + J = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return { func: this.gl.ALWAYS, ref: 0, mask: 255 }; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t.func !== e.func || + t.ref !== e.ref || + t.mask !== e.mask || + this.dirty) && + (this.gl.stencilFunc(t.func, t.ref, t.mask), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + K = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + var t = this.gl; + return [t.KEEP, t.KEEP, t.KEEP]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + t[2] !== e[2] || + this.dirty) && + (this.gl.stencilOp(t[0], t[1], t[2]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + Q = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t + ? e.enable(e.STENCIL_TEST) + : e.disable(e.STENCIL_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + $ = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return [0, 1]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || t[1] !== e[1] || this.dirty) && + (this.gl.depthRange(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + tt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t ? e.enable(e.DEPTH_TEST) : e.disable(e.DEPTH_TEST), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + et = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return this.gl.LESS; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.depthFunc(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + rt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t ? e.enable(e.BLEND) : e.disable(e.BLEND), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + nt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + var t = this.gl; + return [t.ONE, t.ZERO]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || t[1] !== e[1] || this.dirty) && + (this.gl.blendFunc(t[0], t[1]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + it = (function (e) { + function r() { + e.apply(this, arguments); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.getDefault = function () { + return t.Color.transparent; + }), + (r.prototype.set = function (t) { + var e = this.current; + (t.r !== e.r || + t.g !== e.g || + t.b !== e.b || + t.a !== e.a || + this.dirty) && + (this.gl.blendColor(t.r, t.g, t.b, t.a), + (this.current = t), + (this.dirty = !1)); + }), + r + ); + })(q), + at = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return this.gl.FUNC_ADD; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.blendEquation(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ot = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + t ? e.enable(e.CULL_FACE) : e.disable(e.CULL_FACE), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + st = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return this.gl.BACK; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.cullFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + lt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return this.gl.CCW; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.frontFace(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ct = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.useProgram(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ut = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return this.gl.TEXTURE0; + }), + (e.prototype.set = function (t) { + (t !== this.current || this.dirty) && + (this.gl.activeTexture(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ft = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + var t = this.gl; + return [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]; + }), + (e.prototype.set = function (t) { + var e = this.current; + (t[0] !== e[0] || + t[1] !== e[1] || + t[2] !== e[2] || + t[3] !== e[3] || + this.dirty) && + (this.gl.viewport(t[0], t[1], t[2], t[3]), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + ht = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindFramebuffer(e.FRAMEBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + pt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindRenderbuffer(e.RENDERBUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + dt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindTexture(e.TEXTURE_2D, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + gt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.bindBuffer(e.ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + mt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + var e = this.gl; + e.bindBuffer(e.ELEMENT_ARRAY_BUFFER, t), + (this.current = t), + (this.dirty = !1); + }), + e + ); + })(q), + vt = (function (t) { + function e(e) { + t.call(this, e), (this.vao = e.extVertexArrayObject); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + (e.prototype.set = function (t) { + this.vao && + (t !== this.current || this.dirty) && + (this.vao.bindVertexArrayOES(t), + (this.current = t), + (this.dirty = !1)); + }), + e + ); + })(q), + yt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return 4; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_ALIGNMENT, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + xt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + bt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return !1; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + var e = this.gl; + e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL, t), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(q), + _t = (function (t) { + function e(e, r) { + t.call(this, e), (this.context = e), (this.parent = r); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.getDefault = function () { + return null; + }), + e + ); + })(q), + wt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.setDirty = function () { + this.dirty = !0; + }), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set(this.parent); + var e = this.gl; + e.framebufferTexture2D( + e.FRAMEBUFFER, + e.COLOR_ATTACHMENT0, + e.TEXTURE_2D, + t, + 0 + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(_t), + Tt = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.set = function (t) { + if (t !== this.current || this.dirty) { + this.context.bindFramebuffer.set(this.parent); + var e = this.gl; + e.framebufferRenderbuffer( + e.FRAMEBUFFER, + e.DEPTH_ATTACHMENT, + e.RENDERBUFFER, + t + ), + (this.current = t), + (this.dirty = !1); + } + }), + e + ); + })(_t), + kt = function (t, e, r, n) { + (this.context = t), (this.width = e), (this.height = r); + var i = (this.framebuffer = t.gl.createFramebuffer()); + (this.colorAttachment = new wt(t, i)), + n && (this.depthAttachment = new Tt(t, i)); + }; + kt.prototype.destroy = function () { + var t = this.context.gl, + e = this.colorAttachment.get(); + if ((e && t.deleteTexture(e), this.depthAttachment)) { + var r = this.depthAttachment.get(); + r && t.deleteRenderbuffer(r); + } + t.deleteFramebuffer(this.framebuffer); + }; + var Mt = function (t, e, r) { + (this.func = t), (this.mask = e), (this.range = r); + }; + (Mt.ReadOnly = !1), + (Mt.ReadWrite = !0), + (Mt.disabled = new Mt(519, Mt.ReadOnly, [0, 1])); + var At = function (t, e, r, n, i, a) { + (this.test = t), + (this.ref = e), + (this.mask = r), + (this.fail = n), + (this.depthFail = i), + (this.pass = a); + }; + At.disabled = new At( + { func: 519, mask: 0 }, + 0, + 0, + 7680, + 7680, + 7680 + ); + var St = function (t, e, r) { + (this.blendFunction = t), + (this.blendColor = e), + (this.mask = r); + }; + (St.disabled = new St( + (St.Replace = [1, 0]), + t.Color.transparent, + [!1, !1, !1, !1] + )), + (St.unblended = new St(St.Replace, t.Color.transparent, [ + !0, + !0, + !0, + !0, + ])), + (St.alphaBlended = new St([1, 771], t.Color.transparent, [ + !0, + !0, + !0, + !0, + ])); + var Et = function (t, e, r) { + (this.enable = t), (this.mode = e), (this.frontFace = r); + }; + (Et.disabled = new Et(!1, 1029, 2305)), + (Et.backCCW = new Et(!0, 1029, 2305)); + var Ct = function (t) { + (this.gl = t), + (this.extVertexArrayObject = this.gl.getExtension( + 'OES_vertex_array_object' + )), + (this.clearColor = new H(this)), + (this.clearDepth = new G(this)), + (this.clearStencil = new Y(this)), + (this.colorMask = new W(this)), + (this.depthMask = new X(this)), + (this.stencilMask = new Z(this)), + (this.stencilFunc = new J(this)), + (this.stencilOp = new K(this)), + (this.stencilTest = new Q(this)), + (this.depthRange = new $(this)), + (this.depthTest = new tt(this)), + (this.depthFunc = new et(this)), + (this.blend = new rt(this)), + (this.blendFunc = new nt(this)), + (this.blendColor = new it(this)), + (this.blendEquation = new at(this)), + (this.cullFace = new ot(this)), + (this.cullFaceSide = new st(this)), + (this.frontFace = new lt(this)), + (this.program = new ct(this)), + (this.activeTexture = new ut(this)), + (this.viewport = new ft(this)), + (this.bindFramebuffer = new ht(this)), + (this.bindRenderbuffer = new pt(this)), + (this.bindTexture = new dt(this)), + (this.bindVertexBuffer = new gt(this)), + (this.bindElementBuffer = new mt(this)), + (this.bindVertexArrayOES = + this.extVertexArrayObject && new vt(this)), + (this.pixelStoreUnpack = new yt(this)), + (this.pixelStoreUnpackPremultiplyAlpha = new xt(this)), + (this.pixelStoreUnpackFlipY = new bt(this)), + (this.extTextureFilterAnisotropic = + t.getExtension('EXT_texture_filter_anisotropic') || + t.getExtension('MOZ_EXT_texture_filter_anisotropic') || + t.getExtension('WEBKIT_EXT_texture_filter_anisotropic')), + this.extTextureFilterAnisotropic && + (this.extTextureFilterAnisotropicMax = t.getParameter( + this.extTextureFilterAnisotropic + .MAX_TEXTURE_MAX_ANISOTROPY_EXT + )), + (this.extTextureHalfFloat = t.getExtension( + 'OES_texture_half_float' + )), + this.extTextureHalfFloat && + (t.getExtension('OES_texture_half_float_linear'), + (this.extRenderToTextureHalfFloat = t.getExtension( + 'EXT_color_buffer_half_float' + ))), + (this.extTimerQuery = t.getExtension( + 'EXT_disjoint_timer_query' + )); + }; + (Ct.prototype.setDefault = function () { + this.unbindVAO(), + this.clearColor.setDefault(), + this.clearDepth.setDefault(), + this.clearStencil.setDefault(), + this.colorMask.setDefault(), + this.depthMask.setDefault(), + this.stencilMask.setDefault(), + this.stencilFunc.setDefault(), + this.stencilOp.setDefault(), + this.stencilTest.setDefault(), + this.depthRange.setDefault(), + this.depthTest.setDefault(), + this.depthFunc.setDefault(), + this.blend.setDefault(), + this.blendFunc.setDefault(), + this.blendColor.setDefault(), + this.blendEquation.setDefault(), + this.cullFace.setDefault(), + this.cullFaceSide.setDefault(), + this.frontFace.setDefault(), + this.program.setDefault(), + this.activeTexture.setDefault(), + this.bindFramebuffer.setDefault(), + this.pixelStoreUnpack.setDefault(), + this.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.pixelStoreUnpackFlipY.setDefault(); + }), + (Ct.prototype.setDirty = function () { + (this.clearColor.dirty = !0), + (this.clearDepth.dirty = !0), + (this.clearStencil.dirty = !0), + (this.colorMask.dirty = !0), + (this.depthMask.dirty = !0), + (this.stencilMask.dirty = !0), + (this.stencilFunc.dirty = !0), + (this.stencilOp.dirty = !0), + (this.stencilTest.dirty = !0), + (this.depthRange.dirty = !0), + (this.depthTest.dirty = !0), + (this.depthFunc.dirty = !0), + (this.blend.dirty = !0), + (this.blendFunc.dirty = !0), + (this.blendColor.dirty = !0), + (this.blendEquation.dirty = !0), + (this.cullFace.dirty = !0), + (this.cullFaceSide.dirty = !0), + (this.frontFace.dirty = !0), + (this.program.dirty = !0), + (this.activeTexture.dirty = !0), + (this.viewport.dirty = !0), + (this.bindFramebuffer.dirty = !0), + (this.bindRenderbuffer.dirty = !0), + (this.bindTexture.dirty = !0), + (this.bindVertexBuffer.dirty = !0), + (this.bindElementBuffer.dirty = !0), + this.extVertexArrayObject && + (this.bindVertexArrayOES.dirty = !0), + (this.pixelStoreUnpack.dirty = !0), + (this.pixelStoreUnpackPremultiplyAlpha.dirty = !0), + (this.pixelStoreUnpackFlipY.dirty = !0); + }), + (Ct.prototype.createIndexBuffer = function (t, e) { + return new j(this, t, e); + }), + (Ct.prototype.createVertexBuffer = function (t, e, r) { + return new V(this, t, e, r); + }), + (Ct.prototype.createRenderbuffer = function (t, e, r) { + var n = this.gl, + i = n.createRenderbuffer(); + return ( + this.bindRenderbuffer.set(i), + n.renderbufferStorage(n.RENDERBUFFER, t, e, r), + this.bindRenderbuffer.set(null), + i + ); + }), + (Ct.prototype.createFramebuffer = function (t, e, r) { + return new kt(this, t, e, r); + }), + (Ct.prototype.clear = function (t) { + var e = t.color, + r = t.depth, + n = this.gl, + i = 0; + e && + ((i |= n.COLOR_BUFFER_BIT), + this.clearColor.set(e), + this.colorMask.set([!0, !0, !0, !0])), + void 0 !== r && + ((i |= n.DEPTH_BUFFER_BIT), + this.depthRange.set([0, 1]), + this.clearDepth.set(r), + this.depthMask.set(!0)), + n.clear(i); + }), + (Ct.prototype.setCullFace = function (t) { + !1 === t.enable + ? this.cullFace.set(!1) + : (this.cullFace.set(!0), + this.cullFaceSide.set(t.mode), + this.frontFace.set(t.frontFace)); + }), + (Ct.prototype.setDepthMode = function (t) { + t.func !== this.gl.ALWAYS || t.mask + ? (this.depthTest.set(!0), + this.depthFunc.set(t.func), + this.depthMask.set(t.mask), + this.depthRange.set(t.range)) + : this.depthTest.set(!1); + }), + (Ct.prototype.setStencilMode = function (t) { + t.test.func !== this.gl.ALWAYS || t.mask + ? (this.stencilTest.set(!0), + this.stencilMask.set(t.mask), + this.stencilOp.set([t.fail, t.depthFail, t.pass]), + this.stencilFunc.set({ + func: t.test.func, + ref: t.ref, + mask: t.test.mask, + })) + : this.stencilTest.set(!1); + }), + (Ct.prototype.setColorMode = function (e) { + t.deepEqual(e.blendFunction, St.Replace) + ? this.blend.set(!1) + : (this.blend.set(!0), + this.blendFunc.set(e.blendFunction), + this.blendColor.set(e.blendColor)), + this.colorMask.set(e.mask); + }), + (Ct.prototype.unbindVAO = function () { + this.extVertexArrayObject && + this.bindVertexArrayOES.set(null); + }); + var Lt = (function (e) { + function r(r, n, i) { + var a = this; + e.call(this), + (this.id = r), + (this.dispatcher = i), + this.on('data', function (t) { + 'source' === t.dataType && + 'metadata' === t.sourceDataType && + (a._sourceLoaded = !0), + a._sourceLoaded && + !a._paused && + 'source' === t.dataType && + 'content' === t.sourceDataType && + (a.reload(), a.transform && a.update(a.transform)); + }), + this.on('error', function () { + a._sourceErrored = !0; + }), + (this._source = (function (e, r, n, i) { + var a = new D[r.type](e, r, n, i); + if (a.id !== e) + throw new Error( + 'Expected Source id to be ' + + e + + ' instead of ' + + a.id + ); + return ( + t.bindAll( + ['load', 'abort', 'unload', 'serialize', 'prepare'], + a + ), + a + ); + })(r, n, i, this)), + (this._tiles = {}), + (this._cache = new N(0, this._unloadTile.bind(this))), + (this._timers = {}), + (this._cacheTimers = {}), + (this._maxTileCacheSize = null), + (this._loadedParentTiles = {}), + (this._coveredTiles = {}), + (this._state = new t.SourceFeatureState()); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.onAdd = function (t) { + (this.map = t), + (this._maxTileCacheSize = t + ? t._maxTileCacheSize + : null), + this._source && + this._source.onAdd && + this._source.onAdd(t); + }), + (r.prototype.onRemove = function (t) { + this._source && + this._source.onRemove && + this._source.onRemove(t); + }), + (r.prototype.loaded = function () { + if (this._sourceErrored) return !0; + if (!this._sourceLoaded) return !1; + if (!this._source.loaded()) return !1; + for (var t in this._tiles) { + var e = this._tiles[t]; + if ('loaded' !== e.state && 'errored' !== e.state) + return !1; + } + return !0; + }), + (r.prototype.getSource = function () { + return this._source; + }), + (r.prototype.pause = function () { + this._paused = !0; + }), + (r.prototype.resume = function () { + if (this._paused) { + var t = this._shouldReloadOnResume; + (this._paused = !1), + (this._shouldReloadOnResume = !1), + t && this.reload(), + this.transform && this.update(this.transform); + } + }), + (r.prototype._loadTile = function (t, e) { + return this._source.loadTile(t, e); + }), + (r.prototype._unloadTile = function (t) { + if (this._source.unloadTile) + return this._source.unloadTile(t, function () {}); + }), + (r.prototype._abortTile = function (t) { + if (this._source.abortTile) + return this._source.abortTile(t, function () {}); + }), + (r.prototype.serialize = function () { + return this._source.serialize(); + }), + (r.prototype.prepare = function (t) { + for (var e in (this._source.prepare && + this._source.prepare(), + this._state.coalesceChanges( + this._tiles, + this.map ? this.map.painter : null + ), + this._tiles)) { + var r = this._tiles[e]; + r.upload(t), r.prepare(this.map.style.imageManager); + } + }), + (r.prototype.getIds = function () { + return t + .values(this._tiles) + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.getRenderableIds = function (e) { + var r = this, + n = []; + for (var i in this._tiles) + this._isIdRenderable(i, e) && n.push(this._tiles[i]); + return e + ? n + .sort(function (e, n) { + var i = e.tileID, + a = n.tileID, + o = new t.Point( + i.canonical.x, + i.canonical.y + )._rotate(r.transform.angle), + s = new t.Point( + a.canonical.x, + a.canonical.y + )._rotate(r.transform.angle); + return ( + i.overscaledZ - a.overscaledZ || + s.y - o.y || + s.x - o.x + ); + }) + .map(function (t) { + return t.tileID.key; + }) + : n + .map(function (t) { + return t.tileID; + }) + .sort(It) + .map(function (t) { + return t.key; + }); + }), + (r.prototype.hasRenderableParent = function (t) { + var e = this.findLoadedParent(t, 0); + return !!e && this._isIdRenderable(e.tileID.key); + }), + (r.prototype._isIdRenderable = function (t, e) { + return ( + this._tiles[t] && + this._tiles[t].hasData() && + !this._coveredTiles[t] && + (e || !this._tiles[t].holdingForFade()) + ); + }), + (r.prototype.reload = function () { + if (this._paused) this._shouldReloadOnResume = !0; + else + for (var t in (this._cache.reset(), this._tiles)) + 'errored' !== this._tiles[t].state && + this._reloadTile(t, 'reloading'); + }), + (r.prototype._reloadTile = function (t, e) { + var r = this._tiles[t]; + r && + ('loading' !== r.state && (r.state = e), + this._loadTile( + r, + this._tileLoaded.bind(this, r, t, e) + )); + }), + (r.prototype._tileLoaded = function (e, r, n, i) { + if (i) + return ( + (e.state = 'errored'), + void (404 !== i.status + ? this._source.fire( + new t.ErrorEvent(i, { tile: e }) + ) + : this.update(this.transform)) + ); + (e.timeAdded = t.browser.now()), + 'expired' === n && (e.refreshedUponExpiration = !0), + this._setTileReloadTimer(r, e), + 'raster-dem' === this.getSource().type && + e.dem && + this._backfillDEM(e), + this._state.initializeTileState( + e, + this.map ? this.map.painter : null + ), + this._source.fire( + new t.Event('data', { + dataType: 'source', + tile: e, + coord: e.tileID, + }) + ); + }), + (r.prototype._backfillDEM = function (t) { + for ( + var e = this.getRenderableIds(), r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + if (t.neighboringTiles && t.neighboringTiles[n]) { + var i = this.getTileByID(n); + a(t, i), a(i, t); + } + } + function a(t, e) { + t.needsHillshadePrepare = !0; + var r = e.tileID.canonical.x - t.tileID.canonical.x, + n = e.tileID.canonical.y - t.tileID.canonical.y, + i = Math.pow(2, t.tileID.canonical.z), + a = e.tileID.key; + (0 === r && 0 === n) || + Math.abs(n) > 1 || + (Math.abs(r) > 1 && + (1 === Math.abs(r + i) + ? (r += i) + : 1 === Math.abs(r - i) && (r -= i)), + e.dem && + t.dem && + (t.dem.backfillBorder(e.dem, r, n), + t.neighboringTiles && + t.neighboringTiles[a] && + (t.neighboringTiles[a].backfilled = !0))); + } + }), + (r.prototype.getTile = function (t) { + return this.getTileByID(t.key); + }), + (r.prototype.getTileByID = function (t) { + return this._tiles[t]; + }), + (r.prototype._retainLoadedChildren = function (t, e, r, n) { + for (var i in this._tiles) { + var a = this._tiles[i]; + if ( + !( + n[i] || + !a.hasData() || + a.tileID.overscaledZ <= e || + a.tileID.overscaledZ > r + ) + ) { + for ( + var o = a.tileID; + a && a.tileID.overscaledZ > e + 1; + + ) { + var s = a.tileID.scaledTo(a.tileID.overscaledZ - 1); + (a = this._tiles[s.key]) && a.hasData() && (o = s); + } + for (var l = o; l.overscaledZ > e; ) + if (t[(l = l.scaledTo(l.overscaledZ - 1)).key]) { + n[o.key] = o; + break; + } + } + } + }), + (r.prototype.findLoadedParent = function (t, e) { + if (t.key in this._loadedParentTiles) { + var r = this._loadedParentTiles[t.key]; + return r && r.tileID.overscaledZ >= e ? r : null; + } + for (var n = t.overscaledZ - 1; n >= e; n--) { + var i = t.scaledTo(n), + a = this._getLoadedTile(i); + if (a) return a; + } + }), + (r.prototype._getLoadedTile = function (t) { + var e = this._tiles[t.key]; + return e && e.hasData() + ? e + : this._cache.getByKey(t.wrapped().key); + }), + (r.prototype.updateCacheSize = function (t) { + var e = Math.ceil(t.width / this._source.tileSize) + 1, + r = Math.ceil(t.height / this._source.tileSize) + 1, + n = Math.floor(e * r * 5), + i = + 'number' == typeof this._maxTileCacheSize + ? Math.min(this._maxTileCacheSize, n) + : n; + this._cache.setMaxSize(i); + }), + (r.prototype.handleWrapJump = function (t) { + var e = Math.round( + (t - (void 0 === this._prevLng ? t : this._prevLng)) / + 360 + ); + if (((this._prevLng = t), e)) { + var r = {}; + for (var n in this._tiles) { + var i = this._tiles[n]; + (i.tileID = i.tileID.unwrapTo(i.tileID.wrap + e)), + (r[i.tileID.key] = i); + } + for (var a in ((this._tiles = r), this._timers)) + clearTimeout(this._timers[a]), delete this._timers[a]; + for (var o in this._tiles) + this._setTileReloadTimer(o, this._tiles[o]); + } + }), + (r.prototype.update = function (e) { + var n = this; + if ( + ((this.transform = e), + this._sourceLoaded && !this._paused) + ) { + var i; + this.updateCacheSize(e), + this.handleWrapJump(this.transform.center.lng), + (this._coveredTiles = {}), + this.used + ? this._source.tileID + ? (i = e + .getVisibleUnwrappedCoordinates( + this._source.tileID + ) + .map(function (e) { + return new t.OverscaledTileID( + e.canonical.z, + e.wrap, + e.canonical.z, + e.canonical.x, + e.canonical.y + ); + })) + : ((i = e.coveringTiles({ + tileSize: this._source.tileSize, + minzoom: this._source.minzoom, + maxzoom: this._source.maxzoom, + roundZoom: this._source.roundZoom, + reparseOverscaled: + this._source.reparseOverscaled, + })), + this._source.hasTile && + (i = i.filter(function (t) { + return n._source.hasTile(t); + }))) + : (i = []); + var a = e.coveringZoomLevel(this._source), + o = Math.max( + a - r.maxOverzooming, + this._source.minzoom + ), + s = Math.max( + a + r.maxUnderzooming, + this._source.minzoom + ), + l = this._updateRetainedTiles(i, a); + if (Pt(this._source.type)) { + for ( + var c = {}, u = {}, f = 0, h = Object.keys(l); + f < h.length; + f += 1 + ) { + var p = h[f], + d = l[p], + g = this._tiles[p]; + if ( + g && + !( + g.fadeEndTime && + g.fadeEndTime <= t.browser.now() + ) + ) { + var m = this.findLoadedParent(d, o); + m && + (this._addTile(m.tileID), + (c[m.tileID.key] = m.tileID)), + (u[p] = d); + } + } + for (var v in (this._retainLoadedChildren(u, a, s, l), + c)) + l[v] || + ((this._coveredTiles[v] = !0), (l[v] = c[v])); + } + for (var y in l) this._tiles[y].clearFadeHold(); + for ( + var x = 0, b = t.keysDifference(this._tiles, l); + x < b.length; + x += 1 + ) { + var _ = b[x], + w = this._tiles[_]; + w.hasSymbolBuckets && !w.holdingForFade() + ? w.setHoldDuration(this.map._fadeDuration) + : (w.hasSymbolBuckets && !w.symbolFadeFinished()) || + this._removeTile(_); + } + this._updateLoadedParentTileCache(); + } + }), + (r.prototype.releaseSymbolFadeTiles = function () { + for (var t in this._tiles) + this._tiles[t].holdingForFade() && this._removeTile(t); + }), + (r.prototype._updateRetainedTiles = function (t, e) { + for ( + var n = {}, + i = {}, + a = Math.max( + e - r.maxOverzooming, + this._source.minzoom + ), + o = Math.max( + e + r.maxUnderzooming, + this._source.minzoom + ), + s = {}, + l = 0, + c = t; + l < c.length; + l += 1 + ) { + var u = c[l], + f = this._addTile(u); + (n[u.key] = u), + f.hasData() || + (e < this._source.maxzoom && (s[u.key] = u)); + } + this._retainLoadedChildren(s, e, o, n); + for (var h = 0, p = t; h < p.length; h += 1) { + var d = p[h], + g = this._tiles[d.key]; + if (!g.hasData()) { + if (e + 1 > this._source.maxzoom) { + var m = d.children(this._source.maxzoom)[0], + v = this.getTile(m); + if (v && v.hasData()) { + n[m.key] = m; + continue; + } + } else { + var y = d.children(this._source.maxzoom); + if ( + n[y[0].key] && + n[y[1].key] && + n[y[2].key] && + n[y[3].key] + ) + continue; + } + for ( + var x = g.wasRequested(), b = d.overscaledZ - 1; + b >= a; + --b + ) { + var _ = d.scaledTo(b); + if (i[_.key]) break; + if ( + ((i[_.key] = !0), + !(g = this.getTile(_)) && + x && + (g = this._addTile(_)), + g && + ((n[_.key] = _), + (x = g.wasRequested()), + g.hasData())) + ) + break; + } + } + } + return n; + }), + (r.prototype._updateLoadedParentTileCache = function () { + for (var t in ((this._loadedParentTiles = {}), + this._tiles)) { + for ( + var e = [], r = void 0, n = this._tiles[t].tileID; + n.overscaledZ > 0; + + ) { + if (n.key in this._loadedParentTiles) { + r = this._loadedParentTiles[n.key]; + break; + } + e.push(n.key); + var i = n.scaledTo(n.overscaledZ - 1); + if ((r = this._getLoadedTile(i))) break; + n = i; + } + for (var a = 0, o = e; a < o.length; a += 1) + this._loadedParentTiles[o[a]] = r; + } + }), + (r.prototype._addTile = function (e) { + var r = this._tiles[e.key]; + if (r) return r; + (r = this._cache.getAndRemove(e)) && + (this._setTileReloadTimer(e.key, r), + (r.tileID = e), + this._state.initializeTileState( + r, + this.map ? this.map.painter : null + ), + this._cacheTimers[e.key] && + (clearTimeout(this._cacheTimers[e.key]), + delete this._cacheTimers[e.key], + this._setTileReloadTimer(e.key, r))); + var n = Boolean(r); + return ( + n || + ((r = new t.Tile( + e, + this._source.tileSize * e.overscaleFactor() + )), + this._loadTile( + r, + this._tileLoaded.bind(this, r, e.key, r.state) + )), + r + ? (r.uses++, + (this._tiles[e.key] = r), + n || + this._source.fire( + new t.Event('dataloading', { + tile: r, + coord: r.tileID, + dataType: 'source', + }) + ), + r) + : null + ); + }), + (r.prototype._setTileReloadTimer = function (t, e) { + var r = this; + t in this._timers && + (clearTimeout(this._timers[t]), delete this._timers[t]); + var n = e.getExpiryTimeout(); + n && + (this._timers[t] = setTimeout(function () { + r._reloadTile(t, 'expired'), delete r._timers[t]; + }, n)); + }), + (r.prototype._removeTile = function (t) { + var e = this._tiles[t]; + e && + (e.uses--, + delete this._tiles[t], + this._timers[t] && + (clearTimeout(this._timers[t]), + delete this._timers[t]), + e.uses > 0 || + (e.hasData() && 'reloading' !== e.state + ? this._cache.add(e.tileID, e, e.getExpiryTimeout()) + : ((e.aborted = !0), + this._abortTile(e), + this._unloadTile(e)))); + }), + (r.prototype.clearTiles = function () { + for (var t in ((this._shouldReloadOnResume = !1), + (this._paused = !1), + this._tiles)) + this._removeTile(t); + this._cache.reset(); + }), + (r.prototype.tilesIn = function (e, r, n) { + var i = this, + a = [], + o = this.transform; + if (!o) return a; + for ( + var s = n ? o.getCameraQueryGeometry(e) : e, + l = e.map(function (t) { + return o.pointCoordinate(t); + }), + c = s.map(function (t) { + return o.pointCoordinate(t); + }), + u = this.getIds(), + f = 1 / 0, + h = 1 / 0, + p = -1 / 0, + d = -1 / 0, + g = 0, + m = c; + g < m.length; + g += 1 + ) { + var v = m[g]; + (f = Math.min(f, v.x)), + (h = Math.min(h, v.y)), + (p = Math.max(p, v.x)), + (d = Math.max(d, v.y)); + } + for ( + var y = function (e) { + var n = i._tiles[u[e]]; + if (!n.holdingForFade()) { + var s = n.tileID, + g = Math.pow(2, o.zoom - n.tileID.overscaledZ), + m = + (r * n.queryPadding * t.EXTENT) / + n.tileSize / + g, + v = [ + s.getTilePoint( + new t.MercatorCoordinate(f, h) + ), + s.getTilePoint( + new t.MercatorCoordinate(p, d) + ), + ]; + if ( + v[0].x - m < t.EXTENT && + v[0].y - m < t.EXTENT && + v[1].x + m >= 0 && + v[1].y + m >= 0 + ) { + var y = l.map(function (t) { + return s.getTilePoint(t); + }), + x = c.map(function (t) { + return s.getTilePoint(t); + }); + a.push({ + tile: n, + tileID: s, + queryGeometry: y, + cameraQueryGeometry: x, + scale: g, + }); + } + } + }, + x = 0; + x < u.length; + x++ + ) + y(x); + return a; + }), + (r.prototype.getVisibleCoordinates = function (t) { + for ( + var e = this, + r = this.getRenderableIds(t).map(function (t) { + return e._tiles[t].tileID; + }), + n = 0, + i = r; + n < i.length; + n += 1 + ) { + var a = i[n]; + a.posMatrix = this.transform.calculatePosMatrix( + a.toUnwrapped() + ); + } + return r; + }), + (r.prototype.hasTransition = function () { + if (this._source.hasTransition()) return !0; + if (Pt(this._source.type)) + for (var e in this._tiles) { + var r = this._tiles[e]; + if ( + void 0 !== r.fadeEndTime && + r.fadeEndTime >= t.browser.now() + ) + return !0; + } + return !1; + }), + (r.prototype.setFeatureState = function (t, e, r) { + this._state.updateState( + (t = t || '_geojsonTileLayer'), + e, + r + ); + }), + (r.prototype.removeFeatureState = function (t, e, r) { + this._state.removeFeatureState( + (t = t || '_geojsonTileLayer'), + e, + r + ); + }), + (r.prototype.getFeatureState = function (t, e) { + return this._state.getState( + (t = t || '_geojsonTileLayer'), + e + ); + }), + (r.prototype.setDependencies = function (t, e, r) { + var n = this._tiles[t]; + n && n.setDependencies(e, r); + }), + (r.prototype.reloadTilesForDependencies = function (t, e) { + for (var r in this._tiles) + this._tiles[r].hasDependency(t, e) && + this._reloadTile(r, 'reloading'); + this._cache.filter(function (r) { + return !r.hasDependency(t, e); + }); + }), + r + ); + })(t.Evented); + function It(t, e) { + var r = Math.abs(2 * t.wrap) - +(t.wrap < 0), + n = Math.abs(2 * e.wrap) - +(e.wrap < 0); + return ( + t.overscaledZ - e.overscaledZ || + n - r || + e.canonical.y - t.canonical.y || + e.canonical.x - t.canonical.x + ); + } + function Pt(t) { + return 'raster' === t || 'image' === t || 'video' === t; + } + function zt() { + return new t.window.Worker(Yi.workerUrl); + } + (Lt.maxOverzooming = 10), (Lt.maxUnderzooming = 3); + var Ot = 'mapboxgl_preloaded_worker_pool', + Dt = function () { + this.active = {}; + }; + (Dt.prototype.acquire = function (t) { + if (!this.workers) + for ( + this.workers = []; + this.workers.length < Dt.workerCount; + + ) + this.workers.push(new zt()); + return (this.active[t] = !0), this.workers.slice(); + }), + (Dt.prototype.release = function (t) { + delete this.active[t], + 0 === this.numActive() && + (this.workers.forEach(function (t) { + t.terminate(); + }), + (this.workers = null)); + }), + (Dt.prototype.isPreloaded = function () { + return !!this.active[Ot]; + }), + (Dt.prototype.numActive = function () { + return Object.keys(this.active).length; + }); + var Rt, + Ft = Math.floor(t.browser.hardwareConcurrency / 2); + function Bt() { + return Rt || (Rt = new Dt()), Rt; + } + function Nt(e, r) { + var n = {}; + for (var i in e) 'ref' !== i && (n[i] = e[i]); + return ( + t.refProperties.forEach(function (t) { + t in r && (n[t] = r[t]); + }), + n + ); + } + function jt(t) { + t = t.slice(); + for (var e = Object.create(null), r = 0; r < t.length; r++) + e[t[r].id] = t[r]; + for (var n = 0; n < t.length; n++) + 'ref' in t[n] && (t[n] = Nt(t[n], e[t[n].ref])); + return t; + } + Dt.workerCount = Math.max(Math.min(Ft, 6), 1); + var Ut = { + setStyle: 'setStyle', + addLayer: 'addLayer', + removeLayer: 'removeLayer', + setPaintProperty: 'setPaintProperty', + setLayoutProperty: 'setLayoutProperty', + setFilter: 'setFilter', + addSource: 'addSource', + removeSource: 'removeSource', + setGeoJSONSourceData: 'setGeoJSONSourceData', + setLayerZoomRange: 'setLayerZoomRange', + setLayerProperty: 'setLayerProperty', + setCenter: 'setCenter', + setZoom: 'setZoom', + setBearing: 'setBearing', + setPitch: 'setPitch', + setSprite: 'setSprite', + setGlyphs: 'setGlyphs', + setTransition: 'setTransition', + setLight: 'setLight', + }; + function Vt(t, e, r) { + r.push({ command: Ut.addSource, args: [t, e[t]] }); + } + function qt(t, e, r) { + e.push({ command: Ut.removeSource, args: [t] }), (r[t] = !0); + } + function Ht(t, e, r, n) { + qt(t, r, n), Vt(t, e, r); + } + function Gt(e, r, n) { + var i; + for (i in e[n]) + if ( + e[n].hasOwnProperty(i) && + 'data' !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + for (i in r[n]) + if ( + r[n].hasOwnProperty(i) && + 'data' !== i && + !t.deepEqual(e[n][i], r[n][i]) + ) + return !1; + return !0; + } + function Yt(e, r, n, i, a, o) { + var s; + for (s in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ command: o, args: [i, s, r[s], a] })); + for (s in r) + r.hasOwnProperty(s) && + !e.hasOwnProperty(s) && + (t.deepEqual(e[s], r[s]) || + n.push({ command: o, args: [i, s, r[s], a] })); + } + function Wt(t) { + return t.id; + } + function Xt(t, e) { + return (t[e.id] = e), t; + } + var Zt = function (t, e) { + this.reset(t, e); + }; + (Zt.prototype.reset = function (t, e) { + (this.points = t || []), (this._distances = [0]); + for (var r = 1; r < this.points.length; r++) + this._distances[r] = + this._distances[r - 1] + + this.points[r].dist(this.points[r - 1]); + (this.length = this._distances[this._distances.length - 1]), + (this.padding = Math.min(e || 0, 0.5 * this.length)), + (this.paddedLength = this.length - 2 * this.padding); + }), + (Zt.prototype.lerp = function (e) { + if (1 === this.points.length) return this.points[0]; + e = t.clamp(e, 0, 1); + for ( + var r = 1, + n = this._distances[r], + i = e * this.paddedLength + this.padding; + n < i && r < this._distances.length; + + ) + n = this._distances[++r]; + var a = r - 1, + o = this._distances[a], + s = n - o, + l = s > 0 ? (i - o) / s : 0; + return this.points[a] + .mult(1 - l) + .add(this.points[r].mult(l)); + }); + var Jt = function (t, e, r) { + var n = (this.boxCells = []), + i = (this.circleCells = []); + (this.xCellCount = Math.ceil(t / r)), + (this.yCellCount = Math.ceil(e / r)); + for (var a = 0; a < this.xCellCount * this.yCellCount; a++) + n.push([]), i.push([]); + (this.circleKeys = []), + (this.boxKeys = []), + (this.bboxes = []), + (this.circles = []), + (this.width = t), + (this.height = e), + (this.xScale = this.xCellCount / t), + (this.yScale = this.yCellCount / e), + (this.boxUid = 0), + (this.circleUid = 0); + }; + function Kt(e, r, n, i, a) { + var o = t.create(); + return ( + r + ? (t.scale(o, o, [1 / a, 1 / a, 1]), + n || t.rotateZ(o, o, i.angle)) + : t.multiply(o, i.labelPlaneMatrix, e), + o + ); + } + function Qt(e, r, n, i, a) { + if (r) { + var o = t.clone(e); + return ( + t.scale(o, o, [a, a, 1]), + n || t.rotateZ(o, o, -i.angle), + o + ); + } + return i.glCoordMatrix; + } + function $t(e, r) { + var n = [e.x, e.y, 0, 1]; + ue(n, n, r); + var i = n[3]; + return { + point: new t.Point(n[0] / i, n[1] / i), + signedDistanceFromCamera: i, + }; + } + function te(t, e) { + return 0.5 + (t / e) * 0.5; + } + function ee(t, e) { + var r = t[0] / t[3], + n = t[1] / t[3]; + return r >= -e[0] && r <= e[0] && n >= -e[1] && n <= e[1]; + } + function re(e, r, n, i, a, o, s, l) { + var c = i ? e.textSizeData : e.iconSizeData, + u = t.evaluateSizeForZoom(c, n.transform.zoom), + f = [(256 / n.width) * 2 + 1, (256 / n.height) * 2 + 1], + h = i + ? e.text.dynamicLayoutVertexArray + : e.icon.dynamicLayoutVertexArray; + h.clear(); + for ( + var p = e.lineVertexArray, + d = i + ? e.text.placedSymbolArray + : e.icon.placedSymbolArray, + g = n.transform.width / n.transform.height, + m = !1, + v = 0; + v < d.length; + v++ + ) { + var y = d.get(v); + if ( + y.hidden || + (y.writingMode === t.WritingMode.vertical && !m) + ) + ce(y.numGlyphs, h); + else { + m = !1; + var x = [y.anchorX, y.anchorY, 0, 1]; + if ((t.transformMat4(x, x, r), ee(x, f))) { + var b = te(n.transform.cameraToCenterDistance, x[3]), + _ = t.evaluateSizeForFeature(c, u, y), + w = s ? _ / b : _ * b, + T = new t.Point(y.anchorX, y.anchorY), + k = $t(T, a).point, + M = {}, + A = ae( + y, + w, + !1, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + k, + T, + M, + g + ); + (m = A.useVertical), + (A.notEnoughRoom || + m || + (A.needsFlipping && + ae( + y, + w, + !0, + l, + r, + a, + o, + e.glyphOffsetArray, + p, + h, + k, + T, + M, + g + ).notEnoughRoom)) && + ce(y.numGlyphs, h); + } else ce(y.numGlyphs, h); + } + } + i + ? e.text.dynamicLayoutVertexBuffer.updateData(h) + : e.icon.dynamicLayoutVertexBuffer.updateData(h); + } + function ne(t, e, r, n, i, a, o, s, l, c, u) { + var f = s.glyphStartIndex + s.numGlyphs, + h = s.lineStartIndex, + p = s.lineStartIndex + s.lineLength, + d = e.getoffsetX(s.glyphStartIndex), + g = e.getoffsetX(f - 1), + m = se(t * d, r, n, i, a, o, s.segment, h, p, l, c, u); + if (!m) return null; + var v = se(t * g, r, n, i, a, o, s.segment, h, p, l, c, u); + return v ? { first: m, last: v } : null; + } + function ie(e, r, n, i) { + return e === t.WritingMode.horizontal && + Math.abs(n.y - r.y) > Math.abs(n.x - r.x) * i + ? { useVertical: !0 } + : (e === t.WritingMode.vertical ? r.y < n.y : r.x > n.x) + ? { needsFlipping: !0 } + : null; + } + function ae(e, r, n, i, a, o, s, l, c, u, f, h, p, d) { + var g, + m = r / 24, + v = e.lineOffsetX * m, + y = e.lineOffsetY * m; + if (e.numGlyphs > 1) { + var x = e.glyphStartIndex + e.numGlyphs, + b = e.lineStartIndex, + _ = e.lineStartIndex + e.lineLength, + w = ne(m, l, v, y, n, f, h, e, c, o, p); + if (!w) return { notEnoughRoom: !0 }; + var T = $t(w.first.point, s).point, + k = $t(w.last.point, s).point; + if (i && !n) { + var M = ie(e.writingMode, T, k, d); + if (M) return M; + } + g = [w.first]; + for (var A = e.glyphStartIndex + 1; A < x - 1; A++) + g.push( + se( + m * l.getoffsetX(A), + v, + y, + n, + f, + h, + e.segment, + b, + _, + c, + o, + p + ) + ); + g.push(w.last); + } else { + if (i && !n) { + var S = $t(h, a).point, + E = e.lineStartIndex + e.segment + 1, + C = new t.Point(c.getx(E), c.gety(E)), + L = $t(C, a), + I = + L.signedDistanceFromCamera > 0 + ? L.point + : oe(h, C, S, 1, a), + P = ie(e.writingMode, S, I, d); + if (P) return P; + } + var z = se( + m * l.getoffsetX(e.glyphStartIndex), + v, + y, + n, + f, + h, + e.segment, + e.lineStartIndex, + e.lineStartIndex + e.lineLength, + c, + o, + p + ); + if (!z) return { notEnoughRoom: !0 }; + g = [z]; + } + for (var O = 0, D = g; O < D.length; O += 1) { + var R = D[O]; + t.addDynamicAttributes(u, R.point, R.angle); + } + return {}; + } + function oe(t, e, r, n, i) { + var a = $t(t.add(t.sub(e)._unit()), i).point, + o = r.sub(a); + return r.add(o._mult(n / o.mag())); + } + function se(e, r, n, i, a, o, s, l, c, u, f, h) { + var p = i ? e - r : e + r, + d = p > 0 ? 1 : -1, + g = 0; + i && ((d *= -1), (g = Math.PI)), d < 0 && (g += Math.PI); + for ( + var m = d > 0 ? l + s : l + s + 1, + v = a, + y = a, + x = 0, + b = 0, + _ = Math.abs(p), + w = []; + x + b <= _; + + ) { + if ((m += d) < l || m >= c) return null; + if (((y = v), w.push(v), void 0 === (v = h[m]))) { + var T = new t.Point(u.getx(m), u.gety(m)), + k = $t(T, f); + if (k.signedDistanceFromCamera > 0) v = h[m] = k.point; + else { + var M = m - d; + v = oe( + 0 === x ? o : new t.Point(u.getx(M), u.gety(M)), + T, + y, + _ - x + 1, + f + ); + } + } + (x += b), (b = y.dist(v)); + } + var A = (_ - x) / b, + S = v.sub(y), + E = S.mult(A)._add(y); + E._add( + S._unit() + ._perp() + ._mult(n * d) + ); + var C = g + Math.atan2(v.y - y.y, v.x - y.x); + return w.push(E), { point: E, angle: C, path: w }; + } + (Jt.prototype.keysLength = function () { + return this.boxKeys.length + this.circleKeys.length; + }), + (Jt.prototype.insert = function (t, e, r, n, i) { + this._forEachCell( + e, + r, + n, + i, + this._insertBoxCell, + this.boxUid++ + ), + this.boxKeys.push(t), + this.bboxes.push(e), + this.bboxes.push(r), + this.bboxes.push(n), + this.bboxes.push(i); + }), + (Jt.prototype.insertCircle = function (t, e, r, n) { + this._forEachCell( + e - n, + r - n, + e + n, + r + n, + this._insertCircleCell, + this.circleUid++ + ), + this.circleKeys.push(t), + this.circles.push(e), + this.circles.push(r), + this.circles.push(n); + }), + (Jt.prototype._insertBoxCell = function (t, e, r, n, i, a) { + this.boxCells[i].push(a); + }), + (Jt.prototype._insertCircleCell = function ( + t, + e, + r, + n, + i, + a + ) { + this.circleCells[i].push(a); + }), + (Jt.prototype._query = function (t, e, r, n, i, a) { + if (r < 0 || t > this.width || n < 0 || e > this.height) + return !i && []; + var o = []; + if ( + t <= 0 && + e <= 0 && + this.width <= r && + this.height <= n + ) { + if (i) return !0; + for (var s = 0; s < this.boxKeys.length; s++) + o.push({ + key: this.boxKeys[s], + x1: this.bboxes[4 * s], + y1: this.bboxes[4 * s + 1], + x2: this.bboxes[4 * s + 2], + y2: this.bboxes[4 * s + 3], + }); + for (var l = 0; l < this.circleKeys.length; l++) { + var c = this.circles[3 * l], + u = this.circles[3 * l + 1], + f = this.circles[3 * l + 2]; + o.push({ + key: this.circleKeys[l], + x1: c - f, + y1: u - f, + x2: c + f, + y2: u + f, + }); + } + return a ? o.filter(a) : o; + } + return ( + this._forEachCell( + t, + e, + r, + n, + this._queryCell, + o, + { hitTest: i, seenUids: { box: {}, circle: {} } }, + a + ), + i ? o.length > 0 : o + ); + }), + (Jt.prototype._queryCircle = function (t, e, r, n, i) { + var a = t - r, + o = t + r, + s = e - r, + l = e + r; + if (o < 0 || a > this.width || l < 0 || s > this.height) + return !n && []; + var c = []; + return ( + this._forEachCell( + a, + s, + o, + l, + this._queryCellCircle, + c, + { + hitTest: n, + circle: { x: t, y: e, radius: r }, + seenUids: { box: {}, circle: {} }, + }, + i + ), + n ? c.length > 0 : c + ); + }), + (Jt.prototype.query = function (t, e, r, n, i) { + return this._query(t, e, r, n, !1, i); + }), + (Jt.prototype.hitTest = function (t, e, r, n, i) { + return this._query(t, e, r, n, !0, i); + }), + (Jt.prototype.hitTestCircle = function (t, e, r, n) { + return this._queryCircle(t, e, r, !0, n); + }), + (Jt.prototype._queryCell = function (t, e, r, n, i, a, o, s) { + var l = o.seenUids, + c = this.boxCells[i]; + if (null !== c) + for ( + var u = this.bboxes, f = 0, h = c; + f < h.length; + f += 1 + ) { + var p = h[f]; + if (!l.box[p]) { + l.box[p] = !0; + var d = 4 * p; + if ( + t <= u[d + 2] && + e <= u[d + 3] && + r >= u[d + 0] && + n >= u[d + 1] && + (!s || s(this.boxKeys[p])) + ) { + if (o.hitTest) return a.push(!0), !0; + a.push({ + key: this.boxKeys[p], + x1: u[d], + y1: u[d + 1], + x2: u[d + 2], + y2: u[d + 3], + }); + } + } + } + var g = this.circleCells[i]; + if (null !== g) + for ( + var m = this.circles, v = 0, y = g; + v < y.length; + v += 1 + ) { + var x = y[v]; + if (!l.circle[x]) { + l.circle[x] = !0; + var b = 3 * x; + if ( + this._circleAndRectCollide( + m[b], + m[b + 1], + m[b + 2], + t, + e, + r, + n + ) && + (!s || s(this.circleKeys[x])) + ) { + if (o.hitTest) return a.push(!0), !0; + var _ = m[b], + w = m[b + 1], + T = m[b + 2]; + a.push({ + key: this.circleKeys[x], + x1: _ - T, + y1: w - T, + x2: _ + T, + y2: w + T, + }); + } + } + } + }), + (Jt.prototype._queryCellCircle = function ( + t, + e, + r, + n, + i, + a, + o, + s + ) { + var l = o.circle, + c = o.seenUids, + u = this.boxCells[i]; + if (null !== u) + for ( + var f = this.bboxes, h = 0, p = u; + h < p.length; + h += 1 + ) { + var d = p[h]; + if (!c.box[d]) { + c.box[d] = !0; + var g = 4 * d; + if ( + this._circleAndRectCollide( + l.x, + l.y, + l.radius, + f[g + 0], + f[g + 1], + f[g + 2], + f[g + 3] + ) && + (!s || s(this.boxKeys[d])) + ) + return a.push(!0), !0; + } + } + var m = this.circleCells[i]; + if (null !== m) + for ( + var v = this.circles, y = 0, x = m; + y < x.length; + y += 1 + ) { + var b = x[y]; + if (!c.circle[b]) { + c.circle[b] = !0; + var _ = 3 * b; + if ( + this._circlesCollide( + v[_], + v[_ + 1], + v[_ + 2], + l.x, + l.y, + l.radius + ) && + (!s || s(this.circleKeys[b])) + ) + return a.push(!0), !0; + } + } + }), + (Jt.prototype._forEachCell = function ( + t, + e, + r, + n, + i, + a, + o, + s + ) { + for ( + var l = this._convertToXCellCoord(t), + c = this._convertToYCellCoord(e), + u = this._convertToXCellCoord(r), + f = this._convertToYCellCoord(n), + h = l; + h <= u; + h++ + ) + for (var p = c; p <= f; p++) + if ( + i.call( + this, + t, + e, + r, + n, + this.xCellCount * p + h, + a, + o, + s + ) + ) + return; + }), + (Jt.prototype._convertToXCellCoord = function (t) { + return Math.max( + 0, + Math.min(this.xCellCount - 1, Math.floor(t * this.xScale)) + ); + }), + (Jt.prototype._convertToYCellCoord = function (t) { + return Math.max( + 0, + Math.min(this.yCellCount - 1, Math.floor(t * this.yScale)) + ); + }), + (Jt.prototype._circlesCollide = function (t, e, r, n, i, a) { + var o = n - t, + s = i - e, + l = r + a; + return l * l > o * o + s * s; + }), + (Jt.prototype._circleAndRectCollide = function ( + t, + e, + r, + n, + i, + a, + o + ) { + var s = (a - n) / 2, + l = Math.abs(t - (n + s)); + if (l > s + r) return !1; + var c = (o - i) / 2, + u = Math.abs(e - (i + c)); + if (u > c + r) return !1; + if (l <= s || u <= c) return !0; + var f = l - s, + h = u - c; + return f * f + h * h <= r * r; + }); + var le = new Float32Array([ + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + -1 / 0, + -1 / 0, + 0, + ]); + function ce(t, e) { + for (var r = 0; r < t; r++) { + var n = e.length; + e.resize(n + 4), e.float32.set(le, 3 * n); + } + } + function ue(t, e, r) { + var n = e[0], + i = e[1]; + return ( + (t[0] = r[0] * n + r[4] * i + r[12]), + (t[1] = r[1] * n + r[5] * i + r[13]), + (t[3] = r[3] * n + r[7] * i + r[15]), + t + ); + } + var fe = function (t, e, r) { + void 0 === e && + (e = new Jt(t.width + 200, t.height + 200, 25)), + void 0 === r && + (r = new Jt(t.width + 200, t.height + 200, 25)), + (this.transform = t), + (this.grid = e), + (this.ignoredGrid = r), + (this.pitchfactor = + Math.cos(t._pitch) * t.cameraToCenterDistance), + (this.screenRightBoundary = t.width + 100), + (this.screenBottomBoundary = t.height + 100), + (this.gridRightBoundary = t.width + 200), + (this.gridBottomBoundary = t.height + 200); + }; + function he(e, r, n) { + return ( + r * + (t.EXTENT / + (e.tileSize * Math.pow(2, n - e.tileID.overscaledZ))) + ); + } + (fe.prototype.placeCollisionBox = function (t, e, r, n, i) { + var a = this.projectAndGetPerspectiveRatio( + n, + t.anchorPointX, + t.anchorPointY + ), + o = r * a.perspectiveRatio, + s = t.x1 * o + a.point.x, + l = t.y1 * o + a.point.y, + c = t.x2 * o + a.point.x, + u = t.y2 * o + a.point.y; + return !this.isInsideGrid(s, l, c, u) || + (!e && this.grid.hitTest(s, l, c, u, i)) + ? { box: [], offscreen: !1 } + : { + box: [s, l, c, u], + offscreen: this.isOffscreen(s, l, c, u), + }; + }), + (fe.prototype.placeCollisionCircles = function ( + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p + ) { + var d = [], + g = new t.Point(r.anchorX, r.anchorY), + m = $t(g, o), + v = te( + this.transform.cameraToCenterDistance, + m.signedDistanceFromCamera + ), + y = (u ? a / v : a * v) / t.ONE_EM, + x = $t(g, s).point, + b = ne( + y, + i, + r.lineOffsetX * y, + r.lineOffsetY * y, + !1, + x, + g, + r, + n, + s, + {} + ), + _ = !1, + w = !1, + T = !0; + if (b) { + for ( + var k = 0.5 * h * v + p, + M = new t.Point(-100, -100), + A = new t.Point( + this.screenRightBoundary, + this.screenBottomBoundary + ), + S = new Zt(), + E = b.first, + C = b.last, + L = [], + I = E.path.length - 1; + I >= 1; + I-- + ) + L.push(E.path[I]); + for (var P = 1; P < C.path.length; P++) L.push(C.path[P]); + var z = 2.5 * k; + if (l) { + var O = L.map(function (t) { + return $t(t, l); + }); + L = O.some(function (t) { + return t.signedDistanceFromCamera <= 0; + }) + ? [] + : O.map(function (t) { + return t.point; + }); + } + var D = []; + if (L.length > 0) { + for ( + var R = L[0].clone(), F = L[0].clone(), B = 1; + B < L.length; + B++ + ) + (R.x = Math.min(R.x, L[B].x)), + (R.y = Math.min(R.y, L[B].y)), + (F.x = Math.max(F.x, L[B].x)), + (F.y = Math.max(F.y, L[B].y)); + D = + R.x >= M.x && F.x <= A.x && R.y >= M.y && F.y <= A.y + ? [L] + : F.x < M.x || R.x > A.x || F.y < M.y || R.y > A.y + ? [] + : t.clipLine([L], M.x, M.y, A.x, A.y); + } + for (var N = 0, j = D; N < j.length; N += 1) { + var U; + S.reset(j[N], 0.25 * k), + (U = + S.length <= 0.5 * k + ? 1 + : Math.ceil(S.paddedLength / z) + 1); + for (var V = 0; V < U; V++) { + var q = V / Math.max(U - 1, 1), + H = S.lerp(q), + G = H.x + 100, + Y = H.y + 100; + d.push(G, Y, k, 0); + var W = G - k, + X = Y - k, + Z = G + k, + J = Y + k; + if ( + ((T = T && this.isOffscreen(W, X, Z, J)), + (w = w || this.isInsideGrid(W, X, Z, J)), + !e && + this.grid.hitTestCircle(G, Y, k, f) && + ((_ = !0), !c)) + ) + return { + circles: [], + offscreen: !1, + collisionDetected: _, + }; + } + } + } + return { + circles: (!c && _) || !w ? [] : d, + offscreen: T, + collisionDetected: _, + }; + }), + (fe.prototype.queryRenderedSymbols = function (e) { + if ( + 0 === e.length || + (0 === this.grid.keysLength() && + 0 === this.ignoredGrid.keysLength()) + ) + return {}; + for ( + var r = [], + n = 1 / 0, + i = 1 / 0, + a = -1 / 0, + o = -1 / 0, + s = 0, + l = e; + s < l.length; + s += 1 + ) { + var c = l[s], + u = new t.Point(c.x + 100, c.y + 100); + (n = Math.min(n, u.x)), + (i = Math.min(i, u.y)), + (a = Math.max(a, u.x)), + (o = Math.max(o, u.y)), + r.push(u); + } + for ( + var f = {}, + h = {}, + p = 0, + d = this.grid + .query(n, i, a, o) + .concat(this.ignoredGrid.query(n, i, a, o)); + p < d.length; + p += 1 + ) { + var g = d[p], + m = g.key; + if ( + (void 0 === f[m.bucketInstanceId] && + (f[m.bucketInstanceId] = {}), + !f[m.bucketInstanceId][m.featureIndex]) + ) { + var v = [ + new t.Point(g.x1, g.y1), + new t.Point(g.x2, g.y1), + new t.Point(g.x2, g.y2), + new t.Point(g.x1, g.y2), + ]; + t.polygonIntersectsPolygon(r, v) && + ((f[m.bucketInstanceId][m.featureIndex] = !0), + void 0 === h[m.bucketInstanceId] && + (h[m.bucketInstanceId] = []), + h[m.bucketInstanceId].push(m.featureIndex)); + } + } + return h; + }), + (fe.prototype.insertCollisionBox = function (t, e, r, n, i) { + (e ? this.ignoredGrid : this.grid).insert( + { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }, + t[0], + t[1], + t[2], + t[3] + ); + }), + (fe.prototype.insertCollisionCircles = function ( + t, + e, + r, + n, + i + ) { + for ( + var a = e ? this.ignoredGrid : this.grid, + o = { + bucketInstanceId: r, + featureIndex: n, + collisionGroupID: i, + }, + s = 0; + s < t.length; + s += 4 + ) + a.insertCircle(o, t[s], t[s + 1], t[s + 2]); + }), + (fe.prototype.projectAndGetPerspectiveRatio = function ( + e, + r, + n + ) { + var i = [r, n, 0, 1]; + return ( + ue(i, i, e), + { + point: new t.Point( + ((i[0] / i[3] + 1) / 2) * this.transform.width + 100, + ((-i[1] / i[3] + 1) / 2) * this.transform.height + 100 + ), + perspectiveRatio: + 0.5 + + (this.transform.cameraToCenterDistance / i[3]) * 0.5, + } + ); + }), + (fe.prototype.isOffscreen = function (t, e, r, n) { + return ( + r < 100 || + t >= this.screenRightBoundary || + n < 100 || + e > this.screenBottomBoundary + ); + }), + (fe.prototype.isInsideGrid = function (t, e, r, n) { + return ( + r >= 0 && + t < this.gridRightBoundary && + n >= 0 && + e < this.gridBottomBoundary + ); + }), + (fe.prototype.getViewportMatrix = function () { + var e = t.identity([]); + return t.translate(e, e, [-100, -100, 0]), e; + }); + var pe = function (t, e, r, n) { + (this.opacity = t + ? Math.max(0, Math.min(1, t.opacity + (t.placed ? e : -e))) + : n && r + ? 1 + : 0), + (this.placed = r); + }; + pe.prototype.isHidden = function () { + return 0 === this.opacity && !this.placed; + }; + var de = function (t, e, r, n, i) { + (this.text = new pe(t ? t.text : null, e, r, i)), + (this.icon = new pe(t ? t.icon : null, e, n, i)); + }; + de.prototype.isHidden = function () { + return this.text.isHidden() && this.icon.isHidden(); + }; + var ge = function (t, e, r) { + (this.text = t), (this.icon = e), (this.skipFade = r); + }, + me = function () { + (this.invProjMatrix = t.create()), + (this.viewportMatrix = t.create()), + (this.circles = []); + }, + ve = function (t, e, r, n, i) { + (this.bucketInstanceId = t), + (this.featureIndex = e), + (this.sourceLayerIndex = r), + (this.bucketIndex = n), + (this.tileID = i); + }, + ye = function (t) { + (this.crossSourceCollisions = t), + (this.maxGroupID = 0), + (this.collisionGroups = {}); + }; + function xe(e, r, n, i, a) { + var o = t.getAnchorAlignment(e), + s = -(o.horizontalAlign - 0.5) * r, + l = -(o.verticalAlign - 0.5) * n, + c = t.evaluateVariableOffset(e, i); + return new t.Point(s + c[0] * a, l + c[1] * a); + } + function be(e, r, n, i, a, o) { + var s = e.x1, + l = e.x2, + c = e.y1, + u = e.y2, + f = e.anchorPointX, + h = e.anchorPointY, + p = new t.Point(r, n); + return ( + i && p._rotate(a ? o : -o), + { + x1: s + p.x, + y1: c + p.y, + x2: l + p.x, + y2: u + p.y, + anchorPointX: f, + anchorPointY: h, + } + ); + } + ye.prototype.get = function (t) { + if (this.crossSourceCollisions) + return { ID: 0, predicate: null }; + if (!this.collisionGroups[t]) { + var e = ++this.maxGroupID; + this.collisionGroups[t] = { + ID: e, + predicate: function (t) { + return t.collisionGroupID === e; + }, + }; + } + return this.collisionGroups[t]; + }; + var _e = function (t, e, r, n) { + (this.transform = t.clone()), + (this.collisionIndex = new fe(this.transform)), + (this.placements = {}), + (this.opacities = {}), + (this.variableOffsets = {}), + (this.stale = !1), + (this.commitTime = 0), + (this.fadeDuration = e), + (this.retainedQueryData = {}), + (this.collisionGroups = new ye(r)), + (this.collisionCircleArrays = {}), + (this.prevPlacement = n), + n && (n.prevPlacement = void 0), + (this.placedOrientations = {}); + }; + function we(t, e, r, n, i) { + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0), + t.emplaceBack(e ? 1 : 0, r ? 1 : 0, n || 0, i || 0); + } + (_e.prototype.getBucketParts = function (e, r, n, i) { + var a = n.getBucket(r), + o = n.latestFeatureIndex; + if (a && o && r.id === a.layerIds[0]) { + var s = n.collisionBoxArray, + l = a.layers[0].layout, + c = Math.pow( + 2, + this.transform.zoom - n.tileID.overscaledZ + ), + u = n.tileSize / t.EXTENT, + f = this.transform.calculatePosMatrix( + n.tileID.toUnwrapped() + ), + h = 'map' === l.get('text-pitch-alignment'), + p = 'map' === l.get('text-rotation-alignment'), + d = he(n, 1, this.transform.zoom), + g = Kt(f, h, p, this.transform, d), + m = null; + if (h) { + var v = Qt(f, h, p, this.transform, d); + m = t.multiply([], this.transform.labelPlaneMatrix, v); + } + this.retainedQueryData[a.bucketInstanceId] = new ve( + a.bucketInstanceId, + o, + a.sourceLayerIndex, + a.index, + n.tileID + ); + var y = { + bucket: a, + layout: l, + posMatrix: f, + textLabelPlaneMatrix: g, + labelToScreenMatrix: m, + scale: c, + textPixelRatio: u, + holdingForFade: n.holdingForFade(), + collisionBoxArray: s, + partiallyEvaluatedTextSize: t.evaluateSizeForZoom( + a.textSizeData, + this.transform.zoom + ), + collisionGroup: this.collisionGroups.get(a.sourceID), + }; + if (i) + for ( + var x = 0, b = a.sortKeyRanges; + x < b.length; + x += 1 + ) { + var _ = b[x]; + e.push({ + sortKey: _.sortKey, + symbolInstanceStart: _.symbolInstanceStart, + symbolInstanceEnd: _.symbolInstanceEnd, + parameters: y, + }); + } + else + e.push({ + symbolInstanceStart: 0, + symbolInstanceEnd: a.symbolInstances.length, + parameters: y, + }); + } + }), + (_e.prototype.attemptAnchorPlacement = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d + ) { + var g, + m = [f.textOffset0, f.textOffset1], + v = xe(t, r, n, m, i), + y = this.collisionIndex.placeCollisionBox( + be(e, v.x, v.y, a, o, this.transform.angle), + u, + s, + l, + c.predicate + ); + if ( + !d || + 0 !== + this.collisionIndex.placeCollisionBox( + be(d, v.x, v.y, a, o, this.transform.angle), + u, + s, + l, + c.predicate + ).box.length + ) + return y.box.length > 0 + ? (this.prevPlacement && + this.prevPlacement.variableOffsets[f.crossTileID] && + this.prevPlacement.placements[f.crossTileID] && + this.prevPlacement.placements[f.crossTileID].text && + (g = + this.prevPlacement.variableOffsets[f.crossTileID] + .anchor), + (this.variableOffsets[f.crossTileID] = { + textOffset: m, + width: r, + height: n, + anchor: t, + textBoxScale: i, + prevAnchor: g, + }), + this.markUsedJustification(h, t, f, p), + h.allowVerticalPlacement && + (this.markUsedOrientation(h, p, f), + (this.placedOrientations[f.crossTileID] = p)), + { shift: v, placedGlyphBoxes: y }) + : void 0; + }), + (_e.prototype.placeLayerBucketPart = function (e, r, n) { + var i = this, + a = e.parameters, + o = a.bucket, + s = a.layout, + l = a.posMatrix, + c = a.textLabelPlaneMatrix, + u = a.labelToScreenMatrix, + f = a.textPixelRatio, + h = a.holdingForFade, + p = a.collisionBoxArray, + d = a.partiallyEvaluatedTextSize, + g = a.collisionGroup, + m = s.get('text-optional'), + v = s.get('icon-optional'), + y = s.get('text-allow-overlap'), + x = s.get('icon-allow-overlap'), + b = 'map' === s.get('text-rotation-alignment'), + _ = 'map' === s.get('text-pitch-alignment'), + w = 'none' !== s.get('icon-text-fit'), + T = 'viewport-y' === s.get('symbol-z-order'), + k = y && (x || !o.hasIconData() || v), + M = x && (y || !o.hasTextData() || m); + !o.collisionArrays && p && o.deserializeCollisionBoxes(p); + var A = function (e, a) { + if (!r[e.crossTileID]) + if (h) i.placements[e.crossTileID] = new ge(!1, !1, !1); + else { + var p, + T = !1, + A = !1, + S = !0, + E = null, + C = { box: null, offscreen: null }, + L = { box: null, offscreen: null }, + I = null, + P = null, + z = 0, + O = 0, + D = 0; + a.textFeatureIndex + ? (z = a.textFeatureIndex) + : e.useRuntimeCollisionCircles && + (z = e.featureIndex), + a.verticalTextFeatureIndex && + (O = a.verticalTextFeatureIndex); + var R = a.textBox; + if (R) { + var F = function (r) { + var n = t.WritingMode.horizontal; + if ( + o.allowVerticalPlacement && + !r && + i.prevPlacement + ) { + var a = + i.prevPlacement.placedOrientations[ + e.crossTileID + ]; + a && + ((i.placedOrientations[e.crossTileID] = a), + i.markUsedOrientation(o, (n = a), e)); + } + return n; + }, + B = function (r, n) { + if ( + o.allowVerticalPlacement && + e.numVerticalGlyphVertices > 0 && + a.verticalTextBox + ) + for ( + var i = 0, s = o.writingModes; + i < s.length && + (s[i] === t.WritingMode.vertical + ? ((C = n()), (L = C)) + : (C = r()), + !(C && C.box && C.box.length)); + i += 1 + ); + else C = r(); + }; + if (s.get('text-variable-anchor')) { + var N = s.get('text-variable-anchor'); + if ( + i.prevPlacement && + i.prevPlacement.variableOffsets[e.crossTileID] + ) { + var j = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + N.indexOf(j.anchor) > 0 && + (N = N.filter(function (t) { + return t !== j.anchor; + })).unshift(j.anchor); + } + var U = function (t, r, n) { + for ( + var a = t.x2 - t.x1, + s = t.y2 - t.y1, + c = e.textBoxScale, + u = w && !x ? r : null, + h = { box: [], offscreen: !1 }, + p = y ? 2 * N.length : N.length, + d = 0; + d < p; + ++d + ) { + var m = i.attemptAnchorPlacement( + N[d % N.length], + t, + a, + s, + c, + b, + _, + f, + l, + g, + d >= N.length, + e, + o, + n, + u + ); + if ( + m && + (h = m.placedGlyphBoxes) && + h.box && + h.box.length + ) { + (T = !0), (E = m.shift); + break; + } + } + return h; + }; + B( + function () { + return U( + R, + a.iconBox, + t.WritingMode.horizontal + ); + }, + function () { + var r = a.verticalTextBox; + return o.allowVerticalPlacement && + !(C && C.box && C.box.length) && + e.numVerticalGlyphVertices > 0 && + r + ? U( + r, + a.verticalIconBox, + t.WritingMode.vertical + ) + : { box: null, offscreen: null }; + } + ), + C && ((T = C.box), (S = C.offscreen)); + var V = F(C && C.box); + if (!T && i.prevPlacement) { + var q = + i.prevPlacement.variableOffsets[ + e.crossTileID + ]; + q && + ((i.variableOffsets[e.crossTileID] = q), + i.markUsedJustification(o, q.anchor, e, V)); + } + } else { + var H = function (t, r) { + var n = i.collisionIndex.placeCollisionBox( + t, + y, + f, + l, + g.predicate + ); + return ( + n && + n.box && + n.box.length && + (i.markUsedOrientation(o, r, e), + (i.placedOrientations[e.crossTileID] = r)), + n + ); + }; + B( + function () { + return H(R, t.WritingMode.horizontal); + }, + function () { + var r = a.verticalTextBox; + return o.allowVerticalPlacement && + e.numVerticalGlyphVertices > 0 && + r + ? H(r, t.WritingMode.vertical) + : { box: null, offscreen: null }; + } + ), + F(C && C.box && C.box.length); + } + } + if ( + ((T = (p = C) && p.box && p.box.length > 0), + (S = p && p.offscreen), + e.useRuntimeCollisionCircles) + ) { + var G = o.text.placedSymbolArray.get( + e.centerJustifiedTextSymbolIndex + ), + Y = t.evaluateSizeForFeature( + o.textSizeData, + d, + G + ), + W = s.get('text-padding'); + (I = i.collisionIndex.placeCollisionCircles( + y, + G, + o.lineVertexArray, + o.glyphOffsetArray, + Y, + l, + c, + u, + n, + _, + g.predicate, + e.collisionCircleDiameter, + W + )), + (T = + y || + (I.circles.length > 0 && !I.collisionDetected)), + (S = S && I.offscreen); + } + if ( + (a.iconFeatureIndex && (D = a.iconFeatureIndex), + a.iconBox) + ) { + var X = function (t) { + var e = + w && E + ? be(t, E.x, E.y, b, _, i.transform.angle) + : t; + return i.collisionIndex.placeCollisionBox( + e, + x, + f, + l, + g.predicate + ); + }; + (A = + L && L.box && L.box.length && a.verticalIconBox + ? (P = X(a.verticalIconBox)).box.length > 0 + : (P = X(a.iconBox)).box.length > 0), + (S = S && P.offscreen); + } + var Z = + m || + (0 === e.numHorizontalGlyphVertices && + 0 === e.numVerticalGlyphVertices), + J = v || 0 === e.numIconVertices; + if ( + (Z || J + ? J + ? Z || (A = A && T) + : (T = A && T) + : (A = T = A && T), + T && + p && + p.box && + i.collisionIndex.insertCollisionBox( + p.box, + s.get('text-ignore-placement'), + o.bucketInstanceId, + L && L.box && O ? O : z, + g.ID + ), + A && + P && + i.collisionIndex.insertCollisionBox( + P.box, + s.get('icon-ignore-placement'), + o.bucketInstanceId, + D, + g.ID + ), + I && + (T && + i.collisionIndex.insertCollisionCircles( + I.circles, + s.get('text-ignore-placement'), + o.bucketInstanceId, + z, + g.ID + ), + n)) + ) { + var K = o.bucketInstanceId, + Q = i.collisionCircleArrays[K]; + void 0 === Q && + (Q = i.collisionCircleArrays[K] = new me()); + for (var $ = 0; $ < I.circles.length; $ += 4) + Q.circles.push(I.circles[$ + 0]), + Q.circles.push(I.circles[$ + 1]), + Q.circles.push(I.circles[$ + 2]), + Q.circles.push(I.collisionDetected ? 1 : 0); + } + (i.placements[e.crossTileID] = new ge( + T || k, + A || M, + S || o.justReloaded + )), + (r[e.crossTileID] = !0); + } + }; + if (T) + for ( + var S = o.getSortedSymbolIndexes(this.transform.angle), + E = S.length - 1; + E >= 0; + --E + ) { + var C = S[E]; + A(o.symbolInstances.get(C), o.collisionArrays[C]); + } + else + for ( + var L = e.symbolInstanceStart; + L < e.symbolInstanceEnd; + L++ + ) + A(o.symbolInstances.get(L), o.collisionArrays[L]); + if (n && o.bucketInstanceId in this.collisionCircleArrays) { + var I = this.collisionCircleArrays[o.bucketInstanceId]; + t.invert(I.invProjMatrix, l), + (I.viewportMatrix = + this.collisionIndex.getViewportMatrix()); + } + o.justReloaded = !1; + }), + (_e.prototype.markUsedJustification = function (e, r, n, i) { + var a; + a = + i === t.WritingMode.vertical + ? n.verticalPlacedTextSymbolIndex + : { + left: n.leftJustifiedTextSymbolIndex, + center: n.centerJustifiedTextSymbolIndex, + right: n.rightJustifiedTextSymbolIndex, + }[t.getAnchorJustification(r)]; + for ( + var o = 0, + s = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + n.verticalPlacedTextSymbolIndex, + ]; + o < s.length; + o += 1 + ) { + var l = s[o]; + l >= 0 && + (e.text.placedSymbolArray.get(l).crossTileID = + a >= 0 && l !== a ? 0 : n.crossTileID); + } + }), + (_e.prototype.markUsedOrientation = function (e, r, n) { + for ( + var i = + r === t.WritingMode.horizontal || + r === t.WritingMode.horizontalOnly + ? r + : 0, + a = r === t.WritingMode.vertical ? r : 0, + o = 0, + s = [ + n.leftJustifiedTextSymbolIndex, + n.centerJustifiedTextSymbolIndex, + n.rightJustifiedTextSymbolIndex, + ]; + o < s.length; + o += 1 + ) + e.text.placedSymbolArray.get(s[o]).placedOrientation = i; + n.verticalPlacedTextSymbolIndex && + (e.text.placedSymbolArray.get( + n.verticalPlacedTextSymbolIndex + ).placedOrientation = a); + }), + (_e.prototype.commit = function (t) { + (this.commitTime = t), + (this.zoomAtLastRecencyCheck = this.transform.zoom); + var e = this.prevPlacement, + r = !1; + this.prevZoomAdjustment = e + ? e.zoomAdjustment(this.transform.zoom) + : 0; + var n = e ? e.symbolFadeChange(t) : 1, + i = e ? e.opacities : {}, + a = e ? e.variableOffsets : {}, + o = e ? e.placedOrientations : {}; + for (var s in this.placements) { + var l = this.placements[s], + c = i[s]; + c + ? ((this.opacities[s] = new de(c, n, l.text, l.icon)), + (r = + r || + l.text !== c.text.placed || + l.icon !== c.icon.placed)) + : ((this.opacities[s] = new de( + null, + n, + l.text, + l.icon, + l.skipFade + )), + (r = r || l.text || l.icon)); + } + for (var u in i) { + var f = i[u]; + if (!this.opacities[u]) { + var h = new de(f, n, !1, !1); + h.isHidden() || + ((this.opacities[u] = h), + (r = r || f.text.placed || f.icon.placed)); + } + } + for (var p in a) + this.variableOffsets[p] || + !this.opacities[p] || + this.opacities[p].isHidden() || + (this.variableOffsets[p] = a[p]); + for (var d in o) + this.placedOrientations[d] || + !this.opacities[d] || + this.opacities[d].isHidden() || + (this.placedOrientations[d] = o[d]); + r + ? (this.lastPlacementChangeTime = t) + : 'number' != typeof this.lastPlacementChangeTime && + (this.lastPlacementChangeTime = e + ? e.lastPlacementChangeTime + : t); + }), + (_e.prototype.updateLayerOpacities = function (t, e) { + for (var r = {}, n = 0, i = e; n < i.length; n += 1) { + var a = i[n], + o = a.getBucket(t); + o && + a.latestFeatureIndex && + t.id === o.layerIds[0] && + this.updateBucketOpacities(o, r, a.collisionBoxArray); + } + }), + (_e.prototype.updateBucketOpacities = function (e, r, n) { + var i = this; + e.hasTextData() && e.text.opacityVertexArray.clear(), + e.hasIconData() && e.icon.opacityVertexArray.clear(), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexArray.clear(), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexArray.clear(); + var a = e.layers[0].layout, + o = new de(null, 0, !1, !1, !0), + s = a.get('text-allow-overlap'), + l = a.get('icon-allow-overlap'), + c = a.get('text-variable-anchor'), + u = 'map' === a.get('text-rotation-alignment'), + f = 'map' === a.get('text-pitch-alignment'), + h = 'none' !== a.get('icon-text-fit'), + p = new de( + null, + 0, + s && (l || !e.hasIconData() || a.get('icon-optional')), + l && (s || !e.hasTextData() || a.get('text-optional')), + !0 + ); + !e.collisionArrays && + n && + (e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData()) && + e.deserializeCollisionBoxes(n); + for ( + var d = function (t, e, r) { + for (var n = 0; n < e / 4; n++) + t.opacityVertexArray.emplaceBack(r); + }, + g = function (n) { + var a = e.symbolInstances.get(n), + s = a.numHorizontalGlyphVertices, + l = a.numVerticalGlyphVertices, + g = a.crossTileID, + m = i.opacities[g]; + r[g] ? (m = o) : m || (i.opacities[g] = m = p), + (r[g] = !0); + var v = a.numIconVertices > 0, + y = i.placedOrientations[a.crossTileID], + x = y === t.WritingMode.vertical, + b = + y === t.WritingMode.horizontal || + y === t.WritingMode.horizontalOnly; + if (s > 0 || l > 0) { + var _ = Le(m.text); + d(e.text, s, x ? Ie : _), d(e.text, l, b ? Ie : _); + var w = m.text.isHidden(); + [ + a.rightJustifiedTextSymbolIndex, + a.centerJustifiedTextSymbolIndex, + a.leftJustifiedTextSymbolIndex, + ].forEach(function (t) { + t >= 0 && + (e.text.placedSymbolArray.get(t).hidden = + w || x ? 1 : 0); + }), + a.verticalPlacedTextSymbolIndex >= 0 && + (e.text.placedSymbolArray.get( + a.verticalPlacedTextSymbolIndex + ).hidden = w || b ? 1 : 0); + var T = i.variableOffsets[a.crossTileID]; + T && i.markUsedJustification(e, T.anchor, a, y); + var k = i.placedOrientations[a.crossTileID]; + k && + (i.markUsedJustification(e, 'left', a, k), + i.markUsedOrientation(e, k, a)); + } + if (v) { + var M = Le(m.icon), + A = !(h && a.verticalPlacedIconSymbolIndex && x); + a.placedIconSymbolIndex >= 0 && + (d(e.icon, a.numIconVertices, A ? M : Ie), + (e.icon.placedSymbolArray.get( + a.placedIconSymbolIndex + ).hidden = m.icon.isHidden())), + a.verticalPlacedIconSymbolIndex >= 0 && + (d( + e.icon, + a.numVerticalIconVertices, + A ? Ie : M + ), + (e.icon.placedSymbolArray.get( + a.verticalPlacedIconSymbolIndex + ).hidden = m.icon.isHidden())); + } + if ( + e.hasIconCollisionBoxData() || + e.hasTextCollisionBoxData() + ) { + var S = e.collisionArrays[n]; + if (S) { + var E = new t.Point(0, 0); + if (S.textBox || S.verticalTextBox) { + var C = !0; + if (c) { + var L = i.variableOffsets[g]; + L + ? ((E = xe( + L.anchor, + L.width, + L.height, + L.textOffset, + L.textBoxScale + )), + u && + E._rotate( + f + ? i.transform.angle + : -i.transform.angle + )) + : (C = !1); + } + S.textBox && + we( + e.textCollisionBox.collisionVertexArray, + m.text.placed, + !C || x, + E.x, + E.y + ), + S.verticalTextBox && + we( + e.textCollisionBox.collisionVertexArray, + m.text.placed, + !C || b, + E.x, + E.y + ); + } + var I = Boolean(!b && S.verticalIconBox); + S.iconBox && + we( + e.iconCollisionBox.collisionVertexArray, + m.icon.placed, + I, + h ? E.x : 0, + h ? E.y : 0 + ), + S.verticalIconBox && + we( + e.iconCollisionBox.collisionVertexArray, + m.icon.placed, + !I, + h ? E.x : 0, + h ? E.y : 0 + ); + } + } + }, + m = 0; + m < e.symbolInstances.length; + m++ + ) + g(m); + if ( + (e.sortFeatures(this.transform.angle), + this.retainedQueryData[e.bucketInstanceId] && + (this.retainedQueryData[ + e.bucketInstanceId + ].featureSortOrder = e.featureSortOrder), + e.hasTextData() && + e.text.opacityVertexBuffer && + e.text.opacityVertexBuffer.updateData( + e.text.opacityVertexArray + ), + e.hasIconData() && + e.icon.opacityVertexBuffer && + e.icon.opacityVertexBuffer.updateData( + e.icon.opacityVertexArray + ), + e.hasIconCollisionBoxData() && + e.iconCollisionBox.collisionVertexBuffer && + e.iconCollisionBox.collisionVertexBuffer.updateData( + e.iconCollisionBox.collisionVertexArray + ), + e.hasTextCollisionBoxData() && + e.textCollisionBox.collisionVertexBuffer && + e.textCollisionBox.collisionVertexBuffer.updateData( + e.textCollisionBox.collisionVertexArray + ), + e.bucketInstanceId in this.collisionCircleArrays) + ) { + var v = this.collisionCircleArrays[e.bucketInstanceId]; + (e.placementInvProjMatrix = v.invProjMatrix), + (e.placementViewportMatrix = v.viewportMatrix), + (e.collisionCircleArray = v.circles), + delete this.collisionCircleArrays[e.bucketInstanceId]; + } + }), + (_e.prototype.symbolFadeChange = function (t) { + return 0 === this.fadeDuration + ? 1 + : (t - this.commitTime) / this.fadeDuration + + this.prevZoomAdjustment; + }), + (_e.prototype.zoomAdjustment = function (t) { + return Math.max(0, (this.transform.zoom - t) / 1.5); + }), + (_e.prototype.hasTransitions = function (t) { + return ( + this.stale || + t - this.lastPlacementChangeTime < this.fadeDuration + ); + }), + (_e.prototype.stillRecent = function (t, e) { + var r = + this.zoomAtLastRecencyCheck === e + ? 1 - this.zoomAdjustment(e) + : 1; + return ( + (this.zoomAtLastRecencyCheck = e), + this.commitTime + this.fadeDuration * r > t + ); + }), + (_e.prototype.setStale = function () { + this.stale = !0; + }); + var Te = Math.pow(2, 25), + ke = Math.pow(2, 24), + Me = Math.pow(2, 17), + Ae = Math.pow(2, 16), + Se = Math.pow(2, 9), + Ee = Math.pow(2, 8), + Ce = Math.pow(2, 1); + function Le(t) { + if (0 === t.opacity && !t.placed) return 0; + if (1 === t.opacity && t.placed) return 4294967295; + var e = t.placed ? 1 : 0, + r = Math.floor(127 * t.opacity); + return ( + r * Te + + e * ke + + r * Me + + e * Ae + + r * Se + + e * Ee + + r * Ce + + e + ); + } + var Ie = 0, + Pe = function (t) { + (this._sortAcrossTiles = + 'viewport-y' !== t.layout.get('symbol-z-order') && + void 0 !== t.layout.get('symbol-sort-key').constantOr(1)), + (this._currentTileIndex = 0), + (this._currentPartIndex = 0), + (this._seenCrossTileIDs = {}), + (this._bucketParts = []); + }; + Pe.prototype.continuePlacement = function (t, e, r, n, i) { + for ( + var a = this._bucketParts; + this._currentTileIndex < t.length; + + ) + if ( + (e.getBucketParts( + a, + n, + t[this._currentTileIndex], + this._sortAcrossTiles + ), + this._currentTileIndex++, + i()) + ) + return !0; + for ( + this._sortAcrossTiles && + ((this._sortAcrossTiles = !1), + a.sort(function (t, e) { + return t.sortKey - e.sortKey; + })); + this._currentPartIndex < a.length; + + ) + if ( + (e.placeLayerBucketPart( + a[this._currentPartIndex], + this._seenCrossTileIDs, + r + ), + this._currentPartIndex++, + i()) + ) + return !0; + return !1; + }; + var ze = function (t, e, r, n, i, a, o) { + (this.placement = new _e(t, i, a, o)), + (this._currentPlacementIndex = e.length - 1), + (this._forceFullPlacement = r), + (this._showCollisionBoxes = n), + (this._done = !1); + }; + (ze.prototype.isDone = function () { + return this._done; + }), + (ze.prototype.continuePlacement = function (e, r, n) { + for ( + var i = this, + a = t.browser.now(), + o = function () { + var e = t.browser.now() - a; + return !i._forceFullPlacement && e > 2; + }; + this._currentPlacementIndex >= 0; + + ) { + var s = r[e[this._currentPlacementIndex]], + l = this.placement.collisionIndex.transform.zoom; + if ( + 'symbol' === s.type && + (!s.minzoom || s.minzoom <= l) && + (!s.maxzoom || s.maxzoom > l) + ) { + if ( + (this._inProgressLayer || + (this._inProgressLayer = new Pe(s)), + this._inProgressLayer.continuePlacement( + n[s.source], + this.placement, + this._showCollisionBoxes, + s, + o + )) + ) + return; + delete this._inProgressLayer; + } + this._currentPlacementIndex--; + } + this._done = !0; + }), + (ze.prototype.commit = function (t) { + return this.placement.commit(t), this.placement; + }); + var Oe = 512 / t.EXTENT / 2, + De = function (t, e, r) { + (this.tileID = t), + (this.indexedSymbolInstances = {}), + (this.bucketInstanceId = r); + for (var n = 0; n < e.length; n++) { + var i = e.get(n), + a = i.key; + this.indexedSymbolInstances[a] || + (this.indexedSymbolInstances[a] = []), + this.indexedSymbolInstances[a].push({ + crossTileID: i.crossTileID, + coord: this.getScaledCoordinates(i, t), + }); + } + }; + (De.prototype.getScaledCoordinates = function (e, r) { + var n = + Oe / Math.pow(2, r.canonical.z - this.tileID.canonical.z); + return { + x: Math.floor((r.canonical.x * t.EXTENT + e.anchorX) * n), + y: Math.floor((r.canonical.y * t.EXTENT + e.anchorY) * n), + }; + }), + (De.prototype.findMatches = function (t, e, r) { + for ( + var n = + this.tileID.canonical.z < e.canonical.z + ? 1 + : Math.pow( + 2, + this.tileID.canonical.z - e.canonical.z + ), + i = 0; + i < t.length; + i++ + ) { + var a = t.get(i); + if (!a.crossTileID) { + var o = this.indexedSymbolInstances[a.key]; + if (o) + for ( + var s = this.getScaledCoordinates(a, e), + l = 0, + c = o; + l < c.length; + l += 1 + ) { + var u = c[l]; + if ( + Math.abs(u.coord.x - s.x) <= n && + Math.abs(u.coord.y - s.y) <= n && + !r[u.crossTileID] + ) { + (r[u.crossTileID] = !0), + (a.crossTileID = u.crossTileID); + break; + } + } + } + } + }); + var Re = function () { + this.maxCrossTileID = 0; + }; + Re.prototype.generate = function () { + return ++this.maxCrossTileID; + }; + var Fe = function () { + (this.indexes = {}), + (this.usedCrossTileIDs = {}), + (this.lng = 0); + }; + (Fe.prototype.handleWrapJump = function (t) { + var e = Math.round((t - this.lng) / 360); + if (0 !== e) + for (var r in this.indexes) { + var n = this.indexes[r], + i = {}; + for (var a in n) { + var o = n[a]; + (o.tileID = o.tileID.unwrapTo(o.tileID.wrap + e)), + (i[o.tileID.key] = o); + } + this.indexes[r] = i; + } + this.lng = t; + }), + (Fe.prototype.addBucket = function (t, e, r) { + if ( + this.indexes[t.overscaledZ] && + this.indexes[t.overscaledZ][t.key] + ) { + if ( + this.indexes[t.overscaledZ][t.key].bucketInstanceId === + e.bucketInstanceId + ) + return !1; + this.removeBucketCrossTileIDs( + t.overscaledZ, + this.indexes[t.overscaledZ][t.key] + ); + } + for (var n = 0; n < e.symbolInstances.length; n++) + e.symbolInstances.get(n).crossTileID = 0; + this.usedCrossTileIDs[t.overscaledZ] || + (this.usedCrossTileIDs[t.overscaledZ] = {}); + var i = this.usedCrossTileIDs[t.overscaledZ]; + for (var a in this.indexes) { + var o = this.indexes[a]; + if (Number(a) > t.overscaledZ) + for (var s in o) { + var l = o[s]; + l.tileID.isChildOf(t) && + l.findMatches(e.symbolInstances, t, i); + } + else { + var c = o[t.scaledTo(Number(a)).key]; + c && c.findMatches(e.symbolInstances, t, i); + } + } + for (var u = 0; u < e.symbolInstances.length; u++) { + var f = e.symbolInstances.get(u); + f.crossTileID || + ((f.crossTileID = r.generate()), + (i[f.crossTileID] = !0)); + } + return ( + void 0 === this.indexes[t.overscaledZ] && + (this.indexes[t.overscaledZ] = {}), + (this.indexes[t.overscaledZ][t.key] = new De( + t, + e.symbolInstances, + e.bucketInstanceId + )), + !0 + ); + }), + (Fe.prototype.removeBucketCrossTileIDs = function (t, e) { + for (var r in e.indexedSymbolInstances) + for ( + var n = 0, i = e.indexedSymbolInstances[r]; + n < i.length; + n += 1 + ) + delete this.usedCrossTileIDs[t][i[n].crossTileID]; + }), + (Fe.prototype.removeStaleBuckets = function (t) { + var e = !1; + for (var r in this.indexes) { + var n = this.indexes[r]; + for (var i in n) + t[n[i].bucketInstanceId] || + (this.removeBucketCrossTileIDs(r, n[i]), + delete n[i], + (e = !0)); + } + return e; + }); + var Be = function () { + (this.layerIndexes = {}), + (this.crossTileIDs = new Re()), + (this.maxBucketInstanceId = 0), + (this.bucketsInCurrentPlacement = {}); + }; + (Be.prototype.addLayer = function (t, e, r) { + var n = this.layerIndexes[t.id]; + void 0 === n && (n = this.layerIndexes[t.id] = new Fe()); + var i = !1, + a = {}; + n.handleWrapJump(r); + for (var o = 0, s = e; o < s.length; o += 1) { + var l = s[o], + c = l.getBucket(t); + c && + t.id === c.layerIds[0] && + (c.bucketInstanceId || + (c.bucketInstanceId = ++this.maxBucketInstanceId), + n.addBucket(l.tileID, c, this.crossTileIDs) && (i = !0), + (a[c.bucketInstanceId] = !0)); + } + return n.removeStaleBuckets(a) && (i = !0), i; + }), + (Be.prototype.pruneUnusedLayers = function (t) { + var e = {}; + for (var r in (t.forEach(function (t) { + e[t] = !0; + }), + this.layerIndexes)) + e[r] || delete this.layerIndexes[r]; + }); + var Ne = function (e, r) { + return t.emitValidationErrors( + e, + r && + r.filter(function (t) { + return 'source.canvas' !== t.identifier; + }) + ); + }, + je = t.pick(Ut, [ + 'addLayer', + 'removeLayer', + 'setPaintProperty', + 'setLayoutProperty', + 'setFilter', + 'addSource', + 'removeSource', + 'setLayerZoomRange', + 'setLight', + 'setTransition', + 'setGeoJSONSourceData', + ]), + Ue = t.pick(Ut, [ + 'setCenter', + 'setZoom', + 'setBearing', + 'setPitch', + ]), + Ve = (function () { + var e = {}, + r = t.styleSpec.$version; + for (var n in t.styleSpec.$root) { + var i, + a = t.styleSpec.$root[n]; + a.required && + null != + (i = + 'version' === n + ? r + : 'array' === a.type + ? [] + : {}) && + (e[n] = i); + } + return e; + })(), + qe = (function (e) { + function r(n, i) { + var a = this; + void 0 === i && (i = {}), + e.call(this), + (this.map = n), + (this.dispatcher = new k(Bt(), this)), + (this.imageManager = new h()), + this.imageManager.setEventedParent(this), + (this.glyphManager = new x( + n._requestManager, + i.localIdeographFontFamily + )), + (this.lineAtlas = new T(256, 512)), + (this.crossTileSymbolIndex = new Be()), + (this._layers = {}), + (this._serializedLayers = {}), + (this._order = []), + (this.sourceCaches = {}), + (this.zoomHistory = new t.ZoomHistory()), + (this._loaded = !1), + (this._availableImages = []), + this._resetUpdates(), + this.dispatcher.broadcast( + 'setReferrer', + t.getReferrer() + ); + var o = this; + (this._rtlTextPluginCallback = + r.registerForPluginStateChange(function (e) { + o.dispatcher.broadcast( + 'syncRTLPluginState', + { + pluginStatus: e.pluginStatus, + pluginURL: e.pluginURL, + }, + function (e, r) { + if ( + (t.triggerPluginCompletionEvent(e), + r && + r.every(function (t) { + return t; + })) + ) + for (var n in o.sourceCaches) + o.sourceCaches[n].reload(); + } + ); + })), + this.on('data', function (t) { + if ( + 'source' === t.dataType && + 'metadata' === t.sourceDataType + ) { + var e = a.sourceCaches[t.sourceId]; + if (e) { + var r = e.getSource(); + if (r && r.vectorLayerIds) + for (var n in a._layers) { + var i = a._layers[n]; + i.source === r.id && a._validateLayer(i); + } + } + } + }); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.loadURL = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event('dataloading', { dataType: 'style' }) + ); + var i = + 'boolean' == typeof r.validate + ? r.validate + : !t.isMapboxURL(e); + e = this.map._requestManager.normalizeStyleURL( + e, + r.accessToken + ); + var a = this.map._requestManager.transformRequest( + e, + t.ResourceType.Style + ); + this._request = t.getJSON(a, function (e, r) { + (n._request = null), + e + ? n.fire(new t.ErrorEvent(e)) + : r && n._load(r, i); + }); + }), + (r.prototype.loadJSON = function (e, r) { + var n = this; + void 0 === r && (r = {}), + this.fire( + new t.Event('dataloading', { dataType: 'style' }) + ), + (this._request = t.browser.frame(function () { + (n._request = null), n._load(e, !1 !== r.validate); + })); + }), + (r.prototype.loadEmpty = function () { + this.fire( + new t.Event('dataloading', { dataType: 'style' }) + ), + this._load(Ve, !1); + }), + (r.prototype._load = function (e, r) { + if (!r || !Ne(this, t.validateStyle(e))) { + for (var n in ((this._loaded = !0), + (this.stylesheet = e), + e.sources)) + this.addSource(n, e.sources[n], { validate: !1 }); + e.sprite + ? this._loadSprite(e.sprite) + : this.imageManager.setLoaded(!0), + this.glyphManager.setURL(e.glyphs); + var i = jt(this.stylesheet.layers); + (this._order = i.map(function (t) { + return t.id; + })), + (this._layers = {}), + (this._serializedLayers = {}); + for (var a = 0, o = i; a < o.length; a += 1) { + var s = o[a]; + (s = t.createStyleLayer(s)).setEventedParent(this, { + layer: { id: s.id }, + }), + (this._layers[s.id] = s), + (this._serializedLayers[s.id] = s.serialize()); + } + this.dispatcher.broadcast( + 'setLayers', + this._serializeLayers(this._order) + ), + (this.light = new w(this.stylesheet.light)), + this.fire( + new t.Event('data', { dataType: 'style' }) + ), + this.fire(new t.Event('style.load')); + } + }), + (r.prototype._loadSprite = function (e) { + var r = this; + this._spriteRequest = (function (e, r, n) { + var i, + a, + o, + s = t.browser.devicePixelRatio > 1 ? '@2x' : '', + l = t.getJSON( + r.transformRequest( + r.normalizeSpriteURL(e, s, '.json'), + t.ResourceType.SpriteJSON + ), + function (t, e) { + (l = null), o || ((o = t), (i = e), u()); + } + ), + c = t.getImage( + r.transformRequest( + r.normalizeSpriteURL(e, s, '.png'), + t.ResourceType.SpriteImage + ), + function (t, e) { + (c = null), o || ((o = t), (a = e), u()); + } + ); + function u() { + if (o) n(o); + else if (i && a) { + var e = t.browser.getImageData(a), + r = {}; + for (var s in i) { + var l = i[s], + c = l.width, + u = l.height, + f = l.x, + h = l.y, + p = l.sdf, + d = l.pixelRatio, + g = l.stretchX, + m = l.stretchY, + v = l.content, + y = new t.RGBAImage({ width: c, height: u }); + t.RGBAImage.copy( + e, + y, + { x: f, y: h }, + { x: 0, y: 0 }, + { width: c, height: u } + ), + (r[s] = { + data: y, + pixelRatio: d, + sdf: p, + stretchX: g, + stretchY: m, + content: v, + }); + } + n(null, r); + } + } + return { + cancel: function () { + l && (l.cancel(), (l = null)), + c && (c.cancel(), (c = null)); + }, + }; + })(e, this.map._requestManager, function (e, n) { + if (((r._spriteRequest = null), e)) + r.fire(new t.ErrorEvent(e)); + else if (n) + for (var i in n) r.imageManager.addImage(i, n[i]); + r.imageManager.setLoaded(!0), + (r._availableImages = r.imageManager.listImages()), + r.dispatcher.broadcast( + 'setImages', + r._availableImages + ), + r.fire(new t.Event('data', { dataType: 'style' })); + }); + }), + (r.prototype._validateLayer = function (e) { + var r = this.sourceCaches[e.source]; + if (r) { + var n = e.sourceLayer; + if (n) { + var i = r.getSource(); + ('geojson' === i.type || + (i.vectorLayerIds && + -1 === i.vectorLayerIds.indexOf(n))) && + this.fire( + new t.ErrorEvent( + new Error( + 'Source layer "' + + n + + '" does not exist on source "' + + i.id + + '" as specified by style layer "' + + e.id + + '"' + ) + ) + ); + } + } + }), + (r.prototype.loaded = function () { + if (!this._loaded) return !1; + if (Object.keys(this._updatedSources).length) return !1; + for (var t in this.sourceCaches) + if (!this.sourceCaches[t].loaded()) return !1; + return !!this.imageManager.isLoaded(); + }), + (r.prototype._serializeLayers = function (t) { + for (var e = [], r = 0, n = t; r < n.length; r += 1) { + var i = this._layers[n[r]]; + 'custom' !== i.type && e.push(i.serialize()); + } + return e; + }), + (r.prototype.hasTransitions = function () { + if (this.light && this.light.hasTransition()) return !0; + for (var t in this.sourceCaches) + if (this.sourceCaches[t].hasTransition()) return !0; + for (var e in this._layers) + if (this._layers[e].hasTransition()) return !0; + return !1; + }), + (r.prototype._checkLoaded = function () { + if (!this._loaded) + throw new Error('Style is not done loading'); + }), + (r.prototype.update = function (e) { + if (this._loaded) { + var r = this._changed; + if (this._changed) { + var n = Object.keys(this._updatedLayers), + i = Object.keys(this._removedLayers); + for (var a in ((n.length || i.length) && + this._updateWorkerLayers(n, i), + this._updatedSources)) { + var o = this._updatedSources[a]; + 'reload' === o + ? this._reloadSource(a) + : 'clear' === o && this._clearSource(a); + } + for (var s in (this._updateTilesForChangedImages(), + this._updatedPaintProps)) + this._layers[s].updateTransitions(e); + this.light.updateTransitions(e), + this._resetUpdates(); + } + for (var l in this.sourceCaches) + this.sourceCaches[l].used = !1; + for ( + var c = 0, u = this._order; + c < u.length; + c += 1 + ) { + var f = this._layers[u[c]]; + f.recalculate(e, this._availableImages), + !f.isHidden(e.zoom) && + f.source && + (this.sourceCaches[f.source].used = !0); + } + this.light.recalculate(e), + (this.z = e.zoom), + r && + this.fire( + new t.Event('data', { dataType: 'style' }) + ); + } + }), + (r.prototype._updateTilesForChangedImages = function () { + var t = Object.keys(this._changedImages); + if (t.length) { + for (var e in this.sourceCaches) + this.sourceCaches[e].reloadTilesForDependencies( + ['icons', 'patterns'], + t + ); + this._changedImages = {}; + } + }), + (r.prototype._updateWorkerLayers = function (t, e) { + this.dispatcher.broadcast('updateLayers', { + layers: this._serializeLayers(t), + removedIds: e, + }); + }), + (r.prototype._resetUpdates = function () { + (this._changed = !1), + (this._updatedLayers = {}), + (this._removedLayers = {}), + (this._updatedSources = {}), + (this._updatedPaintProps = {}), + (this._changedImages = {}); + }), + (r.prototype.setState = function (e) { + var r = this; + if ((this._checkLoaded(), Ne(this, t.validateStyle(e)))) + return !1; + (e = t.clone$1(e)).layers = jt(e.layers); + var n = (function (e, r) { + if (!e) return [{ command: Ut.setStyle, args: [r] }]; + var n = []; + try { + if (!t.deepEqual(e.version, r.version)) + return [{ command: Ut.setStyle, args: [r] }]; + t.deepEqual(e.center, r.center) || + n.push({ + command: Ut.setCenter, + args: [r.center], + }), + t.deepEqual(e.zoom, r.zoom) || + n.push({ command: Ut.setZoom, args: [r.zoom] }), + t.deepEqual(e.bearing, r.bearing) || + n.push({ + command: Ut.setBearing, + args: [r.bearing], + }), + t.deepEqual(e.pitch, r.pitch) || + n.push({ + command: Ut.setPitch, + args: [r.pitch], + }), + t.deepEqual(e.sprite, r.sprite) || + n.push({ + command: Ut.setSprite, + args: [r.sprite], + }), + t.deepEqual(e.glyphs, r.glyphs) || + n.push({ + command: Ut.setGlyphs, + args: [r.glyphs], + }), + t.deepEqual(e.transition, r.transition) || + n.push({ + command: Ut.setTransition, + args: [r.transition], + }), + t.deepEqual(e.light, r.light) || + n.push({ + command: Ut.setLight, + args: [r.light], + }); + var i = {}, + a = []; + !(function (e, r, n, i) { + var a; + for (a in ((r = r || {}), (e = e || {}))) + e.hasOwnProperty(a) && + (r.hasOwnProperty(a) || qt(a, n, i)); + for (a in r) + r.hasOwnProperty(a) && + (e.hasOwnProperty(a) + ? t.deepEqual(e[a], r[a]) || + ('geojson' === e[a].type && + 'geojson' === r[a].type && + Gt(e, r, a) + ? n.push({ + command: Ut.setGeoJSONSourceData, + args: [a, r[a].data], + }) + : Ht(a, r, n, i)) + : Vt(a, r, n)); + })(e.sources, r.sources, a, i); + var o = []; + e.layers && + e.layers.forEach(function (t) { + i[t.source] + ? n.push({ + command: Ut.removeLayer, + args: [t.id], + }) + : o.push(t); + }), + (n = n.concat(a)), + (function (e, r, n) { + r = r || []; + var i, + a, + o, + s, + l, + c, + u, + f = (e = e || []).map(Wt), + h = r.map(Wt), + p = e.reduce(Xt, {}), + d = r.reduce(Xt, {}), + g = f.slice(), + m = Object.create(null); + for (i = 0, a = 0; i < f.length; i++) + d.hasOwnProperty((o = f[i])) + ? a++ + : (n.push({ + command: Ut.removeLayer, + args: [o], + }), + g.splice(g.indexOf(o, a), 1)); + for (i = 0, a = 0; i < h.length; i++) + g[g.length - 1 - i] !== + (o = h[h.length - 1 - i]) && + (p.hasOwnProperty(o) + ? (n.push({ + command: Ut.removeLayer, + args: [o], + }), + g.splice( + g.lastIndexOf(o, g.length - a), + 1 + )) + : a++, + n.push({ + command: Ut.addLayer, + args: [d[o], (c = g[g.length - i])], + }), + g.splice(g.length - i, 0, o), + (m[o] = !0)); + for (i = 0; i < h.length; i++) + if ( + ((s = p[(o = h[i])]), + (l = d[o]), + !m[o] && !t.deepEqual(s, l)) + ) + if ( + t.deepEqual(s.source, l.source) && + t.deepEqual( + s['source-layer'], + l['source-layer'] + ) && + t.deepEqual(s.type, l.type) + ) { + for (u in (Yt( + s.layout, + l.layout, + n, + o, + null, + Ut.setLayoutProperty + ), + Yt( + s.paint, + l.paint, + n, + o, + null, + Ut.setPaintProperty + ), + t.deepEqual(s.filter, l.filter) || + n.push({ + command: Ut.setFilter, + args: [o, l.filter], + }), + (t.deepEqual(s.minzoom, l.minzoom) && + t.deepEqual(s.maxzoom, l.maxzoom)) || + n.push({ + command: Ut.setLayerZoomRange, + args: [o, l.minzoom, l.maxzoom], + }), + s)) + s.hasOwnProperty(u) && + 'layout' !== u && + 'paint' !== u && + 'filter' !== u && + 'metadata' !== u && + 'minzoom' !== u && + 'maxzoom' !== u && + (0 === u.indexOf('paint.') + ? Yt( + s[u], + l[u], + n, + o, + u.slice(6), + Ut.setPaintProperty + ) + : t.deepEqual(s[u], l[u]) || + n.push({ + command: Ut.setLayerProperty, + args: [o, u, l[u]], + })); + for (u in l) + l.hasOwnProperty(u) && + !s.hasOwnProperty(u) && + 'layout' !== u && + 'paint' !== u && + 'filter' !== u && + 'metadata' !== u && + 'minzoom' !== u && + 'maxzoom' !== u && + (0 === u.indexOf('paint.') + ? Yt( + s[u], + l[u], + n, + o, + u.slice(6), + Ut.setPaintProperty + ) + : t.deepEqual(s[u], l[u]) || + n.push({ + command: Ut.setLayerProperty, + args: [o, u, l[u]], + })); + } else + n.push({ + command: Ut.removeLayer, + args: [o], + }), + (c = g[g.lastIndexOf(o) + 1]), + n.push({ + command: Ut.addLayer, + args: [l, c], + }); + })(o, r.layers, n); + } catch (t) { + console.warn('Unable to compute style diff:', t), + (n = [{ command: Ut.setStyle, args: [r] }]); + } + return n; + })(this.serialize(), e).filter(function (t) { + return !(t.command in Ue); + }); + if (0 === n.length) return !1; + var i = n.filter(function (t) { + return !(t.command in je); + }); + if (i.length > 0) + throw new Error( + 'Unimplemented: ' + + i + .map(function (t) { + return t.command; + }) + .join(', ') + + '.' + ); + return ( + n.forEach(function (t) { + 'setTransition' !== t.command && + r[t.command].apply(r, t.args); + }), + (this.stylesheet = e), + !0 + ); + }), + (r.prototype.addImage = function (e, r) { + if (this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error( + 'An image with this name already exists.' + ) + ) + ); + this.imageManager.addImage(e, r), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire(new t.Event('data', { dataType: 'style' })); + }), + (r.prototype.updateImage = function (t, e) { + this.imageManager.updateImage(t, e); + }), + (r.prototype.getImage = function (t) { + return this.imageManager.getImage(t); + }), + (r.prototype.removeImage = function (e) { + if (!this.getImage(e)) + return this.fire( + new t.ErrorEvent( + new Error('No image with this name exists.') + ) + ); + this.imageManager.removeImage(e), + (this._availableImages = + this.imageManager.listImages()), + (this._changedImages[e] = !0), + (this._changed = !0), + this.fire(new t.Event('data', { dataType: 'style' })); + }), + (r.prototype.listImages = function () { + return ( + this._checkLoaded(), this.imageManager.listImages() + ); + }), + (r.prototype.addSource = function (e, r, n) { + var i = this; + if ( + (void 0 === n && (n = {}), + this._checkLoaded(), + void 0 !== this.sourceCaches[e]) + ) + throw new Error( + 'There is already a source with this ID' + ); + if (!r.type) + throw new Error( + 'The type property must be defined, but the only the following properties were given: ' + + Object.keys(r).join(', ') + + '.' + ); + if ( + !( + [ + 'vector', + 'raster', + 'geojson', + 'video', + 'image', + ].indexOf(r.type) >= 0 && + this._validate( + t.validateStyle.source, + 'sources.' + e, + r, + null, + n + ) + ) + ) { + this.map && + this.map._collectResourceTiming && + (r.collectResourceTiming = !0); + var a = (this.sourceCaches[e] = new Lt( + e, + r, + this.dispatcher + )); + (a.style = this), + a.setEventedParent(this, function () { + return { + isSourceLoaded: i.loaded(), + source: a.serialize(), + sourceId: e, + }; + }), + a.onAdd(this.map), + (this._changed = !0); + } + }), + (r.prototype.removeSource = function (e) { + if ( + (this._checkLoaded(), void 0 === this.sourceCaches[e]) + ) + throw new Error('There is no source with this ID'); + for (var r in this._layers) + if (this._layers[r].source === e) + return this.fire( + new t.ErrorEvent( + new Error( + 'Source "' + + e + + '" cannot be removed while layer "' + + r + + '" is using it.' + ) + ) + ); + var n = this.sourceCaches[e]; + delete this.sourceCaches[e], + delete this._updatedSources[e], + n.fire( + new t.Event('data', { + sourceDataType: 'metadata', + dataType: 'source', + sourceId: e, + }) + ), + n.setEventedParent(null), + n.clearTiles(), + n.onRemove && n.onRemove(this.map), + (this._changed = !0); + }), + (r.prototype.setGeoJSONSourceData = function (t, e) { + this._checkLoaded(), + this.sourceCaches[t].getSource().setData(e), + (this._changed = !0); + }), + (r.prototype.getSource = function (t) { + return ( + this.sourceCaches[t] && + this.sourceCaches[t].getSource() + ); + }), + (r.prototype.addLayer = function (e, r, n) { + void 0 === n && (n = {}), this._checkLoaded(); + var i = e.id; + if (this.getLayer(i)) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + i + + '" already exists on this map' + ) + ) + ); + else { + var a; + if ('custom' === e.type) { + if (Ne(this, t.validateCustomStyleLayer(e))) return; + a = t.createStyleLayer(e); + } else { + if ( + ('object' == typeof e.source && + (this.addSource(i, e.source), + (e = t.clone$1(e)), + (e = t.extend(e, { source: i }))), + this._validate( + t.validateStyle.layer, + 'layers.' + i, + e, + { arrayIndex: -1 }, + n + )) + ) + return; + (a = t.createStyleLayer(e)), + this._validateLayer(a), + a.setEventedParent(this, { layer: { id: i } }), + (this._serializedLayers[a.id] = a.serialize()); + } + var o = r + ? this._order.indexOf(r) + : this._order.length; + if (r && -1 === o) + this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.' + ) + ) + ); + else { + if ( + (this._order.splice(o, 0, i), + (this._layerOrderChanged = !0), + (this._layers[i] = a), + this._removedLayers[i] && + a.source && + 'custom' !== a.type) + ) { + var s = this._removedLayers[i]; + delete this._removedLayers[i], + s.type !== a.type + ? (this._updatedSources[a.source] = 'clear') + : ((this._updatedSources[a.source] = + 'reload'), + this.sourceCaches[a.source].pause()); + } + this._updateLayer(a), a.onAdd && a.onAdd(this.map); + } + } + }), + (r.prototype.moveLayer = function (e, r) { + if ( + (this._checkLoaded(), + (this._changed = !0), + this._layers[e]) + ) { + if (e !== r) { + var n = this._order.indexOf(e); + this._order.splice(n, 1); + var i = r + ? this._order.indexOf(r) + : this._order.length; + r && -1 === i + ? this.fire( + new t.ErrorEvent( + new Error( + 'Layer with id "' + + r + + '" does not exist on this map.' + ) + ) + ) + : (this._order.splice(i, 0, e), + (this._layerOrderChanged = !0)); + } + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be moved." + ) + ) + ); + }), + (r.prototype.removeLayer = function (e) { + this._checkLoaded(); + var r = this._layers[e]; + if (r) { + r.setEventedParent(null); + var n = this._order.indexOf(e); + this._order.splice(n, 1), + (this._layerOrderChanged = !0), + (this._changed = !0), + (this._removedLayers[e] = r), + delete this._layers[e], + delete this._serializedLayers[e], + delete this._updatedLayers[e], + delete this._updatedPaintProps[e], + r.onRemove && r.onRemove(this.map); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be removed." + ) + ) + ); + }), + (r.prototype.getLayer = function (t) { + return this._layers[t]; + }), + (r.prototype.hasLayer = function (t) { + return t in this._layers; + }), + (r.prototype.setLayerZoomRange = function (e, r, n) { + this._checkLoaded(); + var i = this.getLayer(e); + i + ? (i.minzoom === r && i.maxzoom === n) || + (null != r && (i.minzoom = r), + null != n && (i.maxzoom = n), + this._updateLayer(i)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot have zoom extent." + ) + ) + ); + }), + (r.prototype.setFilter = function (e, r, n) { + void 0 === n && (n = {}), this._checkLoaded(); + var i = this.getLayer(e); + if (i) { + if (!t.deepEqual(i.filter, r)) + return null == r + ? ((i.filter = void 0), void this._updateLayer(i)) + : void ( + this._validate( + t.validateStyle.filter, + 'layers.' + i.id + '.filter', + r, + null, + n + ) || + ((i.filter = t.clone$1(r)), + this._updateLayer(i)) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be filtered." + ) + ) + ); + }), + (r.prototype.getFilter = function (e) { + return t.clone$1(this.getLayer(e).filter); + }), + (r.prototype.setLayoutProperty = function (e, r, n, i) { + void 0 === i && (i = {}), this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual(a.getLayoutProperty(r), n) || + (a.setLayoutProperty(r, n, i), this._updateLayer(a)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled." + ) + ) + ); + }), + (r.prototype.getLayoutProperty = function (e, r) { + var n = this.getLayer(e); + if (n) return n.getLayoutProperty(r); + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style." + ) + ) + ); + }), + (r.prototype.setPaintProperty = function (e, r, n, i) { + void 0 === i && (i = {}), this._checkLoaded(); + var a = this.getLayer(e); + a + ? t.deepEqual(a.getPaintProperty(r), n) || + (a.setPaintProperty(r, n, i) && + this._updateLayer(a), + (this._changed = !0), + (this._updatedPaintProps[e] = !0)) + : this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + e + + "' does not exist in the map's style and cannot be styled." + ) + ) + ); + }), + (r.prototype.getPaintProperty = function (t, e) { + return this.getLayer(t).getPaintProperty(e); + }), + (r.prototype.setFeatureState = function (e, r) { + this._checkLoaded(); + var n = e.source, + i = e.sourceLayer, + a = this.sourceCaches[n]; + if (void 0 !== a) { + var o = a.getSource().type; + 'geojson' === o && i + ? this.fire( + new t.ErrorEvent( + new Error( + 'GeoJSON sources cannot have a sourceLayer parameter.' + ) + ) + ) + : 'vector' !== o || i + ? (void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + 'The feature id parameter must be provided.' + ) + ) + ), + a.setFeatureState(i, e.id, r)) + : this.fire( + new t.ErrorEvent( + new Error( + 'The sourceLayer parameter must be provided for vector source types.' + ) + ) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style." + ) + ) + ); + }), + (r.prototype.removeFeatureState = function (e, r) { + this._checkLoaded(); + var n = e.source, + i = this.sourceCaches[n]; + if (void 0 !== i) { + var a = i.getSource().type, + o = 'vector' === a ? e.sourceLayer : void 0; + 'vector' !== a || o + ? r && + 'string' != typeof e.id && + 'number' != typeof e.id + ? this.fire( + new t.ErrorEvent( + new Error( + 'A feature id is requred to remove its specific state property.' + ) + ) + ) + : i.removeFeatureState(o, e.id, r) + : this.fire( + new t.ErrorEvent( + new Error( + 'The sourceLayer parameter must be provided for vector source types.' + ) + ) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + n + + "' does not exist in the map's style." + ) + ) + ); + }), + (r.prototype.getFeatureState = function (e) { + this._checkLoaded(); + var r = e.source, + n = e.sourceLayer, + i = this.sourceCaches[r]; + if (void 0 !== i) { + if ('vector' !== i.getSource().type || n) + return ( + void 0 === e.id && + this.fire( + new t.ErrorEvent( + new Error( + 'The feature id parameter must be provided.' + ) + ) + ), + i.getFeatureState(n, e.id) + ); + this.fire( + new t.ErrorEvent( + new Error( + 'The sourceLayer parameter must be provided for vector source types.' + ) + ) + ); + } else + this.fire( + new t.ErrorEvent( + new Error( + "The source '" + + r + + "' does not exist in the map's style." + ) + ) + ); + }), + (r.prototype.getTransition = function () { + return t.extend( + { duration: 300, delay: 0 }, + this.stylesheet && this.stylesheet.transition + ); + }), + (r.prototype.serialize = function () { + return t.filterObject( + { + version: this.stylesheet.version, + name: this.stylesheet.name, + metadata: this.stylesheet.metadata, + light: this.stylesheet.light, + center: this.stylesheet.center, + zoom: this.stylesheet.zoom, + bearing: this.stylesheet.bearing, + pitch: this.stylesheet.pitch, + sprite: this.stylesheet.sprite, + glyphs: this.stylesheet.glyphs, + transition: this.stylesheet.transition, + sources: t.mapObject( + this.sourceCaches, + function (t) { + return t.serialize(); + } + ), + layers: this._serializeLayers(this._order), + }, + function (t) { + return void 0 !== t; + } + ); + }), + (r.prototype._updateLayer = function (t) { + (this._updatedLayers[t.id] = !0), + t.source && + !this._updatedSources[t.source] && + 'raster' !== + this.sourceCaches[t.source].getSource().type && + ((this._updatedSources[t.source] = 'reload'), + this.sourceCaches[t.source].pause()), + (this._changed = !0); + }), + (r.prototype._flattenAndSortRenderedFeatures = function ( + t + ) { + for ( + var e = this, + r = function (t) { + return 'fill-extrusion' === e._layers[t].type; + }, + n = {}, + i = [], + a = this._order.length - 1; + a >= 0; + a-- + ) { + var o = this._order[a]; + if (r(o)) { + n[o] = a; + for (var s = 0, l = t; s < l.length; s += 1) { + var c = l[s][o]; + if (c) + for (var u = 0, f = c; u < f.length; u += 1) + i.push(f[u]); + } + } + } + i.sort(function (t, e) { + return e.intersectionZ - t.intersectionZ; + }); + for ( + var h = [], p = this._order.length - 1; + p >= 0; + p-- + ) { + var d = this._order[p]; + if (r(d)) + for (var g = i.length - 1; g >= 0; g--) { + var m = i[g].feature; + if (n[m.layer.id] < p) break; + h.push(m), i.pop(); + } + else + for (var v = 0, y = t; v < y.length; v += 1) { + var x = y[v][d]; + if (x) + for (var b = 0, _ = x; b < _.length; b += 1) + h.push(_[b].feature); + } + } + return h; + }), + (r.prototype.queryRenderedFeatures = function (e, r, n) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + 'queryRenderedFeatures.filter', + r.filter, + null, + r + ); + var i = {}; + if (r && r.layers) { + if (!Array.isArray(r.layers)) + return ( + this.fire( + new t.ErrorEvent( + new Error( + 'parameters.layers must be an Array.' + ) + ) + ), + [] + ); + for (var a = 0, o = r.layers; a < o.length; a += 1) { + var s = o[a], + l = this._layers[s]; + if (!l) + return ( + this.fire( + new t.ErrorEvent( + new Error( + "The layer '" + + s + + "' does not exist in the map's style and cannot be queried for features." + ) + ) + ), + [] + ); + i[l.source] = !0; + } + } + var c = []; + for (var u in ((r.availableImages = + this._availableImages), + this.sourceCaches)) + (r.layers && !i[u]) || + c.push( + F( + this.sourceCaches[u], + this._layers, + this._serializedLayers, + e, + r, + n + ) + ); + return ( + this.placement && + c.push( + (function (t, e, r, n, i, a, o) { + for ( + var s = {}, + l = a.queryRenderedSymbols(n), + c = [], + u = 0, + f = Object.keys(l).map(Number); + u < f.length; + u += 1 + ) + c.push(o[f[u]]); + c.sort(B); + for ( + var h = function () { + var r = d[p], + n = r.featureIndex.lookupSymbolFeatures( + l[r.bucketInstanceId], + e, + r.bucketIndex, + r.sourceLayerIndex, + i.filter, + i.layers, + i.availableImages, + t + ); + for (var a in n) { + var o = (s[a] = s[a] || []), + c = n[a]; + c.sort(function (t, e) { + var n = r.featureSortOrder; + if (n) { + var i = n.indexOf(t.featureIndex); + return ( + n.indexOf(e.featureIndex) - i + ); + } + return ( + e.featureIndex - t.featureIndex + ); + }); + for ( + var u = 0, f = c; + u < f.length; + u += 1 + ) + o.push(f[u]); + } + }, + p = 0, + d = c; + p < d.length; + p += 1 + ) + h(); + var g = function (e) { + s[e].forEach(function (n) { + var i = n.feature, + a = r[t[e].source].getFeatureState( + i.layer['source-layer'], + i.id + ); + (i.source = i.layer.source), + i.layer['source-layer'] && + (i.sourceLayer = + i.layer['source-layer']), + (i.state = a); + }); + }; + for (var m in s) g(m); + return s; + })( + this._layers, + this._serializedLayers, + this.sourceCaches, + e, + r, + this.placement.collisionIndex, + this.placement.retainedQueryData + ) + ), + this._flattenAndSortRenderedFeatures(c) + ); + }), + (r.prototype.querySourceFeatures = function (e, r) { + r && + r.filter && + this._validate( + t.validateStyle.filter, + 'querySourceFeatures.filter', + r.filter, + null, + r + ); + var n = this.sourceCaches[e]; + return n + ? (function (t, e) { + for ( + var r = t.getRenderableIds().map(function (e) { + return t.getTileByID(e); + }), + n = [], + i = {}, + a = 0; + a < r.length; + a++ + ) { + var o = r[a], + s = o.tileID.canonical.key; + i[s] || + ((i[s] = !0), o.querySourceFeatures(n, e)); + } + return n; + })(n, r) + : []; + }), + (r.prototype.addSourceType = function (t, e, n) { + return r.getSourceType(t) + ? n( + new Error( + 'A source type called "' + + t + + '" already exists.' + ) + ) + : (r.setSourceType(t, e), + e.workerSourceURL + ? void this.dispatcher.broadcast( + 'loadWorkerSource', + { name: t, url: e.workerSourceURL }, + n + ) + : n(null, null)); + }), + (r.prototype.getLight = function () { + return this.light.getLight(); + }), + (r.prototype.setLight = function (e, r) { + void 0 === r && (r = {}), this._checkLoaded(); + var n = this.light.getLight(), + i = !1; + for (var a in e) + if (!t.deepEqual(e[a], n[a])) { + i = !0; + break; + } + if (i) { + var o = { + now: t.browser.now(), + transition: t.extend( + { duration: 300, delay: 0 }, + this.stylesheet.transition + ), + }; + this.light.setLight(e, r), + this.light.updateTransitions(o); + } + }), + (r.prototype._validate = function (e, r, n, i, a) { + return ( + void 0 === a && (a = {}), + (!a || !1 !== a.validate) && + Ne( + this, + e.call( + t.validateStyle, + t.extend( + { + key: r, + style: this.serialize(), + value: n, + styleSpec: t.styleSpec, + }, + i + ) + ) + ) + ); + }), + (r.prototype._remove = function () { + for (var e in (this._request && + (this._request.cancel(), (this._request = null)), + this._spriteRequest && + (this._spriteRequest.cancel(), + (this._spriteRequest = null)), + t.evented.off( + 'pluginStateChange', + this._rtlTextPluginCallback + ), + this._layers)) + this._layers[e].setEventedParent(null); + for (var r in this.sourceCaches) + this.sourceCaches[r].clearTiles(), + this.sourceCaches[r].setEventedParent(null); + this.imageManager.setEventedParent(null), + this.setEventedParent(null), + this.dispatcher.remove(); + }), + (r.prototype._clearSource = function (t) { + this.sourceCaches[t].clearTiles(); + }), + (r.prototype._reloadSource = function (t) { + this.sourceCaches[t].resume(), + this.sourceCaches[t].reload(); + }), + (r.prototype._updateSources = function (t) { + for (var e in this.sourceCaches) + this.sourceCaches[e].update(t); + }), + (r.prototype._generateCollisionBoxes = function () { + for (var t in this.sourceCaches) this._reloadSource(t); + }), + (r.prototype._updatePlacement = function (e, r, n, i, a) { + void 0 === a && (a = !1); + for ( + var o = !1, s = !1, l = {}, c = 0, u = this._order; + c < u.length; + c += 1 + ) { + var f = this._layers[u[c]]; + if ('symbol' === f.type) { + if (!l[f.source]) { + var h = this.sourceCaches[f.source]; + l[f.source] = h + .getRenderableIds(!0) + .map(function (t) { + return h.getTileByID(t); + }) + .sort(function (t, e) { + return ( + e.tileID.overscaledZ - + t.tileID.overscaledZ || + (t.tileID.isLessThan(e.tileID) ? -1 : 1) + ); + }); + } + var p = this.crossTileSymbolIndex.addLayer( + f, + l[f.source], + e.center.lng + ); + o = o || p; + } + } + if ( + (this.crossTileSymbolIndex.pruneUnusedLayers( + this._order + ), + ((a = a || this._layerOrderChanged || 0 === n) || + !this.pauseablePlacement || + (this.pauseablePlacement.isDone() && + !this.placement.stillRecent( + t.browser.now(), + e.zoom + ))) && + ((this.pauseablePlacement = new ze( + e, + this._order, + a, + r, + n, + i, + this.placement + )), + (this._layerOrderChanged = !1)), + this.pauseablePlacement.isDone() + ? this.placement.setStale() + : (this.pauseablePlacement.continuePlacement( + this._order, + this._layers, + l + ), + this.pauseablePlacement.isDone() && + ((this.placement = + this.pauseablePlacement.commit( + t.browser.now() + )), + (s = !0)), + o && + this.pauseablePlacement.placement.setStale()), + s || o) + ) + for ( + var d = 0, g = this._order; + d < g.length; + d += 1 + ) { + var m = this._layers[g[d]]; + 'symbol' === m.type && + this.placement.updateLayerOpacities( + m, + l[m.source] + ); + } + return ( + !this.pauseablePlacement.isDone() || + this.placement.hasTransitions(t.browser.now()) + ); + }), + (r.prototype._releaseSymbolFadeTiles = function () { + for (var t in this.sourceCaches) + this.sourceCaches[t].releaseSymbolFadeTiles(); + }), + (r.prototype.getImages = function (t, e, r) { + this.imageManager.getImages(e.icons, r), + this._updateTilesForChangedImages(); + var n = this.sourceCaches[e.source]; + n && n.setDependencies(e.tileID.key, e.type, e.icons); + }), + (r.prototype.getGlyphs = function (t, e, r) { + this.glyphManager.getGlyphs(e.stacks, r); + }), + (r.prototype.getResource = function (e, r, n) { + return t.makeRequest(r, n); + }), + r + ); + })(t.Evented); + (qe.getSourceType = function (t) { + return D[t]; + }), + (qe.setSourceType = function (t, e) { + D[t] = e; + }), + (qe.registerForPluginStateChange = + t.registerForPluginStateChange); + var He = t.createLayout([ + { name: 'a_pos', type: 'Int16', components: 2 }, + ]), + Ge = vr( + '#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif', + '#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}' + ), + Ye = vr( + 'uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}' + ), + We = vr( + 'uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}' + ), + Xe = vr( + 'varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}' + ), + Ze = vr( + 'void main() {gl_FragColor=vec4(1.0);}', + 'attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}' + ), + Je = vr( + 'uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}' + ), + Ke = vr( + 'uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}' + ), + Qe = vr( + 'varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}', + 'attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}' + ), + $e = vr( + 'varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}', + 'attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}' + ), + tr = vr( + 'uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}', + 'attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}' + ), + er = vr( + '#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}' + ), + rr = vr( + 'varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}' + ), + nr = vr( + 'uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}' + ), + ir = vr( + 'uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}' + ), + ar = vr( + 'varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}' + ), + or = vr( + 'uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}' + ), + sr = vr( + '#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}' + ), + lr = vr( + 'uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}' + ), + cr = vr( + 'uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + '\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}' + ), + ur = vr( + 'uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + '\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}' + ), + fr = vr( + 'uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + '\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}' + ), + hr = vr( + 'uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + '\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}' + ), + pr = vr( + 'uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}' + ), + dr = vr( + 'uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}' + ), + gr = vr( + '#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}' + ), + mr = vr( + '#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}', + 'const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}' + ); + function vr(t, e) { + var r = /#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g, + n = {}; + return { + fragmentSource: (t = t.replace(r, function (t, e, r, i, a) { + return ( + (n[a] = !0), + 'define' === e + ? '\n#ifndef HAS_UNIFORM_u_' + + a + + '\nvarying ' + + r + + ' ' + + i + + ' ' + + a + + ';\n#else\nuniform ' + + r + + ' ' + + i + + ' u_' + + a + + ';\n#endif\n' + : '\n#ifdef HAS_UNIFORM_u_' + + a + + '\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = u_' + + a + + ';\n#endif\n' + ); + })), + vertexSource: (e = e.replace(r, function (t, e, r, i, a) { + var o = 'float' === i ? 'vec2' : 'vec4', + s = a.match(/color/) ? 'color' : o; + return n[a] + ? 'define' === e + ? '\n#ifndef HAS_UNIFORM_u_' + + a + + '\nuniform lowp float u_' + + a + + '_t;\nattribute ' + + r + + ' ' + + o + + ' a_' + + a + + ';\nvarying ' + + r + + ' ' + + i + + ' ' + + a + + ';\n#else\nuniform ' + + r + + ' ' + + i + + ' u_' + + a + + ';\n#endif\n' + : 'vec4' === s + ? '\n#ifndef HAS_UNIFORM_u_' + + a + + '\n ' + + a + + ' = a_' + + a + + ';\n#else\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = u_' + + a + + ';\n#endif\n' + : '\n#ifndef HAS_UNIFORM_u_' + + a + + '\n ' + + a + + ' = unpack_mix_' + + s + + '(a_' + + a + + ', u_' + + a + + '_t);\n#else\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = u_' + + a + + ';\n#endif\n' + : 'define' === e + ? '\n#ifndef HAS_UNIFORM_u_' + + a + + '\nuniform lowp float u_' + + a + + '_t;\nattribute ' + + r + + ' ' + + o + + ' a_' + + a + + ';\n#else\nuniform ' + + r + + ' ' + + i + + ' u_' + + a + + ';\n#endif\n' + : 'vec4' === s + ? '\n#ifndef HAS_UNIFORM_u_' + + a + + '\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = a_' + + a + + ';\n#else\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = u_' + + a + + ';\n#endif\n' + : '\n#ifndef HAS_UNIFORM_u_' + + a + + '\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = unpack_mix_' + + s + + '(a_' + + a + + ', u_' + + a + + '_t);\n#else\n ' + + r + + ' ' + + i + + ' ' + + a + + ' = u_' + + a + + ';\n#endif\n'; + })), + }; + } + var yr = Object.freeze({ + __proto__: null, + prelude: Ge, + background: Ye, + backgroundPattern: We, + circle: Xe, + clippingMask: Ze, + heatmap: Je, + heatmapTexture: Ke, + collisionBox: Qe, + collisionCircle: $e, + debug: tr, + fill: er, + fillOutline: rr, + fillOutlinePattern: nr, + fillPattern: ir, + fillExtrusion: ar, + fillExtrusionPattern: or, + hillshadePrepare: sr, + hillshade: lr, + line: cr, + lineGradient: ur, + linePattern: fr, + lineSDF: hr, + raster: pr, + symbolIcon: dr, + symbolSDF: gr, + symbolTextAndIcon: mr, + }), + xr = function () { + (this.boundProgram = null), + (this.boundLayoutVertexBuffer = null), + (this.boundPaintVertexBuffers = []), + (this.boundIndexBuffer = null), + (this.boundVertexOffset = null), + (this.boundDynamicVertexBuffer = null), + (this.vao = null); + }; + (xr.prototype.bind = function (t, e, r, n, i, a, o, s) { + this.context = t; + for ( + var l = this.boundPaintVertexBuffers.length !== n.length, + c = 0; + !l && c < n.length; + c++ + ) + this.boundPaintVertexBuffers[c] !== n[c] && (l = !0); + t.extVertexArrayObject && + this.vao && + this.boundProgram === e && + this.boundLayoutVertexBuffer === r && + !l && + this.boundIndexBuffer === i && + this.boundVertexOffset === a && + this.boundDynamicVertexBuffer === o && + this.boundDynamicVertexBuffer2 === s + ? (t.bindVertexArrayOES.set(this.vao), + o && o.bind(), + i && i.dynamicDraw && i.bind(), + s && s.bind()) + : this.freshBind(e, r, n, i, a, o, s); + }), + (xr.prototype.freshBind = function (t, e, r, n, i, a, o) { + var s, + l = t.numAttributes, + c = this.context, + u = c.gl; + if (c.extVertexArrayObject) + this.vao && this.destroy(), + (this.vao = + c.extVertexArrayObject.createVertexArrayOES()), + c.bindVertexArrayOES.set(this.vao), + (s = 0), + (this.boundProgram = t), + (this.boundLayoutVertexBuffer = e), + (this.boundPaintVertexBuffers = r), + (this.boundIndexBuffer = n), + (this.boundVertexOffset = i), + (this.boundDynamicVertexBuffer = a), + (this.boundDynamicVertexBuffer2 = o); + else { + s = c.currentNumAttributes || 0; + for (var f = l; f < s; f++) u.disableVertexAttribArray(f); + } + e.enableAttributes(u, t); + for (var h = 0, p = r; h < p.length; h += 1) + p[h].enableAttributes(u, t); + a && a.enableAttributes(u, t), + o && o.enableAttributes(u, t), + e.bind(), + e.setVertexAttribPointers(u, t, i); + for (var d = 0, g = r; d < g.length; d += 1) { + var m = g[d]; + m.bind(), m.setVertexAttribPointers(u, t, i); + } + a && (a.bind(), a.setVertexAttribPointers(u, t, i)), + n && n.bind(), + o && (o.bind(), o.setVertexAttribPointers(u, t, i)), + (c.currentNumAttributes = l); + }), + (xr.prototype.destroy = function () { + this.vao && + (this.context.extVertexArrayObject.deleteVertexArrayOES( + this.vao + ), + (this.vao = null)); + }); + var br = function (t, e, r, n, i) { + var a = t.gl; + this.program = a.createProgram(); + var o = r ? r.defines() : []; + i && o.push('#define OVERDRAW_INSPECTOR;'); + var s = o + .concat(Ge.fragmentSource, e.fragmentSource) + .join('\n'), + l = o.concat(Ge.vertexSource, e.vertexSource).join('\n'), + c = a.createShader(a.FRAGMENT_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(c, s), + a.compileShader(c), + a.attachShader(this.program, c); + var u = a.createShader(a.VERTEX_SHADER); + if (a.isContextLost()) this.failedToCreate = !0; + else { + a.shaderSource(u, l), + a.compileShader(u), + a.attachShader(this.program, u); + for ( + var f = r ? r.layoutAttributes : [], h = 0; + h < f.length; + h++ + ) + a.bindAttribLocation(this.program, h, f[h].name); + a.linkProgram(this.program), + a.deleteShader(u), + a.deleteShader(c), + (this.numAttributes = a.getProgramParameter( + this.program, + a.ACTIVE_ATTRIBUTES + )), + (this.attributes = {}); + for (var p = {}, d = 0; d < this.numAttributes; d++) { + var g = a.getActiveAttrib(this.program, d); + g && + (this.attributes[g.name] = a.getAttribLocation( + this.program, + g.name + )); + } + for ( + var m = a.getProgramParameter( + this.program, + a.ACTIVE_UNIFORMS + ), + v = 0; + v < m; + v++ + ) { + var y = a.getActiveUniform(this.program, v); + y && + (p[y.name] = a.getUniformLocation( + this.program, + y.name + )); + } + (this.fixedUniforms = n(t, p)), + (this.binderUniforms = r ? r.getUniforms(t, p) : []); + } + } + }; + function _r(t, e, r) { + var n = 1 / he(r, 1, e.transform.tileZoom), + i = Math.pow(2, r.tileID.overscaledZ), + a = (r.tileSize * Math.pow(2, e.transform.tileZoom)) / i, + o = a * (r.tileID.canonical.x + r.tileID.wrap * i), + s = a * r.tileID.canonical.y; + return { + u_image: 0, + u_texsize: r.imageAtlasTexture.size, + u_scale: [n, t.fromScale, t.toScale], + u_fade: t.t, + u_pixel_coord_upper: [o >> 16, s >> 16], + u_pixel_coord_lower: [65535 & o, 65535 & s], + }; + } + br.prototype.draw = function ( + t, + e, + r, + n, + i, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g + ) { + var m, + v = t.gl; + if (!this.failedToCreate) { + for (var y in (t.program.set(this.program), + t.setDepthMode(r), + t.setStencilMode(n), + t.setColorMode(i), + t.setCullFace(a), + this.fixedUniforms)) + this.fixedUniforms[y].set(o[y]); + p && p.setUniforms(t, this.binderUniforms, f, { zoom: h }); + for ( + var x = ((m = {}), + (m[v.LINES] = 2), + (m[v.TRIANGLES] = 3), + (m[v.LINE_STRIP] = 1), + m)[e], + b = 0, + _ = u.get(); + b < _.length; + b += 1 + ) { + var w = _[b], + T = w.vaos || (w.vaos = {}); + (T[s] || (T[s] = new xr())).bind( + t, + this, + l, + p ? p.getPaintVertexBuffers() : [], + c, + w.vertexOffset, + d, + g + ), + v.drawElements( + e, + w.primitiveLength * x, + v.UNSIGNED_SHORT, + w.primitiveOffset * x * 2 + ); + } + } + }; + var wr = function (e, r, n, i) { + var a = r.style.light, + o = a.properties.get('position'), + s = [o.x, o.y, o.z], + l = t.create$1(); + 'viewport' === a.properties.get('anchor') && + t.fromRotation(l, -r.transform.angle), + t.transformMat3(s, s, l); + var c = a.properties.get('color'); + return { + u_matrix: e, + u_lightpos: s, + u_lightintensity: a.properties.get('intensity'), + u_lightcolor: [c.r, c.g, c.b], + u_vertical_gradient: +n, + u_opacity: i, + }; + }, + Tr = function (e, r, n, i, a, o, s) { + return t.extend(wr(e, r, n, i), _r(o, r, s), { + u_height_factor: + -Math.pow(2, a.overscaledZ) / s.tileSize / 8, + }); + }, + kr = function (t) { + return { u_matrix: t }; + }, + Mr = function (e, r, n, i) { + return t.extend(kr(e), _r(n, r, i)); + }, + Ar = function (t, e) { + return { u_matrix: t, u_world: e }; + }, + Sr = function (e, r, n, i, a) { + return t.extend(Mr(e, r, n, i), { u_world: a }); + }, + Er = function (e, r, n, i) { + var a, + o, + s = e.transform; + if ('map' === i.paint.get('circle-pitch-alignment')) { + var l = he(n, 1, s.zoom); + (a = !0), (o = [l, l]); + } else (a = !1), (o = s.pixelsToGLUnits); + return { + u_camera_to_center_distance: s.cameraToCenterDistance, + u_scale_with_map: +( + 'map' === i.paint.get('circle-pitch-scale') + ), + u_matrix: e.translatePosMatrix( + r.posMatrix, + n, + i.paint.get('circle-translate'), + i.paint.get('circle-translate-anchor') + ), + u_pitch_with_map: +a, + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_extrude_scale: o, + }; + }, + Cr = function (t, e, r) { + var n = he(r, 1, e.zoom), + i = Math.pow(2, e.zoom - r.tileID.overscaledZ), + a = r.tileID.overscaleFactor(); + return { + u_matrix: t, + u_camera_to_center_distance: e.cameraToCenterDistance, + u_pixels_to_tile_units: n, + u_extrude_scale: [ + e.pixelsToGLUnits[0] / (n * i), + e.pixelsToGLUnits[1] / (n * i), + ], + u_overscale_factor: a, + }; + }, + Lr = function (t, e, r) { + return { + u_matrix: t, + u_inv_matrix: e, + u_camera_to_center_distance: r.cameraToCenterDistance, + u_viewport_size: [r.width, r.height], + }; + }, + Ir = function (t, e, r) { + return ( + void 0 === r && (r = 1), + { + u_matrix: t, + u_color: e, + u_overlay: 0, + u_overlay_scale: r, + } + ); + }, + Pr = function (t) { + return { u_matrix: t }; + }, + zr = function (t, e, r, n) { + return { + u_matrix: t, + u_extrude_scale: he(e, 1, r), + u_intensity: n, + }; + }, + Or = function (e, r, n) { + var i = e.transform; + return { + u_matrix: Nr(e, r, n), + u_ratio: 1 / he(r, 1, i.zoom), + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_units_to_pixels: [ + 1 / i.pixelsToGLUnits[0], + 1 / i.pixelsToGLUnits[1], + ], + }; + }, + Dr = function (e, r, n) { + return t.extend(Or(e, r, n), { u_image: 0 }); + }, + Rr = function (e, r, n, i) { + var a = e.transform, + o = Br(r, a); + return { + u_matrix: Nr(e, r, n), + u_texsize: r.imageAtlasTexture.size, + u_ratio: 1 / he(r, 1, a.zoom), + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_image: 0, + u_scale: [o, i.fromScale, i.toScale], + u_fade: i.t, + u_units_to_pixels: [ + 1 / a.pixelsToGLUnits[0], + 1 / a.pixelsToGLUnits[1], + ], + }; + }, + Fr = function (e, r, n, i, a) { + var o = e.lineAtlas, + s = Br(r, e.transform), + l = 'round' === n.layout.get('line-cap'), + c = o.getDash(i.from, l), + u = o.getDash(i.to, l), + f = c.width * a.fromScale, + h = u.width * a.toScale; + return t.extend(Or(e, r, n), { + u_patternscale_a: [s / f, -c.height / 2], + u_patternscale_b: [s / h, -u.height / 2], + u_sdfgamma: + o.width / + (256 * Math.min(f, h) * t.browser.devicePixelRatio) / + 2, + u_image: 0, + u_tex_y_a: c.y, + u_tex_y_b: u.y, + u_mix: a.t, + }); + }; + function Br(t, e) { + return 1 / he(t, 1, e.tileZoom); + } + function Nr(t, e, r) { + return t.translatePosMatrix( + e.tileID.posMatrix, + e, + r.paint.get('line-translate'), + r.paint.get('line-translate-anchor') + ); + } + var jr = function (t, e, r, n, i) { + return { + u_matrix: t, + u_tl_parent: e, + u_scale_parent: r, + u_buffer_scale: 1, + u_fade_t: n.mix, + u_opacity: n.opacity * i.paint.get('raster-opacity'), + u_image0: 0, + u_image1: 1, + u_brightness_low: i.paint.get('raster-brightness-min'), + u_brightness_high: i.paint.get('raster-brightness-max'), + u_saturation_factor: + ((o = i.paint.get('raster-saturation')), + o > 0 ? 1 - 1 / (1.001 - o) : -o), + u_contrast_factor: + ((a = i.paint.get('raster-contrast')), + a > 0 ? 1 / (1 - a) : 1 + a), + u_spin_weights: Ur(i.paint.get('raster-hue-rotate')), + }; + var a, o; + }; + function Ur(t) { + t *= Math.PI / 180; + var e = Math.sin(t), + r = Math.cos(t); + return [ + (2 * r + 1) / 3, + (-Math.sqrt(3) * e - r + 1) / 3, + (Math.sqrt(3) * e - r + 1) / 3, + ]; + } + var Vr, + qr = function (t, e, r, n, i, a, o, s, l, c) { + var u = i.transform; + return { + u_is_size_zoom_constant: +( + 'constant' === t || 'source' === t + ), + u_is_size_feature_constant: +( + 'constant' === t || 'camera' === t + ), + u_size_t: e ? e.uSizeT : 0, + u_size: e ? e.uSize : 0, + u_camera_to_center_distance: u.cameraToCenterDistance, + u_pitch: (u.pitch / 360) * 2 * Math.PI, + u_rotate_symbol: +r, + u_aspect_ratio: u.width / u.height, + u_fade_change: i.options.fadeDuration + ? i.symbolFadeChange + : 1, + u_matrix: a, + u_label_plane_matrix: o, + u_coord_matrix: s, + u_is_text: +l, + u_pitch_with_map: +n, + u_texsize: c, + u_texture: 0, + }; + }, + Hr = function (e, r, n, i, a, o, s, l, c, u, f) { + var h = a.transform; + return t.extend(qr(e, r, n, i, a, o, s, l, c, u), { + u_gamma_scale: i + ? Math.cos(h._pitch) * h.cameraToCenterDistance + : 1, + u_device_pixel_ratio: t.browser.devicePixelRatio, + u_is_halo: +f, + }); + }, + Gr = function (e, r, n, i, a, o, s, l, c, u) { + return t.extend(Hr(e, r, n, i, a, o, s, l, !0, c, !0), { + u_texsize_icon: u, + u_texture_icon: 1, + }); + }, + Yr = function (t, e, r) { + return { u_matrix: t, u_opacity: e, u_color: r }; + }, + Wr = function (e, r, n, i, a, o) { + return t.extend( + (function (t, e, r, n) { + var i = r.imageManager.getPattern(t.from.toString()), + a = r.imageManager.getPattern(t.to.toString()), + o = r.imageManager.getPixelSize(), + s = o.width, + l = o.height, + c = Math.pow(2, n.tileID.overscaledZ), + u = + (n.tileSize * Math.pow(2, r.transform.tileZoom)) / + c, + f = u * (n.tileID.canonical.x + n.tileID.wrap * c), + h = u * n.tileID.canonical.y; + return { + u_image: 0, + u_pattern_tl_a: i.tl, + u_pattern_br_a: i.br, + u_pattern_tl_b: a.tl, + u_pattern_br_b: a.br, + u_texsize: [s, l], + u_mix: e.t, + u_pattern_size_a: i.displaySize, + u_pattern_size_b: a.displaySize, + u_scale_a: e.fromScale, + u_scale_b: e.toScale, + u_tile_units_to_pixels: + 1 / he(n, 1, r.transform.tileZoom), + u_pixel_coord_upper: [f >> 16, h >> 16], + u_pixel_coord_lower: [65535 & f, 65535 & h], + }; + })(i, o, n, a), + { u_matrix: e, u_opacity: r } + ); + }, + Xr = { + fillExtrusion: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_lightpos: new t.Uniform3f(e, r.u_lightpos), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity + ), + u_lightcolor: new t.Uniform3f(e, r.u_lightcolor), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient + ), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fillExtrusionPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_lightpos: new t.Uniform3f(e, r.u_lightpos), + u_lightintensity: new t.Uniform1f( + e, + r.u_lightintensity + ), + u_lightcolor: new t.Uniform3f(e, r.u_lightcolor), + u_vertical_gradient: new t.Uniform1f( + e, + r.u_vertical_gradient + ), + u_height_factor: new t.Uniform1f(e, r.u_height_factor), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + fill: function (e, r) { + return { u_matrix: new t.UniformMatrix4f(e, r.u_matrix) }; + }, + fillPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + fillOutline: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + }; + }, + fillOutlinePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + circle: function (e, r) { + return { + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_scale_with_map: new t.Uniform1i( + e, + r.u_scale_with_map + ), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map + ), + u_extrude_scale: new t.Uniform2f(e, r.u_extrude_scale), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + collisionBox: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_pixels_to_tile_units: new t.Uniform1f( + e, + r.u_pixels_to_tile_units + ), + u_extrude_scale: new t.Uniform2f(e, r.u_extrude_scale), + u_overscale_factor: new t.Uniform1f( + e, + r.u_overscale_factor + ), + }; + }, + collisionCircle: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_inv_matrix: new t.UniformMatrix4f(e, r.u_inv_matrix), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_viewport_size: new t.Uniform2f(e, r.u_viewport_size), + }; + }, + debug: function (e, r) { + return { + u_color: new t.UniformColor(e, r.u_color), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_overlay: new t.Uniform1i(e, r.u_overlay), + u_overlay_scale: new t.Uniform1f(e, r.u_overlay_scale), + }; + }, + clippingMask: function (e, r) { + return { u_matrix: new t.UniformMatrix4f(e, r.u_matrix) }; + }, + heatmap: function (e, r) { + return { + u_extrude_scale: new t.Uniform1f(e, r.u_extrude_scale), + u_intensity: new t.Uniform1f(e, r.u_intensity), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + }; + }, + heatmapTexture: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_world: new t.Uniform2f(e, r.u_world), + u_image: new t.Uniform1i(e, r.u_image), + u_color_ramp: new t.Uniform1i(e, r.u_color_ramp), + u_opacity: new t.Uniform1f(e, r.u_opacity), + }; + }, + hillshade: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_latrange: new t.Uniform2f(e, r.u_latrange), + u_light: new t.Uniform2f(e, r.u_light), + u_shadow: new t.UniformColor(e, r.u_shadow), + u_highlight: new t.UniformColor(e, r.u_highlight), + u_accent: new t.UniformColor(e, r.u_accent), + }; + }, + hillshadePrepare: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_image: new t.Uniform1i(e, r.u_image), + u_dimension: new t.Uniform2f(e, r.u_dimension), + u_zoom: new t.Uniform1f(e, r.u_zoom), + u_maxzoom: new t.Uniform1f(e, r.u_maxzoom), + u_unpack: new t.Uniform4f(e, r.u_unpack), + }; + }, + line: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels + ), + }; + }, + lineGradient: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels + ), + u_image: new t.Uniform1i(e, r.u_image), + }; + }, + linePattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_image: new t.Uniform1i(e, r.u_image), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels + ), + u_scale: new t.Uniform3f(e, r.u_scale), + u_fade: new t.Uniform1f(e, r.u_fade), + }; + }, + lineSDF: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_ratio: new t.Uniform1f(e, r.u_ratio), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_units_to_pixels: new t.Uniform2f( + e, + r.u_units_to_pixels + ), + u_patternscale_a: new t.Uniform2f( + e, + r.u_patternscale_a + ), + u_patternscale_b: new t.Uniform2f( + e, + r.u_patternscale_b + ), + u_sdfgamma: new t.Uniform1f(e, r.u_sdfgamma), + u_image: new t.Uniform1i(e, r.u_image), + u_tex_y_a: new t.Uniform1f(e, r.u_tex_y_a), + u_tex_y_b: new t.Uniform1f(e, r.u_tex_y_b), + u_mix: new t.Uniform1f(e, r.u_mix), + }; + }, + raster: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_tl_parent: new t.Uniform2f(e, r.u_tl_parent), + u_scale_parent: new t.Uniform1f(e, r.u_scale_parent), + u_buffer_scale: new t.Uniform1f(e, r.u_buffer_scale), + u_fade_t: new t.Uniform1f(e, r.u_fade_t), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image0: new t.Uniform1i(e, r.u_image0), + u_image1: new t.Uniform1i(e, r.u_image1), + u_brightness_low: new t.Uniform1f( + e, + r.u_brightness_low + ), + u_brightness_high: new t.Uniform1f( + e, + r.u_brightness_high + ), + u_saturation_factor: new t.Uniform1f( + e, + r.u_saturation_factor + ), + u_contrast_factor: new t.Uniform1f( + e, + r.u_contrast_factor + ), + u_spin_weights: new t.Uniform3f(e, r.u_spin_weights), + }; + }, + symbolIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i(e, r.u_rotate_symbol), + u_aspect_ratio: new t.Uniform1f(e, r.u_aspect_ratio), + u_fade_change: new t.Uniform1f(e, r.u_fade_change), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + }; + }, + symbolSDF: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i(e, r.u_rotate_symbol), + u_aspect_ratio: new t.Uniform1f(e, r.u_aspect_ratio), + u_fade_change: new t.Uniform1f(e, r.u_fade_change), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texture: new t.Uniform1i(e, r.u_texture), + u_gamma_scale: new t.Uniform1f(e, r.u_gamma_scale), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + symbolTextAndIcon: function (e, r) { + return { + u_is_size_zoom_constant: new t.Uniform1i( + e, + r.u_is_size_zoom_constant + ), + u_is_size_feature_constant: new t.Uniform1i( + e, + r.u_is_size_feature_constant + ), + u_size_t: new t.Uniform1f(e, r.u_size_t), + u_size: new t.Uniform1f(e, r.u_size), + u_camera_to_center_distance: new t.Uniform1f( + e, + r.u_camera_to_center_distance + ), + u_pitch: new t.Uniform1f(e, r.u_pitch), + u_rotate_symbol: new t.Uniform1i(e, r.u_rotate_symbol), + u_aspect_ratio: new t.Uniform1f(e, r.u_aspect_ratio), + u_fade_change: new t.Uniform1f(e, r.u_fade_change), + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_label_plane_matrix: new t.UniformMatrix4f( + e, + r.u_label_plane_matrix + ), + u_coord_matrix: new t.UniformMatrix4f( + e, + r.u_coord_matrix + ), + u_is_text: new t.Uniform1i(e, r.u_is_text), + u_pitch_with_map: new t.Uniform1i( + e, + r.u_pitch_with_map + ), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_texsize_icon: new t.Uniform2f(e, r.u_texsize_icon), + u_texture: new t.Uniform1i(e, r.u_texture), + u_texture_icon: new t.Uniform1i(e, r.u_texture_icon), + u_gamma_scale: new t.Uniform1f(e, r.u_gamma_scale), + u_device_pixel_ratio: new t.Uniform1f( + e, + r.u_device_pixel_ratio + ), + u_is_halo: new t.Uniform1i(e, r.u_is_halo), + }; + }, + background: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_color: new t.UniformColor(e, r.u_color), + }; + }, + backgroundPattern: function (e, r) { + return { + u_matrix: new t.UniformMatrix4f(e, r.u_matrix), + u_opacity: new t.Uniform1f(e, r.u_opacity), + u_image: new t.Uniform1i(e, r.u_image), + u_pattern_tl_a: new t.Uniform2f(e, r.u_pattern_tl_a), + u_pattern_br_a: new t.Uniform2f(e, r.u_pattern_br_a), + u_pattern_tl_b: new t.Uniform2f(e, r.u_pattern_tl_b), + u_pattern_br_b: new t.Uniform2f(e, r.u_pattern_br_b), + u_texsize: new t.Uniform2f(e, r.u_texsize), + u_mix: new t.Uniform1f(e, r.u_mix), + u_pattern_size_a: new t.Uniform2f( + e, + r.u_pattern_size_a + ), + u_pattern_size_b: new t.Uniform2f( + e, + r.u_pattern_size_b + ), + u_scale_a: new t.Uniform1f(e, r.u_scale_a), + u_scale_b: new t.Uniform1f(e, r.u_scale_b), + u_pixel_coord_upper: new t.Uniform2f( + e, + r.u_pixel_coord_upper + ), + u_pixel_coord_lower: new t.Uniform2f( + e, + r.u_pixel_coord_lower + ), + u_tile_units_to_pixels: new t.Uniform1f( + e, + r.u_tile_units_to_pixels + ), + }; + }, + }; + function Zr(e, r, n, i, a, o, s) { + for ( + var l = e.context, + c = l.gl, + u = e.useProgram('collisionBox'), + f = [], + h = 0, + p = 0, + d = 0; + d < i.length; + d++ + ) { + var g = i[d], + m = r.getTile(g), + v = m.getBucket(n); + if (v) { + var y = g.posMatrix; + (0 === a[0] && 0 === a[1]) || + (y = e.translatePosMatrix(g.posMatrix, m, a, o)); + var x = s ? v.textCollisionBox : v.iconCollisionBox, + b = v.collisionCircleArray; + if (b.length > 0) { + var _ = t.create(), + w = y; + t.mul( + _, + v.placementInvProjMatrix, + e.transform.glCoordMatrix + ), + t.mul(_, _, v.placementViewportMatrix), + f.push({ + circleArray: b, + circleOffset: p, + transform: w, + invTransform: _, + }), + (p = h += b.length / 4); + } + x && + u.draw( + l, + c.LINES, + Mt.disabled, + At.disabled, + e.colorModeForRenderPass(), + Et.disabled, + Cr(y, e.transform, m), + n.id, + x.layoutVertexBuffer, + x.indexBuffer, + x.segments, + null, + e.transform.zoom, + null, + null, + x.collisionVertexBuffer + ); + } + } + if (s && f.length) { + var T = e.useProgram('collisionCircle'), + k = new t.StructArrayLayout2f1f2i16(); + k.resize(4 * h), k._trim(); + for (var M = 0, A = 0, S = f; A < S.length; A += 1) + for ( + var E = S[A], C = 0; + C < E.circleArray.length / 4; + C++ + ) { + var L = 4 * C, + I = E.circleArray[L + 0], + P = E.circleArray[L + 1], + z = E.circleArray[L + 2], + O = E.circleArray[L + 3]; + k.emplace(M++, I, P, z, O, 0), + k.emplace(M++, I, P, z, O, 1), + k.emplace(M++, I, P, z, O, 2), + k.emplace(M++, I, P, z, O, 3); + } + (!Vr || Vr.length < 2 * h) && + (Vr = (function (e) { + var r = 2 * e, + n = new t.StructArrayLayout3ui6(); + n.resize(r), n._trim(); + for (var i = 0; i < r; i++) { + var a = 6 * i; + (n.uint16[a + 0] = 4 * i + 0), + (n.uint16[a + 1] = 4 * i + 1), + (n.uint16[a + 2] = 4 * i + 2), + (n.uint16[a + 3] = 4 * i + 2), + (n.uint16[a + 4] = 4 * i + 3), + (n.uint16[a + 5] = 4 * i + 0); + } + return n; + })(h)); + for ( + var D = l.createIndexBuffer(Vr, !0), + R = l.createVertexBuffer( + k, + t.collisionCircleLayout.members, + !0 + ), + F = 0, + B = f; + F < B.length; + F += 1 + ) { + var N = B[F], + j = Lr(N.transform, N.invTransform, e.transform); + T.draw( + l, + c.TRIANGLES, + Mt.disabled, + At.disabled, + e.colorModeForRenderPass(), + Et.disabled, + j, + n.id, + R, + D, + t.SegmentVector.simpleSegment( + 0, + 2 * N.circleOffset, + N.circleArray.length, + N.circleArray.length / 2 + ), + null, + e.transform.zoom, + null, + null, + null + ); + } + R.destroy(), D.destroy(); + } + } + var Jr = t.identity(new Float32Array(16)); + function Kr(e, r, n, i, a, o) { + var s = t.getAnchorAlignment(e), + l = -(s.horizontalAlign - 0.5) * r, + c = -(s.verticalAlign - 0.5) * n, + u = t.evaluateVariableOffset(e, i); + return new t.Point((l / a + u[0]) * o, (c / a + u[1]) * o); + } + function Qr(e, r, n, i, a, o, s, l, c, u, f) { + var h = e.text.placedSymbolArray, + p = e.text.dynamicLayoutVertexArray, + d = e.icon.dynamicLayoutVertexArray, + g = {}; + p.clear(); + for (var m = 0; m < h.length; m++) { + var v = h.get(m), + y = + v.hidden || + !v.crossTileID || + (e.allowVerticalPlacement && !v.placedOrientation) + ? null + : i[v.crossTileID]; + if (y) { + var x = new t.Point(v.anchorX, v.anchorY), + b = $t(x, n ? l : s), + _ = te( + o.cameraToCenterDistance, + b.signedDistanceFromCamera + ), + w = + (a.evaluateSizeForFeature(e.textSizeData, u, v) * _) / + t.ONE_EM; + n && (w *= e.tilePixelRatio / c); + for ( + var T = Kr( + y.anchor, + y.width, + y.height, + y.textOffset, + y.textBoxScale, + w + ), + k = n + ? $t(x.add(T), s).point + : b.point.add(r ? T.rotate(-o.angle) : T), + M = + e.allowVerticalPlacement && + v.placedOrientation === t.WritingMode.vertical + ? Math.PI / 2 + : 0, + A = 0; + A < v.numGlyphs; + A++ + ) + t.addDynamicAttributes(p, k, M); + f && + v.associatedIconIndex >= 0 && + (g[v.associatedIconIndex] = { + shiftedAnchor: k, + angle: M, + }); + } else ce(v.numGlyphs, p); + } + if (f) { + d.clear(); + for ( + var S = e.icon.placedSymbolArray, E = 0; + E < S.length; + E++ + ) { + var C = S.get(E); + if (C.hidden) ce(C.numGlyphs, d); + else { + var L = g[E]; + if (L) + for (var I = 0; I < C.numGlyphs; I++) + t.addDynamicAttributes(d, L.shiftedAnchor, L.angle); + else ce(C.numGlyphs, d); + } + } + e.icon.dynamicLayoutVertexBuffer.updateData(d); + } + e.text.dynamicLayoutVertexBuffer.updateData(p); + } + function $r(t, e, r) { + return r.iconsInText && e + ? 'symbolTextAndIcon' + : t + ? 'symbolSDF' + : 'symbolIcon'; + } + function tn(e, r, n, i, a, o, s, l, c, u, f, h) { + for ( + var p = e.context, + d = p.gl, + g = e.transform, + m = 'map' === l, + v = 'map' === c, + y = m && 'point' !== n.layout.get('symbol-placement'), + x = m && !v && !y, + b = + void 0 !== + n.layout.get('symbol-sort-key').constantOr(1), + _ = e.depthModeForSublayer(0, Mt.ReadOnly), + w = n.layout.get('text-variable-anchor'), + T = [], + k = 0, + M = i; + k < M.length; + k += 1 + ) { + var A = M[k], + S = r.getTile(A), + E = S.getBucket(n); + if (E) { + var C = a ? E.text : E.icon; + if (C && C.segments.get().length) { + var L = C.programConfigurations.get(n.id), + I = a || E.sdfIcons, + P = a ? E.textSizeData : E.iconSizeData, + z = v || 0 !== g.pitch, + O = e.useProgram($r(I, a, E), L), + D = t.evaluateSizeForZoom(P, g.zoom), + R = void 0, + F = [0, 0], + B = void 0, + N = void 0, + j = null, + U = void 0; + if (a) + (B = S.glyphAtlasTexture), + (N = d.LINEAR), + (R = S.glyphAtlasTexture.size), + E.iconsInText && + ((F = S.imageAtlasTexture.size), + (j = S.imageAtlasTexture), + (U = + z || + e.options.rotating || + e.options.zooming || + 'composite' === P.kind || + 'camera' === P.kind + ? d.LINEAR + : d.NEAREST)); + else { + var V = + 1 !== n.layout.get('icon-size').constantOr(0) || + E.iconsNeedLinear; + (B = S.imageAtlasTexture), + (N = + I || + e.options.rotating || + e.options.zooming || + V || + z + ? d.LINEAR + : d.NEAREST), + (R = S.imageAtlasTexture.size); + } + var q = he(S, 1, e.transform.zoom), + H = Kt(A.posMatrix, v, m, e.transform, q), + G = Qt(A.posMatrix, v, m, e.transform, q), + Y = w && E.hasTextData(), + W = + 'none' !== n.layout.get('icon-text-fit') && + Y && + E.hasIconData(); + y && re(E, A.posMatrix, e, a, H, G, v, u); + var X = e.translatePosMatrix(A.posMatrix, S, o, s), + Z = y || (a && w) || W ? Jr : H, + J = e.translatePosMatrix(G, S, o, s, !0), + K = + I && + 0 !== + n.paint + .get(a ? 'text-halo-width' : 'icon-halo-width') + .constantOr(1), + Q = { + program: O, + buffers: C, + uniformValues: I + ? E.iconsInText + ? Gr(P.kind, D, x, v, e, X, Z, J, R, F) + : Hr(P.kind, D, x, v, e, X, Z, J, a, R, !0) + : qr(P.kind, D, x, v, e, X, Z, J, a, R), + atlasTexture: B, + atlasTextureIcon: j, + atlasInterpolation: N, + atlasInterpolationIcon: U, + isSDF: I, + hasHalo: K, + }; + if (b) + for ( + var $ = 0, tt = C.segments.get(); + $ < tt.length; + $ += 1 + ) { + var et = tt[$]; + T.push({ + segments: new t.SegmentVector([et]), + sortKey: et.sortKey, + state: Q, + }); + } + else + T.push({ + segments: C.segments, + sortKey: 0, + state: Q, + }); + } + } + } + b && + T.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var rt = 0, nt = T; rt < nt.length; rt += 1) { + var it = nt[rt], + at = it.state; + if ( + (p.activeTexture.set(d.TEXTURE0), + at.atlasTexture.bind( + at.atlasInterpolation, + d.CLAMP_TO_EDGE + ), + at.atlasTextureIcon && + (p.activeTexture.set(d.TEXTURE1), + at.atlasTextureIcon && + at.atlasTextureIcon.bind( + at.atlasInterpolationIcon, + d.CLAMP_TO_EDGE + )), + at.isSDF) + ) { + var ot = at.uniformValues; + at.hasHalo && + ((ot.u_is_halo = 1), + en( + at.buffers, + it.segments, + n, + e, + at.program, + _, + f, + h, + ot + )), + (ot.u_is_halo = 0); + } + en( + at.buffers, + it.segments, + n, + e, + at.program, + _, + f, + h, + at.uniformValues + ); + } + } + function en(t, e, r, n, i, a, o, s, l) { + var c = n.context; + i.draw( + c, + c.gl.TRIANGLES, + a, + o, + s, + Et.disabled, + l, + r.id, + t.layoutVertexBuffer, + t.indexBuffer, + e, + r.paint, + n.transform.zoom, + t.programConfigurations.get(r.id), + t.dynamicLayoutVertexBuffer, + t.opacityVertexBuffer + ); + } + function rn(t, e, r, n, i, a, o) { + var s, + l, + c, + u, + f, + h = t.context.gl, + p = r.paint.get('fill-pattern'), + d = p && p.constantOr(1), + g = r.getCrossfadeParameters(); + o + ? ((l = + d && !r.getPaintProperty('fill-outline-color') + ? 'fillOutlinePattern' + : 'fillOutline'), + (s = h.LINES)) + : ((l = d ? 'fillPattern' : 'fill'), (s = h.TRIANGLES)); + for (var m = 0, v = n; m < v.length; m += 1) { + var y = v[m], + x = e.getTile(y); + if (!d || x.patternsLoaded()) { + var b = x.getBucket(r); + if (b) { + var _ = b.programConfigurations.get(r.id), + w = t.useProgram(l, _); + d && + (t.context.activeTexture.set(h.TEXTURE0), + x.imageAtlasTexture.bind(h.LINEAR, h.CLAMP_TO_EDGE), + _.updatePaintBuffers(g)); + var T = p.constantOr(null); + if (T && x.imageAtlas) { + var k = x.imageAtlas, + M = k.patternPositions[T.to.toString()], + A = k.patternPositions[T.from.toString()]; + M && A && _.setConstantPatternPositions(M, A); + } + var S = t.translatePosMatrix( + y.posMatrix, + x, + r.paint.get('fill-translate'), + r.paint.get('fill-translate-anchor') + ); + if (o) { + (u = b.indexBuffer2), (f = b.segments2); + var E = [h.drawingBufferWidth, h.drawingBufferHeight]; + c = + 'fillOutlinePattern' === l && d + ? Sr(S, t, g, x, E) + : Ar(S, E); + } else + (u = b.indexBuffer), + (f = b.segments), + (c = d ? Mr(S, t, g, x) : kr(S)); + w.draw( + t.context, + s, + i, + t.stencilModeForClipping(y), + a, + Et.disabled, + c, + r.id, + b.layoutVertexBuffer, + u, + f, + r.paint, + t.transform.zoom, + _ + ); + } + } + } + } + function nn(t, e, r, n, i, a, o) { + for ( + var s = t.context, + l = s.gl, + c = r.paint.get('fill-extrusion-pattern'), + u = c.constantOr(1), + f = r.getCrossfadeParameters(), + h = r.paint.get('fill-extrusion-opacity'), + p = 0, + d = n; + p < d.length; + p += 1 + ) { + var g = d[p], + m = e.getTile(g), + v = m.getBucket(r); + if (v) { + var y = v.programConfigurations.get(r.id), + x = t.useProgram( + u ? 'fillExtrusionPattern' : 'fillExtrusion', + y + ); + u && + (t.context.activeTexture.set(l.TEXTURE0), + m.imageAtlasTexture.bind(l.LINEAR, l.CLAMP_TO_EDGE), + y.updatePaintBuffers(f)); + var b = c.constantOr(null); + if (b && m.imageAtlas) { + var _ = m.imageAtlas, + w = _.patternPositions[b.to.toString()], + T = _.patternPositions[b.from.toString()]; + w && T && y.setConstantPatternPositions(w, T); + } + var k = t.translatePosMatrix( + g.posMatrix, + m, + r.paint.get('fill-extrusion-translate'), + r.paint.get('fill-extrusion-translate-anchor') + ), + M = r.paint.get('fill-extrusion-vertical-gradient'), + A = u ? Tr(k, t, M, h, g, f, m) : wr(k, t, M, h); + x.draw( + s, + s.gl.TRIANGLES, + i, + a, + o, + Et.backCCW, + A, + r.id, + v.layoutVertexBuffer, + v.indexBuffer, + v.segments, + r.paint, + t.transform.zoom, + y + ); + } + } + } + function an(e, r, n, i, a, o) { + var s = e.context, + l = s.gl, + c = r.fbo; + if (c) { + var u = e.useProgram('hillshade'); + s.activeTexture.set(l.TEXTURE0), + l.bindTexture(l.TEXTURE_2D, c.colorAttachment.get()); + var f = (function (e, r, n) { + var i = n.paint.get('hillshade-shadow-color'), + a = n.paint.get('hillshade-highlight-color'), + o = n.paint.get('hillshade-accent-color'), + s = + n.paint.get('hillshade-illumination-direction') * + (Math.PI / 180); + 'viewport' === + n.paint.get('hillshade-illumination-anchor') && + (s -= e.transform.angle); + var l, + c, + u, + f = !e.options.moving; + return { + u_matrix: e.transform.calculatePosMatrix( + r.tileID.toUnwrapped(), + f + ), + u_image: 0, + u_latrange: + ((l = r.tileID), + (c = Math.pow(2, l.canonical.z)), + (u = l.canonical.y), + [ + new t.MercatorCoordinate(0, u / c).toLngLat().lat, + new t.MercatorCoordinate(0, (u + 1) / c).toLngLat() + .lat, + ]), + u_light: [n.paint.get('hillshade-exaggeration'), s], + u_shadow: i, + u_highlight: a, + u_accent: o, + }; + })(e, r, n); + u.draw( + s, + l.TRIANGLES, + i, + a, + o, + Et.disabled, + f, + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments + ); + } + } + function on(e, r, n, i, a, o, s) { + var l = e.context, + c = l.gl, + u = r.dem; + if (u && u.data) { + var f = u.dim, + h = u.stride, + p = u.getPixels(); + if ( + (l.activeTexture.set(c.TEXTURE1), + l.pixelStoreUnpackPremultiplyAlpha.set(!1), + (r.demTexture = r.demTexture || e.getTileTexture(h)), + r.demTexture) + ) { + var d = r.demTexture; + d.update(p, { premultiply: !1 }), + d.bind(c.NEAREST, c.CLAMP_TO_EDGE); + } else + (r.demTexture = new t.Texture(l, p, c.RGBA, { + premultiply: !1, + })), + r.demTexture.bind(c.NEAREST, c.CLAMP_TO_EDGE); + l.activeTexture.set(c.TEXTURE0); + var g = r.fbo; + if (!g) { + var m = new t.Texture( + l, + { width: f, height: f, data: null }, + c.RGBA + ); + m.bind(c.LINEAR, c.CLAMP_TO_EDGE), + (g = r.fbo = + l.createFramebuffer(f, f, !0)).colorAttachment.set( + m.texture + ); + } + l.bindFramebuffer.set(g.framebuffer), + l.viewport.set([0, 0, f, f]), + e.useProgram('hillshadePrepare').draw( + l, + c.TRIANGLES, + a, + o, + s, + Et.disabled, + (function (e, r, n) { + var i = r.stride, + a = t.create(); + return ( + t.ortho(a, 0, t.EXTENT, -t.EXTENT, 0, 0, 1), + t.translate(a, a, [0, -t.EXTENT, 0]), + { + u_matrix: a, + u_image: 1, + u_dimension: [i, i], + u_zoom: e.overscaledZ, + u_maxzoom: n, + u_unpack: r.getUnpackVector(), + } + ); + })(r.tileID, u, i), + n.id, + e.rasterBoundsBuffer, + e.quadTriangleIndexBuffer, + e.rasterBoundsSegments + ), + (r.needsHillshadePrepare = !1); + } + } + function sn(e, r, n, i, a) { + var o = i.paint.get('raster-fade-duration'); + if (o > 0) { + var s = t.browser.now(), + l = (s - e.timeAdded) / o, + c = r ? (s - r.timeAdded) / o : -1, + u = n.getSource(), + f = a.coveringZoomLevel({ + tileSize: u.tileSize, + roundZoom: u.roundZoom, + }), + h = + !r || + Math.abs(r.tileID.overscaledZ - f) > + Math.abs(e.tileID.overscaledZ - f), + p = + h && e.refreshedUponExpiration + ? 1 + : t.clamp(h ? l : 1 - c, 0, 1); + return ( + e.refreshedUponExpiration && + l >= 1 && + (e.refreshedUponExpiration = !1), + r ? { opacity: 1, mix: 1 - p } : { opacity: p, mix: 0 } + ); + } + return { opacity: 1, mix: 0 }; + } + var ln = new t.Color(1, 0, 0, 1), + cn = new t.Color(0, 1, 0, 1), + un = new t.Color(0, 0, 1, 1), + fn = new t.Color(1, 0, 1, 1), + hn = new t.Color(0, 1, 1, 1); + function pn(t, e, r, n) { + gn(t, 0, e + r / 2, t.transform.width, r, n); + } + function dn(t, e, r, n) { + gn(t, e - r / 2, 0, r, t.transform.height, n); + } + function gn(e, r, n, i, a, o) { + var s = e.context, + l = s.gl; + l.enable(l.SCISSOR_TEST), + l.scissor( + r * t.browser.devicePixelRatio, + n * t.browser.devicePixelRatio, + i * t.browser.devicePixelRatio, + a * t.browser.devicePixelRatio + ), + s.clear({ color: o }), + l.disable(l.SCISSOR_TEST); + } + function mn(e, r, n) { + var i = e.context, + a = i.gl, + o = n.posMatrix, + s = e.useProgram('debug'), + l = Mt.disabled, + c = At.disabled, + u = e.colorModeForRenderPass(); + i.activeTexture.set(a.TEXTURE0), + e.emptyTexture.bind(a.LINEAR, a.CLAMP_TO_EDGE), + s.draw( + i, + a.LINE_STRIP, + l, + c, + u, + Et.disabled, + Ir(o, t.Color.red), + '$debug', + e.debugBuffer, + e.tileBorderIndexBuffer, + e.debugSegments + ); + var f = r.getTileByID(n.key).latestRawTileData, + h = Math.floor(((f && f.byteLength) || 0) / 1024), + p = r.getTile(n).tileSize, + d = + (512 / Math.min(p, 512)) * + (n.overscaledZ / e.transform.zoom) * + 0.5, + g = n.canonical.toString(); + n.overscaledZ !== n.canonical.z && + (g += ' => ' + n.overscaledZ), + (function (t, e) { + t.initDebugOverlayCanvas(); + var r = t.debugOverlayCanvas, + n = t.context.gl, + i = t.debugOverlayCanvas.getContext('2d'); + i.clearRect(0, 0, r.width, r.height), + (i.shadowColor = 'white'), + (i.shadowBlur = 2), + (i.lineWidth = 1.5), + (i.strokeStyle = 'white'), + (i.textBaseline = 'top'), + (i.font = 'bold 36px Open Sans, sans-serif'), + i.fillText(e, 5, 5), + i.strokeText(e, 5, 5), + t.debugOverlayTexture.update(r), + t.debugOverlayTexture.bind(n.LINEAR, n.CLAMP_TO_EDGE); + })(e, g + ' ' + h + 'kb'), + s.draw( + i, + a.TRIANGLES, + l, + c, + St.alphaBlended, + Et.disabled, + Ir(o, t.Color.transparent, d), + '$debug', + e.debugBuffer, + e.quadTriangleIndexBuffer, + e.debugSegments + ); + } + var vn = { + symbol: function (e, r, n, i, a) { + if ('translucent' === e.renderPass) { + var o = At.disabled, + s = e.colorModeForRenderPass(); + n.layout.get('text-variable-anchor') && + (function (e, r, n, i, a, o, s) { + for ( + var l = r.transform, + c = 'map' === a, + u = 'map' === o, + f = 0, + h = e; + f < h.length; + f += 1 + ) { + var p = h[f], + d = i.getTile(p), + g = d.getBucket(n); + if (g && g.text && g.text.segments.get().length) { + var m = t.evaluateSizeForZoom( + g.textSizeData, + l.zoom + ), + v = he(d, 1, r.transform.zoom), + y = Kt(p.posMatrix, u, c, r.transform, v), + x = + 'none' !== n.layout.get('icon-text-fit') && + g.hasIconData(); + if (m) { + var b = Math.pow( + 2, + l.zoom - d.tileID.overscaledZ + ); + Qr( + g, + c, + u, + s, + t.symbolSize, + l, + y, + p.posMatrix, + b, + m, + x + ); + } + } + } + })( + i, + e, + n, + r, + n.layout.get('text-rotation-alignment'), + n.layout.get('text-pitch-alignment'), + a + ), + 0 !== n.paint.get('icon-opacity').constantOr(1) && + tn( + e, + r, + n, + i, + !1, + n.paint.get('icon-translate'), + n.paint.get('icon-translate-anchor'), + n.layout.get('icon-rotation-alignment'), + n.layout.get('icon-pitch-alignment'), + n.layout.get('icon-keep-upright'), + o, + s + ), + 0 !== n.paint.get('text-opacity').constantOr(1) && + tn( + e, + r, + n, + i, + !0, + n.paint.get('text-translate'), + n.paint.get('text-translate-anchor'), + n.layout.get('text-rotation-alignment'), + n.layout.get('text-pitch-alignment'), + n.layout.get('text-keep-upright'), + o, + s + ), + r.map.showCollisionBoxes && + (Zr( + e, + r, + n, + i, + n.paint.get('text-translate'), + n.paint.get('text-translate-anchor'), + !0 + ), + Zr( + e, + r, + n, + i, + n.paint.get('icon-translate'), + n.paint.get('icon-translate-anchor'), + !1 + )); + } + }, + circle: function (e, r, n, i) { + if ('translucent' === e.renderPass) { + var a = n.paint.get('circle-opacity'), + o = n.paint.get('circle-stroke-width'), + s = n.paint.get('circle-stroke-opacity'), + l = + void 0 !== + n.layout.get('circle-sort-key').constantOr(1); + if ( + 0 !== a.constantOr(1) || + (0 !== o.constantOr(1) && 0 !== s.constantOr(1)) + ) { + for ( + var c = e.context, + u = c.gl, + f = e.depthModeForSublayer(0, Mt.ReadOnly), + h = At.disabled, + p = e.colorModeForRenderPass(), + d = [], + g = 0; + g < i.length; + g++ + ) { + var m = i[g], + v = r.getTile(m), + y = v.getBucket(n); + if (y) { + var x = y.programConfigurations.get(n.id), + b = { + programConfiguration: x, + program: e.useProgram('circle', x), + layoutVertexBuffer: y.layoutVertexBuffer, + indexBuffer: y.indexBuffer, + uniformValues: Er(e, m, v, n), + }; + if (l) + for ( + var _ = 0, w = y.segments.get(); + _ < w.length; + _ += 1 + ) { + var T = w[_]; + d.push({ + segments: new t.SegmentVector([T]), + sortKey: T.sortKey, + state: b, + }); + } + else + d.push({ + segments: y.segments, + sortKey: 0, + state: b, + }); + } + } + l && + d.sort(function (t, e) { + return t.sortKey - e.sortKey; + }); + for (var k = 0, M = d; k < M.length; k += 1) { + var A = M[k], + S = A.state; + S.program.draw( + c, + u.TRIANGLES, + f, + h, + p, + Et.disabled, + S.uniformValues, + n.id, + S.layoutVertexBuffer, + S.indexBuffer, + A.segments, + n.paint, + e.transform.zoom, + S.programConfiguration + ); + } + } + } + }, + heatmap: function (e, r, n, i) { + if (0 !== n.paint.get('heatmap-opacity')) + if ('offscreen' === e.renderPass) { + var a = e.context, + o = a.gl, + s = At.disabled, + l = new St([o.ONE, o.ONE], t.Color.transparent, [ + !0, + !0, + !0, + !0, + ]); + !(function (t, e, r) { + var n = t.gl; + t.activeTexture.set(n.TEXTURE1), + t.viewport.set([0, 0, e.width / 4, e.height / 4]); + var i = r.heatmapFbo; + if (i) + n.bindTexture( + n.TEXTURE_2D, + i.colorAttachment.get() + ), + t.bindFramebuffer.set(i.framebuffer); + else { + var a = n.createTexture(); + n.bindTexture(n.TEXTURE_2D, a), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_WRAP_S, + n.CLAMP_TO_EDGE + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_WRAP_T, + n.CLAMP_TO_EDGE + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MIN_FILTER, + n.LINEAR + ), + n.texParameteri( + n.TEXTURE_2D, + n.TEXTURE_MAG_FILTER, + n.LINEAR + ), + (i = r.heatmapFbo = + t.createFramebuffer( + e.width / 4, + e.height / 4, + !1 + )), + (function (t, e, r, n) { + var i = t.gl; + i.texImage2D( + i.TEXTURE_2D, + 0, + i.RGBA, + e.width / 4, + e.height / 4, + 0, + i.RGBA, + t.extRenderToTextureHalfFloat + ? t.extTextureHalfFloat.HALF_FLOAT_OES + : i.UNSIGNED_BYTE, + null + ), + n.colorAttachment.set(r); + })(t, e, a, i); + } + })(a, e, n), + a.clear({ color: t.Color.transparent }); + for (var c = 0; c < i.length; c++) { + var u = i[c]; + if (!r.hasRenderableParent(u)) { + var f = r.getTile(u), + h = f.getBucket(n); + if (h) { + var p = h.programConfigurations.get(n.id); + e.useProgram('heatmap', p).draw( + a, + o.TRIANGLES, + Mt.disabled, + s, + l, + Et.disabled, + zr( + u.posMatrix, + f, + e.transform.zoom, + n.paint.get('heatmap-intensity') + ), + n.id, + h.layoutVertexBuffer, + h.indexBuffer, + h.segments, + n.paint, + e.transform.zoom, + p + ); + } + } + } + a.viewport.set([0, 0, e.width, e.height]); + } else + 'translucent' === e.renderPass && + (e.context.setColorMode(e.colorModeForRenderPass()), + (function (e, r) { + var n = e.context, + i = n.gl, + a = r.heatmapFbo; + if (a) { + n.activeTexture.set(i.TEXTURE0), + i.bindTexture( + i.TEXTURE_2D, + a.colorAttachment.get() + ), + n.activeTexture.set(i.TEXTURE1); + var o = r.colorRampTexture; + o || + (o = r.colorRampTexture = + new t.Texture(n, r.colorRamp, i.RGBA)), + o.bind(i.LINEAR, i.CLAMP_TO_EDGE), + e.useProgram('heatmapTexture').draw( + n, + i.TRIANGLES, + Mt.disabled, + At.disabled, + e.colorModeForRenderPass(), + Et.disabled, + (function (e, r, n, i) { + var a = t.create(); + t.ortho(a, 0, e.width, e.height, 0, 0, 1); + var o = e.context.gl; + return { + u_matrix: a, + u_world: [ + o.drawingBufferWidth, + o.drawingBufferHeight, + ], + u_image: 0, + u_color_ramp: 1, + u_opacity: + r.paint.get('heatmap-opacity'), + }; + })(e, r), + r.id, + e.viewportBuffer, + e.quadTriangleIndexBuffer, + e.viewportSegments, + r.paint, + e.transform.zoom + ); + } + })(e, n)); + }, + line: function (e, r, n, i) { + if ('translucent' === e.renderPass) { + var a = n.paint.get('line-opacity'), + o = n.paint.get('line-width'); + if (0 !== a.constantOr(1) && 0 !== o.constantOr(1)) { + var s = e.depthModeForSublayer(0, Mt.ReadOnly), + l = e.colorModeForRenderPass(), + c = n.paint.get('line-dasharray'), + u = n.paint.get('line-pattern'), + f = u.constantOr(1), + h = n.paint.get('line-gradient'), + p = n.getCrossfadeParameters(), + d = f + ? 'linePattern' + : c + ? 'lineSDF' + : h + ? 'lineGradient' + : 'line', + g = e.context, + m = g.gl, + v = !0; + if (h) { + g.activeTexture.set(m.TEXTURE0); + var y = n.gradientTexture; + if (!n.gradient) return; + y || + (y = n.gradientTexture = + new t.Texture(g, n.gradient, m.RGBA)), + y.bind(m.LINEAR, m.CLAMP_TO_EDGE); + } + for (var x = 0, b = i; x < b.length; x += 1) { + var _ = b[x], + w = r.getTile(_); + if (!f || w.patternsLoaded()) { + var T = w.getBucket(n); + if (T) { + var k = T.programConfigurations.get(n.id), + M = e.context.program.get(), + A = e.useProgram(d, k), + S = v || A.program !== M, + E = u.constantOr(null); + if (E && w.imageAtlas) { + var C = w.imageAtlas, + L = C.patternPositions[E.to.toString()], + I = C.patternPositions[E.from.toString()]; + L && I && k.setConstantPatternPositions(L, I); + } + var P = f + ? Rr(e, w, n, p) + : c + ? Fr(e, w, n, c, p) + : h + ? Dr(e, w, n) + : Or(e, w, n); + f + ? (g.activeTexture.set(m.TEXTURE0), + w.imageAtlasTexture.bind( + m.LINEAR, + m.CLAMP_TO_EDGE + ), + k.updatePaintBuffers(p)) + : c && + (S || e.lineAtlas.dirty) && + (g.activeTexture.set(m.TEXTURE0), + e.lineAtlas.bind(g)), + A.draw( + g, + m.TRIANGLES, + s, + e.stencilModeForClipping(_), + l, + Et.disabled, + P, + n.id, + T.layoutVertexBuffer, + T.indexBuffer, + T.segments, + n.paint, + e.transform.zoom, + k + ), + (v = !1); + } + } + } + } + } + }, + fill: function (e, r, n, i) { + var a = n.paint.get('fill-color'), + o = n.paint.get('fill-opacity'); + if (0 !== o.constantOr(1)) { + var s = e.colorModeForRenderPass(), + l = n.paint.get('fill-pattern'), + c = + e.opaquePassEnabledForLayer() && + !l.constantOr(1) && + 1 === a.constantOr(t.Color.transparent).a && + 1 === o.constantOr(0) + ? 'opaque' + : 'translucent'; + if (e.renderPass === c) { + var u = e.depthModeForSublayer( + 1, + 'opaque' === e.renderPass + ? Mt.ReadWrite + : Mt.ReadOnly + ); + rn(e, r, n, i, u, s, !1); + } + if ( + 'translucent' === e.renderPass && + n.paint.get('fill-antialias') + ) { + var f = e.depthModeForSublayer( + n.getPaintProperty('fill-outline-color') ? 2 : 0, + Mt.ReadOnly + ); + rn(e, r, n, i, f, s, !0); + } + } + }, + 'fill-extrusion': function (t, e, r, n) { + var i = r.paint.get('fill-extrusion-opacity'); + if (0 !== i && 'translucent' === t.renderPass) { + var a = new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D + ); + if ( + 1 !== i || + r.paint.get('fill-extrusion-pattern').constantOr(1) + ) + nn(t, e, r, n, a, At.disabled, St.disabled), + nn( + t, + e, + r, + n, + a, + t.stencilModeFor3D(), + t.colorModeForRenderPass() + ); + else { + var o = t.colorModeForRenderPass(); + nn(t, e, r, n, a, At.disabled, o); + } + } + }, + hillshade: function (t, e, r, n) { + if ( + 'offscreen' === t.renderPass || + 'translucent' === t.renderPass + ) { + for ( + var i = t.context, + a = e.getSource().maxzoom, + o = t.depthModeForSublayer(0, Mt.ReadOnly), + s = t.colorModeForRenderPass(), + l = + 'translucent' === t.renderPass + ? t.stencilConfigForOverlap(n) + : [{}, n], + c = l[0], + u = 0, + f = l[1]; + u < f.length; + u += 1 + ) { + var h = f[u], + p = e.getTile(h); + p.needsHillshadePrepare && + 'offscreen' === t.renderPass + ? on(t, p, r, a, o, At.disabled, s) + : 'translucent' === t.renderPass && + an(t, p, r, o, c[h.overscaledZ], s); + } + i.viewport.set([0, 0, t.width, t.height]); + } + }, + raster: function (t, e, r, n) { + if ( + 'translucent' === t.renderPass && + 0 !== r.paint.get('raster-opacity') && + n.length + ) + for ( + var i = t.context, + a = i.gl, + o = e.getSource(), + s = t.useProgram('raster'), + l = t.colorModeForRenderPass(), + c = + o instanceof P + ? [{}, n] + : t.stencilConfigForOverlap(n), + u = c[0], + f = c[1], + h = f[f.length - 1].overscaledZ, + p = !t.options.moving, + d = 0, + g = f; + d < g.length; + d += 1 + ) { + var m = g[d], + v = t.depthModeForSublayer( + m.overscaledZ - h, + 1 === r.paint.get('raster-opacity') + ? Mt.ReadWrite + : Mt.ReadOnly, + a.LESS + ), + y = e.getTile(m), + x = t.transform.calculatePosMatrix( + m.toUnwrapped(), + p + ); + y.registerFadeDuration( + r.paint.get('raster-fade-duration') + ); + var b = e.findLoadedParent(m, 0), + _ = sn(y, b, e, r, t.transform), + w = void 0, + T = void 0, + k = + 'nearest' === r.paint.get('raster-resampling') + ? a.NEAREST + : a.LINEAR; + i.activeTexture.set(a.TEXTURE0), + y.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST + ), + i.activeTexture.set(a.TEXTURE1), + b + ? (b.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST + ), + (w = Math.pow( + 2, + b.tileID.overscaledZ - y.tileID.overscaledZ + )), + (T = [ + (y.tileID.canonical.x * w) % 1, + (y.tileID.canonical.y * w) % 1, + ])) + : y.texture.bind( + k, + a.CLAMP_TO_EDGE, + a.LINEAR_MIPMAP_NEAREST + ); + var M = jr(x, T || [0, 0], w || 1, _, r); + o instanceof P + ? s.draw( + i, + a.TRIANGLES, + v, + At.disabled, + l, + Et.disabled, + M, + r.id, + o.boundsBuffer, + t.quadTriangleIndexBuffer, + o.boundsSegments + ) + : s.draw( + i, + a.TRIANGLES, + v, + u[m.overscaledZ], + l, + Et.disabled, + M, + r.id, + t.rasterBoundsBuffer, + t.quadTriangleIndexBuffer, + t.rasterBoundsSegments + ); + } + }, + background: function (t, e, r) { + var n = r.paint.get('background-color'), + i = r.paint.get('background-opacity'); + if (0 !== i) { + var a = t.context, + o = a.gl, + s = t.transform, + l = s.tileSize, + c = r.paint.get('background-pattern'); + if (!t.isPatternMissing(c)) { + var u = + !c && + 1 === n.a && + 1 === i && + t.opaquePassEnabledForLayer() + ? 'opaque' + : 'translucent'; + if (t.renderPass === u) { + var f = At.disabled, + h = t.depthModeForSublayer( + 0, + 'opaque' === u ? Mt.ReadWrite : Mt.ReadOnly + ), + p = t.colorModeForRenderPass(), + d = t.useProgram( + c ? 'backgroundPattern' : 'background' + ), + g = s.coveringTiles({ tileSize: l }); + c && + (a.activeTexture.set(o.TEXTURE0), + t.imageManager.bind(t.context)); + for ( + var m = r.getCrossfadeParameters(), v = 0, y = g; + v < y.length; + v += 1 + ) { + var x = y[v], + b = t.transform.calculatePosMatrix( + x.toUnwrapped() + ), + _ = c + ? Wr( + b, + i, + t, + c, + { tileID: x, tileSize: l }, + m + ) + : Yr(b, i, n); + d.draw( + a, + o.TRIANGLES, + h, + f, + p, + Et.disabled, + _, + r.id, + t.tileExtentBuffer, + t.quadTriangleIndexBuffer, + t.tileExtentSegments + ); + } + } + } + } + }, + debug: function (t, e, r) { + for (var n = 0; n < r.length; n++) mn(t, e, r[n]); + }, + custom: function (t, e, r) { + var n = t.context, + i = r.implementation; + if ('offscreen' === t.renderPass) { + var a = i.prerender; + a && + (t.setCustomLayerDefaults(), + n.setColorMode(t.colorModeForRenderPass()), + a.call(i, n.gl, t.transform.customLayerMatrix()), + n.setDirty(), + t.setBaseState()); + } else if ('translucent' === t.renderPass) { + t.setCustomLayerDefaults(), + n.setColorMode(t.colorModeForRenderPass()), + n.setStencilMode(At.disabled); + var o = + '3d' === i.renderingMode + ? new Mt( + t.context.gl.LEQUAL, + Mt.ReadWrite, + t.depthRangeFor3D + ) + : t.depthModeForSublayer(0, Mt.ReadOnly); + n.setDepthMode(o), + i.render(n.gl, t.transform.customLayerMatrix()), + n.setDirty(), + t.setBaseState(), + n.bindFramebuffer.set(null); + } + }, + }, + yn = function (t, e) { + (this.context = new Ct(t)), + (this.transform = e), + (this._tileTextures = {}), + this.setup(), + (this.numSublayers = + Lt.maxUnderzooming + Lt.maxOverzooming + 1), + (this.depthEpsilon = 1 / Math.pow(2, 16)), + (this.crossTileSymbolIndex = new Be()), + (this.gpuTimers = {}); + }; + (yn.prototype.resize = function (e, r) { + if ( + ((this.width = e * t.browser.devicePixelRatio), + (this.height = r * t.browser.devicePixelRatio), + this.context.viewport.set([0, 0, this.width, this.height]), + this.style) + ) + for (var n = 0, i = this.style._order; n < i.length; n += 1) + this.style._layers[i[n]].resize(); + }), + (yn.prototype.setup = function () { + var e = this.context, + r = new t.StructArrayLayout2i4(); + r.emplaceBack(0, 0), + r.emplaceBack(t.EXTENT, 0), + r.emplaceBack(0, t.EXTENT), + r.emplaceBack(t.EXTENT, t.EXTENT), + (this.tileExtentBuffer = e.createVertexBuffer( + r, + He.members + )), + (this.tileExtentSegments = t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2 + )); + var n = new t.StructArrayLayout2i4(); + n.emplaceBack(0, 0), + n.emplaceBack(t.EXTENT, 0), + n.emplaceBack(0, t.EXTENT), + n.emplaceBack(t.EXTENT, t.EXTENT), + (this.debugBuffer = e.createVertexBuffer(n, He.members)), + (this.debugSegments = t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 5 + )); + var i = new t.StructArrayLayout4i8(); + i.emplaceBack(0, 0, 0, 0), + i.emplaceBack(t.EXTENT, 0, t.EXTENT, 0), + i.emplaceBack(0, t.EXTENT, 0, t.EXTENT), + i.emplaceBack(t.EXTENT, t.EXTENT, t.EXTENT, t.EXTENT), + (this.rasterBoundsBuffer = e.createVertexBuffer( + i, + I.members + )), + (this.rasterBoundsSegments = + t.SegmentVector.simpleSegment(0, 0, 4, 2)); + var a = new t.StructArrayLayout2i4(); + a.emplaceBack(0, 0), + a.emplaceBack(1, 0), + a.emplaceBack(0, 1), + a.emplaceBack(1, 1), + (this.viewportBuffer = e.createVertexBuffer( + a, + He.members + )), + (this.viewportSegments = t.SegmentVector.simpleSegment( + 0, + 0, + 4, + 2 + )); + var o = new t.StructArrayLayout1ui2(); + o.emplaceBack(0), + o.emplaceBack(1), + o.emplaceBack(3), + o.emplaceBack(2), + o.emplaceBack(0), + (this.tileBorderIndexBuffer = e.createIndexBuffer(o)); + var s = new t.StructArrayLayout3ui6(); + s.emplaceBack(0, 1, 2), + s.emplaceBack(2, 1, 3), + (this.quadTriangleIndexBuffer = e.createIndexBuffer(s)), + (this.emptyTexture = new t.Texture( + e, + { + width: 1, + height: 1, + data: new Uint8Array([0, 0, 0, 0]), + }, + e.gl.RGBA + )); + var l = this.context.gl; + this.stencilClearMode = new At( + { func: l.ALWAYS, mask: 0 }, + 0, + 255, + l.ZERO, + l.ZERO, + l.ZERO + ); + }), + (yn.prototype.clearStencil = function () { + var e = this.context, + r = e.gl; + (this.nextStencilID = 1), + (this.currentStencilSource = void 0); + var n = t.create(); + t.ortho(n, 0, this.width, this.height, 0, 0, 1), + t.scale(n, n, [ + r.drawingBufferWidth, + r.drawingBufferHeight, + 0, + ]), + this.useProgram('clippingMask').draw( + e, + r.TRIANGLES, + Mt.disabled, + this.stencilClearMode, + St.disabled, + Et.disabled, + Pr(n), + '$clipping', + this.viewportBuffer, + this.quadTriangleIndexBuffer, + this.viewportSegments + ); + }), + (yn.prototype._renderTileClippingMasks = function (t, e) { + if ( + this.currentStencilSource !== t.source && + t.isTileClipped() && + e && + e.length + ) { + this.currentStencilSource = t.source; + var r = this.context, + n = r.gl; + this.nextStencilID + e.length > 256 && + this.clearStencil(), + r.setColorMode(St.disabled), + r.setDepthMode(Mt.disabled); + var i = this.useProgram('clippingMask'); + this._tileClippingMaskIDs = {}; + for (var a = 0, o = e; a < o.length; a += 1) { + var s = o[a], + l = (this._tileClippingMaskIDs[s.key] = this + .nextStencilID++); + i.draw( + r, + n.TRIANGLES, + Mt.disabled, + new At( + { func: n.ALWAYS, mask: 0 }, + l, + 255, + n.KEEP, + n.KEEP, + n.REPLACE + ), + St.disabled, + Et.disabled, + Pr(s.posMatrix), + '$clipping', + this.tileExtentBuffer, + this.quadTriangleIndexBuffer, + this.tileExtentSegments + ); + } + } + }), + (yn.prototype.stencilModeFor3D = function () { + (this.currentStencilSource = void 0), + this.nextStencilID + 1 > 256 && this.clearStencil(); + var t = this.nextStencilID++, + e = this.context.gl; + return new At( + { func: e.NOTEQUAL, mask: 255 }, + t, + 255, + e.KEEP, + e.KEEP, + e.REPLACE + ); + }), + (yn.prototype.stencilModeForClipping = function (t) { + var e = this.context.gl; + return new At( + { func: e.EQUAL, mask: 255 }, + this._tileClippingMaskIDs[t.key], + 0, + e.KEEP, + e.KEEP, + e.REPLACE + ); + }), + (yn.prototype.stencilConfigForOverlap = function (t) { + var e, + r = this.context.gl, + n = t.sort(function (t, e) { + return e.overscaledZ - t.overscaledZ; + }), + i = n[n.length - 1].overscaledZ, + a = n[0].overscaledZ - i + 1; + if (a > 1) { + (this.currentStencilSource = void 0), + this.nextStencilID + a > 256 && this.clearStencil(); + for (var o = {}, s = 0; s < a; s++) + o[s + i] = new At( + { func: r.GEQUAL, mask: 255 }, + s + this.nextStencilID, + 255, + r.KEEP, + r.KEEP, + r.REPLACE + ); + return (this.nextStencilID += a), [o, n]; + } + return [((e = {}), (e[i] = At.disabled), e), n]; + }), + (yn.prototype.colorModeForRenderPass = function () { + var e = this.context.gl; + return this._showOverdrawInspector + ? new St( + [e.CONSTANT_COLOR, e.ONE], + new t.Color(1 / 8, 1 / 8, 1 / 8, 0), + [!0, !0, !0, !0] + ) + : 'opaque' === this.renderPass + ? St.unblended + : St.alphaBlended; + }), + (yn.prototype.depthModeForSublayer = function (t, e, r) { + if (!this.opaquePassEnabledForLayer()) return Mt.disabled; + var n = + 1 - + ((1 + this.currentLayer) * this.numSublayers + t) * + this.depthEpsilon; + return new Mt(r || this.context.gl.LEQUAL, e, [n, n]); + }), + (yn.prototype.opaquePassEnabledForLayer = function () { + return this.currentLayer < this.opaquePassCutoff; + }), + (yn.prototype.render = function (e, r) { + var n = this; + (this.style = e), + (this.options = r), + (this.lineAtlas = e.lineAtlas), + (this.imageManager = e.imageManager), + (this.glyphManager = e.glyphManager), + (this.symbolFadeChange = e.placement.symbolFadeChange( + t.browser.now() + )), + this.imageManager.beginFrame(); + var i = this.style._order, + a = this.style.sourceCaches; + for (var o in a) { + var s = a[o]; + s.used && s.prepare(this.context); + } + var l, + c, + u = {}, + f = {}, + h = {}; + for (var p in a) { + var d = a[p]; + (u[p] = d.getVisibleCoordinates()), + (f[p] = u[p].slice().reverse()), + (h[p] = d.getVisibleCoordinates(!0).reverse()); + } + this.opaquePassCutoff = 1 / 0; + for (var g = 0; g < i.length; g++) + if (this.style._layers[i[g]].is3D()) { + this.opaquePassCutoff = g; + break; + } + this.renderPass = 'offscreen'; + for (var m = 0, v = i; m < v.length; m += 1) { + var y = this.style._layers[v[m]]; + if ( + y.hasOffscreenPass() && + !y.isHidden(this.transform.zoom) + ) { + var x = f[y.source]; + ('custom' === y.type || x.length) && + this.renderLayer(this, a[y.source], y, x); + } + } + for ( + this.context.bindFramebuffer.set(null), + this.context.clear({ + color: r.showOverdrawInspector + ? t.Color.black + : t.Color.transparent, + depth: 1, + }), + this.clearStencil(), + this._showOverdrawInspector = r.showOverdrawInspector, + this.depthRangeFor3D = [ + 0, + 1 - + (e._order.length + 2) * + this.numSublayers * + this.depthEpsilon, + ], + this.renderPass = 'opaque', + this.currentLayer = i.length - 1; + this.currentLayer >= 0; + this.currentLayer-- + ) { + var b = this.style._layers[i[this.currentLayer]], + _ = a[b.source], + w = u[b.source]; + this._renderTileClippingMasks(b, w), + this.renderLayer(this, _, b, w); + } + for ( + this.renderPass = 'translucent', this.currentLayer = 0; + this.currentLayer < i.length; + this.currentLayer++ + ) { + var T = this.style._layers[i[this.currentLayer]], + k = a[T.source], + M = ('symbol' === T.type ? h : f)[T.source]; + this._renderTileClippingMasks(T, u[T.source]), + this.renderLayer(this, k, T, M); + } + this.options.showTileBoundaries && + (t.values(this.style._layers).forEach(function (t) { + t.source && + !t.isHidden(n.transform.zoom) && + (t.source !== (c && c.id) && + (c = n.style.sourceCaches[t.source]), + (!l || + l.getSource().maxzoom < c.getSource().maxzoom) && + (l = c)); + }), + l && vn.debug(this, l, l.getVisibleCoordinates())), + this.options.showPadding && + (function (t) { + var e = t.transform.padding; + pn(t, t.transform.height - (e.top || 0), 3, ln), + pn(t, e.bottom || 0, 3, cn), + dn(t, e.left || 0, 3, un), + dn(t, t.transform.width - (e.right || 0), 3, fn); + var r = t.transform.centerPoint; + !(function (t, e, r, n) { + gn(t, e - 1, r - 10, 2, 20, n), + gn(t, e - 10, r - 1, 20, 2, n); + })(t, r.x, t.transform.height - r.y, hn); + })(this), + this.context.setDefault(); + }), + (yn.prototype.renderLayer = function (t, e, r, n) { + r.isHidden(this.transform.zoom) || + (('background' === r.type || + 'custom' === r.type || + n.length) && + ((this.id = r.id), + this.gpuTimingStart(r), + vn[r.type]( + t, + e, + r, + n, + this.style.placement.variableOffsets + ), + this.gpuTimingEnd())); + }), + (yn.prototype.gpuTimingStart = function (t) { + if (this.options.gpuTiming) { + var e = this.context.extTimerQuery, + r = this.gpuTimers[t.id]; + r || + (r = this.gpuTimers[t.id] = + { calls: 0, cpuTime: 0, query: e.createQueryEXT() }), + r.calls++, + e.beginQueryEXT(e.TIME_ELAPSED_EXT, r.query); + } + }), + (yn.prototype.gpuTimingEnd = function () { + if (this.options.gpuTiming) { + var t = this.context.extTimerQuery; + t.endQueryEXT(t.TIME_ELAPSED_EXT); + } + }), + (yn.prototype.collectGpuTimers = function () { + var t = this.gpuTimers; + return (this.gpuTimers = {}), t; + }), + (yn.prototype.queryGpuTimers = function (t) { + var e = {}; + for (var r in t) { + var n = t[r], + i = this.context.extTimerQuery, + a = + i.getQueryObjectEXT(n.query, i.QUERY_RESULT_EXT) / + 1e6; + i.deleteQueryEXT(n.query), (e[r] = a); + } + return e; + }), + (yn.prototype.translatePosMatrix = function (e, r, n, i, a) { + if (!n[0] && !n[1]) return e; + var o = a + ? 'map' === i + ? this.transform.angle + : 0 + : 'viewport' === i + ? -this.transform.angle + : 0; + if (o) { + var s = Math.sin(o), + l = Math.cos(o); + n = [n[0] * l - n[1] * s, n[0] * s + n[1] * l]; + } + var c = [ + a ? n[0] : he(r, n[0], this.transform.zoom), + a ? n[1] : he(r, n[1], this.transform.zoom), + 0, + ], + u = new Float32Array(16); + return t.translate(u, e, c), u; + }), + (yn.prototype.saveTileTexture = function (t) { + var e = this._tileTextures[t.size[0]]; + e ? e.push(t) : (this._tileTextures[t.size[0]] = [t]); + }), + (yn.prototype.getTileTexture = function (t) { + var e = this._tileTextures[t]; + return e && e.length > 0 ? e.pop() : null; + }), + (yn.prototype.isPatternMissing = function (t) { + if (!t) return !1; + if (!t.from || !t.to) return !0; + var e = this.imageManager.getPattern(t.from.toString()), + r = this.imageManager.getPattern(t.to.toString()); + return !e || !r; + }), + (yn.prototype.useProgram = function (t, e) { + this.cache = this.cache || {}; + var r = + '' + + t + + (e ? e.cacheKey : '') + + (this._showOverdrawInspector ? '/overdraw' : ''); + return ( + this.cache[r] || + (this.cache[r] = new br( + this.context, + yr[t], + e, + Xr[t], + this._showOverdrawInspector + )), + this.cache[r] + ); + }), + (yn.prototype.setCustomLayerDefaults = function () { + this.context.unbindVAO(), + this.context.cullFace.setDefault(), + this.context.activeTexture.setDefault(), + this.context.pixelStoreUnpack.setDefault(), + this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(), + this.context.pixelStoreUnpackFlipY.setDefault(); + }), + (yn.prototype.setBaseState = function () { + var t = this.context.gl; + this.context.cullFace.set(!1), + this.context.viewport.set([ + 0, + 0, + this.width, + this.height, + ]), + this.context.blendEquation.set(t.FUNC_ADD); + }), + (yn.prototype.initDebugOverlayCanvas = function () { + null == this.debugOverlayCanvas && + ((this.debugOverlayCanvas = + t.window.document.createElement('canvas')), + (this.debugOverlayCanvas.width = 512), + (this.debugOverlayCanvas.height = 512), + (this.debugOverlayTexture = new t.Texture( + this.context, + this.debugOverlayCanvas, + this.context.gl.RGBA + ))); + }), + (yn.prototype.destroy = function () { + this.emptyTexture.destroy(), + this.debugOverlayTexture && + this.debugOverlayTexture.destroy(); + }); + var xn = function (t, e) { + (this.points = t), (this.planes = e); + }; + xn.fromInvProjectionMatrix = function (e, r, n) { + var i = Math.pow(2, n), + a = [ + [-1, 1, -1, 1], + [1, 1, -1, 1], + [1, -1, -1, 1], + [-1, -1, -1, 1], + [-1, 1, 1, 1], + [1, 1, 1, 1], + [1, -1, 1, 1], + [-1, -1, 1, 1], + ] + .map(function (r) { + return t.transformMat4([], r, e); + }) + .map(function (e) { + return t.scale$1([], e, (1 / e[3] / r) * i); + }), + o = [ + [0, 1, 2], + [6, 5, 4], + [0, 3, 7], + [2, 1, 5], + [3, 2, 6], + [0, 4, 5], + ].map(function (e) { + var r = t.sub([], a[e[0]], a[e[1]]), + n = t.sub([], a[e[2]], a[e[1]]), + i = t.normalize([], t.cross([], r, n)), + o = -t.dot(i, a[e[1]]); + return i.concat(o); + }); + return new xn(a, o); + }; + var bn = function (e, r) { + (this.min = e), + (this.max = r), + (this.center = t.scale$2( + [], + t.add([], this.min, this.max), + 0.5 + )); + }; + (bn.prototype.quadrant = function (e) { + for ( + var r = [e % 2 == 0, e < 2], + n = t.clone$2(this.min), + i = t.clone$2(this.max), + a = 0; + a < r.length; + a++ + ) + (n[a] = r[a] ? this.min[a] : this.center[a]), + (i[a] = r[a] ? this.center[a] : this.max[a]); + return (i[2] = this.max[2]), new bn(n, i); + }), + (bn.prototype.distanceX = function (t) { + return ( + Math.max(Math.min(this.max[0], t[0]), this.min[0]) - t[0] + ); + }), + (bn.prototype.distanceY = function (t) { + return ( + Math.max(Math.min(this.max[1], t[1]), this.min[1]) - t[1] + ); + }), + (bn.prototype.intersects = function (e) { + for ( + var r = [ + [this.min[0], this.min[1], 0, 1], + [this.max[0], this.min[1], 0, 1], + [this.max[0], this.max[1], 0, 1], + [this.min[0], this.max[1], 0, 1], + ], + n = !0, + i = 0; + i < e.planes.length; + i++ + ) { + for (var a = e.planes[i], o = 0, s = 0; s < r.length; s++) + o += t.dot$1(a, r[s]) >= 0; + if (0 === o) return 0; + o !== r.length && (n = !1); + } + if (n) return 2; + for (var l = 0; l < 3; l++) { + for ( + var c = Number.MAX_VALUE, u = -Number.MAX_VALUE, f = 0; + f < e.points.length; + f++ + ) { + var h = e.points[f][l] - this.min[l]; + (c = Math.min(c, h)), (u = Math.max(u, h)); + } + if (u < 0 || c > this.max[l] - this.min[l]) return 0; + } + return 1; + }); + var _n = function (t, e, r, n) { + if ( + (void 0 === t && (t = 0), + void 0 === e && (e = 0), + void 0 === r && (r = 0), + void 0 === n && (n = 0), + isNaN(t) || + t < 0 || + isNaN(e) || + e < 0 || + isNaN(r) || + r < 0 || + isNaN(n) || + n < 0) + ) + throw new Error( + 'Invalid value for edge-insets, top, bottom, left and right must all be numbers' + ); + (this.top = t), + (this.bottom = e), + (this.left = r), + (this.right = n); + }; + (_n.prototype.interpolate = function (e, r, n) { + return ( + null != r.top && + null != e.top && + (this.top = t.number(e.top, r.top, n)), + null != r.bottom && + null != e.bottom && + (this.bottom = t.number(e.bottom, r.bottom, n)), + null != r.left && + null != e.left && + (this.left = t.number(e.left, r.left, n)), + null != r.right && + null != e.right && + (this.right = t.number(e.right, r.right, n)), + this + ); + }), + (_n.prototype.getCenter = function (e, r) { + var n = t.clamp((this.left + e - this.right) / 2, 0, e), + i = t.clamp((this.top + r - this.bottom) / 2, 0, r); + return new t.Point(n, i); + }), + (_n.prototype.equals = function (t) { + return ( + this.top === t.top && + this.bottom === t.bottom && + this.left === t.left && + this.right === t.right + ); + }), + (_n.prototype.clone = function () { + return new _n(this.top, this.bottom, this.left, this.right); + }), + (_n.prototype.toJSON = function () { + return { + top: this.top, + bottom: this.bottom, + left: this.left, + right: this.right, + }; + }); + var wn = function (e, r, n, i, a) { + (this.tileSize = 512), + (this.maxValidLatitude = 85.051129), + (this._renderWorldCopies = void 0 === a || a), + (this._minZoom = e || 0), + (this._maxZoom = r || 22), + (this._minPitch = null == n ? 0 : n), + (this._maxPitch = null == i ? 60 : i), + this.setMaxBounds(), + (this.width = 0), + (this.height = 0), + (this._center = new t.LngLat(0, 0)), + (this.zoom = 0), + (this.angle = 0), + (this._fov = 0.6435011087932844), + (this._pitch = 0), + (this._unmodified = !0), + (this._edgeInsets = new _n()), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + }, + Tn = { + minZoom: { configurable: !0 }, + maxZoom: { configurable: !0 }, + minPitch: { configurable: !0 }, + maxPitch: { configurable: !0 }, + renderWorldCopies: { configurable: !0 }, + worldSize: { configurable: !0 }, + centerOffset: { configurable: !0 }, + size: { configurable: !0 }, + bearing: { configurable: !0 }, + pitch: { configurable: !0 }, + fov: { configurable: !0 }, + zoom: { configurable: !0 }, + center: { configurable: !0 }, + padding: { configurable: !0 }, + centerPoint: { configurable: !0 }, + unmodified: { configurable: !0 }, + point: { configurable: !0 }, + }; + (wn.prototype.clone = function () { + var t = new wn( + this._minZoom, + this._maxZoom, + this._minPitch, + this.maxPitch, + this._renderWorldCopies + ); + return ( + (t.tileSize = this.tileSize), + (t.latRange = this.latRange), + (t.width = this.width), + (t.height = this.height), + (t._center = this._center), + (t.zoom = this.zoom), + (t.angle = this.angle), + (t._fov = this._fov), + (t._pitch = this._pitch), + (t._unmodified = this._unmodified), + (t._edgeInsets = this._edgeInsets.clone()), + t._calcMatrices(), + t + ); + }), + (Tn.minZoom.get = function () { + return this._minZoom; + }), + (Tn.minZoom.set = function (t) { + this._minZoom !== t && + ((this._minZoom = t), + (this.zoom = Math.max(this.zoom, t))); + }), + (Tn.maxZoom.get = function () { + return this._maxZoom; + }), + (Tn.maxZoom.set = function (t) { + this._maxZoom !== t && + ((this._maxZoom = t), + (this.zoom = Math.min(this.zoom, t))); + }), + (Tn.minPitch.get = function () { + return this._minPitch; + }), + (Tn.minPitch.set = function (t) { + this._minPitch !== t && + ((this._minPitch = t), + (this.pitch = Math.max(this.pitch, t))); + }), + (Tn.maxPitch.get = function () { + return this._maxPitch; + }), + (Tn.maxPitch.set = function (t) { + this._maxPitch !== t && + ((this._maxPitch = t), + (this.pitch = Math.min(this.pitch, t))); + }), + (Tn.renderWorldCopies.get = function () { + return this._renderWorldCopies; + }), + (Tn.renderWorldCopies.set = function (t) { + void 0 === t ? (t = !0) : null === t && (t = !1), + (this._renderWorldCopies = t); + }), + (Tn.worldSize.get = function () { + return this.tileSize * this.scale; + }), + (Tn.centerOffset.get = function () { + return this.centerPoint._sub(this.size._div(2)); + }), + (Tn.size.get = function () { + return new t.Point(this.width, this.height); + }), + (Tn.bearing.get = function () { + return (-this.angle / Math.PI) * 180; + }), + (Tn.bearing.set = function (e) { + var r = (-t.wrap(e, -180, 180) * Math.PI) / 180; + this.angle !== r && + ((this._unmodified = !1), + (this.angle = r), + this._calcMatrices(), + (this.rotationMatrix = t.create$2()), + t.rotate( + this.rotationMatrix, + this.rotationMatrix, + this.angle + )); + }), + (Tn.pitch.get = function () { + return (this._pitch / Math.PI) * 180; + }), + (Tn.pitch.set = function (e) { + var r = + (t.clamp(e, this.minPitch, this.maxPitch) / 180) * + Math.PI; + this._pitch !== r && + ((this._unmodified = !1), + (this._pitch = r), + this._calcMatrices()); + }), + (Tn.fov.get = function () { + return (this._fov / Math.PI) * 180; + }), + (Tn.fov.set = function (t) { + (t = Math.max(0.01, Math.min(60, t))), + this._fov !== t && + ((this._unmodified = !1), + (this._fov = (t / 180) * Math.PI), + this._calcMatrices()); + }), + (Tn.zoom.get = function () { + return this._zoom; + }), + (Tn.zoom.set = function (t) { + var e = Math.min(Math.max(t, this.minZoom), this.maxZoom); + this._zoom !== e && + ((this._unmodified = !1), + (this._zoom = e), + (this.scale = this.zoomScale(e)), + (this.tileZoom = Math.floor(e)), + (this.zoomFraction = e - this.tileZoom), + this._constrain(), + this._calcMatrices()); + }), + (Tn.center.get = function () { + return this._center; + }), + (Tn.center.set = function (t) { + (t.lat === this._center.lat && + t.lng === this._center.lng) || + ((this._unmodified = !1), + (this._center = t), + this._constrain(), + this._calcMatrices()); + }), + (Tn.padding.get = function () { + return this._edgeInsets.toJSON(); + }), + (Tn.padding.set = function (t) { + this._edgeInsets.equals(t) || + ((this._unmodified = !1), + this._edgeInsets.interpolate(this._edgeInsets, t, 1), + this._calcMatrices()); + }), + (Tn.centerPoint.get = function () { + return this._edgeInsets.getCenter(this.width, this.height); + }), + (wn.prototype.isPaddingEqual = function (t) { + return this._edgeInsets.equals(t); + }), + (wn.prototype.interpolatePadding = function (t, e, r) { + (this._unmodified = !1), + this._edgeInsets.interpolate(t, e, r), + this._constrain(), + this._calcMatrices(); + }), + (wn.prototype.coveringZoomLevel = function (t) { + var e = (t.roundZoom ? Math.round : Math.floor)( + this.zoom + this.scaleZoom(this.tileSize / t.tileSize) + ); + return Math.max(0, e); + }), + (wn.prototype.getVisibleUnwrappedCoordinates = function (e) { + var r = [new t.UnwrappedTileID(0, e)]; + if (this._renderWorldCopies) + for ( + var n = this.pointCoordinate(new t.Point(0, 0)), + i = this.pointCoordinate(new t.Point(this.width, 0)), + a = this.pointCoordinate( + new t.Point(this.width, this.height) + ), + o = this.pointCoordinate(new t.Point(0, this.height)), + s = Math.floor(Math.min(n.x, i.x, a.x, o.x)), + l = Math.floor(Math.max(n.x, i.x, a.x, o.x)), + c = s - 1; + c <= l + 1; + c++ + ) + 0 !== c && r.push(new t.UnwrappedTileID(c, e)); + return r; + }), + (wn.prototype.coveringTiles = function (e) { + var r = this.coveringZoomLevel(e), + n = r; + if (void 0 !== e.minzoom && r < e.minzoom) return []; + void 0 !== e.maxzoom && r > e.maxzoom && (r = e.maxzoom); + var i = t.MercatorCoordinate.fromLngLat(this.center), + a = Math.pow(2, r), + o = [a * i.x, a * i.y, 0], + s = xn.fromInvProjectionMatrix( + this.invProjMatrix, + this.worldSize, + r + ), + l = e.minzoom || 0; + this.pitch <= 60 && this._edgeInsets.top < 0.1 && (l = r); + var c = function (t) { + return { + aabb: new bn([t * a, 0, 0], [(t + 1) * a, a, 0]), + zoom: 0, + x: 0, + y: 0, + wrap: t, + fullyVisible: !1, + }; + }, + u = [], + f = [], + h = r, + p = e.reparseOverscaled ? n : r; + if (this._renderWorldCopies) + for (var d = 1; d <= 3; d++) u.push(c(-d)), u.push(c(d)); + for (u.push(c(0)); u.length > 0; ) { + var g = u.pop(), + m = g.x, + v = g.y, + y = g.fullyVisible; + if (!y) { + var x = g.aabb.intersects(s); + if (0 === x) continue; + y = 2 === x; + } + var b = g.aabb.distanceX(o), + _ = g.aabb.distanceY(o), + w = Math.max(Math.abs(b), Math.abs(_)); + if ( + g.zoom === h || + (w > 3 + (1 << (h - g.zoom)) - 2 && g.zoom >= l) + ) + f.push({ + tileID: new t.OverscaledTileID( + g.zoom === h ? p : g.zoom, + g.wrap, + g.zoom, + m, + v + ), + distanceSq: t.sqrLen([ + o[0] - 0.5 - m, + o[1] - 0.5 - v, + ]), + }); + else + for (var T = 0; T < 4; T++) { + var k = (m << 1) + (T % 2), + M = (v << 1) + (T >> 1); + u.push({ + aabb: g.aabb.quadrant(T), + zoom: g.zoom + 1, + x: k, + y: M, + wrap: g.wrap, + fullyVisible: y, + }); + } + } + return f + .sort(function (t, e) { + return t.distanceSq - e.distanceSq; + }) + .map(function (t) { + return t.tileID; + }); + }), + (wn.prototype.resize = function (t, e) { + (this.width = t), + (this.height = e), + (this.pixelsToGLUnits = [2 / t, -2 / e]), + this._constrain(), + this._calcMatrices(); + }), + (Tn.unmodified.get = function () { + return this._unmodified; + }), + (wn.prototype.zoomScale = function (t) { + return Math.pow(2, t); + }), + (wn.prototype.scaleZoom = function (t) { + return Math.log(t) / Math.LN2; + }), + (wn.prototype.project = function (e) { + var r = t.clamp( + e.lat, + -this.maxValidLatitude, + this.maxValidLatitude + ); + return new t.Point( + t.mercatorXfromLng(e.lng) * this.worldSize, + t.mercatorYfromLat(r) * this.worldSize + ); + }), + (wn.prototype.unproject = function (e) { + return new t.MercatorCoordinate( + e.x / this.worldSize, + e.y / this.worldSize + ).toLngLat(); + }), + (Tn.point.get = function () { + return this.project(this.center); + }), + (wn.prototype.setLocationAtPoint = function (e, r) { + var n = this.pointCoordinate(r), + i = this.pointCoordinate(this.centerPoint), + a = this.locationCoordinate(e), + o = new t.MercatorCoordinate( + a.x - (n.x - i.x), + a.y - (n.y - i.y) + ); + (this.center = this.coordinateLocation(o)), + this._renderWorldCopies && + (this.center = this.center.wrap()); + }), + (wn.prototype.locationPoint = function (t) { + return this.coordinatePoint(this.locationCoordinate(t)); + }), + (wn.prototype.pointLocation = function (t) { + return this.coordinateLocation(this.pointCoordinate(t)); + }), + (wn.prototype.locationCoordinate = function (e) { + return t.MercatorCoordinate.fromLngLat(e); + }), + (wn.prototype.coordinateLocation = function (t) { + return t.toLngLat(); + }), + (wn.prototype.pointCoordinate = function (e) { + var r = [e.x, e.y, 0, 1], + n = [e.x, e.y, 1, 1]; + t.transformMat4(r, r, this.pixelMatrixInverse), + t.transformMat4(n, n, this.pixelMatrixInverse); + var i = r[3], + a = n[3], + o = r[1] / i, + s = n[1] / a, + l = r[2] / i, + c = n[2] / a, + u = l === c ? 0 : (0 - l) / (c - l); + return new t.MercatorCoordinate( + t.number(r[0] / i, n[0] / a, u) / this.worldSize, + t.number(o, s, u) / this.worldSize + ); + }), + (wn.prototype.coordinatePoint = function (e) { + var r = [e.x * this.worldSize, e.y * this.worldSize, 0, 1]; + return ( + t.transformMat4(r, r, this.pixelMatrix), + new t.Point(r[0] / r[3], r[1] / r[3]) + ); + }), + (wn.prototype.getBounds = function () { + return new t.LngLatBounds() + .extend(this.pointLocation(new t.Point(0, 0))) + .extend(this.pointLocation(new t.Point(this.width, 0))) + .extend( + this.pointLocation(new t.Point(this.width, this.height)) + ) + .extend(this.pointLocation(new t.Point(0, this.height))); + }), + (wn.prototype.getMaxBounds = function () { + return this.latRange && + 2 === this.latRange.length && + this.lngRange && + 2 === this.lngRange.length + ? new t.LngLatBounds( + [this.lngRange[0], this.latRange[0]], + [this.lngRange[1], this.latRange[1]] + ) + : null; + }), + (wn.prototype.setMaxBounds = function (t) { + t + ? ((this.lngRange = [t.getWest(), t.getEast()]), + (this.latRange = [t.getSouth(), t.getNorth()]), + this._constrain()) + : ((this.lngRange = null), + (this.latRange = [ + -this.maxValidLatitude, + this.maxValidLatitude, + ])); + }), + (wn.prototype.calculatePosMatrix = function (e, r) { + void 0 === r && (r = !1); + var n = e.key, + i = r + ? this._alignedPosMatrixCache + : this._posMatrixCache; + if (i[n]) return i[n]; + var a = e.canonical, + o = this.worldSize / this.zoomScale(a.z), + s = a.x + Math.pow(2, a.z) * e.wrap, + l = t.identity(new Float64Array(16)); + return ( + t.translate(l, l, [s * o, a.y * o, 0]), + t.scale(l, l, [o / t.EXTENT, o / t.EXTENT, 1]), + t.multiply( + l, + r ? this.alignedProjMatrix : this.projMatrix, + l + ), + (i[n] = new Float32Array(l)), + i[n] + ); + }), + (wn.prototype.customLayerMatrix = function () { + return this.mercatorMatrix.slice(); + }), + (wn.prototype._constrain = function () { + if ( + this.center && + this.width && + this.height && + !this._constraining + ) { + this._constraining = !0; + var e, + r, + n, + i, + a = -90, + o = 90, + s = -180, + l = 180, + c = this.size, + u = this._unmodified; + if (this.latRange) { + var f = this.latRange; + (a = t.mercatorYfromLat(f[1]) * this.worldSize), + (e = + (o = t.mercatorYfromLat(f[0]) * this.worldSize) - + a < + c.y + ? c.y / (o - a) + : 0); + } + if (this.lngRange) { + var h = this.lngRange; + (s = t.mercatorXfromLng(h[0]) * this.worldSize), + (r = + (l = t.mercatorXfromLng(h[1]) * this.worldSize) - + s < + c.x + ? c.x / (l - s) + : 0); + } + var p = this.point, + d = Math.max(r || 0, e || 0); + if (d) + return ( + (this.center = this.unproject( + new t.Point( + r ? (l + s) / 2 : p.x, + e ? (o + a) / 2 : p.y + ) + )), + (this.zoom += this.scaleZoom(d)), + (this._unmodified = u), + void (this._constraining = !1) + ); + if (this.latRange) { + var g = p.y, + m = c.y / 2; + g - m < a && (i = a + m), g + m > o && (i = o - m); + } + if (this.lngRange) { + var v = p.x, + y = c.x / 2; + v - y < s && (n = s + y), v + y > l && (n = l - y); + } + (void 0 === n && void 0 === i) || + (this.center = this.unproject( + new t.Point( + void 0 !== n ? n : p.x, + void 0 !== i ? i : p.y + ) + )), + (this._unmodified = u), + (this._constraining = !1); + } + }), + (wn.prototype._calcMatrices = function () { + if (this.height) { + var e = this.centerOffset; + this.cameraToCenterDistance = + (0.5 / Math.tan(this._fov / 2)) * this.height; + var r = Math.PI / 2 + this._pitch, + n = this._fov * (0.5 + e.y / this.height), + i = + (Math.sin(n) * this.cameraToCenterDistance) / + Math.sin( + t.clamp(Math.PI - r - n, 0.01, Math.PI - 0.01) + ), + a = this.point, + o = a.x, + s = a.y, + l = + 1.01 * + (Math.cos(Math.PI / 2 - this._pitch) * i + + this.cameraToCenterDistance), + c = this.height / 50, + u = new Float64Array(16); + t.perspective( + u, + this._fov, + this.width / this.height, + c, + l + ), + (u[8] = (2 * -e.x) / this.width), + (u[9] = (2 * e.y) / this.height), + t.scale(u, u, [1, -1, 1]), + t.translate(u, u, [0, 0, -this.cameraToCenterDistance]), + t.rotateX(u, u, this._pitch), + t.rotateZ(u, u, this.angle), + t.translate(u, u, [-o, -s, 0]), + (this.mercatorMatrix = t.scale([], u, [ + this.worldSize, + this.worldSize, + this.worldSize, + ])), + t.scale(u, u, [ + 1, + 1, + t.mercatorZfromAltitude(1, this.center.lat) * + this.worldSize, + 1, + ]), + (this.projMatrix = u), + (this.invProjMatrix = t.invert([], this.projMatrix)); + var f = (this.width % 2) / 2, + h = (this.height % 2) / 2, + p = Math.cos(this.angle), + d = Math.sin(this.angle), + g = o - Math.round(o) + p * f + d * h, + m = s - Math.round(s) + p * h + d * f, + v = new Float64Array(u); + if ( + (t.translate(v, v, [ + g > 0.5 ? g - 1 : g, + m > 0.5 ? m - 1 : m, + 0, + ]), + (this.alignedProjMatrix = v), + (u = t.create()), + t.scale(u, u, [this.width / 2, -this.height / 2, 1]), + t.translate(u, u, [1, -1, 0]), + (this.labelPlaneMatrix = u), + (u = t.create()), + t.scale(u, u, [1, -1, 1]), + t.translate(u, u, [-1, -1, 0]), + t.scale(u, u, [2 / this.width, 2 / this.height, 1]), + (this.glCoordMatrix = u), + (this.pixelMatrix = t.multiply( + new Float64Array(16), + this.labelPlaneMatrix, + this.projMatrix + )), + !(u = t.invert(new Float64Array(16), this.pixelMatrix))) + ) + throw new Error('failed to invert matrix'); + (this.pixelMatrixInverse = u), + (this._posMatrixCache = {}), + (this._alignedPosMatrixCache = {}); + } + }), + (wn.prototype.maxPitchScaleFactor = function () { + if (!this.pixelMatrixInverse) return 1; + var e = this.pointCoordinate(new t.Point(0, 0)), + r = [e.x * this.worldSize, e.y * this.worldSize, 0, 1]; + return ( + t.transformMat4(r, r, this.pixelMatrix)[3] / + this.cameraToCenterDistance + ); + }), + (wn.prototype.getCameraPoint = function () { + var e = + Math.tan(this._pitch) * + (this.cameraToCenterDistance || 1); + return this.centerPoint.add(new t.Point(0, e)); + }), + (wn.prototype.getCameraQueryGeometry = function (e) { + var r = this.getCameraPoint(); + if (1 === e.length) return [e[0], r]; + for ( + var n = r.x, i = r.y, a = r.x, o = r.y, s = 0, l = e; + s < l.length; + s += 1 + ) { + var c = l[s]; + (n = Math.min(n, c.x)), + (i = Math.min(i, c.y)), + (a = Math.max(a, c.x)), + (o = Math.max(o, c.y)); + } + return [ + new t.Point(n, i), + new t.Point(a, i), + new t.Point(a, o), + new t.Point(n, o), + new t.Point(n, i), + ]; + }), + Object.defineProperties(wn.prototype, Tn); + var kn = function (e) { + var r, n, i, a; + (this._hashName = e && encodeURIComponent(e)), + t.bindAll( + ['_getCurrentHash', '_onHashChange', '_updateHash'], + this + ), + (this._updateHash = + ((r = this._updateHashUnthrottled.bind(this)), + (n = !1), + (i = null), + (a = function () { + (i = null), + n && (r(), (i = setTimeout(a, 300)), (n = !1)); + }), + function () { + return (n = !0), i || a(), i; + })); + }; + (kn.prototype.addTo = function (e) { + return ( + (this._map = e), + t.window.addEventListener( + 'hashchange', + this._onHashChange, + !1 + ), + this._map.on('moveend', this._updateHash), + this + ); + }), + (kn.prototype.remove = function () { + return ( + t.window.removeEventListener( + 'hashchange', + this._onHashChange, + !1 + ), + this._map.off('moveend', this._updateHash), + clearTimeout(this._updateHash()), + delete this._map, + this + ); + }), + (kn.prototype.getHashString = function (e) { + var r = this._map.getCenter(), + n = Math.round(100 * this._map.getZoom()) / 100, + i = Math.ceil( + (n * Math.LN2 + Math.log(512 / 360 / 0.5)) / Math.LN10 + ), + a = Math.pow(10, i), + o = Math.round(r.lng * a) / a, + s = Math.round(r.lat * a) / a, + l = this._map.getBearing(), + c = this._map.getPitch(), + u = ''; + if ( + ((u += e + ? '/' + o + '/' + s + '/' + n + : n + '/' + s + '/' + o), + (l || c) && (u += '/' + Math.round(10 * l) / 10), + c && (u += '/' + Math.round(c)), + this._hashName) + ) { + var f = this._hashName, + h = !1, + p = t.window.location.hash + .slice(1) + .split('&') + .map(function (t) { + var e = t.split('=')[0]; + return e === f ? ((h = !0), e + '=' + u) : t; + }) + .filter(function (t) { + return t; + }); + return h || p.push(f + '=' + u), '#' + p.join('&'); + } + return '#' + u; + }), + (kn.prototype._getCurrentHash = function () { + var e, + r = this, + n = t.window.location.hash.replace('#', ''); + return this._hashName + ? (n + .split('&') + .map(function (t) { + return t.split('='); + }) + .forEach(function (t) { + t[0] === r._hashName && (e = t); + }), + ((e && e[1]) || '').split('/')) + : n.split('/'); + }), + (kn.prototype._onHashChange = function () { + var t = this._getCurrentHash(); + if ( + t.length >= 3 && + !t.some(function (t) { + return isNaN(t); + }) + ) { + var e = + this._map.dragRotate.isEnabled() && + this._map.touchZoomRotate.isEnabled() + ? +(t[3] || 0) + : this._map.getBearing(); + return ( + this._map.jumpTo({ + center: [+t[2], +t[1]], + zoom: +t[0], + bearing: e, + pitch: +(t[4] || 0), + }), + !0 + ); + } + return !1; + }), + (kn.prototype._updateHashUnthrottled = function () { + var e = this.getHashString(); + try { + t.window.history.replaceState( + t.window.history.state, + '', + e + ); + } catch (t) {} + }); + var Mn = { linearity: 0.3, easing: t.bezier(0, 0, 0.3, 1) }, + An = t.extend({ deceleration: 2500, maxSpeed: 1400 }, Mn), + Sn = t.extend({ deceleration: 20, maxSpeed: 1400 }, Mn), + En = t.extend({ deceleration: 1e3, maxSpeed: 360 }, Mn), + Cn = t.extend({ deceleration: 1e3, maxSpeed: 90 }, Mn), + Ln = function (t) { + (this._map = t), this.clear(); + }; + function In(t, e) { + (!t.duration || t.duration < e.duration) && + ((t.duration = e.duration), (t.easing = e.easing)); + } + function Pn(e, r, n) { + var i = n.maxSpeed, + a = n.linearity, + o = n.deceleration, + s = t.clamp((e * a) / (r / 1e3), -i, i), + l = Math.abs(s) / (o * a); + return { + easing: n.easing, + duration: 1e3 * l, + amount: s * (l / 2), + }; + } + (Ln.prototype.clear = function () { + this._inertiaBuffer = []; + }), + (Ln.prototype.record = function (e) { + this._drainInertiaBuffer(), + this._inertiaBuffer.push({ + time: t.browser.now(), + settings: e, + }); + }), + (Ln.prototype._drainInertiaBuffer = function () { + for ( + var e = this._inertiaBuffer, r = t.browser.now(); + e.length > 0 && r - e[0].time > 160; + + ) + e.shift(); + }), + (Ln.prototype._onMoveEnd = function (e) { + if ( + (this._drainInertiaBuffer(), + !(this._inertiaBuffer.length < 2)) + ) { + for ( + var r = { + zoom: 0, + bearing: 0, + pitch: 0, + pan: new t.Point(0, 0), + pinchAround: void 0, + around: void 0, + }, + n = 0, + i = this._inertiaBuffer; + n < i.length; + n += 1 + ) { + var a = i[n].settings; + (r.zoom += a.zoomDelta || 0), + (r.bearing += a.bearingDelta || 0), + (r.pitch += a.pitchDelta || 0), + a.panDelta && r.pan._add(a.panDelta), + a.around && (r.around = a.around), + a.pinchAround && (r.pinchAround = a.pinchAround); + } + var o = + this._inertiaBuffer[this._inertiaBuffer.length - 1] + .time - this._inertiaBuffer[0].time, + s = {}; + if (r.pan.mag()) { + var l = Pn(r.pan.mag(), o, t.extend({}, An, e || {})); + (s.offset = r.pan.mult(l.amount / r.pan.mag())), + (s.center = this._map.transform.center), + In(s, l); + } + if (r.zoom) { + var c = Pn(r.zoom, o, Sn); + (s.zoom = this._map.transform.zoom + c.amount), + In(s, c); + } + if (r.bearing) { + var u = Pn(r.bearing, o, En); + (s.bearing = + this._map.transform.bearing + + t.clamp(u.amount, -179, 179)), + In(s, u); + } + if (r.pitch) { + var f = Pn(r.pitch, o, Cn); + (s.pitch = this._map.transform.pitch + f.amount), + In(s, f); + } + if (s.zoom || s.bearing) { + var h = + void 0 === r.pinchAround ? r.around : r.pinchAround; + s.around = h + ? this._map.unproject(h) + : this._map.getCenter(); + } + return this.clear(), t.extend(s, { noMoveStart: !0 }); + } + }); + var zn = (function (e) { + function n(n, i, a, o) { + void 0 === o && (o = {}); + var s = r.mousePos(i.getCanvasContainer(), a), + l = i.unproject(s); + e.call( + this, + n, + t.extend({ point: s, lngLat: l, originalEvent: a }, o) + ), + (this._defaultPrevented = !1), + (this.target = i); + } + e && (n.__proto__ = e), + ((n.prototype = Object.create( + e && e.prototype + )).constructor = n); + var i = { defaultPrevented: { configurable: !0 } }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + On = (function (e) { + function n(n, i, a) { + var o = 'touchend' === n ? a.changedTouches : a.touches, + s = r.touchPos(i.getCanvasContainer(), o), + l = s.map(function (t) { + return i.unproject(t); + }), + c = s.reduce(function (t, e, r, n) { + return t.add(e.div(n.length)); + }, new t.Point(0, 0)), + u = i.unproject(c); + e.call(this, n, { + points: s, + point: c, + lngLats: l, + lngLat: u, + originalEvent: a, + }), + (this._defaultPrevented = !1); + } + e && (n.__proto__ = e), + ((n.prototype = Object.create( + e && e.prototype + )).constructor = n); + var i = { defaultPrevented: { configurable: !0 } }; + return ( + (n.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (i.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(n.prototype, i), + n + ); + })(t.Event), + Dn = (function (t) { + function e(e, r, n) { + t.call(this, e, { originalEvent: n }), + (this._defaultPrevented = !1); + } + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e); + var r = { defaultPrevented: { configurable: !0 } }; + return ( + (e.prototype.preventDefault = function () { + this._defaultPrevented = !0; + }), + (r.defaultPrevented.get = function () { + return this._defaultPrevented; + }), + Object.defineProperties(e.prototype, r), + e + ); + })(t.Event), + Rn = function (t, e) { + (this._map = t), (this._clickTolerance = e.clickTolerance); + }; + (Rn.prototype.reset = function () { + delete this._mousedownPos; + }), + (Rn.prototype.wheel = function (t) { + return this._firePreventable(new Dn(t.type, this._map, t)); + }), + (Rn.prototype.mousedown = function (t, e) { + return ( + (this._mousedownPos = e), + this._firePreventable(new zn(t.type, this._map, t)) + ); + }), + (Rn.prototype.mouseup = function (t) { + this._map.fire(new zn(t.type, this._map, t)); + }), + (Rn.prototype.click = function (t, e) { + (this._mousedownPos && + this._mousedownPos.dist(e) >= this._clickTolerance) || + this._map.fire(new zn(t.type, this._map, t)); + }), + (Rn.prototype.dblclick = function (t) { + return this._firePreventable(new zn(t.type, this._map, t)); + }), + (Rn.prototype.mouseover = function (t) { + this._map.fire(new zn(t.type, this._map, t)); + }), + (Rn.prototype.mouseout = function (t) { + this._map.fire(new zn(t.type, this._map, t)); + }), + (Rn.prototype.touchstart = function (t) { + return this._firePreventable(new On(t.type, this._map, t)); + }), + (Rn.prototype.touchmove = function (t) { + this._map.fire(new On(t.type, this._map, t)); + }), + (Rn.prototype.touchend = function (t) { + this._map.fire(new On(t.type, this._map, t)); + }), + (Rn.prototype.touchcancel = function (t) { + this._map.fire(new On(t.type, this._map, t)); + }), + (Rn.prototype._firePreventable = function (t) { + if ((this._map.fire(t), t.defaultPrevented)) return {}; + }), + (Rn.prototype.isEnabled = function () { + return !0; + }), + (Rn.prototype.isActive = function () { + return !1; + }), + (Rn.prototype.enable = function () {}), + (Rn.prototype.disable = function () {}); + var Fn = function (t) { + this._map = t; + }; + (Fn.prototype.reset = function () { + (this._delayContextMenu = !1), delete this._contextMenuEvent; + }), + (Fn.prototype.mousemove = function (t) { + this._map.fire(new zn(t.type, this._map, t)); + }), + (Fn.prototype.mousedown = function () { + this._delayContextMenu = !0; + }), + (Fn.prototype.mouseup = function () { + (this._delayContextMenu = !1), + this._contextMenuEvent && + (this._map.fire( + new zn( + 'contextmenu', + this._map, + this._contextMenuEvent + ) + ), + delete this._contextMenuEvent); + }), + (Fn.prototype.contextmenu = function (t) { + this._delayContextMenu + ? (this._contextMenuEvent = t) + : this._map.fire(new zn(t.type, this._map, t)), + this._map.listens('contextmenu') && t.preventDefault(); + }), + (Fn.prototype.isEnabled = function () { + return !0; + }), + (Fn.prototype.isActive = function () { + return !1; + }), + (Fn.prototype.enable = function () {}), + (Fn.prototype.disable = function () {}); + var Bn = function (t, e) { + (this._map = t), + (this._el = t.getCanvasContainer()), + (this._container = t.getContainer()), + (this._clickTolerance = e.clickTolerance || 1); + }; + function Nn(t, e) { + for (var r = {}, n = 0; n < t.length; n++) + r[t[n].identifier] = e[n]; + return r; + } + (Bn.prototype.isEnabled = function () { + return !!this._enabled; + }), + (Bn.prototype.isActive = function () { + return !!this._active; + }), + (Bn.prototype.enable = function () { + this.isEnabled() || (this._enabled = !0); + }), + (Bn.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (Bn.prototype.mousedown = function (t, e) { + this.isEnabled() && + t.shiftKey && + 0 === t.button && + (r.disableDrag(), + (this._startPos = this._lastPos = e), + (this._active = !0)); + }), + (Bn.prototype.mousemoveWindow = function (t, e) { + if (this._active) { + var n = e; + if ( + !( + this._lastPos.equals(n) || + (!this._box && + n.dist(this._startPos) < this._clickTolerance) + ) + ) { + var i = this._startPos; + (this._lastPos = n), + this._box || + ((this._box = r.create( + 'div', + 'mapboxgl-boxzoom', + this._container + )), + this._container.classList.add('mapboxgl-crosshair'), + this._fireEvent('boxzoomstart', t)); + var a = Math.min(i.x, n.x), + o = Math.max(i.x, n.x), + s = Math.min(i.y, n.y), + l = Math.max(i.y, n.y); + r.setTransform( + this._box, + 'translate(' + a + 'px,' + s + 'px)' + ), + (this._box.style.width = o - a + 'px'), + (this._box.style.height = l - s + 'px'); + } + } + }), + (Bn.prototype.mouseupWindow = function (e, n) { + var i = this; + if (this._active && 0 === e.button) { + var a = this._startPos, + o = n; + if ( + (this.reset(), + r.suppressClick(), + a.x !== o.x || a.y !== o.y) + ) + return ( + this._map.fire( + new t.Event('boxzoomend', { originalEvent: e }) + ), + { + cameraAnimation: function (t) { + return t.fitScreenCoordinates( + a, + o, + i._map.getBearing(), + { linear: !0 } + ); + }, + } + ); + this._fireEvent('boxzoomcancel', e); + } + }), + (Bn.prototype.keydown = function (t) { + this._active && + 27 === t.keyCode && + (this.reset(), this._fireEvent('boxzoomcancel', t)); + }), + (Bn.prototype.reset = function () { + (this._active = !1), + this._container.classList.remove('mapboxgl-crosshair'), + this._box && (r.remove(this._box), (this._box = null)), + r.enableDrag(), + delete this._startPos, + delete this._lastPos; + }), + (Bn.prototype._fireEvent = function (e, r) { + return this._map.fire(new t.Event(e, { originalEvent: r })); + }); + var jn = function (t) { + this.reset(), (this.numTouches = t.numTouches); + }; + (jn.prototype.reset = function () { + delete this.centroid, + delete this.startTime, + delete this.touches, + (this.aborted = !1); + }), + (jn.prototype.touchstart = function (e, r, n) { + (this.centroid || n.length > this.numTouches) && + (this.aborted = !0), + this.aborted || + (void 0 === this.startTime && + (this.startTime = e.timeStamp), + n.length === this.numTouches && + ((this.centroid = (function (e) { + for ( + var r = new t.Point(0, 0), n = 0, i = e; + n < i.length; + n += 1 + ) + r._add(i[n]); + return r.div(e.length); + })(r)), + (this.touches = Nn(n, r)))); + }), + (jn.prototype.touchmove = function (t, e, r) { + if (!this.aborted && this.centroid) { + var n = Nn(r, e); + for (var i in this.touches) { + var a = n[i]; + (!a || a.dist(this.touches[i]) > 30) && + (this.aborted = !0); + } + } + }), + (jn.prototype.touchend = function (t, e, r) { + if ( + ((!this.centroid || t.timeStamp - this.startTime > 500) && + (this.aborted = !0), + 0 === r.length) + ) { + var n = !this.aborted && this.centroid; + if ((this.reset(), n)) return n; + } + }); + var Un = function (t) { + (this.singleTap = new jn(t)), + (this.numTaps = t.numTaps), + this.reset(); + }; + (Un.prototype.reset = function () { + (this.lastTime = 1 / 0), + delete this.lastTap, + (this.count = 0), + this.singleTap.reset(); + }), + (Un.prototype.touchstart = function (t, e, r) { + this.singleTap.touchstart(t, e, r); + }), + (Un.prototype.touchmove = function (t, e, r) { + this.singleTap.touchmove(t, e, r); + }), + (Un.prototype.touchend = function (t, e, r) { + var n = this.singleTap.touchend(t, e, r); + if (n) { + var i = t.timeStamp - this.lastTime < 500, + a = !this.lastTap || this.lastTap.dist(n) < 30; + if ( + ((i && a) || this.reset(), + this.count++, + (this.lastTime = t.timeStamp), + (this.lastTap = n), + this.count === this.numTaps) + ) + return this.reset(), n; + } + }); + var Vn = function () { + (this._zoomIn = new Un({ numTouches: 1, numTaps: 2 })), + (this._zoomOut = new Un({ numTouches: 2, numTaps: 1 })), + this.reset(); + }; + (Vn.prototype.reset = function () { + (this._active = !1), + this._zoomIn.reset(), + this._zoomOut.reset(); + }), + (Vn.prototype.touchstart = function (t, e, r) { + this._zoomIn.touchstart(t, e, r), + this._zoomOut.touchstart(t, e, r); + }), + (Vn.prototype.touchmove = function (t, e, r) { + this._zoomIn.touchmove(t, e, r), + this._zoomOut.touchmove(t, e, r); + }), + (Vn.prototype.touchend = function (t, e, r) { + var n = this, + i = this._zoomIn.touchend(t, e, r), + a = this._zoomOut.touchend(t, e, r); + return i + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() + 1, + around: e.unproject(i), + }, + { originalEvent: t } + ); + }, + }) + : a + ? ((this._active = !0), + t.preventDefault(), + setTimeout(function () { + return n.reset(); + }, 0), + { + cameraAnimation: function (e) { + return e.easeTo( + { + duration: 300, + zoom: e.getZoom() - 1, + around: e.unproject(a), + }, + { originalEvent: t } + ); + }, + }) + : void 0; + }), + (Vn.prototype.touchcancel = function () { + this.reset(); + }), + (Vn.prototype.enable = function () { + this._enabled = !0; + }), + (Vn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Vn.prototype.isEnabled = function () { + return this._enabled; + }), + (Vn.prototype.isActive = function () { + return this._active; + }); + var qn = function (t) { + this.reset(), (this._clickTolerance = t.clickTolerance || 1); + }; + (qn.prototype.reset = function () { + (this._active = !1), + (this._moved = !1), + delete this._lastPoint, + delete this._eventButton; + }), + (qn.prototype._correctButton = function (t, e) { + return !1; + }), + (qn.prototype._move = function (t, e) { + return {}; + }), + (qn.prototype.mousedown = function (t, e) { + if (!this._lastPoint) { + var n = r.mouseButton(t); + this._correctButton(t, n) && + ((this._lastPoint = e), (this._eventButton = n)); + } + }), + (qn.prototype.mousemoveWindow = function (t, e) { + var r = this._lastPoint; + if ( + r && + (t.preventDefault(), + this._moved || !(e.dist(r) < this._clickTolerance)) + ) + return ( + (this._moved = !0), + (this._lastPoint = e), + this._move(r, e) + ); + }), + (qn.prototype.mouseupWindow = function (t) { + r.mouseButton(t) === this._eventButton && + (this._moved && r.suppressClick(), this.reset()); + }), + (qn.prototype.enable = function () { + this._enabled = !0; + }), + (qn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (qn.prototype.isEnabled = function () { + return this._enabled; + }), + (qn.prototype.isActive = function () { + return this._active; + }); + var Hn = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.mousedown = function (e, r) { + t.prototype.mousedown.call(this, e, r), + this._lastPoint && (this._active = !0); + }), + (e.prototype._correctButton = function (t, e) { + return 0 === e && !t.ctrlKey; + }), + (e.prototype._move = function (t, e) { + return { around: e, panDelta: e.sub(t) }; + }), + e + ); + })(qn), + Gn = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._correctButton = function (t, e) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = 0.8 * (e.x - t.x); + if (r) return (this._active = !0), { bearingDelta: r }; + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(qn), + Yn = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype._correctButton = function (t, e) { + return (0 === e && t.ctrlKey) || 2 === e; + }), + (e.prototype._move = function (t, e) { + var r = -0.5 * (e.y - t.y); + if (r) return (this._active = !0), { pitchDelta: r }; + }), + (e.prototype.contextmenu = function (t) { + t.preventDefault(); + }), + e + ); + })(qn), + Wn = function (t) { + (this._minTouches = 1), + (this._clickTolerance = t.clickTolerance || 1), + this.reset(); + }; + (Wn.prototype.reset = function () { + (this._active = !1), + (this._touches = {}), + (this._sum = new t.Point(0, 0)); + }), + (Wn.prototype.touchstart = function (t, e, r) { + return this._calculateTransform(t, e, r); + }), + (Wn.prototype.touchmove = function (t, e, r) { + if (this._active) + return ( + t.preventDefault(), this._calculateTransform(t, e, r) + ); + }), + (Wn.prototype.touchend = function (t, e, r) { + this._calculateTransform(t, e, r), + this._active && + r.length < this._minTouches && + this.reset(); + }), + (Wn.prototype.touchcancel = function () { + this.reset(); + }), + (Wn.prototype._calculateTransform = function (e, r, n) { + n.length > 0 && (this._active = !0); + var i = Nn(n, r), + a = new t.Point(0, 0), + o = new t.Point(0, 0), + s = 0; + for (var l in i) { + var c = i[l], + u = this._touches[l]; + u && (a._add(c), o._add(c.sub(u)), s++, (i[l] = c)); + } + if ( + ((this._touches = i), !(s < this._minTouches) && o.mag()) + ) { + var f = o.div(s); + if ( + (this._sum._add(f), + !(this._sum.mag() < this._clickTolerance)) + ) + return { around: a.div(s), panDelta: f }; + } + }), + (Wn.prototype.enable = function () { + this._enabled = !0; + }), + (Wn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Wn.prototype.isEnabled = function () { + return this._enabled; + }), + (Wn.prototype.isActive = function () { + return this._active; + }); + var Xn = function () { + this.reset(); + }; + function Zn(t, e, r) { + for (var n = 0; n < t.length; n++) + if (t[n].identifier === r) return e[n]; + } + function Jn(t, e) { + return Math.log(t / e) / Math.LN2; + } + (Xn.prototype.reset = function () { + (this._active = !1), delete this._firstTwoTouches; + }), + (Xn.prototype._start = function (t) {}), + (Xn.prototype._move = function (t, e, r) { + return {}; + }), + (Xn.prototype.touchstart = function (t, e, r) { + this._firstTwoTouches || + r.length < 2 || + ((this._firstTwoTouches = [ + r[0].identifier, + r[1].identifier, + ]), + this._start([e[0], e[1]])); + }), + (Xn.prototype.touchmove = function (t, e, r) { + if (this._firstTwoTouches) { + t.preventDefault(); + var n = this._firstTwoTouches, + i = n[1], + a = Zn(r, e, n[0]), + o = Zn(r, e, i); + if (a && o) { + var s = this._aroundCenter ? null : a.add(o).div(2); + return this._move([a, o], s, t); + } + } + }), + (Xn.prototype.touchend = function (t, e, n) { + if (this._firstTwoTouches) { + var i = this._firstTwoTouches, + a = i[1], + o = Zn(n, e, i[0]), + s = Zn(n, e, a); + (o && s) || + (this._active && r.suppressClick(), this.reset()); + } + }), + (Xn.prototype.touchcancel = function () { + this.reset(); + }), + (Xn.prototype.enable = function (t) { + (this._enabled = !0), + (this._aroundCenter = !!t && 'center' === t.around); + }), + (Xn.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (Xn.prototype.isEnabled = function () { + return this._enabled; + }), + (Xn.prototype.isActive = function () { + return this._active; + }); + var Kn = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.reset = function () { + t.prototype.reset.call(this), + delete this._distance, + delete this._startDistance; + }), + (e.prototype._start = function (t) { + this._startDistance = this._distance = t[0].dist(t[1]); + }), + (e.prototype._move = function (t, e) { + var r = this._distance; + if ( + ((this._distance = t[0].dist(t[1])), + this._active || + !( + Math.abs(Jn(this._distance, this._startDistance)) < + 0.1 + )) + ) + return ( + (this._active = !0), + { zoomDelta: Jn(this._distance, r), pinchAround: e } + ); + }), + e + ); + })(Xn); + function Qn(t, e) { + return (180 * t.angleWith(e)) / Math.PI; + } + var $n = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.reset = function () { + t.prototype.reset.call(this), + delete this._minDiameter, + delete this._startVector, + delete this._vector; + }), + (e.prototype._start = function (t) { + (this._startVector = this._vector = t[0].sub(t[1])), + (this._minDiameter = t[0].dist(t[1])); + }), + (e.prototype._move = function (t, e) { + var r = this._vector; + if ( + ((this._vector = t[0].sub(t[1])), + this._active || !this._isBelowThreshold(this._vector)) + ) + return ( + (this._active = !0), + { bearingDelta: Qn(this._vector, r), pinchAround: e } + ); + }), + (e.prototype._isBelowThreshold = function (t) { + this._minDiameter = Math.min(this._minDiameter, t.mag()); + var e = (25 / (Math.PI * this._minDiameter)) * 360, + r = Qn(t, this._startVector); + return Math.abs(r) < e; + }), + e + ); + })(Xn); + function ti(t) { + return Math.abs(t.y) > Math.abs(t.x); + } + var ei = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + (e.prototype.reset = function () { + t.prototype.reset.call(this), + (this._valid = void 0), + delete this._firstMove, + delete this._lastPoints; + }), + (e.prototype._start = function (t) { + (this._lastPoints = t), + ti(t[0].sub(t[1])) && (this._valid = !1); + }), + (e.prototype._move = function (t, e, r) { + var n = t[0].sub(this._lastPoints[0]), + i = t[1].sub(this._lastPoints[1]); + if ( + ((this._valid = this.gestureBeginsVertically( + n, + i, + r.timeStamp + )), + this._valid) + ) + return ( + (this._lastPoints = t), + (this._active = !0), + { pitchDelta: ((n.y + i.y) / 2) * -0.5 } + ); + }), + (e.prototype.gestureBeginsVertically = function ( + t, + e, + r + ) { + if (void 0 !== this._valid) return this._valid; + var n = t.mag() >= 2, + i = e.mag() >= 2; + if (n || i) { + if (!n || !i) + return ( + void 0 === this._firstMove && + (this._firstMove = r), + r - this._firstMove < 100 && void 0 + ); + var a = t.y > 0 == e.y > 0; + return ti(t) && ti(e) && a; + } + }), + e + ); + })(Xn), + ri = { panStep: 100, bearingStep: 15, pitchStep: 10 }, + ni = function () { + var t = ri; + (this._panStep = t.panStep), + (this._bearingStep = t.bearingStep), + (this._pitchStep = t.pitchStep); + }; + function ii(t) { + return t * (2 - t); + } + (ni.prototype.reset = function () { + this._active = !1; + }), + (ni.prototype.keydown = function (t) { + var e = this; + if (!(t.altKey || t.ctrlKey || t.metaKey)) { + var r = 0, + n = 0, + i = 0, + a = 0, + o = 0; + switch (t.keyCode) { + case 61: + case 107: + case 171: + case 187: + r = 1; + break; + case 189: + case 109: + case 173: + r = -1; + break; + case 37: + t.shiftKey + ? (n = -1) + : (t.preventDefault(), (a = -1)); + break; + case 39: + t.shiftKey ? (n = 1) : (t.preventDefault(), (a = 1)); + break; + case 38: + t.shiftKey ? (i = 1) : (t.preventDefault(), (o = -1)); + break; + case 40: + t.shiftKey ? (i = -1) : (t.preventDefault(), (o = 1)); + break; + default: + return; + } + return { + cameraAnimation: function (s) { + var l = s.getZoom(); + s.easeTo( + { + duration: 300, + easeId: 'keyboardHandler', + easing: ii, + zoom: r + ? Math.round(l) + r * (t.shiftKey ? 2 : 1) + : l, + bearing: s.getBearing() + n * e._bearingStep, + pitch: s.getPitch() + i * e._pitchStep, + offset: [-a * e._panStep, -o * e._panStep], + center: s.getCenter(), + }, + { originalEvent: t } + ); + }, + }; + } + }), + (ni.prototype.enable = function () { + this._enabled = !0; + }), + (ni.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (ni.prototype.isEnabled = function () { + return this._enabled; + }), + (ni.prototype.isActive = function () { + return this._active; + }); + var ai = function (e, r) { + (this._map = e), + (this._el = e.getCanvasContainer()), + (this._handler = r), + (this._delta = 0), + (this._defaultZoomRate = 0.01), + (this._wheelZoomRate = 1 / 450), + t.bindAll( + [ + '_onWheel', + '_onTimeout', + '_onScrollFrame', + '_onScrollFinished', + ], + this + ); + }; + (ai.prototype.setZoomRate = function (t) { + this._defaultZoomRate = t; + }), + (ai.prototype.setWheelZoomRate = function (t) { + this._wheelZoomRate = t; + }), + (ai.prototype.isEnabled = function () { + return !!this._enabled; + }), + (ai.prototype.isActive = function () { + return !!this._active || void 0 !== this._finishTimeout; + }), + (ai.prototype.isZooming = function () { + return !!this._zooming; + }), + (ai.prototype.enable = function (t) { + this.isEnabled() || + ((this._enabled = !0), + (this._aroundCenter = t && 'center' === t.around)); + }), + (ai.prototype.disable = function () { + this.isEnabled() && (this._enabled = !1); + }), + (ai.prototype.wheel = function (e) { + if (this.isEnabled()) { + var r = + e.deltaMode === t.window.WheelEvent.DOM_DELTA_LINE + ? 40 * e.deltaY + : e.deltaY, + n = t.browser.now(), + i = n - (this._lastWheelEventTime || 0); + (this._lastWheelEventTime = n), + 0 !== r && r % 4.000244140625 == 0 + ? (this._type = 'wheel') + : 0 !== r && Math.abs(r) < 4 + ? (this._type = 'trackpad') + : i > 400 + ? ((this._type = null), + (this._lastValue = r), + (this._timeout = setTimeout( + this._onTimeout, + 40, + e + ))) + : this._type || + ((this._type = + Math.abs(i * r) < 200 ? 'trackpad' : 'wheel'), + this._timeout && + (clearTimeout(this._timeout), + (this._timeout = null), + (r += this._lastValue))), + e.shiftKey && r && (r /= 4), + this._type && + ((this._lastWheelEvent = e), + (this._delta -= r), + this._active || this._start(e)), + e.preventDefault(); + } + }), + (ai.prototype._onTimeout = function (t) { + (this._type = 'wheel'), + (this._delta -= this._lastValue), + this._active || this._start(t); + }), + (ai.prototype._start = function (e) { + if (this._delta) { + this._frameId && (this._frameId = null), + (this._active = !0), + this.isZooming() || (this._zooming = !0), + this._finishTimeout && + (clearTimeout(this._finishTimeout), + delete this._finishTimeout); + var n = r.mousePos(this._el, e); + (this._around = t.LngLat.convert( + this._aroundCenter + ? this._map.getCenter() + : this._map.unproject(n) + )), + (this._aroundPoint = this._map.transform.locationPoint( + this._around + )), + this._frameId || + ((this._frameId = !0), + this._handler._triggerRenderFrame()); + } + }), + (ai.prototype.renderFrame = function () { + return this._onScrollFrame(); + }), + (ai.prototype._onScrollFrame = function () { + var e = this; + if ( + this._frameId && + ((this._frameId = null), this.isActive()) + ) { + var r = this._map.transform; + if (0 !== this._delta) { + var n = + 'wheel' === this._type && + Math.abs(this._delta) > 4.000244140625 + ? this._wheelZoomRate + : this._defaultZoomRate, + i = 2 / (1 + Math.exp(-Math.abs(this._delta * n))); + this._delta < 0 && 0 !== i && (i = 1 / i); + var a = + 'number' == typeof this._targetZoom + ? r.zoomScale(this._targetZoom) + : r.scale; + (this._targetZoom = Math.min( + r.maxZoom, + Math.max(r.minZoom, r.scaleZoom(a * i)) + )), + 'wheel' === this._type && + ((this._startZoom = r.zoom), + (this._easing = this._smoothOutEasing(200))), + (this._delta = 0); + } + var o, + s = + 'number' == typeof this._targetZoom + ? this._targetZoom + : r.zoom, + l = this._startZoom, + c = this._easing, + u = !1; + if ('wheel' === this._type && l && c) { + var f = Math.min( + (t.browser.now() - this._lastWheelEventTime) / 200, + 1 + ), + h = c(f); + (o = t.number(l, s, h)), + f < 1 + ? this._frameId || (this._frameId = !0) + : (u = !0); + } else (o = s), (u = !0); + return ( + (this._active = !0), + u && + ((this._active = !1), + (this._finishTimeout = setTimeout(function () { + (e._zooming = !1), + e._handler._triggerRenderFrame(), + delete e._targetZoom, + delete e._finishTimeout; + }, 200))), + { + noInertia: !0, + needsRenderFrame: !u, + zoomDelta: o - r.zoom, + around: this._aroundPoint, + originalEvent: this._lastWheelEvent, + } + ); + } + }), + (ai.prototype._smoothOutEasing = function (e) { + var r = t.ease; + if (this._prevEase) { + var n = this._prevEase, + i = (t.browser.now() - n.start) / n.duration, + a = n.easing(i + 0.01) - n.easing(i), + o = (0.27 / Math.sqrt(a * a + 1e-4)) * 0.01, + s = Math.sqrt(0.0729 - o * o); + r = t.bezier(o, s, 0.25, 1); + } + return ( + (this._prevEase = { + start: t.browser.now(), + duration: e, + easing: r, + }), + r + ); + }), + (ai.prototype.reset = function () { + this._active = !1; + }); + var oi = function (t, e) { + (this._clickZoom = t), (this._tapZoom = e); + }; + (oi.prototype.enable = function () { + this._clickZoom.enable(), this._tapZoom.enable(); + }), + (oi.prototype.disable = function () { + this._clickZoom.disable(), this._tapZoom.disable(); + }), + (oi.prototype.isEnabled = function () { + return ( + this._clickZoom.isEnabled() && this._tapZoom.isEnabled() + ); + }), + (oi.prototype.isActive = function () { + return ( + this._clickZoom.isActive() || this._tapZoom.isActive() + ); + }); + var si = function () { + this.reset(); + }; + (si.prototype.reset = function () { + this._active = !1; + }), + (si.prototype.dblclick = function (t, e) { + return ( + t.preventDefault(), + { + cameraAnimation: function (r) { + r.easeTo( + { + duration: 300, + zoom: r.getZoom() + (t.shiftKey ? -1 : 1), + around: r.unproject(e), + }, + { originalEvent: t } + ); + }, + } + ); + }), + (si.prototype.enable = function () { + this._enabled = !0; + }), + (si.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (si.prototype.isEnabled = function () { + return this._enabled; + }), + (si.prototype.isActive = function () { + return this._active; + }); + var li = function () { + (this._tap = new Un({ numTouches: 1, numTaps: 1 })), + this.reset(); + }; + (li.prototype.reset = function () { + (this._active = !1), + delete this._swipePoint, + delete this._swipeTouch, + delete this._tapTime, + this._tap.reset(); + }), + (li.prototype.touchstart = function (t, e, r) { + this._swipePoint || + (this._tapTime && + t.timeStamp - this._tapTime > 500 && + this.reset(), + this._tapTime + ? r.length > 0 && + ((this._swipePoint = e[0]), + (this._swipeTouch = r[0].identifier)) + : this._tap.touchstart(t, e, r)); + }), + (li.prototype.touchmove = function (t, e, r) { + if (this._tapTime) { + if (this._swipePoint) { + if (r[0].identifier !== this._swipeTouch) return; + var n = e[0], + i = n.y - this._swipePoint.y; + return ( + (this._swipePoint = n), + t.preventDefault(), + (this._active = !0), + { zoomDelta: i / 128 } + ); + } + } else this._tap.touchmove(t, e, r); + }), + (li.prototype.touchend = function (t, e, r) { + this._tapTime + ? this._swipePoint && 0 === r.length && this.reset() + : this._tap.touchend(t, e, r) && + (this._tapTime = t.timeStamp); + }), + (li.prototype.touchcancel = function () { + this.reset(); + }), + (li.prototype.enable = function () { + this._enabled = !0; + }), + (li.prototype.disable = function () { + (this._enabled = !1), this.reset(); + }), + (li.prototype.isEnabled = function () { + return this._enabled; + }), + (li.prototype.isActive = function () { + return this._active; + }); + var ci = function (t, e, r) { + (this._el = t), (this._mousePan = e), (this._touchPan = r); + }; + (ci.prototype.enable = function (t) { + (this._inertiaOptions = t || {}), + this._mousePan.enable(), + this._touchPan.enable(), + this._el.classList.add('mapboxgl-touch-drag-pan'); + }), + (ci.prototype.disable = function () { + this._mousePan.disable(), + this._touchPan.disable(), + this._el.classList.remove('mapboxgl-touch-drag-pan'); + }), + (ci.prototype.isEnabled = function () { + return ( + this._mousePan.isEnabled() && this._touchPan.isEnabled() + ); + }), + (ci.prototype.isActive = function () { + return ( + this._mousePan.isActive() || this._touchPan.isActive() + ); + }); + var ui = function (t, e, r) { + (this._pitchWithRotate = t.pitchWithRotate), + (this._mouseRotate = e), + (this._mousePitch = r); + }; + (ui.prototype.enable = function () { + this._mouseRotate.enable(), + this._pitchWithRotate && this._mousePitch.enable(); + }), + (ui.prototype.disable = function () { + this._mouseRotate.disable(), this._mousePitch.disable(); + }), + (ui.prototype.isEnabled = function () { + return ( + this._mouseRotate.isEnabled() && + (!this._pitchWithRotate || this._mousePitch.isEnabled()) + ); + }), + (ui.prototype.isActive = function () { + return ( + this._mouseRotate.isActive() || + this._mousePitch.isActive() + ); + }); + var fi = function (t, e, r, n) { + (this._el = t), + (this._touchZoom = e), + (this._touchRotate = r), + (this._tapDragZoom = n), + (this._rotationDisabled = !1), + (this._enabled = !0); + }; + (fi.prototype.enable = function (t) { + this._touchZoom.enable(t), + this._rotationDisabled || this._touchRotate.enable(t), + this._tapDragZoom.enable(), + this._el.classList.add('mapboxgl-touch-zoom-rotate'); + }), + (fi.prototype.disable = function () { + this._touchZoom.disable(), + this._touchRotate.disable(), + this._tapDragZoom.disable(), + this._el.classList.remove('mapboxgl-touch-zoom-rotate'); + }), + (fi.prototype.isEnabled = function () { + return ( + this._touchZoom.isEnabled() && + (this._rotationDisabled || + this._touchRotate.isEnabled()) && + this._tapDragZoom.isEnabled() + ); + }), + (fi.prototype.isActive = function () { + return ( + this._touchZoom.isActive() || + this._touchRotate.isActive() || + this._tapDragZoom.isActive() + ); + }), + (fi.prototype.disableRotation = function () { + (this._rotationDisabled = !0), this._touchRotate.disable(); + }), + (fi.prototype.enableRotation = function () { + (this._rotationDisabled = !1), + this._touchZoom.isEnabled() && this._touchRotate.enable(); + }); + var hi = function (t) { + return t.zoom || t.drag || t.pitch || t.rotate; + }, + pi = (function (t) { + function e() { + t.apply(this, arguments); + } + return ( + t && (e.__proto__ = t), + ((e.prototype = Object.create( + t && t.prototype + )).constructor = e), + e + ); + })(t.Event); + function di(t) { + return ( + (t.panDelta && t.panDelta.mag()) || + t.zoomDelta || + t.bearingDelta || + t.pitchDelta + ); + } + var gi = function (e, n) { + (this._map = e), + (this._el = this._map.getCanvasContainer()), + (this._handlers = []), + (this._handlersById = {}), + (this._changes = []), + (this._inertia = new Ln(e)), + (this._bearingSnap = n.bearingSnap), + (this._previousActiveHandlers = {}), + (this._eventsInProgress = {}), + this._addDefaultHandlers(n), + t.bindAll(['handleEvent', 'handleWindowEvent'], this); + var i = this._el; + this._listeners = [ + [i, 'touchstart', { passive: !1 }], + [i, 'touchmove', { passive: !1 }], + [i, 'touchend', void 0], + [i, 'touchcancel', void 0], + [i, 'mousedown', void 0], + [i, 'mousemove', void 0], + [i, 'mouseup', void 0], + [t.window.document, 'mousemove', { capture: !0 }], + [t.window.document, 'mouseup', void 0], + [i, 'mouseover', void 0], + [i, 'mouseout', void 0], + [i, 'dblclick', void 0], + [i, 'click', void 0], + [i, 'keydown', { capture: !1 }], + [i, 'keyup', void 0], + [i, 'wheel', { passive: !1 }], + [i, 'contextmenu', void 0], + [t.window, 'blur', void 0], + ]; + for (var a = 0, o = this._listeners; a < o.length; a += 1) { + var s = o[a], + l = s[0]; + r.addEventListener( + l, + s[1], + l === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + s[2] + ); + } + }; + (gi.prototype.destroy = function () { + for (var e = 0, n = this._listeners; e < n.length; e += 1) { + var i = n[e], + a = i[0]; + r.removeEventListener( + a, + i[1], + a === t.window.document + ? this.handleWindowEvent + : this.handleEvent, + i[2] + ); + } + }), + (gi.prototype._addDefaultHandlers = function (t) { + var e = this._map, + r = e.getCanvasContainer(); + this._add('mapEvent', new Rn(e, t)); + var n = (e.boxZoom = new Bn(e, t)); + this._add('boxZoom', n); + var i = new Vn(), + a = new si(); + (e.doubleClickZoom = new oi(a, i)), + this._add('tapZoom', i), + this._add('clickZoom', a); + var o = new li(); + this._add('tapDragZoom', o); + var s = (e.touchPitch = new ei()); + this._add('touchPitch', s); + var l = new Gn(t), + c = new Yn(t); + (e.dragRotate = new ui(t, l, c)), + this._add('mouseRotate', l, ['mousePitch']), + this._add('mousePitch', c, ['mouseRotate']); + var u = new Hn(t), + f = new Wn(t); + (e.dragPan = new ci(r, u, f)), + this._add('mousePan', u), + this._add('touchPan', f, ['touchZoom', 'touchRotate']); + var h = new $n(), + p = new Kn(); + (e.touchZoomRotate = new fi(r, p, h, o)), + this._add('touchRotate', h, ['touchPan', 'touchZoom']), + this._add('touchZoom', p, ['touchPan', 'touchRotate']); + var d = (e.scrollZoom = new ai(e, this)); + this._add('scrollZoom', d, ['mousePan']); + var g = (e.keyboard = new ni()); + this._add('keyboard', g), + this._add('blockableMapEvent', new Fn(e)); + for ( + var m = 0, + v = [ + 'boxZoom', + 'doubleClickZoom', + 'tapDragZoom', + 'touchPitch', + 'dragRotate', + 'dragPan', + 'touchZoomRotate', + 'scrollZoom', + 'keyboard', + ]; + m < v.length; + m += 1 + ) { + var y = v[m]; + t.interactive && t[y] && e[y].enable(t[y]); + } + }), + (gi.prototype._add = function (t, e, r) { + this._handlers.push({ + handlerName: t, + handler: e, + allowed: r, + }), + (this._handlersById[t] = e); + }), + (gi.prototype.stop = function () { + if (!this._updatingCamera) { + for (var t = 0, e = this._handlers; t < e.length; t += 1) + e[t].handler.reset(); + this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []); + } + }), + (gi.prototype.isActive = function () { + for (var t = 0, e = this._handlers; t < e.length; t += 1) + if (e[t].handler.isActive()) return !0; + return !1; + }), + (gi.prototype.isZooming = function () { + return ( + !!this._eventsInProgress.zoom || + this._map.scrollZoom.isZooming() + ); + }), + (gi.prototype.isRotating = function () { + return !!this._eventsInProgress.rotate; + }), + (gi.prototype.isMoving = function () { + return ( + Boolean(hi(this._eventsInProgress)) || this.isZooming() + ); + }), + (gi.prototype._blockedByActive = function (t, e, r) { + for (var n in t) + if (n !== r && (!e || e.indexOf(n) < 0)) return !0; + return !1; + }), + (gi.prototype.handleWindowEvent = function (t) { + this.handleEvent(t, t.type + 'Window'); + }), + (gi.prototype._getMapTouches = function (t) { + for (var e = [], r = 0, n = t; r < n.length; r += 1) { + var i = n[r]; + this._el.contains(i.target) && e.push(i); + } + return e; + }), + (gi.prototype.handleEvent = function (t, e) { + if ('blur' !== t.type) { + this._updatingCamera = !0; + for ( + var n = 'renderFrame' === t.type ? void 0 : t, + i = { needsRenderFrame: !1 }, + a = {}, + o = {}, + s = t.touches + ? this._getMapTouches(t.touches) + : void 0, + l = s + ? r.touchPos(this._el, s) + : r.mousePos(this._el, t), + c = 0, + u = this._handlers; + c < u.length; + c += 1 + ) { + var f = u[c], + h = f.handlerName, + p = f.handler, + d = f.allowed; + if (p.isEnabled()) { + var g = void 0; + this._blockedByActive(o, d, h) + ? p.reset() + : p[e || t.type] && + ((g = p[e || t.type](t, l, s)), + this.mergeHandlerResult(i, a, g, h, n), + g && + g.needsRenderFrame && + this._triggerRenderFrame()), + (g || p.isActive()) && (o[h] = p); + } + } + var m = {}; + for (var v in this._previousActiveHandlers) + o[v] || (m[v] = n); + (this._previousActiveHandlers = o), + (Object.keys(m).length || di(i)) && + (this._changes.push([i, a, m]), + this._triggerRenderFrame()), + (Object.keys(o).length || di(i)) && this._map._stop(!0), + (this._updatingCamera = !1); + var y = i.cameraAnimation; + y && + (this._inertia.clear(), + this._fireEvents({}, {}), + (this._changes = []), + y(this._map)); + } else this.stop(); + }), + (gi.prototype.mergeHandlerResult = function (e, r, n, i, a) { + if (n) { + t.extend(e, n); + var o = { + handlerName: i, + originalEvent: n.originalEvent || a, + }; + void 0 !== n.zoomDelta && (r.zoom = o), + void 0 !== n.panDelta && (r.drag = o), + void 0 !== n.pitchDelta && (r.pitch = o), + void 0 !== n.bearingDelta && (r.rotate = o); + } + }), + (gi.prototype._applyChanges = function () { + for ( + var e = {}, r = {}, n = {}, i = 0, a = this._changes; + i < a.length; + i += 1 + ) { + var o = a[i], + s = o[0], + l = o[1], + c = o[2]; + s.panDelta && + (e.panDelta = (e.panDelta || new t.Point(0, 0))._add( + s.panDelta + )), + s.zoomDelta && + (e.zoomDelta = (e.zoomDelta || 0) + s.zoomDelta), + s.bearingDelta && + (e.bearingDelta = + (e.bearingDelta || 0) + s.bearingDelta), + s.pitchDelta && + (e.pitchDelta = (e.pitchDelta || 0) + s.pitchDelta), + void 0 !== s.around && (e.around = s.around), + void 0 !== s.pinchAround && + (e.pinchAround = s.pinchAround), + s.noInertia && (e.noInertia = s.noInertia), + t.extend(r, l), + t.extend(n, c); + } + this._updateMapTransform(e, r, n), (this._changes = []); + }), + (gi.prototype._updateMapTransform = function (t, e, r) { + var n = this._map, + i = n.transform; + if (!di(t)) return this._fireEvents(e, r); + var a = t.panDelta, + o = t.zoomDelta, + s = t.bearingDelta, + l = t.pitchDelta, + c = t.around, + u = t.pinchAround; + void 0 !== u && (c = u), + n._stop(!0), + (c = c || n.transform.centerPoint); + var f = i.pointLocation(a ? c.sub(a) : c); + s && (i.bearing += s), + l && (i.pitch += l), + o && (i.zoom += o), + i.setLocationAtPoint(f, c), + this._map._update(), + t.noInertia || this._inertia.record(t), + this._fireEvents(e, r); + }), + (gi.prototype._fireEvents = function (e, r) { + var n = this, + i = hi(this._eventsInProgress), + a = hi(e), + o = {}; + for (var s in e) + this._eventsInProgress[s] || + (o[s + 'start'] = e[s].originalEvent), + (this._eventsInProgress[s] = e[s]); + for (var l in (!i && + a && + this._fireEvent('movestart', a.originalEvent), + o)) + this._fireEvent(l, o[l]); + for (var c in (e.rotate && (this._bearingChanged = !0), + a && this._fireEvent('move', a.originalEvent), + e)) + this._fireEvent(c, e[c].originalEvent); + var u, + f = {}; + for (var h in this._eventsInProgress) { + var p = this._eventsInProgress[h], + d = p.handlerName, + g = p.originalEvent; + this._handlersById[d].isActive() || + (delete this._eventsInProgress[h], + (f[h + 'end'] = u = r[d] || g)); + } + for (var m in f) this._fireEvent(m, f[m]); + var v = hi(this._eventsInProgress); + if ((i || a) && !v) { + this._updatingCamera = !0; + var y = this._inertia._onMoveEnd( + this._map.dragPan._inertiaOptions + ), + x = function (t) { + return ( + 0 !== t && -n._bearingSnap < t && t < n._bearingSnap + ); + }; + y + ? (x(y.bearing || this._map.getBearing()) && + (y.bearing = 0), + this._map.easeTo(y, { originalEvent: u })) + : (this._map.fire( + new t.Event('moveend', { originalEvent: u }) + ), + x(this._map.getBearing()) && this._map.resetNorth()), + (this._bearingChanged = !1), + (this._updatingCamera = !1); + } + }), + (gi.prototype._fireEvent = function (e, r) { + this._map.fire( + new t.Event(e, r ? { originalEvent: r } : {}) + ); + }), + (gi.prototype._triggerRenderFrame = function () { + var t = this; + void 0 === this._frameId && + (this._frameId = this._map._requestRenderFrame(function ( + e + ) { + delete t._frameId, + t.handleEvent( + new pi('renderFrame', { timeStamp: e }) + ), + t._applyChanges(); + })); + }); + var mi = (function (e) { + function r(r, n) { + e.call(this), + (this._moving = !1), + (this._zooming = !1), + (this.transform = r), + (this._bearingSnap = n.bearingSnap), + t.bindAll(['_renderFrameCallback'], this); + } + return ( + e && (r.__proto__ = e), + ((r.prototype = Object.create( + e && e.prototype + )).constructor = r), + (r.prototype.getCenter = function () { + return new t.LngLat( + this.transform.center.lng, + this.transform.center.lat + ); + }), + (r.prototype.setCenter = function (t, e) { + return this.jumpTo({ center: t }, e); + }), + (r.prototype.panBy = function (e, r, n) { + return ( + (e = t.Point.convert(e).mult(-1)), + this.panTo( + this.transform.center, + t.extend({ offset: e }, r), + n + ) + ); + }), + (r.prototype.panTo = function (e, r, n) { + return this.easeTo(t.extend({ center: e }, r), n); + }), + (r.prototype.getZoom = function () { + return this.transform.zoom; + }), + (r.prototype.setZoom = function (t, e) { + return this.jumpTo({ zoom: t }, e), this; + }), + (r.prototype.zoomTo = function (e, r, n) { + return this.easeTo(t.extend({ zoom: e }, r), n); + }), + (r.prototype.zoomIn = function (t, e) { + return this.zoomTo(this.getZoom() + 1, t, e), this; + }), + (r.prototype.zoomOut = function (t, e) { + return this.zoomTo(this.getZoom() - 1, t, e), this; + }), + (r.prototype.getBearing = function () { + return this.transform.bearing; + }), + (r.prototype.setBearing = function (t, e) { + return this.jumpTo({ bearing: t }, e), this; + }), + (r.prototype.getPadding = function () { + return this.transform.padding; + }), + (r.prototype.setPadding = function (t, e) { + return this.jumpTo({ padding: t }, e), this; + }), + (r.prototype.rotateTo = function (e, r, n) { + return this.easeTo(t.extend({ bearing: e }, r), n); + }), + (r.prototype.resetNorth = function (e, r) { + return ( + this.rotateTo(0, t.extend({ duration: 1e3 }, e), r), + this + ); + }), + (r.prototype.resetNorthPitch = function (e, r) { + return ( + this.easeTo( + t.extend( + { bearing: 0, pitch: 0, duration: 1e3 }, + e + ), + r + ), + this + ); + }), + (r.prototype.snapToNorth = function (t, e) { + return Math.abs(this.getBearing()) < this._bearingSnap + ? this.resetNorth(t, e) + : this; + }), + (r.prototype.getPitch = function () { + return this.transform.pitch; + }), + (r.prototype.setPitch = function (t, e) { + return this.jumpTo({ pitch: t }, e), this; + }), + (r.prototype.cameraForBounds = function (e, r) { + return ( + (e = t.LngLatBounds.convert(e)), + this._cameraForBoxAndBearing( + e.getNorthWest(), + e.getSouthEast(), + 0, + r + ) + ); + }), + (r.prototype._cameraForBoxAndBearing = function ( + e, + r, + n, + i + ) { + var a = { top: 0, bottom: 0, right: 0, left: 0 }; + if ( + 'number' == + typeof (i = t.extend( + { + padding: a, + offset: [0, 0], + maxZoom: this.transform.maxZoom, + }, + i + )).padding + ) { + var o = i.padding; + i.padding = { top: o, bottom: o, right: o, left: o }; + } + i.padding = t.extend(a, i.padding); + var s = this.transform, + l = s.padding, + c = s.project(t.LngLat.convert(e)), + u = s.project(t.LngLat.convert(r)), + f = c.rotate((-n * Math.PI) / 180), + h = u.rotate((-n * Math.PI) / 180), + p = new t.Point( + Math.max(f.x, h.x), + Math.max(f.y, h.y) + ), + d = new t.Point( + Math.min(f.x, h.x), + Math.min(f.y, h.y) + ), + g = p.sub(d), + m = + (s.width - + (l.left + + l.right + + i.padding.left + + i.padding.right)) / + g.x, + v = + (s.height - + (l.top + + l.bottom + + i.padding.top + + i.padding.bottom)) / + g.y; + if (!(v < 0 || m < 0)) { + var y = Math.min( + s.scaleZoom(s.scale * Math.min(m, v)), + i.maxZoom + ), + x = t.Point.convert(i.offset), + b = new t.Point( + x.x + (i.padding.left - i.padding.right) / 2, + x.y + (i.padding.top - i.padding.bottom) / 2 + ).mult(s.scale / s.zoomScale(y)); + return { + center: s.unproject(c.add(u).div(2).sub(b)), + zoom: y, + bearing: n, + }; + } + t.warnOnce( + 'Map cannot fit within canvas with the given bounds, padding, and/or offset.' + ); + }), + (r.prototype.fitBounds = function (t, e, r) { + return this._fitInternal( + this.cameraForBounds(t, e), + e, + r + ); + }), + (r.prototype.fitScreenCoordinates = function ( + e, + r, + n, + i, + a + ) { + return this._fitInternal( + this._cameraForBoxAndBearing( + this.transform.pointLocation(t.Point.convert(e)), + this.transform.pointLocation(t.Point.convert(r)), + n, + i + ), + i, + a + ); + }), + (r.prototype._fitInternal = function (e, r, n) { + return e + ? (delete (r = t.extend(e, r)).padding, + r.linear ? this.easeTo(r, n) : this.flyTo(r, n)) + : this; + }), + (r.prototype.jumpTo = function (e, r) { + this.stop(); + var n = this.transform, + i = !1, + a = !1, + o = !1; + return ( + 'zoom' in e && + n.zoom !== +e.zoom && + ((i = !0), (n.zoom = +e.zoom)), + void 0 !== e.center && + (n.center = t.LngLat.convert(e.center)), + 'bearing' in e && + n.bearing !== +e.bearing && + ((a = !0), (n.bearing = +e.bearing)), + 'pitch' in e && + n.pitch !== +e.pitch && + ((o = !0), (n.pitch = +e.pitch)), + null == e.padding || + n.isPaddingEqual(e.padding) || + (n.padding = e.padding), + this.fire(new t.Event('movestart', r)).fire( + new t.Event('move', r) + ), + i && + this.fire(new t.Event('zoomstart', r)) + .fire(new t.Event('zoom', r)) + .fire(new t.Event('zoomend', r)), + a && + this.fire(new t.Event('rotatestart', r)) + .fire(new t.Event('rotate', r)) + .fire(new t.Event('rotateend', r)), + o && + this.fire(new t.Event('pitchstart', r)) + .fire(new t.Event('pitch', r)) + .fire(new t.Event('pitchend', r)), + this.fire(new t.Event('moveend', r)) + ); + }), + (r.prototype.easeTo = function (e, r) { + var n = this; + this._stop(!1, e.easeId), + (!1 === + (e = t.extend( + { offset: [0, 0], duration: 500, easing: t.ease }, + e + )).animate || + (!e.essential && t.browser.prefersReducedMotion)) && + (e.duration = 0); + var i = this.transform, + a = this.getZoom(), + o = this.getBearing(), + s = this.getPitch(), + l = this.getPadding(), + c = 'zoom' in e ? +e.zoom : a, + u = + 'bearing' in e + ? this._normalizeBearing(e.bearing, o) + : o, + f = 'pitch' in e ? +e.pitch : s, + h = 'padding' in e ? e.padding : i.padding, + p = t.Point.convert(e.offset), + d = i.centerPoint.add(p), + g = i.pointLocation(d), + m = t.LngLat.convert(e.center || g); + this._normalizeCenter(m); + var v, + y, + x = i.project(g), + b = i.project(m).sub(x), + _ = i.zoomScale(c - a); + e.around && + ((v = t.LngLat.convert(e.around)), + (y = i.locationPoint(v))); + var w = { + moving: this._moving, + zooming: this._zooming, + rotating: this._rotating, + pitching: this._pitching, + }; + return ( + (this._zooming = this._zooming || c !== a), + (this._rotating = this._rotating || o !== u), + (this._pitching = this._pitching || f !== s), + (this._padding = !i.isPaddingEqual(h)), + (this._easeId = e.easeId), + this._prepareEase(r, e.noMoveStart, w), + clearTimeout(this._easeEndTimeoutID), + this._ease( + function (e) { + if ( + (n._zooming && (i.zoom = t.number(a, c, e)), + n._rotating && (i.bearing = t.number(o, u, e)), + n._pitching && (i.pitch = t.number(s, f, e)), + n._padding && + (i.interpolatePadding(l, h, e), + (d = i.centerPoint.add(p))), + v) + ) + i.setLocationAtPoint(v, y); + else { + var g = i.zoomScale(i.zoom - a), + m = c > a ? Math.min(2, _) : Math.max(0.5, _), + w = Math.pow(m, 1 - e), + T = i.unproject(x.add(b.mult(e * w)).mult(g)); + i.setLocationAtPoint( + i.renderWorldCopies ? T.wrap() : T, + d + ); + } + n._fireMoveEvents(r); + }, + function (t) { + n._afterEase(r, t); + }, + e + ), + this + ); + }), + (r.prototype._prepareEase = function (e, r, n) { + void 0 === n && (n = {}), + (this._moving = !0), + r || + n.moving || + this.fire(new t.Event('movestart', e)), + this._zooming && + !n.zooming && + this.fire(new t.Event('zoomstart', e)), + this._rotating && + !n.rotating && + this.fire(new t.Event('rotatestart', e)), + this._pitching && + !n.pitching && + this.fire(new t.Event('pitchstart', e)); + }), + (r.prototype._fireMoveEvents = function (e) { + this.fire(new t.Event('move', e)), + this._zooming && this.fire(new t.Event('zoom', e)), + this._rotating && this.fire(new t.Event('rotate', e)), + this._pitching && this.fire(new t.Event('pitch', e)); + }), + (r.prototype._afterEase = function (e, r) { + if (!this._easeId || !r || this._easeId !== r) { + delete this._easeId; + var n = this._zooming, + i = this._rotating, + a = this._pitching; + (this._moving = !1), + (this._zooming = !1), + (this._rotating = !1), + (this._pitching = !1), + (this._padding = !1), + n && this.fire(new t.Event('zoomend', e)), + i && this.fire(new t.Event('rotateend', e)), + a && this.fire(new t.Event('pitchend', e)), + this.fire(new t.Event('moveend', e)); + } + }), + (r.prototype.flyTo = function (e, r) { + var n = this; + if (!e.essential && t.browser.prefersReducedMotion) { + var i = t.pick(e, [ + 'center', + 'zoom', + 'bearing', + 'pitch', + 'around', + ]); + return this.jumpTo(i, r); + } + this.stop(), + (e = t.extend( + { + offset: [0, 0], + speed: 1.2, + curve: 1.42, + easing: t.ease, + }, + e + )); + var a = this.transform, + o = this.getZoom(), + s = this.getBearing(), + l = this.getPitch(), + c = this.getPadding(), + u = + 'zoom' in e + ? t.clamp(+e.zoom, a.minZoom, a.maxZoom) + : o, + f = + 'bearing' in e + ? this._normalizeBearing(e.bearing, s) + : s, + h = 'pitch' in e ? +e.pitch : l, + p = 'padding' in e ? e.padding : a.padding, + d = a.zoomScale(u - o), + g = t.Point.convert(e.offset), + m = a.centerPoint.add(g), + v = a.pointLocation(m), + y = t.LngLat.convert(e.center || v); + this._normalizeCenter(y); + var x = a.project(v), + b = a.project(y).sub(x), + _ = e.curve, + w = Math.max(a.width, a.height), + T = w / d, + k = b.mag(); + if ('minZoom' in e) { + var M = t.clamp( + Math.min(e.minZoom, o, u), + a.minZoom, + a.maxZoom + ), + A = w / a.zoomScale(M - o); + _ = Math.sqrt((A / k) * 2); + } + var S = _ * _; + function E(t) { + var e = + (T * T - w * w + (t ? -1 : 1) * S * S * k * k) / + (2 * (t ? T : w) * S * k); + return Math.log(Math.sqrt(e * e + 1) - e); + } + function C(t) { + return (Math.exp(t) - Math.exp(-t)) / 2; + } + function L(t) { + return (Math.exp(t) + Math.exp(-t)) / 2; + } + var I = E(0), + P = function (t) { + return L(I) / L(I + _ * t); + }, + z = function (t) { + return ( + (w * + ((L(I) * (C((e = I + _ * t)) / L(e)) - C(I)) / + S)) / + k + ); + var e; + }, + O = (E(1) - I) / _; + if (Math.abs(k) < 1e-6 || !isFinite(O)) { + if (Math.abs(w - T) < 1e-6) return this.easeTo(e, r); + var D = T < w ? -1 : 1; + (O = Math.abs(Math.log(T / w)) / _), + (z = function () { + return 0; + }), + (P = function (t) { + return Math.exp(D * _ * t); + }); + } + return ( + (e.duration = + 'duration' in e + ? +e.duration + : (1e3 * O) / + ('screenSpeed' in e + ? +e.screenSpeed / _ + : +e.speed)), + e.maxDuration && + e.duration > e.maxDuration && + (e.duration = 0), + (this._zooming = !0), + (this._rotating = s !== f), + (this._pitching = h !== l), + (this._padding = !a.isPaddingEqual(p)), + this._prepareEase(r, !1), + this._ease( + function (e) { + var i = e * O, + d = 1 / P(i); + (a.zoom = 1 === e ? u : o + a.scaleZoom(d)), + n._rotating && (a.bearing = t.number(s, f, e)), + n._pitching && (a.pitch = t.number(l, h, e)), + n._padding && + (a.interpolatePadding(c, p, e), + (m = a.centerPoint.add(g))); + var v = + 1 === e + ? y + : a.unproject(x.add(b.mult(z(i))).mult(d)); + a.setLocationAtPoint( + a.renderWorldCopies ? v.wrap() : v, + m + ), + n._fireMoveEvents(r); + }, + function () { + return n._afterEase(r); + }, + e + ), + this + ); + }), + (r.prototype.isEasing = function () { + return !!this._easeFrameId; + }), + (r.prototype.stop = function () { + return this._stop(); + }), + (r.prototype._stop = function (t, e) { + if ( + (this._easeFrameId && + (this._cancelRenderFrame(this._easeFrameId), + delete this._easeFrameId, + delete this._onEaseFrame), + this._onEaseEnd) + ) { + var r = this._onEaseEnd; + delete this._onEaseEnd, r.call(this, e); + } + if (!t) { + var n = this.handlers; + n && n.stop(); + } + return this; + }), + (r.prototype._ease = function (e, r, n) { + !1 === n.animate || 0 === n.duration + ? (e(1), r()) + : ((this._easeStart = t.browser.now()), + (this._easeOptions = n), + (this._onEaseFrame = e), + (this._onEaseEnd = r), + (this._easeFrameId = this._requestRenderFrame( + this._renderFrameCallback + ))); + }), + (r.prototype._renderFrameCallback = function () { + var e = Math.min( + (t.browser.now() - this._easeStart) / + this._easeOptions.duration, + 1 + ); + this._onEaseFrame(this._easeOptions.easing(e)), + e < 1 + ? (this._easeFrameId = this._requestRenderFrame( + this._renderFrameCallback + )) + : this.stop(); + }), + (r.prototype._normalizeBearing = function (e, r) { + e = t.wrap(e, -180, 180); + var n = Math.abs(e - r); + return ( + Math.abs(e - 360 - r) < n && (e -= 360), + Math.abs(e + 360 - r) < n && (e += 360), + e + ); + }), + (r.prototype._normalizeCenter = function (t) { + var e = this.transform; + if (e.renderWorldCopies && !e.lngRange) { + var r = t.lng - e.center.lng; + t.lng += r > 180 ? -360 : r < -180 ? 360 : 0; + } + }), + r + ); + })(t.Evented), + vi = function (e) { + void 0 === e && (e = {}), + (this.options = e), + t.bindAll( + ['_updateEditLink', '_updateData', '_updateCompact'], + this + ); + }; + (vi.prototype.getDefaultPosition = function () { + return 'bottom-right'; + }), + (vi.prototype.onAdd = function (t) { + var e = this.options && this.options.compact; + return ( + (this._map = t), + (this._container = r.create( + 'div', + 'mapboxgl-ctrl mapboxgl-ctrl-attrib' + )), + (this._innerContainer = r.create( + 'div', + 'mapboxgl-ctrl-attrib-inner', + this._container + )), + e && this._container.classList.add('mapboxgl-compact'), + this._updateAttributions(), + this._updateEditLink(), + this._map.on('styledata', this._updateData), + this._map.on('sourcedata', this._updateData), + this._map.on('moveend', this._updateEditLink), + void 0 === e && + (this._map.on('resize', this._updateCompact), + this._updateCompact()), + this._container + ); + }), + (vi.prototype.onRemove = function () { + r.remove(this._container), + this._map.off('styledata', this._updateData), + this._map.off('sourcedata', this._updateData), + this._map.off('moveend', this._updateEditLink), + this._map.off('resize', this._updateCompact), + (this._map = void 0), + (this._attribHTML = void 0); + }), + (vi.prototype._updateEditLink = function () { + var e = this._editLink; + e || + (e = this._editLink = + this._container.querySelector('.mapbox-improve-map')); + var r = [ + { key: 'owner', value: this.styleOwner }, + { key: 'id', value: this.styleId }, + { + key: 'access_token', + value: + this._map._requestManager._customAccessToken || + t.config.ACCESS_TOKEN, + }, + ]; + if (e) { + var n = r.reduce(function (t, e, n) { + return ( + e.value && + (t += + e.key + + '=' + + e.value + + (n < r.length - 1 ? '&' : '')), + t + ); + }, '?'); + (e.href = + t.config.FEEDBACK_URL + + '/' + + n + + (this._map._hash + ? this._map._hash.getHashString(!0) + : '')), + (e.rel = 'noopener nofollow'); + } + }), + (vi.prototype._updateData = function (t) { + !t || + ('metadata' !== t.sourceDataType && + 'style' !== t.dataType) || + (this._updateAttributions(), this._updateEditLink()); + }), + (vi.prototype._updateAttributions = function () { + if (this._map.style) { + var t = []; + if ( + (this.options.customAttribution && + (Array.isArray(this.options.customAttribution) + ? (t = t.concat( + this.options.customAttribution.map(function ( + t + ) { + return 'string' != typeof t ? '' : t; + }) + )) + : 'string' == + typeof this.options.customAttribution && + t.push(this.options.customAttribution)), + this._map.style.stylesheet) + ) { + var e = this._map.style.stylesheet; + (this.styleOwner = e.owner), (this.styleId = e.id); + } + var r = this._map.style.sourceCaches; + for (var n in r) { + var i = r[n]; + if (i.used) { + var a = i.getSource(); + a.attribution && + t.indexOf(a.attribution) < 0 && + t.push(a.attribution); + } + } + t.sort(function (t, e) { + return t.length - e.length; + }); + var o = (t = t.filter(function (e, r) { + for (var n = r + 1; n < t.length; n++) + if (t[n].indexOf(e) >= 0) return !1; + return !0; + })).join(' | '); + o !== this._attribHTML && + ((this._attribHTML = o), + t.length + ? ((this._innerContainer.innerHTML = o), + this._container.classList.remove( + 'mapboxgl-attrib-empty' + )) + : this._container.classList.add( + 'mapboxgl-attrib-empty' + ), + (this._editLink = null)); + } + }), + (vi.prototype._updateCompact = function () { + this._map.getCanvasContainer().offsetWidth <= 640 + ? this._container.classList.add('mapboxgl-compact') + : this._container.classList.remove('mapboxgl-compact'); + }); + var yi = function () { + t.bindAll(['_updateLogo'], this), + t.bindAll(['_updateCompact'], this); + }; + (yi.prototype.onAdd = function (t) { + (this._map = t), + (this._container = r.create('div', 'mapboxgl-ctrl')); + var e = r.create('a', 'mapboxgl-ctrl-logo'); + return ( + (e.target = '_blank'), + (e.rel = 'noopener nofollow'), + (e.href = 'https://www.mapbox.com/'), + e.setAttribute( + 'aria-label', + this._map._getUIString('LogoControl.Title') + ), + e.setAttribute('rel', 'noopener nofollow'), + this._container.appendChild(e), + (this._container.style.display = 'none'), + this._map.on('sourcedata', this._updateLogo), + this._updateLogo(), + this._map.on('resize', this._updateCompact), + this._updateCompact(), + this._container + ); + }), + (yi.prototype.onRemove = function () { + r.remove(this._container), + this._map.off('sourcedata', this._updateLogo), + this._map.off('resize', this._updateCompact); + }), + (yi.prototype.getDefaultPosition = function () { + return 'bottom-left'; + }), + (yi.prototype._updateLogo = function (t) { + (t && 'metadata' !== t.sourceDataType) || + (this._container.style.display = this._logoRequired() + ? 'block' + : 'none'); + }), + (yi.prototype._logoRequired = function () { + if (this._map.style) { + var t = this._map.style.sourceCaches; + for (var e in t) + if (t[e].getSource().mapbox_logo) return !0; + return !1; + } + }), + (yi.prototype._updateCompact = function () { + var t = this._container.children; + if (t.length) { + var e = t[0]; + this._map.getCanvasContainer().offsetWidth < 250 + ? e.classList.add('mapboxgl-compact') + : e.classList.remove('mapboxgl-compact'); + } + }); + var xi = function () { + (this._queue = []), + (this._id = 0), + (this._cleared = !1), + (this._currentlyRunning = !1); + }; + (xi.prototype.add = function (t) { + var e = ++this._id; + return ( + this._queue.push({ callback: t, id: e, cancelled: !1 }), e + ); + }), + (xi.prototype.remove = function (t) { + for ( + var e = this._currentlyRunning, + r = 0, + n = e ? this._queue.concat(e) : this._queue; + r < n.length; + r += 1 + ) { + var i = n[r]; + if (i.id === t) return void (i.cancelled = !0); + } + }), + (xi.prototype.run = function (t) { + void 0 === t && (t = 0); + var e = (this._currentlyRunning = this._queue); + this._queue = []; + for (var r = 0, n = e; r < n.length; r += 1) { + var i = n[r]; + if (!i.cancelled && (i.callback(t), this._cleared)) break; + } + (this._cleared = !1), (this._currentlyRunning = !1); + }), + (xi.prototype.clear = function () { + this._currentlyRunning && (this._cleared = !0), + (this._queue = []); + }); + var bi = { + 'FullscreenControl.Enter': 'Enter fullscreen', + 'FullscreenControl.Exit': 'Exit fullscreen', + 'GeolocateControl.FindMyLocation': 'Find my location', + 'GeolocateControl.LocationNotAvailable': + 'Location not available', + 'LogoControl.Title': 'Mapbox logo', + 'NavigationControl.ResetBearing': 'Reset bearing to north', + 'NavigationControl.ZoomIn': 'Zoom in', + 'NavigationControl.ZoomOut': 'Zoom out', + 'ScaleControl.Feet': 'ft', + 'ScaleControl.Meters': 'm', + 'ScaleControl.Kilometers': 'km', + 'ScaleControl.Miles': 'mi', + 'ScaleControl.NauticalMiles': 'nm', + }, + _i = t.window.HTMLImageElement, + wi = t.window.HTMLElement, + Ti = t.window.ImageBitmap, + ki = { + center: [0, 0], + zoom: 0, + bearing: 0, + pitch: 0, + minZoom: -2, + maxZoom: 22, + minPitch: 0, + maxPitch: 60, + interactive: !0, + scrollZoom: !0, + boxZoom: !0, + dragRotate: !0, + dragPan: !0, + keyboard: !0, + doubleClickZoom: !0, + touchZoomRotate: !0, + touchPitch: !0, + bearingSnap: 7, + clickTolerance: 3, + pitchWithRotate: !0, + hash: !1, + attributionControl: !0, + failIfMajorPerformanceCaveat: !1, + preserveDrawingBuffer: !1, + trackResize: !0, + renderWorldCopies: !0, + refreshExpiredTiles: !0, + maxTileCacheSize: null, + localIdeographFontFamily: 'sans-serif', + transformRequest: null, + accessToken: null, + fadeDuration: 300, + crossSourceCollisions: !0, + }, + Mi = (function (n) { + function i(e) { + var r = this; + if ( + null != (e = t.extend({}, ki, e)).minZoom && + null != e.maxZoom && + e.minZoom > e.maxZoom + ) + throw new Error( + 'maxZoom must be greater than or equal to minZoom' + ); + if ( + null != e.minPitch && + null != e.maxPitch && + e.minPitch > e.maxPitch + ) + throw new Error( + 'maxPitch must be greater than or equal to minPitch' + ); + if (null != e.minPitch && e.minPitch < 0) + throw new Error( + 'minPitch must be greater than or equal to 0' + ); + if (null != e.maxPitch && e.maxPitch > 60) + throw new Error( + 'maxPitch must be less than or equal to 60' + ); + var i = new wn( + e.minZoom, + e.maxZoom, + e.minPitch, + e.maxPitch, + e.renderWorldCopies + ); + if ( + (n.call(this, i, e), + (this._interactive = e.interactive), + (this._maxTileCacheSize = e.maxTileCacheSize), + (this._failIfMajorPerformanceCaveat = + e.failIfMajorPerformanceCaveat), + (this._preserveDrawingBuffer = e.preserveDrawingBuffer), + (this._antialias = e.antialias), + (this._trackResize = e.trackResize), + (this._bearingSnap = e.bearingSnap), + (this._refreshExpiredTiles = e.refreshExpiredTiles), + (this._fadeDuration = e.fadeDuration), + (this._crossSourceCollisions = e.crossSourceCollisions), + (this._crossFadingFactor = 1), + (this._collectResourceTiming = e.collectResourceTiming), + (this._renderTaskQueue = new xi()), + (this._controls = []), + (this._mapId = t.uniqueId()), + (this._locale = t.extend({}, bi, e.locale)), + (this._requestManager = new t.RequestManager( + e.transformRequest, + e.accessToken + )), + 'string' == typeof e.container) + ) { + if ( + ((this._container = t.window.document.getElementById( + e.container + )), + !this._container) + ) + throw new Error( + "Container '" + e.container + "' not found." + ); + } else { + if (!(e.container instanceof wi)) + throw new Error( + "Invalid type: 'container' must be a String or HTMLElement." + ); + this._container = e.container; + } + if ( + (e.maxBounds && this.setMaxBounds(e.maxBounds), + t.bindAll( + [ + '_onWindowOnline', + '_onWindowResize', + '_contextLost', + '_contextRestored', + ], + this + ), + this._setupContainer(), + this._setupPainter(), + void 0 === this.painter) + ) + throw new Error('Failed to initialize WebGL.'); + this.on('move', function () { + return r._update(!1); + }), + this.on('moveend', function () { + return r._update(!1); + }), + this.on('zoom', function () { + return r._update(!0); + }), + void 0 !== t.window && + (t.window.addEventListener( + 'online', + this._onWindowOnline, + !1 + ), + t.window.addEventListener( + 'resize', + this._onWindowResize, + !1 + )), + (this.handlers = new gi(this, e)), + (this._hash = + e.hash && + new kn( + ('string' == typeof e.hash && e.hash) || void 0 + ).addTo(this)), + (this._hash && this._hash._onHashChange()) || + (this.jumpTo({ + center: e.center, + zoom: e.zoom, + bearing: e.bearing, + pitch: e.pitch, + }), + e.bounds && + (this.resize(), + this.fitBounds( + e.bounds, + t.extend({}, e.fitBoundsOptions, { duration: 0 }) + ))), + this.resize(), + (this._localIdeographFontFamily = + e.localIdeographFontFamily), + e.style && + this.setStyle(e.style, { + localIdeographFontFamily: + e.localIdeographFontFamily, + }), + e.attributionControl && + this.addControl( + new vi({ customAttribution: e.customAttribution }) + ), + this.addControl(new yi(), e.logoPosition), + this.on('style.load', function () { + r.transform.unmodified && + r.jumpTo(r.style.stylesheet); + }), + this.on('data', function (e) { + r._update('style' === e.dataType), + r.fire(new t.Event(e.dataType + 'data', e)); + }), + this.on('dataloading', function (e) { + r.fire(new t.Event(e.dataType + 'dataloading', e)); + }); + } + n && (i.__proto__ = n), + ((i.prototype = Object.create( + n && n.prototype + )).constructor = i); + var a = { + showTileBoundaries: { configurable: !0 }, + showPadding: { configurable: !0 }, + showCollisionBoxes: { configurable: !0 }, + showOverdrawInspector: { configurable: !0 }, + repaint: { configurable: !0 }, + vertices: { configurable: !0 }, + version: { configurable: !0 }, + }; + return ( + (i.prototype._getMapId = function () { + return this._mapId; + }), + (i.prototype.addControl = function (e, r) { + if ( + (void 0 === r && + e.getDefaultPosition && + (r = e.getDefaultPosition()), + void 0 === r && (r = 'top-right'), + !e || !e.onAdd) + ) + return this.fire( + new t.ErrorEvent( + new Error( + 'Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.' + ) + ) + ); + var n = e.onAdd(this); + this._controls.push(e); + var i = this._controlPositions[r]; + return ( + -1 !== r.indexOf('bottom') + ? i.insertBefore(n, i.firstChild) + : i.appendChild(n), + this + ); + }), + (i.prototype.removeControl = function (e) { + if (!e || !e.onRemove) + return this.fire( + new t.ErrorEvent( + new Error( + 'Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.' + ) + ) + ); + var r = this._controls.indexOf(e); + return ( + r > -1 && this._controls.splice(r, 1), + e.onRemove(this), + this + ); + }), + (i.prototype.resize = function (e) { + var r = this._containerDimensions(), + n = r[0], + i = r[1]; + this._resizeCanvas(n, i), + this.transform.resize(n, i), + this.painter.resize(n, i); + var a = !this._moving; + return ( + a && + (this.stop(), + this.fire(new t.Event('movestart', e)).fire( + new t.Event('move', e) + )), + this.fire(new t.Event('resize', e)), + a && this.fire(new t.Event('moveend', e)), + this + ); + }), + (i.prototype.getBounds = function () { + return this.transform.getBounds(); + }), + (i.prototype.getMaxBounds = function () { + return this.transform.getMaxBounds(); + }), + (i.prototype.setMaxBounds = function (e) { + return ( + this.transform.setMaxBounds( + t.LngLatBounds.convert(e) + ), + this._update() + ); + }), + (i.prototype.setMinZoom = function (t) { + if ( + (t = null == t ? -2 : t) >= -2 && + t <= this.transform.maxZoom + ) + return ( + (this.transform.minZoom = t), + this._update(), + this.getZoom() < t && this.setZoom(t), + this + ); + throw new Error( + 'minZoom must be between -2 and the current maxZoom, inclusive' + ); + }), + (i.prototype.getMinZoom = function () { + return this.transform.minZoom; + }), + (i.prototype.setMaxZoom = function (t) { + if ((t = null == t ? 22 : t) >= this.transform.minZoom) + return ( + (this.transform.maxZoom = t), + this._update(), + this.getZoom() > t && this.setZoom(t), + this + ); + throw new Error( + 'maxZoom must be greater than the current minZoom' + ); + }), + (i.prototype.getMaxZoom = function () { + return this.transform.maxZoom; + }), + (i.prototype.setMinPitch = function (t) { + if ((t = null == t ? 0 : t) < 0) + throw new Error( + 'minPitch must be greater than or equal to 0' + ); + if (t >= 0 && t <= this.transform.maxPitch) + return ( + (this.transform.minPitch = t), + this._update(), + this.getPitch() < t && this.setPitch(t), + this + ); + throw new Error( + 'minPitch must be between 0 and the current maxPitch, inclusive' + ); + }), + (i.prototype.getMinPitch = function () { + return this.transform.minPitch; + }), + (i.prototype.setMaxPitch = function (t) { + if ((t = null == t ? 60 : t) > 60) + throw new Error( + 'maxPitch must be less than or equal to 60' + ); + if (t >= this.transform.minPitch) + return ( + (this.transform.maxPitch = t), + this._update(), + this.getPitch() > t && this.setPitch(t), + this + ); + throw new Error( + 'maxPitch must be greater than the current minPitch' + ); + }), + (i.prototype.getMaxPitch = function () { + return this.transform.maxPitch; + }), + (i.prototype.getRenderWorldCopies = function () { + return this.transform.renderWorldCopies; + }), + (i.prototype.setRenderWorldCopies = function (t) { + return ( + (this.transform.renderWorldCopies = t), this._update() + ); + }), + (i.prototype.project = function (e) { + return this.transform.locationPoint( + t.LngLat.convert(e) + ); + }), + (i.prototype.unproject = function (e) { + return this.transform.pointLocation(t.Point.convert(e)); + }), + (i.prototype.isMoving = function () { + return this._moving || this.handlers.isMoving(); + }), + (i.prototype.isZooming = function () { + return this._zooming || this.handlers.isZooming(); + }), + (i.prototype.isRotating = function () { + return this._rotating || this.handlers.isRotating(); + }), + (i.prototype._createDelegatedListener = function ( + t, + e, + r + ) { + var n, + i = this; + if ('mouseenter' === t || 'mouseover' === t) { + var a = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + var o = i.getLayer(e) + ? i.queryRenderedFeatures(n.point, { + layers: [e], + }) + : []; + o.length + ? a || + ((a = !0), + r.call( + i, + new zn(t, i, n.originalEvent, { + features: o, + }) + )) + : (a = !1); + }, + mouseout: function () { + a = !1; + }, + }, + }; + } + if ('mouseleave' === t || 'mouseout' === t) { + var o = !1; + return { + layer: e, + listener: r, + delegates: { + mousemove: function (n) { + (i.getLayer(e) + ? i.queryRenderedFeatures(n.point, { + layers: [e], + }) + : [] + ).length + ? (o = !0) + : o && + ((o = !1), + r.call(i, new zn(t, i, n.originalEvent))); + }, + mouseout: function (e) { + o && + ((o = !1), + r.call(i, new zn(t, i, e.originalEvent))); + }, + }, + }; + } + return { + layer: e, + listener: r, + delegates: + ((n = {}), + (n[t] = function (t) { + var n = i.getLayer(e) + ? i.queryRenderedFeatures(t.point, { + layers: [e], + }) + : []; + n.length && + ((t.features = n), + r.call(i, t), + delete t.features); + }), + n), + }; + }), + (i.prototype.on = function (t, e, r) { + if (void 0 === r) + return n.prototype.on.call(this, t, e); + var i = this._createDelegatedListener(t, e, r); + for (var a in ((this._delegatedListeners = + this._delegatedListeners || {}), + (this._delegatedListeners[t] = + this._delegatedListeners[t] || []), + this._delegatedListeners[t].push(i), + i.delegates)) + this.on(a, i.delegates[a]); + return this; + }), + (i.prototype.once = function (t, e, r) { + if (void 0 === r) + return n.prototype.once.call(this, t, e); + var i = this._createDelegatedListener(t, e, r); + for (var a in i.delegates) this.once(a, i.delegates[a]); + return this; + }), + (i.prototype.off = function (t, e, r) { + var i = this; + return void 0 === r + ? n.prototype.off.call(this, t, e) + : (this._delegatedListeners && + this._delegatedListeners[t] && + (function (n) { + for (var a = n[t], o = 0; o < a.length; o++) { + var s = a[o]; + if (s.layer === e && s.listener === r) { + for (var l in s.delegates) + i.off(l, s.delegates[l]); + return a.splice(o, 1), i; + } + } + })(this._delegatedListeners), + this); + }), + (i.prototype.queryRenderedFeatures = function (e, r) { + if (!this.style) return []; + var n; + if ( + (void 0 !== r || + void 0 === e || + e instanceof t.Point || + Array.isArray(e) || + ((r = e), (e = void 0)), + (r = r || {}), + (e = e || [ + [0, 0], + [this.transform.width, this.transform.height], + ]) instanceof t.Point || 'number' == typeof e[0]) + ) + n = [t.Point.convert(e)]; + else { + var i = t.Point.convert(e[0]), + a = t.Point.convert(e[1]); + n = [ + i, + new t.Point(a.x, i.y), + a, + new t.Point(i.x, a.y), + i, + ]; + } + return this.style.queryRenderedFeatures( + n, + r, + this.transform + ); + }), + (i.prototype.querySourceFeatures = function (t, e) { + return this.style.querySourceFeatures(t, e); + }), + (i.prototype.setStyle = function (e, r) { + return !1 !== + (r = t.extend( + {}, + { + localIdeographFontFamily: + this._localIdeographFontFamily, + }, + r + )).diff && + r.localIdeographFontFamily === + this._localIdeographFontFamily && + this.style && + e + ? (this._diffStyle(e, r), this) + : ((this._localIdeographFontFamily = + r.localIdeographFontFamily), + this._updateStyle(e, r)); + }), + (i.prototype._getUIString = function (t) { + var e = this._locale[t]; + if (null == e) + throw new Error("Missing UI string '" + t + "'"); + return e; + }), + (i.prototype._updateStyle = function (t, e) { + return ( + this.style && + (this.style.setEventedParent(null), + this.style._remove()), + t + ? ((this.style = new qe(this, e || {})), + this.style.setEventedParent(this, { + style: this.style, + }), + 'string' == typeof t + ? this.style.loadURL(t) + : this.style.loadJSON(t), + this) + : (delete this.style, this) + ); + }), + (i.prototype._lazyInitEmptyStyle = function () { + this.style || + ((this.style = new qe(this, {})), + this.style.setEventedParent(this, { + style: this.style, + }), + this.style.loadEmpty()); + }), + (i.prototype._diffStyle = function (e, r) { + var n = this; + if ('string' == typeof e) { + var i = this._requestManager.normalizeStyleURL(e), + a = this._requestManager.transformRequest( + i, + t.ResourceType.Style + ); + t.getJSON(a, function (e, i) { + e + ? n.fire(new t.ErrorEvent(e)) + : i && n._updateDiff(i, r); + }); + } else 'object' == typeof e && this._updateDiff(e, r); + }), + (i.prototype._updateDiff = function (e, r) { + try { + this.style.setState(e) && this._update(!0); + } catch (n) { + t.warnOnce( + 'Unable to perform style diff: ' + + (n.message || n.error || n) + + '. Rebuilding the style from scratch.' + ), + this._updateStyle(e, r); + } + }), + (i.prototype.getStyle = function () { + if (this.style) return this.style.serialize(); + }), + (i.prototype.isStyleLoaded = function () { + return this.style + ? this.style.loaded() + : t.warnOnce('There is no style added to the map.'); + }), + (i.prototype.addSource = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSource(t, e), + this._update(!0) + ); + }), + (i.prototype.isSourceLoaded = function (e) { + var r = this.style && this.style.sourceCaches[e]; + if (void 0 !== r) return r.loaded(); + this.fire( + new t.ErrorEvent( + new Error("There is no source with ID '" + e + "'") + ) + ); + }), + (i.prototype.areTilesLoaded = function () { + var t = this.style && this.style.sourceCaches; + for (var e in t) { + var r = t[e]._tiles; + for (var n in r) { + var i = r[n]; + if ('loaded' !== i.state && 'errored' !== i.state) + return !1; + } + } + return !0; + }), + (i.prototype.addSourceType = function (t, e, r) { + return ( + this._lazyInitEmptyStyle(), + this.style.addSourceType(t, e, r) + ); + }), + (i.prototype.removeSource = function (t) { + return this.style.removeSource(t), this._update(!0); + }), + (i.prototype.getSource = function (t) { + return this.style.getSource(t); + }), + (i.prototype.addImage = function (e, r, n) { + void 0 === n && (n = {}); + var i = n.pixelRatio; + void 0 === i && (i = 1); + var a = n.sdf; + void 0 === a && (a = !1); + var o = n.stretchX, + s = n.stretchY, + l = n.content; + if ( + (this._lazyInitEmptyStyle(), + r instanceof _i || (Ti && r instanceof Ti)) + ) { + var c = t.browser.getImageData(r); + this.style.addImage(e, { + data: new t.RGBAImage( + { width: c.width, height: c.height }, + c.data + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + }); + } else { + if (void 0 === r.width || void 0 === r.height) + return this.fire( + new t.ErrorEvent( + new Error( + 'Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`' + ) + ) + ); + var u = r; + this.style.addImage(e, { + data: new t.RGBAImage( + { width: r.width, height: r.height }, + new Uint8Array(r.data) + ), + pixelRatio: i, + stretchX: o, + stretchY: s, + content: l, + sdf: a, + version: 0, + userImage: u, + }), + u.onAdd && u.onAdd(this, e); + } + }), + (i.prototype.updateImage = function (e, r) { + var n = this.style.getImage(e); + if (!n) + return this.fire( + new t.ErrorEvent( + new Error( + 'The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.' + ) + ) + ); + var i = + r instanceof _i || (Ti && r instanceof Ti) + ? t.browser.getImageData(r) + : r, + a = i.width, + o = i.height, + s = i.data; + return void 0 === a || void 0 === o + ? this.fire( + new t.ErrorEvent( + new Error( + 'Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`' + ) + ) + ) + : a !== n.data.width || o !== n.data.height + ? this.fire( + new t.ErrorEvent( + new Error( + 'The width and height of the updated image must be that same as the previous version of the image' + ) + ) + ) + : (n.data.replace( + s, + !(r instanceof _i || (Ti && r instanceof Ti)) + ), + void this.style.updateImage(e, n)); + }), + (i.prototype.hasImage = function (e) { + return e + ? !!this.style.getImage(e) + : (this.fire( + new t.ErrorEvent( + new Error('Missing required image id') + ) + ), + !1); + }), + (i.prototype.removeImage = function (t) { + this.style.removeImage(t); + }), + (i.prototype.loadImage = function (e, r) { + t.getImage( + this._requestManager.transformRequest( + e, + t.ResourceType.Image + ), + r + ); + }), + (i.prototype.listImages = function () { + return this.style.listImages(); + }), + (i.prototype.addLayer = function (t, e) { + return ( + this._lazyInitEmptyStyle(), + this.style.addLayer(t, e), + this._update(!0) + ); + }), + (i.prototype.moveLayer = function (t, e) { + return this.style.moveLayer(t, e), this._update(!0); + }), + (i.prototype.removeLayer = function (t) { + return this.style.removeLayer(t), this._update(!0); + }), + (i.prototype.getLayer = function (t) { + return this.style.getLayer(t); + }), + (i.prototype.setLayerZoomRange = function (t, e, r) { + return ( + this.style.setLayerZoomRange(t, e, r), + this._update(!0) + ); + }), + (i.prototype.setFilter = function (t, e, r) { + return ( + void 0 === r && (r = {}), + this.style.setFilter(t, e, r), + this._update(!0) + ); + }), + (i.prototype.getFilter = function (t) { + return this.style.getFilter(t); + }), + (i.prototype.setPaintProperty = function (t, e, r, n) { + return ( + void 0 === n && (n = {}), + this.style.setPaintProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getPaintProperty = function (t, e) { + return this.style.getPaintProperty(t, e); + }), + (i.prototype.setLayoutProperty = function (t, e, r, n) { + return ( + void 0 === n && (n = {}), + this.style.setLayoutProperty(t, e, r, n), + this._update(!0) + ); + }), + (i.prototype.getLayoutProperty = function (t, e) { + return this.style.getLayoutProperty(t, e); + }), + (i.prototype.setLight = function (t, e) { + return ( + void 0 === e && (e = {}), + this._lazyInitEmptyStyle(), + this.style.setLight(t, e), + this._update(!0) + ); + }), + (i.prototype.getLight = function () { + return this.style.getLight(); + }), + (i.prototype.setFeatureState = function (t, e) { + return this.style.setFeatureState(t, e), this._update(); + }), + (i.prototype.removeFeatureState = function (t, e) { + return ( + this.style.removeFeatureState(t, e), this._update() + ); + }), + (i.prototype.getFeatureState = function (t) { + return this.style.getFeatureState(t); + }), + (i.prototype.getContainer = function () { + return this._container; + }), + (i.prototype.getCanvasContainer = function () { + return this._canvasContainer; + }), + (i.prototype.getCanvas = function () { + return this._canvas; + }), + (i.prototype._containerDimensions = function () { + var t = 0, + e = 0; + return ( + this._container && + ((t = this._container.clientWidth || 400), + (e = this._container.clientHeight || 300)), + [t, e] + ); + }), + (i.prototype._detectMissingCSS = function () { + 'rgb(250, 128, 114)' !== + t.window + .getComputedStyle(this._missingCSSCanary) + .getPropertyValue('background-color') && + t.warnOnce( + 'This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.' + ); + }), + (i.prototype._setupContainer = function () { + var t = this._container; + t.classList.add('mapboxgl-map'), + ((this._missingCSSCanary = r.create( + 'div', + 'mapboxgl-canary', + t + )).style.visibility = 'hidden'), + this._detectMissingCSS(); + var e = (this._canvasContainer = r.create( + 'div', + 'mapboxgl-canvas-container', + t + )); + this._interactive && + e.classList.add('mapboxgl-interactive'), + (this._canvas = r.create( + 'canvas', + 'mapboxgl-canvas', + e + )), + this._canvas.addEventListener( + 'webglcontextlost', + this._contextLost, + !1 + ), + this._canvas.addEventListener( + 'webglcontextrestored', + this._contextRestored, + !1 + ), + this._canvas.setAttribute('tabindex', '0'), + this._canvas.setAttribute('aria-label', 'Map'); + var n = this._containerDimensions(); + this._resizeCanvas(n[0], n[1]); + var i = (this._controlContainer = r.create( + 'div', + 'mapboxgl-control-container', + t + )), + a = (this._controlPositions = {}); + [ + 'top-left', + 'top-right', + 'bottom-left', + 'bottom-right', + ].forEach(function (t) { + a[t] = r.create('div', 'mapboxgl-ctrl-' + t, i); + }); + }), + (i.prototype._resizeCanvas = function (e, r) { + var n = t.browser.devicePixelRatio || 1; + (this._canvas.width = n * e), + (this._canvas.height = n * r), + (this._canvas.style.width = e + 'px'), + (this._canvas.style.height = r + 'px'); + }), + (i.prototype._setupPainter = function () { + var r = t.extend({}, e.webGLContextAttributes, { + failIfMajorPerformanceCaveat: + this._failIfMajorPerformanceCaveat, + preserveDrawingBuffer: this._preserveDrawingBuffer, + antialias: this._antialias || !1, + }), + n = + this._canvas.getContext('webgl', r) || + this._canvas.getContext('experimental-webgl', r); + n + ? ((this.painter = new yn(n, this.transform)), + t.webpSupported.testSupport(n)) + : this.fire( + new t.ErrorEvent( + new Error('Failed to initialize WebGL') + ) + ); + }), + (i.prototype._contextLost = function (e) { + e.preventDefault(), + this._frame && + (this._frame.cancel(), (this._frame = null)), + this.fire( + new t.Event('webglcontextlost', { + originalEvent: e, + }) + ); + }), + (i.prototype._contextRestored = function (e) { + this._setupPainter(), + this.resize(), + this._update(), + this.fire( + new t.Event('webglcontextrestored', { + originalEvent: e, + }) + ); + }), + (i.prototype.loaded = function () { + return ( + !this._styleDirty && + !this._sourcesDirty && + !!this.style && + this.style.loaded() + ); + }), + (i.prototype._update = function (t) { + return this.style + ? ((this._styleDirty = this._styleDirty || t), + (this._sourcesDirty = !0), + this.triggerRepaint(), + this) + : this; + }), + (i.prototype._requestRenderFrame = function (t) { + return this._update(), this._renderTaskQueue.add(t); + }), + (i.prototype._cancelRenderFrame = function (t) { + this._renderTaskQueue.remove(t); + }), + (i.prototype._render = function (e) { + var r, + n = this, + i = 0, + a = this.painter.context.extTimerQuery; + if ( + (this.listens('gpu-timing-frame') && + ((r = a.createQueryEXT()), + a.beginQueryEXT(a.TIME_ELAPSED_EXT, r), + (i = t.browser.now())), + this.painter.context.setDirty(), + this.painter.setBaseState(), + this._renderTaskQueue.run(e), + !this._removed) + ) { + var o = !1; + if (this.style && this._styleDirty) { + this._styleDirty = !1; + var s = this.transform.zoom, + l = t.browser.now(); + this.style.zoomHistory.update(s, l); + var c = new t.EvaluationParameters(s, { + now: l, + fadeDuration: this._fadeDuration, + zoomHistory: this.style.zoomHistory, + transition: this.style.getTransition(), + }), + u = c.crossFadingFactor(); + (1 === u && u === this._crossFadingFactor) || + ((o = !0), (this._crossFadingFactor = u)), + this.style.update(c); + } + if ( + (this.style && + this._sourcesDirty && + ((this._sourcesDirty = !1), + this.style._updateSources(this.transform)), + (this._placementDirty = + this.style && + this.style._updatePlacement( + this.painter.transform, + this.showCollisionBoxes, + this._fadeDuration, + this._crossSourceCollisions + )), + this.painter.render(this.style, { + showTileBoundaries: this.showTileBoundaries, + showOverdrawInspector: + this._showOverdrawInspector, + rotating: this.isRotating(), + zooming: this.isZooming(), + moving: this.isMoving(), + fadeDuration: this._fadeDuration, + showPadding: this.showPadding, + gpuTiming: !!this.listens('gpu-timing-layer'), + }), + this.fire(new t.Event('render')), + this.loaded() && + !this._loaded && + ((this._loaded = !0), + this.fire(new t.Event('load'))), + this.style && + (this.style.hasTransitions() || o) && + (this._styleDirty = !0), + this.style && + !this._placementDirty && + this.style._releaseSymbolFadeTiles(), + this.listens('gpu-timing-frame')) + ) { + var f = t.browser.now() - i; + a.endQueryEXT(a.TIME_ELAPSED_EXT, r), + setTimeout(function () { + var e = + a.getQueryObjectEXT(r, a.QUERY_RESULT_EXT) / + 1e6; + a.deleteQueryEXT(r), + n.fire( + new t.Event('gpu-timing-frame', { + cpuTime: f, + gpuTime: e, + }) + ); + }, 50); + } + if (this.listens('gpu-timing-layer')) { + var h = this.painter.collectGpuTimers(); + setTimeout(function () { + var e = n.painter.queryGpuTimers(h); + n.fire( + new t.Event('gpu-timing-layer', { + layerTimes: e, + }) + ); + }, 50); + } + return ( + this._sourcesDirty || + this._styleDirty || + this._placementDirty || + this._repaint + ? this.triggerRepaint() + : !this.isMoving() && + this.loaded() && + (this._fullyLoaded || (this._fullyLoaded = !0), + this.fire(new t.Event('idle'))), + this + ); + } + }), + (i.prototype.remove = function () { + this._hash && this._hash.remove(); + for ( + var e = 0, r = this._controls; + e < r.length; + e += 1 + ) + r[e].onRemove(this); + (this._controls = []), + this._frame && + (this._frame.cancel(), (this._frame = null)), + this._renderTaskQueue.clear(), + this.painter.destroy(), + this.handlers.destroy(), + delete this.handlers, + this.setStyle(null), + void 0 !== t.window && + (t.window.removeEventListener( + 'resize', + this._onWindowResize, + !1 + ), + t.window.removeEventListener( + 'online', + this._onWindowOnline, + !1 + )); + var n = + this.painter.context.gl.getExtension( + 'WEBGL_lose_context' + ); + n && n.loseContext(), + Ai(this._canvasContainer), + Ai(this._controlContainer), + Ai(this._missingCSSCanary), + this._container.classList.remove('mapboxgl-map'), + (this._removed = !0), + this.fire(new t.Event('remove')); + }), + (i.prototype.triggerRepaint = function () { + var e = this; + this.style && + !this._frame && + (this._frame = t.browser.frame(function (t) { + (e._frame = null), e._render(t); + })); + }), + (i.prototype._onWindowOnline = function () { + this._update(); + }), + (i.prototype._onWindowResize = function (t) { + this._trackResize && + this.resize({ originalEvent: t })._update(); + }), + (a.showTileBoundaries.get = function () { + return !!this._showTileBoundaries; + }), + (a.showTileBoundaries.set = function (t) { + this._showTileBoundaries !== t && + ((this._showTileBoundaries = t), this._update()); + }), + (a.showPadding.get = function () { + return !!this._showPadding; + }), + (a.showPadding.set = function (t) { + this._showPadding !== t && + ((this._showPadding = t), this._update()); + }), + (a.showCollisionBoxes.get = function () { + return !!this._showCollisionBoxes; + }), + (a.showCollisionBoxes.set = function (t) { + this._showCollisionBoxes !== t && + ((this._showCollisionBoxes = t), + t + ? this.style._generateCollisionBoxes() + : this._update()); + }), + (a.showOverdrawInspector.get = function () { + return !!this._showOverdrawInspector; + }), + (a.showOverdrawInspector.set = function (t) { + this._showOverdrawInspector !== t && + ((this._showOverdrawInspector = t), this._update()); + }), + (a.repaint.get = function () { + return !!this._repaint; + }), + (a.repaint.set = function (t) { + this._repaint !== t && + ((this._repaint = t), this.triggerRepaint()); + }), + (a.vertices.get = function () { + return !!this._vertices; + }), + (a.vertices.set = function (t) { + (this._vertices = t), this._update(); + }), + (i.prototype._setCacheLimits = function (e, r) { + t.setCacheLimits(e, r); + }), + (a.version.get = function () { + return t.version; + }), + Object.defineProperties(i.prototype, a), + i + ); + })(mi); + function Ai(t) { + t.parentNode && t.parentNode.removeChild(t); + } + var Si = { showCompass: !0, showZoom: !0, visualizePitch: !1 }, + Ei = function (e) { + var n = this; + (this.options = t.extend({}, Si, e)), + (this._container = r.create( + 'div', + 'mapboxgl-ctrl mapboxgl-ctrl-group' + )), + this._container.addEventListener( + 'contextmenu', + function (t) { + return t.preventDefault(); + } + ), + this.options.showZoom && + (t.bindAll( + ['_setButtonTitle', '_updateZoomButtons'], + this + ), + (this._zoomInButton = this._createButton( + 'mapboxgl-ctrl-zoom-in', + function (t) { + return n._map.zoomIn({}, { originalEvent: t }); + } + )), + r + .create( + 'span', + 'mapboxgl-ctrl-icon', + this._zoomInButton + ) + .setAttribute('aria-hidden', !0), + (this._zoomOutButton = this._createButton( + 'mapboxgl-ctrl-zoom-out', + function (t) { + return n._map.zoomOut({}, { originalEvent: t }); + } + )), + r + .create( + 'span', + 'mapboxgl-ctrl-icon', + this._zoomOutButton + ) + .setAttribute('aria-hidden', !0)), + this.options.showCompass && + (t.bindAll(['_rotateCompassArrow'], this), + (this._compass = this._createButton( + 'mapboxgl-ctrl-compass', + function (t) { + n.options.visualizePitch + ? n._map.resetNorthPitch({}, { originalEvent: t }) + : n._map.resetNorth({}, { originalEvent: t }); + } + )), + (this._compassIcon = r.create( + 'span', + 'mapboxgl-ctrl-icon', + this._compass + )), + this._compassIcon.setAttribute('aria-hidden', !0)); + }; + (Ei.prototype._updateZoomButtons = function () { + var t = this._map.getZoom(); + (this._zoomInButton.disabled = t === this._map.getMaxZoom()), + (this._zoomOutButton.disabled = + t === this._map.getMinZoom()); + }), + (Ei.prototype._rotateCompassArrow = function () { + var t = this.options.visualizePitch + ? 'scale(' + + 1 / + Math.pow( + Math.cos( + this._map.transform.pitch * (Math.PI / 180) + ), + 0.5 + ) + + ') rotateX(' + + this._map.transform.pitch + + 'deg) rotateZ(' + + this._map.transform.angle * (180 / Math.PI) + + 'deg)' + : 'rotate(' + + this._map.transform.angle * (180 / Math.PI) + + 'deg)'; + this._compassIcon.style.transform = t; + }), + (Ei.prototype.onAdd = function (t) { + return ( + (this._map = t), + this.options.showZoom && + (this._setButtonTitle(this._zoomInButton, 'ZoomIn'), + this._setButtonTitle(this._zoomOutButton, 'ZoomOut'), + this._map.on('zoom', this._updateZoomButtons), + this._updateZoomButtons()), + this.options.showCompass && + (this._setButtonTitle(this._compass, 'ResetBearing'), + this.options.visualizePitch && + this._map.on('pitch', this._rotateCompassArrow), + this._map.on('rotate', this._rotateCompassArrow), + this._rotateCompassArrow(), + (this._handler = new Ci( + this._map, + this._compass, + this.options.visualizePitch + ))), + this._container + ); + }), + (Ei.prototype.onRemove = function () { + r.remove(this._container), + this.options.showZoom && + this._map.off('zoom', this._updateZoomButtons), + this.options.showCompass && + (this.options.visualizePitch && + this._map.off('pitch', this._rotateCompassArrow), + this._map.off('rotate', this._rotateCompassArrow), + this._handler.off(), + delete this._handler), + delete this._map; + }), + (Ei.prototype._createButton = function (t, e) { + var n = r.create('button', t, this._container); + return ( + (n.type = 'button'), n.addEventListener('click', e), n + ); + }), + (Ei.prototype._setButtonTitle = function (t, e) { + var r = this._map._getUIString('NavigationControl.' + e); + (t.title = r), t.setAttribute('aria-label', r); + }); + var Ci = function (e, n, i) { + void 0 === i && (i = !1), + (this._clickTolerance = 10), + (this.element = n), + (this.mouseRotate = new Gn({ + clickTolerance: e.dragRotate._mouseRotate._clickTolerance, + })), + (this.map = e), + i && + (this.mousePitch = new Yn({ + clickTolerance: + e.dragRotate._mousePitch._clickTolerance, + })), + t.bindAll( + [ + 'mousedown', + 'mousemove', + 'mouseup', + 'touchstart', + 'touchmove', + 'touchend', + 'reset', + ], + this + ), + r.addEventListener(n, 'mousedown', this.mousedown), + r.addEventListener(n, 'touchstart', this.touchstart, { + passive: !1, + }), + r.addEventListener(n, 'touchmove', this.touchmove), + r.addEventListener(n, 'touchend', this.touchend), + r.addEventListener(n, 'touchcancel', this.reset); + }; + function Li(e, r, n) { + if (((e = new t.LngLat(e.lng, e.lat)), r)) { + var i = new t.LngLat(e.lng - 360, e.lat), + a = new t.LngLat(e.lng + 360, e.lat), + o = n.locationPoint(e).distSqr(r); + n.locationPoint(i).distSqr(r) < o + ? (e = i) + : n.locationPoint(a).distSqr(r) < o && (e = a); + } + for (; Math.abs(e.lng - n.center.lng) > 180; ) { + var s = n.locationPoint(e); + if ( + s.x >= 0 && + s.y >= 0 && + s.x <= n.width && + s.y <= n.height + ) + break; + e.lng > n.center.lng ? (e.lng -= 360) : (e.lng += 360); + } + return e; + } + (Ci.prototype.down = function (t, e) { + this.mouseRotate.mousedown(t, e), + this.mousePitch && this.mousePitch.mousedown(t, e), + r.disableDrag(); + }), + (Ci.prototype.move = function (t, e) { + var r = this.map, + n = this.mouseRotate.mousemoveWindow(t, e); + if ( + (n && + n.bearingDelta && + r.setBearing(r.getBearing() + n.bearingDelta), + this.mousePitch) + ) { + var i = this.mousePitch.mousemoveWindow(t, e); + i && + i.pitchDelta && + r.setPitch(r.getPitch() + i.pitchDelta); + } + }), + (Ci.prototype.off = function () { + var t = this.element; + r.removeEventListener(t, 'mousedown', this.mousedown), + r.removeEventListener(t, 'touchstart', this.touchstart, { + passive: !1, + }), + r.removeEventListener(t, 'touchmove', this.touchmove), + r.removeEventListener(t, 'touchend', this.touchend), + r.removeEventListener(t, 'touchcancel', this.reset), + this.offTemp(); + }), + (Ci.prototype.offTemp = function () { + r.enableDrag(), + r.removeEventListener( + t.window, + 'mousemove', + this.mousemove + ), + r.removeEventListener(t.window, 'mouseup', this.mouseup); + }), + (Ci.prototype.mousedown = function (e) { + this.down( + t.extend({}, e, { + ctrlKey: !0, + preventDefault: function () { + return e.preventDefault(); + }, + }), + r.mousePos(this.element, e) + ), + r.addEventListener(t.window, 'mousemove', this.mousemove), + r.addEventListener(t.window, 'mouseup', this.mouseup); + }), + (Ci.prototype.mousemove = function (t) { + this.move(t, r.mousePos(this.element, t)); + }), + (Ci.prototype.mouseup = function (t) { + this.mouseRotate.mouseupWindow(t), + this.mousePitch && this.mousePitch.mouseupWindow(t), + this.offTemp(); + }), + (Ci.prototype.touchstart = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._startPos = this._lastPos = + r.touchPos(this.element, t.targetTouches)[0]), + this.down( + { + type: 'mousedown', + button: 0, + ctrlKey: !0, + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._startPos + )); + }), + (Ci.prototype.touchmove = function (t) { + 1 !== t.targetTouches.length + ? this.reset() + : ((this._lastPos = r.touchPos( + this.element, + t.targetTouches + )[0]), + this.move( + { + preventDefault: function () { + return t.preventDefault(); + }, + }, + this._lastPos + )); + }), + (Ci.prototype.touchend = function (t) { + 0 === t.targetTouches.length && + this._startPos && + this._lastPos && + this._startPos.dist(this._lastPos) < + this._clickTolerance && + this.element.click(), + this.reset(); + }), + (Ci.prototype.reset = function () { + this.mouseRotate.reset(), + this.mousePitch && this.mousePitch.reset(), + delete this._startPos, + delete this._lastPos, + this.offTemp(); + }); + var Ii = { + center: 'translate(-50%,-50%)', + top: 'translate(-50%,0)', + 'top-left': 'translate(0,0)', + 'top-right': 'translate(-100%,0)', + bottom: 'translate(-50%,-100%)', + 'bottom-left': 'translate(0,-100%)', + 'bottom-right': 'translate(-100%,-100%)', + left: 'translate(0,-50%)', + right: 'translate(-100%,-50%)', + }; + function Pi(t, e, r) { + var n = t.classList; + for (var i in Ii) n.remove('mapboxgl-' + r + '-anchor-' + i); + n.add('mapboxgl-' + r + '-anchor-' + e); + } + var zi, + Oi = (function (e) { + function n(n, i) { + var a = this; + if ( + (e.call(this), + (n instanceof t.window.HTMLElement || i) && + (n = t.extend({ element: n }, i)), + t.bindAll( + [ + '_update', + '_onMove', + '_onUp', + '_addDragHandler', + '_onMapClick', + '_onKeyPress', + ], + this + ), + (this._anchor = (n && n.anchor) || 'center'), + (this._color = (n && n.color) || '#3FB1CE'), + (this._draggable = (n && n.draggable) || !1), + (this._state = 'inactive'), + (this._rotation = (n && n.rotation) || 0), + (this._rotationAlignment = + (n && n.rotationAlignment) || 'auto'), + (this._pitchAlignment = + n && n.pitchAlignment && 'auto' !== n.pitchAlignment + ? n.pitchAlignment + : this._rotationAlignment), + n && n.element) + ) + (this._element = n.element), + (this._offset = t.Point.convert( + (n && n.offset) || [0, 0] + )); + else { + (this._defaultMarker = !0), + (this._element = r.create('div')), + this._element.setAttribute( + 'aria-label', + 'Map marker' + ); + var o = r.createNS('http://www.w3.org/2000/svg', 'svg'); + o.setAttributeNS(null, 'display', 'block'), + o.setAttributeNS(null, 'height', '41px'), + o.setAttributeNS(null, 'width', '27px'), + o.setAttributeNS(null, 'viewBox', '0 0 27 41'); + var s = r.createNS('http://www.w3.org/2000/svg', 'g'); + s.setAttributeNS(null, 'stroke', 'none'), + s.setAttributeNS(null, 'stroke-width', '1'), + s.setAttributeNS(null, 'fill', 'none'), + s.setAttributeNS(null, 'fill-rule', 'evenodd'); + var l = r.createNS('http://www.w3.org/2000/svg', 'g'); + l.setAttributeNS(null, 'fill-rule', 'nonzero'); + var c = r.createNS('http://www.w3.org/2000/svg', 'g'); + c.setAttributeNS( + null, + 'transform', + 'translate(3.0, 29.0)' + ), + c.setAttributeNS(null, 'fill', '#000000'); + for ( + var u = 0, + f = [ + { rx: '10.5', ry: '5.25002273' }, + { rx: '10.5', ry: '5.25002273' }, + { rx: '9.5', ry: '4.77275007' }, + { rx: '8.5', ry: '4.29549936' }, + { rx: '7.5', ry: '3.81822308' }, + { rx: '6.5', ry: '3.34094679' }, + { rx: '5.5', ry: '2.86367051' }, + { rx: '4.5', ry: '2.38636864' }, + ]; + u < f.length; + u += 1 + ) { + var h = f[u], + p = r.createNS( + 'http://www.w3.org/2000/svg', + 'ellipse' + ); + p.setAttributeNS(null, 'opacity', '0.04'), + p.setAttributeNS(null, 'cx', '10.5'), + p.setAttributeNS(null, 'cy', '5.80029008'), + p.setAttributeNS(null, 'rx', h.rx), + p.setAttributeNS(null, 'ry', h.ry), + c.appendChild(p); + } + var d = r.createNS('http://www.w3.org/2000/svg', 'g'); + d.setAttributeNS(null, 'fill', this._color); + var g = r.createNS( + 'http://www.w3.org/2000/svg', + 'path' + ); + g.setAttributeNS( + null, + 'd', + 'M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z' + ), + d.appendChild(g); + var m = r.createNS('http://www.w3.org/2000/svg', 'g'); + m.setAttributeNS(null, 'opacity', '0.25'), + m.setAttributeNS(null, 'fill', '#000000'); + var v = r.createNS( + 'http://www.w3.org/2000/svg', + 'path' + ); + v.setAttributeNS( + null, + 'd', + 'M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z' + ), + m.appendChild(v); + var y = r.createNS('http://www.w3.org/2000/svg', 'g'); + y.setAttributeNS( + null, + 'transform', + 'translate(6.0, 7.0)' + ), + y.setAttributeNS(null, 'fill', '#FFFFFF'); + var x = r.createNS('http://www.w3.org/2000/svg', 'g'); + x.setAttributeNS( + null, + 'transform', + 'translate(8.0, 8.0)' + ); + var b = r.createNS( + 'http://www.w3.org/2000/svg', + 'circle' + ); + b.setAttributeNS(null, 'fill', '#000000'), + b.setAttributeNS(null, 'opacity', '0.25'), + b.setAttributeNS(null, 'cx', '5.5'), + b.setAttributeNS(null, 'cy', '5.5'), + b.setAttributeNS(null, 'r', '5.4999962'); + var _ = r.createNS( + 'http://www.w3.org/2000/svg', + 'circle' + ); + _.setAttributeNS(null, 'fill', '#FFFFFF'), + _.setAttributeNS(null, 'cx', '5.5'), + _.setAttributeNS(null, 'cy', '5.5'), + _.setAttributeNS(null, 'r', '5.4999962'), + x.appendChild(b), + x.appendChild(_), + l.appendChild(c), + l.appendChild(d), + l.appendChild(m), + l.appendChild(y), + l.appendChild(x), + o.appendChild(l), + this._element.appendChild(o), + (this._offset = t.Point.convert( + (n && n.offset) || [0, -14] + )); + } + this._element.classList.add('mapboxgl-marker'), + this._element.addEventListener( + 'dragstart', + function (t) { + t.preventDefault(); + } + ), + this._element.addEventListener( + 'mousedown', + function (t) { + t.preventDefault(); + } + ), + this._element.addEventListener('focus', function () { + var t = a._map.getContainer(); + (t.scrollTop = 0), (t.scrollLeft = 0); + }), + Pi(this._element, this._anchor, 'marker'), + (this._popup = null); + } + return ( + e && (n.__proto__ = e), + ((n.prototype = Object.create( + e && e.prototype + )).constructor = n), + (n.prototype.addTo = function (t) { + return ( + this.remove(), + (this._map = t), + t.getCanvasContainer().appendChild(this._element), + t.on('move', this._update), + t.on('moveend', this._update), + this.setDraggable(this._draggable), + this._update(), + this._map.on('click', this._onMapClick), + this + ); + }), + (n.prototype.remove = function () { + return ( + this._map && + (this._map.off('click', this._onMapClick), + this._map.off('move', this._update), + this._map.off('moveend', this._update), + this._map.off('mousedown', this._addDragHandler), + this._map.off('touchstart', this._addDragHandler), + this._map.off('mouseup', this._onUp), + this._map.off('touchend', this._onUp), + this._map.off('mousemove', this._onMove), + this._map.off('touchmove', this._onMove), + delete this._map), + r.remove(this._element), + this._popup && this._popup.remove(), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + this._popup && this._popup.setLngLat(this._lngLat), + this._update(), + this + ); + }), + (n.prototype.getElement = function () { + return this._element; + }), + (n.prototype.setPopup = function (t) { + if ( + (this._popup && + (this._popup.remove(), + (this._popup = null), + this._element.removeEventListener( + 'keypress', + this._onKeyPress + ), + this._originalTabIndex || + this._element.removeAttribute('tabindex')), + t) + ) { + if (!('offset' in t.options)) { + var e = Math.sqrt(Math.pow(13.5, 2) / 2); + t.options.offset = this._defaultMarker + ? { + top: [0, 0], + 'top-left': [0, 0], + 'top-right': [0, 0], + bottom: [0, -38.1], + 'bottom-left': [e, -1 * (24.6 + e)], + 'bottom-right': [-e, -1 * (24.6 + e)], + left: [13.5, -24.6], + right: [-13.5, -24.6], + } + : this._offset; + } + (this._popup = t), + this._lngLat && this._popup.setLngLat(this._lngLat), + (this._originalTabIndex = + this._element.getAttribute('tabindex')), + this._originalTabIndex || + this._element.setAttribute('tabindex', '0'), + this._element.addEventListener( + 'keypress', + this._onKeyPress + ); + } + return this; + }), + (n.prototype._onKeyPress = function (t) { + var e = t.code, + r = t.charCode || t.keyCode; + ('Space' !== e && + 'Enter' !== e && + 32 !== r && + 13 !== r) || + this.togglePopup(); + }), + (n.prototype._onMapClick = function (t) { + var e = t.originalEvent.target, + r = this._element; + this._popup && + (e === r || r.contains(e)) && + this.togglePopup(); + }), + (n.prototype.getPopup = function () { + return this._popup; + }), + (n.prototype.togglePopup = function () { + var t = this._popup; + return t + ? (t.isOpen() ? t.remove() : t.addTo(this._map), this) + : this; + }), + (n.prototype._update = function (t) { + if (this._map) { + this._map.transform.renderWorldCopies && + (this._lngLat = Li( + this._lngLat, + this._pos, + this._map.transform + )), + (this._pos = this._map + .project(this._lngLat) + ._add(this._offset)); + var e = ''; + 'viewport' === this._rotationAlignment || + 'auto' === this._rotationAlignment + ? (e = 'rotateZ(' + this._rotation + 'deg)') + : 'map' === this._rotationAlignment && + (e = + 'rotateZ(' + + (this._rotation - this._map.getBearing()) + + 'deg)'); + var n = ''; + 'viewport' === this._pitchAlignment || + 'auto' === this._pitchAlignment + ? (n = 'rotateX(0deg)') + : 'map' === this._pitchAlignment && + (n = 'rotateX(' + this._map.getPitch() + 'deg)'), + (t && 'moveend' !== t.type) || + (this._pos = this._pos.round()), + r.setTransform( + this._element, + Ii[this._anchor] + + ' translate(' + + this._pos.x + + 'px, ' + + this._pos.y + + 'px) ' + + n + + ' ' + + e + ); + } + }), + (n.prototype.getOffset = function () { + return this._offset; + }), + (n.prototype.setOffset = function (e) { + return ( + (this._offset = t.Point.convert(e)), + this._update(), + this + ); + }), + (n.prototype._onMove = function (e) { + (this._pos = e.point.sub(this._positionDelta)), + (this._lngLat = this._map.unproject(this._pos)), + this.setLngLat(this._lngLat), + (this._element.style.pointerEvents = 'none'), + 'pending' === this._state && + ((this._state = 'active'), + this.fire(new t.Event('dragstart'))), + this.fire(new t.Event('drag')); + }), + (n.prototype._onUp = function () { + (this._element.style.pointerEvents = 'auto'), + (this._positionDelta = null), + this._map.off('mousemove', this._onMove), + this._map.off('touchmove', this._onMove), + 'active' === this._state && + this.fire(new t.Event('dragend')), + (this._state = 'inactive'); + }), + (n.prototype._addDragHandler = function (t) { + this._element.contains(t.originalEvent.target) && + (t.preventDefault(), + (this._positionDelta = t.point + .sub(this._pos) + .add(this._offset)), + (this._state = 'pending'), + this._map.on('mousemove', this._onMove), + this._map.on('touchmove', this._onMove), + this._map.once('mouseup', this._onUp), + this._map.once('touchend', this._onUp)); + }), + (n.prototype.setDraggable = function (t) { + return ( + (this._draggable = !!t), + this._map && + (t + ? (this._map.on( + 'mousedown', + this._addDragHandler + ), + this._map.on( + 'touchstart', + this._addDragHandler + )) + : (this._map.off( + 'mousedown', + this._addDragHandler + ), + this._map.off( + 'touchstart', + this._addDragHandler + ))), + this + ); + }), + (n.prototype.isDraggable = function () { + return this._draggable; + }), + (n.prototype.setRotation = function (t) { + return (this._rotation = t || 0), this._update(), this; + }), + (n.prototype.getRotation = function () { + return this._rotation; + }), + (n.prototype.setRotationAlignment = function (t) { + return ( + (this._rotationAlignment = t || 'auto'), + this._update(), + this + ); + }), + (n.prototype.getRotationAlignment = function () { + return this._rotationAlignment; + }), + (n.prototype.setPitchAlignment = function (t) { + return ( + (this._pitchAlignment = + t && 'auto' !== t ? t : this._rotationAlignment), + this._update(), + this + ); + }), + (n.prototype.getPitchAlignment = function () { + return this._pitchAlignment; + }), + n + ); + })(t.Evented), + Di = { + positionOptions: { + enableHighAccuracy: !1, + maximumAge: 0, + timeout: 6e3, + }, + fitBoundsOptions: { maxZoom: 15 }, + trackUserLocation: !1, + showAccuracyCircle: !0, + showUserLocation: !0, + }, + Ri = 0, + Fi = !1, + Bi = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend({}, Di, r)), + t.bindAll( + [ + '_onSuccess', + '_onError', + '_onZoom', + '_finish', + '_setupUI', + '_updateCamera', + '_updateMarker', + ], + this + ); + } + return ( + e && (n.__proto__ = e), + ((n.prototype = Object.create( + e && e.prototype + )).constructor = n), + (n.prototype.onAdd = function (e) { + var n; + return ( + (this._map = e), + (this._container = r.create( + 'div', + 'mapboxgl-ctrl mapboxgl-ctrl-group' + )), + (n = this._setupUI), + void 0 !== zi + ? n(zi) + : void 0 !== t.window.navigator.permissions + ? t.window.navigator.permissions + .query({ name: 'geolocation' }) + .then(function (t) { + n((zi = 'denied' !== t.state)); + }) + : n((zi = !!t.window.navigator.geolocation)), + this._container + ); + }), + (n.prototype.onRemove = function () { + void 0 !== this._geolocationWatchID && + (t.window.navigator.geolocation.clearWatch( + this._geolocationWatchID + ), + (this._geolocationWatchID = void 0)), + this.options.showUserLocation && + this._userLocationDotMarker && + this._userLocationDotMarker.remove(), + this.options.showAccuracyCircle && + this._accuracyCircleMarker && + this._accuracyCircleMarker.remove(), + r.remove(this._container), + this._map.off('zoom', this._onZoom), + (this._map = void 0), + (Ri = 0), + (Fi = !1); + }), + (n.prototype._isOutOfMapMaxBounds = function (t) { + var e = this._map.getMaxBounds(), + r = t.coords; + return ( + e && + (r.longitude < e.getWest() || + r.longitude > e.getEast() || + r.latitude < e.getSouth() || + r.latitude > e.getNorth()) + ); + }), + (n.prototype._setErrorState = function () { + switch (this._watchState) { + case 'WAITING_ACTIVE': + (this._watchState = 'ACTIVE_ERROR'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active-error' + ); + break; + case 'ACTIVE_LOCK': + (this._watchState = 'ACTIVE_ERROR'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active-error' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ); + break; + case 'BACKGROUND': + (this._watchState = 'BACKGROUND_ERROR'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-background-error' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ); + } + }), + (n.prototype._onSuccess = function (e) { + if (this._map) { + if (this._isOutOfMapMaxBounds(e)) + return ( + this._setErrorState(), + this.fire(new t.Event('outofmaxbounds', e)), + this._updateMarker(), + void this._finish() + ); + if (this.options.trackUserLocation) + switch ( + ((this._lastKnownPosition = e), this._watchState) + ) { + case 'WAITING_ACTIVE': + case 'ACTIVE_LOCK': + case 'ACTIVE_ERROR': + (this._watchState = 'ACTIVE_LOCK'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active-error' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active' + ); + break; + case 'BACKGROUND': + case 'BACKGROUND_ERROR': + (this._watchState = 'BACKGROUND'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background-error' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-background' + ); + } + this.options.showUserLocation && + 'OFF' !== this._watchState && + this._updateMarker(e), + (this.options.trackUserLocation && + 'ACTIVE_LOCK' !== this._watchState) || + this._updateCamera(e), + this.options.showUserLocation && + this._dotElement.classList.remove( + 'mapboxgl-user-location-dot-stale' + ), + this.fire(new t.Event('geolocate', e)), + this._finish(); + } + }), + (n.prototype._updateCamera = function (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude + ), + n = e.coords.accuracy, + i = this._map.getBearing(), + a = t.extend( + { bearing: i }, + this.options.fitBoundsOptions + ); + this._map.fitBounds(r.toBounds(n), a, { + geolocateSource: !0, + }); + }), + (n.prototype._updateMarker = function (e) { + if (e) { + var r = new t.LngLat( + e.coords.longitude, + e.coords.latitude + ); + this._accuracyCircleMarker + .setLngLat(r) + .addTo(this._map), + this._userLocationDotMarker + .setLngLat(r) + .addTo(this._map), + (this._accuracy = e.coords.accuracy), + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + } else + this._userLocationDotMarker.remove(), + this._accuracyCircleMarker.remove(); + }), + (n.prototype._updateCircleRadius = function () { + var t = this._map._container.clientHeight / 2, + e = this._map.unproject([0, t]), + r = this._map.unproject([1, t]), + n = e.distanceTo(r), + i = Math.ceil((2 * this._accuracy) / n); + (this._circleElement.style.width = i + 'px'), + (this._circleElement.style.height = i + 'px'); + }), + (n.prototype._onZoom = function () { + this.options.showUserLocation && + this.options.showAccuracyCircle && + this._updateCircleRadius(); + }), + (n.prototype._onError = function (e) { + if (this._map) { + if (this.options.trackUserLocation) + if (1 === e.code) { + (this._watchState = 'OFF'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active-error' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background-error' + ), + (this._geolocateButton.disabled = !0); + var r = this._map._getUIString( + 'GeolocateControl.LocationNotAvailable' + ); + (this._geolocateButton.title = r), + this._geolocateButton.setAttribute( + 'aria-label', + r + ), + void 0 !== this._geolocationWatchID && + this._clearWatch(); + } else { + if (3 === e.code && Fi) return; + this._setErrorState(); + } + 'OFF' !== this._watchState && + this.options.showUserLocation && + this._dotElement.classList.add( + 'mapboxgl-user-location-dot-stale' + ), + this.fire(new t.Event('error', e)), + this._finish(); + } + }), + (n.prototype._finish = function () { + this._timeoutId && clearTimeout(this._timeoutId), + (this._timeoutId = void 0); + }), + (n.prototype._setupUI = function (e) { + var n = this; + if ( + (this._container.addEventListener( + 'contextmenu', + function (t) { + return t.preventDefault(); + } + ), + (this._geolocateButton = r.create( + 'button', + 'mapboxgl-ctrl-geolocate', + this._container + )), + r + .create( + 'span', + 'mapboxgl-ctrl-icon', + this._geolocateButton + ) + .setAttribute('aria-hidden', !0), + (this._geolocateButton.type = 'button'), + !1 === e) + ) { + t.warnOnce( + 'Geolocation support is not available so the GeolocateControl will be disabled.' + ); + var i = this._map._getUIString( + 'GeolocateControl.LocationNotAvailable' + ); + (this._geolocateButton.disabled = !0), + (this._geolocateButton.title = i), + this._geolocateButton.setAttribute('aria-label', i); + } else { + var a = this._map._getUIString( + 'GeolocateControl.FindMyLocation' + ); + (this._geolocateButton.title = a), + this._geolocateButton.setAttribute('aria-label', a); + } + this.options.trackUserLocation && + (this._geolocateButton.setAttribute( + 'aria-pressed', + 'false' + ), + (this._watchState = 'OFF')), + this.options.showUserLocation && + ((this._dotElement = r.create( + 'div', + 'mapboxgl-user-location-dot' + )), + (this._userLocationDotMarker = new Oi( + this._dotElement + )), + (this._circleElement = r.create( + 'div', + 'mapboxgl-user-location-accuracy-circle' + )), + (this._accuracyCircleMarker = new Oi({ + element: this._circleElement, + pitchAlignment: 'map', + })), + this.options.trackUserLocation && + (this._watchState = 'OFF'), + this._map.on('zoom', this._onZoom)), + this._geolocateButton.addEventListener( + 'click', + this.trigger.bind(this) + ), + (this._setup = !0), + this.options.trackUserLocation && + this._map.on('movestart', function (e) { + e.geolocateSource || + 'ACTIVE_LOCK' !== n._watchState || + (e.originalEvent && + 'resize' === e.originalEvent.type) || + ((n._watchState = 'BACKGROUND'), + n._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-background' + ), + n._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active' + ), + n.fire(new t.Event('trackuserlocationend'))); + }); + }), + (n.prototype.trigger = function () { + if (!this._setup) + return ( + t.warnOnce( + 'Geolocate control triggered before added to a map' + ), + !1 + ); + if (this.options.trackUserLocation) { + switch (this._watchState) { + case 'OFF': + (this._watchState = 'WAITING_ACTIVE'), + this.fire( + new t.Event('trackuserlocationstart') + ); + break; + case 'WAITING_ACTIVE': + case 'ACTIVE_LOCK': + case 'ACTIVE_ERROR': + case 'BACKGROUND_ERROR': + Ri--, + (Fi = !1), + (this._watchState = 'OFF'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-active-error' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background' + ), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background-error' + ), + this.fire(new t.Event('trackuserlocationend')); + break; + case 'BACKGROUND': + (this._watchState = 'ACTIVE_LOCK'), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-background' + ), + this._lastKnownPosition && + this._updateCamera(this._lastKnownPosition), + this.fire( + new t.Event('trackuserlocationstart') + ); + } + switch (this._watchState) { + case 'WAITING_ACTIVE': + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active' + ); + break; + case 'ACTIVE_LOCK': + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active' + ); + break; + case 'ACTIVE_ERROR': + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-active-error' + ); + break; + case 'BACKGROUND': + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-background' + ); + break; + case 'BACKGROUND_ERROR': + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-background-error' + ); + } + if ( + 'OFF' === this._watchState && + void 0 !== this._geolocationWatchID + ) + this._clearWatch(); + else if (void 0 === this._geolocationWatchID) { + var e; + this._geolocateButton.classList.add( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.setAttribute( + 'aria-pressed', + 'true' + ), + ++Ri > 1 + ? ((e = { maximumAge: 6e5, timeout: 0 }), + (Fi = !0)) + : ((e = this.options.positionOptions), + (Fi = !1)), + (this._geolocationWatchID = + t.window.navigator.geolocation.watchPosition( + this._onSuccess, + this._onError, + e + )); + } + } else + t.window.navigator.geolocation.getCurrentPosition( + this._onSuccess, + this._onError, + this.options.positionOptions + ), + (this._timeoutId = setTimeout(this._finish, 1e4)); + return !0; + }), + (n.prototype._clearWatch = function () { + t.window.navigator.geolocation.clearWatch( + this._geolocationWatchID + ), + (this._geolocationWatchID = void 0), + this._geolocateButton.classList.remove( + 'mapboxgl-ctrl-geolocate-waiting' + ), + this._geolocateButton.setAttribute( + 'aria-pressed', + 'false' + ), + this.options.showUserLocation && + this._updateMarker(null); + }), + n + ); + })(t.Evented), + Ni = { maxWidth: 100, unit: 'metric' }, + ji = function (e) { + (this.options = t.extend({}, Ni, e)), + t.bindAll(['_onMove', 'setUnit'], this); + }; + function Ui(t, e, r) { + var n = (r && r.maxWidth) || 100, + i = t._container.clientHeight / 2, + a = t.unproject([0, i]), + o = t.unproject([n, i]), + s = a.distanceTo(o); + if (r && 'imperial' === r.unit) { + var l = 3.2808 * s; + l > 5280 + ? Vi(e, n, l / 5280, t._getUIString('ScaleControl.Miles')) + : Vi(e, n, l, t._getUIString('ScaleControl.Feet')); + } else r && 'nautical' === r.unit ? Vi(e, n, s / 1852, t._getUIString('ScaleControl.NauticalMiles')) : s >= 1e3 ? Vi(e, n, s / 1e3, t._getUIString('ScaleControl.Kilometers')) : Vi(e, n, s, t._getUIString('ScaleControl.Meters')); + } + function Vi(t, e, r, n) { + var i, + a, + o, + s = + ((i = r), + (a = Math.pow(10, ('' + Math.floor(i)).length - 1)) * + (o = + (o = i / a) >= 10 + ? 10 + : o >= 5 + ? 5 + : o >= 3 + ? 3 + : o >= 2 + ? 2 + : o >= 1 + ? 1 + : (function (t) { + var e = Math.pow( + 10, + Math.ceil(-Math.log(t) / Math.LN10) + ); + return Math.round(t * e) / e; + })(o))); + (t.style.width = e * (s / r) + 'px'), + (t.innerHTML = s + ' ' + n); + } + (ji.prototype.getDefaultPosition = function () { + return 'bottom-left'; + }), + (ji.prototype._onMove = function () { + Ui(this._map, this._container, this.options); + }), + (ji.prototype.onAdd = function (t) { + return ( + (this._map = t), + (this._container = r.create( + 'div', + 'mapboxgl-ctrl mapboxgl-ctrl-scale', + t.getContainer() + )), + this._map.on('move', this._onMove), + this._onMove(), + this._container + ); + }), + (ji.prototype.onRemove = function () { + r.remove(this._container), + this._map.off('move', this._onMove), + (this._map = void 0); + }), + (ji.prototype.setUnit = function (t) { + (this.options.unit = t), + Ui(this._map, this._container, this.options); + }); + var qi = function (e) { + (this._fullscreen = !1), + e && + e.container && + (e.container instanceof t.window.HTMLElement + ? (this._container = e.container) + : t.warnOnce( + "Full screen control 'container' must be a DOM element." + )), + t.bindAll(['_onClickFullscreen', '_changeIcon'], this), + 'onfullscreenchange' in t.window.document + ? (this._fullscreenchange = 'fullscreenchange') + : 'onmozfullscreenchange' in t.window.document + ? (this._fullscreenchange = 'mozfullscreenchange') + : 'onwebkitfullscreenchange' in t.window.document + ? (this._fullscreenchange = 'webkitfullscreenchange') + : 'onmsfullscreenchange' in t.window.document && + (this._fullscreenchange = 'MSFullscreenChange'); + }; + (qi.prototype.onAdd = function (e) { + return ( + (this._map = e), + this._container || + (this._container = this._map.getContainer()), + (this._controlContainer = r.create( + 'div', + 'mapboxgl-ctrl mapboxgl-ctrl-group' + )), + this._checkFullscreenSupport() + ? this._setupUI() + : ((this._controlContainer.style.display = 'none'), + t.warnOnce( + 'This device does not support fullscreen mode.' + )), + this._controlContainer + ); + }), + (qi.prototype.onRemove = function () { + r.remove(this._controlContainer), + (this._map = null), + t.window.document.removeEventListener( + this._fullscreenchange, + this._changeIcon + ); + }), + (qi.prototype._checkFullscreenSupport = function () { + return !!( + t.window.document.fullscreenEnabled || + t.window.document.mozFullScreenEnabled || + t.window.document.msFullscreenEnabled || + t.window.document.webkitFullscreenEnabled + ); + }), + (qi.prototype._setupUI = function () { + var e = (this._fullscreenButton = r.create( + 'button', + 'mapboxgl-ctrl-fullscreen', + this._controlContainer + )); + r + .create('span', 'mapboxgl-ctrl-icon', e) + .setAttribute('aria-hidden', !0), + (e.type = 'button'), + this._updateTitle(), + this._fullscreenButton.addEventListener( + 'click', + this._onClickFullscreen + ), + t.window.document.addEventListener( + this._fullscreenchange, + this._changeIcon + ); + }), + (qi.prototype._updateTitle = function () { + var t = this._getTitle(); + this._fullscreenButton.setAttribute('aria-label', t), + (this._fullscreenButton.title = t); + }), + (qi.prototype._getTitle = function () { + return this._map._getUIString( + this._isFullscreen() + ? 'FullscreenControl.Exit' + : 'FullscreenControl.Enter' + ); + }), + (qi.prototype._isFullscreen = function () { + return this._fullscreen; + }), + (qi.prototype._changeIcon = function () { + ((t.window.document.fullscreenElement || + t.window.document.mozFullScreenElement || + t.window.document.webkitFullscreenElement || + t.window.document.msFullscreenElement) === + this._container) !== + this._fullscreen && + ((this._fullscreen = !this._fullscreen), + this._fullscreenButton.classList.toggle( + 'mapboxgl-ctrl-shrink' + ), + this._fullscreenButton.classList.toggle( + 'mapboxgl-ctrl-fullscreen' + ), + this._updateTitle()); + }), + (qi.prototype._onClickFullscreen = function () { + this._isFullscreen() + ? t.window.document.exitFullscreen + ? t.window.document.exitFullscreen() + : t.window.document.mozCancelFullScreen + ? t.window.document.mozCancelFullScreen() + : t.window.document.msExitFullscreen + ? t.window.document.msExitFullscreen() + : t.window.document.webkitCancelFullScreen && + t.window.document.webkitCancelFullScreen() + : this._container.requestFullscreen + ? this._container.requestFullscreen() + : this._container.mozRequestFullScreen + ? this._container.mozRequestFullScreen() + : this._container.msRequestFullscreen + ? this._container.msRequestFullscreen() + : this._container.webkitRequestFullscreen && + this._container.webkitRequestFullscreen(); + }); + var Hi = { + closeButton: !0, + closeOnClick: !0, + className: '', + maxWidth: '240px', + }, + Gi = (function (e) { + function n(r) { + e.call(this), + (this.options = t.extend(Object.create(Hi), r)), + t.bindAll( + [ + '_update', + '_onClose', + 'remove', + '_onMouseMove', + '_onMouseUp', + '_onDrag', + ], + this + ); + } + return ( + e && (n.__proto__ = e), + ((n.prototype = Object.create( + e && e.prototype + )).constructor = n), + (n.prototype.addTo = function (e) { + return ( + this._map && this.remove(), + (this._map = e), + this.options.closeOnClick && + this._map.on('click', this._onClose), + this.options.closeOnMove && + this._map.on('move', this._onClose), + this._map.on('remove', this.remove), + this._update(), + this._trackPointer + ? (this._map.on('mousemove', this._onMouseMove), + this._map.on('mouseup', this._onMouseUp), + this._container && + this._container.classList.add( + 'mapboxgl-popup-track-pointer' + ), + this._map._canvasContainer.classList.add( + 'mapboxgl-track-pointer' + )) + : this._map.on('move', this._update), + this.fire(new t.Event('open')), + this + ); + }), + (n.prototype.isOpen = function () { + return !!this._map; + }), + (n.prototype.remove = function () { + return ( + this._content && r.remove(this._content), + this._container && + (r.remove(this._container), delete this._container), + this._map && + (this._map.off('move', this._update), + this._map.off('move', this._onClose), + this._map.off('click', this._onClose), + this._map.off('remove', this.remove), + this._map.off('mousemove', this._onMouseMove), + this._map.off('mouseup', this._onMouseUp), + this._map.off('drag', this._onDrag), + delete this._map), + this.fire(new t.Event('close')), + this + ); + }), + (n.prototype.getLngLat = function () { + return this._lngLat; + }), + (n.prototype.setLngLat = function (e) { + return ( + (this._lngLat = t.LngLat.convert(e)), + (this._pos = null), + (this._trackPointer = !1), + this._update(), + this._map && + (this._map.on('move', this._update), + this._map.off('mousemove', this._onMouseMove), + this._container && + this._container.classList.remove( + 'mapboxgl-popup-track-pointer' + ), + this._map._canvasContainer.classList.remove( + 'mapboxgl-track-pointer' + )), + this + ); + }), + (n.prototype.trackPointer = function () { + return ( + (this._trackPointer = !0), + (this._pos = null), + this._update(), + this._map && + (this._map.off('move', this._update), + this._map.on('mousemove', this._onMouseMove), + this._map.on('drag', this._onDrag), + this._container && + this._container.classList.add( + 'mapboxgl-popup-track-pointer' + ), + this._map._canvasContainer.classList.add( + 'mapboxgl-track-pointer' + )), + this + ); + }), + (n.prototype.getElement = function () { + return this._container; + }), + (n.prototype.setText = function (e) { + return this.setDOMContent( + t.window.document.createTextNode(e) + ); + }), + (n.prototype.setHTML = function (e) { + var r, + n = t.window.document.createDocumentFragment(), + i = t.window.document.createElement('body'); + for (i.innerHTML = e; (r = i.firstChild); ) + n.appendChild(r); + return this.setDOMContent(n); + }), + (n.prototype.getMaxWidth = function () { + return ( + this._container && this._container.style.maxWidth + ); + }), + (n.prototype.setMaxWidth = function (t) { + return ( + (this.options.maxWidth = t), this._update(), this + ); + }), + (n.prototype.setDOMContent = function (t) { + return ( + this._createContent(), + this._content.appendChild(t), + this._update(), + this + ); + }), + (n.prototype.addClassName = function (t) { + this._container && this._container.classList.add(t); + }), + (n.prototype.removeClassName = function (t) { + this._container && this._container.classList.remove(t); + }), + (n.prototype.toggleClassName = function (t) { + if (this._container) + return this._container.classList.toggle(t); + }), + (n.prototype._createContent = function () { + this._content && r.remove(this._content), + (this._content = r.create( + 'div', + 'mapboxgl-popup-content', + this._container + )), + this.options.closeButton && + ((this._closeButton = r.create( + 'button', + 'mapboxgl-popup-close-button', + this._content + )), + (this._closeButton.type = 'button'), + this._closeButton.setAttribute( + 'aria-label', + 'Close popup' + ), + (this._closeButton.innerHTML = '×'), + this._closeButton.addEventListener( + 'click', + this._onClose + )); + }), + (n.prototype._onMouseUp = function (t) { + this._update(t.point); + }), + (n.prototype._onMouseMove = function (t) { + this._update(t.point); + }), + (n.prototype._onDrag = function (t) { + this._update(t.point); + }), + (n.prototype._update = function (e) { + var n = this; + if ( + this._map && + (this._lngLat || this._trackPointer) && + this._content && + (this._container || + ((this._container = r.create( + 'div', + 'mapboxgl-popup', + this._map.getContainer() + )), + (this._tip = r.create( + 'div', + 'mapboxgl-popup-tip', + this._container + )), + this._container.appendChild(this._content), + this.options.className && + this.options.className + .split(' ') + .forEach(function (t) { + return n._container.classList.add(t); + }), + this._trackPointer && + this._container.classList.add( + 'mapboxgl-popup-track-pointer' + )), + this.options.maxWidth && + this._container.style.maxWidth !== + this.options.maxWidth && + (this._container.style.maxWidth = + this.options.maxWidth), + this._map.transform.renderWorldCopies && + !this._trackPointer && + (this._lngLat = Li( + this._lngLat, + this._pos, + this._map.transform + )), + !this._trackPointer || e) + ) { + var i = (this._pos = + this._trackPointer && e + ? e + : this._map.project(this._lngLat)), + a = this.options.anchor, + o = (function e(r) { + if (r) { + if ('number' == typeof r) { + var n = Math.round( + Math.sqrt(0.5 * Math.pow(r, 2)) + ); + return { + center: new t.Point(0, 0), + top: new t.Point(0, r), + 'top-left': new t.Point(n, n), + 'top-right': new t.Point(-n, n), + bottom: new t.Point(0, -r), + 'bottom-left': new t.Point(n, -n), + 'bottom-right': new t.Point(-n, -n), + left: new t.Point(r, 0), + right: new t.Point(-r, 0), + }; + } + if (r instanceof t.Point || Array.isArray(r)) { + var i = t.Point.convert(r); + return { + center: i, + top: i, + 'top-left': i, + 'top-right': i, + bottom: i, + 'bottom-left': i, + 'bottom-right': i, + left: i, + right: i, + }; + } + return { + center: t.Point.convert(r.center || [0, 0]), + top: t.Point.convert(r.top || [0, 0]), + 'top-left': t.Point.convert( + r['top-left'] || [0, 0] + ), + 'top-right': t.Point.convert( + r['top-right'] || [0, 0] + ), + bottom: t.Point.convert(r.bottom || [0, 0]), + 'bottom-left': t.Point.convert( + r['bottom-left'] || [0, 0] + ), + 'bottom-right': t.Point.convert( + r['bottom-right'] || [0, 0] + ), + left: t.Point.convert(r.left || [0, 0]), + right: t.Point.convert(r.right || [0, 0]), + }; + } + return e(new t.Point(0, 0)); + })(this.options.offset); + if (!a) { + var s, + l = this._container.offsetWidth, + c = this._container.offsetHeight; + (s = + i.y + o.bottom.y < c + ? ['top'] + : i.y > this._map.transform.height - c + ? ['bottom'] + : []), + i.x < l / 2 + ? s.push('left') + : i.x > this._map.transform.width - l / 2 && + s.push('right'), + (a = 0 === s.length ? 'bottom' : s.join('-')); + } + var u = i.add(o[a]).round(); + r.setTransform( + this._container, + Ii[a] + ' translate(' + u.x + 'px,' + u.y + 'px)' + ), + Pi(this._container, a, 'popup'); + } + }), + (n.prototype._onClose = function () { + this.remove(); + }), + n + ); + })(t.Evented), + Yi = { + version: t.version, + supported: e, + setRTLTextPlugin: t.setRTLTextPlugin, + getRTLTextPluginStatus: t.getRTLTextPluginStatus, + Map: Mi, + NavigationControl: Ei, + GeolocateControl: Bi, + AttributionControl: vi, + ScaleControl: ji, + FullscreenControl: qi, + Popup: Gi, + Marker: Oi, + Style: qe, + LngLat: t.LngLat, + LngLatBounds: t.LngLatBounds, + Point: t.Point, + MercatorCoordinate: t.MercatorCoordinate, + Evented: t.Evented, + config: t.config, + prewarm: function () { + Bt().acquire(Ot); + }, + clearPrewarmedResources: function () { + var t = Rt; + t && + (t.isPreloaded() && 1 === t.numActive() + ? (t.release(Ot), (Rt = null)) + : console.warn( + 'Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()' + )); + }, + get accessToken() { + return t.config.ACCESS_TOKEN; + }, + set accessToken(e) { + t.config.ACCESS_TOKEN = e; + }, + get baseApiUrl() { + return t.config.API_URL; + }, + set baseApiUrl(e) { + t.config.API_URL = e; + }, + get workerCount() { + return Dt.workerCount; + }, + set workerCount(t) { + Dt.workerCount = t; + }, + get maxParallelImageRequests() { + return t.config.MAX_PARALLEL_IMAGE_REQUESTS; + }, + set maxParallelImageRequests(e) { + t.config.MAX_PARALLEL_IMAGE_REQUESTS = e; + }, + clearStorage: function (e) { + t.clearTileCache(e); + }, + workerUrl: '', + }; + return Yi; + }), + r + ); + }); + }, + {}, + ], + 474: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = 1 << (t + 1), r = new Array(e), n = 0; n < e; ++n) + r[n] = a(t, n); + return r; + }; + var n = t('convex-hull'); + function i(t, e, r) { + for (var n = new Array(t), i = 0; i < t; ++i) + (n[i] = 0), i === e && (n[i] += 0.5), i === r && (n[i] += 0.5); + return n; + } + function a(t, e) { + if (0 === e || e === (1 << (t + 1)) - 1) return []; + for (var r = [], a = [], o = 0; o <= t; ++o) + if (e & (1 << o)) { + r.push(i(t, o - 1, o - 1)), a.push(null); + for (var s = 0; s <= t; ++s) + ~e & (1 << s) && (r.push(i(t, o - 1, s - 1)), a.push([o, s])); + } + var l = n(r), + c = []; + t: for (o = 0; o < l.length; ++o) { + var u = l[o], + f = []; + for (s = 0; s < u.length; ++s) { + if (!a[u[s]]) continue t; + f.push(a[u[s]].slice()); + } + c.push(f); + } + return c; + } + }, + { 'convex-hull': 135 }, + ], + 475: [ + function (t, e, r) { + var n = t('./normalize'), + i = t('gl-mat4/create'), + a = t('gl-mat4/clone'), + o = t('gl-mat4/determinant'), + s = t('gl-mat4/invert'), + l = t('gl-mat4/transpose'), + c = { + length: t('gl-vec3/length'), + normalize: t('gl-vec3/normalize'), + dot: t('gl-vec3/dot'), + cross: t('gl-vec3/cross'), + }, + u = i(), + f = i(), + h = [0, 0, 0, 0], + p = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + d = [0, 0, 0]; + function g(t, e, r, n, i) { + (t[0] = e[0] * n + r[0] * i), + (t[1] = e[1] * n + r[1] * i), + (t[2] = e[2] * n + r[2] * i); + } + e.exports = function (t, e, r, i, m, v) { + if ( + (e || (e = [0, 0, 0]), + r || (r = [0, 0, 0]), + i || (i = [0, 0, 0]), + m || (m = [0, 0, 0, 1]), + v || (v = [0, 0, 0, 1]), + !n(u, t)) + ) + return !1; + if ( + (a(f, u), + (f[3] = 0), + (f[7] = 0), + (f[11] = 0), + (f[15] = 1), + Math.abs(o(f) < 1e-8)) + ) + return !1; + var y, + x, + b, + _, + w, + T, + k, + M = u[3], + A = u[7], + S = u[11], + E = u[12], + C = u[13], + L = u[14], + I = u[15]; + if (0 !== M || 0 !== A || 0 !== S) { + if (((h[0] = M), (h[1] = A), (h[2] = S), (h[3] = I), !s(f, f))) + return !1; + l(f, f), + (y = m), + (b = f), + (_ = (x = h)[0]), + (w = x[1]), + (T = x[2]), + (k = x[3]), + (y[0] = b[0] * _ + b[4] * w + b[8] * T + b[12] * k), + (y[1] = b[1] * _ + b[5] * w + b[9] * T + b[13] * k), + (y[2] = b[2] * _ + b[6] * w + b[10] * T + b[14] * k), + (y[3] = b[3] * _ + b[7] * w + b[11] * T + b[15] * k); + } else (m[0] = m[1] = m[2] = 0), (m[3] = 1); + if ( + ((e[0] = E), + (e[1] = C), + (e[2] = L), + (function (t, e) { + (t[0][0] = e[0]), + (t[0][1] = e[1]), + (t[0][2] = e[2]), + (t[1][0] = e[4]), + (t[1][1] = e[5]), + (t[1][2] = e[6]), + (t[2][0] = e[8]), + (t[2][1] = e[9]), + (t[2][2] = e[10]); + })(p, u), + (r[0] = c.length(p[0])), + c.normalize(p[0], p[0]), + (i[0] = c.dot(p[0], p[1])), + g(p[1], p[1], p[0], 1, -i[0]), + (r[1] = c.length(p[1])), + c.normalize(p[1], p[1]), + (i[0] /= r[1]), + (i[1] = c.dot(p[0], p[2])), + g(p[2], p[2], p[0], 1, -i[1]), + (i[2] = c.dot(p[1], p[2])), + g(p[2], p[2], p[1], 1, -i[2]), + (r[2] = c.length(p[2])), + c.normalize(p[2], p[2]), + (i[1] /= r[2]), + (i[2] /= r[2]), + c.cross(d, p[1], p[2]), + c.dot(p[0], d) < 0) + ) + for (var P = 0; P < 3; P++) + (r[P] *= -1), (p[P][0] *= -1), (p[P][1] *= -1), (p[P][2] *= -1); + return ( + (v[0] = + 0.5 * Math.sqrt(Math.max(1 + p[0][0] - p[1][1] - p[2][2], 0))), + (v[1] = + 0.5 * Math.sqrt(Math.max(1 - p[0][0] + p[1][1] - p[2][2], 0))), + (v[2] = + 0.5 * Math.sqrt(Math.max(1 - p[0][0] - p[1][1] + p[2][2], 0))), + (v[3] = + 0.5 * Math.sqrt(Math.max(1 + p[0][0] + p[1][1] + p[2][2], 0))), + p[2][1] > p[1][2] && (v[0] = -v[0]), + p[0][2] > p[2][0] && (v[1] = -v[1]), + p[1][0] > p[0][1] && (v[2] = -v[2]), + !0 + ); + }; + }, + { + './normalize': 476, + 'gl-mat4/clone': 278, + 'gl-mat4/create': 280, + 'gl-mat4/determinant': 281, + 'gl-mat4/invert': 293, + 'gl-mat4/transpose': 306, + 'gl-vec3/cross': 365, + 'gl-vec3/dot': 370, + 'gl-vec3/length': 380, + 'gl-vec3/normalize': 387, + }, + ], + 476: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = e[15]; + if (0 === r) return !1; + for (var n = 1 / r, i = 0; i < 16; i++) t[i] = e[i] * n; + return !0; + }; + }, + {}, + ], + 477: [ + function (t, e, r) { + var n = t('gl-vec3/lerp'), + i = t('mat4-recompose'), + a = t('mat4-decompose'), + o = t('gl-mat4/determinant'), + s = t('quat-slerp'), + l = f(), + c = f(), + u = f(); + function f() { + return { + translate: h(), + scale: h(1), + skew: h(), + perspective: [0, 0, 0, 1], + quaternion: [0, 0, 0, 1], + }; + } + function h(t) { + return [t || 0, t || 0, t || 0]; + } + e.exports = function (t, e, r, f) { + if (0 === o(e) || 0 === o(r)) return !1; + var h = a( + e, + l.translate, + l.scale, + l.skew, + l.perspective, + l.quaternion + ), + p = a( + r, + c.translate, + c.scale, + c.skew, + c.perspective, + c.quaternion + ); + return ( + !(!h || !p) && + (n(u.translate, l.translate, c.translate, f), + n(u.skew, l.skew, c.skew, f), + n(u.scale, l.scale, c.scale, f), + n(u.perspective, l.perspective, c.perspective, f), + s(u.quaternion, l.quaternion, c.quaternion, f), + i(t, u.translate, u.scale, u.skew, u.perspective, u.quaternion), + !0) + ); + }; + }, + { + 'gl-mat4/determinant': 281, + 'gl-vec3/lerp': 381, + 'mat4-decompose': 475, + 'mat4-recompose': 478, + 'quat-slerp': 527, + }, + ], + 478: [ + function (t, e, r) { + var n = { + identity: t('gl-mat4/identity'), + translate: t('gl-mat4/translate'), + multiply: t('gl-mat4/multiply'), + create: t('gl-mat4/create'), + scale: t('gl-mat4/scale'), + fromRotationTranslation: t('gl-mat4/fromRotationTranslation'), + }, + i = (n.create(), n.create()); + e.exports = function (t, e, r, a, o, s) { + return ( + n.identity(t), + n.fromRotationTranslation(t, s, e), + (t[3] = o[0]), + (t[7] = o[1]), + (t[11] = o[2]), + (t[15] = o[3]), + n.identity(i), + 0 !== a[2] && ((i[9] = a[2]), n.multiply(t, t, i)), + 0 !== a[1] && ((i[9] = 0), (i[8] = a[1]), n.multiply(t, t, i)), + 0 !== a[0] && ((i[8] = 0), (i[4] = a[0]), n.multiply(t, t, i)), + n.scale(t, t, r), + t + ); + }; + }, + { + 'gl-mat4/create': 280, + 'gl-mat4/fromRotationTranslation': 284, + 'gl-mat4/identity': 291, + 'gl-mat4/multiply': 295, + 'gl-mat4/scale': 303, + 'gl-mat4/translate': 305, + }, + ], + 479: [ + function (t, e, r) { + 'use strict'; + e.exports = + Math.log2 || + function (t) { + return Math.log(t) * Math.LOG2E; + }; + }, + {}, + ], + 480: [ + function (t, e, r) { + 'use strict'; + var n = t('binary-search-bounds'), + i = t('mat4-interpolate'), + a = t('gl-mat4/invert'), + o = t('gl-mat4/rotateX'), + s = t('gl-mat4/rotateY'), + l = t('gl-mat4/rotateZ'), + c = t('gl-mat4/lookAt'), + u = t('gl-mat4/translate'), + f = (t('gl-mat4/scale'), t('gl-vec3/normalize')), + h = [0, 0, 0]; + function p(t) { + (this._components = t.slice()), + (this._time = [0]), + (this.prevMatrix = t.slice()), + (this.nextMatrix = t.slice()), + (this.computedMatrix = t.slice()), + (this.computedInverse = t.slice()), + (this.computedEye = [0, 0, 0]), + (this.computedUp = [0, 0, 0]), + (this.computedCenter = [0, 0, 0]), + (this.computedRadius = [0]), + (this._limits = [-1 / 0, 1 / 0]); + } + e.exports = function (t) { + return new p( + (t = t || {}).matrix || [ + 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, + ] + ); + }; + var d = p.prototype; + (d.recalcMatrix = function (t) { + var e = this._time, + r = n.le(e, t), + o = this.computedMatrix; + if (!(r < 0)) { + var s = this._components; + if (r === e.length - 1) + for (var l = 16 * r, c = 0; c < 16; ++c) o[c] = s[l++]; + else { + var u = e[r + 1] - e[r], + h = ((l = 16 * r), this.prevMatrix), + p = !0; + for (c = 0; c < 16; ++c) h[c] = s[l++]; + var d = this.nextMatrix; + for (c = 0; c < 16; ++c) + (d[c] = s[l++]), (p = p && h[c] === d[c]); + if (u < 1e-6 || p) for (c = 0; c < 16; ++c) o[c] = h[c]; + else i(o, h, d, (t - e[r]) / u); + } + var g = this.computedUp; + (g[0] = o[1]), (g[1] = o[5]), (g[2] = o[9]), f(g, g); + var m = this.computedInverse; + a(m, o); + var v = this.computedEye, + y = m[15]; + (v[0] = m[12] / y), (v[1] = m[13] / y), (v[2] = m[14] / y); + var x = this.computedCenter, + b = Math.exp(this.computedRadius[0]); + for (c = 0; c < 3; ++c) x[c] = v[c] - o[2 + 4 * c] * b; + } + }), + (d.idle = function (t) { + if (!(t < this.lastT())) { + for ( + var e = this._components, r = e.length - 16, n = 0; + n < 16; + ++n + ) + e.push(e[r++]); + this._time.push(t); + } + }), + (d.flush = function (t) { + var e = n.gt(this._time, t) - 2; + e < 0 || + (this._time.splice(0, e), this._components.splice(0, 16 * e)); + }), + (d.lastT = function () { + return this._time[this._time.length - 1]; + }), + (d.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || h), + (n = n || this.computedUp), + this.setMatrix(t, c(this.computedMatrix, e, r, n)); + for (var i = 0, a = 0; a < 3; ++a) i += Math.pow(r[a] - e[a], 2); + (i = Math.log(Math.sqrt(i))), (this.computedRadius[0] = i); + }), + (d.rotate = function (t, e, r, n) { + this.recalcMatrix(t); + var i = this.computedInverse; + e && s(i, i, e), + r && o(i, i, r), + n && l(i, i, n), + this.setMatrix(t, a(this.computedMatrix, i)); + }); + var g = [0, 0, 0]; + (d.pan = function (t, e, r, n) { + (g[0] = -(e || 0)), + (g[1] = -(r || 0)), + (g[2] = -(n || 0)), + this.recalcMatrix(t); + var i = this.computedInverse; + u(i, i, g), this.setMatrix(t, a(i, i)); + }), + (d.translate = function (t, e, r, n) { + (g[0] = e || 0), + (g[1] = r || 0), + (g[2] = n || 0), + this.recalcMatrix(t); + var i = this.computedMatrix; + u(i, i, g), this.setMatrix(t, i); + }), + (d.setMatrix = function (t, e) { + if (!(t < this.lastT())) { + this._time.push(t); + for (var r = 0; r < 16; ++r) this._components.push(e[r]); + } + }), + (d.setDistance = function (t, e) { + this.computedRadius[0] = e; + }), + (d.setDistanceLimits = function (t, e) { + var r = this._limits; + (r[0] = t), (r[1] = e); + }), + (d.getDistanceLimits = function (t) { + var e = this._limits; + return t ? ((t[0] = e[0]), (t[1] = e[1]), t) : e; + }); + }, + { + 'binary-search-bounds': 481, + 'gl-mat4/invert': 293, + 'gl-mat4/lookAt': 294, + 'gl-mat4/rotateX': 300, + 'gl-mat4/rotateY': 301, + 'gl-mat4/rotateZ': 302, + 'gl-mat4/scale': 303, + 'gl-mat4/translate': 305, + 'gl-vec3/normalize': 387, + 'mat4-interpolate': 477, + }, + ], + 481: [ + function (t, e, r) { + arguments[4][243][0].apply(r, arguments); + }, + { dup: 243 }, + ], + 482: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.length; + if (e < 3) { + for (var r = new Array(e), i = 0; i < e; ++i) r[i] = i; + return 2 === e && t[0][0] === t[1][0] && t[0][1] === t[1][1] + ? [0] + : r; + } + var a = new Array(e); + for (i = 0; i < e; ++i) a[i] = i; + a.sort(function (e, r) { + var n = t[e][0] - t[r][0]; + return n || t[e][1] - t[r][1]; + }); + var o = [a[0], a[1]], + s = [a[0], a[1]]; + for (i = 2; i < e; ++i) { + for ( + var l = a[i], c = t[l], u = o.length; + u > 1 && n(t[o[u - 2]], t[o[u - 1]], c) <= 0; + + ) + (u -= 1), o.pop(); + for ( + o.push(l), u = s.length; + u > 1 && n(t[s[u - 2]], t[s[u - 1]], c) >= 0; + + ) + (u -= 1), s.pop(); + s.push(l); + } + r = new Array(s.length + o.length - 2); + for (var f = 0, h = ((i = 0), o.length); i < h; ++i) r[f++] = o[i]; + for (var p = s.length - 2; p > 0; --p) r[f++] = s[p]; + return r; + }; + var n = t('robust-orientation')[3]; + }, + { 'robust-orientation': 548 }, + ], + 483: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + e || ((e = t), (t = window)); + var r = 0, + i = 0, + a = 0, + o = { shift: !1, alt: !1, control: !1, meta: !1 }, + s = !1; + function l(t) { + var e = !1; + return ( + 'altKey' in t && + ((e = e || t.altKey !== o.alt), (o.alt = !!t.altKey)), + 'shiftKey' in t && + ((e = e || t.shiftKey !== o.shift), (o.shift = !!t.shiftKey)), + 'ctrlKey' in t && + ((e = e || t.ctrlKey !== o.control), + (o.control = !!t.ctrlKey)), + 'metaKey' in t && + ((e = e || t.metaKey !== o.meta), (o.meta = !!t.metaKey)), + e + ); + } + function c(t, s) { + var c = n.x(s), + u = n.y(s); + 'buttons' in s && (t = 0 | s.buttons), + (t !== r || c !== i || u !== a || l(s)) && + ((r = 0 | t), (i = c || 0), (a = u || 0), e && e(r, i, a, o)); + } + function u(t) { + c(0, t); + } + function f() { + (r || i || a || o.shift || o.alt || o.meta || o.control) && + ((i = a = 0), + (r = 0), + (o.shift = o.alt = o.control = o.meta = !1), + e && e(0, 0, 0, o)); + } + function h(t) { + l(t) && e && e(r, i, a, o); + } + function p(t) { + 0 === n.buttons(t) ? c(0, t) : c(r, t); + } + function d(t) { + c(r | n.buttons(t), t); + } + function g(t) { + c(r & ~n.buttons(t), t); + } + function m() { + s || + ((s = !0), + t.addEventListener('mousemove', p), + t.addEventListener('mousedown', d), + t.addEventListener('mouseup', g), + t.addEventListener('mouseleave', u), + t.addEventListener('mouseenter', u), + t.addEventListener('mouseout', u), + t.addEventListener('mouseover', u), + t.addEventListener('blur', f), + t.addEventListener('keyup', h), + t.addEventListener('keydown', h), + t.addEventListener('keypress', h), + t !== window && + (window.addEventListener('blur', f), + window.addEventListener('keyup', h), + window.addEventListener('keydown', h), + window.addEventListener('keypress', h))); + } + m(); + var v = { element: t }; + return ( + Object.defineProperties(v, { + enabled: { + get: function () { + return s; + }, + set: function (e) { + e + ? m() + : (function () { + if (!s) return; + (s = !1), + t.removeEventListener('mousemove', p), + t.removeEventListener('mousedown', d), + t.removeEventListener('mouseup', g), + t.removeEventListener('mouseleave', u), + t.removeEventListener('mouseenter', u), + t.removeEventListener('mouseout', u), + t.removeEventListener('mouseover', u), + t.removeEventListener('blur', f), + t.removeEventListener('keyup', h), + t.removeEventListener('keydown', h), + t.removeEventListener('keypress', h), + t !== window && + (window.removeEventListener('blur', f), + window.removeEventListener('keyup', h), + window.removeEventListener('keydown', h), + window.removeEventListener('keypress', h)); + })(); + }, + enumerable: !0, + }, + buttons: { + get: function () { + return r; + }, + enumerable: !0, + }, + x: { + get: function () { + return i; + }, + enumerable: !0, + }, + y: { + get: function () { + return a; + }, + enumerable: !0, + }, + mods: { + get: function () { + return o; + }, + enumerable: !0, + }, + }), + v + ); + }; + var n = t('mouse-event'); + }, + { 'mouse-event': 485 }, + ], + 484: [ + function (t, e, r) { + var n = { left: 0, top: 0 }; + e.exports = function (t, e, r) { + (e = e || t.currentTarget || t.srcElement), + Array.isArray(r) || (r = [0, 0]); + var i = t.clientX || 0, + a = t.clientY || 0, + o = + ((s = e), + s === window || s === document || s === document.body + ? n + : s.getBoundingClientRect()); + var s; + return (r[0] = i - o.left), (r[1] = a - o.top), r; + }; + }, + {}, + ], + 485: [ + function (t, e, r) { + 'use strict'; + function n(t) { + return t.target || t.srcElement || window; + } + (r.buttons = function (t) { + if ('object' == typeof t) { + if ('buttons' in t) return t.buttons; + if ('which' in t) { + if (2 === (e = t.which)) return 4; + if (3 === e) return 2; + if (e > 0) return 1 << (e - 1); + } else if ('button' in t) { + var e; + if (1 === (e = t.button)) return 4; + if (2 === e) return 2; + if (e >= 0) return 1 << e; + } + } + return 0; + }), + (r.element = n), + (r.x = function (t) { + if ('object' == typeof t) { + if ('offsetX' in t) return t.offsetX; + var e = n(t).getBoundingClientRect(); + return t.clientX - e.left; + } + return 0; + }), + (r.y = function (t) { + if ('object' == typeof t) { + if ('offsetY' in t) return t.offsetY; + var e = n(t).getBoundingClientRect(); + return t.clientY - e.top; + } + return 0; + }); + }, + {}, + ], + 486: [ + function (t, e, r) { + 'use strict'; + var n = t('to-px'); + e.exports = function (t, e, r) { + 'function' == typeof t && ((r = !!e), (e = t), (t = window)); + var i = n('ex', t), + a = function (t) { + r && t.preventDefault(); + var n = t.deltaX || 0, + a = t.deltaY || 0, + o = t.deltaZ || 0, + s = 1; + switch (t.deltaMode) { + case 1: + s = i; + break; + case 2: + s = window.innerHeight; + } + if (((a *= s), (o *= s), (n *= s) || a || o)) + return e(n, a, o, t); + }; + return t.addEventListener('wheel', a), a; + }; + }, + { 'to-px': 578 }, + ], + 487: [ + function (t, e, r) { + 'use strict'; + var n = t('typedarray-pool'); + function i(t) { + return 'a' + t; + } + function a(t) { + return 'd' + t; + } + function o(t, e) { + return 'c' + t + '_' + e; + } + function s(t) { + return 's' + t; + } + function l(t, e) { + return 't' + t + '_' + e; + } + function c(t) { + return 'o' + t; + } + function u(t) { + return 'x' + t; + } + function f(t) { + return 'p' + t; + } + function h(t, e) { + return 'd' + t + '_' + e; + } + function p(t) { + return 'i' + t; + } + function d(t, e) { + return 'u' + t + '_' + e; + } + function g(t) { + return 'b' + t; + } + function m(t) { + return 'y' + t; + } + function v(t) { + return 'e' + t; + } + function y(t) { + return 'v' + t; + } + e.exports = function (t) { + function e(t) { + throw new Error('ndarray-extract-contour: ' + t); + } + 'object' != typeof t && e('Must specify arguments'); + var r = t.order; + Array.isArray(r) || e('Must specify order'); + var b = t.arrayArguments || 1; + b < 1 && e('Must have at least one array argument'); + var _ = t.scalarArguments || 0; + _ < 0 && e('Scalar arg count must be > 0'); + 'function' != typeof t.vertex && + e('Must specify vertex creation function'); + 'function' != typeof t.cell && + e('Must specify cell creation function'); + 'function' != typeof t.phase && e('Must specify phase function'); + for (var w = t.getters || [], T = new Array(b), k = 0; k < b; ++k) + w.indexOf(k) >= 0 ? (T[k] = !0) : (T[k] = !1); + return (function (t, e, r, b, _, w) { + var T = w.length, + k = _.length; + if (k < 2) + throw new Error( + 'ndarray-extract-contour: Dimension must be at least 2' + ); + for ( + var M = 'extractContour' + _.join('_'), + A = [], + S = [], + E = [], + C = 0; + C < T; + ++C + ) + E.push(i(C)); + for (C = 0; C < b; ++C) E.push(u(C)); + for (C = 0; C < k; ++C) + S.push(s(C) + '=' + i(0) + '.shape[' + C + ']|0'); + for (C = 0; C < T; ++C) { + S.push( + a(C) + '=' + i(C) + '.data', + c(C) + '=' + i(C) + '.offset|0' + ); + for (var L = 0; L < k; ++L) + S.push(l(C, L) + '=' + i(C) + '.stride[' + L + ']|0'); + } + for (C = 0; C < T; ++C) { + S.push(f(C) + '=' + c(C)), S.push(o(C, 0)); + for (L = 1; L < 1 << k; ++L) { + for (var I = [], P = 0; P < k; ++P) + L & (1 << P) && I.push('-' + l(C, P)); + S.push(h(C, L) + '=(' + I.join('') + ')|0'), + S.push(o(C, L) + '=0'); + } + } + for (C = 0; C < T; ++C) + for (L = 0; L < k; ++L) { + var z = [l(C, _[L])]; + L > 0 && z.push(l(C, _[L - 1]) + '*' + s(_[L - 1])), + S.push(d(C, _[L]) + '=(' + z.join('-') + ')|0'); + } + for (C = 0; C < k; ++C) S.push(p(C) + '=0'); + S.push('N=0'); + var O = ['2']; + for (C = k - 2; C >= 0; --C) O.push(s(_[C])); + S.push( + 'Q=(' + O.join('*') + ')|0', + 'P=mallocUint32(Q)', + 'V=mallocUint32(Q)', + 'X=0' + ), + S.push(g(0) + '=0'); + for (L = 1; L < 1 << k; ++L) { + var D = [], + R = []; + for (P = 0; P < k; ++P) + L & (1 << P) && + (0 === R.length ? D.push('1') : D.unshift(R.join('*'))), + R.push(s(_[P])); + var F = ''; + D[0].indexOf(s(_[k - 2])) < 0 && (F = '-'); + var B = x(k, L, _); + S.push( + v(B) + '=(-' + D.join('-') + ')|0', + m(B) + '=(' + F + D.join('-') + ')|0', + g(B) + '=0' + ); + } + function N(t, e) { + A.push( + 'for(', + p(_[t]), + '=', + e, + ';', + p(_[t]), + '<', + s(_[t]), + ';', + '++', + p(_[t]), + '){' + ); + } + function j(t) { + for (var e = 0; e < T; ++e) A.push(f(e), '+=', d(e, _[t]), ';'); + A.push('}'); + } + function U() { + for (var t = 1; t < 1 << k; ++t) + A.push( + 'T', + '=', + v(t), + ';', + v(t), + '=', + m(t), + ';', + m(t), + '=', + 'T', + ';' + ); + } + S.push(y(0) + '=0', 'T=0'), + (function t(e, r) { + if (e < 0) + !(function (t) { + for (var e = 0; e < T; ++e) + w[e] + ? A.push(o(e, 0), '=', a(e), '.get(', f(e), ');') + : A.push(o(e, 0), '=', a(e), '[', f(e), '];'); + var r = []; + for (e = 0; e < T; ++e) r.push(o(e, 0)); + for (e = 0; e < b; ++e) r.push(u(e)); + A.push( + g(0), + '=', + 'P', + '[', + 'X', + ']=phase(', + r.join(), + ');' + ); + for (var n = 1; n < 1 << k; ++n) + A.push(g(n), '=', 'P', '[', 'X', '+', v(n), '];'); + var i = []; + for (n = 1; n < 1 << k; ++n) + i.push('(' + g(0) + '!==' + g(n) + ')'); + A.push('if(', i.join('||'), '){'); + var s = []; + for (e = 0; e < k; ++e) s.push(p(e)); + for (e = 0; e < T; ++e) { + s.push(o(e, 0)); + for (n = 1; n < 1 << k; ++n) + w[e] + ? A.push( + o(e, n), + '=', + a(e), + '.get(', + f(e), + '+', + h(e, n), + ');' + ) + : A.push( + o(e, n), + '=', + a(e), + '[', + f(e), + '+', + h(e, n), + '];' + ), + s.push(o(e, n)); + } + for (e = 0; e < 1 << k; ++e) s.push(g(e)); + for (e = 0; e < b; ++e) s.push(u(e)); + A.push( + 'vertex(', + s.join(), + ');', + y(0), + '=', + 'V', + '[', + 'X', + ']=', + 'N', + '++;' + ); + var l = (1 << k) - 1, + c = g(l); + for (n = 0; n < k; ++n) + if (0 == (t & ~(1 << n))) { + for ( + var d = l ^ (1 << n), m = g(d), x = [], _ = d; + _ > 0; + _ = (_ - 1) & d + ) + x.push('V[X+' + v(_) + ']'); + x.push(y(0)); + for (_ = 0; _ < T; ++_) + 1 & n + ? x.push(o(_, l), o(_, d)) + : x.push(o(_, d), o(_, l)); + 1 & n ? x.push(c, m) : x.push(m, c); + for (_ = 0; _ < b; ++_) x.push(u(_)); + A.push( + 'if(', + c, + '!==', + m, + '){', + 'face(', + x.join(), + ')}' + ); + } + A.push('}', 'X', '+=1;'); + })(r); + else { + !(function (t) { + for (var e = t - 1; e >= 0; --e) N(e, 0); + var r = []; + for (e = 0; e < T; ++e) + w[e] + ? r.push(a(e) + '.get(' + f(e) + ')') + : r.push(a(e) + '[' + f(e) + ']'); + for (e = 0; e < b; ++e) r.push(u(e)); + for ( + A.push('P', '[', 'X', '++]=phase(', r.join(), ');'), + e = 0; + e < t; + ++e + ) + j(e); + for (var n = 0; n < T; ++n) + A.push(f(n), '+=', d(n, _[t]), ';'); + })(e), + A.push('if(', s(_[e]), '>0){', p(_[e]), '=1;'), + t(e - 1, r | (1 << _[e])); + for (var n = 0; n < T; ++n) + A.push(f(n), '+=', d(n, _[e]), ';'); + e === k - 1 && (A.push('X', '=0;'), U()), + N(e, 2), + t(e - 1, r), + e === k - 1 && + (A.push('if(', p(_[k - 1]), '&1){', 'X', '=0;}'), U()), + j(e), + A.push('}'); + } + })(k - 1, 0), + A.push('freeUint32(', 'V', ');freeUint32(', 'P', ');'); + var V = [ + "'use strict';", + 'function ', + M, + '(', + E.join(), + '){', + 'var ', + S.join(), + ';', + A.join(''), + '}', + 'return ', + M, + ].join(''); + return new Function( + 'vertex', + 'face', + 'phase', + 'mallocUint32', + 'freeUint32', + V + )(t, e, r, n.mallocUint32, n.freeUint32); + })(t.vertex, t.cell, t.phase, _, r, T); + }; + function x(t, e, r) { + for (var n = 0, i = 0; i < t; ++i) e & (1 << i) && (n |= 1 << r[i]); + return n; + } + }, + { 'typedarray-pool': 595 }, + ], + 488: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + if (Array.isArray(r)) { + if (r.length !== e.dimension) + throw new Error( + 'ndarray-gradient: invalid boundary conditions' + ); + } else r = n(e.dimension, 'string' == typeof r ? r : 'clamp'); + if (t.dimension !== e.dimension + 1) + throw new Error( + 'ndarray-gradient: output dimension must be +1 input dimension' + ); + if (t.shape[e.dimension] !== e.dimension) + throw new Error( + 'ndarray-gradient: output shape must match input shape' + ); + for (var i = 0; i < e.dimension; ++i) + if (t.shape[i] !== e.shape[i]) + throw new Error('ndarray-gradient: shape mismatch'); + if (0 === e.size) return t; + if (e.dimension <= 0) return t.set(0), t; + return (function (t) { + var e = t.join(); + if ((v = o[e])) return v; + var r = t.length, + n = ['function gradient(dst,src){var s=src.shape.slice();']; + function i(e) { + for ( + var i = r - e.length, a = [], o = [], s = [], l = 0; + l < r; + ++l + ) + e.indexOf(l + 1) >= 0 + ? s.push('0') + : e.indexOf(-(l + 1)) >= 0 + ? s.push('s[' + l + ']-1') + : (s.push('-1'), a.push('1'), o.push('s[' + l + ']-2')); + var c = '.lo(' + a.join() + ').hi(' + o.join() + ')'; + if ((0 === a.length && (c = ''), i > 0)) { + n.push('if(1'); + for (l = 0; l < r; ++l) + e.indexOf(l + 1) >= 0 || + e.indexOf(-(l + 1)) >= 0 || + n.push('&&s[', l, ']>2'); + n.push('){grad', i, '(src.pick(', s.join(), ')', c); + for (l = 0; l < r; ++l) + e.indexOf(l + 1) >= 0 || + e.indexOf(-(l + 1)) >= 0 || + n.push(',dst.pick(', s.join(), ',', l, ')', c); + n.push(');'); + } + for (l = 0; l < e.length; ++l) { + var u = Math.abs(e[l]) - 1, + f = 'dst.pick(' + s.join() + ',' + u + ')' + c; + switch (t[u]) { + case 'clamp': + var h = s.slice(), + p = s.slice(); + e[l] < 0 ? (h[u] = 's[' + u + ']-2') : (p[u] = '1'), + 0 === i + ? n.push( + 'if(s[', + u, + ']>1){dst.set(', + s.join(), + ',', + u, + ',0.5*(src.get(', + h.join(), + ')-src.get(', + p.join(), + ')))}else{dst.set(', + s.join(), + ',', + u, + ',0)};' + ) + : n.push( + 'if(s[', + u, + ']>1){diff(', + f, + ',src.pick(', + h.join(), + ')', + c, + ',src.pick(', + p.join(), + ')', + c, + ');}else{zero(', + f, + ');};' + ); + break; + case 'mirror': + 0 === i + ? n.push('dst.set(', s.join(), ',', u, ',0);') + : n.push('zero(', f, ');'); + break; + case 'wrap': + var d = s.slice(), + g = s.slice(); + e[l] < 0 + ? ((d[u] = 's[' + u + ']-2'), (g[u] = '0')) + : ((d[u] = 's[' + u + ']-1'), (g[u] = '1')), + 0 === i + ? n.push( + 'if(s[', + u, + ']>2){dst.set(', + s.join(), + ',', + u, + ',0.5*(src.get(', + d.join(), + ')-src.get(', + g.join(), + ')))}else{dst.set(', + s.join(), + ',', + u, + ',0)};' + ) + : n.push( + 'if(s[', + u, + ']>2){diff(', + f, + ',src.pick(', + d.join(), + ')', + c, + ',src.pick(', + g.join(), + ')', + c, + ');}else{zero(', + f, + ');};' + ); + break; + default: + throw new Error( + 'ndarray-gradient: Invalid boundary condition' + ); + } + } + i > 0 && n.push('};'); + } + for (var s = 0; s < 1 << r; ++s) { + for (var f = [], h = 0; h < r; ++h) + s & (1 << h) && f.push(h + 1); + for (var p = 0; p < 1 << f.length; ++p) { + var d = f.slice(); + for (h = 0; h < f.length; ++h) p & (1 << h) && (d[h] = -d[h]); + i(d); + } + } + n.push('return dst;};return gradient'); + var g = ['diff', 'zero'], + m = [l, c]; + for (s = 1; s <= r; ++s) g.push('grad' + s), m.push(u(s)); + g.push(n.join('')); + var v = Function.apply(void 0, g).apply(void 0, m); + return (a[e] = v), v; + })(r)(t, e); + }; + var n = t('dup'), + i = t('cwise-compiler'), + a = {}, + o = {}, + s = { body: '', args: [], thisVars: [], localVars: [] }, + l = i({ + args: ['array', 'array', 'array'], + pre: s, + post: s, + body: { + args: [ + { name: 'out', lvalue: !0, rvalue: !1, count: 1 }, + { name: 'left', lvalue: !1, rvalue: !0, count: 1 }, + { name: 'right', lvalue: !1, rvalue: !0, count: 1 }, + ], + body: 'out=0.5*(left-right)', + thisVars: [], + localVars: [], + }, + funcName: 'cdiff', + }), + c = i({ + args: ['array'], + pre: s, + post: s, + body: { + args: [{ name: 'out', lvalue: !0, rvalue: !1, count: 1 }], + body: 'out=0', + thisVars: [], + localVars: [], + }, + funcName: 'zero', + }); + function u(t) { + if (t in a) return a[t]; + for (var e = [], r = 0; r < t; ++r) + e.push('out', r, 's=0.5*(inp', r, 'l-inp', r, 'r);'); + var o = ['array'], + l = ['junk']; + for (r = 0; r < t; ++r) { + o.push('array'), l.push('out' + r + 's'); + var c = n(t); + (c[r] = -1), + o.push({ array: 0, offset: c.slice() }), + (c[r] = 1), + o.push({ array: 0, offset: c.slice() }), + l.push('inp' + r + 'l', 'inp' + r + 'r'); + } + return (a[t] = i({ + args: o, + pre: s, + post: s, + body: { + body: e.join(''), + args: l.map(function (t) { + return { + name: t, + lvalue: 0 === t.indexOf('out'), + rvalue: 0 === t.indexOf('inp'), + count: ('junk' !== t) | 0, + }; + }), + thisVars: [], + localVars: [], + }, + funcName: 'fdTemplate' + t, + })); + } + }, + { 'cwise-compiler': 151, dup: 176 }, + ], + 489: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + var r = Math.floor(e), + n = e - r, + i = 0 <= r && r < t.shape[0], + a = 0 <= r + 1 && r + 1 < t.shape[0]; + return (1 - n) * (i ? +t.get(r) : 0) + n * (a ? +t.get(r + 1) : 0); + } + function i(t, e, r) { + var n = Math.floor(e), + i = e - n, + a = 0 <= n && n < t.shape[0], + o = 0 <= n + 1 && n + 1 < t.shape[0], + s = Math.floor(r), + l = r - s, + c = 0 <= s && s < t.shape[1], + u = 0 <= s + 1 && s + 1 < t.shape[1], + f = a && c ? t.get(n, s) : 0, + h = a && u ? t.get(n, s + 1) : 0; + return ( + (1 - l) * ((1 - i) * f + i * (o && c ? t.get(n + 1, s) : 0)) + + l * ((1 - i) * h + i * (o && u ? t.get(n + 1, s + 1) : 0)) + ); + } + function a(t, e, r, n) { + var i = Math.floor(e), + a = e - i, + o = 0 <= i && i < t.shape[0], + s = 0 <= i + 1 && i + 1 < t.shape[0], + l = Math.floor(r), + c = r - l, + u = 0 <= l && l < t.shape[1], + f = 0 <= l + 1 && l + 1 < t.shape[1], + h = Math.floor(n), + p = n - h, + d = 0 <= h && h < t.shape[2], + g = 0 <= h + 1 && h + 1 < t.shape[2], + m = o && u && d ? t.get(i, l, h) : 0, + v = o && f && d ? t.get(i, l + 1, h) : 0, + y = s && u && d ? t.get(i + 1, l, h) : 0, + x = s && f && d ? t.get(i + 1, l + 1, h) : 0, + b = o && u && g ? t.get(i, l, h + 1) : 0, + _ = o && f && g ? t.get(i, l + 1, h + 1) : 0; + return ( + (1 - p) * + ((1 - c) * ((1 - a) * m + a * y) + c * ((1 - a) * v + a * x)) + + p * + ((1 - c) * + ((1 - a) * b + + a * (s && u && g ? t.get(i + 1, l, h + 1) : 0)) + + c * + ((1 - a) * _ + + a * (s && f && g ? t.get(i + 1, l + 1, h + 1) : 0))) + ); + } + function o(t) { + var e, + r, + n = 0 | t.shape.length, + i = new Array(n), + a = new Array(n), + o = new Array(n), + s = new Array(n); + for (e = 0; e < n; ++e) + (r = +arguments[e + 1]), + (i[e] = Math.floor(r)), + (a[e] = r - i[e]), + (o[e] = 0 <= i[e] && i[e] < t.shape[e]), + (s[e] = 0 <= i[e] + 1 && i[e] + 1 < t.shape[e]); + var l, + c, + u, + f = 0; + t: for (e = 0; e < 1 << n; ++e) { + for (c = 1, u = t.offset, l = 0; l < n; ++l) + if (e & (1 << l)) { + if (!s[l]) continue t; + (c *= a[l]), (u += t.stride[l] * (i[l] + 1)); + } else { + if (!o[l]) continue t; + (c *= 1 - a[l]), (u += t.stride[l] * i[l]); + } + f += c * t.data[u]; + } + return f; + } + (e.exports = function (t, e, r, s) { + switch (t.shape.length) { + case 0: + return 0; + case 1: + return n(t, e); + case 2: + return i(t, e, r); + case 3: + return a(t, e, r, s); + default: + return o.apply(void 0, arguments); + } + }), + (e.exports.d1 = n), + (e.exports.d2 = i), + (e.exports.d3 = a); + }, + {}, + ], + 490: [ + function (t, e, r) { + 'use strict'; + var n = t('cwise-compiler'), + i = { body: '', args: [], thisVars: [], localVars: [] }; + function a(t) { + if (!t) return i; + for (var e = 0; e < t.args.length; ++e) { + var r = t.args[e]; + t.args[e] = + 0 === e + ? { + name: r, + lvalue: !0, + rvalue: !!t.rvalue, + count: t.count || 1, + } + : { name: r, lvalue: !1, rvalue: !0, count: 1 }; + } + return ( + t.thisVars || (t.thisVars = []), + t.localVars || (t.localVars = []), + t + ); + } + function o(t) { + for (var e = [], r = 0; r < t.args.length; ++r) e.push('a' + r); + return new Function( + 'P', + [ + 'return function ', + t.funcName, + '_ndarrayops(', + e.join(','), + ') {P(', + e.join(','), + ');return a0}', + ].join('') + )( + (function (t) { + return n({ + args: t.args, + pre: a(t.pre), + body: a(t.body), + post: a(t.proc), + funcName: t.funcName, + }); + })(t) + ); + } + var s = { + add: '+', + sub: '-', + mul: '*', + div: '/', + mod: '%', + band: '&', + bor: '|', + bxor: '^', + lshift: '<<', + rshift: '>>', + rrshift: '>>>', + }; + !(function () { + for (var t in s) { + var e = s[t]; + (r[t] = o({ + args: ['array', 'array', 'array'], + body: { args: ['a', 'b', 'c'], body: 'a=b' + e + 'c' }, + funcName: t, + })), + (r[t + 'eq'] = o({ + args: ['array', 'array'], + body: { args: ['a', 'b'], body: 'a' + e + '=b' }, + rvalue: !0, + funcName: t + 'eq', + })), + (r[t + 's'] = o({ + args: ['array', 'array', 'scalar'], + body: { args: ['a', 'b', 's'], body: 'a=b' + e + 's' }, + funcName: t + 's', + })), + (r[t + 'seq'] = o({ + args: ['array', 'scalar'], + body: { args: ['a', 's'], body: 'a' + e + '=s' }, + rvalue: !0, + funcName: t + 'seq', + })); + } + })(); + var l = { not: '!', bnot: '~', neg: '-', recip: '1.0/' }; + !(function () { + for (var t in l) { + var e = l[t]; + (r[t] = o({ + args: ['array', 'array'], + body: { args: ['a', 'b'], body: 'a=' + e + 'b' }, + funcName: t, + })), + (r[t + 'eq'] = o({ + args: ['array'], + body: { args: ['a'], body: 'a=' + e + 'a' }, + rvalue: !0, + count: 2, + funcName: t + 'eq', + })); + } + })(); + var c = { + and: '&&', + or: '||', + eq: '===', + neq: '!==', + lt: '<', + gt: '>', + leq: '<=', + geq: '>=', + }; + !(function () { + for (var t in c) { + var e = c[t]; + (r[t] = o({ + args: ['array', 'array', 'array'], + body: { args: ['a', 'b', 'c'], body: 'a=b' + e + 'c' }, + funcName: t, + })), + (r[t + 's'] = o({ + args: ['array', 'array', 'scalar'], + body: { args: ['a', 'b', 's'], body: 'a=b' + e + 's' }, + funcName: t + 's', + })), + (r[t + 'eq'] = o({ + args: ['array', 'array'], + body: { args: ['a', 'b'], body: 'a=a' + e + 'b' }, + rvalue: !0, + count: 2, + funcName: t + 'eq', + })), + (r[t + 'seq'] = o({ + args: ['array', 'scalar'], + body: { args: ['a', 's'], body: 'a=a' + e + 's' }, + rvalue: !0, + count: 2, + funcName: t + 'seq', + })); + } + })(); + var u = [ + 'abs', + 'acos', + 'asin', + 'atan', + 'ceil', + 'cos', + 'exp', + 'floor', + 'log', + 'round', + 'sin', + 'sqrt', + 'tan', + ]; + !(function () { + for (var t = 0; t < u.length; ++t) { + var e = u[t]; + (r[e] = o({ + args: ['array', 'array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b'], + body: 'a=this_f(b)', + thisVars: ['this_f'], + }, + funcName: e, + })), + (r[e + 'eq'] = o({ + args: ['array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a'], + body: 'a=this_f(a)', + thisVars: ['this_f'], + }, + rvalue: !0, + count: 2, + funcName: e + 'eq', + })); + } + })(); + var f = ['max', 'min', 'atan2', 'pow']; + !(function () { + for (var t = 0; t < f.length; ++t) { + var e = f[t]; + (r[e] = o({ + args: ['array', 'array', 'array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b', 'c'], + body: 'a=this_f(b,c)', + thisVars: ['this_f'], + }, + funcName: e, + })), + (r[e + 's'] = o({ + args: ['array', 'array', 'scalar'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b', 'c'], + body: 'a=this_f(b,c)', + thisVars: ['this_f'], + }, + funcName: e + 's', + })), + (r[e + 'eq'] = o({ + args: ['array', 'array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b'], + body: 'a=this_f(a,b)', + thisVars: ['this_f'], + }, + rvalue: !0, + count: 2, + funcName: e + 'eq', + })), + (r[e + 'seq'] = o({ + args: ['array', 'scalar'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b'], + body: 'a=this_f(a,b)', + thisVars: ['this_f'], + }, + rvalue: !0, + count: 2, + funcName: e + 'seq', + })); + } + })(); + var h = ['atan2', 'pow']; + !(function () { + for (var t = 0; t < h.length; ++t) { + var e = h[t]; + (r[e + 'op'] = o({ + args: ['array', 'array', 'array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b', 'c'], + body: 'a=this_f(c,b)', + thisVars: ['this_f'], + }, + funcName: e + 'op', + })), + (r[e + 'ops'] = o({ + args: ['array', 'array', 'scalar'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b', 'c'], + body: 'a=this_f(c,b)', + thisVars: ['this_f'], + }, + funcName: e + 'ops', + })), + (r[e + 'opeq'] = o({ + args: ['array', 'array'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b'], + body: 'a=this_f(b,a)', + thisVars: ['this_f'], + }, + rvalue: !0, + count: 2, + funcName: e + 'opeq', + })), + (r[e + 'opseq'] = o({ + args: ['array', 'scalar'], + pre: { + args: [], + body: 'this_f=Math.' + e, + thisVars: ['this_f'], + }, + body: { + args: ['a', 'b'], + body: 'a=this_f(b,a)', + thisVars: ['this_f'], + }, + rvalue: !0, + count: 2, + funcName: e + 'opseq', + })); + } + })(), + (r.any = n({ + args: ['array'], + pre: i, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 1 }], + body: 'if(a){return true}', + localVars: [], + thisVars: [], + }, + post: { + args: [], + localVars: [], + thisVars: [], + body: 'return false', + }, + funcName: 'any', + })), + (r.all = n({ + args: ['array'], + pre: i, + body: { + args: [{ name: 'x', lvalue: !1, rvalue: !0, count: 1 }], + body: 'if(!x){return false}', + localVars: [], + thisVars: [], + }, + post: { + args: [], + localVars: [], + thisVars: [], + body: 'return true', + }, + funcName: 'all', + })), + (r.sum = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=0', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 1 }], + body: 'this_s+=a', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return this_s', + }, + funcName: 'sum', + })), + (r.prod = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=1', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 1 }], + body: 'this_s*=a', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return this_s', + }, + funcName: 'prod', + })), + (r.norm2squared = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=0', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 2 }], + body: 'this_s+=a*a', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return this_s', + }, + funcName: 'norm2squared', + })), + (r.norm2 = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=0', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 2 }], + body: 'this_s+=a*a', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return Math.sqrt(this_s)', + }, + funcName: 'norm2', + })), + (r.norminf = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=0', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 4 }], + body: 'if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return this_s', + }, + funcName: 'norminf', + })), + (r.norm1 = n({ + args: ['array'], + pre: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'this_s=0', + }, + body: { + args: [{ name: 'a', lvalue: !1, rvalue: !0, count: 3 }], + body: 'this_s+=a<0?-a:a', + localVars: [], + thisVars: ['this_s'], + }, + post: { + args: [], + localVars: [], + thisVars: ['this_s'], + body: 'return this_s', + }, + funcName: 'norm1', + })), + (r.sup = n({ + args: ['array'], + pre: { + body: 'this_h=-Infinity', + args: [], + thisVars: ['this_h'], + localVars: [], + }, + body: { + body: 'if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_', + args: [ + { name: '_inline_1_arg0_', lvalue: !1, rvalue: !0, count: 2 }, + ], + thisVars: ['this_h'], + localVars: [], + }, + post: { + body: 'return this_h', + args: [], + thisVars: ['this_h'], + localVars: [], + }, + })), + (r.inf = n({ + args: ['array'], + pre: { + body: 'this_h=Infinity', + args: [], + thisVars: ['this_h'], + localVars: [], + }, + body: { + body: 'if(_inline_1_arg0_this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}', + args: [ + { name: '_inline_1_arg0_', lvalue: !1, rvalue: !0, count: 2 }, + { name: '_inline_1_arg1_', lvalue: !1, rvalue: !0, count: 2 }, + ], + thisVars: ['this_i', 'this_v'], + localVars: ['_inline_1_k'], + }, + post: { + body: '{return this_i}', + args: [], + thisVars: ['this_i'], + localVars: [], + }, + })), + (r.random = o({ + args: ['array'], + pre: { + args: [], + body: 'this_f=Math.random', + thisVars: ['this_f'], + }, + body: { args: ['a'], body: 'a=this_f()', thisVars: ['this_f'] }, + funcName: 'random', + })), + (r.assign = o({ + args: ['array', 'array'], + body: { args: ['a', 'b'], body: 'a=b' }, + funcName: 'assign', + })), + (r.assigns = o({ + args: ['array', 'scalar'], + body: { args: ['a', 'b'], body: 'a=b' }, + funcName: 'assigns', + })), + (r.equals = n({ + args: ['array', 'array'], + pre: i, + body: { + args: [ + { name: 'x', lvalue: !1, rvalue: !0, count: 1 }, + { name: 'y', lvalue: !1, rvalue: !0, count: 1 }, + ], + body: 'if(x!==y){return false}', + localVars: [], + thisVars: [], + }, + post: { + args: [], + localVars: [], + thisVars: [], + body: 'return true', + }, + funcName: 'equals', + })); + }, + { 'cwise-compiler': 151 }, + ], + 491: [ + function (t, e, r) { + 'use strict'; + var n = t('ndarray'), + i = t('./doConvert.js'); + e.exports = function (t, e) { + for (var r = [], a = t, o = 1; Array.isArray(a); ) + r.push(a.length), (o *= a.length), (a = a[0]); + return 0 === r.length + ? n() + : (e || (e = n(new Float64Array(o), r)), i(e, t), e); + }; + }, + { './doConvert.js': 492, ndarray: 495 }, + ], + 492: [ + function (t, e, r) { + e.exports = t('cwise-compiler')({ + args: ['array', 'scalar', 'index'], + pre: { body: '{}', args: [], thisVars: [], localVars: [] }, + body: { + body: '{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}', + args: [ + { name: '_inline_1_arg0_', lvalue: !0, rvalue: !1, count: 1 }, + { name: '_inline_1_arg1_', lvalue: !1, rvalue: !0, count: 1 }, + { name: '_inline_1_arg2_', lvalue: !1, rvalue: !0, count: 4 }, + ], + thisVars: [], + localVars: ['_inline_1_i', '_inline_1_v'], + }, + post: { body: '{}', args: [], thisVars: [], localVars: [] }, + funcName: 'convert', + blockSize: 64, + }); + }, + { 'cwise-compiler': 151 }, + ], + 493: [ + function (t, e, r) { + 'use strict'; + var n = t('typedarray-pool'), + i = 32; + function a(t) { + switch (t) { + case 'uint8': + return [n.mallocUint8, n.freeUint8]; + case 'uint16': + return [n.mallocUint16, n.freeUint16]; + case 'uint32': + return [n.mallocUint32, n.freeUint32]; + case 'int8': + return [n.mallocInt8, n.freeInt8]; + case 'int16': + return [n.mallocInt16, n.freeInt16]; + case 'int32': + return [n.mallocInt32, n.freeInt32]; + case 'float32': + return [n.mallocFloat, n.freeFloat]; + case 'float64': + return [n.mallocDouble, n.freeDouble]; + default: + return null; + } + } + function o(t) { + for (var e = [], r = 0; r < t; ++r) e.push('s' + r); + for (r = 0; r < t; ++r) e.push('n' + r); + for (r = 1; r < t; ++r) e.push('d' + r); + for (r = 1; r < t; ++r) e.push('e' + r); + for (r = 1; r < t; ++r) e.push('f' + r); + return e; + } + e.exports = function (t, e) { + var r = ["'use strict'"], + n = ['ndarraySortWrapper', t.join('d'), e].join(''); + r.push(['function ', n, '(', ['array'].join(','), '){'].join('')); + for ( + var s = [ + 'data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride', + ], + l = 0; + l < t.length; + ++l + ) + s.push( + ['s', l, '=stride[', l, ']|0,n', l, '=shape[', l, ']|0'].join( + '' + ) + ); + var c = new Array(t.length), + u = []; + for (l = 0; l < t.length; ++l) { + 0 !== (p = t[l]) && + (0 === u.length ? (c[p] = '1') : (c[p] = u.join('*')), + u.push('n' + p)); + } + var f = -1, + h = -1; + for (l = 0; l < t.length; ++l) { + var p, + d = t[l]; + 0 !== d && + (f > 0 + ? s.push(['d', d, '=s', d, '-d', f, '*n', f].join('')) + : s.push(['d', d, '=s', d].join('')), + (f = d)), + 0 !== (p = t.length - 1 - l) && + (h > 0 + ? s.push( + [ + 'e', + p, + '=s', + p, + '-e', + h, + '*n', + h, + ',f', + p, + '=', + c[p], + '-f', + h, + '*n', + h, + ].join('') + ) + : s.push(['e', p, '=s', p, ',f', p, '=', c[p]].join('')), + (h = p)); + } + r.push('var ' + s.join(',')); + var g = ['0', 'n0-1', 'data', 'offset'].concat(o(t.length)); + r.push( + [ + 'if(n0<=', + i, + '){', + 'insertionSort(', + g.join(','), + ')}else{', + 'quickSort(', + g.join(','), + ')}', + ].join('') + ), + r.push('}return ' + n); + var m = new Function('insertionSort', 'quickSort', r.join('\n')), + v = (function (t, e) { + var r = ["'use strict'"], + n = ['ndarrayInsertionSort', t.join('d'), e].join(''), + i = ['left', 'right', 'data', 'offset'].concat(o(t.length)), + s = a(e), + l = ['i,j,cptr,ptr=left*s0+offset']; + if (t.length > 1) { + for (var c = [], u = 1; u < t.length; ++u) + l.push('i' + u), c.push('n' + u); + s + ? l.push('scratch=malloc(' + c.join('*') + ')') + : l.push('scratch=new Array(' + c.join('*') + ')'), + l.push('dptr', 'sptr', 'a', 'b'); + } else l.push('scratch'); + function f(t) { + return 'generic' === e + ? ['data.get(', t, ')'].join('') + : ['data[', t, ']'].join(''); + } + function h(t, r) { + return 'generic' === e + ? ['data.set(', t, ',', r, ')'].join('') + : ['data[', t, ']=', r].join(''); + } + if ( + (r.push( + [ + 'function ', + n, + '(', + i.join(','), + '){var ', + l.join(','), + ].join(''), + 'for(i=left+1;i<=right;++i){', + 'j=i;ptr+=s0', + 'cptr=ptr' + ), + t.length > 1) + ) { + r.push('dptr=0;sptr=ptr'); + for (u = t.length - 1; u >= 0; --u) { + 0 !== (p = t[u]) && + r.push( + ['for(i', p, '=0;i', p, 'b){break __l}', + ].join('') + ); + for (u = t.length - 1; u >= 1; --u) + r.push('sptr+=e' + u, 'dptr+=f' + u, '}'); + r.push('dptr=cptr;sptr=cptr-s0'); + for (u = t.length - 1; u >= 0; --u) { + 0 !== (p = t[u]) && + r.push( + ['for(i', p, '=0;i', p, '= 0; --u) { + 0 !== (p = t[u]) && + r.push( + ['for(i', p, '=0;i', p, 'scratch)){', + h('cptr', f('cptr-s0')), + 'cptr-=s0', + '}', + h('cptr', 'scratch') + ); + return ( + r.push('}'), + t.length > 1 && s && r.push('free(scratch)'), + r.push('} return ' + n), + s + ? new Function('malloc', 'free', r.join('\n'))(s[0], s[1]) + : new Function(r.join('\n'))() + ); + })(t, e), + y = (function (t, e, r) { + var n = ["'use strict'"], + s = ['ndarrayQuickSort', t.join('d'), e].join(''), + l = ['left', 'right', 'data', 'offset'].concat(o(t.length)), + c = a(e), + u = 0; + n.push(['function ', s, '(', l.join(','), '){'].join('')); + var f = [ + 'sixth=((right-left+1)/6)|0', + 'index1=left+sixth', + 'index5=right-sixth', + 'index3=(left+right)>>1', + 'index2=index3-sixth', + 'index4=index3+sixth', + 'el1=index1', + 'el2=index2', + 'el3=index3', + 'el4=index4', + 'el5=index5', + 'less=left+1', + 'great=right-1', + 'pivots_are_equal=true', + 'tmp', + 'tmp0', + 'x', + 'y', + 'z', + 'k', + 'ptr0', + 'ptr1', + 'ptr2', + 'comp_pivot1=0', + 'comp_pivot2=0', + 'comp=0', + ]; + if (t.length > 1) { + for (var h = [], p = 1; p < t.length; ++p) + h.push('n' + p), f.push('i' + p); + for (p = 0; p < 8; ++p) f.push('b_ptr' + p); + f.push( + 'ptr3', + 'ptr4', + 'ptr5', + 'ptr6', + 'ptr7', + 'pivot_ptr', + 'ptr_shift', + 'elementSize=' + h.join('*') + ), + c + ? f.push( + 'pivot1=malloc(elementSize)', + 'pivot2=malloc(elementSize)' + ) + : f.push( + 'pivot1=new Array(elementSize),pivot2=new Array(elementSize)' + ); + } else f.push('pivot1', 'pivot2'); + function d(t) { + return ['(offset+', t, '*s0)'].join(''); + } + function g(t) { + return 'generic' === e + ? ['data.get(', t, ')'].join('') + : ['data[', t, ']'].join(''); + } + function m(t, r) { + return 'generic' === e + ? ['data.set(', t, ',', r, ')'].join('') + : ['data[', t, ']=', r].join(''); + } + function v(e, r, i) { + if (1 === e.length) n.push('ptr0=' + d(e[0])); + else + for (var a = 0; a < e.length; ++a) + n.push(['b_ptr', a, '=s0*', e[a]].join('')); + r && n.push('pivot_ptr=0'), n.push('ptr_shift=offset'); + for (a = t.length - 1; a >= 0; --a) { + 0 !== (o = t[a]) && + n.push( + ['for(i', o, '=0;i', o, ' 1) + for (a = 0; a < e.length; ++a) + n.push(['ptr', a, '=b_ptr', a, '+ptr_shift'].join('')); + n.push(i), r && n.push('++pivot_ptr'); + for (a = 0; a < t.length; ++a) { + var o; + 0 !== (o = t[a]) && + (e.length > 1 + ? n.push('ptr_shift+=d' + o) + : n.push('ptr0+=d' + o), + n.push('}')); + } + } + function y(e, r, i, a) { + if (1 === r.length) n.push('ptr0=' + d(r[0])); + else { + for (var o = 0; o < r.length; ++o) + n.push(['b_ptr', o, '=s0*', r[o]].join('')); + n.push('ptr_shift=offset'); + } + i && n.push('pivot_ptr=0'), e && n.push(e + ':'); + for (o = 1; o < t.length; ++o) + n.push( + ['for(i', o, '=0;i', o, ' 1) + for (o = 0; o < r.length; ++o) + n.push(['ptr', o, '=b_ptr', o, '+ptr_shift'].join('')); + n.push(a); + for (o = t.length - 1; o >= 1; --o) + i && n.push('pivot_ptr+=f' + o), + r.length > 1 + ? n.push('ptr_shift+=e' + o) + : n.push('ptr0+=e' + o), + n.push('}'); + } + function x() { + t.length > 1 && c && n.push('free(pivot1)', 'free(pivot2)'); + } + function b(e, r) { + var i = 'el' + e, + a = 'el' + r; + if (t.length > 1) { + var o = '__l' + ++u; + y( + o, + [i, a], + !1, + [ + 'comp=', + g('ptr0'), + '-', + g('ptr1'), + '\n', + 'if(comp>0){tmp0=', + i, + ';', + i, + '=', + a, + ';', + a, + '=tmp0;break ', + o, + '}\n', + 'if(comp<0){break ', + o, + '}', + ].join('') + ); + } else + n.push( + [ + 'if(', + g(d(i)), + '>', + g(d(a)), + '){tmp0=', + i, + ';', + i, + '=', + a, + ';', + a, + '=tmp0}', + ].join('') + ); + } + function _(e, r) { + t.length > 1 + ? v([e, r], !1, m('ptr0', g('ptr1'))) + : n.push(m(d(e), g(d(r)))); + } + function w(e, r, i) { + if (t.length > 1) { + var a = '__l' + ++u; + y( + a, + [r], + !0, + [ + e, + '=', + g('ptr0'), + '-pivot', + i, + '[pivot_ptr]\n', + 'if(', + e, + '!==0){break ', + a, + '}', + ].join('') + ); + } else n.push([e, '=', g(d(r)), '-pivot', i].join('')); + } + function T(e, r) { + t.length > 1 + ? v( + [e, r], + !1, + [ + 'tmp=', + g('ptr0'), + '\n', + m('ptr0', g('ptr1')), + '\n', + m('ptr1', 'tmp'), + ].join('') + ) + : n.push( + [ + 'ptr0=', + d(e), + '\n', + 'ptr1=', + d(r), + '\n', + 'tmp=', + g('ptr0'), + '\n', + m('ptr0', g('ptr1')), + '\n', + m('ptr1', 'tmp'), + ].join('') + ); + } + function k(e, r, i) { + t.length > 1 + ? (v( + [e, r, i], + !1, + [ + 'tmp=', + g('ptr0'), + '\n', + m('ptr0', g('ptr1')), + '\n', + m('ptr1', g('ptr2')), + '\n', + m('ptr2', 'tmp'), + ].join('') + ), + n.push('++' + r, '--' + i)) + : n.push( + [ + 'ptr0=', + d(e), + '\n', + 'ptr1=', + d(r), + '\n', + 'ptr2=', + d(i), + '\n', + '++', + r, + '\n', + '--', + i, + '\n', + 'tmp=', + g('ptr0'), + '\n', + m('ptr0', g('ptr1')), + '\n', + m('ptr1', g('ptr2')), + '\n', + m('ptr2', 'tmp'), + ].join('') + ); + } + function M(t, e) { + T(t, e), n.push('--' + e); + } + function A(e, r, i) { + t.length > 1 + ? v( + [e, r], + !0, + [ + m('ptr0', g('ptr1')), + '\n', + m('ptr1', ['pivot', i, '[pivot_ptr]'].join('')), + ].join('') + ) + : n.push(m(d(e), g(d(r))), m(d(r), 'pivot' + i)); + } + function S(e, r) { + n.push( + [ + 'if((', + r, + '-', + e, + ')<=', + i, + '){\n', + 'insertionSort(', + e, + ',', + r, + ',data,offset,', + o(t.length).join(','), + ')\n', + '}else{\n', + s, + '(', + e, + ',', + r, + ',data,offset,', + o(t.length).join(','), + ')\n', + '}', + ].join('') + ); + } + function E(e, r, i) { + t.length > 1 + ? (n.push(['__l', ++u, ':while(true){'].join('')), + v( + [e], + !0, + [ + 'if(', + g('ptr0'), + '!==pivot', + r, + '[pivot_ptr]){break __l', + u, + '}', + ].join('') + ), + n.push(i, '}')) + : n.push( + ['while(', g(d(e)), '===pivot', r, '){', i, '}'].join( + '' + ) + ); + } + return ( + n.push('var ' + f.join(',')), + b(1, 2), + b(4, 5), + b(1, 3), + b(2, 3), + b(1, 4), + b(3, 4), + b(2, 5), + b(2, 3), + b(4, 5), + t.length > 1 + ? v( + [ + 'el1', + 'el2', + 'el3', + 'el4', + 'el5', + 'index1', + 'index3', + 'index5', + ], + !0, + [ + 'pivot1[pivot_ptr]=', + g('ptr1'), + '\n', + 'pivot2[pivot_ptr]=', + g('ptr3'), + '\n', + 'pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n', + 'x=', + g('ptr0'), + '\n', + 'y=', + g('ptr2'), + '\n', + 'z=', + g('ptr4'), + '\n', + m('ptr5', 'x'), + '\n', + m('ptr6', 'y'), + '\n', + m('ptr7', 'z'), + ].join('') + ) + : n.push( + [ + 'pivot1=', + g(d('el2')), + '\n', + 'pivot2=', + g(d('el4')), + '\n', + 'pivots_are_equal=pivot1===pivot2\n', + 'x=', + g(d('el1')), + '\n', + 'y=', + g(d('el3')), + '\n', + 'z=', + g(d('el5')), + '\n', + m(d('index1'), 'x'), + '\n', + m(d('index3'), 'y'), + '\n', + m(d('index5'), 'z'), + ].join('') + ), + _('index2', 'left'), + _('index4', 'right'), + n.push('if(pivots_are_equal){'), + n.push('for(k=less;k<=great;++k){'), + w('comp', 'k', 1), + n.push('if(comp===0){continue}'), + n.push('if(comp<0){'), + n.push('if(k!==less){'), + T('k', 'less'), + n.push('}'), + n.push('++less'), + n.push('}else{'), + n.push('while(true){'), + w('comp', 'great', 1), + n.push('if(comp>0){'), + n.push('great--'), + n.push('}else if(comp<0){'), + k('k', 'less', 'great'), + n.push('break'), + n.push('}else{'), + M('k', 'great'), + n.push('break'), + n.push('}'), + n.push('}'), + n.push('}'), + n.push('}'), + n.push('}else{'), + n.push('for(k=less;k<=great;++k){'), + w('comp_pivot1', 'k', 1), + n.push('if(comp_pivot1<0){'), + n.push('if(k!==less){'), + T('k', 'less'), + n.push('}'), + n.push('++less'), + n.push('}else{'), + w('comp_pivot2', 'k', 2), + n.push('if(comp_pivot2>0){'), + n.push('while(true){'), + w('comp', 'great', 2), + n.push('if(comp>0){'), + n.push('if(--greatindex5){'), + E('less', 1, '++less'), + E('great', 2, '--great'), + n.push('for(k=less;k<=great;++k){'), + w('comp_pivot1', 'k', 1), + n.push('if(comp_pivot1===0){'), + n.push('if(k!==less){'), + T('k', 'less'), + n.push('}'), + n.push('++less'), + n.push('}else{'), + w('comp_pivot2', 'k', 2), + n.push('if(comp_pivot2===0){'), + n.push('while(true){'), + w('comp', 'great', 2), + n.push('if(comp===0){'), + n.push('if(--great 1 && c + ? new Function( + 'insertionSort', + 'malloc', + 'free', + n.join('\n') + )(r, c[0], c[1]) + : new Function('insertionSort', n.join('\n'))(r) + ); + })(t, e, v); + return m(v, y); + }; + }, + { 'typedarray-pool': 595 }, + ], + 494: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/compile_sort.js'), + i = {}; + e.exports = function (t) { + var e = t.order, + r = t.dtype, + a = [e, r].join(':'), + o = i[a]; + return o || (i[a] = o = n(e, r)), o(t), t; + }; + }, + { './lib/compile_sort.js': 493 }, + ], + 495: [ + function (t, e, r) { + var n = t('iota-array'), + i = t('is-buffer'), + a = 'undefined' != typeof Float64Array; + function o(t, e) { + return t[0] - e[0]; + } + function s() { + var t, + e = this.stride, + r = new Array(e.length); + for (t = 0; t < r.length; ++t) r[t] = [Math.abs(e[t]), t]; + r.sort(o); + var n = new Array(r.length); + for (t = 0; t < n.length; ++t) n[t] = r[t][1]; + return n; + } + function l(t, e) { + var r = ['View', e, 'd', t].join(''); + e < 0 && (r = 'View_Nil' + t); + var i = 'generic' === t; + if (-1 === e) { + var a = + 'function ' + + r + + '(a){this.data=a;};var proto=' + + r + + ".prototype;proto.dtype='" + + t + + "';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new " + + r + + '(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_' + + r + + '(a){return new ' + + r + + '(a);}'; + return new Function(a)(); + } + if (0 === e) { + a = + 'function ' + + r + + '(a,d) {this.data = a;this.offset = d};var proto=' + + r + + ".prototype;proto.dtype='" + + t + + "';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function " + + r + + '_copy() {return new ' + + r + + '(this.data,this.offset)};proto.pick=function ' + + r + + '_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function ' + + r + + '_get(){return ' + + (i ? 'this.data.get(this.offset)' : 'this.data[this.offset]') + + '};proto.set=function ' + + r + + '_set(v){return ' + + (i + ? 'this.data.set(this.offset,v)' + : 'this.data[this.offset]=v') + + '};return function construct_' + + r + + '(a,b,c,d){return new ' + + r + + '(a,d)}'; + return new Function('TrivialArray', a)(c[t][0]); + } + a = ["'use strict'"]; + var o = n(e), + l = o.map(function (t) { + return 'i' + t; + }), + u = + 'this.offset+' + + o + .map(function (t) { + return 'this.stride[' + t + ']*i' + t; + }) + .join('+'), + f = o + .map(function (t) { + return 'b' + t; + }) + .join(','), + h = o + .map(function (t) { + return 'c' + t; + }) + .join(','); + a.push( + 'function ' + r + '(a,' + f + ',' + h + ',d){this.data=a', + 'this.shape=[' + f + ']', + 'this.stride=[' + h + ']', + 'this.offset=d|0}', + 'var proto=' + r + '.prototype', + "proto.dtype='" + t + "'", + 'proto.dimension=' + e + ), + a.push( + "Object.defineProperty(proto,'size',{get:function " + + r + + '_size(){return ' + + o + .map(function (t) { + return 'this.shape[' + t + ']'; + }) + .join('*'), + '}})' + ), + 1 === e + ? a.push('proto.order=[0]') + : (a.push("Object.defineProperty(proto,'order',{get:"), + e < 4 + ? (a.push('function ' + r + '_order(){'), + 2 === e + ? a.push( + 'return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})' + ) + : 3 === e && + a.push( + 'var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})' + )) + : a.push('ORDER})')), + a.push( + 'proto.set=function ' + r + '_set(' + l.join(',') + ',v){' + ), + i + ? a.push('return this.data.set(' + u + ',v)}') + : a.push('return this.data[' + u + ']=v}'), + a.push('proto.get=function ' + r + '_get(' + l.join(',') + '){'), + i + ? a.push('return this.data.get(' + u + ')}') + : a.push('return this.data[' + u + ']}'), + a.push( + 'proto.index=function ' + r + '_index(', + l.join(), + '){return ' + u + '}' + ), + a.push( + 'proto.hi=function ' + + r + + '_hi(' + + l.join(',') + + '){return new ' + + r + + '(this.data,' + + o + .map(function (t) { + return [ + '(typeof i', + t, + "!=='number'||i", + t, + '<0)?this.shape[', + t, + ']:i', + t, + '|0', + ].join(''); + }) + .join(',') + + ',' + + o + .map(function (t) { + return 'this.stride[' + t + ']'; + }) + .join(',') + + ',this.offset)}' + ); + var p = o.map(function (t) { + return 'a' + t + '=this.shape[' + t + ']'; + }), + d = o.map(function (t) { + return 'c' + t + '=this.stride[' + t + ']'; + }); + a.push( + 'proto.lo=function ' + + r + + '_lo(' + + l.join(',') + + '){var b=this.offset,d=0,' + + p.join(',') + + ',' + + d.join(',') + ); + for (var g = 0; g < e; ++g) + a.push( + 'if(typeof i' + + g + + "==='number'&&i" + + g + + '>=0){d=i' + + g + + '|0;b+=c' + + g + + '*d;a' + + g + + '-=d}' + ); + a.push( + 'return new ' + + r + + '(this.data,' + + o + .map(function (t) { + return 'a' + t; + }) + .join(',') + + ',' + + o + .map(function (t) { + return 'c' + t; + }) + .join(',') + + ',b)}' + ), + a.push( + 'proto.step=function ' + + r + + '_step(' + + l.join(',') + + '){var ' + + o + .map(function (t) { + return 'a' + t + '=this.shape[' + t + ']'; + }) + .join(',') + + ',' + + o + .map(function (t) { + return 'b' + t + '=this.stride[' + t + ']'; + }) + .join(',') + + ',c=this.offset,d=0,ceil=Math.ceil' + ); + for (g = 0; g < e; ++g) + a.push( + 'if(typeof i' + + g + + "==='number'){d=i" + + g + + '|0;if(d<0){c+=b' + + g + + '*(a' + + g + + '-1);a' + + g + + '=ceil(-a' + + g + + '/d)}else{a' + + g + + '=ceil(a' + + g + + '/d)}b' + + g + + '*=d}' + ); + a.push( + 'return new ' + + r + + '(this.data,' + + o + .map(function (t) { + return 'a' + t; + }) + .join(',') + + ',' + + o + .map(function (t) { + return 'b' + t; + }) + .join(',') + + ',c)}' + ); + var m = new Array(e), + v = new Array(e); + for (g = 0; g < e; ++g) + (m[g] = 'a[i' + g + ']'), (v[g] = 'b[i' + g + ']'); + a.push( + 'proto.transpose=function ' + + r + + '_transpose(' + + l + + '){' + + l + .map(function (t, e) { + return t + '=(' + t + '===undefined?' + e + ':' + t + '|0)'; + }) + .join(';'), + 'var a=this.shape,b=this.stride;return new ' + + r + + '(this.data,' + + m.join(',') + + ',' + + v.join(',') + + ',this.offset)}' + ), + a.push( + 'proto.pick=function ' + + r + + '_pick(' + + l + + '){var a=[],b=[],c=this.offset' + ); + for (g = 0; g < e; ++g) + a.push( + 'if(typeof i' + + g + + "==='number'&&i" + + g + + '>=0){c=(c+this.stride[' + + g + + ']*i' + + g + + ')|0}else{a.push(this.shape[' + + g + + ']);b.push(this.stride[' + + g + + '])}' + ); + return ( + a.push( + 'var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}' + ), + a.push( + 'return function construct_' + + r + + '(data,shape,stride,offset){return new ' + + r + + '(data,' + + o + .map(function (t) { + return 'shape[' + t + ']'; + }) + .join(',') + + ',' + + o + .map(function (t) { + return 'stride[' + t + ']'; + }) + .join(',') + + ',offset)}' + ), + new Function('CTOR_LIST', 'ORDER', a.join('\n'))(c[t], s) + ); + } + var c = { + float32: [], + float64: [], + int8: [], + int16: [], + int32: [], + uint8: [], + uint16: [], + uint32: [], + array: [], + uint8_clamped: [], + bigint64: [], + biguint64: [], + buffer: [], + generic: [], + }; + e.exports = function (t, e, r, n) { + if (void 0 === t) return (0, c.array[0])([]); + 'number' == typeof t && (t = [t]), void 0 === e && (e = [t.length]); + var o = e.length; + if (void 0 === r) { + r = new Array(o); + for (var s = o - 1, u = 1; s >= 0; --s) (r[s] = u), (u *= e[s]); + } + if (void 0 === n) { + n = 0; + for (s = 0; s < o; ++s) r[s] < 0 && (n -= (e[s] - 1) * r[s]); + } + for ( + var f = (function (t) { + if (i(t)) return 'buffer'; + if (a) + switch (Object.prototype.toString.call(t)) { + case '[object Float64Array]': + return 'float64'; + case '[object Float32Array]': + return 'float32'; + case '[object Int8Array]': + return 'int8'; + case '[object Int16Array]': + return 'int16'; + case '[object Int32Array]': + return 'int32'; + case '[object Uint8Array]': + return 'uint8'; + case '[object Uint16Array]': + return 'uint16'; + case '[object Uint32Array]': + return 'uint32'; + case '[object Uint8ClampedArray]': + return 'uint8_clamped'; + case '[object BigInt64Array]': + return 'bigint64'; + case '[object BigUint64Array]': + return 'biguint64'; + } + return Array.isArray(t) ? 'array' : 'generic'; + })(t), + h = c[f]; + h.length <= o + 1; + + ) + h.push(l(f, h.length - 1)); + return (0, h[o + 1])(t, e, r, n); + }; + }, + { 'iota-array': 463, 'is-buffer': 465 }, + ], + 496: [ + function (t, e, r) { + 'use strict'; + var n = t('double-bits'), + i = Math.pow(2, -1074); + e.exports = function (t, e) { + if (isNaN(t) || isNaN(e)) return NaN; + if (t === e) return t; + if (0 === t) return e < 0 ? -i : i; + var r = n.hi(t), + a = n.lo(t); + e > t == t > 0 + ? a === -1 >>> 0 + ? ((r += 1), (a = 0)) + : (a += 1) + : 0 === a + ? ((a = -1 >>> 0), (r -= 1)) + : (a -= 1); + return n.pack(a, r); + }; + }, + { 'double-bits': 173 }, + ], + 497: [ + function (t, e, r) { + var n = Math.PI, + i = c(120); + function a(t, e, r, n) { + return ['C', t, e, r, n, r, n]; + } + function o(t, e, r, n, i, a) { + return [ + 'C', + t / 3 + (2 / 3) * r, + e / 3 + (2 / 3) * n, + i / 3 + (2 / 3) * r, + a / 3 + (2 / 3) * n, + i, + a, + ]; + } + function s(t, e, r, a, o, c, u, f, h, p) { + if (p) (T = p[0]), (k = p[1]), (_ = p[2]), (w = p[3]); + else { + var d = l(t, e, -o); + (t = d.x), (e = d.y); + var g = (t - (f = (d = l(f, h, -o)).x)) / 2, + m = (e - (h = d.y)) / 2, + v = (g * g) / (r * r) + (m * m) / (a * a); + v > 1 && ((r *= v = Math.sqrt(v)), (a *= v)); + var y = r * r, + x = a * a, + b = + (c == u ? -1 : 1) * + Math.sqrt( + Math.abs( + (y * x - y * m * m - x * g * g) / (y * m * m + x * g * g) + ) + ); + b == 1 / 0 && (b = 1); + var _ = (b * r * m) / a + (t + f) / 2, + w = (b * -a * g) / r + (e + h) / 2, + T = Math.asin(((e - w) / a).toFixed(9)), + k = Math.asin(((h - w) / a).toFixed(9)); + (T = t < _ ? n - T : T) < 0 && (T = 2 * n + T), + (k = f < _ ? n - k : k) < 0 && (k = 2 * n + k), + u && T > k && (T -= 2 * n), + !u && k > T && (k -= 2 * n); + } + if (Math.abs(k - T) > i) { + var M = k, + A = f, + S = h; + k = T + i * (u && k > T ? 1 : -1); + var E = s( + (f = _ + r * Math.cos(k)), + (h = w + a * Math.sin(k)), + r, + a, + o, + 0, + u, + A, + S, + [k, M, _, w] + ); + } + var C = Math.tan((k - T) / 4), + L = (4 / 3) * r * C, + I = (4 / 3) * a * C, + P = [ + 2 * t - (t + L * Math.sin(T)), + 2 * e - (e - I * Math.cos(T)), + f + L * Math.sin(k), + h - I * Math.cos(k), + f, + h, + ]; + if (p) return P; + E && (P = P.concat(E)); + for (var z = 0; z < P.length; ) { + var O = l(P[z], P[z + 1], o); + (P[z++] = O.x), (P[z++] = O.y); + } + return P; + } + function l(t, e, r) { + return { + x: t * Math.cos(r) - e * Math.sin(r), + y: t * Math.sin(r) + e * Math.cos(r), + }; + } + function c(t) { + return t * (n / 180); + } + e.exports = function (t) { + for ( + var e, + r = [], + n = 0, + i = 0, + l = 0, + u = 0, + f = null, + h = null, + p = 0, + d = 0, + g = 0, + m = t.length; + g < m; + g++ + ) { + var v = t[g], + y = v[0]; + switch (y) { + case 'M': + (l = v[1]), (u = v[2]); + break; + case 'A': + (v = s( + p, + d, + v[1], + v[2], + c(v[3]), + v[4], + v[5], + v[6], + v[7] + )).unshift('C'), + v.length > 7 && (r.push(v.splice(0, 7)), v.unshift('C')); + break; + case 'S': + var x = p, + b = d; + ('C' != e && 'S' != e) || ((x += x - n), (b += b - i)), + (v = ['C', x, b, v[1], v[2], v[3], v[4]]); + break; + case 'T': + 'Q' == e || 'T' == e + ? ((f = 2 * p - f), (h = 2 * d - h)) + : ((f = p), (h = d)), + (v = o(p, d, f, h, v[1], v[2])); + break; + case 'Q': + (f = v[1]), (h = v[2]), (v = o(p, d, v[1], v[2], v[3], v[4])); + break; + case 'L': + v = a(p, d, v[1], v[2]); + break; + case 'H': + v = a(p, d, v[1], d); + break; + case 'V': + v = a(p, d, p, v[1]); + break; + case 'Z': + v = a(p, d, l, u); + } + (e = y), + (p = v[v.length - 2]), + (d = v[v.length - 1]), + v.length > 4 + ? ((n = v[v.length - 4]), (i = v[v.length - 3])) + : ((n = p), (i = d)), + r.push(v); + } + return r; + }; + }, + {}, + ], + 498: [ + function (t, e, r) { + (r.vertexNormals = function (t, e, r) { + for ( + var n = e.length, + i = new Array(n), + a = void 0 === r ? 1e-6 : r, + o = 0; + o < n; + ++o + ) + i[o] = [0, 0, 0]; + for (o = 0; o < t.length; ++o) + for ( + var s = t[o], l = 0, c = s[s.length - 1], u = s[0], f = 0; + f < s.length; + ++f + ) { + (l = c), (c = u), (u = s[(f + 1) % s.length]); + for ( + var h = e[l], + p = e[c], + d = e[u], + g = new Array(3), + m = 0, + v = new Array(3), + y = 0, + x = 0; + x < 3; + ++x + ) + (g[x] = h[x] - p[x]), + (m += g[x] * g[x]), + (v[x] = d[x] - p[x]), + (y += v[x] * v[x]); + if (m * y > a) { + var b = i[c], + _ = 1 / Math.sqrt(m * y); + for (x = 0; x < 3; ++x) { + var w = (x + 1) % 3, + T = (x + 2) % 3; + b[x] += _ * (v[w] * g[T] - v[T] * g[w]); + } + } + } + for (o = 0; o < n; ++o) { + b = i[o]; + var k = 0; + for (x = 0; x < 3; ++x) k += b[x] * b[x]; + if (k > a) + for (_ = 1 / Math.sqrt(k), x = 0; x < 3; ++x) b[x] *= _; + else for (x = 0; x < 3; ++x) b[x] = 0; + } + return i; + }), + (r.faceNormals = function (t, e, r) { + for ( + var n = t.length, + i = new Array(n), + a = void 0 === r ? 1e-6 : r, + o = 0; + o < n; + ++o + ) { + for (var s = t[o], l = new Array(3), c = 0; c < 3; ++c) + l[c] = e[s[c]]; + var u = new Array(3), + f = new Array(3); + for (c = 0; c < 3; ++c) + (u[c] = l[1][c] - l[0][c]), (f[c] = l[2][c] - l[0][c]); + var h = new Array(3), + p = 0; + for (c = 0; c < 3; ++c) { + var d = (c + 1) % 3, + g = (c + 2) % 3; + (h[c] = u[d] * f[g] - u[g] * f[d]), (p += h[c] * h[c]); + } + p = p > a ? 1 / Math.sqrt(p) : 0; + for (c = 0; c < 3; ++c) h[c] *= p; + i[o] = h; + } + return i; + }); + }, + {}, + ], + 499: [ + function (t, e, r) { + /* + object-assign + (c) Sindre Sorhus + @license MIT + */ + 'use strict'; + var n = Object.getOwnPropertySymbols, + i = Object.prototype.hasOwnProperty, + a = Object.prototype.propertyIsEnumerable; + function o(t) { + if (null == t) + throw new TypeError( + 'Object.assign cannot be called with null or undefined' + ); + return Object(t); + } + e.exports = (function () { + try { + if (!Object.assign) return !1; + var t = new String('abc'); + if (((t[5] = 'de'), '5' === Object.getOwnPropertyNames(t)[0])) + return !1; + for (var e = {}, r = 0; r < 10; r++) + e['_' + String.fromCharCode(r)] = r; + if ( + '0123456789' !== + Object.getOwnPropertyNames(e) + .map(function (t) { + return e[t]; + }) + .join('') + ) + return !1; + var n = {}; + return ( + 'abcdefghijklmnopqrst'.split('').forEach(function (t) { + n[t] = t; + }), + 'abcdefghijklmnopqrst' === + Object.keys(Object.assign({}, n)).join('') + ); + } catch (t) { + return !1; + } + })() + ? Object.assign + : function (t, e) { + for (var r, s, l = o(t), c = 1; c < arguments.length; c++) { + for (var u in (r = Object(arguments[c]))) + i.call(r, u) && (l[u] = r[u]); + if (n) { + s = n(r); + for (var f = 0; f < s.length; f++) + a.call(r, s[f]) && (l[s[f]] = r[s[f]]); + } + } + return l; + }; + }, + {}, + ], + 500: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i, a, o, s, l, c) { + var u = e + a + c; + if (f > 0) { + var f = Math.sqrt(u + 1); + (t[0] = (0.5 * (o - l)) / f), + (t[1] = (0.5 * (s - n)) / f), + (t[2] = (0.5 * (r - a)) / f), + (t[3] = 0.5 * f); + } else { + var h = Math.max(e, a, c); + f = Math.sqrt(2 * h - u + 1); + e >= h + ? ((t[0] = 0.5 * f), + (t[1] = (0.5 * (i + r)) / f), + (t[2] = (0.5 * (s + n)) / f), + (t[3] = (0.5 * (o - l)) / f)) + : a >= h + ? ((t[0] = (0.5 * (r + i)) / f), + (t[1] = 0.5 * f), + (t[2] = (0.5 * (l + o)) / f), + (t[3] = (0.5 * (s - n)) / f)) + : ((t[0] = (0.5 * (n + s)) / f), + (t[1] = (0.5 * (o + l)) / f), + (t[2] = 0.5 * f), + (t[3] = (0.5 * (r - i)) / f)); + } + return t; + }; + }, + {}, + ], + 501: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.rotation || [0, 0, 0, 1], + n = t.radius || 1; + (e = [].slice.call(e, 0, 3)), u((r = [].slice.call(r, 0, 4)), r); + var i = new f(r, e, Math.log(n)); + i.setDistanceLimits(t.zoomMin, t.zoomMax), + ('eye' in t || 'up' in t) && i.lookAt(0, t.eye, t.center, t.up); + return i; + }; + var n = t('filtered-vector'), + i = t('gl-mat4/lookAt'), + a = t('gl-mat4/fromQuat'), + o = t('gl-mat4/invert'), + s = t('./lib/quatFromFrame'); + function l(t, e, r) { + return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); + } + function c(t, e, r, n) { + return Math.sqrt( + Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2) + Math.pow(n, 2) + ); + } + function u(t, e) { + var r = e[0], + n = e[1], + i = e[2], + a = e[3], + o = c(r, n, i, a); + o > 1e-6 + ? ((t[0] = r / o), (t[1] = n / o), (t[2] = i / o), (t[3] = a / o)) + : ((t[0] = t[1] = t[2] = 0), (t[3] = 1)); + } + function f(t, e, r) { + (this.radius = n([r])), + (this.center = n(e)), + (this.rotation = n(t)), + (this.computedRadius = this.radius.curve(0)), + (this.computedCenter = this.center.curve(0)), + (this.computedRotation = this.rotation.curve(0)), + (this.computedUp = [0.1, 0, 0]), + (this.computedEye = [0.1, 0, 0]), + (this.computedMatrix = [ + 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + ]), + this.recalcMatrix(0); + } + var h = f.prototype; + (h.lastT = function () { + return Math.max( + this.radius.lastT(), + this.center.lastT(), + this.rotation.lastT() + ); + }), + (h.recalcMatrix = function (t) { + this.radius.curve(t), + this.center.curve(t), + this.rotation.curve(t); + var e = this.computedRotation; + u(e, e); + var r = this.computedMatrix; + a(r, e); + var n = this.computedCenter, + i = this.computedEye, + o = this.computedUp, + s = Math.exp(this.computedRadius[0]); + (i[0] = n[0] + s * r[2]), + (i[1] = n[1] + s * r[6]), + (i[2] = n[2] + s * r[10]), + (o[0] = r[1]), + (o[1] = r[5]), + (o[2] = r[9]); + for (var l = 0; l < 3; ++l) { + for (var c = 0, f = 0; f < 3; ++f) c += r[l + 4 * f] * i[f]; + r[12 + l] = -c; + } + }), + (h.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) e[n] = r[n]; + return e; + } + return r; + }), + (h.idle = function (t) { + this.center.idle(t), this.radius.idle(t), this.rotation.idle(t); + }), + (h.flush = function (t) { + this.center.flush(t), + this.radius.flush(t), + this.rotation.flush(t); + }), + (h.pan = function (t, e, r, n) { + (e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t); + var i = this.computedMatrix, + a = i[1], + o = i[5], + s = i[9], + c = l(a, o, s); + (a /= c), (o /= c), (s /= c); + var u = i[0], + f = i[4], + h = i[8], + p = u * a + f * o + h * s, + d = l((u -= a * p), (f -= o * p), (h -= s * p)); + (u /= d), (f /= d), (h /= d); + var g = i[2], + m = i[6], + v = i[10], + y = g * a + m * o + v * s, + x = g * u + m * f + v * h, + b = l( + (g -= y * a + x * u), + (m -= y * o + x * f), + (v -= y * s + x * h) + ); + (g /= b), (m /= b), (v /= b); + var _ = u * e + a * r, + w = f * e + o * r, + T = h * e + s * r; + this.center.move(t, _, w, T); + var k = Math.exp(this.computedRadius[0]); + (k = Math.max(1e-4, k + n)), this.radius.set(t, Math.log(k)); + }), + (h.rotate = function (t, e, r, n) { + this.recalcMatrix(t), (e = e || 0), (r = r || 0); + var i = this.computedMatrix, + a = i[0], + o = i[4], + s = i[8], + u = i[1], + f = i[5], + h = i[9], + p = i[2], + d = i[6], + g = i[10], + m = e * a + r * u, + v = e * o + r * f, + y = e * s + r * h, + x = -(d * y - g * v), + b = -(g * m - p * y), + _ = -(p * v - d * m), + w = Math.sqrt( + Math.max( + 0, + 1 - Math.pow(x, 2) - Math.pow(b, 2) - Math.pow(_, 2) + ) + ), + T = c(x, b, _, w); + T > 1e-6 + ? ((x /= T), (b /= T), (_ /= T), (w /= T)) + : ((x = b = _ = 0), (w = 1)); + var k = this.computedRotation, + M = k[0], + A = k[1], + S = k[2], + E = k[3], + C = M * w + E * x + A * _ - S * b, + L = A * w + E * b + S * x - M * _, + I = S * w + E * _ + M * b - A * x, + P = E * w - M * x - A * b - S * _; + if (n) { + (x = p), (b = d), (_ = g); + var z = Math.sin(n) / l(x, b, _); + (x *= z), + (b *= z), + (_ *= z), + (P = + P * (w = Math.cos(e)) - + (C = C * w + P * x + L * _ - I * b) * x - + (L = L * w + P * b + I * x - C * _) * b - + (I = I * w + P * _ + C * b - L * x) * _); + } + var O = c(C, L, I, P); + O > 1e-6 + ? ((C /= O), (L /= O), (I /= O), (P /= O)) + : ((C = L = I = 0), (P = 1)), + this.rotation.set(t, C, L, I, P); + }), + (h.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (r = r || this.computedCenter), + (e = e || this.computedEye), + (n = n || this.computedUp); + var a = this.computedMatrix; + i(a, e, r, n); + var o = this.computedRotation; + s(o, a[0], a[1], a[2], a[4], a[5], a[6], a[8], a[9], a[10]), + u(o, o), + this.rotation.set(t, o[0], o[1], o[2], o[3]); + for (var l = 0, c = 0; c < 3; ++c) l += Math.pow(r[c] - e[c], 2); + this.radius.set(t, 0.5 * Math.log(Math.max(l, 1e-6))), + this.center.set(t, r[0], r[1], r[2]); + }), + (h.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (h.setMatrix = function (t, e) { + var r = this.computedRotation; + s(r, e[0], e[1], e[2], e[4], e[5], e[6], e[8], e[9], e[10]), + u(r, r), + this.rotation.set(t, r[0], r[1], r[2], r[3]); + var n = this.computedMatrix; + o(n, e); + var i = n[15]; + if (Math.abs(i) > 1e-6) { + var a = n[12] / i, + l = n[13] / i, + c = n[14] / i; + this.recalcMatrix(t); + var f = Math.exp(this.computedRadius[0]); + this.center.set(t, a - n[2] * f, l - n[6] * f, c - n[10] * f), + this.radius.idle(t); + } else this.center.idle(t), this.radius.idle(t); + }), + (h.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (h.setDistanceLimits = function (t, e) { + (t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e); + }), + (h.getDistanceLimits = function (t) { + var e = this.radius.bounds; + return t + ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) + : [Math.exp(e[0][0]), Math.exp(e[1][0])]; + }), + (h.toJSON = function () { + return ( + this.recalcMatrix(this.lastT()), + { + center: this.computedCenter.slice(), + rotation: this.computedRotation.slice(), + distance: Math.log(this.computedRadius[0]), + zoomMin: this.radius.bounds[0][0], + zoomMax: this.radius.bounds[1][0], + } + ); + }), + (h.fromJSON = function (t) { + var e = this.lastT(), + r = t.center; + r && this.center.set(e, r[0], r[1], r[2]); + var n = t.rotation; + n && this.rotation.set(e, n[0], n[1], n[2], n[3]); + var i = t.distance; + i && i > 0 && this.radius.set(e, Math.log(i)), + this.setDistanceLimits(t.zoomMin, t.zoomMax); + }); + }, + { + './lib/quatFromFrame': 500, + 'filtered-vector': 242, + 'gl-mat4/fromQuat': 282, + 'gl-mat4/invert': 293, + 'gl-mat4/lookAt': 294, + }, + ], + 502: [ + function (t, e, r) { + /*! + * pad-left + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT license. + */ + 'use strict'; + var n = t('repeat-string'); + e.exports = function (t, e, r) { + return n((r = 'undefined' != typeof r ? r + '' : ' '), e) + t; + }; + }, + { 'repeat-string': 541 }, + ], + 503: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + if ('string' != typeof t) return [t]; + var r = [t]; + 'string' == typeof e || Array.isArray(e) + ? (e = { brackets: e }) + : e || (e = {}); + var n = e.brackets + ? Array.isArray(e.brackets) + ? e.brackets + : [e.brackets] + : ['{}', '[]', '()'], + i = e.escape || '___', + a = !!e.flat; + n.forEach(function (t) { + var e = new RegExp( + ['\\', t[0], '[^\\', t[0], '\\', t[1], ']*\\', t[1]].join('') + ), + n = []; + function a(e, a, o) { + var s = r.push(e.slice(t[0].length, -t[1].length)) - 1; + return n.push(s), i + s + i; + } + r.forEach(function (t, n) { + for (var i, o = 0; t != i; ) + if (((i = t), (t = t.replace(e, a)), o++ > 1e4)) + throw Error( + 'References have circular dependency. Please, check them.' + ); + r[n] = t; + }), + (n = n.reverse()), + (r = r.map(function (e) { + return ( + n.forEach(function (r) { + e = e.replace( + new RegExp('(\\' + i + r + '\\' + i + ')', 'g'), + t[0] + '$1' + t[1] + ); + }), + e + ); + })); + }); + var o = new RegExp('\\' + i + '([0-9]+)\\' + i); + return a + ? r + : (function t(e, r, n) { + for (var i, a = [], s = 0; (i = o.exec(e)); ) { + if (s++ > 1e4) + throw Error('Circular references in parenthesis'); + a.push(e.slice(0, i.index)), + a.push(t(r[i[1]], r)), + (e = e.slice(i.index + i[0].length)); + } + return a.push(e), a; + })(r[0], r); + } + function i(t, e) { + if (e && e.flat) { + var r, + n = (e && e.escape) || '___', + i = t[0]; + if (!i) return ''; + for ( + var a = new RegExp('\\' + n + '([0-9]+)\\' + n), o = 0; + i != r; + + ) { + if (o++ > 1e4) throw Error('Circular references in ' + t); + (r = i), (i = i.replace(a, s)); + } + return i; + } + return t.reduce(function t(e, r) { + return Array.isArray(r) && (r = r.reduce(t, '')), e + r; + }, ''); + function s(e, r) { + if (null == t[r]) throw Error('Reference ' + r + 'is undefined'); + return t[r]; + } + } + function a(t, e) { + return Array.isArray(t) ? i(t, e) : n(t, e); + } + (a.parse = n), (a.stringify = i), (e.exports = a); + }, + {}, + ], + 504: [ + function (t, e, r) { + 'use strict'; + var n = t('pick-by-alias'); + e.exports = function (t) { + var e; + arguments.length > 1 && (t = arguments); + 'string' == typeof t + ? (t = t.split(/\s/).map(parseFloat)) + : 'number' == typeof t && (t = [t]); + t.length && 'number' == typeof t[0] + ? (e = + 1 === t.length + ? { width: t[0], height: t[0], x: 0, y: 0 } + : 2 === t.length + ? { width: t[0], height: t[1], x: 0, y: 0 } + : { + x: t[0], + y: t[1], + width: t[2] - t[0] || 0, + height: t[3] - t[1] || 0, + }) + : t && + ((t = n(t, { + left: 'x l left Left', + top: 'y t top Top', + width: 'w width W Width', + height: 'h height W Width', + bottom: 'b bottom Bottom', + right: 'r right Right', + })), + (e = { x: t.left || 0, y: t.top || 0 }), + null == t.width + ? t.right + ? (e.width = t.right - e.x) + : (e.width = 0) + : (e.width = t.width), + null == t.height + ? t.bottom + ? (e.height = t.bottom - e.y) + : (e.height = 0) + : (e.height = t.height)); + return e; + }; + }, + { 'pick-by-alias': 511 }, + ], + 505: [ + function (t, e, r) { + e.exports = function (t) { + var e = []; + return ( + t.replace(i, function (t, r, i) { + var o = r.toLowerCase(); + for ( + i = (function (t) { + var e = t.match(a); + return e ? e.map(Number) : []; + })(i), + 'm' == o && + i.length > 2 && + (e.push([r].concat(i.splice(0, 2))), + (o = 'l'), + (r = 'm' == r ? 'l' : 'L')); + ; + + ) { + if (i.length == n[o]) return i.unshift(r), e.push(i); + if (i.length < n[o]) throw new Error('malformed path data'); + e.push([r].concat(i.splice(0, n[o]))); + } + }), + e + ); + }; + var n = { + a: 7, + c: 6, + h: 1, + l: 2, + m: 2, + q: 4, + s: 4, + t: 2, + v: 1, + z: 0, + }, + i = /([astvzqmhlc])([^astvzqmhlc]*)/gi; + var a = /-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi; + }, + {}, + ], + 506: [ + function (t, e, r) { + e.exports = function (t, e) { + e || (e = [0, '']), (t = String(t)); + var r = parseFloat(t, 10); + return ( + (e[0] = r), (e[1] = t.match(/[\d.\-\+]*\s*(.*)/)[1] || ''), e + ); + }; + }, + {}, + ], + 507: [ + function (t, e, r) { + (function (t) { + (function () { + 'use strict'; + function r(t) { + if ('string' != typeof t) + throw new TypeError( + 'Path must be a string. Received ' + JSON.stringify(t) + ); + } + function n(t, e) { + for ( + var r, n = '', i = 0, a = -1, o = 0, s = 0; + s <= t.length; + ++s + ) { + if (s < t.length) r = t.charCodeAt(s); + else { + if (47 === r) break; + r = 47; + } + if (47 === r) { + if (a === s - 1 || 1 === o); + else if (a !== s - 1 && 2 === o) { + if ( + n.length < 2 || + 2 !== i || + 46 !== n.charCodeAt(n.length - 1) || + 46 !== n.charCodeAt(n.length - 2) + ) + if (n.length > 2) { + var l = n.lastIndexOf('/'); + if (l !== n.length - 1) { + -1 === l + ? ((n = ''), (i = 0)) + : (i = + (n = n.slice(0, l)).length - + 1 - + n.lastIndexOf('/')), + (a = s), + (o = 0); + continue; + } + } else if (2 === n.length || 1 === n.length) { + (n = ''), (i = 0), (a = s), (o = 0); + continue; + } + e && (n.length > 0 ? (n += '/..') : (n = '..'), (i = 2)); + } else + n.length > 0 + ? (n += '/' + t.slice(a + 1, s)) + : (n = t.slice(a + 1, s)), + (i = s - a - 1); + (a = s), (o = 0); + } else 46 === r && -1 !== o ? ++o : (o = -1); + } + return n; + } + var i = { + resolve: function () { + for ( + var e, i = '', a = !1, o = arguments.length - 1; + o >= -1 && !a; + o-- + ) { + var s; + o >= 0 + ? (s = arguments[o]) + : (void 0 === e && (e = t.cwd()), (s = e)), + r(s), + 0 !== s.length && + ((i = s + '/' + i), (a = 47 === s.charCodeAt(0))); + } + return ( + (i = n(i, !a)), + a ? (i.length > 0 ? '/' + i : '/') : i.length > 0 ? i : '.' + ); + }, + normalize: function (t) { + if ((r(t), 0 === t.length)) return '.'; + var e = 47 === t.charCodeAt(0), + i = 47 === t.charCodeAt(t.length - 1); + return ( + 0 !== (t = n(t, !e)).length || e || (t = '.'), + t.length > 0 && i && (t += '/'), + e ? '/' + t : t + ); + }, + isAbsolute: function (t) { + return r(t), t.length > 0 && 47 === t.charCodeAt(0); + }, + join: function () { + if (0 === arguments.length) return '.'; + for (var t, e = 0; e < arguments.length; ++e) { + var n = arguments[e]; + r(n), + n.length > 0 && (void 0 === t ? (t = n) : (t += '/' + n)); + } + return void 0 === t ? '.' : i.normalize(t); + }, + relative: function (t, e) { + if ((r(t), r(e), t === e)) return ''; + if ((t = i.resolve(t)) === (e = i.resolve(e))) return ''; + for (var n = 1; n < t.length && 47 === t.charCodeAt(n); ++n); + for ( + var a = t.length, o = a - n, s = 1; + s < e.length && 47 === e.charCodeAt(s); + ++s + ); + for ( + var l = e.length - s, c = o < l ? o : l, u = -1, f = 0; + f <= c; + ++f + ) { + if (f === c) { + if (l > c) { + if (47 === e.charCodeAt(s + f)) + return e.slice(s + f + 1); + if (0 === f) return e.slice(s + f); + } else + o > c && + (47 === t.charCodeAt(n + f) + ? (u = f) + : 0 === f && (u = 0)); + break; + } + var h = t.charCodeAt(n + f); + if (h !== e.charCodeAt(s + f)) break; + 47 === h && (u = f); + } + var p = ''; + for (f = n + u + 1; f <= a; ++f) + (f !== a && 47 !== t.charCodeAt(f)) || + (0 === p.length ? (p += '..') : (p += '/..')); + return p.length > 0 + ? p + e.slice(s + u) + : ((s += u), 47 === e.charCodeAt(s) && ++s, e.slice(s)); + }, + _makeLong: function (t) { + return t; + }, + dirname: function (t) { + if ((r(t), 0 === t.length)) return '.'; + for ( + var e = t.charCodeAt(0), + n = 47 === e, + i = -1, + a = !0, + o = t.length - 1; + o >= 1; + --o + ) + if (47 === (e = t.charCodeAt(o))) { + if (!a) { + i = o; + break; + } + } else a = !1; + return -1 === i + ? n + ? '/' + : '.' + : n && 1 === i + ? '//' + : t.slice(0, i); + }, + basename: function (t, e) { + if (void 0 !== e && 'string' != typeof e) + throw new TypeError('"ext" argument must be a string'); + r(t); + var n, + i = 0, + a = -1, + o = !0; + if (void 0 !== e && e.length > 0 && e.length <= t.length) { + if (e.length === t.length && e === t) return ''; + var s = e.length - 1, + l = -1; + for (n = t.length - 1; n >= 0; --n) { + var c = t.charCodeAt(n); + if (47 === c) { + if (!o) { + i = n + 1; + break; + } + } else + -1 === l && ((o = !1), (l = n + 1)), + s >= 0 && + (c === e.charCodeAt(s) + ? -1 == --s && (a = n) + : ((s = -1), (a = l))); + } + return ( + i === a ? (a = l) : -1 === a && (a = t.length), + t.slice(i, a) + ); + } + for (n = t.length - 1; n >= 0; --n) + if (47 === t.charCodeAt(n)) { + if (!o) { + i = n + 1; + break; + } + } else -1 === a && ((o = !1), (a = n + 1)); + return -1 === a ? '' : t.slice(i, a); + }, + extname: function (t) { + r(t); + for ( + var e = -1, n = 0, i = -1, a = !0, o = 0, s = t.length - 1; + s >= 0; + --s + ) { + var l = t.charCodeAt(s); + if (47 !== l) + -1 === i && ((a = !1), (i = s + 1)), + 46 === l + ? -1 === e + ? (e = s) + : 1 !== o && (o = 1) + : -1 !== e && (o = -1); + else if (!a) { + n = s + 1; + break; + } + } + return -1 === e || + -1 === i || + 0 === o || + (1 === o && e === i - 1 && e === n + 1) + ? '' + : t.slice(e, i); + }, + format: function (t) { + if (null === t || 'object' != typeof t) + throw new TypeError( + 'The "pathObject" argument must be of type Object. Received type ' + + typeof t + ); + return (function (t, e) { + var r = e.dir || e.root, + n = e.base || (e.name || '') + (e.ext || ''); + return r ? (r === e.root ? r + n : r + t + n) : n; + })('/', t); + }, + parse: function (t) { + r(t); + var e = { root: '', dir: '', base: '', ext: '', name: '' }; + if (0 === t.length) return e; + var n, + i = t.charCodeAt(0), + a = 47 === i; + a ? ((e.root = '/'), (n = 1)) : (n = 0); + for ( + var o = -1, s = 0, l = -1, c = !0, u = t.length - 1, f = 0; + u >= n; + --u + ) + if (47 !== (i = t.charCodeAt(u))) + -1 === l && ((c = !1), (l = u + 1)), + 46 === i + ? -1 === o + ? (o = u) + : 1 !== f && (f = 1) + : -1 !== o && (f = -1); + else if (!c) { + s = u + 1; + break; + } + return ( + -1 === o || + -1 === l || + 0 === f || + (1 === f && o === l - 1 && o === s + 1) + ? -1 !== l && + (e.base = e.name = + 0 === s && a ? t.slice(1, l) : t.slice(s, l)) + : (0 === s && a + ? ((e.name = t.slice(1, o)), (e.base = t.slice(1, l))) + : ((e.name = t.slice(s, o)), + (e.base = t.slice(s, l))), + (e.ext = t.slice(o, l))), + s > 0 ? (e.dir = t.slice(0, s - 1)) : a && (e.dir = '/'), + e + ); + }, + sep: '/', + delimiter: ':', + win32: null, + posix: null, + }; + (i.posix = i), (e.exports = i); + }.call(this)); + }.call(this, t('_process'))); + }, + { _process: 526 }, + ], + 508: [ + function (t, e, r) { + (function (t) { + (function () { + (function () { + var r, n, i, a, o, s; + 'undefined' != typeof performance && + null !== performance && + performance.now + ? (e.exports = function () { + return performance.now(); + }) + : 'undefined' != typeof t && null !== t && t.hrtime + ? ((e.exports = function () { + return (r() - o) / 1e6; + }), + (n = t.hrtime), + (a = (r = function () { + var t; + return 1e9 * (t = n())[0] + t[1]; + })()), + (s = 1e9 * t.uptime()), + (o = a - s)) + : Date.now + ? ((e.exports = function () { + return Date.now() - i; + }), + (i = Date.now())) + : ((e.exports = function () { + return new Date().getTime() - i; + }), + (i = new Date().getTime())); + }.call(this)); + }.call(this)); + }.call(this, t('_process'))); + }, + { _process: 526 }, + ], + 509: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.length; + if (e < 32) { + for (var r = 1, i = 0; i < e; ++i) + for (var a = 0; a < i; ++a) + if (t[i] < t[a]) r = -r; + else if (t[i] === t[a]) return 0; + return r; + } + var o = n.mallocUint8(e); + for (i = 0; i < e; ++i) o[i] = 0; + for (r = 1, i = 0; i < e; ++i) + if (!o[i]) { + var s = 1; + o[i] = 1; + for (a = t[i]; a !== i; a = t[a]) { + if (o[a]) return n.freeUint8(o), 0; + (s += 1), (o[a] = 1); + } + 1 & s || (r = -r); + } + return n.freeUint8(o), r; + }; + var n = t('typedarray-pool'); + }, + { 'typedarray-pool': 595 }, + ], + 510: [ + function (t, e, r) { + 'use strict'; + var n = t('typedarray-pool'), + i = t('invert-permutation'); + (r.rank = function (t) { + var e = t.length; + switch (e) { + case 0: + case 1: + return 0; + case 2: + return t[1]; + } + var r, + a, + o, + s = n.mallocUint32(e), + l = n.mallocUint32(e), + c = 0; + for (i(t, l), o = 0; o < e; ++o) s[o] = t[o]; + for (o = e - 1; o > 0; --o) + (a = l[o]), + (r = s[o]), + (s[o] = s[a]), + (s[a] = r), + (l[o] = l[r]), + (l[r] = a), + (c = (c + r) * o); + return n.freeUint32(l), n.freeUint32(s), c; + }), + (r.unrank = function (t, e, r) { + switch (t) { + case 0: + return r || []; + case 1: + return r ? ((r[0] = 0), r) : [0]; + case 2: + return r + ? (e ? ((r[0] = 0), (r[1] = 1)) : ((r[0] = 1), (r[1] = 0)), + r) + : e + ? [0, 1] + : [1, 0]; + } + var n, + i, + a, + o = 1; + for ((r = r || new Array(t))[0] = 0, a = 1; a < t; ++a) + (r[a] = a), (o = (o * a) | 0); + for (a = t - 1; a > 0; --a) + (e = (e - (n = (e / o) | 0) * o) | 0), + (o = (o / a) | 0), + (i = 0 | r[a]), + (r[a] = 0 | r[n]), + (r[n] = 0 | i); + return r; + }); + }, + { 'invert-permutation': 462, 'typedarray-pool': 595 }, + ], + 511: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var n, + a, + o = {}; + if (('string' == typeof e && (e = i(e)), Array.isArray(e))) { + var s = {}; + for (a = 0; a < e.length; a++) s[e[a]] = !0; + e = s; + } + for (n in e) e[n] = i(e[n]); + var l = {}; + for (n in e) { + var c = e[n]; + if (Array.isArray(c)) + for (a = 0; a < c.length; a++) { + var u = c[a]; + if ((r && (l[u] = !0), u in t)) { + if (((o[n] = t[u]), r)) + for (var f = a; f < c.length; f++) l[c[f]] = !0; + break; + } + } + else n in t && (e[n] && (o[n] = t[n]), r && (l[n] = !0)); + } + if (r) for (n in t) l[n] || (o[n] = t[n]); + return o; + }; + var n = {}; + function i(t) { + return n[t] + ? n[t] + : ('string' == typeof t && (t = n[t] = t.split(/\s*,\s*|\s+/)), + t); + } + }, + {}, + ], + 512: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for ( + var r = 0 | e.length, + i = t.length, + a = [new Array(r), new Array(r)], + o = 0; + o < r; + ++o + ) + (a[0][o] = []), (a[1][o] = []); + for (o = 0; o < i; ++o) { + var s = t[o]; + a[0][s[0]].push(s), a[1][s[1]].push(s); + } + var l = []; + for (o = 0; o < r; ++o) + a[0][o].length + a[1][o].length === 0 && l.push([o]); + function c(t, e) { + var r = a[e][t[e]]; + r.splice(r.indexOf(t), 1); + } + function u(t, r, i) { + for (var o, s, l, u = 0; u < 2; ++u) + if (a[u][r].length > 0) { + (o = a[u][r][0]), (l = u); + break; + } + s = o[1 ^ l]; + for (var f = 0; f < 2; ++f) + for (var h = a[f][r], p = 0; p < h.length; ++p) { + var d = h[p], + g = d[1 ^ f]; + n(e[t], e[r], e[s], e[g]) > 0 && ((o = d), (s = g), (l = f)); + } + return i || (o && c(o, l)), s; + } + function f(t, r) { + var i = a[r][t][0], + o = [t]; + c(i, r); + for (var s = i[1 ^ r]; ; ) { + for (; s !== t; ) o.push(s), (s = u(o[o.length - 2], s, !1)); + if (a[0][t].length + a[1][t].length === 0) break; + var l = o[o.length - 1], + f = t, + h = o[1], + p = u(l, f, !0); + if (n(e[l], e[f], e[h], e[p]) < 0) break; + o.push(t), (s = u(l, f)); + } + return o; + } + function h(t, e) { + return e[1] === e[e.length - 1]; + } + for (o = 0; o < r; ++o) + for (var p = 0; p < 2; ++p) { + for (var d = []; a[p][o].length > 0; ) { + a[0][o].length; + var g = f(o, p); + h(0, g) + ? d.push.apply(d, g) + : (d.length > 0 && l.push(d), (d = g)); + } + d.length > 0 && l.push(d); + } + return l; + }; + var n = t('compare-angle'); + }, + { 'compare-angle': 132 }, + ], + 513: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for ( + var r = n(t, e.length), + i = new Array(e.length), + a = new Array(e.length), + o = [], + s = 0; + s < e.length; + ++s + ) { + var l = r[s].length; + (a[s] = l), (i[s] = !0), l <= 1 && o.push(s); + } + for (; o.length > 0; ) { + var c = o.pop(); + i[c] = !1; + var u = r[c]; + for (s = 0; s < u.length; ++s) { + var f = u[s]; + 0 == --a[f] && o.push(f); + } + } + var h = new Array(e.length), + p = []; + for (s = 0; s < e.length; ++s) + if (i[s]) { + c = p.length; + (h[s] = c), p.push(e[s]); + } else h[s] = -1; + var d = []; + for (s = 0; s < t.length; ++s) { + var g = t[s]; + i[g[0]] && i[g[1]] && d.push([h[g[0]], h[g[1]]]); + } + return [d, p]; + }; + var n = t('edges-to-adjacency-list'); + }, + { 'edges-to-adjacency-list': 178 }, + ], + 514: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = c(t, e); + t = r[0]; + for ( + var f = (e = r[1]).length, h = (t.length, n(t, e.length)), p = 0; + p < f; + ++p + ) + if (h[p].length % 2 == 1) + throw new Error( + 'planar-graph-to-polyline: graph must be manifold' + ); + var d = i(t, e); + var g = (d = d.filter(function (t) { + for (var r = t.length, n = [0], i = 0; i < r; ++i) { + var a = e[t[i]], + l = e[t[(i + 1) % r]], + c = o(-a[0], a[1]), + u = o(-a[0], l[1]), + f = o(l[0], a[1]), + h = o(l[0], l[1]); + n = s(n, s(s(c, u), s(f, h))); + } + return n[n.length - 1] > 0; + })).length, + m = new Array(g), + v = new Array(g); + for (p = 0; p < g; ++p) { + m[p] = p; + var y = new Array(g), + x = d[p].map(function (t) { + return e[t]; + }), + b = a([x]), + _ = 0; + t: for (var w = 0; w < g; ++w) + if (((y[w] = 0), p !== w)) { + for (var T = (q = d[w]).length, k = 0; k < T; ++k) { + var M = b(e[q[k]]); + if (0 !== M) { + M < 0 && ((y[w] = 1), (_ += 1)); + continue t; + } + } + (y[w] = 1), (_ += 1); + } + v[p] = [_, p, y]; + } + v.sort(function (t, e) { + return e[0] - t[0]; + }); + for (p = 0; p < g; ++p) { + var A = (y = v[p])[1], + S = y[2]; + for (w = 0; w < g; ++w) S[w] && (m[w] = A); + } + var E = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) e[r] = []; + return e; + })(g); + for (p = 0; p < g; ++p) E[p].push(m[p]), E[m[p]].push(p); + var C = {}, + L = u(f, !1); + for (p = 0; p < g; ++p) + for (T = (q = d[p]).length, w = 0; w < T; ++w) { + var I = q[w], + P = q[(w + 1) % T], + z = Math.min(I, P) + ':' + Math.max(I, P); + if (z in C) { + var O = C[z]; + E[O].push(p), E[p].push(O), (L[I] = L[P] = !0); + } else C[z] = p; + } + function D(t) { + for (var e = t.length, r = 0; r < e; ++r) if (!L[t[r]]) return !1; + return !0; + } + var R = [], + F = u(g, -1); + for (p = 0; p < g; ++p) + m[p] !== p || D(d[p]) ? (F[p] = -1) : (R.push(p), (F[p] = 0)); + r = []; + for (; R.length > 0; ) { + var B = R.pop(), + N = E[B]; + l(N, function (t, e) { + return t - e; + }); + var j, + U = N.length, + V = F[B]; + if (0 === V) { + var q = d[B]; + j = [q]; + } + for (p = 0; p < U; ++p) { + var H = N[p]; + if (!(F[H] >= 0)) + if (((F[H] = 1 ^ V), R.push(H), 0 === V)) + D((q = d[H])) || (q.reverse(), j.push(q)); + } + 0 === V && r.push(j); + } + return r; + }; + var n = t('edges-to-adjacency-list'), + i = t('planar-dual'), + a = t('point-in-big-polygon'), + o = t('two-product'), + s = t('robust-sum'), + l = t('uniq'), + c = t('./lib/trim-leaves'); + function u(t, e) { + for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e; + return r; + } + }, + { + './lib/trim-leaves': 513, + 'edges-to-adjacency-list': 178, + 'planar-dual': 512, + 'point-in-big-polygon': 516, + 'robust-sum': 553, + 'two-product': 582, + uniq: 597, + }, + ], + 515: [ + function (t, e, r) { + arguments[4][243][0].apply(r, arguments); + }, + { dup: 243 }, + ], + 516: [ + function (t, e, r) { + e.exports = function (t) { + for (var e = t.length, r = [], a = [], s = 0; s < e; ++s) + for ( + var u = t[s], f = u.length, h = f - 1, p = 0; + p < f; + h = p++ + ) { + var d = u[h], + g = u[p]; + d[0] === g[0] ? a.push([d, g]) : r.push([d, g]); + } + if (0 === r.length) + return 0 === a.length + ? c + : ((m = l(a)), + function (t) { + return m(t[0], t[1]) ? 0 : 1; + }); + var m; + var v = i(r), + y = (function (t, e) { + return function (r) { + var i = o.le(e, r[0]); + if (i < 0) return 1; + var a = t[i]; + if (!a) { + if (!(i > 0 && e[i] === r[0])) return 1; + a = t[i - 1]; + } + for (var s = 1; a; ) { + var l = a.key, + c = n(r, l[0], l[1]); + if (l[0][0] < l[1][0]) + if (c < 0) a = a.left; + else { + if (!(c > 0)) return 0; + (s = -1), (a = a.right); + } + else if (c > 0) a = a.left; + else { + if (!(c < 0)) return 0; + (s = 1), (a = a.right); + } + } + return s; + }; + })(v.slabs, v.coordinates); + return 0 === a.length + ? y + : (function (t, e) { + return function (r) { + return t(r[0], r[1]) ? 0 : e(r); + }; + })(l(a), y); + }; + var n = t('robust-orientation')[3], + i = t('slab-decomposition'), + a = t('interval-tree-1d'), + o = t('binary-search-bounds'); + function s() { + return !0; + } + function l(t) { + for (var e = {}, r = 0; r < t.length; ++r) { + var n = t[r], + i = n[0][0], + o = n[0][1], + l = n[1][1], + c = [Math.min(o, l), Math.max(o, l)]; + i in e ? e[i].push(c) : (e[i] = [c]); + } + var u = {}, + f = Object.keys(e); + for (r = 0; r < f.length; ++r) { + var h = e[f[r]]; + u[f[r]] = a(h); + } + return (function (t) { + return function (e, r) { + var n = t[e]; + return !!n && !!n.queryPoint(r, s); + }; + })(u); + } + function c(t) { + return 1; + } + }, + { + 'binary-search-bounds': 515, + 'interval-tree-1d': 460, + 'robust-orientation': 548, + 'slab-decomposition': 565, + }, + ], + 517: [ + function (t, e, r) { + /* + * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc + * @license MIT + * @preserve Project Home: https://github.com/voidqk/polybooljs + */ + var n, + i = t('./lib/build-log'), + a = t('./lib/epsilon'), + o = t('./lib/intersecter'), + s = t('./lib/segment-chainer'), + l = t('./lib/segment-selector'), + c = t('./lib/geojson'), + u = !1, + f = a(); + function h(t, e, r) { + var i = n.segments(t), + a = n.segments(e), + o = r(n.combine(i, a)); + return n.polygon(o); + } + (n = { + buildLog: function (t) { + return ( + !0 === t ? (u = i()) : !1 === t && (u = !1), !1 !== u && u.list + ); + }, + epsilon: function (t) { + return f.epsilon(t); + }, + segments: function (t) { + var e = o(!0, f, u); + return ( + t.regions.forEach(e.addRegion), + { segments: e.calculate(t.inverted), inverted: t.inverted } + ); + }, + combine: function (t, e) { + return { + combined: o(!1, f, u).calculate( + t.segments, + t.inverted, + e.segments, + e.inverted + ), + inverted1: t.inverted, + inverted2: e.inverted, + }; + }, + selectUnion: function (t) { + return { + segments: l.union(t.combined, u), + inverted: t.inverted1 || t.inverted2, + }; + }, + selectIntersect: function (t) { + return { + segments: l.intersect(t.combined, u), + inverted: t.inverted1 && t.inverted2, + }; + }, + selectDifference: function (t) { + return { + segments: l.difference(t.combined, u), + inverted: t.inverted1 && !t.inverted2, + }; + }, + selectDifferenceRev: function (t) { + return { + segments: l.differenceRev(t.combined, u), + inverted: !t.inverted1 && t.inverted2, + }; + }, + selectXor: function (t) { + return { + segments: l.xor(t.combined, u), + inverted: t.inverted1 !== t.inverted2, + }; + }, + polygon: function (t) { + return { regions: s(t.segments, f, u), inverted: t.inverted }; + }, + polygonFromGeoJSON: function (t) { + return c.toPolygon(n, t); + }, + polygonToGeoJSON: function (t) { + return c.fromPolygon(n, f, t); + }, + union: function (t, e) { + return h(t, e, n.selectUnion); + }, + intersect: function (t, e) { + return h(t, e, n.selectIntersect); + }, + difference: function (t, e) { + return h(t, e, n.selectDifference); + }, + differenceRev: function (t, e) { + return h(t, e, n.selectDifferenceRev); + }, + xor: function (t, e) { + return h(t, e, n.selectXor); + }, + }), + 'object' == typeof window && (window.PolyBool = n), + (e.exports = n); + }, + { + './lib/build-log': 518, + './lib/epsilon': 519, + './lib/geojson': 520, + './lib/intersecter': 521, + './lib/segment-chainer': 523, + './lib/segment-selector': 524, + }, + ], + 518: [ + function (t, e, r) { + e.exports = function () { + var t, + e = 0, + r = !1; + function n(e, r) { + return ( + t.list.push({ + type: e, + data: r ? JSON.parse(JSON.stringify(r)) : void 0, + }), + t + ); + } + return (t = { + list: [], + segmentId: function () { + return e++; + }, + checkIntersection: function (t, e) { + return n('check', { seg1: t, seg2: e }); + }, + segmentChop: function (t, e) { + return ( + n('div_seg', { seg: t, pt: e }), n('chop', { seg: t, pt: e }) + ); + }, + statusRemove: function (t) { + return n('pop_seg', { seg: t }); + }, + segmentUpdate: function (t) { + return n('seg_update', { seg: t }); + }, + segmentNew: function (t, e) { + return n('new_seg', { seg: t, primary: e }); + }, + segmentRemove: function (t) { + return n('rem_seg', { seg: t }); + }, + tempStatus: function (t, e, r) { + return n('temp_status', { seg: t, above: e, below: r }); + }, + rewind: function (t) { + return n('rewind', { seg: t }); + }, + status: function (t, e, r) { + return n('status', { seg: t, above: e, below: r }); + }, + vert: function (e) { + return e === r ? t : ((r = e), n('vert', { x: e })); + }, + log: function (t) { + return ( + 'string' != typeof t && (t = JSON.stringify(t, !1, ' ')), + n('log', { txt: t }) + ); + }, + reset: function () { + return n('reset'); + }, + selected: function (t) { + return n('selected', { segs: t }); + }, + chainStart: function (t) { + return n('chain_start', { seg: t }); + }, + chainRemoveHead: function (t, e) { + return n('chain_rem_head', { index: t, pt: e }); + }, + chainRemoveTail: function (t, e) { + return n('chain_rem_tail', { index: t, pt: e }); + }, + chainNew: function (t, e) { + return n('chain_new', { pt1: t, pt2: e }); + }, + chainMatch: function (t) { + return n('chain_match', { index: t }); + }, + chainClose: function (t) { + return n('chain_close', { index: t }); + }, + chainAddHead: function (t, e) { + return n('chain_add_head', { index: t, pt: e }); + }, + chainAddTail: function (t, e) { + return n('chain_add_tail', { index: t, pt: e }); + }, + chainConnect: function (t, e) { + return n('chain_con', { index1: t, index2: e }); + }, + chainReverse: function (t) { + return n('chain_rev', { index: t }); + }, + chainJoin: function (t, e) { + return n('chain_join', { index1: t, index2: e }); + }, + done: function () { + return n('done'); + }, + }); + }; + }, + {}, + ], + 519: [ + function (t, e, r) { + e.exports = function (t) { + 'number' != typeof t && (t = 1e-10); + var e = { + epsilon: function (e) { + return 'number' == typeof e && (t = e), t; + }, + pointAboveOrOnLine: function (e, r, n) { + var i = r[0], + a = r[1], + o = n[0], + s = n[1], + l = e[0]; + return (o - i) * (e[1] - a) - (s - a) * (l - i) >= -t; + }, + pointBetween: function (e, r, n) { + var i = e[1] - r[1], + a = n[0] - r[0], + o = e[0] - r[0], + s = n[1] - r[1], + l = o * a + i * s; + return !(l < t) && !(l - (a * a + s * s) > -t); + }, + pointsSameX: function (e, r) { + return Math.abs(e[0] - r[0]) < t; + }, + pointsSameY: function (e, r) { + return Math.abs(e[1] - r[1]) < t; + }, + pointsSame: function (t, r) { + return e.pointsSameX(t, r) && e.pointsSameY(t, r); + }, + pointsCompare: function (t, r) { + return e.pointsSameX(t, r) + ? e.pointsSameY(t, r) + ? 0 + : t[1] < r[1] + ? -1 + : 1 + : t[0] < r[0] + ? -1 + : 1; + }, + pointsCollinear: function (e, r, n) { + var i = e[0] - r[0], + a = e[1] - r[1], + o = r[0] - n[0], + s = r[1] - n[1]; + return Math.abs(i * s - o * a) < t; + }, + linesIntersect: function (e, r, n, i) { + var a = r[0] - e[0], + o = r[1] - e[1], + s = i[0] - n[0], + l = i[1] - n[1], + c = a * l - o * s; + if (Math.abs(c) < t) return !1; + var u = e[0] - n[0], + f = e[1] - n[1], + h = (s * f - l * u) / c, + p = (a * f - o * u) / c, + d = { + alongA: 0, + alongB: 0, + pt: [e[0] + h * a, e[1] + h * o], + }; + return ( + (d.alongA = + h <= -t + ? -2 + : h < t + ? -1 + : h - 1 <= -t + ? 0 + : h - 1 < t + ? 1 + : 2), + (d.alongB = + p <= -t + ? -2 + : p < t + ? -1 + : p - 1 <= -t + ? 0 + : p - 1 < t + ? 1 + : 2), + d + ); + }, + pointInsideRegion: function (e, r) { + for ( + var n = e[0], + i = e[1], + a = r[r.length - 1][0], + o = r[r.length - 1][1], + s = !1, + l = 0; + l < r.length; + l++ + ) { + var c = r[l][0], + u = r[l][1]; + u - i > t != o - i > t && + ((a - c) * (i - u)) / (o - u) + c - n > t && + (s = !s), + (a = c), + (o = u); + } + return s; + }, + }; + return e; + }; + }, + {}, + ], + 520: [ + function (t, e, r) { + var n = { + toPolygon: function (t, e) { + function r(e) { + if (e.length <= 0) + return t.segments({ inverted: !1, regions: [] }); + function r(e) { + var r = e.slice(0, e.length - 1); + return t.segments({ inverted: !1, regions: [r] }); + } + for (var n = r(e[0]), i = 1; i < e.length; i++) + n = t.selectDifference(t.combine(n, r(e[i]))); + return n; + } + if ('Polygon' === e.type) return t.polygon(r(e.coordinates)); + if ('MultiPolygon' === e.type) { + for ( + var n = t.segments({ inverted: !1, regions: [] }), i = 0; + i < e.coordinates.length; + i++ + ) + n = t.selectUnion(t.combine(n, r(e.coordinates[i]))); + return t.polygon(n); + } + throw new Error( + 'PolyBool: Cannot convert GeoJSON object to PolyBool polygon' + ); + }, + fromPolygon: function (t, e, r) { + function n(t, r) { + return e.pointInsideRegion( + [0.5 * (t[0][0] + t[1][0]), 0.5 * (t[0][1] + t[1][1])], + r + ); + } + function i(t) { + return { region: t, children: [] }; + } + r = t.polygon(t.segments(r)); + var a = i(null); + function o(t, e) { + for (var r = 0; r < t.children.length; r++) { + if (n(e, (s = t.children[r]).region)) return void o(s, e); + } + var a = i(e); + for (r = 0; r < t.children.length; r++) { + var s; + n((s = t.children[r]).region, e) && + (a.children.push(s), t.children.splice(r, 1), r--); + } + t.children.push(a); + } + for (var s = 0; s < r.regions.length; s++) { + var l = r.regions[s]; + l.length < 3 || o(a, l); + } + function c(t, e) { + for ( + var r = 0, + n = t[t.length - 1][0], + i = t[t.length - 1][1], + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o][0], + l = t[o][1]; + a.push([s, l]), (r += l * n - s * i), (n = s), (i = l); + } + return ( + r < 0 !== e && a.reverse(), a.push([a[0][0], a[0][1]]), a + ); + } + var u = []; + function f(t) { + var e = [c(t.region, !1)]; + u.push(e); + for (var r = 0; r < t.children.length; r++) + e.push(h(t.children[r])); + } + function h(t) { + for (var e = 0; e < t.children.length; e++) f(t.children[e]); + return c(t.region, !0); + } + for (s = 0; s < a.children.length; s++) f(a.children[s]); + return u.length <= 0 + ? { type: 'Polygon', coordinates: [] } + : 1 == u.length + ? { type: 'Polygon', coordinates: u[0] } + : { type: 'MultiPolygon', coordinates: u }; + }, + }; + e.exports = n; + }, + {}, + ], + 521: [ + function (t, e, r) { + var n = t('./linked-list'); + e.exports = function (t, e, r) { + function i(t, e, n) { + return { + id: r ? r.segmentId() : -1, + start: t, + end: e, + myFill: { above: n.myFill.above, below: n.myFill.below }, + otherFill: null, + }; + } + var a = n.create(); + function o(t, r) { + a.insertBefore(t, function (n) { + return ( + (function (t, r, n, i, a, o) { + var s = e.pointsCompare(r, a); + return 0 !== s + ? s + : e.pointsSame(n, o) + ? 0 + : t !== i + ? t + ? 1 + : -1 + : e.pointAboveOrOnLine(n, i ? a : o, i ? o : a) + ? 1 + : -1; + })(t.isStart, t.pt, r, n.isStart, n.pt, n.other.pt) < 0 + ); + }); + } + function s(t, e) { + var r = (function (t, e) { + var r = n.node({ + isStart: !0, + pt: t.start, + seg: t, + primary: e, + other: null, + status: null, + }); + return o(r, t.end), r; + })(t, e); + return ( + (function (t, e, r) { + var i = n.node({ + isStart: !1, + pt: e.end, + seg: e, + primary: r, + other: t, + status: null, + }); + (t.other = i), o(i, t.pt); + })(r, t, e), + r + ); + } + function l(t, e) { + var n = i(e, t.seg.end, t.seg); + return ( + (function (t, e) { + r && r.segmentChop(t.seg, e), + t.other.remove(), + (t.seg.end = e), + (t.other.pt = e), + o(t.other, t.pt); + })(t, e), + s(n, t.primary) + ); + } + function c(i, o) { + var s = n.create(); + function c(t) { + return s.findTransition(function (r) { + var n, i, a, o, s, l; + return ( + ((n = t), + (i = r.ev), + (a = n.seg.start), + (o = n.seg.end), + (s = i.seg.start), + (l = i.seg.end), + e.pointsCollinear(a, s, l) + ? e.pointsCollinear(o, s, l) || + e.pointAboveOrOnLine(o, s, l) + ? 1 + : -1 + : e.pointAboveOrOnLine(a, s, l) + ? 1 + : -1) > 0 + ); + }); + } + function u(t, n) { + var i = t.seg, + a = n.seg, + o = i.start, + s = i.end, + c = a.start, + u = a.end; + r && r.checkIntersection(i, a); + var f = e.linesIntersect(o, s, c, u); + if (!1 === f) { + if (!e.pointsCollinear(o, s, c)) return !1; + if (e.pointsSame(o, u) || e.pointsSame(s, c)) return !1; + var h = e.pointsSame(o, c), + p = e.pointsSame(s, u); + if (h && p) return n; + var d = !h && e.pointBetween(o, c, u), + g = !p && e.pointBetween(s, c, u); + if (h) return g ? l(n, s) : l(t, u), n; + d && (p || (g ? l(n, s) : l(t, u)), l(n, o)); + } else + 0 === f.alongA && + (-1 === f.alongB + ? l(t, c) + : 0 === f.alongB + ? l(t, f.pt) + : 1 === f.alongB && l(t, u)), + 0 === f.alongB && + (-1 === f.alongA + ? l(n, o) + : 0 === f.alongA + ? l(n, f.pt) + : 1 === f.alongA && l(n, s)); + return !1; + } + for (var f = []; !a.isEmpty(); ) { + var h = a.getHead(); + if ((r && r.vert(h.pt[0]), h.isStart)) { + r && r.segmentNew(h.seg, h.primary); + var p = c(h), + d = p.before ? p.before.ev : null, + g = p.after ? p.after.ev : null; + function m() { + if (d) { + var t = u(h, d); + if (t) return t; + } + return !!g && u(h, g); + } + r && r.tempStatus(h.seg, !!d && d.seg, !!g && g.seg); + var v, + y = m(); + if (y) { + var x; + if (t) + (x = + null === h.seg.myFill.below || + h.seg.myFill.above !== h.seg.myFill.below) && + (y.seg.myFill.above = !y.seg.myFill.above); + else y.seg.otherFill = h.seg.myFill; + r && r.segmentUpdate(y.seg), h.other.remove(), h.remove(); + } + if (a.getHead() !== h) { + r && r.rewind(h.seg); + continue; + } + if (t) + (x = + null === h.seg.myFill.below || + h.seg.myFill.above !== h.seg.myFill.below), + (h.seg.myFill.below = g ? g.seg.myFill.above : i), + (h.seg.myFill.above = x + ? !h.seg.myFill.below + : h.seg.myFill.below); + else if (null === h.seg.otherFill) + (v = g + ? h.primary === g.primary + ? g.seg.otherFill.above + : g.seg.myFill.above + : h.primary + ? o + : i), + (h.seg.otherFill = { above: v, below: v }); + r && r.status(h.seg, !!d && d.seg, !!g && g.seg), + (h.other.status = p.insert(n.node({ ev: h }))); + } else { + var b = h.status; + if (null === b) + throw new Error( + 'PolyBool: Zero-length segment detected; your epsilon is probably too small or too large' + ); + if ( + (s.exists(b.prev) && + s.exists(b.next) && + u(b.prev.ev, b.next.ev), + r && r.statusRemove(b.ev.seg), + b.remove(), + !h.primary) + ) { + var _ = h.seg.myFill; + (h.seg.myFill = h.seg.otherFill), (h.seg.otherFill = _); + } + f.push(h.seg); + } + a.getHead().remove(); + } + return r && r.done(), f; + } + return t + ? { + addRegion: function (t) { + for ( + var n, i, a, o = t[t.length - 1], l = 0; + l < t.length; + l++ + ) { + (n = o), (o = t[l]); + var c = e.pointsCompare(n, o); + 0 !== c && + s( + ((i = c < 0 ? n : o), + (a = c < 0 ? o : n), + { + id: r ? r.segmentId() : -1, + start: i, + end: a, + myFill: { above: null, below: null }, + otherFill: null, + }), + !0 + ); + } + }, + calculate: function (t) { + return c(t, !1); + }, + } + : { + calculate: function (t, e, r, n) { + return ( + t.forEach(function (t) { + s(i(t.start, t.end, t), !0); + }), + r.forEach(function (t) { + s(i(t.start, t.end, t), !1); + }), + c(e, n) + ); + }, + }; + }; + }, + { './linked-list': 522 }, + ], + 522: [ + function (t, e, r) { + e.exports = { + create: function () { + var t = { + root: { root: !0, next: null }, + exists: function (e) { + return null !== e && e !== t.root; + }, + isEmpty: function () { + return null === t.root.next; + }, + getHead: function () { + return t.root.next; + }, + insertBefore: function (e, r) { + for (var n = t.root, i = t.root.next; null !== i; ) { + if (r(i)) + return ( + (e.prev = i.prev), + (e.next = i), + (i.prev.next = e), + void (i.prev = e) + ); + (n = i), (i = i.next); + } + (n.next = e), (e.prev = n), (e.next = null); + }, + findTransition: function (e) { + for (var r = t.root, n = t.root.next; null !== n && !e(n); ) + (r = n), (n = n.next); + return { + before: r === t.root ? null : r, + after: n, + insert: function (t) { + return ( + (t.prev = r), + (t.next = n), + (r.next = t), + null !== n && (n.prev = t), + t + ); + }, + }; + }, + }; + return t; + }, + node: function (t) { + return ( + (t.prev = null), + (t.next = null), + (t.remove = function () { + (t.prev.next = t.next), + t.next && (t.next.prev = t.prev), + (t.prev = null), + (t.next = null); + }), + t + ); + }, + }; + }, + {}, + ], + 523: [ + function (t, e, r) { + e.exports = function (t, e, r) { + var n = [], + i = []; + return ( + t.forEach(function (t) { + var a = t.start, + o = t.end; + if (e.pointsSame(a, o)) + console.warn( + 'PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large' + ); + else { + r && r.chainStart(t); + for ( + var s = { index: 0, matches_head: !1, matches_pt1: !1 }, + l = { index: 0, matches_head: !1, matches_pt1: !1 }, + c = s, + u = 0; + u < n.length; + u++ + ) { + var f = (m = n[u])[0], + h = (m[1], m[m.length - 1]); + m[m.length - 2]; + if (e.pointsSame(f, a)) { + if (k(u, !0, !0)) break; + } else if (e.pointsSame(f, o)) { + if (k(u, !0, !1)) break; + } else if (e.pointsSame(h, a)) { + if (k(u, !1, !0)) break; + } else if (e.pointsSame(h, o) && k(u, !1, !1)) break; + } + if (c === s) + return n.push([a, o]), void (r && r.chainNew(a, o)); + if (c === l) { + r && r.chainMatch(s.index); + var p = s.index, + d = s.matches_pt1 ? o : a, + g = s.matches_head, + m = n[p], + v = g ? m[0] : m[m.length - 1], + y = g ? m[1] : m[m.length - 2], + x = g ? m[m.length - 1] : m[0], + b = g ? m[m.length - 2] : m[1]; + return ( + e.pointsCollinear(y, v, d) && + (g + ? (r && r.chainRemoveHead(s.index, d), m.shift()) + : (r && r.chainRemoveTail(s.index, d), m.pop()), + (v = y)), + e.pointsSame(x, d) + ? (n.splice(p, 1), + e.pointsCollinear(b, x, v) && + (g + ? (r && r.chainRemoveTail(s.index, v), m.pop()) + : (r && r.chainRemoveHead(s.index, v), + m.shift())), + r && r.chainClose(s.index), + void i.push(m)) + : void (g + ? (r && r.chainAddHead(s.index, d), m.unshift(d)) + : (r && r.chainAddTail(s.index, d), m.push(d))) + ); + } + var _ = s.index, + w = l.index; + r && r.chainConnect(_, w); + var T = n[_].length < n[w].length; + s.matches_head + ? l.matches_head + ? T + ? (M(_), A(_, w)) + : (M(w), A(w, _)) + : A(w, _) + : l.matches_head + ? A(_, w) + : T + ? (M(_), A(w, _)) + : (M(w), A(_, w)); + } + function k(t, e, r) { + return ( + (c.index = t), + (c.matches_head = e), + (c.matches_pt1 = r), + c === s ? ((c = l), !1) : ((c = null), !0) + ); + } + function M(t) { + r && r.chainReverse(t), n[t].reverse(); + } + function A(t, i) { + var a = n[t], + o = n[i], + s = a[a.length - 1], + l = a[a.length - 2], + c = o[0], + u = o[1]; + e.pointsCollinear(l, s, c) && + (r && r.chainRemoveTail(t, s), a.pop(), (s = l)), + e.pointsCollinear(s, c, u) && + (r && r.chainRemoveHead(i, c), o.shift()), + r && r.chainJoin(t, i), + (n[t] = a.concat(o)), + n.splice(i, 1); + } + }), + i + ); + }; + }, + {}, + ], + 524: [ + function (t, e, r) { + function n(t, e, r) { + var n = []; + return ( + t.forEach(function (t) { + var i = + (t.myFill.above ? 8 : 0) + + (t.myFill.below ? 4 : 0) + + (t.otherFill && t.otherFill.above ? 2 : 0) + + (t.otherFill && t.otherFill.below ? 1 : 0); + 0 !== e[i] && + n.push({ + id: r ? r.segmentId() : -1, + start: t.start, + end: t.end, + myFill: { above: 1 === e[i], below: 2 === e[i] }, + otherFill: null, + }); + }), + r && r.selected(n), + n + ); + } + var i = { + union: function (t, e) { + return n(t, [0, 2, 1, 0, 2, 2, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], e); + }, + intersect: function (t, e) { + return n(t, [0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 1, 1, 0, 2, 1, 0], e); + }, + difference: function (t, e) { + return n(t, [0, 0, 0, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 1, 2, 0], e); + }, + differenceRev: function (t, e) { + return n(t, [0, 2, 1, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 0, 0, 0], e); + }, + xor: function (t, e) { + return n(t, [0, 2, 1, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 1, 2, 0], e); + }, + }; + e.exports = i; + }, + {}, + ], + 525: [ + function (t, e, r) { + 'use strict'; + var n = new Float64Array(4), + i = new Float64Array(4), + a = new Float64Array(4); + e.exports = function (t, e, r, o, s) { + n.length < o.length && + ((n = new Float64Array(o.length)), + (i = new Float64Array(o.length)), + (a = new Float64Array(o.length))); + for (var l = 0; l < o.length; ++l) + (n[l] = t[l] - o[l]), (i[l] = e[l] - t[l]), (a[l] = r[l] - t[l]); + var c = 0, + u = 0, + f = 0, + h = 0, + p = 0, + d = 0; + for (l = 0; l < o.length; ++l) { + var g = i[l], + m = a[l], + v = n[l]; + (c += g * g), + (u += g * m), + (f += m * m), + (h += v * g), + (p += v * m), + (d += v * v); + } + var y, + x, + b, + _, + w, + T = Math.abs(c * f - u * u), + k = u * p - f * h, + M = u * h - c * p; + if (k + M <= T) + if (k < 0) + M < 0 && h < 0 + ? ((M = 0), + -h >= c + ? ((k = 1), (y = c + 2 * h + d)) + : (y = h * (k = -h / c) + d)) + : ((k = 0), + p >= 0 + ? ((M = 0), (y = d)) + : -p >= f + ? ((M = 1), (y = f + 2 * p + d)) + : (y = p * (M = -p / f) + d)); + else if (M < 0) + (M = 0), + h >= 0 + ? ((k = 0), (y = d)) + : -h >= c + ? ((k = 1), (y = c + 2 * h + d)) + : (y = h * (k = -h / c) + d); + else { + var A = 1 / T; + y = + (k *= A) * (c * k + u * (M *= A) + 2 * h) + + M * (u * k + f * M + 2 * p) + + d; + } + else + k < 0 + ? (b = f + p) > (x = u + h) + ? (_ = b - x) >= (w = c - 2 * u + f) + ? ((k = 1), (M = 0), (y = c + 2 * h + d)) + : (y = + (k = _ / w) * (c * k + u * (M = 1 - k) + 2 * h) + + M * (u * k + f * M + 2 * p) + + d) + : ((k = 0), + b <= 0 + ? ((M = 1), (y = f + 2 * p + d)) + : p >= 0 + ? ((M = 0), (y = d)) + : (y = p * (M = -p / f) + d)) + : M < 0 + ? (b = c + h) > (x = u + p) + ? (_ = b - x) >= (w = c - 2 * u + f) + ? ((M = 1), (k = 0), (y = f + 2 * p + d)) + : (y = + (k = 1 - (M = _ / w)) * (c * k + u * M + 2 * h) + + M * (u * k + f * M + 2 * p) + + d) + : ((M = 0), + b <= 0 + ? ((k = 1), (y = c + 2 * h + d)) + : h >= 0 + ? ((k = 0), (y = d)) + : (y = h * (k = -h / c) + d)) + : (_ = f + p - u - h) <= 0 + ? ((k = 0), (M = 1), (y = f + 2 * p + d)) + : _ >= (w = c - 2 * u + f) + ? ((k = 1), (M = 0), (y = c + 2 * h + d)) + : (y = + (k = _ / w) * (c * k + u * (M = 1 - k) + 2 * h) + + M * (u * k + f * M + 2 * p) + + d); + var S = 1 - k - M; + for (l = 0; l < o.length; ++l) + s[l] = S * t[l] + k * e[l] + M * r[l]; + return y < 0 ? 0 : y; + }; + }, + {}, + ], + 526: [ + function (t, e, r) { + var n, + i, + a = (e.exports = {}); + function o() { + throw new Error('setTimeout has not been defined'); + } + function s() { + throw new Error('clearTimeout has not been defined'); + } + function l(t) { + if (n === setTimeout) return setTimeout(t, 0); + if ((n === o || !n) && setTimeout) + return (n = setTimeout), setTimeout(t, 0); + try { + return n(t, 0); + } catch (e) { + try { + return n.call(null, t, 0); + } catch (e) { + return n.call(this, t, 0); + } + } + } + !(function () { + try { + n = 'function' == typeof setTimeout ? setTimeout : o; + } catch (t) { + n = o; + } + try { + i = 'function' == typeof clearTimeout ? clearTimeout : s; + } catch (t) { + i = s; + } + })(); + var c, + u = [], + f = !1, + h = -1; + function p() { + f && + c && + ((f = !1), + c.length ? (u = c.concat(u)) : (h = -1), + u.length && d()); + } + function d() { + if (!f) { + var t = l(p); + f = !0; + for (var e = u.length; e; ) { + for (c = u, u = []; ++h < e; ) c && c[h].run(); + (h = -1), (e = u.length); + } + (c = null), + (f = !1), + (function (t) { + if (i === clearTimeout) return clearTimeout(t); + if ((i === s || !i) && clearTimeout) + return (i = clearTimeout), clearTimeout(t); + try { + i(t); + } catch (e) { + try { + return i.call(null, t); + } catch (e) { + return i.call(this, t); + } + } + })(t); + } + } + function g(t, e) { + (this.fun = t), (this.array = e); + } + function m() {} + (a.nextTick = function (t) { + var e = new Array(arguments.length - 1); + if (arguments.length > 1) + for (var r = 1; r < arguments.length; r++) + e[r - 1] = arguments[r]; + u.push(new g(t, e)), 1 !== u.length || f || l(d); + }), + (g.prototype.run = function () { + this.fun.apply(null, this.array); + }), + (a.title = 'browser'), + (a.browser = !0), + (a.env = {}), + (a.argv = []), + (a.version = ''), + (a.versions = {}), + (a.on = m), + (a.addListener = m), + (a.once = m), + (a.off = m), + (a.removeListener = m), + (a.removeAllListeners = m), + (a.emit = m), + (a.prependListener = m), + (a.prependOnceListener = m), + (a.listeners = function (t) { + return []; + }), + (a.binding = function (t) { + throw new Error('process.binding is not supported'); + }), + (a.cwd = function () { + return '/'; + }), + (a.chdir = function (t) { + throw new Error('process.chdir is not supported'); + }), + (a.umask = function () { + return 0; + }); + }, + {}, + ], + 527: [ + function (t, e, r) { + e.exports = t('gl-quat/slerp'); + }, + { 'gl-quat/slerp': 325 }, + ], + 528: [ + function (t, e, r) { + (function (r) { + (function () { + for ( + var n = t('performance-now'), + i = 'undefined' == typeof window ? r : window, + a = ['moz', 'webkit'], + o = 'AnimationFrame', + s = i['request' + o], + l = i['cancel' + o] || i['cancelRequest' + o], + c = 0; + !s && c < a.length; + c++ + ) + (s = i[a[c] + 'Request' + o]), + (l = i[a[c] + 'Cancel' + o] || i[a[c] + 'CancelRequest' + o]); + if (!s || !l) { + var u = 0, + f = 0, + h = []; + (s = function (t) { + if (0 === h.length) { + var e = n(), + r = Math.max(0, 1e3 / 60 - (e - u)); + (u = r + e), + setTimeout(function () { + var t = h.slice(0); + h.length = 0; + for (var e = 0; e < t.length; e++) + if (!t[e].cancelled) + try { + t[e].callback(u); + } catch (t) { + setTimeout(function () { + throw t; + }, 0); + } + }, Math.round(r)); + } + return h.push({ handle: ++f, callback: t, cancelled: !1 }), f; + }), + (l = function (t) { + for (var e = 0; e < h.length; e++) + h[e].handle === t && (h[e].cancelled = !0); + }); + } + (e.exports = function (t) { + return s.call(i, t); + }), + (e.exports.cancel = function () { + l.apply(i, arguments); + }), + (e.exports.polyfill = function (t) { + t || (t = i), + (t.requestAnimationFrame = s), + (t.cancelAnimationFrame = l); + }); + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'performance-now': 508 }, + ], + 529: [ + function (t, e, r) { + 'use strict'; + var n = t('big-rat/add'); + e.exports = function (t, e) { + for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) + i[a] = n(t[a], e[a]); + return i; + }; + }, + { 'big-rat/add': 80 }, + ], + 530: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = new Array(t.length), r = 0; r < t.length; ++r) + e[r] = n(t[r]); + return e; + }; + var n = t('big-rat'); + }, + { 'big-rat': 83 }, + ], + 531: [ + function (t, e, r) { + 'use strict'; + var n = t('big-rat'), + i = t('big-rat/mul'); + e.exports = function (t, e) { + for ( + var r = n(e), a = t.length, o = new Array(a), s = 0; + s < a; + ++s + ) + o[s] = i(t[s], r); + return o; + }; + }, + { 'big-rat': 83, 'big-rat/mul': 92 }, + ], + 532: [ + function (t, e, r) { + 'use strict'; + var n = t('big-rat/sub'); + e.exports = function (t, e) { + for (var r = t.length, i = new Array(r), a = 0; a < r; ++a) + i[a] = n(t[a], e[a]); + return i; + }; + }, + { 'big-rat/sub': 94 }, + ], + 533: [ + function (t, e, r) { + 'use strict'; + var n = t('compare-cell'), + i = t('compare-oriented-cell'), + a = t('cell-orientation'); + e.exports = function (t) { + t.sort(i); + for (var e = t.length, r = 0, o = 0; o < e; ++o) { + var s = t[o], + l = a(s); + if (0 !== l) { + if (r > 0) { + var c = t[r - 1]; + if (0 === n(s, c) && a(c) !== l) { + r -= 1; + continue; + } + } + t[r++] = s; + } + } + return (t.length = r), t; + }; + }, + { + 'cell-orientation': 117, + 'compare-cell': 133, + 'compare-oriented-cell': 134, + }, + ], + 534: [ + function (t, e, r) { + 'use strict'; + var n = t('array-bounds'), + i = t('color-normalize'), + a = t('update-diff'), + o = t('pick-by-alias'), + s = t('object-assign'), + l = t('flatten-vertex-data'), + c = t('to-float32'), + u = c.float32, + f = c.fract32; + e.exports = function (t, e) { + 'function' == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t); + e.length && (e.positions = e); + if (!(t = e.regl).hasExtension('ANGLE_instanced_arrays')) + throw Error( + 'regl-error2d: `ANGLE_instanced_arrays` extension should be enabled' + ); + var r, + c, + p, + d, + g, + m, + v = t._gl, + y = { + color: 'black', + capSize: 5, + lineWidth: 1, + opacity: 1, + viewport: null, + range: null, + offset: 0, + count: 0, + bounds: null, + positions: [], + errors: [], + }, + x = []; + return ( + (d = t.buffer({ + usage: 'dynamic', + type: 'uint8', + data: new Uint8Array(0), + })), + (c = t.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(0), + })), + (p = t.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(0), + })), + (g = t.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(0), + })), + (m = t.buffer({ usage: 'static', type: 'float', data: h })), + T(e), + (r = t({ + vert: '\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t', + frag: '\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t', + uniforms: { + range: t.prop('range'), + lineWidth: t.prop('lineWidth'), + capSize: t.prop('capSize'), + opacity: t.prop('opacity'), + scale: t.prop('scale'), + translate: t.prop('translate'), + scaleFract: t.prop('scaleFract'), + translateFract: t.prop('translateFract'), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + }, + attributes: { + color: { + buffer: d, + offset: function (t, e) { + return 4 * e.offset; + }, + divisor: 1, + }, + position: { + buffer: c, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + positionFract: { + buffer: p, + offset: function (t, e) { + return 8 * e.offset; + }, + divisor: 1, + }, + error: { + buffer: g, + offset: function (t, e) { + return 16 * e.offset; + }, + divisor: 1, + }, + direction: { buffer: m, stride: 24, offset: 0 }, + lineOffset: { buffer: m, stride: 24, offset: 8 }, + capOffset: { buffer: m, stride: 24, offset: 16 }, + }, + primitive: 'triangles', + blend: { + enable: !0, + color: [0, 0, 0, 0], + equation: { rgb: 'add', alpha: 'add' }, + func: { + srcRGB: 'src alpha', + dstRGB: 'one minus src alpha', + srcAlpha: 'one minus dst alpha', + dstAlpha: 'one', + }, + }, + depth: { enable: !1 }, + scissor: { enable: !0, box: t.prop('viewport') }, + viewport: t.prop('viewport'), + stencil: !1, + instances: t.prop('count'), + count: h.length, + })), + s(b, { + update: T, + draw: _, + destroy: k, + regl: t, + gl: v, + canvas: v.canvas, + groups: x, + }), + b + ); + function b(t) { + t ? T(t) : null === t && k(), _(); + } + function _(e) { + if ('number' == typeof e) return w(e); + e && !Array.isArray(e) && (e = [e]), + t._refresh(), + x.forEach(function (t, r) { + t && + (e && (e[r] ? (t.draw = !0) : (t.draw = !1)), + t.draw ? w(r) : (t.draw = !0)); + }); + } + function w(t) { + 'number' == typeof t && (t = x[t]), + null != t && + t && + t.count && + t.color && + t.opacity && + t.positions && + t.positions.length > 1 && + ((t.scaleRatio = [ + t.scale[0] * t.viewport.width, + t.scale[1] * t.viewport.height, + ]), + r(t), + t.after && t.after(t)); + } + function T(t) { + if (t) { + null != t.length + ? 'number' == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var e = 0, + r = 0; + if ( + ((b.groups = x = + t.map(function (t, c) { + var u = x[c]; + return t + ? ('function' == typeof t + ? (t = { after: t }) + : 'number' == typeof t[0] && (t = { positions: t }), + (t = o(t, { + color: 'color colors fill', + capSize: 'capSize cap capsize cap-size', + lineWidth: + 'lineWidth line-width width line thickness', + opacity: 'opacity alpha', + range: 'range dataBox', + viewport: 'viewport viewBox', + errors: 'errors error', + positions: 'positions position data points', + })), + u || + ((x[c] = u = + { + id: c, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + draw: !0, + }), + (t = s({}, y, t))), + a(u, t, [ + { + lineWidth: function (t) { + return 0.5 * +t; + }, + capSize: function (t) { + return 0.5 * +t; + }, + opacity: parseFloat, + errors: function (t) { + return (t = l(t)), (r += t.length), t; + }, + positions: function (t, r) { + return ( + (t = l(t, 'float64')), + (r.count = Math.floor(t.length / 2)), + (r.bounds = n(t, 2)), + (r.offset = e), + (e += r.count), + t + ); + }, + }, + { + color: function (t, e) { + var r = e.count; + if ( + (t || (t = 'transparent'), + !Array.isArray(t) || 'number' == typeof t[0]) + ) { + var n = t; + t = Array(r); + for (var a = 0; a < r; a++) t[a] = n; + } + if (t.length < r) + throw Error('Not enough colors'); + for ( + var o = new Uint8Array(4 * r), s = 0; + s < r; + s++ + ) { + var l = i(t[s], 'uint8'); + o.set(l, 4 * s); + } + return o; + }, + range: function (t, e, r) { + var n = e.bounds; + return ( + t || (t = n), + (e.scale = [ + 1 / (t[2] - t[0]), + 1 / (t[3] - t[1]), + ]), + (e.translate = [-t[0], -t[1]]), + (e.scaleFract = f(e.scale)), + (e.translateFract = f(e.translate)), + t + ); + }, + viewport: function (t) { + var e; + return ( + Array.isArray(t) + ? (e = { + x: t[0], + y: t[1], + width: t[2] - t[0], + height: t[3] - t[1], + }) + : t + ? ((e = { + x: t.x || t.left || 0, + y: t.y || t.top || 0, + }), + t.right + ? (e.width = t.right - e.x) + : (e.width = t.w || t.width || 0), + t.bottom + ? (e.height = t.bottom - e.y) + : (e.height = t.h || t.height || 0)) + : (e = { + x: 0, + y: 0, + width: v.drawingBufferWidth, + height: v.drawingBufferHeight, + }), + e + ); + }, + }, + ]), + u) + : u; + })), + e || r) + ) { + var h = x.reduce(function (t, e, r) { + return t + (e ? e.count : 0); + }, 0), + m = new Float64Array(2 * h), + _ = new Uint8Array(4 * h), + w = new Float32Array(4 * h); + x.forEach(function (t, e) { + if (t) { + var r = t.positions, + n = t.count, + i = t.offset, + a = t.color, + o = t.errors; + n && (_.set(a, 4 * i), w.set(o, 4 * i), m.set(r, 2 * i)); + } + }), + c(u(m)), + p(f(m)), + d(_), + g(w); + } + } + } + function k() { + c.destroy(), p.destroy(), d.destroy(), g.destroy(), m.destroy(); + } + }; + var h = [ + [1, 0, 0, 1, 0, 0], + [1, 0, 0, -1, 0, 0], + [-1, 0, 0, -1, 0, 0], + [-1, 0, 0, -1, 0, 0], + [-1, 0, 0, 1, 0, 0], + [1, 0, 0, 1, 0, 0], + [1, 0, -1, 0, 0, 1], + [1, 0, -1, 0, 0, -1], + [1, 0, 1, 0, 0, -1], + [1, 0, 1, 0, 0, -1], + [1, 0, 1, 0, 0, 1], + [1, 0, -1, 0, 0, 1], + [-1, 0, -1, 0, 0, 1], + [-1, 0, -1, 0, 0, -1], + [-1, 0, 1, 0, 0, -1], + [-1, 0, 1, 0, 0, -1], + [-1, 0, 1, 0, 0, 1], + [-1, 0, -1, 0, 0, 1], + [0, 1, 1, 0, 0, 0], + [0, 1, -1, 0, 0, 0], + [0, -1, -1, 0, 0, 0], + [0, -1, -1, 0, 0, 0], + [0, 1, 1, 0, 0, 0], + [0, -1, 1, 0, 0, 0], + [0, 1, 0, -1, 1, 0], + [0, 1, 0, -1, -1, 0], + [0, 1, 0, 1, -1, 0], + [0, 1, 0, 1, 1, 0], + [0, 1, 0, -1, 1, 0], + [0, 1, 0, 1, -1, 0], + [0, -1, 0, -1, 1, 0], + [0, -1, 0, -1, -1, 0], + [0, -1, 0, 1, -1, 0], + [0, -1, 0, 1, 1, 0], + [0, -1, 0, -1, 1, 0], + [0, -1, 0, 1, -1, 0], + ]; + }, + { + 'array-bounds': 70, + 'color-normalize': 125, + 'flatten-vertex-data': 244, + 'object-assign': 499, + 'pick-by-alias': 511, + 'to-float32': 577, + 'update-diff': 599, + }, + ], + 535: [ + function (t, e, r) { + 'use strict'; + var n = t('color-normalize'), + i = t('array-bounds'), + a = t('object-assign'), + o = t('glslify'), + s = t('pick-by-alias'), + l = t('flatten-vertex-data'), + c = t('earcut'), + u = t('array-normalize'), + f = t('to-float32'), + h = f.float32, + p = f.fract32, + d = t('es6-weak-map'), + g = t('parse-rect'); + function m(t, e) { + if (!(this instanceof m)) return new m(t, e); + if ( + ('function' == typeof t ? (e || (e = {}), (e.regl = t)) : (e = t), + e.length && (e.positions = e), + !(t = e.regl).hasExtension('ANGLE_instanced_arrays')) + ) + throw Error( + 'regl-error2d: `ANGLE_instanced_arrays` extension should be enabled' + ); + (this.gl = t._gl), + (this.regl = t), + (this.passes = []), + (this.shaders = m.shaders.has(t) + ? m.shaders.get(t) + : m.shaders.set(t, m.createShaders(t)).get(t)), + this.update(e); + } + (e.exports = m), + (m.dashMult = 2), + (m.maxPatternLength = 256), + (m.precisionThreshold = 3e6), + (m.maxPoints = 1e4), + (m.maxLines = 2048), + (m.shaders = new d()), + (m.createShaders = function (t) { + var e, + r = t.buffer({ + usage: 'static', + type: 'float', + data: [0, 1, 0, 0, 1, 1, 1, 0], + }), + n = { + primitive: 'triangle strip', + instances: t.prop('count'), + count: 4, + offset: 0, + uniforms: { + miterMode: function (t, e) { + return 'round' === e.join ? 2 : 1; + }, + miterLimit: t.prop('miterLimit'), + scale: t.prop('scale'), + scaleFract: t.prop('scaleFract'), + translateFract: t.prop('translateFract'), + translate: t.prop('translate'), + thickness: t.prop('thickness'), + dashPattern: t.prop('dashTexture'), + opacity: t.prop('opacity'), + pixelRatio: t.context('pixelRatio'), + id: t.prop('id'), + dashSize: t.prop('dashLength'), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + depth: t.prop('depth'), + }, + blend: { + enable: !0, + color: [0, 0, 0, 0], + equation: { rgb: 'add', alpha: 'add' }, + func: { + srcRGB: 'src alpha', + dstRGB: 'one minus src alpha', + srcAlpha: 'one minus dst alpha', + dstAlpha: 'one', + }, + }, + depth: { + enable: function (t, e) { + return !e.overlay; + }, + }, + stencil: { enable: !1 }, + scissor: { enable: !0, box: t.prop('viewport') }, + viewport: t.prop('viewport'), + }, + i = t( + a( + { + vert: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n', + ]), + frag: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n', + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 16, + divisor: 1, + }, + aCoordFract: { + buffer: t.prop('positionFractBuffer'), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoordFract: { + buffer: t.prop('positionFractBuffer'), + stride: 8, + offset: 16, + divisor: 1, + }, + color: { + buffer: t.prop('colorBuffer'), + stride: 4, + offset: 0, + divisor: 1, + }, + }, + }, + n + ) + ); + try { + e = t( + a( + { + cull: { enable: !0, face: 'back' }, + vert: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n', + ]), + frag: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n', + ]), + attributes: { + lineEnd: { + buffer: r, + divisor: 0, + stride: 8, + offset: 0, + }, + lineTop: { + buffer: r, + divisor: 0, + stride: 8, + offset: 4, + }, + aColor: { + buffer: t.prop('colorBuffer'), + stride: 4, + offset: 0, + divisor: 1, + }, + bColor: { + buffer: t.prop('colorBuffer'), + stride: 4, + offset: 4, + divisor: 1, + }, + prevCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 0, + divisor: 1, + }, + aCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 8, + divisor: 1, + }, + bCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 16, + divisor: 1, + }, + nextCoord: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 24, + divisor: 1, + }, + }, + }, + n + ) + ); + } catch (t) { + e = i; + } + return { + fill: t({ + primitive: 'triangle', + elements: function (t, e) { + return e.triangles; + }, + offset: 0, + vert: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n', + ]), + frag: o([ + 'precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n', + ]), + uniforms: { + scale: t.prop('scale'), + color: t.prop('fill'), + scaleFract: t.prop('scaleFract'), + translateFract: t.prop('translateFract'), + translate: t.prop('translate'), + opacity: t.prop('opacity'), + pixelRatio: t.context('pixelRatio'), + id: t.prop('id'), + viewport: function (t, e) { + return [ + e.viewport.x, + e.viewport.y, + t.viewportWidth, + t.viewportHeight, + ]; + }, + }, + attributes: { + position: { + buffer: t.prop('positionBuffer'), + stride: 8, + offset: 8, + }, + positionFract: { + buffer: t.prop('positionFractBuffer'), + stride: 8, + offset: 8, + }, + }, + blend: n.blend, + depth: { enable: !1 }, + scissor: n.scissor, + stencil: n.stencil, + viewport: n.viewport, + }), + rect: i, + miter: e, + }; + }), + (m.defaults = { + dashes: null, + join: 'miter', + miterLimit: 1, + thickness: 10, + cap: 'square', + color: 'black', + opacity: 1, + overlay: !1, + viewport: null, + range: null, + close: !1, + fill: null, + }), + (m.prototype.render = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + e.length && (t = this).update.apply(t, e), this.draw(); + }), + (m.prototype.draw = function () { + for (var t = this, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + return ( + (e.length ? e : this.passes).forEach(function (e, r) { + var n; + if (e && Array.isArray(e)) return (n = t).draw.apply(n, e); + 'number' == typeof e && (e = t.passes[e]), + e && + e.count > 1 && + e.opacity && + (t.regl._refresh(), + e.fill && + e.triangles && + e.triangles.length > 2 && + t.shaders.fill(e), + e.thickness && + (e.scale[0] * e.viewport.width > m.precisionThreshold || + e.scale[1] * e.viewport.height > m.precisionThreshold || + 'rect' === e.join || + (!e.join && + (e.thickness <= 2 || e.count >= m.maxPoints)) + ? t.shaders.rect(e) + : t.shaders.miter(e))); + }), + this + ); + }), + (m.prototype.update = function (t) { + var e = this; + if (t) { + null != t.length + ? 'number' == typeof t[0] && (t = [{ positions: t }]) + : Array.isArray(t) || (t = [t]); + var r = this.regl, + o = this.gl; + if ( + (t.forEach(function (t, f) { + var d = e.passes[f]; + if (void 0 !== t) + if (null !== t) { + if ( + ('number' == typeof t[0] && (t = { positions: t }), + (t = s(t, { + positions: 'positions points data coords', + thickness: + 'thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth', + join: 'lineJoin linejoin join type mode', + miterLimit: 'miterlimit miterLimit', + dashes: + 'dash dashes dasharray dash-array dashArray', + color: + 'color colour stroke colors colours stroke-color strokeColor', + fill: 'fill fill-color fillColor', + opacity: 'alpha opacity', + overlay: 'overlay crease overlap intersect', + close: 'closed close closed-path closePath', + range: 'range dataBox', + viewport: 'viewport viewBox', + hole: 'holes hole hollow', + })), + d || + ((e.passes[f] = d = + { + id: f, + scale: null, + scaleFract: null, + translate: null, + translateFract: null, + count: 0, + hole: [], + depth: 0, + dashLength: 1, + dashTexture: r.texture({ + channels: 1, + data: new Uint8Array([255]), + width: 1, + height: 1, + mag: 'linear', + min: 'linear', + }), + colorBuffer: r.buffer({ + usage: 'dynamic', + type: 'uint8', + data: new Uint8Array(), + }), + positionBuffer: r.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(), + }), + positionFractBuffer: r.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(), + }), + }), + (t = a({}, m.defaults, t))), + null != t.thickness && + (d.thickness = parseFloat(t.thickness)), + null != t.opacity && + (d.opacity = parseFloat(t.opacity)), + null != t.miterLimit && + (d.miterLimit = parseFloat(t.miterLimit)), + null != t.overlay && + ((d.overlay = !!t.overlay), + f < m.maxLines && + (d.depth = + (2 * (m.maxLines - 1 - (f % m.maxLines))) / + m.maxLines - + 1)), + null != t.join && (d.join = t.join), + null != t.hole && (d.hole = t.hole), + null != t.fill && + (d.fill = t.fill ? n(t.fill, 'uint8') : null), + null != t.viewport && (d.viewport = g(t.viewport)), + d.viewport || + (d.viewport = g([ + o.drawingBufferWidth, + o.drawingBufferHeight, + ])), + null != t.close && (d.close = t.close), + null === t.positions && (t.positions = []), + t.positions) + ) { + var v, y; + if (t.positions.x && t.positions.y) { + var x = t.positions.x, + b = t.positions.y; + (y = d.count = Math.max(x.length, b.length)), + (v = new Float64Array(2 * y)); + for (var _ = 0; _ < y; _++) + (v[2 * _] = x[_]), (v[2 * _ + 1] = b[_]); + } else + (v = l(t.positions, 'float64')), + (y = d.count = Math.floor(v.length / 2)); + var w = (d.bounds = i(v, 2)); + if (d.fill) { + for ( + var T = [], + k = {}, + M = 0, + A = 0, + S = 0, + E = d.count; + A < E; + A++ + ) { + var C = v[2 * A], + L = v[2 * A + 1]; + isNaN(C) || isNaN(L) || null == C || null == L + ? ((C = v[2 * M]), + (L = v[2 * M + 1]), + (k[A] = M)) + : (M = A), + (T[S++] = C), + (T[S++] = L); + } + for ( + var I = c(T, d.hole || []), P = 0, z = I.length; + P < z; + P++ + ) + null != k[I[P]] && (I[P] = k[I[P]]); + d.triangles = I; + } + var O = new Float64Array(v); + u(O, 2, w); + var D = new Float64Array(2 * y + 6); + d.close + ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] + ? ((D[0] = O[2 * y - 4]), (D[1] = O[2 * y - 3])) + : ((D[0] = O[2 * y - 2]), (D[1] = O[2 * y - 1])) + : ((D[0] = O[0]), (D[1] = O[1])), + D.set(O, 2), + d.close + ? v[0] === v[2 * y - 2] && v[1] === v[2 * y - 1] + ? ((D[2 * y + 2] = O[2]), + (D[2 * y + 3] = O[3]), + (d.count -= 1)) + : ((D[2 * y + 2] = O[0]), + (D[2 * y + 3] = O[1]), + (D[2 * y + 4] = O[2]), + (D[2 * y + 5] = O[3])) + : ((D[2 * y + 2] = O[2 * y - 2]), + (D[2 * y + 3] = O[2 * y - 1]), + (D[2 * y + 4] = O[2 * y - 2]), + (D[2 * y + 5] = O[2 * y - 1])), + d.positionBuffer(h(D)), + d.positionFractBuffer(p(D)); + } + if ( + (t.range + ? (d.range = t.range) + : d.range || (d.range = d.bounds), + (t.range || t.positions) && d.count) + ) { + var R = d.bounds, + F = R[2] - R[0], + B = R[3] - R[1], + N = d.range[2] - d.range[0], + j = d.range[3] - d.range[1]; + (d.scale = [F / N, B / j]), + (d.translate = [ + -d.range[0] / N + R[0] / N || 0, + -d.range[1] / j + R[1] / j || 0, + ]), + (d.scaleFract = p(d.scale)), + (d.translateFract = p(d.translate)); + } + if (t.dashes) { + var U, + V = 0; + if (!t.dashes || t.dashes.length < 2) + (V = 1), + (U = new Uint8Array([ + 255, 255, 255, 255, 255, 255, 255, 255, + ])); + else { + V = 0; + for (var q = 0; q < t.dashes.length; ++q) + V += t.dashes[q]; + U = new Uint8Array(V * m.dashMult); + for (var H = 0, G = 255, Y = 0; Y < 2; Y++) + for (var W = 0; W < t.dashes.length; ++W) { + for ( + var X = 0, Z = t.dashes[W] * m.dashMult * 0.5; + X < Z; + ++X + ) + U[H++] = G; + G ^= 255; + } + } + (d.dashLength = V), + d.dashTexture( + { + channels: 1, + data: U, + width: U.length, + height: 1, + mag: 'linear', + min: 'linear', + }, + 0, + 0 + ); + } + if (t.color) { + var J = d.count, + K = t.color; + K || (K = 'transparent'); + var Q = new Uint8Array(4 * J + 4); + if (Array.isArray(K) && 'number' != typeof K[0]) { + for (var $ = 0; $ < J; $++) { + var tt = n(K[$], 'uint8'); + Q.set(tt, 4 * $); + } + Q.set(n(K[0], 'uint8'), 4 * J); + } else + for ( + var et = n(K, 'uint8'), rt = 0; + rt < J + 1; + rt++ + ) + Q.set(et, 4 * rt); + d.colorBuffer({ + usage: 'dynamic', + type: 'uint8', + data: Q, + }); + } + } else e.passes[f] = null; + }), + t.length < this.passes.length) + ) { + for (var f = t.length; f < this.passes.length; f++) { + var d = this.passes[f]; + d && + (d.colorBuffer.destroy(), + d.positionBuffer.destroy(), + d.dashTexture.destroy()); + } + this.passes.length = t.length; + } + for (var v = [], y = 0; y < this.passes.length; y++) + null !== this.passes[y] && v.push(this.passes[y]); + return (this.passes = v), this; + } + }), + (m.prototype.destroy = function () { + return ( + this.passes.forEach(function (t) { + t.colorBuffer.destroy(), + t.positionBuffer.destroy(), + t.dashTexture.destroy(); + }), + (this.passes.length = 0), + this + ); + }); + }, + { + 'array-bounds': 70, + 'array-normalize': 71, + 'color-normalize': 125, + earcut: 177, + 'es6-weak-map': 233, + 'flatten-vertex-data': 244, + glslify: 536, + 'object-assign': 499, + 'parse-rect': 504, + 'pick-by-alias': 511, + 'to-float32': 577, + }, + ], + 536: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 537: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + if ( + 'undefined' == typeof Symbol || + !(Symbol.iterator in Object(t)) + ) + return; + var r = [], + n = !0, + i = !1, + a = void 0; + try { + for ( + var o, s = t[Symbol.iterator](); + !(n = (o = s.next()).done) && + (r.push(o.value), !e || r.length !== e); + n = !0 + ); + } catch (t) { + (i = !0), (a = t); + } finally { + try { + n || null == s.return || s.return(); + } finally { + if (i) throw a; + } + } + return r; + })(t, e) || + a(t, e) || + (function () { + throw new TypeError( + 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' + ); + })() + ); + } + function i(t) { + return ( + (function (t) { + if (Array.isArray(t)) return o(t); + })(t) || + (function (t) { + if ( + 'undefined' != typeof Symbol && + Symbol.iterator in Object(t) + ) + return Array.from(t); + })(t) || + a(t) || + (function () { + throw new TypeError( + 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.' + ); + })() + ); + } + function a(t, e) { + if (t) { + if ('string' == typeof t) return o(t, e); + var r = Object.prototype.toString.call(t).slice(8, -1); + return ( + 'Object' === r && t.constructor && (r = t.constructor.name), + 'Map' === r || 'Set' === r + ? Array.from(t) + : 'Arguments' === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? o(t, e) + : void 0 + ); + } + } + function o(t, e) { + (null == e || e > t.length) && (e = t.length); + for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r]; + return n; + } + var s = t('color-normalize'), + l = t('array-bounds'), + c = t('color-id'), + u = t('@plotly/point-cluster'), + f = t('object-assign'), + h = t('glslify'), + p = t('pick-by-alias'), + d = t('update-diff'), + g = t('flatten-vertex-data'), + m = t('is-iexplorer'), + v = t('to-float32'), + y = t('parse-rect'), + x = b; + function b(t, e) { + var r = this; + if (!(this instanceof b)) return new b(t, e); + 'function' == typeof t + ? (e || (e = {}), (e.regl = t)) + : ((e = t), (t = null)), + e && e.length && (e.positions = e); + var n, + i = (t = e.regl)._gl, + a = []; + (this.tooManyColors = m), + (n = t.texture({ + data: new Uint8Array(1020), + width: 255, + height: 1, + type: 'uint8', + format: 'rgba', + wrapS: 'clamp', + wrapT: 'clamp', + mag: 'nearest', + min: 'nearest', + })), + f(this, { + regl: t, + gl: i, + groups: [], + markerCache: [null], + markerTextures: [null], + palette: a, + paletteIds: {}, + paletteTexture: n, + maxColors: 255, + maxSize: 100, + canvas: i.canvas, + }), + this.update(e); + var o = { + uniforms: { + constPointSize: !!e.constPointSize, + pixelRatio: t.context('pixelRatio'), + palette: n, + paletteSize: function (t, e) { + return [r.tooManyColors ? 0 : 255, n.height]; + }, + scale: t.prop('scale'), + scaleFract: t.prop('scaleFract'), + translate: t.prop('translate'), + translateFract: t.prop('translateFract'), + opacity: t.prop('opacity'), + marker: t.prop('markerTexture'), + }, + attributes: { + x: function (t, e) { + return ( + e.xAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 0, + } + ); + }, + y: function (t, e) { + return ( + e.yAttr || { + buffer: e.positionBuffer, + stride: 8, + offset: 4, + } + ); + }, + xFract: function (t, e) { + return e.xAttr + ? { constant: [0, 0] } + : { buffer: e.positionFractBuffer, stride: 8, offset: 0 }; + }, + yFract: function (t, e) { + return e.yAttr + ? { constant: [0, 0] } + : { buffer: e.positionFractBuffer, stride: 8, offset: 4 }; + }, + size: function (t, e) { + return e.size.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 0 } + : { constant: [Math.round((255 * e.size) / r.maxSize)] }; + }, + borderSize: function (t, e) { + return e.borderSize.length + ? { buffer: e.sizeBuffer, stride: 2, offset: 1 } + : { + constant: [ + Math.round((255 * e.borderSize) / r.maxSize), + ], + }; + }, + colorId: function (t, e) { + return e.color.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: 0, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.color, 4 * e.color + 4) + : [e.color], + }; + }, + borderColorId: function (t, e) { + return e.borderColor.length + ? { + buffer: e.colorBuffer, + stride: r.tooManyColors ? 8 : 4, + offset: r.tooManyColors ? 4 : 2, + } + : { + constant: r.tooManyColors + ? a.slice(4 * e.borderColor, 4 * e.borderColor + 4) + : [e.borderColor], + }; + }, + isActive: function (t, e) { + return !0 === e.activation + ? { constant: [1] } + : e.activation + ? e.activation + : { constant: [0] }; + }, + }, + blend: { + enable: !0, + color: [0, 0, 0, 1], + func: { + srcRGB: 'src alpha', + dstRGB: 'one minus src alpha', + srcAlpha: 'one minus dst alpha', + dstAlpha: 'one', + }, + }, + scissor: { enable: !0, box: t.prop('viewport') }, + viewport: t.prop('viewport'), + stencil: { enable: !1 }, + depth: { enable: !1 }, + elements: t.prop('elements'), + count: t.prop('count'), + offset: t.prop('offset'), + primitive: 'points', + }, + s = f({}, o); + (s.frag = h([ + 'precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float opacity;\n\nfloat smoothStep(float x, float y) {\n return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n // max-distance alpha\n if (dist < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n }\n else {\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n }\n\n}\n', + ])), + (s.vert = h([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}', + ])), + (this.drawMarker = t(s)); + var l = f({}, o); + (l.frag = h([ + 'precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n', + ])), + (l.vert = h([ + 'precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform bool constPointSize;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(palette,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n', + ])), + m && + ((l.frag = l.frag.replace('smoothstep', 'smoothStep')), + (s.frag = s.frag.replace('smoothstep', 'smoothStep'))), + (this.drawCircle = t(l)); + } + (b.defaults = { + color: 'black', + borderColor: 'transparent', + borderSize: 0, + size: 12, + opacity: 1, + marker: void 0, + viewport: null, + range: null, + pixelSize: null, + count: 0, + offset: 0, + bounds: null, + positions: [], + snap: 1e4, + }), + (b.prototype.render = function () { + return ( + arguments.length && this.update.apply(this, arguments), + this.draw(), + this + ); + }), + (b.prototype.draw = function () { + for ( + var t = this, e = arguments.length, r = new Array(e), n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + var i = this.groups; + if ( + (1 === r.length && + Array.isArray(r[0]) && + (null === r[0][0] || Array.isArray(r[0][0])) && + (r = r[0]), + this.regl._refresh(), + r.length) + ) + for (var a = 0; a < r.length; a++) this.drawItem(a, r[a]); + else + i.forEach(function (e, r) { + t.drawItem(r); + }); + return this; + }), + (b.prototype.drawItem = function (t, e) { + var r = this.groups, + n = r[t]; + if ( + ('number' == typeof e && ((t = e), (n = r[e]), (e = null)), + n && n.count && n.opacity) + ) { + n.activation[0] && + this.drawCircle(this.getMarkerDrawOptions(0, n, e)); + for (var a = [], o = 1; o < n.activation.length; o++) + n.activation[o] && + (!0 === n.activation[o] || n.activation[o].data.length) && + a.push.apply(a, i(this.getMarkerDrawOptions(o, n, e))); + a.length && this.drawMarker(a); + } + }), + (b.prototype.getMarkerDrawOptions = function (t, e, r) { + var i = e.range, + a = e.tree, + o = e.viewport, + s = e.activation, + l = e.selectionBuffer, + c = e.count; + this.regl; + if (!a) + return r + ? [ + f({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + count: r.length, + elements: r, + offset: 0, + }), + ] + : [ + f({}, e, { + markerTexture: this.markerTextures[t], + activation: s[t], + offset: 0, + }), + ]; + var u = [], + h = a.range(i, { + lod: !0, + px: [(i[2] - i[0]) / o.width, (i[3] - i[1]) / o.height], + }); + if (r) { + for ( + var p = s[t].data, d = new Uint8Array(c), g = 0; + g < r.length; + g++ + ) { + var m = r[g]; + d[m] = p ? p[m] : 1; + } + l.subdata(d); + } + for (var v = h.length; v--; ) { + var y = n(h[v], 2), + x = y[0], + b = y[1]; + u.push( + f({}, e, { + markerTexture: this.markerTextures[t], + activation: r ? l : s[t], + offset: x, + count: b - x, + }) + ); + } + return u; + }), + (b.prototype.update = function () { + for ( + var t = this, e = arguments.length, r = new Array(e), n = 0; + n < e; + n++ + ) + r[n] = arguments[n]; + if (r.length) { + 1 === r.length && Array.isArray(r[0]) && (r = r[0]); + var i = this.groups, + a = this.gl, + o = this.regl, + s = this.maxSize, + c = this.maxColors, + h = this.palette; + this.groups = i = r.map(function (e, r) { + var n = i[r]; + if (void 0 === e) return n; + null === e + ? (e = { positions: null }) + : 'function' == typeof e + ? (e = { ondraw: e }) + : 'number' == typeof e[0] && (e = { positions: e }), + null === + (e = p(e, { + positions: 'positions data points', + snap: 'snap cluster lod tree', + size: 'sizes size radius', + borderSize: + 'borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline', + color: 'colors color fill fill-color fillColor', + borderColor: + 'borderColors borderColor stroke stroke-color strokeColor', + marker: 'markers marker shape', + range: 'range dataBox databox', + viewport: 'viewport viewPort viewBox viewbox', + opacity: 'opacity alpha transparency', + bounds: 'bound bounds boundaries limits', + tooManyColors: + 'tooManyColors palette paletteMode optimizePalette enablePalette', + })).positions && (e.positions = []), + null != e.tooManyColors && + (t.tooManyColors = e.tooManyColors), + n || + ((i[r] = n = + { + id: r, + scale: null, + translate: null, + scaleFract: null, + translateFract: null, + activation: [], + selectionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: 'stream', + type: 'uint8', + }), + sizeBuffer: o.buffer({ + data: new Uint8Array(0), + usage: 'dynamic', + type: 'uint8', + }), + colorBuffer: o.buffer({ + data: new Uint8Array(0), + usage: 'dynamic', + type: 'uint8', + }), + positionBuffer: o.buffer({ + data: new Uint8Array(0), + usage: 'dynamic', + type: 'float', + }), + positionFractBuffer: o.buffer({ + data: new Uint8Array(0), + usage: 'dynamic', + type: 'float', + }), + }), + (e = f({}, b.defaults, e))), + e.positions && + !('marker' in e) && + ((e.marker = n.marker), delete n.marker), + e.marker && + !('positions' in e) && + ((e.positions = n.positions), delete n.positions); + var m = 0, + x = 0; + if ( + (d(n, e, [ + { + snap: !0, + size: function (t, e) { + return ( + null == t && (t = b.defaults.size), + (m += t && t.length ? 1 : 0), + t + ); + }, + borderSize: function (t, e) { + return ( + null == t && (t = b.defaults.borderSize), + (m += t && t.length ? 1 : 0), + t + ); + }, + opacity: parseFloat, + color: function (e, r) { + return ( + null == e && (e = b.defaults.color), + (e = t.updateColor(e)), + x++, + e + ); + }, + borderColor: function (e, r) { + return ( + null == e && (e = b.defaults.borderColor), + (e = t.updateColor(e)), + x++, + e + ); + }, + bounds: function (t, e, r) { + return 'range' in r || (r.range = null), t; + }, + positions: function (t, e, r) { + var n = e.snap, + i = e.positionBuffer, + a = e.positionFractBuffer, + s = e.selectionBuffer; + if (t.x || t.y) + return ( + t.x.length + ? (e.xAttr = { + buffer: o.buffer(t.x), + offset: 0, + stride: 4, + count: t.x.length, + }) + : (e.xAttr = { + buffer: t.x.buffer, + offset: 4 * t.x.offset || 0, + stride: 4 * (t.x.stride || 1), + count: t.x.count, + }), + t.y.length + ? (e.yAttr = { + buffer: o.buffer(t.y), + offset: 0, + stride: 4, + count: t.y.length, + }) + : (e.yAttr = { + buffer: t.y.buffer, + offset: 4 * t.y.offset || 0, + stride: 4 * (t.y.stride || 1), + count: t.y.count, + }), + (e.count = Math.max( + e.xAttr.count, + e.yAttr.count + )), + t + ); + t = g(t, 'float64'); + var c = (e.count = Math.floor(t.length / 2)), + f = (e.bounds = c ? l(t, 2) : null); + if ( + (r.range || + e.range || + (delete e.range, (r.range = f)), + r.marker || + e.marker || + (delete e.marker, (r.marker = null)), + n && (!0 === n || c > n) + ? (e.tree = u(t, { bounds: f })) + : n && n.length && (e.tree = n), + e.tree) + ) { + var h = { + primitive: 'points', + usage: 'static', + data: e.tree, + type: 'uint32', + }; + e.elements + ? e.elements(h) + : (e.elements = o.elements(h)); + } + return ( + i({ data: v.float(t), usage: 'dynamic' }), + a({ data: v.fract(t), usage: 'dynamic' }), + s({ + data: new Uint8Array(c), + type: 'uint8', + usage: 'stream', + }), + t + ); + }, + }, + { + marker: function (e, r, n) { + var i = r.activation; + if ( + (i.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + (i.length = 0), + e && 'number' != typeof e[0]) + ) { + for ( + var a = [], + s = 0, + l = Math.min(e.length, r.count); + s < l; + s++ + ) { + var c = t.addMarker(e[s]); + a[c] || (a[c] = new Uint8Array(r.count)), + (a[c][s] = 1); + } + for (var u = 0; u < a.length; u++) + if (a[u]) { + var f = { + data: a[u], + type: 'uint8', + usage: 'static', + }; + i[u] ? i[u](f) : (i[u] = o.buffer(f)), + (i[u].data = a[u]); + } + } else { + i[t.addMarker(e)] = !0; + } + return e; + }, + range: function (t, e, r) { + var n = e.bounds; + if (n) + return ( + t || (t = n), + (e.scale = [ + 1 / (t[2] - t[0]), + 1 / (t[3] - t[1]), + ]), + (e.translate = [-t[0], -t[1]]), + (e.scaleFract = v.fract(e.scale)), + (e.translateFract = v.fract(e.translate)), + t + ); + }, + viewport: function (t) { + return y( + t || [a.drawingBufferWidth, a.drawingBufferHeight] + ); + }, + }, + ]), + m) + ) { + var _ = n, + w = _.count, + T = _.size, + k = _.borderSize, + M = _.sizeBuffer, + A = new Uint8Array(2 * w); + if (T.length || k.length) + for (var S = 0; S < w; S++) + (A[2 * S] = Math.round( + (255 * (null == T[S] ? T : T[S])) / s + )), + (A[2 * S + 1] = Math.round( + (255 * (null == k[S] ? k : k[S])) / s + )); + M({ data: A, usage: 'dynamic' }); + } + if (x) { + var E, + C = n, + L = C.count, + I = C.color, + P = C.borderColor, + z = C.colorBuffer; + if (t.tooManyColors) { + if (I.length || P.length) { + E = new Uint8Array(8 * L); + for (var O = 0; O < L; O++) { + var D = I[O]; + (E[8 * O] = h[4 * D]), + (E[8 * O + 1] = h[4 * D + 1]), + (E[8 * O + 2] = h[4 * D + 2]), + (E[8 * O + 3] = h[4 * D + 3]); + var R = P[O]; + (E[8 * O + 4] = h[4 * R]), + (E[8 * O + 5] = h[4 * R + 1]), + (E[8 * O + 6] = h[4 * R + 2]), + (E[8 * O + 7] = h[4 * R + 3]); + } + } + } else if (I.length || P.length) { + E = new Uint8Array(4 * L + 2); + for (var F = 0; F < L; F++) + null != I[F] && + ((E[4 * F] = I[F] % c), + (E[4 * F + 1] = Math.floor(I[F] / c))), + null != P[F] && + ((E[4 * F + 2] = P[F] % c), + (E[4 * F + 3] = Math.floor(P[F] / c))); + } + z({ + data: E || new Uint8Array(0), + type: 'uint8', + usage: 'dynamic', + }); + } + return n; + }); + } + }), + (b.prototype.addMarker = function (t) { + var e, + r = this.markerTextures, + n = this.regl, + i = this.markerCache, + a = null == t ? 0 : i.indexOf(t); + if (a >= 0) return a; + if (t instanceof Uint8Array || t instanceof Uint8ClampedArray) + e = t; + else { + e = new Uint8Array(t.length); + for (var o = 0, s = t.length; o < s; o++) e[o] = 255 * t[o]; + } + var l = Math.floor(Math.sqrt(e.length)); + return ( + (a = r.length), + i.push(t), + r.push( + n.texture({ + channels: 1, + data: e, + radius: l, + mag: 'linear', + min: 'linear', + }) + ), + a + ); + }), + (b.prototype.updateColor = function (t) { + var e = this.paletteIds, + r = this.palette, + n = this.maxColors; + Array.isArray(t) || (t = [t]); + var i = []; + if ('number' == typeof t[0]) { + var a = []; + if (Array.isArray(t)) + for (var o = 0; o < t.length; o += 4) + a.push(t.slice(o, o + 4)); + else + for (var l = 0; l < t.length; l += 4) + a.push(t.subarray(l, l + 4)); + t = a; + } + for (var u = 0; u < t.length; u++) { + var f = t[u]; + f = s(f, 'uint8'); + var h = c(f, !1); + if (null == e[h]) { + var p = r.length; + (e[h] = Math.floor(p / 4)), + (r[p] = f[0]), + (r[p + 1] = f[1]), + (r[p + 2] = f[2]), + (r[p + 3] = f[3]); + } + i[u] = e[h]; + } + return ( + !this.tooManyColors && + r.length > 4 * n && + (this.tooManyColors = !0), + this.updatePalette(r), + 1 === i.length ? i[0] : i + ); + }), + (b.prototype.updatePalette = function (t) { + if (!this.tooManyColors) { + var e = this.maxColors, + r = this.paletteTexture, + n = Math.ceil((0.25 * t.length) / e); + if (n > 1) + for ( + var i = (0.25 * (t = t.slice()).length) % e; + i < n * e; + i++ + ) + t.push(0, 0, 0, 0); + r.height < n && r.resize(e, n), + r.subimage( + { width: Math.min(0.25 * t.length, e), height: n, data: t }, + 0, + 0 + ); + } + }), + (b.prototype.destroy = function () { + return ( + this.groups.forEach(function (t) { + t.sizeBuffer.destroy(), + t.positionBuffer.destroy(), + t.positionFractBuffer.destroy(), + t.colorBuffer.destroy(), + t.activation.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + t.selectionBuffer.destroy(), + t.elements && t.elements.destroy(); + }), + (this.groups.length = 0), + this.paletteTexture.destroy(), + this.markerTextures.forEach(function (t) { + return t && t.destroy && t.destroy(); + }), + this + ); + }); + var _ = t('object-assign'); + e.exports = function (t, e) { + var r = new x(t, e), + n = r.render.bind(r); + return ( + _(n, { + render: n, + update: r.update.bind(r), + draw: r.draw.bind(r), + destroy: r.destroy.bind(r), + regl: r.regl, + gl: r.gl, + canvas: r.gl.canvas, + groups: r.groups, + markers: r.markerCache, + palette: r.palette, + }), + n + ); + }; + }, + { + '@plotly/point-cluster': 57, + 'array-bounds': 70, + 'color-id': 123, + 'color-normalize': 125, + 'flatten-vertex-data': 244, + glslify: 538, + 'is-iexplorer': 466, + 'object-assign': 499, + 'parse-rect': 504, + 'pick-by-alias': 511, + 'to-float32': 577, + 'update-diff': 599, + }, + ], + 538: [ + function (t, e, r) { + arguments[4][257][0].apply(r, arguments); + }, + { dup: 257 }, + ], + 539: [ + function (t, e, r) { + 'use strict'; + var n = t('regl-scatter2d'), + i = t('pick-by-alias'), + a = t('array-bounds'), + o = t('raf'), + s = t('array-range'), + l = t('parse-rect'), + c = t('flatten-vertex-data'); + function u(t, e) { + if (!(this instanceof u)) return new u(t, e); + (this.traces = []), + (this.passes = {}), + (this.regl = t), + (this.scatter = n(t)), + (this.canvas = this.scatter.canvas); + } + function f(t, e, r) { + return ( + ((null != t.id ? t.id : t) << 16) | ((255 & e) << 8) | (255 & r) + ); + } + function h(t, e, r) { + var n, + i, + a, + o, + s = t[e], + l = t[r]; + return ( + s.length > 2 + ? (s[0], s[2], (n = s[1]), (i = s[3])) + : s.length + ? ((n = s[0]), (i = s[1])) + : (s.x, (n = s.y), s.x + s.width, (i = s.y + s.height)), + l.length > 2 + ? ((a = l[0]), (o = l[2]), l[1], l[3]) + : l.length + ? ((a = l[0]), (o = l[1])) + : ((a = l.x), l.y, (o = l.x + l.width), l.y + l.height), + [a, n, o, i] + ); + } + function p(t) { + if ('number' == typeof t) return [t, t, t, t]; + if (2 === t.length) return [t[0], t[1], t[0], t[1]]; + var e = l(t); + return [e.x, e.y, e.x + e.width, e.y + e.height]; + } + (e.exports = u), + (u.prototype.render = function () { + for (var t, e = this, r = [], n = arguments.length; n--; ) + r[n] = arguments[n]; + return ( + r.length && (t = this).update.apply(t, r), + this.regl.attributes.preserveDrawingBuffer + ? this.draw() + : (this.dirty + ? null == this.planned && + (this.planned = o(function () { + e.draw(), (e.dirty = !0), (e.planned = null); + })) + : (this.draw(), + (this.dirty = !0), + o(function () { + e.dirty = !1; + })), + this) + ); + }), + (u.prototype.update = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = 0; n < e.length; n++) this.updateItem(n, e[n]); + this.traces = this.traces.filter(Boolean); + for (var i = [], a = 0, o = 0; o < this.traces.length; o++) { + for ( + var s = this.traces[o], l = this.traces[o].passes, c = 0; + c < l.length; + c++ + ) + i.push(this.passes[l[c]]); + (s.passOffset = a), (a += s.passes.length); + } + return (t = this.scatter).update.apply(t, i), this; + } + }), + (u.prototype.updateItem = function (t, e) { + var r = this.regl; + if (null === e) return (this.traces[t] = null), this; + if (!e) return this; + var n, + o = i(e, { + data: 'data items columns rows values dimensions samples x', + snap: 'snap cluster', + size: 'sizes size radius', + color: 'colors color fill fill-color fillColor', + opacity: 'opacity alpha transparency opaque', + borderSize: + 'borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline', + borderColor: + 'borderColors borderColor bordercolor stroke stroke-color strokeColor', + marker: 'markers marker shape', + range: 'range ranges databox dataBox', + viewport: 'viewport viewBox viewbox', + domain: 'domain domains area areas', + padding: 'pad padding paddings pads margin margins', + transpose: 'transpose transposed', + diagonal: 'diagonal diag showDiagonal', + upper: + 'upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf', + lower: + 'lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower', + }), + s = + this.traces[t] || + (this.traces[t] = { + id: t, + buffer: r.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(), + }), + color: 'black', + marker: null, + size: 12, + borderColor: 'transparent', + borderSize: 1, + viewport: l([ + r._gl.drawingBufferWidth, + r._gl.drawingBufferHeight, + ]), + padding: [0, 0, 0, 0], + opacity: 1, + diagonal: !0, + upper: !0, + lower: !0, + }); + if ( + (null != o.color && (s.color = o.color), + null != o.size && (s.size = o.size), + null != o.marker && (s.marker = o.marker), + null != o.borderColor && (s.borderColor = o.borderColor), + null != o.borderSize && (s.borderSize = o.borderSize), + null != o.opacity && (s.opacity = o.opacity), + o.viewport && (s.viewport = l(o.viewport)), + null != o.diagonal && (s.diagonal = o.diagonal), + null != o.upper && (s.upper = o.upper), + null != o.lower && (s.lower = o.lower), + o.data) + ) { + s.buffer(c(o.data)), + (s.columns = o.data.length), + (s.count = o.data[0].length), + (s.bounds = []); + for (var u = 0; u < s.columns; u++) + s.bounds[u] = a(o.data[u], 1); + } + o.range && + ((s.range = o.range), + (n = s.range && 'number' != typeof s.range[0])), + o.domain && (s.domain = o.domain); + var d = !1; + null != o.padding && + (Array.isArray(o.padding) && + o.padding.length === s.columns && + 'number' == typeof o.padding[o.padding.length - 1] + ? ((s.padding = o.padding.map(p)), (d = !0)) + : (s.padding = p(o.padding))); + var g = s.columns, + m = s.count, + v = s.viewport.width, + y = s.viewport.height, + x = s.viewport.x, + b = s.viewport.y, + _ = v / g, + w = y / g; + s.passes = []; + for (var T = 0; T < g; T++) + for (var k = 0; k < g; k++) + if ( + (s.diagonal || k !== T) && + (s.upper || !(T > k)) && + (s.lower || !(T < k)) + ) { + var M = f(s.id, T, k), + A = this.passes[M] || (this.passes[M] = {}); + if ( + (o.data && + (o.transpose + ? (A.positions = { + x: { + buffer: s.buffer, + offset: k, + count: m, + stride: g, + }, + y: { + buffer: s.buffer, + offset: T, + count: m, + stride: g, + }, + }) + : (A.positions = { + x: { buffer: s.buffer, offset: k * m, count: m }, + y: { buffer: s.buffer, offset: T * m, count: m }, + }), + (A.bounds = h(s.bounds, T, k))), + o.domain || o.viewport || o.data) + ) { + var S = d ? h(s.padding, T, k) : s.padding; + if (s.domain) { + var E = h(s.domain, T, k), + C = E[0], + L = E[1], + I = E[2], + P = E[3]; + A.viewport = [ + x + C * v + S[0], + b + L * y + S[1], + x + I * v - S[2], + b + P * y - S[3], + ]; + } else + A.viewport = [ + x + k * _ + _ * S[0], + b + T * w + w * S[1], + x + (k + 1) * _ - _ * S[2], + b + (T + 1) * w - w * S[3], + ]; + } + o.color && (A.color = s.color), + o.size && (A.size = s.size), + o.marker && (A.marker = s.marker), + o.borderSize && (A.borderSize = s.borderSize), + o.borderColor && (A.borderColor = s.borderColor), + o.opacity && (A.opacity = s.opacity), + o.range && + (A.range = n ? h(s.range, T, k) : s.range || A.bounds), + s.passes.push(M); + } + return this; + }), + (u.prototype.draw = function () { + for (var t, e = [], r = arguments.length; r--; ) + e[r] = arguments[r]; + if (e.length) { + for (var n = [], i = 0; i < e.length; i++) + if ('number' == typeof e[i]) { + var a = this.traces[e[i]], + o = a.passes, + l = a.passOffset; + n.push.apply(n, s(l, l + o.length)); + } else if (e[i].length) { + var c = e[i], + u = this.traces[i], + f = u.passes, + h = u.passOffset; + f = f.map(function (t, e) { + n[h + e] = c; + }); + } + (t = this.scatter).draw.apply(t, n); + } else this.scatter.draw(); + return this; + }), + (u.prototype.destroy = function () { + return ( + this.traces.forEach(function (t) { + t.buffer && t.buffer.destroy && t.buffer.destroy(); + }), + (this.traces = null), + (this.passes = null), + this.scatter.destroy(), + this + ); + }); + }, + { + 'array-bounds': 70, + 'array-range': 72, + 'flatten-vertex-data': 244, + 'parse-rect': 504, + 'pick-by-alias': 511, + raf: 528, + 'regl-scatter2d': 537, + }, + ], + 540: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? (e.exports = n()) + : (t.createREGL = n()); + })(this, function () { + function t(t, e) { + (this.id = V++), (this.type = t), (this.data = e); + } + function e(t) { + return ( + '[' + + (function t(e) { + if (0 === e.length) return []; + var r = e.charAt(0), + n = e.charAt(e.length - 1); + if (1 < e.length && r === n && ('"' === r || "'" === r)) + return [ + '"' + + e + .substr(1, e.length - 2) + .replace(/\\/g, '\\\\') + .replace(/"/g, '\\"') + + '"', + ]; + if ((r = /\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))) + return t(e.substr(0, r.index)) + .concat(t(r[1])) + .concat(t(e.substr(r.index + r[0].length))); + if (1 === (r = e.split('.')).length) + return [ + '"' + e.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"', + ]; + for (e = [], n = 0; n < r.length; ++n) e = e.concat(t(r[n])); + return e; + })(t).join('][') + + ']' + ); + } + function r(t) { + return 'string' == typeof t ? t.split() : t; + } + function n(t) { + return 'string' == typeof t ? document.querySelector(t) : t; + } + function i(t) { + var e, + i, + a, + o, + s = t || {}; + t = {}; + var l = [], + c = [], + u = 'undefined' == typeof window ? 1 : window.devicePixelRatio, + f = !1, + h = function (t) {}, + p = function () {}; + if ( + ('string' == typeof s + ? (e = document.querySelector(s)) + : 'object' == typeof s && + ('string' == typeof s.nodeName && + 'function' == typeof s.appendChild && + 'function' == typeof s.getBoundingClientRect + ? (e = s) + : 'function' == typeof s.drawArrays || + 'function' == typeof s.drawElements + ? (a = (o = s).canvas) + : ('gl' in s + ? (o = s.gl) + : 'canvas' in s + ? (a = n(s.canvas)) + : 'container' in s && (i = n(s.container)), + 'attributes' in s && (t = s.attributes), + 'extensions' in s && (l = r(s.extensions)), + 'optionalExtensions' in s && + (c = r(s.optionalExtensions)), + 'onDone' in s && (h = s.onDone), + 'profile' in s && (f = !!s.profile), + 'pixelRatio' in s && (u = +s.pixelRatio))), + e && + ('canvas' === e.nodeName.toLowerCase() ? (a = e) : (i = e)), + !o) + ) { + if (!a) { + if ( + !(e = (function (t, e, r) { + function n() { + var e = window.innerWidth, + n = window.innerHeight; + t !== document.body && + ((e = (n = t.getBoundingClientRect()).right - n.left), + (n = n.bottom - n.top)), + (a.width = r * e), + (a.height = r * n), + U(a.style, { width: e + 'px', height: n + 'px' }); + } + var i, + a = document.createElement('canvas'); + return ( + U(a.style, { + border: 0, + margin: 0, + padding: 0, + top: 0, + left: 0, + }), + t.appendChild(a), + t === document.body && + ((a.style.position = 'absolute'), + U(t.style, { margin: 0, padding: 0 })), + t !== document.body && + 'function' == typeof ResizeObserver + ? (i = new ResizeObserver(function () { + setTimeout(n); + })).observe(t) + : window.addEventListener('resize', n, !1), + n(), + { + canvas: a, + onDestroy: function () { + i + ? i.disconnect() + : window.removeEventListener('resize', n), + t.removeChild(a); + }, + } + ); + })(i || document.body, 0, u)) + ) + return null; + (a = e.canvas), (p = e.onDestroy); + } + void 0 === t.premultipliedAlpha && (t.premultipliedAlpha = !0), + (o = (function (t, e) { + function r(r) { + try { + return t.getContext(r, e); + } catch (t) { + return null; + } + } + return ( + r('webgl') || + r('experimental-webgl') || + r('webgl-experimental') + ); + })(a, t)); + } + return o + ? { + gl: o, + canvas: a, + container: i, + extensions: l, + optionalExtensions: c, + pixelRatio: u, + profile: f, + onDone: h, + onDestroy: p, + } + : (p(), + h( + 'webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org' + ), + null); + } + function a(t, e) { + for (var r = Array(t), n = 0; n < t; ++n) r[n] = e(n); + return r; + } + function o(t) { + var e, r; + return ( + (e = (65535 < t) << 4), + (e |= r = (255 < (t >>>= e)) << 3), + (e |= r = (15 < (t >>>= r)) << 2) | + (r = (3 < (t >>>= r)) << 1) | + ((t >>> r) >> 1) + ); + } + function s() { + function t(t) { + t: { + for (var e = 16; 268435456 >= e; e *= 16) + if (t <= e) { + t = e; + break t; + } + t = 0; + } + return 0 < (e = r[o(t) >> 2]).length + ? e.pop() + : new ArrayBuffer(t); + } + function e(t) { + r[o(t.byteLength) >> 2].push(t); + } + var r = a(8, function () { + return []; + }); + return { + alloc: t, + free: e, + allocType: function (e, r) { + var n = null; + switch (e) { + case 5120: + n = new Int8Array(t(r), 0, r); + break; + case 5121: + n = new Uint8Array(t(r), 0, r); + break; + case 5122: + n = new Int16Array(t(2 * r), 0, r); + break; + case 5123: + n = new Uint16Array(t(2 * r), 0, r); + break; + case 5124: + n = new Int32Array(t(4 * r), 0, r); + break; + case 5125: + n = new Uint32Array(t(4 * r), 0, r); + break; + case 5126: + n = new Float32Array(t(4 * r), 0, r); + break; + default: + return null; + } + return n.length !== r ? n.subarray(0, r) : n; + }, + freeType: function (t) { + e(t.buffer); + }, + }; + } + function l(t) { + return ( + !!t && + 'object' == typeof t && + Array.isArray(t.shape) && + Array.isArray(t.stride) && + 'number' == typeof t.offset && + t.shape.length === t.stride.length && + (Array.isArray(t.data) || X(t.data)) + ); + } + function c(t, e, r, n, i, a) { + for (var o = 0; o < e; ++o) + for (var s = t[o], l = 0; l < r; ++l) + for (var c = s[l], u = 0; u < n; ++u) i[a++] = c[u]; + } + function u(t) { + return 0 | K[Object.prototype.toString.call(t)]; + } + function f(t, e) { + for (var r = 0; r < e.length; ++r) t[r] = e[r]; + } + function h(t, e, r, n, i, a, o) { + for (var s = 0, l = 0; l < r; ++l) + for (var c = 0; c < n; ++c) t[s++] = e[i * l + a * c + o]; + } + function p(t, e, r, n) { + function i(e) { + (this.id = c++), + (this.buffer = t.createBuffer()), + (this.type = e), + (this.usage = 35044), + (this.byteLength = 0), + (this.dimension = 1), + (this.dtype = 5121), + (this.persistentData = null), + r.profile && (this.stats = { size: 0 }); + } + function a(e, r, n) { + (e.byteLength = r.byteLength), t.bufferData(e.type, r, n); + } + function o(t, e, r, n, i, o) { + if (((t.usage = r), Array.isArray(e))) { + if (((t.dtype = n || 5126), 0 < e.length)) + if (Array.isArray(e[0])) { + i = et(e); + for (var s = (n = 1); s < i.length; ++s) n *= i[s]; + (t.dimension = n), + a(t, (e = tt(e, i, t.dtype)), r), + o ? (t.persistentData = e) : Y.freeType(e); + } else + 'number' == typeof e[0] + ? ((t.dimension = i), + f((i = Y.allocType(t.dtype, e.length)), e), + a(t, i, r), + o ? (t.persistentData = i) : Y.freeType(i)) + : X(e[0]) && + ((t.dimension = e[0].length), + (t.dtype = n || u(e[0]) || 5126), + a( + t, + (e = tt(e, [e.length, e[0].length], t.dtype)), + r + ), + o ? (t.persistentData = e) : Y.freeType(e)); + } else if (X(e)) + (t.dtype = n || u(e)), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array( + new Uint8Array(e.buffer) + )); + else if (l(e)) { + i = e.shape; + var c = e.stride, + p = ((s = e.offset), 0), + d = 0, + g = 0, + m = 0; + 1 === i.length + ? ((p = i[0]), (d = 1), (g = c[0]), (m = 0)) + : 2 === i.length && + ((p = i[0]), (d = i[1]), (g = c[0]), (m = c[1])), + (t.dtype = n || u(e.data) || 5126), + (t.dimension = d), + h((i = Y.allocType(t.dtype, p * d)), e.data, p, d, g, m, s), + a(t, i, r), + o ? (t.persistentData = i) : Y.freeType(i); + } else + e instanceof ArrayBuffer && + ((t.dtype = 5121), + (t.dimension = i), + a(t, e, r), + o && + (t.persistentData = new Uint8Array(new Uint8Array(e)))); + } + function s(r) { + e.bufferCount--, + n(r), + t.deleteBuffer(r.buffer), + (r.buffer = null), + delete p[r.id]; + } + var c = 0, + p = {}; + (i.prototype.bind = function () { + t.bindBuffer(this.type, this.buffer); + }), + (i.prototype.destroy = function () { + s(this); + }); + var d = []; + return ( + r.profile && + (e.getTotalBufferSize = function () { + var t = 0; + return ( + Object.keys(p).forEach(function (e) { + t += p[e].stats.size; + }), + t + ); + }), + { + create: function (n, a, c, d) { + function g(e) { + var n = 35044, + i = null, + a = 0, + s = 0, + c = 1; + return ( + Array.isArray(e) || + X(e) || + l(e) || + e instanceof ArrayBuffer + ? (i = e) + : 'number' == typeof e + ? (a = 0 | e) + : e && + ('data' in e && (i = e.data), + 'usage' in e && (n = $[e.usage]), + 'type' in e && (s = Q[e.type]), + 'dimension' in e && (c = 0 | e.dimension), + 'length' in e && (a = 0 | e.length)), + m.bind(), + i + ? o(m, i, n, s, c, d) + : (a && t.bufferData(m.type, a, n), + (m.dtype = s || 5121), + (m.usage = n), + (m.dimension = c), + (m.byteLength = a)), + r.profile && + (m.stats.size = m.byteLength * rt[m.dtype]), + g + ); + } + e.bufferCount++; + var m = new i(a); + return ( + (p[m.id] = m), + c || g(n), + (g._reglType = 'buffer'), + (g._buffer = m), + (g.subdata = function (e, r) { + var n, + i = 0 | (r || 0); + if ((m.bind(), X(e) || e instanceof ArrayBuffer)) + t.bufferSubData(m.type, i, e); + else if (Array.isArray(e)) { + if (0 < e.length) + if ('number' == typeof e[0]) { + var a = Y.allocType(m.dtype, e.length); + f(a, e), + t.bufferSubData(m.type, i, a), + Y.freeType(a); + } else + (Array.isArray(e[0]) || X(e[0])) && + ((n = et(e)), + (a = tt(e, n, m.dtype)), + t.bufferSubData(m.type, i, a), + Y.freeType(a)); + } else if (l(e)) { + n = e.shape; + var o = e.stride, + s = (a = 0), + c = 0, + p = 0; + 1 === n.length + ? ((a = n[0]), (s = 1), (c = o[0]), (p = 0)) + : 2 === n.length && + ((a = n[0]), (s = n[1]), (c = o[0]), (p = o[1])), + (n = Array.isArray(e.data) ? m.dtype : u(e.data)), + h( + (n = Y.allocType(n, a * s)), + e.data, + a, + s, + c, + p, + e.offset + ), + t.bufferSubData(m.type, i, n), + Y.freeType(n); + } + return g; + }), + r.profile && (g.stats = m.stats), + (g.destroy = function () { + s(m); + }), + g + ); + }, + createStream: function (t, e) { + var r = d.pop(); + return ( + r || (r = new i(t)), r.bind(), o(r, e, 35040, 0, 1, !1), r + ); + }, + destroyStream: function (t) { + d.push(t); + }, + clear: function () { + Z(p).forEach(s), d.forEach(s); + }, + getBuffer: function (t) { + return t && t._buffer instanceof i ? t._buffer : null; + }, + restore: function () { + Z(p).forEach(function (e) { + (e.buffer = t.createBuffer()), + t.bindBuffer(e.type, e.buffer), + t.bufferData( + e.type, + e.persistentData || e.byteLength, + e.usage + ); + }); + }, + _initBuffer: o, + } + ); + } + function d(t, e, r, n) { + function i(t) { + (this.id = c++), + (s[this.id] = this), + (this.buffer = t), + (this.primType = 4), + (this.type = this.vertCount = 0); + } + function a(n, i, a, o, s, c, u) { + var f; + if ( + (n.buffer.bind(), + i + ? ((f = u) || + (X(i) && (!l(i) || X(i.data))) || + (f = e.oes_element_index_uint ? 5125 : 5123), + r._initBuffer(n.buffer, i, a, f, 3)) + : (t.bufferData(34963, c, a), + (n.buffer.dtype = f || 5121), + (n.buffer.usage = a), + (n.buffer.dimension = 3), + (n.buffer.byteLength = c)), + (f = u), + !u) + ) { + switch (n.buffer.dtype) { + case 5121: + case 5120: + f = 5121; + break; + case 5123: + case 5122: + f = 5123; + break; + case 5125: + case 5124: + f = 5125; + } + n.buffer.dtype = f; + } + (n.type = f), + 0 > (i = s) && + ((i = n.buffer.byteLength), + 5123 === f ? (i >>= 1) : 5125 === f && (i >>= 2)), + (n.vertCount = i), + (i = o), + 0 > o && + ((i = 4), + 1 === (o = n.buffer.dimension) && (i = 0), + 2 === o && (i = 1), + 3 === o && (i = 4)), + (n.primType = i); + } + function o(t) { + n.elementsCount--, + delete s[t.id], + t.buffer.destroy(), + (t.buffer = null); + } + var s = {}, + c = 0, + u = { uint8: 5121, uint16: 5123 }; + e.oes_element_index_uint && (u.uint32 = 5125), + (i.prototype.bind = function () { + this.buffer.bind(); + }); + var f = []; + return { + create: function (t, e) { + function s(t) { + if (t) + if ('number' == typeof t) + c(t), + (f.primType = 4), + (f.vertCount = 0 | t), + (f.type = 5121); + else { + var e = null, + r = 35044, + n = -1, + i = -1, + o = 0, + h = 0; + Array.isArray(t) || X(t) || l(t) + ? (e = t) + : ('data' in t && (e = t.data), + 'usage' in t && (r = $[t.usage]), + 'primitive' in t && (n = nt[t.primitive]), + 'count' in t && (i = 0 | t.count), + 'type' in t && (h = u[t.type]), + 'length' in t + ? (o = 0 | t.length) + : ((o = i), + 5123 === h || 5122 === h + ? (o *= 2) + : (5125 !== h && 5124 !== h) || (o *= 4))), + a(f, e, r, n, i, o, h); + } + else + c(), (f.primType = 4), (f.vertCount = 0), (f.type = 5121); + return s; + } + var c = r.create(null, 34963, !0), + f = new i(c._buffer); + return ( + n.elementsCount++, + s(t), + (s._reglType = 'elements'), + (s._elements = f), + (s.subdata = function (t, e) { + return c.subdata(t, e), s; + }), + (s.destroy = function () { + o(f); + }), + s + ); + }, + createStream: function (t) { + var e = f.pop(); + return ( + e || (e = new i(r.create(null, 34963, !0, !1)._buffer)), + a(e, t, 35040, -1, -1, 0, 0), + e + ); + }, + destroyStream: function (t) { + f.push(t); + }, + getElements: function (t) { + return 'function' == typeof t && t._elements instanceof i + ? t._elements + : null; + }, + clear: function () { + Z(s).forEach(o); + }, + }; + } + function g(t) { + for ( + var e = Y.allocType(5123, t.length), r = 0; + r < t.length; + ++r + ) + if (isNaN(t[r])) e[r] = 65535; + else if (1 / 0 === t[r]) e[r] = 31744; + else if (-1 / 0 === t[r]) e[r] = 64512; + else { + it[0] = t[r]; + var n = ((a = at[0]) >>> 31) << 15, + i = ((a << 1) >>> 24) - 127, + a = (a >> 13) & 1023; + e[r] = + -24 > i + ? n + : -14 > i + ? n + ((a + 1024) >> (-14 - i)) + : 15 < i + ? n + 31744 + : n + ((i + 15) << 10) + a; + } + return e; + } + function m(t) { + return Array.isArray(t) || X(t); + } + function v(t) { + return '[object ' + t + ']'; + } + function y(t) { + return ( + Array.isArray(t) && (0 === t.length || 'number' == typeof t[0]) + ); + } + function x(t) { + return !(!Array.isArray(t) || 0 === t.length || !m(t[0])); + } + function b(t) { + return Object.prototype.toString.call(t); + } + function _(t) { + if (!t) return !1; + var e = b(t); + return 0 <= gt.indexOf(e) || y(t) || x(t) || l(t); + } + function w(t, e) { + 36193 === t.type + ? ((t.data = g(e)), Y.freeType(e)) + : (t.data = e); + } + function T(t, e, r, n, i, a) { + if ( + ((t = 'undefined' != typeof vt[t] ? vt[t] : lt[t] * mt[e]), + a && (t *= 6), + i) + ) { + for (n = 0; 1 <= r; ) (n += t * r * r), (r /= 2); + return n; + } + return t * r * n; + } + function k(t, e, r, n, i, a, o) { + function s() { + (this.format = this.internalformat = 6408), + (this.type = 5121), + (this.flipY = this.premultiplyAlpha = this.compressed = !1), + (this.unpackAlignment = 1), + (this.colorSpace = 37444), + (this.channels = this.height = this.width = 0); + } + function c(t, e) { + (t.internalformat = e.internalformat), + (t.format = e.format), + (t.type = e.type), + (t.compressed = e.compressed), + (t.premultiplyAlpha = e.premultiplyAlpha), + (t.flipY = e.flipY), + (t.unpackAlignment = e.unpackAlignment), + (t.colorSpace = e.colorSpace), + (t.width = e.width), + (t.height = e.height), + (t.channels = e.channels); + } + function u(t, e) { + if ('object' == typeof e && e) { + 'premultiplyAlpha' in e && + (t.premultiplyAlpha = e.premultiplyAlpha), + 'flipY' in e && (t.flipY = e.flipY), + 'alignment' in e && (t.unpackAlignment = e.alignment), + 'colorSpace' in e && (t.colorSpace = q[e.colorSpace]), + 'type' in e && (t.type = H[e.type]); + var r = t.width, + n = t.height, + i = t.channels, + a = !1; + 'shape' in e + ? ((r = e.shape[0]), + (n = e.shape[1]), + 3 === e.shape.length && ((i = e.shape[2]), (a = !0))) + : ('radius' in e && (r = n = e.radius), + 'width' in e && (r = e.width), + 'height' in e && (n = e.height), + 'channels' in e && ((i = e.channels), (a = !0))), + (t.width = 0 | r), + (t.height = 0 | n), + (t.channels = 0 | i), + (r = !1), + 'format' in e && + ((r = e.format), + (n = t.internalformat = G[r]), + (t.format = at[n]), + r in H && !('type' in e) && (t.type = H[r]), + r in W && (t.compressed = !0), + (r = !0)), + !a && r + ? (t.channels = lt[t.format]) + : a && + !r && + t.channels !== st[t.format] && + (t.format = t.internalformat = st[t.channels]); + } + } + function f(e) { + t.pixelStorei(37440, e.flipY), + t.pixelStorei(37441, e.premultiplyAlpha), + t.pixelStorei(37443, e.colorSpace), + t.pixelStorei(3317, e.unpackAlignment); + } + function h() { + s.call(this), + (this.yOffset = this.xOffset = 0), + (this.data = null), + (this.needsFree = !1), + (this.element = null), + (this.needsCopy = !1); + } + function p(t, e) { + var r = null; + if ( + (_(e) + ? (r = e) + : e && + (u(t, e), + 'x' in e && (t.xOffset = 0 | e.x), + 'y' in e && (t.yOffset = 0 | e.y), + _(e.data) && (r = e.data)), + e.copy) + ) { + var n = i.viewportWidth, + a = i.viewportHeight; + (t.width = t.width || n - t.xOffset), + (t.height = t.height || a - t.yOffset), + (t.needsCopy = !0); + } else if (r) { + if (X(r)) + (t.channels = t.channels || 4), + (t.data = r), + 'type' in e || + 5121 !== t.type || + (t.type = 0 | K[Object.prototype.toString.call(r)]); + else if (y(r)) { + switch ( + ((t.channels = t.channels || 4), + (a = (n = r).length), + t.type) + ) { + case 5121: + case 5123: + case 5125: + case 5126: + (a = Y.allocType(t.type, a)).set(n), (t.data = a); + break; + case 36193: + t.data = g(n); + } + (t.alignment = 1), (t.needsFree = !0); + } else if (l(r)) { + (n = r.data), + Array.isArray(n) || + 5121 !== t.type || + (t.type = 0 | K[Object.prototype.toString.call(n)]); + a = r.shape; + var o, + s, + c, + f, + h = r.stride; + 3 === a.length ? ((c = a[2]), (f = h[2])) : (f = c = 1), + (o = a[0]), + (s = a[1]), + (a = h[0]), + (h = h[1]), + (t.alignment = 1), + (t.width = o), + (t.height = s), + (t.channels = c), + (t.format = t.internalformat = st[c]), + (t.needsFree = !0), + (o = f), + (r = r.offset), + (c = t.width), + (f = t.height), + (s = t.channels); + for ( + var p = Y.allocType( + 36193 === t.type ? 5126 : t.type, + c * f * s + ), + d = 0, + v = 0; + v < f; + ++v + ) + for (var T = 0; T < c; ++T) + for (var k = 0; k < s; ++k) + p[d++] = n[a * T + h * v + o * k + r]; + w(t, p); + } else if (b(r) === ct || b(r) === ut || b(r) === ft) + b(r) === ct || b(r) === ut + ? (t.element = r) + : (t.element = r.canvas), + (t.width = t.element.width), + (t.height = t.element.height), + (t.channels = 4); + else if (b(r) === ht) + (t.element = r), + (t.width = r.width), + (t.height = r.height), + (t.channels = 4); + else if (b(r) === pt) + (t.element = r), + (t.width = r.naturalWidth), + (t.height = r.naturalHeight), + (t.channels = 4); + else if (b(r) === dt) + (t.element = r), + (t.width = r.videoWidth), + (t.height = r.videoHeight), + (t.channels = 4); + else if (x(r)) { + for ( + n = t.width || r[0].length, + a = t.height || r.length, + h = t.channels, + h = m(r[0][0]) ? h || r[0][0].length : h || 1, + o = J.shape(r), + c = 1, + f = 0; + f < o.length; + ++f + ) + c *= o[f]; + (c = Y.allocType(36193 === t.type ? 5126 : t.type, c)), + J.flatten(r, o, '', c), + w(t, c), + (t.alignment = 1), + (t.width = n), + (t.height = a), + (t.channels = h), + (t.format = t.internalformat = st[h]), + (t.needsFree = !0); + } + } else + (t.width = t.width || 1), + (t.height = t.height || 1), + (t.channels = t.channels || 4); + } + function d(e, r, i, a, o) { + var s = e.element, + l = e.data, + c = e.internalformat, + u = e.format, + h = e.type, + p = e.width, + d = e.height; + f(e), + s + ? t.texSubImage2D(r, o, i, a, u, h, s) + : e.compressed + ? t.compressedTexSubImage2D(r, o, i, a, c, p, d, l) + : e.needsCopy + ? (n(), + t.copyTexSubImage2D( + r, + o, + i, + a, + e.xOffset, + e.yOffset, + p, + d + )) + : t.texSubImage2D(r, o, i, a, p, d, u, h, l); + } + function v() { + return gt.pop() || new h(); + } + function k(t) { + t.needsFree && Y.freeType(t.data), h.call(t), gt.push(t); + } + function M() { + s.call(this), + (this.genMipmaps = !1), + (this.mipmapHint = 4352), + (this.mipmask = 0), + (this.images = Array(16)); + } + function A(t, e, r) { + var n = (t.images[0] = v()); + (t.mipmask = 1), + (n.width = t.width = e), + (n.height = t.height = r), + (n.channels = t.channels = 4); + } + function S(t, e) { + var r = null; + if (_(e)) + c((r = t.images[0] = v()), t), p(r, e), (t.mipmask = 1); + else if ((u(t, e), Array.isArray(e.mipmap))) + for (var n = e.mipmap, i = 0; i < n.length; ++i) + c((r = t.images[i] = v()), t), + (r.width >>= i), + (r.height >>= i), + p(r, n[i]), + (t.mipmask |= 1 << i); + else c((r = t.images[0] = v()), t), p(r, e), (t.mipmask = 1); + c(t, t.images[0]); + } + function E(e, r) { + for (var i = e.images, a = 0; a < i.length && i[a]; ++a) { + var o = i[a], + s = r, + l = a, + c = o.element, + u = o.data, + h = o.internalformat, + p = o.format, + d = o.type, + g = o.width, + m = o.height; + f(o), + c + ? t.texImage2D(s, l, p, p, d, c) + : o.compressed + ? t.compressedTexImage2D(s, l, h, g, m, 0, u) + : o.needsCopy + ? (n(), + t.copyTexImage2D( + s, + l, + p, + o.xOffset, + o.yOffset, + g, + m, + 0 + )) + : t.texImage2D(s, l, p, g, m, 0, p, d, u || null); + } + } + function C() { + var t = mt.pop() || new M(); + s.call(t); + for (var e = (t.mipmask = 0); 16 > e; ++e) t.images[e] = null; + return t; + } + function L(t) { + for (var e = t.images, r = 0; r < e.length; ++r) + e[r] && k(e[r]), (e[r] = null); + mt.push(t); + } + function I() { + (this.magFilter = this.minFilter = 9728), + (this.wrapT = this.wrapS = 33071), + (this.anisotropic = 1), + (this.genMipmaps = !1), + (this.mipmapHint = 4352); + } + function P(t, e) { + 'min' in e && + ((t.minFilter = V[e.min]), + 0 <= ot.indexOf(t.minFilter) && + !('faces' in e) && + (t.genMipmaps = !0)), + 'mag' in e && (t.magFilter = j[e.mag]); + var r = t.wrapS, + n = t.wrapT; + if ('wrap' in e) { + var i = e.wrap; + 'string' == typeof i + ? (r = n = N[i]) + : Array.isArray(i) && ((r = N[i[0]]), (n = N[i[1]])); + } else 'wrapS' in e && (r = N[e.wrapS]), 'wrapT' in e && (n = N[e.wrapT]); + if ( + ((t.wrapS = r), + (t.wrapT = n), + 'anisotropic' in e && (t.anisotropic = e.anisotropic), + 'mipmap' in e) + ) { + switch (((r = !1), typeof e.mipmap)) { + case 'string': + (t.mipmapHint = B[e.mipmap]), (r = t.genMipmaps = !0); + break; + case 'boolean': + r = t.genMipmaps = e.mipmap; + break; + case 'object': + (t.genMipmaps = !1), (r = !0); + } + !r || 'min' in e || (t.minFilter = 9984); + } + } + function z(r, n) { + t.texParameteri(n, 10241, r.minFilter), + t.texParameteri(n, 10240, r.magFilter), + t.texParameteri(n, 10242, r.wrapS), + t.texParameteri(n, 10243, r.wrapT), + e.ext_texture_filter_anisotropic && + t.texParameteri(n, 34046, r.anisotropic), + r.genMipmaps && + (t.hint(33170, r.mipmapHint), t.generateMipmap(n)); + } + function O(e) { + s.call(this), + (this.mipmask = 0), + (this.internalformat = 6408), + (this.id = vt++), + (this.refCount = 1), + (this.target = e), + (this.texture = t.createTexture()), + (this.unit = -1), + (this.bindCount = 0), + (this.texInfo = new I()), + o.profile && (this.stats = { size: 0 }); + } + function D(e) { + t.activeTexture(33984), t.bindTexture(e.target, e.texture); + } + function R() { + var e = bt[0]; + e + ? t.bindTexture(e.target, e.texture) + : t.bindTexture(3553, null); + } + function F(e) { + var r = e.texture, + n = e.unit, + i = e.target; + 0 <= n && + (t.activeTexture(33984 + n), + t.bindTexture(i, null), + (bt[n] = null)), + t.deleteTexture(r), + (e.texture = null), + (e.params = null), + (e.pixels = null), + (e.refCount = 0), + delete yt[e.id], + a.textureCount--; + } + var B = { + "don't care": 4352, + 'dont care': 4352, + nice: 4354, + fast: 4353, + }, + N = { repeat: 10497, clamp: 33071, mirror: 33648 }, + j = { nearest: 9728, linear: 9729 }, + V = U( + { + mipmap: 9987, + 'nearest mipmap nearest': 9984, + 'linear mipmap nearest': 9985, + 'nearest mipmap linear': 9986, + 'linear mipmap linear': 9987, + }, + j + ), + q = { none: 0, browser: 37444 }, + H = { + uint8: 5121, + rgba4: 32819, + rgb565: 33635, + 'rgb5 a1': 32820, + }, + G = { + alpha: 6406, + luminance: 6409, + 'luminance alpha': 6410, + rgb: 6407, + rgba: 6408, + rgba4: 32854, + 'rgb5 a1': 32855, + rgb565: 36194, + }, + W = {}; + e.ext_srgb && ((G.srgb = 35904), (G.srgba = 35906)), + e.oes_texture_float && (H.float32 = H.float = 5126), + e.oes_texture_half_float && + (H.float16 = H['half float'] = 36193), + e.webgl_depth_texture && + (U(G, { depth: 6402, 'depth stencil': 34041 }), + U(H, { uint16: 5123, uint32: 5125, 'depth stencil': 34042 })), + e.webgl_compressed_texture_s3tc && + U(W, { + 'rgb s3tc dxt1': 33776, + 'rgba s3tc dxt1': 33777, + 'rgba s3tc dxt3': 33778, + 'rgba s3tc dxt5': 33779, + }), + e.webgl_compressed_texture_atc && + U(W, { + 'rgb atc': 35986, + 'rgba atc explicit alpha': 35987, + 'rgba atc interpolated alpha': 34798, + }), + e.webgl_compressed_texture_pvrtc && + U(W, { + 'rgb pvrtc 4bppv1': 35840, + 'rgb pvrtc 2bppv1': 35841, + 'rgba pvrtc 4bppv1': 35842, + 'rgba pvrtc 2bppv1': 35843, + }), + e.webgl_compressed_texture_etc1 && (W['rgb etc1'] = 36196); + var Q = Array.prototype.slice.call(t.getParameter(34467)); + Object.keys(W).forEach(function (t) { + var e = W[t]; + 0 <= Q.indexOf(e) && (G[t] = e); + }); + var $ = Object.keys(G); + r.textureFormats = $; + var tt = []; + Object.keys(G).forEach(function (t) { + tt[G[t]] = t; + }); + var et = []; + Object.keys(H).forEach(function (t) { + et[H[t]] = t; + }); + var rt = []; + Object.keys(j).forEach(function (t) { + rt[j[t]] = t; + }); + var nt = []; + Object.keys(V).forEach(function (t) { + nt[V[t]] = t; + }); + var it = []; + Object.keys(N).forEach(function (t) { + it[N[t]] = t; + }); + var at = $.reduce(function (t, r) { + var n = G[r]; + return ( + 6409 === n || + 6406 === n || + 6409 === n || + 6410 === n || + 6402 === n || + 34041 === n || + (e.ext_srgb && (35904 === n || 35906 === n)) + ? (t[n] = n) + : 32855 === n || 0 <= r.indexOf('rgba') + ? (t[n] = 6408) + : (t[n] = 6407), + t + ); + }, {}), + gt = [], + mt = [], + vt = 0, + yt = {}, + xt = r.maxTextureUnits, + bt = Array(xt).map(function () { + return null; + }); + return ( + U(O.prototype, { + bind: function () { + this.bindCount += 1; + var e = this.unit; + if (0 > e) { + for (var r = 0; r < xt; ++r) { + var n = bt[r]; + if (n) { + if (0 < n.bindCount) continue; + n.unit = -1; + } + (bt[r] = this), (e = r); + break; + } + o.profile && + a.maxTextureUnits < e + 1 && + (a.maxTextureUnits = e + 1), + (this.unit = e), + t.activeTexture(33984 + e), + t.bindTexture(this.target, this.texture); + } + return e; + }, + unbind: function () { + --this.bindCount; + }, + decRef: function () { + 0 >= --this.refCount && F(this); + }, + }), + o.profile && + (a.getTotalTextureSize = function () { + var t = 0; + return ( + Object.keys(yt).forEach(function (e) { + t += yt[e].stats.size; + }), + t + ); + }), + { + create2D: function (e, r) { + function n(t, e) { + var r = i.texInfo; + I.call(r); + var a = C(); + return ( + 'number' == typeof t + ? A(a, 0 | t, 'number' == typeof e ? 0 | e : 0 | t) + : t + ? (P(r, t), S(a, t)) + : A(a, 1, 1), + r.genMipmaps && (a.mipmask = (a.width << 1) - 1), + (i.mipmask = a.mipmask), + c(i, a), + (i.internalformat = a.internalformat), + (n.width = a.width), + (n.height = a.height), + D(i), + E(a, 3553), + z(r, 3553), + R(), + L(a), + o.profile && + (i.stats.size = T( + i.internalformat, + i.type, + a.width, + a.height, + r.genMipmaps, + !1 + )), + (n.format = tt[i.internalformat]), + (n.type = et[i.type]), + (n.mag = rt[r.magFilter]), + (n.min = nt[r.minFilter]), + (n.wrapS = it[r.wrapS]), + (n.wrapT = it[r.wrapT]), + n + ); + } + var i = new O(3553); + return ( + (yt[i.id] = i), + a.textureCount++, + n(e, r), + (n.subimage = function (t, e, r, a) { + (e |= 0), (r |= 0), (a |= 0); + var o = v(); + return ( + c(o, i), + (o.width = 0), + (o.height = 0), + p(o, t), + (o.width = o.width || (i.width >> a) - e), + (o.height = o.height || (i.height >> a) - r), + D(i), + d(o, 3553, e, r, a), + R(), + k(o), + n + ); + }), + (n.resize = function (e, r) { + var a = 0 | e, + s = 0 | r || a; + if (a === i.width && s === i.height) return n; + (n.width = i.width = a), + (n.height = i.height = s), + D(i); + for (var l = 0; i.mipmask >> l; ++l) { + var c = a >> l, + u = s >> l; + if (!c || !u) break; + t.texImage2D( + 3553, + l, + i.format, + c, + u, + 0, + i.format, + i.type, + null + ); + } + return ( + R(), + o.profile && + (i.stats.size = T( + i.internalformat, + i.type, + a, + s, + !1, + !1 + )), + n + ); + }), + (n._reglType = 'texture2d'), + (n._texture = i), + o.profile && (n.stats = i.stats), + (n.destroy = function () { + i.decRef(); + }), + n + ); + }, + createCube: function (e, r, n, i, s, l) { + function f(t, e, r, n, i, a) { + var s, + l = h.texInfo; + for (I.call(l), s = 0; 6 > s; ++s) g[s] = C(); + if ('number' != typeof t && t) { + if ('object' == typeof t) + if (e) + S(g[0], t), + S(g[1], e), + S(g[2], r), + S(g[3], n), + S(g[4], i), + S(g[5], a); + else if ((P(l, t), u(h, t), 'faces' in t)) + for (t = t.faces, s = 0; 6 > s; ++s) + c(g[s], h), S(g[s], t[s]); + else for (s = 0; 6 > s; ++s) S(g[s], t); + } else + for (t = 0 | t || 1, s = 0; 6 > s; ++s) A(g[s], t, t); + for ( + c(h, g[0]), + h.mipmask = l.genMipmaps + ? (g[0].width << 1) - 1 + : g[0].mipmask, + h.internalformat = g[0].internalformat, + f.width = g[0].width, + f.height = g[0].height, + D(h), + s = 0; + 6 > s; + ++s + ) + E(g[s], 34069 + s); + for ( + z(l, 34067), + R(), + o.profile && + (h.stats.size = T( + h.internalformat, + h.type, + f.width, + f.height, + l.genMipmaps, + !0 + )), + f.format = tt[h.internalformat], + f.type = et[h.type], + f.mag = rt[l.magFilter], + f.min = nt[l.minFilter], + f.wrapS = it[l.wrapS], + f.wrapT = it[l.wrapT], + s = 0; + 6 > s; + ++s + ) + L(g[s]); + return f; + } + var h = new O(34067); + (yt[h.id] = h), a.cubeCount++; + var g = Array(6); + return ( + f(e, r, n, i, s, l), + (f.subimage = function (t, e, r, n, i) { + (r |= 0), (n |= 0), (i |= 0); + var a = v(); + return ( + c(a, h), + (a.width = 0), + (a.height = 0), + p(a, e), + (a.width = a.width || (h.width >> i) - r), + (a.height = a.height || (h.height >> i) - n), + D(h), + d(a, 34069 + t, r, n, i), + R(), + k(a), + f + ); + }), + (f.resize = function (e) { + if ((e |= 0) !== h.width) { + (f.width = h.width = e), + (f.height = h.height = e), + D(h); + for (var r = 0; 6 > r; ++r) + for (var n = 0; h.mipmask >> n; ++n) + t.texImage2D( + 34069 + r, + n, + h.format, + e >> n, + e >> n, + 0, + h.format, + h.type, + null + ); + return ( + R(), + o.profile && + (h.stats.size = T( + h.internalformat, + h.type, + f.width, + f.height, + !1, + !0 + )), + f + ); + } + }), + (f._reglType = 'textureCube'), + (f._texture = h), + o.profile && (f.stats = h.stats), + (f.destroy = function () { + h.decRef(); + }), + f + ); + }, + clear: function () { + for (var e = 0; e < xt; ++e) + t.activeTexture(33984 + e), + t.bindTexture(3553, null), + (bt[e] = null); + Z(yt).forEach(F), (a.cubeCount = 0), (a.textureCount = 0); + }, + getTexture: function (t) { + return null; + }, + restore: function () { + for (var e = 0; e < xt; ++e) { + var r = bt[e]; + r && ((r.bindCount = 0), (r.unit = -1), (bt[e] = null)); + } + Z(yt).forEach(function (e) { + (e.texture = t.createTexture()), + t.bindTexture(e.target, e.texture); + for (var r = 0; 32 > r; ++r) + if (0 != (e.mipmask & (1 << r))) + if (3553 === e.target) + t.texImage2D( + 3553, + r, + e.internalformat, + e.width >> r, + e.height >> r, + 0, + e.internalformat, + e.type, + null + ); + else + for (var n = 0; 6 > n; ++n) + t.texImage2D( + 34069 + n, + r, + e.internalformat, + e.width >> r, + e.height >> r, + 0, + e.internalformat, + e.type, + null + ); + z(e.texInfo, e.target); + }); + }, + } + ); + } + function M(t, e, r, n, i, a) { + function o(t, e, r) { + (this.target = t), (this.texture = e), (this.renderbuffer = r); + var n = (t = 0); + e + ? ((t = e.width), (n = e.height)) + : r && ((t = r.width), (n = r.height)), + (this.width = t), + (this.height = n); + } + function s(t) { + t && + (t.texture && t.texture._texture.decRef(), + t.renderbuffer && t.renderbuffer._renderbuffer.decRef()); + } + function l(t, e, r) { + t && + (t.texture + ? (t.texture._texture.refCount += 1) + : (t.renderbuffer._renderbuffer.refCount += 1)); + } + function c(e, r) { + r && + (r.texture + ? t.framebufferTexture2D( + 36160, + e, + r.target, + r.texture._texture.texture, + 0 + ) + : t.framebufferRenderbuffer( + 36160, + e, + 36161, + r.renderbuffer._renderbuffer.renderbuffer + )); + } + function u(t) { + var e = 3553, + r = null, + n = null, + i = t; + return ( + 'object' == typeof t && + ((i = t.data), 'target' in t && (e = 0 | t.target)), + 'texture2d' === (t = i._reglType) || 'textureCube' === t + ? (r = i) + : 'renderbuffer' === t && ((n = i), (e = 36161)), + new o(e, r, n) + ); + } + function f(t, e, r, a, s) { + return r + ? (((t = n.create2D({ + width: t, + height: e, + format: a, + type: s, + }))._texture.refCount = 0), + new o(3553, t, null)) + : (((t = i.create({ + width: t, + height: e, + format: a, + }))._renderbuffer.refCount = 0), + new o(36161, null, t)); + } + function h(t) { + return t && (t.texture || t.renderbuffer); + } + function p(t, e, r) { + t && + (t.texture + ? t.texture.resize(e, r) + : t.renderbuffer && t.renderbuffer.resize(e, r), + (t.width = e), + (t.height = r)); + } + function d() { + (this.id = T++), + (k[this.id] = this), + (this.framebuffer = t.createFramebuffer()), + (this.height = this.width = 0), + (this.colorAttachments = []), + (this.depthStencilAttachment = + this.stencilAttachment = + this.depthAttachment = + null); + } + function g(t) { + t.colorAttachments.forEach(s), + s(t.depthAttachment), + s(t.stencilAttachment), + s(t.depthStencilAttachment); + } + function m(e) { + t.deleteFramebuffer(e.framebuffer), + (e.framebuffer = null), + a.framebufferCount--, + delete k[e.id]; + } + function v(e) { + var n; + t.bindFramebuffer(36160, e.framebuffer); + var i = e.colorAttachments; + for (n = 0; n < i.length; ++n) c(36064 + n, i[n]); + for (n = i.length; n < r.maxColorAttachments; ++n) + t.framebufferTexture2D(36160, 36064 + n, 3553, null, 0); + t.framebufferTexture2D(36160, 33306, 3553, null, 0), + t.framebufferTexture2D(36160, 36096, 3553, null, 0), + t.framebufferTexture2D(36160, 36128, 3553, null, 0), + c(36096, e.depthAttachment), + c(36128, e.stencilAttachment), + c(33306, e.depthStencilAttachment), + t.checkFramebufferStatus(36160), + t.isContextLost(), + t.bindFramebuffer(36160, x.next ? x.next.framebuffer : null), + (x.cur = x.next), + t.getError(); + } + function y(t, e) { + function r(t, e) { + var i, + a = 0, + o = 0, + s = !0, + c = !0; + i = null; + var p = !0, + d = 'rgba', + m = 'uint8', + y = 1, + x = null, + w = null, + T = null, + k = !1; + 'number' == typeof t + ? ((a = 0 | t), (o = 0 | e || a)) + : t + ? ('shape' in t + ? ((a = (o = t.shape)[0]), (o = o[1])) + : ('radius' in t && (a = o = t.radius), + 'width' in t && (a = t.width), + 'height' in t && (o = t.height)), + ('color' in t || 'colors' in t) && + ((i = t.color || t.colors), Array.isArray(i)), + i || + ('colorCount' in t && (y = 0 | t.colorCount), + 'colorTexture' in t && + ((p = !!t.colorTexture), (d = 'rgba4')), + 'colorType' in t && + ((m = t.colorType), !p) && + ('half float' === m || 'float16' === m + ? (d = 'rgba16f') + : ('float' !== m && 'float32' !== m) || + (d = 'rgba32f')), + 'colorFormat' in t && + ((d = t.colorFormat), + 0 <= b.indexOf(d) + ? (p = !0) + : 0 <= _.indexOf(d) && (p = !1))), + ('depthTexture' in t || 'depthStencilTexture' in t) && + (k = !(!t.depthTexture && !t.depthStencilTexture)), + 'depth' in t && + ('boolean' == typeof t.depth + ? (s = t.depth) + : ((x = t.depth), (c = !1))), + 'stencil' in t && + ('boolean' == typeof t.stencil + ? (c = t.stencil) + : ((w = t.stencil), (s = !1))), + 'depthStencil' in t && + ('boolean' == typeof t.depthStencil + ? (s = c = t.depthStencil) + : ((T = t.depthStencil), (c = s = !1)))) + : (a = o = 1); + var M = null, + A = null, + S = null, + E = null; + if (Array.isArray(i)) M = i.map(u); + else if (i) M = [u(i)]; + else + for (M = Array(y), i = 0; i < y; ++i) + M[i] = f(a, o, p, d, m); + for ( + a = a || M[0].width, + o = o || M[0].height, + x + ? (A = u(x)) + : s && !c && (A = f(a, o, k, 'depth', 'uint32')), + w + ? (S = u(w)) + : c && !s && (S = f(a, o, !1, 'stencil', 'uint8')), + T + ? (E = u(T)) + : !x && + !w && + c && + s && + (E = f(a, o, k, 'depth stencil', 'depth stencil')), + s = null, + i = 0; + i < M.length; + ++i + ) + l(M[i]), + M[i] && + M[i].texture && + ((c = + bt[M[i].texture._texture.format] * + _t[M[i].texture._texture.type]), + null === s && (s = c)); + return ( + l(A), + l(S), + l(E), + g(n), + (n.width = a), + (n.height = o), + (n.colorAttachments = M), + (n.depthAttachment = A), + (n.stencilAttachment = S), + (n.depthStencilAttachment = E), + (r.color = M.map(h)), + (r.depth = h(A)), + (r.stencil = h(S)), + (r.depthStencil = h(E)), + (r.width = n.width), + (r.height = n.height), + v(n), + r + ); + } + var n = new d(); + return ( + a.framebufferCount++, + r(t, e), + U(r, { + resize: function (t, e) { + var i = Math.max(0 | t, 1), + a = Math.max(0 | e || i, 1); + if (i === n.width && a === n.height) return r; + for (var o = n.colorAttachments, s = 0; s < o.length; ++s) + p(o[s], i, a); + return ( + p(n.depthAttachment, i, a), + p(n.stencilAttachment, i, a), + p(n.depthStencilAttachment, i, a), + (n.width = r.width = i), + (n.height = r.height = a), + v(n), + r + ); + }, + _reglType: 'framebuffer', + _framebuffer: n, + destroy: function () { + m(n), g(n); + }, + use: function (t) { + x.setFBO({ framebuffer: r }, t); + }, + }) + ); + } + var x = { cur: null, next: null, dirty: !1, setFBO: null }, + b = ['rgba'], + _ = ['rgba4', 'rgb565', 'rgb5 a1']; + e.ext_srgb && _.push('srgba'), + e.ext_color_buffer_half_float && _.push('rgba16f', 'rgb16f'), + e.webgl_color_buffer_float && _.push('rgba32f'); + var w = ['uint8']; + e.oes_texture_half_float && w.push('half float', 'float16'), + e.oes_texture_float && w.push('float', 'float32'); + var T = 0, + k = {}; + return U(x, { + getFramebuffer: function (t) { + return 'function' == typeof t && + 'framebuffer' === t._reglType && + (t = t._framebuffer) instanceof d + ? t + : null; + }, + create: y, + createCube: function (t) { + function e(t) { + var i, + a = { color: null }, + o = 0, + s = null; + i = 'rgba'; + var l = 'uint8', + c = 1; + if ( + ('number' == typeof t + ? (o = 0 | t) + : t + ? ('shape' in t + ? (o = t.shape[0]) + : ('radius' in t && (o = 0 | t.radius), + 'width' in t + ? (o = 0 | t.width) + : 'height' in t && (o = 0 | t.height)), + ('color' in t || 'colors' in t) && + ((s = t.color || t.colors), Array.isArray(s)), + s || + ('colorCount' in t && (c = 0 | t.colorCount), + 'colorType' in t && (l = t.colorType), + 'colorFormat' in t && (i = t.colorFormat)), + 'depth' in t && (a.depth = t.depth), + 'stencil' in t && (a.stencil = t.stencil), + 'depthStencil' in t && + (a.depthStencil = t.depthStencil)) + : (o = 1), + s) + ) + if (Array.isArray(s)) + for (t = [], i = 0; i < s.length; ++i) t[i] = s[i]; + else t = [s]; + else + for ( + t = Array(c), + s = { radius: o, format: i, type: l }, + i = 0; + i < c; + ++i + ) + t[i] = n.createCube(s); + for (a.color = Array(t.length), i = 0; i < t.length; ++i) + (c = t[i]), + (o = o || c.width), + (a.color[i] = { target: 34069, data: t[i] }); + for (i = 0; 6 > i; ++i) { + for (c = 0; c < t.length; ++c) + a.color[c].target = 34069 + i; + 0 < i && + ((a.depth = r[0].depth), + (a.stencil = r[0].stencil), + (a.depthStencil = r[0].depthStencil)), + r[i] ? r[i](a) : (r[i] = y(a)); + } + return U(e, { width: o, height: o, color: t }); + } + var r = Array(6); + return ( + e(t), + U(e, { + faces: r, + resize: function (t) { + var n = 0 | t; + if (n === e.width) return e; + var i = e.color; + for (t = 0; t < i.length; ++t) i[t].resize(n); + for (t = 0; 6 > t; ++t) r[t].resize(n); + return (e.width = e.height = n), e; + }, + _reglType: 'framebufferCube', + destroy: function () { + r.forEach(function (t) { + t.destroy(); + }); + }, + }) + ); + }, + clear: function () { + Z(k).forEach(m); + }, + restore: function () { + (x.cur = null), + (x.next = null), + (x.dirty = !0), + Z(k).forEach(function (e) { + (e.framebuffer = t.createFramebuffer()), v(e); + }); + }, + }); + } + function A() { + (this.w = this.z = this.y = this.x = this.state = 0), + (this.buffer = null), + (this.size = 0), + (this.normalized = !1), + (this.type = 5126), + (this.divisor = this.stride = this.offset = 0); + } + function S(t, e, r, n, i) { + function a() { + (this.id = ++c), (this.attributes = []); + var t = e.oes_vertex_array_object; + (this.vao = t ? t.createVertexArrayOES() : null), + (u[this.id] = this), + (this.buffers = []); + } + var o = r.maxAttributes, + s = Array(o); + for (r = 0; r < o; ++r) s[r] = new A(); + var c = 0, + u = {}, + f = { + Record: A, + scope: {}, + state: s, + currentVAO: null, + targetVAO: null, + restore: e.oes_vertex_array_object + ? function () { + e.oes_vertex_array_object && + Z(u).forEach(function (t) { + t.refresh(); + }); + } + : function () {}, + createVAO: function (t) { + function e(t) { + for (var n = 0; n < r.buffers.length; ++n) + r.buffers[n].destroy(); + (r.buffers.length = 0), + ((n = r.attributes).length = t.length); + for (var a = 0; a < t.length; ++a) { + var o = t[a], + s = (n[a] = new A()); + Array.isArray(o) || X(o) || l(o) + ? ((o = i.create(o, 34962, !1, !0)), + (s.buffer = i.getBuffer(o)), + (s.size = 0 | s.buffer.dimension), + (s.normalized = !1), + (s.type = s.buffer.dtype), + (s.offset = 0), + (s.stride = 0), + (s.divisor = 0), + (s.state = 1), + r.buffers.push(o)) + : i.getBuffer(o) + ? ((s.buffer = i.getBuffer(o)), + (s.size = 0 | s.buffer.dimension), + (s.normalized = !1), + (s.type = s.buffer.dtype), + (s.offset = 0), + (s.stride = 0), + (s.divisor = 0), + (s.state = 1)) + : i.getBuffer(o.buffer) + ? ((s.buffer = i.getBuffer(o.buffer)), + (s.size = 0 | (+o.size || s.buffer.dimension)), + (s.normalized = !!o.normalized || !1), + (s.type = 'type' in o ? Q[o.type] : s.buffer.dtype), + (s.offset = 0 | (o.offset || 0)), + (s.stride = 0 | (o.stride || 0)), + (s.divisor = 0 | (o.divisor || 0)), + (s.state = 1)) + : 'x' in o && + ((s.x = +o.x || 0), + (s.y = +o.y || 0), + (s.z = +o.z || 0), + (s.w = +o.w || 0), + (s.state = 2)); + } + return r.refresh(), e; + } + var r = new a(); + return ( + (n.vaoCount += 1), + (e.destroy = function () { + r.destroy(); + }), + (e._vao = r), + (e._reglType = 'vao'), + e(t) + ); + }, + getVAO: function (t) { + return 'function' == typeof t && t._vao ? t._vao : null; + }, + destroyBuffer: function (e) { + for (var r = 0; r < s.length; ++r) { + var n = s[r]; + n.buffer === e && + (t.disableVertexAttribArray(r), (n.buffer = null)); + } + }, + setVAO: e.oes_vertex_array_object + ? function (t) { + if (t !== f.currentVAO) { + var r = e.oes_vertex_array_object; + t + ? r.bindVertexArrayOES(t.vao) + : r.bindVertexArrayOES(null), + (f.currentVAO = t); + } + } + : function (r) { + if (r !== f.currentVAO) { + if (r) r.bindAttrs(); + else + for ( + var n = e.angle_instanced_arrays, i = 0; + i < s.length; + ++i + ) { + var a = s[i]; + a.buffer + ? (t.enableVertexAttribArray(i), + t.vertexAttribPointer( + i, + a.size, + a.type, + a.normalized, + a.stride, + a.offfset + ), + n && n.vertexAttribDivisorANGLE(i, a.divisor)) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f(i, a.x, a.y, a.z, a.w)); + } + f.currentVAO = r; + } + }, + clear: e.oes_vertex_array_object + ? function () { + Z(u).forEach(function (t) { + t.destroy(); + }); + } + : function () {}, + }; + return ( + (a.prototype.bindAttrs = function () { + for ( + var r = e.angle_instanced_arrays, + n = this.attributes, + i = 0; + i < n.length; + ++i + ) { + var a = n[i]; + a.buffer + ? (t.enableVertexAttribArray(i), + t.bindBuffer(34962, a.buffer.buffer), + t.vertexAttribPointer( + i, + a.size, + a.type, + a.normalized, + a.stride, + a.offset + ), + r && r.vertexAttribDivisorANGLE(i, a.divisor)) + : (t.disableVertexAttribArray(i), + t.vertexAttrib4f(i, a.x, a.y, a.z, a.w)); + } + for (r = n.length; r < o; ++r) t.disableVertexAttribArray(r); + }), + (a.prototype.refresh = function () { + var t = e.oes_vertex_array_object; + t && + (t.bindVertexArrayOES(this.vao), + this.bindAttrs(), + (f.currentVAO = this)); + }), + (a.prototype.destroy = function () { + if (this.vao) { + var t = e.oes_vertex_array_object; + this === f.currentVAO && + ((f.currentVAO = null), t.bindVertexArrayOES(null)), + t.deleteVertexArrayOES(this.vao), + (this.vao = null); + } + u[this.id] && (delete u[this.id], --n.vaoCount); + }), + f + ); + } + function E(t, e, r, n) { + function i(t, e, r, n) { + (this.name = t), + (this.id = e), + (this.location = r), + (this.info = n); + } + function a(t, e) { + for (var r = 0; r < t.length; ++r) + if (t[r].id === e.id) + return void (t[r].location = e.location); + t.push(e); + } + function o(r, n, i) { + if (!(o = (i = 35632 === r ? c : u)[n])) { + var a = e.str(n), + o = t.createShader(r); + t.shaderSource(o, a), t.compileShader(o), (i[n] = o); + } + return o; + } + function s(t, e) { + (this.id = p++), + (this.fragId = t), + (this.vertId = e), + (this.program = null), + (this.uniforms = []), + (this.attributes = []), + n.profile && + (this.stats = { uniformsCount: 0, attributesCount: 0 }); + } + function l(r, s, l) { + var c; + c = o(35632, r.fragId); + var u = o(35633, r.vertId); + if ( + ((s = r.program = t.createProgram()), + t.attachShader(s, c), + t.attachShader(s, u), + l) + ) + for (c = 0; c < l.length; ++c) + (u = l[c]), t.bindAttribLocation(s, u[0], u[1]); + t.linkProgram(s), + (u = t.getProgramParameter(s, 35718)), + n.profile && (r.stats.uniformsCount = u); + var f = r.uniforms; + for (c = 0; c < u; ++c) + if ((l = t.getActiveUniform(s, c))) + if (1 < l.size) + for (var h = 0; h < l.size; ++h) { + var p = l.name.replace('[0]', '[' + h + ']'); + a(f, new i(p, e.id(p), t.getUniformLocation(s, p), l)); + } + else + a( + f, + new i( + l.name, + e.id(l.name), + t.getUniformLocation(s, l.name), + l + ) + ); + for ( + u = t.getProgramParameter(s, 35721), + n.profile && (r.stats.attributesCount = u), + r = r.attributes, + c = 0; + c < u; + ++c + ) + (l = t.getActiveAttrib(s, c)) && + a( + r, + new i( + l.name, + e.id(l.name), + t.getAttribLocation(s, l.name), + l + ) + ); + } + var c = {}, + u = {}, + f = {}, + h = [], + p = 0; + return ( + n.profile && + ((r.getMaxUniformsCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.uniformsCount > t && + (t = e.stats.uniformsCount); + }), + t + ); + }), + (r.getMaxAttributesCount = function () { + var t = 0; + return ( + h.forEach(function (e) { + e.stats.attributesCount > t && + (t = e.stats.attributesCount); + }), + t + ); + })), + { + clear: function () { + var e = t.deleteShader.bind(t); + Z(c).forEach(e), + (c = {}), + Z(u).forEach(e), + (u = {}), + h.forEach(function (e) { + t.deleteProgram(e.program); + }), + (h.length = 0), + (f = {}), + (r.shaderCount = 0); + }, + program: function (t, e, n, i) { + var a = f[e]; + a || (a = f[e] = {}); + var o = a[t]; + return o && !i + ? o + : ((e = new s(e, t)), + r.shaderCount++, + l(e, n, i), + o || (a[t] = e), + h.push(e), + e); + }, + restore: function () { + (c = {}), (u = {}); + for (var t = 0; t < h.length; ++t) + l( + h[t], + null, + h[t].attributes.map(function (t) { + return [t.location, t.name]; + }) + ); + }, + shader: o, + frag: -1, + vert: -1, + } + ); + } + function C(t, e, r, n, i, a, o) { + function s(i) { + var a; + a = + null === e.next + ? 5121 + : e.next.colorAttachments[0].texture._texture.type; + var o = 0, + s = 0, + l = n.framebufferWidth, + c = n.framebufferHeight, + u = null; + return ( + X(i) + ? (u = i) + : i && + ((o = 0 | i.x), + (s = 0 | i.y), + (l = 0 | (i.width || n.framebufferWidth - o)), + (c = 0 | (i.height || n.framebufferHeight - s)), + (u = i.data || null)), + r(), + (i = l * c * 4), + u || + (5121 === a + ? (u = new Uint8Array(i)) + : 5126 === a && (u = u || new Float32Array(i))), + t.pixelStorei(3333, 4), + t.readPixels(o, s, l, c, 6408, a, u), + u + ); + } + return function (t) { + return t && 'framebuffer' in t + ? (function (t) { + var r; + return ( + e.setFBO({ framebuffer: t.framebuffer }, function () { + r = s(t); + }), + r + ); + })(t) + : s(t); + }; + } + function L(t) { + return Array.prototype.slice.call(t); + } + function I(t) { + return L(t).join(''); + } + function P() { + function t() { + var t = [], + e = []; + return U( + function () { + t.push.apply(t, L(arguments)); + }, + { + def: function () { + var n = 'v' + r++; + return ( + e.push(n), + 0 < arguments.length && + (t.push(n, '='), + t.push.apply(t, L(arguments)), + t.push(';')), + n + ); + }, + toString: function () { + return I([ + 0 < e.length ? 'var ' + e.join(',') + ';' : '', + I(t), + ]); + }, + } + ); + } + function e() { + function e(t, e) { + n(t, e, '=', r.def(t, e), ';'); + } + var r = t(), + n = t(), + i = r.toString, + a = n.toString; + return U( + function () { + r.apply(r, L(arguments)); + }, + { + def: r.def, + entry: r, + exit: n, + save: e, + set: function (t, n, i) { + e(t, n), r(t, n, '=', i, ';'); + }, + toString: function () { + return i() + a(); + }, + } + ); + } + var r = 0, + n = [], + i = [], + a = t(), + o = {}; + return { + global: a, + link: function (t) { + for (var e = 0; e < i.length; ++e) + if (i[e] === t) return n[e]; + return (e = 'g' + r++), n.push(e), i.push(t), e; + }, + block: t, + proc: function (t, r) { + function n() { + var t = 'a' + i.length; + return i.push(t), t; + } + var i = []; + r = r || 0; + for (var a = 0; a < r; ++a) n(); + var s = (a = e()).toString; + return (o[t] = U(a, { + arg: n, + toString: function () { + return I(['function(', i.join(), '){', s(), '}']); + }, + })); + }, + scope: e, + cond: function () { + var t = I(arguments), + r = e(), + n = e(), + i = r.toString, + a = n.toString; + return U(r, { + then: function () { + return r.apply(r, L(arguments)), this; + }, + else: function () { + return n.apply(n, L(arguments)), this; + }, + toString: function () { + var e = a(); + return ( + e && (e = 'else{' + e + '}'), + I(['if(', t, '){', i(), '}', e]) + ); + }, + }); + }, + compile: function () { + var t = ['"use strict";', a, 'return {']; + Object.keys(o).forEach(function (e) { + t.push('"', e, '":', o[e].toString(), ','); + }), + t.push('}'); + var e = I(t) + .replace(/;/g, ';\n') + .replace(/}/g, '}\n') + .replace(/{/g, '{\n'); + return Function.apply(null, n.concat(e)).apply(null, i); + }, + }; + } + function z(t) { + return Array.isArray(t) || X(t) || l(t); + } + function O(t) { + return t.sort(function (t, e) { + return 'viewport' === t + ? -1 + : 'viewport' === e + ? 1 + : t < e + ? -1 + : 1; + }); + } + function D(t, e, r, n) { + (this.thisDep = t), + (this.contextDep = e), + (this.propDep = r), + (this.append = n); + } + function R(t) { + return t && !(t.thisDep || t.contextDep || t.propDep); + } + function F(t) { + return new D(!1, !1, !1, t); + } + function B(t, e) { + var r = t.type; + return 0 === r + ? new D(!0, 1 <= (r = t.data.length), 2 <= r, e) + : 4 === r + ? new D((r = t.data).thisDep, r.contextDep, r.propDep, e) + : new D(3 === r, 2 === r, 1 === r, e); + } + function N(t, e, r, n, i, o, s, l, c, u, f, h, p, d, g) { + function v(t) { + return t.replace('.', '_'); + } + function y(t, e, r) { + var n = v(t); + rt.push(t), (et[n] = tt[n] = !!r), (it[n] = e); + } + function x(t, e, r) { + var n = v(t); + rt.push(t), + Array.isArray(r) + ? ((tt[n] = r.slice()), (et[n] = r.slice())) + : (tt[n] = et[n] = r), + (at[n] = e); + } + function b() { + var t = P(), + r = t.link, + n = t.global; + (t.id = lt++), (t.batchId = '0'); + var i = r(ot), + a = (t.shared = { props: 'a0' }); + Object.keys(ot).forEach(function (t) { + a[t] = n.def(i, '.', t); + }); + var o = (t.next = {}), + s = (t.current = {}); + Object.keys(at).forEach(function (t) { + Array.isArray(tt[t]) && + ((o[t] = n.def(a.next, '.', t)), + (s[t] = n.def(a.current, '.', t))); + }); + var l = (t.constants = {}); + Object.keys(st).forEach(function (t) { + l[t] = n.def(JSON.stringify(st[t])); + }), + (t.invoke = function (e, n) { + switch (n.type) { + case 0: + var i = ['this', a.context, a.props, t.batchId]; + return e.def( + r(n.data), + '.call(', + i.slice(0, Math.max(n.data.length + 1, 4)), + ')' + ); + case 1: + return e.def(a.props, n.data); + case 2: + return e.def(a.context, n.data); + case 3: + return e.def('this', n.data); + case 4: + return n.data.append(t, e), n.data.ref; + } + }), + (t.attribCache = {}); + var c = {}; + return ( + (t.scopeAttrib = function (t) { + if ((t = e.id(t)) in c) return c[t]; + var n = u.scope[t]; + return n || (n = u.scope[t] = new Z()), (c[t] = r(n)); + }), + t + ); + } + function _(t, e) { + var r = t.static, + n = t.dynamic; + if ('framebuffer' in r) { + var i = r.framebuffer; + return i + ? ((i = l.getFramebuffer(i)), + F(function (t, e) { + var r = t.link(i), + n = t.shared; + return ( + e.set(n.framebuffer, '.next', r), + (n = n.context), + e.set(n, '.framebufferWidth', r + '.width'), + e.set(n, '.framebufferHeight', r + '.height'), + r + ); + })) + : F(function (t, e) { + var r = t.shared; + return ( + e.set(r.framebuffer, '.next', 'null'), + (r = r.context), + e.set( + r, + '.framebufferWidth', + r + '.drawingBufferWidth' + ), + e.set( + r, + '.framebufferHeight', + r + '.drawingBufferHeight' + ), + 'null' + ); + }); + } + if ('framebuffer' in n) { + var a = n.framebuffer; + return B(a, function (t, e) { + var r = t.invoke(e, a), + n = t.shared, + i = n.framebuffer; + r = e.def(i, '.getFramebuffer(', r, ')'); + return ( + e.set(i, '.next', r), + (n = n.context), + e.set( + n, + '.framebufferWidth', + r + '?' + r + '.width:' + n + '.drawingBufferWidth' + ), + e.set( + n, + '.framebufferHeight', + r + '?' + r + '.height:' + n + '.drawingBufferHeight' + ), + r + ); + }); + } + return null; + } + function w(t, r, n) { + function i(t) { + if (t in a) { + var r = e.id(a[t]); + return ( + ((t = F(function () { + return r; + })).id = r), + t + ); + } + if (t in o) { + var n = o[t]; + return B(n, function (t, e) { + var r = t.invoke(e, n); + return e.def(t.shared.strings, '.id(', r, ')'); + }); + } + return null; + } + var a = t.static, + o = t.dynamic, + s = i('frag'), + l = i('vert'), + c = null; + return ( + R(s) && R(l) + ? ((c = f.program(l.id, s.id, null, n)), + (t = F(function (t, e) { + return t.link(c); + }))) + : (t = new D( + (s && s.thisDep) || (l && l.thisDep), + (s && s.contextDep) || (l && l.contextDep), + (s && s.propDep) || (l && l.propDep), + function (t, e) { + var r, + n, + i = t.shared.shader; + return ( + (r = s ? s.append(t, e) : e.def(i, '.', 'frag')), + (n = l ? l.append(t, e) : e.def(i, '.', 'vert')), + e.def(i + '.program(' + n + ',' + r + ')') + ); + } + )), + { frag: s, vert: l, progVar: t, program: c } + ); + } + function T(t, e) { + function r(t, e) { + if (t in n) { + var r = 0 | n[t]; + return F(function (t, n) { + return e && (t.OFFSET = r), r; + }); + } + if (t in i) { + var o = i[t]; + return B(o, function (t, r) { + var n = t.invoke(r, o); + return e && (t.OFFSET = n), n; + }); + } + return e && a + ? F(function (t, e) { + return (t.OFFSET = '0'), 0; + }) + : null; + } + var n = t.static, + i = t.dynamic, + a = (function () { + if ('elements' in n) { + var t = n.elements; + z(t) + ? (t = o.getElements(o.create(t, !0))) + : t && (t = o.getElements(t)); + var e = F(function (e, r) { + if (t) { + var n = e.link(t); + return (e.ELEMENTS = n); + } + return (e.ELEMENTS = null); + }); + return (e.value = t), e; + } + if ('elements' in i) { + var r = i.elements; + return B(r, function (t, e) { + var n = (i = t.shared).isBufferArgs, + i = i.elements, + a = t.invoke(e, r), + o = e.def('null'); + (n = e.def(n, '(', a, ')')), + (a = t + .cond(n) + .then(o, '=', i, '.createStream(', a, ');') + .else(o, '=', i, '.getElements(', a, ');')); + return ( + e.entry(a), + e.exit(t.cond(n).then(i, '.destroyStream(', o, ');')), + (t.ELEMENTS = o) + ); + }); + } + return null; + })(), + s = r('offset', !0); + return { + elements: a, + primitive: (function () { + if ('primitive' in n) { + var t = n.primitive; + return F(function (e, r) { + return nt[t]; + }); + } + if ('primitive' in i) { + var e = i.primitive; + return B(e, function (t, r) { + var n = t.constants.primTypes, + i = t.invoke(r, e); + return r.def(n, '[', i, ']'); + }); + } + return a + ? R(a) + ? a.value + ? F(function (t, e) { + return e.def(t.ELEMENTS, '.primType'); + }) + : F(function () { + return 4; + }) + : new D(a.thisDep, a.contextDep, a.propDep, function ( + t, + e + ) { + var r = t.ELEMENTS; + return e.def(r, '?', r, '.primType:', 4); + }) + : null; + })(), + count: (function () { + if ('count' in n) { + var t = 0 | n.count; + return F(function () { + return t; + }); + } + if ('count' in i) { + var e = i.count; + return B(e, function (t, r) { + return t.invoke(r, e); + }); + } + return a + ? R(a) + ? a + ? s + ? new D( + s.thisDep, + s.contextDep, + s.propDep, + function (t, e) { + return e.def( + t.ELEMENTS, + '.vertCount-', + t.OFFSET + ); + } + ) + : F(function (t, e) { + return e.def(t.ELEMENTS, '.vertCount'); + }) + : F(function () { + return -1; + }) + : new D( + a.thisDep || s.thisDep, + a.contextDep || s.contextDep, + a.propDep || s.propDep, + function (t, e) { + var r = t.ELEMENTS; + return t.OFFSET + ? e.def( + r, + '?', + r, + '.vertCount-', + t.OFFSET, + ':-1' + ) + : e.def(r, '?', r, '.vertCount:-1'); + } + ) + : null; + })(), + instances: r('instances', !1), + offset: s, + }; + } + function k(t, r) { + var n = t.static, + a = t.dynamic, + o = {}; + return ( + Object.keys(n).forEach(function (t) { + var r = n[t], + a = e.id(t), + s = new Z(); + if (z(r)) + (s.state = 1), + (s.buffer = i.getBuffer(i.create(r, 34962, !1, !0))), + (s.type = 0); + else if ((c = i.getBuffer(r))) + (s.state = 1), (s.buffer = c), (s.type = 0); + else if ('constant' in r) { + var l = r.constant; + (s.buffer = 'null'), + (s.state = 2), + 'number' == typeof l + ? (s.x = l) + : wt.forEach(function (t, e) { + e < l.length && (s[t] = l[e]); + }); + } else { + var c = z(r.buffer) + ? i.getBuffer(i.create(r.buffer, 34962, !1, !0)) + : i.getBuffer(r.buffer), + u = 0 | r.offset, + f = 0 | r.stride, + h = 0 | r.size, + p = !!r.normalized, + d = 0; + 'type' in r && (d = Q[r.type]), + (r = 0 | r.divisor), + (s.buffer = c), + (s.state = 1), + (s.size = h), + (s.normalized = p), + (s.type = d || c.dtype), + (s.offset = u), + (s.stride = f), + (s.divisor = r); + } + o[t] = F(function (t, e) { + var r = t.attribCache; + if (a in r) return r[a]; + var n = { isStream: !1 }; + return ( + Object.keys(s).forEach(function (t) { + n[t] = s[t]; + }), + s.buffer && + ((n.buffer = t.link(s.buffer)), + (n.type = n.type || n.buffer + '.dtype')), + (r[a] = n) + ); + }); + }), + Object.keys(a).forEach(function (t) { + var e = a[t]; + o[t] = B(e, function (t, r) { + function n(t) { + r(l[t], '=', i, '.', t, '|0;'); + } + var i = t.invoke(r, e), + a = t.shared, + o = t.constants, + s = a.isBufferArgs, + l = ((a = a.buffer), { isStream: r.def(!1) }), + c = new Z(); + (c.state = 1), + Object.keys(c).forEach(function (t) { + l[t] = r.def('' + c[t]); + }); + var u = l.buffer, + f = l.type; + return ( + r( + 'if(', + s, + '(', + i, + ')){', + l.isStream, + '=true;', + u, + '=', + a, + '.createStream(', + 34962, + ',', + i, + ');', + f, + '=', + u, + '.dtype;', + '}else{', + u, + '=', + a, + '.getBuffer(', + i, + ');', + 'if(', + u, + '){', + f, + '=', + u, + '.dtype;', + '}else if("constant" in ', + i, + '){', + l.state, + '=', + 2, + ';', + 'if(typeof ' + i + '.constant === "number"){', + l[wt[0]], + '=', + i, + '.constant;', + wt + .slice(1) + .map(function (t) { + return l[t]; + }) + .join('='), + '=0;', + '}else{', + wt + .map(function (t, e) { + return ( + l[t] + + '=' + + i + + '.constant.length>' + + e + + '?' + + i + + '.constant[' + + e + + ']:0;' + ); + }) + .join(''), + '}}else{', + 'if(', + s, + '(', + i, + '.buffer)){', + u, + '=', + a, + '.createStream(', + 34962, + ',', + i, + '.buffer);', + '}else{', + u, + '=', + a, + '.getBuffer(', + i, + '.buffer);', + '}', + f, + '="type" in ', + i, + '?', + o.glTypes, + '[', + i, + '.type]:', + u, + '.dtype;', + l.normalized, + '=!!', + i, + '.normalized;' + ), + n('size'), + n('offset'), + n('stride'), + n('divisor'), + r('}}'), + r.exit( + 'if(', + l.isStream, + '){', + a, + '.destroyStream(', + u, + ');', + '}' + ), + l + ); + }); + }), + o + ); + } + function M(t, e, n, i, o) { + function s(t) { + var e = c[t]; + e && (h[t] = e); + } + var l = (function (t, e) { + if ( + 'string' == typeof (r = t.static).frag && + 'string' == typeof r.vert + ) { + if (0 < Object.keys(e.dynamic).length) return null; + var r = e.static, + n = Object.keys(r); + if (0 < n.length && 'number' == typeof r[n[0]]) { + for (var i = [], a = 0; a < n.length; ++a) + i.push([0 | r[n[a]], n[a]]); + return i; + } + } + return null; + })(t, e), + c = (function (t, e, r) { + function n(t) { + if (t in i) { + var r = i[t]; + t = !0; + var n, + o, + s = 0 | r.x, + l = 0 | r.y; + return ( + 'width' in r ? (n = 0 | r.width) : (t = !1), + 'height' in r ? (o = 0 | r.height) : (t = !1), + new D( + !t && e && e.thisDep, + !t && e && e.contextDep, + !t && e && e.propDep, + function (t, e) { + var i = t.shared.context, + a = n; + 'width' in r || + (a = e.def(i, '.', 'framebufferWidth', '-', s)); + var c = o; + return ( + 'height' in r || + (c = e.def( + i, + '.', + 'framebufferHeight', + '-', + l + )), + [s, l, a, c] + ); + } + ) + ); + } + if (t in a) { + var c = a[t]; + return ( + (t = B(c, function (t, e) { + var r = t.invoke(e, c), + n = t.shared.context, + i = e.def(r, '.x|0'), + a = e.def(r, '.y|0'); + return [ + i, + a, + e.def( + '"width" in ', + r, + '?', + r, + '.width|0:', + '(', + n, + '.', + 'framebufferWidth', + '-', + i, + ')' + ), + (r = e.def( + '"height" in ', + r, + '?', + r, + '.height|0:', + '(', + n, + '.', + 'framebufferHeight', + '-', + a, + ')' + )), + ]; + })), + e && + ((t.thisDep = t.thisDep || e.thisDep), + (t.contextDep = t.contextDep || e.contextDep), + (t.propDep = t.propDep || e.propDep)), + t + ); + } + return e + ? new D(e.thisDep, e.contextDep, e.propDep, function ( + t, + e + ) { + var r = t.shared.context; + return [ + 0, + 0, + e.def(r, '.', 'framebufferWidth'), + e.def(r, '.', 'framebufferHeight'), + ]; + }) + : null; + } + var i = t.static, + a = t.dynamic; + if ((t = n('viewport'))) { + var o = t; + t = new D(t.thisDep, t.contextDep, t.propDep, function ( + t, + e + ) { + var r = o.append(t, e), + n = t.shared.context; + return ( + e.set(n, '.viewportWidth', r[2]), + e.set(n, '.viewportHeight', r[3]), + r + ); + }); + } + return { viewport: t, scissor_box: n('scissor.box') }; + })(t, (d = _(t))), + f = T(t), + h = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + rt.forEach(function (t) { + function e(e, a) { + if (t in r) { + var s = e(r[t]); + i[o] = F(function () { + return s; + }); + } else if (t in n) { + var l = n[t]; + i[o] = B(l, function (t, e) { + return a(t, e, t.invoke(e, l)); + }); + } + } + var o = v(t); + switch (t) { + case 'cull.enable': + case 'blend.enable': + case 'dither': + case 'stencil.enable': + case 'depth.enable': + case 'scissor.enable': + case 'polygonOffset.enable': + case 'sample.alpha': + case 'sample.enable': + case 'depth.mask': + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + } + ); + case 'depth.func': + return e( + function (t) { + return Mt[t]; + }, + function (t, e, r) { + return e.def( + t.constants.compareFuncs, + '[', + r, + ']' + ); + } + ); + case 'depth.range': + return e( + function (t) { + return t; + }, + function (t, e, r) { + return [ + e.def('+', r, '[0]'), + (e = e.def('+', r, '[1]')), + ]; + } + ); + case 'blend.func': + return e( + function (t) { + return [ + kt['srcRGB' in t ? t.srcRGB : t.src], + kt['dstRGB' in t ? t.dstRGB : t.dst], + kt['srcAlpha' in t ? t.srcAlpha : t.src], + kt['dstAlpha' in t ? t.dstAlpha : t.dst], + ]; + }, + function (t, e, r) { + function n(t, n) { + return e.def( + '"', + t, + n, + '" in ', + r, + '?', + r, + '.', + t, + n, + ':', + r, + '.', + t + ); + } + t = t.constants.blendFuncs; + var i = n('src', 'RGB'), + a = n('dst', 'RGB'), + o = + ((i = e.def(t, '[', i, ']')), + e.def(t, '[', n('src', 'Alpha'), ']')); + return [ + i, + (a = e.def(t, '[', a, ']')), + o, + (t = e.def(t, '[', n('dst', 'Alpha'), ']')), + ]; + } + ); + case 'blend.equation': + return e( + function (t) { + return 'string' == typeof t + ? [J[t], J[t]] + : 'object' == typeof t + ? [J[t.rgb], J[t.alpha]] + : void 0; + }, + function (t, e, r) { + var n = t.constants.blendEquations, + i = e.def(), + a = e.def(); + return ( + (t = t.cond( + 'typeof ', + r, + '==="string"' + )).then(i, '=', a, '=', n, '[', r, '];'), + t.else( + i, + '=', + n, + '[', + r, + '.rgb];', + a, + '=', + n, + '[', + r, + '.alpha];' + ), + e(t), + [i, a] + ); + } + ); + case 'blend.color': + return e( + function (t) { + return a(4, function (e) { + return +t[e]; + }); + }, + function (t, e, r) { + return a(4, function (t) { + return e.def('+', r, '[', t, ']'); + }); + } + ); + case 'stencil.mask': + return e( + function (t) { + return 0 | t; + }, + function (t, e, r) { + return e.def(r, '|0'); + } + ); + case 'stencil.func': + return e( + function (t) { + return [ + Mt[t.cmp || 'keep'], + t.ref || 0, + 'mask' in t ? t.mask : -1, + ]; + }, + function (t, e, r) { + return [ + (t = e.def( + '"cmp" in ', + r, + '?', + t.constants.compareFuncs, + '[', + r, + '.cmp]', + ':', + 7680 + )), + e.def(r, '.ref|0'), + (e = e.def( + '"mask" in ', + r, + '?', + r, + '.mask|0:-1' + )), + ]; + } + ); + case 'stencil.opFront': + case 'stencil.opBack': + return e( + function (e) { + return [ + 'stencil.opBack' === t ? 1029 : 1028, + At[e.fail || 'keep'], + At[e.zfail || 'keep'], + At[e.zpass || 'keep'], + ]; + }, + function (e, r, n) { + function i(t) { + return r.def( + '"', + t, + '" in ', + n, + '?', + a, + '[', + n, + '.', + t, + ']:', + 7680 + ); + } + var a = e.constants.stencilOps; + return [ + 'stencil.opBack' === t ? 1029 : 1028, + i('fail'), + i('zfail'), + i('zpass'), + ]; + } + ); + case 'polygonOffset.offset': + return e( + function (t) { + return [0 | t.factor, 0 | t.units]; + }, + function (t, e, r) { + return [ + e.def(r, '.factor|0'), + (e = e.def(r, '.units|0')), + ]; + } + ); + case 'cull.face': + return e( + function (t) { + var e = 0; + return ( + 'front' === t + ? (e = 1028) + : 'back' === t && (e = 1029), + e + ); + }, + function (t, e, r) { + return e.def(r, '==="front"?', 1028, ':', 1029); + } + ); + case 'lineWidth': + return e( + function (t) { + return t; + }, + function (t, e, r) { + return r; + } + ); + case 'frontFace': + return e( + function (t) { + return St[t]; + }, + function (t, e, r) { + return e.def(r + '==="cw"?2304:2305'); + } + ); + case 'colorMask': + return e( + function (t) { + return t.map(function (t) { + return !!t; + }); + }, + function (t, e, r) { + return a(4, function (t) { + return '!!' + r + '[' + t + ']'; + }); + } + ); + case 'sample.coverage': + return e( + function (t) { + return ['value' in t ? t.value : 1, !!t.invert]; + }, + function (t, e, r) { + return [ + e.def('"value" in ', r, '?+', r, '.value:1'), + (e = e.def('!!', r, '.invert')), + ]; + } + ); + } + }), + i + ); + })(t), + p = w(t, 0, l); + s('viewport'), s(v('scissor.box')); + var d, + g = 0 < Object.keys(h).length; + if ( + (((d = { + framebuffer: d, + draw: f, + shader: p, + state: h, + dirty: g, + scopeVAO: null, + drawVAO: null, + useVAO: !1, + attributes: {}, + }).profile = (function (t) { + var e, + r = t.static; + if (((t = t.dynamic), 'profile' in r)) { + var n = !!r.profile; + (e = F(function (t, e) { + return n; + })).enable = n; + } else if ('profile' in t) { + var i = t.profile; + e = B(i, function (t, e) { + return t.invoke(e, i); + }); + } + return e; + })(t)), + (d.uniforms = (function (t, e) { + var r = t.static, + n = t.dynamic, + i = {}; + return ( + Object.keys(r).forEach(function (t) { + var e, + n = r[t]; + if ('number' == typeof n || 'boolean' == typeof n) + e = F(function () { + return n; + }); + else if ('function' == typeof n) { + var o = n._reglType; + 'texture2d' === o || 'textureCube' === o + ? (e = F(function (t) { + return t.link(n); + })) + : ('framebuffer' !== o && + 'framebufferCube' !== o) || + (e = F(function (t) { + return t.link(n.color[0]); + })); + } else + m(n) && + (e = F(function (t) { + return t.global.def( + '[', + a(n.length, function (t) { + return n[t]; + }), + ']' + ); + })); + (e.value = n), (i[t] = e); + }), + Object.keys(n).forEach(function (t) { + var e = n[t]; + i[t] = B(e, function (t, r) { + return t.invoke(r, e); + }); + }), + i + ); + })(n)), + (d.drawVAO = d.scopeVAO = + (function (t, e) { + var r = t.static, + n = t.dynamic; + if ('vao' in r) { + var i = r.vao; + return ( + null !== i && + null === u.getVAO(i) && + (i = u.createVAO(i)), + F(function (t) { + return t.link(u.getVAO(i)); + }) + ); + } + if ('vao' in n) { + var a = n.vao; + return B(a, function (t, e) { + var r = t.invoke(e, a); + return e.def(t.shared.vao + '.getVAO(' + r + ')'); + }); + } + return null; + })(t)), + !d.drawVAO && p.program && !l && r.angle_instanced_arrays) + ) { + var y = !0; + if ( + ((t = p.program.attributes.map(function (t) { + return (t = e.static[t]), (y = y && !!t), t; + })), + y && 0 < t.length) + ) { + var x = u.getVAO(u.createVAO(t)); + (d.drawVAO = new D(null, null, null, function (t, e) { + return t.link(x); + })), + (d.useVAO = !0); + } + } + return ( + l ? (d.useVAO = !0) : (d.attributes = k(e)), + (d.context = (function (t) { + var e = t.static, + r = t.dynamic, + n = {}; + return ( + Object.keys(e).forEach(function (t) { + var r = e[t]; + n[t] = F(function (t, e) { + return 'number' == typeof r || 'boolean' == typeof r + ? '' + r + : t.link(r); + }); + }), + Object.keys(r).forEach(function (t) { + var e = r[t]; + n[t] = B(e, function (t, r) { + return t.invoke(r, e); + }); + }), + n + ); + })(i)), + d + ); + } + function A(t, e, r) { + var n = t.shared.context, + i = t.scope(); + Object.keys(r).forEach(function (a) { + e.save(n, '.' + a), i(n, '.', a, '=', r[a].append(t, e), ';'); + }), + e(i); + } + function S(t, e, r, n) { + var i, + a = (s = t.shared).gl, + o = s.framebuffer; + $ && (i = e.def(s.extensions, '.webgl_draw_buffers')); + var s = (l = t.constants).drawBuffer, + l = l.backBuffer; + (t = r ? r.append(t, e) : e.def(o, '.next')), + n || e('if(', t, '!==', o, '.cur){'), + e( + 'if(', + t, + '){', + a, + '.bindFramebuffer(', + 36160, + ',', + t, + '.framebuffer);' + ), + $ && + e( + i, + '.drawBuffersWEBGL(', + s, + '[', + t, + '.colorAttachments.length]);' + ), + e('}else{', a, '.bindFramebuffer(', 36160, ',null);'), + $ && e(i, '.drawBuffersWEBGL(', l, ');'), + e('}', o, '.cur=', t, ';'), + n || e('}'); + } + function E(t, e, r) { + var n = t.shared, + i = n.gl, + o = t.current, + s = t.next, + l = n.current, + c = n.next, + u = t.cond(l, '.dirty'); + rt.forEach(function (e) { + var n, f; + if (!((e = v(e)) in r.state)) + if (e in s) { + (n = s[e]), (f = o[e]); + var h = a(tt[e].length, function (t) { + return u.def(n, '[', t, ']'); + }); + u( + t + .cond( + h + .map(function (t, e) { + return t + '!==' + f + '[' + e + ']'; + }) + .join('||') + ) + .then( + i, + '.', + at[e], + '(', + h, + ');', + h + .map(function (t, e) { + return f + '[' + e + ']=' + t; + }) + .join(';'), + ';' + ) + ); + } else + (n = u.def(c, '.', e)), + (h = t.cond(n, '!==', l, '.', e)), + u(h), + e in it + ? h( + t + .cond(n) + .then(i, '.enable(', it[e], ');') + .else(i, '.disable(', it[e], ');'), + l, + '.', + e, + '=', + n, + ';' + ) + : h( + i, + '.', + at[e], + '(', + n, + ');', + l, + '.', + e, + '=', + n, + ';' + ); + }), + 0 === Object.keys(r.state).length && u(l, '.dirty=false;'), + e(u); + } + function C(t, e, r, n) { + var i = t.shared, + a = t.current, + o = i.current, + s = i.gl; + O(Object.keys(r)).forEach(function (i) { + var l = r[i]; + if (!n || n(l)) { + var c = l.append(t, e); + if (it[i]) { + var u = it[i]; + R(l) + ? e(s, c ? '.enable(' : '.disable(', u, ');') + : e( + t + .cond(c) + .then(s, '.enable(', u, ');') + .else(s, '.disable(', u, ');') + ), + e(o, '.', i, '=', c, ';'); + } else if (m(c)) { + var f = a[i]; + e( + s, + '.', + at[i], + '(', + c, + ');', + c + .map(function (t, e) { + return f + '[' + e + ']=' + t; + }) + .join(';'), + ';' + ); + } else + e(s, '.', at[i], '(', c, ');', o, '.', i, '=', c, ';'); + } + }); + } + function L(t, e) { + K && + (t.instancing = e.def( + t.shared.extensions, + '.angle_instanced_arrays' + )); + } + function I(t, e, r, n, i) { + function a() { + return 'undefined' == typeof performance + ? 'Date.now()' + : 'performance.now()'; + } + function o(t) { + t((c = e.def()), '=', a(), ';'), + 'string' == typeof i + ? t(h, '.count+=', i, ';') + : t(h, '.count++;'), + d && + (n + ? t((u = e.def()), '=', g, '.getNumPendingQueries();') + : t(g, '.beginQuery(', h, ');')); + } + function s(t) { + t(h, '.cpuTime+=', a(), '-', c, ';'), + d && + (n + ? t( + g, + '.pushScopeStats(', + u, + ',', + g, + '.getNumPendingQueries(),', + h, + ');' + ) + : t(g, '.endQuery();')); + } + function l(t) { + var r = e.def(p, '.profile'); + e(p, '.profile=', t, ';'), e.exit(p, '.profile=', r, ';'); + } + var c, + u, + f = t.shared, + h = t.stats, + p = f.current, + g = f.timer; + if ((r = r.profile)) { + if (R(r)) + return void (r.enable + ? (o(e), s(e.exit), l('true')) + : l('false')); + l((r = r.append(t, e))); + } else r = e.def(p, '.profile'); + o((f = t.block())), + e('if(', r, '){', f, '}'), + s((t = t.block())), + e.exit('if(', r, '){', t, '}'); + } + function N(t, e, r, n, i) { + function a(r, n, i) { + function a() { + e( + 'if(!', + u, + '.buffer){', + l, + '.enableVertexAttribArray(', + c, + ');}' + ); + var r, + a = i.type; + (r = i.size ? e.def(i.size, '||', n) : n), + e( + 'if(', + u, + '.type!==', + a, + '||', + u, + '.size!==', + r, + '||', + p + .map(function (t) { + return u + '.' + t + '!==' + i[t]; + }) + .join('||'), + '){', + l, + '.bindBuffer(', + 34962, + ',', + f, + '.buffer);', + l, + '.vertexAttribPointer(', + [c, r, a, i.normalized, i.stride, i.offset], + ');', + u, + '.type=', + a, + ';', + u, + '.size=', + r, + ';', + p + .map(function (t) { + return u + '.' + t + '=' + i[t] + ';'; + }) + .join(''), + '}' + ), + K && + ((a = i.divisor), + e( + 'if(', + u, + '.divisor!==', + a, + '){', + t.instancing, + '.vertexAttribDivisorANGLE(', + [c, a], + ');', + u, + '.divisor=', + a, + ';}' + )); + } + function s() { + e( + 'if(', + u, + '.buffer){', + l, + '.disableVertexAttribArray(', + c, + ');', + u, + '.buffer=null;', + '}if(', + wt + .map(function (t, e) { + return u + '.' + t + '!==' + h[e]; + }) + .join('||'), + '){', + l, + '.vertexAttrib4f(', + c, + ',', + h, + ');', + wt + .map(function (t, e) { + return u + '.' + t + '=' + h[e] + ';'; + }) + .join(''), + '}' + ); + } + var l = o.gl, + c = e.def(r, '.location'), + u = e.def(o.attributes, '[', c, ']'); + r = i.state; + var f = i.buffer, + h = [i.x, i.y, i.z, i.w], + p = ['buffer', 'normalized', 'offset', 'stride']; + 1 === r + ? a() + : 2 === r + ? s() + : (e('if(', r, '===', 1, '){'), + a(), + e('}else{'), + s(), + e('}')); + } + var o = t.shared; + n.forEach(function (n) { + var o, + s = n.name, + l = r.attributes[s]; + if (l) { + if (!i(l)) return; + o = l.append(t, e); + } else { + if (!i(Et)) return; + var c = t.scopeAttrib(s); + (o = {}), + Object.keys(new Z()).forEach(function (t) { + o[t] = e.def(c, '.', t); + }); + } + a( + t.link(n), + (function (t) { + switch (t) { + case 35664: + case 35667: + case 35671: + return 2; + case 35665: + case 35668: + case 35672: + return 3; + case 35666: + case 35669: + case 35673: + return 4; + default: + return 1; + } + })(n.info.type), + o + ); + }); + } + function j(t, r, n, i, o) { + for (var s, l = t.shared, c = l.gl, u = 0; u < i.length; ++u) { + var f, + h = (g = i[u]).name, + p = g.info.type, + d = n.uniforms[h], + g = t.link(g) + '.location'; + if (d) { + if (!o(d)) continue; + if (R(d)) { + if (((h = d.value), 35678 === p || 35680 === p)) + r( + c, + '.uniform1i(', + g, + ',', + (p = t.link(h._texture || h.color[0]._texture)) + + '.bind());' + ), + r.exit(p, '.unbind();'); + else if (35674 === p || 35675 === p || 35676 === p) + (d = 2), + 35675 === p ? (d = 3) : 35676 === p && (d = 4), + r( + c, + '.uniformMatrix', + d, + 'fv(', + g, + ',false,', + (h = t.global.def( + 'new Float32Array([' + + Array.prototype.slice.call(h) + + '])' + )), + ');' + ); + else { + switch (p) { + case 5126: + s = '1f'; + break; + case 35664: + s = '2f'; + break; + case 35665: + s = '3f'; + break; + case 35666: + s = '4f'; + break; + case 35670: + case 5124: + s = '1i'; + break; + case 35671: + case 35667: + s = '2i'; + break; + case 35672: + case 35668: + s = '3i'; + break; + case 35673: + s = '4i'; + break; + case 35669: + s = '4i'; + } + r( + c, + '.uniform', + s, + '(', + g, + ',', + m(h) ? Array.prototype.slice.call(h) : h, + ');' + ); + } + continue; + } + f = d.append(t, r); + } else { + if (!o(Et)) continue; + f = r.def(l.uniforms, '[', e.id(h), ']'); + } + switch ( + (35678 === p + ? r( + 'if(', + f, + '&&', + f, + '._reglType==="framebuffer"){', + f, + '=', + f, + '.color[0];', + '}' + ) + : 35680 === p && + r( + 'if(', + f, + '&&', + f, + '._reglType==="framebufferCube"){', + f, + '=', + f, + '.color[0];', + '}' + ), + (h = 1), + p) + ) { + case 35678: + case 35680: + (p = r.def(f, '._texture')), + r(c, '.uniform1i(', g, ',', p, '.bind());'), + r.exit(p, '.unbind();'); + continue; + case 5124: + case 35670: + s = '1i'; + break; + case 35667: + case 35671: + (s = '2i'), (h = 2); + break; + case 35668: + case 35672: + (s = '3i'), (h = 3); + break; + case 35669: + case 35673: + (s = '4i'), (h = 4); + break; + case 5126: + s = '1f'; + break; + case 35664: + (s = '2f'), (h = 2); + break; + case 35665: + (s = '3f'), (h = 3); + break; + case 35666: + (s = '4f'), (h = 4); + break; + case 35674: + s = 'Matrix2fv'; + break; + case 35675: + s = 'Matrix3fv'; + break; + case 35676: + s = 'Matrix4fv'; + } + if ((r(c, '.uniform', s, '(', g, ','), 'M' === s.charAt(0))) { + g = Math.pow(p - 35674 + 2, 2); + var v = t.global.def('new Float32Array(', g, ')'); + r( + 'false,(Array.isArray(', + f, + ')||', + f, + ' instanceof Float32Array)?', + f, + ':(', + a(g, function (t) { + return v + '[' + t + ']=' + f + '[' + t + ']'; + }), + ',', + v, + ')' + ); + } else + r( + 1 < h + ? a(h, function (t) { + return f + '[' + t + ']'; + }) + : f + ); + r(');'); + } + } + function U(t, e, r, n) { + function i(i) { + var a = h[i]; + return a + ? (a.contextDep && n.contextDynamic) || a.propDep + ? a.append(t, r) + : a.append(t, e) + : e.def(f, '.', i); + } + function a() { + function t() { + r( + l, + '.drawElementsInstancedANGLE(', + [d, m, v, g + '<<((' + v + '-5121)>>1)', s], + ');' + ); + } + function e() { + r(l, '.drawArraysInstancedANGLE(', [d, g, m, s], ');'); + } + p + ? y + ? t() + : (r('if(', p, '){'), t(), r('}else{'), e(), r('}')) + : e(); + } + function o() { + function t() { + r( + u + + '.drawElements(' + + [d, m, v, g + '<<((' + v + '-5121)>>1)'] + + ');' + ); + } + function e() { + r(u + '.drawArrays(' + [d, g, m] + ');'); + } + p + ? y + ? t() + : (r('if(', p, '){'), t(), r('}else{'), e(), r('}')) + : e(); + } + var s, + l, + c = t.shared, + u = c.gl, + f = c.draw, + h = n.draw, + p = (function () { + var i = h.elements, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, '.', 'elements')), + i && + a( + 'if(' + + i + + ')' + + u + + '.bindBuffer(34963,' + + i + + '.buffer.buffer);' + ), + i + ); + })(), + d = i('primitive'), + g = i('offset'), + m = (function () { + var i = h.count, + a = e; + return ( + i + ? (((i.contextDep && n.contextDynamic) || i.propDep) && + (a = r), + (i = i.append(t, a))) + : (i = a.def(f, '.', 'count')), + i + ); + })(); + if ('number' == typeof m) { + if (0 === m) return; + } else r('if(', m, '){'), r.exit('}'); + K && ((s = i('instances')), (l = t.instancing)); + var v = p + '.type', + y = h.elements && R(h.elements); + K && ('number' != typeof s || 0 <= s) + ? 'string' == typeof s + ? (r('if(', s, '>0){'), + a(), + r('}else if(', s, '<0){'), + o(), + r('}')) + : a() + : o(); + } + function V(t, e, r, n, i) { + return ( + (i = (e = b()).proc('body', i)), + K && + (e.instancing = i.def( + e.shared.extensions, + '.angle_instanced_arrays' + )), + t(e, i, r, n), + e.compile().body + ); + } + function H(t, e, r, n) { + L(t, e), + r.useVAO + ? r.drawVAO + ? e( + t.shared.vao, + '.setVAO(', + r.drawVAO.append(t, e), + ');' + ) + : e( + t.shared.vao, + '.setVAO(', + t.shared.vao, + '.targetVAO);' + ) + : (e(t.shared.vao, '.setVAO(null);'), + N(t, e, r, n.attributes, function () { + return !0; + })), + j(t, e, r, n.uniforms, function () { + return !0; + }), + U(t, e, e, r); + } + function G(t, e, r, n) { + function i() { + return !0; + } + (t.batchId = 'a1'), + L(t, e), + N(t, e, r, n.attributes, i), + j(t, e, r, n.uniforms, i), + U(t, e, e, r); + } + function Y(t, e, r, n) { + function i(t) { + return (t.contextDep && o) || t.propDep; + } + function a(t) { + return !i(t); + } + L(t, e); + var o = r.contextDep, + s = e.def(), + l = e.def(); + (t.shared.props = l), (t.batchId = s); + var c = t.scope(), + u = t.scope(); + e( + c.entry, + 'for(', + s, + '=0;', + s, + '<', + 'a1', + ';++', + s, + '){', + l, + '=', + 'a0', + '[', + s, + '];', + u, + '}', + c.exit + ), + r.needsContext && A(t, u, r.context), + r.needsFramebuffer && S(t, u, r.framebuffer), + C(t, u, r.state, i), + r.profile && i(r.profile) && I(t, u, r, !1, !0), + n + ? (r.useVAO + ? r.drawVAO + ? i(r.drawVAO) + ? u( + t.shared.vao, + '.setVAO(', + r.drawVAO.append(t, u), + ');' + ) + : c( + t.shared.vao, + '.setVAO(', + r.drawVAO.append(t, c), + ');' + ) + : c( + t.shared.vao, + '.setVAO(', + t.shared.vao, + '.targetVAO);' + ) + : (c(t.shared.vao, '.setVAO(null);'), + N(t, c, r, n.attributes, a), + N(t, u, r, n.attributes, i)), + j(t, c, r, n.uniforms, a), + j(t, u, r, n.uniforms, i), + U(t, c, u, r)) + : ((e = t.global.def('{}')), + (n = r.shader.progVar.append(t, u)), + (l = u.def(n, '.id')), + (c = u.def(e, '[', l, ']')), + u( + t.shared.gl, + '.useProgram(', + n, + '.program);', + 'if(!', + c, + '){', + c, + '=', + e, + '[', + l, + ']=', + t.link(function (e) { + return V(G, t, r, e, 2); + }), + '(', + n, + ');}', + c, + '.call(this,a0[', + s, + '],', + s, + ');' + )); + } + function W(t, r) { + function n(e) { + var n = r.shader[e]; + n && i.set(a.shader, '.' + e, n.append(t, i)); + } + var i = t.proc('scope', 3); + t.batchId = 'a2'; + var a = t.shared, + o = a.current; + A(t, i, r.context), + r.framebuffer && r.framebuffer.append(t, i), + O(Object.keys(r.state)).forEach(function (e) { + var n = r.state[e].append(t, i); + m(n) + ? n.forEach(function (r, n) { + i.set(t.next[e], '[' + n + ']', r); + }) + : i.set(a.next, '.' + e, n); + }), + I(t, i, r, !0, !0), + [ + 'elements', + 'offset', + 'count', + 'instances', + 'primitive', + ].forEach(function (e) { + var n = r.draw[e]; + n && i.set(a.draw, '.' + e, '' + n.append(t, i)); + }), + Object.keys(r.uniforms).forEach(function (n) { + i.set( + a.uniforms, + '[' + e.id(n) + ']', + r.uniforms[n].append(t, i) + ); + }), + Object.keys(r.attributes).forEach(function (e) { + var n = r.attributes[e].append(t, i), + a = t.scopeAttrib(e); + Object.keys(new Z()).forEach(function (t) { + i.set(a, '.' + t, n[t]); + }); + }), + r.scopeVAO && + i.set(a.vao, '.targetVAO', r.scopeVAO.append(t, i)), + n('vert'), + n('frag'), + 0 < Object.keys(r.state).length && + (i(o, '.dirty=true;'), i.exit(o, '.dirty=true;')), + i('a1(', t.shared.context, ',a0,', t.batchId, ');'); + } + function X(t, e, r) { + var n = e.static[r]; + if ( + n && + (function (t) { + if ('object' == typeof t && !m(t)) { + for (var e = Object.keys(t), r = 0; r < e.length; ++r) + if (q.isDynamic(t[e[r]])) return !0; + return !1; + } + })(n) + ) { + var i = t.global, + a = Object.keys(n), + o = !1, + s = !1, + l = !1, + c = t.global.def('{}'); + a.forEach(function (e) { + var r = n[e]; + if (q.isDynamic(r)) + 'function' == typeof r && (r = n[e] = q.unbox(r)), + (e = B(r, null)), + (o = o || e.thisDep), + (l = l || e.propDep), + (s = s || e.contextDep); + else { + switch ((i(c, '.', e, '='), typeof r)) { + case 'number': + i(r); + break; + case 'string': + i('"', r, '"'); + break; + case 'object': + Array.isArray(r) && i('[', r.join(), ']'); + break; + default: + i(t.link(r)); + } + i(';'); + } + }), + (e.dynamic[r] = new q.DynamicVariable(4, { + thisDep: o, + contextDep: s, + propDep: l, + ref: c, + append: function (t, e) { + a.forEach(function (r) { + var i = n[r]; + q.isDynamic(i) && + ((i = t.invoke(e, i)), e(c, '.', r, '=', i, ';')); + }); + }, + })), + delete e.static[r]; + } + } + var Z = u.Record, + J = { add: 32774, subtract: 32778, 'reverse subtract': 32779 }; + r.ext_blend_minmax && ((J.min = 32775), (J.max = 32776)); + var K = r.angle_instanced_arrays, + $ = r.webgl_draw_buffers, + tt = { dirty: !0, profile: g.profile }, + et = {}, + rt = [], + it = {}, + at = {}; + y('dither', 3024), + y('blend.enable', 3042), + x('blend.color', 'blendColor', [0, 0, 0, 0]), + x('blend.equation', 'blendEquationSeparate', [32774, 32774]), + x('blend.func', 'blendFuncSeparate', [1, 0, 1, 0]), + y('depth.enable', 2929, !0), + x('depth.func', 'depthFunc', 513), + x('depth.range', 'depthRange', [0, 1]), + x('depth.mask', 'depthMask', !0), + x('colorMask', 'colorMask', [!0, !0, !0, !0]), + y('cull.enable', 2884), + x('cull.face', 'cullFace', 1029), + x('frontFace', 'frontFace', 2305), + x('lineWidth', 'lineWidth', 1), + y('polygonOffset.enable', 32823), + x('polygonOffset.offset', 'polygonOffset', [0, 0]), + y('sample.alpha', 32926), + y('sample.enable', 32928), + x('sample.coverage', 'sampleCoverage', [1, !1]), + y('stencil.enable', 2960), + x('stencil.mask', 'stencilMask', -1), + x('stencil.func', 'stencilFunc', [519, 0, -1]), + x( + 'stencil.opFront', + 'stencilOpSeparate', + [1028, 7680, 7680, 7680] + ), + x( + 'stencil.opBack', + 'stencilOpSeparate', + [1029, 7680, 7680, 7680] + ), + y('scissor.enable', 3089), + x('scissor.box', 'scissor', [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]), + x('viewport', 'viewport', [ + 0, + 0, + t.drawingBufferWidth, + t.drawingBufferHeight, + ]); + var ot = { + gl: t, + context: p, + strings: e, + next: et, + current: tt, + draw: h, + elements: o, + buffer: i, + shader: f, + attributes: u.state, + vao: u, + uniforms: c, + framebuffer: l, + extensions: r, + timer: d, + isBufferArgs: z, + }, + st = { + primTypes: nt, + compareFuncs: Mt, + blendFuncs: kt, + blendEquations: J, + stencilOps: At, + glTypes: Q, + orientationType: St, + }; + $ && + ((st.backBuffer = [1029]), + (st.drawBuffer = a(n.maxDrawbuffers, function (t) { + return 0 === t + ? [0] + : a(t, function (t) { + return 36064 + t; + }); + }))); + var lt = 0; + return { + next: et, + current: tt, + procs: (function () { + var t = b(), + e = t.proc('poll'), + i = t.proc('refresh'), + o = t.block(); + e(o), i(o); + var s, + l = t.shared, + c = l.gl, + u = l.next, + f = l.current; + o(f, '.dirty=false;'), + S(t, e), + S(t, i, null, !0), + K && (s = t.link(K)), + r.oes_vertex_array_object && + i( + t.link(r.oes_vertex_array_object), + '.bindVertexArrayOES(null);' + ); + for (var h = 0; h < n.maxAttributes; ++h) { + var p = i.def(l.attributes, '[', h, ']'), + d = t.cond(p, '.buffer'); + d + .then( + c, + '.enableVertexAttribArray(', + h, + ');', + c, + '.bindBuffer(', + 34962, + ',', + p, + '.buffer.buffer);', + c, + '.vertexAttribPointer(', + h, + ',', + p, + '.size,', + p, + '.type,', + p, + '.normalized,', + p, + '.stride,', + p, + '.offset);' + ) + .else( + c, + '.disableVertexAttribArray(', + h, + ');', + c, + '.vertexAttrib4f(', + h, + ',', + p, + '.x,', + p, + '.y,', + p, + '.z,', + p, + '.w);', + p, + '.buffer=null;' + ), + i(d), + K && + i( + s, + '.vertexAttribDivisorANGLE(', + h, + ',', + p, + '.divisor);' + ); + } + return ( + i( + t.shared.vao, + '.currentVAO=null;', + t.shared.vao, + '.setVAO(', + t.shared.vao, + '.targetVAO);' + ), + Object.keys(it).forEach(function (r) { + var n = it[r], + a = o.def(u, '.', r), + s = t.block(); + s( + 'if(', + a, + '){', + c, + '.enable(', + n, + ')}else{', + c, + '.disable(', + n, + ')}', + f, + '.', + r, + '=', + a, + ';' + ), + i(s), + e('if(', a, '!==', f, '.', r, '){', s, '}'); + }), + Object.keys(at).forEach(function (r) { + var n, + s, + l = at[r], + h = tt[r], + p = t.block(); + p(c, '.', l, '('), + m(h) + ? ((l = h.length), + (n = t.global.def(u, '.', r)), + (s = t.global.def(f, '.', r)), + p( + a(l, function (t) { + return n + '[' + t + ']'; + }), + ');', + a(l, function (t) { + return s + '[' + t + ']=' + n + '[' + t + '];'; + }).join('') + ), + e( + 'if(', + a(l, function (t) { + return n + '[' + t + ']!==' + s + '[' + t + ']'; + }).join('||'), + '){', + p, + '}' + )) + : ((n = o.def(u, '.', r)), + (s = o.def(f, '.', r)), + p(n, ');', f, '.', r, '=', n, ';'), + e('if(', n, '!==', s, '){', p, '}')), + i(p); + }), + t.compile() + ); + })(), + compile: function (t, e, r, n, i) { + var a = b(); + return ( + (a.stats = a.link(i)), + Object.keys(e.static).forEach(function (t) { + X(a, e, t); + }), + Tt.forEach(function (e) { + X(a, t, e); + }), + (r = M(t, e, r, n)), + (function (t, e) { + var r = t.proc('draw', 1); + L(t, r), + A(t, r, e.context), + S(t, r, e.framebuffer), + E(t, r, e), + C(t, r, e.state), + I(t, r, e, !1, !0); + var n = e.shader.progVar.append(t, r); + if ( + (r(t.shared.gl, '.useProgram(', n, '.program);'), + e.shader.program) + ) + H(t, r, e, e.shader.program); + else { + r(t.shared.vao, '.setVAO(null);'); + var i = t.global.def('{}'), + a = r.def(n, '.id'), + o = r.def(i, '[', a, ']'); + r( + t + .cond(o) + .then(o, '.call(this,a0);') + .else( + o, + '=', + i, + '[', + a, + ']=', + t.link(function (r) { + return V(H, t, e, r, 1); + }), + '(', + n, + ');', + o, + '.call(this,a0);' + ) + ); + } + 0 < Object.keys(e.state).length && + r(t.shared.current, '.dirty=true;'); + })(a, r), + W(a, r), + (function (t, e) { + function r(t) { + return (t.contextDep && i) || t.propDep; + } + var n = t.proc('batch', 2); + (t.batchId = '0'), L(t, n); + var i = !1, + a = !0; + Object.keys(e.context).forEach(function (t) { + i = i || e.context[t].propDep; + }), + i || (A(t, n, e.context), (a = !1)); + var o = !1; + if ( + ((s = e.framebuffer) + ? (s.propDep + ? (i = o = !0) + : s.contextDep && i && (o = !0), + o || S(t, n, s)) + : S(t, n, null), + e.state.viewport && + e.state.viewport.propDep && + (i = !0), + E(t, n, e), + C(t, n, e.state, function (t) { + return !r(t); + }), + (e.profile && r(e.profile)) || I(t, n, e, !1, 'a1'), + (e.contextDep = i), + (e.needsContext = a), + (e.needsFramebuffer = o), + ((a = e.shader.progVar).contextDep && i) || a.propDep) + ) + Y(t, n, e, null); + else if ( + ((a = a.append(t, n)), + n(t.shared.gl, '.useProgram(', a, '.program);'), + e.shader.program) + ) + Y(t, n, e, e.shader.program); + else { + n(t.shared.vao, '.setVAO(null);'); + var s = t.global.def('{}'), + l = ((o = n.def(a, '.id')), n.def(s, '[', o, ']')); + n( + t + .cond(l) + .then(l, '.call(this,a0,a1);') + .else( + l, + '=', + s, + '[', + o, + ']=', + t.link(function (r) { + return V(Y, t, e, r, 2); + }), + '(', + a, + ');', + l, + '.call(this,a0,a1);' + ) + ); + } + 0 < Object.keys(e.state).length && + n(t.shared.current, '.dirty=true;'); + })(a, r), + a.compile() + ); + }, + }; + } + function j(t, e) { + for (var r = 0; r < t.length; ++r) if (t[r] === e) return r; + return -1; + } + var U = function (t, e) { + for (var r = Object.keys(e), n = 0; n < r.length; ++n) + t[r[n]] = e[r[n]]; + return t; + }, + V = 0, + q = { + DynamicVariable: t, + define: function (r, n) { + return new t(r, e(n + '')); + }, + isDynamic: function (e) { + return ( + ('function' == typeof e && !e._reglType) || e instanceof t + ); + }, + unbox: function (e, r) { + return 'function' == typeof e ? new t(0, e) : e; + }, + accessor: e, + }, + H = { + next: + 'function' == typeof requestAnimationFrame + ? function (t) { + return requestAnimationFrame(t); + } + : function (t) { + return setTimeout(t, 16); + }, + cancel: + 'function' == typeof cancelAnimationFrame + ? function (t) { + return cancelAnimationFrame(t); + } + : clearTimeout, + }, + G = + 'undefined' != typeof performance && performance.now + ? function () { + return performance.now(); + } + : function () { + return +new Date(); + }, + Y = s(); + Y.zero = s(); + var W = function (t, e) { + var r = 1; + e.ext_texture_filter_anisotropic && (r = t.getParameter(34047)); + var n = 1, + i = 1; + e.webgl_draw_buffers && + ((n = t.getParameter(34852)), (i = t.getParameter(36063))); + var a = !!e.oes_texture_float; + if (a) { + (a = t.createTexture()), + t.bindTexture(3553, a), + t.texImage2D(3553, 0, 6408, 1, 1, 0, 6408, 5126, null); + var o = t.createFramebuffer(); + if ( + (t.bindFramebuffer(36160, o), + t.framebufferTexture2D(36160, 36064, 3553, a, 0), + t.bindTexture(3553, null), + 36053 !== t.checkFramebufferStatus(36160)) + ) + a = !1; + else { + t.viewport(0, 0, 1, 1), + t.clearColor(1, 0, 0, 1), + t.clear(16384); + var s = Y.allocType(5126, 4); + t.readPixels(0, 0, 1, 1, 6408, 5126, s), + t.getError() + ? (a = !1) + : (t.deleteFramebuffer(o), + t.deleteTexture(a), + (a = 1 === s[0])), + Y.freeType(s); + } + } + return ( + (s = !0), + ('undefined' != typeof navigator && + (/MSIE/.test(navigator.userAgent) || + /Trident\//.test(navigator.appVersion) || + /Edge/.test(navigator.userAgent))) || + ((s = t.createTexture()), + (o = Y.allocType(5121, 36)), + t.activeTexture(33984), + t.bindTexture(34067, s), + t.texImage2D(34069, 0, 6408, 3, 3, 0, 6408, 5121, o), + Y.freeType(o), + t.bindTexture(34067, null), + t.deleteTexture(s), + (s = !t.getError())), + { + colorBits: [ + t.getParameter(3410), + t.getParameter(3411), + t.getParameter(3412), + t.getParameter(3413), + ], + depthBits: t.getParameter(3414), + stencilBits: t.getParameter(3415), + subpixelBits: t.getParameter(3408), + extensions: Object.keys(e).filter(function (t) { + return !!e[t]; + }), + maxAnisotropic: r, + maxDrawbuffers: n, + maxColorAttachments: i, + pointSizeDims: t.getParameter(33901), + lineWidthDims: t.getParameter(33902), + maxViewportDims: t.getParameter(3386), + maxCombinedTextureUnits: t.getParameter(35661), + maxCubeMapSize: t.getParameter(34076), + maxRenderbufferSize: t.getParameter(34024), + maxTextureUnits: t.getParameter(34930), + maxTextureSize: t.getParameter(3379), + maxAttributes: t.getParameter(34921), + maxVertexUniforms: t.getParameter(36347), + maxVertexTextureUnits: t.getParameter(35660), + maxVaryingVectors: t.getParameter(36348), + maxFragmentUniforms: t.getParameter(36349), + glsl: t.getParameter(35724), + renderer: t.getParameter(7937), + vendor: t.getParameter(7936), + version: t.getParameter(7938), + readFloat: a, + npotTextureCube: s, + } + ); + }, + X = function (t) { + return ( + t instanceof Uint8Array || + t instanceof Uint16Array || + t instanceof Uint32Array || + t instanceof Int8Array || + t instanceof Int16Array || + t instanceof Int32Array || + t instanceof Float32Array || + t instanceof Float64Array || + t instanceof Uint8ClampedArray + ); + }, + Z = function (t) { + return Object.keys(t).map(function (e) { + return t[e]; + }); + }, + J = { + shape: function (t) { + for (var e = []; t.length; t = t[0]) e.push(t.length); + return e; + }, + flatten: function (t, e, r, n) { + var i = 1; + if (e.length) for (var a = 0; a < e.length; ++a) i *= e[a]; + else i = 0; + switch (((r = n || Y.allocType(r, i)), e.length)) { + case 0: + break; + case 1: + for (n = e[0], e = 0; e < n; ++e) r[e] = t[e]; + break; + case 2: + for (n = e[0], e = e[1], a = i = 0; a < n; ++a) + for (var o = t[a], s = 0; s < e; ++s) r[i++] = o[s]; + break; + case 3: + c(t, e[0], e[1], e[2], r, 0); + break; + default: + !(function t(e, r, n, i, a) { + for (var o = 1, s = n + 1; s < r.length; ++s) o *= r[s]; + var l = r[n]; + if (4 == r.length - n) { + var u = r[n + 1], + f = r[n + 2]; + for (r = r[n + 3], s = 0; s < l; ++s) + c(e[s], u, f, r, i, a), (a += o); + } else + for (s = 0; s < l; ++s) + t(e[s], r, n + 1, i, a), (a += o); + })(t, e, 0, r, 0); + } + return r; + }, + }, + K = { + '[object Int8Array]': 5120, + '[object Int16Array]': 5122, + '[object Int32Array]': 5124, + '[object Uint8Array]': 5121, + '[object Uint8ClampedArray]': 5121, + '[object Uint16Array]': 5123, + '[object Uint32Array]': 5125, + '[object Float32Array]': 5126, + '[object Float64Array]': 5121, + '[object ArrayBuffer]': 5121, + }, + Q = { + int8: 5120, + int16: 5122, + int32: 5124, + uint8: 5121, + uint16: 5123, + uint32: 5125, + float: 5126, + float32: 5126, + }, + $ = { dynamic: 35048, stream: 35040, static: 35044 }, + tt = J.flatten, + et = J.shape, + rt = []; + (rt[5120] = 1), + (rt[5122] = 2), + (rt[5124] = 4), + (rt[5121] = 1), + (rt[5123] = 2), + (rt[5125] = 4), + (rt[5126] = 4); + var nt = { + points: 0, + point: 0, + lines: 1, + line: 1, + triangles: 4, + triangle: 4, + 'line loop': 2, + 'line strip': 3, + 'triangle strip': 5, + 'triangle fan': 6, + }, + it = new Float32Array(1), + at = new Uint32Array(it.buffer), + ot = [9984, 9986, 9985, 9987], + st = [0, 6409, 6410, 6407, 6408], + lt = {}; + (lt[6409] = lt[6406] = lt[6402] = 1), + (lt[34041] = lt[6410] = 2), + (lt[6407] = lt[35904] = 3), + (lt[6408] = lt[35906] = 4); + var ct = v('HTMLCanvasElement'), + ut = v('OffscreenCanvas'), + ft = v('CanvasRenderingContext2D'), + ht = v('ImageBitmap'), + pt = v('HTMLImageElement'), + dt = v('HTMLVideoElement'), + gt = Object.keys(K).concat([ct, ut, ft, ht, pt, dt]), + mt = []; + (mt[5121] = 1), + (mt[5126] = 4), + (mt[36193] = 2), + (mt[5123] = 2), + (mt[5125] = 4); + var vt = []; + (vt[32854] = 2), + (vt[32855] = 2), + (vt[36194] = 2), + (vt[34041] = 4), + (vt[33776] = 0.5), + (vt[33777] = 0.5), + (vt[33778] = 1), + (vt[33779] = 1), + (vt[35986] = 0.5), + (vt[35987] = 1), + (vt[34798] = 1), + (vt[35840] = 0.5), + (vt[35841] = 0.25), + (vt[35842] = 0.5), + (vt[35843] = 0.25), + (vt[36196] = 0.5); + var yt = []; + (yt[32854] = 2), + (yt[32855] = 2), + (yt[36194] = 2), + (yt[33189] = 2), + (yt[36168] = 1), + (yt[34041] = 4), + (yt[35907] = 4), + (yt[34836] = 16), + (yt[34842] = 8), + (yt[34843] = 6); + var xt = function (t, e, r, n, i) { + function a(t) { + (this.id = c++), + (this.refCount = 1), + (this.renderbuffer = t), + (this.format = 32854), + (this.height = this.width = 0), + i.profile && (this.stats = { size: 0 }); + } + function o(e) { + var r = e.renderbuffer; + t.bindRenderbuffer(36161, null), + t.deleteRenderbuffer(r), + (e.renderbuffer = null), + (e.refCount = 0), + delete u[e.id], + n.renderbufferCount--; + } + var s = { + rgba4: 32854, + rgb565: 36194, + 'rgb5 a1': 32855, + depth: 33189, + stencil: 36168, + 'depth stencil': 34041, + }; + e.ext_srgb && (s.srgba = 35907), + e.ext_color_buffer_half_float && + ((s.rgba16f = 34842), (s.rgb16f = 34843)), + e.webgl_color_buffer_float && (s.rgba32f = 34836); + var l = []; + Object.keys(s).forEach(function (t) { + l[s[t]] = t; + }); + var c = 0, + u = {}; + return ( + (a.prototype.decRef = function () { + 0 >= --this.refCount && o(this); + }), + i.profile && + (n.getTotalRenderbufferSize = function () { + var t = 0; + return ( + Object.keys(u).forEach(function (e) { + t += u[e].stats.size; + }), + t + ); + }), + { + create: function (e, r) { + function o(e, r) { + var n = 0, + a = 0, + u = 32854; + if ( + ('object' == typeof e && e + ? ('shape' in e + ? ((n = 0 | (a = e.shape)[0]), (a = 0 | a[1])) + : ('radius' in e && (n = a = 0 | e.radius), + 'width' in e && (n = 0 | e.width), + 'height' in e && (a = 0 | e.height)), + 'format' in e && (u = s[e.format])) + : 'number' == typeof e + ? ((n = 0 | e), + (a = 'number' == typeof r ? 0 | r : n)) + : e || (n = a = 1), + n !== c.width || a !== c.height || u !== c.format) + ) + return ( + (o.width = c.width = n), + (o.height = c.height = a), + (c.format = u), + t.bindRenderbuffer(36161, c.renderbuffer), + t.renderbufferStorage(36161, u, n, a), + i.profile && + (c.stats.size = + yt[c.format] * c.width * c.height), + (o.format = l[c.format]), + o + ); + } + var c = new a(t.createRenderbuffer()); + return ( + (u[c.id] = c), + n.renderbufferCount++, + o(e, r), + (o.resize = function (e, r) { + var n = 0 | e, + a = 0 | r || n; + return ( + (n === c.width && a === c.height) || + ((o.width = c.width = n), + (o.height = c.height = a), + t.bindRenderbuffer(36161, c.renderbuffer), + t.renderbufferStorage(36161, c.format, n, a), + i.profile && + (c.stats.size = + yt[c.format] * c.width * c.height)), + o + ); + }), + (o._reglType = 'renderbuffer'), + (o._renderbuffer = c), + i.profile && (o.stats = c.stats), + (o.destroy = function () { + c.decRef(); + }), + o + ); + }, + clear: function () { + Z(u).forEach(o); + }, + restore: function () { + Z(u).forEach(function (e) { + (e.renderbuffer = t.createRenderbuffer()), + t.bindRenderbuffer(36161, e.renderbuffer), + t.renderbufferStorage( + 36161, + e.format, + e.width, + e.height + ); + }), + t.bindRenderbuffer(36161, null); + }, + } + ); + }, + bt = []; + (bt[6408] = 4), (bt[6407] = 3); + var _t = []; + (_t[5121] = 1), (_t[5126] = 4), (_t[36193] = 2); + var wt = ['x', 'y', 'z', 'w'], + Tt = + 'blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset'.split( + ' ' + ), + kt = { + 0: 0, + 1: 1, + zero: 0, + one: 1, + 'src color': 768, + 'one minus src color': 769, + 'src alpha': 770, + 'one minus src alpha': 771, + 'dst color': 774, + 'one minus dst color': 775, + 'dst alpha': 772, + 'one minus dst alpha': 773, + 'constant color': 32769, + 'one minus constant color': 32770, + 'constant alpha': 32771, + 'one minus constant alpha': 32772, + 'src alpha saturate': 776, + }, + Mt = { + never: 512, + less: 513, + '<': 513, + equal: 514, + '=': 514, + '==': 514, + '===': 514, + lequal: 515, + '<=': 515, + greater: 516, + '>': 516, + notequal: 517, + '!=': 517, + '!==': 517, + gequal: 518, + '>=': 518, + always: 519, + }, + At = { + 0: 0, + zero: 0, + keep: 7680, + replace: 7681, + increment: 7682, + decrement: 7683, + 'increment wrap': 34055, + 'decrement wrap': 34056, + invert: 5386, + }, + St = { cw: 2304, ccw: 2305 }, + Et = new D(!1, !1, !1, function () {}); + return function (t) { + function e() { + if (0 === J.length) w && w.update(), (tt = null); + else { + (tt = H.next(e)), f(); + for (var t = J.length - 1; 0 <= t; --t) { + var r = J[t]; + r && r(I, null, 0); + } + m.flush(), w && w.update(); + } + } + function r() { + !tt && 0 < J.length && (tt = H.next(e)); + } + function n() { + tt && (H.cancel(e), (tt = null)); + } + function a(t) { + t.preventDefault(), + n(), + K.forEach(function (t) { + t(); + }); + } + function o(t) { + m.getError(), + y.restore(), + R.restore(), + z.restore(), + F.restore(), + B.restore(), + V.restore(), + O.restore(), + w && w.restore(), + Y.procs.refresh(), + r(), + Q.forEach(function (t) { + t(); + }); + } + function s(t) { + function e(t) { + var e = {}, + r = {}; + return ( + Object.keys(t).forEach(function (n) { + var i = t[n]; + q.isDynamic(i) ? (r[n] = q.unbox(i, n)) : (e[n] = i); + }), + { dynamic: r, static: e } + ); + } + var r = e(t.context || {}), + n = e(t.uniforms || {}), + i = e(t.attributes || {}), + a = e( + (function (t) { + function e(t) { + if (t in r) { + var e = r[t]; + delete r[t], + Object.keys(e).forEach(function (n) { + r[t + '.' + n] = e[n]; + }); + } + } + var r = U({}, t); + return ( + delete r.uniforms, + delete r.attributes, + delete r.context, + delete r.vao, + 'stencil' in r && + r.stencil.op && + ((r.stencil.opBack = r.stencil.opFront = + r.stencil.op), + delete r.stencil.op), + e('blend'), + e('depth'), + e('cull'), + e('stencil'), + e('polygonOffset'), + e('scissor'), + e('sample'), + 'vao' in t && (r.vao = t.vao), + r + ); + })(t) + ); + t = { gpuTime: 0, cpuTime: 0, count: 0 }; + var o = (r = Y.compile(a, i, n, r, t)).draw, + s = r.batch, + l = r.scope, + c = []; + return U( + function (t, e) { + var r; + if ('function' == typeof t) return l.call(this, null, t, 0); + if ('function' == typeof e) + if ('number' == typeof t) + for (r = 0; r < t; ++r) l.call(this, null, e, r); + else { + if (!Array.isArray(t)) return l.call(this, t, e, 0); + for (r = 0; r < t.length; ++r) l.call(this, t[r], e, r); + } + else if ('number' == typeof t) { + if (0 < t) + return s.call( + this, + (function (t) { + for (; c.length < t; ) c.push(null); + return c; + })(0 | t), + 0 | t + ); + } else { + if (!Array.isArray(t)) return o.call(this, t); + if (t.length) return s.call(this, t, t.length); + } + }, + { stats: t } + ); + } + function l(t, e) { + var r = 0; + Y.procs.poll(); + var n = e.color; + n && + (m.clearColor(+n[0] || 0, +n[1] || 0, +n[2] || 0, +n[3] || 0), + (r |= 16384)), + 'depth' in e && (m.clearDepth(+e.depth), (r |= 256)), + 'stencil' in e && + (m.clearStencil(0 | e.stencil), (r |= 1024)), + m.clear(r); + } + function c(t) { + return ( + J.push(t), + r(), + { + cancel: function () { + var e = j(J, t); + J[e] = function t() { + var e = j(J, t); + (J[e] = J[J.length - 1]), + --J.length, + 0 >= J.length && n(); + }; + }, + } + ); + } + function u() { + var t = X.viewport, + e = X.scissor_box; + (t[0] = t[1] = e[0] = e[1] = 0), + (I.viewportWidth = + I.framebufferWidth = + I.drawingBufferWidth = + t[2] = + e[2] = + m.drawingBufferWidth), + (I.viewportHeight = + I.framebufferHeight = + I.drawingBufferHeight = + t[3] = + e[3] = + m.drawingBufferHeight); + } + function f() { + (I.tick += 1), (I.time = g()), u(), Y.procs.poll(); + } + function h() { + u(), Y.procs.refresh(), w && w.update(); + } + function g() { + return (G() - T) / 1e3; + } + if (!(t = i(t))) return null; + var m = t.gl, + v = m.getContextAttributes(); + m.isContextLost(); + var y = (function (t, e) { + function r(e) { + var r; + e = e.toLowerCase(); + try { + r = n[e] = t.getExtension(e); + } catch (t) {} + return !!r; + } + for (var n = {}, i = 0; i < e.extensions.length; ++i) { + var a = e.extensions[i]; + if (!r(a)) + return ( + e.onDestroy(), + e.onDone( + '"' + + a + + '" extension is not supported by the current WebGL context, try upgrading your system or a different browser' + ), + null + ); + } + return ( + e.optionalExtensions.forEach(r), + { + extensions: n, + restore: function () { + Object.keys(n).forEach(function (t) { + if (n[t] && !r(t)) + throw Error('(regl): error restoring extension ' + t); + }); + }, + } + ); + })(m, t); + if (!y) return null; + var x = (function () { + var t = { '': 0 }, + e = ['']; + return { + id: function (r) { + var n = t[r]; + return n || ((n = t[r] = e.length), e.push(r), n); + }, + str: function (t) { + return e[t]; + }, + }; + })(), + b = { + vaoCount: 0, + bufferCount: 0, + elementsCount: 0, + framebufferCount: 0, + shaderCount: 0, + textureCount: 0, + cubeCount: 0, + renderbufferCount: 0, + maxTextureUnits: 0, + }, + _ = y.extensions, + w = (function (t, e) { + function r() { + (this.endQueryIndex = this.startQueryIndex = -1), + (this.sum = 0), + (this.stats = null); + } + function n(t, e, n) { + var i = o.pop() || new r(); + (i.startQueryIndex = t), + (i.endQueryIndex = e), + (i.sum = 0), + (i.stats = n), + s.push(i); + } + if (!e.ext_disjoint_timer_query) return null; + var i = [], + a = [], + o = [], + s = [], + l = [], + c = []; + return { + beginQuery: function (t) { + var r = + i.pop() || e.ext_disjoint_timer_query.createQueryEXT(); + e.ext_disjoint_timer_query.beginQueryEXT(35007, r), + a.push(r), + n(a.length - 1, a.length, t); + }, + endQuery: function () { + e.ext_disjoint_timer_query.endQueryEXT(35007); + }, + pushScopeStats: n, + update: function () { + var t, r; + if (0 !== (t = a.length)) { + (c.length = Math.max(c.length, t + 1)), + (l.length = Math.max(l.length, t + 1)), + (l[0] = 0); + var n = (c[0] = 0); + for (r = t = 0; r < a.length; ++r) { + var u = a[r]; + e.ext_disjoint_timer_query.getQueryObjectEXT(u, 34919) + ? ((n += + e.ext_disjoint_timer_query.getQueryObjectEXT( + u, + 34918 + )), + i.push(u)) + : (a[t++] = u), + (l[r + 1] = n), + (c[r + 1] = t); + } + for (a.length = t, r = t = 0; r < s.length; ++r) { + var f = (n = s[r]).startQueryIndex; + u = n.endQueryIndex; + (n.sum += l[u] - l[f]), + (f = c[f]), + (u = c[u]) === f + ? ((n.stats.gpuTime += n.sum / 1e6), o.push(n)) + : ((n.startQueryIndex = f), + (n.endQueryIndex = u), + (s[t++] = n)); + } + s.length = t; + } + }, + getNumPendingQueries: function () { + return a.length; + }, + clear: function () { + i.push.apply(i, a); + for (var t = 0; t < i.length; t++) + e.ext_disjoint_timer_query.deleteQueryEXT(i[t]); + (a.length = 0), (i.length = 0); + }, + restore: function () { + (a.length = 0), (i.length = 0); + }, + }; + })(0, _), + T = G(), + A = m.drawingBufferWidth, + L = m.drawingBufferHeight, + I = { + tick: 0, + time: 0, + viewportWidth: A, + viewportHeight: L, + framebufferWidth: A, + framebufferHeight: L, + drawingBufferWidth: A, + drawingBufferHeight: L, + pixelRatio: t.pixelRatio, + }, + P = W(m, _), + z = p(m, b, t, function (t) { + return O.destroyBuffer(t); + }), + O = S(m, _, P, b, z), + D = d(m, _, z, b), + R = E(m, x, b, t), + F = k( + m, + _, + P, + function () { + Y.procs.poll(); + }, + I, + b, + t + ), + B = xt(m, _, 0, b, t), + V = M(m, _, P, F, B, b), + Y = N( + m, + x, + _, + P, + z, + D, + 0, + V, + {}, + O, + R, + { + elements: null, + primitive: 4, + count: -1, + offset: 0, + instances: -1, + }, + I, + w, + t + ), + X = ((x = C(m, V, Y.procs.poll, I)), Y.next), + Z = m.canvas, + J = [], + K = [], + Q = [], + $ = [t.onDestroy], + tt = null; + Z && + (Z.addEventListener('webglcontextlost', a, !1), + Z.addEventListener('webglcontextrestored', o, !1)); + var et = (V.setFBO = s({ + framebuffer: q.define.call(null, 1, 'framebuffer'), + })); + return ( + h(), + (v = U(s, { + clear: function (t) { + if ('framebuffer' in t) + if ( + t.framebuffer && + 'framebufferCube' === t.framebuffer_reglType + ) + for (var e = 0; 6 > e; ++e) + et(U({ framebuffer: t.framebuffer.faces[e] }, t), l); + else et(t, l); + else l(0, t); + }, + prop: q.define.bind(null, 1), + context: q.define.bind(null, 2), + this: q.define.bind(null, 3), + draw: s({}), + buffer: function (t) { + return z.create(t, 34962, !1, !1); + }, + elements: function (t) { + return D.create(t, !1); + }, + texture: F.create2D, + cube: F.createCube, + renderbuffer: B.create, + framebuffer: V.create, + framebufferCube: V.createCube, + vao: O.createVAO, + attributes: v, + frame: c, + on: function (t, e) { + var r; + switch (t) { + case 'frame': + return c(e); + case 'lost': + r = K; + break; + case 'restore': + r = Q; + break; + case 'destroy': + r = $; + } + return ( + r.push(e), + { + cancel: function () { + for (var t = 0; t < r.length; ++t) + if (r[t] === e) { + (r[t] = r[r.length - 1]), r.pop(); + break; + } + }, + } + ); + }, + limits: P, + hasExtension: function (t) { + return 0 <= P.extensions.indexOf(t.toLowerCase()); + }, + read: x, + destroy: function () { + (J.length = 0), + n(), + Z && + (Z.removeEventListener('webglcontextlost', a), + Z.removeEventListener('webglcontextrestored', o)), + R.clear(), + V.clear(), + B.clear(), + F.clear(), + D.clear(), + z.clear(), + O.clear(), + w && w.clear(), + $.forEach(function (t) { + t(); + }); + }, + _gl: m, + _refresh: h, + poll: function () { + f(), w && w.update(); + }, + now: g, + stats: b, + })), + t.onDone(null, v), + v + ); + }; + }); + }, + {}, + ], + 541: [ + function (t, e, r) { + /*! + * repeat-string + * + * Copyright (c) 2014-2015, Jon Schlinkert. + * Licensed under the MIT License. + */ + 'use strict'; + var n, + i = ''; + e.exports = function (t, e) { + if ('string' != typeof t) throw new TypeError('expected a string'); + if (1 === e) return t; + if (2 === e) return t + t; + var r = t.length * e; + if (n !== t || 'undefined' == typeof n) (n = t), (i = ''); + else if (i.length >= r) return i.substr(0, r); + for (; r > i.length && e > 1; ) + 1 & e && (i += t), (e >>= 1), (t += t); + return (i = (i += t).substr(0, r)); + }; + }, + {}, + ], + 542: [ + function (t, e, r) { + (function (t) { + (function () { + e.exports = + t.performance && t.performance.now + ? function () { + return performance.now(); + } + : Date.now || + function () { + return +new Date(); + }; + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + {}, + ], + 543: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for ( + var e = t.length, r = t[t.length - 1], n = e, i = e - 2; + i >= 0; + --i + ) { + var a = r, + o = t[i]; + (l = o - ((r = a + o) - a)) && ((t[--n] = r), (r = l)); + } + var s = 0; + for (i = n; i < e; ++i) { + var l; + a = t[i]; + (l = (o = r) - ((r = a + o) - a)) && (t[s++] = l); + } + return (t[s++] = r), (t.length = s), t; + }; + }, + {}, + ], + 544: [ + function (t, e, r) { + 'use strict'; + var n = t('two-product'), + i = t('robust-sum'), + a = t('robust-scale'), + o = t('robust-compress'); + function s(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function l(t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ['m[', r, '][', n, ']'].join(''); + } + return e; + } + function c(t) { + if (2 === t.length) + return [ + 'sum(prod(', + t[0][0], + ',', + t[1][1], + '),prod(-', + t[0][1], + ',', + t[1][0], + '))', + ].join(''); + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + 'scale(', + c(s(t, r)), + ',', + ((n = r), 1 & n ? '-' : ''), + t[0][r], + ')', + ].join('') + ); + return (function t(e) { + if (1 === e.length) return e[0]; + if (2 === e.length) + return ['sum(', e[0], ',', e[1], ')'].join(''); + var r = e.length >> 1; + return ['sum(', t(e.slice(0, r)), ',', t(e.slice(r)), ')'].join( + '' + ); + })(e); + var n; + } + function u(t) { + return new Function( + 'sum', + 'scale', + 'prod', + 'compress', + [ + 'function robustDeterminant', + t, + '(m){return compress(', + c(l(t)), + ')};return robustDeterminant', + t, + ].join('') + )(i, a, n, o); + } + var f = [ + function () { + return [0]; + }, + function (t) { + return [t[0][0]]; + }, + ]; + !(function () { + for (; f.length < 6; ) f.push(u(f.length)); + for ( + var t = [], + r = ['function robustDeterminant(m){switch(m.length){'], + n = 0; + n < 6; + ++n + ) + t.push('det' + n), r.push('case ', n, ':return det', n, '(m);'); + r.push( + '}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant' + ), + t.push('CACHE', 'gen', r.join('')); + var i = Function.apply(void 0, t); + for ( + e.exports = i.apply(void 0, f.concat([f, u])), n = 0; + n < f.length; + ++n + ) + e.exports[n] = f[n]; + })(); + }, + { + 'robust-compress': 543, + 'robust-scale': 550, + 'robust-sum': 553, + 'two-product': 582, + }, + ], + 545: [ + function (t, e, r) { + 'use strict'; + var n = t('two-product'), + i = t('robust-sum'); + e.exports = function (t, e) { + for (var r = n(t[0], e[0]), a = 1; a < t.length; ++a) + r = i(r, n(t[a], e[a])); + return r; + }; + }, + { 'robust-sum': 553, 'two-product': 582 }, + ], + 546: [ + function (t, e, r) { + 'use strict'; + var n = t('two-product'), + i = t('robust-sum'), + a = t('robust-subtract'), + o = t('robust-scale'); + function s(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function l(t) { + if (1 === t.length) return t[0]; + if (2 === t.length) return ['sum(', t[0], ',', t[1], ')'].join(''); + var e = t.length >> 1; + return ['sum(', l(t.slice(0, e)), ',', l(t.slice(e)), ')'].join(''); + } + function c(t, e) { + if ('m' === t.charAt(0)) { + if ('w' === e.charAt(0)) { + var r = t.split('['); + return ['w', e.substr(1), 'm', r[0].substr(1)].join(''); + } + return ['prod(', t, ',', e, ')'].join(''); + } + return c(e, t); + } + function u(t) { + if (2 === t.length) + return [ + [ + 'diff(', + c(t[0][0], t[1][1]), + ',', + c(t[1][0], t[0][1]), + ')', + ].join(''), + ]; + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + 'scale(', + l(u(s(t, r))), + ',', + ((n = r), !0 & n ? '-' : ''), + t[0][r], + ')', + ].join('') + ); + return e; + var n; + } + function f(t, e) { + for (var r = [], n = 0; n < e - 2; ++n) + r.push(['prod(m', t, '[', n, '],m', t, '[', n, '])'].join('')); + return l(r); + } + function h(t) { + for ( + var e = [], + r = [], + c = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ['m', n, '[', t - r - 2, ']'].join(''); + } + return e; + })(t), + h = 0; + h < t; + ++h + ) + (c[0][h] = '1'), (c[t - 1][h] = 'w' + h); + for (h = 0; h < t; ++h) + 0 == (1 & h) + ? e.push.apply(e, u(s(c, h))) + : r.push.apply(r, u(s(c, h))); + var p = l(e), + d = l(r), + g = 'exactInSphere' + t, + m = []; + for (h = 0; h < t; ++h) m.push('m' + h); + var v = ['function ', g, '(', m.join(), '){']; + for (h = 0; h < t; ++h) { + v.push('var w', h, '=', f(h, t), ';'); + for (var y = 0; y < t; ++y) + y !== h && + v.push('var w', h, 'm', y, '=scale(w', h, ',m', y, '[0]);'); + } + return ( + v.push( + 'var p=', + p, + ',n=', + d, + ',d=diff(p,n);return d[d.length-1];}return ', + g + ), + new Function('sum', 'diff', 'prod', 'scale', v.join(''))( + i, + a, + n, + o + ) + ); + } + var p = [ + function () { + return 0; + }, + function () { + return 0; + }, + function () { + return 0; + }, + ]; + function d(t) { + var e = p[t.length]; + return e || (e = p[t.length] = h(t.length)), e.apply(void 0, t); + } + !(function () { + for (; p.length <= 6; ) p.push(h(p.length)); + for (var t = [], r = ['slow'], n = 0; n <= 6; ++n) + t.push('a' + n), r.push('o' + n); + var i = [ + 'function testInSphere(', + t.join(), + '){switch(arguments.length){case 0:case 1:return 0;', + ]; + for (n = 2; n <= 6; ++n) + i.push( + 'case ', + n, + ':return o', + n, + '(', + t.slice(0, n).join(), + ');' + ); + i.push( + '}var s=new Array(arguments.length);for(var i=0;i 0 && r.push(','), r.push('['); + for (var o = 0; o < t; ++o) + o > 0 && r.push(','), + o === i + ? r.push('+b[', a, ']') + : r.push('+A[', a, '][', o, ']'); + r.push(']'); + } + r.push(']),'); + } + r.push('det(A)]}return ', e); + var s = new Function('det', r.join('')); + return s(t < 6 ? n[t] : n); + } + var a = [ + function () { + return [0]; + }, + function (t, e) { + return [[e[0]], [t[0][0]]]; + }, + ]; + !(function () { + for (; a.length < 6; ) a.push(i(a.length)); + for ( + var t = [], + r = ['function dispatchLinearSolve(A,b){switch(A.length){'], + n = 0; + n < 6; + ++n + ) + t.push('s' + n), r.push('case ', n, ':return s', n, '(A,b);'); + r.push( + '}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve' + ), + t.push('CACHE', 'g', r.join('')); + var o = Function.apply(void 0, t); + for ( + e.exports = o.apply(void 0, a.concat([a, i])), n = 0; + n < 6; + ++n + ) + e.exports[n] = a[n]; + })(); + }, + { 'robust-determinant': 544 }, + ], + 548: [ + function (t, e, r) { + 'use strict'; + var n = t('two-product'), + i = t('robust-sum'), + a = t('robust-scale'), + o = t('robust-subtract'); + function s(t, e) { + for (var r = new Array(t.length - 1), n = 1; n < t.length; ++n) + for ( + var i = (r[n - 1] = new Array(t.length - 1)), a = 0, o = 0; + a < t.length; + ++a + ) + a !== e && (i[o++] = t[n][a]); + return r; + } + function l(t) { + if (1 === t.length) return t[0]; + if (2 === t.length) return ['sum(', t[0], ',', t[1], ')'].join(''); + var e = t.length >> 1; + return ['sum(', l(t.slice(0, e)), ',', l(t.slice(e)), ')'].join(''); + } + function c(t) { + if (2 === t.length) + return [ + [ + 'sum(prod(', + t[0][0], + ',', + t[1][1], + '),prod(-', + t[0][1], + ',', + t[1][0], + '))', + ].join(''), + ]; + for (var e = [], r = 0; r < t.length; ++r) + e.push( + [ + 'scale(', + l(c(s(t, r))), + ',', + ((n = r), 1 & n ? '-' : ''), + t[0][r], + ')', + ].join('') + ); + return e; + var n; + } + function u(t) { + for ( + var e = [], + r = [], + u = (function (t) { + for (var e = new Array(t), r = 0; r < t; ++r) { + e[r] = new Array(t); + for (var n = 0; n < t; ++n) + e[r][n] = ['m', n, '[', t - r - 1, ']'].join(''); + } + return e; + })(t), + f = [], + h = 0; + h < t; + ++h + ) + 0 == (1 & h) + ? e.push.apply(e, c(s(u, h))) + : r.push.apply(r, c(s(u, h))), + f.push('m' + h); + var p = l(e), + d = l(r), + g = 'orientation' + t + 'Exact', + m = [ + 'function ', + g, + '(', + f.join(), + '){var p=', + p, + ',n=', + d, + ',d=sub(p,n);return d[d.length-1];};return ', + g, + ].join(''); + return new Function('sum', 'prod', 'scale', 'sub', m)(i, n, a, o); + } + var f = u(3), + h = u(4), + p = [ + function () { + return 0; + }, + function () { + return 0; + }, + function (t, e) { + return e[0] - t[0]; + }, + function (t, e, r) { + var n, + i = (t[1] - r[1]) * (e[0] - r[0]), + a = (t[0] - r[0]) * (e[1] - r[1]), + o = i - a; + if (i > 0) { + if (a <= 0) return o; + n = i + a; + } else { + if (!(i < 0)) return o; + if (a >= 0) return o; + n = -(i + a); + } + var s = 33306690738754716e-32 * n; + return o >= s || o <= -s ? o : f(t, e, r); + }, + function (t, e, r, n) { + var i = t[0] - n[0], + a = e[0] - n[0], + o = r[0] - n[0], + s = t[1] - n[1], + l = e[1] - n[1], + c = r[1] - n[1], + u = t[2] - n[2], + f = e[2] - n[2], + p = r[2] - n[2], + d = a * c, + g = o * l, + m = o * s, + v = i * c, + y = i * l, + x = a * s, + b = u * (d - g) + f * (m - v) + p * (y - x), + _ = + 7771561172376103e-31 * + ((Math.abs(d) + Math.abs(g)) * Math.abs(u) + + (Math.abs(m) + Math.abs(v)) * Math.abs(f) + + (Math.abs(y) + Math.abs(x)) * Math.abs(p)); + return b > _ || -b > _ ? b : h(t, e, r, n); + }, + ]; + function d(t) { + var e = p[t.length]; + return e || (e = p[t.length] = u(t.length)), e.apply(void 0, t); + } + !(function () { + for (; p.length <= 5; ) p.push(u(p.length)); + for (var t = [], r = ['slow'], n = 0; n <= 5; ++n) + t.push('a' + n), r.push('o' + n); + var i = [ + 'function getOrientation(', + t.join(), + '){switch(arguments.length){case 0:case 1:return 0;', + ]; + for (n = 2; n <= 5; ++n) + i.push( + 'case ', + n, + ':return o', + n, + '(', + t.slice(0, n).join(), + ');' + ); + i.push( + '}var s=new Array(arguments.length);for(var i=0;i 0 && o > 0) || (a < 0 && o < 0)) return !1; + var s = n(r, t, e), + l = n(i, t, e); + if ((s > 0 && l > 0) || (s < 0 && l < 0)) return !1; + if (0 === a && 0 === o && 0 === s && 0 === l) + return (function (t, e, r, n) { + for (var i = 0; i < 2; ++i) { + var a = t[i], + o = e[i], + s = Math.min(a, o), + l = Math.max(a, o), + c = r[i], + u = n[i], + f = Math.min(c, u); + if (Math.max(c, u) < s || l < f) return !1; + } + return !0; + })(t, e, r, i); + return !0; + }; + var n = t('robust-orientation')[3]; + }, + { 'robust-orientation': 548 }, + ], + 552: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = 0 | t.length, + n = 0 | e.length; + if (1 === r && 1 === n) + return (function (t, e) { + var r = t + e, + n = r - t, + i = t - (r - n) + (e - n); + if (i) return [i, r]; + return [r]; + })(t[0], -e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + c = 0, + u = Math.abs, + f = t[l], + h = u(f), + p = -e[c], + d = u(p); + h < d + ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((a = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); + (l < r && h < d) || c >= n + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))); + var g, + m, + v = i + a, + y = v - i, + x = a - y, + b = x, + _ = v; + for (; l < r && c < n; ) + h < d + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = -e[c]), (d = u(p)))), + (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g); + for (; l < r; ) + (x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (l += 1) < r && (f = t[l]); + for (; c < n; ) + (x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (c += 1) < n && (p = -e[c]); + b && (o[s++] = b); + _ && (o[s++] = _); + s || (o[s++] = 0); + return (o.length = s), o; + }; + }, + {}, + ], + 553: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = 0 | t.length, + n = 0 | e.length; + if (1 === r && 1 === n) + return (function (t, e) { + var r = t + e, + n = r - t, + i = t - (r - n) + (e - n); + if (i) return [i, r]; + return [r]; + })(t[0], e[0]); + var i, + a, + o = new Array(r + n), + s = 0, + l = 0, + c = 0, + u = Math.abs, + f = t[l], + h = u(f), + p = e[c], + d = u(p); + h < d + ? ((a = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((a = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); + (l < r && h < d) || c >= n + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))); + var g, + m, + v = i + a, + y = v - i, + x = a - y, + b = x, + _ = v; + for (; l < r && c < n; ) + h < d + ? ((i = f), (l += 1) < r && ((f = t[l]), (h = u(f)))) + : ((i = p), (c += 1) < n && ((p = e[c]), (d = u(p)))), + (x = (a = b) - (y = (v = i + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g); + for (; l < r; ) + (x = (a = b) - (y = (v = (i = f) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (l += 1) < r && (f = t[l]); + for (; c < n; ) + (x = (a = b) - (y = (v = (i = p) + a) - i)) && (o[s++] = x), + (b = _ - ((g = _ + v) - (m = g - _)) + (v - m)), + (_ = g), + (c += 1) < n && (p = e[c]); + b && (o[s++] = b); + _ && (o[s++] = _); + s || (o[s++] = 0); + return (o.length = s), o; + }; + }, + {}, + ], + 554: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return t < 0 ? -1 : t > 0 ? 1 : 0; + }; + }, + {}, + ], + 555: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return i(n(t)); + }; + var n = t('boundary-cells'), + i = t('reduce-simplicial-complex'); + }, + { 'boundary-cells': 100, 'reduce-simplicial-complex': 533 }, + ], + 556: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, s) { + (r = r || 0), + 'undefined' == typeof s && + (s = (function (t) { + for (var e = t.length, r = 0, n = 0; n < e; ++n) + r = 0 | Math.max(r, t[n].length); + return r - 1; + })(t)); + if (0 === t.length || s < 1) + return { cells: [], vertexIds: [], vertexWeights: [] }; + var l = (function (t, e) { + for (var r = t.length, n = i.mallocUint8(r), a = 0; a < r; ++a) + n[a] = (t[a] < e) | 0; + return n; + })(e, +r), + c = (function (t, e) { + for ( + var r = t.length, + o = (((e * (e + 1)) / 2) * r) | 0, + s = i.mallocUint32(2 * o), + l = 0, + c = 0; + c < r; + ++c + ) + for (var u = t[c], f = ((e = u.length), 0); f < e; ++f) + for (var h = 0; h < f; ++h) { + var p = u[h], + d = u[f]; + (s[l++] = 0 | Math.min(p, d)), + (s[l++] = 0 | Math.max(p, d)); + } + a(n(s, [(l / 2) | 0, 2])); + var g = 2; + for (c = 2; c < l; c += 2) + (s[c - 2] === s[c] && s[c - 1] === s[c + 1]) || + ((s[g++] = s[c]), (s[g++] = s[c + 1])); + return n(s, [(g / 2) | 0, 2]); + })(t, s), + u = (function (t, e, r, a) { + for ( + var o = t.data, + s = t.shape[0], + l = i.mallocDouble(s), + c = 0, + u = 0; + u < s; + ++u + ) { + var f = o[2 * u], + h = o[2 * u + 1]; + if (r[f] !== r[h]) { + var p = e[f], + d = e[h]; + (o[2 * c] = f), + (o[2 * c + 1] = h), + (l[c++] = (d - a) / (d - p)); + } + } + return (t.shape[0] = c), n(l, [c]); + })(c, e, l, +r), + f = (function (t, e) { + var r = i.mallocInt32(2 * e), + n = t.shape[0], + a = t.data; + r[0] = 0; + for (var o = 0, s = 0; s < n; ++s) { + var l = a[2 * s]; + if (l !== o) { + for (r[2 * o + 1] = s; ++o < l; ) + (r[2 * o] = s), (r[2 * o + 1] = s); + r[2 * o] = s; + } + } + r[2 * o + 1] = n; + for (; ++o < e; ) r[2 * o] = r[2 * o + 1] = n; + return r; + })(c, 0 | e.length), + h = o(s)(t, c.data, f, l), + p = (function (t) { + for ( + var e = 0 | t.shape[0], r = t.data, n = new Array(e), i = 0; + i < e; + ++i + ) + n[i] = [r[2 * i], r[2 * i + 1]]; + return n; + })(c), + d = [].slice.call(u.data, 0, u.shape[0]); + return ( + i.free(l), + i.free(c.data), + i.free(u.data), + i.free(f), + { cells: h, vertexIds: p, vertexWeights: d } + ); + }; + var n = t('ndarray'), + i = t('typedarray-pool'), + a = t('ndarray-sort'), + o = t('./lib/codegen'); + }, + { + './lib/codegen': 557, + ndarray: 495, + 'ndarray-sort': 494, + 'typedarray-pool': 595, + }, + ], + 557: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = a[t]; + e || + (e = a[t] = + (function (t) { + var e = 0, + r = new Array(t + 1); + r[0] = [[]]; + for (var a = 1; a <= t; ++a) + for (var o = (r[a] = i(a)), s = 0; s < o.length; ++s) + e = Math.max(e, o[a].length); + var l = [ + 'function B(C,E,i,j){', + 'var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];', + 'while(l>1,v=E[2*m+1];', + 'if(v===b){return m}', + 'if(b 0 && l.push(','), l.push('['); + for (var n = 0; n < r.length; ++n) { + var i = r[n]; + n > 0 && l.push(','), + l.push('B(C,E,c[', i[0], '],c[', i[1], '])'); + } + l.push(']'); + } + l.push(');'); + } + } + for (a = t + 1; a > 1; --a) { + a < t + 1 && l.push('else '), l.push('if(l===', a, '){'); + var u = []; + for (s = 0; s < a; ++s) + u.push('(S[c[' + s + ']]<<' + s + ')'); + l.push( + 'var M=', + u.join('+'), + ';if(M===0||M===', + (1 << a) - 1, + '){continue}switch(M){' + ); + for (o = r[a - 1], s = 0; s < o.length; ++s) + l.push('case ', s, ':'), c(o[s]), l.push('break;'); + l.push('}}'); + } + return ( + l.push('}return R;};return getContour', t, 'd'), + new Function('pool', l.join(''))(n) + ); + })(t)); + return e; + }; + var n = t('typedarray-pool'), + i = t('marching-simplex-table'), + a = {}; + }, + { 'marching-simplex-table': 474, 'typedarray-pool': 595 }, + ], + 558: [ + function (t, e, r) { + 'use strict'; + var n = t('bit-twiddle'), + i = t('union-find'); + function a(t, e) { + var r = t.length, + n = t.length - e.length, + i = Math.min; + if (n) return n; + switch (r) { + case 0: + return 0; + case 1: + return t[0] - e[0]; + case 2: + return ( + (s = t[0] + t[1] - e[0] - e[1]) || + i(t[0], t[1]) - i(e[0], e[1]) + ); + case 3: + var a = t[0] + t[1], + o = e[0] + e[1]; + if ((s = a + t[2] - (o + e[2]))) return s; + var s, + l = i(t[0], t[1]), + c = i(e[0], e[1]); + return ( + (s = i(l, t[2]) - i(c, e[2])) || + i(l + t[2], a) - i(c + e[2], o) + ); + default: + var u = t.slice(0); + u.sort(); + var f = e.slice(0); + f.sort(); + for (var h = 0; h < r; ++h) if ((n = u[h] - f[h])) return n; + return 0; + } + } + function o(t, e) { + return a(t[0], e[0]); + } + function s(t, e) { + if (e) { + for (var r = t.length, n = new Array(r), i = 0; i < r; ++i) + n[i] = [t[i], e[i]]; + n.sort(o); + for (i = 0; i < r; ++i) (t[i] = n[i][0]), (e[i] = n[i][1]); + return t; + } + return t.sort(a), t; + } + function l(t) { + if (0 === t.length) return []; + for (var e = 1, r = t.length, n = 1; n < r; ++n) { + var i = t[n]; + if (a(i, t[n - 1])) { + if (n === e) { + e++; + continue; + } + t[e++] = i; + } + } + return (t.length = e), t; + } + function c(t, e) { + for (var r = 0, n = t.length - 1, i = -1; r <= n; ) { + var o = (r + n) >> 1, + s = a(t[o], e); + s <= 0 ? (0 === s && (i = o), (r = o + 1)) : s > 0 && (n = o - 1); + } + return i; + } + function u(t, e) { + for (var r = new Array(t.length), i = 0, o = r.length; i < o; ++i) + r[i] = []; + for (var s = [], l = ((i = 0), e.length); i < l; ++i) + for (var u = e[i], f = u.length, h = 1, p = 1 << f; h < p; ++h) { + s.length = n.popCount(h); + for (var d = 0, g = 0; g < f; ++g) + h & (1 << g) && (s[d++] = u[g]); + var m = c(t, s); + if (!(m < 0)) + for ( + ; + r[m++].push(i), !(m >= t.length || 0 !== a(t[m], s)); + + ); + } + return r; + } + function f(t, e) { + if (e < 0) return []; + for (var r = [], i = (1 << (e + 1)) - 1, a = 0; a < t.length; ++a) + for ( + var o = t[a], l = i; + l < 1 << o.length; + l = n.nextCombination(l) + ) { + for (var c = new Array(e + 1), u = 0, f = 0; f < o.length; ++f) + l & (1 << f) && (c[u++] = o[f]); + r.push(c); + } + return s(r); + } + (r.dimension = function (t) { + for (var e = 0, r = Math.max, n = 0, i = t.length; n < i; ++n) + e = r(e, t[n].length); + return e - 1; + }), + (r.countVertices = function (t) { + for (var e = -1, r = Math.max, n = 0, i = t.length; n < i; ++n) + for (var a = t[n], o = 0, s = a.length; o < s; ++o) + e = r(e, a[o]); + return e + 1; + }), + (r.cloneCells = function (t) { + for (var e = new Array(t.length), r = 0, n = t.length; r < n; ++r) + e[r] = t[r].slice(0); + return e; + }), + (r.compareCells = a), + (r.normalize = s), + (r.unique = l), + (r.findCell = c), + (r.incidence = u), + (r.dual = function (t, e) { + if (!e) return u(l(f(t, 0)), t); + for (var r = new Array(e), n = 0; n < e; ++n) r[n] = []; + n = 0; + for (var i = t.length; n < i; ++n) + for (var a = t[n], o = 0, s = a.length; o < s; ++o) + r[a[o]].push(n); + return r; + }), + (r.explode = function (t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + for ( + var i = t[r], a = 0 | i.length, o = 1, l = 1 << a; + o < l; + ++o + ) { + for (var c = [], u = 0; u < a; ++u) + (o >>> u) & 1 && c.push(i[u]); + e.push(c); + } + return s(e); + }), + (r.skeleton = f), + (r.boundary = function (t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) + for (var i = t[r], a = 0, o = i.length; a < o; ++a) { + for ( + var l = new Array(i.length - 1), c = 0, u = 0; + c < o; + ++c + ) + c !== a && (l[u++] = i[c]); + e.push(l); + } + return s(e); + }), + (r.connectedComponents = function (t, e) { + return e + ? (function (t, e) { + for (var r = new i(e), n = 0; n < t.length; ++n) + for (var a = t[n], o = 0; o < a.length; ++o) + for (var s = o + 1; s < a.length; ++s) + r.link(a[o], a[s]); + var l = [], + c = r.ranks; + for (n = 0; n < c.length; ++n) c[n] = -1; + for (n = 0; n < t.length; ++n) { + var u = r.find(t[n][0]); + c[u] < 0 + ? ((c[u] = l.length), l.push([t[n].slice(0)])) + : l[c[u]].push(t[n].slice(0)); + } + return l; + })(t, e) + : (function (t) { + for ( + var e = l(s(f(t, 0))), r = new i(e.length), n = 0; + n < t.length; + ++n + ) + for (var a = t[n], o = 0; o < a.length; ++o) + for (var u = c(e, [a[o]]), h = o + 1; h < a.length; ++h) + r.link(u, c(e, [a[h]])); + var p = [], + d = r.ranks; + for (n = 0; n < d.length; ++n) d[n] = -1; + for (n = 0; n < t.length; ++n) { + var g = r.find(c(e, [t[n][0]])); + d[g] < 0 + ? ((d[g] = p.length), p.push([t[n].slice(0)])) + : p[d[g]].push(t[n].slice(0)); + } + return p; + })(t); + }); + }, + { 'bit-twiddle': 97, 'union-find': 596 }, + ], + 559: [ + function (t, e, r) { + arguments[4][97][0].apply(r, arguments); + }, + { dup: 97 }, + ], + 560: [ + function (t, e, r) { + arguments[4][558][0].apply(r, arguments); + }, + { 'bit-twiddle': 559, dup: 558, 'union-find': 561 }, + ], + 561: [ + function (t, e, r) { + 'use strict'; + function n(t) { + (this.roots = new Array(t)), (this.ranks = new Array(t)); + for (var e = 0; e < t; ++e) + (this.roots[e] = e), (this.ranks[e] = 0); + } + (e.exports = n), + (n.prototype.length = function () { + return this.roots.length; + }), + (n.prototype.makeSet = function () { + var t = this.roots.length; + return this.roots.push(t), this.ranks.push(0), t; + }), + (n.prototype.find = function (t) { + for (var e = this.roots; e[t] !== t; ) { + var r = e[t]; + (e[t] = e[r]), (t = r); + } + return t; + }), + (n.prototype.link = function (t, e) { + var r = this.find(t), + n = this.find(e); + if (r !== n) { + var i = this.ranks, + a = this.roots, + o = i[r], + s = i[n]; + o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); + } + }); + }, + {}, + ], + 562: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + for ( + var a = e.length, + o = t.length, + s = new Array(a), + l = new Array(a), + c = new Array(a), + u = new Array(a), + f = 0; + f < a; + ++f + ) + (s[f] = l[f] = -1), (c[f] = 1 / 0), (u[f] = !1); + for (f = 0; f < o; ++f) { + var h = t[f]; + if (2 !== h.length) throw new Error('Input must be a graph'); + var p = h[1], + d = h[0]; + -1 !== l[d] ? (l[d] = -2) : (l[d] = p), + -1 !== s[p] ? (s[p] = -2) : (s[p] = d); + } + function g(t) { + if (u[t]) return 1 / 0; + var r, + i, + a, + o, + c, + f = s[t], + h = l[t]; + return f < 0 || h < 0 + ? 1 / 0 + : ((r = e[t]), + (i = e[f]), + (a = e[h]), + (o = Math.abs(n(r, i, a))), + (c = Math.sqrt( + Math.pow(i[0] - a[0], 2) + Math.pow(i[1] - a[1], 2) + )), + o / c); + } + function m(t, e) { + var r = k[t], + n = k[e]; + (k[t] = n), (k[e] = r), (M[r] = e), (M[n] = t); + } + function v(t) { + return c[k[t]]; + } + function y(t) { + return 1 & t ? (t - 1) >> 1 : (t >> 1) - 1; + } + function x(t) { + for (var e = v(t); ; ) { + var r = e, + n = 2 * t + 1, + i = 2 * (t + 1), + a = t; + if (n < A) { + var o = v(n); + o < r && ((a = n), (r = o)); + } + if (i < A) v(i) < r && (a = i); + if (a === t) return t; + m(t, a), (t = a); + } + } + function b(t) { + for (var e = v(t); t > 0; ) { + var r = y(t); + if (r >= 0) + if (e < v(r)) { + m(t, r), (t = r); + continue; + } + return t; + } + } + function _() { + if (A > 0) { + var t = k[0]; + return m(0, A - 1), (A -= 1), x(0), t; + } + return -1; + } + function w(t, e) { + var r = k[t]; + return c[r] === e + ? t + : ((c[r] = -1 / 0), b(t), _(), (c[r] = e), b((A += 1) - 1)); + } + function T(t) { + if (!u[t]) { + u[t] = !0; + var e = s[t], + r = l[t]; + s[r] >= 0 && (s[r] = e), + l[e] >= 0 && (l[e] = r), + M[e] >= 0 && w(M[e], g(e)), + M[r] >= 0 && w(M[r], g(r)); + } + } + var k = [], + M = new Array(a); + for (f = 0; f < a; ++f) { + (c[f] = g(f)) < 1 / 0 + ? ((M[f] = k.length), k.push(f)) + : (M[f] = -1); + } + var A = k.length; + for (f = A >> 1; f >= 0; --f) x(f); + for (;;) { + var S = _(); + if (S < 0 || c[S] > r) break; + T(S); + } + var E = []; + for (f = 0; f < a; ++f) + u[f] || ((M[f] = E.length), E.push(e[f].slice())); + E.length; + function C(t, e) { + if (t[e] < 0) return e; + var r = e, + n = e; + do { + var i = t[n]; + if (!u[n] || i < 0 || i === n) break; + if (((i = t[(n = i)]), !u[n] || i < 0 || i === n)) break; + (n = i), (r = t[r]); + } while (r !== n); + for (var a = e; a !== n; a = t[a]) t[a] = n; + return n; + } + var L = []; + return ( + t.forEach(function (t) { + var e = C(s, t[0]), + r = C(l, t[1]); + if (e >= 0 && r >= 0 && e !== r) { + var n = M[e], + i = M[r]; + n !== i && L.push([n, i]); + } + }), + i.unique(i.normalize(L)), + { positions: E, edges: L } + ); + }; + var n = t('robust-orientation'), + i = t('simplicial-complex'); + }, + { 'robust-orientation': 548, 'simplicial-complex': 560 }, + ], + 563: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r, a, o, s; + if (e[0][0] < e[1][0]) (r = e[0]), (a = e[1]); + else { + if (!(e[0][0] > e[1][0])) return i(e, t); + (r = e[1]), (a = e[0]); + } + if (t[0][0] < t[1][0]) (o = t[0]), (s = t[1]); + else { + if (!(t[0][0] > t[1][0])) return -i(t, e); + (o = t[1]), (s = t[0]); + } + var l = n(r, a, s), + c = n(r, a, o); + if (l < 0) { + if (c <= 0) return l; + } else if (l > 0) { + if (c >= 0) return l; + } else if (c) return c; + if (((l = n(s, o, a)), (c = n(s, o, r)), l < 0)) { + if (c <= 0) return l; + } else if (l > 0) { + if (c >= 0) return l; + } else if (c) return c; + return a[0] - s[0]; + }; + var n = t('robust-orientation'); + function i(t, e) { + var r, i, a, o; + if (e[0][0] < e[1][0]) (r = e[0]), (i = e[1]); + else { + if (!(e[0][0] > e[1][0])) { + var s = Math.min(t[0][1], t[1][1]), + l = Math.max(t[0][1], t[1][1]), + c = Math.min(e[0][1], e[1][1]), + u = Math.max(e[0][1], e[1][1]); + return l < c ? l - c : s > u ? s - u : l - u; + } + (r = e[1]), (i = e[0]); + } + t[0][1] < t[1][1] + ? ((a = t[0]), (o = t[1])) + : ((a = t[1]), (o = t[0])); + var f = n(i, r, a); + return f || (f = n(i, r, o)) || o - i; + } + }, + { 'robust-orientation': 548 }, + ], + 564: [ + function (t, e, r) { + arguments[4][243][0].apply(r, arguments); + }, + { dup: 243 }, + ], + 565: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for ( + var e = t.length, r = 2 * e, n = new Array(r), a = 0; + a < e; + ++a + ) { + var l = t[a], + c = l[0][0] < l[1][0]; + (n[2 * a] = new f(l[0][0], l, c, a)), + (n[2 * a + 1] = new f(l[1][0], l, !c, a)); + } + n.sort(function (t, e) { + var r = t.x - e.x; + return ( + r || + (r = t.create - e.create) || + Math.min(t.segment[0][1], t.segment[1][1]) - + Math.min(e.segment[0][1], e.segment[1][1]) + ); + }); + var h = i(o), + p = [], + d = [], + g = []; + for (a = 0; a < r; ) { + for (var m = n[a].x, v = []; a < r; ) { + var y = n[a]; + if (y.x !== m) break; + (a += 1), + y.segment[0][0] === y.x && y.segment[1][0] === y.x + ? y.create && + (y.segment[0][1] < y.segment[1][1] + ? (v.push(new u(y.segment[0][1], y.index, !0, !0)), + v.push(new u(y.segment[1][1], y.index, !1, !1))) + : (v.push(new u(y.segment[1][1], y.index, !0, !1)), + v.push(new u(y.segment[0][1], y.index, !1, !0)))) + : (h = y.create + ? h.insert(y.segment, y.index) + : h.remove(y.segment)); + } + p.push(h.root), d.push(m), g.push(v); + } + return new s(p, d, g); + }; + var n = t('binary-search-bounds'), + i = t('functional-red-black-tree'), + a = t('robust-orientation'), + o = t('./lib/order-segments'); + function s(t, e, r) { + (this.slabs = t), (this.coordinates = e), (this.horizontal = r); + } + function l(t, e) { + return t.y - e; + } + function c(t, e) { + for (var r = null; t; ) { + var n, + i, + o = t.key; + o[0][0] < o[1][0] + ? ((n = o[0]), (i = o[1])) + : ((n = o[1]), (i = o[0])); + var s = a(n, i, e); + if (s < 0) t = t.left; + else if (s > 0) + if (e[0] !== o[1][0]) (r = t), (t = t.right); + else { + if ((l = c(t.right, e))) return l; + t = t.left; + } + else { + if (e[0] !== o[1][0]) return t; + var l; + if ((l = c(t.right, e))) return l; + t = t.left; + } + } + return r; + } + function u(t, e, r, n) { + (this.y = t), (this.index = e), (this.start = r), (this.closed = n); + } + function f(t, e, r, n) { + (this.x = t), + (this.segment = e), + (this.create = r), + (this.index = n); + } + s.prototype.castUp = function (t) { + var e = n.le(this.coordinates, t[0]); + if (e < 0) return -1; + this.slabs[e]; + var r = c(this.slabs[e], t), + i = -1; + if ((r && (i = r.value), this.coordinates[e] === t[0])) { + var s = null; + if ((r && (s = r.key), e > 0)) { + var u = c(this.slabs[e - 1], t); + u && + (s + ? o(u.key, s) > 0 && ((s = u.key), (i = u.value)) + : ((i = u.value), (s = u.key))); + } + var f = this.horizontal[e]; + if (f.length > 0) { + var h = n.ge(f, t[1], l); + if (h < f.length) { + var p = f[h]; + if (t[1] === p.y) { + if (p.closed) return p.index; + for (; h < f.length - 1 && f[h + 1].y === t[1]; ) + if ((p = f[(h += 1)]).closed) return p.index; + if (p.y === t[1] && !p.start) { + if ((h += 1) >= f.length) return i; + p = f[h]; + } + } + if (p.start) + if (s) { + var d = a(s[0], s[1], [t[0], p.y]); + s[0][0] > s[1][0] && (d = -d), d > 0 && (i = p.index); + } else i = p.index; + else p.y !== t[1] && (i = p.index); + } + } + } + return i; + }; + }, + { + './lib/order-segments': 563, + 'binary-search-bounds': 564, + 'functional-red-black-tree': 247, + 'robust-orientation': 548, + }, + ], + 566: [ + function (t, e, r) { + 'use strict'; + var n = t('robust-dot-product'), + i = t('robust-sum'); + function a(t, e) { + var r = i(n(t, e), [e[e.length - 1]]); + return r[r.length - 1]; + } + function o(t, e, r, n) { + var i = -e / (n - e); + i < 0 ? (i = 0) : i > 1 && (i = 1); + for ( + var a = 1 - i, o = t.length, s = new Array(o), l = 0; + l < o; + ++l + ) + s[l] = i * t[l] + a * r[l]; + return s; + } + (e.exports = function (t, e) { + for ( + var r = [], + n = [], + i = a(t[t.length - 1], e), + s = t[t.length - 1], + l = t[0], + c = 0; + c < t.length; + ++c, s = l + ) { + var u = a((l = t[c]), e); + if ((i < 0 && u > 0) || (i > 0 && u < 0)) { + var f = o(s, u, l, i); + r.push(f), n.push(f.slice()); + } + u < 0 + ? n.push(l.slice()) + : u > 0 + ? r.push(l.slice()) + : (r.push(l.slice()), n.push(l.slice())), + (i = u); + } + return { positive: r, negative: n }; + }), + (e.exports.positive = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var c = a((s = t[l]), e); + ((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), + c >= 0 && r.push(s.slice()), + (n = c); + } + return r; + }), + (e.exports.negative = function (t, e) { + for ( + var r = [], + n = a(t[t.length - 1], e), + i = t[t.length - 1], + s = t[0], + l = 0; + l < t.length; + ++l, i = s + ) { + var c = a((s = t[l]), e); + ((n < 0 && c > 0) || (n > 0 && c < 0)) && r.push(o(i, c, s, n)), + c <= 0 && r.push(s.slice()), + (n = c); + } + return r; + }); + }, + { 'robust-dot-product': 545, 'robust-sum': 553 }, + ], + 567: [ + function (t, e, r) { + !(function () { + 'use strict'; + var t = { + not_string: /[^s]/, + not_bool: /[^t]/, + not_type: /[^T]/, + not_primitive: /[^v]/, + number: /[diefg]/, + numeric_arg: /[bcdiefguxX]/, + json: /[j]/, + not_json: /[^j]/, + text: /^[^\x25]+/, + modulo: /^\x25{2}/, + placeholder: + /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/, + key: /^([a-z_][a-z_\d]*)/i, + key_access: /^\.([a-z_][a-z_\d]*)/i, + index_access: /^\[(\d+)\]/, + sign: /^[+-]/, + }; + function e(t) { + return i(o(t), arguments); + } + function n(t, r) { + return e.apply(null, [t].concat(r || [])); + } + function i(r, n) { + var i, + a, + o, + s, + l, + c, + u, + f, + h, + p = 1, + d = r.length, + g = ''; + for (a = 0; a < d; a++) + if ('string' == typeof r[a]) g += r[a]; + else if ('object' == typeof r[a]) { + if ((s = r[a]).keys) + for (i = n[p], o = 0; o < s.keys.length; o++) { + if (null == i) + throw new Error( + e( + '[sprintf] Cannot access property "%s" of undefined value "%s"', + s.keys[o], + s.keys[o - 1] + ) + ); + i = i[s.keys[o]]; + } + else i = s.param_no ? n[s.param_no] : n[p++]; + if ( + (t.not_type.test(s.type) && + t.not_primitive.test(s.type) && + i instanceof Function && + (i = i()), + t.numeric_arg.test(s.type) && + 'number' != typeof i && + isNaN(i)) + ) + throw new TypeError( + e('[sprintf] expecting number but found %T', i) + ); + switch ((t.number.test(s.type) && (f = i >= 0), s.type)) { + case 'b': + i = parseInt(i, 10).toString(2); + break; + case 'c': + i = String.fromCharCode(parseInt(i, 10)); + break; + case 'd': + case 'i': + i = parseInt(i, 10); + break; + case 'j': + i = JSON.stringify( + i, + null, + s.width ? parseInt(s.width) : 0 + ); + break; + case 'e': + i = s.precision + ? parseFloat(i).toExponential(s.precision) + : parseFloat(i).toExponential(); + break; + case 'f': + i = s.precision + ? parseFloat(i).toFixed(s.precision) + : parseFloat(i); + break; + case 'g': + i = s.precision + ? String(Number(i.toPrecision(s.precision))) + : parseFloat(i); + break; + case 'o': + i = (parseInt(i, 10) >>> 0).toString(8); + break; + case 's': + (i = String(i)), + (i = s.precision ? i.substring(0, s.precision) : i); + break; + case 't': + (i = String(!!i)), + (i = s.precision ? i.substring(0, s.precision) : i); + break; + case 'T': + (i = Object.prototype.toString + .call(i) + .slice(8, -1) + .toLowerCase()), + (i = s.precision ? i.substring(0, s.precision) : i); + break; + case 'u': + i = parseInt(i, 10) >>> 0; + break; + case 'v': + (i = i.valueOf()), + (i = s.precision ? i.substring(0, s.precision) : i); + break; + case 'x': + i = (parseInt(i, 10) >>> 0).toString(16); + break; + case 'X': + i = (parseInt(i, 10) >>> 0).toString(16).toUpperCase(); + } + t.json.test(s.type) + ? (g += i) + : (!t.number.test(s.type) || (f && !s.sign) + ? (h = '') + : ((h = f ? '+' : '-'), + (i = i.toString().replace(t.sign, ''))), + (c = s.pad_char + ? '0' === s.pad_char + ? '0' + : s.pad_char.charAt(1) + : ' '), + (u = s.width - (h + i).length), + (l = s.width && u > 0 ? c.repeat(u) : ''), + (g += s.align + ? h + i + l + : '0' === c + ? h + l + i + : l + h + i)); + } + return g; + } + var a = Object.create(null); + function o(e) { + if (a[e]) return a[e]; + for (var r, n = e, i = [], o = 0; n; ) { + if (null !== (r = t.text.exec(n))) i.push(r[0]); + else if (null !== (r = t.modulo.exec(n))) i.push('%'); + else { + if (null === (r = t.placeholder.exec(n))) + throw new SyntaxError('[sprintf] unexpected placeholder'); + if (r[2]) { + o |= 1; + var s = [], + l = r[2], + c = []; + if (null === (c = t.key.exec(l))) + throw new SyntaxError( + '[sprintf] failed to parse named argument key' + ); + for (s.push(c[1]); '' !== (l = l.substring(c[0].length)); ) + if (null !== (c = t.key_access.exec(l))) s.push(c[1]); + else { + if (null === (c = t.index_access.exec(l))) + throw new SyntaxError( + '[sprintf] failed to parse named argument key' + ); + s.push(c[1]); + } + r[2] = s; + } else o |= 2; + if (3 === o) + throw new Error( + '[sprintf] mixing positional and named placeholders is not (yet) supported' + ); + i.push({ + placeholder: r[0], + param_no: r[1], + keys: r[2], + sign: r[3], + pad_char: r[4], + align: r[5], + width: r[6], + precision: r[7], + type: r[8], + }); + } + n = n.substring(r[0].length); + } + return (a[e] = i); + } + 'undefined' != typeof r && ((r.sprintf = e), (r.vsprintf = n)), + 'undefined' != typeof window && + ((window.sprintf = e), (window.vsprintf = n)); + })(); + }, + {}, + ], + 568: [ + function (t, e, r) { + 'use strict'; + var n = t('parenthesis'); + e.exports = function (t, e, r) { + if (null == t) throw Error('First argument should be a string'); + if (null == e) + throw Error('Separator should be a string or a RegExp'); + r + ? ('string' == typeof r || Array.isArray(r)) && + (r = { ignore: r }) + : (r = {}), + null == r.escape && (r.escape = !0), + null == r.ignore + ? (r.ignore = [ + '[]', + '()', + '{}', + '<>', + '""', + "''", + '``', + '\u201c\u201d', + '\xab\xbb', + ]) + : ('string' == typeof r.ignore && (r.ignore = [r.ignore]), + (r.ignore = r.ignore.map(function (t) { + return 1 === t.length && (t += t), t; + }))); + var i = n.parse(t, { flat: !0, brackets: r.ignore }), + a = i[0].split(e); + if (r.escape) { + for (var o = [], s = 0; s < a.length; s++) { + var l = a[s], + c = a[s + 1]; + '\\' === l[l.length - 1] && '\\' !== l[l.length - 2] + ? (o.push(l + e + c), s++) + : o.push(l); + } + a = o; + } + for (s = 0; s < a.length; s++) + (i[0] = a[s]), (a[s] = n.stringify(i, { flat: !0 })); + return a; + }; + }, + { parenthesis: 503 }, + ], + 569: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for ( + var e = t.length, + r = new Array(e), + n = new Array(e), + i = new Array(e), + a = new Array(e), + o = new Array(e), + s = new Array(e), + l = 0; + l < e; + ++l + ) + (r[l] = -1), + (n[l] = 0), + (i[l] = !1), + (a[l] = 0), + (o[l] = -1), + (s[l] = []); + var c, + u = 0, + f = [], + h = []; + function p(e) { + var l = [e], + c = [e]; + for (r[e] = n[e] = u, i[e] = !0, u += 1; c.length > 0; ) { + e = c[c.length - 1]; + var p = t[e]; + if (a[e] < p.length) { + for (var d = a[e]; d < p.length; ++d) { + var g = p[d]; + if (r[g] < 0) { + (r[g] = n[g] = u), + (i[g] = !0), + (u += 1), + l.push(g), + c.push(g); + break; + } + i[g] && (n[e] = 0 | Math.min(n[e], n[g])), + o[g] >= 0 && s[e].push(o[g]); + } + a[e] = d; + } else { + if (n[e] === r[e]) { + var m = [], + v = [], + y = 0; + for (d = l.length - 1; d >= 0; --d) { + var x = l[d]; + if ( + ((i[x] = !1), + m.push(x), + v.push(s[x]), + (y += s[x].length), + (o[x] = f.length), + x === e) + ) { + l.length = d; + break; + } + } + f.push(m); + var b = new Array(y); + for (d = 0; d < v.length; d++) + for (var _ = 0; _ < v[d].length; _++) b[--y] = v[d][_]; + h.push(b); + } + c.pop(); + } + } + } + for (l = 0; l < e; ++l) r[l] < 0 && p(l); + for (l = 0; l < h.length; l++) { + var d = h[l]; + if (0 !== d.length) { + d.sort(function (t, e) { + return t - e; + }), + (c = [d[0]]); + for (var g = 1; g < d.length; g++) + d[g] !== d[g - 1] && c.push(d[g]); + h[l] = c; + } + } + return { components: f, adjacencyList: h }; + }; + }, + {}, + ], + 570: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + if (t.dimension <= 0) return { positions: [], cells: [] }; + if (1 === t.dimension) + return (function (t, e) { + for ( + var r = a(t, e), + n = r.length, + i = new Array(n), + o = new Array(n), + s = 0; + s < n; + ++s + ) + (i[s] = [r[s]]), (o[s] = [s]); + return { positions: i, cells: o }; + })(t, e); + var r = t.order.join() + '-' + t.dtype, + s = o[r]; + e = +e || 0; + s || + (s = o[r] = + (function (t, e) { + var r = t.length, + a = ["'use strict';"], + o = 'surfaceNets' + t.join('_') + 'd' + e; + a.push( + 'var contour=genContour({', + 'order:[', + t.join(), + '],', + 'scalarArguments: 3,', + 'phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },' + ), + 'generic' === e && a.push('getters:[0],'); + for (var s = [], l = [], c = 0; c < r; ++c) + s.push('d' + c), l.push('d' + c); + for (c = 0; c < 1 << r; ++c) s.push('v' + c), l.push('v' + c); + for (c = 0; c < 1 << r; ++c) s.push('p' + c), l.push('p' + c); + s.push('a', 'b', 'c'), + l.push('a', 'c'), + a.push('vertex:function vertexFunc(', s.join(), '){'); + var u = []; + for (c = 0; c < 1 << r; ++c) + u.push('(p' + c + '<<' + c + ')'); + a.push( + 'var m=(', + u.join('+'), + ')|0;if(m===0||m===', + (1 << (1 << r)) - 1, + '){return}' + ); + var f = [], + h = []; + 1 << (1 << r) <= 128 + ? (a.push('switch(m){'), (h = a)) + : a.push('switch(m>>>7){'); + for (c = 0; c < 1 << (1 << r); ++c) { + if (1 << (1 << r) > 128 && c % 128 == 0) { + f.length > 0 && h.push('}}'); + var p = 'vExtra' + f.length; + a.push( + 'case ', + c >>> 7, + ':', + p, + '(m&0x7f,', + l.join(), + ');break;' + ), + (h = ['function ', p, '(m,', l.join(), '){switch(m){']), + f.push(h); + } + h.push('case ', 127 & c, ':'); + for ( + var d = new Array(r), + g = new Array(r), + m = new Array(r), + v = new Array(r), + y = 0, + x = 0; + x < r; + ++x + ) + (d[x] = []), (g[x] = []), (m[x] = 0), (v[x] = 0); + for (x = 0; x < 1 << r; ++x) + for (var b = 0; b < r; ++b) { + var _ = x ^ (1 << b); + if (!(_ > x) && !(c & (1 << _)) != !(c & (1 << x))) { + var w = 1; + c & (1 << _) + ? g[b].push('v' + _ + '-v' + x) + : (g[b].push('v' + x + '-v' + _), (w = -w)), + w < 0 + ? (d[b].push('-v' + x + '-v' + _), (m[b] += 2)) + : (d[b].push('v' + x + '+v' + _), (m[b] -= 2)), + (y += 1); + for (var T = 0; T < r; ++T) + T !== b && + (_ & (1 << T) ? (v[T] += 1) : (v[T] -= 1)); + } + } + var k = []; + for (b = 0; b < r; ++b) + if (0 === d[b].length) k.push('d' + b + '-0.5'); + else { + var M = ''; + m[b] < 0 + ? (M = m[b] + '*c') + : m[b] > 0 && (M = '+' + m[b] + '*c'); + var A = (d[b].length / y) * 0.5, + S = 0.5 + (v[b] / y) * 0.5; + k.push( + 'd' + + b + + '-' + + S + + '-' + + A + + '*(' + + d[b].join('+') + + M + + ')/(' + + g[b].join('+') + + ')' + ); + } + h.push('a.push([', k.join(), ']);', 'break;'); + } + a.push('}},'), f.length > 0 && h.push('}}'); + var E = []; + for (c = 0; c < 1 << (r - 1); ++c) E.push('v' + c); + E.push('c0', 'c1', 'p0', 'p1', 'a', 'b', 'c'), + a.push('cell:function cellFunc(', E.join(), '){'); + var C = i(r - 1); + a.push( + 'if(p0){b.push(', + C.map(function (t) { + return ( + '[' + + t.map(function (t) { + return 'v' + t; + }) + + ']' + ); + }).join(), + ')}else{b.push(', + C.map(function (t) { + var e = t.slice(); + return ( + e.reverse(), + '[' + + e.map(function (t) { + return 'v' + t; + }) + + ']' + ); + }).join(), + ')}}});function ', + o, + '(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ', + o, + ';' + ); + for (c = 0; c < f.length; ++c) a.push(f[c].join('')); + return new Function('genContour', a.join(''))(n); + })(t.order, t.dtype)); + return s(t, e); + }; + var n = t('ndarray-extract-contour'), + i = t('triangulate-hypercube'), + a = t('zero-crossings'); + var o = {}; + }, + { + 'ndarray-extract-contour': 487, + 'triangulate-hypercube': 580, + 'zero-crossings': 624, + }, + ], + 571: [ + function (t, e, r) { + 'use strict'; + Object.defineProperty(r, '__esModule', { value: !0 }); + var n = function (t, e) { + if (Array.isArray(t)) return t; + if (Symbol.iterator in Object(t)) + return (function (t, e) { + var r = [], + n = !0, + i = !1, + a = void 0; + try { + for ( + var o, s = t[Symbol.iterator](); + !(n = (o = s.next()).done) && + (r.push(o.value), !e || r.length !== e); + n = !0 + ); + } catch (t) { + (i = !0), (a = t); + } finally { + try { + !n && s.return && s.return(); + } finally { + if (i) throw a; + } + } + return r; + })(t, e); + throw new TypeError( + 'Invalid attempt to destructure non-iterable instance' + ); + }, + i = 2 * Math.PI, + a = function (t, e, r, n, i, a, o) { + var s = t.x, + l = t.y; + return { + x: n * (s *= e) - i * (l *= r) + a, + y: i * s + n * l + o, + }; + }, + o = function (t, e) { + var r = + 1.5707963267948966 === e + ? 0.551915024494 + : -1.5707963267948966 === e + ? -0.551915024494 + : (4 / 3) * Math.tan(e / 4), + n = Math.cos(t), + i = Math.sin(t), + a = Math.cos(t + e), + o = Math.sin(t + e); + return [ + { x: n - i * r, y: i + n * r }, + { x: a + o * r, y: o - a * r }, + { x: a, y: o }, + ]; + }, + s = function (t, e, r, n) { + var i = t * r + e * n; + return ( + i > 1 && (i = 1), + i < -1 && (i = -1), + (t * n - e * r < 0 ? -1 : 1) * Math.acos(i) + ); + }; + (r.default = function (t) { + var e = t.px, + r = t.py, + l = t.cx, + c = t.cy, + u = t.rx, + f = t.ry, + h = t.xAxisRotation, + p = void 0 === h ? 0 : h, + d = t.largeArcFlag, + g = void 0 === d ? 0 : d, + m = t.sweepFlag, + v = void 0 === m ? 0 : m, + y = []; + if (0 === u || 0 === f) return []; + var x = Math.sin((p * i) / 360), + b = Math.cos((p * i) / 360), + _ = (b * (e - l)) / 2 + (x * (r - c)) / 2, + w = (-x * (e - l)) / 2 + (b * (r - c)) / 2; + if (0 === _ && 0 === w) return []; + (u = Math.abs(u)), (f = Math.abs(f)); + var T = + Math.pow(_, 2) / Math.pow(u, 2) + Math.pow(w, 2) / Math.pow(f, 2); + T > 1 && ((u *= Math.sqrt(T)), (f *= Math.sqrt(T))); + var k = (function (t, e, r, n, a, o, l, c, u, f, h, p) { + var d = Math.pow(a, 2), + g = Math.pow(o, 2), + m = Math.pow(h, 2), + v = Math.pow(p, 2), + y = d * g - d * v - g * m; + y < 0 && (y = 0), (y /= d * v + g * m); + var x = (((y = Math.sqrt(y) * (l === c ? -1 : 1)) * a) / o) * p, + b = ((y * -o) / a) * h, + _ = f * x - u * b + (t + r) / 2, + w = u * x + f * b + (e + n) / 2, + T = (h - x) / a, + k = (p - b) / o, + M = (-h - x) / a, + A = (-p - b) / o, + S = s(1, 0, T, k), + E = s(T, k, M, A); + return ( + 0 === c && E > 0 && (E -= i), + 1 === c && E < 0 && (E += i), + [_, w, S, E] + ); + })(e, r, l, c, u, f, g, v, x, b, _, w), + M = n(k, 4), + A = M[0], + S = M[1], + E = M[2], + C = M[3], + L = Math.abs(C) / (i / 4); + Math.abs(1 - L) < 1e-7 && (L = 1); + var I = Math.max(Math.ceil(L), 1); + C /= I; + for (var P = 0; P < I; P++) y.push(o(E, C)), (E += C); + return y.map(function (t) { + var e = a(t[0], u, f, b, x, A, S), + r = e.x, + n = e.y, + i = a(t[1], u, f, b, x, A, S), + o = i.x, + s = i.y, + l = a(t[2], u, f, b, x, A, S); + return { x1: r, y1: n, x2: o, y2: s, x: l.x, y: l.y }; + }); + }), + (e.exports = r.default); + }, + {}, + ], + 572: [ + function (t, e, r) { + 'use strict'; + var n = t('parse-svg-path'), + i = t('abs-svg-path'), + a = t('normalize-svg-path'), + o = t('is-svg-path'), + s = t('assert'); + e.exports = function (t) { + Array.isArray(t) && + 1 === t.length && + 'string' == typeof t[0] && + (t = t[0]); + 'string' == typeof t && + (s(o(t), 'String is not an SVG path.'), (t = n(t))); + if ( + (s( + Array.isArray(t), + 'Argument should be a string or an array of path segments.' + ), + (t = i(t)), + !(t = a(t)).length) + ) + return [0, 0, 0, 0]; + for ( + var e = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r = 0, l = t.length; + r < l; + r++ + ) + for (var c = t[r].slice(1), u = 0; u < c.length; u += 2) + c[u + 0] < e[0] && (e[0] = c[u + 0]), + c[u + 1] < e[1] && (e[1] = c[u + 1]), + c[u + 0] > e[2] && (e[2] = c[u + 0]), + c[u + 1] > e[3] && (e[3] = c[u + 1]); + return e; + }; + }, + { + 'abs-svg-path': 65, + assert: 73, + 'is-svg-path': 471, + 'normalize-svg-path': 573, + 'parse-svg-path': 505, + }, + ], + 573: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for ( + var e, + r = [], + o = 0, + s = 0, + l = 0, + c = 0, + u = null, + f = null, + h = 0, + p = 0, + d = 0, + g = t.length; + d < g; + d++ + ) { + var m = t[d], + v = m[0]; + switch (v) { + case 'M': + (l = m[1]), (c = m[2]); + break; + case 'A': + var y = n({ + px: h, + py: p, + cx: m[6], + cy: m[7], + rx: m[1], + ry: m[2], + xAxisRotation: m[3], + largeArcFlag: m[4], + sweepFlag: m[5], + }); + if (!y.length) continue; + for (var x, b = 0; b < y.length; b++) + (x = y[b]), + (m = ['C', x.x1, x.y1, x.x2, x.y2, x.x, x.y]), + b < y.length - 1 && r.push(m); + break; + case 'S': + var _ = h, + w = p; + ('C' != e && 'S' != e) || ((_ += _ - o), (w += w - s)), + (m = ['C', _, w, m[1], m[2], m[3], m[4]]); + break; + case 'T': + 'Q' == e || 'T' == e + ? ((u = 2 * h - u), (f = 2 * p - f)) + : ((u = h), (f = p)), + (m = a(h, p, u, f, m[1], m[2])); + break; + case 'Q': + (u = m[1]), (f = m[2]), (m = a(h, p, m[1], m[2], m[3], m[4])); + break; + case 'L': + m = i(h, p, m[1], m[2]); + break; + case 'H': + m = i(h, p, m[1], p); + break; + case 'V': + m = i(h, p, h, m[1]); + break; + case 'Z': + m = i(h, p, l, c); + } + (e = v), + (h = m[m.length - 2]), + (p = m[m.length - 1]), + m.length > 4 + ? ((o = m[m.length - 4]), (s = m[m.length - 3])) + : ((o = h), (s = p)), + r.push(m); + } + return r; + }; + var n = t('svg-arc-to-cubic-bezier'); + function i(t, e, r, n) { + return ['C', t, e, r, n, r, n]; + } + function a(t, e, r, n, i, a) { + return [ + 'C', + t / 3 + (2 / 3) * r, + e / 3 + (2 / 3) * n, + i / 3 + (2 / 3) * r, + a / 3 + (2 / 3) * n, + i, + a, + ]; + } + }, + { 'svg-arc-to-cubic-bezier': 571 }, + ], + 574: [ + function (t, e, r) { + 'use strict'; + var n, + i = t('svg-path-bounds'), + a = t('parse-svg-path'), + o = t('draw-svg-path'), + s = t('is-svg-path'), + l = t('bitmap-sdf'), + c = document.createElement('canvas'), + u = c.getContext('2d'); + e.exports = function (t, e) { + if (!s(t)) throw Error('Argument should be valid svg path string'); + e || (e = {}); + var r, f; + e.shape + ? ((r = e.shape[0]), (f = e.shape[1])) + : ((r = c.width = e.w || e.width || 200), + (f = c.height = e.h || e.height || 200)); + var h = Math.min(r, f), + p = e.stroke || 0, + d = e.viewbox || e.viewBox || i(t), + g = [r / (d[2] - d[0]), f / (d[3] - d[1])], + m = Math.min(g[0] || 0, g[1] || 0) / 2; + (u.fillStyle = 'black'), + u.fillRect(0, 0, r, f), + (u.fillStyle = 'white'), + p && + ('number' != typeof p && (p = 1), + (u.strokeStyle = p > 0 ? 'white' : 'black'), + (u.lineWidth = Math.abs(p))); + if ( + (u.translate(0.5 * r, 0.5 * f), + u.scale(m, m), + (function () { + if (null != n) return n; + var t = document.createElement('canvas').getContext('2d'); + if (((t.canvas.width = t.canvas.height = 1), !window.Path2D)) + return (n = !1); + var e = new Path2D('M0,0h1v1h-1v-1Z'); + (t.fillStyle = 'black'), t.fill(e); + var r = t.getImageData(0, 0, 1, 1); + return (n = r && r.data && 255 === r.data[3]); + })()) + ) { + var v = new Path2D(t); + u.fill(v), p && u.stroke(v); + } else { + var y = a(t); + o(u, y), u.fill(), p && u.stroke(); + } + return ( + u.setTransform(1, 0, 0, 1, 0, 0), + l(u, { + cutoff: null != e.cutoff ? e.cutoff : 0.5, + radius: null != e.radius ? e.radius : 0.5 * h, + }) + ); + }; + }, + { + 'bitmap-sdf': 98, + 'draw-svg-path': 174, + 'is-svg-path': 471, + 'parse-svg-path': 505, + 'svg-path-bounds': 572, + }, + ], + 575: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + e.exports = function t(e, r, i) { + i = i || {}; + var o = a[e]; + o || + (o = a[e] = + { ' ': { data: new Float32Array(0), shape: 0.2 } }); + var s = o[r]; + if (!s) + if (r.length <= 1 || !/\d/.test(r)) + s = o[r] = (function (t) { + for ( + var e = t.cells, + r = t.positions, + n = new Float32Array(6 * e.length), + i = 0, + a = 0, + o = 0; + o < e.length; + ++o + ) + for (var s = e[o], l = 0; l < 3; ++l) { + var c = r[s[l]]; + (n[i++] = c[0]), + (n[i++] = c[1] + 1.4), + (a = Math.max(c[0], a)); + } + return { data: n, shape: a }; + })( + n(r, { + triangles: !0, + font: e, + textAlign: i.textAlign || 'left', + textBaseline: 'alphabetic', + styletags: { + breaklines: !0, + bolds: !0, + italics: !0, + subscripts: !0, + superscripts: !0, + }, + }) + ); + else { + for ( + var l = r.split(/(\d|\s)/), + c = new Array(l.length), + u = 0, + f = 0, + h = 0; + h < l.length; + ++h + ) + (c[h] = t(e, l[h])), + (u += c[h].data.length), + (f += c[h].shape), + h > 0 && (f += 0.02); + var p = new Float32Array(u), + d = 0, + g = -0.5 * f; + for (h = 0; h < c.length; ++h) { + for (var m = c[h].data, v = 0; v < m.length; v += 2) + (p[d++] = m[v] + g), (p[d++] = m[v + 1]); + g += c[h].shape + 0.02; + } + s = o[r] = { data: p, shape: f }; + } + return s; + }; + var n = t('vectorize-text'), + i = window || r.global || {}, + a = i.__TEXT_CACHE || {}; + i.__TEXT_CACHE = {}; + }.call(this)); + }.call(this, t('_process'))); + }, + { _process: 526, 'vectorize-text': 600 }, + ], + 576: [ + function (t, e, r) { + !(function (t) { + var r = /^\s+/, + n = /\s+$/, + i = 0, + a = t.round, + o = t.min, + s = t.max, + l = t.random; + function c(e, l) { + if (((l = l || {}), (e = e || '') instanceof c)) return e; + if (!(this instanceof c)) return new c(e, l); + var u = (function (e) { + var i = { r: 0, g: 0, b: 0 }, + a = 1, + l = null, + c = null, + u = null, + f = !1, + h = !1; + 'string' == typeof e && + (e = (function (t) { + t = t.replace(r, '').replace(n, '').toLowerCase(); + var e, + i = !1; + if (S[t]) (t = S[t]), (i = !0); + else if ('transparent' == t) + return { r: 0, g: 0, b: 0, a: 0, format: 'name' }; + if ((e = j.rgb.exec(t))) + return { r: e[1], g: e[2], b: e[3] }; + if ((e = j.rgba.exec(t))) + return { r: e[1], g: e[2], b: e[3], a: e[4] }; + if ((e = j.hsl.exec(t))) + return { h: e[1], s: e[2], l: e[3] }; + if ((e = j.hsla.exec(t))) + return { h: e[1], s: e[2], l: e[3], a: e[4] }; + if ((e = j.hsv.exec(t))) + return { h: e[1], s: e[2], v: e[3] }; + if ((e = j.hsva.exec(t))) + return { h: e[1], s: e[2], v: e[3], a: e[4] }; + if ((e = j.hex8.exec(t))) + return { + r: P(e[1]), + g: P(e[2]), + b: P(e[3]), + a: R(e[4]), + format: i ? 'name' : 'hex8', + }; + if ((e = j.hex6.exec(t))) + return { + r: P(e[1]), + g: P(e[2]), + b: P(e[3]), + format: i ? 'name' : 'hex', + }; + if ((e = j.hex4.exec(t))) + return { + r: P(e[1] + '' + e[1]), + g: P(e[2] + '' + e[2]), + b: P(e[3] + '' + e[3]), + a: R(e[4] + '' + e[4]), + format: i ? 'name' : 'hex8', + }; + if ((e = j.hex3.exec(t))) + return { + r: P(e[1] + '' + e[1]), + g: P(e[2] + '' + e[2]), + b: P(e[3] + '' + e[3]), + format: i ? 'name' : 'hex', + }; + return !1; + })(e)); + 'object' == typeof e && + (U(e.r) && U(e.g) && U(e.b) + ? ((p = e.r), + (d = e.g), + (g = e.b), + (i = { + r: 255 * L(p, 255), + g: 255 * L(d, 255), + b: 255 * L(g, 255), + }), + (f = !0), + (h = '%' === String(e.r).substr(-1) ? 'prgb' : 'rgb')) + : U(e.h) && U(e.s) && U(e.v) + ? ((l = O(e.s)), + (c = O(e.v)), + (i = (function (e, r, n) { + (e = 6 * L(e, 360)), (r = L(r, 100)), (n = L(n, 100)); + var i = t.floor(e), + a = e - i, + o = n * (1 - r), + s = n * (1 - a * r), + l = n * (1 - (1 - a) * r), + c = i % 6; + return { + r: 255 * [n, s, o, o, l, n][c], + g: 255 * [l, n, n, s, o, o][c], + b: 255 * [o, o, l, n, n, s][c], + }; + })(e.h, l, c)), + (f = !0), + (h = 'hsv')) + : U(e.h) && + U(e.s) && + U(e.l) && + ((l = O(e.s)), + (u = O(e.l)), + (i = (function (t, e, r) { + var n, i, a; + function o(t, e, r) { + return ( + r < 0 && (r += 1), + r > 1 && (r -= 1), + r < 1 / 6 + ? t + 6 * (e - t) * r + : r < 0.5 + ? e + : r < 2 / 3 + ? t + (e - t) * (2 / 3 - r) * 6 + : t + ); + } + if ( + ((t = L(t, 360)), + (e = L(e, 100)), + (r = L(r, 100)), + 0 === e) + ) + n = i = a = r; + else { + var s = r < 0.5 ? r * (1 + e) : r + e - r * e, + l = 2 * r - s; + (n = o(l, s, t + 1 / 3)), + (i = o(l, s, t)), + (a = o(l, s, t - 1 / 3)); + } + return { r: 255 * n, g: 255 * i, b: 255 * a }; + })(e.h, l, u)), + (f = !0), + (h = 'hsl')), + e.hasOwnProperty('a') && (a = e.a)); + var p, d, g; + return ( + (a = C(a)), + { + ok: f, + format: e.format || h, + r: o(255, s(i.r, 0)), + g: o(255, s(i.g, 0)), + b: o(255, s(i.b, 0)), + a: a, + } + ); + })(e); + (this._originalInput = e), + (this._r = u.r), + (this._g = u.g), + (this._b = u.b), + (this._a = u.a), + (this._roundA = a(100 * this._a) / 100), + (this._format = l.format || u.format), + (this._gradientType = l.gradientType), + this._r < 1 && (this._r = a(this._r)), + this._g < 1 && (this._g = a(this._g)), + this._b < 1 && (this._b = a(this._b)), + (this._ok = u.ok), + (this._tc_id = i++); + } + function u(t, e, r) { + (t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255)); + var n, + i, + a = s(t, e, r), + l = o(t, e, r), + c = (a + l) / 2; + if (a == l) n = i = 0; + else { + var u = a - l; + switch (((i = c > 0.5 ? u / (2 - a - l) : u / (a + l)), a)) { + case t: + n = (e - r) / u + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / u + 2; + break; + case r: + n = (t - e) / u + 4; + } + n /= 6; + } + return { h: n, s: i, l: c }; + } + function f(t, e, r) { + (t = L(t, 255)), (e = L(e, 255)), (r = L(r, 255)); + var n, + i, + a = s(t, e, r), + l = o(t, e, r), + c = a, + u = a - l; + if (((i = 0 === a ? 0 : u / a), a == l)) n = 0; + else { + switch (a) { + case t: + n = (e - r) / u + (e < r ? 6 : 0); + break; + case e: + n = (r - t) / u + 2; + break; + case r: + n = (t - e) / u + 4; + } + n /= 6; + } + return { h: n, s: i, v: c }; + } + function h(t, e, r, n) { + var i = [ + z(a(t).toString(16)), + z(a(e).toString(16)), + z(a(r).toString(16)), + ]; + return n && + i[0].charAt(0) == i[0].charAt(1) && + i[1].charAt(0) == i[1].charAt(1) && + i[2].charAt(0) == i[2].charAt(1) + ? i[0].charAt(0) + i[1].charAt(0) + i[2].charAt(0) + : i.join(''); + } + function p(t, e, r, n) { + return [ + z(D(n)), + z(a(t).toString(16)), + z(a(e).toString(16)), + z(a(r).toString(16)), + ].join(''); + } + function d(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return (r.s -= e / 100), (r.s = I(r.s)), c(r); + } + function g(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return (r.s += e / 100), (r.s = I(r.s)), c(r); + } + function m(t) { + return c(t).desaturate(100); + } + function v(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return (r.l += e / 100), (r.l = I(r.l)), c(r); + } + function y(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toRgb(); + return ( + (r.r = s(0, o(255, r.r - a((-e / 100) * 255)))), + (r.g = s(0, o(255, r.g - a((-e / 100) * 255)))), + (r.b = s(0, o(255, r.b - a((-e / 100) * 255)))), + c(r) + ); + } + function x(t, e) { + e = 0 === e ? 0 : e || 10; + var r = c(t).toHsl(); + return (r.l -= e / 100), (r.l = I(r.l)), c(r); + } + function b(t, e) { + var r = c(t).toHsl(), + n = (r.h + e) % 360; + return (r.h = n < 0 ? 360 + n : n), c(r); + } + function _(t) { + var e = c(t).toHsl(); + return (e.h = (e.h + 180) % 360), c(e); + } + function w(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 120) % 360, s: e.s, l: e.l }), + c({ h: (r + 240) % 360, s: e.s, l: e.l }), + ]; + } + function T(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 90) % 360, s: e.s, l: e.l }), + c({ h: (r + 180) % 360, s: e.s, l: e.l }), + c({ h: (r + 270) % 360, s: e.s, l: e.l }), + ]; + } + function k(t) { + var e = c(t).toHsl(), + r = e.h; + return [ + c(t), + c({ h: (r + 72) % 360, s: e.s, l: e.l }), + c({ h: (r + 216) % 360, s: e.s, l: e.l }), + ]; + } + function M(t, e, r) { + (e = e || 6), (r = r || 30); + var n = c(t).toHsl(), + i = 360 / r, + a = [c(t)]; + for (n.h = (n.h - ((i * e) >> 1) + 720) % 360; --e; ) + (n.h = (n.h + i) % 360), a.push(c(n)); + return a; + } + function A(t, e) { + e = e || 6; + for ( + var r = c(t).toHsv(), + n = r.h, + i = r.s, + a = r.v, + o = [], + s = 1 / e; + e--; + + ) + o.push(c({ h: n, s: i, v: a })), (a = (a + s) % 1); + return o; + } + (c.prototype = { + isDark: function () { + return this.getBrightness() < 128; + }, + isLight: function () { + return !this.isDark(); + }, + isValid: function () { + return this._ok; + }, + getOriginalInput: function () { + return this._originalInput; + }, + getFormat: function () { + return this._format; + }, + getAlpha: function () { + return this._a; + }, + getBrightness: function () { + var t = this.toRgb(); + return (299 * t.r + 587 * t.g + 114 * t.b) / 1e3; + }, + getLuminance: function () { + var e, + r, + n, + i = this.toRgb(); + return ( + (e = i.r / 255), + (r = i.g / 255), + (n = i.b / 255), + 0.2126 * + (e <= 0.03928 + ? e / 12.92 + : t.pow((e + 0.055) / 1.055, 2.4)) + + 0.7152 * + (r <= 0.03928 + ? r / 12.92 + : t.pow((r + 0.055) / 1.055, 2.4)) + + 0.0722 * + (n <= 0.03928 + ? n / 12.92 + : t.pow((n + 0.055) / 1.055, 2.4)) + ); + }, + setAlpha: function (t) { + return ( + (this._a = C(t)), + (this._roundA = a(100 * this._a) / 100), + this + ); + }, + toHsv: function () { + var t = f(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, v: t.v, a: this._a }; + }, + toHsvString: function () { + var t = f(this._r, this._g, this._b), + e = a(360 * t.h), + r = a(100 * t.s), + n = a(100 * t.v); + return 1 == this._a + ? 'hsv(' + e + ', ' + r + '%, ' + n + '%)' + : 'hsva(' + + e + + ', ' + + r + + '%, ' + + n + + '%, ' + + this._roundA + + ')'; + }, + toHsl: function () { + var t = u(this._r, this._g, this._b); + return { h: 360 * t.h, s: t.s, l: t.l, a: this._a }; + }, + toHslString: function () { + var t = u(this._r, this._g, this._b), + e = a(360 * t.h), + r = a(100 * t.s), + n = a(100 * t.l); + return 1 == this._a + ? 'hsl(' + e + ', ' + r + '%, ' + n + '%)' + : 'hsla(' + + e + + ', ' + + r + + '%, ' + + n + + '%, ' + + this._roundA + + ')'; + }, + toHex: function (t) { + return h(this._r, this._g, this._b, t); + }, + toHexString: function (t) { + return '#' + this.toHex(t); + }, + toHex8: function (t) { + return (function (t, e, r, n, i) { + var o = [ + z(a(t).toString(16)), + z(a(e).toString(16)), + z(a(r).toString(16)), + z(D(n)), + ]; + if ( + i && + o[0].charAt(0) == o[0].charAt(1) && + o[1].charAt(0) == o[1].charAt(1) && + o[2].charAt(0) == o[2].charAt(1) && + o[3].charAt(0) == o[3].charAt(1) + ) + return ( + o[0].charAt(0) + + o[1].charAt(0) + + o[2].charAt(0) + + o[3].charAt(0) + ); + return o.join(''); + })(this._r, this._g, this._b, this._a, t); + }, + toHex8String: function (t) { + return '#' + this.toHex8(t); + }, + toRgb: function () { + return { + r: a(this._r), + g: a(this._g), + b: a(this._b), + a: this._a, + }; + }, + toRgbString: function () { + return 1 == this._a + ? 'rgb(' + + a(this._r) + + ', ' + + a(this._g) + + ', ' + + a(this._b) + + ')' + : 'rgba(' + + a(this._r) + + ', ' + + a(this._g) + + ', ' + + a(this._b) + + ', ' + + this._roundA + + ')'; + }, + toPercentageRgb: function () { + return { + r: a(100 * L(this._r, 255)) + '%', + g: a(100 * L(this._g, 255)) + '%', + b: a(100 * L(this._b, 255)) + '%', + a: this._a, + }; + }, + toPercentageRgbString: function () { + return 1 == this._a + ? 'rgb(' + + a(100 * L(this._r, 255)) + + '%, ' + + a(100 * L(this._g, 255)) + + '%, ' + + a(100 * L(this._b, 255)) + + '%)' + : 'rgba(' + + a(100 * L(this._r, 255)) + + '%, ' + + a(100 * L(this._g, 255)) + + '%, ' + + a(100 * L(this._b, 255)) + + '%, ' + + this._roundA + + ')'; + }, + toName: function () { + return 0 === this._a + ? 'transparent' + : !(this._a < 1) && + (E[h(this._r, this._g, this._b, !0)] || !1); + }, + toFilter: function (t) { + var e = '#' + p(this._r, this._g, this._b, this._a), + r = e, + n = this._gradientType ? 'GradientType = 1, ' : ''; + if (t) { + var i = c(t); + r = '#' + p(i._r, i._g, i._b, i._a); + } + return ( + 'progid:DXImageTransform.Microsoft.gradient(' + + n + + 'startColorstr=' + + e + + ',endColorstr=' + + r + + ')' + ); + }, + toString: function (t) { + var e = !!t; + t = t || this._format; + var r = !1, + n = this._a < 1 && this._a >= 0; + return e || + !n || + ('hex' !== t && + 'hex6' !== t && + 'hex3' !== t && + 'hex4' !== t && + 'hex8' !== t && + 'name' !== t) + ? ('rgb' === t && (r = this.toRgbString()), + 'prgb' === t && (r = this.toPercentageRgbString()), + ('hex' !== t && 'hex6' !== t) || (r = this.toHexString()), + 'hex3' === t && (r = this.toHexString(!0)), + 'hex4' === t && (r = this.toHex8String(!0)), + 'hex8' === t && (r = this.toHex8String()), + 'name' === t && (r = this.toName()), + 'hsl' === t && (r = this.toHslString()), + 'hsv' === t && (r = this.toHsvString()), + r || this.toHexString()) + : 'name' === t && 0 === this._a + ? this.toName() + : this.toRgbString(); + }, + clone: function () { + return c(this.toString()); + }, + _applyModification: function (t, e) { + var r = t.apply(null, [this].concat([].slice.call(e))); + return ( + (this._r = r._r), + (this._g = r._g), + (this._b = r._b), + this.setAlpha(r._a), + this + ); + }, + lighten: function () { + return this._applyModification(v, arguments); + }, + brighten: function () { + return this._applyModification(y, arguments); + }, + darken: function () { + return this._applyModification(x, arguments); + }, + desaturate: function () { + return this._applyModification(d, arguments); + }, + saturate: function () { + return this._applyModification(g, arguments); + }, + greyscale: function () { + return this._applyModification(m, arguments); + }, + spin: function () { + return this._applyModification(b, arguments); + }, + _applyCombination: function (t, e) { + return t.apply(null, [this].concat([].slice.call(e))); + }, + analogous: function () { + return this._applyCombination(M, arguments); + }, + complement: function () { + return this._applyCombination(_, arguments); + }, + monochromatic: function () { + return this._applyCombination(A, arguments); + }, + splitcomplement: function () { + return this._applyCombination(k, arguments); + }, + triad: function () { + return this._applyCombination(w, arguments); + }, + tetrad: function () { + return this._applyCombination(T, arguments); + }, + }), + (c.fromRatio = function (t, e) { + if ('object' == typeof t) { + var r = {}; + for (var n in t) + t.hasOwnProperty(n) && (r[n] = 'a' === n ? t[n] : O(t[n])); + t = r; + } + return c(t, e); + }), + (c.equals = function (t, e) { + return !(!t || !e) && c(t).toRgbString() == c(e).toRgbString(); + }), + (c.random = function () { + return c.fromRatio({ r: l(), g: l(), b: l() }); + }), + (c.mix = function (t, e, r) { + r = 0 === r ? 0 : r || 50; + var n = c(t).toRgb(), + i = c(e).toRgb(), + a = r / 100; + return c({ + r: (i.r - n.r) * a + n.r, + g: (i.g - n.g) * a + n.g, + b: (i.b - n.b) * a + n.b, + a: (i.a - n.a) * a + n.a, + }); + }), + (c.readability = function (e, r) { + var n = c(e), + i = c(r); + return ( + (t.max(n.getLuminance(), i.getLuminance()) + 0.05) / + (t.min(n.getLuminance(), i.getLuminance()) + 0.05) + ); + }), + (c.isReadable = function (t, e, r) { + var n, + i, + a = c.readability(t, e); + switch ( + ((i = !1), + (n = (function (t) { + var e, r; + (e = ( + (t = t || { level: 'AA', size: 'small' }).level || 'AA' + ).toUpperCase()), + (r = (t.size || 'small').toLowerCase()), + 'AA' !== e && 'AAA' !== e && (e = 'AA'); + 'small' !== r && 'large' !== r && (r = 'small'); + return { level: e, size: r }; + })(r)).level + n.size) + ) { + case 'AAsmall': + case 'AAAlarge': + i = a >= 4.5; + break; + case 'AAlarge': + i = a >= 3; + break; + case 'AAAsmall': + i = a >= 7; + } + return i; + }), + (c.mostReadable = function (t, e, r) { + var n, + i, + a, + o, + s = null, + l = 0; + (i = (r = r || {}).includeFallbackColors), + (a = r.level), + (o = r.size); + for (var u = 0; u < e.length; u++) + (n = c.readability(t, e[u])) > l && ((l = n), (s = c(e[u]))); + return c.isReadable(t, s, { level: a, size: o }) || !i + ? s + : ((r.includeFallbackColors = !1), + c.mostReadable(t, ['#fff', '#000'], r)); + }); + var S = (c.names = { + aliceblue: 'f0f8ff', + antiquewhite: 'faebd7', + aqua: '0ff', + aquamarine: '7fffd4', + azure: 'f0ffff', + beige: 'f5f5dc', + bisque: 'ffe4c4', + black: '000', + blanchedalmond: 'ffebcd', + blue: '00f', + blueviolet: '8a2be2', + brown: 'a52a2a', + burlywood: 'deb887', + burntsienna: 'ea7e5d', + cadetblue: '5f9ea0', + chartreuse: '7fff00', + chocolate: 'd2691e', + coral: 'ff7f50', + cornflowerblue: '6495ed', + cornsilk: 'fff8dc', + crimson: 'dc143c', + cyan: '0ff', + darkblue: '00008b', + darkcyan: '008b8b', + darkgoldenrod: 'b8860b', + darkgray: 'a9a9a9', + darkgreen: '006400', + darkgrey: 'a9a9a9', + darkkhaki: 'bdb76b', + darkmagenta: '8b008b', + darkolivegreen: '556b2f', + darkorange: 'ff8c00', + darkorchid: '9932cc', + darkred: '8b0000', + darksalmon: 'e9967a', + darkseagreen: '8fbc8f', + darkslateblue: '483d8b', + darkslategray: '2f4f4f', + darkslategrey: '2f4f4f', + darkturquoise: '00ced1', + darkviolet: '9400d3', + deeppink: 'ff1493', + deepskyblue: '00bfff', + dimgray: '696969', + dimgrey: '696969', + dodgerblue: '1e90ff', + firebrick: 'b22222', + floralwhite: 'fffaf0', + forestgreen: '228b22', + fuchsia: 'f0f', + gainsboro: 'dcdcdc', + ghostwhite: 'f8f8ff', + gold: 'ffd700', + goldenrod: 'daa520', + gray: '808080', + green: '008000', + greenyellow: 'adff2f', + grey: '808080', + honeydew: 'f0fff0', + hotpink: 'ff69b4', + indianred: 'cd5c5c', + indigo: '4b0082', + ivory: 'fffff0', + khaki: 'f0e68c', + lavender: 'e6e6fa', + lavenderblush: 'fff0f5', + lawngreen: '7cfc00', + lemonchiffon: 'fffacd', + lightblue: 'add8e6', + lightcoral: 'f08080', + lightcyan: 'e0ffff', + lightgoldenrodyellow: 'fafad2', + lightgray: 'd3d3d3', + lightgreen: '90ee90', + lightgrey: 'd3d3d3', + lightpink: 'ffb6c1', + lightsalmon: 'ffa07a', + lightseagreen: '20b2aa', + lightskyblue: '87cefa', + lightslategray: '789', + lightslategrey: '789', + lightsteelblue: 'b0c4de', + lightyellow: 'ffffe0', + lime: '0f0', + limegreen: '32cd32', + linen: 'faf0e6', + magenta: 'f0f', + maroon: '800000', + mediumaquamarine: '66cdaa', + mediumblue: '0000cd', + mediumorchid: 'ba55d3', + mediumpurple: '9370db', + mediumseagreen: '3cb371', + mediumslateblue: '7b68ee', + mediumspringgreen: '00fa9a', + mediumturquoise: '48d1cc', + mediumvioletred: 'c71585', + midnightblue: '191970', + mintcream: 'f5fffa', + mistyrose: 'ffe4e1', + moccasin: 'ffe4b5', + navajowhite: 'ffdead', + navy: '000080', + oldlace: 'fdf5e6', + olive: '808000', + olivedrab: '6b8e23', + orange: 'ffa500', + orangered: 'ff4500', + orchid: 'da70d6', + palegoldenrod: 'eee8aa', + palegreen: '98fb98', + paleturquoise: 'afeeee', + palevioletred: 'db7093', + papayawhip: 'ffefd5', + peachpuff: 'ffdab9', + peru: 'cd853f', + pink: 'ffc0cb', + plum: 'dda0dd', + powderblue: 'b0e0e6', + purple: '800080', + rebeccapurple: '663399', + red: 'f00', + rosybrown: 'bc8f8f', + royalblue: '4169e1', + saddlebrown: '8b4513', + salmon: 'fa8072', + sandybrown: 'f4a460', + seagreen: '2e8b57', + seashell: 'fff5ee', + sienna: 'a0522d', + silver: 'c0c0c0', + skyblue: '87ceeb', + slateblue: '6a5acd', + slategray: '708090', + slategrey: '708090', + snow: 'fffafa', + springgreen: '00ff7f', + steelblue: '4682b4', + tan: 'd2b48c', + teal: '008080', + thistle: 'd8bfd8', + tomato: 'ff6347', + turquoise: '40e0d0', + violet: 'ee82ee', + wheat: 'f5deb3', + white: 'fff', + whitesmoke: 'f5f5f5', + yellow: 'ff0', + yellowgreen: '9acd32', + }), + E = (c.hexNames = (function (t) { + var e = {}; + for (var r in t) t.hasOwnProperty(r) && (e[t[r]] = r); + return e; + })(S)); + function C(t) { + return ( + (t = parseFloat(t)), (isNaN(t) || t < 0 || t > 1) && (t = 1), t + ); + } + function L(e, r) { + (function (t) { + return ( + 'string' == typeof t && + -1 != t.indexOf('.') && + 1 === parseFloat(t) + ); + })(e) && (e = '100%'); + var n = (function (t) { + return 'string' == typeof t && -1 != t.indexOf('%'); + })(e); + return ( + (e = o(r, s(0, parseFloat(e)))), + n && (e = parseInt(e * r, 10) / 100), + t.abs(e - r) < 1e-6 ? 1 : (e % r) / parseFloat(r) + ); + } + function I(t) { + return o(1, s(0, t)); + } + function P(t) { + return parseInt(t, 16); + } + function z(t) { + return 1 == t.length ? '0' + t : '' + t; + } + function O(t) { + return t <= 1 && (t = 100 * t + '%'), t; + } + function D(e) { + return t.round(255 * parseFloat(e)).toString(16); + } + function R(t) { + return P(t) / 255; + } + var F, + B, + N, + j = + ((B = + '[\\s|\\(]+(' + + (F = '(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)') + + ')[,|\\s]+(' + + F + + ')[,|\\s]+(' + + F + + ')\\s*\\)?'), + (N = + '[\\s|\\(]+(' + + F + + ')[,|\\s]+(' + + F + + ')[,|\\s]+(' + + F + + ')[,|\\s]+(' + + F + + ')\\s*\\)?'), + { + CSS_UNIT: new RegExp(F), + rgb: new RegExp('rgb' + B), + rgba: new RegExp('rgba' + N), + hsl: new RegExp('hsl' + B), + hsla: new RegExp('hsla' + N), + hsv: new RegExp('hsv' + B), + hsva: new RegExp('hsva' + N), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + }); + function U(t) { + return !!j.CSS_UNIT.exec(t); + } + 'undefined' != typeof e && e.exports + ? (e.exports = c) + : (window.tinycolor = c); + })(Math); + }, + {}, + ], + 577: [ + function (t, e, r) { + 'use strict'; + (e.exports = i), + (e.exports.float32 = e.exports.float = i), + (e.exports.fract32 = e.exports.fract = + function (t) { + if (t.length) { + for (var e = i(t), r = 0, n = e.length; r < n; r++) + e[r] = t[r] - e[r]; + return e; + } + return i(t - i(t)); + }); + var n = new Float32Array(1); + function i(t) { + if (t.length) { + if (t instanceof Float32Array) return t; + var e = new Float32Array(t); + return e.set(t), e; + } + return (n[0] = t), n[0]; + } + }, + {}, + ], + 578: [ + function (t, e, r) { + 'use strict'; + var n = t('parse-unit'); + e.exports = a; + function i(t, e) { + var r = n(getComputedStyle(t).getPropertyValue(e)); + return r[0] * a(r[1], t); + } + function a(t, e) { + switch ( + ((e = e || document.body), + (t = (t || 'px').trim().toLowerCase()), + (e !== window && e !== document) || (e = document.body), + t) + ) { + case '%': + return e.clientHeight / 100; + case 'ch': + case 'ex': + return (function (t, e) { + var r = document.createElement('div'); + (r.style['font-size'] = '128' + t), e.appendChild(r); + var n = i(r, 'font-size') / 128; + return e.removeChild(r), n; + })(t, e); + case 'em': + return i(e, 'font-size'); + case 'rem': + return i(document.body, 'font-size'); + case 'vw': + return window.innerWidth / 100; + case 'vh': + return window.innerHeight / 100; + case 'vmin': + return Math.min(window.innerWidth, window.innerHeight) / 100; + case 'vmax': + return Math.max(window.innerWidth, window.innerHeight) / 100; + case 'in': + return 96; + case 'cm': + return 96 / 2.54; + case 'mm': + return 96 / 25.4; + case 'pt': + return 96 / 72; + case 'pc': + return 16; + } + return 1; + } + }, + { 'parse-unit': 506 }, + ], + 579: [ + function (t, e, r) { + !(function (t, n) { + 'object' == typeof r && 'undefined' != typeof e + ? n(r) + : n(((t = t || self).topojson = t.topojson || {})); + })(this, function (t) { + 'use strict'; + function e(t) { + return t; + } + function r(t) { + if (null == t) return e; + var r, + n, + i = t.scale[0], + a = t.scale[1], + o = t.translate[0], + s = t.translate[1]; + return function (t, e) { + e || (r = n = 0); + var l = 2, + c = t.length, + u = new Array(c); + for ( + u[0] = (r += t[0]) * i + o, u[1] = (n += t[1]) * a + s; + l < c; + + ) + (u[l] = t[l]), ++l; + return u; + }; + } + function n(t) { + var e, + n = r(t.transform), + i = 1 / 0, + a = i, + o = -i, + s = -i; + function l(t) { + (t = n(t))[0] < i && (i = t[0]), + t[0] > o && (o = t[0]), + t[1] < a && (a = t[1]), + t[1] > s && (s = t[1]); + } + function c(t) { + switch (t.type) { + case 'GeometryCollection': + t.geometries.forEach(c); + break; + case 'Point': + l(t.coordinates); + break; + case 'MultiPoint': + t.coordinates.forEach(l); + } + } + for (e in (t.arcs.forEach(function (t) { + for (var e, r = -1, l = t.length; ++r < l; ) + (e = n(t[r], r))[0] < i && (i = e[0]), + e[0] > o && (o = e[0]), + e[1] < a && (a = e[1]), + e[1] > s && (s = e[1]); + }), + t.objects)) + c(t.objects[e]); + return [i, a, o, s]; + } + function i(t, e) { + var r = e.id, + n = e.bbox, + i = null == e.properties ? {} : e.properties, + o = a(t, e); + return null == r && null == n + ? { type: 'Feature', properties: i, geometry: o } + : null == n + ? { type: 'Feature', id: r, properties: i, geometry: o } + : { + type: 'Feature', + id: r, + bbox: n, + properties: i, + geometry: o, + }; + } + function a(t, e) { + var n = r(t.transform), + i = t.arcs; + function a(t, e) { + e.length && e.pop(); + for (var r = i[t < 0 ? ~t : t], a = 0, o = r.length; a < o; ++a) + e.push(n(r[a], a)); + t < 0 && + (function (t, e) { + for (var r, n = t.length, i = n - e; i < --n; ) + (r = t[i]), (t[i++] = t[n]), (t[n] = r); + })(e, o); + } + function o(t) { + return n(t); + } + function s(t) { + for (var e = [], r = 0, n = t.length; r < n; ++r) a(t[r], e); + return e.length < 2 && e.push(e[0]), e; + } + function l(t) { + for (var e = s(t); e.length < 4; ) e.push(e[0]); + return e; + } + function c(t) { + return t.map(l); + } + return (function t(e) { + var r, + n = e.type; + switch (n) { + case 'GeometryCollection': + return { type: n, geometries: e.geometries.map(t) }; + case 'Point': + r = o(e.coordinates); + break; + case 'MultiPoint': + r = e.coordinates.map(o); + break; + case 'LineString': + r = s(e.arcs); + break; + case 'MultiLineString': + r = e.arcs.map(s); + break; + case 'Polygon': + r = c(e.arcs); + break; + case 'MultiPolygon': + r = e.arcs.map(c); + break; + default: + return null; + } + return { type: n, coordinates: r }; + })(e); + } + function o(t, e) { + var r = {}, + n = {}, + i = {}, + a = [], + o = -1; + function s(t, e) { + for (var n in t) { + var i = t[n]; + delete e[i.start], + delete i.start, + delete i.end, + i.forEach(function (t) { + r[t < 0 ? ~t : t] = 1; + }), + a.push(i); + } + } + return ( + e.forEach(function (r, n) { + var i, + a = t.arcs[r < 0 ? ~r : r]; + a.length < 3 && + !a[1][0] && + !a[1][1] && + ((i = e[++o]), (e[o] = r), (e[n] = i)); + }), + e.forEach(function (e) { + var r, + a, + o = (function (e) { + var r, + n = t.arcs[e < 0 ? ~e : e], + i = n[0]; + t.transform + ? ((r = [0, 0]), + n.forEach(function (t) { + (r[0] += t[0]), (r[1] += t[1]); + })) + : (r = n[n.length - 1]); + return e < 0 ? [r, i] : [i, r]; + })(e), + s = o[0], + l = o[1]; + if ((r = i[s])) + if ((delete i[r.end], r.push(e), (r.end = l), (a = n[l]))) { + delete n[a.start]; + var c = a === r ? r : r.concat(a); + n[(c.start = r.start)] = i[(c.end = a.end)] = c; + } else n[r.start] = i[r.end] = r; + else if ((r = n[l])) + if ( + (delete n[r.start], + r.unshift(e), + (r.start = s), + (a = i[s])) + ) { + delete i[a.end]; + var u = a === r ? r : a.concat(r); + n[(u.start = a.start)] = i[(u.end = r.end)] = u; + } else n[r.start] = i[r.end] = r; + else n[((r = [e]).start = s)] = i[(r.end = l)] = r; + }), + s(i, n), + s(n, i), + e.forEach(function (t) { + r[t < 0 ? ~t : t] || a.push([t]); + }), + a + ); + } + function s(t, e, r) { + var n, i, a; + if (arguments.length > 1) n = l(t, e, r); + else + for (i = 0, n = new Array((a = t.arcs.length)); i < a; ++i) + n[i] = i; + return { type: 'MultiLineString', arcs: o(t, n) }; + } + function l(t, e, r) { + var n, + i = [], + a = []; + function o(t) { + var e = t < 0 ? ~t : t; + (a[e] || (a[e] = [])).push({ i: t, g: n }); + } + function s(t) { + t.forEach(o); + } + function l(t) { + t.forEach(s); + } + return ( + (function t(e) { + switch (((n = e), e.type)) { + case 'GeometryCollection': + e.geometries.forEach(t); + break; + case 'LineString': + s(e.arcs); + break; + case 'MultiLineString': + case 'Polygon': + l(e.arcs); + break; + case 'MultiPolygon': + !(function (t) { + t.forEach(l); + })(e.arcs); + } + })(e), + a.forEach( + null == r + ? function (t) { + i.push(t[0].i); + } + : function (t) { + r(t[0].g, t[t.length - 1].g) && i.push(t[0].i); + } + ), + i + ); + } + function c(t, e) { + var r = {}, + n = [], + i = []; + function s(t) { + t.forEach(function (e) { + e.forEach(function (e) { + (r[(e = e < 0 ? ~e : e)] || (r[e] = [])).push(t); + }); + }), + n.push(t); + } + function l(e) { + return (function (t) { + for ( + var e, r = -1, n = t.length, i = t[n - 1], a = 0; + ++r < n; + + ) + (e = i), (i = t[r]), (a += e[0] * i[1] - e[1] * i[0]); + return Math.abs(a); + })(a(t, { type: 'Polygon', arcs: [e] }).coordinates[0]); + } + return ( + e.forEach(function t(e) { + switch (e.type) { + case 'GeometryCollection': + e.geometries.forEach(t); + break; + case 'Polygon': + s(e.arcs); + break; + case 'MultiPolygon': + e.arcs.forEach(s); + } + }), + n.forEach(function (t) { + if (!t._) { + var e = [], + n = [t]; + for (t._ = 1, i.push(e); (t = n.pop()); ) + e.push(t), + t.forEach(function (t) { + t.forEach(function (t) { + r[t < 0 ? ~t : t].forEach(function (t) { + t._ || ((t._ = 1), n.push(t)); + }); + }); + }); + } + }), + n.forEach(function (t) { + delete t._; + }), + { + type: 'MultiPolygon', + arcs: i + .map(function (e) { + var n, + i = []; + if ( + (e.forEach(function (t) { + t.forEach(function (t) { + t.forEach(function (t) { + r[t < 0 ? ~t : t].length < 2 && i.push(t); + }); + }); + }), + (n = (i = o(t, i)).length) > 1) + ) + for (var a, s, c = 1, u = l(i[0]); c < n; ++c) + (a = l(i[c])) > u && + ((s = i[0]), (i[0] = i[c]), (i[c] = s), (u = a)); + return i; + }) + .filter(function (t) { + return t.length > 0; + }), + } + ); + } + function u(t, e) { + for (var r = 0, n = t.length; r < n; ) { + var i = (r + n) >>> 1; + t[i] < e ? (r = i + 1) : (n = i); + } + return r; + } + function f(t) { + if (null == t) return e; + var r, + n, + i = t.scale[0], + a = t.scale[1], + o = t.translate[0], + s = t.translate[1]; + return function (t, e) { + e || (r = n = 0); + var l = 2, + c = t.length, + u = new Array(c), + f = Math.round((t[0] - o) / i), + h = Math.round((t[1] - s) / a); + for (u[0] = f - r, r = f, u[1] = h - n, n = h; l < c; ) + (u[l] = t[l]), ++l; + return u; + }; + } + (t.bbox = n), + (t.feature = function (t, e) { + return ( + 'string' == typeof e && (e = t.objects[e]), + 'GeometryCollection' === e.type + ? { + type: 'FeatureCollection', + features: e.geometries.map(function (e) { + return i(t, e); + }), + } + : i(t, e) + ); + }), + (t.merge = function (t) { + return a(t, c.apply(this, arguments)); + }), + (t.mergeArcs = c), + (t.mesh = function (t) { + return a(t, s.apply(this, arguments)); + }), + (t.meshArcs = s), + (t.neighbors = function (t) { + var e = {}, + r = t.map(function () { + return []; + }); + function n(t, r) { + t.forEach(function (t) { + t < 0 && (t = ~t); + var n = e[t]; + n ? n.push(r) : (e[t] = [r]); + }); + } + function i(t, e) { + t.forEach(function (t) { + n(t, e); + }); + } + var a = { + LineString: n, + MultiLineString: i, + Polygon: i, + MultiPolygon: function (t, e) { + t.forEach(function (t) { + i(t, e); + }); + }, + }; + for (var o in (t.forEach(function t(e, r) { + 'GeometryCollection' === e.type + ? e.geometries.forEach(function (e) { + t(e, r); + }) + : e.type in a && a[e.type](e.arcs, r); + }), + e)) + for (var s = e[o], l = s.length, c = 0; c < l; ++c) + for (var f = c + 1; f < l; ++f) { + var h, + p = s[c], + d = s[f]; + (h = r[p])[(o = u(h, d))] !== d && h.splice(o, 0, d), + (h = r[d])[(o = u(h, p))] !== p && h.splice(o, 0, p); + } + return r; + }), + (t.quantize = function (t, e) { + if (t.transform) throw new Error('already quantized'); + if (e && e.scale) l = t.bbox; + else { + if (!((r = Math.floor(e)) >= 2)) + throw new Error('n must be \u22652'); + var r, + i = (l = t.bbox || n(t))[0], + a = l[1], + o = l[2], + s = l[3]; + e = { + scale: [ + o - i ? (o - i) / (r - 1) : 1, + s - a ? (s - a) / (r - 1) : 1, + ], + translate: [i, a], + }; + } + var l, + c, + u = f(e), + h = t.objects, + p = {}; + function d(t) { + return u(t); + } + function g(t) { + var e; + switch (t.type) { + case 'GeometryCollection': + e = { + type: 'GeometryCollection', + geometries: t.geometries.map(g), + }; + break; + case 'Point': + e = { type: 'Point', coordinates: d(t.coordinates) }; + break; + case 'MultiPoint': + e = { + type: 'MultiPoint', + coordinates: t.coordinates.map(d), + }; + break; + default: + return t; + } + return ( + null != t.id && (e.id = t.id), + null != t.bbox && (e.bbox = t.bbox), + null != t.properties && (e.properties = t.properties), + e + ); + } + for (c in h) p[c] = g(h[c]); + return { + type: 'Topology', + bbox: l, + transform: e, + objects: p, + arcs: t.arcs.map(function (t) { + var e, + r = 0, + n = 1, + i = t.length, + a = new Array(i); + for (a[0] = u(t[0], 0); ++r < i; ) + ((e = u(t[r], r))[0] || e[1]) && (a[n++] = e); + return 1 === n && (a[n++] = [0, 0]), (a.length = n), a; + }), + }; + }), + (t.transform = r), + (t.untransform = f), + Object.defineProperty(t, '__esModule', { value: !0 }); + }); + }, + {}, + ], + 580: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + if (t < 0) return []; + if (0 === t) return [[0]]; + for (var e = 0 | Math.round(a(t + 1)), r = [], o = 0; o < e; ++o) { + for ( + var s = n.unrank(t, o), l = [0], c = 0, u = 0; + u < s.length; + ++u + ) + (c += 1 << s[u]), l.push(c); + i(s) < 1 && ((l[0] = c), (l[t] = 0)), r.push(l); + } + return r; + }; + var n = t('permutation-rank'), + i = t('permutation-parity'), + a = t('gamma'); + }, + { gamma: 248, 'permutation-parity': 509, 'permutation-rank': 510 }, + ], + 581: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = (t = t || {}).center || [0, 0, 0], + r = t.up || [0, 1, 0], + n = t.right || f(r), + i = t.radius || 1, + a = t.theta || 0, + u = t.phi || 0; + if ( + ((e = [].slice.call(e, 0, 3)), + (r = [].slice.call(r, 0, 3)), + s(r, r), + (n = [].slice.call(n, 0, 3)), + s(n, n), + 'eye' in t) + ) { + var p = t.eye, + d = [p[0] - e[0], p[1] - e[1], p[2] - e[2]]; + o(n, d, r), + c(n[0], n[1], n[2]) < 1e-6 ? (n = f(r)) : s(n, n), + (i = c(d[0], d[1], d[2])); + var g = l(r, d) / i, + m = l(n, d) / i; + (u = Math.acos(g)), (a = Math.acos(m)); + } + return ( + (i = Math.log(i)), new h(t.zoomMin, t.zoomMax, e, r, n, i, a, u) + ); + }; + var n = t('filtered-vector'), + i = t('gl-mat4/invert'), + a = t('gl-mat4/rotate'), + o = t('gl-vec3/cross'), + s = t('gl-vec3/normalize'), + l = t('gl-vec3/dot'); + function c(t, e, r) { + return Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2) + Math.pow(r, 2)); + } + function u(t) { + return Math.min(1, Math.max(-1, t)); + } + function f(t) { + var e = Math.abs(t[0]), + r = Math.abs(t[1]), + n = Math.abs(t[2]), + i = [0, 0, 0]; + e > Math.max(r, n) + ? (i[2] = 1) + : r > Math.max(e, n) + ? (i[0] = 1) + : (i[1] = 1); + for (var a = 0, o = 0, l = 0; l < 3; ++l) + (a += t[l] * t[l]), (o += i[l] * t[l]); + for (l = 0; l < 3; ++l) i[l] -= (o / a) * t[l]; + return s(i, i), i; + } + function h(t, e, r, i, a, o, s, l) { + (this.center = n(r)), + (this.up = n(i)), + (this.right = n(a)), + (this.radius = n([o])), + (this.angle = n([s, l])), + (this.angle.bounds = [ + [-1 / 0, -Math.PI / 2], + [1 / 0, Math.PI / 2], + ]), + this.setDistanceLimits(t, e), + (this.computedCenter = this.center.curve(0)), + (this.computedUp = this.up.curve(0)), + (this.computedRight = this.right.curve(0)), + (this.computedRadius = this.radius.curve(0)), + (this.computedAngle = this.angle.curve(0)), + (this.computedToward = [0, 0, 0]), + (this.computedEye = [0, 0, 0]), + (this.computedMatrix = new Array(16)); + for (var c = 0; c < 16; ++c) this.computedMatrix[c] = 0.5; + this.recalcMatrix(0); + } + var p = h.prototype; + (p.setDistanceLimits = function (t, e) { + (t = t > 0 ? Math.log(t) : -1 / 0), + (e = e > 0 ? Math.log(e) : 1 / 0), + (e = Math.max(e, t)), + (this.radius.bounds[0][0] = t), + (this.radius.bounds[1][0] = e); + }), + (p.getDistanceLimits = function (t) { + var e = this.radius.bounds[0]; + return t + ? ((t[0] = Math.exp(e[0][0])), (t[1] = Math.exp(e[1][0])), t) + : [Math.exp(e[0][0]), Math.exp(e[1][0])]; + }), + (p.recalcMatrix = function (t) { + this.center.curve(t), + this.up.curve(t), + this.right.curve(t), + this.radius.curve(t), + this.angle.curve(t); + for ( + var e = this.computedUp, + r = this.computedRight, + n = 0, + i = 0, + a = 0; + a < 3; + ++a + ) + (i += e[a] * r[a]), (n += e[a] * e[a]); + var l = Math.sqrt(n), + u = 0; + for (a = 0; a < 3; ++a) + (r[a] -= (e[a] * i) / n), (u += r[a] * r[a]), (e[a] /= l); + var f = Math.sqrt(u); + for (a = 0; a < 3; ++a) r[a] /= f; + var h = this.computedToward; + o(h, e, r), s(h, h); + var p = Math.exp(this.computedRadius[0]), + d = this.computedAngle[0], + g = this.computedAngle[1], + m = Math.cos(d), + v = Math.sin(d), + y = Math.cos(g), + x = Math.sin(g), + b = this.computedCenter, + _ = m * y, + w = v * y, + T = x, + k = -m * x, + M = -v * x, + A = y, + S = this.computedEye, + E = this.computedMatrix; + for (a = 0; a < 3; ++a) { + var C = _ * r[a] + w * h[a] + T * e[a]; + (E[4 * a + 1] = k * r[a] + M * h[a] + A * e[a]), + (E[4 * a + 2] = C), + (E[4 * a + 3] = 0); + } + var L = E[1], + I = E[5], + P = E[9], + z = E[2], + O = E[6], + D = E[10], + R = I * D - P * O, + F = P * z - L * D, + B = L * O - I * z, + N = c(R, F, B); + (R /= N), (F /= N), (B /= N), (E[0] = R), (E[4] = F), (E[8] = B); + for (a = 0; a < 3; ++a) S[a] = b[a] + E[2 + 4 * a] * p; + for (a = 0; a < 3; ++a) { + u = 0; + for (var j = 0; j < 3; ++j) u += E[a + 4 * j] * S[j]; + E[12 + a] = -u; + } + E[15] = 1; + }), + (p.getMatrix = function (t, e) { + this.recalcMatrix(t); + var r = this.computedMatrix; + if (e) { + for (var n = 0; n < 16; ++n) e[n] = r[n]; + return e; + } + return r; + }); + var d = [0, 0, 0]; + (p.rotate = function (t, e, r, n) { + if ((this.angle.move(t, e, r), n)) { + this.recalcMatrix(t); + var i = this.computedMatrix; + (d[0] = i[2]), (d[1] = i[6]), (d[2] = i[10]); + for ( + var o = this.computedUp, + s = this.computedRight, + l = this.computedToward, + c = 0; + c < 3; + ++c + ) + (i[4 * c] = o[c]), (i[4 * c + 1] = s[c]), (i[4 * c + 2] = l[c]); + a(i, i, n, d); + for (c = 0; c < 3; ++c) (o[c] = i[4 * c]), (s[c] = i[4 * c + 1]); + this.up.set(t, o[0], o[1], o[2]), + this.right.set(t, s[0], s[1], s[2]); + } + }), + (p.pan = function (t, e, r, n) { + (e = e || 0), (r = r || 0), (n = n || 0), this.recalcMatrix(t); + var i = this.computedMatrix, + a = (Math.exp(this.computedRadius[0]), i[1]), + o = i[5], + s = i[9], + l = c(a, o, s); + (a /= l), (o /= l), (s /= l); + var u = i[0], + f = i[4], + h = i[8], + p = u * a + f * o + h * s, + d = c((u -= a * p), (f -= o * p), (h -= s * p)), + g = (u /= d) * e + a * r, + m = (f /= d) * e + o * r, + v = (h /= d) * e + s * r; + this.center.move(t, g, m, v); + var y = Math.exp(this.computedRadius[0]); + (y = Math.max(1e-4, y + n)), this.radius.set(t, Math.log(y)); + }), + (p.translate = function (t, e, r, n) { + this.center.move(t, e || 0, r || 0, n || 0); + }), + (p.setMatrix = function (t, e, r, n) { + var a = 1; + 'number' == typeof r && (a = 0 | r), (a < 0 || a > 3) && (a = 1); + var o = (a + 2) % 3; + e || (this.recalcMatrix(t), (e = this.computedMatrix)); + var s = e[a], + l = e[a + 4], + f = e[a + 8]; + if (n) { + var h = Math.abs(s), + p = Math.abs(l), + d = Math.abs(f), + g = Math.max(h, p, d); + h === g + ? ((s = s < 0 ? -1 : 1), (l = f = 0)) + : d === g + ? ((f = f < 0 ? -1 : 1), (s = l = 0)) + : ((l = l < 0 ? -1 : 1), (s = f = 0)); + } else { + var m = c(s, l, f); + (s /= m), (l /= m), (f /= m); + } + var v, + y, + x = e[o], + b = e[o + 4], + _ = e[o + 8], + w = x * s + b * l + _ * f, + T = c((x -= s * w), (b -= l * w), (_ -= f * w)), + k = l * (_ /= T) - f * (b /= T), + M = f * (x /= T) - s * _, + A = s * b - l * x, + S = c(k, M, A); + if ( + ((k /= S), + (M /= S), + (A /= S), + this.center.jump(t, H, G, Y), + this.radius.idle(t), + this.up.jump(t, s, l, f), + this.right.jump(t, x, b, _), + 2 === a) + ) { + var E = e[1], + C = e[5], + L = e[9], + I = E * x + C * b + L * _, + P = E * k + C * M + L * A; + (v = R < 0 ? -Math.PI / 2 : Math.PI / 2), + (y = Math.atan2(P, I)); + } else { + var z = e[2], + O = e[6], + D = e[10], + R = z * s + O * l + D * f, + F = z * x + O * b + D * _, + B = z * k + O * M + D * A; + (v = Math.asin(u(R))), (y = Math.atan2(B, F)); + } + this.angle.jump(t, y, v), this.recalcMatrix(t); + var N = e[2], + j = e[6], + U = e[10], + V = this.computedMatrix; + i(V, e); + var q = V[15], + H = V[12] / q, + G = V[13] / q, + Y = V[14] / q, + W = Math.exp(this.computedRadius[0]); + this.center.jump(t, H - N * W, G - j * W, Y - U * W); + }), + (p.lastT = function () { + return Math.max( + this.center.lastT(), + this.up.lastT(), + this.right.lastT(), + this.radius.lastT(), + this.angle.lastT() + ); + }), + (p.idle = function (t) { + this.center.idle(t), + this.up.idle(t), + this.right.idle(t), + this.radius.idle(t), + this.angle.idle(t); + }), + (p.flush = function (t) { + this.center.flush(t), + this.up.flush(t), + this.right.flush(t), + this.radius.flush(t), + this.angle.flush(t); + }), + (p.setDistance = function (t, e) { + e > 0 && this.radius.set(t, Math.log(e)); + }), + (p.lookAt = function (t, e, r, n) { + this.recalcMatrix(t), + (e = e || this.computedEye), + (r = r || this.computedCenter); + var i = (n = n || this.computedUp)[0], + a = n[1], + o = n[2], + s = c(i, a, o); + if (!(s < 1e-6)) { + (i /= s), (a /= s), (o /= s); + var l = e[0] - r[0], + f = e[1] - r[1], + h = e[2] - r[2], + p = c(l, f, h); + if (!(p < 1e-6)) { + (l /= p), (f /= p), (h /= p); + var d = this.computedRight, + g = d[0], + m = d[1], + v = d[2], + y = i * g + a * m + o * v, + x = c((g -= y * i), (m -= y * a), (v -= y * o)); + if ( + !( + x < 0.01 && + (x = c( + (g = a * h - o * f), + (m = o * l - i * h), + (v = i * f - a * l) + )) < 1e-6 + ) + ) { + (g /= x), + (m /= x), + (v /= x), + this.up.set(t, i, a, o), + this.right.set(t, g, m, v), + this.center.set(t, r[0], r[1], r[2]), + this.radius.set(t, Math.log(p)); + var b = a * v - o * m, + _ = o * g - i * v, + w = i * m - a * g, + T = c(b, _, w), + k = i * l + a * f + o * h, + M = g * l + m * f + v * h, + A = (b /= T) * l + (_ /= T) * f + (w /= T) * h, + S = Math.asin(u(k)), + E = Math.atan2(A, M), + C = this.angle._state, + L = C[C.length - 1], + I = C[C.length - 2]; + L %= 2 * Math.PI; + var P = Math.abs(L + 2 * Math.PI - E), + z = Math.abs(L - E), + O = Math.abs(L - 2 * Math.PI - E); + P < z && (L += 2 * Math.PI), + O < z && (L -= 2 * Math.PI), + this.angle.jump(this.angle.lastT(), L, I), + this.angle.set(t, E, S); + } + } + } + }); + }, + { + 'filtered-vector': 242, + 'gl-mat4/invert': 293, + 'gl-mat4/rotate': 299, + 'gl-vec3/cross': 365, + 'gl-vec3/dot': 370, + 'gl-vec3/normalize': 387, + }, + ], + 582: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var i = t * e, + a = n * t, + o = a - (a - t), + s = t - o, + l = n * e, + c = l - (l - e), + u = e - c, + f = s * u - (i - o * c - s * c - o * u); + if (r) return (r[0] = f), (r[1] = i), r; + return [f, i]; + }; + var n = +(Math.pow(2, 27) + 1); + }, + {}, + ], + 583: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + var n = t + e, + i = n - t, + a = e - i, + o = t - (n - i); + if (r) return (r[0] = o + a), (r[1] = n), r; + return [o + a, n]; + }; + }, + {}, + ], + 584: [ + function (t, e, r) { + 'use strict'; + var n = t('../prototype/is'); + e.exports = function (t) { + if ('function' != typeof t) return !1; + if (!hasOwnProperty.call(t, 'length')) return !1; + try { + if ('number' != typeof t.length) return !1; + if ('function' != typeof t.call) return !1; + if ('function' != typeof t.apply) return !1; + } catch (t) { + return !1; + } + return !n(t); + }; + }, + { '../prototype/is': 591 }, + ], + 585: [ + function (t, e, r) { + 'use strict'; + var n = t('../value/is'), + i = t('../object/is'), + a = t('../string/coerce'), + o = t('./to-short-string'), + s = function (t, e) { + return t.replace('%v', o(e)); + }; + e.exports = function (t, e, r) { + if (!i(r)) throw new TypeError(s(e, t)); + if (!n(t)) { + if ('default' in r) return r.default; + if (r.isOptional) return null; + } + var o = a(r.errorMessage); + throw (n(o) || (o = e), new TypeError(s(o, t))); + }; + }, + { + '../object/is': 588, + '../string/coerce': 592, + '../value/is': 594, + './to-short-string': 587, + }, + ], + 586: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + try { + return t.toString(); + } catch (e) { + try { + return String(t); + } catch (t) { + return null; + } + } + }; + }, + {}, + ], + 587: [ + function (t, e, r) { + 'use strict'; + var n = t('./safe-to-string'), + i = /[\n\r\u2028\u2029]/g; + e.exports = function (t) { + var e = n(t); + return null === e + ? '' + : (e.length > 100 && (e = e.slice(0, 99) + '\u2026'), + (e = e.replace(i, function (t) { + switch (t) { + case '\n': + return '\\n'; + case '\r': + return '\\r'; + case '\u2028': + return '\\u2028'; + case '\u2029': + return '\\u2029'; + default: + throw new Error('Unexpected character'); + } + }))); + }; + }, + { './safe-to-string': 586 }, + ], + 588: [ + function (t, e, r) { + 'use strict'; + var n = t('../value/is'), + i = { object: !0, function: !0, undefined: !0 }; + e.exports = function (t) { + return !!n(t) && hasOwnProperty.call(i, typeof t); + }; + }, + { '../value/is': 594 }, + ], + 589: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib/resolve-exception'), + i = t('./is'); + e.exports = function (t) { + return i(t) ? t : n(t, '%v is not a plain function', arguments[1]); + }; + }, + { '../lib/resolve-exception': 585, './is': 590 }, + ], + 590: [ + function (t, e, r) { + 'use strict'; + var n = t('../function/is'), + i = /^\s*class[\s{/}]/, + a = Function.prototype.toString; + e.exports = function (t) { + return !!n(t) && !i.test(a.call(t)); + }; + }, + { '../function/is': 584 }, + ], + 591: [ + function (t, e, r) { + 'use strict'; + var n = t('../object/is'); + e.exports = function (t) { + if (!n(t)) return !1; + try { + return !!t.constructor && t.constructor.prototype === t; + } catch (t) { + return !1; + } + }; + }, + { '../object/is': 588 }, + ], + 592: [ + function (t, e, r) { + 'use strict'; + var n = t('../value/is'), + i = t('../object/is'), + a = Object.prototype.toString; + e.exports = function (t) { + if (!n(t)) return null; + if (i(t)) { + var e = t.toString; + if ('function' != typeof e) return null; + if (e === a) return null; + } + try { + return '' + t; + } catch (t) { + return null; + } + }; + }, + { '../object/is': 588, '../value/is': 594 }, + ], + 593: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib/resolve-exception'), + i = t('./is'); + e.exports = function (t) { + return i(t) ? t : n(t, 'Cannot use %v', arguments[1]); + }; + }, + { '../lib/resolve-exception': 585, './is': 594 }, + ], + 594: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return null != t; + }; + }, + {}, + ], + 595: [ + function (t, e, r) { + (function (e) { + (function () { + 'use strict'; + var n = t('bit-twiddle'), + i = t('dup'), + a = t('buffer').Buffer; + e.__TYPEDARRAY_POOL || + (e.__TYPEDARRAY_POOL = { + UINT8: i([32, 0]), + UINT16: i([32, 0]), + UINT32: i([32, 0]), + BIGUINT64: i([32, 0]), + INT8: i([32, 0]), + INT16: i([32, 0]), + INT32: i([32, 0]), + BIGINT64: i([32, 0]), + FLOAT: i([32, 0]), + DOUBLE: i([32, 0]), + DATA: i([32, 0]), + UINT8C: i([32, 0]), + BUFFER: i([32, 0]), + }); + var o = 'undefined' != typeof Uint8ClampedArray, + s = 'undefined' != typeof BigUint64Array, + l = 'undefined' != typeof BigInt64Array, + c = e.__TYPEDARRAY_POOL; + c.UINT8C || (c.UINT8C = i([32, 0])), + c.BIGUINT64 || (c.BIGUINT64 = i([32, 0])), + c.BIGINT64 || (c.BIGINT64 = i([32, 0])), + c.BUFFER || (c.BUFFER = i([32, 0])); + var u = c.DATA, + f = c.BUFFER; + function h(t) { + if (t) { + var e = t.length || t.byteLength, + r = n.log2(e); + u[r].push(t); + } + } + function p(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = u[e]; + return r.length > 0 ? r.pop() : new ArrayBuffer(t); + } + function d(t) { + return new Uint8Array(p(t), 0, t); + } + function g(t) { + return new Uint16Array(p(2 * t), 0, t); + } + function m(t) { + return new Uint32Array(p(4 * t), 0, t); + } + function v(t) { + return new Int8Array(p(t), 0, t); + } + function y(t) { + return new Int16Array(p(2 * t), 0, t); + } + function x(t) { + return new Int32Array(p(4 * t), 0, t); + } + function b(t) { + return new Float32Array(p(4 * t), 0, t); + } + function _(t) { + return new Float64Array(p(8 * t), 0, t); + } + function w(t) { + return o ? new Uint8ClampedArray(p(t), 0, t) : d(t); + } + function T(t) { + return s ? new BigUint64Array(p(8 * t), 0, t) : null; + } + function k(t) { + return l ? new BigInt64Array(p(8 * t), 0, t) : null; + } + function M(t) { + return new DataView(p(t), 0, t); + } + function A(t) { + t = n.nextPow2(t); + var e = n.log2(t), + r = f[e]; + return r.length > 0 ? r.pop() : new a(t); + } + (r.free = function (t) { + if (a.isBuffer(t)) f[n.log2(t.length)].push(t); + else { + if ( + ('[object ArrayBuffer]' !== + Object.prototype.toString.call(t) && (t = t.buffer), + !t) + ) + return; + var e = t.length || t.byteLength, + r = 0 | n.log2(e); + u[r].push(t); + } + }), + (r.freeUint8 = + r.freeUint16 = + r.freeUint32 = + r.freeBigUint64 = + r.freeInt8 = + r.freeInt16 = + r.freeInt32 = + r.freeBigInt64 = + r.freeFloat32 = + r.freeFloat = + r.freeFloat64 = + r.freeDouble = + r.freeUint8Clamped = + r.freeDataView = + function (t) { + h(t.buffer); + }), + (r.freeArrayBuffer = h), + (r.freeBuffer = function (t) { + f[n.log2(t.length)].push(t); + }), + (r.malloc = function (t, e) { + if (void 0 === e || 'arraybuffer' === e) return p(t); + switch (e) { + case 'uint8': + return d(t); + case 'uint16': + return g(t); + case 'uint32': + return m(t); + case 'int8': + return v(t); + case 'int16': + return y(t); + case 'int32': + return x(t); + case 'float': + case 'float32': + return b(t); + case 'double': + case 'float64': + return _(t); + case 'uint8_clamped': + return w(t); + case 'bigint64': + return k(t); + case 'biguint64': + return T(t); + case 'buffer': + return A(t); + case 'data': + case 'dataview': + return M(t); + default: + return null; + } + return null; + }), + (r.mallocArrayBuffer = p), + (r.mallocUint8 = d), + (r.mallocUint16 = g), + (r.mallocUint32 = m), + (r.mallocInt8 = v), + (r.mallocInt16 = y), + (r.mallocInt32 = x), + (r.mallocFloat32 = r.mallocFloat = b), + (r.mallocFloat64 = r.mallocDouble = _), + (r.mallocUint8Clamped = w), + (r.mallocBigUint64 = T), + (r.mallocBigInt64 = k), + (r.mallocDataView = M), + (r.mallocBuffer = A), + (r.clearCache = function () { + for (var t = 0; t < 32; ++t) + (c.UINT8[t].length = 0), + (c.UINT16[t].length = 0), + (c.UINT32[t].length = 0), + (c.INT8[t].length = 0), + (c.INT16[t].length = 0), + (c.INT32[t].length = 0), + (c.FLOAT[t].length = 0), + (c.DOUBLE[t].length = 0), + (c.BIGUINT64[t].length = 0), + (c.BIGINT64[t].length = 0), + (c.UINT8C[t].length = 0), + (u[t].length = 0), + (f[t].length = 0); + }); + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { 'bit-twiddle': 97, buffer: 111, dup: 176 }, + ], + 596: [ + function (t, e, r) { + 'use strict'; + function n(t) { + (this.roots = new Array(t)), (this.ranks = new Array(t)); + for (var e = 0; e < t; ++e) + (this.roots[e] = e), (this.ranks[e] = 0); + } + e.exports = n; + var i = n.prototype; + Object.defineProperty(i, 'length', { + get: function () { + return this.roots.length; + }, + }), + (i.makeSet = function () { + var t = this.roots.length; + return this.roots.push(t), this.ranks.push(0), t; + }), + (i.find = function (t) { + for (var e = t, r = this.roots; r[t] !== t; ) t = r[t]; + for (; r[e] !== t; ) { + var n = r[e]; + (r[e] = t), (e = n); + } + return t; + }), + (i.link = function (t, e) { + var r = this.find(t), + n = this.find(e); + if (r !== n) { + var i = this.ranks, + a = this.roots, + o = i[r], + s = i[n]; + o < s ? (a[r] = n) : s < o ? (a[n] = r) : ((a[n] = r), ++i[r]); + } + }); + }, + {}, + ], + 597: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + return 0 === t.length + ? t + : e + ? (r || t.sort(e), + (function (t, e) { + for ( + var r = 1, n = t.length, i = t[0], a = t[0], o = 1; + o < n; + ++o + ) + if (((a = i), e((i = t[o]), a))) { + if (o === r) { + r++; + continue; + } + t[r++] = i; + } + return (t.length = r), t; + })(t, e)) + : (r || t.sort(), + (function (t) { + for ( + var e = 1, r = t.length, n = t[0], i = t[0], a = 1; + a < r; + ++a, i = n + ) + if (((i = n), (n = t[a]) !== i)) { + if (a === e) { + e++; + continue; + } + t[e++] = n; + } + return (t.length = e), t; + })(t)); + }; + }, + {}, + ], + 598: [ + function (t, e, r) { + var n = /[\'\"]/; + e.exports = function (t) { + return t + ? (n.test(t.charAt(0)) && (t = t.substr(1)), + n.test(t.charAt(t.length - 1)) && + (t = t.substr(0, t.length - 1)), + t) + : ''; + }; + }, + {}, + ], + 599: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + Array.isArray(r) || (r = [].slice.call(arguments, 2)); + for (var n = 0, i = r.length; n < i; n++) { + var a = r[n]; + for (var o in a) + if ( + (void 0 === e[o] || Array.isArray(e[o]) || t[o] !== e[o]) && + o in e + ) { + var s; + if (!0 === a[o]) s = e[o]; + else { + if (!1 === a[o]) continue; + if ( + 'function' == typeof a[o] && + void 0 === (s = a[o](e[o], t, e)) + ) + continue; + } + t[o] = s; + } + } + return t; + }; + }, + {}, + ], + 600: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + ('object' == typeof e && null !== e) || (e = {}); + return n(t, e.canvas || i, e.context || a, e); + }; + var n = t('./lib/vtext'), + i = null, + a = null; + 'undefined' != typeof document && + (((i = document.createElement('canvas')).width = 8192), + (i.height = 1024), + (a = i.getContext('2d'))); + }, + { './lib/vtext': 601 }, + ], + 601: [ + function (t, e, r) { + (e.exports = function (t, e, r, n) { + var a = 64, + o = 1.25, + s = { + breaklines: !1, + bolds: !1, + italics: !1, + subscripts: !1, + superscripts: !1, + }; + n && + (n.size && n.size > 0 && (a = n.size), + n.lineSpacing && n.lineSpacing > 0 && (o = n.lineSpacing), + n.styletags && + n.styletags.breaklines && + (s.breaklines = !!n.styletags.breaklines), + n.styletags && + n.styletags.bolds && + (s.bolds = !!n.styletags.bolds), + n.styletags && + n.styletags.italics && + (s.italics = !!n.styletags.italics), + n.styletags && + n.styletags.subscripts && + (s.subscripts = !!n.styletags.subscripts), + n.styletags && + n.styletags.superscripts && + (s.superscripts = !!n.styletags.superscripts)); + return ( + (r.font = [ + n.fontStyle, + n.fontVariant, + n.fontWeight, + a + 'px', + n.font, + ] + .filter(function (t) { + return t; + }) + .join(' ')), + (r.textAlign = 'start'), + (r.textBaseline = 'alphabetic'), + (r.direction = 'ltr'), + h( + (function (t, e, r, n, a, o) { + (r = r.replace(/\n/g, '')), + (r = + !0 === o.breaklines + ? r.replace(/\/g, '\n') + : r.replace(/\/g, ' ')); + var s = '', + l = []; + for (p = 0; p < r.length; ++p) l[p] = s; + !0 === o.bolds && (l = c('b', 'b|', r, l)); + !0 === o.italics && (l = c('i', 'i|', r, l)); + !0 === o.superscripts && (l = c('sup', '+1', r, l)); + !0 === o.subscripts && (l = c('sub', '-1', r, l)); + var u = [], + f = ''; + for (p = 0; p < r.length; ++p) + null !== l[p] && ((f += r[p]), u.push(l[p])); + var h, + p, + d, + g, + m, + v = f.split('\n'), + y = v.length, + x = Math.round(a * n), + b = n, + _ = 2 * n, + w = 0, + T = y * x + _; + t.height < T && (t.height = T); + (e.fillStyle = '#000'), + e.fillRect(0, 0, t.width, t.height), + (e.fillStyle = '#fff'); + var k = 0, + M = ''; + function A() { + if ('' !== M) { + var t = e.measureText(M).width; + e.fillText(M, b + d, _ + g), (d += t); + } + } + function S() { + return Math.round(m) + 'px '; + } + function E(t, r) { + var n = '' + e.font; + if (!0 === o.subscripts) { + var i = t.indexOf('-'), + a = r.indexOf('-'), + s = i > -1 ? parseInt(t[1 + i]) : 0, + l = a > -1 ? parseInt(r[1 + a]) : 0; + s !== l && + ((n = n.replace(S(), '?px ')), + (m *= Math.pow(0.75, l - s)), + (n = n.replace('?px ', S()))), + (g += 0.25 * x * (l - s)); + } + if (!0 === o.superscripts) { + var c = t.indexOf('+'), + u = r.indexOf('+'), + f = c > -1 ? parseInt(t[1 + c]) : 0, + h = u > -1 ? parseInt(r[1 + u]) : 0; + f !== h && + ((n = n.replace(S(), '?px ')), + (m *= Math.pow(0.75, h - f)), + (n = n.replace('?px ', S()))), + (g -= 0.25 * x * (h - f)); + } + if (!0 === o.bolds) { + var p = t.indexOf('b|') > -1, + d = r.indexOf('b|') > -1; + !p && + d && + (n = v + ? n.replace('italic ', 'italic bold ') + : 'bold ' + n), + p && !d && (n = n.replace('bold ', '')); + } + if (!0 === o.italics) { + var v = t.indexOf('i|') > -1, + y = r.indexOf('i|') > -1; + !v && y && (n = 'italic ' + n), + v && !y && (n = n.replace('italic ', '')); + } + e.font = n; + } + for (h = 0; h < y; ++h) { + var C = v[h] + '\n'; + for ( + d = 0, g = h * x, m = n, M = '', p = 0; + p < C.length; + ++p + ) { + var L = p + k < u.length ? u[p + k] : u[u.length - 1]; + s === L + ? (M += C[p]) + : (A(), (M = C[p]), void 0 !== L && (E(s, L), (s = L))); + } + A(), (k += C.length); + var I = 0 | Math.round(d + 2 * b); + w < I && (w = I); + } + var P = w, + z = _ + x * y; + return i(e.getImageData(0, 0, P, z).data, [z, P, 4]) + .pick(-1, -1, 0) + .transpose(1, 0); + })(e, r, t, a, o, s), + n, + a + ) + ); + }), + (e.exports.processPixels = h); + var n = t('surface-nets'), + i = t('ndarray'), + a = t('simplify-planar-graph'), + o = t('clean-pslg'), + s = t('cdt2d'), + l = t('planar-graph-to-polyline'); + function c(t, e, r, n) { + for ( + var i = '<' + t + '>', + a = '', + o = i.length, + s = a.length, + l = '+' === e[0] || '-' === e[0], + c = 0, + u = -s; + c > -1 && + -1 !== (c = r.indexOf(i, c)) && + -1 !== (u = r.indexOf(a, c + o)) && + !(u <= c); + + ) { + for (var f = c; f < u + s; ++f) + if (f < c + o || f >= u) + (n[f] = null), (r = r.substr(0, f) + ' ' + r.substr(f + 1)); + else if (null !== n[f]) { + var h = n[f].indexOf(e[0]); + -1 === h + ? (n[f] += e) + : l && + (n[f] = + n[f].substr(0, h + 1) + + (1 + parseInt(n[f][h + 1])) + + n[f].substr(h + 2)); + } + var p = c + o, + d = r.substr(p, u - p).indexOf(i); + c = -1 !== d ? d : u + s; + } + return n; + } + function u(t, e) { + var r = n(t, 128); + return e + ? a(r.cells, r.positions, 0.25) + : { edges: r.cells, positions: r.positions }; + } + function f(t, e, r, n) { + var i = u(t, n), + a = (function (t, e, r) { + for ( + var n = e.textAlign || 'start', + i = e.textBaseline || 'alphabetic', + a = [1 << 30, 1 << 30], + o = [0, 0], + s = t.length, + l = 0; + l < s; + ++l + ) + for (var c = t[l], u = 0; u < 2; ++u) + (a[u] = 0 | Math.min(a[u], c[u])), + (o[u] = 0 | Math.max(o[u], c[u])); + var f = 0; + switch (n) { + case 'center': + f = -0.5 * (a[0] + o[0]); + break; + case 'right': + case 'end': + f = -o[0]; + break; + case 'left': + case 'start': + f = -a[0]; + break; + default: + throw new Error( + "vectorize-text: Unrecognized textAlign: '" + n + "'" + ); + } + var h = 0; + switch (i) { + case 'hanging': + case 'top': + h = -a[1]; + break; + case 'middle': + h = -0.5 * (a[1] + o[1]); + break; + case 'alphabetic': + case 'ideographic': + h = -3 * r; + break; + case 'bottom': + h = -o[1]; + break; + default: + throw new Error( + "vectorize-text: Unrecoginized textBaseline: '" + i + "'" + ); + } + var p = 1 / r; + return ( + 'lineHeight' in e + ? (p *= +e.lineHeight) + : 'width' in e + ? (p = e.width / (o[0] - a[0])) + : 'height' in e && (p = e.height / (o[1] - a[1])), + t.map(function (t) { + return [p * (t[0] + f), p * (t[1] + h)]; + }) + ); + })(i.positions, e, r), + c = i.edges, + f = 'ccw' === e.orientation; + if ((o(a, c), e.polygons || e.polygon || e.polyline)) { + for ( + var h = l(c, a), p = new Array(h.length), d = 0; + d < h.length; + ++d + ) { + for ( + var g = h[d], m = new Array(g.length), v = 0; + v < g.length; + ++v + ) { + for ( + var y = g[v], x = new Array(y.length), b = 0; + b < y.length; + ++b + ) + x[b] = a[y[b]].slice(); + f && x.reverse(), (m[v] = x); + } + p[d] = m; + } + return p; + } + return e.triangles || e.triangulate || e.triangle + ? { + cells: s(a, c, { delaunay: !1, exterior: !1, interior: !0 }), + positions: a, + } + : { edges: c, positions: a }; + } + function h(t, e, r) { + try { + return f(t, e, r, !0); + } catch (t) {} + try { + return f(t, e, r, !1); + } catch (t) {} + return e.polygons || e.polyline || e.polygon + ? [] + : e.triangles || e.triangulate || e.triangle + ? { cells: [], positions: [] } + : { edges: [], positions: [] }; + } + }, + { + cdt2d: 112, + 'clean-pslg': 121, + ndarray: 495, + 'planar-graph-to-polyline': 514, + 'simplify-planar-graph': 562, + 'surface-nets': 570, + }, + ], + 602: [ + function (t, e, r) { + !(function () { + 'use strict'; + if ('undefined' == typeof ses || !ses.ok || ses.ok()) { + 'undefined' != typeof ses && (ses.weakMapPermitHostObjects = g); + var t = !1; + if ('function' == typeof WeakMap) { + var r = WeakMap; + if ( + 'undefined' != typeof navigator && + /Firefox/.test(navigator.userAgent) + ); + else { + var n = new r(), + i = Object.freeze({}); + if ((n.set(i, 1), 1 === n.get(i))) + return void (e.exports = WeakMap); + t = !0; + } + } + Object.prototype.hasOwnProperty; + var a = Object.getOwnPropertyNames, + o = Object.defineProperty, + s = Object.isExtensible, + l = 'weakmap:ident:' + Math.random() + '___'; + if ( + 'undefined' != typeof crypto && + 'function' == typeof crypto.getRandomValues && + 'function' == typeof ArrayBuffer && + 'function' == typeof Uint8Array + ) { + var c = new ArrayBuffer(25), + u = new Uint8Array(c); + crypto.getRandomValues(u), + (l = + 'weakmap:rand:' + + Array.prototype.map + .call(u, function (t) { + return (t % 36).toString(36); + }) + .join('') + + '___'); + } + if ( + (o(Object, 'getOwnPropertyNames', { + value: function (t) { + return a(t).filter(m); + }, + }), + 'getPropertyNames' in Object) + ) { + var f = Object.getPropertyNames; + o(Object, 'getPropertyNames', { + value: function (t) { + return f(t).filter(m); + }, + }); + } + !(function () { + var t = Object.freeze; + o(Object, 'freeze', { + value: function (e) { + return v(e), t(e); + }, + }); + var e = Object.seal; + o(Object, 'seal', { + value: function (t) { + return v(t), e(t); + }, + }); + var r = Object.preventExtensions; + o(Object, 'preventExtensions', { + value: function (t) { + return v(t), r(t); + }, + }); + })(); + var h = !1, + p = 0, + d = function () { + this instanceof d || x(); + var t = [], + e = [], + r = p++; + return Object.create(d.prototype, { + get___: { + value: y(function (n, i) { + var a, + o = v(n); + return o + ? r in o + ? o[r] + : i + : (a = t.indexOf(n)) >= 0 + ? e[a] + : i; + }), + }, + has___: { + value: y(function (e) { + var n = v(e); + return n ? r in n : t.indexOf(e) >= 0; + }), + }, + set___: { + value: y(function (n, i) { + var a, + o = v(n); + return ( + o + ? (o[r] = i) + : (a = t.indexOf(n)) >= 0 + ? (e[a] = i) + : ((a = t.length), (e[a] = i), (t[a] = n)), + this + ); + }), + }, + delete___: { + value: y(function (n) { + var i, + a, + o = v(n); + return o + ? r in o && delete o[r] + : !((i = t.indexOf(n)) < 0) && + ((a = t.length - 1), + (t[i] = void 0), + (e[i] = e[a]), + (t[i] = t[a]), + (t.length = a), + (e.length = a), + !0); + }), + }, + }); + }; + (d.prototype = Object.create(Object.prototype, { + get: { + value: function (t, e) { + return this.get___(t, e); + }, + writable: !0, + configurable: !0, + }, + has: { + value: function (t) { + return this.has___(t); + }, + writable: !0, + configurable: !0, + }, + set: { + value: function (t, e) { + return this.set___(t, e); + }, + writable: !0, + configurable: !0, + }, + delete: { + value: function (t) { + return this.delete___(t); + }, + writable: !0, + configurable: !0, + }, + })), + 'function' == typeof r + ? (function () { + function n() { + this instanceof d || x(); + var e, + n = new r(), + i = void 0, + a = !1; + return ( + (e = t + ? function (t, e) { + return ( + n.set(t, e), + n.has(t) || (i || (i = new d()), i.set(t, e)), + this + ); + } + : function (t, e) { + if (a) + try { + n.set(t, e); + } catch (r) { + i || (i = new d()), i.set___(t, e); + } + else n.set(t, e); + return this; + }), + Object.create(d.prototype, { + get___: { + value: y(function (t, e) { + return i + ? n.has(t) + ? n.get(t) + : i.get___(t, e) + : n.get(t, e); + }), + }, + has___: { + value: y(function (t) { + return n.has(t) || (!!i && i.has___(t)); + }), + }, + set___: { value: y(e) }, + delete___: { + value: y(function (t) { + var e = !!n.delete(t); + return (i && i.delete___(t)) || e; + }), + }, + permitHostObjects___: { + value: y(function (t) { + if (t !== g) + throw new Error( + 'bogus call to permitHostObjects___' + ); + a = !0; + }), + }, + }) + ); + } + t && 'undefined' != typeof Proxy && (Proxy = void 0), + (n.prototype = d.prototype), + (e.exports = n), + Object.defineProperty( + WeakMap.prototype, + 'constructor', + { + value: WeakMap, + enumerable: !1, + configurable: !0, + writable: !0, + } + ); + })() + : ('undefined' != typeof Proxy && (Proxy = void 0), + (e.exports = d)); + } + function g(t) { + t.permitHostObjects___ && t.permitHostObjects___(g); + } + function m(t) { + return !( + 'weakmap:' == t.substr(0, 'weakmap:'.length) && + '___' === t.substr(t.length - 3) + ); + } + function v(t) { + if (t !== Object(t)) throw new TypeError('Not an object: ' + t); + var e = t[l]; + if (e && e.key === t) return e; + if (s(t)) { + e = { key: t }; + try { + return ( + o(t, l, { + value: e, + writable: !1, + enumerable: !1, + configurable: !1, + }), + e + ); + } catch (t) { + return; + } + } + } + function y(t) { + return (t.prototype = null), Object.freeze(t); + } + function x() { + h || + 'undefined' == typeof console || + ((h = !0), + console.warn( + 'WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.' + )); + } + })(); + }, + {}, + ], + 603: [ + function (t, e, r) { + var n = t('./hidden-store.js'); + e.exports = function () { + var t = {}; + return function (e) { + if ( + ('object' != typeof e || null === e) && + 'function' != typeof e + ) + throw new Error('Weakmap-shim: Key must be object'); + var r = e.valueOf(t); + return r && r.identity === t ? r : n(e, t); + }; + }; + }, + { './hidden-store.js': 604 }, + ], + 604: [ + function (t, e, r) { + e.exports = function (t, e) { + var r = { identity: e }, + n = t.valueOf; + return ( + Object.defineProperty(t, 'valueOf', { + value: function (t) { + return t !== e ? n.apply(this, arguments) : r; + }, + writable: !0, + }), + r + ); + }; + }, + {}, + ], + 605: [ + function (t, e, r) { + var n = t('./create-store.js'); + e.exports = function () { + var t = n(); + return { + get: function (e, r) { + var n = t(e); + return n.hasOwnProperty('value') ? n.value : r; + }, + set: function (e, r) { + return (t(e).value = r), this; + }, + has: function (e) { + return 'value' in t(e); + }, + delete: function (e) { + return delete t(e).value; + }, + }; + }; + }, + { './create-store.js': 603 }, + ], + 606: [ + function (t, e, r) { + var n = t('get-canvas-context'); + e.exports = function (t) { + return n('webgl', t); + }; + }, + { 'get-canvas-context': 249 }, + ], + 607: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: 'Chinese', + jdEpoch: 1721425.5, + hasYearZero: !1, + minMonth: 0, + firstMonth: 0, + minDay: 1, + regionalOptions: { + '': { + name: 'Chinese', + epochs: ['BEC', 'EC'], + monthNumbers: function (t, e) { + if ('string' == typeof t) { + var r = t.match(l); + return r ? r[0] : ''; + } + var n = this._validateYear(t), + i = t.month(), + a = '' + this.toChineseMonth(n, i); + return ( + e && a.length < 2 && (a = '0' + a), + this.isIntercalaryMonth(n, i) && (a += 'i'), + a + ); + }, + monthNames: function (t) { + if ('string' == typeof t) { + var e = t.match(c); + return e ? e[0] : ''; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + '\u4e00\u6708', + '\u4e8c\u6708', + '\u4e09\u6708', + '\u56db\u6708', + '\u4e94\u6708', + '\u516d\u6708', + '\u4e03\u6708', + '\u516b\u6708', + '\u4e5d\u6708', + '\u5341\u6708', + '\u5341\u4e00\u6708', + '\u5341\u4e8c\u6708', + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && (i = '\u95f0' + i), i + ); + }, + monthNamesShort: function (t) { + if ('string' == typeof t) { + var e = t.match(u); + return e ? e[0] : ''; + } + var r = this._validateYear(t), + n = t.month(), + i = [ + '\u4e00', + '\u4e8c', + '\u4e09', + '\u56db', + '\u4e94', + '\u516d', + '\u4e03', + '\u516b', + '\u4e5d', + '\u5341', + '\u5341\u4e00', + '\u5341\u4e8c', + ][this.toChineseMonth(r, n) - 1]; + return ( + this.isIntercalaryMonth(r, n) && (i = '\u95f0' + i), i + ); + }, + parseMonth: function (t, e) { + t = this._validateYear(t); + var r, + n = parseInt(e); + if (isNaN(n)) + '\u95f0' === e[0] && ((r = !0), (e = e.substring(1))), + '\u6708' === e[e.length - 1] && + (e = e.substring(0, e.length - 1)), + (n = + 1 + + [ + '\u4e00', + '\u4e8c', + '\u4e09', + '\u56db', + '\u4e94', + '\u516d', + '\u4e03', + '\u516b', + '\u4e5d', + '\u5341', + '\u5341\u4e00', + '\u5341\u4e8c', + ].indexOf(e)); + else { + var i = e[e.length - 1]; + r = 'i' === i || 'I' === i; + } + return this.toMonthIndex(t, n, r); + }, + dayNames: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 1, + isRTL: !1, + }, + }, + _validateYear: function (t, e) { + if ( + (t.year && (t = t.year()), + 'number' != typeof t || t < 1888 || t > 2111) + ) + throw e.replace(/\{0\}/, this.local.name); + return t; + }, + toMonthIndex: function (t, e, r) { + var i = this.intercalaryMonth(t); + if ((r && e !== i) || e < 1 || e > 12) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return i ? (!r && e <= i ? e - 1 : e) : e - 1; + }, + toChineseMonth: function (t, e) { + t.year && (e = (t = t.year()).month()); + var r = this.intercalaryMonth(t); + if (e < 0 || e > (r ? 12 : 11)) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return r ? (e < r ? e + 1 : e) : e + 1; + }, + intercalaryMonth: function (t) { + return (t = this._validateYear(t)), f[t - f[0]] >> 13; + }, + isIntercalaryMonth: function (t, e) { + t.year && (e = (t = t.year()).month()); + var r = this.intercalaryMonth(t); + return !!r && r === e; + }, + leapYear: function (t) { + return 0 !== this.intercalaryMonth(t); + }, + weekOfYear: function (t, e, r) { + var i, + o = this._validateYear(t, n.local.invalidyear), + s = h[o - h[0]], + l = (s >> 9) & 4095, + c = (s >> 5) & 15, + u = 31 & s; + (i = a.newDate(l, c, u)).add(4 - (i.dayOfWeek() || 7), 'd'); + var f = this.toJD(t, e, r) - i.toJD(); + return 1 + Math.floor(f / 7); + }, + monthsInYear: function (t) { + return this.leapYear(t) ? 13 : 12; + }, + daysInMonth: function (t, e) { + t.year && ((e = t.month()), (t = t.year())), + (t = this._validateYear(t)); + var r = f[t - f[0]]; + if (e > (r >> 13 ? 12 : 11)) + throw n.local.invalidMonth.replace(/\{0\}/, this.local.name); + return r & (1 << (12 - e)) ? 30 : 29; + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, s, r, n.local.invalidDate); + (t = this._validateYear(i.year())), + (e = i.month()), + (r = i.day()); + var o = this.isIntercalaryMonth(t, e), + s = this.toChineseMonth(t, e), + l = (function (t, e, r, n, i) { + var a, o, s; + if ('object' == typeof t) (o = t), (a = e || {}); + else { + var l; + if (!('number' == typeof t && t >= 1888 && t <= 2111)) + throw new Error('Lunar year outside range 1888-2111'); + if (!('number' == typeof e && e >= 1 && e <= 12)) + throw new Error('Lunar month outside range 1 - 12'); + if (!('number' == typeof r && r >= 1 && r <= 30)) + throw new Error('Lunar day outside range 1 - 30'); + 'object' == typeof n + ? ((l = !1), (a = n)) + : ((l = !!n), (a = i || {})), + (o = { year: t, month: e, day: r, isIntercalary: l }); + } + s = o.day - 1; + var c, + u = f[o.year - f[0]], + p = u >> 13; + c = + p && (o.month > p || o.isIntercalary) + ? o.month + : o.month - 1; + for (var d = 0; d < c; d++) { + s += u & (1 << (12 - d)) ? 30 : 29; + } + var g = h[o.year - h[0]], + m = new Date( + (g >> 9) & 4095, + ((g >> 5) & 15) - 1, + (31 & g) + s + ); + return ( + (a.year = m.getFullYear()), + (a.month = 1 + m.getMonth()), + (a.day = m.getDate()), + a + ); + })(t, s, r, o); + return a.toJD(l.year, l.month, l.day); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = (function (t, e, r, n) { + var i, a; + if ('object' == typeof t) (i = t), (a = e || {}); + else { + if (!('number' == typeof t && t >= 1888 && t <= 2111)) + throw new Error('Solar year outside range 1888-2111'); + if (!('number' == typeof e && e >= 1 && e <= 12)) + throw new Error('Solar month outside range 1 - 12'); + if (!('number' == typeof r && r >= 1 && r <= 31)) + throw new Error('Solar day outside range 1 - 31'); + (i = { year: t, month: e, day: r }), (a = n || {}); + } + var o = h[i.year - h[0]], + s = (i.year << 9) | (i.month << 5) | i.day; + (a.year = s >= o ? i.year : i.year - 1), + (o = h[a.year - h[0]]); + var l, + c = new Date( + (o >> 9) & 4095, + ((o >> 5) & 15) - 1, + 31 & o + ), + u = new Date(i.year, i.month - 1, i.day); + l = Math.round((u - c) / 864e5); + var p, + d = f[a.year - f[0]]; + for (p = 0; p < 13; p++) { + var g = d & (1 << (12 - p)) ? 30 : 29; + if (l < g) break; + l -= g; + } + var m = d >> 13; + !m || p < m + ? ((a.isIntercalary = !1), (a.month = 1 + p)) + : p === m + ? ((a.isIntercalary = !0), (a.month = p)) + : ((a.isIntercalary = !1), (a.month = p)); + return (a.day = 1 + l), a; + })(e.year(), e.month(), e.day()), + n = this.toMonthIndex(r.year, r.month, r.isIntercalary); + return this.newDate(r.year, n, r.day); + }, + fromString: function (t) { + var e = t.match(s), + r = this._validateYear(+e[1]), + n = +e[2], + i = !!e[3], + a = this.toMonthIndex(r, n, i), + o = +e[4]; + return this.newDate(r, a, o); + }, + add: function (t, e, r) { + var n = t.year(), + i = t.month(), + a = this.isIntercalaryMonth(n, i), + s = this.toChineseMonth(n, i), + l = Object.getPrototypeOf(o.prototype).add.call( + this, + t, + e, + r + ); + if ('y' === r) { + var c = l.year(), + u = l.month(), + f = this.isIntercalaryMonth(c, s), + h = + a && f + ? this.toMonthIndex(c, s, !0) + : this.toMonthIndex(c, s, !1); + h !== u && l.month(h); + } + return l; + }, + }); + var s = /^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m, + l = /^\d?\d[iI]?/m, + c = + /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m, + u = + /^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m; + n.calendars.chinese = o; + var f = [ + 1887, 5780, 5802, 19157, 2742, 50359, 1198, 2646, 46378, 7466, + 3412, 30122, 5482, 67949, 2396, 5294, 43597, 6732, 6954, 36181, + 2772, 4954, 18781, 2396, 54427, 5274, 6730, 47781, 5800, 6868, + 21210, 4790, 59703, 2350, 5270, 46667, 3402, 3496, 38325, 1388, + 4782, 18735, 2350, 52374, 6804, 7498, 44457, 2906, 1388, 29294, + 4700, 63789, 6442, 6804, 56138, 5802, 2772, 38235, 1210, 4698, + 22827, 5418, 63125, 3476, 5802, 43701, 2484, 5302, 27223, 2646, + 70954, 7466, 3412, 54698, 5482, 2412, 38062, 5294, 2636, 32038, + 6954, 60245, 2772, 4826, 43357, 2394, 5274, 39501, 6730, 72357, + 5800, 5844, 53978, 4790, 2358, 38039, 5270, 87627, 3402, 3496, + 54708, 5484, 4782, 43311, 2350, 3222, 27978, 7498, 68965, 2904, + 5484, 45677, 4700, 6444, 39573, 6804, 6986, 19285, 2772, 62811, + 1210, 4698, 47403, 5418, 5780, 38570, 5546, 76469, 2420, 5302, + 51799, 2646, 5414, 36501, 3412, 5546, 18869, 2412, 54446, 5276, + 6732, 48422, 6822, 2900, 28010, 4826, 92509, 2394, 5274, 55883, + 6730, 6820, 47956, 5812, 2778, 18779, 2358, 62615, 5270, 5450, + 46757, 3492, 5556, 27318, 4718, 67887, 2350, 3222, 52554, 7498, + 3428, 38252, 5468, 4700, 31022, 6444, 64149, 6804, 6986, 43861, + 2772, 5338, 35421, 2650, 70955, 5418, 5780, 54954, 5546, 2740, + 38074, 5302, 2646, 29991, 3366, 61011, 3412, 5546, 43445, 2412, + 5294, 35406, 6732, 72998, 6820, 6996, 52586, 2778, 2396, 38045, + 5274, 6698, 23333, 6820, 64338, 5812, 2746, 43355, 2358, 5270, + 39499, 5450, 79525, 3492, 5548, + ], + h = [ + 1887, 966732, 967231, 967733, 968265, 968766, 969297, 969798, + 970298, 970829, 971330, 971830, 972362, 972863, 973395, 973896, + 974397, 974928, 975428, 975929, 976461, 976962, 977462, 977994, + 978494, 979026, 979526, 980026, 980558, 981059, 981559, 982091, + 982593, 983124, 983624, 984124, 984656, 985157, 985656, 986189, + 986690, 987191, 987722, 988222, 988753, 989254, 989754, 990286, + 990788, 991288, 991819, 992319, 992851, 993352, 993851, 994383, + 994885, 995385, 995917, 996418, 996918, 997450, 997949, 998481, + 998982, 999483, 1000014, 1000515, 1001016, 1001548, 1002047, + 1002578, 1003080, 1003580, 1004111, 1004613, 1005113, 1005645, + 1006146, 1006645, 1007177, 1007678, 1008209, 1008710, 1009211, + 1009743, 1010243, 1010743, 1011275, 1011775, 1012306, 1012807, + 1013308, 1013840, 1014341, 1014841, 1015373, 1015874, 1016404, + 1016905, 1017405, 1017937, 1018438, 1018939, 1019471, 1019972, + 1020471, 1021002, 1021503, 1022035, 1022535, 1023036, 1023568, + 1024069, 1024568, 1025100, 1025601, 1026102, 1026633, 1027133, + 1027666, 1028167, 1028666, 1029198, 1029699, 1030199, 1030730, + 1031231, 1031763, 1032264, 1032764, 1033296, 1033797, 1034297, + 1034828, 1035329, 1035830, 1036362, 1036861, 1037393, 1037894, + 1038394, 1038925, 1039427, 1039927, 1040459, 1040959, 1041491, + 1041992, 1042492, 1043023, 1043524, 1044024, 1044556, 1045057, + 1045558, 1046090, 1046590, 1047121, 1047622, 1048122, 1048654, + 1049154, 1049655, 1050187, 1050689, 1051219, 1051720, 1052220, + 1052751, 1053252, 1053752, 1054284, 1054786, 1055285, 1055817, + 1056317, 1056849, 1057349, 1057850, 1058382, 1058883, 1059383, + 1059915, 1060415, 1060947, 1061447, 1061947, 1062479, 1062981, + 1063480, 1064012, 1064514, 1065014, 1065545, 1066045, 1066577, + 1067078, 1067578, 1068110, 1068611, 1069112, 1069642, 1070142, + 1070674, 1071175, 1071675, 1072207, 1072709, 1073209, 1073740, + 1074241, 1074741, 1075273, 1075773, 1076305, 1076807, 1077308, + 1077839, 1078340, 1078840, 1079372, 1079871, 1080403, 1080904, + ]; + }, + { '../main': 621, 'object-assign': 499 }, + ], + 608: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Coptic', + jdEpoch: 1825029.5, + daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Coptic', + epochs: ['BAM', 'AM'], + monthNames: [ + 'Thout', + 'Paopi', + 'Hathor', + 'Koiak', + 'Tobi', + 'Meshir', + 'Paremhat', + 'Paremoude', + 'Pashons', + 'Paoni', + 'Epip', + 'Mesori', + 'Pi Kogi Enavot', + ], + monthNamesShort: [ + 'Tho', + 'Pao', + 'Hath', + 'Koi', + 'Tob', + 'Mesh', + 'Pat', + 'Pad', + 'Pash', + 'Pao', + 'Epi', + 'Meso', + 'PiK', + ], + dayNames: [ + 'Tkyriaka', + 'Pesnau', + 'Pshoment', + 'Peftoou', + 'Ptiou', + 'Psoou', + 'Psabbaton', + ], + dayNamesShort: [ + 'Tky', + 'Pes', + 'Psh', + 'Pef', + 'Pti', + 'Pso', + 'Psa', + ], + dayNamesMin: ['Tk', 'Pes', 'Psh', 'Pef', 'Pt', 'Pso', 'Psa'], + digits: null, + dateFormat: 'dd/mm/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return ( + (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || + t % 4 == -1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[''].invalidYear + ), + 13 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; + r <= 0 && r--, + (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD()); + var n = Math.floor(e / 30) + 1, + i = e - 30 * (n - 1) + 1; + return this.newDate(r, n, i); + }, + }), + (n.calendars.coptic = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 609: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Discworld', + jdEpoch: 1721425.5, + daysPerMonth: [ + 16, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + ], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Discworld', + epochs: ['BUC', 'UC'], + monthNames: [ + 'Ick', + 'Offle', + 'February', + 'March', + 'April', + 'May', + 'June', + 'Grune', + 'August', + 'Spune', + 'Sektober', + 'Ember', + 'December', + ], + monthNamesShort: [ + 'Ick', + 'Off', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Gru', + 'Aug', + 'Spu', + 'Sek', + 'Emb', + 'Dec', + ], + dayNames: [ + 'Sunday', + 'Octeday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Oct', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Oc', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 2, + isRTL: !1, + }, + }, + leapYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + !1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + 13 + ); + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + 400 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 8) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return this.daysPerMonth[r.month() - 1]; + }, + daysInWeek: function () { + return 8; + }, + dayOfWeek: function (t, e, r) { + return ( + (this._validate(t, e, r, n.local.invalidDate).day() + 1) % 8 + ); + }, + weekDay: function (t, e, r) { + var n = this.dayOfWeek(t, e, r); + return n >= 2 && n <= 6; + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return { + century: o[Math.floor((i.year() - 1) / 100) + 1] || '', + }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year() + (i.year() < 0 ? 1 : 0)), + (e = i.month()), + (r = i.day()) + + (e > 1 ? 16 : 0) + + (e > 2 ? 32 * (e - 2) : 0) + + 400 * (t - 1) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = Math.floor(t + 0.5) - Math.floor(this.jdEpoch) - 1; + var e = Math.floor(t / 400) + 1; + (t -= 400 * (e - 1)), (t += t > 15 ? 16 : 0); + var r = Math.floor(t / 32) + 1, + n = t - 32 * (r - 1) + 1; + return this.newDate(e <= 0 ? e - 1 : e, r, n); + }, + }); + var o = { 20: 'Fruitbat', 21: 'Anchovy' }; + n.calendars.discworld = a; + }, + { '../main': 621, 'object-assign': 499 }, + ], + 610: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Ethiopian', + jdEpoch: 1724220.5, + daysPerMonth: [30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 5], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Ethiopian', + epochs: ['BEE', 'EE'], + monthNames: [ + 'Meskerem', + 'Tikemet', + 'Hidar', + 'Tahesas', + 'Tir', + 'Yekatit', + 'Megabit', + 'Miazia', + 'Genbot', + 'Sene', + 'Hamle', + 'Nehase', + 'Pagume', + ], + monthNamesShort: [ + 'Mes', + 'Tik', + 'Hid', + 'Tah', + 'Tir', + 'Yek', + 'Meg', + 'Mia', + 'Gen', + 'Sen', + 'Ham', + 'Neh', + 'Pag', + ], + dayNames: [ + 'Ehud', + 'Segno', + 'Maksegno', + 'Irob', + 'Hamus', + 'Arb', + 'Kidame', + ], + dayNamesShort: [ + 'Ehu', + 'Seg', + 'Mak', + 'Iro', + 'Ham', + 'Arb', + 'Kid', + ], + dayNamesMin: ['Eh', 'Se', 'Ma', 'Ir', 'Ha', 'Ar', 'Ki'], + digits: null, + dateFormat: 'dd/mm/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return ( + (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 3 || + t % 4 == -1 + ); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[''].invalidYear + ), + 13 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (13 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()) < 0 && t++, + i.day() + + 30 * (i.month() - 1) + + 365 * (t - 1) + + Math.floor(t / 4) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = Math.floor(t) + 0.5 - this.jdEpoch, + r = Math.floor((e - Math.floor((e + 366) / 1461)) / 365) + 1; + r <= 0 && r--, + (e = Math.floor(t) + 0.5 - this.newDate(r, 1, 1).toJD()); + var n = Math.floor(e / 30) + 1, + i = e - 30 * (n - 1) + 1; + return this.newDate(r, n, i); + }, + }), + (n.calendars.ethiopian = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 611: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Hebrew', + jdEpoch: 347995.5, + daysPerMonth: [ + 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 29, + ], + hasYearZero: !1, + minMonth: 1, + firstMonth: 7, + minDay: 1, + regionalOptions: { + '': { + name: 'Hebrew', + epochs: ['BAM', 'AM'], + monthNames: [ + 'Nisan', + 'Iyar', + 'Sivan', + 'Tammuz', + 'Av', + 'Elul', + 'Tishrei', + 'Cheshvan', + 'Kislev', + 'Tevet', + 'Shevat', + 'Adar', + 'Adar II', + ], + monthNamesShort: [ + 'Nis', + 'Iya', + 'Siv', + 'Tam', + 'Av', + 'Elu', + 'Tis', + 'Che', + 'Kis', + 'Tev', + 'She', + 'Ada', + 'Ad2', + ], + dayNames: [ + 'Yom Rishon', + 'Yom Sheni', + 'Yom Shlishi', + "Yom Revi'i", + 'Yom Chamishi', + 'Yom Shishi', + 'Yom Shabbat', + ], + dayNamesShort: [ + 'Ris', + 'She', + 'Shl', + 'Rev', + 'Cha', + 'Shi', + 'Sha', + ], + dayNamesMin: ['Ri', 'She', 'Shl', 'Re', 'Ch', 'Shi', 'Sha'], + digits: null, + dateFormat: 'dd/mm/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return this._leapYear(e.year()); + }, + _leapYear: function (t) { + return o(7 * (t = t < 0 ? t + 1 : t) + 1, 19) < 7; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + this._leapYear(t.year ? t.year() : t) ? 13 : 12 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + return ( + (t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ).year()), + this.toJD(-1 === t ? 1 : t + 1, 7, 1) - this.toJD(t, 7, 1) + ); + }, + daysInMonth: function (t, e) { + return ( + t.year && ((e = t.month()), (t = t.year())), + this._validate(t, e, this.minDay, n.local.invalidMonth), + (12 === e && this.leapYear(t)) || + (8 === e && 5 === o(this.daysInYear(t), 10)) + ? 30 + : 9 === e && 3 === o(this.daysInYear(t), 10) + ? 29 + : this.daysPerMonth[e - 1] + ); + }, + weekDay: function (t, e, r) { + return 6 !== this.dayOfWeek(t, e, r); + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return { + yearType: + (this.leapYear(i) ? 'embolismic' : 'common') + + ' ' + + ['deficient', 'regular', 'complete'][ + (this.daysInYear(i) % 10) - 3 + ], + }; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t <= 0 ? t + 1 : t, + o = this.jdEpoch + this._delay1(a) + this._delay2(a) + r + 1; + if (e < 7) { + for (var s = 7; s <= this.monthsInYear(t); s++) + o += this.daysInMonth(t, s); + for (s = 1; s < e; s++) o += this.daysInMonth(t, s); + } else for (s = 7; s < e; s++) o += this.daysInMonth(t, s); + return o; + }, + _delay1: function (t) { + var e = Math.floor((235 * t - 234) / 19), + r = 12084 + 13753 * e, + n = 29 * e + Math.floor(r / 25920); + return o(3 * (n + 1), 7) < 3 && n++, n; + }, + _delay2: function (t) { + var e = this._delay1(t - 1), + r = this._delay1(t); + return this._delay1(t + 1) - r == 356 + ? 2 + : r - e == 382 + ? 1 + : 0; + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5; + for ( + var e = + Math.floor((98496 * (t - this.jdEpoch)) / 35975351) - 1; + t >= this.toJD(-1 === e ? 1 : e + 1, 7, 1); + + ) + e++; + for ( + var r = t < this.toJD(e, 1, 1) ? 7 : 1; + t > this.toJD(e, r, this.daysInMonth(e, r)); + + ) + r++; + var n = t - this.toJD(e, r, 1) + 1; + return this.newDate(e, r, n); + }, + }), + (n.calendars.hebrew = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 612: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Islamic', + jdEpoch: 1948439.5, + daysPerMonth: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Islamic', + epochs: ['BH', 'AH'], + monthNames: [ + 'Muharram', + 'Safar', + "Rabi' al-awwal", + "Rabi' al-thani", + 'Jumada al-awwal', + 'Jumada al-thani', + 'Rajab', + "Sha'aban", + 'Ramadan', + 'Shawwal', + "Dhu al-Qi'dah", + 'Dhu al-Hijjah', + ], + monthNamesShort: [ + 'Muh', + 'Saf', + 'Rab1', + 'Rab2', + 'Jum1', + 'Jum2', + 'Raj', + "Sha'", + 'Ram', + 'Shaw', + 'DhuQ', + 'DhuH', + ], + dayNames: [ + 'Yawm al-ahad', + 'Yawm al-ithnayn', + "Yawm ath-thulaathaa'", + "Yawm al-arbi'aa'", + 'Yawm al-kham\u012bs', + "Yawm al-jum'a", + 'Yawm as-sabt', + ], + dayNamesShort: [ + 'Aha', + 'Ith', + 'Thu', + 'Arb', + 'Kha', + 'Jum', + 'Sab', + ], + dayNamesMin: ['Ah', 'It', 'Th', 'Ar', 'Kh', 'Ju', 'Sa'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 6, + isRTL: !1, + }, + }, + leapYear: function (t) { + return ( + (11 * + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ).year() + + 14) % + 30 < + 11 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + return this.leapYear(t) ? 355 : 354; + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (t = t <= 0 ? t + 1 : t), + (r = i.day()) + + Math.ceil(29.5 * (e - 1)) + + 354 * (t - 1) + + Math.floor((3 + 11 * t) / 30) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5; + var e = Math.floor((30 * (t - this.jdEpoch) + 10646) / 10631); + e = e <= 0 ? e - 1 : e; + var r = Math.min( + 12, + Math.ceil((t - 29 - this.toJD(e, 1, 1)) / 29.5) + 1 + ), + n = t - this.toJD(e, r, 1) + 1; + return this.newDate(e, r, n); + }, + }), + (n.calendars.islamic = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 613: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Julian', + jdEpoch: 1721423.5, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Julian', + epochs: ['BC', 'AD'], + monthNames: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + monthNamesShort: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + dayNames: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'mm/dd/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return (t = e.year() < 0 ? e.year() + 1 : e.year()) % 4 == 0; + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(4 - (n.dayOfWeek() || 7), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return ( + (t = i.year()), + (e = i.month()), + (r = i.day()), + t < 0 && t++, + e <= 2 && (t--, (e += 12)), + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5) + 1524, + r = Math.floor((e - 122.1) / 365.25), + n = Math.floor(365.25 * r), + i = Math.floor((e - n) / 30.6001), + a = i - Math.floor(i < 14 ? 1 : 13), + o = r - Math.floor(a > 2 ? 4716 : 4715), + s = e - n - Math.floor(30.6001 * i); + return o <= 0 && o--, this.newDate(o, a, s); + }, + }), + (n.calendars.julian = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 614: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + function s(t, e) { + return o(t - 1, e) + 1; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Mayan', + jdEpoch: 584282.5, + hasYearZero: !0, + minMonth: 0, + firstMonth: 0, + minDay: 0, + regionalOptions: { + '': { + name: 'Mayan', + epochs: ['', ''], + monthNames: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + ], + monthNamesShort: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + ], + dayNames: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + ], + dayNamesShort: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + ], + dayNamesMin: [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '10', + '11', + '12', + '13', + '14', + '15', + '16', + '17', + '18', + '19', + ], + digits: null, + dateFormat: 'YYYY.m.d', + firstDay: 0, + isRTL: !1, + haabMonths: [ + 'Pop', + 'Uo', + 'Zip', + 'Zotz', + 'Tzec', + 'Xul', + 'Yaxkin', + 'Mol', + 'Chen', + 'Yax', + 'Zac', + 'Ceh', + 'Mac', + 'Kankin', + 'Muan', + 'Pax', + 'Kayab', + 'Cumku', + 'Uayeb', + ], + tzolkinMonths: [ + 'Imix', + 'Ik', + 'Akbal', + 'Kan', + 'Chicchan', + 'Cimi', + 'Manik', + 'Lamat', + 'Muluc', + 'Oc', + 'Chuen', + 'Eb', + 'Ben', + 'Ix', + 'Men', + 'Cib', + 'Caban', + 'Etznab', + 'Cauac', + 'Ahau', + ], + }, + }, + leapYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + !1 + ); + }, + formatYear: function (t) { + t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ).year(); + var e = Math.floor(t / 400); + return ( + (t %= 400), + (t += t < 0 ? 400 : 0), + e + '.' + Math.floor(t / 20) + '.' + (t % 20) + ); + }, + forYear: function (t) { + if ((t = t.split('.')).length < 3) throw 'Invalid Mayan year'; + for (var e = 0, r = 0; r < t.length; r++) { + var n = parseInt(t[r], 10); + if (Math.abs(n) > 19 || (r > 0 && n < 0)) + throw 'Invalid Mayan year'; + e = 20 * e + n; + } + return e; + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + 18 + ); + }, + weekOfYear: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate), 0; + }, + daysInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ), + 360 + ); + }, + daysInMonth: function (t, e) { + return ( + this._validate(t, e, this.minDay, n.local.invalidMonth), 20 + ); + }, + daysInWeek: function () { + return 5; + }, + dayOfWeek: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate).day(); + }, + weekDay: function (t, e, r) { + return this._validate(t, e, r, n.local.invalidDate), !0; + }, + extraInfo: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate).toJD(), + a = this._toHaab(i), + o = this._toTzolkin(i); + return { + haabMonthName: this.local.haabMonths[a[0] - 1], + haabMonth: a[0], + haabDay: a[1], + tzolkinDayName: this.local.tzolkinMonths[o[0] - 1], + tzolkinDay: o[0], + tzolkinTrecena: o[1], + }; + }, + _toHaab: function (t) { + var e = o((t -= this.jdEpoch) + 8 + 340, 365); + return [Math.floor(e / 20) + 1, o(e, 20)]; + }, + _toTzolkin: function (t) { + return [s((t -= this.jdEpoch) + 20, 20), s(t + 4, 13)]; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + return i.day() + 20 * i.month() + 360 * i.year() + this.jdEpoch; + }, + fromJD: function (t) { + t = Math.floor(t) + 0.5 - this.jdEpoch; + var e = Math.floor(t / 360); + (t %= 360), (t += t < 0 ? 360 : 0); + var r = Math.floor(t / 20), + n = t % 20; + return this.newDate(e, r, n); + }, + }), + (n.calendars.mayan = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 615: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + a.prototype = new n.baseCalendar(); + var o = n.instance('gregorian'); + i(a.prototype, { + name: 'Nanakshahi', + jdEpoch: 2257673.5, + daysPerMonth: [31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Nanakshahi', + epochs: ['BN', 'AN'], + monthNames: [ + 'Chet', + 'Vaisakh', + 'Jeth', + 'Harh', + 'Sawan', + 'Bhadon', + 'Assu', + 'Katak', + 'Maghar', + 'Poh', + 'Magh', + 'Phagun', + ], + monthNamesShort: [ + 'Che', + 'Vai', + 'Jet', + 'Har', + 'Saw', + 'Bha', + 'Ass', + 'Kat', + 'Mgr', + 'Poh', + 'Mgh', + 'Pha', + ], + dayNames: [ + 'Somvaar', + 'Mangalvar', + 'Budhvaar', + 'Veervaar', + 'Shukarvaar', + 'Sanicharvaar', + 'Etvaar', + ], + dayNamesShort: [ + 'Som', + 'Mangal', + 'Budh', + 'Veer', + 'Shukar', + 'Sanichar', + 'Et', + ], + dayNamesMin: ['So', 'Ma', 'Bu', 'Ve', 'Sh', 'Sa', 'Et'], + digits: null, + dateFormat: 'dd-mm-yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear || n.regionalOptions[''].invalidYear + ); + return o.leapYear(e.year() + (e.year() < 1 ? 1 : 0) + 1469); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(1 - (n.dayOfWeek() || 7), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidMonth); + (t = i.year()) < 0 && t++; + for (var a = i.day(), s = 1; s < i.month(); s++) + a += this.daysPerMonth[s - 1]; + return a + o.toJD(t + 1468, 3, 13); + }, + fromJD: function (t) { + t = Math.floor(t + 0.5); + for ( + var e = Math.floor((t - (this.jdEpoch - 1)) / 366); + t >= this.toJD(e + 1, 1, 1); + + ) + e++; + for ( + var r = t - Math.floor(this.toJD(e, 1, 1) + 0.5) + 1, n = 1; + r > this.daysInMonth(e, n); + + ) + (r -= this.daysInMonth(e, n)), n++; + return this.newDate(e, n, r); + }, + }), + (n.calendars.nanakshahi = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 616: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Nepali', + jdEpoch: 1700709.5, + daysPerMonth: [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + daysPerYear: 365, + regionalOptions: { + '': { + name: 'Nepali', + epochs: ['BBS', 'ABS'], + monthNames: [ + 'Baisakh', + 'Jestha', + 'Ashadh', + 'Shrawan', + 'Bhadra', + 'Ashwin', + 'Kartik', + 'Mangsir', + 'Paush', + 'Mangh', + 'Falgun', + 'Chaitra', + ], + monthNamesShort: [ + 'Bai', + 'Je', + 'As', + 'Shra', + 'Bha', + 'Ash', + 'Kar', + 'Mang', + 'Pau', + 'Ma', + 'Fal', + 'Chai', + ], + dayNames: [ + 'Aaitabaar', + 'Sombaar', + 'Manglbaar', + 'Budhabaar', + 'Bihibaar', + 'Shukrabaar', + 'Shanibaar', + ], + dayNamesShort: [ + 'Aaita', + 'Som', + 'Mangl', + 'Budha', + 'Bihi', + 'Shukra', + 'Shani', + ], + dayNamesMin: ['Aai', 'So', 'Man', 'Bu', 'Bi', 'Shu', 'Sha'], + digits: null, + dateFormat: 'dd/mm/yyyy', + firstDay: 1, + isRTL: !1, + }, + }, + leapYear: function (t) { + return this.daysInYear(t) !== this.daysPerYear; + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + if ( + ((t = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ).year()), + 'undefined' == typeof this.NEPALI_CALENDAR_DATA[t]) + ) + return this.daysPerYear; + for (var e = 0, r = this.minMonth; r <= 12; r++) + e += this.NEPALI_CALENDAR_DATA[t][r]; + return e; + }, + daysInMonth: function (t, e) { + return ( + t.year && ((e = t.month()), (t = t.year())), + this._validate(t, e, this.minDay, n.local.invalidMonth), + 'undefined' == typeof this.NEPALI_CALENDAR_DATA[t] + ? this.daysPerMonth[e - 1] + : this.NEPALI_CALENDAR_DATA[t][e] + ); + }, + weekDay: function (t, e, r) { + return 6 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = n.instance(), + o = 0, + s = e, + l = t; + this._createMissingCalendarData(t); + var c = + t - + (s > 9 || (9 === s && r >= this.NEPALI_CALENDAR_DATA[l][0]) + ? 56 + : 57); + for (9 !== e && ((o = r), s--); 9 !== s; ) + s <= 0 && ((s = 12), l--), + (o += this.NEPALI_CALENDAR_DATA[l][s]), + s--; + return ( + 9 === e + ? (o += r - this.NEPALI_CALENDAR_DATA[l][0]) < 0 && + (o += a.daysInYear(c)) + : (o += + this.NEPALI_CALENDAR_DATA[l][9] - + this.NEPALI_CALENDAR_DATA[l][0]), + a.newDate(c, 1, 1).add(o, 'd').toJD() + ); + }, + fromJD: function (t) { + var e = n.instance().fromJD(t), + r = e.year(), + i = e.dayOfYear(), + a = r + 56; + this._createMissingCalendarData(a); + for ( + var o = 9, + s = this.NEPALI_CALENDAR_DATA[a][0], + l = this.NEPALI_CALENDAR_DATA[a][o] - s + 1; + i > l; + + ) + ++o > 12 && ((o = 1), a++), + (l += this.NEPALI_CALENDAR_DATA[a][o]); + var c = this.NEPALI_CALENDAR_DATA[a][o] - (l - i); + return this.newDate(a, o, c); + }, + _createMissingCalendarData: function (t) { + var e = this.daysPerMonth.slice(0); + e.unshift(17); + for (var r = t - 1; r < t + 2; r++) + 'undefined' == typeof this.NEPALI_CALENDAR_DATA[r] && + (this.NEPALI_CALENDAR_DATA[r] = e); + }, + NEPALI_CALENDAR_DATA: { + 1970: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1971: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 1972: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 1973: [19, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1974: [19, 31, 31, 32, 30, 31, 31, 30, 29, 30, 29, 30, 30], + 1975: [18, 31, 31, 32, 32, 30, 31, 30, 29, 30, 29, 30, 30], + 1976: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1977: [18, 31, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], + 1978: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1979: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1980: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1981: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 1982: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1983: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1984: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1985: [18, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 1986: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1987: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1988: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 1989: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 1990: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1991: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 1992: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1993: [18, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 1994: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1995: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 1996: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 1997: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1998: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 1999: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2e3: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2001: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2002: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2003: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2004: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2005: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2006: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2007: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2008: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2009: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2010: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2011: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2012: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2013: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2014: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2015: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2016: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2017: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2018: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2019: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2020: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2021: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2022: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2023: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2024: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2025: [18, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2026: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2027: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2028: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2029: [18, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 2030: [17, 31, 32, 31, 32, 31, 30, 30, 30, 30, 30, 30, 31], + 2031: [17, 31, 32, 31, 32, 31, 31, 31, 31, 31, 31, 31, 31], + 2032: [17, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32], + 2033: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2034: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2035: [17, 30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2036: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2037: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2038: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2039: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2040: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2041: [18, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2042: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2043: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2044: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2045: [18, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2046: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2047: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2048: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2049: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2050: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2051: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2052: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2053: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2054: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2055: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 29, 30], + 2056: [17, 31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30], + 2057: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2058: [17, 30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2059: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2060: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2061: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2062: [17, 30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31], + 2063: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2064: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2065: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2066: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], + 2067: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2068: [17, 31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2069: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2070: [17, 31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], + 2071: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2072: [17, 31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2073: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], + 2074: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2075: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2076: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2077: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], + 2078: [17, 31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], + 2079: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], + 2080: [16, 31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], + 2081: [17, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2082: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2083: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2084: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2085: [17, 31, 32, 31, 32, 31, 31, 30, 30, 29, 30, 30, 30], + 2086: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2087: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], + 2088: [16, 30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30], + 2089: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2090: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2091: [16, 31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30], + 2092: [16, 31, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2093: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2094: [17, 31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], + 2095: [17, 31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30], + 2096: [17, 30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], + 2097: [17, 31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], + 2098: [17, 31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 30, 31], + 2099: [17, 31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], + 2100: [17, 31, 32, 31, 32, 30, 31, 30, 29, 30, 29, 30, 30], + }, + }), + (n.calendars.nepali = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 617: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + function o(t, e) { + return t - e * Math.floor(t / e); + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'Persian', + jdEpoch: 1948320.5, + daysPerMonth: [31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Persian', + epochs: ['BP', 'AP'], + monthNames: [ + 'Farvardin', + 'Ordibehesht', + 'Khordad', + 'Tir', + 'Mordad', + 'Shahrivar', + 'Mehr', + 'Aban', + 'Azar', + 'Day', + 'Bahman', + 'Esfand', + ], + monthNamesShort: [ + 'Far', + 'Ord', + 'Kho', + 'Tir', + 'Mor', + 'Sha', + 'Meh', + 'Aba', + 'Aza', + 'Day', + 'Bah', + 'Esf', + ], + dayNames: [ + 'Yekshambe', + 'Doshambe', + 'Seshambe', + 'Ch\xe6harshambe', + 'Panjshambe', + "Jom'e", + 'Shambe', + ], + dayNamesShort: [ + 'Yek', + 'Do', + 'Se', + 'Ch\xe6', + 'Panj', + 'Jom', + 'Sha', + ], + dayNamesMin: ['Ye', 'Do', 'Se', 'Ch', 'Pa', 'Jo', 'Sh'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 6, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return ( + (682 * + (((e.year() - (e.year() > 0 ? 474 : 473)) % 2820) + + 474 + + 38)) % + 2816 < + 682 + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-(n.dayOfWeek() + 1) % 7, 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (12 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + (t = i.year()), (e = i.month()), (r = i.day()); + var a = t - (t >= 0 ? 474 : 473), + s = 474 + o(a, 2820); + return ( + r + + (e <= 7 ? 31 * (e - 1) : 30 * (e - 1) + 6) + + Math.floor((682 * s - 110) / 2816) + + 365 * (s - 1) + + 1029983 * Math.floor(a / 2820) + + this.jdEpoch - + 1 + ); + }, + fromJD: function (t) { + var e = (t = Math.floor(t) + 0.5) - this.toJD(475, 1, 1), + r = Math.floor(e / 1029983), + n = o(e, 1029983), + i = 2820; + if (1029982 !== n) { + var a = Math.floor(n / 366), + s = o(n, 366); + i = + Math.floor((2134 * a + 2816 * s + 2815) / 1028522) + a + 1; + } + var l = i + 2820 * r + 474; + l = l <= 0 ? l - 1 : l; + var c = t - this.toJD(l, 1, 1) + 1, + u = c <= 186 ? Math.ceil(c / 31) : Math.ceil((c - 6) / 30), + f = t - this.toJD(l, u, 1) + 1; + return this.newDate(l, u, f); + }, + }), + (n.calendars.persian = a), + (n.calendars.jalali = a); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 618: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: 'Taiwan', + jdEpoch: 2419402.5, + yearsOffset: 1911, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Taiwan', + epochs: ['BROC', 'ROC'], + monthNames: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + monthNamesShort: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + dayNames: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 1, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + t = this._t2gYear(e.year()); + return a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + t = this._t2gYear(i.year()); + return a.weekOfYear(t, i.month(), i.day()); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + t = this._t2gYear(i.year()); + return a.toJD(t, i.month(), i.day()); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = this._g2tYear(e.year()); + return this.newDate(r, e.month(), e.day()); + }, + _t2gYear: function (t) { + return ( + t + + this.yearsOffset + + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) + ); + }, + _g2tYear: function (t) { + return ( + t - + this.yearsOffset - + (t >= 1 && t <= this.yearsOffset ? 1 : 0) + ); + }, + }), + (n.calendars.taiwan = o); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 619: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'), + a = n.instance(); + function o(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (o.prototype = new n.baseCalendar()), + i(o.prototype, { + name: 'Thai', + jdEpoch: 1523098.5, + yearsOffset: 543, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Thai', + epochs: ['BBE', 'BE'], + monthNames: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + monthNamesShort: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + dayNames: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'dd/mm/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + t = this._t2gYear(e.year()); + return a.leapYear(t); + }, + weekOfYear: function (t, e, r) { + var i = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + t = this._t2gYear(i.year()); + return a.weekOfYear(t, i.month(), i.day()); + }, + daysInMonth: function (t, e) { + var r = this._validate(t, e, this.minDay, n.local.invalidMonth); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate); + t = this._t2gYear(i.year()); + return a.toJD(t, i.month(), i.day()); + }, + fromJD: function (t) { + var e = a.fromJD(t), + r = this._g2tYear(e.year()); + return this.newDate(r, e.month(), e.day()); + }, + _t2gYear: function (t) { + return ( + t - + this.yearsOffset - + (t >= 1 && t <= this.yearsOffset ? 1 : 0) + ); + }, + _g2tYear: function (t) { + return ( + t + + this.yearsOffset + + (t >= -this.yearsOffset && t <= -1 ? 1 : 0) + ); + }, + }), + (n.calendars.thai = o); + }, + { '../main': 621, 'object-assign': 499 }, + ], + 620: [ + function (t, e, r) { + var n = t('../main'), + i = t('object-assign'); + function a(t) { + this.local = + this.regionalOptions[t || ''] || this.regionalOptions['']; + } + (a.prototype = new n.baseCalendar()), + i(a.prototype, { + name: 'UmmAlQura', + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Umm al-Qura', + epochs: ['BH', 'AH'], + monthNames: [ + 'Al-Muharram', + 'Safar', + "Rabi' al-awwal", + "Rabi' Al-Thani", + 'Jumada Al-Awwal', + 'Jumada Al-Thani', + 'Rajab', + "Sha'aban", + 'Ramadan', + 'Shawwal', + "Dhu al-Qi'dah", + 'Dhu al-Hijjah', + ], + monthNamesShort: [ + 'Muh', + 'Saf', + 'Rab1', + 'Rab2', + 'Jum1', + 'Jum2', + 'Raj', + "Sha'", + 'Ram', + 'Shaw', + 'DhuQ', + 'DhuH', + ], + dayNames: [ + 'Yawm al-Ahad', + 'Yawm al-Ithnain', + 'Yawm al-Thal\u0101th\u0101\u2019', + 'Yawm al-Arba\u2018\u0101\u2019', + 'Yawm al-Kham\u012bs', + 'Yawm al-Jum\u2018a', + 'Yawm al-Sabt', + ], + dayNamesMin: ['Ah', 'Ith', 'Th', 'Ar', 'Kh', 'Ju', 'Sa'], + digits: null, + dateFormat: 'yyyy/mm/dd', + firstDay: 6, + isRTL: !0, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + n.local.invalidYear + ); + return 355 === this.daysInYear(e.year()); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(-n.dayOfWeek(), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInYear: function (t) { + for (var e = 0, r = 1; r <= 12; r++) + e += this.daysInMonth(t, r); + return e; + }, + daysInMonth: function (t, e) { + for ( + var r = + this._validate( + t, + e, + this.minDay, + n.local.invalidMonth + ).toJD() - + 24e5 + + 0.5, + i = 0, + a = 0; + a < o.length; + a++ + ) { + if (o[a] > r) return o[i] - o[i - 1]; + i++; + } + return 30; + }, + weekDay: function (t, e, r) { + return 5 !== this.dayOfWeek(t, e, r); + }, + toJD: function (t, e, r) { + var i = this._validate(t, e, r, n.local.invalidDate), + a = 12 * (i.year() - 1) + i.month() - 15292; + return i.day() + o[a - 1] - 1 + 24e5 - 0.5; + }, + fromJD: function (t) { + for ( + var e = t - 24e5 + 0.5, r = 0, n = 0; + n < o.length && !(o[n] > e); + n++ + ) + r++; + var i = r + 15292, + a = Math.floor((i - 1) / 12), + s = a + 1, + l = i - 12 * a, + c = e - o[r - 1] + 1; + return this.newDate(s, l, c); + }, + isValid: function (t, e, r) { + var i = n.baseCalendar.prototype.isValid.apply(this, arguments); + return ( + i && + (i = + (t = null != t.year ? t.year : t) >= 1276 && t <= 1500), + i + ); + }, + _validate: function (t, e, r, i) { + var a = n.baseCalendar.prototype._validate.apply( + this, + arguments + ); + if (a.year < 1276 || a.year > 1500) + throw i.replace(/\{0\}/, this.local.name); + return a; + }, + }), + (n.calendars.ummalqura = a); + var o = [ + 20, 50, 79, 109, 138, 168, 197, 227, 256, 286, 315, 345, 374, 404, + 433, 463, 492, 522, 551, 581, 611, 641, 670, 700, 729, 759, 788, + 818, 847, 877, 906, 936, 965, 995, 1024, 1054, 1083, 1113, 1142, + 1172, 1201, 1231, 1260, 1290, 1320, 1350, 1379, 1409, 1438, 1468, + 1497, 1527, 1556, 1586, 1615, 1645, 1674, 1704, 1733, 1763, 1792, + 1822, 1851, 1881, 1910, 1940, 1969, 1999, 2028, 2058, 2087, 2117, + 2146, 2176, 2205, 2235, 2264, 2294, 2323, 2353, 2383, 2413, 2442, + 2472, 2501, 2531, 2560, 2590, 2619, 2649, 2678, 2708, 2737, 2767, + 2796, 2826, 2855, 2885, 2914, 2944, 2973, 3003, 3032, 3062, 3091, + 3121, 3150, 3180, 3209, 3239, 3268, 3298, 3327, 3357, 3386, 3416, + 3446, 3476, 3505, 3535, 3564, 3594, 3623, 3653, 3682, 3712, 3741, + 3771, 3800, 3830, 3859, 3889, 3918, 3948, 3977, 4007, 4036, 4066, + 4095, 4125, 4155, 4185, 4214, 4244, 4273, 4303, 4332, 4362, 4391, + 4421, 4450, 4480, 4509, 4539, 4568, 4598, 4627, 4657, 4686, 4716, + 4745, 4775, 4804, 4834, 4863, 4893, 4922, 4952, 4981, 5011, 5040, + 5070, 5099, 5129, 5158, 5188, 5218, 5248, 5277, 5307, 5336, 5366, + 5395, 5425, 5454, 5484, 5513, 5543, 5572, 5602, 5631, 5661, 5690, + 5720, 5749, 5779, 5808, 5838, 5867, 5897, 5926, 5956, 5985, 6015, + 6044, 6074, 6103, 6133, 6162, 6192, 6221, 6251, 6281, 6311, 6340, + 6370, 6399, 6429, 6458, 6488, 6517, 6547, 6576, 6606, 6635, 6665, + 6694, 6724, 6753, 6783, 6812, 6842, 6871, 6901, 6930, 6960, 6989, + 7019, 7048, 7078, 7107, 7137, 7166, 7196, 7225, 7255, 7284, 7314, + 7344, 7374, 7403, 7433, 7462, 7492, 7521, 7551, 7580, 7610, 7639, + 7669, 7698, 7728, 7757, 7787, 7816, 7846, 7875, 7905, 7934, 7964, + 7993, 8023, 8053, 8083, 8112, 8142, 8171, 8201, 8230, 8260, 8289, + 8319, 8348, 8378, 8407, 8437, 8466, 8496, 8525, 8555, 8584, 8614, + 8643, 8673, 8702, 8732, 8761, 8791, 8821, 8850, 8880, 8909, 8938, + 8968, 8997, 9027, 9056, 9086, 9115, 9145, 9175, 9205, 9234, 9264, + 9293, 9322, 9352, 9381, 9410, 9440, 9470, 9499, 9529, 9559, 9589, + 9618, 9648, 9677, 9706, 9736, 9765, 9794, 9824, 9853, 9883, 9913, + 9943, 9972, 10002, 10032, 10061, 10090, 10120, 10149, 10178, 10208, + 10237, 10267, 10297, 10326, 10356, 10386, 10415, 10445, 10474, + 10504, 10533, 10562, 10592, 10621, 10651, 10680, 10710, 10740, + 10770, 10799, 10829, 10858, 10888, 10917, 10947, 10976, 11005, + 11035, 11064, 11094, 11124, 11153, 11183, 11213, 11242, 11272, + 11301, 11331, 11360, 11389, 11419, 11448, 11478, 11507, 11537, + 11567, 11596, 11626, 11655, 11685, 11715, 11744, 11774, 11803, + 11832, 11862, 11891, 11921, 11950, 11980, 12010, 12039, 12069, + 12099, 12128, 12158, 12187, 12216, 12246, 12275, 12304, 12334, + 12364, 12393, 12423, 12453, 12483, 12512, 12542, 12571, 12600, + 12630, 12659, 12688, 12718, 12747, 12777, 12807, 12837, 12866, + 12896, 12926, 12955, 12984, 13014, 13043, 13072, 13102, 13131, + 13161, 13191, 13220, 13250, 13280, 13310, 13339, 13368, 13398, + 13427, 13456, 13486, 13515, 13545, 13574, 13604, 13634, 13664, + 13693, 13723, 13752, 13782, 13811, 13840, 13870, 13899, 13929, + 13958, 13988, 14018, 14047, 14077, 14107, 14136, 14166, 14195, + 14224, 14254, 14283, 14313, 14342, 14372, 14401, 14431, 14461, + 14490, 14520, 14550, 14579, 14609, 14638, 14667, 14697, 14726, + 14756, 14785, 14815, 14844, 14874, 14904, 14933, 14963, 14993, + 15021, 15051, 15081, 15110, 15140, 15169, 15199, 15228, 15258, + 15287, 15317, 15347, 15377, 15406, 15436, 15465, 15494, 15524, + 15553, 15582, 15612, 15641, 15671, 15701, 15731, 15760, 15790, + 15820, 15849, 15878, 15908, 15937, 15966, 15996, 16025, 16055, + 16085, 16114, 16144, 16174, 16204, 16233, 16262, 16292, 16321, + 16350, 16380, 16409, 16439, 16468, 16498, 16528, 16558, 16587, + 16617, 16646, 16676, 16705, 16734, 16764, 16793, 16823, 16852, + 16882, 16912, 16941, 16971, 17001, 17030, 17060, 17089, 17118, + 17148, 17177, 17207, 17236, 17266, 17295, 17325, 17355, 17384, + 17414, 17444, 17473, 17502, 17532, 17561, 17591, 17620, 17650, + 17679, 17709, 17738, 17768, 17798, 17827, 17857, 17886, 17916, + 17945, 17975, 18004, 18034, 18063, 18093, 18122, 18152, 18181, + 18211, 18241, 18270, 18300, 18330, 18359, 18388, 18418, 18447, + 18476, 18506, 18535, 18565, 18595, 18625, 18654, 18684, 18714, + 18743, 18772, 18802, 18831, 18860, 18890, 18919, 18949, 18979, + 19008, 19038, 19068, 19098, 19127, 19156, 19186, 19215, 19244, + 19274, 19303, 19333, 19362, 19392, 19422, 19452, 19481, 19511, + 19540, 19570, 19599, 19628, 19658, 19687, 19717, 19746, 19776, + 19806, 19836, 19865, 19895, 19924, 19954, 19983, 20012, 20042, + 20071, 20101, 20130, 20160, 20190, 20219, 20249, 20279, 20308, + 20338, 20367, 20396, 20426, 20455, 20485, 20514, 20544, 20573, + 20603, 20633, 20662, 20692, 20721, 20751, 20780, 20810, 20839, + 20869, 20898, 20928, 20957, 20987, 21016, 21046, 21076, 21105, + 21135, 21164, 21194, 21223, 21253, 21282, 21312, 21341, 21371, + 21400, 21430, 21459, 21489, 21519, 21548, 21578, 21607, 21637, + 21666, 21696, 21725, 21754, 21784, 21813, 21843, 21873, 21902, + 21932, 21962, 21991, 22021, 22050, 22080, 22109, 22138, 22168, + 22197, 22227, 22256, 22286, 22316, 22346, 22375, 22405, 22434, + 22464, 22493, 22522, 22552, 22581, 22611, 22640, 22670, 22700, + 22730, 22759, 22789, 22818, 22848, 22877, 22906, 22936, 22965, + 22994, 23024, 23054, 23083, 23113, 23143, 23173, 23202, 23232, + 23261, 23290, 23320, 23349, 23379, 23408, 23438, 23467, 23497, + 23527, 23556, 23586, 23616, 23645, 23674, 23704, 23733, 23763, + 23792, 23822, 23851, 23881, 23910, 23940, 23970, 23999, 24029, + 24058, 24088, 24117, 24147, 24176, 24206, 24235, 24265, 24294, + 24324, 24353, 24383, 24413, 24442, 24472, 24501, 24531, 24560, + 24590, 24619, 24648, 24678, 24707, 24737, 24767, 24796, 24826, + 24856, 24885, 24915, 24944, 24974, 25003, 25032, 25062, 25091, + 25121, 25150, 25180, 25210, 25240, 25269, 25299, 25328, 25358, + 25387, 25416, 25446, 25475, 25505, 25534, 25564, 25594, 25624, + 25653, 25683, 25712, 25742, 25771, 25800, 25830, 25859, 25888, + 25918, 25948, 25977, 26007, 26037, 26067, 26096, 26126, 26155, + 26184, 26214, 26243, 26272, 26302, 26332, 26361, 26391, 26421, + 26451, 26480, 26510, 26539, 26568, 26598, 26627, 26656, 26686, + 26715, 26745, 26775, 26805, 26834, 26864, 26893, 26923, 26952, + 26982, 27011, 27041, 27070, 27099, 27129, 27159, 27188, 27218, + 27248, 27277, 27307, 27336, 27366, 27395, 27425, 27454, 27484, + 27513, 27542, 27572, 27602, 27631, 27661, 27691, 27720, 27750, + 27779, 27809, 27838, 27868, 27897, 27926, 27956, 27985, 28015, + 28045, 28074, 28104, 28134, 28163, 28193, 28222, 28252, 28281, + 28310, 28340, 28369, 28399, 28428, 28458, 28488, 28517, 28547, + 28577, 28607, 28636, 28665, 28695, 28724, 28754, 28783, 28813, + 28843, 28872, 28901, 28931, 28960, 28990, 29019, 29049, 29078, + 29108, 29137, 29167, 29196, 29226, 29255, 29285, 29315, 29345, + 29375, 29404, 29434, 29463, 29492, 29522, 29551, 29580, 29610, + 29640, 29669, 29699, 29729, 29759, 29788, 29818, 29847, 29876, + 29906, 29935, 29964, 29994, 30023, 30053, 30082, 30112, 30141, + 30171, 30200, 30230, 30259, 30289, 30318, 30348, 30378, 30408, + 30437, 30467, 30496, 30526, 30555, 30585, 30614, 30644, 30673, + 30703, 30732, 30762, 30791, 30821, 30850, 30880, 30909, 30939, + 30968, 30998, 31027, 31057, 31086, 31116, 31145, 31175, 31204, + 31234, 31263, 31293, 31322, 31352, 31381, 31411, 31441, 31471, + 31500, 31530, 31559, 31589, 31618, 31648, 31676, 31706, 31736, + 31766, 31795, 31825, 31854, 31884, 31913, 31943, 31972, 32002, + 32031, 32061, 32090, 32120, 32150, 32180, 32209, 32239, 32268, + 32298, 32327, 32357, 32386, 32416, 32445, 32475, 32504, 32534, + 32563, 32593, 32622, 32652, 32681, 32711, 32740, 32770, 32799, + 32829, 32858, 32888, 32917, 32947, 32976, 33006, 33035, 33065, + 33094, 33124, 33153, 33183, 33213, 33243, 33272, 33302, 33331, + 33361, 33390, 33420, 33450, 33479, 33509, 33539, 33568, 33598, + 33627, 33657, 33686, 33716, 33745, 33775, 33804, 33834, 33863, + 33893, 33922, 33952, 33981, 34011, 34040, 34069, 34099, 34128, + 34158, 34187, 34217, 34247, 34277, 34306, 34336, 34365, 34395, + 34424, 34454, 34483, 34512, 34542, 34571, 34601, 34631, 34660, + 34690, 34719, 34749, 34778, 34808, 34837, 34867, 34896, 34926, + 34955, 34985, 35015, 35044, 35074, 35103, 35133, 35162, 35192, + 35222, 35251, 35280, 35310, 35340, 35370, 35399, 35429, 35458, + 35488, 35517, 35547, 35576, 35605, 35635, 35665, 35694, 35723, + 35753, 35782, 35811, 35841, 35871, 35901, 35930, 35960, 35989, + 36019, 36048, 36078, 36107, 36136, 36166, 36195, 36225, 36254, + 36284, 36314, 36343, 36373, 36403, 36433, 36462, 36492, 36521, + 36551, 36580, 36610, 36639, 36669, 36698, 36728, 36757, 36786, + 36816, 36845, 36875, 36904, 36934, 36963, 36993, 37022, 37052, + 37081, 37111, 37141, 37170, 37200, 37229, 37259, 37288, 37318, + 37347, 37377, 37406, 37436, 37465, 37495, 37524, 37554, 37584, + 37613, 37643, 37672, 37701, 37731, 37760, 37790, 37819, 37849, + 37878, 37908, 37938, 37967, 37997, 38027, 38056, 38085, 38115, + 38144, 38174, 38203, 38233, 38262, 38292, 38322, 38351, 38381, + 38410, 38440, 38469, 38499, 38528, 38558, 38587, 38617, 38646, + 38676, 38705, 38735, 38764, 38794, 38823, 38853, 38882, 38912, + 38941, 38971, 39001, 39030, 39059, 39089, 39118, 39148, 39178, + 39208, 39237, 39267, 39297, 39326, 39355, 39385, 39414, 39444, + 39473, 39503, 39532, 39562, 39592, 39621, 39650, 39680, 39709, + 39739, 39768, 39798, 39827, 39857, 39886, 39916, 39946, 39975, + 40005, 40035, 40064, 40094, 40123, 40153, 40182, 40212, 40241, + 40271, 40300, 40330, 40359, 40389, 40418, 40448, 40477, 40507, + 40536, 40566, 40595, 40625, 40655, 40685, 40714, 40744, 40773, + 40803, 40832, 40862, 40892, 40921, 40951, 40980, 41009, 41039, + 41068, 41098, 41127, 41157, 41186, 41216, 41245, 41275, 41304, + 41334, 41364, 41393, 41422, 41452, 41481, 41511, 41540, 41570, + 41599, 41629, 41658, 41688, 41718, 41748, 41777, 41807, 41836, + 41865, 41894, 41924, 41953, 41983, 42012, 42042, 42072, 42102, + 42131, 42161, 42190, 42220, 42249, 42279, 42308, 42337, 42367, + 42397, 42426, 42456, 42485, 42515, 42545, 42574, 42604, 42633, + 42662, 42692, 42721, 42751, 42780, 42810, 42839, 42869, 42899, + 42929, 42958, 42988, 43017, 43046, 43076, 43105, 43135, 43164, + 43194, 43223, 43253, 43283, 43312, 43342, 43371, 43401, 43430, + 43460, 43489, 43519, 43548, 43578, 43607, 43637, 43666, 43696, + 43726, 43755, 43785, 43814, 43844, 43873, 43903, 43932, 43962, + 43991, 44021, 44050, 44080, 44109, 44139, 44169, 44198, 44228, + 44258, 44287, 44317, 44346, 44375, 44405, 44434, 44464, 44493, + 44523, 44553, 44582, 44612, 44641, 44671, 44700, 44730, 44759, + 44788, 44818, 44847, 44877, 44906, 44936, 44966, 44996, 45025, + 45055, 45084, 45114, 45143, 45172, 45202, 45231, 45261, 45290, + 45320, 45350, 45380, 45409, 45439, 45468, 45498, 45527, 45556, + 45586, 45615, 45644, 45674, 45704, 45733, 45763, 45793, 45823, + 45852, 45882, 45911, 45940, 45970, 45999, 46028, 46058, 46088, + 46117, 46147, 46177, 46206, 46236, 46265, 46295, 46324, 46354, + 46383, 46413, 46442, 46472, 46501, 46531, 46560, 46590, 46620, + 46649, 46679, 46708, 46738, 46767, 46797, 46826, 46856, 46885, + 46915, 46944, 46974, 47003, 47033, 47063, 47092, 47122, 47151, + 47181, 47210, 47240, 47269, 47298, 47328, 47357, 47387, 47417, + 47446, 47476, 47506, 47535, 47565, 47594, 47624, 47653, 47682, + 47712, 47741, 47771, 47800, 47830, 47860, 47890, 47919, 47949, + 47978, 48008, 48037, 48066, 48096, 48125, 48155, 48184, 48214, + 48244, 48273, 48303, 48333, 48362, 48392, 48421, 48450, 48480, + 48509, 48538, 48568, 48598, 48627, 48657, 48687, 48717, 48746, + 48776, 48805, 48834, 48864, 48893, 48922, 48952, 48982, 49011, + 49041, 49071, 49100, 49130, 49160, 49189, 49218, 49248, 49277, + 49306, 49336, 49365, 49395, 49425, 49455, 49484, 49514, 49543, + 49573, 49602, 49632, 49661, 49690, 49720, 49749, 49779, 49809, + 49838, 49868, 49898, 49927, 49957, 49986, 50016, 50045, 50075, + 50104, 50133, 50163, 50192, 50222, 50252, 50281, 50311, 50340, + 50370, 50400, 50429, 50459, 50488, 50518, 50547, 50576, 50606, + 50635, 50665, 50694, 50724, 50754, 50784, 50813, 50843, 50872, + 50902, 50931, 50960, 50990, 51019, 51049, 51078, 51108, 51138, + 51167, 51197, 51227, 51256, 51286, 51315, 51345, 51374, 51403, + 51433, 51462, 51492, 51522, 51552, 51582, 51611, 51641, 51670, + 51699, 51729, 51758, 51787, 51816, 51846, 51876, 51906, 51936, + 51965, 51995, 52025, 52054, 52083, 52113, 52142, 52171, 52200, + 52230, 52260, 52290, 52319, 52349, 52379, 52408, 52438, 52467, + 52497, 52526, 52555, 52585, 52614, 52644, 52673, 52703, 52733, + 52762, 52792, 52822, 52851, 52881, 52910, 52939, 52969, 52998, + 53028, 53057, 53087, 53116, 53146, 53176, 53205, 53235, 53264, + 53294, 53324, 53353, 53383, 53412, 53441, 53471, 53500, 53530, + 53559, 53589, 53619, 53648, 53678, 53708, 53737, 53767, 53796, + 53825, 53855, 53884, 53913, 53943, 53973, 54003, 54032, 54062, + 54092, 54121, 54151, 54180, 54209, 54239, 54268, 54297, 54327, + 54357, 54387, 54416, 54446, 54476, 54505, 54535, 54564, 54593, + 54623, 54652, 54681, 54711, 54741, 54770, 54800, 54830, 54859, + 54889, 54919, 54948, 54977, 55007, 55036, 55066, 55095, 55125, + 55154, 55184, 55213, 55243, 55273, 55302, 55332, 55361, 55391, + 55420, 55450, 55479, 55508, 55538, 55567, 55597, 55627, 55657, + 55686, 55716, 55745, 55775, 55804, 55834, 55863, 55892, 55922, + 55951, 55981, 56011, 56040, 56070, 56100, 56129, 56159, 56188, + 56218, 56247, 56276, 56306, 56335, 56365, 56394, 56424, 56454, + 56483, 56513, 56543, 56572, 56601, 56631, 56660, 56690, 56719, + 56749, 56778, 56808, 56837, 56867, 56897, 56926, 56956, 56985, + 57015, 57044, 57074, 57103, 57133, 57162, 57192, 57221, 57251, + 57280, 57310, 57340, 57369, 57399, 57429, 57458, 57487, 57517, + 57546, 57576, 57605, 57634, 57664, 57694, 57723, 57753, 57783, + 57813, 57842, 57871, 57901, 57930, 57959, 57989, 58018, 58048, + 58077, 58107, 58137, 58167, 58196, 58226, 58255, 58285, 58314, + 58343, 58373, 58402, 58432, 58461, 58491, 58521, 58551, 58580, + 58610, 58639, 58669, 58698, 58727, 58757, 58786, 58816, 58845, + 58875, 58905, 58934, 58964, 58994, 59023, 59053, 59082, 59111, + 59141, 59170, 59200, 59229, 59259, 59288, 59318, 59348, 59377, + 59407, 59436, 59466, 59495, 59525, 59554, 59584, 59613, 59643, + 59672, 59702, 59731, 59761, 59791, 59820, 59850, 59879, 59909, + 59939, 59968, 59997, 60027, 60056, 60086, 60115, 60145, 60174, + 60204, 60234, 60264, 60293, 60323, 60352, 60381, 60411, 60440, + 60469, 60499, 60528, 60558, 60588, 60618, 60648, 60677, 60707, + 60736, 60765, 60795, 60824, 60853, 60883, 60912, 60942, 60972, + 61002, 61031, 61061, 61090, 61120, 61149, 61179, 61208, 61237, + 61267, 61296, 61326, 61356, 61385, 61415, 61445, 61474, 61504, + 61533, 61563, 61592, 61621, 61651, 61680, 61710, 61739, 61769, + 61799, 61828, 61858, 61888, 61917, 61947, 61976, 62006, 62035, + 62064, 62094, 62123, 62153, 62182, 62212, 62242, 62271, 62301, + 62331, 62360, 62390, 62419, 62448, 62478, 62507, 62537, 62566, + 62596, 62625, 62655, 62685, 62715, 62744, 62774, 62803, 62832, + 62862, 62891, 62921, 62950, 62980, 63009, 63039, 63069, 63099, + 63128, 63157, 63187, 63216, 63246, 63275, 63305, 63334, 63363, + 63393, 63423, 63453, 63482, 63512, 63541, 63571, 63600, 63630, + 63659, 63689, 63718, 63747, 63777, 63807, 63836, 63866, 63895, + 63925, 63955, 63984, 64014, 64043, 64073, 64102, 64131, 64161, + 64190, 64220, 64249, 64279, 64309, 64339, 64368, 64398, 64427, + 64457, 64486, 64515, 64545, 64574, 64603, 64633, 64663, 64692, + 64722, 64752, 64782, 64811, 64841, 64870, 64899, 64929, 64958, + 64987, 65017, 65047, 65076, 65106, 65136, 65166, 65195, 65225, + 65254, 65283, 65313, 65342, 65371, 65401, 65431, 65460, 65490, + 65520, 65549, 65579, 65608, 65638, 65667, 65697, 65726, 65755, + 65785, 65815, 65844, 65874, 65903, 65933, 65963, 65992, 66022, + 66051, 66081, 66110, 66140, 66169, 66199, 66228, 66258, 66287, + 66317, 66346, 66376, 66405, 66435, 66465, 66494, 66524, 66553, + 66583, 66612, 66641, 66671, 66700, 66730, 66760, 66789, 66819, + 66849, 66878, 66908, 66937, 66967, 66996, 67025, 67055, 67084, + 67114, 67143, 67173, 67203, 67233, 67262, 67292, 67321, 67351, + 67380, 67409, 67439, 67468, 67497, 67527, 67557, 67587, 67617, + 67646, 67676, 67705, 67735, 67764, 67793, 67823, 67852, 67882, + 67911, 67941, 67971, 68e3, 68030, 68060, 68089, 68119, 68148, 68177, + 68207, 68236, 68266, 68295, 68325, 68354, 68384, 68414, 68443, + 68473, 68502, 68532, 68561, 68591, 68620, 68650, 68679, 68708, + 68738, 68768, 68797, 68827, 68857, 68886, 68916, 68946, 68975, + 69004, 69034, 69063, 69092, 69122, 69152, 69181, 69211, 69240, + 69270, 69300, 69330, 69359, 69388, 69418, 69447, 69476, 69506, + 69535, 69565, 69595, 69624, 69654, 69684, 69713, 69743, 69772, + 69802, 69831, 69861, 69890, 69919, 69949, 69978, 70008, 70038, + 70067, 70097, 70126, 70156, 70186, 70215, 70245, 70274, 70303, + 70333, 70362, 70392, 70421, 70451, 70481, 70510, 70540, 70570, + 70599, 70629, 70658, 70687, 70717, 70746, 70776, 70805, 70835, + 70864, 70894, 70924, 70954, 70983, 71013, 71042, 71071, 71101, + 71130, 71159, 71189, 71218, 71248, 71278, 71308, 71337, 71367, + 71397, 71426, 71455, 71485, 71514, 71543, 71573, 71602, 71632, + 71662, 71691, 71721, 71751, 71781, 71810, 71839, 71869, 71898, + 71927, 71957, 71986, 72016, 72046, 72075, 72105, 72135, 72164, + 72194, 72223, 72253, 72282, 72311, 72341, 72370, 72400, 72429, + 72459, 72489, 72518, 72548, 72577, 72607, 72637, 72666, 72695, + 72725, 72754, 72784, 72813, 72843, 72872, 72902, 72931, 72961, + 72991, 73020, 73050, 73080, 73109, 73139, 73168, 73197, 73227, + 73256, 73286, 73315, 73345, 73375, 73404, 73434, 73464, 73493, + 73523, 73552, 73581, 73611, 73640, 73669, 73699, 73729, 73758, + 73788, 73818, 73848, 73877, 73907, 73936, 73965, 73995, 74024, + 74053, 74083, 74113, 74142, 74172, 74202, 74231, 74261, 74291, + 74320, 74349, 74379, 74408, 74437, 74467, 74497, 74526, 74556, + 74586, 74615, 74645, 74675, 74704, 74733, 74763, 74792, 74822, + 74851, 74881, 74910, 74940, 74969, 74999, 75029, 75058, 75088, + 75117, 75147, 75176, 75206, 75235, 75264, 75294, 75323, 75353, + 75383, 75412, 75442, 75472, 75501, 75531, 75560, 75590, 75619, + 75648, 75678, 75707, 75737, 75766, 75796, 75826, 75856, 75885, + 75915, 75944, 75974, 76003, 76032, 76062, 76091, 76121, 76150, + 76180, 76210, 76239, 76269, 76299, 76328, 76358, 76387, 76416, + 76446, 76475, 76505, 76534, 76564, 76593, 76623, 76653, 76682, + 76712, 76741, 76771, 76801, 76830, 76859, 76889, 76918, 76948, + 76977, 77007, 77036, 77066, 77096, 77125, 77155, 77185, 77214, + 77243, 77273, 77302, 77332, 77361, 77390, 77420, 77450, 77479, + 77509, 77539, 77569, 77598, 77627, 77657, 77686, 77715, 77745, + 77774, 77804, 77833, 77863, 77893, 77923, 77952, 77982, 78011, + 78041, 78070, 78099, 78129, 78158, 78188, 78217, 78247, 78277, + 78307, 78336, 78366, 78395, 78425, 78454, 78483, 78513, 78542, + 78572, 78601, 78631, 78661, 78690, 78720, 78750, 78779, 78808, + 78838, 78867, 78897, 78926, 78956, 78985, 79015, 79044, 79074, + 79104, 79133, 79163, 79192, 79222, 79251, 79281, 79310, 79340, + 79369, 79399, 79428, 79458, 79487, 79517, 79546, 79576, 79606, + 79635, 79665, 79695, 79724, 79753, 79783, 79812, 79841, 79871, + 79900, 79930, 79960, 79990, + ]; + }, + { '../main': 621, 'object-assign': 499 }, + ], + 621: [ + function (t, e, r) { + var n = t('object-assign'); + function i() { + (this.regionalOptions = []), + (this.regionalOptions[''] = { + invalidCalendar: 'Calendar {0} not found', + invalidDate: 'Invalid {0} date', + invalidMonth: 'Invalid {0} month', + invalidYear: 'Invalid {0} year', + differentCalendars: 'Cannot mix {0} and {1} dates', + }), + (this.local = this.regionalOptions['']), + (this.calendars = {}), + (this._localCals = {}); + } + function a(t, e, r, n) { + if ( + ((this._calendar = t), + (this._year = e), + (this._month = r), + (this._day = n), + 0 === this._calendar._validateLevel && + !this._calendar.isValid(this._year, this._month, this._day)) + ) + throw ( + c.local.invalidDate || c.regionalOptions[''].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + } + function o(t, e) { + return '000000'.substring(0, e - (t = '' + t).length) + t; + } + function s() { + this.shortYearCutoff = '+10'; + } + function l(t) { + this.local = this.regionalOptions[t] || this.regionalOptions['']; + } + n(i.prototype, { + instance: function (t, e) { + (t = (t || 'gregorian').toLowerCase()), (e = e || ''); + var r = this._localCals[t + '-' + e]; + if ( + (!r && + this.calendars[t] && + ((r = new this.calendars[t](e)), + (this._localCals[t + '-' + e] = r)), + !r) + ) + throw ( + this.local.invalidCalendar || + this.regionalOptions[''].invalidCalendar + ).replace(/\{0\}/, t); + return r; + }, + newDate: function (t, e, r, n, i) { + return (n = + (null != t && t.year + ? t.calendar() + : 'string' == typeof n + ? this.instance(n, i) + : n) || this.instance()).newDate(t, e, r); + }, + substituteDigits: function (t) { + return function (e) { + return (e + '').replace(/[0-9]/g, function (e) { + return t[e]; + }); + }; + }, + substituteChineseDigits: function (t, e) { + return function (r) { + for (var n = '', i = 0; r > 0; ) { + var a = r % 10; + (n = (0 === a ? '' : t[a] + e[i]) + n), + i++, + (r = Math.floor(r / 10)); + } + return ( + 0 === n.indexOf(t[1] + e[1]) && (n = n.substr(1)), n || t[0] + ); + }; + }, + }), + n(a.prototype, { + newDate: function (t, e, r) { + return this._calendar.newDate(null == t ? this : t, e, r); + }, + year: function (t) { + return 0 === arguments.length ? this._year : this.set(t, 'y'); + }, + month: function (t) { + return 0 === arguments.length ? this._month : this.set(t, 'm'); + }, + day: function (t) { + return 0 === arguments.length ? this._day : this.set(t, 'd'); + }, + date: function (t, e, r) { + if (!this._calendar.isValid(t, e, r)) + throw ( + c.local.invalidDate || c.regionalOptions[''].invalidDate + ).replace(/\{0\}/, this._calendar.local.name); + return ( + (this._year = t), (this._month = e), (this._day = r), this + ); + }, + leapYear: function () { + return this._calendar.leapYear(this); + }, + epoch: function () { + return this._calendar.epoch(this); + }, + formatYear: function () { + return this._calendar.formatYear(this); + }, + monthOfYear: function () { + return this._calendar.monthOfYear(this); + }, + weekOfYear: function () { + return this._calendar.weekOfYear(this); + }, + daysInYear: function () { + return this._calendar.daysInYear(this); + }, + dayOfYear: function () { + return this._calendar.dayOfYear(this); + }, + daysInMonth: function () { + return this._calendar.daysInMonth(this); + }, + dayOfWeek: function () { + return this._calendar.dayOfWeek(this); + }, + weekDay: function () { + return this._calendar.weekDay(this); + }, + extraInfo: function () { + return this._calendar.extraInfo(this); + }, + add: function (t, e) { + return this._calendar.add(this, t, e); + }, + set: function (t, e) { + return this._calendar.set(this, t, e); + }, + compareTo: function (t) { + if (this._calendar.name !== t._calendar.name) + throw ( + c.local.differentCalendars || + c.regionalOptions[''].differentCalendars + ) + .replace(/\{0\}/, this._calendar.local.name) + .replace(/\{1\}/, t._calendar.local.name); + var e = + this._year !== t._year + ? this._year - t._year + : this._month !== t._month + ? this.monthOfYear() - t.monthOfYear() + : this._day - t._day; + return 0 === e ? 0 : e < 0 ? -1 : 1; + }, + calendar: function () { + return this._calendar; + }, + toJD: function () { + return this._calendar.toJD(this); + }, + fromJD: function (t) { + return this._calendar.fromJD(t); + }, + toJSDate: function () { + return this._calendar.toJSDate(this); + }, + fromJSDate: function (t) { + return this._calendar.fromJSDate(t); + }, + toString: function () { + return ( + (this.year() < 0 ? '-' : '') + + o(Math.abs(this.year()), 4) + + '-' + + o(this.month(), 2) + + '-' + + o(this.day(), 2) + ); + }, + }), + n(s.prototype, { + _validateLevel: 0, + newDate: function (t, e, r) { + return null == t + ? this.today() + : (t.year && + (this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ), + (r = t.day()), + (e = t.month()), + (t = t.year())), + new a(this, t, e, r)); + }, + today: function () { + return this.fromJSDate(new Date()); + }, + epoch: function (t) { + return this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[''].invalidYear + ).year() < 0 + ? this.local.epochs[0] + : this.local.epochs[1]; + }, + formatYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[''].invalidYear + ); + return (e.year() < 0 ? '-' : '') + o(Math.abs(e.year()), 4); + }, + monthsInYear: function (t) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[''].invalidYear + ), + 12 + ); + }, + monthOfYear: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + c.local.invalidMonth || c.regionalOptions[''].invalidMonth + ); + return ( + ((r.month() + this.monthsInYear(r) - this.firstMonth) % + this.monthsInYear(r)) + + this.minMonth + ); + }, + fromMonthOfYear: function (t, e) { + var r = + ((e + this.firstMonth - 2 * this.minMonth) % + this.monthsInYear(t)) + + this.minMonth; + return ( + this._validate( + t, + r, + this.minDay, + c.local.invalidMonth || c.regionalOptions[''].invalidMonth + ), + r + ); + }, + daysInYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[''].invalidYear + ); + return this.leapYear(e) ? 366 : 365; + }, + dayOfYear: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ); + return ( + n.toJD() - + this.newDate( + n.year(), + this.fromMonthOfYear(n.year(), this.minMonth), + this.minDay + ).toJD() + + 1 + ); + }, + daysInWeek: function () { + return 7; + }, + dayOfWeek: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ); + return (Math.floor(this.toJD(n)) + 2) % this.daysInWeek(); + }, + extraInfo: function (t, e, r) { + return ( + this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ), + {} + ); + }, + add: function (t, e, r) { + return ( + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ), + this._correctAdd(t, this._add(t, e, r), e, r) + ); + }, + _add: function (t, e, r) { + if ((this._validateLevel++, 'd' === r || 'w' === r)) { + var n = t.toJD() + e * ('w' === r ? this.daysInWeek() : 1), + i = t.calendar().fromJD(n); + return this._validateLevel--, [i.year(), i.month(), i.day()]; + } + try { + var a = t.year() + ('y' === r ? e : 0), + o = t.monthOfYear() + ('m' === r ? e : 0); + i = t.day(); + 'y' === r + ? (t.month() !== this.fromMonthOfYear(a, o) && + (o = this.newDate( + a, + t.month(), + this.minDay + ).monthOfYear()), + (o = Math.min(o, this.monthsInYear(a))), + (i = Math.min( + i, + this.daysInMonth(a, this.fromMonthOfYear(a, o)) + ))) + : 'm' === r && + (!(function (t) { + for (; o < t.minMonth; ) a--, (o += t.monthsInYear(a)); + for ( + var e = t.monthsInYear(a); + o > e - 1 + t.minMonth; + + ) + a++, (o -= e), (e = t.monthsInYear(a)); + })(this), + (i = Math.min( + i, + this.daysInMonth(a, this.fromMonthOfYear(a, o)) + ))); + var s = [a, this.fromMonthOfYear(a, o), i]; + return this._validateLevel--, s; + } catch (t) { + throw (this._validateLevel--, t); + } + }, + _correctAdd: function (t, e, r, n) { + if ( + !( + this.hasYearZero || + ('y' !== n && 'm' !== n) || + (0 !== e[0] && t.year() > 0 == e[0] > 0) + ) + ) { + var i = { + y: [1, 1, 'y'], + m: [1, this.monthsInYear(-1), 'm'], + w: [this.daysInWeek(), this.daysInYear(-1), 'd'], + d: [1, this.daysInYear(-1), 'd'], + }[n], + a = r < 0 ? -1 : 1; + e = this._add(t, r * i[0] + a * i[1], i[2]); + } + return t.date(e[0], e[1], e[2]); + }, + set: function (t, e, r) { + this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ); + var n = 'y' === r ? e : t.year(), + i = 'm' === r ? e : t.month(), + a = 'd' === r ? e : t.day(); + return ( + ('y' !== r && 'm' !== r) || + (a = Math.min(a, this.daysInMonth(n, i))), + t.date(n, i, a) + ); + }, + isValid: function (t, e, r) { + this._validateLevel++; + var n = this.hasYearZero || 0 !== t; + if (n) { + var i = this.newDate(t, e, this.minDay); + n = + e >= this.minMonth && + e - this.minMonth < this.monthsInYear(i) && + r >= this.minDay && + r - this.minDay < this.daysInMonth(i); + } + return this._validateLevel--, n; + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ); + return c.instance().fromJD(this.toJD(n)).toJSDate(); + }, + fromJSDate: function (t) { + return this.fromJD(c.instance().fromJSDate(t).toJD()); + }, + _validate: function (t, e, r, n) { + if (t.year) { + if ( + 0 === this._validateLevel && + this.name !== t.calendar().name + ) + throw ( + c.local.differentCalendars || + c.regionalOptions[''].differentCalendars + ) + .replace(/\{0\}/, this.local.name) + .replace(/\{1\}/, t.calendar().local.name); + return t; + } + try { + if ( + (this._validateLevel++, + 1 === this._validateLevel && !this.isValid(t, e, r)) + ) + throw n.replace(/\{0\}/, this.local.name); + var i = this.newDate(t, e, r); + return this._validateLevel--, i; + } catch (t) { + throw (this._validateLevel--, t); + } + }, + }), + (l.prototype = new s()), + n(l.prototype, { + name: 'Gregorian', + jdEpoch: 1721425.5, + daysPerMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], + hasYearZero: !1, + minMonth: 1, + firstMonth: 1, + minDay: 1, + regionalOptions: { + '': { + name: 'Gregorian', + epochs: ['BCE', 'CE'], + monthNames: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + monthNamesShort: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + dayNames: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + dayNamesShort: [ + 'Sun', + 'Mon', + 'Tue', + 'Wed', + 'Thu', + 'Fri', + 'Sat', + ], + dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], + digits: null, + dateFormat: 'mm/dd/yyyy', + firstDay: 0, + isRTL: !1, + }, + }, + leapYear: function (t) { + var e = this._validate( + t, + this.minMonth, + this.minDay, + c.local.invalidYear || c.regionalOptions[''].invalidYear + ); + return ( + (t = e.year() + (e.year() < 0 ? 1 : 0)) % 4 == 0 && + (t % 100 != 0 || t % 400 == 0) + ); + }, + weekOfYear: function (t, e, r) { + var n = this.newDate(t, e, r); + return ( + n.add(4 - (n.dayOfWeek() || 7), 'd'), + Math.floor((n.dayOfYear() - 1) / 7) + 1 + ); + }, + daysInMonth: function (t, e) { + var r = this._validate( + t, + e, + this.minDay, + c.local.invalidMonth || c.regionalOptions[''].invalidMonth + ); + return ( + this.daysPerMonth[r.month() - 1] + + (2 === r.month() && this.leapYear(r.year()) ? 1 : 0) + ); + }, + weekDay: function (t, e, r) { + return (this.dayOfWeek(t, e, r) || 7) < 6; + }, + toJD: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ); + (t = n.year()), + (e = n.month()), + (r = n.day()), + t < 0 && t++, + e < 3 && ((e += 12), t--); + var i = Math.floor(t / 100), + a = 2 - i + Math.floor(i / 4); + return ( + Math.floor(365.25 * (t + 4716)) + + Math.floor(30.6001 * (e + 1)) + + r + + a - + 1524.5 + ); + }, + fromJD: function (t) { + var e = Math.floor(t + 0.5), + r = Math.floor((e - 1867216.25) / 36524.25), + n = (r = e + 1 + r - Math.floor(r / 4)) + 1524, + i = Math.floor((n - 122.1) / 365.25), + a = Math.floor(365.25 * i), + o = Math.floor((n - a) / 30.6001), + s = n - a - Math.floor(30.6001 * o), + l = o - (o > 13.5 ? 13 : 1), + c = i - (l > 2.5 ? 4716 : 4715); + return c <= 0 && c--, this.newDate(c, l, s); + }, + toJSDate: function (t, e, r) { + var n = this._validate( + t, + e, + r, + c.local.invalidDate || c.regionalOptions[''].invalidDate + ), + i = new Date(n.year(), n.month() - 1, n.day()); + return ( + i.setHours(0), + i.setMinutes(0), + i.setSeconds(0), + i.setMilliseconds(0), + i.setHours(i.getHours() > 12 ? i.getHours() + 2 : 0), + i + ); + }, + fromJSDate: function (t) { + return this.newDate( + t.getFullYear(), + t.getMonth() + 1, + t.getDate() + ); + }, + }); + var c = (e.exports = new i()); + (c.cdate = a), (c.baseCalendar = s), (c.calendars.gregorian = l); + }, + { 'object-assign': 499 }, + ], + 622: [ + function (t, e, r) { + var n = t('object-assign'), + i = t('./main'); + n(i.regionalOptions[''], { + invalidArguments: 'Invalid arguments', + invalidFormat: 'Cannot format a date from another calendar', + missingNumberAt: 'Missing number at position {0}', + unknownNameAt: 'Unknown name at position {0}', + unexpectedLiteralAt: 'Unexpected literal at position {0}', + unexpectedText: 'Additional text found at end', + }), + (i.local = i.regionalOptions['']), + n(i.cdate.prototype, { + formatDate: function (t, e) { + return ( + 'string' != typeof t && ((e = t), (t = '')), + this._calendar.formatDate(t || '', this, e) + ); + }, + }), + n(i.baseCalendar.prototype, { + UNIX_EPOCH: i.instance().newDate(1970, 1, 1).toJD(), + SECS_PER_DAY: 86400, + TICKS_EPOCH: i.instance().jdEpoch, + TICKS_PER_DAY: 864e9, + ATOM: 'yyyy-mm-dd', + COOKIE: 'D, dd M yyyy', + FULL: 'DD, MM d, yyyy', + ISO_8601: 'yyyy-mm-dd', + JULIAN: 'J', + RFC_822: 'D, d M yy', + RFC_850: 'DD, dd-M-yy', + RFC_1036: 'D, d M yy', + RFC_1123: 'D, d M yyyy', + RFC_2822: 'D, d M yyyy', + RSS: 'D, d M yy', + TICKS: '!', + TIMESTAMP: '@', + W3C: 'yyyy-mm-dd', + formatDate: function (t, e, r) { + if (('string' != typeof t && ((r = e), (e = t), (t = '')), !e)) + return ''; + if (e.calendar() !== this) + throw ( + i.local.invalidFormat || i.regionalOptions[''].invalidFormat + ); + t = t || this.local.dateFormat; + for ( + var n, + a, + o, + s, + l = (r = r || {}).dayNamesShort || this.local.dayNamesShort, + c = r.dayNames || this.local.dayNames, + u = r.monthNumbers || this.local.monthNumbers, + f = r.monthNamesShort || this.local.monthNamesShort, + h = r.monthNames || this.local.monthNames, + p = + (r.calculateWeek || this.local.calculateWeek, + function (e, r) { + for ( + var n = 1; + w + n < t.length && t.charAt(w + n) === e; + + ) + n++; + return (w += n - 1), Math.floor(n / (r || 1)) > 1; + }), + d = function (t, e, r, n) { + var i = '' + e; + if (p(t, n)) for (; i.length < r; ) i = '0' + i; + return i; + }, + g = this, + m = function (t) { + return 'function' == typeof u + ? u.call(g, t, p('m')) + : x(d('m', t.month(), 2)); + }, + v = function (t, e) { + return e + ? 'function' == typeof h + ? h.call(g, t) + : h[t.month() - g.minMonth] + : 'function' == typeof f + ? f.call(g, t) + : f[t.month() - g.minMonth]; + }, + y = this.local.digits, + x = function (t) { + return r.localNumbers && y ? y(t) : t; + }, + b = '', + _ = !1, + w = 0; + w < t.length; + w++ + ) + if (_) + "'" !== t.charAt(w) || p("'") + ? (b += t.charAt(w)) + : (_ = !1); + else + switch (t.charAt(w)) { + case 'd': + b += x(d('d', e.day(), 2)); + break; + case 'D': + b += + ((n = 'D'), + (a = e.dayOfWeek()), + (o = l), + (s = c), + p(n) ? s[a] : o[a]); + break; + case 'o': + b += d('o', e.dayOfYear(), 3); + break; + case 'w': + b += d('w', e.weekOfYear(), 2); + break; + case 'm': + b += m(e); + break; + case 'M': + b += v(e, p('M')); + break; + case 'y': + b += p('y', 2) + ? e.year() + : (e.year() % 100 < 10 ? '0' : '') + (e.year() % 100); + break; + case 'Y': + p('Y', 2), (b += e.formatYear()); + break; + case 'J': + b += e.toJD(); + break; + case '@': + b += (e.toJD() - this.UNIX_EPOCH) * this.SECS_PER_DAY; + break; + case '!': + b += (e.toJD() - this.TICKS_EPOCH) * this.TICKS_PER_DAY; + break; + case "'": + p("'") ? (b += "'") : (_ = !0); + break; + default: + b += t.charAt(w); + } + return b; + }, + parseDate: function (t, e, r) { + if (null == e) + throw ( + i.local.invalidArguments || + i.regionalOptions[''].invalidArguments + ); + if ('' === (e = 'object' == typeof e ? e.toString() : e + '')) + return null; + t = t || this.local.dateFormat; + var n = (r = r || {}).shortYearCutoff || this.shortYearCutoff; + n = + 'string' != typeof n + ? n + : (this.today().year() % 100) + parseInt(n, 10); + for ( + var a = r.dayNamesShort || this.local.dayNamesShort, + o = r.dayNames || this.local.dayNames, + s = r.parseMonth || this.local.parseMonth, + l = r.monthNumbers || this.local.monthNumbers, + c = r.monthNamesShort || this.local.monthNamesShort, + u = r.monthNames || this.local.monthNames, + f = -1, + h = -1, + p = -1, + d = -1, + g = -1, + m = !1, + v = !1, + y = function (e, r) { + for ( + var n = 1; + A + n < t.length && t.charAt(A + n) === e; + + ) + n++; + return (A += n - 1), Math.floor(n / (r || 1)) > 1; + }, + x = function (t, r) { + var n = y(t, r), + a = [2, 3, n ? 4 : 2, n ? 4 : 2, 10, 11, 20][ + 'oyYJ@!'.indexOf(t) + 1 + ], + o = new RegExp('^-?\\d{1,' + a + '}'), + s = e.substring(M).match(o); + if (!s) + throw ( + i.local.missingNumberAt || + i.regionalOptions[''].missingNumberAt + ).replace(/\{0\}/, M); + return (M += s[0].length), parseInt(s[0], 10); + }, + b = this, + _ = function () { + if ('function' == typeof l) { + y('m'); + var t = l.call(b, e.substring(M)); + return (M += t.length), t; + } + return x('m'); + }, + w = function (t, r, n, a) { + for (var o = y(t, a) ? n : r, s = 0; s < o.length; s++) + if ( + e.substr(M, o[s].length).toLowerCase() === + o[s].toLowerCase() + ) + return (M += o[s].length), s + b.minMonth; + throw ( + i.local.unknownNameAt || + i.regionalOptions[''].unknownNameAt + ).replace(/\{0\}/, M); + }, + T = function () { + if ('function' == typeof u) { + var t = y('M') + ? u.call(b, e.substring(M)) + : c.call(b, e.substring(M)); + return (M += t.length), t; + } + return w('M', c, u); + }, + k = function () { + if (e.charAt(M) !== t.charAt(A)) + throw ( + i.local.unexpectedLiteralAt || + i.regionalOptions[''].unexpectedLiteralAt + ).replace(/\{0\}/, M); + M++; + }, + M = 0, + A = 0; + A < t.length; + A++ + ) + if (v) "'" !== t.charAt(A) || y("'") ? k() : (v = !1); + else + switch (t.charAt(A)) { + case 'd': + d = x('d'); + break; + case 'D': + w('D', a, o); + break; + case 'o': + g = x('o'); + break; + case 'w': + x('w'); + break; + case 'm': + p = _(); + break; + case 'M': + p = T(); + break; + case 'y': + var S = A; + (m = !y('y', 2)), (A = S), (h = x('y', 2)); + break; + case 'Y': + h = x('Y', 2); + break; + case 'J': + (f = x('J') + 0.5), + '.' === e.charAt(M) && (M++, x('J')); + break; + case '@': + f = x('@') / this.SECS_PER_DAY + this.UNIX_EPOCH; + break; + case '!': + f = x('!') / this.TICKS_PER_DAY + this.TICKS_EPOCH; + break; + case '*': + M = e.length; + break; + case "'": + y("'") ? k() : (v = !0); + break; + default: + k(); + } + if (M < e.length) + throw ( + i.local.unexpectedText || + i.regionalOptions[''].unexpectedText + ); + if ( + (-1 === h + ? (h = this.today().year()) + : h < 100 && + m && + (h += + -1 === n + ? 1900 + : this.today().year() - + (this.today().year() % 100) - + (h <= n ? 0 : 100)), + 'string' == typeof p && (p = s.call(this, h, p)), + g > -1) + ) { + (p = 1), (d = g); + for ( + var E = this.daysInMonth(h, p); + d > E; + E = this.daysInMonth(h, p) + ) + p++, (d -= E); + } + return f > -1 ? this.fromJD(f) : this.newDate(h, p, d); + }, + determineDate: function (t, e, r, n, i) { + r && 'object' != typeof r && ((i = n), (n = r), (r = null)), + 'string' != typeof n && ((i = n), (n = '')); + var a = this; + return ( + (e = e ? e.newDate() : null), + (t = + null == t + ? e + : 'string' == typeof t + ? (function (t) { + try { + return a.parseDate(n, t, i); + } catch (t) {} + for ( + var e = + ((t = t.toLowerCase()).match(/^c/) && r + ? r.newDate() + : null) || a.today(), + o = /([+-]?[0-9]+)\s*(d|w|m|y)?/g, + s = o.exec(t); + s; + + ) + e.add(parseInt(s[1], 10), s[2] || 'd'), + (s = o.exec(t)); + return e; + })(t) + : 'number' == typeof t + ? isNaN(t) || t === 1 / 0 || t === -1 / 0 + ? e + : a.today().add(t, 'd') + : a.newDate(t)) + ); + }, + }); + }, + { './main': 621, 'object-assign': 499 }, + ], + 623: [ + function (t, e, r) { + e.exports = t('cwise-compiler')({ + args: [ + 'array', + { offset: [1], array: 0 }, + 'scalar', + 'scalar', + 'index', + ], + pre: { body: '{}', args: [], thisVars: [], localVars: [] }, + post: { body: '{}', args: [], thisVars: [], localVars: [] }, + body: { + body: '{\n var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n }\n }', + args: [ + { name: '_inline_1_arg0_', lvalue: !1, rvalue: !0, count: 1 }, + { name: '_inline_1_arg1_', lvalue: !1, rvalue: !0, count: 1 }, + { name: '_inline_1_arg2_', lvalue: !1, rvalue: !0, count: 1 }, + { name: '_inline_1_arg3_', lvalue: !1, rvalue: !0, count: 2 }, + { name: '_inline_1_arg4_', lvalue: !1, rvalue: !0, count: 1 }, + ], + thisVars: [], + localVars: ['_inline_1_da', '_inline_1_db'], + }, + funcName: 'zeroCrossings', + }); + }, + { 'cwise-compiler': 151 }, + ], + 624: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = []; + return (e = +e || 0), n(t.hi(t.shape[0] - 1), r, e), r; + }; + var n = t('./lib/zc-core'); + }, + { './lib/zc-core': 623 }, + ], + 625: [ + function (t, e, r) { + 'use strict'; + e.exports = [ + { path: '', backoff: 0 }, + { path: 'M-2.4,-3V3L0.6,0Z', backoff: 0.6 }, + { path: 'M-3.7,-2.5V2.5L1.3,0Z', backoff: 1.3 }, + { path: 'M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z', backoff: 1.55 }, + { + path: 'M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z', + backoff: 1.6, + }, + { + path: 'M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z', + backoff: 2, + }, + { + path: 'M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z', + backoff: 0, + noRotate: !0, + }, + { path: 'M2,2V-2H-2V2Z', backoff: 0, noRotate: !0 }, + ]; + }, + {}, + ], + 626: [ + function (t, e, r) { + 'use strict'; + var n = t('./arrow_paths'), + i = t('../../plots/font_attributes'), + a = t('../../plots/cartesian/constants'), + o = t('../../plot_api/plot_template').templatedArray; + t('../../constants/axis_placeable_objects'); + e.exports = o('annotation', { + visible: { + valType: 'boolean', + dflt: !0, + editType: 'calc+arraydraw', + }, + text: { valType: 'string', editType: 'calc+arraydraw' }, + textangle: { + valType: 'angle', + dflt: 0, + editType: 'calc+arraydraw', + }, + font: i({ editType: 'calc+arraydraw', colorEditType: 'arraydraw' }), + width: { + valType: 'number', + min: 1, + dflt: null, + editType: 'calc+arraydraw', + }, + height: { + valType: 'number', + min: 1, + dflt: null, + editType: 'calc+arraydraw', + }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'arraydraw', + }, + align: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + dflt: 'center', + editType: 'arraydraw', + }, + valign: { + valType: 'enumerated', + values: ['top', 'middle', 'bottom'], + dflt: 'middle', + editType: 'arraydraw', + }, + bgcolor: { + valType: 'color', + dflt: 'rgba(0,0,0,0)', + editType: 'arraydraw', + }, + bordercolor: { + valType: 'color', + dflt: 'rgba(0,0,0,0)', + editType: 'arraydraw', + }, + borderpad: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'calc+arraydraw', + }, + borderwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'calc+arraydraw', + }, + showarrow: { + valType: 'boolean', + dflt: !0, + editType: 'calc+arraydraw', + }, + arrowcolor: { valType: 'color', editType: 'arraydraw' }, + arrowhead: { + valType: 'integer', + min: 0, + max: n.length, + dflt: 1, + editType: 'arraydraw', + }, + startarrowhead: { + valType: 'integer', + min: 0, + max: n.length, + dflt: 1, + editType: 'arraydraw', + }, + arrowside: { + valType: 'flaglist', + flags: ['end', 'start'], + extras: ['none'], + dflt: 'end', + editType: 'arraydraw', + }, + arrowsize: { + valType: 'number', + min: 0.3, + dflt: 1, + editType: 'calc+arraydraw', + }, + startarrowsize: { + valType: 'number', + min: 0.3, + dflt: 1, + editType: 'calc+arraydraw', + }, + arrowwidth: { + valType: 'number', + min: 0.1, + editType: 'calc+arraydraw', + }, + standoff: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'calc+arraydraw', + }, + startstandoff: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'calc+arraydraw', + }, + ax: { valType: 'any', editType: 'calc+arraydraw' }, + ay: { valType: 'any', editType: 'calc+arraydraw' }, + axref: { + valType: 'enumerated', + dflt: 'pixel', + values: ['pixel', a.idRegex.x.toString()], + editType: 'calc', + }, + ayref: { + valType: 'enumerated', + dflt: 'pixel', + values: ['pixel', a.idRegex.y.toString()], + editType: 'calc', + }, + xref: { + valType: 'enumerated', + values: ['paper', a.idRegex.x.toString()], + editType: 'calc', + }, + x: { valType: 'any', editType: 'calc+arraydraw' }, + xanchor: { + valType: 'enumerated', + values: ['auto', 'left', 'center', 'right'], + dflt: 'auto', + editType: 'calc+arraydraw', + }, + xshift: { valType: 'number', dflt: 0, editType: 'calc+arraydraw' }, + yref: { + valType: 'enumerated', + values: ['paper', a.idRegex.y.toString()], + editType: 'calc', + }, + y: { valType: 'any', editType: 'calc+arraydraw' }, + yanchor: { + valType: 'enumerated', + values: ['auto', 'top', 'middle', 'bottom'], + dflt: 'auto', + editType: 'calc+arraydraw', + }, + yshift: { valType: 'number', dflt: 0, editType: 'calc+arraydraw' }, + clicktoshow: { + valType: 'enumerated', + values: [!1, 'onoff', 'onout'], + dflt: !1, + editType: 'arraydraw', + }, + xclick: { valType: 'any', editType: 'arraydraw' }, + yclick: { valType: 'any', editType: 'arraydraw' }, + hovertext: { valType: 'string', editType: 'arraydraw' }, + hoverlabel: { + bgcolor: { valType: 'color', editType: 'arraydraw' }, + bordercolor: { valType: 'color', editType: 'arraydraw' }, + font: i({ editType: 'arraydraw' }), + editType: 'arraydraw', + }, + captureevents: { valType: 'boolean', editType: 'arraydraw' }, + editType: 'calc', + _deprecated: { ref: { valType: 'string', editType: 'calc' } }, + }); + }, + { + '../../constants/axis_placeable_objects': 746, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/constants': 834, + '../../plots/font_attributes': 856, + './arrow_paths': 625, + }, + ], + 627: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('./draw').draw; + function o(t) { + var e = t._fullLayout; + n.filterVisible(e.annotations).forEach(function (e) { + var r = i.getFromId(t, e.xref), + n = i.getFromId(t, e.yref), + a = i.getRefType(e.xref), + o = i.getRefType(e.yref); + (e._extremes = {}), + 'range' === a && s(e, r), + 'range' === o && s(e, n); + }); + } + function s(t, e) { + var r, + n = e._id, + a = n.charAt(0), + o = t[a], + s = t['a' + a], + l = t[a + 'ref'], + c = t['a' + a + 'ref'], + u = t['_' + a + 'padplus'], + f = t['_' + a + 'padminus'], + h = { x: 1, y: -1 }[a] * t[a + 'shift'], + p = 3 * t.arrowsize * t.arrowwidth || 0, + d = p + h, + g = p - h, + m = 3 * t.startarrowsize * t.arrowwidth || 0, + v = m + h, + y = m - h; + if (c === l) { + var x = i.findExtremes(e, [e.r2c(o)], { + ppadplus: d, + ppadminus: g, + }), + b = i.findExtremes(e, [e.r2c(s)], { + ppadplus: Math.max(u, v), + ppadminus: Math.max(f, y), + }); + r = { min: [x.min[0], b.min[0]], max: [x.max[0], b.max[0]] }; + } else + (v = s ? v + s : v), + (y = s ? y - s : y), + (r = i.findExtremes(e, [e.r2c(o)], { + ppadplus: Math.max(u, d, v), + ppadminus: Math.max(f, g, y), + })); + t._extremes[n] = r; + } + e.exports = function (t) { + var e = t._fullLayout; + if (n.filterVisible(e.annotations).length && t._fullData.length) + return n.syncOrAsync([a, o], t); + }; + }, + { '../../lib': 778, '../../plots/cartesian/axes': 828, './draw': 632 }, + ], + 628: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = t('../../plot_api/plot_template').arrayEditor; + function o(t, e) { + var r, + n, + i, + a, + o, + l, + c, + u = t._fullLayout.annotations, + f = [], + h = [], + p = [], + d = (e || []).length; + for (r = 0; r < u.length; r++) + if ((a = (i = u[r]).clicktoshow)) { + for (n = 0; n < d; n++) + if ( + ((l = (o = e[n]).xaxis), + (c = o.yaxis), + l._id === i.xref && + c._id === i.yref && + l.d2r(o.x) === s(i._xclick, l) && + c.d2r(o.y) === s(i._yclick, c)) + ) { + (i.visible ? ('onout' === a ? h : p) : f).push(r); + break; + } + n === d && i.visible && 'onout' === a && h.push(r); + } + return { on: f, off: h, explicitOff: p }; + } + function s(t, e) { + return 'log' === e.type ? e.l2r(t) : e.d2r(t); + } + e.exports = { + hasClickToShow: function (t, e) { + var r = o(t, e); + return r.on.length > 0 || r.explicitOff.length > 0; + }, + onClick: function (t, e) { + var r, + s, + l = o(t, e), + c = l.on, + u = l.off.concat(l.explicitOff), + f = {}, + h = t._fullLayout.annotations; + if (!c.length && !u.length) return; + for (r = 0; r < c.length; r++) + (s = a(t.layout, 'annotations', h[c[r]])).modifyItem( + 'visible', + !0 + ), + n.extendFlat(f, s.getUpdateObj()); + for (r = 0; r < u.length; r++) + (s = a(t.layout, 'annotations', h[u[r]])).modifyItem( + 'visible', + !1 + ), + n.extendFlat(f, s.getUpdateObj()); + return i.call('update', t, {}, f); + }, + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../registry': 911, + }, + ], + 629: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../color'); + e.exports = function (t, e, r, a) { + a('opacity'); + var o = a('bgcolor'), + s = a('bordercolor'), + l = i.opacity(s); + a('borderpad'); + var c = a('borderwidth'), + u = a('showarrow'); + if ( + (a('text', u ? ' ' : r._dfltTitle.annotation), + a('textangle'), + n.coerceFont(a, 'font', r.font), + a('width'), + a('align'), + a('height') && a('valign'), + u) + ) { + var f, + h, + p = a('arrowside'); + -1 !== p.indexOf('end') && + ((f = a('arrowhead')), (h = a('arrowsize'))), + -1 !== p.indexOf('start') && + (a('startarrowhead', f), a('startarrowsize', h)), + a('arrowcolor', l ? e.bordercolor : i.defaultLine), + a('arrowwidth', 2 * ((l && c) || 1)), + a('standoff'), + a('startstandoff'); + } + var d = a('hovertext'), + g = r.hoverlabel || {}; + if (d) { + var m = a( + 'hoverlabel.bgcolor', + g.bgcolor || (i.opacity(o) ? i.rgb(o) : i.defaultLine) + ), + v = a('hoverlabel.bordercolor', g.bordercolor || i.contrast(m)); + n.coerceFont(a, 'hoverlabel.font', { + family: g.font.family, + size: g.font.size, + color: g.font.color || v, + }); + } + a('captureevents', !!d); + }; + }, + { '../../lib': 778, '../color': 643 }, + ], + 630: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib/to_log_range'); + e.exports = function (t, e, r, a) { + e = e || {}; + var o = 'log' === r && 'linear' === e.type, + s = 'linear' === r && 'log' === e.type; + if (o || s) + for ( + var l, + c, + u = t._fullLayout.annotations, + f = e._id.charAt(0), + h = 0; + h < u.length; + h++ + ) + (l = u[h]), + (c = 'annotations[' + h + '].'), + l[f + 'ref'] === e._id && p(f), + l['a' + f + 'ref'] === e._id && p('a' + f); + function p(t) { + var r = l[t], + s = null; + (s = o ? i(r, e.range) : Math.pow(10, r)), + n(s) || (s = null), + a(c + t, s); + } + }; + }, + { '../../lib/to_log_range': 805, 'fast-isnumeric': 241 }, + ], + 631: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/array_container_defaults'), + o = t('./common_defaults'), + s = t('./attributes'); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, s, r, i); + } + var l = a('visible'), + c = a('clicktoshow'); + if (l || c) { + o(t, e, r, a); + for ( + var u = e.showarrow, + f = ['x', 'y'], + h = [-10, -30], + p = { _fullLayout: r }, + d = 0; + d < 2; + d++ + ) { + var g = f[d], + m = i.coerceRef(t, e, p, g, '', 'paper'); + if ('paper' !== m) i.getFromId(p, m)._annIndices.push(e._index); + if ((i.coercePosition(e, p, a, m, g, 0.5), u)) { + var v = 'a' + g, + y = i.coerceRef(t, e, p, v, 'pixel', ['pixel', 'paper']); + 'pixel' !== y && y !== m && (y = e[v] = 'pixel'); + var x = 'pixel' === y ? h[d] : 0.4; + i.coercePosition(e, p, a, y, v, x); + } + a(g + 'anchor'), a(g + 'shift'); + } + if ( + (n.noneOrAll(t, e, ['x', 'y']), + u && n.noneOrAll(t, e, ['ax', 'ay']), + c) + ) { + var b = a('xclick'), + _ = a('yclick'); + (e._xclick = + void 0 === b ? e.x : i.cleanPosition(b, p, e.xref)), + (e._yclick = + void 0 === _ ? e.y : i.cleanPosition(_, p, e.yref)); + } + } + } + e.exports = function (t, e) { + a(t, e, { name: 'annotations', handleItemDefaults: l }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/axes': 828, + './attributes': 626, + './common_defaults': 629, + }, + ], + 632: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../plots/plots'), + o = t('../../lib'), + s = o.strTranslate, + l = t('../../plots/cartesian/axes'), + c = t('../color'), + u = t('../drawing'), + f = t('../fx'), + h = t('../../lib/svg_text_utils'), + p = t('../../lib/setcursor'), + d = t('../dragelement'), + g = t('../../plot_api/plot_template').arrayEditor, + m = t('./draw_arrow_head'); + function v(t, e) { + var r = t._fullLayout.annotations[e] || {}, + n = l.getFromId(t, r.xref), + i = l.getFromId(t, r.yref); + n && n.setScale(), i && i.setScale(), x(t, r, e, !1, n, i); + } + function y(t, e, r, n, i) { + var a = i[r], + o = i[r + 'ref'], + s = -1 !== r.indexOf('y'), + c = 'domain' === l.getRefType(o), + u = s ? n.h : n.w; + return t + ? c + ? a + (s ? -e : e) / t._length + : t.p2r(t.r2p(a) + e) + : a + (s ? -e : e) / u; + } + function x(t, e, r, a, v, x) { + var b, + _, + w = t._fullLayout, + T = t._fullLayout._size, + k = t._context.edits; + a + ? ((b = 'annotation-' + a), (_ = a + '.annotations')) + : ((b = 'annotation'), (_ = 'annotations')); + var M = g(t.layout, _, e), + A = M.modifyBase, + S = M.modifyItem, + E = M.getUpdateObj; + w._infolayer + .selectAll('.' + b + '[data-index="' + r + '"]') + .remove(); + var C = 'clip' + w._uid + '_ann' + r; + if (e._input && !1 !== e.visible) { + var L = { x: {}, y: {} }, + I = +e.textangle || 0, + P = w._infolayer + .append('g') + .classed(b, !0) + .attr('data-index', String(r)) + .style('opacity', e.opacity), + z = P.append('g').classed('annotation-text-g', !0), + O = k[e.showarrow ? 'annotationTail' : 'annotationPosition'], + D = e.captureevents || k.annotationText || O, + R = z + .append('g') + .style('pointer-events', D ? 'all' : null) + .call(p, 'pointer') + .on('click', function () { + (t._dragging = !1), + t.emit('plotly_clickannotation', Y(n.event)); + }); + e.hovertext && + R.on('mouseover', function () { + var r = e.hoverlabel, + n = r.font, + i = this.getBoundingClientRect(), + a = t.getBoundingClientRect(); + f.loneHover( + { + x0: i.left - a.left, + x1: i.right - a.left, + y: (i.top + i.bottom) / 2 - a.top, + text: e.hovertext, + color: r.bgcolor, + borderColor: r.bordercolor, + fontFamily: n.family, + fontSize: n.size, + fontColor: n.color, + }, + { + container: w._hoverlayer.node(), + outerContainer: w._paper.node(), + gd: t, + } + ); + }).on('mouseout', function () { + f.loneUnhover(w._hoverlayer.node()); + }); + var F = e.borderwidth, + B = e.borderpad, + N = F + B, + j = R.append('rect') + .attr('class', 'bg') + .style('stroke-width', F + 'px') + .call(c.stroke, e.bordercolor) + .call(c.fill, e.bgcolor), + U = e.width || e.height, + V = w._topclips.selectAll('#' + C).data(U ? [0] : []); + V.enter() + .append('clipPath') + .classed('annclip', !0) + .attr('id', C) + .append('rect'), + V.exit().remove(); + var q = e.font, + H = w._meta ? o.templateString(e.text, w._meta) : e.text, + G = R.append('text').classed('annotation-text', !0).text(H); + k.annotationText + ? G.call(h.makeEditable, { delegate: R, gd: t }) + .call(W) + .on('edit', function (r) { + (e.text = r), + this.call(W), + S('text', r), + v && v.autorange && A(v._name + '.autorange', !0), + x && x.autorange && A(x._name + '.autorange', !0), + i.call('_guiRelayout', t, E()); + }) + : G.call(W); + } else n.selectAll('#' + C).remove(); + function Y(t) { + var n = { + index: r, + annotation: e._input, + fullAnnotation: e, + event: t, + }; + return a && (n.subplotId = a), n; + } + function W(r) { + return ( + r + .call(u.font, q) + .attr({ + 'text-anchor': + { left: 'start', right: 'end' }[e.align] || 'middle', + }), + h.convertToTspans(r, t, X), + r + ); + } + function X() { + var r = G.selectAll('a'); + 1 === r.size() && + r.text() === G.text() && + R.insert('a', ':first-child') + .attr({ + 'xlink:xlink:href': r.attr('xlink:href'), + 'xlink:xlink:show': r.attr('xlink:show'), + }) + .style({ cursor: 'pointer' }) + .node() + .appendChild(j.node()); + var n = R.select('.annotation-text-math-group'), + f = !n.empty(), + g = u.bBox((f ? n : G).node()), + b = g.width, + _ = g.height, + M = e.width || b, + D = e.height || _, + B = Math.round(M + 2 * N), + q = Math.round(D + 2 * N); + function H(t, e) { + return ( + 'auto' === e && + (e = t < 1 / 3 ? 'left' : t > 2 / 3 ? 'right' : 'center'), + { + center: 0, + middle: 0, + left: 0.5, + bottom: -0.5, + right: -0.5, + top: 0.5, + }[e] + ); + } + for (var W = !1, X = ['x', 'y'], Z = 0; Z < X.length; Z++) { + var J, + K, + Q, + $, + tt, + et = X[Z], + rt = e[et + 'ref'] || et, + nt = e['a' + et + 'ref'], + it = { x: v, y: x }[et], + at = ((I + ('x' === et ? 0 : -90)) * Math.PI) / 180, + ot = B * Math.cos(at), + st = q * Math.sin(at), + lt = Math.abs(ot) + Math.abs(st), + ct = e[et + 'anchor'], + ut = e[et + 'shift'] * ('x' === et ? 1 : -1), + ft = L[et], + ht = l.getRefType(rt); + if (it && 'domain' !== ht) { + var pt = it.r2fraction(e[et]); + (pt < 0 || pt > 1) && + (nt === rt + ? ((pt = it.r2fraction(e['a' + et])) < 0 || pt > 1) && + (W = !0) + : (W = !0)), + (J = it._offset + it.r2p(e[et])), + ($ = 0.5); + } else { + var dt = 'domain' === ht; + 'x' === et + ? ((Q = e[et]), + (J = dt + ? it._offset + it._length * Q + : (J = T.l + T.w * Q))) + : ((Q = 1 - e[et]), + (J = dt + ? it._offset + it._length * Q + : (J = T.t + T.h * Q))), + ($ = e.showarrow ? 0.5 : Q); + } + if (e.showarrow) { + ft.head = J; + var gt = e['a' + et]; + if ( + ((tt = ot * H(0.5, e.xanchor) - st * H(0.5, e.yanchor)), + nt === rt) + ) { + var mt = l.getRefType(nt); + 'domain' === mt + ? ('y' === et && (gt = 1 - gt), + (ft.tail = it._offset + it._length * gt)) + : 'paper' === mt + ? 'y' === et + ? ((gt = 1 - gt), (ft.tail = T.t + T.h * gt)) + : (ft.tail = T.l + T.w * gt) + : (ft.tail = it._offset + it.r2p(gt)), + (K = tt); + } else (ft.tail = J + gt), (K = tt + gt); + ft.text = ft.tail + tt; + var vt = w['x' === et ? 'width' : 'height']; + if ( + ('paper' === rt && + (ft.head = o.constrain(ft.head, 1, vt - 1)), + 'pixel' === nt) + ) { + var yt = -Math.max(ft.tail - 3, ft.text), + xt = Math.min(ft.tail + 3, ft.text) - vt; + yt > 0 + ? ((ft.tail += yt), (ft.text += yt)) + : xt > 0 && ((ft.tail -= xt), (ft.text -= xt)); + } + (ft.tail += ut), (ft.head += ut); + } else (K = tt = lt * H($, ct)), (ft.text = J + tt); + (ft.text += ut), + (tt += ut), + (K += ut), + (e['_' + et + 'padplus'] = lt / 2 + K), + (e['_' + et + 'padminus'] = lt / 2 - K), + (e['_' + et + 'size'] = lt), + (e['_' + et + 'shift'] = tt); + } + if (W) R.remove(); + else { + var bt = 0, + _t = 0; + if ( + ('left' !== e.align && + (bt = (M - b) * ('center' === e.align ? 0.5 : 1)), + 'top' !== e.valign && + (_t = (D - _) * ('middle' === e.valign ? 0.5 : 1)), + f) + ) + n.select('svg') + .attr({ x: N + bt - 1, y: N + _t }) + .call(u.setClipUrl, U ? C : null, t); + else { + var wt = N + _t - g.top, + Tt = N + bt - g.left; + G.call(h.positionText, Tt, wt).call( + u.setClipUrl, + U ? C : null, + t + ); + } + V.select('rect').call(u.setRect, N, N, M, D), + j.call(u.setRect, F / 2, F / 2, B - F, q - F), + R.call( + u.setTranslate, + Math.round(L.x.text - B / 2), + Math.round(L.y.text - q / 2) + ), + z.attr({ + transform: + 'rotate(' + I + ',' + L.x.text + ',' + L.y.text + ')', + }); + var kt, + Mt = function (r, n) { + P.selectAll('.annotation-arrow-g').remove(); + var l = L.x.head, + f = L.y.head, + h = L.x.tail + r, + p = L.y.tail + n, + g = L.x.text + r, + b = L.y.text + n, + _ = o.rotationXYMatrix(I, g, b), + w = o.apply2DTransform(_), + M = o.apply2DTransform2(_), + C = +j.attr('width'), + O = +j.attr('height'), + D = g - 0.5 * C, + F = D + C, + B = b - 0.5 * O, + N = B + O, + U = [ + [D, B, D, N], + [D, N, F, N], + [F, N, F, B], + [F, B, D, B], + ].map(M); + if ( + !U.reduce(function (t, e) { + return ( + t ^ + !!o.segmentsIntersect( + l, + f, + l + 1e6, + f + 1e6, + e[0], + e[1], + e[2], + e[3] + ) + ); + }, !1) + ) { + U.forEach(function (t) { + var e = o.segmentsIntersect( + h, + p, + l, + f, + t[0], + t[1], + t[2], + t[3] + ); + e && ((h = e.x), (p = e.y)); + }); + var V = e.arrowwidth, + q = e.arrowcolor, + H = e.arrowside, + G = P.append('g') + .style({ opacity: c.opacity(q) }) + .classed('annotation-arrow-g', !0), + Y = G.append('path') + .attr('d', 'M' + h + ',' + p + 'L' + l + ',' + f) + .style('stroke-width', V + 'px') + .call(c.stroke, c.rgb(q)); + if ( + (m(Y, H, e), + k.annotationPosition && Y.node().parentNode && !a) + ) { + var W = l, + X = f; + if (e.standoff) { + var Z = Math.sqrt( + Math.pow(l - h, 2) + Math.pow(f - p, 2) + ); + (W += (e.standoff * (h - l)) / Z), + (X += (e.standoff * (p - f)) / Z); + } + var J, + K, + Q = G.append('path') + .classed('annotation-arrow', !0) + .classed('anndrag', !0) + .classed('cursor-move', !0) + .attr({ + d: 'M3,3H-3V-3H3ZM0,0L' + (h - W) + ',' + (p - X), + transform: s(W, X), + }) + .style('stroke-width', V + 6 + 'px') + .call(c.stroke, 'rgba(0,0,0,0)') + .call(c.fill, 'rgba(0,0,0,0)'); + d.init({ + element: Q.node(), + gd: t, + prepFn: function () { + var t = u.getTranslate(R); + (J = t.x), + (K = t.y), + v && v.autorange && A(v._name + '.autorange', !0), + x && x.autorange && A(x._name + '.autorange', !0); + }, + moveFn: function (t, r) { + var n = w(J, K), + i = n[0] + t, + a = n[1] + r; + R.call(u.setTranslate, i, a), + S('x', y(v, t, 'x', T, e)), + S('y', y(x, r, 'y', T, e)), + e.axref === e.xref && + S('ax', y(v, t, 'ax', T, e)), + e.ayref === e.yref && + S('ay', y(x, r, 'ay', T, e)), + G.attr('transform', s(t, r)), + z.attr({ + transform: + 'rotate(' + I + ',' + i + ',' + a + ')', + }); + }, + doneFn: function () { + i.call('_guiRelayout', t, E()); + var e = document.querySelector( + '.js-notes-box-panel' + ); + e && e.redraw(e.selectedObj); + }, + }); + } + } + }; + if ((e.showarrow && Mt(0, 0), O)) + d.init({ + element: R.node(), + gd: t, + prepFn: function () { + kt = z.attr('transform'); + }, + moveFn: function (t, r) { + var n = 'pointer'; + if (e.showarrow) + e.axref === e.xref + ? S('ax', y(v, t, 'ax', T, e)) + : S('ax', e.ax + t), + e.ayref === e.yref + ? S('ay', y(x, r, 'ay', T.w, e)) + : S('ay', e.ay + r), + Mt(t, r); + else { + if (a) return; + var i, o; + if (v) i = y(v, t, 'x', T, e); + else { + var l = e._xsize / T.w, + c = e.x + (e._xshift - e.xshift) / T.w - l / 2; + i = d.align(c + t / T.w, l, 0, 1, e.xanchor); + } + if (x) o = y(x, r, 'y', T, e); + else { + var u = e._ysize / T.h, + f = e.y - (e._yshift + e.yshift) / T.h - u / 2; + o = d.align(f - r / T.h, u, 0, 1, e.yanchor); + } + S('x', i), + S('y', o), + (v && x) || + (n = d.getCursor( + v ? 0.5 : i, + x ? 0.5 : o, + e.xanchor, + e.yanchor + )); + } + z.attr({ transform: s(t, r) + kt }), p(R, n); + }, + clickFn: function (r, n) { + e.captureevents && t.emit('plotly_clickannotation', Y(n)); + }, + doneFn: function () { + p(R), i.call('_guiRelayout', t, E()); + var e = document.querySelector('.js-notes-box-panel'); + e && e.redraw(e.selectedObj); + }, + }); + } + } + } + e.exports = { + draw: function (t) { + var e = t._fullLayout; + e._infolayer.selectAll('.annotation').remove(); + for (var r = 0; r < e.annotations.length; r++) + e.annotations[r].visible && v(t, r); + return a.previousPromises(t); + }, + drawOne: v, + drawRaw: x, + }; + }, + { + '../../lib': 778, + '../../lib/setcursor': 799, + '../../lib/svg_text_utils': 803, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/axes': 828, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../dragelement': 662, + '../drawing': 665, + '../fx': 683, + './draw_arrow_head': 633, + d3: 169, + }, + ], + 633: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../color'), + a = t('./arrow_paths'), + o = t('../../lib'), + s = o.strScale, + l = o.strRotate, + c = o.strTranslate; + e.exports = function (t, e, r) { + var o, + u, + f, + h, + p = t.node(), + d = a[r.arrowhead || 0], + g = a[r.startarrowhead || 0], + m = (r.arrowwidth || 1) * (r.arrowsize || 1), + v = (r.arrowwidth || 1) * (r.startarrowsize || 1), + y = e.indexOf('start') >= 0, + x = e.indexOf('end') >= 0, + b = d.backoff * m + r.standoff, + _ = g.backoff * v + r.startstandoff; + if ('line' === p.nodeName) { + (o = { x: +t.attr('x1'), y: +t.attr('y1') }), + (u = { x: +t.attr('x2'), y: +t.attr('y2') }); + var w = o.x - u.x, + T = o.y - u.y; + if ( + ((h = (f = Math.atan2(T, w)) + Math.PI), + b && _ && b + _ > Math.sqrt(w * w + T * T)) + ) + return void O(); + if (b) { + if (b * b > w * w + T * T) return void O(); + var k = b * Math.cos(f), + M = b * Math.sin(f); + (u.x += k), (u.y += M), t.attr({ x2: u.x, y2: u.y }); + } + if (_) { + if (_ * _ > w * w + T * T) return void O(); + var A = _ * Math.cos(f), + S = _ * Math.sin(f); + (o.x -= A), (o.y -= S), t.attr({ x1: o.x, y1: o.y }); + } + } else if ('path' === p.nodeName) { + var E = p.getTotalLength(), + C = ''; + if (E < b + _) return void O(); + var L = p.getPointAtLength(0), + I = p.getPointAtLength(0.1); + (f = Math.atan2(L.y - I.y, L.x - I.x)), + (o = p.getPointAtLength(Math.min(_, E))), + (C = '0px,' + _ + 'px,'); + var P = p.getPointAtLength(E), + z = p.getPointAtLength(E - 0.1); + (h = Math.atan2(P.y - z.y, P.x - z.x)), + (u = p.getPointAtLength(Math.max(0, E - b))), + (C += E - (C ? _ + b : b) + 'px,' + E + 'px'), + t.style('stroke-dasharray', C); + } + function O() { + t.style('stroke-dasharray', '0px,100px'); + } + function D(e, a, o, u) { + e.path && + (e.noRotate && (o = 0), + n + .select(p.parentNode) + .append('path') + .attr({ + class: t.attr('class'), + d: e.path, + transform: c(a.x, a.y) + l((180 * o) / Math.PI) + s(u), + }) + .style({ fill: i.rgb(r.arrowcolor), 'stroke-width': 0 })); + } + y && D(g, o, f, v), x && D(d, u, h, m); + }; + }, + { '../../lib': 778, '../color': 643, './arrow_paths': 625, d3: 169 }, + ], + 634: [ + function (t, e, r) { + 'use strict'; + var n = t('./draw'), + i = t('./click'); + e.exports = { + moduleType: 'component', + name: 'annotations', + layoutAttributes: t('./attributes'), + supplyLayoutDefaults: t('./defaults'), + includeBasePlot: t('../../plots/cartesian/include_components')( + 'annotations' + ), + calcAutorange: t('./calc_autorange'), + draw: n.draw, + drawOne: n.drawOne, + drawRaw: n.drawRaw, + hasClickToShow: i.hasClickToShow, + onClick: i.onClick, + convertCoords: t('./convert_coords'), + }; + }, + { + '../../plots/cartesian/include_components': 840, + './attributes': 626, + './calc_autorange': 627, + './click': 628, + './convert_coords': 630, + './defaults': 631, + './draw': 632, + }, + ], + 635: [ + function (t, e, r) { + 'use strict'; + var n = t('../annotations/attributes'), + i = t('../../plot_api/edit_types').overrideAll, + a = t('../../plot_api/plot_template').templatedArray; + e.exports = i( + a('annotation', { + visible: n.visible, + x: { valType: 'any' }, + y: { valType: 'any' }, + z: { valType: 'any' }, + ax: { valType: 'number' }, + ay: { valType: 'number' }, + xanchor: n.xanchor, + xshift: n.xshift, + yanchor: n.yanchor, + yshift: n.yshift, + text: n.text, + textangle: n.textangle, + font: n.font, + width: n.width, + height: n.height, + opacity: n.opacity, + align: n.align, + valign: n.valign, + bgcolor: n.bgcolor, + bordercolor: n.bordercolor, + borderpad: n.borderpad, + borderwidth: n.borderwidth, + showarrow: n.showarrow, + arrowcolor: n.arrowcolor, + arrowhead: n.arrowhead, + startarrowhead: n.startarrowhead, + arrowside: n.arrowside, + arrowsize: n.arrowsize, + startarrowsize: n.startarrowsize, + arrowwidth: n.arrowwidth, + standoff: n.standoff, + startstandoff: n.startstandoff, + hovertext: n.hovertext, + hoverlabel: n.hoverlabel, + captureevents: n.captureevents, + }), + 'calc', + 'from-root' + ); + }, + { + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../annotations/attributes': 626, + }, + ], + 636: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'); + function a(t, e) { + var r = e.fullSceneLayout.domain, + a = e.fullLayout._size, + o = { + pdata: null, + type: 'linear', + autorange: !1, + range: [-1 / 0, 1 / 0], + }; + (t._xa = {}), + n.extendFlat(t._xa, o), + i.setConvert(t._xa), + (t._xa._offset = a.l + r.x[0] * a.w), + (t._xa.l2p = function () { + return ( + 0.5 * + (1 + t._pdata[0] / t._pdata[3]) * + a.w * + (r.x[1] - r.x[0]) + ); + }), + (t._ya = {}), + n.extendFlat(t._ya, o), + i.setConvert(t._ya), + (t._ya._offset = a.t + (1 - r.y[1]) * a.h), + (t._ya.l2p = function () { + return ( + 0.5 * + (1 - t._pdata[1] / t._pdata[3]) * + a.h * + (r.y[1] - r.y[0]) + ); + }); + } + e.exports = function (t) { + for ( + var e = t.fullSceneLayout.annotations, r = 0; + r < e.length; + r++ + ) + a(e[r], t); + t.fullLayout._infolayer.selectAll('.annotation-' + t.id).remove(); + }; + }, + { '../../lib': 778, '../../plots/cartesian/axes': 828 }, + ], + 637: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/array_container_defaults'), + o = t('../annotations/common_defaults'), + s = t('./attributes'); + function l(t, e, r, a) { + function l(r, i) { + return n.coerce(t, e, s, r, i); + } + function c(t) { + var n = t + 'axis', + a = { _fullLayout: {} }; + return ( + (a._fullLayout[n] = r[n]), i.coercePosition(e, a, l, t, t, 0.5) + ); + } + l('visible') && + (o(t, e, a.fullLayout, l), + c('x'), + c('y'), + c('z'), + n.noneOrAll(t, e, ['x', 'y', 'z']), + (e.xref = 'x'), + (e.yref = 'y'), + (e.zref = 'z'), + l('xanchor'), + l('yanchor'), + l('xshift'), + l('yshift'), + e.showarrow && + ((e.axref = 'pixel'), + (e.ayref = 'pixel'), + l('ax', -10), + l('ay', -30), + n.noneOrAll(t, e, ['ax', 'ay']))); + } + e.exports = function (t, e, r) { + a(t, e, { + name: 'annotations', + handleItemDefaults: l, + fullLayout: r.fullLayout, + }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/axes': 828, + '../annotations/common_defaults': 629, + './attributes': 635, + }, + ], + 638: [ + function (t, e, r) { + 'use strict'; + var n = t('../annotations/draw').drawRaw, + i = t('../../plots/gl3d/project'), + a = ['x', 'y', 'z']; + e.exports = function (t) { + for ( + var e = t.fullSceneLayout, + r = t.dataScale, + o = e.annotations, + s = 0; + s < o.length; + s++ + ) { + for (var l = o[s], c = !1, u = 0; u < 3; u++) { + var f = a[u], + h = l[f], + p = e[f + 'axis'].r2fraction(h); + if (p < 0 || p > 1) { + c = !0; + break; + } + } + c + ? t.fullLayout._infolayer + .select('.annotation-' + t.id + '[data-index="' + s + '"]') + .remove() + : ((l._pdata = i(t.glplot.cameraParams, [ + e.xaxis.r2l(l.x) * r[0], + e.yaxis.r2l(l.y) * r[1], + e.zaxis.r2l(l.z) * r[2], + ])), + n(t.graphDiv, l, s, t.id, l._xa, l._ya)); + } + }; + }, + { '../../plots/gl3d/project': 879, '../annotations/draw': 632 }, + ], + 639: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'); + e.exports = { + moduleType: 'component', + name: 'annotations3d', + schema: { subplots: { scene: { annotations: t('./attributes') } } }, + layoutAttributes: t('./attributes'), + handleDefaults: t('./defaults'), + includeBasePlot: function (t, e) { + var r = n.subplotsRegistry.gl3d; + if (!r) return; + for ( + var a = r.attrRegex, o = Object.keys(t), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + a.test(l) && + (t[l].annotations || []).length && + (i.pushUnique(e._basePlotModules, r), + i.pushUnique(e._subplots.gl3d, l)); + } + }, + convert: t('./convert'), + draw: t('./draw'), + }; + }, + { + '../../lib': 778, + '../../registry': 911, + './attributes': 635, + './convert': 636, + './defaults': 637, + './draw': 638, + }, + ], + 640: [ + function (t, e, r) { + 'use strict'; + (e.exports = t('world-calendars/dist/main')), + t('world-calendars/dist/plus'), + t('world-calendars/dist/calendars/chinese'), + t('world-calendars/dist/calendars/coptic'), + t('world-calendars/dist/calendars/discworld'), + t('world-calendars/dist/calendars/ethiopian'), + t('world-calendars/dist/calendars/hebrew'), + t('world-calendars/dist/calendars/islamic'), + t('world-calendars/dist/calendars/julian'), + t('world-calendars/dist/calendars/mayan'), + t('world-calendars/dist/calendars/nanakshahi'), + t('world-calendars/dist/calendars/nepali'), + t('world-calendars/dist/calendars/persian'), + t('world-calendars/dist/calendars/taiwan'), + t('world-calendars/dist/calendars/thai'), + t('world-calendars/dist/calendars/ummalqura'); + }, + { + 'world-calendars/dist/calendars/chinese': 607, + 'world-calendars/dist/calendars/coptic': 608, + 'world-calendars/dist/calendars/discworld': 609, + 'world-calendars/dist/calendars/ethiopian': 610, + 'world-calendars/dist/calendars/hebrew': 611, + 'world-calendars/dist/calendars/islamic': 612, + 'world-calendars/dist/calendars/julian': 613, + 'world-calendars/dist/calendars/mayan': 614, + 'world-calendars/dist/calendars/nanakshahi': 615, + 'world-calendars/dist/calendars/nepali': 616, + 'world-calendars/dist/calendars/persian': 617, + 'world-calendars/dist/calendars/taiwan': 618, + 'world-calendars/dist/calendars/thai': 619, + 'world-calendars/dist/calendars/ummalqura': 620, + 'world-calendars/dist/main': 621, + 'world-calendars/dist/plus': 622, + }, + ], + 641: [ + function (t, e, r) { + 'use strict'; + var n = t('./calendars'), + i = t('../../lib'), + a = t('../../constants/numerical'), + o = a.EPOCHJD, + s = a.ONEDAY, + l = { + valType: 'enumerated', + values: Object.keys(n.calendars), + editType: 'calc', + dflt: 'gregorian', + }, + c = function (t, e, r, n) { + var a = {}; + return (a[r] = l), i.coerce(t, e, a, r, n); + }, + u = { + d: { 0: 'dd', '-': 'd' }, + e: { 0: 'd', '-': 'd' }, + a: { 0: 'D', '-': 'D' }, + A: { 0: 'DD', '-': 'DD' }, + j: { 0: 'oo', '-': 'o' }, + W: { 0: 'ww', '-': 'w' }, + m: { 0: 'mm', '-': 'm' }, + b: { 0: 'M', '-': 'M' }, + B: { 0: 'MM', '-': 'MM' }, + y: { 0: 'yy', '-': 'yy' }, + Y: { 0: 'yyyy', '-': 'yyyy' }, + U: '##', + w: '##', + c: { 0: 'D M d %X yyyy', '-': 'D M d %X yyyy' }, + x: { 0: 'mm/dd/yyyy', '-': 'mm/dd/yyyy' }, + }; + var f = {}; + function h(t) { + var e = f[t]; + return e || (e = f[t] = n.instance(t)); + } + function p(t) { + return i.extendFlat({}, l, { description: t }); + } + function d(t) { + return ( + 'Sets the calendar system to use with `' + t + '` date data.' + ); + } + var g = { xcalendar: p(d('x')) }, + m = i.extendFlat({}, g, { ycalendar: p(d('y')) }), + v = i.extendFlat({}, m, { zcalendar: p(d('z')) }), + y = p( + [ + 'Sets the calendar system to use for `range` and `tick0`', + 'if this is a date axis. This does not set the calendar for', + "interpreting data on this axis, that's specified in the trace", + 'or via the global `layout.calendar`', + ].join(' ') + ); + e.exports = { + moduleType: 'component', + name: 'calendars', + schema: { + traces: { + scatter: m, + bar: m, + box: m, + heatmap: m, + contour: m, + histogram: m, + histogram2d: m, + histogram2dcontour: m, + scatter3d: v, + surface: v, + mesh3d: v, + scattergl: m, + ohlc: g, + candlestick: g, + }, + layout: { + calendar: p( + [ + 'Sets the default calendar system to use for interpreting and', + 'displaying dates throughout the plot.', + ].join(' ') + ), + }, + subplots: { + xaxis: { calendar: y }, + yaxis: { calendar: y }, + scene: { + xaxis: { calendar: y }, + yaxis: { calendar: y }, + zaxis: { calendar: y }, + }, + polar: { radialaxis: { calendar: y } }, + }, + transforms: { + filter: { + valuecalendar: p( + [ + 'Sets the calendar system to use for `value`, if it is a date.', + ].join(' ') + ), + targetcalendar: p( + [ + 'Sets the calendar system to use for `target`, if it is an', + 'array of dates. If `target` is a string (eg *x*) we use the', + 'corresponding trace attribute (eg `xcalendar`) if it exists,', + 'even if `targetcalendar` is provided.', + ].join(' ') + ), + }, + }, + }, + layoutAttributes: l, + handleDefaults: c, + handleTraceDefaults: function (t, e, r, n) { + for (var i = 0; i < r.length; i++) + c(t, e, r[i] + 'calendar', n.calendar); + }, + CANONICAL_SUNDAY: { + chinese: '2000-01-02', + coptic: '2000-01-03', + discworld: '2000-01-03', + ethiopian: '2000-01-05', + hebrew: '5000-01-01', + islamic: '1000-01-02', + julian: '2000-01-03', + mayan: '5000-01-01', + nanakshahi: '1000-01-05', + nepali: '2000-01-05', + persian: '1000-01-01', + jalali: '1000-01-01', + taiwan: '1000-01-04', + thai: '2000-01-04', + ummalqura: '1400-01-06', + }, + CANONICAL_TICK: { + chinese: '2000-01-01', + coptic: '2000-01-01', + discworld: '2000-01-01', + ethiopian: '2000-01-01', + hebrew: '5000-01-01', + islamic: '1000-01-01', + julian: '2000-01-01', + mayan: '5000-01-01', + nanakshahi: '1000-01-01', + nepali: '2000-01-01', + persian: '1000-01-01', + jalali: '1000-01-01', + taiwan: '1000-01-01', + thai: '2000-01-01', + ummalqura: '1400-01-01', + }, + DFLTRANGE: { + chinese: ['2000-01-01', '2001-01-01'], + coptic: ['1700-01-01', '1701-01-01'], + discworld: ['1800-01-01', '1801-01-01'], + ethiopian: ['2000-01-01', '2001-01-01'], + hebrew: ['5700-01-01', '5701-01-01'], + islamic: ['1400-01-01', '1401-01-01'], + julian: ['2000-01-01', '2001-01-01'], + mayan: ['5200-01-01', '5201-01-01'], + nanakshahi: ['0500-01-01', '0501-01-01'], + nepali: ['2000-01-01', '2001-01-01'], + persian: ['1400-01-01', '1401-01-01'], + jalali: ['1400-01-01', '1401-01-01'], + taiwan: ['0100-01-01', '0101-01-01'], + thai: ['2500-01-01', '2501-01-01'], + ummalqura: ['1400-01-01', '1401-01-01'], + }, + getCal: h, + worldCalFmt: function (t, e, r) { + for ( + var n, + i, + a, + l, + c, + f = Math.floor((e + 0.05) / s) + o, + p = h(r).fromJD(f), + d = 0; + -1 !== (d = t.indexOf('%', d)); + + ) + '0' === (n = t.charAt(d + 1)) || '-' === n || '_' === n + ? ((a = 3), (i = t.charAt(d + 2)), '_' === n && (n = '-')) + : ((i = n), (n = '0'), (a = 2)), + (l = u[i]) + ? ((c = '##' === l ? '##' : p.formatDate(l[n])), + (t = t.substr(0, d) + c + t.substr(d + a)), + (d += c.length)) + : (d += a); + return t; + }, + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + './calendars': 640, + }, + ], + 642: [ + function (t, e, r) { + 'use strict'; + (r.defaults = [ + '#1f77b4', + '#ff7f0e', + '#2ca02c', + '#d62728', + '#9467bd', + '#8c564b', + '#e377c2', + '#7f7f7f', + '#bcbd22', + '#17becf', + ]), + (r.defaultLine = '#444'), + (r.lightLine = '#eee'), + (r.background = '#fff'), + (r.borderLine = '#BEC8D9'), + (r.lightFraction = 1e3 / 11); + }, + {}, + ], + 643: [ + function (t, e, r) { + 'use strict'; + var n = t('tinycolor2'), + i = t('fast-isnumeric'), + a = (e.exports = {}), + o = t('./attributes'); + a.defaults = o.defaults; + var s = (a.defaultLine = o.defaultLine); + a.lightLine = o.lightLine; + var l = (a.background = o.background); + function c(t) { + if (i(t) || 'string' != typeof t) return t; + var e = t.trim(); + if ('rgb' !== e.substr(0, 3)) return t; + var r = e.match(/^rgba?\s*\(([^()]*)\)$/); + if (!r) return t; + var n = r[1].trim().split(/\s*[\s,]\s*/), + a = 'a' === e.charAt(3) && 4 === n.length; + if (!a && 3 !== n.length) return t; + for (var o = 0; o < n.length; o++) { + if (!n[o].length) return t; + if (((n[o] = Number(n[o])), !(n[o] >= 0))) return t; + if (3 === o) n[o] > 1 && (n[o] = 1); + else if (n[o] >= 1) return t; + } + var s = + Math.round(255 * n[0]) + + ', ' + + Math.round(255 * n[1]) + + ', ' + + Math.round(255 * n[2]); + return a ? 'rgba(' + s + ', ' + n[3] + ')' : 'rgb(' + s + ')'; + } + (a.tinyRGB = function (t) { + var e = t.toRgb(); + return ( + 'rgb(' + + Math.round(e.r) + + ', ' + + Math.round(e.g) + + ', ' + + Math.round(e.b) + + ')' + ); + }), + (a.rgb = function (t) { + return a.tinyRGB(n(t)); + }), + (a.opacity = function (t) { + return t ? n(t).getAlpha() : 0; + }), + (a.addOpacity = function (t, e) { + var r = n(t).toRgb(); + return ( + 'rgba(' + + Math.round(r.r) + + ', ' + + Math.round(r.g) + + ', ' + + Math.round(r.b) + + ', ' + + e + + ')' + ); + }), + (a.combine = function (t, e) { + var r = n(t).toRgb(); + if (1 === r.a) return n(t).toRgbString(); + var i = n(e || l).toRgb(), + a = + 1 === i.a + ? i + : { + r: 255 * (1 - i.a) + i.r * i.a, + g: 255 * (1 - i.a) + i.g * i.a, + b: 255 * (1 - i.a) + i.b * i.a, + }, + o = { + r: a.r * (1 - r.a) + r.r * r.a, + g: a.g * (1 - r.a) + r.g * r.a, + b: a.b * (1 - r.a) + r.b * r.a, + }; + return n(o).toRgbString(); + }), + (a.contrast = function (t, e, r) { + var i = n(t); + return ( + 1 !== i.getAlpha() && (i = n(a.combine(t, l))), + (i.isDark() + ? e + ? i.lighten(e) + : l + : r + ? i.darken(r) + : s + ).toString() + ); + }), + (a.stroke = function (t, e) { + var r = n(e); + t.style({ stroke: a.tinyRGB(r), 'stroke-opacity': r.getAlpha() }); + }), + (a.fill = function (t, e) { + var r = n(e); + t.style({ fill: a.tinyRGB(r), 'fill-opacity': r.getAlpha() }); + }), + (a.clean = function (t) { + if (t && 'object' == typeof t) { + var e, + r, + n, + i, + o = Object.keys(t); + for (e = 0; e < o.length; e++) + if (((i = t[(n = o[e])]), 'color' === n.substr(n.length - 5))) + if (Array.isArray(i)) + for (r = 0; r < i.length; r++) i[r] = c(i[r]); + else t[n] = c(i); + else if ( + 'colorscale' === n.substr(n.length - 10) && + Array.isArray(i) + ) + for (r = 0; r < i.length; r++) + Array.isArray(i[r]) && (i[r][1] = c(i[r][1])); + else if (Array.isArray(i)) { + var s = i[0]; + if (!Array.isArray(s) && s && 'object' == typeof s) + for (r = 0; r < i.length; r++) a.clean(i[r]); + } else i && 'object' == typeof i && a.clean(i); + } + }); + }, + { './attributes': 642, 'fast-isnumeric': 241, tinycolor2: 576 }, + ], + 644: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/layout_attributes'), + i = t('../../plots/font_attributes'), + a = t('../../lib/extend').extendFlat, + o = t('../../plot_api/edit_types').overrideAll; + e.exports = o( + { + thicknessmode: { + valType: 'enumerated', + values: ['fraction', 'pixels'], + dflt: 'pixels', + }, + thickness: { valType: 'number', min: 0, dflt: 30 }, + lenmode: { + valType: 'enumerated', + values: ['fraction', 'pixels'], + dflt: 'fraction', + }, + len: { valType: 'number', min: 0, dflt: 1 }, + x: { valType: 'number', dflt: 1.02, min: -2, max: 3 }, + xanchor: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + dflt: 'left', + }, + xpad: { valType: 'number', min: 0, dflt: 10 }, + y: { valType: 'number', dflt: 0.5, min: -2, max: 3 }, + yanchor: { + valType: 'enumerated', + values: ['top', 'middle', 'bottom'], + dflt: 'middle', + }, + ypad: { valType: 'number', min: 0, dflt: 10 }, + outlinecolor: n.linecolor, + outlinewidth: n.linewidth, + bordercolor: n.linecolor, + borderwidth: { valType: 'number', min: 0, dflt: 0 }, + bgcolor: { valType: 'color', dflt: 'rgba(0,0,0,0)' }, + tickmode: n.tickmode, + nticks: n.nticks, + tick0: n.tick0, + dtick: n.dtick, + tickvals: n.tickvals, + ticktext: n.ticktext, + ticks: a({}, n.ticks, { dflt: '' }), + ticklabelposition: { + valType: 'enumerated', + values: [ + 'outside', + 'inside', + 'outside top', + 'inside top', + 'outside bottom', + 'inside bottom', + ], + dflt: 'outside', + }, + ticklen: n.ticklen, + tickwidth: n.tickwidth, + tickcolor: n.tickcolor, + showticklabels: n.showticklabels, + tickfont: i({}), + tickangle: n.tickangle, + tickformat: n.tickformat, + tickformatstops: n.tickformatstops, + tickprefix: n.tickprefix, + showtickprefix: n.showtickprefix, + ticksuffix: n.ticksuffix, + showticksuffix: n.showticksuffix, + separatethousands: n.separatethousands, + exponentformat: n.exponentformat, + minexponent: n.minexponent, + showexponent: n.showexponent, + title: { + text: { valType: 'string' }, + font: i({}), + side: { + valType: 'enumerated', + values: ['right', 'top', 'bottom'], + dflt: 'top', + }, + }, + _deprecated: { + title: { valType: 'string' }, + titlefont: i({}), + titleside: { + valType: 'enumerated', + values: ['right', 'top', 'bottom'], + dflt: 'top', + }, + }, + }, + 'colorbars', + 'from-root' + ); + }, + { + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/font_attributes': 856, + }, + ], + 645: [ + function (t, e, r) { + 'use strict'; + e.exports = { + cn: { + colorbar: 'colorbar', + cbbg: 'cbbg', + cbfill: 'cbfill', + cbfills: 'cbfills', + cbline: 'cbline', + cblines: 'cblines', + cbaxis: 'cbaxis', + cbtitleunshift: 'cbtitleunshift', + cbtitle: 'cbtitle', + cboutline: 'cboutline', + crisp: 'crisp', + jsPlaceholder: 'js-placeholder', + }, + }; + }, + {}, + ], + 646: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plot_api/plot_template'), + a = t('../../plots/cartesian/tick_value_defaults'), + o = t('../../plots/cartesian/tick_mark_defaults'), + s = t('../../plots/cartesian/tick_label_defaults'), + l = t('./attributes'); + e.exports = function (t, e, r) { + var c = i.newContainer(e, 'colorbar'), + u = t.colorbar || {}; + function f(t, e) { + return n.coerce(u, c, l, t, e); + } + var h = f('thicknessmode'); + f( + 'thickness', + 'fraction' === h ? 30 / (r.width - r.margin.l - r.margin.r) : 30 + ); + var p = f('lenmode'); + f('len', 'fraction' === p ? 1 : r.height - r.margin.t - r.margin.b), + f('x'), + f('xanchor'), + f('xpad'), + f('y'), + f('yanchor'), + f('ypad'), + n.noneOrAll(u, c, ['x', 'y']), + f('outlinecolor'), + f('outlinewidth'), + f('bordercolor'), + f('borderwidth'), + f('bgcolor'); + var d = f('ticklabelposition'); + a(u, c, f, 'linear'); + var g = { outerTicks: !1, font: r.font }; + -1 !== d.indexOf('inside') && (g.bgColor = 'black'), + s(u, c, f, 'linear', g), + o(u, c, f, 'linear', g), + f('title.text', r._dfltTitle.colorbar), + n.coerceFont(f, 'title.font', r.font), + f('title.side'); + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/tick_label_defaults': 849, + '../../plots/cartesian/tick_mark_defaults': 850, + '../../plots/cartesian/tick_value_defaults': 851, + './attributes': 644, + }, + ], + 647: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('../../plots/plots'), + o = t('../../registry'), + s = t('../../plots/cartesian/axes'), + l = t('../dragelement'), + c = t('../../lib'), + u = c.strTranslate, + f = t('../../lib/extend').extendFlat, + h = t('../../lib/setcursor'), + p = t('../drawing'), + d = t('../color'), + g = t('../titles'), + m = t('../../lib/svg_text_utils'), + v = t('../colorscale/helpers').flipScale, + y = t('../../plots/cartesian/axis_defaults'), + x = t('../../plots/cartesian/position_defaults'), + b = t('../../plots/cartesian/layout_attributes'), + _ = t('../../constants/alignment'), + w = _.LINE_SPACING, + T = _.FROM_TL, + k = _.FROM_BR, + M = t('./constants').cn; + e.exports = { + draw: function (t) { + var e = t._fullLayout._infolayer + .selectAll('g.' + M.colorbar) + .data( + (function (t) { + var e, + r, + n, + i, + a = t._fullLayout, + o = t.calcdata, + s = []; + function l(t) { + return f(t, { + _fillcolor: null, + _line: { color: null, width: null, dash: null }, + _levels: { start: null, end: null, size: null }, + _filllevels: null, + _fillgradient: null, + _zrange: null, + }); + } + function c() { + 'function' == typeof i.calc + ? i.calc(t, n, e) + : ((e._fillgradient = r.reversescale + ? v(r.colorscale) + : r.colorscale), + (e._zrange = [r[i.min], r[i.max]])); + } + for (var u = 0; u < o.length; u++) { + var h = o[u], + p = (n = h[0].trace)._module.colorbar; + if (!0 === n.visible && p) + for ( + var d = Array.isArray(p), g = d ? p : [p], m = 0; + m < g.length; + m++ + ) { + var y = (i = g[m]).container; + (r = y ? n[y] : n) && + r.showscale && + (((e = l(r.colorbar))._id = + 'cb' + n.uid + (d && y ? '-' + y : '')), + (e._traceIndex = n.index), + (e._propPrefix = (y ? y + '.' : '') + 'colorbar.'), + (e._meta = n._meta), + c(), + s.push(e)); + } + } + for (var x in a._colorAxes) + if ((r = a[x]).showscale) { + var b = a._colorAxes[x]; + ((e = l(r.colorbar))._id = 'cb' + x), + (e._propPrefix = x + '.colorbar.'), + (e._meta = a._meta), + (i = { min: 'cmin', max: 'cmax' }), + 'heatmap' !== b[0] && + ((n = b[1]), (i.calc = n._module.colorbar.calc)), + c(), + s.push(e); + } + return s; + })(t), + function (t) { + return t._id; + } + ); + e + .enter() + .append('g') + .attr('class', function (t) { + return t._id; + }) + .classed(M.colorbar, !0), + e.each(function (e) { + var r = n.select(this); + c.ensureSingle(r, 'rect', M.cbbg), + c.ensureSingle(r, 'g', M.cbfills), + c.ensureSingle(r, 'g', M.cblines), + c.ensureSingle(r, 'g', M.cbaxis, function (t) { + t.classed(M.crisp, !0); + }), + c.ensureSingle(r, 'g', M.cbtitleunshift, function (t) { + t.append('g').classed(M.cbtitle, !0); + }), + c.ensureSingle(r, 'rect', M.cboutline); + var v = (function (t, e, r) { + var o = r._fullLayout, + l = o._size, + h = e._fillcolor, + v = e._line, + _ = e.title, + A = _.side, + S = + e._zrange || + n.extent( + ('function' == typeof h ? h : v.color).domain() + ), + E = + 'function' == typeof v.color + ? v.color + : function () { + return v.color; + }, + C = + 'function' == typeof h + ? h + : function () { + return h; + }, + L = e._levels, + I = (function (t, e, r) { + var n, + i, + a = e._levels, + o = [], + s = [], + l = a.end + a.size / 100, + c = a.size, + u = 1.001 * r[0] - 0.001 * r[1], + f = 1.001 * r[1] - 0.001 * r[0]; + for ( + i = 0; + i < 1e5 && + ((n = a.start + i * c), !(c > 0 ? n >= l : n <= l)); + i++ + ) + n > u && n < f && o.push(n); + if (e._fillgradient) s = [0]; + else if ('function' == typeof e._fillcolor) { + var h = e._filllevels; + if (h) + for ( + l = h.end + h.size / 100, c = h.size, i = 0; + i < 1e5 && + ((n = h.start + i * c), + !(c > 0 ? n >= l : n <= l)); + i++ + ) + n > r[0] && n < r[1] && s.push(n); + else + (s = o.map(function (t) { + return t - a.size / 2; + })).push(s[s.length - 1] + a.size); + } else + e._fillcolor && + 'string' == typeof e._fillcolor && + (s = [0]); + a.size < 0 && (o.reverse(), s.reverse()); + return { line: o, fill: s }; + })(0, e, S), + P = I.fill, + z = I.line, + O = Math.round( + e.thickness * ('fraction' === e.thicknessmode ? l.w : 1) + ), + D = O / l.w, + R = Math.round( + e.len * ('fraction' === e.lenmode ? l.h : 1) + ), + F = R / l.h, + B = e.xpad / l.w, + N = (e.borderwidth + e.outlinewidth) / 2, + j = e.ypad / l.h, + U = Math.round(e.x * l.w + e.xpad), + V = e.x - D * ({ middle: 0.5, right: 1 }[e.xanchor] || 0), + q = + e.y + + F * + (({ top: -0.5, bottom: 0.5 }[e.yanchor] || 0) - 0.5), + H = Math.round(l.h * (1 - q)), + G = H - R; + (e._lenFrac = F), + (e._thickFrac = D), + (e._xLeftFrac = V), + (e._yBottomFrac = q); + var Y = (e._axis = (function (t, e, r) { + var n = t._fullLayout, + i = { + type: 'linear', + range: r, + tickmode: e.tickmode, + nticks: e.nticks, + tick0: e.tick0, + dtick: e.dtick, + tickvals: e.tickvals, + ticktext: e.ticktext, + ticks: e.ticks, + ticklen: e.ticklen, + tickwidth: e.tickwidth, + tickcolor: e.tickcolor, + showticklabels: e.showticklabels, + ticklabelposition: e.ticklabelposition, + tickfont: e.tickfont, + tickangle: e.tickangle, + tickformat: e.tickformat, + exponentformat: e.exponentformat, + minexponent: e.minexponent, + separatethousands: e.separatethousands, + showexponent: e.showexponent, + showtickprefix: e.showtickprefix, + tickprefix: e.tickprefix, + showticksuffix: e.showticksuffix, + ticksuffix: e.ticksuffix, + title: e.title, + showline: !0, + anchor: 'free', + side: 'right', + position: 1, + }, + a = { type: 'linear', _id: 'y' + e._id }, + o = { + letter: 'y', + font: n.font, + noHover: !0, + noTickson: !0, + noTicklabelmode: !0, + calendar: n.calendar, + }; + function s(t, e) { + return c.coerce(i, a, b, t, e); + } + return y(i, a, s, o, n), x(i, a, s, o), a; + })(r, e, S)); + (Y.position = e.x + B + D), + -1 !== ['top', 'bottom'].indexOf(A) && + ((Y.title.side = A), + (Y.titlex = e.x + B), + (Y.titley = q + ('top' === _.side ? F - j : j))); + if (v.color && 'auto' === e.tickmode) { + (Y.tickmode = 'linear'), (Y.tick0 = L.start); + var W = L.size, + X = c.constrain((H - G) / 50, 4, 15) + 1, + Z = (S[1] - S[0]) / ((e.nticks || X) * W); + if (Z > 1) { + var J = Math.pow( + 10, + Math.floor(Math.log(Z) / Math.LN10) + ); + (W *= J * c.roundUp(Z / J, [2, 5, 10])), + (Math.abs(L.start) / L.size + 1e-6) % 1 < 2e-6 && + (Y.tick0 = 0); + } + Y.dtick = W; + } + (Y.domain = [q + j, q + F - j]), + Y.setScale(), + t.attr('transform', u(Math.round(l.l), Math.round(l.t))); + var K, + Q = t + .select('.' + M.cbtitleunshift) + .attr( + 'transform', + u(-Math.round(l.l), -Math.round(l.t)) + ), + $ = t.select('.' + M.cbaxis), + tt = 0; + function et(n, i) { + var a = { + propContainer: Y, + propName: e._propPrefix + 'title', + traceIndex: e._traceIndex, + _meta: e._meta, + placeholder: o._dfltTitle.colorbar, + containerGroup: t.select('.' + M.cbtitle), + }, + s = 'h' === n.charAt(0) ? n.substr(1) : 'h' + n; + t.selectAll('.' + s + ',.' + s + '-math-group').remove(), + g.draw(r, n, f(a, i || {})); + } + return c.syncOrAsync( + [ + a.previousPromises, + function () { + if (-1 !== ['top', 'bottom'].indexOf(A)) { + var t, + r = l.l + (e.x + B) * l.w, + n = Y.title.font.size; + (t = + 'top' === A + ? (1 - (q + F - j)) * l.h + l.t + 3 + 0.75 * n + : (1 - (q + j)) * l.h + l.t - 3 - 0.25 * n), + et(Y._id + 'title', { + attributes: { + x: r, + y: t, + 'text-anchor': 'start', + }, + }); + } + }, + function () { + if (-1 !== ['top', 'bottom'].indexOf(A)) { + var a = t.select('.' + M.cbtitle), + o = a.select('text'), + f = [-e.outlinewidth / 2, e.outlinewidth / 2], + h = a + .select('.h' + Y._id + 'title-math-group') + .node(), + d = 15.6; + if ( + (o.node() && + (d = parseInt(o.node().style.fontSize, 10) * w), + h + ? (tt = p.bBox(h).height) > d && + (f[1] -= (tt - d) / 2) + : o.node() && + !o.classed(M.jsPlaceholder) && + (tt = p.bBox(o.node()).height), + tt) + ) { + if (((tt += 5), 'top' === A)) + (Y.domain[1] -= tt / l.h), (f[1] *= -1); + else { + Y.domain[0] += tt / l.h; + var g = m.lineCount(o); + f[1] += (1 - g) * d; + } + a.attr('transform', u(f[0], f[1])), Y.setScale(); + } + } + t + .selectAll('.' + M.cbfills + ',.' + M.cblines) + .attr( + 'transform', + u(0, Math.round(l.h * (1 - Y.domain[1]))) + ), + $.attr('transform', u(0, Math.round(-l.t))); + var y = t + .select('.' + M.cbfills) + .selectAll('rect.' + M.cbfill) + .attr('style', '') + .data(P); + y + .enter() + .append('rect') + .classed(M.cbfill, !0) + .style('stroke', 'none'), + y.exit().remove(); + var x = S.map(Y.c2p) + .map(Math.round) + .sort(function (t, e) { + return t - e; + }); + y.each(function (t, a) { + var o = [ + 0 === a ? S[0] : (P[a] + P[a - 1]) / 2, + a === P.length - 1 ? S[1] : (P[a] + P[a + 1]) / 2, + ] + .map(Y.c2p) + .map(Math.round); + o[1] = c.constrain( + o[1] + (o[1] > o[0]) ? 1 : -1, + x[0], + x[1] + ); + var s = n + .select(this) + .attr({ + x: U, + width: Math.max(O, 2), + y: n.min(o), + height: Math.max(n.max(o) - n.min(o), 2), + }); + if (e._fillgradient) + p.gradient( + s, + r, + e._id, + 'vertical', + e._fillgradient, + 'fill' + ); + else { + var l = C(t).replace('e-', ''); + s.attr('fill', i(l).toHexString()); + } + }); + var b = t + .select('.' + M.cblines) + .selectAll('path.' + M.cbline) + .data(v.color && v.width ? z : []); + b.enter().append('path').classed(M.cbline, !0), + b.exit().remove(), + b.each(function (t) { + n.select(this) + .attr( + 'd', + 'M' + + U + + ',' + + (Math.round(Y.c2p(t)) + + ((v.width / 2) % 1)) + + 'h' + + O + ) + .call(p.lineGroupStyle, v.width, E(t), v.dash); + }), + $.selectAll('g.' + Y._id + 'tick,path').remove(); + var _ = + U + + O + + (e.outlinewidth || 0) / 2 - + ('outside' === e.ticks ? 1 : 0), + T = s.calcTicks(Y), + k = s.getTickSigns(Y)[2]; + return ( + s.drawTicks(r, Y, { + vals: 'inside' === Y.ticks ? s.clipEnds(Y, T) : T, + layer: $, + path: s.makeTickPath(Y, _, k), + transFn: s.makeTransTickFn(Y), + }), + s.drawLabels(r, Y, { + vals: T, + layer: $, + transFn: s.makeTransTickLabelFn(Y), + labelFns: s.makeLabelFns(Y, _), + }) + ); + }, + function () { + if (-1 === ['top', 'bottom'].indexOf(A)) { + var t = Y.title.font.size, + e = Y._offset + Y._length / 2, + i = + l.l + + (Y.position || 0) * l.w + + ('right' === Y.side + ? 10 + t * (Y.showticklabels ? 1 : 0.5) + : -10 - t * (Y.showticklabels ? 0.5 : 0)); + et('h' + Y._id + 'title', { + avoid: { + selection: n + .select(r) + .selectAll('g.' + Y._id + 'tick'), + side: A, + offsetLeft: l.l, + offsetTop: 0, + maxShift: o.width, + }, + attributes: { + x: i, + y: e, + 'text-anchor': 'middle', + }, + transform: { rotate: '-90', offset: 0 }, + }); + } + }, + a.previousPromises, + function () { + var n = O + e.outlinewidth / 2; + if ( + (-1 === Y.ticklabelposition.indexOf('inside') && + (n += p.bBox($.node()).width), + (K = Q.select('text')).node() && + !K.classed(M.jsPlaceholder)) + ) { + var i, + o = Q.select( + '.h' + Y._id + 'title-math-group' + ).node(); + (i = + o && -1 !== ['top', 'bottom'].indexOf(A) + ? p.bBox(o).width + : p.bBox(Q.node()).right - U - l.l), + (n = Math.max(n, i)); + } + var s = + 2 * e.xpad + + n + + e.borderwidth + + e.outlinewidth / 2, + c = H - G; + t + .select('.' + M.cbbg) + .attr({ + x: + U - + e.xpad - + (e.borderwidth + e.outlinewidth) / 2, + y: G - N, + width: Math.max(s, 2), + height: Math.max(c + 2 * N, 2), + }) + .call(d.fill, e.bgcolor) + .call(d.stroke, e.bordercolor) + .style('stroke-width', e.borderwidth), + t + .selectAll('.' + M.cboutline) + .attr({ + x: U, + y: G + e.ypad + ('top' === A ? tt : 0), + width: Math.max(O, 2), + height: Math.max(c - 2 * e.ypad - tt, 2), + }) + .call(d.stroke, e.outlinecolor) + .style({ + fill: 'none', + 'stroke-width': e.outlinewidth, + }); + var f = + ({ center: 0.5, right: 1 }[e.xanchor] || 0) * s; + t.attr('transform', u(l.l - f, l.t)); + var h = {}, + g = T[e.yanchor], + m = k[e.yanchor]; + 'pixels' === e.lenmode + ? ((h.y = e.y), (h.t = c * g), (h.b = c * m)) + : ((h.t = h.b = 0), + (h.yt = e.y + e.len * g), + (h.yb = e.y - e.len * m)); + var v = T[e.xanchor], + y = k[e.xanchor]; + if ('pixels' === e.thicknessmode) + (h.x = e.x), (h.l = s * v), (h.r = s * y); + else { + var x = s - O; + (h.l = x * v), + (h.r = x * y), + (h.xl = e.x - e.thickness * v), + (h.xr = e.x + e.thickness * y); + } + a.autoMargin(r, e._id, h); + }, + ], + r + ); + })(r, e, t); + v && v.then && (t._promises || []).push(v), + t._context.edits.colorbarPosition && + (function (t, e, r) { + var n, + i, + a, + s = r._fullLayout._size; + l.init({ + element: t.node(), + gd: r, + prepFn: function () { + (n = t.attr('transform')), h(t); + }, + moveFn: function (r, o) { + t.attr('transform', n + u(r, o)), + (i = l.align( + e._xLeftFrac + r / s.w, + e._thickFrac, + 0, + 1, + e.xanchor + )), + (a = l.align( + e._yBottomFrac - o / s.h, + e._lenFrac, + 0, + 1, + e.yanchor + )); + var c = l.getCursor(i, a, e.xanchor, e.yanchor); + h(t, c); + }, + doneFn: function () { + if ((h(t), void 0 !== i && void 0 !== a)) { + var n = {}; + (n[e._propPrefix + 'x'] = i), + (n[e._propPrefix + 'y'] = a), + void 0 !== e._traceIndex + ? o.call('_guiRestyle', r, n, e._traceIndex) + : o.call('_guiRelayout', r, n); + } + }, + }); + })(r, e, t); + }), + e + .exit() + .each(function (e) { + a.autoMargin(t, e._id); + }) + .remove(), + e.order(); + }, + }; + }, + { + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/extend': 768, + '../../lib/setcursor': 799, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/axis_defaults': 830, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/cartesian/position_defaults': 845, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../colorscale/helpers': 654, + '../dragelement': 662, + '../drawing': 665, + '../titles': 738, + './constants': 645, + d3: 169, + tinycolor2: 576, + }, + ], + 648: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t) { + return n.isPlainObject(t.colorbar); + }; + }, + { '../../lib': 778 }, + ], + 649: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'component', + name: 'colorbar', + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + draw: t('./draw').draw, + hasColorbar: t('./has_colorbar'), + }; + }, + { + './attributes': 644, + './defaults': 646, + './draw': 647, + './has_colorbar': 648, + }, + ], + 650: [ + function (t, e, r) { + 'use strict'; + var n = t('../colorbar/attributes'), + i = t('../../lib/regex').counter, + a = t('./scales.js').scales; + Object.keys(a); + function o(t) { + return '`' + t + '`'; + } + e.exports = function (t, e) { + t = t || ''; + var r, + s = (e = e || {}).cLetter || 'c', + l = + ('onlyIfNumerical' in e ? e.onlyIfNumerical : Boolean(t), + 'noScale' in e ? e.noScale : 'marker.line' === t), + c = 'showScaleDflt' in e ? e.showScaleDflt : 'z' === s, + u = + 'string' == typeof e.colorscaleDflt + ? a[e.colorscaleDflt] + : null, + f = e.editTypeOverride || '', + h = t ? t + '.' : ''; + 'colorAttr' in e + ? ((r = e.colorAttr), e.colorAttr) + : o(h + (r = { z: 'z', c: 'color' }[s])); + var p = s + 'auto', + d = s + 'min', + g = s + 'max', + m = s + 'mid', + v = (o(h + p), o(h + d), o(h + g), {}); + v[d] = v[g] = void 0; + var y = {}; + y[p] = !1; + var x = {}; + return ( + 'color' === r && + ((x.color = { + valType: 'color', + arrayOk: !0, + editType: f || 'style', + }), + e.anim && (x.color.anim = !0)), + (x[p] = { + valType: 'boolean', + dflt: !0, + editType: 'calc', + impliedEdits: v, + }), + (x[d] = { + valType: 'number', + dflt: null, + editType: f || 'plot', + impliedEdits: y, + }), + (x[g] = { + valType: 'number', + dflt: null, + editType: f || 'plot', + impliedEdits: y, + }), + (x[m] = { + valType: 'number', + dflt: null, + editType: 'calc', + impliedEdits: v, + }), + (x.colorscale = { + valType: 'colorscale', + editType: 'calc', + dflt: u, + impliedEdits: { autocolorscale: !1 }, + }), + (x.autocolorscale = { + valType: 'boolean', + dflt: !1 !== e.autoColorDflt, + editType: 'calc', + impliedEdits: { colorscale: void 0 }, + }), + (x.reversescale = { + valType: 'boolean', + dflt: !1, + editType: 'plot', + }), + l || + ((x.showscale = { + valType: 'boolean', + dflt: c, + editType: 'calc', + }), + (x.colorbar = n)), + e.noColorAxis || + (x.coloraxis = { + valType: 'subplotid', + regex: i('coloraxis'), + dflt: null, + editType: 'calc', + }), + x + ); + }; + }, + { + '../../lib/regex': 795, + '../colorbar/attributes': 644, + './scales.js': 658, + }, + ], + 651: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('./helpers').extractOpts; + e.exports = function (t, e, r) { + var o, + s = t._fullLayout, + l = r.vals, + c = r.containerStr, + u = c ? i.nestedProperty(e, c).get() : e, + f = a(u), + h = !1 !== f.auto, + p = f.min, + d = f.max, + g = f.mid, + m = function () { + return i.aggNums(Math.min, null, l); + }, + v = function () { + return i.aggNums(Math.max, null, l); + }; + (void 0 === p + ? (p = m()) + : h && (p = u._colorAx && n(p) ? Math.min(p, m()) : m()), + void 0 === d + ? (d = v()) + : h && (d = u._colorAx && n(d) ? Math.max(d, v()) : v()), + h && + void 0 !== g && + (d - g > g - p + ? (p = g - (d - g)) + : d - g < g - p && (d = g + (g - p))), + p === d && ((p -= 0.5), (d += 0.5)), + f._sync('min', p), + f._sync('max', d), + f.autocolorscale) && + ((o = + p * d < 0 + ? s.colorscale.diverging + : p >= 0 + ? s.colorscale.sequential + : s.colorscale.sequentialminus), + f._sync('colorscale', o)); + }; + }, + { '../../lib': 778, './helpers': 654, 'fast-isnumeric': 241 }, + ], + 652: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./helpers').hasColorscale, + a = t('./helpers').extractOpts; + e.exports = function (t, e) { + function r(t, e) { + var r = t['_' + e]; + void 0 !== r && (t[e] = r); + } + function o(t, i) { + var o = i.container ? n.nestedProperty(t, i.container).get() : t; + if (o) + if (o.coloraxis) o._colorAx = e[o.coloraxis]; + else { + var s = a(o), + l = s.auto; + (l || void 0 === s.min) && r(o, i.min), + (l || void 0 === s.max) && r(o, i.max), + s.autocolorscale && r(o, 'colorscale'); + } + } + for (var s = 0; s < t.length; s++) { + var l = t[s], + c = l._module.colorbar; + if (c) + if (Array.isArray(c)) + for (var u = 0; u < c.length; u++) o(l, c[u]); + else o(l, c); + i(l, 'marker.line') && + o(l, { container: 'marker.line', min: 'cmin', max: 'cmax' }); + } + for (var f in e._colorAxes) o(e[f], { min: 'cmin', max: 'cmax' }); + }; + }, + { '../../lib': 778, './helpers': 654 }, + ], + 653: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../colorbar/has_colorbar'), + o = t('../colorbar/defaults'), + s = t('./scales').isValid, + l = t('../../registry').traceIs; + function c(t, e) { + var r = e.slice(0, e.length - 1); + return e ? i.nestedProperty(t, r).get() || {} : t; + } + e.exports = function t(e, r, u, f, h) { + var p = h.prefix, + d = h.cLetter, + g = '_module' in r, + m = c(e, p), + v = c(r, p), + y = c(r._template || {}, p) || {}, + x = function () { + return delete e.coloraxis, delete r.coloraxis, t(e, r, u, f, h); + }; + if (g) { + var b = u._colorAxes || {}, + _ = f(p + 'coloraxis'); + if (_) { + var w = + (l(r, 'contour') && + i.nestedProperty(r, 'contours.coloring').get()) || + 'heatmap', + T = b[_]; + return void (T + ? (T[2].push(x), + T[0] !== w && + ((T[0] = !1), + i.warn( + [ + 'Ignoring coloraxis:', + _, + 'setting', + 'as it is linked to incompatible colorscales.', + ].join(' ') + ))) + : (b[_] = [w, r, [x]])); + } + } + var k = m[d + 'min'], + M = m[d + 'max'], + A = n(k) && n(M) && k < M; + f(p + d + 'auto', !A) + ? f(p + d + 'mid') + : (f(p + d + 'min'), f(p + d + 'max')); + var S, + E, + C = m.colorscale, + L = y.colorscale; + (void 0 !== C && (S = !s(C)), + void 0 !== L && (S = !s(L)), + f(p + 'autocolorscale', S), + f(p + 'colorscale'), + f(p + 'reversescale'), + 'marker.line.' !== p) && + (p && g && (E = a(m)), + f(p + 'showscale', E) && + (p && y && (v._template = y), o(m, v, u))); + }; + }, + { + '../../lib': 778, + '../../registry': 911, + '../colorbar/defaults': 646, + '../colorbar/has_colorbar': 648, + './scales': 658, + 'fast-isnumeric': 241, + }, + ], + 654: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('fast-isnumeric'), + o = t('../../lib'), + s = t('../color'), + l = t('./scales').isValid; + var c = [ + 'showscale', + 'autocolorscale', + 'colorscale', + 'reversescale', + 'colorbar', + ], + u = ['min', 'max', 'mid', 'auto']; + function f(t) { + var e, + r, + n, + i = t._colorAx, + a = i || t, + o = {}; + for (r = 0; r < c.length; r++) o[(n = c[r])] = a[n]; + if (i) + for (e = 'c', r = 0; r < u.length; r++) + o[(n = u[r])] = a['c' + n]; + else { + var s; + for (r = 0; r < u.length; r++) + ((s = 'c' + (n = u[r])) in a || (s = 'z' + n) in a) && + (o[n] = a[s]); + e = s.charAt(0); + } + return ( + (o._sync = function (t, r) { + var n = -1 !== u.indexOf(t) ? e + t : t; + a[n] = a['_' + n] = r; + }), + o + ); + } + function h(t) { + for ( + var e = f(t), + r = e.min, + n = e.max, + i = e.reversescale ? p(e.colorscale) : e.colorscale, + a = i.length, + o = new Array(a), + s = new Array(a), + l = 0; + l < a; + l++ + ) { + var c = i[l]; + (o[l] = r + c[0] * (n - r)), (s[l] = c[1]); + } + return { domain: o, range: s }; + } + function p(t) { + for ( + var e = t.length, r = new Array(e), n = e - 1, i = 0; + n >= 0; + n--, i++ + ) { + var a = t[n]; + r[i] = [1 - a[0], a[1]]; + } + return r; + } + function d(t, e) { + e = e || {}; + for ( + var r = t.domain, + o = t.range, + l = o.length, + c = new Array(l), + u = 0; + u < l; + u++ + ) { + var f = i(o[u]).toRgb(); + c[u] = [f.r, f.g, f.b, f.a]; + } + var h, + p = n.scale.linear().domain(r).range(c).clamp(!0), + d = e.noNumericCheck, + m = e.returnArray; + return ( + ((h = + d && m + ? p + : d + ? function (t) { + return g(p(t)); + } + : m + ? function (t) { + return a(t) ? p(t) : i(t).isValid() ? t : s.defaultLine; + } + : function (t) { + return a(t) + ? g(p(t)) + : i(t).isValid() + ? t + : s.defaultLine; + }).domain = p.domain), + (h.range = function () { + return o; + }), + h + ); + } + function g(t) { + var e = { r: t[0], g: t[1], b: t[2], a: t[3] }; + return i(e).toRgbString(); + } + e.exports = { + hasColorscale: function (t, e, r) { + var n = e ? o.nestedProperty(t, e).get() || {} : t, + i = n[r || 'color'], + s = !1; + if (o.isArrayOrTypedArray(i)) + for (var c = 0; c < i.length; c++) + if (a(i[c])) { + s = !0; + break; + } + return ( + o.isPlainObject(n) && + (s || + !0 === n.showscale || + (a(n.cmin) && a(n.cmax)) || + l(n.colorscale) || + o.isPlainObject(n.colorbar)) + ); + }, + extractOpts: f, + extractScale: h, + flipScale: p, + makeColorScaleFunc: d, + makeColorScaleFuncFromTrace: function (t, e) { + return d(h(t), e); + }, + }; + }, + { + '../../lib': 778, + '../color': 643, + './scales': 658, + d3: 169, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 655: [ + function (t, e, r) { + 'use strict'; + var n = t('./scales'), + i = t('./helpers'); + e.exports = { + moduleType: 'component', + name: 'colorscale', + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyLayoutDefaults: t('./layout_defaults'), + handleDefaults: t('./defaults'), + crossTraceDefaults: t('./cross_trace_defaults'), + calc: t('./calc'), + scales: n.scales, + defaultScale: n.defaultScale, + getScale: n.get, + isValidScale: n.isValid, + hasColorscale: i.hasColorscale, + extractOpts: i.extractOpts, + extractScale: i.extractScale, + flipScale: i.flipScale, + makeColorScaleFunc: i.makeColorScaleFunc, + makeColorScaleFuncFromTrace: i.makeColorScaleFuncFromTrace, + }; + }, + { + './attributes': 650, + './calc': 651, + './cross_trace_defaults': 652, + './defaults': 653, + './helpers': 654, + './layout_attributes': 656, + './layout_defaults': 657, + './scales': 658, + }, + ], + 656: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/extend').extendFlat, + i = t('./attributes'), + a = t('./scales').scales; + e.exports = { + editType: 'calc', + colorscale: { + editType: 'calc', + sequential: { + valType: 'colorscale', + dflt: a.Reds, + editType: 'calc', + }, + sequentialminus: { + valType: 'colorscale', + dflt: a.Blues, + editType: 'calc', + }, + diverging: { + valType: 'colorscale', + dflt: a.RdBu, + editType: 'calc', + }, + }, + coloraxis: n( + { _isSubplotObj: !0, editType: 'calc' }, + i('', { + colorAttr: 'corresponding trace color array(s)', + noColorAxis: !0, + showScaleDflt: !0, + }) + ), + }; + }, + { '../../lib/extend': 768, './attributes': 650, './scales': 658 }, + ], + 657: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plot_api/plot_template'), + a = t('./layout_attributes'), + o = t('./defaults'); + e.exports = function (t, e) { + function r(r, i) { + return n.coerce(t, e, a, r, i); + } + r('colorscale.sequential'), + r('colorscale.sequentialminus'), + r('colorscale.diverging'); + var s, + l, + c = e._colorAxes; + function u(t, e) { + return n.coerce(s, l, a.coloraxis, t, e); + } + for (var f in c) { + var h = c[f]; + if (h[0]) + (s = t[f] || {}), + ((l = i.newContainer(e, f, 'coloraxis'))._name = f), + o(s, l, e, u, { prefix: '', cLetter: 'c' }); + else { + for (var p = 0; p < h[2].length; p++) h[2][p](); + delete e._colorAxes[f]; + } + } + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + './defaults': 653, + './layout_attributes': 656, + }, + ], + 658: [ + function (t, e, r) { + 'use strict'; + var n = t('tinycolor2'), + i = { + Greys: [ + [0, 'rgb(0,0,0)'], + [1, 'rgb(255,255,255)'], + ], + YlGnBu: [ + [0, 'rgb(8,29,88)'], + [0.125, 'rgb(37,52,148)'], + [0.25, 'rgb(34,94,168)'], + [0.375, 'rgb(29,145,192)'], + [0.5, 'rgb(65,182,196)'], + [0.625, 'rgb(127,205,187)'], + [0.75, 'rgb(199,233,180)'], + [0.875, 'rgb(237,248,217)'], + [1, 'rgb(255,255,217)'], + ], + Greens: [ + [0, 'rgb(0,68,27)'], + [0.125, 'rgb(0,109,44)'], + [0.25, 'rgb(35,139,69)'], + [0.375, 'rgb(65,171,93)'], + [0.5, 'rgb(116,196,118)'], + [0.625, 'rgb(161,217,155)'], + [0.75, 'rgb(199,233,192)'], + [0.875, 'rgb(229,245,224)'], + [1, 'rgb(247,252,245)'], + ], + YlOrRd: [ + [0, 'rgb(128,0,38)'], + [0.125, 'rgb(189,0,38)'], + [0.25, 'rgb(227,26,28)'], + [0.375, 'rgb(252,78,42)'], + [0.5, 'rgb(253,141,60)'], + [0.625, 'rgb(254,178,76)'], + [0.75, 'rgb(254,217,118)'], + [0.875, 'rgb(255,237,160)'], + [1, 'rgb(255,255,204)'], + ], + Bluered: [ + [0, 'rgb(0,0,255)'], + [1, 'rgb(255,0,0)'], + ], + RdBu: [ + [0, 'rgb(5,10,172)'], + [0.35, 'rgb(106,137,247)'], + [0.5, 'rgb(190,190,190)'], + [0.6, 'rgb(220,170,132)'], + [0.7, 'rgb(230,145,90)'], + [1, 'rgb(178,10,28)'], + ], + Reds: [ + [0, 'rgb(220,220,220)'], + [0.2, 'rgb(245,195,157)'], + [0.4, 'rgb(245,160,105)'], + [1, 'rgb(178,10,28)'], + ], + Blues: [ + [0, 'rgb(5,10,172)'], + [0.35, 'rgb(40,60,190)'], + [0.5, 'rgb(70,100,245)'], + [0.6, 'rgb(90,120,245)'], + [0.7, 'rgb(106,137,247)'], + [1, 'rgb(220,220,220)'], + ], + Picnic: [ + [0, 'rgb(0,0,255)'], + [0.1, 'rgb(51,153,255)'], + [0.2, 'rgb(102,204,255)'], + [0.3, 'rgb(153,204,255)'], + [0.4, 'rgb(204,204,255)'], + [0.5, 'rgb(255,255,255)'], + [0.6, 'rgb(255,204,255)'], + [0.7, 'rgb(255,153,255)'], + [0.8, 'rgb(255,102,204)'], + [0.9, 'rgb(255,102,102)'], + [1, 'rgb(255,0,0)'], + ], + Rainbow: [ + [0, 'rgb(150,0,90)'], + [0.125, 'rgb(0,0,200)'], + [0.25, 'rgb(0,25,255)'], + [0.375, 'rgb(0,152,255)'], + [0.5, 'rgb(44,255,150)'], + [0.625, 'rgb(151,255,0)'], + [0.75, 'rgb(255,234,0)'], + [0.875, 'rgb(255,111,0)'], + [1, 'rgb(255,0,0)'], + ], + Portland: [ + [0, 'rgb(12,51,131)'], + [0.25, 'rgb(10,136,186)'], + [0.5, 'rgb(242,211,56)'], + [0.75, 'rgb(242,143,56)'], + [1, 'rgb(217,30,30)'], + ], + Jet: [ + [0, 'rgb(0,0,131)'], + [0.125, 'rgb(0,60,170)'], + [0.375, 'rgb(5,255,255)'], + [0.625, 'rgb(255,255,0)'], + [0.875, 'rgb(250,0,0)'], + [1, 'rgb(128,0,0)'], + ], + Hot: [ + [0, 'rgb(0,0,0)'], + [0.3, 'rgb(230,0,0)'], + [0.6, 'rgb(255,210,0)'], + [1, 'rgb(255,255,255)'], + ], + Blackbody: [ + [0, 'rgb(0,0,0)'], + [0.2, 'rgb(230,0,0)'], + [0.4, 'rgb(230,210,0)'], + [0.7, 'rgb(255,255,255)'], + [1, 'rgb(160,200,255)'], + ], + Earth: [ + [0, 'rgb(0,0,130)'], + [0.1, 'rgb(0,180,180)'], + [0.2, 'rgb(40,210,40)'], + [0.4, 'rgb(230,230,50)'], + [0.6, 'rgb(120,70,20)'], + [1, 'rgb(255,255,255)'], + ], + Electric: [ + [0, 'rgb(0,0,0)'], + [0.15, 'rgb(30,0,100)'], + [0.4, 'rgb(120,0,100)'], + [0.6, 'rgb(160,90,0)'], + [0.8, 'rgb(230,200,0)'], + [1, 'rgb(255,250,220)'], + ], + Viridis: [ + [0, '#440154'], + [0.06274509803921569, '#48186a'], + [0.12549019607843137, '#472d7b'], + [0.18823529411764706, '#424086'], + [0.25098039215686274, '#3b528b'], + [0.3137254901960784, '#33638d'], + [0.3764705882352941, '#2c728e'], + [0.4392156862745098, '#26828e'], + [0.5019607843137255, '#21918c'], + [0.5647058823529412, '#1fa088'], + [0.6274509803921569, '#28ae80'], + [0.6901960784313725, '#3fbc73'], + [0.7529411764705882, '#5ec962'], + [0.8156862745098039, '#84d44b'], + [0.8784313725490196, '#addc30'], + [0.9411764705882353, '#d8e219'], + [1, '#fde725'], + ], + Cividis: [ + [0, 'rgb(0,32,76)'], + [0.058824, 'rgb(0,42,102)'], + [0.117647, 'rgb(0,52,110)'], + [0.176471, 'rgb(39,63,108)'], + [0.235294, 'rgb(60,74,107)'], + [0.294118, 'rgb(76,85,107)'], + [0.352941, 'rgb(91,95,109)'], + [0.411765, 'rgb(104,106,112)'], + [0.470588, 'rgb(117,117,117)'], + [0.529412, 'rgb(131,129,120)'], + [0.588235, 'rgb(146,140,120)'], + [0.647059, 'rgb(161,152,118)'], + [0.705882, 'rgb(176,165,114)'], + [0.764706, 'rgb(192,177,109)'], + [0.823529, 'rgb(209,191,102)'], + [0.882353, 'rgb(225,204,92)'], + [0.941176, 'rgb(243,219,79)'], + [1, 'rgb(255,233,69)'], + ], + }, + a = i.RdBu; + function o(t) { + var e = 0; + if (!Array.isArray(t) || t.length < 2) return !1; + if (!t[0] || !t[t.length - 1]) return !1; + if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) return !1; + for (var r = 0; r < t.length; r++) { + var i = t[r]; + if (2 !== i.length || +i[0] < e || !n(i[1]).isValid()) return !1; + e = +i[0]; + } + return !0; + } + e.exports = { + scales: i, + defaultScale: a, + get: function (t, e) { + if ((e || (e = a), !t)) return e; + function r() { + try { + t = i[t] || JSON.parse(t); + } catch (r) { + t = e; + } + } + return ( + 'string' == typeof t && (r(), 'string' == typeof t && r()), + o(t) ? t : e + ); + }, + isValid: function (t) { + return void 0 !== i[t] || o(t); + }, + }; + }, + { tinycolor2: 576 }, + ], + 659: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + var a = (t - r) / (n - r), + o = a + e / (n - r), + s = (a + o) / 2; + return 'left' === i || 'bottom' === i + ? a + : 'center' === i || 'middle' === i + ? s + : 'right' === i || 'top' === i + ? o + : a < 2 / 3 - s + ? a + : o > 4 / 3 - s + ? o + : s; + }; + }, + {}, + ], + 660: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = [ + ['sw-resize', 's-resize', 'se-resize'], + ['w-resize', 'move', 'e-resize'], + ['nw-resize', 'n-resize', 'ne-resize'], + ]; + e.exports = function (t, e, r, a) { + return ( + (t = + 'left' === r + ? 0 + : 'center' === r + ? 1 + : 'right' === r + ? 2 + : n.constrain(Math.floor(3 * t), 0, 2)), + (e = + 'bottom' === a + ? 0 + : 'middle' === a + ? 1 + : 'top' === a + ? 2 + : n.constrain(Math.floor(3 * e), 0, 2)), + i[e][t] + ); + }; + }, + { '../../lib': 778 }, + ], + 661: [ + function (t, e, r) { + 'use strict'; + (r.selectMode = function (t) { + return 'lasso' === t || 'select' === t; + }), + (r.drawMode = function (t) { + return ( + 'drawclosedpath' === t || + 'drawopenpath' === t || + 'drawline' === t || + 'drawrect' === t || + 'drawcircle' === t + ); + }), + (r.openMode = function (t) { + return 'drawline' === t || 'drawopenpath' === t; + }), + (r.rectMode = function (t) { + return ( + 'select' === t || + 'drawline' === t || + 'drawrect' === t || + 'drawcircle' === t + ); + }), + (r.freeMode = function (t) { + return ( + 'lasso' === t || 'drawclosedpath' === t || 'drawopenpath' === t + ); + }), + (r.selectingOrDrawing = function (t) { + return r.freeMode(t) || r.rectMode(t); + }); + }, + {}, + ], + 662: [ + function (t, e, r) { + 'use strict'; + var n = t('mouse-event-offset'), + i = t('has-hover'), + a = t('has-passive-events'), + o = t('../../lib').removeElement, + s = t('../../plots/cartesian/constants'), + l = (e.exports = {}); + (l.align = t('./align')), (l.getCursor = t('./cursor')); + var c = t('./unhover'); + function u() { + var t = document.createElement('div'); + t.className = 'dragcover'; + var e = t.style; + return ( + (e.position = 'fixed'), + (e.left = 0), + (e.right = 0), + (e.top = 0), + (e.bottom = 0), + (e.zIndex = 999999999), + (e.background = 'none'), + document.body.appendChild(t), + t + ); + } + function f(t) { + return n(t.changedTouches ? t.changedTouches[0] : t, document.body); + } + (l.unhover = c.wrapped), + (l.unhoverRaw = c.raw), + (l.init = function (t) { + var e, + r, + n, + c, + h, + p, + d, + g, + m = t.gd, + v = 1, + y = m._context.doubleClickDelay, + x = t.element; + m._mouseDownTime || (m._mouseDownTime = 0), + (x.style.pointerEvents = 'all'), + (x.onmousedown = _), + a + ? (x._ontouchstart && + x.removeEventListener('touchstart', x._ontouchstart), + (x._ontouchstart = _), + x.addEventListener('touchstart', _, { passive: !1 })) + : (x.ontouchstart = _); + var b = + t.clampFn || + function (t, e, r) { + return ( + Math.abs(t) < r && (t = 0), + Math.abs(e) < r && (e = 0), + [t, e] + ); + }; + function _(a) { + (m._dragged = !1), (m._dragging = !0); + var o = f(a); + (e = o[0]), + (r = o[1]), + (d = a.target), + (p = a), + (g = 2 === a.buttons || a.ctrlKey), + 'undefined' == typeof a.clientX && + 'undefined' == typeof a.clientY && + ((a.clientX = e), (a.clientY = r)), + (n = new Date().getTime()) - m._mouseDownTime < y + ? (v += 1) + : ((v = 1), (m._mouseDownTime = n)), + t.prepFn && t.prepFn(a, e, r), + i && !g + ? ((h = u()).style.cursor = + window.getComputedStyle(x).cursor) + : i || + ((h = document), + (c = window.getComputedStyle( + document.documentElement + ).cursor), + (document.documentElement.style.cursor = + window.getComputedStyle(x).cursor)), + document.addEventListener('mouseup', T), + document.addEventListener('touchend', T), + !1 !== t.dragmode && + (a.preventDefault(), + document.addEventListener('mousemove', w), + document.addEventListener('touchmove', w, { passive: !1 })); + } + function w(n) { + n.preventDefault(); + var i = f(n), + a = t.minDrag || s.MINDRAG, + o = b(i[0] - e, i[1] - r, a), + c = o[0], + u = o[1]; + (c || u) && ((m._dragged = !0), l.unhover(m)), + m._dragged && + t.moveFn && + !g && + ((m._dragdata = { element: x, dx: c, dy: u }), + t.moveFn(c, u)); + } + function T(e) { + if ( + (delete m._dragdata, + !1 !== t.dragmode && + (e.preventDefault(), + document.removeEventListener('mousemove', w), + document.removeEventListener('touchmove', w)), + document.removeEventListener('mouseup', T), + document.removeEventListener('touchend', T), + i + ? o(h) + : c && ((h.documentElement.style.cursor = c), (c = null)), + m._dragging) + ) { + if ( + ((m._dragging = !1), + new Date().getTime() - m._mouseDownTime > y && + (v = Math.max(v - 1, 1)), + m._dragged) + ) + t.doneFn && t.doneFn(); + else if ((t.clickFn && t.clickFn(v, p), !g)) { + var r; + try { + r = new MouseEvent('click', e); + } catch (t) { + var n = f(e); + (r = document.createEvent('MouseEvents')).initMouseEvent( + 'click', + e.bubbles, + e.cancelable, + e.view, + e.detail, + e.screenX, + e.screenY, + n[0], + n[1], + e.ctrlKey, + e.altKey, + e.shiftKey, + e.metaKey, + e.button, + e.relatedTarget + ); + } + d.dispatchEvent(r); + } + (m._dragging = !1), (m._dragged = !1); + } else m._dragged = !1; + } + }), + (l.coverSlip = u); + }, + { + '../../lib': 778, + '../../plots/cartesian/constants': 834, + './align': 659, + './cursor': 660, + './unhover': 663, + 'has-hover': 440, + 'has-passive-events': 441, + 'mouse-event-offset': 484, + }, + ], + 663: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/events'), + i = t('../../lib/throttle'), + a = t('../../lib/dom').getGraphDiv, + o = t('../fx/constants'), + s = (e.exports = {}); + (s.wrapped = function (t, e, r) { + (t = a(t))._fullLayout && i.clear(t._fullLayout._uid + o.HOVERID), + s.raw(t, e, r); + }), + (s.raw = function (t, e) { + var r = t._fullLayout, + i = t._hoverdata; + e || (e = {}), + (e.target && + !1 === n.triggerHandler(t, 'plotly_beforehover', e)) || + (r._hoverlayer.selectAll('g').remove(), + r._hoverlayer.selectAll('line').remove(), + r._hoverlayer.selectAll('circle').remove(), + (t._hoverdata = void 0), + e.target && + i && + t.emit('plotly_unhover', { event: e, points: i })); + }); + }, + { + '../../lib/dom': 766, + '../../lib/events': 767, + '../../lib/throttle': 804, + '../fx/constants': 677, + }, + ], + 664: [ + function (t, e, r) { + 'use strict'; + r.dash = { + valType: 'string', + values: [ + 'solid', + 'dot', + 'dash', + 'longdash', + 'dashdot', + 'longdashdot', + ], + dflt: 'solid', + editType: 'style', + }; + }, + {}, + ], + 665: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('tinycolor2'), + o = t('../../registry'), + s = t('../color'), + l = t('../colorscale'), + c = t('../../lib'), + u = c.strTranslate, + f = t('../../lib/svg_text_utils'), + h = t('../../constants/xmlns_namespaces'), + p = t('../../constants/alignment').LINE_SPACING, + d = t('../../constants/interactions').DESELECTDIM, + g = t('../../traces/scatter/subtypes'), + m = t('../../traces/scatter/make_bubble_size_func'), + v = t('../../components/fx/helpers').appendArrayPointValue, + y = (e.exports = {}); + (y.font = function (t, e, r, n) { + c.isPlainObject(e) && ((n = e.color), (r = e.size), (e = e.family)), + e && t.style('font-family', e), + r + 1 && t.style('font-size', r + 'px'), + n && t.call(s.fill, n); + }), + (y.setPosition = function (t, e, r) { + t.attr('x', e).attr('y', r); + }), + (y.setSize = function (t, e, r) { + t.attr('width', e).attr('height', r); + }), + (y.setRect = function (t, e, r, n, i) { + t.call(y.setPosition, e, r).call(y.setSize, n, i); + }), + (y.translatePoint = function (t, e, r, n) { + var a = r.c2p(t.x), + o = n.c2p(t.y); + return ( + !!(i(a) && i(o) && e.node()) && + ('text' === e.node().nodeName + ? e.attr('x', a).attr('y', o) + : e.attr('transform', u(a, o)), + !0) + ); + }), + (y.translatePoints = function (t, e, r) { + t.each(function (t) { + var i = n.select(this); + y.translatePoint(t, i, e, r); + }); + }), + (y.hideOutsideRangePoint = function (t, e, r, n, i, a) { + e.attr( + 'display', + r.isPtWithinRange(t, i) && n.isPtWithinRange(t, a) + ? null + : 'none' + ); + }), + (y.hideOutsideRangePoints = function (t, e) { + if (e._hasClipOnAxisFalse) { + var r = e.xaxis, + i = e.yaxis; + t.each(function (e) { + var a = e[0].trace, + s = a.xcalendar, + l = a.ycalendar, + c = o.traceIs(a, 'bar-like') + ? '.bartext' + : '.point,.textpoint'; + t.selectAll(c).each(function (t) { + y.hideOutsideRangePoint(t, n.select(this), r, i, s, l); + }); + }); + } + }), + (y.crispRound = function (t, e, r) { + return e && i(e) + ? t._context.staticPlot + ? e + : e < 1 + ? 1 + : Math.round(e) + : r || 0; + }), + (y.singleLineStyle = function (t, e, r, n, i) { + e.style('fill', 'none'); + var a = (((t || [])[0] || {}).trace || {}).line || {}, + o = r || a.width || 0, + l = i || a.dash || ''; + s.stroke(e, n || a.color), y.dashLine(e, l, o); + }), + (y.lineGroupStyle = function (t, e, r, i) { + t.style('fill', 'none').each(function (t) { + var a = (((t || [])[0] || {}).trace || {}).line || {}, + o = e || a.width || 0, + l = i || a.dash || ''; + n.select(this) + .call(s.stroke, r || a.color) + .call(y.dashLine, l, o); + }); + }), + (y.dashLine = function (t, e, r) { + (r = +r || 0), + (e = y.dashStyle(e, r)), + t.style({ 'stroke-dasharray': e, 'stroke-width': r + 'px' }); + }), + (y.dashStyle = function (t, e) { + e = +e || 1; + var r = Math.max(e, 3); + return ( + 'solid' === t + ? (t = '') + : 'dot' === t + ? (t = r + 'px,' + r + 'px') + : 'dash' === t + ? (t = 3 * r + 'px,' + 3 * r + 'px') + : 'longdash' === t + ? (t = 5 * r + 'px,' + 5 * r + 'px') + : 'dashdot' === t + ? (t = 3 * r + 'px,' + r + 'px,' + r + 'px,' + r + 'px') + : 'longdashdot' === t && + (t = + 5 * r + 'px,' + 2 * r + 'px,' + r + 'px,' + 2 * r + 'px'), + t + ); + }), + (y.singleFillStyle = function (t) { + var e = ( + ((n.select(t.node()).data()[0] || [])[0] || {}).trace || {} + ).fillcolor; + e && t.call(s.fill, e); + }), + (y.fillGroupStyle = function (t) { + t.style('stroke-width', 0).each(function (t) { + var e = n.select(this); + t[0].trace && e.call(s.fill, t[0].trace.fillcolor); + }); + }); + var x = t('./symbol_defs'); + (y.symbolNames = []), + (y.symbolFuncs = []), + (y.symbolNeedLines = {}), + (y.symbolNoDot = {}), + (y.symbolNoFill = {}), + (y.symbolList = []), + Object.keys(x).forEach(function (t) { + var e = x[t], + r = e.n; + y.symbolList.push( + r, + String(r), + t, + r + 100, + String(r + 100), + t + '-open' + ), + (y.symbolNames[r] = t), + (y.symbolFuncs[r] = e.f), + e.needLine && (y.symbolNeedLines[r] = !0), + e.noDot + ? (y.symbolNoDot[r] = !0) + : y.symbolList.push( + r + 200, + String(r + 200), + t + '-dot', + r + 300, + String(r + 300), + t + '-open-dot' + ), + e.noFill && (y.symbolNoFill[r] = !0); + }); + var b = y.symbolNames.length; + function _(t, e) { + var r = t % 100; + return ( + y.symbolFuncs[r](e) + + (t >= 200 ? 'M0,0.5L0.5,0L0,-0.5L-0.5,0Z' : '') + ); + } + y.symbolNumber = function (t) { + if (i(t)) t = +t; + else if ('string' == typeof t) { + var e = 0; + t.indexOf('-open') > 0 && + ((e = 100), (t = t.replace('-open', ''))), + t.indexOf('-dot') > 0 && + ((e += 200), (t = t.replace('-dot', ''))), + (t = y.symbolNames.indexOf(t)) >= 0 && (t += e); + } + return t % 100 >= b || t >= 400 ? 0 : Math.floor(Math.max(t, 0)); + }; + var w = { x1: 1, x2: 0, y1: 0, y2: 0 }, + T = { x1: 0, x2: 0, y1: 1, y2: 0 }, + k = n.format('~.1f'), + M = { + radial: { node: 'radialGradient' }, + radialreversed: { node: 'radialGradient', reversed: !0 }, + horizontal: { node: 'linearGradient', attrs: w }, + horizontalreversed: { + node: 'linearGradient', + attrs: w, + reversed: !0, + }, + vertical: { node: 'linearGradient', attrs: T }, + verticalreversed: { + node: 'linearGradient', + attrs: T, + reversed: !0, + }, + }; + (y.gradient = function (t, e, r, i, o, l) { + for ( + var u = o.length, f = M[i], h = new Array(u), p = 0; + p < u; + p++ + ) + f.reversed + ? (h[u - 1 - p] = [k(100 * (1 - o[p][0])), o[p][1]]) + : (h[p] = [k(100 * o[p][0]), o[p][1]]); + var d = e._fullLayout, + g = 'g' + d._uid + '-' + r, + m = d._defs + .select('.gradients') + .selectAll('#' + g) + .data([i + h.join(';')], c.identity); + m.exit().remove(), + m + .enter() + .append(f.node) + .each(function () { + var t = n.select(this); + f.attrs && t.attr(f.attrs), t.attr('id', g); + var e = t.selectAll('stop').data(h); + e.exit().remove(), + e.enter().append('stop'), + e.each(function (t) { + var e = a(t[1]); + n.select(this).attr({ + offset: t[0] + '%', + 'stop-color': s.tinyRGB(e), + 'stop-opacity': e.getAlpha(), + }); + }); + }), + t.style(l, O(g, e)).style(l + '-opacity', null); + var v = function (t) { + return '.' + t.attr('class').replace(/\s/g, '.'); + }, + y = v(n.select(t.node().parentNode)) + '>' + v(t); + d._gradientUrlQueryParts[y] = 1; + }), + (y.initGradients = function (t) { + var e = t._fullLayout; + c + .ensureSingle(e._defs, 'g', 'gradients') + .selectAll('linearGradient,radialGradient') + .remove(), + (e._gradientUrlQueryParts = {}); + }), + (y.pointStyle = function (t, e, r) { + if (t.size()) { + var i = y.makePointStyleFns(e); + t.each(function (t) { + y.singlePointStyle(t, n.select(this), e, i, r); + }); + } + }), + (y.singlePointStyle = function (t, e, r, n, i) { + var a = r.marker, + o = a.line; + if ( + (e.style( + 'opacity', + n.selectedOpacityFn + ? n.selectedOpacityFn(t) + : void 0 === t.mo + ? a.opacity + : t.mo + ), + n.ms2mrc) + ) { + var l; + (l = + 'various' === t.ms || 'various' === a.size + ? 3 + : n.ms2mrc(t.ms)), + (t.mrc = l), + n.selectedSizeFn && (l = t.mrc = n.selectedSizeFn(t)); + var u = y.symbolNumber(t.mx || a.symbol) || 0; + (t.om = u % 200 >= 100), e.attr('d', _(u, l)); + } + var f, + h, + p, + d = !1; + if (t.so) + (p = o.outlierwidth), + (h = o.outliercolor), + (f = a.outliercolor); + else { + var g = (o || {}).width; + (p = + (t.mlw + 1 || + g + 1 || + (t.trace ? (t.trace.marker.line || {}).width : 0) + 1) - + 1 || 0), + (h = + 'mlc' in t + ? (t.mlcc = n.lineScale(t.mlc)) + : c.isArrayOrTypedArray(o.color) + ? s.defaultLine + : o.color), + c.isArrayOrTypedArray(a.color) && + ((f = s.defaultLine), (d = !0)), + (f = + 'mc' in t + ? (t.mcc = n.markerScale(t.mc)) + : a.color || 'rgba(0,0,0,0)'), + n.selectedColorFn && (f = n.selectedColorFn(t)); + } + if (t.om) + e.call(s.stroke, f).style({ + 'stroke-width': (p || 1) + 'px', + fill: 'none', + }); + else { + e.style('stroke-width', (t.isBlank ? 0 : p) + 'px'); + var m = a.gradient, + v = t.mgt; + if ( + (v ? (d = !0) : (v = m && m.type), + Array.isArray(v) && ((v = v[0]), M[v] || (v = 0)), + v && 'none' !== v) + ) { + var x = t.mgc; + x ? (d = !0) : (x = m.color); + var b = r.uid; + d && (b += '-' + t.i), + y.gradient( + e, + i, + b, + v, + [ + [0, x], + [1, f], + ], + 'fill' + ); + } else s.fill(e, f); + p && s.stroke(e, h); + } + }), + (y.makePointStyleFns = function (t) { + var e = {}, + r = t.marker; + return ( + (e.markerScale = y.tryColorscale(r, '')), + (e.lineScale = y.tryColorscale(r, 'line')), + o.traceIs(t, 'symbols') && + (e.ms2mrc = g.isBubble(t) + ? m(t) + : function () { + return (r.size || 6) / 2; + }), + t.selectedpoints && + c.extendFlat(e, y.makeSelectedPointStyleFns(t)), + e + ); + }), + (y.makeSelectedPointStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.marker || {}, + a = r.marker || {}, + s = n.marker || {}, + l = i.opacity, + u = a.opacity, + f = s.opacity, + h = void 0 !== u, + p = void 0 !== f; + (c.isArrayOrTypedArray(l) || h || p) && + (e.selectedOpacityFn = function (t) { + var e = void 0 === t.mo ? i.opacity : t.mo; + return t.selected ? (h ? u : e) : p ? f : d * e; + }); + var g = i.color, + m = a.color, + v = s.color; + (m || v) && + (e.selectedColorFn = function (t) { + var e = t.mcc || g; + return t.selected ? m || e : v || e; + }); + var y = i.size, + x = a.size, + b = s.size, + _ = void 0 !== x, + w = void 0 !== b; + return ( + o.traceIs(t, 'symbols') && + (_ || w) && + (e.selectedSizeFn = function (t) { + var e = t.mrc || y / 2; + return t.selected ? (_ ? x / 2 : e) : w ? b / 2 : e; + }), + e + ); + }), + (y.makeSelectedTextStyleFns = function (t) { + var e = {}, + r = t.selected || {}, + n = t.unselected || {}, + i = t.textfont || {}, + a = r.textfont || {}, + o = n.textfont || {}, + l = i.color, + c = a.color, + u = o.color; + return ( + (e.selectedTextColorFn = function (t) { + var e = t.tc || l; + return t.selected + ? c || e + : u || (c ? e : s.addOpacity(e, d)); + }), + e + ); + }), + (y.selectedPointStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = y.makeSelectedPointStyleFns(e), + i = e.marker || {}, + a = []; + r.selectedOpacityFn && + a.push(function (t, e) { + t.style('opacity', r.selectedOpacityFn(e)); + }), + r.selectedColorFn && + a.push(function (t, e) { + s.fill(t, r.selectedColorFn(e)); + }), + r.selectedSizeFn && + a.push(function (t, e) { + var n = e.mx || i.symbol || 0, + a = r.selectedSizeFn(e); + t.attr('d', _(y.symbolNumber(n), a)), (e.mrc2 = a); + }), + a.length && + t.each(function (t) { + for (var e = n.select(this), r = 0; r < a.length; r++) + a[r](e, t); + }); + } + }), + (y.tryColorscale = function (t, e) { + var r = e ? c.nestedProperty(t, e).get() : t; + if (r) { + var n = r.color; + if ((r.colorscale || r._colorAx) && c.isArrayOrTypedArray(n)) + return l.makeColorScaleFuncFromTrace(r); + } + return c.identity; + }); + var A = { start: 1, end: -1, middle: 0, bottom: 1, top: -1 }; + function S(t, e, r, i) { + var a = n.select(t.node().parentNode), + o = + -1 !== e.indexOf('top') + ? 'top' + : -1 !== e.indexOf('bottom') + ? 'bottom' + : 'middle', + s = + -1 !== e.indexOf('left') + ? 'end' + : -1 !== e.indexOf('right') + ? 'start' + : 'middle', + l = i ? i / 0.8 + 1 : 0, + c = (f.lineCount(t) - 1) * p + 1, + h = A[s] * l, + d = 0.75 * r + A[o] * l + ((A[o] - 1) * c * r) / 2; + t.attr('text-anchor', s), a.attr('transform', u(h, d)); + } + function E(t, e) { + var r = t.ts || e.textfont.size; + return i(r) && r > 0 ? r : 0; + } + (y.textPointStyle = function (t, e, r) { + if (t.size()) { + var i; + if (e.selectedpoints) { + var a = y.makeSelectedTextStyleFns(e); + i = a.selectedTextColorFn; + } + var o = e.texttemplate, + s = r._fullLayout; + t.each(function (t) { + var a = n.select(this), + l = o + ? c.extractOption(t, e, 'txt', 'texttemplate') + : c.extractOption(t, e, 'tx', 'text'); + if (l || 0 === l) { + if (o) { + var u = e._module.formatLabels + ? e._module.formatLabels(t, e, s) + : {}, + h = {}; + v(h, e, t.i); + var p = e._meta || {}; + l = c.texttemplateString(l, u, s._d3locale, h, t, p); + } + var d = t.tp || e.textposition, + g = E(t, e), + m = i ? i(t) : t.tc || e.textfont.color; + a.call(y.font, t.tf || e.textfont.family, g, m) + .text(l) + .call(f.convertToTspans, r) + .call(S, d, g, t.mrc); + } else a.remove(); + }); + } + }), + (y.selectedTextStyle = function (t, e) { + if (t.size() && e.selectedpoints) { + var r = y.makeSelectedTextStyleFns(e); + t.each(function (t) { + var i = n.select(this), + a = r.selectedTextColorFn(t), + o = t.tp || e.textposition, + l = E(t, e); + s.fill(i, a), S(i, o, l, t.mrc2 || t.mrc); + }); + } + }); + function C(t, e, r, i) { + var a = t[0] - e[0], + o = t[1] - e[1], + s = r[0] - e[0], + l = r[1] - e[1], + c = Math.pow(a * a + o * o, 0.25), + u = Math.pow(s * s + l * l, 0.25), + f = (u * u * a - c * c * s) * i, + h = (u * u * o - c * c * l) * i, + p = 3 * u * (c + u), + d = 3 * c * (c + u); + return [ + [ + n.round(e[0] + (p && f / p), 2), + n.round(e[1] + (p && h / p), 2), + ], + [ + n.round(e[0] - (d && f / d), 2), + n.round(e[1] - (d && h / d), 2), + ], + ]; + } + (y.smoothopen = function (t, e) { + if (t.length < 3) return 'M' + t.join('L'); + var r, + n = 'M' + t[0], + i = []; + for (r = 1; r < t.length - 1; r++) + i.push(C(t[r - 1], t[r], t[r + 1], e)); + for (n += 'Q' + i[0][0] + ' ' + t[1], r = 2; r < t.length - 1; r++) + n += 'C' + i[r - 2][1] + ' ' + i[r - 1][0] + ' ' + t[r]; + return (n += 'Q' + i[t.length - 3][1] + ' ' + t[t.length - 1]); + }), + (y.smoothclosed = function (t, e) { + if (t.length < 3) return 'M' + t.join('L') + 'Z'; + var r, + n = 'M' + t[0], + i = t.length - 1, + a = [C(t[i], t[0], t[1], e)]; + for (r = 1; r < i; r++) a.push(C(t[r - 1], t[r], t[r + 1], e)); + for (a.push(C(t[i - 1], t[i], t[0], e)), r = 1; r <= i; r++) + n += 'C' + a[r - 1][1] + ' ' + a[r][0] + ' ' + t[r]; + return (n += 'C' + a[i][1] + ' ' + a[0][0] + ' ' + t[0] + 'Z'); + }); + var L = { + hv: function (t, e) { + return 'H' + n.round(e[0], 2) + 'V' + n.round(e[1], 2); + }, + vh: function (t, e) { + return 'V' + n.round(e[1], 2) + 'H' + n.round(e[0], 2); + }, + hvh: function (t, e) { + return ( + 'H' + + n.round((t[0] + e[0]) / 2, 2) + + 'V' + + n.round(e[1], 2) + + 'H' + + n.round(e[0], 2) + ); + }, + vhv: function (t, e) { + return ( + 'V' + + n.round((t[1] + e[1]) / 2, 2) + + 'H' + + n.round(e[0], 2) + + 'V' + + n.round(e[1], 2) + ); + }, + }, + I = function (t, e) { + return 'L' + n.round(e[0], 2) + ',' + n.round(e[1], 2); + }; + (y.steps = function (t) { + var e = L[t] || I; + return function (t) { + for ( + var r = 'M' + n.round(t[0][0], 2) + ',' + n.round(t[0][1], 2), + i = 1; + i < t.length; + i++ + ) + r += e(t[i - 1], t[i]); + return r; + }; + }), + (y.makeTester = function () { + var t = c.ensureSingleById( + n.select('body'), + 'svg', + 'js-plotly-tester', + function (t) { + t.attr(h.svgAttrs).style({ + position: 'absolute', + left: '-10000px', + top: '-10000px', + width: '9000px', + height: '9000px', + 'z-index': '1', + }); + } + ), + e = c.ensureSingle( + t, + 'path', + 'js-reference-point', + function (t) { + t.attr('d', 'M0,0H1V1H0Z').style({ + 'stroke-width': 0, + fill: 'black', + }); + } + ); + (y.tester = t), (y.testref = e); + }), + (y.savedBBoxes = {}); + var P = 0; + function z(t) { + var e = t.getAttribute('data-unformatted'); + if (null !== e) + return ( + e + + t.getAttribute('data-math') + + t.getAttribute('text-anchor') + + t.getAttribute('style') + ); + } + function O(t, e) { + if (!t) return null; + var r = e._context; + return ( + "url('" + + (r._exportedPlot ? '' : r._baseUrl || '') + + '#' + + t + + "')" + ); + } + (y.bBox = function (t, e, r) { + var i, a, o; + if ((r || (r = z(t)), r)) { + if ((i = y.savedBBoxes[r])) return c.extendFlat({}, i); + } else if (1 === t.childNodes.length) { + var s = t.childNodes[0]; + if ((r = z(s))) { + var l = +s.getAttribute('x') || 0, + u = +s.getAttribute('y') || 0, + h = s.getAttribute('transform'); + if (!h) { + var p = y.bBox(s, !1, r); + return ( + l && ((p.left += l), (p.right += l)), + u && ((p.top += u), (p.bottom += u)), + p + ); + } + if ( + ((r += '~' + l + '~' + u + '~' + h), (i = y.savedBBoxes[r])) + ) + return c.extendFlat({}, i); + } + } + e + ? (a = t) + : ((o = y.tester.node()), + (a = t.cloneNode(!0)), + o.appendChild(a)), + n.select(a).attr('transform', null).call(f.positionText, 0, 0); + var d = a.getBoundingClientRect(), + g = y.testref.node().getBoundingClientRect(); + e || o.removeChild(a); + var m = { + height: d.height, + width: d.width, + left: d.left - g.left, + top: d.top - g.top, + right: d.right - g.left, + bottom: d.bottom - g.top, + }; + return ( + P >= 1e4 && ((y.savedBBoxes = {}), (P = 0)), + r && (y.savedBBoxes[r] = m), + P++, + c.extendFlat({}, m) + ); + }), + (y.setClipUrl = function (t, e, r) { + t.attr('clip-path', O(e, r)); + }), + (y.getTranslate = function (t) { + var e = (t[t.attr ? 'attr' : 'getAttribute']('transform') || '') + .replace( + /.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/, + function (t, e, r) { + return [e, r].join(' '); + } + ) + .split(' '); + return { x: +e[0] || 0, y: +e[1] || 0 }; + }), + (y.setTranslate = function (t, e, r) { + var n = t.attr ? 'attr' : 'getAttribute', + i = t.attr ? 'attr' : 'setAttribute', + a = t[n]('transform') || ''; + return ( + (e = e || 0), + (r = r || 0), + (a = a.replace(/(\btranslate\(.*?\);?)/, '').trim()), + (a = (a += u(e, r)).trim()), + t[i]('transform', a), + a + ); + }), + (y.getScale = function (t) { + var e = (t[t.attr ? 'attr' : 'getAttribute']('transform') || '') + .replace( + /.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/, + function (t, e, r) { + return [e, r].join(' '); + } + ) + .split(' '); + return { x: +e[0] || 1, y: +e[1] || 1 }; + }), + (y.setScale = function (t, e, r) { + var n = t.attr ? 'attr' : 'getAttribute', + i = t.attr ? 'attr' : 'setAttribute', + a = t[n]('transform') || ''; + return ( + (e = e || 1), + (r = r || 1), + (a = a.replace(/(\bscale\(.*?\);?)/, '').trim()), + (a = (a += 'scale(' + e + ',' + r + ')').trim()), + t[i]('transform', a), + a + ); + }); + var D = /\s*sc.*/; + y.setPointGroupScale = function (t, e, r) { + if (((e = e || 1), (r = r || 1), t)) { + var n = 1 === e && 1 === r ? '' : 'scale(' + e + ',' + r + ')'; + t.each(function () { + var t = (this.getAttribute('transform') || '').replace(D, ''); + (t = (t += n).trim()), this.setAttribute('transform', t); + }); + } + }; + var R = /translate\([^)]*\)\s*$/; + y.setTextPointsScale = function (t, e, r) { + t && + t.each(function () { + var t, + i = n.select(this), + a = i.select('text'); + if (a.node()) { + var o = parseFloat(a.attr('x') || 0), + s = parseFloat(a.attr('y') || 0), + l = (i.attr('transform') || '').match(R); + (t = + 1 === e && 1 === r + ? [] + : [u(o, s), 'scale(' + e + ',' + r + ')', u(-o, -s)]), + l && t.push(l), + i.attr('transform', t.join('')); + } + }); + }; + }, + { + '../../components/fx/helpers': 679, + '../../constants/alignment': 745, + '../../constants/interactions': 752, + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../registry': 911, + '../../traces/scatter/make_bubble_size_func': 1204, + '../../traces/scatter/subtypes': 1212, + '../color': 643, + '../colorscale': 655, + './symbol_defs': 666, + d3: 169, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 666: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'); + e.exports = { + circle: { + n: 0, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M' + + e + + ',0A' + + e + + ',' + + e + + ' 0 1,1 0,-' + + e + + 'A' + + e + + ',' + + e + + ' 0 0,1 ' + + e + + ',0Z' + ); + }, + }, + square: { + n: 1, + f: function (t) { + var e = n.round(t, 2); + return 'M' + e + ',' + e + 'H-' + e + 'V-' + e + 'H' + e + 'Z'; + }, + }, + diamond: { + n: 2, + f: function (t) { + var e = n.round(1.3 * t, 2); + return 'M' + e + ',0L0,' + e + 'L-' + e + ',0L0,-' + e + 'Z'; + }, + }, + cross: { + n: 3, + f: function (t) { + var e = n.round(0.4 * t, 2), + r = n.round(1.2 * t, 2); + return ( + 'M' + + r + + ',' + + e + + 'H' + + e + + 'V' + + r + + 'H-' + + e + + 'V' + + e + + 'H-' + + r + + 'V-' + + e + + 'H-' + + e + + 'V-' + + r + + 'H' + + e + + 'V-' + + e + + 'H' + + r + + 'Z' + ); + }, + }, + x: { + n: 4, + f: function (t) { + var e = n.round((0.8 * t) / Math.sqrt(2), 2), + r = 'l' + e + ',' + e, + i = 'l' + e + ',-' + e, + a = 'l-' + e + ',-' + e, + o = 'l-' + e + ',' + e; + return ( + 'M0,' + e + r + i + a + i + a + o + a + o + r + o + r + 'Z' + ); + }, + }, + 'triangle-up': { + n: 5, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + 'M-' + + e + + ',' + + n.round(t / 2, 2) + + 'H' + + e + + 'L0,-' + + n.round(t, 2) + + 'Z' + ); + }, + }, + 'triangle-down': { + n: 6, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + 'M-' + + e + + ',-' + + n.round(t / 2, 2) + + 'H' + + e + + 'L0,' + + n.round(t, 2) + + 'Z' + ); + }, + }, + 'triangle-left': { + n: 7, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + 'M' + + n.round(t / 2, 2) + + ',-' + + e + + 'V' + + e + + 'L-' + + n.round(t, 2) + + ',0Z' + ); + }, + }, + 'triangle-right': { + n: 8, + f: function (t) { + var e = n.round((2 * t) / Math.sqrt(3), 2); + return ( + 'M-' + + n.round(t / 2, 2) + + ',-' + + e + + 'V' + + e + + 'L' + + n.round(t, 2) + + ',0Z' + ); + }, + }, + 'triangle-ne': { + n: 9, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return 'M-' + r + ',-' + e + 'H' + e + 'V' + r + 'Z'; + }, + }, + 'triangle-se': { + n: 10, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return 'M' + e + ',-' + r + 'V' + e + 'H-' + r + 'Z'; + }, + }, + 'triangle-sw': { + n: 11, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return 'M' + r + ',' + e + 'H-' + e + 'V-' + r + 'Z'; + }, + }, + 'triangle-nw': { + n: 12, + f: function (t) { + var e = n.round(0.6 * t, 2), + r = n.round(1.2 * t, 2); + return 'M-' + e + ',' + r + 'V-' + e + 'H' + r + 'Z'; + }, + }, + pentagon: { + n: 13, + f: function (t) { + var e = n.round(0.951 * t, 2), + r = n.round(0.588 * t, 2), + i = n.round(-t, 2), + a = n.round(-0.309 * t, 2); + return ( + 'M' + + e + + ',' + + a + + 'L' + + r + + ',' + + n.round(0.809 * t, 2) + + 'H-' + + r + + 'L-' + + e + + ',' + + a + + 'L0,' + + i + + 'Z' + ); + }, + }, + hexagon: { + n: 14, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / 2, 2), + i = n.round((t * Math.sqrt(3)) / 2, 2); + return ( + 'M' + + i + + ',-' + + r + + 'V' + + r + + 'L0,' + + e + + 'L-' + + i + + ',' + + r + + 'V-' + + r + + 'L0,-' + + e + + 'Z' + ); + }, + }, + hexagon2: { + n: 15, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / 2, 2), + i = n.round((t * Math.sqrt(3)) / 2, 2); + return ( + 'M-' + + r + + ',' + + i + + 'H' + + r + + 'L' + + e + + ',0L' + + r + + ',-' + + i + + 'H-' + + r + + 'L-' + + e + + ',0Z' + ); + }, + }, + octagon: { + n: 16, + f: function (t) { + var e = n.round(0.924 * t, 2), + r = n.round(0.383 * t, 2); + return ( + 'M-' + + r + + ',-' + + e + + 'H' + + r + + 'L' + + e + + ',-' + + r + + 'V' + + r + + 'L' + + r + + ',' + + e + + 'H-' + + r + + 'L-' + + e + + ',' + + r + + 'V-' + + r + + 'Z' + ); + }, + }, + star: { + n: 17, + f: function (t) { + var e = 1.4 * t, + r = n.round(0.225 * e, 2), + i = n.round(0.951 * e, 2), + a = n.round(0.363 * e, 2), + o = n.round(0.588 * e, 2), + s = n.round(-e, 2), + l = n.round(-0.309 * e, 2), + c = n.round(0.118 * e, 2), + u = n.round(0.809 * e, 2); + return ( + 'M' + + r + + ',' + + l + + 'H' + + i + + 'L' + + a + + ',' + + c + + 'L' + + o + + ',' + + u + + 'L0,' + + n.round(0.382 * e, 2) + + 'L-' + + o + + ',' + + u + + 'L-' + + a + + ',' + + c + + 'L-' + + i + + ',' + + l + + 'H-' + + r + + 'L0,' + + s + + 'Z' + ); + }, + }, + hexagram: { + n: 18, + f: function (t) { + var e = n.round(0.66 * t, 2), + r = n.round(0.38 * t, 2), + i = n.round(0.76 * t, 2); + return ( + 'M-' + + i + + ',0l-' + + r + + ',-' + + e + + 'h' + + i + + 'l' + + r + + ',-' + + e + + 'l' + + r + + ',' + + e + + 'h' + + i + + 'l-' + + r + + ',' + + e + + 'l' + + r + + ',' + + e + + 'h-' + + i + + 'l-' + + r + + ',' + + e + + 'l-' + + r + + ',-' + + e + + 'h-' + + i + + 'Z' + ); + }, + }, + 'star-triangle-up': { + n: 19, + f: function (t) { + var e = n.round(t * Math.sqrt(3) * 0.8, 2), + r = n.round(0.8 * t, 2), + i = n.round(1.6 * t, 2), + a = n.round(4 * t, 2), + o = 'A ' + a + ',' + a + ' 0 0 1 '; + return ( + 'M-' + + e + + ',' + + r + + o + + e + + ',' + + r + + o + + '0,-' + + i + + o + + '-' + + e + + ',' + + r + + 'Z' + ); + }, + }, + 'star-triangle-down': { + n: 20, + f: function (t) { + var e = n.round(t * Math.sqrt(3) * 0.8, 2), + r = n.round(0.8 * t, 2), + i = n.round(1.6 * t, 2), + a = n.round(4 * t, 2), + o = 'A ' + a + ',' + a + ' 0 0 1 '; + return ( + 'M' + + e + + ',-' + + r + + o + + '-' + + e + + ',-' + + r + + o + + '0,' + + i + + o + + e + + ',-' + + r + + 'Z' + ); + }, + }, + 'star-square': { + n: 21, + f: function (t) { + var e = n.round(1.1 * t, 2), + r = n.round(2 * t, 2), + i = 'A ' + r + ',' + r + ' 0 0 1 '; + return ( + 'M-' + + e + + ',-' + + e + + i + + '-' + + e + + ',' + + e + + i + + e + + ',' + + e + + i + + e + + ',-' + + e + + i + + '-' + + e + + ',-' + + e + + 'Z' + ); + }, + }, + 'star-diamond': { + n: 22, + f: function (t) { + var e = n.round(1.4 * t, 2), + r = n.round(1.9 * t, 2), + i = 'A ' + r + ',' + r + ' 0 0 1 '; + return ( + 'M-' + + e + + ',0' + + i + + '0,' + + e + + i + + e + + ',0' + + i + + '0,-' + + e + + i + + '-' + + e + + ',0Z' + ); + }, + }, + 'diamond-tall': { + n: 23, + f: function (t) { + var e = n.round(0.7 * t, 2), + r = n.round(1.4 * t, 2); + return 'M0,' + r + 'L' + e + ',0L0,-' + r + 'L-' + e + ',0Z'; + }, + }, + 'diamond-wide': { + n: 24, + f: function (t) { + var e = n.round(1.4 * t, 2), + r = n.round(0.7 * t, 2); + return 'M0,' + r + 'L' + e + ',0L0,-' + r + 'L-' + e + ',0Z'; + }, + }, + hourglass: { + n: 25, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M' + + e + + ',' + + e + + 'H-' + + e + + 'L' + + e + + ',-' + + e + + 'H-' + + e + + 'Z' + ); + }, + noDot: !0, + }, + bowtie: { + n: 26, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M' + + e + + ',' + + e + + 'V-' + + e + + 'L-' + + e + + ',' + + e + + 'V-' + + e + + 'Z' + ); + }, + noDot: !0, + }, + 'circle-cross': { + n: 27, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M0,' + + e + + 'V-' + + e + + 'M' + + e + + ',0H-' + + e + + 'M' + + e + + ',0A' + + e + + ',' + + e + + ' 0 1,1 0,-' + + e + + 'A' + + e + + ',' + + e + + ' 0 0,1 ' + + e + + ',0Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'circle-x': { + n: 28, + f: function (t) { + var e = n.round(t, 2), + r = n.round(t / Math.sqrt(2), 2); + return ( + 'M' + + r + + ',' + + r + + 'L-' + + r + + ',-' + + r + + 'M' + + r + + ',-' + + r + + 'L-' + + r + + ',' + + r + + 'M' + + e + + ',0A' + + e + + ',' + + e + + ' 0 1,1 0,-' + + e + + 'A' + + e + + ',' + + e + + ' 0 0,1 ' + + e + + ',0Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'square-cross': { + n: 29, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M0,' + + e + + 'V-' + + e + + 'M' + + e + + ',0H-' + + e + + 'M' + + e + + ',' + + e + + 'H-' + + e + + 'V-' + + e + + 'H' + + e + + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'square-x': { + n: 30, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M' + + e + + ',' + + e + + 'L-' + + e + + ',-' + + e + + 'M' + + e + + ',-' + + e + + 'L-' + + e + + ',' + + e + + 'M' + + e + + ',' + + e + + 'H-' + + e + + 'V-' + + e + + 'H' + + e + + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'diamond-cross': { + n: 31, + f: function (t) { + var e = n.round(1.3 * t, 2); + return ( + 'M' + + e + + ',0L0,' + + e + + 'L-' + + e + + ',0L0,-' + + e + + 'ZM0,-' + + e + + 'V' + + e + + 'M-' + + e + + ',0H' + + e + ); + }, + needLine: !0, + noDot: !0, + }, + 'diamond-x': { + n: 32, + f: function (t) { + var e = n.round(1.3 * t, 2), + r = n.round(0.65 * t, 2); + return ( + 'M' + + e + + ',0L0,' + + e + + 'L-' + + e + + ',0L0,-' + + e + + 'ZM-' + + r + + ',-' + + r + + 'L' + + r + + ',' + + r + + 'M-' + + r + + ',' + + r + + 'L' + + r + + ',-' + + r + ); + }, + needLine: !0, + noDot: !0, + }, + 'cross-thin': { + n: 33, + f: function (t) { + var e = n.round(1.4 * t, 2); + return 'M0,' + e + 'V-' + e + 'M' + e + ',0H-' + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'x-thin': { + n: 34, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M' + + e + + ',' + + e + + 'L-' + + e + + ',-' + + e + + 'M' + + e + + ',-' + + e + + 'L-' + + e + + ',' + + e + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + asterisk: { + n: 35, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(0.85 * t, 2); + return ( + 'M0,' + + e + + 'V-' + + e + + 'M' + + e + + ',0H-' + + e + + 'M' + + r + + ',' + + r + + 'L-' + + r + + ',-' + + r + + 'M' + + r + + ',-' + + r + + 'L-' + + r + + ',' + + r + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + hash: { + n: 36, + f: function (t) { + var e = n.round(t / 2, 2), + r = n.round(t, 2); + return ( + 'M' + + e + + ',' + + r + + 'V-' + + r + + 'm-' + + r + + ',0V' + + r + + 'M' + + r + + ',' + + e + + 'H-' + + r + + 'm0,-' + + r + + 'H' + + r + ); + }, + needLine: !0, + noFill: !0, + }, + 'y-up': { + n: 37, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + 'M-' + + e + + ',' + + i + + 'L0,0M' + + e + + ',' + + i + + 'L0,0M0,-' + + r + + 'L0,0' + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'y-down': { + n: 38, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + 'M-' + + e + + ',-' + + i + + 'L0,0M' + + e + + ',-' + + i + + 'L0,0M0,' + + r + + 'L0,0' + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'y-left': { + n: 39, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + 'M' + + i + + ',' + + e + + 'L0,0M' + + i + + ',-' + + e + + 'L0,0M-' + + r + + ',0L0,0' + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'y-right': { + n: 40, + f: function (t) { + var e = n.round(1.2 * t, 2), + r = n.round(1.6 * t, 2), + i = n.round(0.8 * t, 2); + return ( + 'M-' + + i + + ',' + + e + + 'L0,0M-' + + i + + ',-' + + e + + 'L0,0M' + + r + + ',0L0,0' + ); + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'line-ew': { + n: 41, + f: function (t) { + var e = n.round(1.4 * t, 2); + return 'M' + e + ',0H-' + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'line-ns': { + n: 42, + f: function (t) { + var e = n.round(1.4 * t, 2); + return 'M0,' + e + 'V-' + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'line-ne': { + n: 43, + f: function (t) { + var e = n.round(t, 2); + return 'M' + e + ',-' + e + 'L-' + e + ',' + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'line-nw': { + n: 44, + f: function (t) { + var e = n.round(t, 2); + return 'M' + e + ',' + e + 'L-' + e + ',-' + e; + }, + needLine: !0, + noDot: !0, + noFill: !0, + }, + 'arrow-up': { + n: 45, + f: function (t) { + var e = n.round(t, 2); + return 'M0,0L-' + e + ',' + n.round(2 * t, 2) + 'H' + e + 'Z'; + }, + noDot: !0, + }, + 'arrow-down': { + n: 46, + f: function (t) { + var e = n.round(t, 2); + return 'M0,0L-' + e + ',-' + n.round(2 * t, 2) + 'H' + e + 'Z'; + }, + noDot: !0, + }, + 'arrow-left': { + n: 47, + f: function (t) { + var e = n.round(2 * t, 2), + r = n.round(t, 2); + return 'M0,0L' + e + ',-' + r + 'V' + r + 'Z'; + }, + noDot: !0, + }, + 'arrow-right': { + n: 48, + f: function (t) { + var e = n.round(2 * t, 2), + r = n.round(t, 2); + return 'M0,0L-' + e + ',-' + r + 'V' + r + 'Z'; + }, + noDot: !0, + }, + 'arrow-bar-up': { + n: 49, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M-' + + e + + ',0H' + + e + + 'M0,0L-' + + e + + ',' + + n.round(2 * t, 2) + + 'H' + + e + + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'arrow-bar-down': { + n: 50, + f: function (t) { + var e = n.round(t, 2); + return ( + 'M-' + + e + + ',0H' + + e + + 'M0,0L-' + + e + + ',-' + + n.round(2 * t, 2) + + 'H' + + e + + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'arrow-bar-left': { + n: 51, + f: function (t) { + var e = n.round(2 * t, 2), + r = n.round(t, 2); + return ( + 'M0,-' + r + 'V' + r + 'M0,0L' + e + ',-' + r + 'V' + r + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + 'arrow-bar-right': { + n: 52, + f: function (t) { + var e = n.round(2 * t, 2), + r = n.round(t, 2); + return ( + 'M0,-' + r + 'V' + r + 'M0,0L-' + e + ',-' + r + 'V' + r + 'Z' + ); + }, + needLine: !0, + noDot: !0, + }, + }; + }, + { d3: 169 }, + ], + 667: [ + function (t, e, r) { + 'use strict'; + e.exports = { + visible: { valType: 'boolean', editType: 'calc' }, + type: { + valType: 'enumerated', + values: ['percent', 'constant', 'sqrt', 'data'], + editType: 'calc', + }, + symmetric: { valType: 'boolean', editType: 'calc' }, + array: { valType: 'data_array', editType: 'calc' }, + arrayminus: { valType: 'data_array', editType: 'calc' }, + value: { valType: 'number', min: 0, dflt: 10, editType: 'calc' }, + valueminus: { + valType: 'number', + min: 0, + dflt: 10, + editType: 'calc', + }, + traceref: { + valType: 'integer', + min: 0, + dflt: 0, + editType: 'style', + }, + tracerefminus: { + valType: 'integer', + min: 0, + dflt: 0, + editType: 'style', + }, + copy_ystyle: { valType: 'boolean', editType: 'plot' }, + copy_zstyle: { valType: 'boolean', editType: 'style' }, + color: { valType: 'color', editType: 'style' }, + thickness: { + valType: 'number', + min: 0, + dflt: 2, + editType: 'style', + }, + width: { valType: 'number', min: 0, editType: 'plot' }, + editType: 'calc', + _deprecated: { opacity: { valType: 'number', editType: 'style' } }, + }; + }, + {}, + ], + 668: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../registry'), + a = t('../../plots/cartesian/axes'), + o = t('../../lib'), + s = t('./compute_error'); + function l(t, e, r, i) { + var l = e['error_' + i] || {}, + c = []; + if (l.visible && -1 !== ['linear', 'log'].indexOf(r.type)) { + for (var u = s(l), f = 0; f < t.length; f++) { + var h = t[f], + p = h.i; + if (void 0 === p) p = f; + else if (null === p) continue; + var d = h[i]; + if (n(r.c2l(d))) { + var g = u(d, p); + if (n(g[0]) && n(g[1])) { + var m = (h[i + 's'] = d - g[0]), + v = (h[i + 'h'] = d + g[1]); + c.push(m, v); + } + } + } + var y = r._id, + x = e._extremes[y], + b = a.findExtremes( + r, + c, + o.extendFlat({ tozero: x.opts.tozero }, { padded: !0 }) + ); + (x.min = x.min.concat(b.min)), (x.max = x.max.concat(b.max)); + } + } + e.exports = function (t) { + for (var e = t.calcdata, r = 0; r < e.length; r++) { + var n = e[r], + o = n[0].trace; + if (!0 === o.visible && i.traceIs(o, 'errorBarsOK')) { + var s = a.getFromId(t, o.xaxis), + c = a.getFromId(t, o.yaxis); + l(n, o, s, 'x'), l(n, o, c, 'y'); + } + } + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + './compute_error': 669, + 'fast-isnumeric': 241, + }, + ], + 669: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + return 'percent' === t + ? function (t) { + return Math.abs((t * e) / 100); + } + : 'constant' === t + ? function () { + return Math.abs(e); + } + : 'sqrt' === t + ? function (t) { + return Math.sqrt(Math.abs(t)); + } + : void 0; + } + e.exports = function (t) { + var e = t.type, + r = t.symmetric; + if ('data' === e) { + var i = t.array || []; + if (r) + return function (t, e) { + var r = +i[e]; + return [r, r]; + }; + var a = t.arrayminus || []; + return function (t, e) { + var r = +i[e], + n = +a[e]; + return isNaN(r) && isNaN(n) ? [NaN, NaN] : [n || 0, r || 0]; + }; + } + var o = n(e, t.value), + s = n(e, t.valueminus); + return r || void 0 === t.valueminus + ? function (t) { + var e = o(t); + return [e, e]; + } + : function (t) { + return [s(t), o(t)]; + }; + }; + }, + {}, + ], + 670: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../registry'), + a = t('../../lib'), + o = t('../../plot_api/plot_template'), + s = t('./attributes'); + e.exports = function (t, e, r, l) { + var c = 'error_' + l.axis, + u = o.newContainer(e, c), + f = t[c] || {}; + function h(t, e) { + return a.coerce(f, u, s, t, e); + } + if ( + !1 !== + h( + 'visible', + void 0 !== f.array || void 0 !== f.value || 'sqrt' === f.type + ) + ) { + var p = h('type', 'array' in f ? 'data' : 'percent'), + d = !0; + 'sqrt' !== p && + (d = h( + 'symmetric', + !(('data' === p ? 'arrayminus' : 'valueminus') in f) + )), + 'data' === p + ? (h('array'), + h('traceref'), + d || (h('arrayminus'), h('tracerefminus'))) + : ('percent' !== p && 'constant' !== p) || + (h('value'), d || h('valueminus')); + var g = 'copy_' + l.inherit + 'style'; + if (l.inherit) + (e['error_' + l.inherit] || {}).visible && + h(g, !(f.color || n(f.thickness) || n(f.width))); + (l.inherit && u[g]) || + (h('color', r), + h('thickness'), + h('width', i.traceIs(e, 'gl3d') ? 0 : 4)); + } + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../registry': 911, + './attributes': 667, + 'fast-isnumeric': 241, + }, + ], + 671: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plot_api/edit_types').overrideAll, + a = t('./attributes'), + o = { error_x: n.extendFlat({}, a), error_y: n.extendFlat({}, a) }; + delete o.error_x.copy_zstyle, + delete o.error_y.copy_zstyle, + delete o.error_y.copy_ystyle; + var s = { + error_x: n.extendFlat({}, a), + error_y: n.extendFlat({}, a), + error_z: n.extendFlat({}, a), + }; + delete s.error_x.copy_ystyle, + delete s.error_y.copy_ystyle, + delete s.error_z.copy_ystyle, + delete s.error_z.copy_zstyle, + (e.exports = { + moduleType: 'component', + name: 'errorbars', + schema: { + traces: { + scatter: o, + bar: o, + histogram: o, + scatter3d: i(s, 'calc', 'nested'), + scattergl: i(o, 'calc', 'nested'), + }, + }, + supplyDefaults: t('./defaults'), + calc: t('./calc'), + makeComputeError: t('./compute_error'), + plot: t('./plot'), + style: t('./style'), + hoverInfo: function (t, e, r) { + (e.error_y || {}).visible && + ((r.yerr = t.yh - t.y), + e.error_y.symmetric || (r.yerrneg = t.y - t.ys)); + (e.error_x || {}).visible && + ((r.xerr = t.xh - t.x), + e.error_x.symmetric || (r.xerrneg = t.x - t.xs)); + }, + }); + }, + { + '../../lib': 778, + '../../plot_api/edit_types': 810, + './attributes': 667, + './calc': 668, + './compute_error': 669, + './defaults': 670, + './plot': 672, + './style': 673, + }, + ], + 672: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../drawing'), + o = t('../../traces/scatter/subtypes'); + e.exports = function (t, e, r, s) { + var l = r.xaxis, + c = r.yaxis, + u = s && s.duration > 0; + e.each(function (e) { + var f, + h = e[0].trace, + p = h.error_x || {}, + d = h.error_y || {}; + h.ids && + (f = function (t) { + return t.id; + }); + var g = o.hasMarkers(h) && h.marker.maxdisplayed > 0; + d.visible || p.visible || (e = []); + var m = n.select(this).selectAll('g.errorbar').data(e, f); + if ((m.exit().remove(), e.length)) { + p.visible || m.selectAll('path.xerror').remove(), + d.visible || m.selectAll('path.yerror').remove(), + m.style('opacity', 1); + var v = m.enter().append('g').classed('errorbar', !0); + u && + v + .style('opacity', 0) + .transition() + .duration(s.duration) + .style('opacity', 1), + a.setClipUrl(m, r.layerClipId, t), + m.each(function (t) { + var e = n.select(this), + r = (function (t, e, r) { + var n = { x: e.c2p(t.x), y: r.c2p(t.y) }; + void 0 !== t.yh && + ((n.yh = r.c2p(t.yh)), + (n.ys = r.c2p(t.ys)), + i(n.ys) || ((n.noYS = !0), (n.ys = r.c2p(t.ys, !0)))); + void 0 !== t.xh && + ((n.xh = e.c2p(t.xh)), + (n.xs = e.c2p(t.xs)), + i(n.xs) || ((n.noXS = !0), (n.xs = e.c2p(t.xs, !0)))); + return n; + })(t, l, c); + if (!g || t.vis) { + var a, + o = e.select('path.yerror'); + if (d.visible && i(r.x) && i(r.yh) && i(r.ys)) { + var f = d.width; + (a = + 'M' + + (r.x - f) + + ',' + + r.yh + + 'h' + + 2 * f + + 'm-' + + f + + ',0V' + + r.ys), + r.noYS || (a += 'm-' + f + ',0h' + 2 * f), + !o.size() + ? (o = e + .append('path') + .style('vector-effect', 'non-scaling-stroke') + .classed('yerror', !0)) + : u && + (o = o + .transition() + .duration(s.duration) + .ease(s.easing)), + o.attr('d', a); + } else o.remove(); + var h = e.select('path.xerror'); + if (p.visible && i(r.y) && i(r.xh) && i(r.xs)) { + var m = (p.copy_ystyle ? d : p).width; + (a = + 'M' + + r.xh + + ',' + + (r.y - m) + + 'v' + + 2 * m + + 'm0,-' + + m + + 'H' + + r.xs), + r.noXS || (a += 'm0,-' + m + 'v' + 2 * m), + !h.size() + ? (h = e + .append('path') + .style('vector-effect', 'non-scaling-stroke') + .classed('xerror', !0)) + : u && + (h = h + .transition() + .duration(s.duration) + .ease(s.easing)), + h.attr('d', a); + } else h.remove(); + } + }); + } + }); + }; + }, + { + '../../traces/scatter/subtypes': 1212, + '../drawing': 665, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 673: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../color'); + e.exports = function (t) { + t.each(function (t) { + var e = t[0].trace, + r = e.error_y || {}, + a = e.error_x || {}, + o = n.select(this); + o + .selectAll('path.yerror') + .style('stroke-width', r.thickness + 'px') + .call(i.stroke, r.color), + a.copy_ystyle && (a = r), + o + .selectAll('path.xerror') + .style('stroke-width', a.thickness + 'px') + .call(i.stroke, a.color); + }); + }; + }, + { '../color': 643, d3: 169 }, + ], + 674: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('./layout_attributes').hoverlabel, + a = t('../../lib/extend').extendFlat; + e.exports = { + hoverlabel: { + bgcolor: a({}, i.bgcolor, { arrayOk: !0 }), + bordercolor: a({}, i.bordercolor, { arrayOk: !0 }), + font: n({ arrayOk: !0, editType: 'none' }), + align: a({}, i.align, { arrayOk: !0 }), + namelength: a({}, i.namelength, { arrayOk: !0 }), + editType: 'none', + }, + }; + }, + { + '../../lib/extend': 768, + '../../plots/font_attributes': 856, + './layout_attributes': 684, + }, + ], + 675: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'); + function a(t, e, r, i) { + (i = i || n.identity), Array.isArray(t) && (e[0][r] = i(t)); + } + e.exports = function (t) { + var e = t.calcdata, + r = t._fullLayout; + function o(t) { + return function (e) { + return n.coerceHoverinfo( + { hoverinfo: e }, + { _module: t._module }, + r + ); + }; + } + for (var s = 0; s < e.length; s++) { + var l = e[s], + c = l[0].trace; + if (!i.traceIs(c, 'pie-like')) { + var u = i.traceIs(c, '2dMap') ? a : n.fillArray; + u(c.hoverinfo, l, 'hi', o(c)), + c.hovertemplate && u(c.hovertemplate, l, 'ht'), + c.hoverlabel && + (u(c.hoverlabel.bgcolor, l, 'hbg'), + u(c.hoverlabel.bordercolor, l, 'hbc'), + u(c.hoverlabel.font.size, l, 'hts'), + u(c.hoverlabel.font.color, l, 'htc'), + u(c.hoverlabel.font.family, l, 'htf'), + u(c.hoverlabel.namelength, l, 'hnl'), + u(c.hoverlabel.align, l, 'hta')); + } + } + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 676: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('./hover').hover; + e.exports = function (t, e, r) { + var a = n.getComponentMethod('annotations', 'onClick')( + t, + t._hoverdata + ); + function o() { + t.emit('plotly_click', { points: t._hoverdata, event: e }); + } + void 0 !== r && i(t, e, r, !0), + t._hoverdata && + e && + e.target && + (a && a.then ? a.then(o) : o(), + e.stopImmediatePropagation && e.stopImmediatePropagation()); + }; + }, + { '../../registry': 911, './hover': 680 }, + ], + 677: [ + function (t, e, r) { + 'use strict'; + e.exports = { + YANGLE: 60, + HOVERARROWSIZE: 6, + HOVERTEXTPAD: 3, + HOVERFONTSIZE: 13, + HOVERFONT: 'Arial, sans-serif', + HOVERMINTIME: 50, + HOVERID: '-hover', + }; + }, + {}, + ], + 678: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('./hoverlabel_defaults'); + e.exports = function (t, e, r, o) { + var s = n.extendFlat({}, o.hoverlabel); + e.hovertemplate && (s.namelength = -1), + a( + t, + e, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + s + ); + }; + }, + { '../../lib': 778, './attributes': 674, './hoverlabel_defaults': 681 }, + ], + 679: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + (r.getSubplot = function (t) { + return t.subplot || t.xaxis + t.yaxis || t.geo; + }), + (r.isTraceInSubplots = function (t, e) { + if ('splom' === t.type) { + for ( + var n = t.xaxes || [], i = t.yaxes || [], a = 0; + a < n.length; + a++ + ) + for (var o = 0; o < i.length; o++) + if (-1 !== e.indexOf(n[a] + i[o])) return !0; + return !1; + } + return -1 !== e.indexOf(r.getSubplot(t)); + }), + (r.flat = function (t, e) { + for (var r = new Array(t.length), n = 0; n < t.length; n++) + r[n] = e; + return r; + }), + (r.p2c = function (t, e) { + for (var r = new Array(t.length), n = 0; n < t.length; n++) + r[n] = t[n].p2c(e); + return r; + }), + (r.getDistanceFunction = function (t, e, n, i) { + return 'closest' === t + ? i || r.quadrature(e, n) + : 'x' === t.charAt(0) + ? e + : n; + }), + (r.getClosest = function (t, e, r) { + if (!1 !== r.index) + r.index >= 0 && r.index < t.length + ? (r.distance = 0) + : (r.index = !1); + else + for (var n = 0; n < t.length; n++) { + var i = e(t[n]); + i <= r.distance && ((r.index = n), (r.distance = i)); + } + return r; + }), + (r.inbox = function (t, e, r) { + return t * e < 0 || 0 === t ? r : 1 / 0; + }), + (r.quadrature = function (t, e) { + return function (r) { + var n = t(r), + i = e(r); + return Math.sqrt(n * n + i * i); + }; + }), + (r.makeEventData = function (t, e, n) { + var i = 'index' in t ? t.index : t.pointNumber, + a = { + data: e._input, + fullData: e, + curveNumber: e.index, + pointNumber: i, + }; + if (e._indexToPoints) { + var o = e._indexToPoints[i]; + 1 === o.length ? (a.pointIndex = o[0]) : (a.pointIndices = o); + } else a.pointIndex = i; + return ( + e._module.eventData + ? (a = e._module.eventData(a, t, e, n, i)) + : ('xVal' in t ? (a.x = t.xVal) : 'x' in t && (a.x = t.x), + 'yVal' in t ? (a.y = t.yVal) : 'y' in t && (a.y = t.y), + t.xa && (a.xaxis = t.xa), + t.ya && (a.yaxis = t.ya), + void 0 !== t.zLabelVal && (a.z = t.zLabelVal)), + r.appendArrayPointValue(a, e, i), + a + ); + }), + (r.appendArrayPointValue = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + c = a(l); + if (void 0 === t[c]) { + var u = o(n.nestedProperty(e, l).get(), r); + void 0 !== u && (t[c] = u); + } + } + }), + (r.appendArrayMultiPointValues = function (t, e, r) { + var i = e._arrayAttrs; + if (i) + for (var s = 0; s < i.length; s++) { + var l = i[s], + c = a(l); + if (void 0 === t[c]) { + for ( + var u = n.nestedProperty(e, l).get(), + f = new Array(r.length), + h = 0; + h < r.length; + h++ + ) + f[h] = o(u, r[h]); + t[c] = f; + } + } + }); + var i = { + ids: 'id', + locations: 'location', + labels: 'label', + values: 'value', + 'marker.colors': 'color', + parents: 'parent', + }; + function a(t) { + return i[t] || t; + } + function o(t, e) { + return Array.isArray(e) + ? Array.isArray(t) && Array.isArray(t[e[0]]) + ? t[e[0]][e[1]] + : void 0 + : t[e]; + } + var s = { x: !0, y: !0 }, + l = { 'x unified': !0, 'y unified': !0 }; + (r.isUnifiedHover = function (t) { + return 'string' == typeof t && !!l[t]; + }), + (r.isXYhover = function (t) { + return 'string' == typeof t && !!s[t]; + }); + }, + { '../../lib': 778 }, + ], + 680: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('tinycolor2'), + o = t('../../lib'), + s = o.strTranslate, + l = o.strRotate, + c = t('../../lib/events'), + u = t('../../lib/svg_text_utils'), + f = t('../../lib/override_cursor'), + h = t('../drawing'), + p = t('../color'), + d = t('../dragelement'), + g = t('../../plots/cartesian/axes'), + m = t('../../registry'), + v = t('./helpers'), + y = t('./constants'), + x = t('../legend/defaults'), + b = t('../legend/draw'), + _ = y.YANGLE, + w = (Math.PI * _) / 180, + T = 1 / Math.sin(w), + k = Math.cos(w), + M = Math.sin(w), + A = y.HOVERARROWSIZE, + S = y.HOVERTEXTPAD; + function E(t) { + return [ + t.trace.index, + t.index, + t.x0, + t.y0, + t.name, + t.attr, + t.xa, + t.ya || '', + ].join(','); + } + (r.hover = function (t, e, r, a) { + (t = o.getGraphDiv(t)), + o.throttle( + t._fullLayout._uid + y.HOVERID, + y.HOVERMINTIME, + function () { + !(function (t, e, r, a) { + r || (r = 'xy'); + var s = Array.isArray(r) ? r : [r], + l = t._fullLayout, + u = l._plots || [], + h = u[r], + g = l._has('cartesian'); + if (h) { + var y = h.overlays.map(function (t) { + return t.id; + }); + s = s.concat(y); + } + for ( + var x = s.length, + b = new Array(x), + _ = new Array(x), + w = !1, + k = 0; + k < x; + k++ + ) { + var M = s[k]; + if (u[M]) + (w = !0), (b[k] = u[M].xaxis), (_[k] = u[M].yaxis); + else { + if (!l[M] || !l[M]._subplot) + return void o.warn('Unrecognized subplot: ' + M); + var A = l[M]._subplot; + (b[k] = A.xaxis), (_[k] = A.yaxis); + } + } + var S = e.hovermode || l.hovermode; + S && !w && (S = 'closest'); + if ( + -1 === + ['x', 'y', 'closest', 'x unified', 'y unified'].indexOf( + S + ) || + !t.calcdata || + t.querySelector('.zoombox') || + t._dragging + ) + return d.unhoverRaw(t, e); + var C, + I, + R, + F, + B, + N, + j, + U, + V, + q, + H, + G, + Y, + W = -1 === l.hoverdistance ? 1 / 0 : l.hoverdistance, + X = -1 === l.spikedistance ? 1 / 0 : l.spikedistance, + Z = [], + J = [], + K = { hLinePoint: null, vLinePoint: null }, + Q = !1; + if (Array.isArray(e)) + for (S = 'array', R = 0; R < e.length; R++) + (B = t.calcdata[e[R].curveNumber || 0]) && + ((N = B[0].trace), + 'skip' !== B[0].trace.hoverinfo && + (J.push(B), 'h' === N.orientation && (Q = !0))); + else { + for (F = 0; F < t.calcdata.length; F++) + (B = t.calcdata[F]), + 'skip' !== (N = B[0].trace).hoverinfo && + v.isTraceInSubplots(N, s) && + (J.push(B), 'h' === N.orientation && (Q = !0)); + var $, tt; + if (!e.target) + ($ = 'xpx' in e ? e.xpx : b[0]._length / 2), + (tt = 'ypx' in e ? e.ypx : _[0]._length / 2); + else { + if (!1 === c.triggerHandler(t, 'plotly_beforehover', e)) + return; + var et = e.target.getBoundingClientRect(); + ($ = e.clientX - et.left), + (tt = e.clientY - et.top), + l._calcInverseTransform(t); + var rt = o.apply3DTransform(l._invTransform)($, tt); + if ( + (($ = rt[0]), + (tt = rt[1]), + $ < 0 || + $ > b[0]._length || + tt < 0 || + tt > _[0]._length) + ) + return d.unhoverRaw(t, e); + } + if ( + ((e.pointerX = $ + b[0]._offset), + (e.pointerY = tt + _[0]._offset), + (C = 'xval' in e ? v.flat(s, e.xval) : v.p2c(b, $)), + (I = 'yval' in e ? v.flat(s, e.yval) : v.p2c(_, tt)), + !i(C[0]) || !i(I[0])) + ) + return ( + o.warn('Fx.hover failed', e, t), d.unhoverRaw(t, e) + ); + } + var nt = 1 / 0; + function it(t, r) { + for (F = 0; F < J.length; F++) + if ( + (B = J[F]) && + B[0] && + B[0].trace && + !0 === (N = B[0].trace).visible && + 0 !== N._length && + -1 === + ['carpet', 'contourcarpet'].indexOf(N._module.name) + ) { + if ( + ('splom' === N.type + ? (j = s[(U = 0)]) + : ((j = v.getSubplot(N)), (U = s.indexOf(j))), + (V = S), + v.isUnifiedHover(V) && (V = V.charAt(0)), + (G = { + cd: B, + trace: N, + xa: b[U], + ya: _[U], + maxHoverDistance: W, + maxSpikeDistance: X, + index: !1, + distance: Math.min(nt, W), + spikeDistance: 1 / 0, + xSpike: void 0, + ySpike: void 0, + color: p.defaultLine, + name: N.name, + x0: void 0, + x1: void 0, + y0: void 0, + y1: void 0, + xLabelVal: void 0, + yLabelVal: void 0, + zLabelVal: void 0, + text: void 0, + }), + l[j] && (G.subplot = l[j]._subplot), + l._splomScenes && + l._splomScenes[N.uid] && + (G.scene = l._splomScenes[N.uid]), + (Y = Z.length), + 'array' === V) + ) { + var n = e[F]; + 'pointNumber' in n + ? ((G.index = n.pointNumber), (V = 'closest')) + : ((V = ''), + 'xval' in n && ((q = n.xval), (V = 'x')), + 'yval' in n && + ((H = n.yval), (V = V ? 'closest' : 'y'))); + } else + void 0 !== t && void 0 !== r + ? ((q = t), (H = r)) + : ((q = C[U]), (H = I[U])); + if (0 !== W) + if (N._module && N._module.hoverPoints) { + var a = N._module.hoverPoints( + G, + q, + H, + V, + l._hoverlayer + ); + if (a) + for (var c, u = 0; u < a.length; u++) + (c = a[u]), + i(c.x0) && i(c.y0) && Z.push(z(c, S)); + } else + o.log('Unrecognized trace type in hover:', N); + if ( + ('closest' === S && + Z.length > Y && + (Z.splice(0, Y), (nt = Z[0].distance)), + g && 0 !== X && 0 === Z.length) + ) { + (G.distance = X), (G.index = !1); + var f = N._module.hoverPoints( + G, + q, + H, + 'closest', + l._hoverlayer + ); + if ( + (f && + (f = f.filter(function (t) { + return t.spikeDistance <= X; + })), + f && f.length) + ) { + var h, + d = f.filter(function (t) { + return ( + t.xa.showspikes && + 'hovered data' !== t.xa.spikesnap + ); + }); + if (d.length) { + var m = d[0]; + i(m.x0) && + i(m.y0) && + ((h = ot(m)), + (!K.vLinePoint || + K.vLinePoint.spikeDistance > + h.spikeDistance) && + (K.vLinePoint = h)); + } + var y = f.filter(function (t) { + return ( + t.ya.showspikes && + 'hovered data' !== t.ya.spikesnap + ); + }); + if (y.length) { + var x = y[0]; + i(x.x0) && + i(x.y0) && + ((h = ot(x)), + (!K.hLinePoint || + K.hLinePoint.spikeDistance > + h.spikeDistance) && + (K.hLinePoint = h)); + } + } + } + } + } + function at(t, e) { + for (var r, n = null, i = 1 / 0, a = 0; a < t.length; a++) + (r = t[a].spikeDistance) <= i && + r <= e && + ((n = t[a]), (i = r)); + return n; + } + function ot(t) { + return t + ? { + xa: t.xa, + ya: t.ya, + x: + void 0 !== t.xSpike + ? t.xSpike + : (t.x0 + t.x1) / 2, + y: + void 0 !== t.ySpike + ? t.ySpike + : (t.y0 + t.y1) / 2, + distance: t.distance, + spikeDistance: t.spikeDistance, + curveNumber: t.trace.index, + color: t.color, + pointNumber: t.index, + } + : null; + } + it(); + var st = { + fullLayout: l, + container: l._hoverlayer, + outerContainer: l._paperdiv, + event: e, + }, + lt = t._spikepoints, + ct = { + vLinePoint: K.vLinePoint, + hLinePoint: K.hLinePoint, + }; + if ( + ((t._spikepoints = ct), g && 0 !== X && 0 !== Z.length) + ) { + var ut = at( + Z.filter(function (t) { + return t.ya.showspikes; + }), + X + ); + K.hLinePoint = ot(ut); + var ft = at( + Z.filter(function (t) { + return t.xa.showspikes; + }), + X + ); + K.vLinePoint = ot(ft); + } + if (0 === Z.length) { + var ht = d.unhoverRaw(t, e); + return ( + !g || + (null === K.hLinePoint && null === K.vLinePoint) || + (D(lt) && O(t, K, st)), + ht + ); + } + g && D(lt) && O(t, K, st); + if ( + (Z.sort(function (t, e) { + return t.distance - e.distance; + }), + v.isXYhover(V) && + 0 !== Z[0].length && + 'splom' !== Z[0].trace.type) + ) { + var pt = Z[0], + dt = pt.cd[pt.index], + gt = 'group' === l.boxmode || 'group' === l.violinmode, + mt = pt.xVal, + vt = pt.xa; + 'category' === vt.type && (mt = vt._categoriesMap[mt]), + 'date' === vt.type && (mt = vt.d2c(mt)), + dt && + dt.t && + dt.t.posLetter === vt._id && + gt && + (mt += dt.t.dPos); + var yt = pt.yVal; + 'category' === (vt = pt.ya).type && + (yt = vt._categoriesMap[yt]), + 'date' === vt.type && (yt = vt.d2c(yt)), + dt && + dt.t && + dt.t.posLetter === vt._id && + gt && + (yt += dt.t.dPos), + it(mt, yt); + var xt = {}; + Z = Z.filter(function (t) { + var e = E(t); + if (!xt[e]) return (xt[e] = !0), xt[e]; + }); + } + var bt = t._hoverdata, + _t = []; + for (R = 0; R < Z.length; R++) { + var wt = Z[R], + Tt = v.makeEventData(wt, wt.trace, wt.cd); + if (!1 !== wt.hovertemplate) { + var kt = !1; + wt.cd[wt.index] && + wt.cd[wt.index].ht && + (kt = wt.cd[wt.index].ht), + (wt.hovertemplate = + kt || wt.trace.hovertemplate || !1); + } + (wt.eventData = [Tt]), _t.push(Tt); + } + t._hoverdata = _t; + var Mt = + ('y' === S && (J.length > 1 || Z.length > 1)) || + ('closest' === S && Q && Z.length > 1), + At = p.combine( + l.plot_bgcolor || p.background, + l.paper_bgcolor + ), + St = { + hovermode: S, + rotateLabels: Mt, + bgColor: At, + container: l._hoverlayer, + outerContainer: l._paperdiv, + commonLabelOpts: l.hoverlabel, + hoverdistance: l.hoverdistance, + }, + Et = L(Z, St, t); + v.isUnifiedHover(S) || + (!(function (t, e, r) { + var n, + i, + a, + o, + s, + l, + c, + u = 0, + f = 1, + h = t.size(), + p = new Array(h), + d = 0; + function g(t) { + var e = t[0], + r = t[t.length - 1]; + if ( + ((i = e.pmin - e.pos - e.dp + e.size), + (a = r.pos + r.dp + r.size - e.pmax), + i > 0.01) + ) { + for (s = t.length - 1; s >= 0; s--) t[s].dp += i; + n = !1; + } + if (!(a < 0.01)) { + if (i < -0.01) { + for (s = t.length - 1; s >= 0; s--) t[s].dp -= a; + n = !1; + } + if (n) { + var c = 0; + for (o = 0; o < t.length; o++) + (l = t[o]).pos + l.dp + l.size > e.pmax && c++; + for (o = t.length - 1; o >= 0 && !(c <= 0); o--) + (l = t[o]).pos > e.pmax - 1 && + ((l.del = !0), c--); + for (o = 0; o < t.length && !(c <= 0); o++) + if ((l = t[o]).pos < e.pmin + 1) + for ( + l.del = !0, + c--, + a = 2 * l.size, + s = t.length - 1; + s >= 0; + s-- + ) + t[s].dp -= a; + for (o = t.length - 1; o >= 0 && !(c <= 0); o--) + (l = t[o]).pos + l.dp + l.size > e.pmax && + ((l.del = !0), c--); + } + } + } + t.each(function (t) { + var n = t[e], + i = 'x' === n._id.charAt(0), + a = n.range; + 0 === d && a && a[0] > a[1] !== i && (f = -1), + (p[d++] = [ + { + datum: t, + traceIndex: t.trace.index, + dp: 0, + pos: t.pos, + posref: t.posref, + size: (t.by * (i ? T : 1)) / 2, + pmin: 0, + pmax: i ? r.width : r.height, + }, + ]); + }), + p.sort(function (t, e) { + return ( + t[0].posref - e[0].posref || + f * (e[0].traceIndex - t[0].traceIndex) + ); + }); + for (; !n && u <= h; ) { + for (u++, n = !0, o = 0; o < p.length - 1; ) { + var m = p[o], + v = p[o + 1], + y = m[m.length - 1], + x = v[0]; + if ( + (i = + y.pos + y.dp + y.size - x.pos - x.dp + x.size) > + 0.01 && + y.pmin === x.pmin && + y.pmax === x.pmax + ) { + for (s = v.length - 1; s >= 0; s--) v[s].dp += i; + for ( + m.push.apply(m, v), + p.splice(o + 1, 1), + c = 0, + s = m.length - 1; + s >= 0; + s-- + ) + c += m[s].dp; + for ( + a = c / m.length, s = m.length - 1; + s >= 0; + s-- + ) + m[s].dp -= a; + n = !1; + } else o++; + } + p.forEach(g); + } + for (o = p.length - 1; o >= 0; o--) { + var b = p[o]; + for (s = b.length - 1; s >= 0; s--) { + var _ = b[s], + w = _.datum; + (w.offset = _.dp), (w.del = _.del); + } + } + })(Et, Mt ? 'xa' : 'ya', l), + P(Et, Mt, l._invScaleX, l._invScaleY)); + if (e.target && e.target.tagName) { + var Ct = m.getComponentMethod( + 'annotations', + 'hasClickToShow' + )(t, _t); + f(n.select(e.target), Ct ? 'pointer' : ''); + } + if ( + !e.target || + a || + !(function (t, e, r) { + if (!r || r.length !== t._hoverdata.length) return !0; + for (var n = r.length - 1; n >= 0; n--) { + var i = r[n], + a = t._hoverdata[n]; + if ( + i.curveNumber !== a.curveNumber || + String(i.pointNumber) !== String(a.pointNumber) || + String(i.pointNumbers) !== String(a.pointNumbers) + ) + return !0; + } + return !1; + })(t, 0, bt) + ) + return; + bt && t.emit('plotly_unhover', { event: e, points: bt }); + t.emit('plotly_hover', { + event: e, + points: t._hoverdata, + xaxes: b, + yaxes: _, + xvals: C, + yvals: I, + }); + })(t, e, r, a); + } + ); + }), + (r.loneHover = function (t, e) { + var r = !0; + Array.isArray(t) || ((r = !1), (t = [t])); + var i = t.map(function (t) { + return { + color: t.color || p.defaultLine, + x0: t.x0 || t.x || 0, + x1: t.x1 || t.x || 0, + y0: t.y0 || t.y || 0, + y1: t.y1 || t.y || 0, + xLabel: t.xLabel, + yLabel: t.yLabel, + zLabel: t.zLabel, + text: t.text, + name: t.name, + idealAlign: t.idealAlign, + borderColor: t.borderColor, + fontFamily: t.fontFamily, + fontSize: t.fontSize, + fontColor: t.fontColor, + nameLength: t.nameLength, + textAlign: t.textAlign, + trace: t.trace || { index: 0, hoverinfo: '' }, + xa: { _offset: 0 }, + ya: { _offset: 0 }, + index: 0, + hovertemplate: t.hovertemplate || !1, + eventData: t.eventData || !1, + hovertemplateLabels: t.hovertemplateLabels || !1, + }; + }), + a = n.select(e.container), + o = e.outerContainer ? n.select(e.outerContainer) : a, + s = { + hovermode: 'closest', + rotateLabels: !1, + bgColor: e.bgColor || p.background, + container: a, + outerContainer: o, + }, + l = L(i, s, e.gd), + c = 0, + u = 0; + l.sort(function (t, e) { + return t.y0 - e.y0; + }) + .each(function (t, r) { + var n = t.y0 - t.by / 2; + (t.offset = n - 5 < c ? c - n + 5 : 0), + (c = n + t.by + t.offset), + r === e.anchorIndex && (u = t.offset); + }) + .each(function (t) { + t.offset -= u; + }); + var f = e.gd._fullLayout._invScaleX, + h = e.gd._fullLayout._invScaleY; + return P(l, s.rotateLabels, f, h), r ? l : l.node(); + }); + var C = /([\s\S]*)<\/extra>/; + function L(t, e, r) { + var i = r._fullLayout, + a = e.hovermode, + c = e.rotateLabels, + f = e.bgColor, + d = e.container, + g = e.outerContainer, + m = e.commonLabelOpts || {}, + w = e.fontFamily || y.HOVERFONT, + T = e.fontSize || y.HOVERFONTSIZE, + k = t[0], + M = k.xa, + C = k.ya, + L = 'y' === a.charAt(0) ? 'yLabel' : 'xLabel', + P = k[L], + z = (String(P) || '').split(' ')[0], + O = g.node().getBoundingClientRect(), + D = O.top, + R = O.width, + F = O.height, + B = + void 0 !== P && + k.distance <= e.hoverdistance && + ('x' === a || 'y' === a); + if (B) { + var N, + j, + U = !0; + for (N = 0; N < t.length; N++) + if ( + (U && void 0 === t[N].zLabel && (U = !1), + (j = t[N].hoverinfo || t[N].trace.hoverinfo)) + ) { + var V = Array.isArray(j) ? j : j.split('+'); + if (-1 === V.indexOf('all') && -1 === V.indexOf(a)) { + B = !1; + break; + } + } + U && (B = !1); + } + var q = d.selectAll('g.axistext').data(B ? [0] : []); + function H(t) { + return t.filter(function (t) { + return ( + void 0 !== t.zLabelVal || (t[L] || '').split(' ')[0] === z + ); + }); + } + if ( + (q.enter().append('g').classed('axistext', !0), + q.exit().remove(), + q.each(function () { + var e = n.select(this), + l = o.ensureSingle(e, 'path', '', function (t) { + t.style({ 'stroke-width': '1px' }); + }), + c = o.ensureSingle(e, 'text', '', function (t) { + t.attr('data-notex', 1); + }), + f = m.bgcolor || p.defaultLine, + d = m.bordercolor || p.contrast(f), + g = p.contrast(f), + v = { + family: m.font.family || w, + size: m.font.size || T, + color: m.font.color || g, + }; + l.style({ fill: f, stroke: d }), + c + .text(P) + .call(h.font, v) + .call(u.positionText, 0, 0) + .call(u.convertToTspans, r), + e.attr('transform', ''); + var y, + x, + b = c.node().getBoundingClientRect(); + if ('x' === a) { + var _ = 'top' === M.side ? '-' : ''; + c + .attr('text-anchor', 'middle') + .call( + u.positionText, + 0, + 'top' === M.side + ? D - b.bottom - A - S + : D - b.top + A + S + ), + (y = M._offset + (k.x0 + k.x1) / 2), + (x = C._offset + ('top' === M.side ? 0 : C._length)); + var E = b.width / 2 + S; + y < E + ? ((y = E), + l.attr( + 'd', + 'M-' + + (E - A) + + ',0L-' + + (E - 2 * A) + + ',' + + _ + + A + + 'H' + + (S + b.width / 2) + + 'v' + + _ + + (2 * S + b.height) + + 'H-' + + E + + 'V' + + _ + + A + + 'Z' + )) + : y > i.width - E + ? ((y = i.width - E), + l.attr( + 'd', + 'M' + + (E - A) + + ',0L' + + E + + ',' + + _ + + A + + 'v' + + _ + + (2 * S + b.height) + + 'H-' + + E + + 'V' + + _ + + A + + 'H' + + (E - 2 * A) + + 'Z' + )) + : l.attr( + 'd', + 'M0,0L' + + A + + ',' + + _ + + A + + 'H' + + (S + b.width / 2) + + 'v' + + _ + + (2 * S + b.height) + + 'H-' + + (S + b.width / 2) + + 'V' + + _ + + A + + 'H-' + + A + + 'Z' + ); + } else { + var L, I, z; + 'right' === C.side + ? ((L = 'start'), + (I = 1), + (z = ''), + (y = M._offset + M._length)) + : ((L = 'end'), (I = -1), (z = '-'), (y = M._offset)), + (x = C._offset + (k.y0 + k.y1) / 2), + c.attr('text-anchor', L), + l.attr( + 'd', + 'M0,0L' + + z + + A + + ',' + + A + + 'V' + + (S + b.height / 2) + + 'h' + + z + + (2 * S + b.width) + + 'V-' + + (S + b.height / 2) + + 'H' + + z + + A + + 'V-' + + A + + 'Z' + ); + var O, + R = b.height / 2, + F = D - b.top - R, + B = 'clip' + i._uid + 'commonlabel' + C._id; + if (y < b.width + 2 * S + A) { + O = + 'M-' + + (A + S) + + '-' + + R + + 'h-' + + (b.width - S) + + 'V' + + R + + 'h' + + (b.width - S) + + 'Z'; + var N = b.width - y + S; + u.positionText(c, N, F), + 'end' === L && + c.selectAll('tspan').each(function () { + var t = n.select(this), + e = h.tester + .append('text') + .text(t.text()) + .call(h.font, v), + r = e.node().getBoundingClientRect(); + Math.round(r.width) < Math.round(b.width) && + t.attr('x', N - r.width), + e.remove(); + }); + } else u.positionText(c, I * (S + A), F), (O = null); + var j = i._topclips.selectAll('#' + B).data(O ? [0] : []); + j.enter().append('clipPath').attr('id', B).append('path'), + j.exit().remove(), + j.select('path').attr('d', O), + h.setClipUrl(c, O ? B : null, r); + } + e.attr('transform', s(y, x)), (t = H(t)); + }), + v.isUnifiedHover(a)) + ) { + if ( + (d.selectAll('g.hovertext').remove(), + void 0 !== P && k.distance <= e.hoverdistance && (t = H(t)), + 0 === t.length) + ) + return; + var G = { + showlegend: !0, + legend: { + title: { text: P, font: i.hoverlabel.font }, + font: i.hoverlabel.font, + bgcolor: i.hoverlabel.bgcolor, + bordercolor: i.hoverlabel.bordercolor, + borderwidth: 1, + tracegroupgap: 7, + traceorder: i.legend ? i.legend.traceorder : void 0, + orientation: 'v', + }, + }, + Y = {}; + x(G, Y, r._fullData); + var W = Y.legend; + W.entries = []; + for (var X = 0; X < t.length; X++) { + var Z = I(t[X], !0, a, i, P), + J = Z[0], + K = Z[1], + Q = t[X]; + (Q.name = K), (Q.text = '' !== K ? K + ' : ' + J : J); + var $ = Q.cd[Q.index]; + $ && + ($.mc && (Q.mc = $.mc), + $.mcc && (Q.mc = $.mcc), + $.mlc && (Q.mlc = $.mlc), + $.mlcc && (Q.mlc = $.mlcc), + $.mlw && (Q.mlw = $.mlw), + $.mrc && (Q.mrc = $.mrc), + $.dir && (Q.dir = $.dir)), + (Q._distinct = !0), + W.entries.push([Q]); + } + W.entries.sort(function (t, e) { + return t[0].trace.index - e[0].trace.index; + }), + (W.layer = d), + b(r, W); + var tt = o.mean( + t.map(function (t) { + return (t.y0 + t.y1) / 2; + }) + ), + et = o.mean( + t.map(function (t) { + return (t.x0 + t.x1) / 2; + }) + ), + rt = d.select('g.legend'), + nt = rt.node().getBoundingClientRect(); + (et += M._offset), (tt += C._offset - nt.height / 2); + var it = nt.width + 2 * S; + !(et + it <= R) && et - it >= 0 ? (et -= it) : (et += 2 * S); + var at = nt.height + 2 * S, + ot = tt + at >= F; + return ( + at <= F && + (tt <= D ? (tt = C._offset + 2 * S) : ot && (tt = F - at)), + rt.attr('transform', s(et, tt)), + rt + ); + } + var st = d.selectAll('g.hovertext').data(t, function (t) { + return E(t); + }); + return ( + st + .enter() + .append('g') + .classed('hovertext', !0) + .each(function () { + var t = n.select(this); + t.append('rect').call(p.fill, p.addOpacity(f, 0.8)), + t.append('text').classed('name', !0), + t.append('path').style('stroke-width', '1px'), + t.append('text').classed('nums', !0).call(h.font, w, T); + }), + st.exit().remove(), + st.each(function (t) { + var e = n.select(this).attr('transform', ''), + o = t.color; + Array.isArray(o) && (o = o[t.eventData[0].pointNumber]); + var d = t.bgcolor || o, + g = p.combine(p.opacity(d) ? d : p.defaultLine, f), + m = p.combine(p.opacity(o) ? o : p.defaultLine, f), + v = t.borderColor || p.contrast(g), + y = I(t, B, a, i, P, e), + x = y[0], + b = y[1], + k = e + .select('text.nums') + .call( + h.font, + t.fontFamily || w, + t.fontSize || T, + t.fontColor || v + ) + .text(x) + .attr('data-notex', 1) + .call(u.positionText, 0, 0) + .call(u.convertToTspans, r), + M = e.select('text.name'), + E = 0, + C = 0; + if (b && b !== x) { + M.call(h.font, t.fontFamily || w, t.fontSize || T, m) + .text(b) + .attr('data-notex', 1) + .call(u.positionText, 0, 0) + .call(u.convertToTspans, r); + var L = M.node().getBoundingClientRect(); + (E = L.width + 2 * S), (C = L.height + 2 * S); + } else M.remove(), e.select('rect').remove(); + e.select('path').style({ fill: g, stroke: v }); + var z, + O, + N = k.node().getBoundingClientRect(), + j = t.xa._offset + (t.x0 + t.x1) / 2, + U = t.ya._offset + (t.y0 + t.y1) / 2, + V = Math.abs(t.x1 - t.x0), + q = Math.abs(t.y1 - t.y0), + H = N.width + A + S + E; + if ( + ((t.ty0 = D - N.top), + (t.bx = N.width + 2 * S), + (t.by = Math.max(N.height + 2 * S, C)), + (t.anchor = 'start'), + (t.txwidth = N.width), + (t.tx2width = E), + (t.offset = 0), + c) + ) + (t.pos = j), + (z = U + q / 2 + H <= F), + (O = U - q / 2 - H >= 0), + ('top' !== t.idealAlign && z) || !O + ? z + ? ((U += q / 2), (t.anchor = 'start')) + : (t.anchor = 'middle') + : ((U -= q / 2), (t.anchor = 'end')); + else if ( + ((t.pos = U), + (z = j + V / 2 + H <= R), + (O = j - V / 2 - H >= 0), + ('left' !== t.idealAlign && z) || !O) + ) + if (z) (j += V / 2), (t.anchor = 'start'); + else { + t.anchor = 'middle'; + var G = H / 2, + Y = j + G - R, + W = j - G; + Y > 0 && (j -= Y), W < 0 && (j += -W); + } + else (j -= V / 2), (t.anchor = 'end'); + k.attr('text-anchor', t.anchor), + E && M.attr('text-anchor', t.anchor), + e.attr('transform', s(j, U) + (c ? l(_) : '')); + }), + st + ); + } + function I(t, e, r, n, i, a) { + var s = '', + l = ''; + void 0 !== t.nameOverride && (t.name = t.nameOverride), + t.name && + (t.trace._meta && + (t.name = o.templateString(t.name, t.trace._meta)), + (s = R(t.name, t.nameLength))), + void 0 !== t.zLabel + ? (void 0 !== t.xLabel && (l += 'x: ' + t.xLabel + '
'), + void 0 !== t.yLabel && (l += 'y: ' + t.yLabel + '
'), + 'choropleth' !== t.trace.type && + 'choroplethmapbox' !== t.trace.type && + (l += (l ? 'z: ' : '') + t.zLabel)) + : e && t[r.charAt(0) + 'Label'] === i + ? (l = t[('x' === r.charAt(0) ? 'y' : 'x') + 'Label'] || '') + : void 0 === t.xLabel + ? void 0 !== t.yLabel && + 'scattercarpet' !== t.trace.type && + (l = t.yLabel) + : (l = + void 0 === t.yLabel + ? t.xLabel + : '(' + t.xLabel + ', ' + t.yLabel + ')'), + (!t.text && 0 !== t.text) || + Array.isArray(t.text) || + (l += (l ? '
' : '') + t.text), + void 0 !== t.extraText && (l += (l ? '
' : '') + t.extraText), + a && + '' === l && + !t.hovertemplate && + ('' === s && a.remove(), (l = s)); + var c = n._d3locale, + u = t.hovertemplate || !1, + f = t.hovertemplateLabels || t, + h = t.eventData[0] || {}; + return ( + u && + (l = (l = o.hovertemplateString( + u, + f, + c, + h, + t.trace._meta + )).replace(C, function (e, r) { + return (s = R(r, t.nameLength)), ''; + })), + [l, s] + ); + } + function P(t, e, r, i) { + var a = function (t) { + return t * r; + }, + o = function (t) { + return t * i; + }; + t.each(function (t) { + var r = n.select(this); + if (t.del) return r.remove(); + var i = r.select('text.nums'), + s = t.anchor, + l = 'end' === s ? -1 : 1, + c = { start: 1, end: -1, middle: 0 }[s], + f = c * (A + S), + p = f + c * (t.txwidth + S), + d = 0, + g = t.offset, + m = 'middle' === s; + m && ((f -= t.tx2width / 2), (p += t.txwidth / 2 + S)), + e && ((g *= -M), (d = t.offset * k)), + r + .select('path') + .attr( + 'd', + m + ? 'M-' + + a(t.bx / 2 + t.tx2width / 2) + + ',' + + o(g - t.by / 2) + + 'h' + + a(t.bx) + + 'v' + + o(t.by) + + 'h-' + + a(t.bx) + + 'Z' + : 'M0,0L' + + a(l * A + d) + + ',' + + o(A + g) + + 'v' + + o(t.by / 2 - A) + + 'h' + + a(l * t.bx) + + 'v-' + + o(t.by) + + 'H' + + a(l * A + d) + + 'V' + + o(g - A) + + 'Z' + ); + var v = d + f, + y = g + t.ty0 - t.by / 2 + S, + x = t.textAlign || 'auto'; + 'auto' !== x && + ('left' === x && 'start' !== s + ? (i.attr('text-anchor', 'start'), + (v = m ? -t.bx / 2 - t.tx2width / 2 + S : -t.bx - S)) + : 'right' === x && + 'end' !== s && + (i.attr('text-anchor', 'end'), + (v = m ? t.bx / 2 - t.tx2width / 2 - S : t.bx + S))), + i.call(u.positionText, a(v), o(y)), + t.tx2width && + (r + .select('text.name') + .call( + u.positionText, + a(p + c * S + d), + o(g + t.ty0 - t.by / 2 + S) + ), + r + .select('rect') + .call( + h.setRect, + a(p + ((c - 1) * t.tx2width) / 2 + d), + o(g - t.by / 2 - 1), + a(t.tx2width), + o(t.by + 2) + )); + }); + } + function z(t, e) { + var r = t.index, + n = t.trace || {}, + a = t.cd[0], + s = t.cd[r] || {}; + function l(t) { + return t || (i(t) && 0 === t); + } + var c = Array.isArray(r) + ? function (t, e) { + var i = o.castOption(a, r, t); + return l(i) ? i : o.extractOption({}, n, '', e); + } + : function (t, e) { + return o.extractOption(s, n, t, e); + }; + function u(e, r, n) { + var i = c(r, n); + l(i) && (t[e] = i); + } + if ( + (u('hoverinfo', 'hi', 'hoverinfo'), + u('bgcolor', 'hbg', 'hoverlabel.bgcolor'), + u('borderColor', 'hbc', 'hoverlabel.bordercolor'), + u('fontFamily', 'htf', 'hoverlabel.font.family'), + u('fontSize', 'hts', 'hoverlabel.font.size'), + u('fontColor', 'htc', 'hoverlabel.font.color'), + u('nameLength', 'hnl', 'hoverlabel.namelength'), + u('textAlign', 'hta', 'hoverlabel.align'), + (t.posref = + 'y' === e || ('closest' === e && 'h' === n.orientation) + ? t.xa._offset + (t.x0 + t.x1) / 2 + : t.ya._offset + (t.y0 + t.y1) / 2), + (t.x0 = o.constrain(t.x0, 0, t.xa._length)), + (t.x1 = o.constrain(t.x1, 0, t.xa._length)), + (t.y0 = o.constrain(t.y0, 0, t.ya._length)), + (t.y1 = o.constrain(t.y1, 0, t.ya._length)), + void 0 !== t.xLabelVal && + ((t.xLabel = + 'xLabel' in t + ? t.xLabel + : g.hoverLabelText(t.xa, t.xLabelVal)), + (t.xVal = t.xa.c2d(t.xLabelVal))), + void 0 !== t.yLabelVal && + ((t.yLabel = + 'yLabel' in t + ? t.yLabel + : g.hoverLabelText(t.ya, t.yLabelVal)), + (t.yVal = t.ya.c2d(t.yLabelVal))), + void 0 !== t.zLabelVal && + void 0 === t.zLabel && + (t.zLabel = String(t.zLabelVal)), + !(isNaN(t.xerr) || ('log' === t.xa.type && t.xerr <= 0))) + ) { + var f = g.tickText(t.xa, t.xa.c2l(t.xerr), 'hover').text; + void 0 !== t.xerrneg + ? (t.xLabel += + ' +' + + f + + ' / -' + + g.tickText(t.xa, t.xa.c2l(t.xerrneg), 'hover').text) + : (t.xLabel += ' \xb1 ' + f), + 'x' === e && (t.distance += 1); + } + if (!(isNaN(t.yerr) || ('log' === t.ya.type && t.yerr <= 0))) { + var h = g.tickText(t.ya, t.ya.c2l(t.yerr), 'hover').text; + void 0 !== t.yerrneg + ? (t.yLabel += + ' +' + + h + + ' / -' + + g.tickText(t.ya, t.ya.c2l(t.yerrneg), 'hover').text) + : (t.yLabel += ' \xb1 ' + h), + 'y' === e && (t.distance += 1); + } + var p = t.hoverinfo || t.trace.hoverinfo; + return ( + p && + 'all' !== p && + (-1 === + (p = Array.isArray(p) ? p : p.split('+')).indexOf('x') && + (t.xLabel = void 0), + -1 === p.indexOf('y') && (t.yLabel = void 0), + -1 === p.indexOf('z') && (t.zLabel = void 0), + -1 === p.indexOf('text') && (t.text = void 0), + -1 === p.indexOf('name') && (t.name = void 0)), + t + ); + } + function O(t, e, r) { + var n, + i, + o = r.container, + s = r.fullLayout, + l = s._size, + c = r.event, + u = !!e.hLinePoint, + f = !!e.vLinePoint; + if ((o.selectAll('.spikeline').remove(), f || u)) { + var d = p.combine(s.plot_bgcolor, s.paper_bgcolor); + if (u) { + var m, + v, + y = e.hLinePoint; + (n = y && y.xa), + 'cursor' === (i = y && y.ya).spikesnap + ? ((m = c.pointerX), (v = c.pointerY)) + : ((m = n._offset + y.x), (v = i._offset + y.y)); + var x, + b, + _ = a.readability(y.color, d) < 1.5 ? p.contrast(d) : y.color, + w = i.spikemode, + T = i.spikethickness, + k = i.spikecolor || _, + M = g.getPxPosition(t, i); + if (-1 !== w.indexOf('toaxis') || -1 !== w.indexOf('across')) { + if ( + (-1 !== w.indexOf('toaxis') && ((x = M), (b = m)), + -1 !== w.indexOf('across')) + ) { + var A = i._counterDomainMin, + S = i._counterDomainMax; + 'free' === i.anchor && + ((A = Math.min(A, i.position)), + (S = Math.max(S, i.position))), + (x = l.l + A * l.w), + (b = l.l + S * l.w); + } + o + .insert('line', ':first-child') + .attr({ + x1: x, + x2: b, + y1: v, + y2: v, + 'stroke-width': T, + stroke: k, + 'stroke-dasharray': h.dashStyle(i.spikedash, T), + }) + .classed('spikeline', !0) + .classed('crisp', !0), + o + .insert('line', ':first-child') + .attr({ + x1: x, + x2: b, + y1: v, + y2: v, + 'stroke-width': T + 2, + stroke: d, + }) + .classed('spikeline', !0) + .classed('crisp', !0); + } + -1 !== w.indexOf('marker') && + o + .insert('circle', ':first-child') + .attr({ + cx: M + ('right' !== i.side ? T : -T), + cy: v, + r: T, + fill: k, + }) + .classed('spikeline', !0); + } + if (f) { + var E, + C, + L = e.vLinePoint; + (n = L && L.xa), + (i = L && L.ya), + 'cursor' === n.spikesnap + ? ((E = c.pointerX), (C = c.pointerY)) + : ((E = n._offset + L.x), (C = i._offset + L.y)); + var I, + P, + z = a.readability(L.color, d) < 1.5 ? p.contrast(d) : L.color, + O = n.spikemode, + D = n.spikethickness, + R = n.spikecolor || z, + F = g.getPxPosition(t, n); + if (-1 !== O.indexOf('toaxis') || -1 !== O.indexOf('across')) { + if ( + (-1 !== O.indexOf('toaxis') && ((I = F), (P = C)), + -1 !== O.indexOf('across')) + ) { + var B = n._counterDomainMin, + N = n._counterDomainMax; + 'free' === n.anchor && + ((B = Math.min(B, n.position)), + (N = Math.max(N, n.position))), + (I = l.t + (1 - N) * l.h), + (P = l.t + (1 - B) * l.h); + } + o + .insert('line', ':first-child') + .attr({ + x1: E, + x2: E, + y1: I, + y2: P, + 'stroke-width': D, + stroke: R, + 'stroke-dasharray': h.dashStyle(n.spikedash, D), + }) + .classed('spikeline', !0) + .classed('crisp', !0), + o + .insert('line', ':first-child') + .attr({ + x1: E, + x2: E, + y1: I, + y2: P, + 'stroke-width': D + 2, + stroke: d, + }) + .classed('spikeline', !0) + .classed('crisp', !0); + } + -1 !== O.indexOf('marker') && + o + .insert('circle', ':first-child') + .attr({ + cx: E, + cy: F - ('top' !== n.side ? D : -D), + r: D, + fill: R, + }) + .classed('spikeline', !0); + } + } + } + function D(t, e) { + return ( + !e || + e.vLinePoint !== t._spikepoints.vLinePoint || + e.hLinePoint !== t._spikepoints.hLinePoint + ); + } + function R(t, e) { + return u.plainText(t || '', { + len: e, + allowedTags: ['br', 'sub', 'sup', 'b', 'i', 'em'], + }); + } + }, + { + '../../lib': 778, + '../../lib/events': 767, + '../../lib/override_cursor': 789, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + '../color': 643, + '../dragelement': 662, + '../drawing': 665, + '../legend/defaults': 695, + '../legend/draw': 696, + './constants': 677, + './helpers': 679, + d3: 169, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 681: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../color'), + a = t('./helpers').isUnifiedHover; + e.exports = function (t, e, r, o) { + function s(t) { + o.font[t] || + (o.font[t] = e.legend ? e.legend.font[t] : e.font[t]); + } + (o = o || {}), + e && + a(e.hovermode) && + (o.font || (o.font = {}), + s('size'), + s('family'), + s('color'), + e.legend + ? (o.bgcolor || + (o.bgcolor = i.combine( + e.legend.bgcolor, + e.paper_bgcolor + )), + o.bordercolor || (o.bordercolor = e.legend.bordercolor)) + : o.bgcolor || (o.bgcolor = e.paper_bgcolor)), + r('hoverlabel.bgcolor', o.bgcolor), + r('hoverlabel.bordercolor', o.bordercolor), + r('hoverlabel.namelength', o.namelength), + n.coerceFont(r, 'hoverlabel.font', o.font), + r('hoverlabel.align', o.align); + }; + }, + { '../../lib': 778, '../color': 643, './helpers': 679 }, + ], + 682: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e, r) { + function a(r, a) { + return void 0 !== e[r] ? e[r] : n.coerce(t, e, i, r, a); + } + var o, + s = a('clickmode'); + return ( + e._has('cartesian') + ? s.indexOf('select') > -1 + ? (o = 'closest') + : ((e._isHoriz = (function (t, e) { + for ( + var r = e._scatterStackOpts || {}, n = 0; + n < t.length; + n++ + ) { + var i = t[n], + a = i.xaxis + i.yaxis, + o = (r[a] || {})[i.stackgroup] || {}; + if ('h' !== i.orientation && 'h' !== o.orientation) + return !1; + } + return !0; + })(r, e)), + (o = e._isHoriz ? 'y' : 'x')) + : (o = 'closest'), + a('hovermode', o) + ); + }; + }, + { '../../lib': 778, './layout_attributes': 684 }, + ], + 683: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../dragelement'), + o = t('./helpers'), + s = t('./layout_attributes'), + l = t('./hover'); + e.exports = { + moduleType: 'component', + name: 'fx', + constants: t('./constants'), + schema: { layout: s }, + attributes: t('./attributes'), + layoutAttributes: s, + supplyLayoutGlobalDefaults: t('./layout_global_defaults'), + supplyDefaults: t('./defaults'), + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc'), + getDistanceFunction: o.getDistanceFunction, + getClosest: o.getClosest, + inbox: o.inbox, + quadrature: o.quadrature, + appendArrayPointValue: o.appendArrayPointValue, + castHoverOption: function (t, e, r) { + return i.castOption(t, e, 'hoverlabel.' + r); + }, + castHoverinfo: function (t, e, r) { + return i.castOption(t, r, 'hoverinfo', function (r) { + return i.coerceHoverinfo( + { hoverinfo: r }, + { _module: t._module }, + e + ); + }); + }, + hover: l.hover, + unhover: a.unhover, + loneHover: l.loneHover, + loneUnhover: function (t) { + var e = i.isD3Selection(t) ? t : n.select(t); + e.selectAll('g.hovertext').remove(), + e.selectAll('.spikeline').remove(); + }, + click: t('./click'), + }; + }, + { + '../../lib': 778, + '../dragelement': 662, + './attributes': 674, + './calc': 675, + './click': 676, + './constants': 677, + './defaults': 678, + './helpers': 679, + './hover': 680, + './layout_attributes': 684, + './layout_defaults': 685, + './layout_global_defaults': 686, + d3: 169, + }, + ], + 684: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('../../plots/font_attributes')({ editType: 'none' }); + (i.family.dflt = n.HOVERFONT), + (i.size.dflt = n.HOVERFONTSIZE), + (e.exports = { + clickmode: { + valType: 'flaglist', + flags: ['event', 'select'], + dflt: 'event', + editType: 'plot', + extras: ['none'], + }, + dragmode: { + valType: 'enumerated', + values: [ + 'zoom', + 'pan', + 'select', + 'lasso', + 'drawclosedpath', + 'drawopenpath', + 'drawline', + 'drawrect', + 'drawcircle', + 'orbit', + 'turntable', + !1, + ], + dflt: 'zoom', + editType: 'modebar', + }, + hovermode: { + valType: 'enumerated', + values: ['x', 'y', 'closest', !1, 'x unified', 'y unified'], + editType: 'modebar', + }, + hoverdistance: { + valType: 'integer', + min: -1, + dflt: 20, + editType: 'none', + }, + spikedistance: { + valType: 'integer', + min: -1, + dflt: 20, + editType: 'none', + }, + hoverlabel: { + bgcolor: { valType: 'color', editType: 'none' }, + bordercolor: { valType: 'color', editType: 'none' }, + font: i, + align: { + valType: 'enumerated', + values: ['left', 'right', 'auto'], + dflt: 'auto', + editType: 'none', + }, + namelength: { + valType: 'integer', + min: -1, + dflt: 15, + editType: 'none', + }, + editType: 'none', + }, + selectdirection: { + valType: 'enumerated', + values: ['h', 'v', 'd', 'any'], + dflt: 'any', + editType: 'none', + }, + }); + }, + { '../../plots/font_attributes': 856, './constants': 677 }, + ], + 685: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./helpers').isUnifiedHover, + a = t('./layout_attributes'), + o = t('./hovermode_defaults'), + s = t('./hoverlabel_defaults'); + e.exports = function (t, e, r) { + function l(r, i) { + return n.coerce(t, e, a, r, i); + } + var c = o(t, e, r); + c && (l('hoverdistance'), l('spikedistance', i(c) ? -1 : void 0)), + 'select' === l('dragmode') && l('selectdirection'); + var u = e._has('mapbox'), + f = e._has('geo'), + h = e._basePlotModules.length; + 'zoom' === e.dragmode && + (((u || f) && 1 === h) || (u && f && 2 === h)) && + (e.dragmode = 'pan'), + s(t, e, l); + }; + }, + { + '../../lib': 778, + './helpers': 679, + './hoverlabel_defaults': 681, + './hovermode_defaults': 682, + './layout_attributes': 684, + }, + ], + 686: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./hoverlabel_defaults'), + a = t('./layout_attributes'); + e.exports = function (t, e) { + i(t, e, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }; + }, + { + '../../lib': 778, + './hoverlabel_defaults': 681, + './layout_attributes': 684, + }, + ], + 687: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../lib/regex').counter, + a = t('../../plots/domain').attributes, + o = t('../../plots/cartesian/constants').idRegex, + s = t('../../plot_api/plot_template'), + l = { + rows: { valType: 'integer', min: 1, editType: 'plot' }, + roworder: { + valType: 'enumerated', + values: ['top to bottom', 'bottom to top'], + dflt: 'top to bottom', + editType: 'plot', + }, + columns: { valType: 'integer', min: 1, editType: 'plot' }, + subplots: { + valType: 'info_array', + freeLength: !0, + dimensions: 2, + items: { + valType: 'enumerated', + values: [i('xy').toString(), ''], + editType: 'plot', + }, + editType: 'plot', + }, + xaxes: { + valType: 'info_array', + freeLength: !0, + items: { + valType: 'enumerated', + values: [o.x.toString(), ''], + editType: 'plot', + }, + editType: 'plot', + }, + yaxes: { + valType: 'info_array', + freeLength: !0, + items: { + valType: 'enumerated', + values: [o.y.toString(), ''], + editType: 'plot', + }, + editType: 'plot', + }, + pattern: { + valType: 'enumerated', + values: ['independent', 'coupled'], + dflt: 'coupled', + editType: 'plot', + }, + xgap: { valType: 'number', min: 0, max: 1, editType: 'plot' }, + ygap: { valType: 'number', min: 0, max: 1, editType: 'plot' }, + domain: a({ name: 'grid', editType: 'plot', noGridCell: !0 }, {}), + xside: { + valType: 'enumerated', + values: ['bottom', 'bottom plot', 'top plot', 'top'], + dflt: 'bottom plot', + editType: 'plot', + }, + yside: { + valType: 'enumerated', + values: ['left', 'left plot', 'right plot', 'right'], + dflt: 'left plot', + editType: 'plot', + }, + editType: 'plot', + }; + function c(t, e, r) { + var n = e[r + 'axes'], + i = Object.keys((t._splomAxes || {})[r] || {}); + return Array.isArray(n) ? n : i.length ? i : void 0; + } + function u(t, e, r, n, i, a) { + var o = e(t + 'gap', r), + s = e('domain.' + t); + e(t + 'side', n); + for ( + var l = new Array(i), + c = s[0], + u = (s[1] - c) / (i - o), + f = u * (1 - o), + h = 0; + h < i; + h++ + ) { + var p = c + u * h; + l[a ? i - 1 - h : h] = [p, p + f]; + } + return l; + } + function f(t, e, r, n, i) { + var a, + o = new Array(r); + function s(t, r) { + -1 !== e.indexOf(r) && void 0 === n[r] + ? ((o[t] = r), (n[r] = t)) + : (o[t] = ''); + } + if (Array.isArray(t)) for (a = 0; a < r; a++) s(a, t[a]); + else for (s(0, i), a = 1; a < r; a++) s(a, i + (a + 1)); + return o; + } + e.exports = { + moduleType: 'component', + name: 'grid', + schema: { layout: { grid: l } }, + layoutAttributes: l, + sizeDefaults: function (t, e) { + var r = t.grid || {}, + i = c(e, r, 'x'), + a = c(e, r, 'y'); + if (t.grid || i || a) { + var o, + f, + h = Array.isArray(r.subplots) && Array.isArray(r.subplots[0]), + p = Array.isArray(i), + d = Array.isArray(a), + g = p && i !== r.xaxes && d && a !== r.yaxes; + h + ? ((o = r.subplots.length), (f = r.subplots[0].length)) + : (d && (o = a.length), p && (f = i.length)); + var m = s.newContainer(e, 'grid'), + v = k('rows', o), + y = k('columns', f); + if (v * y > 1) { + if (!h && !p && !d) + 'independent' === k('pattern') && (h = !0); + m._hasSubplotGrid = h; + var x, + b, + _ = 'top to bottom' === k('roworder'), + w = h ? 0.2 : 0.1, + T = h ? 0.3 : 0.1; + g && + e._splomGridDflt && + ((x = e._splomGridDflt.xside), + (b = e._splomGridDflt.yside)), + (m._domains = { + x: u('x', k, w, x, y), + y: u('y', k, T, b, v, _), + }); + } else delete e.grid; + } + function k(t, e) { + return n.coerce(r, m, l, t, e); + } + }, + contentDefaults: function (t, e) { + var r = e.grid; + if (r && r._domains) { + var n, + i, + a, + o, + s, + l, + u, + h = t.grid || {}, + p = e._subplots, + d = r._hasSubplotGrid, + g = r.rows, + m = r.columns, + v = 'independent' === r.pattern, + y = (r._axisMap = {}); + if (d) { + var x = h.subplots || []; + l = r.subplots = new Array(g); + var b = 1; + for (n = 0; n < g; n++) { + var _ = (l[n] = new Array(m)), + w = x[n] || []; + for (i = 0; i < m; i++) + if ( + (v + ? ((s = 1 === b ? 'xy' : 'x' + b + 'y' + b), b++) + : (s = w[i]), + (_[i] = ''), + -1 !== p.cartesian.indexOf(s)) + ) { + if ( + ((u = s.indexOf('y')), + (a = s.slice(0, u)), + (o = s.slice(u)), + (void 0 !== y[a] && y[a] !== i) || + (void 0 !== y[o] && y[o] !== n)) + ) + continue; + (_[i] = s), (y[a] = i), (y[o] = n); + } + } + } else { + var T = c(e, h, 'x'), + k = c(e, h, 'y'); + (r.xaxes = f(T, p.xaxis, m, y, 'x')), + (r.yaxes = f(k, p.yaxis, g, y, 'y')); + } + var M = (r._anchors = {}), + A = 'top to bottom' === r.roworder; + for (var S in y) { + var E, + C, + L, + I = S.charAt(0), + P = r[I + 'side']; + if (P.length < 8) M[S] = 'free'; + else if ('x' === I) { + if ( + (('t' === P.charAt(0)) === A + ? ((E = 0), (C = 1), (L = g)) + : ((E = g - 1), (C = -1), (L = -1)), + d) + ) { + var z = y[S]; + for (n = E; n !== L; n += C) + if ( + (s = l[n][z]) && + ((u = s.indexOf('y')), s.slice(0, u) === S) + ) { + M[S] = s.slice(u); + break; + } + } else + for (n = E; n !== L; n += C) + if ( + ((o = r.yaxes[n]), -1 !== p.cartesian.indexOf(S + o)) + ) { + M[S] = o; + break; + } + } else if ( + ('l' === P.charAt(0) + ? ((E = 0), (C = 1), (L = m)) + : ((E = m - 1), (C = -1), (L = -1)), + d) + ) { + var O = y[S]; + for (n = E; n !== L; n += C) + if ( + (s = l[O][n]) && + ((u = s.indexOf('y')), s.slice(u) === S) + ) { + M[S] = s.slice(0, u); + break; + } + } else + for (n = E; n !== L; n += C) + if ( + ((a = r.xaxes[n]), -1 !== p.cartesian.indexOf(a + S)) + ) { + M[S] = a; + break; + } + } + } + }, + }; + }, + { + '../../lib': 778, + '../../lib/regex': 795, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/constants': 834, + '../../plots/domain': 855, + }, + ], + 688: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/constants'), + i = t('../../plot_api/plot_template').templatedArray; + t('../../constants/axis_placeable_objects'); + e.exports = i('image', { + visible: { valType: 'boolean', dflt: !0, editType: 'arraydraw' }, + source: { valType: 'string', editType: 'arraydraw' }, + layer: { + valType: 'enumerated', + values: ['below', 'above'], + dflt: 'above', + editType: 'arraydraw', + }, + sizex: { valType: 'number', dflt: 0, editType: 'arraydraw' }, + sizey: { valType: 'number', dflt: 0, editType: 'arraydraw' }, + sizing: { + valType: 'enumerated', + values: ['fill', 'contain', 'stretch'], + dflt: 'contain', + editType: 'arraydraw', + }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'arraydraw', + }, + x: { valType: 'any', dflt: 0, editType: 'arraydraw' }, + y: { valType: 'any', dflt: 0, editType: 'arraydraw' }, + xanchor: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + dflt: 'left', + editType: 'arraydraw', + }, + yanchor: { + valType: 'enumerated', + values: ['top', 'middle', 'bottom'], + dflt: 'top', + editType: 'arraydraw', + }, + xref: { + valType: 'enumerated', + values: ['paper', n.idRegex.x.toString()], + dflt: 'paper', + editType: 'arraydraw', + }, + yref: { + valType: 'enumerated', + values: ['paper', n.idRegex.y.toString()], + dflt: 'paper', + editType: 'arraydraw', + }, + editType: 'arraydraw', + }); + }, + { + '../../constants/axis_placeable_objects': 746, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/constants': 834, + }, + ], + 689: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib/to_log_range'); + e.exports = function (t, e, r, a) { + e = e || {}; + var o = 'log' === r && 'linear' === e.type, + s = 'linear' === r && 'log' === e.type; + if (o || s) + for ( + var l, c, u = t._fullLayout.images, f = e._id.charAt(0), h = 0; + h < u.length; + h++ + ) + if ( + ((c = 'images[' + h + '].'), (l = u[h])[f + 'ref'] === e._id) + ) { + var p = l[f], + d = l['size' + f], + g = null, + m = null; + if (o) { + g = i(p, e.range); + var v = d / Math.pow(10, g) / 2; + m = (2 * Math.log(v + Math.sqrt(1 + v * v))) / Math.LN10; + } else + m = + (g = Math.pow(10, p)) * + (Math.pow(10, d / 2) - Math.pow(10, -d / 2)); + n(g) ? n(m) || (m = null) : ((g = null), (m = null)), + a(c + f, g), + a(c + 'size' + f, m); + } + }; + }, + { '../../lib/to_log_range': 805, 'fast-isnumeric': 241 }, + ], + 690: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/array_container_defaults'), + o = t('./attributes'); + function s(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + var s = a('source'); + if (!a('visible', !!s)) return e; + a('layer'), + a('xanchor'), + a('yanchor'), + a('sizex'), + a('sizey'), + a('sizing'), + a('opacity'); + for ( + var l = { _fullLayout: r }, c = ['x', 'y'], u = 0; + u < 2; + u++ + ) { + var f = c[u], + h = i.coerceRef(t, e, l, f, 'paper', void 0); + if ('paper' !== h) i.getFromId(l, h)._imgIndices.push(e._index); + i.coercePosition(e, l, a, h, f, 0); + } + return e; + } + e.exports = function (t, e) { + a(t, e, { name: 'images', handleItemDefaults: s }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/axes': 828, + './attributes': 688, + }, + ], + 691: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../drawing'), + a = t('../../plots/cartesian/axes'), + o = t('../../plots/cartesian/axis_ids'), + s = t('../../constants/xmlns_namespaces'); + e.exports = function (t) { + var e, + r, + l = t._fullLayout, + c = [], + u = {}, + f = []; + for (r = 0; r < l.images.length; r++) { + var h = l.images[r]; + if (h.visible) + if ( + 'below' === h.layer && + 'paper' !== h.xref && + 'paper' !== h.yref + ) { + e = o.ref2id(h.xref) + o.ref2id(h.yref); + var p = l._plots[e]; + if (!p) { + f.push(h); + continue; + } + p.mainplot && (e = p.mainplot.id), + u[e] || (u[e] = []), + u[e].push(h); + } else 'above' === h.layer ? c.push(h) : f.push(h); + } + var d = { + left: { sizing: 'xMin', offset: 0 }, + center: { sizing: 'xMid', offset: -0.5 }, + right: { sizing: 'xMax', offset: -1 }, + }, + g = { + top: { sizing: 'YMin', offset: 0 }, + middle: { sizing: 'YMid', offset: -0.5 }, + bottom: { sizing: 'YMax', offset: -1 }, + }; + function m(e) { + var r = n.select(this); + if (this._imgSrc !== e.source) + if ( + (r.attr('xmlns', s.svg), + e.source && 'data:' === e.source.slice(0, 5)) + ) + r.attr('xlink:href', e.source), (this._imgSrc = e.source); + else { + var i = new Promise( + function (t) { + var n = new Image(); + function i() { + r.remove(), t(); + } + (this.img = n), + n.setAttribute('crossOrigin', 'anonymous'), + (n.onerror = i), + (n.onload = function () { + var e = document.createElement('canvas'); + (e.width = this.width), + (e.height = this.height), + e.getContext('2d').drawImage(this, 0, 0); + var n = e.toDataURL('image/png'); + r.attr('xlink:href', n), t(); + }), + r.on('error', i), + (n.src = e.source), + (this._imgSrc = e.source); + }.bind(this) + ); + t._promises.push(i); + } + } + function v(e) { + var r, + o, + s = n.select(this), + c = a.getFromId(t, e.xref), + u = a.getFromId(t, e.yref), + f = 'domain' === a.getRefType(e.xref), + h = 'domain' === a.getRefType(e.yref), + p = l._size; + (r = + void 0 !== c + ? 'string' == typeof e.xref && f + ? c._length * e.sizex + : Math.abs(c.l2p(e.sizex) - c.l2p(0)) + : e.sizex * p.w), + (o = + void 0 !== u + ? 'string' == typeof e.yref && h + ? u._length * e.sizey + : Math.abs(u.l2p(e.sizey) - u.l2p(0)) + : e.sizey * p.h); + var m, + v, + y = r * d[e.xanchor].offset, + x = o * g[e.yanchor].offset, + b = d[e.xanchor].sizing + g[e.yanchor].sizing; + switch ( + ((m = + void 0 !== c + ? 'string' == typeof e.xref && f + ? c._length * e.x + c._offset + : c.r2p(e.x) + c._offset + : e.x * p.w + p.l), + (m += y), + (v = + void 0 !== u + ? 'string' == typeof e.yref && h + ? u._length * (1 - e.y) + u._offset + : u.r2p(e.y) + u._offset + : p.h - e.y * p.h + p.t), + (v += x), + e.sizing) + ) { + case 'fill': + b += ' slice'; + break; + case 'stretch': + b = 'none'; + } + s.attr({ + x: m, + y: v, + width: r, + height: o, + preserveAspectRatio: b, + opacity: e.opacity, + }); + var _ = + (c && 'domain' !== a.getRefType(e.xref) ? c._id : '') + + (u && 'domain' !== a.getRefType(e.yref) ? u._id : ''); + i.setClipUrl(s, _ ? 'clip' + l._uid + _ : null, t); + } + var y = l._imageLowerLayer.selectAll('image').data(f), + x = l._imageUpperLayer.selectAll('image').data(c); + y.enter().append('image'), + x.enter().append('image'), + y.exit().remove(), + x.exit().remove(), + y.each(function (t) { + m.bind(this)(t), v.bind(this)(t); + }), + x.each(function (t) { + m.bind(this)(t), v.bind(this)(t); + }); + var b = Object.keys(l._plots); + for (r = 0; r < b.length; r++) { + e = b[r]; + var _ = l._plots[e]; + if (_.imagelayer) { + var w = _.imagelayer.selectAll('image').data(u[e] || []); + w.enter().append('image'), + w.exit().remove(), + w.each(function (t) { + m.bind(this)(t), v.bind(this)(t); + }); + } + } + }; + }, + { + '../../constants/xmlns_namespaces': 754, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/axis_ids': 831, + '../drawing': 665, + d3: 169, + }, + ], + 692: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'component', + name: 'images', + layoutAttributes: t('./attributes'), + supplyLayoutDefaults: t('./defaults'), + includeBasePlot: t('../../plots/cartesian/include_components')( + 'images' + ), + draw: t('./draw'), + convertCoords: t('./convert_coords'), + }; + }, + { + '../../plots/cartesian/include_components': 840, + './attributes': 688, + './convert_coords': 689, + './defaults': 690, + './draw': 691, + }, + ], + 693: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../color/attributes'); + e.exports = { + bgcolor: { valType: 'color', editType: 'legend' }, + bordercolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'legend', + }, + borderwidth: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'legend', + }, + font: n({ editType: 'legend' }), + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + dflt: 'v', + editType: 'legend', + }, + traceorder: { + valType: 'flaglist', + flags: ['reversed', 'grouped'], + extras: ['normal'], + editType: 'legend', + }, + tracegroupgap: { + valType: 'number', + min: 0, + dflt: 10, + editType: 'legend', + }, + itemsizing: { + valType: 'enumerated', + values: ['trace', 'constant'], + dflt: 'trace', + editType: 'legend', + }, + itemwidth: { + valType: 'number', + min: 30, + dflt: 30, + editType: 'legend', + }, + itemclick: { + valType: 'enumerated', + values: ['toggle', 'toggleothers', !1], + dflt: 'toggle', + editType: 'legend', + }, + itemdoubleclick: { + valType: 'enumerated', + values: ['toggle', 'toggleothers', !1], + dflt: 'toggleothers', + editType: 'legend', + }, + x: { valType: 'number', min: -2, max: 3, editType: 'legend' }, + xanchor: { + valType: 'enumerated', + values: ['auto', 'left', 'center', 'right'], + dflt: 'left', + editType: 'legend', + }, + y: { valType: 'number', min: -2, max: 3, editType: 'legend' }, + yanchor: { + valType: 'enumerated', + values: ['auto', 'top', 'middle', 'bottom'], + editType: 'legend', + }, + uirevision: { valType: 'any', editType: 'none' }, + valign: { + valType: 'enumerated', + values: ['top', 'middle', 'bottom'], + dflt: 'middle', + editType: 'legend', + }, + title: { + text: { valType: 'string', dflt: '', editType: 'legend' }, + font: n({ editType: 'legend' }), + side: { + valType: 'enumerated', + values: ['top', 'left', 'top left'], + editType: 'legend', + }, + editType: 'legend', + }, + editType: 'legend', + }; + }, + { '../../plots/font_attributes': 856, '../color/attributes': 642 }, + ], + 694: [ + function (t, e, r) { + 'use strict'; + e.exports = { + scrollBarWidth: 6, + scrollBarMinHeight: 20, + scrollBarColor: '#808BA4', + scrollBarMargin: 4, + scrollBarEnterAttrs: { rx: 20, ry: 3, width: 0, height: 0 }, + titlePad: 2, + itemGap: 5, + }; + }, + {}, + ], + 695: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../plot_api/plot_template'), + o = t('./attributes'), + s = t('../../plots/layout_attributes'), + l = t('./helpers'); + e.exports = function (t, e, r) { + for ( + var c = t.legend || {}, u = 0, f = !1, h = 'normal', p = 0; + p < r.length; + p++ + ) { + var d = r[p]; + d.visible && + ((d.showlegend || + (d._dfltShowLegend && + !( + d._module && + d._module.attributes && + d._module.attributes.showlegend && + !1 === d._module.attributes.showlegend.dflt + ))) && + (u++, + d.showlegend && + ((f = !0), + (n.traceIs(d, 'pie-like') || !0 === d._input.showlegend) && + u++)), + ((n.traceIs(d, 'bar') && 'stack' === e.barmode) || + -1 !== ['tonextx', 'tonexty'].indexOf(d.fill)) && + (h = l.isGrouped({ traceorder: h }) + ? 'grouped+reversed' + : 'reversed'), + void 0 !== d.legendgroup && + '' !== d.legendgroup && + (h = l.isReversed({ traceorder: h }) + ? 'reversed+grouped' + : 'grouped')); + } + var g = i.coerce(t, e, s, 'showlegend', f && u > 1); + if (!1 !== g || c.uirevision) { + var m = a.newContainer(e, 'legend'); + if ((_('uirevision', e.uirevision), !1 !== g)) { + _('bgcolor', e.paper_bgcolor), + _('bordercolor'), + _('borderwidth'), + i.coerceFont(_, 'font', e.font); + var v, + y, + x, + b = _('orientation'); + 'h' === b + ? ((v = 0), + n.getComponentMethod('rangeslider', 'isVisible')(t.xaxis) + ? ((y = 1.1), (x = 'bottom')) + : ((y = -0.1), (x = 'top'))) + : ((v = 1.02), (y = 1), (x = 'auto')), + _('traceorder', h), + l.isGrouped(e.legend) && _('tracegroupgap'), + _('itemsizing'), + _('itemwidth'), + _('itemclick'), + _('itemdoubleclick'), + _('x', v), + _('xanchor'), + _('y', y), + _('yanchor', x), + _('valign'), + i.noneOrAll(c, m, ['x', 'y']), + _('title.text') && + (_('title.side', 'h' === b ? 'left' : 'top'), + i.coerceFont(_, 'title.font', e.font)); + } + } + function _(t, e) { + return i.coerce(c, m, o, t, e); + } + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/layout_attributes': 882, + '../../registry': 911, + './attributes': 693, + './helpers': 699, + }, + ], + 696: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../plots/plots'), + o = t('../../registry'), + s = t('../../lib/events'), + l = t('../dragelement'), + c = t('../drawing'), + u = t('../color'), + f = t('../../lib/svg_text_utils'), + h = t('./handle_click'), + p = t('./constants'), + d = t('../../constants/alignment'), + g = d.LINE_SPACING, + m = d.FROM_TL, + v = d.FROM_BR, + y = t('./get_legend_data'), + x = t('./style'), + b = t('./helpers'); + function _(t, e, r, n, i) { + var a = r.data()[0][0].trace, + l = { + event: i, + node: r.node(), + curveNumber: a.index, + expandedIndex: a._expandedIndex, + data: t.data, + layout: t.layout, + frames: t._transitionData._frames, + config: t._context, + fullData: t._fullData, + fullLayout: t._fullLayout, + }; + if ( + (a._group && (l.group = a._group), + o.traceIs(a, 'pie-like') && (l.label = r.datum()[0].label), + !1 !== s.triggerHandler(t, 'plotly_legendclick', l)) + ) + if (1 === n) + e._clickTimeout = setTimeout(function () { + h(r, t, n); + }, t._context.doubleClickDelay); + else if (2 === n) { + e._clickTimeout && clearTimeout(e._clickTimeout), + (t._legendMouseDownTime = 0), + !1 !== s.triggerHandler(t, 'plotly_legenddoubleclick', l) && + h(r, t, n); + } + } + function w(t, e, r) { + var n, + a = t.data()[0][0], + s = a.trace, + l = o.traceIs(s, 'pie-like'), + u = s.index, + h = r._main && e._context.edits.legendText && !l, + d = r._maxNameLength; + r.entries + ? (n = a.text) + : ((n = l ? a.label : s.name), + s._meta && (n = i.templateString(n, s._meta))); + var g = i.ensureSingle(t, 'text', 'legendtext'); + g.attr('text-anchor', 'start') + .call(c.font, r.font) + .text(h ? T(n, d) : n); + var m = r.itemwidth + 2 * p.itemGap; + f.positionText(g, m, 0), + h + ? g + .call(f.makeEditable, { gd: e, text: n }) + .call(M, t, e, r) + .on('edit', function (n) { + this.text(T(n, d)).call(M, t, e, r); + var s = a.trace._fullInput || {}, + l = {}; + if (o.hasTransform(s, 'groupby')) { + var c = o.getTransformIndices(s, 'groupby'), + f = c[c.length - 1], + h = i.keyedContainer( + s, + 'transforms[' + f + '].styles', + 'target', + 'value.name' + ); + h.set(a.trace._group, n), (l = h.constructUpdate()); + } else l.name = n; + return o.call('_guiRestyle', e, l, u); + }) + : M(g, t, e, r); + } + function T(t, e) { + var r = Math.max(4, e); + if (t && t.trim().length >= r / 2) return t; + for (var n = r - (t = t || '').length; n > 0; n--) t += ' '; + return t; + } + function k(t, e) { + var r, + a = e._context.doubleClickDelay, + o = 1, + s = i.ensureSingle(t, 'rect', 'legendtoggle', function (t) { + e._context.staticPlot || + t.style('cursor', 'pointer').attr('pointer-events', 'all'), + t.call(u.fill, 'rgba(0,0,0,0)'); + }); + e._context.staticPlot || + (s.on('mousedown', function () { + (r = new Date().getTime()) - e._legendMouseDownTime < a + ? (o += 1) + : ((o = 1), (e._legendMouseDownTime = r)); + }), + s.on('mouseup', function () { + if (!e._dragged && !e._editing) { + var r = e._fullLayout.legend; + new Date().getTime() - e._legendMouseDownTime > a && + (o = Math.max(o - 1, 1)), + _(e, r, t, o, n.event); + } + })); + } + function M(t, e, r, n) { + n._main || t.attr('data-notex', !0), + f.convertToTspans(t, r, function () { + !(function (t, e, r) { + var n = t.data()[0][0]; + if (r._main && n && !n.trace.showlegend) + return void t.remove(); + var i = t.select('g[class*=math-group]'), + a = i.node(); + r || (r = e._fullLayout.legend); + var o, + s, + l = r.borderwidth, + u = (n ? r : r.title).font.size * g; + if (a) { + var h = c.bBox(a); + (o = h.height), + (s = h.width), + n + ? c.setTranslate(i, 0, 0.25 * o) + : c.setTranslate(i, l, 0.75 * o + l); + } else { + var d = t.select(n ? '.legendtext' : '.legendtitletext'), + m = f.lineCount(d), + v = d.node(); + (o = u * m), (s = v ? c.bBox(v).width : 0); + var y = u * ((m - 1) / 2 - 0.3); + if (n) { + var x = r.itemwidth + 2 * p.itemGap; + f.positionText(d, x, -y); + } else f.positionText(d, p.titlePad + l, u + l); + } + n + ? ((n.lineHeight = u), + (n.height = Math.max(o, 16) + 3), + (n.width = s)) + : ((r._titleWidth = s), (r._titleHeight = o)); + })(e, r, n); + }); + } + function A(t) { + return i.isRightAnchor(t) + ? 'right' + : i.isCenterAnchor(t) + ? 'center' + : 'left'; + } + function S(t) { + return i.isBottomAnchor(t) + ? 'bottom' + : i.isMiddleAnchor(t) + ? 'middle' + : 'top'; + } + e.exports = function (t, e) { + var r, + s = t._fullLayout, + f = 'legend' + s._uid; + if ( + (e + ? ((r = e.layer), (f += '-hover')) + : (((e = s.legend || {})._main = !0), (r = s._infolayer)), + r) + ) { + var h; + if ( + (t._legendMouseDownTime || (t._legendMouseDownTime = 0), + e._main) + ) { + if (!t.calcdata) return; + h = s.showlegend && y(t.calcdata, e); + } else { + if (!e.entries) return; + h = y(e.entries, e); + } + var d = s.hiddenlabels || []; + if (e._main && (!s.showlegend || !h.length)) + return ( + r.selectAll('.legend').remove(), + s._topdefs.select('#' + f).remove(), + a.autoMargin(t, 'legend') + ); + var g = i.ensureSingle(r, 'g', 'legend', function (t) { + e._main && t.attr('pointer-events', 'all'); + }), + T = i.ensureSingleById(s._topdefs, 'clipPath', f, function (t) { + t.append('rect'); + }), + E = i.ensureSingle(g, 'rect', 'bg', function (t) { + t.attr('shape-rendering', 'crispEdges'); + }); + E.call(u.stroke, e.bordercolor) + .call(u.fill, e.bgcolor) + .style('stroke-width', e.borderwidth + 'px'); + var C = i.ensureSingle(g, 'g', 'scrollbox'), + L = e.title; + if (((e._titleWidth = 0), (e._titleHeight = 0), L.text)) { + var I = i.ensureSingle(C, 'text', 'legendtitletext'); + I.attr('text-anchor', 'start') + .call(c.font, L.font) + .text(L.text), + M(I, C, t, e); + } else C.selectAll('.legendtitletext').remove(); + var P = i.ensureSingle(g, 'rect', 'scrollbar', function (t) { + t.attr(p.scrollBarEnterAttrs).call(u.fill, p.scrollBarColor); + }), + z = C.selectAll('g.groups').data(h); + z.enter().append('g').attr('class', 'groups'), z.exit().remove(); + var O = z.selectAll('g.traces').data(i.identity); + O.enter().append('g').attr('class', 'traces'), + O.exit().remove(), + O.style('opacity', function (t) { + var e = t[0].trace; + return o.traceIs(e, 'pie-like') + ? -1 !== d.indexOf(t[0].label) + ? 0.5 + : 1 + : 'legendonly' === e.visible + ? 0.5 + : 1; + }) + .each(function () { + n.select(this).call(w, t, e); + }) + .call(x, t, e) + .each(function () { + e._main && n.select(this).call(k, t); + }), + i.syncOrAsync( + [ + a.previousPromises, + function () { + return (function (t, e, r, i) { + var a = t._fullLayout; + i || (i = a.legend); + var o = a._size, + s = b.isVertical(i), + l = b.isGrouped(i), + u = i.borderwidth, + f = 2 * u, + h = p.itemGap, + d = i.itemwidth + 2 * h, + g = 2 * (u + h), + m = S(i), + v = i.y < 0 || (0 === i.y && 'top' === m), + y = i.y > 1 || (1 === i.y && 'bottom' === m); + i._maxHeight = Math.max( + v || y ? a.height / 2 : o.h, + 30 + ); + var x = 0; + (i._width = 0), (i._height = 0); + var _ = (function (t) { + var e = 0, + r = 0, + n = t.title.side; + n && + (-1 !== n.indexOf('left') && (e = t._titleWidth), + -1 !== n.indexOf('top') && (r = t._titleHeight)); + return [e, r]; + })(i); + if (s) + r.each(function (t) { + var e = t[0].height; + c.setTranslate( + this, + u + _[0], + u + _[1] + i._height + e / 2 + h + ), + (i._height += e), + (i._width = Math.max(i._width, t[0].width)); + }), + (x = d + i._width), + (i._width += h + d + f), + (i._height += g), + l && + (e.each(function (t, e) { + c.setTranslate(this, 0, e * i.tracegroupgap); + }), + (i._height += + (i._lgroupsLength - 1) * i.tracegroupgap)); + else { + var w = A(i), + T = i.x < 0 || (0 === i.x && 'right' === w), + k = i.x > 1 || (1 === i.x && 'left' === w), + M = y || v, + E = a.width / 2; + i._maxWidth = Math.max( + T + ? M && 'left' === w + ? o.l + o.w + : E + : k + ? M && 'right' === w + ? o.r + o.w + : E + : o.w, + 2 * d + ); + var C = 0, + L = 0; + r.each(function (t) { + var e = t[0].width + d; + (C = Math.max(C, e)), (L += e); + }), + (x = null); + var I = 0; + if (l) { + var P = 0, + z = 0, + O = 0; + e.each(function () { + var t = 0, + e = 0; + n + .select(this) + .selectAll('g.traces') + .each(function (r) { + var n = r[0].height; + c.setTranslate( + this, + _[0], + _[1] + u + h + n / 2 + e + ), + (e += n), + (t = Math.max(t, d + r[0].width)); + }), + (P = Math.max(P, e)); + var r = t + h; + r + u + z > i._maxWidth && + ((I = Math.max(I, z)), + (z = 0), + (O += P + i.tracegroupgap), + (P = e)), + c.setTranslate(this, z, O), + (z += r); + }), + (i._width = Math.max(I, z) + u), + (i._height = O + P + g); + } else { + var D = r.size(), + R = L + f + (D - 1) * h < i._maxWidth, + F = 0, + B = 0, + N = 0, + j = 0; + r.each(function (t) { + var e = t[0].height, + r = d + t[0].width, + n = (R ? r : C) + h; + n + u + B - h >= i._maxWidth && + ((I = Math.max(I, j)), + (B = 0), + (N += F), + (i._height += F), + (F = 0)), + c.setTranslate( + this, + _[0] + u + B, + _[1] + u + N + e / 2 + h + ), + (j = B + r + h), + (B += n), + (F = Math.max(F, e)); + }), + R + ? ((i._width = B + f), (i._height = F + g)) + : ((i._width = Math.max(I, j) + f), + (i._height += F + g)); + } + } + (i._width = Math.ceil( + Math.max( + i._width + _[0], + i._titleWidth + 2 * (u + p.titlePad) + ) + )), + (i._height = Math.ceil( + Math.max( + i._height + _[1], + i._titleHeight + 2 * (u + p.itemGap) + ) + )), + (i._effHeight = Math.min(i._height, i._maxHeight)); + var U = t._context.edits, + V = U.legendText || U.legendPosition; + r.each(function (t) { + var e = n.select(this).select('.legendtoggle'), + r = t[0].height, + i = V ? d : x || d + t[0].width; + s || (i += h / 2), c.setRect(e, 0, -r / 2, i, r); + }); + })(t, z, O, e); + }, + function () { + if ( + !e._main || + !(function (t) { + var e = t._fullLayout.legend, + r = A(e), + n = S(e); + return a.autoMargin(t, 'legend', { + x: e.x, + y: e.y, + l: e._width * m[r], + r: e._width * v[r], + b: e._effHeight * v[n], + t: e._effHeight * m[n], + }); + })(t) + ) { + var u, + h, + d, + y, + x = s._size, + b = e.borderwidth, + w = x.l + x.w * e.x - m[A(e)] * e._width, + k = x.t + x.h * (1 - e.y) - m[S(e)] * e._effHeight; + if (e._main && s.margin.autoexpand) { + var M = w, + L = k; + (w = i.constrain(w, 0, s.width - e._width)), + (k = i.constrain(k, 0, s.height - e._effHeight)), + w !== M && + i.log( + 'Constrain legend.x to make legend fit inside graph' + ), + k !== L && + i.log( + 'Constrain legend.y to make legend fit inside graph' + ); + } + if ( + (e._main && c.setTranslate(g, w, k), + P.on('.drag', null), + g.on('wheel', null), + !e._main || + e._height <= e._maxHeight || + t._context.staticPlot) + ) { + var I = e._effHeight; + e._main || (I = e._height), + E.attr({ + width: e._width - b, + height: I - b, + x: b / 2, + y: b / 2, + }), + c.setTranslate(C, 0, 0), + T.select('rect').attr({ + width: e._width - 2 * b, + height: I - 2 * b, + x: b, + y: b, + }), + c.setClipUrl(C, f, t), + c.setRect(P, 0, 0, 0, 0), + delete e._scrollY; + } else { + var z, + O, + D, + R = Math.max( + p.scrollBarMinHeight, + (e._effHeight * e._effHeight) / e._height + ), + F = e._effHeight - R - 2 * p.scrollBarMargin, + B = e._height - e._effHeight, + N = F / B, + j = Math.min(e._scrollY || 0, B); + E.attr({ + width: + e._width - + 2 * b + + p.scrollBarWidth + + p.scrollBarMargin, + height: e._effHeight - b, + x: b / 2, + y: b / 2, + }), + T.select('rect').attr({ + width: + e._width - + 2 * b + + p.scrollBarWidth + + p.scrollBarMargin, + height: e._effHeight - 2 * b, + x: b, + y: b + j, + }), + c.setClipUrl(C, f, t), + q(j, R, N), + g.on('wheel', function () { + q( + (j = i.constrain( + e._scrollY + (n.event.deltaY / F) * B, + 0, + B + )), + R, + N + ), + 0 !== j && j !== B && n.event.preventDefault(); + }); + var U = n.behavior + .drag() + .on('dragstart', function () { + var t = n.event.sourceEvent; + (z = + 'touchstart' === t.type + ? t.changedTouches[0].clientY + : t.clientY), + (D = j); + }) + .on('drag', function () { + var t = n.event.sourceEvent; + 2 === t.buttons || + t.ctrlKey || + ((O = + 'touchmove' === t.type + ? t.changedTouches[0].clientY + : t.clientY), + q( + (j = (function (t, e, r) { + var n = (r - e) / N + t; + return i.constrain(n, 0, B); + })(D, z, O)), + R, + N + )); + }); + P.call(U); + var V = n.behavior + .drag() + .on('dragstart', function () { + var t = n.event.sourceEvent; + 'touchstart' === t.type && + ((z = t.changedTouches[0].clientY), (D = j)); + }) + .on('drag', function () { + var t = n.event.sourceEvent; + 'touchmove' === t.type && + ((O = t.changedTouches[0].clientY), + q( + (j = (function (t, e, r) { + var n = (e - r) / N + t; + return i.constrain(n, 0, B); + })(D, z, O)), + R, + N + )); + }); + C.call(V); + } + if (t._context.edits.legendPosition) + g.classed('cursor-move', !0), + l.init({ + element: g.node(), + gd: t, + prepFn: function () { + var t = c.getTranslate(g); + (d = t.x), (y = t.y); + }, + moveFn: function (t, r) { + var n = d + t, + i = y + r; + c.setTranslate(g, n, i), + (u = l.align( + n, + 0, + x.l, + x.l + x.w, + e.xanchor + )), + (h = l.align( + i, + 0, + x.t + x.h, + x.t, + e.yanchor + )); + }, + doneFn: function () { + void 0 !== u && + void 0 !== h && + o.call('_guiRelayout', t, { + 'legend.x': u, + 'legend.y': h, + }); + }, + clickFn: function (e, n) { + var i = r + .selectAll('g.traces') + .filter(function () { + var t = this.getBoundingClientRect(); + return ( + n.clientX >= t.left && + n.clientX <= t.right && + n.clientY >= t.top && + n.clientY <= t.bottom + ); + }); + i.size() > 0 && _(t, g, i, e, n); + }, + }); + } + function q(r, n, i) { + (e._scrollY = t._fullLayout.legend._scrollY = r), + c.setTranslate(C, 0, -r), + c.setRect( + P, + e._width, + p.scrollBarMargin + r * i, + p.scrollBarWidth, + n + ), + T.select('rect').attr('y', b + r); + } + }, + ], + t + ); + } + }; + }, + { + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/events': 767, + '../../lib/svg_text_utils': 803, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../dragelement': 662, + '../drawing': 665, + './constants': 694, + './get_legend_data': 697, + './handle_click': 698, + './helpers': 699, + './style': 701, + d3: 169, + }, + ], + 697: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('./helpers'); + e.exports = function (t, e) { + var r, + a, + o = {}, + s = [], + l = !1, + c = {}, + u = 0, + f = 0, + h = e._main; + function p(t, r) { + if ('' !== t && i.isGrouped(e)) + -1 === s.indexOf(t) + ? (s.push(t), (l = !0), (o[t] = [[r]])) + : o[t].push([r]); + else { + var n = '~~i' + u; + s.push(n), (o[n] = [[r]]), u++; + } + } + for (r = 0; r < t.length; r++) { + var d = t[r], + g = d[0], + m = g.trace, + v = m.legendgroup; + if (!h || (m.visible && m.showlegend)) + if (n.traceIs(m, 'pie-like')) + for (c[v] || (c[v] = {}), a = 0; a < d.length; a++) { + var y = d[a].label; + c[v][y] || + (p(v, { + label: y, + color: d[a].color, + i: d[a].i, + trace: m, + pts: d[a].pts, + }), + (c[v][y] = !0), + (f = Math.max(f, (y || '').length))); + } + else p(v, g), (f = Math.max(f, (m.name || '').length)); + } + if (!s.length) return []; + var x, + b, + _ = s.length; + if (l && i.isGrouped(e)) + for (b = new Array(_), r = 0; r < _; r++) + (x = o[s[r]]), (b[r] = i.isReversed(e) ? x.reverse() : x); + else { + for (b = [new Array(_)], r = 0; r < _; r++) + (x = o[s[r]][0]), (b[0][i.isReversed(e) ? _ - r - 1 : r] = x); + _ = 1; + } + return (e._lgroupsLength = _), (e._maxNameLength = f), b; + }; + }, + { '../../registry': 911, './helpers': 699 }, + ], + 698: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = !0; + e.exports = function (t, e, r) { + var o = e._fullLayout; + if (!e._dragged && !e._editing) { + var s, + l = o.legend.itemclick, + c = o.legend.itemdoubleclick; + if ( + (1 === r && + 'toggle' === l && + 'toggleothers' === c && + a && + e.data && + e._context.showTips + ? (n.notifier( + n._(e, 'Double-click on legend to isolate one trace'), + 'long' + ), + (a = !1)) + : (a = !1), + 1 === r ? (s = l) : 2 === r && (s = c), + s) + ) { + var u, + f, + h, + p, + d, + g = o.hiddenlabels ? o.hiddenlabels.slice() : [], + m = t.data()[0][0], + v = e._fullData, + y = m.trace, + x = y.legendgroup, + b = {}, + _ = [], + w = [], + T = []; + if (i.traceIs(y, 'pie-like')) { + var k = m.label, + M = g.indexOf(k); + 'toggle' === s + ? -1 === M + ? g.push(k) + : g.splice(M, 1) + : 'toggleothers' === s && + ((g = []), + e.calcdata[0].forEach(function (t) { + k !== t.label && g.push(t.label); + }), + e._fullLayout.hiddenlabels && + e._fullLayout.hiddenlabels.length === g.length && + -1 === M && + (g = [])), + i.call('_guiRelayout', e, 'hiddenlabels', g); + } else { + var A, + S = x && x.length, + E = []; + if (S) + for (u = 0; u < v.length; u++) + (A = v[u]).visible && A.legendgroup === x && E.push(u); + if ('toggle' === s) { + var C; + switch (y.visible) { + case !0: + C = 'legendonly'; + break; + case !1: + C = !1; + break; + case 'legendonly': + C = !0; + } + if (S) + for (u = 0; u < v.length; u++) + !1 !== v[u].visible && + v[u].legendgroup === x && + B(v[u], C); + else B(y, C); + } else if ('toggleothers' === s) { + var L, + I, + P, + z, + O = !0; + for (u = 0; u < v.length; u++) + if ( + ((L = v[u] === y), + (P = !0 !== v[u].showlegend), + !( + L || + P || + (I = S && v[u].legendgroup === x) || + !0 !== v[u].visible || + i.traceIs(v[u], 'notLegendIsolatable') + )) + ) { + O = !1; + break; + } + for (u = 0; u < v.length; u++) + if ( + !1 !== v[u].visible && + !i.traceIs(v[u], 'notLegendIsolatable') + ) + switch (y.visible) { + case 'legendonly': + B(v[u], !0); + break; + case !0: + (z = !!O || 'legendonly'), + (L = v[u] === y), + (P = !0 !== v[u].showlegend && !v[u].legendgroup), + (I = L || (S && v[u].legendgroup === x)), + B(v[u], !(!I && !P) || z); + } + } + for (u = 0; u < w.length; u++) + if ((h = w[u])) { + var D = h.constructUpdate(), + R = Object.keys(D); + for (f = 0; f < R.length; f++) + (p = R[f]), ((b[p] = b[p] || [])[T[u]] = D[p]); + } + for (d = Object.keys(b), u = 0; u < d.length; u++) + for (p = d[u], f = 0; f < _.length; f++) + b[p].hasOwnProperty(f) || (b[p][f] = void 0); + i.call('_guiRestyle', e, b, _); + } + } + } + function F(t, e, r) { + var n = _.indexOf(t), + i = b[e]; + return ( + i || (i = b[e] = []), + -1 === _.indexOf(t) && (_.push(t), (n = _.length - 1)), + (i[n] = r), + n + ); + } + function B(t, e) { + var r = t._fullInput; + if (i.hasTransform(r, 'groupby')) { + var a = w[r.index]; + if (!a) { + var o = i.getTransformIndices(r, 'groupby'), + s = o[o.length - 1]; + (a = n.keyedContainer( + r, + 'transforms[' + s + '].styles', + 'target', + 'value.visible' + )), + (w[r.index] = a); + } + var l = a.get(t._group); + void 0 === l && (l = !0), + !1 !== l && a.set(t._group, e), + (T[r.index] = F(r.index, 'visible', !1 !== r.visible)); + } else { + var c = !1 !== r.visible && e; + F(r.index, 'visible', c); + } + } + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 699: [ + function (t, e, r) { + 'use strict'; + (r.isGrouped = function (t) { + return -1 !== (t.traceorder || '').indexOf('grouped'); + }), + (r.isVertical = function (t) { + return 'h' !== t.orientation; + }), + (r.isReversed = function (t) { + return -1 !== (t.traceorder || '').indexOf('reversed'); + }); + }, + {}, + ], + 700: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'component', + name: 'legend', + layoutAttributes: t('./attributes'), + supplyLayoutDefaults: t('./defaults'), + draw: t('./draw'), + style: t('./style'), + }; + }, + { + './attributes': 693, + './defaults': 695, + './draw': 696, + './style': 701, + }, + ], + 701: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../lib'), + o = a.strTranslate, + s = t('../drawing'), + l = t('../color'), + c = t('../colorscale/helpers').extractOpts, + u = t('../../traces/scatter/subtypes'), + f = t('../../traces/pie/style_one'), + h = t('../../traces/pie/helpers').castOption, + p = t('./constants'); + function d(t, e) { + return (e ? 'radial' : 'horizontal') + (t ? '' : 'reversed'); + } + e.exports = function (t, e, r) { + var g = e._fullLayout; + r || (r = g.legend); + var m = 'constant' === r.itemsizing, + v = r.itemwidth, + y = (v + 2 * p.itemGap) / 2, + x = o(y, 0), + b = function (t, e, r, n) { + var i; + if (t + 1) i = t; + else { + if (!(e && e.width > 0)) return 0; + i = e.width; + } + return m ? n : Math.min(i, r); + }; + function _(t, e, r) { + var a = t[0].trace, + o = a.marker || {}, + s = o.line || {}, + c = r ? a.visible && a.type === r : i.traceIs(a, 'bar'), + u = n + .select(e) + .select('g.legendpoints') + .selectAll('path.legend' + r) + .data(c ? [t] : []); + u + .enter() + .append('path') + .classed('legend' + r, !0) + .attr('d', 'M6,6H-6V-6H6Z') + .attr('transform', x), + u.exit().remove(), + u.each(function (t) { + var e = n.select(this), + r = t[0], + i = b(r.mlw, o.line, 5, 2); + e + .style('stroke-width', i + 'px') + .call(l.fill, r.mc || o.color), + i && l.stroke(e, r.mlc || s.color); + }); + } + function w(t, e, r) { + var o = t[0], + s = o.trace, + l = r ? s.visible && s.type === r : i.traceIs(s, r), + c = n + .select(e) + .select('g.legendpoints') + .selectAll('path.legend' + r) + .data(l ? [t] : []); + if ( + (c + .enter() + .append('path') + .classed('legend' + r, !0) + .attr('d', 'M6,6H-6V-6H6Z') + .attr('transform', x), + c.exit().remove(), + c.size()) + ) { + var u = (s.marker || {}).line, + p = b(h(u.width, o.pts), u, 5, 2), + d = a.minExtend(s, { marker: { line: { width: p } } }); + d.marker.line.color = u.color; + var g = a.minExtend(o, { trace: d }); + f(c, g, d); + } + } + t.each(function (t) { + var e = n.select(this), + i = a.ensureSingle(e, 'g', 'layers'); + i.style('opacity', t[0].trace.opacity); + var s = r.valign, + l = t[0].lineHeight, + c = t[0].height; + if ('middle' !== s && l && c) { + var u = { top: 1, bottom: -1 }[s] * (0.5 * (l - c + 3)); + i.attr('transform', o(0, u)); + } else i.attr('transform', null); + i + .selectAll('g.legendfill') + .data([t]) + .enter() + .append('g') + .classed('legendfill', !0), + i + .selectAll('g.legendlines') + .data([t]) + .enter() + .append('g') + .classed('legendlines', !0); + var f = i.selectAll('g.legendsymbols').data([t]); + f.enter().append('g').classed('legendsymbols', !0), + f + .selectAll('g.legendpoints') + .data([t]) + .enter() + .append('g') + .classed('legendpoints', !0); + }) + .each(function (t) { + var r, + i = t[0].trace, + o = []; + if (i.visible) + switch (i.type) { + case 'histogram2d': + case 'heatmap': + (o = [['M-15,-2V4H15V-2Z']]), (r = !0); + break; + case 'choropleth': + case 'choroplethmapbox': + (o = [['M-6,-6V6H6V-6Z']]), (r = !0); + break; + case 'densitymapbox': + (o = [['M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0']]), + (r = 'radial'); + break; + case 'cone': + (o = [ + ['M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z'], + ['M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z'], + ['M-6,-2 A2,2 0 0,0 -6,2 L6,0Z'], + ]), + (r = !1); + break; + case 'streamtube': + (o = [ + ['M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z'], + ['M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z'], + ['M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z'], + ]), + (r = !1); + break; + case 'surface': + (o = [ + ['M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z'], + ['M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z'], + ]), + (r = !0); + break; + case 'mesh3d': + (o = [ + ['M-6,6H0L-6,-6Z'], + ['M6,6H0L6,-6Z'], + ['M-6,-6H6L0,6Z'], + ]), + (r = !1); + break; + case 'volume': + (o = [ + ['M-6,6H0L-6,-6Z'], + ['M6,6H0L6,-6Z'], + ['M-6,-6H6L0,6Z'], + ]), + (r = !0); + break; + case 'isosurface': + (o = [ + ['M-6,6H0L-6,-6Z'], + ['M6,6H0L6,-6Z'], + ['M-6,-6 A12,24 0 0,0 6,-6 L0,6Z'], + ]), + (r = !1); + } + var u = n + .select(this) + .select('g.legendpoints') + .selectAll('path.legend3dandfriends') + .data(o); + u + .enter() + .append('path') + .classed('legend3dandfriends', !0) + .attr('transform', x) + .style('stroke-miterlimit', 1), + u.exit().remove(), + u.each(function (t, o) { + var u, + f = n.select(this), + h = c(i), + p = h.colorscale, + g = h.reversescale; + if (p) { + if (!r) { + var m = p.length; + u = + 0 === o + ? p[g ? m - 1 : 0][1] + : 1 === o + ? p[g ? 0 : m - 1][1] + : p[Math.floor((m - 1) / 2)][1]; + } + } else { + var v = i.vertexcolor || i.facecolor || i.color; + u = a.isArrayOrTypedArray(v) ? v[o] || v[0] : v; + } + f.attr('d', t[0]), + u + ? f.call(l.fill, u) + : f.call(function (t) { + if (t.size()) { + var n = 'legendfill-' + i.uid; + s.gradient( + t, + e, + n, + d(g, 'radial' === r), + p, + 'fill' + ); + } + }); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = 'waterfall' === e.type; + if (t[0]._distinct && r) { + var i = t[0].trace[t[0].dir].marker; + return ( + (t[0].mc = i.color), + (t[0].mlw = i.line.width), + (t[0].mlc = i.line.color), + _(t, this, 'waterfall') + ); + } + var a = []; + e.visible && + r && + (a = t[0].hasTotals + ? [ + ['increasing', 'M-6,-6V6H0Z'], + ['totals', 'M6,6H0L-6,-6H-0Z'], + ['decreasing', 'M6,6V-6H0Z'], + ] + : [ + ['increasing', 'M-6,-6V6H6Z'], + ['decreasing', 'M6,6V-6H-6Z'], + ]); + var o = n + .select(this) + .select('g.legendpoints') + .selectAll('path.legendwaterfall') + .data(a); + o + .enter() + .append('path') + .classed('legendwaterfall', !0) + .attr('transform', x) + .style('stroke-miterlimit', 1), + o.exit().remove(), + o.each(function (t) { + var r = n.select(this), + i = e[t[0]].marker, + a = b(void 0, i.line, 5, 2); + r + .attr('d', t[1]) + .style('stroke-width', a + 'px') + .call(l.fill, i.color), + a && r.call(l.stroke, i.line.color); + }); + }) + .each(function (t) { + _(t, this, 'funnel'); + }) + .each(function (t) { + _(t, this); + }) + .each(function (t) { + var r = t[0].trace, + o = n + .select(this) + .select('g.legendpoints') + .selectAll('path.legendbox') + .data(r.visible && i.traceIs(r, 'box-violin') ? [t] : []); + o + .enter() + .append('path') + .classed('legendbox', !0) + .attr('d', 'M6,6H-6V-6H6Z') + .attr('transform', x), + o.exit().remove(), + o.each(function () { + var t = n.select(this); + if ( + ('all' !== r.boxpoints && 'all' !== r.points) || + 0 !== l.opacity(r.fillcolor) || + 0 !== l.opacity((r.line || {}).color) + ) { + var i = b(void 0, r.line, 5, 2); + t + .style('stroke-width', i + 'px') + .call(l.fill, r.fillcolor), + i && l.stroke(t, r.line.color); + } else { + var c = a.minExtend(r, { + marker: { + size: m ? 12 : a.constrain(r.marker.size, 2, 16), + sizeref: 1, + sizemin: 1, + sizemode: 'diameter', + }, + }); + o.call(s.pointStyle, c, e); + } + }); + }) + .each(function (t) { + w(t, this, 'funnelarea'); + }) + .each(function (t) { + w(t, this, 'pie'); + }) + .each(function (t) { + var r, + i, + o = t[0], + l = o.trace, + f = l.visible && l.fill && 'none' !== l.fill, + h = u.hasLines(l), + p = l.contours, + g = !1, + m = !1, + y = c(l), + x = y.colorscale, + _ = y.reversescale; + if (p) { + var w = p.coloring; + 'lines' === w + ? (g = !0) + : (h = 'none' === w || 'heatmap' === w || p.showlines), + 'constraint' === p.type + ? (f = '=' !== p._operation) + : ('fill' !== w && 'heatmap' !== w) || (m = !0); + } + var T = u.hasMarkers(l) || u.hasText(l), + k = f || m, + M = h || g, + A = T || !k ? 'M5,0' : M ? 'M5,-2' : 'M5,-3', + S = n.select(this), + E = S.select('.legendfill') + .selectAll('path') + .data(f || m ? [t] : []); + if ( + (E.enter().append('path').classed('js-fill', !0), + E.exit().remove(), + E.attr('d', A + 'h' + v + 'v6h-' + v + 'z').call( + f + ? s.fillGroupStyle + : function (t) { + if (t.size()) { + var r = 'legendfill-' + l.uid; + s.gradient(t, e, r, d(_), x, 'fill'); + } + } + ), + h || g) + ) { + var C = b(void 0, l.line, 10, 5); + (i = a.minExtend(l, { line: { width: C } })), + (r = [a.minExtend(o, { trace: i })]); + } + var L = S.select('.legendlines') + .selectAll('path') + .data(h || g ? [r] : []); + L.enter().append('path').classed('js-line', !0), + L.exit().remove(), + L.attr('d', A + (g ? 'l' + v + ',0.0001' : 'h' + v)).call( + h + ? s.lineGroupStyle + : function (t) { + if (t.size()) { + var r = 'legendline-' + l.uid; + s.lineGroupStyle(t), + s.gradient(t, e, r, d(_), x, 'stroke'); + } + } + ); + }) + .each(function (t) { + var r, + i, + o = t[0], + l = o.trace, + c = u.hasMarkers(l), + f = u.hasText(l), + h = u.hasLines(l); + function p(t, e, r, n) { + var i = a.nestedProperty(l, t).get(), + o = a.isArrayOrTypedArray(i) && e ? e(i) : i; + if ((m && o && void 0 !== n && (o = n), r)) { + if (o < r[0]) return r[0]; + if (o > r[1]) return r[1]; + } + return o; + } + function d(t) { + return o._distinct && o.index && t[o.index] + ? t[o.index] + : t[0]; + } + if (c || f || h) { + var g = {}, + v = {}; + if (c) { + (g.mc = p('marker.color', d)), + (g.mx = p('marker.symbol', d)), + (g.mo = p('marker.opacity', a.mean, [0.2, 1])), + (g.mlc = p('marker.line.color', d)), + (g.mlw = p('marker.line.width', a.mean, [0, 5], 2)), + (v.marker = { + sizeref: 1, + sizemin: 1, + sizemode: 'diameter', + }); + var y = p('marker.size', a.mean, [2, 16], 12); + (g.ms = y), (v.marker.size = y); + } + h && (v.line = { width: p('line.width', d, [0, 10], 5) }), + f && + ((g.tx = 'Aa'), + (g.tp = p('textposition', d)), + (g.ts = 10), + (g.tc = p('textfont.color', d)), + (g.tf = p('textfont.family', d))), + (r = [a.minExtend(o, g)]), + ((i = a.minExtend(l, v)).selectedpoints = null), + (i.texttemplate = null); + } + var b = n.select(this).select('g.legendpoints'), + _ = b.selectAll('path.scatterpts').data(c ? r : []); + _.enter() + .insert('path', ':first-child') + .classed('scatterpts', !0) + .attr('transform', x), + _.exit().remove(), + _.call(s.pointStyle, i, e), + c && (r[0].mrc = 3); + var w = b.selectAll('g.pointtext').data(f ? r : []); + w + .enter() + .append('g') + .classed('pointtext', !0) + .append('text') + .attr('transform', x), + w.exit().remove(), + w.selectAll('text').call(s.textPointStyle, i, e); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select('g.legendpoints') + .selectAll('path.legendcandle') + .data(e.visible && 'candlestick' === e.type ? [t, t] : []); + r + .enter() + .append('path') + .classed('legendcandle', !0) + .attr('d', function (t, e) { + return e ? 'M-15,0H-8M-8,6V-6H8Z' : 'M15,0H8M8,-6V6H-8Z'; + }) + .attr('transform', x) + .style('stroke-miterlimit', 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? 'increasing' : 'decreasing'], + o = b(void 0, a.line, 5, 2); + i.style('stroke-width', o + 'px').call(l.fill, a.fillcolor), + o && l.stroke(i, a.line.color); + }); + }) + .each(function (t) { + var e = t[0].trace, + r = n + .select(this) + .select('g.legendpoints') + .selectAll('path.legendohlc') + .data(e.visible && 'ohlc' === e.type ? [t, t] : []); + r + .enter() + .append('path') + .classed('legendohlc', !0) + .attr('d', function (t, e) { + return e ? 'M-15,0H0M-8,-6V0' : 'M15,0H0M8,6V0'; + }) + .attr('transform', x) + .style('stroke-miterlimit', 1), + r.exit().remove(), + r.each(function (t, r) { + var i = n.select(this), + a = e[r ? 'increasing' : 'decreasing'], + o = b(void 0, a.line, 5, 2); + i.style('fill', 'none').call(s.dashLine, a.line.dash, o), + o && l.stroke(i, a.line.color); + }); + }); + }; + }, + { + '../../lib': 778, + '../../registry': 911, + '../../traces/pie/helpers': 1166, + '../../traces/pie/style_one': 1172, + '../../traces/scatter/subtypes': 1212, + '../color': 643, + '../colorscale/helpers': 654, + '../drawing': 665, + './constants': 694, + d3: 169, + }, + ], + 702: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../plots/plots'), + a = t('../../plots/cartesian/axis_ids'), + o = t('../../fonts/ploticon'), + s = t('../shapes/draw').eraseActiveShape, + l = t('../../lib'), + c = l._, + u = (e.exports = {}); + function f(t, e) { + var r, + i, + o = e.currentTarget, + s = o.getAttribute('data-attr'), + l = o.getAttribute('data-val') || !0, + c = t._fullLayout, + u = {}, + f = a.list(t, null, !0), + h = c._cartesianSpikesEnabled; + if ('zoom' === s) { + var p, + d = 'in' === l ? 0.5 : 2, + g = (1 + d) / 2, + m = (1 - d) / 2; + for (i = 0; i < f.length; i++) + if (!(r = f[i]).fixedrange) + if (((p = r._name), 'auto' === l)) u[p + '.autorange'] = !0; + else if ('reset' === l) { + if (void 0 === r._rangeInitial) u[p + '.autorange'] = !0; + else { + var v = r._rangeInitial.slice(); + (u[p + '.range[0]'] = v[0]), (u[p + '.range[1]'] = v[1]); + } + void 0 !== r._showSpikeInitial && + ((u[p + '.showspikes'] = r._showSpikeInitial), + 'on' !== h || r._showSpikeInitial || (h = 'off')); + } else { + var y = [r.r2l(r.range[0]), r.r2l(r.range[1])], + x = [g * y[0] + m * y[1], g * y[1] + m * y[0]]; + (u[p + '.range[0]'] = r.l2r(x[0])), + (u[p + '.range[1]'] = r.l2r(x[1])); + } + } else + 'hovermode' !== s || + ('x' !== l && 'y' !== l) || + ((l = c._isHoriz ? 'y' : 'x'), o.setAttribute('data-val', l)), + (u[s] = l); + (c._cartesianSpikesEnabled = h), n.call('_guiRelayout', t, u); + } + function h(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute('data-attr'), + a = r.getAttribute('data-val') || !0, + o = t._fullLayout._subplots.gl3d || [], + s = {}, + l = i.split('.'), + c = 0; + c < o.length; + c++ + ) + s[o[c] + '.' + l[1]] = a; + var u = 'pan' === a ? a : 'zoom'; + (s.dragmode = u), n.call('_guiRelayout', t, s); + } + function p(t, e) { + for ( + var r = e.currentTarget.getAttribute('data-attr'), + i = 'resetLastSave' === r, + a = 'resetDefault' === r, + o = t._fullLayout, + s = o._subplots.gl3d || [], + l = {}, + c = 0; + c < s.length; + c++ + ) { + var u, + f = s[c], + h = f + '.camera', + p = f + '.aspectratio', + d = f + '.aspectmode', + g = o[f]._scene; + i + ? ((l[h + '.up'] = g.viewInitial.up), + (l[h + '.eye'] = g.viewInitial.eye), + (l[h + '.center'] = g.viewInitial.center), + (u = !0)) + : a && + ((l[h + '.up'] = null), + (l[h + '.eye'] = null), + (l[h + '.center'] = null), + (u = !0)), + u && + ((l[p + '.x'] = g.viewInitial.aspectratio.x), + (l[p + '.y'] = g.viewInitial.aspectratio.y), + (l[p + '.z'] = g.viewInitial.aspectratio.z), + (l[d] = g.viewInitial.aspectmode)); + } + n.call('_guiRelayout', t, l); + } + function d(t, e) { + var r = e.currentTarget, + n = r._previousVal, + i = t._fullLayout, + a = i._subplots.gl3d || [], + o = ['xaxis', 'yaxis', 'zaxis'], + s = {}, + l = {}; + if (n) (l = n), (r._previousVal = null); + else { + for (var c = 0; c < a.length; c++) { + var u = a[c], + f = i[u], + h = u + '.hovermode'; + (s[h] = f.hovermode), (l[h] = !1); + for (var p = 0; p < 3; p++) { + var d = o[p], + g = u + '.' + d + '.showspikes'; + (l[g] = !1), (s[g] = f[d].showspikes); + } + } + r._previousVal = s; + } + return l; + } + function g(t, e) { + for ( + var r = e.currentTarget, + i = r.getAttribute('data-attr'), + a = r.getAttribute('data-val') || !0, + o = t._fullLayout, + s = o._subplots.geo || [], + l = 0; + l < s.length; + l++ + ) { + var c = s[l], + u = o[c]; + if ('zoom' === i) { + var f = u.projection.scale, + h = 'in' === a ? 2 * f : 0.5 * f; + n.call('_guiRelayout', t, c + '.projection.scale', h); + } + } + 'reset' === i && x(t, 'geo'); + } + function m(t) { + var e = t._fullLayout; + return ( + !e.hovermode && + (e._has('cartesian') ? (e._isHoriz ? 'y' : 'x') : 'closest') + ); + } + function v(t) { + var e = m(t); + n.call('_guiRelayout', t, 'hovermode', e); + } + function y(t, e) { + for ( + var r = e.currentTarget.getAttribute('data-val'), + i = t._fullLayout, + a = i._subplots.mapbox || [], + o = {}, + s = 0; + s < a.length; + s++ + ) { + var l = a[s], + c = i[l].zoom, + u = 'in' === r ? 1.05 * c : c / 1.05; + o[l + '.zoom'] = u; + } + n.call('_guiRelayout', t, o); + } + function x(t, e) { + for ( + var r = t._fullLayout, i = r._subplots[e] || [], a = {}, o = 0; + o < i.length; + o++ + ) + for ( + var s = i[o], + l = r[s]._subplot.viewInitial, + c = Object.keys(l), + u = 0; + u < c.length; + u++ + ) { + var f = c[u]; + a[s + '.' + f] = l[f]; + } + n.call('_guiRelayout', t, a); + } + (u.toImage = { + name: 'toImage', + title: function (t) { + var e = (t._context.toImageButtonOptions || {}).format || 'png'; + return c( + t, + 'png' === e ? 'Download plot as a png' : 'Download plot' + ); + }, + icon: o.camera, + click: function (t) { + var e = t._context.toImageButtonOptions, + r = { format: e.format || 'png' }; + l.notifier( + c(t, 'Taking snapshot - this may take a few seconds'), + 'long' + ), + 'svg' !== r.format && + l.isIE() && + (l.notifier( + c(t, 'IE only supports svg. Changing format to svg.'), + 'long' + ), + (r.format = 'svg')), + ['filename', 'width', 'height', 'scale'].forEach(function (t) { + t in e && (r[t] = e[t]); + }), + n + .call('downloadImage', t, r) + .then(function (e) { + l.notifier(c(t, 'Snapshot succeeded') + ' - ' + e, 'long'); + }) + .catch(function () { + l.notifier( + c( + t, + 'Sorry, there was a problem downloading your snapshot!' + ), + 'long' + ); + }); + }, + }), + (u.sendDataToCloud = { + name: 'sendDataToCloud', + title: function (t) { + return c(t, 'Edit in Chart Studio'); + }, + icon: o.disk, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (u.editInChartStudio = { + name: 'editInChartStudio', + title: function (t) { + return c(t, 'Edit in Chart Studio'); + }, + icon: o.pencil, + click: function (t) { + i.sendDataToCloud(t); + }, + }), + (u.zoom2d = { + name: 'zoom2d', + title: function (t) { + return c(t, 'Zoom'); + }, + attr: 'dragmode', + val: 'zoom', + icon: o.zoombox, + click: f, + }), + (u.pan2d = { + name: 'pan2d', + title: function (t) { + return c(t, 'Pan'); + }, + attr: 'dragmode', + val: 'pan', + icon: o.pan, + click: f, + }), + (u.select2d = { + name: 'select2d', + title: function (t) { + return c(t, 'Box Select'); + }, + attr: 'dragmode', + val: 'select', + icon: o.selectbox, + click: f, + }), + (u.lasso2d = { + name: 'lasso2d', + title: function (t) { + return c(t, 'Lasso Select'); + }, + attr: 'dragmode', + val: 'lasso', + icon: o.lasso, + click: f, + }), + (u.drawclosedpath = { + name: 'drawclosedpath', + title: function (t) { + return c(t, 'Draw closed freeform'); + }, + attr: 'dragmode', + val: 'drawclosedpath', + icon: o.drawclosedpath, + click: f, + }), + (u.drawopenpath = { + name: 'drawopenpath', + title: function (t) { + return c(t, 'Draw open freeform'); + }, + attr: 'dragmode', + val: 'drawopenpath', + icon: o.drawopenpath, + click: f, + }), + (u.drawline = { + name: 'drawline', + title: function (t) { + return c(t, 'Draw line'); + }, + attr: 'dragmode', + val: 'drawline', + icon: o.drawline, + click: f, + }), + (u.drawrect = { + name: 'drawrect', + title: function (t) { + return c(t, 'Draw rectangle'); + }, + attr: 'dragmode', + val: 'drawrect', + icon: o.drawrect, + click: f, + }), + (u.drawcircle = { + name: 'drawcircle', + title: function (t) { + return c(t, 'Draw circle'); + }, + attr: 'dragmode', + val: 'drawcircle', + icon: o.drawcircle, + click: f, + }), + (u.eraseshape = { + name: 'eraseshape', + title: function (t) { + return c(t, 'Erase active shape'); + }, + icon: o.eraseshape, + click: s, + }), + (u.zoomIn2d = { + name: 'zoomIn2d', + title: function (t) { + return c(t, 'Zoom in'); + }, + attr: 'zoom', + val: 'in', + icon: o.zoom_plus, + click: f, + }), + (u.zoomOut2d = { + name: 'zoomOut2d', + title: function (t) { + return c(t, 'Zoom out'); + }, + attr: 'zoom', + val: 'out', + icon: o.zoom_minus, + click: f, + }), + (u.autoScale2d = { + name: 'autoScale2d', + title: function (t) { + return c(t, 'Autoscale'); + }, + attr: 'zoom', + val: 'auto', + icon: o.autoscale, + click: f, + }), + (u.resetScale2d = { + name: 'resetScale2d', + title: function (t) { + return c(t, 'Reset axes'); + }, + attr: 'zoom', + val: 'reset', + icon: o.home, + click: f, + }), + (u.hoverClosestCartesian = { + name: 'hoverClosestCartesian', + title: function (t) { + return c(t, 'Show closest data on hover'); + }, + attr: 'hovermode', + val: 'closest', + icon: o.tooltip_basic, + gravity: 'ne', + click: f, + }), + (u.hoverCompareCartesian = { + name: 'hoverCompareCartesian', + title: function (t) { + return c(t, 'Compare data on hover'); + }, + attr: 'hovermode', + val: function (t) { + return t._fullLayout._isHoriz ? 'y' : 'x'; + }, + icon: o.tooltip_compare, + gravity: 'ne', + click: f, + }), + (u.zoom3d = { + name: 'zoom3d', + title: function (t) { + return c(t, 'Zoom'); + }, + attr: 'scene.dragmode', + val: 'zoom', + icon: o.zoombox, + click: h, + }), + (u.pan3d = { + name: 'pan3d', + title: function (t) { + return c(t, 'Pan'); + }, + attr: 'scene.dragmode', + val: 'pan', + icon: o.pan, + click: h, + }), + (u.orbitRotation = { + name: 'orbitRotation', + title: function (t) { + return c(t, 'Orbital rotation'); + }, + attr: 'scene.dragmode', + val: 'orbit', + icon: o['3d_rotate'], + click: h, + }), + (u.tableRotation = { + name: 'tableRotation', + title: function (t) { + return c(t, 'Turntable rotation'); + }, + attr: 'scene.dragmode', + val: 'turntable', + icon: o['z-axis'], + click: h, + }), + (u.resetCameraDefault3d = { + name: 'resetCameraDefault3d', + title: function (t) { + return c(t, 'Reset camera to default'); + }, + attr: 'resetDefault', + icon: o.home, + click: p, + }), + (u.resetCameraLastSave3d = { + name: 'resetCameraLastSave3d', + title: function (t) { + return c(t, 'Reset camera to last save'); + }, + attr: 'resetLastSave', + icon: o.movie, + click: p, + }), + (u.hoverClosest3d = { + name: 'hoverClosest3d', + title: function (t) { + return c(t, 'Toggle show closest data on hover'); + }, + attr: 'hovermode', + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: 'ne', + click: function (t, e) { + var r = d(t, e); + n.call('_guiRelayout', t, r); + }, + }), + (u.zoomInGeo = { + name: 'zoomInGeo', + title: function (t) { + return c(t, 'Zoom in'); + }, + attr: 'zoom', + val: 'in', + icon: o.zoom_plus, + click: g, + }), + (u.zoomOutGeo = { + name: 'zoomOutGeo', + title: function (t) { + return c(t, 'Zoom out'); + }, + attr: 'zoom', + val: 'out', + icon: o.zoom_minus, + click: g, + }), + (u.resetGeo = { + name: 'resetGeo', + title: function (t) { + return c(t, 'Reset'); + }, + attr: 'reset', + val: null, + icon: o.autoscale, + click: g, + }), + (u.hoverClosestGeo = { + name: 'hoverClosestGeo', + title: function (t) { + return c(t, 'Toggle show closest data on hover'); + }, + attr: 'hovermode', + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: 'ne', + click: v, + }), + (u.hoverClosestGl2d = { + name: 'hoverClosestGl2d', + title: function (t) { + return c(t, 'Toggle show closest data on hover'); + }, + attr: 'hovermode', + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: 'ne', + click: v, + }), + (u.hoverClosestPie = { + name: 'hoverClosestPie', + title: function (t) { + return c(t, 'Toggle show closest data on hover'); + }, + attr: 'hovermode', + val: 'closest', + icon: o.tooltip_basic, + gravity: 'ne', + click: v, + }), + (u.resetViewSankey = { + name: 'resetSankeyGroup', + title: function (t) { + return c(t, 'Reset view'); + }, + icon: o.home, + click: function (t) { + for ( + var e = { 'node.groups': [], 'node.x': [], 'node.y': [] }, + r = 0; + r < t._fullData.length; + r++ + ) { + var i = t._fullData[r]._viewInitial; + e['node.groups'].push(i.node.groups.slice()), + e['node.x'].push(i.node.x.slice()), + e['node.y'].push(i.node.y.slice()); + } + n.call('restyle', t, e); + }, + }), + (u.toggleHover = { + name: 'toggleHover', + title: function (t) { + return c(t, 'Toggle show closest data on hover'); + }, + attr: 'hovermode', + val: null, + toggle: !0, + icon: o.tooltip_basic, + gravity: 'ne', + click: function (t, e) { + var r = d(t, e); + (r.hovermode = m(t)), n.call('_guiRelayout', t, r); + }, + }), + (u.resetViews = { + name: 'resetViews', + title: function (t) { + return c(t, 'Reset views'); + }, + icon: o.home, + click: function (t, e) { + var r = e.currentTarget; + r.setAttribute('data-attr', 'zoom'), + r.setAttribute('data-val', 'reset'), + f(t, e), + r.setAttribute('data-attr', 'resetLastSave'), + p(t, e), + x(t, 'geo'), + x(t, 'mapbox'); + }, + }), + (u.toggleSpikelines = { + name: 'toggleSpikelines', + title: function (t) { + return c(t, 'Toggle Spike Lines'); + }, + icon: o.spikeline, + attr: '_cartesianSpikesEnabled', + val: 'on', + click: function (t) { + var e = t._fullLayout, + r = e._cartesianSpikesEnabled; + (e._cartesianSpikesEnabled = 'on' === r ? 'off' : 'on'), + n.call( + '_guiRelayout', + t, + (function (t) { + for ( + var e = 'on' === t._fullLayout._cartesianSpikesEnabled, + r = a.list(t, null, !0), + n = {}, + i = 0; + i < r.length; + i++ + ) { + var o = r[i]; + n[o._name + '.showspikes'] = !!e || o._showSpikeInitial; + } + return n; + })(t) + ); + }, + }), + (u.resetViewMapbox = { + name: 'resetViewMapbox', + title: function (t) { + return c(t, 'Reset view'); + }, + attr: 'reset', + icon: o.home, + click: function (t) { + x(t, 'mapbox'); + }, + }), + (u.zoomInMapbox = { + name: 'zoomInMapbox', + title: function (t) { + return c(t, 'Zoom in'); + }, + attr: 'zoom', + val: 'in', + icon: o.zoom_plus, + click: y, + }), + (u.zoomOutMapbox = { + name: 'zoomOutMapbox', + title: function (t) { + return c(t, 'Zoom out'); + }, + attr: 'zoom', + val: 'out', + icon: o.zoom_minus, + click: y, + }); + }, + { + '../../fonts/ploticon': 757, + '../../lib': 778, + '../../plots/cartesian/axis_ids': 831, + '../../plots/plots': 891, + '../../registry': 911, + '../shapes/draw': 724, + }, + ], + 703: [ + function (t, e, r) { + 'use strict'; + r.manage = t('./manage'); + }, + { './manage': 704 }, + ], + 704: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axis_ids'), + i = t('../../traces/scatter/subtypes'), + a = t('../../registry'), + o = t('../fx/helpers').isUnifiedHover, + s = t('./modebar'), + l = t('./buttons'); + e.exports = function (t) { + var e = t._fullLayout, + r = t._context, + u = e._modeBar; + if (r.displayModeBar || r.watermark) { + if (!Array.isArray(r.modeBarButtonsToRemove)) + throw new Error( + [ + '*modeBarButtonsToRemove* configuration options', + 'must be an array.', + ].join(' ') + ); + if (!Array.isArray(r.modeBarButtonsToAdd)) + throw new Error( + [ + '*modeBarButtonsToAdd* configuration options', + 'must be an array.', + ].join(' ') + ); + var f, + h = r.modeBarButtons; + (f = + Array.isArray(h) && h.length + ? (function (t) { + for (var e = 0; e < t.length; e++) + for (var r = t[e], n = 0; n < r.length; n++) { + var i = r[n]; + if ('string' == typeof i) { + if (void 0 === l[i]) + throw new Error( + [ + '*modeBarButtons* configuration options', + 'invalid button name', + ].join(' ') + ); + t[e][n] = l[i]; + } + } + return t; + })(h) + : !r.displayModeBar && r.watermark + ? [] + : (function (t) { + var e = t._fullLayout, + r = t._fullData, + s = t._context, + u = s.modeBarButtonsToRemove, + f = s.modeBarButtonsToAdd, + h = e._has('cartesian'), + p = e._has('gl3d'), + d = e._has('geo'), + g = e._has('pie'), + m = e._has('funnelarea'), + v = e._has('gl2d'), + y = e._has('ternary'), + x = e._has('mapbox'), + b = e._has('polar'), + _ = e._has('sankey'), + w = (function (t) { + for ( + var e = n.list({ _fullLayout: t }, null, !0), r = 0; + r < e.length; + r++ + ) + if (!e[r].fixedrange) return !1; + return !0; + })(e), + T = o(e.hovermode), + k = []; + function M(t) { + if (t.length) { + for (var e = [], r = 0; r < t.length; r++) { + var n = t[r]; + -1 === u.indexOf(n) && e.push(l[n]); + } + k.push(e); + } + } + var A = ['toImage']; + s.showEditInChartStudio + ? A.push('editInChartStudio') + : s.showSendToCloud && A.push('sendDataToCloud'); + M(A); + var S = [], + E = [], + C = [], + L = []; + (h || v || g || m || y) + d + p + x + b > 1 + ? ((E = ['toggleHover']), (C = ['resetViews'])) + : d + ? ((S = ['zoomInGeo', 'zoomOutGeo']), + (E = ['hoverClosestGeo']), + (C = ['resetGeo'])) + : p + ? ((E = ['hoverClosest3d']), + (C = [ + 'resetCameraDefault3d', + 'resetCameraLastSave3d', + ])) + : x + ? ((S = ['zoomInMapbox', 'zoomOutMapbox']), + (E = ['toggleHover']), + (C = ['resetViewMapbox'])) + : v + ? (E = ['hoverClosestGl2d']) + : g + ? (E = ['hoverClosestPie']) + : _ + ? ((E = [ + 'hoverClosestCartesian', + 'hoverCompareCartesian', + ]), + (C = ['resetViewSankey'])) + : (E = ['toggleHover']); + h && + (E = [ + 'toggleSpikelines', + 'hoverClosestCartesian', + 'hoverCompareCartesian', + ]); + ((function (t) { + for (var e = 0; e < t.length; e++) + if (!a.traceIs(t[e], 'noHover')) return !1; + return !0; + })(r) || + T) && + (E = []); + (!h && !v) || + w || + ((S = ['zoomIn2d', 'zoomOut2d', 'autoScale2d']), + 'resetViews' !== C[0] && (C = ['resetScale2d'])); + p + ? (L = [ + 'zoom3d', + 'pan3d', + 'orbitRotation', + 'tableRotation', + ]) + : ((h || v) && !w) || y + ? (L = ['zoom2d', 'pan2d']) + : x || d + ? (L = ['pan2d']) + : b && (L = ['zoom2d']); + (function (t) { + for (var e = !1, r = 0; r < t.length && !e; r++) { + var n = t[r]; + n._module && + n._module.selectPoints && + (a.traceIs(n, 'scatter-like') + ? (i.hasMarkers(n) || i.hasText(n)) && (e = !0) + : (a.traceIs(n, 'box-violin') && + 'all' !== n.boxpoints && + 'all' !== n.points) || + (e = !0)); + } + return e; + })(r) && L.push('select2d', 'lasso2d'); + if (Array.isArray(f)) { + for (var I = [], P = 0; P < f.length; P++) { + var z = f[P]; + 'string' == typeof z + ? -1 !== c.indexOf(z) && + (e._has('mapbox') || e._has('cartesian')) && + L.push(z) + : I.push(z); + } + f = I; + } + return ( + M(L), + M(S.concat(C)), + M(E), + (function (t, e) { + if (e.length) + if (Array.isArray(e[0])) + for (var r = 0; r < e.length; r++) t.push(e[r]); + else t.push(e); + return t; + })(k, f) + ); + })(t)), + u ? u.update(t, f) : (e._modeBar = s(t, f)); + } else u && (u.destroy(), delete e._modeBar); + }; + var c = [ + 'drawline', + 'drawopenpath', + 'drawclosedpath', + 'drawcircle', + 'drawrect', + 'eraseshape', + ]; + }, + { + '../../plots/cartesian/axis_ids': 831, + '../../registry': 911, + '../../traces/scatter/subtypes': 1212, + '../fx/helpers': 679, + './buttons': 702, + './modebar': 705, + }, + ], + 705: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../../lib'), + o = t('../../fonts/ploticon'), + s = new DOMParser(); + function l(t) { + (this.container = t.container), + (this.element = document.createElement('div')), + this.update(t.graphInfo, t.buttons), + this.container.appendChild(this.element); + } + var c = l.prototype; + (c.update = function (t, e) { + this.graphInfo = t; + var r = this.graphInfo._context, + n = this.graphInfo._fullLayout, + i = 'modebar-' + n._uid; + this.element.setAttribute('id', i), + (this._uid = i), + (this.element.className = 'modebar'), + 'hover' === r.displayModeBar && + (this.element.className += ' modebar--hover ease-bg'), + 'v' === n.modebar.orientation && + ((this.element.className += ' vertical'), (e = e.reverse())); + var o = n.modebar, + s = + 'hover' === r.displayModeBar + ? '.js-plotly-plot .plotly:hover ' + : ''; + a.deleteRelatedStyleRule(i), + a.addRelatedStyleRule( + i, + s + '#' + i + ' .modebar-group', + 'background-color: ' + o.bgcolor + ), + a.addRelatedStyleRule( + i, + '#' + i + ' .modebar-btn .icon path', + 'fill: ' + o.color + ), + a.addRelatedStyleRule( + i, + '#' + i + ' .modebar-btn:hover .icon path', + 'fill: ' + o.activecolor + ), + a.addRelatedStyleRule( + i, + '#' + i + ' .modebar-btn.active .icon path', + 'fill: ' + o.activecolor + ); + var l = !this.hasButtons(e), + c = this.hasLogo !== r.displaylogo, + u = this.locale !== r.locale; + if ( + ((this.locale = r.locale), + (l || c || u) && + (this.removeAllButtons(), + this.updateButtons(e), + r.watermark || r.displaylogo)) + ) { + var f = this.getLogo(); + r.watermark && (f.className = f.className + ' watermark'), + 'v' === n.modebar.orientation + ? this.element.insertBefore(f, this.element.childNodes[0]) + : this.element.appendChild(f), + (this.hasLogo = !0); + } + this.updateActiveButton(); + }), + (c.updateButtons = function (t) { + var e = this; + (this.buttons = t), + (this.buttonElements = []), + (this.buttonsNames = []), + this.buttons.forEach(function (t) { + var r = e.createGroup(); + t.forEach(function (t) { + var n = t.name; + if (!n) + throw new Error( + "must provide button 'name' in button config" + ); + if (-1 !== e.buttonsNames.indexOf(n)) + throw new Error("button name '" + n + "' is taken"); + e.buttonsNames.push(n); + var i = e.createButton(t); + e.buttonElements.push(i), r.appendChild(i); + }), + e.element.appendChild(r); + }); + }), + (c.createGroup = function () { + var t = document.createElement('div'); + return (t.className = 'modebar-group'), t; + }), + (c.createButton = function (t) { + var e = this, + r = document.createElement('a'); + r.setAttribute('rel', 'tooltip'), (r.className = 'modebar-btn'); + var i = t.title; + void 0 === i + ? (i = t.name) + : 'function' == typeof i && (i = i(this.graphInfo)), + (i || 0 === i) && r.setAttribute('data-title', i), + void 0 !== t.attr && r.setAttribute('data-attr', t.attr); + var a = t.val; + if ( + (void 0 !== a && + ('function' == typeof a && (a = a(this.graphInfo)), + r.setAttribute('data-val', a)), + 'function' != typeof t.click) + ) + throw new Error( + "must provide button 'click' function in button config" + ); + r.addEventListener('click', function (r) { + t.click(e.graphInfo, r), e.updateActiveButton(r.currentTarget); + }), + r.setAttribute('data-toggle', t.toggle || !1), + t.toggle && n.select(r).classed('active', !0); + var s = t.icon; + return ( + 'function' == typeof s + ? r.appendChild(s()) + : r.appendChild(this.createIcon(s || o.question)), + r.setAttribute('data-gravity', t.gravity || 'n'), + r + ); + }), + (c.createIcon = function (t) { + var e, + r = i(t.height) ? Number(t.height) : t.ascent - t.descent, + n = 'http://www.w3.org/2000/svg'; + if (t.path) { + (e = document.createElementNS(n, 'svg')).setAttribute( + 'viewBox', + [0, 0, t.width, r].join(' ') + ), + e.setAttribute('class', 'icon'); + var a = document.createElementNS(n, 'path'); + a.setAttribute('d', t.path), + t.transform + ? a.setAttribute('transform', t.transform) + : void 0 !== t.ascent && + a.setAttribute( + 'transform', + 'matrix(1 0 0 -1 0 ' + t.ascent + ')' + ), + e.appendChild(a); + } + t.svg && + (e = s.parseFromString(t.svg, 'application/xml').childNodes[0]); + return ( + e.setAttribute('height', '1em'), + e.setAttribute('width', '1em'), + e + ); + }), + (c.updateActiveButton = function (t) { + var e = this.graphInfo._fullLayout, + r = void 0 !== t ? t.getAttribute('data-attr') : null; + this.buttonElements.forEach(function (t) { + var i = t.getAttribute('data-val') || !0, + o = t.getAttribute('data-attr'), + s = 'true' === t.getAttribute('data-toggle'), + l = n.select(t); + if (s) o === r && l.classed('active', !l.classed('active')); + else { + var c = null === o ? o : a.nestedProperty(e, o).get(); + l.classed('active', c === i); + } + }); + }), + (c.hasButtons = function (t) { + var e = this.buttons; + if (!e) return !1; + if (t.length !== e.length) return !1; + for (var r = 0; r < t.length; ++r) { + if (t[r].length !== e[r].length) return !1; + for (var n = 0; n < t[r].length; n++) + if (t[r][n].name !== e[r][n].name) return !1; + } + return !0; + }), + (c.getLogo = function () { + var t = this.createGroup(), + e = document.createElement('a'); + return ( + (e.href = 'https://plotly.com/'), + (e.target = '_blank'), + e.setAttribute( + 'data-title', + a._(this.graphInfo, 'Produced with Plotly') + ), + (e.className = 'modebar-btn plotlyjsicon modebar-btn--logo'), + e.appendChild(this.createIcon(o.newplotlylogo)), + t.appendChild(e), + t + ); + }), + (c.removeAllButtons = function () { + for (; this.element.firstChild; ) + this.element.removeChild(this.element.firstChild); + this.hasLogo = !1; + }), + (c.destroy = function () { + a.removeElement(this.container.querySelector('.modebar')), + a.deleteRelatedStyleRule(this._uid); + }), + (e.exports = function (t, e) { + var r = t._fullLayout, + i = new l({ + graphInfo: t, + container: r._modebardiv.node(), + buttons: e, + }); + return ( + r._privateplot && + n + .select(i.element) + .append('span') + .classed('badge-private float--left', !0) + .text('PRIVATE'), + i + ); + }); + }, + { + '../../fonts/ploticon': 757, + '../../lib': 778, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 706: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../color/attributes'), + a = (0, t('../../plot_api/plot_template').templatedArray)( + 'button', + { + visible: { valType: 'boolean', dflt: !0, editType: 'plot' }, + step: { + valType: 'enumerated', + values: [ + 'month', + 'year', + 'day', + 'hour', + 'minute', + 'second', + 'all', + ], + dflt: 'month', + editType: 'plot', + }, + stepmode: { + valType: 'enumerated', + values: ['backward', 'todate'], + dflt: 'backward', + editType: 'plot', + }, + count: { valType: 'number', min: 0, dflt: 1, editType: 'plot' }, + label: { valType: 'string', editType: 'plot' }, + editType: 'plot', + } + ); + e.exports = { + visible: { valType: 'boolean', editType: 'plot' }, + buttons: a, + x: { valType: 'number', min: -2, max: 3, editType: 'plot' }, + xanchor: { + valType: 'enumerated', + values: ['auto', 'left', 'center', 'right'], + dflt: 'left', + editType: 'plot', + }, + y: { valType: 'number', min: -2, max: 3, editType: 'plot' }, + yanchor: { + valType: 'enumerated', + values: ['auto', 'top', 'middle', 'bottom'], + dflt: 'bottom', + editType: 'plot', + }, + font: n({ editType: 'plot' }), + bgcolor: { valType: 'color', dflt: i.lightLine, editType: 'plot' }, + activecolor: { valType: 'color', editType: 'plot' }, + bordercolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'plot', + }, + borderwidth: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'plot', + }, + editType: 'plot', + }; + }, + { + '../../plot_api/plot_template': 817, + '../../plots/font_attributes': 856, + '../color/attributes': 642, + }, + ], + 707: [ + function (t, e, r) { + 'use strict'; + e.exports = { + yPad: 0.02, + minButtonWidth: 30, + rx: 3, + ry: 3, + lightAmount: 25, + darkAmount: 10, + }; + }, + {}, + ], + 708: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../color'), + a = t('../../plot_api/plot_template'), + o = t('../../plots/array_container_defaults'), + s = t('./attributes'), + l = t('./constants'); + function c(t, e, r, i) { + var a = i.calendar; + function o(r, i) { + return n.coerce(t, e, s.buttons, r, i); + } + if (o('visible')) { + var l = o('step'); + 'all' !== l && + (!a || 'gregorian' === a || ('month' !== l && 'year' !== l) + ? o('stepmode') + : (e.stepmode = 'backward'), + o('count')), + o('label'); + } + } + e.exports = function (t, e, r, u, f) { + var h = t.rangeselector || {}, + p = a.newContainer(e, 'rangeselector'); + function d(t, e) { + return n.coerce(h, p, s, t, e); + } + if ( + d( + 'visible', + o(h, p, { name: 'buttons', handleItemDefaults: c, calendar: f }) + .length > 0 + ) + ) { + var g = (function (t, e, r) { + for ( + var n = r.filter(function (r) { + return e[r].anchor === t._id; + }), + i = 0, + a = 0; + a < n.length; + a++ + ) { + var o = e[n[a]].domain; + o && (i = Math.max(o[1], i)); + } + return [t.domain[0], i + l.yPad]; + })(e, r, u); + d('x', g[0]), + d('y', g[1]), + n.noneOrAll(t, e, ['x', 'y']), + d('xanchor'), + d('yanchor'), + n.coerceFont(d, 'font', r.font); + var m = d('bgcolor'); + d('activecolor', i.contrast(m, l.lightAmount, l.darkAmount)), + d('bordercolor'), + d('borderwidth'); + } + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/array_container_defaults': 823, + '../color': 643, + './attributes': 706, + './constants': 707, + }, + ], + 709: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../plots/plots'), + o = t('../color'), + s = t('../drawing'), + l = t('../../lib'), + c = l.strTranslate, + u = t('../../lib/svg_text_utils'), + f = t('../../plots/cartesian/axis_ids'), + h = t('../../constants/alignment'), + p = h.LINE_SPACING, + d = h.FROM_TL, + g = h.FROM_BR, + m = t('./constants'), + v = t('./get_update_object'); + function y(t) { + return t._id; + } + function x(t, e, r) { + var n = l.ensureSingle(t, 'rect', 'selector-rect', function (t) { + t.attr('shape-rendering', 'crispEdges'); + }); + n.attr({ rx: m.rx, ry: m.ry }), + n + .call(o.stroke, e.bordercolor) + .call( + o.fill, + (function (t, e) { + return e._isActive || e._isHovered + ? t.activecolor + : t.bgcolor; + })(e, r) + ) + .style('stroke-width', e.borderwidth + 'px'); + } + function b(t, e, r, n) { + l.ensureSingle(t, 'text', 'selector-text', function (t) { + t.attr('text-anchor', 'middle'); + }) + .call(s.font, e.font) + .text( + (function (t, e) { + if (t.label) + return e ? l.templateString(t.label, e) : t.label; + return 'all' === t.step ? 'all' : t.count + t.step.charAt(0); + })(r, n._fullLayout._meta) + ) + .call(function (t) { + u.convertToTspans(t, n); + }); + } + e.exports = function (t) { + var e = t._fullLayout._infolayer.selectAll('.rangeselector').data( + (function (t) { + for ( + var e = f.list(t, 'x', !0), r = [], n = 0; + n < e.length; + n++ + ) { + var i = e[n]; + i.rangeselector && i.rangeselector.visible && r.push(i); + } + return r; + })(t), + y + ); + e.enter().append('g').classed('rangeselector', !0), + e.exit().remove(), + e.style({ cursor: 'pointer', 'pointer-events': 'all' }), + e.each(function (e) { + var r = n.select(this), + o = e, + f = o.rangeselector, + h = r.selectAll('g.button').data(l.filterVisible(f.buttons)); + h.enter().append('g').classed('button', !0), + h.exit().remove(), + h.each(function (e) { + var r = n.select(this), + a = v(o, e); + (e._isActive = (function (t, e, r) { + if ('all' === e.step) return !0 === t.autorange; + var n = Object.keys(r); + return t.range[0] === r[n[0]] && t.range[1] === r[n[1]]; + })(o, e, a)), + r.call(x, f, e), + r.call(b, f, e, t), + r.on('click', function () { + t._dragged || i.call('_guiRelayout', t, a); + }), + r.on('mouseover', function () { + (e._isHovered = !0), r.call(x, f, e); + }), + r.on('mouseout', function () { + (e._isHovered = !1), r.call(x, f, e); + }); + }), + (function (t, e, r, i, o) { + var f = 0, + h = 0, + v = r.borderwidth; + e.each(function () { + var t = n.select(this).select('.selector-text'), + e = r.font.size * p, + i = Math.max(e * u.lineCount(t), 16) + 3; + h = Math.max(h, i); + }), + e.each(function () { + var t = n.select(this), + e = t.select('.selector-rect'), + i = t.select('.selector-text'), + a = i.node() && s.bBox(i.node()).width, + o = r.font.size * p, + l = u.lineCount(i), + d = Math.max(a + 10, m.minButtonWidth); + t.attr('transform', c(v + f, v)), + e.attr({ x: 0, y: 0, width: d, height: h }), + u.positionText( + i, + d / 2, + h / 2 - ((l - 1) * o) / 2 + 3 + ), + (f += d + 5); + }); + var y = t._fullLayout._size, + x = y.l + y.w * r.x, + b = y.t + y.h * (1 - r.y), + _ = 'left'; + l.isRightAnchor(r) && ((x -= f), (_ = 'right')); + l.isCenterAnchor(r) && ((x -= f / 2), (_ = 'center')); + var w = 'top'; + l.isBottomAnchor(r) && ((b -= h), (w = 'bottom')); + l.isMiddleAnchor(r) && ((b -= h / 2), (w = 'middle')); + (f = Math.ceil(f)), + (h = Math.ceil(h)), + (x = Math.round(x)), + (b = Math.round(b)), + a.autoMargin(t, i + '-range-selector', { + x: r.x, + y: r.y, + l: f * d[_], + r: f * g[_], + b: h * g[w], + t: h * d[w], + }), + o.attr('transform', c(x, b)); + })(t, h, f, o._name, r); + }); + }; + }, + { + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axis_ids': 831, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../drawing': 665, + './constants': 707, + './get_update_object': 710, + d3: 169, + }, + ], + 710: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'); + e.exports = function (t, e) { + var r = t._name, + i = {}; + if ('all' === e.step) i[r + '.autorange'] = !0; + else { + var a = (function (t, e) { + var r, + i = t.range, + a = new Date(t.r2l(i[1])), + o = e.step, + s = e.count; + switch (e.stepmode) { + case 'backward': + r = t.l2r(+n.time[o].utc.offset(a, -s)); + break; + case 'todate': + var l = n.time[o].utc.offset(a, -s); + r = t.l2r(+n.time[o].utc.ceil(l)); + } + var c = i[1]; + return [r, c]; + })(t, e); + (i[r + '.range[0]'] = a[0]), (i[r + '.range[1]'] = a[1]); + } + return i; + }; + }, + { d3: 169 }, + ], + 711: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'component', + name: 'rangeselector', + schema: { + subplots: { xaxis: { rangeselector: t('./attributes') } }, + }, + layoutAttributes: t('./attributes'), + handleDefaults: t('./defaults'), + draw: t('./draw'), + }; + }, + { './attributes': 706, './defaults': 708, './draw': 709 }, + ], + 712: [ + function (t, e, r) { + 'use strict'; + var n = t('../color/attributes'); + e.exports = { + bgcolor: { valType: 'color', dflt: n.background, editType: 'plot' }, + bordercolor: { + valType: 'color', + dflt: n.defaultLine, + editType: 'plot', + }, + borderwidth: { + valType: 'integer', + dflt: 0, + min: 0, + editType: 'plot', + }, + autorange: { + valType: 'boolean', + dflt: !0, + editType: 'calc', + impliedEdits: { 'range[0]': void 0, 'range[1]': void 0 }, + }, + range: { + valType: 'info_array', + items: [ + { + valType: 'any', + editType: 'calc', + impliedEdits: { '^autorange': !1 }, + }, + { + valType: 'any', + editType: 'calc', + impliedEdits: { '^autorange': !1 }, + }, + ], + editType: 'calc', + impliedEdits: { autorange: !1 }, + }, + thickness: { + valType: 'number', + dflt: 0.15, + min: 0, + max: 1, + editType: 'plot', + }, + visible: { valType: 'boolean', dflt: !0, editType: 'calc' }, + editType: 'calc', + }; + }, + { '../color/attributes': 642 }, + ], + 713: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axis_ids').list, + i = t('../../plots/cartesian/autorange').getAutoRange, + a = t('./constants'); + e.exports = function (t) { + for (var e = n(t, 'x', !0), r = 0; r < e.length; r++) { + var o = e[r], + s = o[a.name]; + s && + s.visible && + s.autorange && + ((s._input.autorange = !0), + (s._input.range = s.range = i(t, o))); + } + }; + }, + { + '../../plots/cartesian/autorange': 827, + '../../plots/cartesian/axis_ids': 831, + './constants': 714, + }, + ], + 714: [ + function (t, e, r) { + 'use strict'; + e.exports = { + name: 'rangeslider', + containerClassName: 'rangeslider-container', + bgClassName: 'rangeslider-bg', + rangePlotClassName: 'rangeslider-rangeplot', + maskMinClassName: 'rangeslider-mask-min', + maskMaxClassName: 'rangeslider-mask-max', + slideBoxClassName: 'rangeslider-slidebox', + grabberMinClassName: 'rangeslider-grabber-min', + grabAreaMinClassName: 'rangeslider-grabarea-min', + handleMinClassName: 'rangeslider-handle-min', + grabberMaxClassName: 'rangeslider-grabber-max', + grabAreaMaxClassName: 'rangeslider-grabarea-max', + handleMaxClassName: 'rangeslider-handle-max', + maskMinOppAxisClassName: 'rangeslider-mask-min-opp-axis', + maskMaxOppAxisClassName: 'rangeslider-mask-max-opp-axis', + maskColor: 'rgba(0,0,0,0.4)', + maskOppAxisColor: 'rgba(0,0,0,0.2)', + slideBoxFill: 'transparent', + slideBoxCursor: 'ew-resize', + grabAreaFill: 'transparent', + grabAreaCursor: 'col-resize', + grabAreaWidth: 10, + handleWidth: 4, + handleRadius: 1, + handleStrokeWidth: 1, + extraPad: 15, + }; + }, + {}, + ], + 715: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plot_api/plot_template'), + a = t('../../plots/cartesian/axis_ids'), + o = t('./attributes'), + s = t('./oppaxis_attributes'); + e.exports = function (t, e, r) { + var l = t[r], + c = e[r]; + if (l.rangeslider || e._requestRangeslider[c._id]) { + n.isPlainObject(l.rangeslider) || (l.rangeslider = {}); + var u, + f, + h = l.rangeslider, + p = i.newContainer(c, 'rangeslider'); + if (_('visible')) { + _('bgcolor', e.plot_bgcolor), + _('bordercolor'), + _('borderwidth'), + _('thickness'), + _('autorange', !c.isValidRange(h.range)), + _('range'); + var d = e._subplots; + if (d) + for ( + var g = d.cartesian + .filter(function (t) { + return t.substr(0, t.indexOf('y')) === a.name2id(r); + }) + .map(function (t) { + return t.substr(t.indexOf('y'), t.length); + }), + m = n.simpleMap(g, a.id2name), + v = 0; + v < m.length; + v++ + ) { + var y = m[v]; + (u = h[y] || {}), (f = i.newContainer(p, y, 'yaxis')); + var x, + b = e[y]; + u.range && b.isValidRange(u.range) && (x = 'fixed'), + 'match' !== w('rangemode', x) && + w('range', b.range.slice()); + } + p._input = h; + } + } + function _(t, e) { + return n.coerce(h, p, o, t, e); + } + function w(t, e) { + return n.coerce(u, f, s, t, e); + } + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/axis_ids': 831, + './attributes': 712, + './oppaxis_attributes': 719, + }, + ], + 716: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../plots/plots'), + o = t('../../lib'), + s = o.strTranslate, + l = t('../drawing'), + c = t('../color'), + u = t('../titles'), + f = t('../../plots/cartesian'), + h = t('../../plots/cartesian/axis_ids'), + p = t('../dragelement'), + d = t('../../lib/setcursor'), + g = t('./constants'); + function m(t, e, r, n) { + var i = o.ensureSingle(t, 'rect', g.bgClassName, function (t) { + t.attr({ x: 0, y: 0, 'shape-rendering': 'crispEdges' }); + }), + a = n.borderwidth % 2 == 0 ? n.borderwidth : n.borderwidth - 1, + c = -n._offsetShift, + u = l.crispRound(e, n.borderwidth); + i.attr({ + width: n._width + a, + height: n._height + a, + transform: s(c, c), + fill: n.bgcolor, + stroke: n.bordercolor, + 'stroke-width': u, + }); + } + function v(t, e, r, n) { + var i = e._fullLayout; + o.ensureSingleById(i._topdefs, 'clipPath', n._clipId, function (t) { + t.append('rect').attr({ x: 0, y: 0 }); + }) + .select('rect') + .attr({ width: n._width, height: n._height }); + } + function y(t, e, r, i) { + var s, + c = e.calcdata, + u = t + .selectAll('g.' + g.rangePlotClassName) + .data(r._subplotsWith, o.identity); + u + .enter() + .append('g') + .attr('class', function (t) { + return g.rangePlotClassName + ' ' + t; + }) + .call(l.setClipUrl, i._clipId, e), + u.order(), + u.exit().remove(), + u.each(function (t, o) { + var l = n.select(this), + u = 0 === o, + p = h.getFromId(e, t, 'y'), + d = p._name, + g = i[d], + m = { + data: [], + layout: { + xaxis: { + type: r.type, + domain: [0, 1], + range: i.range.slice(), + calendar: r.calendar, + }, + width: i._width, + height: i._height, + margin: { t: 0, b: 0, l: 0, r: 0 }, + }, + _context: e._context, + }; + r.rangebreaks && (m.layout.xaxis.rangebreaks = r.rangebreaks), + (m.layout[d] = { + type: p.type, + domain: [0, 1], + range: + 'match' !== g.rangemode + ? g.range.slice() + : p.range.slice(), + calendar: p.calendar, + }), + p.rangebreaks && (m.layout[d].rangebreaks = p.rangebreaks), + a.supplyDefaults(m); + var v = m._fullLayout.xaxis, + y = m._fullLayout[d]; + v.clearCalc(), v.setScale(), y.clearCalc(), y.setScale(); + var x = { + id: t, + plotgroup: l, + xaxis: v, + yaxis: y, + isRangePlot: !0, + }; + u ? (s = x) : ((x.mainplot = 'xy'), (x.mainplotinfo = s)), + f.rangePlot( + e, + x, + (function (t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n], + a = i[0].trace; + a.xaxis + a.yaxis === e && r.push(i); + } + return r; + })(c, t) + ); + }); + } + function x(t, e, r, n, i) { + (o + .ensureSingle(t, 'rect', g.maskMinClassName, function (t) { + t.attr({ x: 0, y: 0, 'shape-rendering': 'crispEdges' }); + }) + .attr('height', n._height) + .call(c.fill, g.maskColor), + o + .ensureSingle(t, 'rect', g.maskMaxClassName, function (t) { + t.attr({ y: 0, 'shape-rendering': 'crispEdges' }); + }) + .attr('height', n._height) + .call(c.fill, g.maskColor), + 'match' !== i.rangemode) && + (o + .ensureSingle( + t, + 'rect', + g.maskMinOppAxisClassName, + function (t) { + t.attr({ y: 0, 'shape-rendering': 'crispEdges' }); + } + ) + .attr('width', n._width) + .call(c.fill, g.maskOppAxisColor), + o + .ensureSingle( + t, + 'rect', + g.maskMaxOppAxisClassName, + function (t) { + t.attr({ y: 0, 'shape-rendering': 'crispEdges' }); + } + ) + .attr('width', n._width) + .style('border-top', g.maskOppBorder) + .call(c.fill, g.maskOppAxisColor)); + } + function b(t, e, r, n) { + e._context.staticPlot || + o + .ensureSingle(t, 'rect', g.slideBoxClassName, function (t) { + t.attr({ + y: 0, + cursor: g.slideBoxCursor, + 'shape-rendering': 'crispEdges', + }); + }) + .attr({ height: n._height, fill: g.slideBoxFill }); + } + function _(t, e, r, n) { + var i = o.ensureSingle(t, 'g', g.grabberMinClassName), + a = o.ensureSingle(t, 'g', g.grabberMaxClassName), + s = { + x: 0, + width: g.handleWidth, + rx: g.handleRadius, + fill: c.background, + stroke: c.defaultLine, + 'stroke-width': g.handleStrokeWidth, + 'shape-rendering': 'crispEdges', + }, + l = { + y: Math.round(n._height / 4), + height: Math.round(n._height / 2), + }; + o + .ensureSingle(i, 'rect', g.handleMinClassName, function (t) { + t.attr(s); + }) + .attr(l), + o + .ensureSingle(a, 'rect', g.handleMaxClassName, function (t) { + t.attr(s); + }) + .attr(l); + var u = { + width: g.grabAreaWidth, + x: 0, + y: 0, + fill: g.grabAreaFill, + cursor: e._context.staticPlot ? void 0 : g.grabAreaCursor, + }; + o + .ensureSingle(i, 'rect', g.grabAreaMinClassName, function (t) { + t.attr(u); + }) + .attr('height', n._height), + o + .ensureSingle(a, 'rect', g.grabAreaMaxClassName, function (t) { + t.attr(u); + }) + .attr('height', n._height); + } + e.exports = function (t) { + for ( + var e = t._fullLayout, r = e._rangeSliderData, a = 0; + a < r.length; + a++ + ) { + var l = r[a][g.name]; + l._clipId = l._id + '-' + e._uid; + } + var c = e._infolayer + .selectAll('g.' + g.containerClassName) + .data(r, function (t) { + return t._name; + }); + c + .exit() + .each(function (t) { + var r = t[g.name]; + e._topdefs.select('#' + r._clipId).remove(); + }) + .remove(), + 0 !== r.length && + (c + .enter() + .append('g') + .classed(g.containerClassName, !0) + .attr('pointer-events', 'all'), + c.each(function (r) { + var a = n.select(this), + l = r[g.name], + c = e[h.id2name(r.anchor)], + f = l[h.id2name(r.anchor)]; + if (l.range) { + var w, + T = o.simpleMap(l.range, r.r2l), + k = o.simpleMap(r.range, r.r2l); + (w = + k[0] < k[1] + ? [Math.min(T[0], k[0]), Math.max(T[1], k[1])] + : [Math.max(T[0], k[0]), Math.min(T[1], k[1])]), + (l.range = l._input.range = o.simpleMap(w, r.l2r)); + } + r.cleanRange('rangeslider.range'); + var M = e._size, + A = r.domain; + l._width = M.w * (A[1] - A[0]); + var S = Math.round(M.l + M.w * A[0]), + E = Math.round( + M.t + + M.h * (1 - r._counterDomainMin) + + ('bottom' === r.side ? r._depth : 0) + + l._offsetShift + + g.extraPad + ); + a.attr('transform', s(S, E)), + (l._rl = o.simpleMap(l.range, r.r2l)); + var C = l._rl[0], + L = l._rl[1], + I = L - C; + if ( + ((l.p2d = function (t) { + return (t / l._width) * I + C; + }), + (l.d2p = function (t) { + return ((t - C) / I) * l._width; + }), + r.rangebreaks) + ) { + var P = r.locateBreaks(C, L); + if (P.length) { + var z, + O, + D = 0; + for (z = 0; z < P.length; z++) + D += (O = P[z]).max - O.min; + var R = l._width / (L - C - D), + F = [-R * C]; + for (z = 0; z < P.length; z++) + (O = P[z]), + F.push(F[F.length - 1] - R * (O.max - O.min)); + for ( + l.d2p = function (t) { + for (var e = F[0], r = 0; r < P.length; r++) { + var n = P[r]; + if (t >= n.max) e = F[r + 1]; + else if (t < n.min) break; + } + return e + R * t; + }, + z = 0; + z < P.length; + z++ + ) + ((O = P[z]).pmin = l.d2p(O.min)), + (O.pmax = l.d2p(O.max)); + l.p2d = function (t) { + for (var e = F[0], r = 0; r < P.length; r++) { + var n = P[r]; + if (t >= n.pmax) e = F[r + 1]; + else if (t < n.pmin) break; + } + return (t - e) / R; + }; + } + } + if ('match' !== f.rangemode) { + var B = c.r2l(f.range[0]), + N = c.r2l(f.range[1]) - B; + l.d2pOppAxis = function (t) { + return ((t - B) / N) * l._height; + }; + } + a + .call(m, t, r, l) + .call(v, t, r, l) + .call(y, t, r, l) + .call(x, t, r, l, f) + .call(b, t, r, l) + .call(_, t, r, l), + (function (t, e, r, a) { + if (e._context.staticPlot) return; + var s = t.select('rect.' + g.slideBoxClassName).node(), + l = t.select('rect.' + g.grabAreaMinClassName).node(), + c = t.select('rect.' + g.grabAreaMaxClassName).node(); + function u() { + var u = n.event, + f = u.target, + h = u.clientX || u.touches[0].clientX, + g = h - t.node().getBoundingClientRect().left, + m = a.d2p(r._rl[0]), + v = a.d2p(r._rl[1]), + y = p.coverSlip(); + function x(t) { + var u, + p, + x, + b = +(t.clientX || t.touches[0].clientX) - h; + switch (f) { + case s: + (x = 'ew-resize'), (u = m + b), (p = v + b); + break; + case l: + (x = 'col-resize'), (u = m + b), (p = v); + break; + case c: + (x = 'col-resize'), (u = m), (p = v + b); + break; + default: + (x = 'ew-resize'), (u = g), (p = g + b); + } + if (p < u) { + var _ = p; + (p = u), (u = _); + } + (a._pixelMin = u), + (a._pixelMax = p), + d(n.select(y), x), + (function (t, e, r, n) { + function a(t) { + return r.l2r( + o.constrain(t, n._rl[0], n._rl[1]) + ); + } + var s = a(n.p2d(n._pixelMin)), + l = a(n.p2d(n._pixelMax)); + window.requestAnimationFrame(function () { + i.call('_guiRelayout', e, r._name + '.range', [ + s, + l, + ]); + }); + })(0, e, r, a); + } + function b() { + y.removeEventListener('mousemove', x), + y.removeEventListener('mouseup', b), + this.removeEventListener('touchmove', x), + this.removeEventListener('touchend', b), + o.removeElement(y); + } + this.addEventListener('touchmove', x), + this.addEventListener('touchend', b), + y.addEventListener('mousemove', x), + y.addEventListener('mouseup', b); + } + t.on('mousedown', u), t.on('touchstart', u); + })(a, t, r, l), + (function (t, e, r, n, i, a) { + var l = g.handleWidth / 2; + function c(t) { + return o.constrain(t, 0, n._width); + } + function u(t) { + return o.constrain(t, 0, n._height); + } + function f(t) { + return o.constrain(t, -l, n._width + l); + } + var h = c(n.d2p(r._rl[0])), + p = c(n.d2p(r._rl[1])); + if ( + (t + .select('rect.' + g.slideBoxClassName) + .attr('x', h) + .attr('width', p - h), + t.select('rect.' + g.maskMinClassName).attr('width', h), + t + .select('rect.' + g.maskMaxClassName) + .attr('x', p) + .attr('width', n._width - p), + 'match' !== a.rangemode) + ) { + var d = n._height - u(n.d2pOppAxis(i._rl[1])), + m = n._height - u(n.d2pOppAxis(i._rl[0])); + t + .select('rect.' + g.maskMinOppAxisClassName) + .attr('x', h) + .attr('height', d) + .attr('width', p - h), + t + .select('rect.' + g.maskMaxOppAxisClassName) + .attr('x', h) + .attr('y', m) + .attr('height', n._height - m) + .attr('width', p - h), + t + .select('rect.' + g.slideBoxClassName) + .attr('y', d) + .attr('height', m - d); + } + var v = Math.round(f(h - l)) - 0.5, + y = Math.round(f(p - l)) + 0.5; + t + .select('g.' + g.grabberMinClassName) + .attr('transform', s(v, 0.5)), + t + .select('g.' + g.grabberMaxClassName) + .attr('transform', s(y, 0.5)); + })(a, 0, r, l, c, f), + 'bottom' === r.side && + u.draw(t, r._id + 'title', { + propContainer: r, + propName: r._name + '.title', + placeholder: e._dfltTitle.x, + attributes: { + x: r._offset + r._length / 2, + y: + E + + l._height + + l._offsetShift + + 10 + + 1.5 * r.title.font.size, + 'text-anchor': 'middle', + }, + }); + })); + }; + }, + { + '../../lib': 778, + '../../lib/setcursor': 799, + '../../plots/cartesian': 841, + '../../plots/cartesian/axis_ids': 831, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../dragelement': 662, + '../drawing': 665, + '../titles': 738, + './constants': 714, + d3: 169, + }, + ], + 717: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axis_ids'), + i = t('../../lib/svg_text_utils'), + a = t('./constants'), + o = t('../../constants/alignment').LINE_SPACING, + s = a.name; + function l(t) { + var e = t && t[s]; + return e && e.visible; + } + (r.isVisible = l), + (r.makeData = function (t) { + var e = n.list({ _fullLayout: t }, 'x', !0), + r = t.margin, + i = []; + if (!t._has('gl2d')) + for (var a = 0; a < e.length; a++) { + var o = e[a]; + if (l(o)) { + i.push(o); + var c = o[s]; + (c._id = s + o._id), + (c._height = (t.height - r.b - r.t) * c.thickness), + (c._offsetShift = Math.floor(c.borderwidth / 2)); + } + } + t._rangeSliderData = i; + }), + (r.autoMarginOpts = function (t, e) { + var r = t._fullLayout, + n = e[s], + l = e._id.charAt(0), + c = 0, + u = 0; + 'bottom' === e.side && + ((c = e._depth), + e.title.text !== r._dfltTitle[l] && + ((u = 1.5 * e.title.font.size + 10 + n._offsetShift), + (u += + (e.title.text.match(i.BR_TAG_ALL) || []).length * + e.title.font.size * + o))); + return { + x: 0, + y: e._counterDomainMin, + l: 0, + r: 0, + t: 0, + b: n._height + c + Math.max(r.margin.b, u), + pad: a.extraPad + 2 * n._offsetShift, + }; + }); + }, + { + '../../constants/alignment': 745, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axis_ids': 831, + './constants': 714, + }, + ], + 718: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('./oppaxis_attributes'), + o = t('./helpers'); + e.exports = { + moduleType: 'component', + name: 'rangeslider', + schema: { + subplots: { + xaxis: { rangeslider: n.extendFlat({}, i, { yaxis: a }) }, + }, + }, + layoutAttributes: t('./attributes'), + handleDefaults: t('./defaults'), + calcAutorange: t('./calc_autorange'), + draw: t('./draw'), + isVisible: o.isVisible, + makeData: o.makeData, + autoMarginOpts: o.autoMarginOpts, + }; + }, + { + '../../lib': 778, + './attributes': 712, + './calc_autorange': 713, + './defaults': 715, + './draw': 716, + './helpers': 717, + './oppaxis_attributes': 719, + }, + ], + 719: [ + function (t, e, r) { + 'use strict'; + e.exports = { + _isSubplotObj: !0, + rangemode: { + valType: 'enumerated', + values: ['auto', 'fixed', 'match'], + dflt: 'match', + editType: 'calc', + }, + range: { + valType: 'info_array', + items: [ + { valType: 'any', editType: 'plot' }, + { valType: 'any', editType: 'plot' }, + ], + editType: 'plot', + }, + editType: 'calc', + }; + }, + {}, + ], + 720: [ + function (t, e, r) { + 'use strict'; + var n = t('../annotations/attributes'), + i = t('../../traces/scatter/attributes').line, + a = t('../drawing/attributes').dash, + o = t('../../lib/extend').extendFlat, + s = t('../../plot_api/plot_template').templatedArray; + t('../../constants/axis_placeable_objects'); + e.exports = s('shape', { + visible: { + valType: 'boolean', + dflt: !0, + editType: 'calc+arraydraw', + }, + type: { + valType: 'enumerated', + values: ['circle', 'rect', 'path', 'line'], + editType: 'calc+arraydraw', + }, + layer: { + valType: 'enumerated', + values: ['below', 'above'], + dflt: 'above', + editType: 'arraydraw', + }, + xref: o({}, n.xref, {}), + xsizemode: { + valType: 'enumerated', + values: ['scaled', 'pixel'], + dflt: 'scaled', + editType: 'calc+arraydraw', + }, + xanchor: { valType: 'any', editType: 'calc+arraydraw' }, + x0: { valType: 'any', editType: 'calc+arraydraw' }, + x1: { valType: 'any', editType: 'calc+arraydraw' }, + yref: o({}, n.yref, {}), + ysizemode: { + valType: 'enumerated', + values: ['scaled', 'pixel'], + dflt: 'scaled', + editType: 'calc+arraydraw', + }, + yanchor: { valType: 'any', editType: 'calc+arraydraw' }, + y0: { valType: 'any', editType: 'calc+arraydraw' }, + y1: { valType: 'any', editType: 'calc+arraydraw' }, + path: { valType: 'string', editType: 'calc+arraydraw' }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'arraydraw', + }, + line: { + color: o({}, i.color, { editType: 'arraydraw' }), + width: o({}, i.width, { editType: 'calc+arraydraw' }), + dash: o({}, a, { editType: 'arraydraw' }), + editType: 'calc+arraydraw', + }, + fillcolor: { + valType: 'color', + dflt: 'rgba(0,0,0,0)', + editType: 'arraydraw', + }, + fillrule: { + valType: 'enumerated', + values: ['evenodd', 'nonzero'], + dflt: 'evenodd', + editType: 'arraydraw', + }, + editable: { + valType: 'boolean', + dflt: !1, + editType: 'calc+arraydraw', + }, + editType: 'arraydraw', + }); + }, + { + '../../constants/axis_placeable_objects': 746, + '../../lib/extend': 768, + '../../plot_api/plot_template': 817, + '../../traces/scatter/attributes': 1187, + '../annotations/attributes': 626, + '../drawing/attributes': 664, + }, + ], + 721: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('./constants'), + o = t('./helpers'); + function s(t) { + return c(t.line.width, t.xsizemode, t.x0, t.x1, t.path, !1); + } + function l(t) { + return c(t.line.width, t.ysizemode, t.y0, t.y1, t.path, !0); + } + function c(t, e, r, i, s, l) { + var c = t / 2, + u = l; + if ('pixel' === e) { + var f = s + ? o.extractPathCoords(s, l ? a.paramIsY : a.paramIsX) + : [r, i], + h = n.aggNums(Math.max, null, f), + p = n.aggNums(Math.min, null, f), + d = p < 0 ? Math.abs(p) + c : c, + g = h > 0 ? h + c : c; + return { ppad: c, ppadplus: u ? d : g, ppadminus: u ? g : d }; + } + return { ppad: c }; + } + function u(t, e, r, n, i) { + var s = + 'category' === t.type || 'multicategory' === t.type + ? t.r2c + : t.d2c; + if (void 0 !== e) return [s(e), s(r)]; + if (n) { + var l, + c, + u, + f, + h = 1 / 0, + p = -1 / 0, + d = n.match(a.segmentRE); + for ( + 'date' === t.type && (s = o.decodeDate(s)), l = 0; + l < d.length; + l++ + ) + void 0 !== (c = i[d[l].charAt(0)].drawn) && + (!(u = d[l].substr(1).match(a.paramRE)) || + u.length < c || + ((f = s(u[c])) < h && (h = f), f > p && (p = f))); + return p >= h ? [h, p] : void 0; + } + } + e.exports = function (t) { + var e = t._fullLayout, + r = n.filterVisible(e.shapes); + if (r.length && t._fullData.length) + for (var o = 0; o < r.length; o++) { + var c, + f, + h = r[o]; + h._extremes = {}; + var p = i.getRefType(h.xref), + d = i.getRefType(h.yref); + if ('paper' !== h.xref && 'domain' !== p) { + var g = 'pixel' === h.xsizemode ? h.xanchor : h.x0, + m = 'pixel' === h.xsizemode ? h.xanchor : h.x1; + (f = u( + (c = i.getFromId(t, h.xref)), + g, + m, + h.path, + a.paramIsX + )) && (h._extremes[c._id] = i.findExtremes(c, f, s(h))); + } + if ('paper' !== h.yref && 'domain' !== d) { + var v = 'pixel' === h.ysizemode ? h.yanchor : h.y0, + y = 'pixel' === h.ysizemode ? h.yanchor : h.y1; + (f = u( + (c = i.getFromId(t, h.yref)), + v, + y, + h.path, + a.paramIsY + )) && (h._extremes[c._id] = i.findExtremes(c, f, l(h))); + } + } + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + './constants': 722, + './helpers': 731, + }, + ], + 722: [ + function (t, e, r) { + 'use strict'; + e.exports = { + segmentRE: /[MLHVQCTSZ][^MLHVQCTSZ]*/g, + paramRE: /[^\s,]+/g, + paramIsX: { + M: { 0: !0, drawn: 0 }, + L: { 0: !0, drawn: 0 }, + H: { 0: !0, drawn: 0 }, + V: {}, + Q: { 0: !0, 2: !0, drawn: 2 }, + C: { 0: !0, 2: !0, 4: !0, drawn: 4 }, + T: { 0: !0, drawn: 0 }, + S: { 0: !0, 2: !0, drawn: 2 }, + Z: {}, + }, + paramIsY: { + M: { 1: !0, drawn: 1 }, + L: { 1: !0, drawn: 1 }, + H: {}, + V: { 0: !0, drawn: 0 }, + Q: { 1: !0, 3: !0, drawn: 3 }, + C: { 1: !0, 3: !0, 5: !0, drawn: 5 }, + T: { 1: !0, drawn: 1 }, + S: { 1: !0, 3: !0, drawn: 5 }, + Z: {}, + }, + numParams: { M: 2, L: 2, H: 1, V: 1, Q: 4, C: 6, T: 2, S: 4, Z: 0 }, + }; + }, + {}, + ], + 723: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/array_container_defaults'), + o = t('./attributes'), + s = t('./helpers'); + function l(t, e, r) { + function a(r, i) { + return n.coerce(t, e, o, r, i); + } + if (a('visible')) { + var l = a('path'), + c = a('type', l ? 'path' : 'rect'); + 'path' !== e.type && delete e.path, + a('editable'), + a('layer'), + a('opacity'), + a('fillcolor'), + a('fillrule'), + a('line.width') && (a('line.color'), a('line.dash')); + for ( + var u = a('xsizemode'), + f = a('ysizemode'), + h = ['x', 'y'], + p = 0; + p < 2; + p++ + ) { + var d, + g, + m, + v = h[p], + y = v + 'anchor', + x = 'x' === v ? u : f, + b = { _fullLayout: r }, + _ = i.coerceRef(t, e, b, v, void 0, 'paper'); + if ( + ('range' === i.getRefType(_) + ? ((d = i.getFromId(b, _))._shapeIndices.push(e._index), + (m = s.rangeToShapePosition(d)), + (g = s.shapePositionToRange(d))) + : (g = m = n.identity), + 'path' !== c) + ) { + var w = v + '0', + T = v + '1', + k = t[w], + M = t[T]; + (t[w] = g(t[w], !0)), + (t[T] = g(t[T], !0)), + 'pixel' === x + ? (a(w, 0), a(T, 10)) + : (i.coercePosition(e, b, a, _, w, 0.25), + i.coercePosition(e, b, a, _, T, 0.75)), + (e[w] = m(e[w])), + (e[T] = m(e[T])), + (t[w] = k), + (t[T] = M); + } + if ('pixel' === x) { + var A = t[y]; + (t[y] = g(t[y], !0)), + i.coercePosition(e, b, a, _, y, 0.25), + (e[y] = m(e[y])), + (t[y] = A); + } + } + 'path' === c + ? a('path') + : n.noneOrAll(t, e, ['x0', 'x1', 'y0', 'y1']); + } + } + e.exports = function (t, e) { + a(t, e, { name: 'shapes', handleItemDefaults: l }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/axes': 828, + './attributes': 720, + './helpers': 731, + }, + ], + 724: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../plots/cartesian/axes'), + o = t('./draw_newshape/helpers').readPaths, + s = t('./draw_newshape/display_outlines'), + l = t( + '../../plots/cartesian/handle_outline' + ).clearOutlineControllers, + c = t('../color'), + u = t('../drawing'), + f = t('../../plot_api/plot_template').arrayEditor, + h = t('../dragelement'), + p = t('../../lib/setcursor'), + d = t('./constants'), + g = t('./helpers'); + function m(t) { + var e = t._fullLayout; + for (var r in (e._shapeUpperLayer.selectAll('path').remove(), + e._shapeLowerLayer.selectAll('path').remove(), + e._plots)) { + var n = e._plots[r].shapelayer; + n && n.selectAll('path').remove(); + } + for (var i = 0; i < e.shapes.length; i++) + e.shapes[i].visible && x(t, i); + } + function v(t) { + return !!t._fullLayout._drawing; + } + function y(t) { + return !t._context.edits.shapePosition; + } + function x(t, e) { + t._fullLayout._paperdiv + .selectAll('.shapelayer [data-index="' + e + '"]') + .remove(); + var r = g.makeOptionsAndPlotinfo(t, e), + l = r.options, + x = r.plotinfo; + if (l._input && !1 !== l.visible) + if ('below' !== l.layer) k(t._fullLayout._shapeUpperLayer); + else if ('paper' === l.xref || 'paper' === l.yref) + k(t._fullLayout._shapeLowerLayer); + else { + if (x._hadPlotinfo) k((x.mainplotinfo || x).shapelayer); + else k(t._fullLayout._shapeLowerLayer); + } + function k(r) { + var k = _(t, l), + M = { 'data-index': e, 'fill-rule': l.fillrule, d: k }, + A = l.opacity, + S = l.fillcolor, + E = l.line.width ? l.line.color : 'rgba(0,0,0,0)', + C = l.line.width, + L = l.line.dash; + C || !0 !== l.editable || ((C = 5), (L = 'solid')); + var I = 'Z' !== k[k.length - 1], + P = y(t) && l.editable && t._fullLayout._activeShapeIndex === e; + P && + ((S = I + ? 'rgba(0,0,0,0)' + : t._fullLayout.activeshape.fillcolor), + (A = t._fullLayout.activeshape.opacity)); + var z, + O = r + .append('path') + .attr(M) + .style('opacity', A) + .call(c.stroke, E) + .call(c.fill, S) + .call(u.dashLine, L, C); + if ( + (b(O, t, l), + (P || t._context.edits.shapePosition) && + (z = f(t.layout, 'shapes', l)), + P) + ) { + O.style({ cursor: 'move' }); + var D = { + element: O.node(), + plotinfo: x, + gd: t, + editHelpers: z, + isActiveShape: !0, + }, + R = o(k, t); + s(R, O, D); + } else + t._context.edits.shapePosition + ? (function (t, e, r, o, s, l) { + var c, + f, + m, + y, + x, + T, + k, + M, + A, + S, + E, + C, + L, + I, + P, + z, + O = 'pixel' === r.xsizemode, + D = 'pixel' === r.ysizemode, + R = 'line' === r.type, + F = 'path' === r.type, + B = l.modifyItem, + N = a.getFromId(t, r.xref), + j = a.getRefType(r.xref), + U = a.getFromId(t, r.yref), + V = a.getRefType(r.yref), + q = g.getDataToPixel(t, N, !1, j), + H = g.getDataToPixel(t, U, !0, V), + G = g.getPixelToData(t, N, !1, j), + Y = g.getPixelToData(t, U, !0, V), + W = R + ? (function () { + var t = Math.max(r.line.width, 10), + n = s.append('g').attr('data-index', o); + n.append('path') + .attr('d', e.attr('d')) + .style({ + cursor: 'move', + 'stroke-width': t, + 'stroke-opacity': '0', + }); + var i = { 'fill-opacity': '0' }, + a = Math.max(t / 2, 10); + return ( + n + .append('circle') + .attr({ + 'data-line-point': 'start-point', + cx: O ? q(r.xanchor) + r.x0 : q(r.x0), + cy: D ? H(r.yanchor) - r.y0 : H(r.y0), + r: a, + }) + .style(i) + .classed('cursor-grab', !0), + n + .append('circle') + .attr({ + 'data-line-point': 'end-point', + cx: O ? q(r.xanchor) + r.x1 : q(r.x1), + cy: D ? H(r.yanchor) - r.y1 : H(r.y1), + r: a, + }) + .style(i) + .classed('cursor-grab', !0), + n + ); + })() + : e, + X = { + element: W.node(), + gd: t, + prepFn: function (n) { + if (v(t)) return; + O && (x = q(r.xanchor)); + D && (T = H(r.yanchor)); + 'path' === r.type + ? (P = r.path) + : ((c = O ? r.x0 : q(r.x0)), + (f = D ? r.y0 : H(r.y0)), + (m = O ? r.x1 : q(r.x1)), + (y = D ? r.y1 : H(r.y1))); + c < m + ? ((A = c), (L = 'x0'), (S = m), (I = 'x1')) + : ((A = m), (L = 'x1'), (S = c), (I = 'x0')); + (!D && f < y) || (D && f > y) + ? ((k = f), (E = 'y0'), (M = y), (C = 'y1')) + : ((k = y), (E = 'y1'), (M = f), (C = 'y0')); + Z(n), + Q(s, r), + (function (t, e, r) { + var n = e.xref, + i = e.yref, + o = a.getFromId(r, n), + s = a.getFromId(r, i), + l = ''; + 'paper' === n || o.autorange || (l += n); + 'paper' === i || s.autorange || (l += i); + u.setClipUrl( + t, + l ? 'clip' + r._fullLayout._uid + l : null, + r + ); + })(e, r, t), + (X.moveFn = 'move' === z ? J : K), + (X.altKey = n.altKey); + }, + doneFn: function () { + if (v(t)) return; + p(e), + $(s), + b(e, t, r), + n.call('_guiRelayout', t, l.getUpdateObj()); + }, + clickFn: function () { + if (v(t)) return; + $(s); + }, + }; + function Z(r) { + if (v(t)) z = null; + else if (R) + z = + 'path' === r.target.tagName + ? 'move' + : 'start-point' === + r.target.attributes['data-line-point'].value + ? 'resize-over-start-point' + : 'resize-over-end-point'; + else { + var n = X.element.getBoundingClientRect(), + i = n.right - n.left, + a = n.bottom - n.top, + o = r.clientX - n.left, + s = r.clientY - n.top, + l = + !F && i > 10 && a > 10 && !r.shiftKey + ? h.getCursor(o / i, 1 - s / a) + : 'move'; + p(e, l), (z = l.split('-')[0]); + } + } + function J(n, i) { + if ('path' === r.type) { + var a = function (t) { + return t; + }, + o = a, + l = a; + O + ? B('xanchor', (r.xanchor = G(x + n))) + : ((o = function (t) { + return G(q(t) + n); + }), + N && 'date' === N.type && (o = g.encodeDate(o))), + D + ? B('yanchor', (r.yanchor = Y(T + i))) + : ((l = function (t) { + return Y(H(t) + i); + }), + U && + 'date' === U.type && + (l = g.encodeDate(l))), + B('path', (r.path = w(P, o, l))); + } else + O + ? B('xanchor', (r.xanchor = G(x + n))) + : (B('x0', (r.x0 = G(c + n))), + B('x1', (r.x1 = G(m + n)))), + D + ? B('yanchor', (r.yanchor = Y(T + i))) + : (B('y0', (r.y0 = Y(f + i))), + B('y1', (r.y1 = Y(y + i)))); + e.attr('d', _(t, r)), Q(s, r); + } + function K(n, i) { + if (F) { + var a = function (t) { + return t; + }, + o = a, + l = a; + O + ? B('xanchor', (r.xanchor = G(x + n))) + : ((o = function (t) { + return G(q(t) + n); + }), + N && 'date' === N.type && (o = g.encodeDate(o))), + D + ? B('yanchor', (r.yanchor = Y(T + i))) + : ((l = function (t) { + return Y(H(t) + i); + }), + U && + 'date' === U.type && + (l = g.encodeDate(l))), + B('path', (r.path = w(P, o, l))); + } else if (R) { + if ('resize-over-start-point' === z) { + var u = c + n, + h = D ? f - i : f + i; + B('x0', (r.x0 = O ? u : G(u))), + B('y0', (r.y0 = D ? h : Y(h))); + } else if ('resize-over-end-point' === z) { + var p = m + n, + d = D ? y - i : y + i; + B('x1', (r.x1 = O ? p : G(p))), + B('y1', (r.y1 = D ? d : Y(d))); + } + } else { + var v = function (t) { + return -1 !== z.indexOf(t); + }, + b = v('n'), + j = v('s'), + V = v('w'), + W = v('e'), + X = b ? k + i : k, + Z = j ? M + i : M, + J = V ? A + n : A, + K = W ? S + n : S; + D && (b && (X = k - i), j && (Z = M - i)), + ((!D && Z - X > 10) || (D && X - Z > 10)) && + (B(E, (r[E] = D ? X : Y(X))), + B(C, (r[C] = D ? Z : Y(Z)))), + K - J > 10 && + (B(L, (r[L] = O ? J : G(J))), + B(I, (r[I] = O ? K : G(K)))); + } + e.attr('d', _(t, r)), Q(s, r); + } + function Q(t, e) { + (O || D) && + (function () { + var r = 'path' !== e.type, + n = t.selectAll('.visual-cue').data([0]); + n.enter() + .append('path') + .attr({ + fill: '#fff', + 'fill-rule': 'evenodd', + stroke: '#000', + 'stroke-width': 1, + }) + .classed('visual-cue', !0); + var a = q( + O + ? e.xanchor + : i.midRange( + r + ? [e.x0, e.x1] + : g.extractPathCoords( + e.path, + d.paramIsX + ) + ) + ), + o = H( + D + ? e.yanchor + : i.midRange( + r + ? [e.y0, e.y1] + : g.extractPathCoords( + e.path, + d.paramIsY + ) + ) + ); + if ( + ((a = g.roundPositionForSharpStrokeRendering( + a, + 1 + )), + (o = g.roundPositionForSharpStrokeRendering( + o, + 1 + )), + O && D) + ) { + var s = + 'M' + + (a - 1 - 1) + + ',' + + (o - 1 - 1) + + 'h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z'; + n.attr('d', s); + } else if (O) { + var l = + 'M' + + (a - 1 - 1) + + ',' + + (o - 9 - 1) + + 'v18 h2 v-18 Z'; + n.attr('d', l); + } else { + var c = + 'M' + + (a - 9 - 1) + + ',' + + (o - 1 - 1) + + 'h18 v2 h-18 Z'; + n.attr('d', c); + } + })(); + } + function $(t) { + t.selectAll('.visual-cue').remove(); + } + h.init(X), (W.node().onmousemove = Z); + })(t, O, l, e, r, z) + : !0 === l.editable && + O.style( + 'pointer-events', + I || c.opacity(S) * A <= 0.5 ? 'stroke' : 'all' + ); + O.node().addEventListener('click', function () { + return (function (t, e) { + if (!y(t)) return; + var r = +e.node().getAttribute('data-index'); + if (r >= 0) { + if (r === t._fullLayout._activeShapeIndex) return void T(t); + (t._fullLayout._activeShapeIndex = r), + (t._fullLayout._deactivateShape = T), + m(t); + } + })(t, O); + }); + } + } + function b(t, e, r) { + var n = (r.xref + r.yref) + .replace(/paper/g, '') + .replace(/[xyz][1-9]* *domain/g, ''); + u.setClipUrl(t, n ? 'clip' + e._fullLayout._uid + n : null, e); + } + function _(t, e) { + var r, + n, + o, + s, + l, + c, + u, + f, + h = e.type, + p = a.getRefType(e.xref), + m = a.getRefType(e.yref), + v = a.getFromId(t, e.xref), + y = a.getFromId(t, e.yref), + x = t._fullLayout._size; + if ( + (v + ? 'domain' === p + ? (n = function (t) { + return v._offset + v._length * t; + }) + : ((r = g.shapePositionToRange(v)), + (n = function (t) { + return v._offset + v.r2p(r(t, !0)); + })) + : (n = function (t) { + return x.l + x.w * t; + }), + y + ? 'domain' === m + ? (s = function (t) { + return y._offset + y._length * (1 - t); + }) + : ((o = g.shapePositionToRange(y)), + (s = function (t) { + return y._offset + y.r2p(o(t, !0)); + })) + : (s = function (t) { + return x.t + x.h * (1 - t); + }), + 'path' === h) + ) + return ( + v && 'date' === v.type && (n = g.decodeDate(n)), + y && 'date' === y.type && (s = g.decodeDate(s)), + (function (t, e, r) { + var n = t.path, + a = t.xsizemode, + o = t.ysizemode, + s = t.xanchor, + l = t.yanchor; + return n.replace(d.segmentRE, function (t) { + var n = 0, + c = t.charAt(0), + u = d.paramIsX[c], + f = d.paramIsY[c], + h = d.numParams[c], + p = t.substr(1).replace(d.paramRE, function (t) { + return ( + u[n] + ? (t = 'pixel' === a ? e(s) + Number(t) : e(t)) + : f[n] && + (t = 'pixel' === o ? r(l) - Number(t) : r(t)), + ++n > h && (t = 'X'), + t + ); + }); + return ( + n > h && + ((p = p.replace(/[\s,]*X.*/, '')), + i.log('Ignoring extra params in segment ' + t)), + c + p + ); + }); + })(e, n, s) + ); + if ('pixel' === e.xsizemode) { + var b = n(e.xanchor); + (l = b + e.x0), (c = b + e.x1); + } else (l = n(e.x0)), (c = n(e.x1)); + if ('pixel' === e.ysizemode) { + var _ = s(e.yanchor); + (u = _ - e.y0), (f = _ - e.y1); + } else (u = s(e.y0)), (f = s(e.y1)); + if ('line' === h) return 'M' + l + ',' + u + 'L' + c + ',' + f; + if ('rect' === h) + return 'M' + l + ',' + u + 'H' + c + 'V' + f + 'H' + l + 'Z'; + var w = (l + c) / 2, + T = (u + f) / 2, + k = Math.abs(w - l), + M = Math.abs(T - u), + A = 'A' + k + ',' + M, + S = w + k + ',' + T; + return ( + 'M' + + S + + A + + ' 0 1,1 ' + + (w + ',' + (T - M)) + + A + + ' 0 0,1 ' + + S + + 'Z' + ); + } + function w(t, e, r) { + return t.replace(d.segmentRE, function (t) { + var n = 0, + i = t.charAt(0), + a = d.paramIsX[i], + o = d.paramIsY[i], + s = d.numParams[i]; + return ( + i + + t.substr(1).replace(d.paramRE, function (t) { + return ( + n >= s || (a[n] ? (t = e(t)) : o[n] && (t = r(t)), n++), t + ); + }) + ); + }); + } + function T(t) { + y(t) && + t._fullLayout._activeShapeIndex >= 0 && + (l(t), delete t._fullLayout._activeShapeIndex, m(t)); + } + e.exports = { + draw: m, + drawOne: x, + eraseActiveShape: function (t) { + if (!y(t)) return; + l(t); + var e = t._fullLayout._activeShapeIndex, + r = (t.layout || {}).shapes || []; + if (e < r.length) { + for (var i = [], a = 0; a < r.length; a++) + a !== e && i.push(r[a]); + delete t._fullLayout._activeShapeIndex, + n.call('_guiRelayout', t, { shapes: i }); + } + }, + }; + }, + { + '../../lib': 778, + '../../lib/setcursor': 799, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/handle_outline': 838, + '../../registry': 911, + '../color': 643, + '../dragelement': 662, + '../drawing': 665, + './constants': 722, + './draw_newshape/display_outlines': 728, + './draw_newshape/helpers': 729, + './helpers': 731, + }, + ], + 725: [ + function (t, e, r) { + 'use strict'; + var n = t('../../drawing/attributes').dash, + i = t('../../../lib/extend').extendFlat; + e.exports = { + newshape: { + line: { + color: { valType: 'color', editType: 'none' }, + width: { valType: 'number', min: 0, dflt: 4, editType: 'none' }, + dash: i({}, n, { dflt: 'solid', editType: 'none' }), + editType: 'none', + }, + fillcolor: { + valType: 'color', + dflt: 'rgba(0,0,0,0)', + editType: 'none', + }, + fillrule: { + valType: 'enumerated', + values: ['evenodd', 'nonzero'], + dflt: 'evenodd', + editType: 'none', + }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'none', + }, + layer: { + valType: 'enumerated', + values: ['below', 'above'], + dflt: 'above', + editType: 'none', + }, + drawdirection: { + valType: 'enumerated', + values: ['ortho', 'horizontal', 'vertical', 'diagonal'], + dflt: 'diagonal', + editType: 'none', + }, + editType: 'none', + }, + activeshape: { + fillcolor: { + valType: 'color', + dflt: 'rgb(255,0,255)', + editType: 'none', + }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.5, + editType: 'none', + }, + editType: 'none', + }, + }; + }, + { '../../../lib/extend': 768, '../../drawing/attributes': 664 }, + ], + 726: [ + function (t, e, r) { + 'use strict'; + e.exports = { + CIRCLE_SIDES: 32, + i000: 0, + i090: 8, + i180: 16, + i270: 24, + cos45: Math.cos(Math.PI / 4), + sin45: Math.sin(Math.PI / 4), + SQRT2: Math.sqrt(2), + }; + }, + {}, + ], + 727: [ + function (t, e, r) { + 'use strict'; + var n = t('../../color'); + e.exports = function (t, e, r) { + if ( + (r('newshape.drawdirection'), + r('newshape.layer'), + r('newshape.fillcolor'), + r('newshape.fillrule'), + r('newshape.opacity'), + r('newshape.line.width')) + ) { + var i = (t || {}).plot_bgcolor || '#FFF'; + r('newshape.line.color', n.contrast(i)), r('newshape.line.dash'); + } + r('activeshape.fillcolor'), r('activeshape.opacity'); + }; + }, + { '../../color': 643 }, + ], + 728: [ + function (t, e, r) { + 'use strict'; + var n = t('../../dragelement'), + i = t('../../dragelement/helpers').drawMode, + a = t('../../../registry'), + o = t('./constants'), + s = o.i000, + l = o.i090, + c = o.i180, + u = o.i270, + f = t( + '../../../plots/cartesian/handle_outline' + ).clearOutlineControllers, + h = t('./helpers'), + p = h.pointsShapeRectangle, + d = h.pointsShapeEllipse, + g = h.writePaths, + m = t('./newshapes'); + e.exports = function t(e, r, o, h) { + h || (h = 0); + var v = o.gd; + function y() { + t(e, r, o, h++), d(e[0]) && x({ redrawing: !0 }); + } + function x(t) { + o.isActiveShape = !1; + var e = m(r, o); + Object.keys(e).length && + a.call((t || {}).redrawing ? 'relayout' : '_guiRelayout', v, e); + } + var b, + _, + w, + T, + k, + M = o.isActiveShape, + A = v._fullLayout._zoomlayer, + S = o.dragmode; + (i(S) + ? (v._fullLayout._drawing = !0) + : v._fullLayout._activeShapeIndex >= 0 && f(v), + r.attr('d', g(e)), + M && !h) && + ((k = (function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r]; + t[r] = []; + for (var i = 0; i < n.length; i++) { + t[r][i] = []; + for (var a = 0; a < n[i].length; a++) t[r][i][a] = n[i][a]; + } + } + return t; + })([], e)), + (function (t) { + b = []; + for (var r = 0; r < e.length; r++) { + var i = e[r], + a = !p(i) && d(i); + b[r] = []; + for (var o = 0; o < i.length; o++) + if ( + 'Z' !== i[o][0] && + (!a || o === s || o === l || o === c || o === u) + ) { + var f = i[o][1], + h = i[o][2], + g = t + .append('circle') + .classed('cursor-grab', !0) + .attr('data-i', r) + .attr('data-j', o) + .attr('cx', f) + .attr('cy', h) + .attr('r', 4) + .style({ + 'mix-blend-mode': 'luminosity', + fill: 'black', + stroke: 'white', + 'stroke-width': 1, + }); + (b[r][o] = { + element: g.node(), + gd: v, + prepFn: E, + doneFn: L, + clickFn: I, + }), + n.init(b[r][o]); + } + } + })(A.append('g').attr('class', 'outline-controllers')), + (function () { + if (((_ = []), !e.length)) return; + (_[0] = { element: r[0][0], gd: v, prepFn: z, doneFn: O }), + n.init(_[0]); + })()); + function E(t) { + (w = +t.srcElement.getAttribute('data-i')), + (T = +t.srcElement.getAttribute('data-j')), + (b[w][T].moveFn = C); + } + function C(t, r) { + if (e.length) { + var n = k[w][T][1], + i = k[w][T][2], + a = e[w], + o = a.length; + if (p(a)) { + for (var s = 0; s < o; s++) + if (s !== T) { + var l = a[s]; + l[1] === a[T][1] && (l[1] = n + t), + l[2] === a[T][2] && (l[2] = i + r); + } + if (((a[T][1] = n + t), (a[T][2] = i + r), !p(a))) + for (var c = 0; c < o; c++) + for (var u = 0; u < a[c].length; u++) + a[c][u] = k[w][c][u]; + } else (a[T][1] = n + t), (a[T][2] = i + r); + y(); + } + } + function L() { + x(); + } + function I(t, r) { + if (2 === t) { + (w = +r.srcElement.getAttribute('data-i')), + (T = +r.srcElement.getAttribute('data-j')); + var n = e[w]; + p(n) || + d(n) || + (function () { + if (e.length && e[w] && e[w].length) { + for (var t = [], r = 0; r < e[w].length; r++) + r !== T && t.push(e[w][r]); + t.length > 1 && + (2 !== t.length || 'Z' !== t[1][0]) && + (0 === T && (t[0][0] = 'M'), (e[w] = t), y(), x()); + } + })(); + } + } + function P(t, r) { + !(function (t, r) { + if (e.length) + for (var n = 0; n < e.length; n++) + for (var i = 0; i < e[n].length; i++) + for (var a = 0; a + 2 < e[n][i].length; a += 2) + (e[n][i][a + 1] = k[n][i][a + 1] + t), + (e[n][i][a + 2] = k[n][i][a + 2] + r); + })(t, r), + y(); + } + function z(t) { + (w = +t.srcElement.getAttribute('data-i')) || (w = 0), + (_[w].moveFn = P); + } + function O() { + x(); + } + }; + }, + { + '../../../plots/cartesian/handle_outline': 838, + '../../../registry': 911, + '../../dragelement': 662, + '../../dragelement/helpers': 661, + './constants': 726, + './helpers': 729, + './newshapes': 730, + }, + ], + 729: [ + function (t, e, r) { + 'use strict'; + var n = t('parse-svg-path'), + i = t('./constants'), + a = i.CIRCLE_SIDES, + o = i.SQRT2, + s = t('../../../plots/cartesian/helpers'), + l = s.p2r, + c = s.r2p, + u = [0, 3, 4, 5, 6, 1, 2], + f = [0, 3, 4, 1, 2]; + function h(t, e) { + return Math.abs(t - e) <= 1e-6; + } + function p(t, e) { + var r = e[1] - t[1], + n = e[2] - t[2]; + return Math.sqrt(r * r + n * n); + } + (r.writePaths = function (t) { + var e = t.length; + if (!e) return 'M0,0Z'; + for (var r = '', n = 0; n < e; n++) + for (var i = t[n].length, a = 0; a < i; a++) { + var o = t[n][a][0]; + if ('Z' === o) r += 'Z'; + else + for (var s = t[n][a].length, l = 0; l < s; l++) { + var c = l; + 'Q' === o || 'S' === o + ? (c = f[l]) + : 'C' === o && (c = u[l]), + (r += t[n][a][c]), + l > 0 && l < s - 1 && (r += ','); + } + } + return r; + }), + (r.readPaths = function (t, e, r, i) { + var o, + s, + u, + f = n(t), + h = [], + p = -1, + d = 0, + g = 0, + m = function () { + (s = d), (u = g); + }; + m(); + for (var v = 0; v < f.length; v++) { + var y, + x, + b, + _, + w = [], + T = f[v][0], + k = T; + switch (T) { + case 'M': + p++, + (h[p] = []), + (d = +f[v][1]), + (g = +f[v][2]), + w.push([k, d, g]), + m(); + break; + case 'Q': + case 'S': + (y = +f[v][1]), + (b = +f[v][2]), + (d = +f[v][3]), + (g = +f[v][4]), + w.push([k, d, g, y, b]); + break; + case 'C': + (y = +f[v][1]), + (b = +f[v][2]), + (x = +f[v][3]), + (_ = +f[v][4]), + (d = +f[v][5]), + (g = +f[v][6]), + w.push([k, d, g, y, b, x, _]); + break; + case 'T': + case 'L': + (d = +f[v][1]), (g = +f[v][2]), w.push([k, d, g]); + break; + case 'H': + (k = 'L'), (d = +f[v][1]), w.push([k, d, g]); + break; + case 'V': + (k = 'L'), (g = +f[v][1]), w.push([k, d, g]); + break; + case 'A': + k = 'L'; + var M = +f[v][1], + A = +f[v][2]; + +f[v][4] || ((M = -M), (A = -A)); + var S = d - M, + E = g; + for (o = 1; o <= a / 2; o++) { + var C = (2 * Math.PI * o) / a; + w.push([k, S + M * Math.cos(C), E + A * Math.sin(C)]); + } + break; + case 'Z': + (d === s && g === u) || + ((d = s), (g = u), w.push([k, d, g])); + } + for ( + var L = (r || {}).domain, + I = e._fullLayout._size, + P = r && 'pixel' === r.xsizemode, + z = r && 'pixel' === r.ysizemode, + O = !1 === i, + D = 0; + D < w.length; + D++ + ) { + for (o = 0; o + 2 < 7; o += 2) { + var R = w[D][o + 1], + F = w[D][o + 2]; + void 0 !== R && + void 0 !== F && + ((d = R), + (g = F), + r && + (r.xaxis && r.xaxis.p2r + ? (O && (R -= r.xaxis._offset), + (R = P ? c(r.xaxis, r.xanchor) + R : l(r.xaxis, R))) + : (O && (R -= I.l), + L ? (R = L.x[0] + R / I.w) : (R /= I.w)), + r.yaxis && r.yaxis.p2r + ? (O && (F -= r.yaxis._offset), + (F = z ? c(r.yaxis, r.yanchor) - F : l(r.yaxis, F))) + : (O && (F -= I.t), + (F = L ? L.y[1] - F / I.h : 1 - F / I.h))), + (w[D][o + 1] = R), + (w[D][o + 2] = F)); + } + h[p].push(w[D].slice()); + } + } + return h; + }), + (r.pointsShapeRectangle = function (t) { + if (5 !== t.length) return !1; + for (var e = 1; e < 3; e++) { + if (!h(t[0][e] - t[1][e], t[3][e] - t[2][e])) return !1; + if (!h(t[0][e] - t[3][e], t[1][e] - t[2][e])) return !1; + } + return ( + !(!h(t[0][1], t[1][1]) && !h(t[0][1], t[3][1])) && + !!(p(t[0], t[1]) * p(t[0], t[3])) + ); + }), + (r.pointsShapeEllipse = function (t) { + var e = t.length; + if (e !== a + 1) return !1; + e = a; + for (var r = 0; r < e; r++) { + var n = (2 * e - r) % e, + i = (e / 2 + n) % e, + o = (e / 2 + r) % e; + if (!h(p(t[r], t[o]), p(t[n], t[i]))) return !1; + } + return !0; + }), + (r.handleEllipse = function (t, e, n) { + if (!t) return [e, n]; + var i = r.ellipseOver({ x0: e[0], y0: e[1], x1: n[0], y1: n[1] }), + s = (i.x1 + i.x0) / 2, + l = (i.y1 + i.y0) / 2, + c = (i.x1 - i.x0) / 2, + u = (i.y1 - i.y0) / 2; + c || (c = u /= o), u || (u = c /= o); + for (var f = [], h = 0; h < a; h++) { + var p = (2 * h * Math.PI) / a; + f.push([s + c * Math.cos(p), l + u * Math.sin(p)]); + } + return f; + }), + (r.ellipseOver = function (t) { + var e = t.x0, + r = t.y0, + n = t.x1, + i = t.y1, + a = n - e, + s = i - r, + l = ((e -= a) + n) / 2, + c = ((r -= s) + i) / 2; + return { + x0: l - (a *= o), + y0: c - (s *= o), + x1: l + a, + y1: c + s, + }; + }); + }, + { + '../../../plots/cartesian/helpers': 839, + './constants': 726, + 'parse-svg-path': 505, + }, + ], + 730: [ + function (t, e, r) { + 'use strict'; + var n = t('../../dragelement/helpers'), + i = n.drawMode, + a = n.openMode, + o = t('./constants'), + s = o.i000, + l = o.i090, + c = o.i180, + u = o.i270, + f = o.cos45, + h = o.sin45, + p = t('../../../plots/cartesian/helpers'), + d = p.p2r, + g = p.r2p, + m = t('../../../plots/cartesian/handle_outline').clearSelect, + v = t('./helpers'), + y = v.readPaths, + x = v.writePaths, + b = v.ellipseOver; + e.exports = function (t, e) { + if (t.length) { + var r = t[0][0]; + if (r) { + var n = r.getAttribute('d'), + o = e.gd, + p = o._fullLayout.newshape, + v = e.plotinfo, + _ = v.xaxis, + w = v.yaxis, + T = !!v.domain || !v.xaxis, + k = !!v.domain || !v.yaxis, + M = e.isActiveShape, + A = e.dragmode, + S = (o.layout || {}).shapes || []; + if (!i(A) && void 0 !== M) { + var E = o._fullLayout._activeShapeIndex; + if (E < S.length) + switch (o._fullLayout.shapes[E].type) { + case 'rect': + A = 'drawrect'; + break; + case 'circle': + A = 'drawcircle'; + break; + case 'line': + A = 'drawline'; + break; + case 'path': + var C = S[E].path || ''; + A = + 'Z' === C[C.length - 1] + ? 'drawclosedpath' + : 'drawopenpath'; + } + } + var L, + I = a(A), + P = y(n, o, v, M), + z = { + editable: !0, + xref: T ? 'paper' : _._id, + yref: k ? 'paper' : w._id, + layer: p.layer, + opacity: p.opacity, + line: { + color: p.line.color, + width: p.line.width, + dash: p.line.dash, + }, + }; + if ( + (I || + ((z.fillcolor = p.fillcolor), (z.fillrule = p.fillrule)), + 1 === P.length && (L = P[0]), + L && 'drawrect' === A) + ) + (z.type = 'rect'), + (z.x0 = L[0][1]), + (z.y0 = L[0][2]), + (z.x1 = L[2][1]), + (z.y1 = L[2][2]); + else if (L && 'drawline' === A) + (z.type = 'line'), + (z.x0 = L[0][1]), + (z.y0 = L[0][2]), + (z.x1 = L[1][1]), + (z.y1 = L[1][2]); + else if (L && 'drawcircle' === A) { + z.type = 'circle'; + var O = L[s][1], + D = L[l][1], + R = L[c][1], + F = L[u][1], + B = L[s][2], + N = L[l][2], + j = L[c][2], + U = L[u][2], + V = + v.xaxis && + ('date' === v.xaxis.type || 'log' === v.xaxis.type), + q = + v.yaxis && + ('date' === v.yaxis.type || 'log' === v.yaxis.type); + V && + ((O = g(v.xaxis, O)), + (D = g(v.xaxis, D)), + (R = g(v.xaxis, R)), + (F = g(v.xaxis, F))), + q && + ((B = g(v.yaxis, B)), + (N = g(v.yaxis, N)), + (j = g(v.yaxis, j)), + (U = g(v.yaxis, U))); + var H = (D + F) / 2, + G = (B + j) / 2, + Y = b({ + x0: H, + y0: G, + x1: H + ((F - D + R - O) / 2) * f, + y1: G + ((U - N + j - B) / 2) * h, + }); + V && ((Y.x0 = d(v.xaxis, Y.x0)), (Y.x1 = d(v.xaxis, Y.x1))), + q && ((Y.y0 = d(v.yaxis, Y.y0)), (Y.y1 = d(v.yaxis, Y.y1))), + (z.x0 = Y.x0), + (z.y0 = Y.y0), + (z.x1 = Y.x1), + (z.y1 = Y.y1); + } else + (z.type = 'path'), + _ && + w && + (function (t, e, r) { + var n = 'date' === e.type, + i = 'date' === r.type; + if (!n && !i) return t; + for (var a = 0; a < t.length; a++) + for (var o = 0; o < t[a].length; o++) + for (var s = 0; s + 2 < t[a][o].length; s += 2) + n && + (t[a][o][s + 1] = t[a][o][s + 1].replace( + ' ', + '_' + )), + i && + (t[a][o][s + 2] = t[a][o][s + 2].replace( + ' ', + '_' + )); + })(P, _, w), + (z.path = x(P)), + (L = null); + m(o); + for ( + var W = e.editHelpers, + X = (W || {}).modifyItem, + Z = [], + J = 0; + J < S.length; + J++ + ) { + var K = o._fullLayout.shapes[J]; + if ( + ((Z[J] = K._input), + void 0 !== M && J === o._fullLayout._activeShapeIndex) + ) { + var Q = z; + switch (K.type) { + case 'line': + case 'rect': + case 'circle': + X('x0', Q.x0), + X('x1', Q.x1), + X('y0', Q.y0), + X('y1', Q.y1); + break; + case 'path': + X('path', Q.path); + } + } + } + return void 0 === M + ? (Z.push(z), Z) + : W + ? W.getUpdateObj() + : {}; + } + } + }; + }, + { + '../../../plots/cartesian/handle_outline': 838, + '../../../plots/cartesian/helpers': 839, + '../../dragelement/helpers': 661, + './constants': 726, + './helpers': 729, + }, + ], + 731: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('../../lib'); + (r.rangeToShapePosition = function (t) { + return 'log' === t.type + ? t.r2d + : function (t) { + return t; + }; + }), + (r.shapePositionToRange = function (t) { + return 'log' === t.type + ? t.d2r + : function (t) { + return t; + }; + }), + (r.decodeDate = function (t) { + return function (e) { + return e.replace && (e = e.replace('_', ' ')), t(e); + }; + }), + (r.encodeDate = function (t) { + return function (e) { + return t(e).replace(' ', '_'); + }; + }), + (r.extractPathCoords = function (t, e) { + var r = []; + return ( + t.match(n.segmentRE).forEach(function (t) { + var a = e[t.charAt(0)].drawn; + if (void 0 !== a) { + var o = t.substr(1).match(n.paramRE); + !o || o.length < a || r.push(i.cleanNumber(o[a])); + } + }), + r + ); + }), + (r.getDataToPixel = function (t, e, n, i) { + var a, + o = t._fullLayout._size; + if (e) + if ('domain' === i) + a = function (t) { + return e._length * (n ? 1 - t : t) + e._offset; + }; + else { + var s = r.shapePositionToRange(e); + (a = function (t) { + return e._offset + e.r2p(s(t, !0)); + }), + 'date' === e.type && (a = r.decodeDate(a)); + } + else + a = n + ? function (t) { + return o.t + o.h * (1 - t); + } + : function (t) { + return o.l + o.w * t; + }; + return a; + }), + (r.getPixelToData = function (t, e, n, i) { + var a, + o = t._fullLayout._size; + if (e) + if ('domain' === i) + a = function (t) { + var r = (t - e._offset) / e._length; + return n ? 1 - r : r; + }; + else { + var s = r.rangeToShapePosition(e); + a = function (t) { + return s(e.p2r(t - e._offset)); + }; + } + else + a = n + ? function (t) { + return 1 - (t - o.t) / o.h; + } + : function (t) { + return (t - o.l) / o.w; + }; + return a; + }), + (r.roundPositionForSharpStrokeRendering = function (t, e) { + var r = 1 === Math.round(e % 2), + n = Math.round(t); + return r ? n + 0.5 : n; + }), + (r.makeOptionsAndPlotinfo = function (t, e) { + var r = t._fullLayout.shapes[e] || {}, + n = t._fullLayout._plots[r.xref + r.yref]; + return ( + !!n + ? (n._hadPlotinfo = !0) + : ((n = {}), + r.xref && + 'paper' !== r.xref && + (n.xaxis = t._fullLayout[r.xref + 'axis']), + r.yref && + 'paper' !== r.yref && + (n.yaxis = t._fullLayout[r.yref + 'axis'])), + (n.xsizemode = r.xsizemode), + (n.ysizemode = r.ysizemode), + (n.xanchor = r.xanchor), + (n.yanchor = r.yanchor), + { options: r, plotinfo: n } + ); + }); + }, + { '../../lib': 778, './constants': 722 }, + ], + 732: [ + function (t, e, r) { + 'use strict'; + var n = t('./draw'); + e.exports = { + moduleType: 'component', + name: 'shapes', + layoutAttributes: t('./attributes'), + supplyLayoutDefaults: t('./defaults'), + supplyDrawNewShapeDefaults: t('./draw_newshape/defaults'), + includeBasePlot: t('../../plots/cartesian/include_components')( + 'shapes' + ), + calcAutorange: t('./calc_autorange'), + draw: n.draw, + drawOne: n.drawOne, + }; + }, + { + '../../plots/cartesian/include_components': 840, + './attributes': 720, + './calc_autorange': 721, + './defaults': 723, + './draw': 724, + './draw_newshape/defaults': 727, + }, + ], + 733: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../../plots/pad_attributes'), + a = t('../../lib/extend').extendDeepAll, + o = t('../../plot_api/edit_types').overrideAll, + s = t('../../plots/animation_attributes'), + l = t('../../plot_api/plot_template').templatedArray, + c = t('./constants'), + u = l('step', { + visible: { valType: 'boolean', dflt: !0 }, + method: { + valType: 'enumerated', + values: ['restyle', 'relayout', 'animate', 'update', 'skip'], + dflt: 'restyle', + }, + args: { + valType: 'info_array', + freeLength: !0, + items: [ + { valType: 'any' }, + { valType: 'any' }, + { valType: 'any' }, + ], + }, + label: { valType: 'string' }, + value: { valType: 'string' }, + execute: { valType: 'boolean', dflt: !0 }, + }); + e.exports = o( + l('slider', { + visible: { valType: 'boolean', dflt: !0 }, + active: { valType: 'number', min: 0, dflt: 0 }, + steps: u, + lenmode: { + valType: 'enumerated', + values: ['fraction', 'pixels'], + dflt: 'fraction', + }, + len: { valType: 'number', min: 0, dflt: 1 }, + x: { valType: 'number', min: -2, max: 3, dflt: 0 }, + pad: a(i({ editType: 'arraydraw' }), {}, { t: { dflt: 20 } }), + xanchor: { + valType: 'enumerated', + values: ['auto', 'left', 'center', 'right'], + dflt: 'left', + }, + y: { valType: 'number', min: -2, max: 3, dflt: 0 }, + yanchor: { + valType: 'enumerated', + values: ['auto', 'top', 'middle', 'bottom'], + dflt: 'top', + }, + transition: { + duration: { valType: 'number', min: 0, dflt: 150 }, + easing: { + valType: 'enumerated', + values: s.transition.easing.values, + dflt: 'cubic-in-out', + }, + }, + currentvalue: { + visible: { valType: 'boolean', dflt: !0 }, + xanchor: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + dflt: 'left', + }, + offset: { valType: 'number', dflt: 10 }, + prefix: { valType: 'string' }, + suffix: { valType: 'string' }, + font: n({}), + }, + font: n({}), + activebgcolor: { valType: 'color', dflt: c.gripBgActiveColor }, + bgcolor: { valType: 'color', dflt: c.railBgColor }, + bordercolor: { valType: 'color', dflt: c.railBorderColor }, + borderwidth: { + valType: 'number', + min: 0, + dflt: c.railBorderWidth, + }, + ticklen: { valType: 'number', min: 0, dflt: c.tickLength }, + tickcolor: { valType: 'color', dflt: c.tickColor }, + tickwidth: { valType: 'number', min: 0, dflt: 1 }, + minorticklen: { + valType: 'number', + min: 0, + dflt: c.minorTickLength, + }, + }), + 'arraydraw', + 'from-root' + ); + }, + { + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../../plots/animation_attributes': 822, + '../../plots/font_attributes': 856, + '../../plots/pad_attributes': 890, + './constants': 734, + }, + ], + 734: [ + function (t, e, r) { + 'use strict'; + e.exports = { + name: 'sliders', + containerClassName: 'slider-container', + groupClassName: 'slider-group', + inputAreaClass: 'slider-input-area', + railRectClass: 'slider-rail-rect', + railTouchRectClass: 'slider-rail-touch-rect', + gripRectClass: 'slider-grip-rect', + tickRectClass: 'slider-tick-rect', + inputProxyClass: 'slider-input-proxy', + labelsClass: 'slider-labels', + labelGroupClass: 'slider-label-group', + labelClass: 'slider-label', + currentValueClass: 'slider-current-value', + railHeight: 5, + menuIndexAttrName: 'slider-active-index', + autoMarginIdRoot: 'slider-', + minWidth: 30, + minHeight: 30, + textPadX: 40, + arrowOffsetX: 4, + railRadius: 2, + railWidth: 5, + railBorder: 4, + railBorderWidth: 1, + railBorderColor: '#bec8d9', + railBgColor: '#f8fafc', + railInset: 8, + stepInset: 10, + gripRadius: 10, + gripWidth: 20, + gripHeight: 20, + gripBorder: 20, + gripBorderWidth: 1, + gripBorderColor: '#bec8d9', + gripBgColor: '#f6f8fa', + gripBgActiveColor: '#dbdde0', + labelPadding: 8, + labelOffset: 0, + tickWidth: 1, + tickColor: '#333', + tickOffset: 25, + tickLength: 7, + minorTickOffset: 25, + minorTickColor: '#333', + minorTickLength: 4, + currentValuePadding: 8, + currentValueInset: 0, + }; + }, + {}, + ], + 735: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/array_container_defaults'), + a = t('./attributes'), + o = t('./constants').name, + s = a.steps; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + for ( + var s = i(t, e, { name: 'steps', handleItemDefaults: c }), + l = 0, + u = 0; + u < s.length; + u++ + ) + s[u].visible && l++; + if (l < 2 ? (e.visible = !1) : o('visible')) { + e._stepCount = l; + var f = (e._visibleSteps = n.filterVisible(s)); + (s[o('active')] || {}).visible || (e.active = f[0]._index), + o('x'), + o('y'), + n.noneOrAll(t, e, ['x', 'y']), + o('xanchor'), + o('yanchor'), + o('len'), + o('lenmode'), + o('pad.t'), + o('pad.r'), + o('pad.b'), + o('pad.l'), + n.coerceFont(o, 'font', r.font), + o('currentvalue.visible') && + (o('currentvalue.xanchor'), + o('currentvalue.prefix'), + o('currentvalue.suffix'), + o('currentvalue.offset'), + n.coerceFont(o, 'currentvalue.font', e.font)), + o('transition.duration'), + o('transition.easing'), + o('bgcolor'), + o('activebgcolor'), + o('bordercolor'), + o('borderwidth'), + o('ticklen'), + o('tickwidth'), + o('tickcolor'), + o('minorticklen'); + } + } + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + if ( + 'skip' === t.method || Array.isArray(t.args) + ? r('visible') + : (e.visible = !1) + ) { + r('method'), r('args'); + var i = r('label', 'step-' + e._index); + r('value', i), r('execute'); + } + } + e.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + './attributes': 733, + './constants': 734, + }, + ], + 736: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../plots/plots'), + a = t('../color'), + o = t('../drawing'), + s = t('../../lib'), + l = s.strTranslate, + c = t('../../lib/svg_text_utils'), + u = t('../../plot_api/plot_template').arrayEditor, + f = t('./constants'), + h = t('../../constants/alignment'), + p = h.LINE_SPACING, + d = h.FROM_TL, + g = h.FROM_BR; + function m(t) { + return f.autoMarginIdRoot + t._index; + } + function v(t) { + return t._index; + } + function y(t, e) { + var r = o.tester + .selectAll('g.' + f.labelGroupClass) + .data(e._visibleSteps); + r.enter().append('g').classed(f.labelGroupClass, !0); + var a = 0, + l = 0; + r.each(function (t) { + var r = _(n.select(this), { step: t }, e).node(); + if (r) { + var i = o.bBox(r); + (l = Math.max(l, i.height)), (a = Math.max(a, i.width)); + } + }), + r.remove(); + var u = (e._dims = {}); + u.inputAreaWidth = Math.max(f.railWidth, f.gripHeight); + var h = t._fullLayout._size; + (u.lx = h.l + h.w * e.x), + (u.ly = h.t + h.h * (1 - e.y)), + 'fraction' === e.lenmode + ? (u.outerLength = Math.round(h.w * e.len)) + : (u.outerLength = e.len), + (u.inputAreaStart = 0), + (u.inputAreaLength = Math.round( + u.outerLength - e.pad.l - e.pad.r + )); + var p = (u.inputAreaLength - 2 * f.stepInset) / (e._stepCount - 1), + v = a + f.labelPadding; + if ( + ((u.labelStride = Math.max(1, Math.ceil(v / p))), + (u.labelHeight = l), + (u.currentValueMaxWidth = 0), + (u.currentValueHeight = 0), + (u.currentValueTotalHeight = 0), + (u.currentValueMaxLines = 1), + e.currentvalue.visible) + ) { + var y = o.tester.append('g'); + r.each(function (t) { + var r = x(y, e, t.label), + n = (r.node() && o.bBox(r.node())) || { width: 0, height: 0 }, + i = c.lineCount(r); + (u.currentValueMaxWidth = Math.max( + u.currentValueMaxWidth, + Math.ceil(n.width) + )), + (u.currentValueHeight = Math.max( + u.currentValueHeight, + Math.ceil(n.height) + )), + (u.currentValueMaxLines = Math.max( + u.currentValueMaxLines, + i + )); + }), + (u.currentValueTotalHeight = + u.currentValueHeight + e.currentvalue.offset), + y.remove(); + } + u.height = + u.currentValueTotalHeight + + f.tickOffset + + e.ticklen + + f.labelOffset + + u.labelHeight + + e.pad.t + + e.pad.b; + var b = 'left'; + s.isRightAnchor(e) && ((u.lx -= u.outerLength), (b = 'right')), + s.isCenterAnchor(e) && + ((u.lx -= u.outerLength / 2), (b = 'center')); + var w = 'top'; + s.isBottomAnchor(e) && ((u.ly -= u.height), (w = 'bottom')), + s.isMiddleAnchor(e) && ((u.ly -= u.height / 2), (w = 'middle')), + (u.outerLength = Math.ceil(u.outerLength)), + (u.height = Math.ceil(u.height)), + (u.lx = Math.round(u.lx)), + (u.ly = Math.round(u.ly)); + var T = { y: e.y, b: u.height * g[w], t: u.height * d[w] }; + 'fraction' === e.lenmode + ? ((T.l = 0), + (T.xl = e.x - e.len * d[b]), + (T.r = 0), + (T.xr = e.x + e.len * g[b])) + : ((T.x = e.x), + (T.l = u.outerLength * d[b]), + (T.r = u.outerLength * g[b])), + i.autoMargin(t, m(e), T); + } + function x(t, e, r) { + if (e.currentvalue.visible) { + var n, + i, + a = e._dims; + switch (e.currentvalue.xanchor) { + case 'right': + (n = + a.inputAreaLength - + f.currentValueInset - + a.currentValueMaxWidth), + (i = 'left'); + break; + case 'center': + (n = 0.5 * a.inputAreaLength), (i = 'middle'); + break; + default: + (n = f.currentValueInset), (i = 'left'); + } + var l = s.ensureSingle(t, 'text', f.labelClass, function (t) { + t.attr({ 'text-anchor': i, 'data-notex': 1 }); + }), + u = e.currentvalue.prefix ? e.currentvalue.prefix : ''; + if ('string' == typeof r) u += r; + else { + var h = e.steps[e.active].label, + d = e._gd._fullLayout._meta; + d && (h = s.templateString(h, d)), (u += h); + } + e.currentvalue.suffix && (u += e.currentvalue.suffix), + l + .call(o.font, e.currentvalue.font) + .text(u) + .call(c.convertToTspans, e._gd); + var g = c.lineCount(l), + m = + (a.currentValueMaxLines + 1 - g) * + e.currentvalue.font.size * + p; + return c.positionText(l, n, m), l; + } + } + function b(t, e, r) { + s.ensureSingle(t, 'rect', f.gripRectClass, function (n) { + n.call(M, e, t, r).style('pointer-events', 'all'); + }) + .attr({ + width: f.gripWidth, + height: f.gripHeight, + rx: f.gripRadius, + ry: f.gripRadius, + }) + .call(a.stroke, r.bordercolor) + .call(a.fill, r.bgcolor) + .style('stroke-width', r.borderwidth + 'px'); + } + function _(t, e, r) { + var n = s.ensureSingle(t, 'text', f.labelClass, function (t) { + t.attr({ 'text-anchor': 'middle', 'data-notex': 1 }); + }), + i = e.step.label, + a = r._gd._fullLayout._meta; + return ( + a && (i = s.templateString(i, a)), + n.call(o.font, r.font).text(i).call(c.convertToTspans, r._gd), + n + ); + } + function w(t, e) { + var r = s.ensureSingle(t, 'g', f.labelsClass), + i = e._dims, + a = r.selectAll('g.' + f.labelGroupClass).data(i.labelSteps); + a.enter().append('g').classed(f.labelGroupClass, !0), + a.exit().remove(), + a.each(function (t) { + var r = n.select(this); + r.call(_, t, e), + o.setTranslate( + r, + E(e, t.fraction), + f.tickOffset + + e.ticklen + + e.font.size * p + + f.labelOffset + + i.currentValueTotalHeight + ); + }); + } + function T(t, e, r, n, i) { + var a = Math.round(n * (r._stepCount - 1)), + o = r._visibleSteps[a]._index; + o !== r.active && k(t, e, r, o, !0, i); + } + function k(t, e, r, n, a, o) { + var s = r.active; + (r.active = n), u(t.layout, f.name, r).applyUpdate('active', n); + var l = r.steps[r.active]; + e.call(S, r, o), + e.call(x, r), + t.emit('plotly_sliderchange', { + slider: r, + step: r.steps[r.active], + interaction: a, + previousActive: s, + }), + l && + l.method && + a && + (e._nextMethod + ? ((e._nextMethod.step = l), + (e._nextMethod.doCallback = a), + (e._nextMethod.doTransition = o)) + : ((e._nextMethod = { + step: l, + doCallback: a, + doTransition: o, + }), + (e._nextMethodRaf = window.requestAnimationFrame( + function () { + var r = e._nextMethod.step; + r.method && + (r.execute && + i.executeAPICommand(t, r.method, r.args), + (e._nextMethod = null), + (e._nextMethodRaf = null)); + } + )))); + } + function M(t, e, r) { + var i = r.node(), + o = n.select(e); + function s() { + return r.data()[0]; + } + t.on('mousedown', function () { + var t = s(); + e.emit('plotly_sliderstart', { slider: t }); + var l = r.select('.' + f.gripRectClass); + n.event.stopPropagation(), + n.event.preventDefault(), + l.call(a.fill, t.activebgcolor); + var c = C(t, n.mouse(i)[0]); + T(e, r, t, c, !0), + (t._dragging = !0), + o.on('mousemove', function () { + var t = s(), + a = C(t, n.mouse(i)[0]); + T(e, r, t, a, !1); + }), + o.on('mouseup', function () { + var t = s(); + (t._dragging = !1), + l.call(a.fill, t.bgcolor), + o.on('mouseup', null), + o.on('mousemove', null), + e.emit('plotly_sliderend', { + slider: t, + step: t.steps[t.active], + }); + }); + }); + } + function A(t, e) { + var r = t + .selectAll('rect.' + f.tickRectClass) + .data(e._visibleSteps), + i = e._dims; + r.enter().append('rect').classed(f.tickRectClass, !0), + r.exit().remove(), + r.attr({ + width: e.tickwidth + 'px', + 'shape-rendering': 'crispEdges', + }), + r.each(function (t, r) { + var s = r % i.labelStride == 0, + l = n.select(this); + l + .attr({ height: s ? e.ticklen : e.minorticklen }) + .call(a.fill, e.tickcolor), + o.setTranslate( + l, + E(e, r / (e._stepCount - 1)) - 0.5 * e.tickwidth, + (s ? f.tickOffset : f.minorTickOffset) + + i.currentValueTotalHeight + ); + }); + } + function S(t, e, r) { + for ( + var n = t.select('rect.' + f.gripRectClass), i = 0, a = 0; + a < e._stepCount; + a++ + ) + if (e._visibleSteps[a]._index === e.active) { + i = a; + break; + } + var o = E(e, i / (e._stepCount - 1)); + if (!e._invokingCommand) { + var s = n; + r && + e.transition.duration > 0 && + (s = s + .transition() + .duration(e.transition.duration) + .ease(e.transition.easing)), + s.attr( + 'transform', + l(o - 0.5 * f.gripWidth, e._dims.currentValueTotalHeight) + ); + } + } + function E(t, e) { + var r = t._dims; + return ( + r.inputAreaStart + + f.stepInset + + (r.inputAreaLength - 2 * f.stepInset) * + Math.min(1, Math.max(0, e)) + ); + } + function C(t, e) { + var r = t._dims; + return Math.min( + 1, + Math.max( + 0, + (e - f.stepInset - r.inputAreaStart) / + (r.inputAreaLength - 2 * f.stepInset - 2 * r.inputAreaStart) + ) + ); + } + function L(t, e, r) { + var n = r._dims, + i = s.ensureSingle(t, 'rect', f.railTouchRectClass, function (n) { + n.call(M, e, t, r).style('pointer-events', 'all'); + }); + i + .attr({ + width: n.inputAreaLength, + height: Math.max( + n.inputAreaWidth, + f.tickOffset + r.ticklen + n.labelHeight + ), + }) + .call(a.fill, r.bgcolor) + .attr('opacity', 0), + o.setTranslate(i, 0, n.currentValueTotalHeight); + } + function I(t, e) { + var r = e._dims, + n = r.inputAreaLength - 2 * f.railInset, + i = s.ensureSingle(t, 'rect', f.railRectClass); + i + .attr({ + width: n, + height: f.railWidth, + rx: f.railRadius, + ry: f.railRadius, + 'shape-rendering': 'crispEdges', + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style('stroke-width', e.borderwidth + 'px'), + o.setTranslate( + i, + f.railInset, + 0.5 * (r.inputAreaWidth - f.railWidth) + + r.currentValueTotalHeight + ); + } + e.exports = function (t) { + var e = t._fullLayout, + r = (function (t, e) { + for (var r = t[f.name], n = [], i = 0; i < r.length; i++) { + var a = r[i]; + a.visible && ((a._gd = e), n.push(a)); + } + return n; + })(e, t), + a = e._infolayer + .selectAll('g.' + f.containerClassName) + .data(r.length > 0 ? [0] : []); + function s(e) { + e._commandObserver && + (e._commandObserver.remove(), delete e._commandObserver), + i.autoMargin(t, m(e)); + } + if ( + (a + .enter() + .append('g') + .classed(f.containerClassName, !0) + .style('cursor', 'ew-resize'), + a + .exit() + .each(function () { + n.select(this) + .selectAll('g.' + f.groupClassName) + .each(s); + }) + .remove(), + 0 !== r.length) + ) { + var l = a.selectAll('g.' + f.groupClassName).data(r, v); + l.enter().append('g').classed(f.groupClassName, !0), + l.exit().each(s).remove(); + for (var c = 0; c < r.length; c++) { + var u = r[c]; + y(t, u); + } + l.each(function (e) { + var r = n.select(this); + !(function (t) { + var e = t._dims; + e.labelSteps = []; + for (var r = t._stepCount, n = 0; n < r; n += e.labelStride) + e.labelSteps.push({ + fraction: n / (r - 1), + step: t._visibleSteps[n], + }); + })(e), + i.manageCommandObserver(t, e, e._visibleSteps, function (e) { + var n = r.data()[0]; + n.active !== e.index && + (n._dragging || k(t, r, n, e.index, !1, !0)); + }), + (function (t, e, r) { + (r.steps[r.active] || {}).visible || + (r.active = r._visibleSteps[0]._index); + e.call(x, r) + .call(I, r) + .call(w, r) + .call(A, r) + .call(L, t, r) + .call(b, t, r); + var n = r._dims; + o.setTranslate(e, n.lx + r.pad.l, n.ly + r.pad.t), + e.call(S, r, !1), + e.call(x, r); + })(t, n.select(this), e); + }); + } + }; + }, + { + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plot_api/plot_template': 817, + '../../plots/plots': 891, + '../color': 643, + '../drawing': 665, + './constants': 734, + d3: 169, + }, + ], + 737: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'); + e.exports = { + moduleType: 'component', + name: n.name, + layoutAttributes: t('./attributes'), + supplyLayoutDefaults: t('./defaults'), + draw: t('./draw'), + }; + }, + { + './attributes': 733, + './constants': 734, + './defaults': 735, + './draw': 736, + }, + ], + 738: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../../plots/plots'), + o = t('../../registry'), + s = t('../../lib'), + l = s.strTranslate, + c = t('../drawing'), + u = t('../color'), + f = t('../../lib/svg_text_utils'), + h = t('../../constants/interactions'), + p = t('../../constants/alignment').OPPOSITE_SIDE, + d = / [XY][0-9]* /; + e.exports = { + draw: function (t, e, r) { + var g, + m = r.propContainer, + v = r.propName, + y = r.placeholder, + x = r.traceIndex, + b = r.avoid || {}, + _ = r.attributes, + w = r.transform, + T = r.containerGroup, + k = t._fullLayout, + M = 1, + A = !1, + S = m.title, + E = (S && S.text ? S.text : '').trim(), + C = S && S.font ? S.font : {}, + L = C.family, + I = C.size, + P = C.color; + 'title.text' === v + ? (g = 'titleText') + : -1 !== v.indexOf('axis') + ? (g = 'axisTitleText') + : v.indexOf(!0) && (g = 'colorbarTitleText'); + var z = t._context.edits[g]; + '' === E + ? (M = 0) + : E.replace(d, ' % ') === y.replace(d, ' % ') && + ((M = 0.2), (A = !0), z || (E = '')), + r._meta + ? (E = s.templateString(E, r._meta)) + : k._meta && (E = s.templateString(E, k._meta)); + var O = E || z; + T || (T = s.ensureSingle(k._infolayer, 'g', 'g-' + e)); + var D = T.selectAll('text').data(O ? [0] : []); + if ( + (D.enter().append('text'), + D.text(E).attr('class', e), + D.exit().remove(), + !O) + ) + return T; + function R(t) { + s.syncOrAsync([F, B], t); + } + function F(e) { + var r; + return ( + w + ? ((r = ''), + w.rotate && (r += 'rotate(' + [w.rotate, _.x, _.y] + ')'), + w.offset && (r += l(0, w.offset))) + : (r = null), + e.attr('transform', r), + e + .style({ + 'font-family': L, + 'font-size': n.round(I, 2) + 'px', + fill: u.rgb(P), + opacity: M * u.opacity(P), + 'font-weight': a.fontWeight, + }) + .attr(_) + .call(f.convertToTspans, t), + a.previousPromises(t) + ); + } + function B(t) { + var e = n.select(t.node().parentNode); + if (b && b.selection && b.side && E) { + e.attr('transform', null); + var r = p[b.side], + a = 'left' === b.side || 'top' === b.side ? -1 : 1, + o = i(b.pad) ? b.pad : 2, + u = c.bBox(e.node()), + f = { left: 0, top: 0, right: k.width, bottom: k.height }, + h = b.maxShift || a * (f[b.side] - u[b.side]), + d = 0; + if (h < 0) d = h; + else { + var g = b.offsetLeft || 0, + m = b.offsetTop || 0; + (u.left -= g), + (u.right -= g), + (u.top -= m), + (u.bottom -= m), + b.selection.each(function () { + var t = c.bBox(this); + s.bBoxIntersect(u, t, o) && + (d = Math.max(d, a * (t[b.side] - u[r]) + o)); + }), + (d = Math.min(h, d)); + } + if (d > 0 || h < 0) { + var v = { + left: [-d, 0], + right: [d, 0], + top: [0, -d], + bottom: [0, d], + }[b.side]; + e.attr('transform', l(v[0], v[1])); + } + } + } + return ( + D.call(R), + z && + (E + ? D.on('.opacity', null) + : ((M = 0), + (A = !0), + D.text(y) + .on('mouseover.opacity', function () { + n.select(this) + .transition() + .duration(h.SHOW_PLACEHOLDER) + .style('opacity', 1); + }) + .on('mouseout.opacity', function () { + n.select(this) + .transition() + .duration(h.HIDE_PLACEHOLDER) + .style('opacity', 0); + })), + D.call(f.makeEditable, { gd: t }) + .on('edit', function (e) { + void 0 !== x + ? o.call('_guiRestyle', t, v, e, x) + : o.call('_guiRelayout', t, v, e); + }) + .on('cancel', function () { + this.text(this.attr('data-unformatted')).call(R); + }) + .on('input', function (t) { + this.text(t || ' ').call(f.positionText, _.x, _.y); + })), + D.classed('js-placeholder', A), + T + ); + }, + }; + }, + { + '../../constants/alignment': 745, + '../../constants/interactions': 752, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/plots': 891, + '../../registry': 911, + '../color': 643, + '../drawing': 665, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 739: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../color/attributes'), + a = t('../../lib/extend').extendFlat, + o = t('../../plot_api/edit_types').overrideAll, + s = t('../../plots/pad_attributes'), + l = t('../../plot_api/plot_template').templatedArray, + c = l('button', { + visible: { valType: 'boolean' }, + method: { + valType: 'enumerated', + values: ['restyle', 'relayout', 'animate', 'update', 'skip'], + dflt: 'restyle', + }, + args: { + valType: 'info_array', + freeLength: !0, + items: [ + { valType: 'any' }, + { valType: 'any' }, + { valType: 'any' }, + ], + }, + args2: { + valType: 'info_array', + freeLength: !0, + items: [ + { valType: 'any' }, + { valType: 'any' }, + { valType: 'any' }, + ], + }, + label: { valType: 'string', dflt: '' }, + execute: { valType: 'boolean', dflt: !0 }, + }); + e.exports = o( + l('updatemenu', { + _arrayAttrRegexps: [/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/], + visible: { valType: 'boolean' }, + type: { + valType: 'enumerated', + values: ['dropdown', 'buttons'], + dflt: 'dropdown', + }, + direction: { + valType: 'enumerated', + values: ['left', 'right', 'up', 'down'], + dflt: 'down', + }, + active: { valType: 'integer', min: -1, dflt: 0 }, + showactive: { valType: 'boolean', dflt: !0 }, + buttons: c, + x: { valType: 'number', min: -2, max: 3, dflt: -0.05 }, + xanchor: { + valType: 'enumerated', + values: ['auto', 'left', 'center', 'right'], + dflt: 'right', + }, + y: { valType: 'number', min: -2, max: 3, dflt: 1 }, + yanchor: { + valType: 'enumerated', + values: ['auto', 'top', 'middle', 'bottom'], + dflt: 'top', + }, + pad: a(s({ editType: 'arraydraw' }), {}), + font: n({}), + bgcolor: { valType: 'color' }, + bordercolor: { valType: 'color', dflt: i.borderLine }, + borderwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'arraydraw', + }, + }), + 'arraydraw', + 'from-root' + ); + }, + { + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../../plots/font_attributes': 856, + '../../plots/pad_attributes': 890, + '../color/attributes': 642, + }, + ], + 740: [ + function (t, e, r) { + 'use strict'; + e.exports = { + name: 'updatemenus', + containerClassName: 'updatemenu-container', + headerGroupClassName: 'updatemenu-header-group', + headerClassName: 'updatemenu-header', + headerArrowClassName: 'updatemenu-header-arrow', + dropdownButtonGroupClassName: 'updatemenu-dropdown-button-group', + dropdownButtonClassName: 'updatemenu-dropdown-button', + buttonClassName: 'updatemenu-button', + itemRectClassName: 'updatemenu-item-rect', + itemTextClassName: 'updatemenu-item-text', + menuIndexAttrName: 'updatemenu-active-index', + autoMarginIdRoot: 'updatemenu-', + blankHeaderOpts: { label: ' ' }, + minWidth: 30, + minHeight: 30, + textPadX: 24, + arrowPadX: 16, + rx: 2, + ry: 2, + textOffsetX: 12, + textOffsetY: 3, + arrowOffsetX: 4, + gapButtonHeader: 5, + gapButton: 2, + activeColor: '#F4FAFF', + hoverColor: '#F4FAFF', + arrowSymbol: { + left: '\u25c4', + right: '\u25ba', + up: '\u25b2', + down: '\u25bc', + }, + }; + }, + {}, + ], + 741: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/array_container_defaults'), + a = t('./attributes'), + o = t('./constants').name, + s = a.buttons; + function l(t, e, r) { + function o(r, i) { + return n.coerce(t, e, a, r, i); + } + o( + 'visible', + i(t, e, { name: 'buttons', handleItemDefaults: c }).length > 0 + ) && + (o('active'), + o('direction'), + o('type'), + o('showactive'), + o('x'), + o('y'), + n.noneOrAll(t, e, ['x', 'y']), + o('xanchor'), + o('yanchor'), + o('pad.t'), + o('pad.r'), + o('pad.b'), + o('pad.l'), + n.coerceFont(o, 'font', r.font), + o('bgcolor', r.paper_bgcolor), + o('bordercolor'), + o('borderwidth')); + } + function c(t, e) { + function r(r, i) { + return n.coerce(t, e, s, r, i); + } + r('visible', 'skip' === t.method || Array.isArray(t.args)) && + (r('method'), r('args'), r('args2'), r('label'), r('execute')); + } + e.exports = function (t, e) { + i(t, e, { name: o, handleItemDefaults: l }); + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + './attributes': 739, + './constants': 740, + }, + ], + 742: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../plots/plots'), + a = t('../color'), + o = t('../drawing'), + s = t('../../lib'), + l = t('../../lib/svg_text_utils'), + c = t('../../plot_api/plot_template').arrayEditor, + u = t('../../constants/alignment').LINE_SPACING, + f = t('./constants'), + h = t('./scrollbox'); + function p(t) { + return t._index; + } + function d(t, e) { + return +t.attr(f.menuIndexAttrName) === e._index; + } + function g(t, e, r, n, i, a, o, s) { + (e.active = o), + c(t.layout, f.name, e).applyUpdate('active', o), + 'buttons' === e.type + ? v(t, n, null, null, e) + : 'dropdown' === e.type && + (i.attr(f.menuIndexAttrName, '-1'), + m(t, n, i, a, e), + s || v(t, n, i, a, e)); + } + function m(t, e, r, n, i) { + var a = s.ensureSingle(e, 'g', f.headerClassName, function (t) { + t.style('pointer-events', 'all'); + }), + l = i._dims, + c = i.active, + u = i.buttons[c] || f.blankHeaderOpts, + h = { y: i.pad.t, yPad: 0, x: i.pad.l, xPad: 0, index: 0 }, + p = { width: l.headerWidth, height: l.headerHeight }; + a.call(y, i, u, t).call(A, i, h, p), + s + .ensureSingle(e, 'text', f.headerArrowClassName, function (t) { + t.attr('text-anchor', 'end') + .call(o.font, i.font) + .text(f.arrowSymbol[i.direction]); + }) + .attr({ + x: l.headerWidth - f.arrowOffsetX + i.pad.l, + y: l.headerHeight / 2 + f.textOffsetY + i.pad.t, + }), + a.on('click', function () { + r.call(S, String(d(r, i) ? -1 : i._index)), v(t, e, r, n, i); + }), + a.on('mouseover', function () { + a.call(w); + }), + a.on('mouseout', function () { + a.call(T, i); + }), + o.setTranslate(e, l.lx, l.ly); + } + function v(t, e, r, a, o) { + r || (r = e).attr('pointer-events', 'all'); + var l = + (function (t) { + return -1 == +t.attr(f.menuIndexAttrName); + })(r) && 'buttons' !== o.type + ? [] + : o.buttons, + c = + 'dropdown' === o.type + ? f.dropdownButtonClassName + : f.buttonClassName, + u = r.selectAll('g.' + c).data(s.filterVisible(l)), + h = u.enter().append('g').classed(c, !0), + p = u.exit(); + 'dropdown' === o.type + ? (h.attr('opacity', '0').transition().attr('opacity', '1'), + p.transition().attr('opacity', '0').remove()) + : p.remove(); + var d = 0, + m = 0, + v = o._dims, + x = -1 !== ['up', 'down'].indexOf(o.direction); + 'dropdown' === o.type && + (x + ? (m = v.headerHeight + f.gapButtonHeader) + : (d = v.headerWidth + f.gapButtonHeader)), + 'dropdown' === o.type && + 'up' === o.direction && + (m = -f.gapButtonHeader + f.gapButton - v.openHeight), + 'dropdown' === o.type && + 'left' === o.direction && + (d = -f.gapButtonHeader + f.gapButton - v.openWidth); + var b = { + x: v.lx + d + o.pad.l, + y: v.ly + m + o.pad.t, + yPad: f.gapButton, + xPad: f.gapButton, + index: 0, + }, + k = { l: b.x + o.borderwidth, t: b.y + o.borderwidth }; + u.each(function (s, l) { + var c = n.select(this); + c.call(y, o, s, t).call(A, o, b), + c.on('click', function () { + n.event.defaultPrevented || + (s.execute && + (s.args2 && o.active === l + ? (g(t, o, 0, e, r, a, -1), + i.executeAPICommand(t, s.method, s.args2)) + : (g(t, o, 0, e, r, a, l), + i.executeAPICommand(t, s.method, s.args))), + t.emit('plotly_buttonclicked', { + menu: o, + button: s, + active: o.active, + })); + }), + c.on('mouseover', function () { + c.call(w); + }), + c.on('mouseout', function () { + c.call(T, o), u.call(_, o); + }); + }), + u.call(_, o), + x + ? ((k.w = Math.max(v.openWidth, v.headerWidth)), + (k.h = b.y - k.t)) + : ((k.w = b.x - k.l), + (k.h = Math.max(v.openHeight, v.headerHeight))), + (k.direction = o.direction), + a && + (u.size() + ? (function (t, e, r, n, i, a) { + var o, + s, + l, + c = i.direction, + u = 'up' === c || 'down' === c, + h = i._dims, + p = i.active; + if (u) + for (s = 0, l = 0; l < p; l++) + s += h.heights[l] + f.gapButton; + else + for (o = 0, l = 0; l < p; l++) + o += h.widths[l] + f.gapButton; + n.enable(a, o, s), + n.hbar && + n.hbar + .attr('opacity', '0') + .transition() + .attr('opacity', '1'); + n.vbar && + n.vbar + .attr('opacity', '0') + .transition() + .attr('opacity', '1'); + })(0, 0, 0, a, o, k) + : (function (t) { + var e = !!t.hbar, + r = !!t.vbar; + e && + t.hbar + .transition() + .attr('opacity', '0') + .each('end', function () { + (e = !1), r || t.disable(); + }); + r && + t.vbar + .transition() + .attr('opacity', '0') + .each('end', function () { + (r = !1), e || t.disable(); + }); + })(a)); + } + function y(t, e, r, n) { + t.call(x, e).call(b, e, r, n); + } + function x(t, e) { + s.ensureSingle(t, 'rect', f.itemRectClassName, function (t) { + t.attr({ rx: f.rx, ry: f.ry, 'shape-rendering': 'crispEdges' }); + }) + .call(a.stroke, e.bordercolor) + .call(a.fill, e.bgcolor) + .style('stroke-width', e.borderwidth + 'px'); + } + function b(t, e, r, n) { + var i = s.ensureSingle( + t, + 'text', + f.itemTextClassName, + function (t) { + t.attr({ 'text-anchor': 'start', 'data-notex': 1 }); + } + ), + a = r.label, + c = n._fullLayout._meta; + c && (a = s.templateString(a, c)), + i.call(o.font, e.font).text(a).call(l.convertToTspans, n); + } + function _(t, e) { + var r = e.active; + t.each(function (t, i) { + var o = n.select(this); + i === r && + e.showactive && + o + .select('rect.' + f.itemRectClassName) + .call(a.fill, f.activeColor); + }); + } + function w(t) { + t.select('rect.' + f.itemRectClassName).call(a.fill, f.hoverColor); + } + function T(t, e) { + t.select('rect.' + f.itemRectClassName).call(a.fill, e.bgcolor); + } + function k(t, e) { + var r = (e._dims = { + width1: 0, + height1: 0, + heights: [], + widths: [], + totalWidth: 0, + totalHeight: 0, + openWidth: 0, + openHeight: 0, + lx: 0, + ly: 0, + }), + a = o.tester + .selectAll('g.' + f.dropdownButtonClassName) + .data(s.filterVisible(e.buttons)); + a.enter().append('g').classed(f.dropdownButtonClassName, !0); + var c = -1 !== ['up', 'down'].indexOf(e.direction); + a.each(function (i, a) { + var s = n.select(this); + s.call(y, e, i, t); + var h = s.select('.' + f.itemTextClassName), + p = h.node() && o.bBox(h.node()).width, + d = Math.max(p + f.textPadX, f.minWidth), + g = e.font.size * u, + m = l.lineCount(h), + v = Math.max(g * m, f.minHeight) + f.textOffsetY; + (v = Math.ceil(v)), + (d = Math.ceil(d)), + (r.widths[a] = d), + (r.heights[a] = v), + (r.height1 = Math.max(r.height1, v)), + (r.width1 = Math.max(r.width1, d)), + c + ? ((r.totalWidth = Math.max(r.totalWidth, d)), + (r.openWidth = r.totalWidth), + (r.totalHeight += v + f.gapButton), + (r.openHeight += v + f.gapButton)) + : ((r.totalWidth += d + f.gapButton), + (r.openWidth += d + f.gapButton), + (r.totalHeight = Math.max(r.totalHeight, v)), + (r.openHeight = r.totalHeight)); + }), + c + ? (r.totalHeight -= f.gapButton) + : (r.totalWidth -= f.gapButton), + (r.headerWidth = r.width1 + f.arrowPadX), + (r.headerHeight = r.height1), + 'dropdown' === e.type && + (c + ? ((r.width1 += f.arrowPadX), (r.totalHeight = r.height1)) + : (r.totalWidth = r.width1), + (r.totalWidth += f.arrowPadX)), + a.remove(); + var h = r.totalWidth + e.pad.l + e.pad.r, + p = r.totalHeight + e.pad.t + e.pad.b, + d = t._fullLayout._size; + (r.lx = d.l + d.w * e.x), (r.ly = d.t + d.h * (1 - e.y)); + var g = 'left'; + s.isRightAnchor(e) && ((r.lx -= h), (g = 'right')), + s.isCenterAnchor(e) && ((r.lx -= h / 2), (g = 'center')); + var m = 'top'; + s.isBottomAnchor(e) && ((r.ly -= p), (m = 'bottom')), + s.isMiddleAnchor(e) && ((r.ly -= p / 2), (m = 'middle')), + (r.totalWidth = Math.ceil(r.totalWidth)), + (r.totalHeight = Math.ceil(r.totalHeight)), + (r.lx = Math.round(r.lx)), + (r.ly = Math.round(r.ly)), + i.autoMargin(t, M(e), { + x: e.x, + y: e.y, + l: h * ({ right: 1, center: 0.5 }[g] || 0), + r: h * ({ left: 1, center: 0.5 }[g] || 0), + b: p * ({ top: 1, middle: 0.5 }[m] || 0), + t: p * ({ bottom: 1, middle: 0.5 }[m] || 0), + }); + } + function M(t) { + return f.autoMarginIdRoot + t._index; + } + function A(t, e, r, n) { + n = n || {}; + var i = t.select('.' + f.itemRectClassName), + a = t.select('.' + f.itemTextClassName), + s = e.borderwidth, + c = r.index, + h = e._dims; + o.setTranslate(t, s + r.x, s + r.y); + var p = -1 !== ['up', 'down'].indexOf(e.direction), + d = n.height || (p ? h.heights[c] : h.height1); + i.attr({ + x: 0, + y: 0, + width: n.width || (p ? h.width1 : h.widths[c]), + height: d, + }); + var g = e.font.size * u, + m = ((l.lineCount(a) - 1) * g) / 2; + l.positionText(a, f.textOffsetX, d / 2 - m + f.textOffsetY), + p + ? (r.y += h.heights[c] + r.yPad) + : (r.x += h.widths[c] + r.xPad), + r.index++; + } + function S(t, e) { + t.attr(f.menuIndexAttrName, e || '-1') + .selectAll('g.' + f.dropdownButtonClassName) + .remove(); + } + e.exports = function (t) { + var e = t._fullLayout, + r = s.filterVisible(e[f.name]); + function a(e) { + i.autoMargin(t, M(e)); + } + var o = e._menulayer + .selectAll('g.' + f.containerClassName) + .data(r.length > 0 ? [0] : []); + if ( + (o + .enter() + .append('g') + .classed(f.containerClassName, !0) + .style('cursor', 'pointer'), + o + .exit() + .each(function () { + n.select(this) + .selectAll('g.' + f.headerGroupClassName) + .each(a); + }) + .remove(), + 0 !== r.length) + ) { + var l = o.selectAll('g.' + f.headerGroupClassName).data(r, p); + l.enter().append('g').classed(f.headerGroupClassName, !0); + for ( + var c = s.ensureSingle( + o, + 'g', + f.dropdownButtonGroupClassName, + function (t) { + t.style('pointer-events', 'all'); + } + ), + u = 0; + u < r.length; + u++ + ) { + var y = r[u]; + k(t, y); + } + var x = 'updatemenus' + e._uid, + b = new h(t, c, x); + l.enter().size() && + (c.node().parentNode.appendChild(c.node()), c.call(S)), + l + .exit() + .each(function (t) { + c.call(S), a(t); + }) + .remove(), + l.each(function (e) { + var r = n.select(this), + a = 'dropdown' === e.type ? c : null; + i.manageCommandObserver(t, e, e.buttons, function (n) { + g(t, e, e.buttons[n.index], r, a, b, n.index, !0); + }), + 'dropdown' === e.type + ? (m(t, r, c, b, e), d(c, e) && v(t, r, c, b, e)) + : v(t, r, null, null, e); + }); + } + }; + }, + { + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plot_api/plot_template': 817, + '../../plots/plots': 891, + '../color': 643, + '../drawing': 665, + './constants': 740, + './scrollbox': 744, + d3: 169, + }, + ], + 743: [ + function (t, e, r) { + arguments[4][737][0].apply(r, arguments); + }, + { + './attributes': 739, + './constants': 740, + './defaults': 741, + './draw': 742, + dup: 737, + }, + ], + 744: [ + function (t, e, r) { + 'use strict'; + e.exports = s; + var n = t('d3'), + i = t('../color'), + a = t('../drawing'), + o = t('../../lib'); + function s(t, e, r) { + (this.gd = t), + (this.container = e), + (this.id = r), + (this.position = null), + (this.translateX = null), + (this.translateY = null), + (this.hbar = null), + (this.vbar = null), + (this.bg = this.container + .selectAll('rect.scrollbox-bg') + .data([0])), + this.bg.exit().on('.drag', null).on('wheel', null).remove(), + this.bg + .enter() + .append('rect') + .classed('scrollbox-bg', !0) + .style('pointer-events', 'all') + .attr({ opacity: 0, x: 0, y: 0, width: 0, height: 0 }); + } + (s.barWidth = 2), + (s.barLength = 20), + (s.barRadius = 2), + (s.barPad = 1), + (s.barColor = '#808BA4'), + (s.prototype.enable = function (t, e, r) { + var o = this.gd._fullLayout, + l = o.width, + c = o.height; + this.position = t; + var u, + f, + h, + p, + d = this.position.l, + g = this.position.w, + m = this.position.t, + v = this.position.h, + y = this.position.direction, + x = 'down' === y, + b = 'left' === y, + _ = 'up' === y, + w = g, + T = v; + x || + b || + 'right' === y || + _ || + ((this.position.direction = 'down'), (x = !0)), + x || _ + ? ((f = (u = d) + w), + x + ? ((h = m), (T = (p = Math.min(h + T, c)) - h)) + : (T = (p = m + T) - (h = Math.max(p - T, 0)))) + : ((p = (h = m) + T), + b + ? (w = (f = d + w) - (u = Math.max(f - w, 0))) + : ((u = d), (w = (f = Math.min(u + w, l)) - u))), + (this._box = { l: u, t: h, w: w, h: T }); + var k = g > w, + M = s.barLength + 2 * s.barPad, + A = s.barWidth + 2 * s.barPad, + S = d, + E = m + v; + E + A > c && (E = c - A); + var C = this.container + .selectAll('rect.scrollbar-horizontal') + .data(k ? [0] : []); + C.exit().on('.drag', null).remove(), + C.enter() + .append('rect') + .classed('scrollbar-horizontal', !0) + .call(i.fill, s.barColor), + k + ? ((this.hbar = C.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: S, + y: E, + width: M, + height: A, + })), + (this._hbarXMin = S + M / 2), + (this._hbarTranslateMax = w - M)) + : (delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax); + var L = v > T, + I = s.barWidth + 2 * s.barPad, + P = s.barLength + 2 * s.barPad, + z = d + g, + O = m; + z + I > l && (z = l - I); + var D = this.container + .selectAll('rect.scrollbar-vertical') + .data(L ? [0] : []); + D.exit().on('.drag', null).remove(), + D.enter() + .append('rect') + .classed('scrollbar-vertical', !0) + .call(i.fill, s.barColor), + L + ? ((this.vbar = D.attr({ + rx: s.barRadius, + ry: s.barRadius, + x: z, + y: O, + width: I, + height: P, + })), + (this._vbarYMin = O + P / 2), + (this._vbarTranslateMax = T - P)) + : (delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax); + var R = this.id, + F = u - 0.5, + B = L ? f + I + 0.5 : f + 0.5, + N = h - 0.5, + j = k ? p + A + 0.5 : p + 0.5, + U = o._topdefs.selectAll('#' + R).data(k || L ? [0] : []); + if ( + (U.exit().remove(), + U.enter().append('clipPath').attr('id', R).append('rect'), + k || L + ? ((this._clipRect = U.select('rect').attr({ + x: Math.floor(F), + y: Math.floor(N), + width: Math.ceil(B) - Math.floor(F), + height: Math.ceil(j) - Math.floor(N), + })), + this.container.call(a.setClipUrl, R, this.gd), + this.bg.attr({ x: d, y: m, width: g, height: v })) + : (this.bg.attr({ width: 0, height: 0 }), + this.container + .on('wheel', null) + .on('.drag', null) + .call(a.setClipUrl, null), + delete this._clipRect), + k || L) + ) { + var V = n.behavior + .drag() + .on('dragstart', function () { + n.event.sourceEvent.preventDefault(); + }) + .on('drag', this._onBoxDrag.bind(this)); + this.container + .on('wheel', null) + .on('wheel', this._onBoxWheel.bind(this)) + .on('.drag', null) + .call(V); + var q = n.behavior + .drag() + .on('dragstart', function () { + n.event.sourceEvent.preventDefault(), + n.event.sourceEvent.stopPropagation(); + }) + .on('drag', this._onBarDrag.bind(this)); + k && this.hbar.on('.drag', null).call(q), + L && this.vbar.on('.drag', null).call(q); + } + this.setTranslate(e, r); + }), + (s.prototype.disable = function () { + (this.hbar || this.vbar) && + (this.bg.attr({ width: 0, height: 0 }), + this.container + .on('wheel', null) + .on('.drag', null) + .call(a.setClipUrl, null), + delete this._clipRect), + this.hbar && + (this.hbar.on('.drag', null), + this.hbar.remove(), + delete this.hbar, + delete this._hbarXMin, + delete this._hbarTranslateMax), + this.vbar && + (this.vbar.on('.drag', null), + this.vbar.remove(), + delete this.vbar, + delete this._vbarYMin, + delete this._vbarTranslateMax); + }), + (s.prototype._onBoxDrag = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t -= n.event.dx), + this.vbar && (e -= n.event.dy), + this.setTranslate(t, e); + }), + (s.prototype._onBoxWheel = function () { + var t = this.translateX, + e = this.translateY; + this.hbar && (t += n.event.deltaY), + this.vbar && (e += n.event.deltaY), + this.setTranslate(t, e); + }), + (s.prototype._onBarDrag = function () { + var t = this.translateX, + e = this.translateY; + if (this.hbar) { + var r = t + this._hbarXMin, + i = r + this._hbarTranslateMax; + t = + ((o.constrain(n.event.x, r, i) - r) / (i - r)) * + (this.position.w - this._box.w); + } + if (this.vbar) { + var a = e + this._vbarYMin, + s = a + this._vbarTranslateMax; + e = + ((o.constrain(n.event.y, a, s) - a) / (s - a)) * + (this.position.h - this._box.h); + } + this.setTranslate(t, e); + }), + (s.prototype.setTranslate = function (t, e) { + var r = this.position.w - this._box.w, + n = this.position.h - this._box.h; + if ( + ((t = o.constrain(t || 0, 0, r)), + (e = o.constrain(e || 0, 0, n)), + (this.translateX = t), + (this.translateY = e), + this.container.call( + a.setTranslate, + this._box.l - this.position.l - t, + this._box.t - this.position.t - e + ), + this._clipRect && + this._clipRect.attr({ + x: Math.floor(this.position.l + t - 0.5), + y: Math.floor(this.position.t + e - 0.5), + }), + this.hbar) + ) { + var i = t / r; + this.hbar.call( + a.setTranslate, + t + i * this._hbarTranslateMax, + e + ); + } + if (this.vbar) { + var s = e / n; + this.vbar.call( + a.setTranslate, + t, + e + s * this._vbarTranslateMax + ); + } + }); + }, + { '../../lib': 778, '../color': 643, '../drawing': 665, d3: 169 }, + ], + 745: [ + function (t, e, r) { + 'use strict'; + e.exports = { + FROM_BL: { + left: 0, + center: 0.5, + right: 1, + bottom: 0, + middle: 0.5, + top: 1, + }, + FROM_TL: { + left: 0, + center: 0.5, + right: 1, + bottom: 1, + middle: 0.5, + top: 0, + }, + FROM_BR: { + left: 1, + center: 0.5, + right: 0, + bottom: 0, + middle: 0.5, + top: 1, + }, + LINE_SPACING: 1.3, + CAP_SHIFT: 0.7, + MID_SHIFT: 0.35, + OPPOSITE_SIDE: { + left: 'right', + right: 'left', + top: 'bottom', + bottom: 'top', + }, + }; + }, + {}, + ], + 746: [ + function (t, e, r) { + 'use strict'; + e.exports = { + axisRefDescription: function (t, e, r) { + return [ + 'If set to a', + t, + 'axis id (e.g. *' + t + '* or', + '*' + t + '2*), the `' + t + '` position refers to a', + t, + 'coordinate. If set to *paper*, the `' + t + '`', + 'position refers to the distance from the', + e, + 'of the plotting', + 'area in normalized coordinates where *0* (*1*) corresponds to the', + e, + '(' + r + '). If set to a', + t, + 'axis ID followed by', + '*domain* (separated by a space), the position behaves like for', + '*paper*, but refers to the distance in fractions of the domain', + 'length from the', + e, + 'of the domain of that axis: e.g.,', + '*' + t + '2 domain* refers to the domain of the second', + t, + ' axis and a', + t, + 'position of 0.5 refers to the', + 'point between the', + e, + 'and the', + r, + 'of the domain of the', + 'second', + t, + 'axis.', + ].join(' '); + }, + }; + }, + {}, + ], + 747: [ + function (t, e, r) { + 'use strict'; + e.exports = { + INCREASING: { COLOR: '#3D9970', SYMBOL: '\u25b2' }, + DECREASING: { COLOR: '#FF4136', SYMBOL: '\u25bc' }, + }; + }, + {}, + ], + 748: [ + function (t, e, r) { + 'use strict'; + e.exports = { + FORMAT_LINK: + 'https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format', + DATE_FORMAT_LINK: + 'https://github.com/d3/d3-time-format#locale_format', + }; + }, + {}, + ], + 749: [ + function (t, e, r) { + 'use strict'; + e.exports = { + COMPARISON_OPS: ['=', '!=', '<', '>=', '>', '<='], + COMPARISON_OPS2: ['=', '<', '>=', '>', '<='], + INTERVAL_OPS: ['[]', '()', '[)', '(]', '][', ')(', '](', ')['], + SET_OPS: ['{}', '}{'], + CONSTRAINT_REDUCTION: { + '=': '=', + '<': '<', + '<=': '<', + '>': '>', + '>=': '>', + '[]': '[]', + '()': '[]', + '[)': '[]', + '(]': '[]', + '][': '][', + ')(': '][', + '](': '][', + ')[': '][', + }, + }; + }, + {}, + ], + 750: [ + function (t, e, r) { + 'use strict'; + e.exports = { + solid: [[], 0], + dot: [[0.5, 1], 200], + dash: [[0.5, 1], 50], + longdash: [[0.5, 1], 10], + dashdot: [[0.5, 0.625, 0.875, 1], 50], + longdashdot: [[0.5, 0.7, 0.8, 1], 10], + }; + }, + {}, + ], + 751: [ + function (t, e, r) { + 'use strict'; + e.exports = { + circle: '\u25cf', + 'circle-open': '\u25cb', + square: '\u25a0', + 'square-open': '\u25a1', + diamond: '\u25c6', + 'diamond-open': '\u25c7', + cross: '+', + x: '\u274c', + }; + }, + {}, + ], + 752: [ + function (t, e, r) { + 'use strict'; + e.exports = { + SHOW_PLACEHOLDER: 100, + HIDE_PLACEHOLDER: 1e3, + DESELECTDIM: 0.2, + }; + }, + {}, + ], + 753: [ + function (t, e, r) { + 'use strict'; + e.exports = { + BADNUM: void 0, + FP_SAFE: Number.MAX_VALUE / 1e4, + ONEMAXYEAR: 316224e5, + ONEAVGYEAR: 315576e5, + ONEMINYEAR: 31536e6, + ONEMAXQUARTER: 79488e5, + ONEAVGQUARTER: 78894e5, + ONEMINQUARTER: 76896e5, + ONEMAXMONTH: 26784e5, + ONEAVGMONTH: 26298e5, + ONEMINMONTH: 24192e5, + ONEWEEK: 6048e5, + ONEDAY: 864e5, + ONEHOUR: 36e5, + ONEMIN: 6e4, + ONESEC: 1e3, + EPOCHJD: 2440587.5, + ALMOST_EQUAL: 0.999999, + LOG_CLIP: 10, + MINUS_SIGN: '\u2212', + }; + }, + {}, + ], + 754: [ + function (t, e, r) { + 'use strict'; + (r.xmlns = 'http://www.w3.org/2000/xmlns/'), + (r.svg = 'http://www.w3.org/2000/svg'), + (r.xlink = 'http://www.w3.org/1999/xlink'), + (r.svgAttrs = { xmlns: r.svg, 'xmlns:xlink': r.xlink }); + }, + {}, + ], + 755: [ + function (t, e, r) { + 'use strict'; + (r.version = t('./version').version), + t('es6-promise').polyfill(), + t('../build/plotcss'), + t('./fonts/mathjax_config')(); + for ( + var n = t('./registry'), + i = (r.register = n.register), + a = t('./plot_api'), + o = Object.keys(a), + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + '_' !== l.charAt(0) && (r[l] = a[l]), + i({ moduleType: 'apiMethod', name: l, fn: a[l] }); + } + i(t('./traces/scatter')), + i([ + t('./components/legend'), + t('./components/fx'), + t('./components/annotations'), + t('./components/annotations3d'), + t('./components/shapes'), + t('./components/images'), + t('./components/updatemenus'), + t('./components/sliders'), + t('./components/rangeslider'), + t('./components/rangeselector'), + t('./components/grid'), + t('./components/errorbars'), + t('./components/colorscale'), + t('./components/colorbar'), + ]), + i([t('./locale-en'), t('./locale-en-us')]), + window.PlotlyLocales && + Array.isArray(window.PlotlyLocales) && + (i(window.PlotlyLocales), delete window.PlotlyLocales), + (r.Icons = t('./fonts/ploticon')), + (r.Plots = t('./plots/plots')), + (r.Fx = t('./components/fx')), + (r.Snapshot = t('./snapshot')), + (r.PlotSchema = t('./plot_api/plot_schema')), + (r.Queue = t('./lib/queue')), + (r.d3 = t('d3')); + }, + { + '../build/plotcss': 1, + './components/annotations': 634, + './components/annotations3d': 639, + './components/colorbar': 649, + './components/colorscale': 655, + './components/errorbars': 671, + './components/fx': 683, + './components/grid': 687, + './components/images': 692, + './components/legend': 700, + './components/rangeselector': 711, + './components/rangeslider': 718, + './components/shapes': 732, + './components/sliders': 737, + './components/updatemenus': 743, + './fonts/mathjax_config': 756, + './fonts/ploticon': 757, + './lib/queue': 794, + './locale-en': 808, + './locale-en-us': 807, + './plot_api': 812, + './plot_api/plot_schema': 816, + './plots/plots': 891, + './registry': 911, + './snapshot': 916, + './traces/scatter': 1199, + './version': 1370, + d3: 169, + 'es6-promise': 224, + }, + ], + 756: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + 'undefined' != typeof MathJax && + 'local' !== (window.PlotlyConfig || {}).MathJaxConfig && + (MathJax.Hub.Config({ + messageStyle: 'none', + skipStartupTypeset: !0, + displayAlign: 'left', + tex2jax: { + inlineMath: [ + ['$', '$'], + ['\\(', '\\)'], + ], + }, + }), + MathJax.Hub.Configured()); + }; + }, + {}, + ], + 757: [ + function (t, e, r) { + 'use strict'; + e.exports = { + undo: { + width: 857.1, + height: 1e3, + path: 'm857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + home: { + width: 928.6, + height: 1e3, + path: 'm786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + 'camera-retro': { + width: 1e3, + height: 1e3, + path: 'm518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + zoombox: { + width: 1e3, + height: 1e3, + path: 'm1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + pan: { + width: 1e3, + height: 1e3, + path: 'm1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + zoom_plus: { + width: 875, + height: 1e3, + path: 'm1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + zoom_minus: { + width: 875, + height: 1e3, + path: 'm0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + autoscale: { + width: 1e3, + height: 1e3, + path: 'm250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + tooltip_basic: { + width: 1500, + height: 1e3, + path: 'm375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + tooltip_compare: { + width: 1125, + height: 1e3, + path: 'm187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + plotlylogo: { + width: 1542, + height: 1e3, + path: 'm0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + 'z-axis': { + width: 1e3, + height: 1e3, + path: 'm833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + '3d_rotate': { + width: 1e3, + height: 1e3, + path: 'm922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + camera: { + width: 1e3, + height: 1e3, + path: 'm500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + movie: { + width: 1e3, + height: 1e3, + path: 'm938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + question: { + width: 857.1, + height: 1e3, + path: 'm500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + disk: { + width: 857.1, + height: 1e3, + path: 'm214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + drawopenpath: { + width: 70, + height: 70, + path: 'M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z', + transform: 'matrix(1 0 0 1 -15 -15)', + }, + drawclosedpath: { + width: 90, + height: 90, + path: 'M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z', + transform: 'matrix(1 0 0 1 -5 -5)', + }, + lasso: { + width: 1031, + height: 1e3, + path: 'm1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + selectbox: { + width: 1e3, + height: 1e3, + path: 'm0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z', + transform: 'matrix(1 0 0 -1 0 850)', + }, + drawline: { + width: 70, + height: 70, + path: 'M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z', + transform: 'matrix(1 0 0 1 -15 -15)', + }, + drawrect: { + width: 80, + height: 80, + path: 'M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z', + transform: 'matrix(1 0 0 1 -10 -10)', + }, + drawcircle: { + width: 80, + height: 80, + path: 'M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z', + transform: 'matrix(1 0 0 1 -10 -10)', + }, + eraseshape: { + width: 80, + height: 80, + path: 'M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z', + transform: 'matrix(1 0 0 1 -10 -10)', + }, + spikeline: { + width: 1e3, + height: 1e3, + path: 'M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z', + transform: 'matrix(1.5 0 0 -1.5 0 850)', + }, + pencil: { + width: 1792, + height: 1792, + path: 'M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z', + transform: 'matrix(1 0 0 1 0 1)', + }, + newplotlylogo: { + name: 'newplotlylogo', + svg: "plotly-logomark", + }, + }; + }, + {}, + ], + 758: [ + function (t, e, r) { + 'use strict'; + (r.isLeftAnchor = function (t) { + return ( + 'left' === t.xanchor || ('auto' === t.xanchor && t.x <= 1 / 3) + ); + }), + (r.isCenterAnchor = function (t) { + return ( + 'center' === t.xanchor || + ('auto' === t.xanchor && t.x > 1 / 3 && t.x < 2 / 3) + ); + }), + (r.isRightAnchor = function (t) { + return ( + 'right' === t.xanchor || ('auto' === t.xanchor && t.x >= 2 / 3) + ); + }), + (r.isTopAnchor = function (t) { + return ( + 'top' === t.yanchor || ('auto' === t.yanchor && t.y >= 2 / 3) + ); + }), + (r.isMiddleAnchor = function (t) { + return ( + 'middle' === t.yanchor || + ('auto' === t.yanchor && t.y > 1 / 3 && t.y < 2 / 3) + ); + }), + (r.isBottomAnchor = function (t) { + return ( + 'bottom' === t.yanchor || ('auto' === t.yanchor && t.y <= 1 / 3) + ); + }); + }, + {}, + ], + 759: [ + function (t, e, r) { + 'use strict'; + var n = t('./mod'), + i = n.mod, + a = n.modHalf, + o = Math.PI, + s = 2 * o; + function l(t) { + return Math.abs(t[1] - t[0]) > s - 1e-14; + } + function c(t, e) { + return a(e - t, s); + } + function u(t, e) { + if (l(e)) return !0; + var r, n; + e[0] < e[1] ? ((r = e[0]), (n = e[1])) : ((r = e[1]), (n = e[0])), + (r = i(r, s)) > (n = i(n, s)) && (n += s); + var a = i(t, s), + o = a + s; + return (a >= r && a <= n) || (o >= r && o <= n); + } + function f(t, e, r, n, i, a, c) { + (i = i || 0), (a = a || 0); + var u, + f, + h, + p, + d, + g = l([r, n]); + function m(t, e) { + return [t * Math.cos(e) + i, a - t * Math.sin(e)]; + } + g + ? ((u = 0), (f = o), (h = s)) + : r < n + ? ((u = r), (h = n)) + : ((u = n), (h = r)), + t < e ? ((p = t), (d = e)) : ((p = e), (d = t)); + var v, + y = Math.abs(h - u) <= o ? 0 : 1; + function x(t, e, r) { + return 'A' + [t, t] + ' ' + [0, y, r] + ' ' + m(t, e); + } + return ( + g + ? (v = + null === p + ? 'M' + m(d, u) + x(d, f, 0) + x(d, h, 0) + 'Z' + : 'M' + + m(p, u) + + x(p, f, 0) + + x(p, h, 0) + + 'ZM' + + m(d, u) + + x(d, f, 1) + + x(d, h, 1) + + 'Z') + : null === p + ? ((v = 'M' + m(d, u) + x(d, h, 0)), c && (v += 'L0,0Z')) + : (v = + 'M' + + m(p, u) + + 'L' + + m(d, u) + + x(d, h, 0) + + 'L' + + m(p, h) + + x(p, u, 1) + + 'Z'), + v + ); + } + e.exports = { + deg2rad: function (t) { + return (t / 180) * o; + }, + rad2deg: function (t) { + return (t / o) * 180; + }, + angleDelta: c, + angleDist: function (t, e) { + return Math.abs(c(t, e)); + }, + isFullCircle: l, + isAngleInsideSector: u, + isPtInsideSector: function (t, e, r, n) { + return ( + !!u(e, n) && + (r[0] < r[1] + ? ((i = r[0]), (a = r[1])) + : ((i = r[1]), (a = r[0])), + t >= i && t <= a) + ); + var i, a; + }, + pathArc: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 0); + }, + pathSector: function (t, e, r, n, i) { + return f(null, t, e, r, n, i, 1); + }, + pathAnnulus: function (t, e, r, n, i, a) { + return f(t, e, r, n, i, a, 1); + }, + }; + }, + { './mod': 785 }, + ], + 760: [ + function (t, e, r) { + 'use strict'; + var n = Array.isArray, + i = + 'undefined' != typeof ArrayBuffer && ArrayBuffer.isView + ? ArrayBuffer + : { + isView: function () { + return !1; + }, + }, + a = 'undefined' == typeof DataView ? function () {} : DataView; + function o(t) { + return i.isView(t) && !(t instanceof a); + } + function s(t) { + return n(t) || o(t); + } + function l(t, e, r) { + if (s(t)) { + if (s(t[0])) { + for (var n = r, i = 0; i < t.length; i++) n = e(n, t[i].length); + return n; + } + return t.length; + } + return 0; + } + (r.isTypedArray = o), + (r.isArrayOrTypedArray = s), + (r.isArray1D = function (t) { + return !s(t[0]); + }), + (r.ensureArray = function (t, e) { + return n(t) || (t = []), (t.length = e), t; + }), + (r.concat = function () { + var t, + e, + r, + i, + a, + o, + s, + l, + c = [], + u = !0, + f = 0; + for (r = 0; r < arguments.length; r++) + (o = (i = arguments[r]).length) && + (e ? c.push(i) : ((e = i), (a = o)), + n(i) + ? (t = !1) + : ((u = !1), + f + ? t !== i.constructor && (t = !1) + : (t = i.constructor)), + (f += o)); + if (!f) return []; + if (!c.length) return e; + if (u) return e.concat.apply(e, c); + if (t) { + for ((s = new t(f)).set(e), r = 0; r < c.length; r++) + (i = c[r]), s.set(i, a), (a += i.length); + return s; + } + for (s = new Array(f), l = 0; l < e.length; l++) s[l] = e[l]; + for (r = 0; r < c.length; r++) { + for (i = c[r], l = 0; l < i.length; l++) s[a + l] = i[l]; + a += l; + } + return s; + }), + (r.maxRowLength = function (t) { + return l(t, Math.max, 0); + }), + (r.minRowLength = function (t) { + return l(t, Math.min, 1 / 0); + }); + }, + {}, + ], + 761: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../constants/numerical').BADNUM, + a = /^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g; + e.exports = function (t) { + return ( + 'string' == typeof t && (t = t.replace(a, '')), + n(t) ? Number(t) : i + ); + }; + }, + { '../constants/numerical': 753, 'fast-isnumeric': 241 }, + ], + 762: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t._fullLayout; + e._glcanvas && + e._glcanvas.size() && + e._glcanvas.each(function (t) { + t.regl && t.regl.clear({ color: !0, depth: !0 }); + }); + }; + }, + {}, + ], + 763: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + t._responsiveChartHandler && + (window.removeEventListener('resize', t._responsiveChartHandler), + delete t._responsiveChartHandler); + }; + }, + {}, + ], + 764: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('tinycolor2'), + a = t('../plots/attributes'), + o = t('../components/colorscale/scales'), + s = t('../constants/interactions').DESELECTDIM, + l = t('./nested_property'), + c = t('./regex').counter, + u = t('./mod').modHalf, + f = t('./array').isArrayOrTypedArray; + function h(t, e) { + var n = r.valObjectMeta[e.valType]; + if (e.arrayOk && f(t)) return !0; + if (n.validateFunction) return n.validateFunction(t, e); + var i = {}, + a = i, + o = { + set: function (t) { + a = t; + }, + }; + return n.coerceFunction(t, o, i, e), a !== i; + } + (r.valObjectMeta = { + data_array: { + coerceFunction: function (t, e, r) { + f(t) ? e.set(t) : void 0 !== r && e.set(r); + }, + }, + enumerated: { + coerceFunction: function (t, e, r, n) { + n.coerceNumber && (t = +t), + -1 === n.values.indexOf(t) ? e.set(r) : e.set(t); + }, + validateFunction: function (t, e) { + e.coerceNumber && (t = +t); + for (var r = e.values, n = 0; n < r.length; n++) { + var i = String(r[n]); + if ('/' === i.charAt(0) && '/' === i.charAt(i.length - 1)) { + if (new RegExp(i.substr(1, i.length - 2)).test(t)) + return !0; + } else if (t === r[n]) return !0; + } + return !1; + }, + }, + boolean: { + coerceFunction: function (t, e, r) { + !0 === t || !1 === t ? e.set(t) : e.set(r); + }, + }, + number: { + coerceFunction: function (t, e, r, i) { + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + integer: { + coerceFunction: function (t, e, r, i) { + t % 1 || + !n(t) || + (void 0 !== i.min && t < i.min) || + (void 0 !== i.max && t > i.max) + ? e.set(r) + : e.set(+t); + }, + }, + string: { + coerceFunction: function (t, e, r, n) { + if ('string' != typeof t) { + var i = 'number' == typeof t; + !0 !== n.strict && i ? e.set(String(t)) : e.set(r); + } else n.noBlank && !t ? e.set(r) : e.set(t); + }, + }, + color: { + coerceFunction: function (t, e, r) { + i(t).isValid() ? e.set(t) : e.set(r); + }, + }, + colorlist: { + coerceFunction: function (t, e, r) { + Array.isArray(t) && + t.length && + t.every(function (t) { + return i(t).isValid(); + }) + ? e.set(t) + : e.set(r); + }, + }, + colorscale: { + coerceFunction: function (t, e, r) { + e.set(o.get(t, r)); + }, + }, + angle: { + coerceFunction: function (t, e, r) { + 'auto' === t + ? e.set('auto') + : n(t) + ? e.set(u(+t, 360)) + : e.set(r); + }, + }, + subplotid: { + coerceFunction: function (t, e, r, n) { + var i = n.regex || c(r); + 'string' == typeof t && i.test(t) ? e.set(t) : e.set(r); + }, + validateFunction: function (t, e) { + var r = e.dflt; + return t === r || ('string' == typeof t && !!c(r).test(t)); + }, + }, + flaglist: { + coerceFunction: function (t, e, r, n) { + if ('string' == typeof t) + if (-1 === (n.extras || []).indexOf(t)) { + for (var i = t.split('+'), a = 0; a < i.length; ) { + var o = i[a]; + -1 === n.flags.indexOf(o) || i.indexOf(o) < a + ? i.splice(a, 1) + : a++; + } + i.length ? e.set(i.join('+')) : e.set(r); + } else e.set(t); + else e.set(r); + }, + }, + any: { + coerceFunction: function (t, e, r) { + void 0 === t ? e.set(r) : e.set(t); + }, + }, + info_array: { + coerceFunction: function (t, e, n, i) { + function a(t, e, n) { + var i, + a = { + set: function (t) { + i = t; + }, + }; + return ( + void 0 === n && (n = e.dflt), + r.valObjectMeta[e.valType].coerceFunction(t, a, n, e), + i + ); + } + var o = + 2 === i.dimensions || + ('1-2' === i.dimensions && + Array.isArray(t) && + Array.isArray(t[0])); + if (Array.isArray(t)) { + var s, + l, + c, + u, + f, + h, + p = i.items, + d = [], + g = Array.isArray(p), + m = g && o && Array.isArray(p[0]), + v = o && g && !m, + y = g && !v ? p.length : t.length; + if (((n = Array.isArray(n) ? n : []), o)) + for (s = 0; s < y; s++) + for ( + d[s] = [], + c = Array.isArray(t[s]) ? t[s] : [], + f = v ? p.length : g ? p[s].length : c.length, + l = 0; + l < f; + l++ + ) + (u = v ? p[l] : g ? p[s][l] : p), + void 0 !== (h = a(c[l], u, (n[s] || [])[l])) && + (d[s][l] = h); + else + for (s = 0; s < y; s++) + void 0 !== (h = a(t[s], g ? p[s] : p, n[s])) && + (d[s] = h); + e.set(d); + } else e.set(n); + }, + validateFunction: function (t, e) { + if (!Array.isArray(t)) return !1; + var r = e.items, + n = Array.isArray(r), + i = 2 === e.dimensions; + if (!e.freeLength && t.length !== r.length) return !1; + for (var a = 0; a < t.length; a++) + if (i) { + if ( + !Array.isArray(t[a]) || + (!e.freeLength && t[a].length !== r[a].length) + ) + return !1; + for (var o = 0; o < t[a].length; o++) + if (!h(t[a][o], n ? r[a][o] : r)) return !1; + } else if (!h(t[a], n ? r[a] : r)) return !1; + return !0; + }, + }, + }), + (r.coerce = function (t, e, n, i, a) { + var o = l(n, i).get(), + s = l(t, i), + c = l(e, i), + u = s.get(), + p = e._template; + if ( + (void 0 === u && p && ((u = l(p, i).get()), (p = 0)), + void 0 === a && (a = o.dflt), + o.arrayOk && f(u)) + ) + return c.set(u), u; + var d = r.valObjectMeta[o.valType].coerceFunction; + d(u, c, a, o); + var g = c.get(); + return ( + p && + g === a && + !h(u, o) && + (d((u = l(p, i).get()), c, a, o), (g = c.get())), + g + ); + }), + (r.coerce2 = function (t, e, n, i, a) { + var o = l(t, i), + s = r.coerce(t, e, n, i, a), + c = o.get(); + return null != c && s; + }), + (r.coerceFont = function (t, e, r) { + var n = {}; + return ( + (r = r || {}), + (n.family = t(e + '.family', r.family)), + (n.size = t(e + '.size', r.size)), + (n.color = t(e + '.color', r.color)), + n + ); + }), + (r.coerceHoverinfo = function (t, e, n) { + var i, + o = e._module.attributes, + s = o.hoverinfo ? o : a, + l = s.hoverinfo; + if (1 === n._dataLength) { + var c = 'all' === l.dflt ? l.flags.slice() : l.dflt.split('+'); + c.splice(c.indexOf('name'), 1), (i = c.join('+')); + } + return r.coerce(t, e, s, 'hoverinfo', i); + }), + (r.coerceSelectionMarkerOpacity = function (t, e) { + if (t.marker) { + var r, + n, + i = t.marker.opacity; + if (void 0 !== i) + f(i) || t.selected || t.unselected || ((r = i), (n = s * i)), + e('selected.marker.opacity', r), + e('unselected.marker.opacity', n); + } + }), + (r.validate = h); + }, + { + '../components/colorscale/scales': 658, + '../constants/interactions': 752, + '../plots/attributes': 824, + './array': 760, + './mod': 785, + './nested_property': 786, + './regex': 795, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 765: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a = t('d3-time-format').timeFormat, + o = t('fast-isnumeric'), + s = t('./loggers'), + l = t('./mod').mod, + c = t('../constants/numerical'), + u = c.BADNUM, + f = c.ONEDAY, + h = c.ONEHOUR, + p = c.ONEMIN, + d = c.ONESEC, + g = c.EPOCHJD, + m = t('../registry'), + v = t('d3-time-format').utcFormat, + y = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m, + x = + /^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m, + b = new Date().getFullYear() - 70; + function _(t) { + return ( + t && + m.componentsRegistry.calendars && + 'string' == typeof t && + 'gregorian' !== t + ); + } + function w(t, e) { + return String(t + Math.pow(10, e)).substr(1); + } + (r.dateTick0 = function (t, e) { + var n = (function (t, e) { + return _(t) + ? e + ? m.getComponentMethod('calendars', 'CANONICAL_SUNDAY')[t] + : m.getComponentMethod('calendars', 'CANONICAL_TICK')[t] + : e + ? '2000-01-02' + : '2000-01-01'; + })(t, !!e); + if (e < 2) return n; + var i = r.dateTime2ms(n, t); + return (i += f * (e - 1)), r.ms2DateTime(i, 0, t); + }), + (r.dfltRange = function (t) { + return _(t) + ? m.getComponentMethod('calendars', 'DFLTRANGE')[t] + : ['2000-01-01', '2001-01-01']; + }), + (r.isJSDate = function (t) { + return ( + 'object' == typeof t && + null !== t && + 'function' == typeof t.getTime + ); + }), + (r.dateTime2ms = function (t, e) { + if (r.isJSDate(t)) { + var a = t.getTimezoneOffset() * p, + o = + (t.getUTCMinutes() - t.getMinutes()) * p + + (t.getUTCSeconds() - t.getSeconds()) * d + + (t.getUTCMilliseconds() - t.getMilliseconds()); + if (o) { + var s = 3 * p; + a = a - s / 2 + l(o - a + s / 2, s); + } + return (t = Number(t) - a) >= n && t <= i ? t : u; + } + if ('string' != typeof t && 'number' != typeof t) return u; + t = String(t); + var c = _(e), + v = t.charAt(0); + !c || ('G' !== v && 'g' !== v) || ((t = t.substr(1)), (e = '')); + var w = c && 'chinese' === e.substr(0, 7), + T = t.match(w ? x : y); + if (!T) return u; + var k = T[1], + M = T[3] || '1', + A = Number(T[5] || 1), + S = Number(T[7] || 0), + E = Number(T[9] || 0), + C = Number(T[11] || 0); + if (c) { + if (2 === k.length) return u; + var L; + k = Number(k); + try { + var I = m.getComponentMethod('calendars', 'getCal')(e); + if (w) { + var P = 'i' === M.charAt(M.length - 1); + (M = parseInt(M, 10)), + (L = I.newDate(k, I.toMonthIndex(k, M, P), A)); + } else L = I.newDate(k, Number(M), A); + } catch (t) { + return u; + } + return L ? (L.toJD() - g) * f + S * h + E * p + C * d : u; + } + (k = + 2 === k.length ? ((Number(k) + 2e3 - b) % 100) + b : Number(k)), + (M -= 1); + var z = new Date(Date.UTC(2e3, M, A, S, E)); + return ( + z.setUTCFullYear(k), + z.getUTCMonth() !== M || z.getUTCDate() !== A + ? u + : z.getTime() + C * d + ); + }), + (n = r.MIN_MS = r.dateTime2ms('-9999')), + (i = r.MAX_MS = r.dateTime2ms('9999-12-31 23:59:59.9999')), + (r.isDateTime = function (t, e) { + return r.dateTime2ms(t, e) !== u; + }); + var T = 90 * f, + k = 3 * h, + M = 5 * p; + function A(t, e, r, n, i) { + if ( + (e || r || n || i) && + ((t += ' ' + w(e, 2) + ':' + w(r, 2)), + (n || i) && ((t += ':' + w(n, 2)), i)) + ) { + for (var a = 4; i % 10 == 0; ) (a -= 1), (i /= 10); + t += '.' + w(i, a); + } + return t; + } + (r.ms2DateTime = function (t, e, r) { + if ('number' != typeof t || !(t >= n && t <= i)) return u; + e || (e = 0); + var a, + o, + s, + c, + y, + x, + b = Math.floor(10 * l(t + 0.05, 1)), + w = Math.round(t - b / 10); + if (_(r)) { + var S = Math.floor(w / f) + g, + E = Math.floor(l(t, f)); + try { + a = m + .getComponentMethod( + 'calendars', + 'getCal' + )(r) + .fromJD(S) + .formatDate('yyyy-mm-dd'); + } catch (t) { + a = v('G%Y-%m-%d')(new Date(w)); + } + if ('-' === a.charAt(0)) + for (; a.length < 11; ) a = '-0' + a.substr(1); + else for (; a.length < 10; ) a = '0' + a; + (o = e < T ? Math.floor(E / h) : 0), + (s = e < T ? Math.floor((E % h) / p) : 0), + (c = e < k ? Math.floor((E % p) / d) : 0), + (y = e < M ? (E % d) * 10 + b : 0); + } else + (x = new Date(w)), + (a = v('%Y-%m-%d')(x)), + (o = e < T ? x.getUTCHours() : 0), + (s = e < T ? x.getUTCMinutes() : 0), + (c = e < k ? x.getUTCSeconds() : 0), + (y = e < M ? 10 * x.getUTCMilliseconds() + b : 0); + return A(a, o, s, c, y); + }), + (r.ms2DateTimeLocal = function (t) { + if (!(t >= n + f && t <= i - f)) return u; + var e = Math.floor(10 * l(t + 0.05, 1)), + r = new Date(Math.round(t - e / 10)); + return A( + a('%Y-%m-%d')(r), + r.getHours(), + r.getMinutes(), + r.getSeconds(), + 10 * r.getUTCMilliseconds() + e + ); + }), + (r.cleanDate = function (t, e, n) { + if (t === u) return e; + if (r.isJSDate(t) || ('number' == typeof t && isFinite(t))) { + if (_(n)) + return ( + s.error( + 'JS Dates and milliseconds are incompatible with world calendars', + t + ), + e + ); + if (!(t = r.ms2DateTimeLocal(+t)) && void 0 !== e) return e; + } else if (!r.isDateTime(t, n)) + return s.error('unrecognized date', t), e; + return t; + }); + var S = /%\d?f/g; + function E(t, e, r, n) { + t = t.replace(S, function (t) { + var r = Math.min(+t.charAt(1) || 6, 6); + return ( + (((e / 1e3) % 1) + 2).toFixed(r).substr(2).replace(/0+$/, '') || + '0' + ); + }); + var i = new Date(Math.floor(e + 0.05)); + if (_(n)) + try { + t = m.getComponentMethod('calendars', 'worldCalFmt')(t, e, n); + } catch (t) { + return 'Invalid'; + } + return r(t)(i); + } + var C = [59, 59.9, 59.99, 59.999, 59.9999]; + r.formatDate = function (t, e, r, n, i, a) { + if (((i = _(i) && i), !e)) + if ('y' === r) e = a.year; + else if ('m' === r) e = a.month; + else { + if ('d' !== r) + return ( + (function (t, e) { + var r = l(t + 0.05, f), + n = + w(Math.floor(r / h), 2) + + ':' + + w(l(Math.floor(r / p), 60), 2); + if ('M' !== e) { + o(e) || (e = 0); + var i = (100 + Math.min(l(t / d, 60), C[e])) + .toFixed(e) + .substr(1); + e > 0 && + (i = i.replace(/0+$/, '').replace(/[\.]$/, '')), + (n += ':' + i); + } + return n; + })(t, r) + + '\n' + + E(a.dayMonthYear, t, n, i) + ); + e = a.dayMonth + '\n' + a.year; + } + return E(e, t, n, i); + }; + var L = 3 * f; + (r.incrementMonth = function (t, e, r) { + r = _(r) && r; + var n = l(t, f); + if (((t = Math.round(t - n)), r)) + try { + var i = Math.round(t / f) + g, + a = m.getComponentMethod('calendars', 'getCal')(r), + o = a.fromJD(i); + return ( + e % 12 ? a.add(o, e, 'm') : a.add(o, e / 12, 'y'), + (o.toJD() - g) * f + n + ); + } catch (e) { + s.error('invalid ms ' + t + ' in calendar ' + r); + } + var c = new Date(t + L); + return c.setUTCMonth(c.getUTCMonth() + e) + n - L; + }), + (r.findExactDates = function (t, e) { + for ( + var r, + n, + i = 0, + a = 0, + s = 0, + l = 0, + c = _(e) && m.getComponentMethod('calendars', 'getCal')(e), + u = 0; + u < t.length; + u++ + ) + if (((n = t[u]), o(n))) { + if (!(n % f)) + if (c) + try { + 1 === (r = c.fromJD(n / f + g)).day() + ? 1 === r.month() + ? i++ + : a++ + : s++; + } catch (t) {} + else + 1 === (r = new Date(n)).getUTCDate() + ? 0 === r.getUTCMonth() + ? i++ + : a++ + : s++; + } else l++; + s += a += i; + var h = t.length - l; + return { + exactYears: i / h, + exactMonths: a / h, + exactDays: s / h, + }; + }); + }, + { + '../constants/numerical': 753, + '../registry': 911, + './loggers': 782, + './mod': 785, + 'd3-time-format': 166, + 'fast-isnumeric': 241, + }, + ], + 766: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('./loggers'), + a = t('./matrix'), + o = t('gl-mat4'); + function s(t) { + var e = t && t.parentNode; + e && e.removeChild(t); + } + function l(t, e, r) { + var n = 'plotly.js-style-' + t, + a = document.getElementById(n); + a || + ((a = document.createElement('style')).setAttribute('id', n), + a.appendChild(document.createTextNode('')), + document.head.appendChild(a)); + var o = a.sheet; + o.insertRule + ? o.insertRule(e + '{' + r + '}', 0) + : o.addRule + ? o.addRule(e, r, 0) + : i.warn('addStyleRule failed'); + } + function c(t) { + var e = window.getComputedStyle(t, null), + r = + e.getPropertyValue('-webkit-transform') || + e.getPropertyValue('-moz-transform') || + e.getPropertyValue('-ms-transform') || + e.getPropertyValue('-o-transform') || + e.getPropertyValue('transform'); + return 'none' === r + ? null + : r + .replace('matrix', '') + .replace('3d', '') + .slice(1, -1) + .split(',') + .map(function (t) { + return +t; + }); + } + function u(t) { + for (var e = []; f(t); ) e.push(t), (t = t.parentNode); + return e; + } + function f(t) { + return t && (t instanceof Element || t instanceof HTMLElement); + } + e.exports = { + getGraphDiv: function (t) { + var e; + if ('string' == typeof t) { + if (null === (e = document.getElementById(t))) + throw new Error( + "No DOM element with id '" + t + "' exists on the page." + ); + return e; + } + if (null == t) + throw new Error('DOM element provided is null or undefined'); + return t; + }, + isPlotDiv: function (t) { + var e = n.select(t); + return ( + e.node() instanceof HTMLElement && + e.size() && + e.classed('js-plotly-plot') + ); + }, + removeElement: s, + addStyleRule: function (t, e) { + l('global', t, e); + }, + addRelatedStyleRule: l, + deleteRelatedStyleRule: function (t) { + var e = 'plotly.js-style-' + t, + r = document.getElementById(e); + r && s(r); + }, + getFullTransformMatrix: function (t) { + var e = u(t), + r = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + return ( + e.forEach(function (t) { + var e = c(t); + if (e) { + var n = a.convertCssMatrix(e); + r = o.multiply(r, r, n); + } + }), + r + ); + }, + getElementTransformMatrix: c, + getElementAndAncestors: u, + equalDomRects: function (t, e) { + return ( + t && + e && + t.x === e.x && + t.y === e.y && + t.top === e.top && + t.left === e.left && + t.right === e.right && + t.bottom === e.bottom + ); + }, + }; + }, + { './loggers': 782, './matrix': 784, d3: 169, 'gl-mat4': 292 }, + ], + 767: [ + function (t, e, r) { + 'use strict'; + var n = t('events').EventEmitter, + i = { + init: function (t) { + if (t._ev instanceof n) return t; + var e = new n(), + r = new n(); + return ( + (t._ev = e), + (t._internalEv = r), + (t.on = e.on.bind(e)), + (t.once = e.once.bind(e)), + (t.removeListener = e.removeListener.bind(e)), + (t.removeAllListeners = e.removeAllListeners.bind(e)), + (t._internalOn = r.on.bind(r)), + (t._internalOnce = r.once.bind(r)), + (t._removeInternalListener = r.removeListener.bind(r)), + (t._removeAllInternalListeners = + r.removeAllListeners.bind(r)), + (t.emit = function (n, i) { + 'undefined' != typeof jQuery && jQuery(t).trigger(n, i), + e.emit(n, i), + r.emit(n, i); + }), + t + ); + }, + triggerHandler: function (t, e, r) { + var n, i; + 'undefined' != typeof jQuery && + (n = jQuery(t).triggerHandler(e, r)); + var a = t._ev; + if (!a) return n; + var o, + s = a._events[e]; + if (!s) return n; + function l(t) { + return t.listener + ? (a.removeListener(e, t.listener), + t.fired + ? void 0 + : ((t.fired = !0), t.listener.apply(a, [r]))) + : t.apply(a, [r]); + } + for ( + s = Array.isArray(s) ? s : [s], o = 0; + o < s.length - 1; + o++ + ) + l(s[o]); + return (i = l(s[o])), void 0 !== n ? n : i; + }, + purge: function (t) { + return ( + delete t._ev, + delete t.on, + delete t.once, + delete t.removeListener, + delete t.removeAllListeners, + delete t.emit, + delete t._ev, + delete t._internalEv, + delete t._internalOn, + delete t._internalOnce, + delete t._removeInternalListener, + delete t._removeAllInternalListeners, + t + ); + }, + }; + e.exports = i; + }, + { events: 110 }, + ], + 768: [ + function (t, e, r) { + 'use strict'; + var n = t('./is_plain_object.js'), + i = Array.isArray; + function a(t, e, r, o) { + var s, + l, + c, + u, + f, + h, + p = t[0], + d = t.length; + if (2 === d && i(p) && i(t[1]) && 0 === p.length) { + if ( + (function (t, e) { + var r, n; + for (r = 0; r < t.length; r++) { + if (null !== (n = t[r]) && 'object' == typeof n) return !1; + void 0 !== n && (e[r] = n); + } + return !0; + })(t[1], p) + ) + return p; + p.splice(0, p.length); + } + for (var g = 1; g < d; g++) + for (l in (s = t[g])) + (c = p[l]), + (u = s[l]), + o && i(u) + ? (p[l] = u) + : e && u && (n(u) || (f = i(u))) + ? (f + ? ((f = !1), (h = c && i(c) ? c : [])) + : (h = c && n(c) ? c : {}), + (p[l] = a([h, u], e, r, o))) + : ('undefined' != typeof u || r) && (p[l] = u); + return p; + } + (r.extendFlat = function () { + return a(arguments, !1, !1, !1); + }), + (r.extendDeep = function () { + return a(arguments, !0, !1, !1); + }), + (r.extendDeepAll = function () { + return a(arguments, !0, !0, !1); + }), + (r.extendDeepNoArrays = function () { + return a(arguments, !0, !1, !0); + }); + }, + { './is_plain_object.js': 779 }, + ], + 769: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = {}, r = [], n = 0, i = 0; i < t.length; i++) { + var a = t[i]; + 1 !== e[a] && ((e[a] = 1), (r[n++] = a)); + } + return r; + }; + }, + {}, + ], + 770: [ + function (t, e, r) { + 'use strict'; + function n(t) { + return !0 === t.visible; + } + function i(t) { + var e = t[0].trace; + return !0 === e.visible && 0 !== e._length; + } + e.exports = function (t) { + for ( + var e, + r = + ((e = t), + Array.isArray(e) && + Array.isArray(e[0]) && + e[0][0] && + e[0][0].trace + ? i + : n), + a = [], + o = 0; + o < t.length; + o++ + ) { + var s = t[o]; + r(s) && a.push(s); + } + return a; + }; + }, + {}, + ], + 771: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('country-regex'), + a = t('@turf/area'), + o = t('@turf/centroid'), + s = t('@turf/bbox'), + l = t('./identity'), + c = t('./loggers'), + u = t('./is_plain_object'), + f = t('./nested_property'), + h = t('./polygon'), + p = Object.keys(i), + d = { + 'ISO-3': l, + 'USA-states': l, + 'country names': function (t) { + for (var e = 0; e < p.length; e++) { + var r = p[e]; + if (new RegExp(i[r]).test(t.trim().toLowerCase())) return r; + } + return c.log('Unrecognized country name: ' + t + '.'), !1; + }, + }; + function g(t) { + var e = t.geojson, + r = window.PlotlyGeoAssets || {}, + n = 'string' == typeof e ? r[e] : e; + return u(n) + ? n + : (c.error('Oops ... something went wrong when fetching ' + e), + !1); + } + e.exports = { + locationToFeature: function (t, e, r) { + if (!e || 'string' != typeof e) return !1; + var n, + i, + a, + o = d[t](e); + if (o) { + if ('USA-states' === t) + for (n = [], a = 0; a < r.length; a++) + (i = r[a]).properties && + i.properties.gu && + 'USA' === i.properties.gu && + n.push(i); + else n = r; + for (a = 0; a < n.length; a++) + if ((i = n[a]).id === o) return i; + c.log( + [ + 'Location with id', + o, + 'does not have a matching topojson feature at this resolution.', + ].join(' ') + ); + } + return !1; + }, + feature2polygons: function (t) { + var e, + r, + n, + i, + a = t.geometry, + o = a.coordinates, + s = t.id, + l = []; + function c(t) { + for (var e = 0; e < t.length - 1; e++) + if (t[e][0] > 0 && t[e + 1][0] < 0) return e; + return null; + } + switch ( + ((e = + 'RUS' === s || 'FJI' === s + ? function (t) { + var e; + if (null === c(t)) e = t; + else + for ( + e = new Array(t.length), i = 0; + i < t.length; + i++ + ) + e[i] = [ + t[i][0] < 0 ? t[i][0] + 360 : t[i][0], + t[i][1], + ]; + l.push(h.tester(e)); + } + : 'ATA' === s + ? function (t) { + var e = c(t); + if (null === e) return l.push(h.tester(t)); + var r = new Array(t.length + 1), + n = 0; + for (i = 0; i < t.length; i++) + i > e + ? (r[n++] = [t[i][0] + 360, t[i][1]]) + : i === e + ? ((r[n++] = t[i]), (r[n++] = [t[i][0], -90])) + : (r[n++] = t[i]); + var a = h.tester(r); + a.pts.pop(), l.push(a); + } + : function (t) { + l.push(h.tester(t)); + }), + a.type) + ) { + case 'MultiPolygon': + for (r = 0; r < o.length; r++) + for (n = 0; n < o[r].length; n++) e(o[r][n]); + break; + case 'Polygon': + for (r = 0; r < o.length; r++) e(o[r]); + } + return l; + }, + getTraceGeojson: g, + extractTraceFeature: function (t) { + var e = t[0].trace, + r = g(e); + if (!r) return !1; + var n, + i = {}, + s = []; + for (n = 0; n < e._length; n++) { + var l = t[n]; + (l.loc || 0 === l.loc) && (i[l.loc] = l); + } + function u(t) { + var r = f(t, e.featureidkey || 'id').get(), + n = i[r]; + if (n) { + var l = t.geometry; + if ('Polygon' === l.type || 'MultiPolygon' === l.type) { + var u = { + type: 'Feature', + id: r, + geometry: l, + properties: {}, + }; + (u.properties.ct = (function (t) { + var e, + r = t.geometry; + if ('MultiPolygon' === r.type) + for ( + var n = r.coordinates, i = 0, s = 0; + s < n.length; + s++ + ) { + var l = { type: 'Polygon', coordinates: n[s] }, + c = a.default(l); + c > i && ((i = c), (e = l)); + } + else e = r; + return o.default(e).geometry.coordinates; + })(u)), + (n.fIn = t), + (n.fOut = u), + s.push(u); + } else + c.log( + [ + 'Location', + n.loc, + 'does not have a valid GeoJSON geometry.', + 'Traces with locationmode *geojson-id* only support', + '*Polygon* and *MultiPolygon* geometries.', + ].join(' ') + ); + } + delete i[r]; + } + switch (r.type) { + case 'FeatureCollection': + var h = r.features; + for (n = 0; n < h.length; n++) u(h[n]); + break; + case 'Feature': + u(r); + break; + default: + return ( + c.warn( + [ + 'Invalid GeoJSON type', + (r.type || 'none') + '.', + 'Traces with locationmode *geojson-id* only support', + '*FeatureCollection* and *Feature* types.', + ].join(' ') + ), + !1 + ); + } + for (var p in i) + c.log( + [ + 'Location *' + p + '*', + 'does not have a matching feature with id-key', + '*' + e.featureidkey + '*.', + ].join(' ') + ); + return s; + }, + fetchTraceGeoData: function (t) { + var e = window.PlotlyGeoAssets || {}, + r = []; + function i(t) { + return new Promise(function (r, i) { + n.json(t, function (n, a) { + if (n) { + delete e[t]; + var o = + 404 === n.status + ? 'GeoJSON at URL "' + t + '" does not exist.' + : 'Unexpected error while fetching from ' + t; + return i(new Error(o)); + } + return (e[t] = a), r(a); + }); + }); + } + function a(t) { + return new Promise(function (r, n) { + var i = 0, + a = setInterval(function () { + return e[t] && 'pending' !== e[t] + ? (clearInterval(a), r(e[t])) + : i > 100 + ? (clearInterval(a), + n('Unexpected error while fetching from ' + t)) + : void i++; + }, 50); + }); + } + for (var o = 0; o < t.length; o++) { + var s = t[o][0].trace.geojson; + 'string' == typeof s && + (e[s] + ? 'pending' === e[s] && r.push(a(s)) + : ((e[s] = 'pending'), r.push(i(s)))); + } + return r; + }, + computeBbox: function (t) { + return s.default(t); + }, + }; + }, + { + './identity': 776, + './is_plain_object': 779, + './loggers': 782, + './nested_property': 786, + './polygon': 790, + '@turf/area': 59, + '@turf/bbox': 60, + '@turf/centroid': 61, + 'country-regex': 139, + d3: 169, + }, + ], + 772: [ + function (t, e, r) { + 'use strict'; + var n = t('../constants/numerical').BADNUM; + (r.calcTraceToLineCoords = function (t) { + for ( + var e = t[0].trace.connectgaps, r = [], i = [], a = 0; + a < t.length; + a++ + ) { + var o = t[a].lonlat; + o[0] !== n + ? i.push(o) + : !e && i.length > 0 && (r.push(i), (i = [])); + } + return i.length > 0 && r.push(i), r; + }), + (r.makeLine = function (t) { + return 1 === t.length + ? { type: 'LineString', coordinates: t[0] } + : { type: 'MultiLineString', coordinates: t }; + }), + (r.makePolygon = function (t) { + if (1 === t.length) return { type: 'Polygon', coordinates: t }; + for (var e = new Array(t.length), r = 0; r < t.length; r++) + e[r] = [t[r]]; + return { type: 'MultiPolygon', coordinates: e }; + }), + (r.makeBlank = function () { + return { type: 'Point', coordinates: [] }; + }); + }, + { '../constants/numerical': 753 }, + ], + 773: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a, + o = t('./mod').mod; + function s(t, e, r, n, i, a, o, s) { + var l = r - t, + c = i - t, + u = o - i, + f = n - e, + h = a - e, + p = s - a, + d = l * p - u * f; + if (0 === d) return null; + var g = (c * p - u * h) / d, + m = (c * f - l * h) / d; + return m < 0 || m > 1 || g < 0 || g > 1 + ? null + : { x: t + l * g, y: e + f * g }; + } + function l(t, e, r, n, i) { + var a = n * t + i * e; + if (a < 0) return n * n + i * i; + if (a > r) { + var o = n - t, + s = i - e; + return o * o + s * s; + } + var l = n * e - i * t; + return (l * l) / r; + } + (r.segmentsIntersect = s), + (r.segmentDistance = function (t, e, r, n, i, a, o, c) { + if (s(t, e, r, n, i, a, o, c)) return 0; + var u = r - t, + f = n - e, + h = o - i, + p = c - a, + d = u * u + f * f, + g = h * h + p * p, + m = Math.min( + l(u, f, d, i - t, a - e), + l(u, f, d, o - t, c - e), + l(h, p, g, t - i, e - a), + l(h, p, g, r - i, n - a) + ); + return Math.sqrt(m); + }), + (r.getTextLocation = function (t, e, r, s) { + if (((t === i && s === a) || ((n = {}), (i = t), (a = s)), n[r])) + return n[r]; + var l = t.getPointAtLength(o(r - s / 2, e)), + c = t.getPointAtLength(o(r + s / 2, e)), + u = Math.atan((c.y - l.y) / (c.x - l.x)), + f = t.getPointAtLength(o(r, e)), + h = { + x: (4 * f.x + l.x + c.x) / 6, + y: (4 * f.y + l.y + c.y) / 6, + theta: u, + }; + return (n[r] = h), h; + }), + (r.clearLocationCache = function () { + i = null; + }), + (r.getVisibleSegment = function (t, e, r) { + var n, + i, + a = e.left, + o = e.right, + s = e.top, + l = e.bottom, + c = 0, + u = t.getTotalLength(), + f = u; + function h(e) { + var r = t.getPointAtLength(e); + 0 === e ? (n = r) : e === u && (i = r); + var c = r.x < a ? a - r.x : r.x > o ? r.x - o : 0, + f = r.y < s ? s - r.y : r.y > l ? r.y - l : 0; + return Math.sqrt(c * c + f * f); + } + for (var p = h(c); p; ) { + if ((c += p + r) > f) return; + p = h(c); + } + for (p = h(f); p; ) { + if (c > (f -= p + r)) return; + p = h(f); + } + return { + min: c, + max: f, + len: f - c, + total: u, + isClosed: + 0 === c && + f === u && + Math.abs(n.x - i.x) < 0.1 && + Math.abs(n.y - i.y) < 0.1, + }; + }), + (r.findPointOnPath = function (t, e, r, n) { + for ( + var i, + a, + o, + s = (n = n || {}).pathLength || t.getTotalLength(), + l = n.tolerance || 0.001, + c = n.iterationLimit || 30, + u = + t.getPointAtLength(0)[r] > t.getPointAtLength(s)[r] + ? -1 + : 1, + f = 0, + h = 0, + p = s; + f < c; + + ) { + if ( + ((i = (h + p) / 2), + (o = (a = t.getPointAtLength(i))[r] - e), + Math.abs(o) < l) + ) + return a; + u * o > 0 ? (p = i) : (h = i), f++; + } + return a; + }); + }, + { './mod': 785 }, + ], + 774: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('tinycolor2'), + a = t('color-normalize'), + o = t('../components/colorscale'), + s = t('../components/color/attributes').defaultLine, + l = t('./array').isArrayOrTypedArray, + c = a(s); + function u(t, e) { + var r = t; + return (r[3] *= e), r; + } + function f(t) { + if (n(t)) return c; + var e = a(t); + return e.length ? e : c; + } + function h(t) { + return n(t) ? t : 1; + } + e.exports = { + formatColor: function (t, e, r) { + var n, + i, + s, + p, + d, + g = t.color, + m = l(g), + v = l(e), + y = o.extractOpts(t), + x = []; + if ( + ((n = + void 0 !== y.colorscale + ? o.makeColorScaleFuncFromTrace(t) + : f), + (i = m + ? function (t, e) { + return void 0 === t[e] ? c : a(n(t[e])); + } + : f), + (s = v + ? function (t, e) { + return void 0 === t[e] ? 1 : h(t[e]); + } + : h), + m || v) + ) + for (var b = 0; b < r; b++) + (p = i(g, b)), (d = s(e, b)), (x[b] = u(p, d)); + else x = u(a(g), e); + return x; + }, + parseColorScale: function (t) { + var e = o.extractOpts(t), + r = e.colorscale; + return ( + e.reversescale && (r = o.flipScale(e.colorscale)), + r.map(function (t) { + var e = t[0], + r = i(t[1]).toRgb(); + return { index: e, rgb: [r.r, r.g, r.b, r.a] }; + }) + ); + }, + }; + }, + { + '../components/color/attributes': 642, + '../components/colorscale': 655, + './array': 760, + 'color-normalize': 125, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 775: [ + function (t, e, r) { + 'use strict'; + var n = t('./identity'); + function i(t) { + return [t]; + } + e.exports = { + keyFun: function (t) { + return t.key; + }, + repeat: i, + descend: n, + wrap: i, + unwrap: function (t) { + return t[0]; + }, + }; + }, + { './identity': 776 }, + ], + 776: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return t; + }; + }, + {}, + ], + 777: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + if (!e) return t; + var r = 1 / Math.abs(e), + n = r > 1 ? (r * t + r * e) / r : t + e, + i = String(n).length; + if (i > 16) { + var a = String(e).length; + if (i >= String(t).length + a) { + var o = parseFloat(n).toPrecision(12); + -1 === o.indexOf('e+') && (n = +o); + } + } + return n; + }; + }, + {}, + ], + 778: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('d3-time-format').utcFormat, + a = t('fast-isnumeric'), + o = t('../constants/numerical'), + s = o.FP_SAFE, + l = o.BADNUM, + c = (e.exports = {}); + (c.nestedProperty = t('./nested_property')), + (c.keyedContainer = t('./keyed_container')), + (c.relativeAttr = t('./relative_attr')), + (c.isPlainObject = t('./is_plain_object')), + (c.toLogRange = t('./to_log_range')), + (c.relinkPrivateKeys = t('./relink_private')); + var u = t('./array'); + (c.isTypedArray = u.isTypedArray), + (c.isArrayOrTypedArray = u.isArrayOrTypedArray), + (c.isArray1D = u.isArray1D), + (c.ensureArray = u.ensureArray), + (c.concat = u.concat), + (c.maxRowLength = u.maxRowLength), + (c.minRowLength = u.minRowLength); + var f = t('./mod'); + (c.mod = f.mod), (c.modHalf = f.modHalf); + var h = t('./coerce'); + (c.valObjectMeta = h.valObjectMeta), + (c.coerce = h.coerce), + (c.coerce2 = h.coerce2), + (c.coerceFont = h.coerceFont), + (c.coerceHoverinfo = h.coerceHoverinfo), + (c.coerceSelectionMarkerOpacity = h.coerceSelectionMarkerOpacity), + (c.validate = h.validate); + var p = t('./dates'); + (c.dateTime2ms = p.dateTime2ms), + (c.isDateTime = p.isDateTime), + (c.ms2DateTime = p.ms2DateTime), + (c.ms2DateTimeLocal = p.ms2DateTimeLocal), + (c.cleanDate = p.cleanDate), + (c.isJSDate = p.isJSDate), + (c.formatDate = p.formatDate), + (c.incrementMonth = p.incrementMonth), + (c.dateTick0 = p.dateTick0), + (c.dfltRange = p.dfltRange), + (c.findExactDates = p.findExactDates), + (c.MIN_MS = p.MIN_MS), + (c.MAX_MS = p.MAX_MS); + var d = t('./search'); + (c.findBin = d.findBin), + (c.sorterAsc = d.sorterAsc), + (c.sorterDes = d.sorterDes), + (c.distinctVals = d.distinctVals), + (c.roundUp = d.roundUp), + (c.sort = d.sort), + (c.findIndexOfMin = d.findIndexOfMin); + var g = t('./stats'); + (c.aggNums = g.aggNums), + (c.len = g.len), + (c.mean = g.mean), + (c.median = g.median), + (c.midRange = g.midRange), + (c.variance = g.variance), + (c.stdev = g.stdev), + (c.interp = g.interp); + var m = t('./matrix'); + (c.init2dArray = m.init2dArray), + (c.transposeRagged = m.transposeRagged), + (c.dot = m.dot), + (c.translationMatrix = m.translationMatrix), + (c.rotationMatrix = m.rotationMatrix), + (c.rotationXYMatrix = m.rotationXYMatrix), + (c.apply3DTransform = m.apply3DTransform), + (c.apply2DTransform = m.apply2DTransform), + (c.apply2DTransform2 = m.apply2DTransform2), + (c.convertCssMatrix = m.convertCssMatrix), + (c.inverseTransformMatrix = m.inverseTransformMatrix); + var v = t('./angles'); + (c.deg2rad = v.deg2rad), + (c.rad2deg = v.rad2deg), + (c.angleDelta = v.angleDelta), + (c.angleDist = v.angleDist), + (c.isFullCircle = v.isFullCircle), + (c.isAngleInsideSector = v.isAngleInsideSector), + (c.isPtInsideSector = v.isPtInsideSector), + (c.pathArc = v.pathArc), + (c.pathSector = v.pathSector), + (c.pathAnnulus = v.pathAnnulus); + var y = t('./anchor_utils'); + (c.isLeftAnchor = y.isLeftAnchor), + (c.isCenterAnchor = y.isCenterAnchor), + (c.isRightAnchor = y.isRightAnchor), + (c.isTopAnchor = y.isTopAnchor), + (c.isMiddleAnchor = y.isMiddleAnchor), + (c.isBottomAnchor = y.isBottomAnchor); + var x = t('./geometry2d'); + (c.segmentsIntersect = x.segmentsIntersect), + (c.segmentDistance = x.segmentDistance), + (c.getTextLocation = x.getTextLocation), + (c.clearLocationCache = x.clearLocationCache), + (c.getVisibleSegment = x.getVisibleSegment), + (c.findPointOnPath = x.findPointOnPath); + var b = t('./extend'); + (c.extendFlat = b.extendFlat), + (c.extendDeep = b.extendDeep), + (c.extendDeepAll = b.extendDeepAll), + (c.extendDeepNoArrays = b.extendDeepNoArrays); + var _ = t('./loggers'); + (c.log = _.log), (c.warn = _.warn), (c.error = _.error); + var w = t('./regex'); + c.counterRegex = w.counter; + var T = t('./throttle'); + (c.throttle = T.throttle), + (c.throttleDone = T.done), + (c.clearThrottle = T.clear); + var k = t('./dom'); + function M(t) { + var e = {}; + for (var r in t) + for (var n = t[r], i = 0; i < n.length; i++) e[n[i]] = +r; + return e; + } + (c.getGraphDiv = k.getGraphDiv), + (c.isPlotDiv = k.isPlotDiv), + (c.removeElement = k.removeElement), + (c.addStyleRule = k.addStyleRule), + (c.addRelatedStyleRule = k.addRelatedStyleRule), + (c.deleteRelatedStyleRule = k.deleteRelatedStyleRule), + (c.getFullTransformMatrix = k.getFullTransformMatrix), + (c.getElementTransformMatrix = k.getElementTransformMatrix), + (c.getElementAndAncestors = k.getElementAndAncestors), + (c.equalDomRects = k.equalDomRects), + (c.clearResponsive = t('./clear_responsive')), + (c.preserveDrawingBuffer = t('./preserve_drawing_buffer')), + (c.makeTraceGroups = t('./make_trace_groups')), + (c._ = t('./localize')), + (c.notifier = t('./notifier')), + (c.filterUnique = t('./filter_unique')), + (c.filterVisible = t('./filter_visible')), + (c.pushUnique = t('./push_unique')), + (c.increment = t('./increment')), + (c.cleanNumber = t('./clean_number')), + (c.ensureNumber = function (t) { + return a(t) + ? (t = Number(t)) < -s || t > s + ? l + : a(t) + ? Number(t) + : l + : l; + }), + (c.isIndex = function (t, e) { + return !(void 0 !== e && t >= e) && a(t) && t >= 0 && t % 1 == 0; + }), + (c.noop = t('./noop')), + (c.identity = t('./identity')), + (c.repeat = function (t, e) { + for (var r = new Array(e), n = 0; n < e; n++) r[n] = t; + return r; + }), + (c.swapAttrs = function (t, e, r, n) { + r || (r = 'x'), n || (n = 'y'); + for (var i = 0; i < e.length; i++) { + var a = e[i], + o = c.nestedProperty(t, a.replace('?', r)), + s = c.nestedProperty(t, a.replace('?', n)), + l = o.get(); + o.set(s.get()), s.set(l); + } + }), + (c.raiseToTop = function (t) { + t.parentNode.appendChild(t); + }), + (c.cancelTransition = function (t) { + return t.transition().duration(0); + }), + (c.constrain = function (t, e, r) { + return e > r + ? Math.max(r, Math.min(e, t)) + : Math.max(e, Math.min(r, t)); + }), + (c.bBoxIntersect = function (t, e, r) { + return ( + (r = r || 0), + t.left <= e.right + r && + e.left <= t.right + r && + t.top <= e.bottom + r && + e.top <= t.bottom + r + ); + }), + (c.simpleMap = function (t, e, r, n, i) { + for (var a = t.length, o = new Array(a), s = 0; s < a; s++) + o[s] = e(t[s], r, n, i); + return o; + }), + (c.randstr = function t(e, r, n, i) { + if ((n || (n = 16), void 0 === r && (r = 24), r <= 0)) return '0'; + var a, + o, + s = Math.log(Math.pow(2, r)) / Math.log(n), + l = ''; + for (a = 2; s === 1 / 0; a *= 2) + s = (Math.log(Math.pow(2, r / a)) / Math.log(n)) * a; + var u = s - Math.floor(s); + for (a = 0; a < Math.floor(s); a++) + l = Math.floor(Math.random() * n).toString(n) + l; + u && + ((o = Math.pow(n, u)), + (l = Math.floor(Math.random() * o).toString(n) + l)); + var f = parseInt(l, n); + return (e && e[l]) || (f !== 1 / 0 && f >= Math.pow(2, r)) + ? i > 10 + ? (c.warn('randstr failed uniqueness'), l) + : t(e, r, n, (i || 0) + 1) + : l; + }), + (c.OptionControl = function (t, e) { + t || (t = {}), e || (e = 'opt'); + var r = { + optionList: [], + _newoption: function (n) { + (n[e] = t), (r[n.name] = n), r.optionList.push(n); + }, + }; + return (r['_' + e] = t), r; + }), + (c.smooth = function (t, e) { + if ((e = Math.round(e) || 0) < 2) return t; + var r, + n, + i, + a, + o = t.length, + s = 2 * o, + l = 2 * e - 1, + c = new Array(l), + u = new Array(o); + for (r = 0; r < l; r++) + c[r] = (1 - Math.cos((Math.PI * (r + 1)) / e)) / (2 * e); + for (r = 0; r < o; r++) { + for (a = 0, n = 0; n < l; n++) + (i = r + n + 1 - e) < -o + ? (i -= s * Math.round(i / s)) + : i >= s && (i -= s * Math.floor(i / s)), + i < 0 ? (i = -1 - i) : i >= o && (i = s - 1 - i), + (a += t[i] * c[n]); + u[r] = a; + } + return u; + }), + (c.syncOrAsync = function (t, e, r) { + var n; + function i() { + return c.syncOrAsync(t, e, r); + } + for (; t.length; ) + if ((n = (0, t.splice(0, 1)[0])(e)) && n.then) + return n.then(i).then(void 0, c.promiseError); + return r && r(e); + }), + (c.stripTrailingSlash = function (t) { + return '/' === t.substr(-1) ? t.substr(0, t.length - 1) : t; + }), + (c.noneOrAll = function (t, e, r) { + if (t) { + var n, + i = !1, + a = !0; + for (n = 0; n < r.length; n++) + null != t[r[n]] ? (i = !0) : (a = !1); + if (i && !a) for (n = 0; n < r.length; n++) t[r[n]] = e[r[n]]; + } + }), + (c.mergeArray = function (t, e, r, n) { + var i = 'function' == typeof n; + if (c.isArrayOrTypedArray(t)) + for (var a = Math.min(t.length, e.length), o = 0; o < a; o++) { + var s = t[o]; + e[o][r] = i ? n(s) : s; + } + }), + (c.mergeArrayCastPositive = function (t, e, r) { + return c.mergeArray(t, e, r, function (t) { + var e = +t; + return isFinite(e) && e > 0 ? e : 0; + }); + }), + (c.fillArray = function (t, e, r, n) { + if (((n = n || c.identity), c.isArrayOrTypedArray(t))) + for (var i = 0; i < e.length; i++) e[i][r] = n(t[i]); + }), + (c.castOption = function (t, e, r, n) { + n = n || c.identity; + var i = c.nestedProperty(t, r).get(); + return c.isArrayOrTypedArray(i) + ? Array.isArray(e) && c.isArrayOrTypedArray(i[e[0]]) + ? n(i[e[0]][e[1]]) + : n(i[e]) + : i; + }), + (c.extractOption = function (t, e, r, n) { + if (r in t) return t[r]; + var i = c.nestedProperty(e, n).get(); + return Array.isArray(i) ? void 0 : i; + }), + (c.tagSelected = function (t, e, r) { + var n, + i, + a = e.selectedpoints, + o = e._indexToPoints; + o && (n = M(o)); + for (var s = 0; s < a.length; s++) { + var l = a[s]; + if ( + c.isIndex(l) || + (c.isArrayOrTypedArray(l) && + c.isIndex(l[0]) && + c.isIndex(l[1])) + ) { + var u = n ? n[l] : l, + f = r ? r[u] : u; + void 0 !== (i = f) && i < t.length && (t[f].selected = 1); + } + } + }), + (c.selIndices2selPoints = function (t) { + var e = t.selectedpoints, + r = t._indexToPoints; + if (r) { + for (var n = M(r), i = [], a = 0; a < e.length; a++) { + var o = e[a]; + if (c.isIndex(o)) { + var s = n[o]; + c.isIndex(s) && i.push(s); + } + } + return i; + } + return e; + }), + (c.getTargetArray = function (t, e) { + var r = e.target; + if ('string' == typeof r && r) { + var n = c.nestedProperty(t, r).get(); + return !!Array.isArray(n) && n; + } + return !!Array.isArray(r) && r; + }), + (c.minExtend = function (t, e) { + var r = {}; + 'object' != typeof e && (e = {}); + var n, + i, + a, + o = Object.keys(t); + for (n = 0; n < o.length; n++) + (a = t[(i = o[n])]), + '_' !== i.charAt(0) && + 'function' != typeof a && + ('module' === i + ? (r[i] = a) + : Array.isArray(a) + ? (r[i] = 'colorscale' === i ? a.slice() : a.slice(0, 3)) + : c.isTypedArray(a) + ? (r[i] = a.subarray(0, 3)) + : (r[i] = + a && 'object' == typeof a + ? c.minExtend(t[i], e[i]) + : a)); + for (o = Object.keys(e), n = 0; n < o.length; n++) + ('object' == typeof (a = e[(i = o[n])]) && + i in r && + 'object' == typeof r[i]) || + (r[i] = a); + return r; + }), + (c.titleCase = function (t) { + return t.charAt(0).toUpperCase() + t.substr(1); + }), + (c.containsAny = function (t, e) { + for (var r = 0; r < e.length; r++) + if (-1 !== t.indexOf(e[r])) return !0; + return !1; + }), + (c.isIE = function () { + return 'undefined' != typeof window.navigator.msSaveBlob; + }); + var A = /MSIE [1-9]\./; + c.isIE9orBelow = function () { + return c.isIE() && A.test(window.navigator.userAgent); + }; + var S = /Version\/[\d\.]+.*Safari/; + c.isSafari = function () { + return S.test(window.navigator.userAgent); + }; + var E = /iPad|iPhone|iPod/; + (c.isIOS = function () { + return E.test(window.navigator.userAgent); + }), + (c.isD3Selection = function (t) { + return t && 'function' == typeof t.classed; + }), + (c.ensureSingle = function (t, e, r, n) { + var i = t.select(e + (r ? '.' + r : '')); + if (i.size()) return i; + var a = t.append(e); + return r && a.classed(r, !0), n && a.call(n), a; + }), + (c.ensureSingleById = function (t, e, r, n) { + var i = t.select(e + '#' + r); + if (i.size()) return i; + var a = t.append(e).attr('id', r); + return n && a.call(n), a; + }), + (c.objectFromPath = function (t, e) { + for ( + var r, n = t.split('.'), i = (r = {}), a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = null, + l = n[a].match(/(.*)\[([0-9]+)\]/); + l + ? ((o = l[1]), + (s = l[2]), + (r = r[o] = []), + a === n.length - 1 ? (r[s] = e) : (r[s] = {}), + (r = r[s])) + : (a === n.length - 1 ? (r[o] = e) : (r[o] = {}), (r = r[o])); + } + return i; + }); + var C = /^([^\[\.]+)\.(.+)?/, + L = /^([^\.]+)\[([0-9]+)\](\.)?(.+)?/; + (c.expandObjectPaths = function (t) { + var e, r, n, i, a, o, s; + if ('object' == typeof t && !Array.isArray(t)) + for (r in t) + t.hasOwnProperty(r) && + ((e = r.match(C)) + ? ((i = t[r]), + (n = e[1]), + delete t[r], + (t[n] = c.extendDeepNoArrays( + t[n] || {}, + c.objectFromPath(r, c.expandObjectPaths(i))[n] + ))) + : (e = r.match(L)) + ? ((i = t[r]), + (n = e[1]), + (a = parseInt(e[2])), + delete t[r], + (t[n] = t[n] || []), + '.' === e[3] + ? ((s = e[4]), + (o = t[n][a] = t[n][a] || {}), + c.extendDeepNoArrays( + o, + c.objectFromPath(s, c.expandObjectPaths(i)) + )) + : (t[n][a] = c.expandObjectPaths(i))) + : (t[r] = c.expandObjectPaths(t[r]))); + return t; + }), + (c.numSeparate = function (t, e, r) { + if ((r || (r = !1), 'string' != typeof e || 0 === e.length)) + throw new Error('Separator string required for formatting!'); + 'number' == typeof t && (t = String(t)); + var n = /(\d+)(\d{3})/, + i = e.charAt(0), + a = e.charAt(1), + o = t.split('.'), + s = o[0], + l = o.length > 1 ? i + o[1] : ''; + if (a && (o.length > 1 || s.length > 4 || r)) + for (; n.test(s); ) s = s.replace(n, '$1' + a + '$2'); + return s + l; + }), + (c.TEMPLATE_STRING_REGEX = /%{([^\s%{}:]*)([:|\|][^}]*)?}/g); + var I = /^\w*$/; + c.templateString = function (t, e) { + var r = {}; + return t.replace(c.TEMPLATE_STRING_REGEX, function (t, n) { + var i; + return ( + I.test(n) + ? (i = e[n]) + : ((r[n] = r[n] || c.nestedProperty(e, n).get), (i = r[n]())), + c.isValidTextValue(i) ? i : '' + ); + }); + }; + var P = { max: 10, count: 0, name: 'hovertemplate' }; + c.hovertemplateString = function () { + return D.apply(P, arguments); + }; + var z = { max: 10, count: 0, name: 'texttemplate' }; + c.texttemplateString = function () { + return D.apply(z, arguments); + }; + var O = /^[:|\|]/; + function D(t, e, r) { + var a = this, + o = arguments; + e || (e = {}); + var s = {}; + return t.replace(c.TEMPLATE_STRING_REGEX, function (t, l, u) { + var f, h, p, d; + for (p = 3; p < o.length; p++) + if ((f = o[p])) { + if (f.hasOwnProperty(l)) { + h = f[l]; + break; + } + if ( + (I.test(l) || + ((h = s[l] || c.nestedProperty(f, l).get()) && + (s[l] = h)), + void 0 !== h) + ) + break; + } + if (void 0 === h && a) + return ( + a.count < a.max && + (c.warn( + "Variable '" + + l + + "' in " + + a.name + + ' could not be found!' + ), + (h = t)), + a.count === a.max && + c.warn( + 'Too many ' + + a.name + + ' warnings - additional warnings will be suppressed' + ), + a.count++, + t + ); + if (u) { + if ( + (':' === u[0] && + (h = (d = r ? r.numberFormat : n.format)(u.replace(O, ''))( + h + )), + '|' === u[0]) + ) { + d = r ? r.timeFormat : i; + var g = c.dateTime2ms(h); + h = c.formatDate(g, u.replace(O, ''), !1, d); + } + } else e.hasOwnProperty(l + 'Label') && (h = e[l + 'Label']); + return h; + }); + } + c.subplotSort = function (t, e) { + for ( + var r = Math.min(t.length, e.length) + 1, n = 0, i = 0, a = 0; + a < r; + a++ + ) { + var o = t.charCodeAt(a) || 0, + s = e.charCodeAt(a) || 0, + l = o >= 48 && o <= 57, + c = s >= 48 && s <= 57; + if ( + (l && (n = 10 * n + o - 48), + c && (i = 10 * i + s - 48), + !l || !c) + ) { + if (n !== i) return n - i; + if (o !== s) return o - s; + } + } + return i - n; + }; + var R = 2e9; + (c.seedPseudoRandom = function () { + R = 2e9; + }), + (c.pseudoRandom = function () { + var t = R; + return ( + (R = (69069 * R + 1) % 4294967296), + Math.abs(R - t) < 429496729 ? c.pseudoRandom() : R / 4294967296 + ); + }), + (c.fillText = function (t, e, r) { + var n = Array.isArray(r) + ? function (t) { + r.push(t); + } + : function (t) { + r.text = t; + }, + i = c.extractOption(t, e, 'htx', 'hovertext'); + if (c.isValidTextValue(i)) return n(i); + var a = c.extractOption(t, e, 'tx', 'text'); + return c.isValidTextValue(a) ? n(a) : void 0; + }), + (c.isValidTextValue = function (t) { + return t || 0 === t; + }), + (c.formatPercent = function (t, e) { + e = e || 0; + for ( + var r = + ( + Math.round(100 * t * Math.pow(10, e)) * Math.pow(0.1, e) + ).toFixed(e) + '%', + n = 0; + n < e; + n++ + ) + -1 !== r.indexOf('.') && + (r = (r = r.replace('0%', '%')).replace('.%', '%')); + return r; + }), + (c.isHidden = function (t) { + var e = window.getComputedStyle(t).display; + return !e || 'none' === e; + }), + (c.strTranslate = function (t, e) { + return t || e ? 'translate(' + t + ',' + e + ')' : ''; + }), + (c.strRotate = function (t) { + return t ? 'rotate(' + t + ')' : ''; + }), + (c.strScale = function (t) { + return 1 !== t ? 'scale(' + t + ')' : ''; + }), + (c.getTextTransform = function (t) { + var e = t.noCenter, + r = t.textX, + n = t.textY, + i = t.targetX, + a = t.targetY, + o = t.anchorX || 0, + s = t.anchorY || 0, + l = t.rotate, + u = t.scale; + return ( + u ? u > 1 && (u = 1) : (u = 0), + c.strTranslate(i - u * (r + o), a - u * (n + s)) + + c.strScale(u) + + (l ? 'rotate(' + l + (e ? '' : ' ' + r + ' ' + n) + ')' : '') + ); + }), + (c.ensureUniformFontSize = function (t, e) { + var r = c.extendFlat({}, e); + return ( + (r.size = Math.max( + e.size, + t._fullLayout.uniformtext.minsize || 0 + )), + r + ); + }), + (c.join2 = function (t, e, r) { + var n = t.length; + return n > 1 ? t.slice(0, -1).join(e) + r + t[n - 1] : t.join(e); + }); + }, + { + '../constants/numerical': 753, + './anchor_utils': 758, + './angles': 759, + './array': 760, + './clean_number': 761, + './clear_responsive': 763, + './coerce': 764, + './dates': 765, + './dom': 766, + './extend': 768, + './filter_unique': 769, + './filter_visible': 770, + './geometry2d': 773, + './identity': 776, + './increment': 777, + './is_plain_object': 779, + './keyed_container': 780, + './localize': 781, + './loggers': 782, + './make_trace_groups': 783, + './matrix': 784, + './mod': 785, + './nested_property': 786, + './noop': 787, + './notifier': 788, + './preserve_drawing_buffer': 792, + './push_unique': 793, + './regex': 795, + './relative_attr': 796, + './relink_private': 797, + './search': 798, + './stats': 801, + './throttle': 804, + './to_log_range': 805, + d3: 169, + 'd3-time-format': 166, + 'fast-isnumeric': 241, + }, + ], + 779: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return window && window.process && window.process.versions + ? '[object Object]' === Object.prototype.toString.call(t) + : '[object Object]' === Object.prototype.toString.call(t) && + Object.getPrototypeOf(t) === Object.prototype; + }; + }, + {}, + ], + 780: [ + function (t, e, r) { + 'use strict'; + var n = t('./nested_property'), + i = /^\w*$/; + e.exports = function (t, e, r, a) { + var o, s, l; + (r = r || 'name'), (a = a || 'value'); + var c = {}; + e && e.length ? ((l = n(t, e)), (s = l.get())) : (s = t), + (e = e || ''); + var u = {}; + if (s) for (o = 0; o < s.length; o++) u[s[o][r]] = o; + var f = i.test(a), + h = { + set: function (t, e) { + var i = null === e ? 4 : 0; + if (!s) { + if (!l || 4 === i) return; + (s = []), l.set(s); + } + var o = u[t]; + if (void 0 === o) { + if (4 === i) return; + (i |= 3), (o = s.length), (u[t] = o); + } else e !== (f ? s[o][a] : n(s[o], a).get()) && (i |= 2); + var p = (s[o] = s[o] || {}); + return ( + (p[r] = t), + f ? (p[a] = e) : n(p, a).set(e), + null !== e && (i &= -5), + (c[o] = c[o] | i), + h + ); + }, + get: function (t) { + if (s) { + var e = u[t]; + return void 0 === e + ? void 0 + : f + ? s[e][a] + : n(s[e], a).get(); + } + }, + rename: function (t, e) { + var n = u[t]; + return ( + void 0 === n || + ((c[n] = 1 | c[n]), + (u[e] = n), + delete u[t], + (s[n][r] = e)), + h + ); + }, + remove: function (t) { + var e = u[t]; + if (void 0 === e) return h; + var i = s[e]; + if (Object.keys(i).length > 2) + return (c[e] = 2 | c[e]), h.set(t, null); + if (f) { + for (o = e; o < s.length; o++) c[o] = 3 | c[o]; + for (o = e; o < s.length; o++) u[s[o][r]]--; + s.splice(e, 1), delete u[t]; + } else n(i, a).set(null), (c[e] = 6 | c[e]); + return h; + }, + constructUpdate: function () { + for ( + var t, i, o = {}, l = Object.keys(c), u = 0; + u < l.length; + u++ + ) + (i = l[u]), + (t = e + '[' + i + ']'), + s[i] + ? (1 & c[i] && (o[t + '.' + r] = s[i][r]), + 2 & c[i] && + (o[t + '.' + a] = f + ? 4 & c[i] + ? null + : s[i][a] + : 4 & c[i] + ? null + : n(s[i], a).get())) + : (o[t] = null); + return o; + }, + }; + return h; + }; + }, + { './nested_property': 786 }, + ], + 781: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'); + e.exports = function (t, e) { + for (var r = t._context.locale, i = 0; i < 2; i++) { + for (var a = t._context.locales, o = 0; o < 2; o++) { + var s = (a[r] || {}).dictionary; + if (s) { + var l = s[e]; + if (l) return l; + } + a = n.localeRegistry; + } + var c = r.split('-')[0]; + if (c === r) break; + r = c; + } + return e; + }; + }, + { '../registry': 911 }, + ], + 782: [ + function (t, e, r) { + 'use strict'; + var n = t('../plot_api/plot_config').dfltConfig, + i = t('./notifier'), + a = (e.exports = {}); + function o(t, e) { + if (t && t.apply) + try { + return void t.apply(console, e); + } catch (t) {} + for (var r = 0; r < e.length; r++) + try { + t(e[r]); + } catch (t) { + console.log(e[r]); + } + } + (a.log = function () { + var t; + if (n.logging > 1) { + var e = ['LOG:']; + for (t = 0; t < arguments.length; t++) e.push(arguments[t]); + o(console.trace || console.log, e); + } + if (n.notifyOnLogging > 1) { + var r = []; + for (t = 0; t < arguments.length; t++) r.push(arguments[t]); + i(r.join('
'), 'long'); + } + }), + (a.warn = function () { + var t; + if (n.logging > 0) { + var e = ['WARN:']; + for (t = 0; t < arguments.length; t++) e.push(arguments[t]); + o(console.trace || console.log, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) r.push(arguments[t]); + i(r.join('
'), 'stick'); + } + }), + (a.error = function () { + var t; + if (n.logging > 0) { + var e = ['ERROR:']; + for (t = 0; t < arguments.length; t++) e.push(arguments[t]); + o(console.error, e); + } + if (n.notifyOnLogging > 0) { + var r = []; + for (t = 0; t < arguments.length; t++) r.push(arguments[t]); + i(r.join('
'), 'stick'); + } + }); + }, + { '../plot_api/plot_config': 815, './notifier': 788 }, + ], + 783: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'); + e.exports = function (t, e, r) { + var i = t + .selectAll('g.' + r.replace(/\s/g, '.')) + .data(e, function (t) { + return t[0].trace.uid; + }); + i.exit().remove(), + i.enter().append('g').attr('class', r), + i.order(); + var a = t.classed('rangeplot') ? 'nodeRangePlot3' : 'node3'; + return ( + i.each(function (t) { + t[0][a] = n.select(this); + }), + i + ); + }; + }, + { d3: 169 }, + ], + 784: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-mat4'); + (r.init2dArray = function (t, e) { + for (var r = new Array(t), n = 0; n < t; n++) r[n] = new Array(e); + return r; + }), + (r.transposeRagged = function (t) { + var e, + r, + n = 0, + i = t.length; + for (e = 0; e < i; e++) n = Math.max(n, t[e].length); + var a = new Array(n); + for (e = 0; e < n; e++) + for (a[e] = new Array(i), r = 0; r < i; r++) a[e][r] = t[r][e]; + return a; + }), + (r.dot = function (t, e) { + if (!t.length || !e.length || t.length !== e.length) return null; + var n, + i, + a = t.length; + if (t[0].length) + for (n = new Array(a), i = 0; i < a; i++) n[i] = r.dot(t[i], e); + else if (e[0].length) { + var o = r.transposeRagged(e); + for (n = new Array(o.length), i = 0; i < o.length; i++) + n[i] = r.dot(t, o[i]); + } else for (n = 0, i = 0; i < a; i++) n += t[i] * e[i]; + return n; + }), + (r.translationMatrix = function (t, e) { + return [ + [1, 0, t], + [0, 1, e], + [0, 0, 1], + ]; + }), + (r.rotationMatrix = function (t) { + var e = (t * Math.PI) / 180; + return [ + [Math.cos(e), -Math.sin(e), 0], + [Math.sin(e), Math.cos(e), 0], + [0, 0, 1], + ]; + }), + (r.rotationXYMatrix = function (t, e, n) { + return r.dot( + r.dot(r.translationMatrix(e, n), r.rotationMatrix(t)), + r.translationMatrix(-e, -n) + ); + }), + (r.apply3DTransform = function (t) { + return function () { + var e = arguments, + n = 1 === arguments.length ? e[0] : [e[0], e[1], e[2] || 0]; + return r.dot(t, [n[0], n[1], n[2], 1]).slice(0, 3); + }; + }), + (r.apply2DTransform = function (t) { + return function () { + var e = arguments; + 3 === e.length && (e = e[0]); + var n = 1 === arguments.length ? e[0] : [e[0], e[1]]; + return r.dot(t, [n[0], n[1], 1]).slice(0, 2); + }; + }), + (r.apply2DTransform2 = function (t) { + var e = r.apply2DTransform(t); + return function (t) { + return e(t.slice(0, 2)).concat(e(t.slice(2, 4))); + }; + }), + (r.convertCssMatrix = function (t) { + if (t) { + var e = t.length; + if (16 === e) return t; + if (6 === e) + return [ + t[0], + t[1], + 0, + 0, + t[2], + t[3], + 0, + 0, + 0, + 0, + 1, + 0, + t[4], + t[5], + 0, + 1, + ]; + } + return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; + }), + (r.inverseTransformMatrix = function (t) { + var e = []; + return ( + n.invert(e, t), + [ + [e[0], e[1], e[2], e[3]], + [e[4], e[5], e[6], e[7]], + [e[8], e[9], e[10], e[11]], + [e[12], e[13], e[14], e[15]], + ] + ); + }); + }, + { 'gl-mat4': 292 }, + ], + 785: [ + function (t, e, r) { + 'use strict'; + e.exports = { + mod: function (t, e) { + var r = t % e; + return r < 0 ? r + e : r; + }, + modHalf: function (t, e) { + return Math.abs(t) > e / 2 ? t - Math.round(t / e) * e : t; + }, + }; + }, + {}, + ], + 786: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('./array').isArrayOrTypedArray; + function a(t, e) { + return function () { + var r, + n, + o, + s, + l, + c = t; + for (s = 0; s < e.length - 1; s++) { + if (-1 === (r = e[s])) { + for (n = !0, o = [], l = 0; l < c.length; l++) + (o[l] = a(c[l], e.slice(s + 1))()), + o[l] !== o[0] && (n = !1); + return n ? o[0] : o; + } + if ('number' == typeof r && !i(c)) return; + if ('object' != typeof (c = c[r]) || null === c) return; + } + if ('object' == typeof c && null !== c && null !== (o = c[e[s]])) + return o; + }; + } + e.exports = function (t, e) { + if (n(e)) e = String(e); + else if ('string' != typeof e || '[-1]' === e.substr(e.length - 4)) + throw 'bad property string'; + for (var r, i, o, s = 0, c = e.split('.'); s < c.length; ) { + if ((r = String(c[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/))) { + if (r[1]) c[s] = r[1]; + else { + if (0 !== s) throw 'bad property string'; + c.splice(0, 1); + } + for ( + i = r[2].substr(1, r[2].length - 2).split(']['), o = 0; + o < i.length; + o++ + ) + s++, c.splice(s, 0, Number(i[o])); + } + s++; + } + return 'object' != typeof t + ? (function (t, e, r) { + return { + set: function () { + throw 'bad container'; + }, + get: function () {}, + astr: e, + parts: r, + obj: t, + }; + })(t, e, c) + : { set: l(t, c, e), get: a(t, c), astr: e, parts: c, obj: t }; + }; + var o = /(^|\.)args\[/; + function s(t, e) { + return void 0 === t || (null === t && !e.match(o)); + } + function l(t, e, r) { + return function (n) { + var a, + o, + l = t, + h = '', + p = [[t, h]], + d = s(n, r); + for (o = 0; o < e.length - 1; o++) { + if ('number' == typeof (a = e[o]) && !i(l)) + throw 'array index but container is not an array'; + if (-1 === a) { + if ((d = !u(l, e.slice(o + 1), n, r))) break; + return; + } + if (!f(l, a, e[o + 1], d)) break; + if ('object' != typeof (l = l[a]) || null === l) + throw 'container is not an object'; + (h = c(h, a)), p.push([l, h]); + } + if (d) { + if ( + o === e.length - 1 && + (delete l[e[o]], Array.isArray(l) && +e[o] == l.length - 1) + ) + for (; l.length && void 0 === l[l.length - 1]; ) l.pop(); + } else l[e[o]] = n; + }; + } + function c(t, e) { + var r = e; + return n(e) ? (r = '[' + e + ']') : t && (r = '.' + e), t + r; + } + function u(t, e, r, n) { + var a, + o = i(r), + c = !0, + u = r, + h = n.replace('-1', 0), + p = !o && s(r, h), + d = e[0]; + for (a = 0; a < t.length; a++) + (h = n.replace('-1', a)), + o && (p = s((u = r[a % r.length]), h)), + p && (c = !1), + f(t, a, d, p) && l(t[a], e, n.replace('-1', a))(u); + return c; + } + function f(t, e, r, n) { + if (void 0 === t[e]) { + if (n) return !1; + t[e] = 'number' == typeof r ? [] : {}; + } + return !0; + } + }, + { './array': 760, 'fast-isnumeric': 241 }, + ], + 787: [ + function (t, e, r) { + 'use strict'; + e.exports = function () {}; + }, + {}, + ], + 788: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = []; + e.exports = function (t, e) { + if (-1 === a.indexOf(t)) { + a.push(t); + var r = 1e3; + i(e) ? (r = e) : 'long' === e && (r = 3e3); + var o = n.select('body').selectAll('.plotly-notifier').data([0]); + o.enter().append('div').classed('plotly-notifier', !0), + o + .selectAll('.notifier-note') + .data(a) + .enter() + .append('div') + .classed('notifier-note', !0) + .style('opacity', 0) + .each(function (t) { + var i = n.select(this); + i.append('button') + .classed('notifier-close', !0) + .html('×') + .on('click', function () { + i.transition().call(s); + }); + for ( + var a = i.append('p'), o = t.split(//g), l = 0; + l < o.length; + l++ + ) + l && a.append('br'), a.append('span').text(o[l]); + 'stick' === e + ? i.transition().duration(350).style('opacity', 1) + : i + .transition() + .duration(700) + .style('opacity', 1) + .transition() + .delay(r) + .call(s); + }); + } + function s(t) { + t.duration(700) + .style('opacity', 0) + .each('end', function (t) { + var e = a.indexOf(t); + -1 !== e && a.splice(e, 1), n.select(this).remove(); + }); + } + }; + }, + { d3: 169, 'fast-isnumeric': 241 }, + ], + 789: [ + function (t, e, r) { + 'use strict'; + var n = t('./setcursor'), + i = 'data-savedcursor'; + e.exports = function (t, e) { + var r = t.attr(i); + if (e) { + if (!r) { + for ( + var a = (t.attr('class') || '').split(' '), o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + 0 === s.indexOf('cursor-') && + t.attr(i, s.substr(7)).classed(s, !1); + } + t.attr(i) || t.attr(i, '!!'); + } + n(t, e); + } else r && (t.attr(i, null), '!!' === r ? n(t) : n(t, r)); + }; + }, + { './setcursor': 799 }, + ], + 790: [ + function (t, e, r) { + 'use strict'; + var n = t('./matrix').dot, + i = t('../constants/numerical').BADNUM, + a = (e.exports = {}); + (a.tester = function (t) { + var e, + r = t.slice(), + n = r[0][0], + a = n, + o = r[0][1], + s = o; + for (r.push(r[0]), e = 1; e < r.length; e++) + (n = Math.min(n, r[e][0])), + (a = Math.max(a, r[e][0])), + (o = Math.min(o, r[e][1])), + (s = Math.max(s, r[e][1])); + var l, + c = !1; + 5 === r.length && + (r[0][0] === r[1][0] + ? r[2][0] === r[3][0] && + r[0][1] === r[3][1] && + r[1][1] === r[2][1] && + ((c = !0), + (l = function (t) { + return t[0] === r[0][0]; + })) + : r[0][1] === r[1][1] && + r[2][1] === r[3][1] && + r[0][0] === r[3][0] && + r[1][0] === r[2][0] && + ((c = !0), + (l = function (t) { + return t[1] === r[0][1]; + }))); + var u = !0, + f = r[0]; + for (e = 1; e < r.length; e++) + if (f[0] !== r[e][0] || f[1] !== r[e][1]) { + u = !1; + break; + } + return { + xmin: n, + xmax: a, + ymin: o, + ymax: s, + pts: r, + contains: c + ? function (t, e) { + var r = t[0], + c = t[1]; + return ( + !( + r === i || + r < n || + r > a || + c === i || + c < o || + c > s + ) && + (!e || !l(t)) + ); + } + : function (t, e) { + var l = t[0], + c = t[1]; + if (l === i || l < n || l > a || c === i || c < o || c > s) + return !1; + var u, + f, + h, + p, + d, + g = r.length, + m = r[0][0], + v = r[0][1], + y = 0; + for (u = 1; u < g; u++) + if ( + ((f = m), + (h = v), + (m = r[u][0]), + (v = r[u][1]), + !( + l < (p = Math.min(f, m)) || + l > Math.max(f, m) || + c > Math.max(h, v) + )) + ) + if (c < Math.min(h, v)) l !== p && y++; + else { + if ( + c === + (d = + m === f ? c : h + ((l - f) * (v - h)) / (m - f)) + ) + return 1 !== u || !e; + c <= d && l !== p && y++; + } + return y % 2 == 1; + }, + isRect: c, + degenerate: u, + }; + }), + (a.isSegmentBent = function (t, e, r, i) { + var a, + o, + s, + l = t[e], + c = [t[r][0] - l[0], t[r][1] - l[1]], + u = n(c, c), + f = Math.sqrt(u), + h = [-c[1] / f, c[0] / f]; + for (a = e + 1; a < r; a++) + if ( + ((o = [t[a][0] - l[0], t[a][1] - l[1]]), + (s = n(o, c)) < 0 || s > u || Math.abs(n(o, h)) > i) + ) + return !0; + return !1; + }), + (a.filter = function (t, e) { + var r = [t[0]], + n = 0, + i = 0; + function o(o) { + t.push(o); + var s = r.length, + l = n; + r.splice(i + 1); + for (var c = l + 1; c < t.length; c++) + (c === t.length - 1 || a.isSegmentBent(t, l, c + 1, e)) && + (r.push(t[c]), + r.length < s - 2 && ((n = c), (i = r.length - 1)), + (l = c)); + } + t.length > 1 && o(t.pop()); + return { addPt: o, raw: t, filtered: r }; + }); + }, + { '../constants/numerical': 753, './matrix': 784 }, + ], + 791: [ + function (t, e, r) { + (function (r) { + (function () { + 'use strict'; + var n = t('./show_no_webgl_msg'), + i = t('regl'); + e.exports = function (t, e) { + var a = t._fullLayout, + o = !0; + return ( + a._glcanvas.each(function (n) { + if (!n.regl && (!n.pick || a._has('parcoords'))) { + try { + n.regl = i({ + canvas: this, + attributes: { + antialias: !n.pick, + preserveDrawingBuffer: !0, + }, + pixelRatio: + t._context.plotGlPixelRatio || r.devicePixelRatio, + extensions: e || [], + }); + } catch (t) { + o = !1; + } + n.regl || (o = !1), + o && + this.addEventListener( + 'webglcontextlost', + function (e) { + t && + t.emit && + t.emit('plotly_webglcontextlost', { + event: e, + layer: n.key, + }); + }, + !1 + ); + } + }), + o || n({ container: a._glcontainer.node() }), + o + ); + }; + }.call(this)); + }.call( + this, + 'undefined' != typeof global + ? global + : 'undefined' != typeof self + ? self + : 'undefined' != typeof window + ? window + : {} + )); + }, + { './show_no_webgl_msg': 800, regl: 540 }, + ], + 792: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('is-mobile'); + e.exports = function (t) { + var e; + if ( + 'string' != + typeof (e = + t && t.hasOwnProperty('userAgent') + ? t.userAgent + : (function () { + var t; + 'undefined' != typeof navigator && + (t = navigator.userAgent); + t && + t.headers && + 'string' == typeof t.headers['user-agent'] && + (t = t.headers['user-agent']); + return t; + })()) + ) + return !0; + var r = i({ + ua: { headers: { 'user-agent': e } }, + tablet: !0, + featureDetect: !1, + }); + if (!r) + for (var a = e.split(' '), o = 1; o < a.length; o++) { + if (-1 !== a[o].indexOf('Safari')) + for (var s = o - 1; s > -1; s--) { + var l = a[s]; + if ('Version/' === l.substr(0, 8)) { + var c = l.substr(8).split('.')[0]; + if ((n(c) && (c = +c), c >= 13)) return !0; + } + } + } + return r; + }; + }, + { 'fast-isnumeric': 241, 'is-mobile': 467 }, + ], + 793: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + if (e instanceof RegExp) { + for (var r = e.toString(), n = 0; n < t.length; n++) + if (t[n] instanceof RegExp && t[n].toString() === r) return t; + t.push(e); + } else (!e && 0 !== e) || -1 !== t.indexOf(e) || t.push(e); + return t; + }; + }, + {}, + ], + 794: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plot_api/plot_config').dfltConfig; + var a = { + add: function (t, e, r, n, a) { + var o, s; + (t.undoQueue = t.undoQueue || { + index: 0, + queue: [], + sequence: !1, + }), + (s = t.undoQueue.index), + t.autoplay + ? t.undoQueue.inSequence || (t.autoplay = !1) + : (!t.undoQueue.sequence || t.undoQueue.beginSequence + ? ((o = { + undo: { calls: [], args: [] }, + redo: { calls: [], args: [] }, + }), + t.undoQueue.queue.splice( + s, + t.undoQueue.queue.length - s, + o + ), + (t.undoQueue.index += 1)) + : (o = t.undoQueue.queue[s - 1]), + (t.undoQueue.beginSequence = !1), + o && + (o.undo.calls.unshift(e), + o.undo.args.unshift(r), + o.redo.calls.push(n), + o.redo.args.push(a)), + t.undoQueue.queue.length > i.queueLength && + (t.undoQueue.queue.shift(), t.undoQueue.index--)); + }, + startSequence: function (t) { + (t.undoQueue = t.undoQueue || { + index: 0, + queue: [], + sequence: !1, + }), + (t.undoQueue.sequence = !0), + (t.undoQueue.beginSequence = !0); + }, + stopSequence: function (t) { + (t.undoQueue = t.undoQueue || { + index: 0, + queue: [], + sequence: !1, + }), + (t.undoQueue.sequence = !1), + (t.undoQueue.beginSequence = !1); + }, + undo: function (t) { + var e, r; + if (t.framework && t.framework.isPolar) t.framework.undo(); + else if ( + !( + void 0 === t.undoQueue || + isNaN(t.undoQueue.index) || + t.undoQueue.index <= 0 + ) + ) { + for ( + t.undoQueue.index--, + e = t.undoQueue.queue[t.undoQueue.index], + t.undoQueue.inSequence = !0, + r = 0; + r < e.undo.calls.length; + r++ + ) + a.plotDo(t, e.undo.calls[r], e.undo.args[r]); + (t.undoQueue.inSequence = !1), (t.autoplay = !1); + } + }, + redo: function (t) { + var e, r; + if (t.framework && t.framework.isPolar) t.framework.redo(); + else if ( + !( + void 0 === t.undoQueue || + isNaN(t.undoQueue.index) || + t.undoQueue.index >= t.undoQueue.queue.length + ) + ) { + for ( + e = t.undoQueue.queue[t.undoQueue.index], + t.undoQueue.inSequence = !0, + r = 0; + r < e.redo.calls.length; + r++ + ) + a.plotDo(t, e.redo.calls[r], e.redo.args[r]); + (t.undoQueue.inSequence = !1), + (t.autoplay = !1), + t.undoQueue.index++; + } + }, + }; + (a.plotDo = function (t, e, r) { + (t.autoplay = !0), + (r = (function (t, e) { + for (var r, i = [], a = 0; a < e.length; a++) + (r = e[a]), + (i[a] = + r === t + ? r + : 'object' == typeof r + ? Array.isArray(r) + ? n.extendDeep([], r) + : n.extendDeepAll({}, r) + : r); + return i; + })(t, r)), + e.apply(null, r); + }), + (e.exports = a); + }, + { '../lib': 778, '../plot_api/plot_config': 815 }, + ], + 795: [ + function (t, e, r) { + 'use strict'; + r.counter = function (t, e, r, n) { + var i = (e || '') + (r ? '' : '$'), + a = !1 === n ? '' : '^'; + return 'xy' === t + ? new RegExp(a + 'x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?' + i) + : new RegExp(a + t + '([2-9]|[1-9][0-9]+)?' + i); + }; + }, + {}, + ], + 796: [ + function (t, e, r) { + 'use strict'; + var n = /^(.*)(\.[^\.\[\]]+|\[\d\])$/, + i = /^[^\.\[\]]+$/; + e.exports = function (t, e) { + for (; e; ) { + var r = t.match(n); + if (r) t = r[1]; + else { + if (!t.match(i)) + throw new Error('bad relativeAttr call:' + [t, e]); + t = ''; + } + if ('^' !== e.charAt(0)) break; + e = e.slice(1); + } + return t && '[' !== e.charAt(0) ? t + '.' + e : t + e; + }; + }, + {}, + ], + 797: [ + function (t, e, r) { + 'use strict'; + var n = t('./array').isArrayOrTypedArray, + i = t('./is_plain_object'); + e.exports = function t(e, r) { + for (var a in r) { + var o = r[a], + s = e[a]; + if (s !== o) + if ('_' === a.charAt(0) || 'function' == typeof o) { + if (a in e) continue; + e[a] = o; + } else if (n(o) && n(s) && i(o[0])) { + if ('customdata' === a || 'ids' === a) continue; + for (var l = Math.min(o.length, s.length), c = 0; c < l; c++) + s[c] !== o[c] && i(o[c]) && i(s[c]) && t(s[c], o[c]); + } else + i(o) && + i(s) && + (t(s, o), Object.keys(s).length || delete e[a]); + } + }; + }, + { './array': 760, './is_plain_object': 779 }, + ], + 798: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('./loggers'), + a = t('./identity'), + o = t('../constants/numerical').BADNUM; + function s(t, e) { + return t < e; + } + function l(t, e) { + return t <= e; + } + function c(t, e) { + return t > e; + } + function u(t, e) { + return t >= e; + } + (r.findBin = function (t, e, r) { + if (n(e.start)) + return r + ? Math.ceil((t - e.start) / e.size - 1e-9) - 1 + : Math.floor((t - e.start) / e.size + 1e-9); + var a, + o, + f = 0, + h = e.length, + p = 0, + d = h > 1 ? (e[h - 1] - e[0]) / (h - 1) : 1; + for ( + o = d >= 0 ? (r ? s : l) : r ? u : c, + t += 1e-9 * d * (r ? -1 : 1) * (d >= 0 ? 1 : -1); + f < h && p++ < 100; + + ) + o(e[(a = Math.floor((f + h) / 2))], t) ? (f = a + 1) : (h = a); + return p > 90 && i.log('Long binary search...'), f - 1; + }), + (r.sorterAsc = function (t, e) { + return t - e; + }), + (r.sorterDes = function (t, e) { + return e - t; + }), + (r.distinctVals = function (t, e) { + var n, + i = (e || {}).unitMinDiff, + a = t.slice(); + for ( + a.sort(r.sorterAsc), n = a.length - 1; + n > -1 && a[n] === o; + n-- + ); + var s = 1; + i || (s = a[n] - a[0] || 1); + for (var l, c = s / (n || 1) / 1e4, u = [], f = 0; f <= n; f++) { + var h = a[f], + p = h - l; + void 0 === l + ? (u.push(h), (l = h)) + : p > c && ((s = Math.min(s, p)), u.push(h), (l = h)); + } + return { vals: u, minDiff: s }; + }), + (r.roundUp = function (t, e, r) { + for ( + var n, + i = 0, + a = e.length - 1, + o = 0, + s = r ? 0 : 1, + l = r ? 1 : 0, + c = r ? Math.ceil : Math.floor; + i < a && o++ < 100; + + ) + e[(n = c((i + a) / 2))] <= t ? (i = n + s) : (a = n - l); + return e[i]; + }), + (r.sort = function (t, e) { + for (var r = 0, n = 0, i = 1; i < t.length; i++) { + var a = e(t[i], t[i - 1]); + if ((a < 0 ? (r = 1) : a > 0 && (n = 1), r && n)) + return t.sort(e); + } + return n ? t : t.reverse(); + }), + (r.findIndexOfMin = function (t, e) { + e = e || a; + for (var r, n = 1 / 0, i = 0; i < t.length; i++) { + var o = e(t[i]); + o < n && ((n = o), (r = i)); + } + return r; + }); + }, + { + '../constants/numerical': 753, + './identity': 776, + './loggers': 782, + 'fast-isnumeric': 241, + }, + ], + 799: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + (t.attr('class') || '').split(' ').forEach(function (e) { + 0 === e.indexOf('cursor-') && t.classed(e, !1); + }), + e && t.classed('cursor-' + e, !0); + }; + }, + {}, + ], + 800: [ + function (t, e, r) { + 'use strict'; + var n = t('../components/color'), + i = function () {}; + e.exports = function (t) { + for (var e in t) 'function' == typeof t[e] && (t[e] = i); + t.destroy = function () { + t.container.parentNode.removeChild(t.container); + }; + var r = document.createElement('div'); + (r.className = 'no-webgl'), + (r.style.cursor = 'pointer'), + (r.style.fontSize = '24px'), + (r.style.color = n.defaults[0]), + (r.style.position = 'absolute'), + (r.style.left = r.style.top = '0px'), + (r.style.width = r.style.height = '100%'), + (r.style['background-color'] = n.lightLine), + (r.style['z-index'] = 30); + var a = document.createElement('p'); + return ( + (a.textContent = + 'WebGL is not supported by your browser - visit https://get.webgl.org for more info'), + (a.style.position = 'relative'), + (a.style.top = '50%'), + (a.style.left = '50%'), + (a.style.height = '30%'), + (a.style.width = '50%'), + (a.style.margin = '-15% 0 0 -25%'), + r.appendChild(a), + t.container.appendChild(r), + (t.container.style.background = '#FFFFFF'), + (t.container.onclick = function () { + window.open('https://get.webgl.org'); + }), + !1 + ); + }; + }, + { '../components/color': 643 }, + ], + 801: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('./array').isArrayOrTypedArray; + (r.aggNums = function (t, e, a, o) { + var s, l; + if ( + ((!o || o > a.length) && (o = a.length), + n(e) || (e = !1), + i(a[0])) + ) { + for (l = new Array(o), s = 0; s < o; s++) + l[s] = r.aggNums(t, e, a[s]); + a = l; + } + for (s = 0; s < o; s++) + n(e) ? n(a[s]) && (e = t(+e, +a[s])) : (e = a[s]); + return e; + }), + (r.len = function (t) { + return r.aggNums( + function (t) { + return t + 1; + }, + 0, + t + ); + }), + (r.mean = function (t, e) { + return ( + e || (e = r.len(t)), + r.aggNums( + function (t, e) { + return t + e; + }, + 0, + t + ) / e + ); + }), + (r.midRange = function (t) { + if (void 0 !== t && 0 !== t.length) + return ( + (r.aggNums(Math.max, null, t) + + r.aggNums(Math.min, null, t)) / + 2 + ); + }), + (r.variance = function (t, e, i) { + return ( + e || (e = r.len(t)), + n(i) || (i = r.mean(t, e)), + r.aggNums( + function (t, e) { + return t + Math.pow(e - i, 2); + }, + 0, + t + ) / e + ); + }), + (r.stdev = function (t, e, n) { + return Math.sqrt(r.variance(t, e, n)); + }), + (r.median = function (t) { + var e = t.slice().sort(); + return r.interp(e, 0.5); + }), + (r.interp = function (t, e) { + if (!n(e)) throw 'n should be a finite number'; + if ((e = e * t.length - 0.5) < 0) return t[0]; + if (e > t.length - 1) return t[t.length - 1]; + var r = e % 1; + return r * t[Math.ceil(e)] + (1 - r) * t[Math.floor(e)]; + }); + }, + { './array': 760, 'fast-isnumeric': 241 }, + ], + 802: [ + function (t, e, r) { + 'use strict'; + var n = t('color-normalize'); + e.exports = function (t) { + return t ? n(t) : [0, 0, 0, 1]; + }; + }, + { 'color-normalize': 125 }, + ], + 803: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../lib'), + a = i.strTranslate, + o = t('../constants/xmlns_namespaces'), + s = t('../constants/alignment').LINE_SPACING; + function l(t, e) { + return t.node().getBoundingClientRect()[e]; + } + var c = /([^$]*)([$]+[^$]*[$]+)([^$]*)/; + r.convertToTspans = function (t, e, g) { + var A = t.text(), + S = + !t.attr('data-notex') && + 'undefined' != typeof MathJax && + A.match(c), + L = n.select(t.node().parentNode); + if (!L.empty()) { + var I = t.attr('class') ? t.attr('class').split(' ')[0] : 'text'; + return ( + (I += '-math'), + L.selectAll('svg.' + I).remove(), + L.selectAll('g.' + I + '-group').remove(), + t + .style('display', null) + .attr({ 'data-unformatted': A, 'data-math': 'N' }), + S + ? ((e && e._promises) || []).push( + new Promise(function (e) { + t.style('display', 'none'); + var r = parseInt(t.node().style.fontSize, 10), + o = { fontSize: r }; + !(function (t, e, r) { + var a, o, s, l; + MathJax.Hub.Queue( + function () { + return ( + (o = i.extendDeepAll({}, MathJax.Hub.config)), + (s = MathJax.Hub.processSectionDelay), + void 0 !== MathJax.Hub.processSectionDelay && + (MathJax.Hub.processSectionDelay = 0), + MathJax.Hub.Config({ + messageStyle: 'none', + tex2jax: { + inlineMath: [ + ['$', '$'], + ['\\(', '\\)'], + ], + }, + displayAlign: 'left', + }) + ); + }, + function () { + if ( + 'SVG' !== + (a = MathJax.Hub.config.menuSettings.renderer) + ) + return MathJax.Hub.setRenderer('SVG'); + }, + function () { + var r = 'math-output-' + i.randstr({}, 64); + return ( + (l = n + .select('body') + .append('div') + .attr({ id: r }) + .style({ + visibility: 'hidden', + position: 'absolute', + }) + .style({ 'font-size': e.fontSize + 'px' }) + .text( + t.replace(u, '\\lt ').replace(f, '\\gt ') + )), + MathJax.Hub.Typeset(l.node()) + ); + }, + function () { + var e = n + .select('body') + .select('#MathJax_SVG_glyphs'); + if ( + l.select('.MathJax_SVG').empty() || + !l.select('svg').node() + ) + i.log( + 'There was an error in the tex syntax.', + t + ), + r(); + else { + var o = l + .select('svg') + .node() + .getBoundingClientRect(); + r(l.select('.MathJax_SVG'), e, o); + } + if ((l.remove(), 'SVG' !== a)) + return MathJax.Hub.setRenderer(a); + }, + function () { + return ( + void 0 !== s && + (MathJax.Hub.processSectionDelay = s), + MathJax.Hub.Config(o) + ); + } + ); + })(S[2], o, function (n, i, o) { + L.selectAll('svg.' + I).remove(), + L.selectAll('g.' + I + '-group').remove(); + var s = n && n.select('svg'); + if (!s || !s.node()) return P(), void e(); + var c = L.append('g') + .classed(I + '-group', !0) + .attr({ + 'pointer-events': 'none', + 'data-unformatted': A, + 'data-math': 'Y', + }); + c.node().appendChild(s.node()), + i && + i.node() && + s + .node() + .insertBefore( + i.node().cloneNode(!0), + s.node().firstChild + ), + s + .attr({ + class: I, + height: o.height, + preserveAspectRatio: 'xMinYMin meet', + }) + .style({ + overflow: 'visible', + 'pointer-events': 'none', + }); + var u = t.node().style.fill || 'black', + f = s.select('g'); + f.attr({ fill: u, stroke: u }); + var h = l(f, 'width'), + p = l(f, 'height'), + d = + +t.attr('x') - + h * + { start: 0, middle: 0.5, end: 1 }[ + t.attr('text-anchor') || 'start' + ], + m = -(r || l(t, 'height')) / 4; + 'y' === I[0] + ? (c.attr({ + transform: + 'rotate(' + + [-90, +t.attr('x'), +t.attr('y')] + + ')' + + a(-h / 2, m - p / 2), + }), + s.attr({ x: +t.attr('x'), y: +t.attr('y') })) + : 'l' === I[0] + ? s.attr({ x: t.attr('x'), y: m - p / 2 }) + : 'a' === I[0] && 0 !== I.indexOf('atitle') + ? s.attr({ x: 0, y: m }) + : s.attr({ x: d, y: +t.attr('y') + m - p / 2 }), + g && g.call(t, c), + e(c); + }); + }) + ) + : P(), + t + ); + } + function P() { + L.empty() || + ((I = t.attr('class') + '-math'), + L.select('svg.' + I).remove()), + t.text('').style('white-space', 'pre'), + (function (t, e) { + e = e.replace(m, ' '); + var r, + a = !1, + l = [], + c = -1; + function u() { + c++; + var e = document.createElementNS(o.svg, 'tspan'); + n.select(e).attr({ class: 'line', dy: c * s + 'em' }), + t.appendChild(e), + (r = e); + var i = l; + if (((l = [{ node: e }]), i.length > 1)) + for (var a = 1; a < i.length; a++) f(i[a]); + } + function f(t) { + var e, + i = t.type, + a = {}; + if ('a' === i) { + e = 'a'; + var s = t.target, + c = t.href, + u = t.popup; + c && + ((a = { + 'xlink:xlink:show': + '_blank' === s || '_' !== s.charAt(0) + ? 'new' + : 'replace', + target: s, + 'xlink:xlink:href': c, + }), + u && + (a.onclick = + 'window.open(this.href.baseVal,this.target.baseVal,"' + + u + + '");return false;')); + } else e = 'tspan'; + t.style && (a.style = t.style); + var f = document.createElementNS(o.svg, e); + if ('sup' === i || 'sub' === i) { + g(r, '\u200b'), r.appendChild(f); + var h = document.createElementNS(o.svg, 'tspan'); + g(h, '\u200b'), + n.select(h).attr('dy', d[i]), + (a.dy = p[i]), + r.appendChild(f), + r.appendChild(h); + } else r.appendChild(f); + n.select(f).attr(a), (r = t.node = f), l.push(t); + } + function g(t, e) { + t.appendChild(document.createTextNode(e)); + } + function A(t) { + if (1 !== l.length) { + var n = l.pop(); + t !== n.type && + i.log( + 'Start tag <' + + n.type + + '> doesnt match end tag <' + + t + + '>. Pretending it did match.', + e + ), + (r = l[l.length - 1].node); + } else + i.log('Ignoring unexpected end tag .', e); + } + x.test(e) ? u() : ((r = t), (l = [{ node: t }])); + for (var S = e.split(v), L = 0; L < S.length; L++) { + var I = S[L], + P = I.match(y), + z = P && P[2].toLowerCase(), + O = h[z]; + if ('br' === z) u(); + else if (void 0 === O) g(r, E(I)); + else if (P[1]) A(z); + else { + var D = P[4], + R = { type: z }, + F = k(D, b); + if ( + (F + ? ((F = F.replace(M, '$1 fill:')), + O && (F += ';' + O)) + : O && (F = O), + F && (R.style = F), + 'a' === z) + ) { + a = !0; + var B = k(D, _); + if (B) { + var N = C(B); + N && + ((R.href = N), + (R.target = k(D, w) || '_blank'), + (R.popup = k(D, T))); + } + } + f(R); + } + } + return a; + })(t.node(), A) && t.style('pointer-events', 'all'), + r.positionText(t), + g && g.call(t); + } + }; + var u = /(<|<|<)/g, + f = /(>|>|>)/g; + var h = { + sup: 'font-size:70%', + sub: 'font-size:70%', + b: 'font-weight:bold', + i: 'font-style:italic', + a: 'cursor:pointer', + span: '', + em: 'font-style:italic;font-weight:bold', + }, + p = { sub: '0.3em', sup: '-0.6em' }, + d = { sub: '-0.21em', sup: '0.42em' }, + g = ['http:', 'https:', 'mailto:', '', void 0, ':'], + m = (r.NEWLINES = /(\r\n?|\n)/g), + v = /(<[^<>]*>)/, + y = /<(\/?)([^ >]*)(\s+(.*))?>/i, + x = //i; + r.BR_TAG_ALL = //gi; + var b = /(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i, + _ = /(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i, + w = /(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i, + T = /(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i; + function k(t, e) { + if (!t) return null; + var r = t.match(e), + n = r && (r[3] || r[4]); + return n && E(n); + } + var M = /(^|;)\s*color:/; + r.plainText = function (t, e) { + for ( + var r = + void 0 !== (e = e || {}).len && -1 !== e.len ? e.len : 1 / 0, + n = void 0 !== e.allowedTags ? e.allowedTags : ['br'], + i = '...'.length, + a = t.split(v), + o = [], + s = '', + l = 0, + c = 0; + c < a.length; + c++ + ) { + var u = a[c], + f = u.match(y), + h = f && f[2].toLowerCase(); + if (h) -1 !== n.indexOf(h) && (o.push(u), (s = h)); + else { + var p = u.length; + if (l + p < r) o.push(u), (l += p); + else if (l < r) { + var d = r - l; + s && ('br' !== s || d <= i || p <= i) && o.pop(), + r > i + ? o.push(u.substr(0, d - i) + '...') + : o.push(u.substr(0, d)); + break; + } + s = ''; + } + } + return o.join(''); + }; + var A = { + mu: '\u03bc', + amp: '&', + lt: '<', + gt: '>', + nbsp: '\xa0', + times: '\xd7', + plusmn: '\xb1', + deg: '\xb0', + }, + S = /&(#\d+|#x[\da-fA-F]+|[a-z]+);/g; + function E(t) { + return t.replace(S, function (t, e) { + return ( + ('#' === e.charAt(0) + ? (function (t) { + if (t > 1114111) return; + var e = String.fromCodePoint; + if (e) return e(t); + var r = String.fromCharCode; + return t <= 65535 + ? r(t) + : r(55232 + (t >> 10), (t % 1024) + 56320); + })( + 'x' === e.charAt(1) + ? parseInt(e.substr(2), 16) + : parseInt(e.substr(1), 10) + ) + : A[e]) || t + ); + }); + } + function C(t) { + var e = encodeURI(decodeURI(t)), + r = document.createElement('a'), + n = document.createElement('a'); + (r.href = t), (n.href = e); + var i = r.protocol, + a = n.protocol; + return -1 !== g.indexOf(i) && -1 !== g.indexOf(a) ? e : ''; + } + function L(t, e, r) { + var n, + a, + o, + s = r.horizontalAlign, + l = r.verticalAlign || 'top', + c = t.node().getBoundingClientRect(), + u = e.node().getBoundingClientRect(); + return ( + (a = + 'bottom' === l + ? function () { + return c.bottom - n.height; + } + : 'middle' === l + ? function () { + return c.top + (c.height - n.height) / 2; + } + : function () { + return c.top; + }), + (o = + 'right' === s + ? function () { + return c.right - n.width; + } + : 'center' === s + ? function () { + return c.left + (c.width - n.width) / 2; + } + : function () { + return c.left; + }), + function () { + n = this.node().getBoundingClientRect(); + var t = o() - u.left, + e = a() - u.top, + s = r.gd || {}; + if (r.gd) { + s._fullLayout._calcInverseTransform(s); + var l = i.apply3DTransform(s._fullLayout._invTransform)(t, e); + (t = l[0]), (e = l[1]); + } + return ( + this.style({ top: e + 'px', left: t + 'px', 'z-index': 1e3 }), + this + ); + } + ); + } + (r.convertEntities = E), + (r.sanitizeHTML = function (t) { + t = t.replace(m, ' '); + for ( + var e = document.createElement('p'), + r = e, + i = [], + a = t.split(v), + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = s.match(y), + c = l && l[2].toLowerCase(); + if (c in h) + if (l[1]) i.length && (r = i.pop()); + else { + var u = l[4], + f = k(u, b), + p = f ? { style: f } : {}; + if ('a' === c) { + var d = k(u, _); + if (d) { + var g = C(d); + if (g) { + p.href = g; + var x = k(u, w); + x && (p.target = x); + } + } + } + var T = document.createElement(c); + r.appendChild(T), n.select(T).attr(p), (r = T), i.push(T); + } + else r.appendChild(document.createTextNode(E(s))); + } + return e.innerHTML; + }), + (r.lineCount = function (t) { + return t.selectAll('tspan.line').size() || 1; + }), + (r.positionText = function (t, e, r) { + return t.each(function () { + var t = n.select(this); + function i(e, r) { + return ( + void 0 === r + ? null === (r = t.attr(e)) && (t.attr(e, 0), (r = 0)) + : t.attr(e, r), + r + ); + } + var a = i('x', e), + o = i('y', r); + 'text' === this.nodeName && + t.selectAll('tspan.line').attr({ x: a, y: o }); + }); + }), + (r.makeEditable = function (t, e) { + var r = e.gd, + i = e.delegate, + a = n.dispatch('edit', 'input', 'cancel'), + o = i || t; + if ( + (t.style({ 'pointer-events': i ? 'none' : 'all' }), + 1 !== t.size()) + ) + throw new Error('boo'); + function s() { + !(function () { + var i = n.select(r).select('.svg-container'), + o = i.append('div'), + s = t.node().style, + c = parseFloat(s.fontSize || 12), + u = e.text; + void 0 === u && (u = t.attr('data-unformatted')); + o.classed('plugin-editable editable', !0) + .style({ + position: 'absolute', + 'font-family': s.fontFamily || 'Arial', + 'font-size': c, + color: e.fill || s.fill || 'black', + opacity: 1, + 'background-color': e.background || 'transparent', + outline: '#ffffff33 1px solid', + margin: [-c / 8 + 1, 0, 0, -1].join('px ') + 'px', + padding: '0', + 'box-sizing': 'border-box', + }) + .attr({ contenteditable: !0 }) + .text(u) + .call(L(t, i, e)) + .on('blur', function () { + (r._editing = !1), + t.text(this.textContent).style({ opacity: 1 }); + var e, + i = n.select(this).attr('class'); + (e = i + ? '.' + i.split(' ')[0] + '-math-group' + : '[class*=-math-group]') && + n + .select(t.node().parentNode) + .select(e) + .style({ opacity: 0 }); + var o = this.textContent; + n.select(this).transition().duration(0).remove(), + n.select(document).on('mouseup', null), + a.edit.call(t, o); + }) + .on('focus', function () { + var t = this; + (r._editing = !0), + n.select(document).on('mouseup', function () { + if (n.event.target === t) return !1; + document.activeElement === o.node() && + o.node().blur(); + }); + }) + .on('keyup', function () { + 27 === n.event.which + ? ((r._editing = !1), + t.style({ opacity: 1 }), + n + .select(this) + .style({ opacity: 0 }) + .on('blur', function () { + return !1; + }) + .transition() + .remove(), + a.cancel.call(t, this.textContent)) + : (a.input.call(t, this.textContent), + n.select(this).call(L(t, i, e))); + }) + .on('keydown', function () { + 13 === n.event.which && this.blur(); + }) + .call(l); + })(), + t.style({ opacity: 0 }); + var i, + s = o.attr('class'); + (i = s + ? '.' + s.split(' ')[0] + '-math-group' + : '[class*=-math-group]') && + n.select(t.node().parentNode).select(i).style({ opacity: 0 }); + } + function l(t) { + var e = t.node(), + r = document.createRange(); + r.selectNodeContents(e); + var n = window.getSelection(); + n.removeAllRanges(), n.addRange(r), e.focus(); + } + return e.immediate ? s() : o.on('click', s), n.rebind(t, a, 'on'); + }); + }, + { + '../constants/alignment': 745, + '../constants/xmlns_namespaces': 754, + '../lib': 778, + d3: 169, + }, + ], + 804: [ + function (t, e, r) { + 'use strict'; + var n = {}; + function i(t) { + t && null !== t.timer && (clearTimeout(t.timer), (t.timer = null)); + } + (r.throttle = function (t, e, r) { + var a = n[t], + o = Date.now(); + if (!a) { + for (var s in n) n[s].ts < o - 6e4 && delete n[s]; + a = n[t] = { ts: 0, timer: null }; + } + function l() { + r(), + (a.ts = Date.now()), + a.onDone && (a.onDone(), (a.onDone = null)); + } + i(a), + o > a.ts + e + ? l() + : (a.timer = setTimeout(function () { + l(), (a.timer = null); + }, e)); + }), + (r.done = function (t) { + var e = n[t]; + return e && e.timer + ? new Promise(function (t) { + var r = e.onDone; + e.onDone = function () { + r && r(), t(), (e.onDone = null); + }; + }) + : Promise.resolve(); + }), + (r.clear = function (t) { + if (t) i(n[t]), delete n[t]; + else for (var e in n) r.clear(e); + }); + }, + {}, + ], + 805: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'); + e.exports = function (t, e) { + if (t > 0) return Math.log(t) / Math.LN10; + var r = Math.log(Math.min(e[0], e[1])) / Math.LN10; + return ( + n(r) || (r = Math.log(Math.max(e[0], e[1])) / Math.LN10 - 6), r + ); + }; + }, + { 'fast-isnumeric': 241 }, + ], + 806: [ + function (t, e, r) { + 'use strict'; + var n = (e.exports = {}), + i = t('../plots/geo/constants').locationmodeToLayer, + a = t('topojson-client').feature; + (n.getTopojsonName = function (t) { + return [ + t.scope.replace(/ /g, '-'), + '_', + t.resolution.toString(), + 'm', + ].join(''); + }), + (n.getTopojsonPath = function (t, e) { + return t + e + '.json'; + }), + (n.getTopojsonFeatures = function (t, e) { + var r = i[t.locationmode], + n = e.objects[r]; + return a(e, n).features; + }); + }, + { '../plots/geo/constants': 858, 'topojson-client': 579 }, + ], + 807: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'locale', + name: 'en-US', + dictionary: { + 'Click to enter Colorscale title': + 'Click to enter Colorscale title', + }, + format: { date: '%m/%d/%Y' }, + }; + }, + {}, + ], + 808: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'locale', + name: 'en', + dictionary: { + 'Click to enter Colorscale title': + 'Click to enter Colourscale title', + }, + format: { + days: [ + 'Sunday', + 'Monday', + 'Tuesday', + 'Wednesday', + 'Thursday', + 'Friday', + 'Saturday', + ], + shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: [ + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December', + ], + shortMonths: [ + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec', + ], + periods: ['AM', 'PM'], + dateTime: '%a %b %e %X %Y', + date: '%d/%m/%Y', + time: '%H:%M:%S', + decimal: '.', + thousands: ',', + grouping: [3], + currency: ['$', ''], + year: '%Y', + month: '%b %Y', + dayMonth: '%b %-d', + dayMonthYear: '%b %-d, %Y', + }, + }; + }, + {}, + ], + 809: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'); + e.exports = function (t) { + for ( + var e, + r, + i = n.layoutArrayContainers, + a = n.layoutArrayRegexes, + o = t.split('[')[0], + s = 0; + s < a.length; + s++ + ) + if ((r = t.match(a[s])) && 0 === r.index) { + e = r[0]; + break; + } + if ((e || (e = i[i.indexOf(o)]), !e)) return !1; + var l = t.substr(e.length); + return l + ? !!(r = l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/)) && { + array: e, + index: Number(r[1]), + property: r[3] || '', + } + : { array: e, index: '', property: '' }; + }; + }, + { '../registry': 911 }, + ], + 810: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = n.extendFlat, + a = n.isPlainObject, + o = { + valType: 'flaglist', + extras: ['none'], + flags: [ + 'calc', + 'clearAxisTypes', + 'plot', + 'style', + 'markerSize', + 'colorbars', + ], + }, + s = { + valType: 'flaglist', + extras: ['none'], + flags: [ + 'calc', + 'plot', + 'legend', + 'ticks', + 'axrange', + 'layoutstyle', + 'modebar', + 'camera', + 'arraydraw', + 'colorbars', + ], + }, + l = o.flags.slice().concat(['fullReplot']), + c = s.flags.slice().concat('layoutReplot'); + function u(t) { + for (var e = {}, r = 0; r < t.length; r++) e[t[r]] = !1; + return e; + } + function f(t, e, r) { + var n = i({}, t); + for (var o in n) { + var s = n[o]; + a(s) && (n[o] = h(s, e, r, o)); + } + return 'from-root' === r && (n.editType = e), n; + } + function h(t, e, r, n) { + if (t.valType) { + var a = i({}, t); + if (((a.editType = e), Array.isArray(t.items))) { + a.items = new Array(t.items.length); + for (var o = 0; o < t.items.length; o++) + a.items[o] = h(t.items[o], e, 'from-root'); + } + return a; + } + return f(t, e, '_' === n.charAt(0) ? 'nested' : 'from-root'); + } + e.exports = { + traces: o, + layout: s, + traceFlags: function () { + return u(l); + }, + layoutFlags: function () { + return u(c); + }, + update: function (t, e) { + var r = e.editType; + if (r && 'none' !== r) + for (var n = r.split('+'), i = 0; i < n.length; i++) + t[n[i]] = !0; + }, + overrideAll: f, + }; + }, + { '../lib': 778 }, + ], + 811: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('gl-mat4/fromQuat'), + a = t('../registry'), + o = t('../lib'), + s = t('../plots/plots'), + l = t('../plots/cartesian/axis_ids'), + c = t('../components/color'), + u = l.cleanId, + f = l.getFromTrace, + h = a.traceIs; + function p(t, e) { + var r = t[e], + n = e.charAt(0); + r && 'paper' !== r && (t[e] = u(r, n, !0)); + } + function d(t) { + function e(e, r) { + var n = t[e], + i = t.title && t.title[r]; + n && + !i && + (t.title || (t.title = {}), (t.title[r] = t[e]), delete t[e]); + } + t && + (('string' != typeof t.title && 'number' != typeof t.title) || + (t.title = { text: t.title }), + e('titlefont', 'font'), + e('titleposition', 'position'), + e('titleside', 'side'), + e('titleoffset', 'offset')); + } + function g(t) { + if (!o.isPlainObject(t)) return !1; + var e = t.name; + return ( + delete t.name, + delete t.showlegend, + ('string' == typeof e || 'number' == typeof e) && String(e) + ); + } + function m(t, e, r, n) { + if (r && !n) return t; + if (n && !r) return e; + if (!t.trim()) return e; + if (!e.trim()) return t; + var i, + a = Math.min(t.length, e.length); + for (i = 0; i < a && t.charAt(i) === e.charAt(i); i++); + return t.substr(0, i).trim(); + } + function v(t) { + var e = 'middle', + r = 'center'; + return ( + 'string' == typeof t && + (-1 !== t.indexOf('top') + ? (e = 'top') + : -1 !== t.indexOf('bottom') && (e = 'bottom'), + -1 !== t.indexOf('left') + ? (r = 'left') + : -1 !== t.indexOf('right') && (r = 'right')), + e + ' ' + r + ); + } + function y(t, e) { + return ( + e in t && + 'object' == typeof t[e] && + 0 === Object.keys(t[e]).length + ); + } + (r.clearPromiseQueue = function (t) { + Array.isArray(t._promises) && + t._promises.length > 0 && + o.log('Clearing previous rejected promises from queue.'), + (t._promises = []); + }), + (r.cleanLayout = function (t) { + var e, n; + t || (t = {}), + t.xaxis1 && (t.xaxis || (t.xaxis = t.xaxis1), delete t.xaxis1), + t.yaxis1 && (t.yaxis || (t.yaxis = t.yaxis1), delete t.yaxis1), + t.scene1 && (t.scene || (t.scene = t.scene1), delete t.scene1); + var a = (s.subplotsRegistry.cartesian || {}).attrRegex, + l = (s.subplotsRegistry.polar || {}).attrRegex, + f = (s.subplotsRegistry.ternary || {}).attrRegex, + h = (s.subplotsRegistry.gl3d || {}).attrRegex, + g = Object.keys(t); + for (e = 0; e < g.length; e++) { + var m = g[e]; + if (a && a.test(m)) { + var v = t[m]; + v.anchor && 'free' !== v.anchor && (v.anchor = u(v.anchor)), + v.overlaying && (v.overlaying = u(v.overlaying)), + v.type || + (v.isdate + ? (v.type = 'date') + : v.islog + ? (v.type = 'log') + : !1 === v.isdate && + !1 === v.islog && + (v.type = 'linear')), + ('withzero' !== v.autorange && 'tozero' !== v.autorange) || + ((v.autorange = !0), (v.rangemode = 'tozero')), + delete v.islog, + delete v.isdate, + delete v.categories, + y(v, 'domain') && delete v.domain, + void 0 !== v.autotick && + (void 0 === v.tickmode && + (v.tickmode = v.autotick ? 'auto' : 'linear'), + delete v.autotick), + d(v); + } else if (l && l.test(m)) { + d(t[m].radialaxis); + } else if (f && f.test(m)) { + var x = t[m]; + d(x.aaxis), d(x.baxis), d(x.caxis); + } else if (h && h.test(m)) { + var b = t[m], + _ = b.cameraposition; + if (Array.isArray(_) && 4 === _[0].length) { + var w = _[0], + T = _[1], + k = _[2], + M = i([], w), + A = []; + for (n = 0; n < 3; ++n) A[n] = T[n] + k * M[2 + 4 * n]; + (b.camera = { + eye: { x: A[0], y: A[1], z: A[2] }, + center: { x: T[0], y: T[1], z: T[2] }, + up: { x: 0, y: 0, z: 1 }, + }), + delete b.cameraposition; + } + d(b.xaxis), d(b.yaxis), d(b.zaxis); + } + } + var S = Array.isArray(t.annotations) ? t.annotations.length : 0; + for (e = 0; e < S; e++) { + var E = t.annotations[e]; + o.isPlainObject(E) && + (E.ref && + ('paper' === E.ref + ? ((E.xref = 'paper'), (E.yref = 'paper')) + : 'data' === E.ref && ((E.xref = 'x'), (E.yref = 'y')), + delete E.ref), + p(E, 'xref'), + p(E, 'yref')); + } + var C = Array.isArray(t.shapes) ? t.shapes.length : 0; + for (e = 0; e < C; e++) { + var L = t.shapes[e]; + o.isPlainObject(L) && (p(L, 'xref'), p(L, 'yref')); + } + var I = Array.isArray(t.images) ? t.images.length : 0; + for (e = 0; e < I; e++) { + var P = t.images[e]; + o.isPlainObject(P) && (p(P, 'xref'), p(P, 'yref')); + } + var z = t.legend; + return ( + z && + (z.x > 3 + ? ((z.x = 1.02), (z.xanchor = 'left')) + : z.x < -2 && ((z.x = -0.02), (z.xanchor = 'right')), + z.y > 3 + ? ((z.y = 1.02), (z.yanchor = 'bottom')) + : z.y < -2 && ((z.y = -0.02), (z.yanchor = 'top'))), + d(t), + 'rotate' === t.dragmode && (t.dragmode = 'orbit'), + c.clean(t), + t.template && + t.template.layout && + r.cleanLayout(t.template.layout), + t + ); + }), + (r.cleanData = function (t) { + for (var e = 0; e < t.length; e++) { + var n, + i = t[e]; + if ( + ('histogramy' === i.type && + 'xbins' in i && + !('ybins' in i) && + ((i.ybins = i.xbins), delete i.xbins), + i.error_y && 'opacity' in i.error_y) + ) { + var l = c.defaults, + f = + i.error_y.color || + (h(i, 'bar') ? c.defaultLine : l[e % l.length]); + (i.error_y.color = c.addOpacity( + c.rgb(f), + c.opacity(f) * i.error_y.opacity + )), + delete i.error_y.opacity; + } + if ( + ('bardir' in i && + ('h' !== i.bardir || + (!h(i, 'bar') && 'histogram' !== i.type.substr(0, 9)) || + ((i.orientation = 'h'), r.swapXYData(i)), + delete i.bardir), + 'histogramy' === i.type && r.swapXYData(i), + ('histogramx' !== i.type && 'histogramy' !== i.type) || + (i.type = 'histogram'), + 'scl' in i && + !('colorscale' in i) && + ((i.colorscale = i.scl), delete i.scl), + 'reversescl' in i && + !('reversescale' in i) && + ((i.reversescale = i.reversescl), delete i.reversescl), + i.xaxis && (i.xaxis = u(i.xaxis, 'x')), + i.yaxis && (i.yaxis = u(i.yaxis, 'y')), + h(i, 'gl3d') && + i.scene && + (i.scene = s.subplotsRegistry.gl3d.cleanId(i.scene)), + !h(i, 'pie-like') && !h(i, 'bar-like')) + ) + if (Array.isArray(i.textposition)) + for (n = 0; n < i.textposition.length; n++) + i.textposition[n] = v(i.textposition[n]); + else i.textposition && (i.textposition = v(i.textposition)); + var p = a.getModule(i); + if (p && p.colorbar) { + var x = p.colorbar.container, + b = x ? i[x] : i; + b && + b.colorscale && + ('YIGnBu' === b.colorscale && (b.colorscale = 'YlGnBu'), + 'YIOrRd' === b.colorscale && (b.colorscale = 'YlOrRd')); + } + if ('surface' === i.type && o.isPlainObject(i.contours)) { + var _ = ['x', 'y', 'z']; + for (n = 0; n < _.length; n++) { + var w = i.contours[_[n]]; + o.isPlainObject(w) && + (w.highlightColor && + ((w.highlightcolor = w.highlightColor), + delete w.highlightColor), + w.highlightWidth && + ((w.highlightwidth = w.highlightWidth), + delete w.highlightWidth)); + } + } + if ('candlestick' === i.type || 'ohlc' === i.type) { + var T = !1 !== (i.increasing || {}).showlegend, + k = !1 !== (i.decreasing || {}).showlegend, + M = g(i.increasing), + A = g(i.decreasing); + if (!1 !== M && !1 !== A) { + var S = m(M, A, T, k); + S && (i.name = S); + } else (!M && !A) || i.name || (i.name = M || A); + } + if (Array.isArray(i.transforms)) { + var E = i.transforms; + for (n = 0; n < E.length; n++) { + var C = E[n]; + if (o.isPlainObject(C)) + switch (C.type) { + case 'filter': + C.filtersrc && + ((C.target = C.filtersrc), delete C.filtersrc), + C.calendar && + (C.valuecalendar || + (C.valuecalendar = C.calendar), + delete C.calendar); + break; + case 'groupby': + if ( + ((C.styles = C.styles || C.style), + C.styles && !Array.isArray(C.styles)) + ) { + var L = C.styles, + I = Object.keys(L); + C.styles = []; + for (var P = 0; P < I.length; P++) + C.styles.push({ target: I[P], value: L[I[P]] }); + } + } + } + } + y(i, 'line') && delete i.line, + 'marker' in i && + (y(i.marker, 'line') && delete i.marker.line, + y(i, 'marker') && delete i.marker), + c.clean(i), + i.autobinx && (delete i.autobinx, delete i.xbins), + i.autobiny && (delete i.autobiny, delete i.ybins), + d(i), + i.colorbar && d(i.colorbar), + i.marker && i.marker.colorbar && d(i.marker.colorbar), + i.line && i.line.colorbar && d(i.line.colorbar), + i.aaxis && d(i.aaxis), + i.baxis && d(i.baxis); + } + }), + (r.swapXYData = function (t) { + var e; + if ( + (o.swapAttrs(t, [ + '?', + '?0', + 'd?', + '?bins', + 'nbins?', + 'autobin?', + '?src', + 'error_?', + ]), + Array.isArray(t.z) && + Array.isArray(t.z[0]) && + (t.transpose ? delete t.transpose : (t.transpose = !0)), + t.error_x && t.error_y) + ) { + var r = t.error_y, + n = + 'copy_ystyle' in r + ? r.copy_ystyle + : !(r.color || r.thickness || r.width); + o.swapAttrs(t, ['error_?.copy_ystyle']), + n && + o.swapAttrs(t, [ + 'error_?.color', + 'error_?.thickness', + 'error_?.width', + ]); + } + if ('string' == typeof t.hoverinfo) { + var i = t.hoverinfo.split('+'); + for (e = 0; e < i.length; e++) + 'x' === i[e] ? (i[e] = 'y') : 'y' === i[e] && (i[e] = 'x'); + t.hoverinfo = i.join('+'); + } + }), + (r.coerceTraceIndices = function (t, e) { + if (n(e)) return [e]; + if (!Array.isArray(e) || !e.length) + return t.data.map(function (t, e) { + return e; + }); + if (Array.isArray(e)) { + for (var r = [], i = 0; i < e.length; i++) + o.isIndex(e[i], t.data.length) + ? r.push(e[i]) + : o.warn( + 'trace index (', + e[i], + ') is not a number or is out of bounds' + ); + return r; + } + return e; + }), + (r.manageArrayContainers = function (t, e, r) { + var i = t.obj, + a = t.parts, + s = a.length, + l = a[s - 1], + c = n(l); + if (c && null === e) { + var u = a.slice(0, s - 1).join('.'); + o.nestedProperty(i, u).get().splice(l, 1); + } else + c && void 0 === t.get() + ? (void 0 === t.get() && (r[t.astr] = null), t.set(e)) + : t.set(e); + }); + var x = /(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/; + function b(t) { + var e = t.search(x); + if (e > 0) return t.substr(0, e); + } + r.hasParent = function (t, e) { + for (var r = b(e); r; ) { + if (r in t) return !0; + r = b(r); + } + return !1; + }; + var _ = ['x', 'y', 'z']; + r.clearAxisTypes = function (t, e, r) { + for (var n = 0; n < e.length; n++) + for (var i = t._fullData[n], a = 0; a < 3; a++) { + var s = f(t, i, _[a]); + if (s && 'log' !== s.type) { + var l = s._name, + c = s._id.substr(1); + if ('scene' === c.substr(0, 5)) { + if (void 0 !== r[c]) continue; + l = c + '.' + l; + } + var u = l + '.type'; + void 0 === r[l] && + void 0 === r[u] && + o.nestedProperty(t.layout, u).set(null); + } + } + }; + }, + { + '../components/color': 643, + '../lib': 778, + '../plots/cartesian/axis_ids': 831, + '../plots/plots': 891, + '../registry': 911, + 'fast-isnumeric': 241, + 'gl-mat4/fromQuat': 282, + }, + ], + 812: [ + function (t, e, r) { + 'use strict'; + var n = t('./plot_api'); + (r.plot = n.plot), + (r.newPlot = n.newPlot), + (r.restyle = n.restyle), + (r.relayout = n.relayout), + (r.redraw = n.redraw), + (r.update = n.update), + (r._guiRestyle = n._guiRestyle), + (r._guiRelayout = n._guiRelayout), + (r._guiUpdate = n._guiUpdate), + (r._storeDirectGUIEdit = n._storeDirectGUIEdit), + (r.react = n.react), + (r.extendTraces = n.extendTraces), + (r.prependTraces = n.prependTraces), + (r.addTraces = n.addTraces), + (r.deleteTraces = n.deleteTraces), + (r.moveTraces = n.moveTraces), + (r.purge = n.purge), + (r.addFrames = n.addFrames), + (r.deleteFrames = n.deleteFrames), + (r.animate = n.animate), + (r.setPlotConfig = n.setPlotConfig), + (r.toImage = t('./to_image')), + (r.validate = t('./validate')), + (r.downloadImage = t('../snapshot/download')); + var i = t('./template_api'); + (r.makeTemplate = i.makeTemplate), + (r.validateTemplate = i.validateTemplate); + }, + { + '../snapshot/download': 913, + './plot_api': 814, + './template_api': 819, + './to_image': 820, + './validate': 821, + }, + ], + 813: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib/is_plain_object'), + i = t('../lib/noop'), + a = t('../lib/loggers'), + o = t('../lib/search').sorterAsc, + s = t('../registry'); + r.containerArrayMatch = t('./container_array_match'); + var l = (r.isAddVal = function (t) { + return 'add' === t || n(t); + }), + c = (r.isRemoveVal = function (t) { + return null === t || 'remove' === t; + }); + r.applyContainerArrayChanges = function (t, e, r, n, u) { + var f = e.astr, + h = s.getComponentMethod(f, 'supplyLayoutDefaults'), + p = s.getComponentMethod(f, 'draw'), + d = s.getComponentMethod(f, 'drawOne'), + g = n.replot || n.recalc || h === i || p === i, + m = t.layout, + v = t._fullLayout; + if (r['']) { + Object.keys(r).length > 1 && + a.warn('Full array edits are incompatible with other edits', f); + var y = r['']['']; + if (c(y)) e.set(null); + else { + if (!Array.isArray(y)) + return a.warn('Unrecognized full array edit value', f, y), !0; + e.set(y); + } + return !g && (h(m, v), p(t), !0); + } + var x, + b, + _, + w, + T, + k, + M, + A, + S = Object.keys(r).map(Number).sort(o), + E = e.get(), + C = E || [], + L = u(v, f).get(), + I = [], + P = -1, + z = C.length; + for (x = 0; x < S.length; x++) + if ( + ((w = r[(_ = S[x])]), + (T = Object.keys(w)), + (k = w['']), + (M = l(k)), + _ < 0 || _ > C.length - (M ? 0 : 1)) + ) + a.warn('index out of range', f, _); + else if (void 0 !== k) + T.length > 1 && + a.warn( + 'Insertion & removal are incompatible with edits to the same index.', + f, + _ + ), + c(k) + ? I.push(_) + : M + ? ('add' === k && (k = {}), + C.splice(_, 0, k), + L && L.splice(_, 0, {})) + : a.warn('Unrecognized full object edit value', f, _, k), + -1 === P && (P = _); + else + for (b = 0; b < T.length; b++) + (A = f + '[' + _ + '].'), u(C[_], T[b], A).set(w[T[b]]); + for (x = I.length - 1; x >= 0; x--) + C.splice(I[x], 1), L && L.splice(I[x], 1); + if ((C.length ? E || e.set(C) : e.set(null), g)) return !1; + if ((h(m, v), d !== i)) { + var O; + if (-1 === P) O = S; + else { + for ( + z = Math.max(C.length, z), O = [], x = 0; + x < S.length && !((_ = S[x]) >= P); + x++ + ) + O.push(_); + for (x = P; x < z; x++) O.push(x); + } + for (x = 0; x < O.length; x++) d(t, O[x]); + } else p(t); + return !0; + }; + }, + { + '../lib/is_plain_object': 779, + '../lib/loggers': 782, + '../lib/noop': 787, + '../lib/search': 798, + '../registry': 911, + './container_array_match': 809, + }, + ], + 814: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('has-hover'), + o = t('../lib'), + s = o.nestedProperty, + l = t('../lib/events'), + c = t('../lib/queue'), + u = t('../registry'), + f = t('./plot_schema'), + h = t('../plots/plots'), + p = t('../plots/polar/legacy'), + d = t('../plots/cartesian/axes'), + g = t('../components/drawing'), + m = t('../components/color'), + v = t('../plots/cartesian/graph_interact').initInteractions, + y = t('../constants/xmlns_namespaces'), + x = t('../lib/svg_text_utils'), + b = t('../plots/cartesian/select').clearSelect, + _ = t('./plot_config').dfltConfig, + w = t('./manage_arrays'), + T = t('./helpers'), + k = t('./subroutines'), + M = t('./edit_types'), + A = t('../plots/cartesian/constants').AX_NAME_PATTERN, + S = 0; + function E(t) { + var e = t._fullLayout; + e._redrawFromAutoMarginCount + ? e._redrawFromAutoMarginCount-- + : t.emit('plotly_afterplot'); + } + function C(t, e) { + try { + t._fullLayout._paper.style('background', e); + } catch (t) { + o.error(t); + } + } + function L(t, e) { + C(t, m.combine(e, 'white')); + } + function I(t, e) { + if (!t._context) { + t._context = o.extendDeep({}, _); + var r = n.select('base'); + t._context._baseUrl = + r.size() && r.attr('href') + ? window.location.href.split('#')[0] + : ''; + } + var i, + s, + l, + c = t._context; + if (e) { + for (s = Object.keys(e), i = 0; i < s.length; i++) + 'editable' !== (l = s[i]) && + 'edits' !== l && + l in c && + ('setBackground' === l && 'opaque' === e[l] + ? (c[l] = L) + : (c[l] = e[l])); + e.plot3dPixelRatio && + !c.plotGlPixelRatio && + (c.plotGlPixelRatio = c.plot3dPixelRatio); + var u = e.editable; + if (void 0 !== u) + for ( + c.editable = u, s = Object.keys(c.edits), i = 0; + i < s.length; + i++ + ) + c.edits[s[i]] = u; + if (e.edits) + for (s = Object.keys(e.edits), i = 0; i < s.length; i++) + (l = s[i]) in c.edits && (c.edits[l] = e.edits[l]); + c._exportedPlot = e._exportedPlot; + } + c.staticPlot && + ((c.editable = !1), + (c.edits = {}), + (c.autosizable = !1), + (c.scrollZoom = !1), + (c.doubleClick = !1), + (c.showTips = !1), + (c.showLink = !1), + (c.displayModeBar = !1)), + 'hover' !== c.displayModeBar || a || (c.displayModeBar = !0), + ('transparent' !== c.setBackground && + 'function' == typeof c.setBackground) || + (c.setBackground = C), + (c._hasZeroHeight = c._hasZeroHeight || 0 === t.clientHeight), + (c._hasZeroWidth = c._hasZeroWidth || 0 === t.clientWidth); + var f = c.scrollZoom, + h = (c._scrollZoom = {}); + if (!0 === f) + (h.cartesian = 1), (h.gl3d = 1), (h.geo = 1), (h.mapbox = 1); + else if ('string' == typeof f) { + var p = f.split('+'); + for (i = 0; i < p.length; i++) h[p[i]] = 1; + } else !1 !== f && ((h.gl3d = 1), (h.geo = 1), (h.mapbox = 1)); + } + function P(t, e) { + var r, + n, + i = e + 1, + a = []; + for (r = 0; r < t.length; r++) + (n = t[r]) < 0 ? a.push(i + n) : a.push(n); + return a; + } + function z(t, e, r) { + var n, i; + for (n = 0; n < e.length; n++) { + if ((i = e[n]) !== parseInt(i, 10)) + throw new Error('all values in ' + r + ' must be integers'); + if (i >= t.data.length || i < -t.data.length) + throw new Error(r + ' must be valid indices for gd.data.'); + if ( + e.indexOf(i, n + 1) > -1 || + (i >= 0 && e.indexOf(-t.data.length + i) > -1) || + (i < 0 && e.indexOf(t.data.length + i) > -1) + ) + throw new Error('each index in ' + r + ' must be unique.'); + } + } + function O(t, e, r) { + if (!Array.isArray(t.data)) + throw new Error('gd.data must be an array.'); + if ('undefined' == typeof e) + throw new Error('currentIndices is a required argument.'); + if ( + (Array.isArray(e) || (e = [e]), + z(t, e, 'currentIndices'), + 'undefined' == typeof r || Array.isArray(r) || (r = [r]), + 'undefined' != typeof r && z(t, r, 'newIndices'), + 'undefined' != typeof r && e.length !== r.length) + ) + throw new Error( + 'current and new indices must be of equal length.' + ); + } + function D(t, e, r, n, a) { + !(function (t, e, r, n) { + var i = o.isPlainObject(n); + if (!Array.isArray(t.data)) + throw new Error('gd.data must be an array'); + if (!o.isPlainObject(e)) + throw new Error('update must be a key:value object'); + if ('undefined' == typeof r) + throw new Error( + 'indices must be an integer or array of integers' + ); + for (var a in (z(t, r, 'indices'), e)) { + if (!Array.isArray(e[a]) || e[a].length !== r.length) + throw new Error( + 'attribute ' + + a + + ' must be an array of length equal to indices array length' + ); + if ( + i && + (!(a in n) || + !Array.isArray(n[a]) || + n[a].length !== e[a].length) + ) + throw new Error( + 'when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object' + ); + } + })(t, e, r, n); + for ( + var l = (function (t, e, r, n) { + var a, + l, + c, + u, + f, + h = o.isPlainObject(n), + p = []; + for (var d in (Array.isArray(r) || (r = [r]), + (r = P(r, t.data.length - 1)), + e)) + for (var g = 0; g < r.length; g++) { + if ( + ((a = t.data[r[g]]), + (l = (c = s(a, d)).get()), + (u = e[d][g]), + !o.isArrayOrTypedArray(u)) + ) + throw new Error( + 'attribute: ' + + d + + ' index: ' + + g + + ' must be an array' + ); + if (!o.isArrayOrTypedArray(l)) + throw new Error( + 'cannot extend missing or non-array attribute: ' + d + ); + if (l.constructor !== u.constructor) + throw new Error( + 'cannot extend array with an array of a different type: ' + + d + ); + (f = h ? n[d][g] : n), + i(f) || (f = -1), + p.push({ + prop: c, + target: l, + insert: u, + maxp: Math.floor(f), + }); + } + return p; + })(t, e, r, n), + c = {}, + u = {}, + f = 0; + f < l.length; + f++ + ) { + var h = l[f].prop, + p = l[f].maxp, + d = a(l[f].target, l[f].insert, p); + h.set(d[0]), + Array.isArray(c[h.astr]) || (c[h.astr] = []), + c[h.astr].push(d[1]), + Array.isArray(u[h.astr]) || (u[h.astr] = []), + u[h.astr].push(l[f].target.length); + } + return { update: c, maxPoints: u }; + } + function R(t, e) { + var r = new t.constructor(t.length + e.length); + return r.set(t), r.set(e, t.length), r; + } + function F(t, e, n, i) { + (t = o.getGraphDiv(t)), T.clearPromiseQueue(t); + var a = {}; + if ('string' == typeof e) a[e] = n; + else { + if (!o.isPlainObject(e)) + return o.warn('Restyle fail.', e, n, i), Promise.reject(); + (a = o.extendFlat({}, e)), void 0 === i && (i = n); + } + Object.keys(a).length && (t.changed = !0); + var s = T.coerceTraceIndices(t, i), + l = U(t, a, s), + u = l.flags; + u.calc && (t.calcdata = void 0), + u.clearAxisTypes && T.clearAxisTypes(t, s, {}); + var f = []; + u.fullReplot + ? f.push(r.plot) + : (f.push(h.previousPromises), + h.supplyDefaults(t), + u.markerSize && (h.doCalcdata(t), G(f)), + u.style && f.push(k.doTraceStyle), + u.colorbars && f.push(k.doColorBars), + f.push(E)), + f.push(h.rehover, h.redrag), + c.add(t, F, [t, l.undoit, l.traces], F, [t, l.redoit, l.traces]); + var p = o.syncOrAsync(f, t); + return ( + (p && p.then) || (p = Promise.resolve()), + p.then(function () { + return t.emit('plotly_restyle', l.eventData), t; + }) + ); + } + function B(t) { + return void 0 === t ? null : t; + } + function N(t, e) { + return e + ? function (e, r, n) { + var i = s(e, r), + a = i.set; + return ( + (i.set = function (e) { + j((n || '') + r, i.get(), e, t), a(e); + }), + i + ); + } + : s; + } + function j(t, e, r, n) { + if (Array.isArray(e) || Array.isArray(r)) + for ( + var i = Array.isArray(e) ? e : [], + a = Array.isArray(r) ? r : [], + s = Math.max(i.length, a.length), + l = 0; + l < s; + l++ + ) + j(t + '[' + l + ']', i[l], a[l], n); + else if (o.isPlainObject(e) || o.isPlainObject(r)) { + var c = o.isPlainObject(e) ? e : {}, + u = o.isPlainObject(r) ? r : {}, + f = o.extendFlat({}, c, u); + for (var h in f) j(t + '.' + h, c[h], u[h], n); + } else void 0 === n[t] && (n[t] = B(e)); + } + function U(t, e, r) { + var n, + i = t._fullLayout, + a = t._fullData, + l = t.data, + c = i._guiEditing, + p = N(i._preGUI, c), + g = o.extendDeepAll({}, e); + V(e); + var m, + v = M.traceFlags(), + y = {}, + x = {}; + function b() { + return r.map(function () {}); + } + function _(t) { + var e = d.id2name(t); + -1 === m.indexOf(e) && m.push(e); + } + function w(t) { + return 'LAYOUT' + t + '.autorange'; + } + function k(t) { + return 'LAYOUT' + t + '.range'; + } + function A(t) { + for (var e = t; e < a.length; e++) + if (a[e]._input === l[t]) return a[e]; + } + function S(n, a, o) { + if (Array.isArray(n)) + n.forEach(function (t) { + S(t, a, o); + }); + else if (!(n in e) && !T.hasParent(e, n)) { + var s; + if ('LAYOUT' === n.substr(0, 6)) + s = p(t.layout, n.replace('LAYOUT', '')); + else { + var u = r[o]; + s = N(i._tracePreGUI[A(u)._fullInput.uid], c)(l[u], n); + } + n in x || (x[n] = b()), + void 0 === x[n][o] && (x[n][o] = B(s.get())), + void 0 !== a && s.set(a); + } + } + function E(t) { + return function (e) { + return a[e][t]; + }; + } + function C(t) { + return function (e, n) { + return !1 === e ? a[r[n]][t] : null; + }; + } + for (var L in e) { + if (T.hasParent(e, L)) + throw new Error( + 'cannot set ' + L + ' and a parent attribute simultaneously' + ); + var I, + P, + z, + O, + D, + R, + F = e[L]; + if ( + (('autobinx' !== L && 'autobiny' !== L) || + ((L = L.charAt(L.length - 1) + 'bins'), + (F = Array.isArray(F) + ? F.map(C(L)) + : !1 === F + ? r.map(E(L)) + : null)), + (y[L] = F), + 'LAYOUT' !== L.substr(0, 6)) + ) { + for (x[L] = b(), n = 0; n < r.length; n++) { + if ( + ((I = l[r[n]]), + (P = A(r[n])), + (O = (z = N(i._tracePreGUI[P._fullInput.uid], c)( + I, + L + )).get()), + void 0 !== (D = Array.isArray(F) ? F[n % F.length] : F)) + ) { + var j = z.parts[z.parts.length - 1], + U = L.substr(0, L.length - j.length - 1), + q = U ? U + '.' : '', + H = U ? s(P, U).get() : P; + if ( + (R = f.getTraceValObject(P, z.parts)) && + R.impliedEdits && + null !== D + ) + for (var G in R.impliedEdits) + S(o.relativeAttr(L, G), R.impliedEdits[G], n); + else if ( + ('thicknessmode' !== j && 'lenmode' !== j) || + O === D || + ('fraction' !== D && 'pixels' !== D) || + !H + ) { + if ( + 'type' === L && + (('pie' === D) != ('pie' === O) || + ('funnelarea' === D) != ('funnelarea' === O)) + ) { + var Y = 'x', + W = 'y'; + ('bar' !== D && 'bar' !== O) || + 'h' !== I.orientation || + ((Y = 'y'), (W = 'x')), + o.swapAttrs(I, ['?', '?src'], 'labels', Y), + o.swapAttrs(I, ['d?', '?0'], 'label', Y), + o.swapAttrs(I, ['?', '?src'], 'values', W), + 'pie' === O || 'funnelarea' === O + ? (s(I, 'marker.color').set( + s(I, 'marker.colors').get() + ), + i._pielayer.selectAll('g.trace').remove()) + : u.traceIs(I, 'cartesian') && + s(I, 'marker.colors').set( + s(I, 'marker.color').get() + ); + } + } else { + var X = i._size, + Z = H.orient, + J = 'top' === Z || 'bottom' === Z; + if ('thicknessmode' === j) { + var K = J ? X.h : X.w; + S( + q + 'thickness', + H.thickness * ('fraction' === D ? 1 / K : K), + n + ); + } else { + var Q = J ? X.w : X.h; + S(q + 'len', H.len * ('fraction' === D ? 1 / Q : Q), n); + } + } + x[L][n] = B(O); + if ( + -1 !== + [ + 'swapxy', + 'swapxyaxes', + 'orientation', + 'orientationaxes', + ].indexOf(L) + ) { + if ('orientation' === L) { + z.set(D); + var $ = I.x && !I.y ? 'h' : 'v'; + if ((z.get() || $) === P.orientation) continue; + } else + 'orientationaxes' === L && + (I.orientation = { v: 'h', h: 'v' }[P.orientation]); + T.swapXYData(I), (v.calc = v.clearAxisTypes = !0); + } else + -1 !== h.dataArrayContainers.indexOf(z.parts[0]) + ? (T.manageArrayContainers(z, D, x), (v.calc = !0)) + : (R + ? R.arrayOk && + !u.traceIs(P, 'regl') && + (o.isArrayOrTypedArray(D) || + o.isArrayOrTypedArray(O)) + ? (v.calc = !0) + : M.update(v, R) + : (v.calc = !0), + z.set(D)); + } + } + if ( + (-1 !== ['swapxyaxes', 'orientationaxes'].indexOf(L) && + d.swap(t, r), + 'orientationaxes' === L) + ) { + var tt = s(t.layout, 'hovermode'), + et = tt.get(); + 'x' === et + ? tt.set('y') + : 'y' === et + ? tt.set('x') + : 'x unified' === et + ? tt.set('y unified') + : 'y unified' === et && tt.set('x unified'); + } + if (-1 !== ['orientation', 'type'].indexOf(L)) { + for (m = [], n = 0; n < r.length; n++) { + var rt = l[r[n]]; + u.traceIs(rt, 'cartesian') && + (_(rt.xaxis || 'x'), _(rt.yaxis || 'y')); + } + S(m.map(w), !0, 0), S(m.map(k), [0, 1], 0); + } + } else + (z = p(t.layout, L.replace('LAYOUT', ''))), + (x[L] = [B(z.get())]), + z.set(Array.isArray(F) ? F[0] : F), + (v.calc = !0); + } + return ( + (v.calc || v.plot) && (v.fullReplot = !0), + { + flags: v, + undoit: x, + redoit: y, + traces: r, + eventData: o.extendDeepNoArrays([], [g, r]), + } + ); + } + function V(t) { + var e, + r, + n, + i = o.counterRegex('axis', '.title', !1, !1), + a = /colorbar\.title$/, + s = Object.keys(t); + for (e = 0; e < s.length; e++) + (r = s[e]), + (n = t[r]), + ('title' !== r && !i.test(r) && !a.test(r)) || + ('string' != typeof n && 'number' != typeof n) + ? r.indexOf('titlefont') > -1 + ? l(r, r.replace('titlefont', 'title.font')) + : r.indexOf('titleposition') > -1 + ? l(r, r.replace('titleposition', 'title.position')) + : r.indexOf('titleside') > -1 + ? l(r, r.replace('titleside', 'title.side')) + : r.indexOf('titleoffset') > -1 && + l(r, r.replace('titleoffset', 'title.offset')) + : l(r, r.replace('title', 'title.text')); + function l(e, r) { + (t[r] = t[e]), delete t[e]; + } + } + function q(t, e, r) { + if ( + ((t = o.getGraphDiv(t)), + T.clearPromiseQueue(t), + t.framework && t.framework.isPolar) + ) + return Promise.resolve(t); + var n = {}; + if ('string' == typeof e) n[e] = r; + else { + if (!o.isPlainObject(e)) + return o.warn('Relayout fail.', e, r), Promise.reject(); + n = o.extendFlat({}, e); + } + Object.keys(n).length && (t.changed = !0); + var i = Z(t, n), + a = i.flags; + a.calc && (t.calcdata = void 0); + var s = [h.previousPromises]; + a.layoutReplot + ? s.push(k.layoutReplot) + : Object.keys(n).length && + (H(t, a, i) || h.supplyDefaults(t), + a.legend && s.push(k.doLegend), + a.layoutstyle && s.push(k.layoutStyles), + a.axrange && G(s, i.rangesAltered), + a.ticks && s.push(k.doTicksRelayout), + a.modebar && s.push(k.doModeBar), + a.camera && s.push(k.doCamera), + a.colorbars && s.push(k.doColorBars), + s.push(E)), + s.push(h.rehover, h.redrag), + c.add(t, q, [t, i.undoit], q, [t, i.redoit]); + var l = o.syncOrAsync(s, t); + return ( + (l && l.then) || (l = Promise.resolve(t)), + l.then(function () { + return t.emit('plotly_relayout', i.eventData), t; + }) + ); + } + function H(t, e, r) { + var n = t._fullLayout; + if (!e.axrange) return !1; + for (var i in e) if ('axrange' !== i && e[i]) return !1; + for (var a in r.rangesAltered) { + var o = d.id2name(a), + s = t.layout[o], + l = n[o]; + if ( + ((l.autorange = s.autorange), + s.range && (l.range = s.range.slice()), + l.cleanRange(), + l._matchGroup) + ) + for (var c in l._matchGroup) + if (c !== a) { + var u = n[d.id2name(c)]; + (u.autorange = l.autorange), + (u.range = l.range.slice()), + (u._input.range = l.range.slice()); + } + } + return !0; + } + function G(t, e) { + var r = e + ? function (t) { + var r = [], + n = !0; + for (var i in e) { + var a = d.getFromId(t, i); + if ( + (r.push(i), + -1 !== (a.ticklabelposition || '').indexOf('inside') && + a._anchorAxis && + r.push(a._anchorAxis._id), + a._matchGroup) + ) + for (var o in a._matchGroup) e[o] || r.push(o); + a.automargin && (n = !1); + } + return d.draw(t, r, { skipTitle: n }); + } + : function (t) { + return d.draw(t, 'redraw'); + }; + t.push(b, k.doAutoRangeAndConstraints, r, k.drawData, k.finalDraw); + } + var Y = /^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/, + W = /^[xyz]axis[0-9]*\.autorange$/, + X = /^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/; + function Z(t, e) { + var r, + n, + i, + a = t.layout, + l = t._fullLayout, + c = l._guiEditing, + h = N(l._preGUI, c), + p = Object.keys(e), + g = d.list(t), + m = o.extendDeepAll({}, e), + v = {}; + for (V(e), p = Object.keys(e), n = 0; n < p.length; n++) + if (0 === p[n].indexOf('allaxes')) { + for (i = 0; i < g.length; i++) { + var y = g[i]._id.substr(1), + x = -1 !== y.indexOf('scene') ? y + '.' : '', + b = p[n].replace('allaxes', x + g[i]._name); + e[b] || (e[b] = e[p[n]]); + } + delete e[p[n]]; + } + var _ = M.layoutFlags(), + k = {}, + S = {}; + function E(t, r) { + if (Array.isArray(t)) + t.forEach(function (t) { + E(t, r); + }); + else if (!(t in e) && !T.hasParent(e, t)) { + var n = h(a, t); + t in S || (S[t] = B(n.get())), void 0 !== r && n.set(r); + } + } + var C, + L = {}; + function I(t) { + var e = d.name2id(t.split('.')[0]); + return (L[e] = 1), e; + } + for (var P in e) { + if (T.hasParent(e, P)) + throw new Error( + 'cannot set ' + P + ' and a parent attribute simultaneously' + ); + for ( + var z = h(a, P), O = e[P], D = z.parts.length - 1; + D > 0 && 'string' != typeof z.parts[D]; + + ) + D--; + var R = z.parts[D], + F = z.parts[D - 1] + '.' + R, + j = z.parts.slice(0, D).join('.'), + U = s(t.layout, j).get(), + q = s(l, j).get(), + H = z.get(); + if (void 0 !== O) { + (k[P] = O), (S[P] = 'reverse' === R ? O : B(H)); + var G = f.getLayoutValObject(l, z.parts); + if (G && G.impliedEdits && null !== O) + for (var Z in G.impliedEdits) + E(o.relativeAttr(P, Z), G.impliedEdits[Z]); + if (-1 !== ['width', 'height'].indexOf(P)) + if (O) { + E('autosize', null); + var K = 'height' === P ? 'width' : 'height'; + E(K, l[K]); + } else l[P] = t._initialAutoSize[P]; + else if ('autosize' === P) + E('width', O ? null : l.width), + E('height', O ? null : l.height); + else if (F.match(Y)) I(F), s(l, j + '._inputRange').set(null); + else if (F.match(W)) { + I(F), s(l, j + '._inputRange').set(null); + var Q = s(l, j).get(); + Q._inputDomain && (Q._input.domain = Q._inputDomain.slice()); + } else F.match(X) && s(l, j + '._inputDomain').set(null); + if ('type' === R) { + C = U; + var $ = 'linear' === q.type && 'log' === O, + tt = 'log' === q.type && 'linear' === O; + if ($ || tt) { + if (C && C.range) + if (q.autorange) + $ && + (C.range = C.range[1] > C.range[0] ? [1, 2] : [2, 1]); + else { + var et = C.range[0], + rt = C.range[1]; + $ + ? (et <= 0 && rt <= 0 && E(j + '.autorange', !0), + et <= 0 + ? (et = rt / 1e6) + : rt <= 0 && (rt = et / 1e6), + E(j + '.range[0]', Math.log(et) / Math.LN10), + E(j + '.range[1]', Math.log(rt) / Math.LN10)) + : (E(j + '.range[0]', Math.pow(10, et)), + E(j + '.range[1]', Math.pow(10, rt))); + } + else E(j + '.autorange', !0); + Array.isArray(l._subplots.polar) && + l._subplots.polar.length && + l[z.parts[0]] && + 'radialaxis' === z.parts[1] && + delete l[z.parts[0]]._subplot.viewInitial[ + 'radialaxis.range' + ], + u.getComponentMethod('annotations', 'convertCoords')( + t, + q, + O, + E + ), + u.getComponentMethod('images', 'convertCoords')( + t, + q, + O, + E + ); + } else E(j + '.autorange', !0), E(j + '.range', null); + s(l, j + '._inputRange').set(null); + } else if (R.match(A)) { + var nt = s(l, P).get(), + it = (O || {}).type; + (it && '-' !== it) || (it = 'linear'), + u.getComponentMethod('annotations', 'convertCoords')( + t, + nt, + it, + E + ), + u.getComponentMethod('images', 'convertCoords')( + t, + nt, + it, + E + ); + } + var at = w.containerArrayMatch(P); + if (at) { + (r = at.array), (n = at.index); + var ot = at.property, + st = G || { editType: 'calc' }; + '' !== n && + '' === ot && + (w.isAddVal(O) + ? (S[P] = null) + : w.isRemoveVal(O) + ? (S[P] = (s(a, r).get() || [])[n]) + : o.warn('unrecognized full object value', e)), + M.update(_, st), + v[r] || (v[r] = {}); + var lt = v[r][n]; + lt || (lt = v[r][n] = {}), (lt[ot] = O), delete e[P]; + } else + 'reverse' === R + ? (U.range + ? U.range.reverse() + : (E(j + '.autorange', !0), (U.range = [1, 0])), + q.autorange ? (_.calc = !0) : (_.plot = !0)) + : ((l._has('scatter-like') && + l._has('regl') && + 'dragmode' === P && + ('lasso' === O || 'select' === O) && + 'lasso' !== H && + 'select' !== H) || + l._has('gl2d') + ? (_.plot = !0) + : G + ? M.update(_, G) + : (_.calc = !0), + z.set(O)); + } + } + for (r in v) { + w.applyContainerArrayChanges(t, h(a, r), v[r], _, h) || + (_.plot = !0); + } + for (var ct in L) { + var ut = (C = d.getFromId(t, ct)) && C._constraintGroup; + if (ut) + for (var ft in ((_.calc = !0), ut)) + L[ft] || (d.getFromId(t, ft)._constraintShrinkable = !0); + } + return ( + (J(t) || e.height || e.width) && (_.plot = !0), + (_.plot || _.calc) && (_.layoutReplot = !0), + { flags: _, rangesAltered: L, undoit: S, redoit: k, eventData: m } + ); + } + function J(t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + return ( + t.layout.autosize && h.plotAutoSize(t, t.layout, e), + e.width !== r || e.height !== n + ); + } + function K(t, e, n, i) { + if ( + ((t = o.getGraphDiv(t)), + T.clearPromiseQueue(t), + t.framework && t.framework.isPolar) + ) + return Promise.resolve(t); + o.isPlainObject(e) || (e = {}), + o.isPlainObject(n) || (n = {}), + Object.keys(e).length && (t.changed = !0), + Object.keys(n).length && (t.changed = !0); + var a = T.coerceTraceIndices(t, i), + s = U(t, o.extendFlat({}, e), a), + l = s.flags, + u = Z(t, o.extendFlat({}, n)), + f = u.flags; + (l.calc || f.calc) && (t.calcdata = void 0), + l.clearAxisTypes && T.clearAxisTypes(t, a, n); + var p = []; + f.layoutReplot + ? p.push(k.layoutReplot) + : l.fullReplot + ? p.push(r.plot) + : (p.push(h.previousPromises), + H(t, f, u) || h.supplyDefaults(t), + l.style && p.push(k.doTraceStyle), + (l.colorbars || f.colorbars) && p.push(k.doColorBars), + f.legend && p.push(k.doLegend), + f.layoutstyle && p.push(k.layoutStyles), + f.axrange && G(p, u.rangesAltered), + f.ticks && p.push(k.doTicksRelayout), + f.modebar && p.push(k.doModeBar), + f.camera && p.push(k.doCamera), + p.push(E)), + p.push(h.rehover, h.redrag), + c.add(t, K, [t, s.undoit, u.undoit, s.traces], K, [ + t, + s.redoit, + u.redoit, + s.traces, + ]); + var d = o.syncOrAsync(p, t); + return ( + (d && d.then) || (d = Promise.resolve(t)), + d.then(function () { + return ( + t.emit('plotly_update', { + data: s.eventData, + layout: u.eventData, + }), + t + ); + }) + ); + } + function Q(t) { + return function (e) { + e._fullLayout._guiEditing = !0; + var r = t.apply(null, arguments); + return (e._fullLayout._guiEditing = !1), r; + }; + } + var $ = [ + { pattern: /^hiddenlabels/, attr: 'legend.uirevision' }, + { pattern: /^((x|y)axis\d*)\.((auto)?range|title\.text)/ }, + { pattern: /axis\d*\.showspikes$/, attr: 'modebar.uirevision' }, + { pattern: /(hover|drag)mode$/, attr: 'modebar.uirevision' }, + { pattern: /^(scene\d*)\.camera/ }, + { pattern: /^(geo\d*)\.(projection|center|fitbounds)/ }, + { pattern: /^(ternary\d*\.[abc]axis)\.(min|title\.text)$/ }, + { + pattern: + /^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/, + }, + { pattern: /^(polar\d*\.angularaxis)\.rotation/ }, + { pattern: /^(mapbox\d*)\.(center|zoom|bearing|pitch)/ }, + { pattern: /^legend\.(x|y)$/, attr: 'editrevision' }, + { pattern: /^(shapes|annotations)/, attr: 'editrevision' }, + { pattern: /^title\.text$/, attr: 'editrevision' }, + ], + tt = [ + { pattern: /^selectedpoints$/, attr: 'selectionrevision' }, + { pattern: /(^|value\.)visible$/, attr: 'legend.uirevision' }, + { pattern: /^dimensions\[\d+\]\.constraintrange/ }, + { pattern: /^node\.(x|y|groups)/ }, + { pattern: /^level$/ }, + { pattern: /(^|value\.)name$/ }, + { pattern: /colorbar\.title\.text$/ }, + { pattern: /colorbar\.(x|y)$/, attr: 'editrevision' }, + ]; + function et(t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = t.match(n.pattern); + if (i) return { head: i[1], attr: n.attr }; + } + } + function rt(t, e) { + var r = s(e, t).get(); + if (void 0 !== r) return r; + var n = t.split('.'); + for (n.pop(); n.length > 1; ) + if ( + (n.pop(), + void 0 !== (r = s(e, n.join('.') + '.uirevision').get())) + ) + return r; + return e.uirevision; + } + function nt(t, e) { + for (var r = 0; r < e.length; r++) + if (e[r]._fullInput.uid === t) return r; + return -1; + } + function it(t, e, r) { + for (var n = 0; n < e.length; n++) if (e[n].uid === t) return n; + return !e[r] || e[r].uid ? -1 : r; + } + function at(t, e) { + var r = o.isPlainObject(t), + n = Array.isArray(t); + return r || n + ? ((r && o.isPlainObject(e)) || (n && Array.isArray(e))) && + JSON.stringify(t) === JSON.stringify(e) + : t === e; + } + function ot(t, e, r, n) { + var i, + a, + l, + c = n.getValObject, + u = n.flags, + f = n.immutable, + h = n.inArray, + p = n.arrayIndex; + function d() { + var t = i.editType; + h && -1 !== t.indexOf('arraydraw') + ? o.pushUnique(u.arrays[h], p) + : (M.update(u, i), + 'none' !== t && u.nChanges++, + n.transition && i.anim && u.nChangesAnim++, + (Y.test(l) || W.test(l)) && (u.rangesAltered[r[0]] = 1), + X.test(l) && s(e, '_inputDomain').set(null), + 'datarevision' === a && (u.newDataRevision = 1)); + } + function g(t) { + return 'data_array' === t.valType || t.arrayOk; + } + for (a in t) { + if (u.calc && !n.transition) return; + var m = t[a], + v = e[a], + y = r.concat(a); + if ( + ((l = y.join('.')), + '_' !== a.charAt(0) && 'function' != typeof m && m !== v) + ) { + if (('tick0' === a || 'dtick' === a) && 'geo' !== r[0]) { + var x = e.tickmode; + if ('auto' === x || 'array' === x || !x) continue; + } + if ( + ('range' !== a || !e.autorange) && + (('zmin' !== a && 'zmax' !== a) || + 'contourcarpet' !== e.type) && + (i = c(y)) && + (!i._compareAsJSON || JSON.stringify(m) !== JSON.stringify(v)) + ) { + var b, + _ = i.valType, + w = g(i), + T = Array.isArray(m), + k = Array.isArray(v); + if (T && k) { + var A = '_input_' + a, + S = t[A], + E = e[A]; + if (Array.isArray(S) && S === E) continue; + } + if (void 0 === v) w && T ? (u.calc = !0) : d(); + else if (i._isLinkedToArray) { + var C = [], + L = !1; + h || (u.arrays[a] = C); + var I = Math.min(m.length, v.length), + P = Math.max(m.length, v.length); + if (I !== P) { + if ('arraydraw' !== i.editType) { + d(); + continue; + } + L = !0; + } + for (b = 0; b < I; b++) + ot( + m[b], + v[b], + y.concat(b), + o.extendFlat({ inArray: a, arrayIndex: b }, n) + ); + if (L) for (b = I; b < P; b++) C.push(b); + } else + !_ && o.isPlainObject(m) + ? ot(m, v, y, n) + : w + ? T && k + ? (f && (u.calc = !0), (f || n.newDataRevision) && d()) + : T !== k + ? (u.calc = !0) + : d() + : (T && + k && + m.length === v.length && + String(m) === String(v)) || + d(); + } + } + } + for (a in e) + if ( + !(a in t) && + '_' !== a.charAt(0) && + 'function' != typeof e[a] + ) { + if (g((i = c(r.concat(a)))) && Array.isArray(e[a])) + return void (u.calc = !0); + d(); + } + } + function st(t) { + var e = t._fullLayout, + r = t.getBoundingClientRect(); + if (!o.equalDomRects(r, e._lastBBox)) { + var n = (e._invTransform = o.inverseTransformMatrix( + o.getFullTransformMatrix(t) + )); + (e._invScaleX = Math.sqrt( + n[0][0] * n[0][0] + n[0][1] * n[0][1] + n[0][2] * n[0][2] + )), + (e._invScaleY = Math.sqrt( + n[1][0] * n[1][0] + n[1][1] * n[1][1] + n[1][2] * n[1][2] + )), + (e._lastBBox = r); + } + } + function lt(t) { + var e = n.select(t), + r = t._fullLayout; + if ( + ((r._calcInverseTransform = st), + r._calcInverseTransform(t), + (r._container = e.selectAll('.plot-container').data([0])), + r._container + .enter() + .insert('div', ':first-child') + .classed('plot-container', !0) + .classed('plotly', !0), + (r._paperdiv = r._container + .selectAll('.svg-container') + .data([0])), + r._paperdiv + .enter() + .append('div') + .classed('user-select-none', !0) + .classed('svg-container', !0) + .style('position', 'relative'), + (r._glcontainer = r._paperdiv + .selectAll('.gl-container') + .data([{}])), + r._glcontainer.enter().append('div').classed('gl-container', !0), + r._paperdiv.selectAll('.main-svg').remove(), + r._paperdiv.select('.modebar-container').remove(), + (r._paper = r._paperdiv + .insert('svg', ':first-child') + .classed('main-svg', !0)), + (r._toppaper = r._paperdiv.append('svg').classed('main-svg', !0)), + (r._modebardiv = r._paperdiv.append('div')), + delete r._modeBar, + (r._hoverpaper = r._paperdiv + .append('svg') + .classed('main-svg', !0)), + !r._uid) + ) { + var i = {}; + n.selectAll('defs').each(function () { + this.id && (i[this.id.split('-')[1]] = 1); + }), + (r._uid = o.randstr(i)); + } + r._paperdiv.selectAll('.main-svg').attr(y.svgAttrs), + (r._defs = r._paper.append('defs').attr('id', 'defs-' + r._uid)), + (r._clips = r._defs.append('g').classed('clips', !0)), + (r._topdefs = r._toppaper + .append('defs') + .attr('id', 'topdefs-' + r._uid)), + (r._topclips = r._topdefs.append('g').classed('clips', !0)), + (r._bgLayer = r._paper.append('g').classed('bglayer', !0)), + (r._draggers = r._paper.append('g').classed('draglayer', !0)); + var a = r._paper.append('g').classed('layer-below', !0); + (r._imageLowerLayer = a.append('g').classed('imagelayer', !0)), + (r._shapeLowerLayer = a.append('g').classed('shapelayer', !0)), + (r._cartesianlayer = r._paper + .append('g') + .classed('cartesianlayer', !0)), + (r._polarlayer = r._paper.append('g').classed('polarlayer', !0)), + (r._ternarylayer = r._paper + .append('g') + .classed('ternarylayer', !0)), + (r._geolayer = r._paper.append('g').classed('geolayer', !0)), + (r._funnelarealayer = r._paper + .append('g') + .classed('funnelarealayer', !0)), + (r._pielayer = r._paper.append('g').classed('pielayer', !0)), + (r._treemaplayer = r._paper + .append('g') + .classed('treemaplayer', !0)), + (r._sunburstlayer = r._paper + .append('g') + .classed('sunburstlayer', !0)), + (r._indicatorlayer = r._toppaper + .append('g') + .classed('indicatorlayer', !0)), + (r._glimages = r._paper.append('g').classed('glimages', !0)); + var s = r._toppaper.append('g').classed('layer-above', !0); + (r._imageUpperLayer = s.append('g').classed('imagelayer', !0)), + (r._shapeUpperLayer = s.append('g').classed('shapelayer', !0)), + (r._infolayer = r._toppaper.append('g').classed('infolayer', !0)), + (r._menulayer = r._toppaper.append('g').classed('menulayer', !0)), + (r._zoomlayer = r._toppaper.append('g').classed('zoomlayer', !0)), + (r._hoverlayer = r._hoverpaper + .append('g') + .classed('hoverlayer', !0)), + r._modebardiv + .classed('modebar-container', !0) + .style('position', 'absolute') + .style('top', '0px') + .style('right', '0px'), + t.emit('plotly_framework'); + } + (r.animate = function (t, e, r) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error( + 'This element is not a Plotly plot: ' + + t + + ". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/" + ); + var n = t._transitionData; + n._frameQueue || (n._frameQueue = []); + var i = (r = h.supplyAnimationDefaults(r)).transition, + a = r.frame; + function s(t) { + return Array.isArray(i) ? (t >= i.length ? i[0] : i[t]) : i; + } + function l(t) { + return Array.isArray(a) ? (t >= a.length ? a[0] : a[t]) : a; + } + function c(t, e) { + var r = 0; + return function () { + if (t && ++r === e) return t(); + }; + } + return ( + void 0 === n._frameWaitingCnt && (n._frameWaitingCnt = 0), + new Promise(function (a, u) { + function f() { + n._currentFrame && + n._currentFrame.onComplete && + n._currentFrame.onComplete(); + var e = (n._currentFrame = n._frameQueue.shift()); + if (e) { + var r = e.name ? e.name.toString() : null; + (t._fullLayout._currentFrame = r), + (n._lastFrameAt = Date.now()), + (n._timeToNext = e.frameOpts.duration), + h + .transition( + t, + e.frame.data, + e.frame.layout, + T.coerceTraceIndices(t, e.frame.traces), + e.frameOpts, + e.transitionOpts + ) + .then(function () { + e.onComplete && e.onComplete(); + }), + t.emit('plotly_animatingframe', { + name: r, + frame: e.frame, + animation: { + frame: e.frameOpts, + transition: e.transitionOpts, + }, + }); + } else t.emit('plotly_animated'), window.cancelAnimationFrame(n._animationRaf), (n._animationRaf = null); + } + function p() { + t.emit('plotly_animating'), + (n._lastFrameAt = -1 / 0), + (n._timeToNext = 0), + (n._runningTransitions = 0), + (n._currentFrame = null); + var e = function () { + (n._animationRaf = window.requestAnimationFrame(e)), + Date.now() - n._lastFrameAt > n._timeToNext && f(); + }; + e(); + } + var d, + g, + m = 0; + function v(t) { + return ( + Array.isArray(i) + ? m >= i.length + ? (t.transitionOpts = i[m]) + : (t.transitionOpts = i[0]) + : (t.transitionOpts = i), + m++, + t + ); + } + var y = [], + x = null == e, + b = Array.isArray(e); + if (!x && !b && o.isPlainObject(e)) + y.push({ type: 'object', data: v(o.extendFlat({}, e)) }); + else if (x || -1 !== ['string', 'number'].indexOf(typeof e)) + for (d = 0; d < n._frames.length; d++) + (g = n._frames[d]) && + (x || String(g.group) === String(e)) && + y.push({ + type: 'byname', + name: String(g.name), + data: v({ name: g.name }), + }); + else if (b) + for (d = 0; d < e.length; d++) { + var _ = e[d]; + -1 !== ['number', 'string'].indexOf(typeof _) + ? ((_ = String(_)), + y.push({ + type: 'byname', + name: _, + data: v({ name: _ }), + })) + : o.isPlainObject(_) && + y.push({ + type: 'object', + data: v(o.extendFlat({}, _)), + }); + } + for (d = 0; d < y.length; d++) + if ( + 'byname' === (g = y[d]).type && + !n._frameHash[g.data.name] + ) + return ( + o.warn( + 'animate failure: frame not found: "' + + g.data.name + + '"' + ), + void u() + ); + -1 !== ['next', 'immediate'].indexOf(r.mode) && + (function () { + if (0 !== n._frameQueue.length) { + for (; n._frameQueue.length; ) { + var e = n._frameQueue.pop(); + e.onInterrupt && e.onInterrupt(); + } + t.emit('plotly_animationinterrupted', []); + } + })(), + 'reverse' === r.direction && y.reverse(); + var w = t._fullLayout._currentFrame; + if (w && r.fromcurrent) { + var k = -1; + for (d = 0; d < y.length; d++) + if ('byname' === (g = y[d]).type && g.name === w) { + k = d; + break; + } + if (k > 0 && k < y.length - 1) { + var M = []; + for (d = 0; d < y.length; d++) + (g = y[d]), + ('byname' !== y[d].type || d > k) && M.push(g); + y = M; + } + } + y.length > 0 + ? (function (e) { + if (0 !== e.length) { + for (var i = 0; i < e.length; i++) { + var o; + o = + 'byname' === e[i].type + ? h.computeFrame(t, e[i].name) + : e[i].data; + var f = l(i), + d = s(i); + d.duration = Math.min(d.duration, f.duration); + var g = { + frame: o, + name: e[i].name, + frameOpts: f, + transitionOpts: d, + }; + i === e.length - 1 && + ((g.onComplete = c(a, 2)), (g.onInterrupt = u)), + n._frameQueue.push(g); + } + 'immediate' === r.mode && (n._lastFrameAt = -1 / 0), + n._animationRaf || p(); + } + })(y) + : (t.emit('plotly_animated'), a()); + }) + ); + }), + (r.addFrames = function (t, e, r) { + if (((t = o.getGraphDiv(t)), null == e)) return Promise.resolve(); + if (!o.isPlotDiv(t)) + throw new Error( + 'This element is not a Plotly plot: ' + + t + + ". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/" + ); + var n, + i, + a, + s, + l = t._transitionData._frames, + u = t._transitionData._frameHash; + if (!Array.isArray(e)) + throw new Error( + 'addFrames failure: frameList must be an Array of frame definitions' + + e + ); + var f = l.length + 2 * e.length, + p = [], + d = {}; + for (n = e.length - 1; n >= 0; n--) + if (o.isPlainObject(e[n])) { + var g = e[n].name, + m = (u[g] || d[g] || {}).name, + v = e[n].name, + y = u[m] || d[m]; + m && + v && + 'number' == typeof v && + y && + S < 5 && + (S++, + o.warn( + 'addFrames: overwriting frame "' + + (u[m] || d[m]).name + + '" with a frame whose name of type "number" also equates to "' + + m + + '". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.' + ), + 5 === S && + o.warn( + 'addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.' + )), + (d[g] = { name: g }), + p.push({ + frame: h.supplyFrameDefaults(e[n]), + index: + r && void 0 !== r[n] && null !== r[n] ? r[n] : f + n, + }); + } + p.sort(function (t, e) { + return t.index > e.index ? -1 : t.index < e.index ? 1 : 0; + }); + var x = [], + b = [], + _ = l.length; + for (n = p.length - 1; n >= 0; n--) { + if ( + ('number' == typeof (i = p[n].frame).name && + o.warn( + 'Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings' + ), + !i.name) + ) + for ( + ; + u[(i.name = 'frame ' + t._transitionData._counter++)]; + + ); + if (u[i.name]) { + for ( + a = 0; + a < l.length && (l[a] || {}).name !== i.name; + a++ + ); + x.push({ type: 'replace', index: a, value: i }), + b.unshift({ type: 'replace', index: a, value: l[a] }); + } else + (s = Math.max(0, Math.min(p[n].index, _))), + x.push({ type: 'insert', index: s, value: i }), + b.unshift({ type: 'delete', index: s }), + _++; + } + var w = h.modifyFrames, + T = h.modifyFrames, + k = [t, b], + M = [t, x]; + return c && c.add(t, w, k, T, M), h.modifyFrames(t, x); + }), + (r.deleteFrames = function (t, e) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error('This element is not a Plotly plot: ' + t); + var r, + n, + i = t._transitionData._frames, + a = [], + s = []; + if (!e) for (e = [], r = 0; r < i.length; r++) e.push(r); + for ((e = e.slice()).sort(), r = e.length - 1; r >= 0; r--) + (n = e[r]), + a.push({ type: 'delete', index: n }), + s.unshift({ type: 'insert', index: n, value: i[n] }); + var l = h.modifyFrames, + u = h.modifyFrames, + f = [t, s], + p = [t, a]; + return c && c.add(t, l, f, u, p), h.modifyFrames(t, a); + }), + (r.addTraces = function t(e, n, i) { + e = o.getGraphDiv(e); + var a, + s, + l = [], + u = r.deleteTraces, + f = t, + h = [e, l], + p = [e, n]; + for ( + (function (t, e, r) { + var n, i; + if (!Array.isArray(t.data)) + throw new Error('gd.data must be an array.'); + if ('undefined' == typeof e) + throw new Error('traces must be defined.'); + for (Array.isArray(e) || (e = [e]), n = 0; n < e.length; n++) + if ( + 'object' != typeof (i = e[n]) || + Array.isArray(i) || + null === i + ) + throw new Error( + 'all values in traces array must be non-array objects' + ); + if ( + ('undefined' == typeof r || Array.isArray(r) || (r = [r]), + 'undefined' != typeof r && r.length !== e.length) + ) + throw new Error( + 'if indices is specified, traces.length must equal indices.length' + ); + })(e, n, i), + Array.isArray(n) || (n = [n]), + n = n.map(function (t) { + return o.extendFlat({}, t); + }), + T.cleanData(n), + a = 0; + a < n.length; + a++ + ) + e.data.push(n[a]); + for (a = 0; a < n.length; a++) l.push(-n.length + a); + if ('undefined' == typeof i) + return (s = r.redraw(e)), c.add(e, u, h, f, p), s; + Array.isArray(i) || (i = [i]); + try { + O(e, l, i); + } catch (t) { + throw (e.data.splice(e.data.length - n.length, n.length), t); + } + return ( + c.startSequence(e), + c.add(e, u, h, f, p), + (s = r.moveTraces(e, l, i)), + c.stopSequence(e), + s + ); + }), + (r.deleteTraces = function t(e, n) { + e = o.getGraphDiv(e); + var i, + a, + s = [], + l = r.addTraces, + u = t, + f = [e, s, n], + h = [e, n]; + if ('undefined' == typeof n) + throw new Error( + 'indices must be an integer or array of integers.' + ); + for ( + Array.isArray(n) || (n = [n]), + z(e, n, 'indices'), + (n = P(n, e.data.length - 1)).sort(o.sorterDes), + i = 0; + i < n.length; + i += 1 + ) + (a = e.data.splice(n[i], 1)[0]), s.push(a); + var p = r.redraw(e); + return c.add(e, l, f, u, h), p; + }), + (r.extendTraces = function t(e, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r < 0) { + var a = new t.constructor(0), + s = R(t, e); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } else if ( + ((n = new t.constructor(r)), + (i = new t.constructor(t.length + e.length - r)), + r === e.length) + ) + n.set(e), i.set(t); + else if (r < e.length) { + var l = e.length - r; + n.set(e.subarray(l)), + i.set(t), + i.set(e.subarray(0, l), t.length); + } else { + var c = r - e.length, + u = t.length - c; + n.set(t.subarray(u)), n.set(e, c), i.set(t.subarray(0, u)); + } + else + (n = t.concat(e)), + (i = + r >= 0 && r < n.length ? n.splice(0, n.length - r) : []); + return [n, i]; + } + var l = D((e = o.getGraphDiv(e)), n, i, a, s), + u = r.redraw(e), + f = [e, l.update, i, l.maxPoints]; + return c.add(e, r.prependTraces, f, t, arguments), u; + }), + (r.moveTraces = function t(e, n, i) { + var a, + s = [], + l = [], + u = t, + f = t, + h = [(e = o.getGraphDiv(e)), i, n], + p = [e, n, i]; + if ( + (O(e, n, i), + (n = Array.isArray(n) ? n : [n]), + 'undefined' == typeof i) + ) + for (i = [], a = 0; a < n.length; a++) i.push(-n.length + a); + for ( + i = Array.isArray(i) ? i : [i], + n = P(n, e.data.length - 1), + i = P(i, e.data.length - 1), + a = 0; + a < e.data.length; + a++ + ) + -1 === n.indexOf(a) && s.push(e.data[a]); + for (a = 0; a < n.length; a++) + l.push({ newIndex: i[a], trace: e.data[n[a]] }); + for ( + l.sort(function (t, e) { + return t.newIndex - e.newIndex; + }), + a = 0; + a < l.length; + a += 1 + ) + s.splice(l[a].newIndex, 0, l[a].trace); + e.data = s; + var d = r.redraw(e); + return c.add(e, u, h, f, p), d; + }), + (r.prependTraces = function t(e, n, i, a) { + function s(t, e, r) { + var n, i; + if (o.isTypedArray(t)) + if (r <= 0) { + var a = new t.constructor(0), + s = R(e, t); + r < 0 ? ((n = s), (i = a)) : ((n = a), (i = s)); + } else if ( + ((n = new t.constructor(r)), + (i = new t.constructor(t.length + e.length - r)), + r === e.length) + ) + n.set(e), i.set(t); + else if (r < e.length) { + var l = e.length - r; + n.set(e.subarray(0, l)), i.set(e.subarray(l)), i.set(t, l); + } else { + var c = r - e.length; + n.set(e), + n.set(t.subarray(0, c), e.length), + i.set(t.subarray(c)); + } + else + (n = e.concat(t)), + (i = r >= 0 && r < n.length ? n.splice(r, n.length) : []); + return [n, i]; + } + var l = D((e = o.getGraphDiv(e)), n, i, a, s), + u = r.redraw(e), + f = [e, l.update, i, l.maxPoints]; + return c.add(e, r.extendTraces, f, t, arguments), u; + }), + (r.newPlot = function (t, e, n, i) { + return ( + (t = o.getGraphDiv(t)), + h.cleanPlot([], {}, t._fullData || [], t._fullLayout || {}), + h.purge(t), + r.plot(t, e, n, i) + ); + }), + (r.plot = function (t, e, i, a) { + var s; + if (((t = o.getGraphDiv(t)), l.init(t), o.isPlainObject(e))) { + var c = e; + (e = c.data), (i = c.layout), (a = c.config), (s = c.frames); + } + if (!1 === l.triggerHandler(t, 'plotly_beforeplot', [e, i, a])) + return Promise.reject(); + e || + i || + o.isPlotDiv(t) || + o.warn( + "Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.", + t + ), + I(t, a), + i || (i = {}), + n.select(t).classed('js-plotly-plot', !0), + g.makeTester(), + Array.isArray(t._promises) || (t._promises = []); + var f = 0 === (t.data || []).length && Array.isArray(e); + Array.isArray(e) && + (T.cleanData(e), + f ? (t.data = e) : t.data.push.apply(t.data, e), + (t.empty = !1)), + (t.layout && !f) || (t.layout = T.cleanLayout(i)), + h.supplyDefaults(t); + var m = t._fullLayout, + y = m._has('cartesian'); + if (!m._has('polar') && e && e[0] && e[0].r) + return ( + o.log('Legacy polar charts are deprecated!'), + (function (t, e, r) { + var i = n.select(t).selectAll('.plot-container').data([0]); + i.enter() + .insert('div', ':first-child') + .classed('plot-container plotly', !0); + var a = i.selectAll('.svg-container').data([0]); + a + .enter() + .append('div') + .classed('svg-container', !0) + .style('position', 'relative'), + a.html(''), + e && (t.data = e); + r && (t.layout = r); + p.manager.fillLayout(t), + a.style({ + width: t._fullLayout.width + 'px', + height: t._fullLayout.height + 'px', + }), + (t.framework = p.manager.framework(t)), + t.framework({ data: t.data, layout: t.layout }, a.node()), + t.framework.setUndoPoint(); + var s = t.framework.svg(), + l = 1, + c = t._fullLayout.title ? t._fullLayout.title.text : ''; + ('' !== c && c) || (l = 0); + var u = function () { + this.call(x.convertToTspans, t); + }, + f = s.select('.title-group text').call(u); + if (t._context.edits.titleText) { + var d = o._(t, 'Click to enter Plot title'); + (c && c !== d) || + ((l = 0.2), + f + .attr({ 'data-unformatted': d }) + .text(d) + .style({ opacity: l }) + .on('mouseover.opacity', function () { + n.select(this) + .transition() + .duration(100) + .style('opacity', 1); + }) + .on('mouseout.opacity', function () { + n.select(this) + .transition() + .duration(1e3) + .style('opacity', 0); + })); + var g = function () { + this.call(x.makeEditable, { gd: t }) + .on('edit', function (e) { + t.framework({ layout: { title: { text: e } } }), + this.text(e).call(u), + this.call(g); + }) + .on('cancel', function () { + var t = this.attr('data-unformatted'); + this.text(t).call(u); + }); + }; + f.call(g); + } + return ( + t._context.setBackground(t, t._fullLayout.paper_bgcolor), + h.addLinks(t), + Promise.resolve() + ); + })(t, e, i) + ); + (m._replotting = !0), + (f || m._shouldCreateBgLayer) && + (lt(t), + m._shouldCreateBgLayer && delete m._shouldCreateBgLayer), + t.framework !== lt && ((t.framework = lt), lt(t)), + g.initGradients(t), + f && d.saveShowSpikeInitial(t); + var b = + !t.calcdata || t.calcdata.length !== (t._fullData || []).length; + b && h.doCalcdata(t); + for (var _ = 0; _ < t.calcdata.length; _++) + t.calcdata[_][0].trace = t._fullData[_]; + t._context.responsive + ? t._responsiveChartHandler || + ((t._responsiveChartHandler = function () { + o.isHidden(t) || h.resize(t); + }), + window.addEventListener('resize', t._responsiveChartHandler)) + : o.clearResponsive(t); + var w = o.extendFlat({}, m._size), + M = 0; + function A() { + if ( + (h.clearAutoMarginIds(t), + k.drawMarginPushers(t), + d.allowAutoMargin(t), + m._has('pie')) + ) + for (var e = t._fullData, r = 0; r < e.length; r++) { + var n = e[r]; + 'pie' === n.type && + n.automargin && + h.allowAutoMargin(t, 'pie.' + n.uid + '.automargin'); + } + return h.doAutoMargin(t), h.previousPromises(t); + } + function S() { + t._transitioning || + (k.doAutoRangeAndConstraints(t), + f && d.saveRangeInitial(t), + u.getComponentMethod('rangeslider', 'calcAutorange')(t)); + } + var C = [ + h.previousPromises, + function () { + if (s) return r.addFrames(t, s); + }, + function e() { + for (var r = m._basePlotModules, n = 0; n < r.length; n++) + r[n].drawFramework && r[n].drawFramework(t); + if ( + (!m._glcanvas && + m._has('gl') && + ((m._glcanvas = m._glcontainer + .selectAll('.gl-canvas') + .data( + [ + { key: 'contextLayer', context: !0, pick: !1 }, + { key: 'focusLayer', context: !1, pick: !1 }, + { key: 'pickLayer', context: !1, pick: !0 }, + ], + function (t) { + return t.key; + } + )), + m._glcanvas + .enter() + .append('canvas') + .attr('class', function (t) { + return ( + 'gl-canvas gl-canvas-' + t.key.replace('Layer', '') + ); + }) + .style({ + position: 'absolute', + top: 0, + left: 0, + overflow: 'visible', + 'pointer-events': 'none', + })), + m._glcanvas) + ) { + m._glcanvas.attr('width', m.width).attr('height', m.height); + var i = m._glcanvas.data()[0].regl; + if ( + i && + (Math.floor(m.width) !== i._gl.drawingBufferWidth || + Math.floor(m.height) !== i._gl.drawingBufferHeight) + ) { + var a = + 'WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.'; + if (!M) + return ( + o.log(a + ' Clearing graph and plotting again.'), + h.cleanPlot([], {}, t._fullData, m), + h.supplyDefaults(t), + (m = t._fullLayout), + h.doCalcdata(t), + M++, + e() + ); + o.error(a); + } + } + return ( + 'h' === m.modebar.orientation + ? m._modebardiv + .style('height', null) + .style('width', '100%') + : m._modebardiv + .style('width', null) + .style('height', m.height + 'px'), + h.previousPromises(t) + ); + }, + A, + function () { + if (h.didMarginChange(w, m._size)) + return o.syncOrAsync([A, k.layoutStyles], t); + }, + ]; + y && + C.push(function () { + if (b) + return o.syncOrAsync( + [ + u.getComponentMethod('shapes', 'calcAutorange'), + u.getComponentMethod('annotations', 'calcAutorange'), + S, + ], + t + ); + S(); + }), + C.push(k.layoutStyles), + y && + C.push( + function () { + return d.draw(t, f ? '' : 'redraw'); + }, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + q(t, t._fullLayout._insideTickLabelsAutorange).then( + function () { + t._fullLayout._insideTickLabelsAutorange = void 0; + } + ); + } + ), + C.push( + k.drawData, + k.finalDraw, + v, + h.addLinks, + h.rehover, + h.redrag, + h.doAutoMargin, + function (t) { + t._fullLayout._insideTickLabelsAutorange && + f && + d.saveRangeInitial(t, !0); + }, + h.previousPromises + ); + var L = o.syncOrAsync(C, t); + return ( + (L && L.then) || (L = Promise.resolve()), + L.then(function () { + return E(t), t; + }) + ); + }), + (r.purge = function (t) { + var e = (t = o.getGraphDiv(t))._fullLayout || {}, + r = t._fullData || []; + return ( + h.cleanPlot([], {}, r, e), + h.purge(t), + l.purge(t), + e._container && e._container.remove(), + delete t._context, + t + ); + }), + (r.react = function (t, e, n, i) { + var a, l; + (t = o.getGraphDiv(t)), T.clearPromiseQueue(t); + var c = t._fullData, + p = t._fullLayout; + if (o.isPlotDiv(t) && c && p) { + if (o.isPlainObject(e)) { + var d = e; + (e = d.data), (n = d.layout), (i = d.config), (a = d.frames); + } + var g = !1; + if (i) { + var m = o.extendDeep({}, t._context); + (t._context = void 0), + I(t, i), + (g = (function t(e, r) { + var n; + for (n in e) + if ('_' !== n.charAt(0)) { + var i = e[n], + a = r[n]; + if (i !== a) + if (o.isPlainObject(i) && o.isPlainObject(a)) { + if (t(i, a)) return !0; + } else { + if (!Array.isArray(i) || !Array.isArray(a)) + return !0; + if (i.length !== a.length) return !0; + for (var s = 0; s < i.length; s++) + if (i[s] !== a[s]) { + if ( + !o.isPlainObject(i[s]) || + !o.isPlainObject(a[s]) + ) + return !0; + if (t(i[s], a[s])) return !0; + } + } + } + })(m, t._context)); + } + (t.data = e || []), + T.cleanData(t.data), + (t.layout = n || {}), + T.cleanLayout(t.layout), + (function (t, e, r, n) { + var i, + a, + l, + c, + u, + f, + h, + p, + d = n._preGUI, + g = [], + m = {}; + for (i in d) { + if ((u = et(i, $))) { + if ( + ((a = u.attr || u.head + '.uirevision'), + (c = (l = s(n, a).get()) && rt(a, e)) && + c === l && + (null === (f = d[i]) && (f = void 0), + at((p = (h = s(e, i)).get()), f))) + ) { + void 0 === p && + 'autorange' === i.substr(i.length - 9) && + g.push(i.substr(0, i.length - 10)), + h.set(B(s(n, i).get())); + continue; + } + } else o.warn('unrecognized GUI edit: ' + i); + delete d[i], + 'range[' === i.substr(i.length - 8, 6) && + (m[i.substr(0, i.length - 9)] = 1); + } + for (var v = 0; v < g.length; v++) { + var y = g[v]; + if (m[y]) { + var x = s(e, y).get(); + x && delete x.autorange; + } + } + var b = n._tracePreGUI; + for (var _ in b) { + var w, + T = b[_], + k = null; + for (i in T) { + if (!k) { + var M = nt(_, r); + if (M < 0) { + delete b[_]; + break; + } + var A = it(_, t, (w = r[M]._fullInput).index); + if (A < 0) { + delete b[_]; + break; + } + k = t[A]; + } + if ((u = et(i, tt))) { + if ( + (u.attr + ? (c = (l = s(n, u.attr).get()) && rt(u.attr, e)) + : ((l = w.uirevision), + void 0 === (c = k.uirevision) && + (c = e.uirevision)), + c && + c === l && + (null === (f = T[i]) && (f = void 0), + at((p = (h = s(k, i)).get()), f))) + ) { + h.set(B(s(w, i).get())); + continue; + } + } else + o.warn( + 'unrecognized GUI edit: ' + i + ' in trace uid ' + _ + ); + delete T[i]; + } + } + })(t.data, t.layout, c, p), + h.supplyDefaults(t, { skipUpdateCalc: !0 }); + var v = t._fullData, + y = t._fullLayout, + x = void 0 === y.datarevision, + b = y.transition, + _ = (function (t, e, r, n, i) { + var a = M.layoutFlags(); + function o(t) { + return f.getLayoutValObject(r, t); + } + (a.arrays = {}), + (a.rangesAltered = {}), + (a.nChanges = 0), + (a.nChangesAnim = 0), + ot(e, r, [], { + getValObject: o, + flags: a, + immutable: n, + transition: i, + gd: t, + }), + (a.plot || a.calc) && (a.layoutReplot = !0); + i && + a.nChanges && + a.nChangesAnim && + (a.anim = a.nChanges === a.nChangesAnim ? 'all' : 'some'); + return a; + })(t, p, y, x, b), + w = _.newDataRevision, + A = (function (t, e, r, n, i, a) { + var o = e.length === r.length; + if (!i && !o) return { fullReplot: !0, calc: !0 }; + var s, + l, + c = M.traceFlags(); + (c.arrays = {}), (c.nChanges = 0), (c.nChangesAnim = 0); + var u = { + getValObject: function (t) { + var e = f.getTraceValObject(l, t); + return ( + !l._module.animatable && e.anim && (e.anim = !1), e + ); + }, + flags: c, + immutable: n, + transition: i, + newDataRevision: a, + gd: t, + }, + p = {}; + for (s = 0; s < e.length; s++) + if (r[s]) { + if ( + ((l = r[s]._fullInput), + h.hasMakesDataTransform(l) && (l = r[s]), + p[l.uid]) + ) + continue; + (p[l.uid] = 1), ot(e[s]._fullInput, l, [], u); + } + (c.calc || c.plot) && (c.fullReplot = !0); + i && + c.nChanges && + c.nChangesAnim && + (c.anim = + c.nChanges === c.nChangesAnim && o ? 'all' : 'some'); + return c; + })(t, c, v, x, b, w); + if ((J(t) && (_.layoutReplot = !0), A.calc || _.calc)) { + t.calcdata = void 0; + for ( + var S = Object.getOwnPropertyNames(y), C = 0; + C < S.length; + C++ + ) { + var L = S[C], + P = L.substring(0, 5); + if ('xaxis' === P || 'yaxis' === P) { + var z = y[L]._emptyCategories; + z && z(); + } + } + } else h.supplyDefaultsUpdateCalc(t.calcdata, v); + var O = []; + if ( + (a && + ((t._transitionData = {}), + h.createTransitionData(t), + O.push(function () { + return r.addFrames(t, a); + })), + y.transition && !g && (A.anim || _.anim)) + ) + _.ticks && O.push(k.doTicksRelayout), + h.doCalcdata(t), + k.doAutoRangeAndConstraints(t), + O.push(function () { + return h.transitionFromReact(t, A, _, p); + }); + else if (A.fullReplot || _.layoutReplot || g) + (t._fullLayout._skipDefaults = !0), O.push(r.plot); + else { + for (var D in _.arrays) { + var R = _.arrays[D]; + if (R.length) { + var F = u.getComponentMethod(D, 'drawOne'); + if (F !== o.noop) + for (var N = 0; N < R.length; N++) F(t, R[N]); + else { + var j = u.getComponentMethod(D, 'draw'); + if (j === o.noop) + throw new Error('cannot draw components: ' + D); + j(t); + } + } + } + O.push(h.previousPromises), + A.style && O.push(k.doTraceStyle), + (A.colorbars || _.colorbars) && O.push(k.doColorBars), + _.legend && O.push(k.doLegend), + _.layoutstyle && O.push(k.layoutStyles), + _.axrange && G(O), + _.ticks && O.push(k.doTicksRelayout), + _.modebar && O.push(k.doModeBar), + _.camera && O.push(k.doCamera), + O.push(E); + } + O.push(h.rehover, h.redrag), + ((l = o.syncOrAsync(O, t)) && l.then) || + (l = Promise.resolve(t)); + } else l = r.newPlot(t, e, n, i); + return l.then(function () { + return t.emit('plotly_react', { data: e, layout: n }), t; + }); + }), + (r.redraw = function (t) { + if (((t = o.getGraphDiv(t)), !o.isPlotDiv(t))) + throw new Error('This element is not a Plotly plot: ' + t); + return ( + T.cleanData(t.data), + T.cleanLayout(t.layout), + (t.calcdata = void 0), + r.plot(t).then(function () { + return t.emit('plotly_redraw'), t; + }) + ); + }), + (r.relayout = q), + (r.restyle = F), + (r.setPlotConfig = function (t) { + return o.extendFlat(_, t); + }), + (r.update = K), + (r._guiRelayout = Q(q)), + (r._guiRestyle = Q(F)), + (r._guiUpdate = Q(K)), + (r._storeDirectGUIEdit = function (t, e, r) { + for (var n in r) { + j(n, s(t, n).get(), r[n], e); + } + }); + }, + { + '../components/color': 643, + '../components/drawing': 665, + '../constants/xmlns_namespaces': 754, + '../lib': 778, + '../lib/events': 767, + '../lib/queue': 794, + '../lib/svg_text_utils': 803, + '../plots/cartesian/axes': 828, + '../plots/cartesian/constants': 834, + '../plots/cartesian/graph_interact': 837, + '../plots/cartesian/select': 847, + '../plots/plots': 891, + '../plots/polar/legacy': 899, + '../registry': 911, + './edit_types': 810, + './helpers': 811, + './manage_arrays': 813, + './plot_config': 815, + './plot_schema': 816, + './subroutines': 818, + d3: 169, + 'fast-isnumeric': 241, + 'has-hover': 440, + }, + ], + 815: [ + function (t, e, r) { + 'use strict'; + var n = { + staticPlot: { valType: 'boolean', dflt: !1 }, + plotlyServerURL: { valType: 'string', dflt: '' }, + editable: { valType: 'boolean', dflt: !1 }, + edits: { + annotationPosition: { valType: 'boolean', dflt: !1 }, + annotationTail: { valType: 'boolean', dflt: !1 }, + annotationText: { valType: 'boolean', dflt: !1 }, + axisTitleText: { valType: 'boolean', dflt: !1 }, + colorbarPosition: { valType: 'boolean', dflt: !1 }, + colorbarTitleText: { valType: 'boolean', dflt: !1 }, + legendPosition: { valType: 'boolean', dflt: !1 }, + legendText: { valType: 'boolean', dflt: !1 }, + shapePosition: { valType: 'boolean', dflt: !1 }, + titleText: { valType: 'boolean', dflt: !1 }, + }, + autosizable: { valType: 'boolean', dflt: !1 }, + responsive: { valType: 'boolean', dflt: !1 }, + fillFrame: { valType: 'boolean', dflt: !1 }, + frameMargins: { valType: 'number', dflt: 0, min: 0, max: 0.5 }, + scrollZoom: { + valType: 'flaglist', + flags: ['cartesian', 'gl3d', 'geo', 'mapbox'], + extras: [!0, !1], + dflt: 'gl3d+geo+mapbox', + }, + doubleClick: { + valType: 'enumerated', + values: [!1, 'reset', 'autosize', 'reset+autosize'], + dflt: 'reset+autosize', + }, + doubleClickDelay: { valType: 'number', dflt: 300, min: 0 }, + showAxisDragHandles: { valType: 'boolean', dflt: !0 }, + showAxisRangeEntryBoxes: { valType: 'boolean', dflt: !0 }, + showTips: { valType: 'boolean', dflt: !0 }, + showLink: { valType: 'boolean', dflt: !1 }, + linkText: { valType: 'string', dflt: 'Edit chart', noBlank: !0 }, + sendData: { valType: 'boolean', dflt: !0 }, + showSources: { valType: 'any', dflt: !1 }, + displayModeBar: { + valType: 'enumerated', + values: ['hover', !0, !1], + dflt: 'hover', + }, + showSendToCloud: { valType: 'boolean', dflt: !1 }, + showEditInChartStudio: { valType: 'boolean', dflt: !1 }, + modeBarButtonsToRemove: { valType: 'any', dflt: [] }, + modeBarButtonsToAdd: { valType: 'any', dflt: [] }, + modeBarButtons: { valType: 'any', dflt: !1 }, + toImageButtonOptions: { valType: 'any', dflt: {} }, + displaylogo: { valType: 'boolean', dflt: !0 }, + watermark: { valType: 'boolean', dflt: !1 }, + plotGlPixelRatio: { valType: 'number', dflt: 2, min: 1, max: 4 }, + setBackground: { valType: 'any', dflt: 'transparent' }, + topojsonURL: { + valType: 'string', + noBlank: !0, + dflt: 'https://cdn.plot.ly/', + }, + mapboxAccessToken: { valType: 'string', dflt: null }, + logging: { valType: 'integer', min: 0, max: 2, dflt: 1 }, + notifyOnLogging: { valType: 'integer', min: 0, max: 2, dflt: 0 }, + queueLength: { valType: 'integer', min: 0, dflt: 0 }, + globalTransforms: { valType: 'any', dflt: [] }, + locale: { valType: 'string', dflt: 'en-US' }, + locales: { valType: 'any', dflt: {} }, + }, + i = {}; + !(function t(e, r) { + for (var n in e) { + var i = e[n]; + i.valType ? (r[n] = i.dflt) : (r[n] || (r[n] = {}), t(i, r[n])); + } + })(n, i), + (e.exports = { configAttributes: n, dfltConfig: i }); + }, + {}, + ], + 816: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'), + i = t('../lib'), + a = t('../plots/attributes'), + o = t('../plots/layout_attributes'), + s = t('../plots/frame_attributes'), + l = t('../plots/animation_attributes'), + c = t('./plot_config').configAttributes, + u = t('../plots/polar/legacy/area_attributes'), + f = t('../plots/polar/legacy/axis_attributes'), + h = t('./edit_types'), + p = i.extendFlat, + d = i.extendDeepAll, + g = i.isPlainObject, + m = i.isArrayOrTypedArray, + v = i.nestedProperty, + y = i.valObjectMeta, + x = [ + '_isSubplotObj', + '_isLinkedToArray', + '_arrayAttrRegexps', + '_deprecated', + ]; + function b(t, e, r) { + if (!t) return !1; + if (t._isLinkedToArray) + if (_(e[r])) r++; + else if (r < e.length) return !1; + for (; r < e.length; r++) { + var n = t[e[r]]; + if (!g(n)) break; + if (((t = n), r === e.length - 1)) break; + if (t._isLinkedToArray) { + if (!_(e[++r])) return !1; + } else if ('info_array' === t.valType) { + var i = e[++r]; + if (!_(i)) return !1; + var a = t.items; + if (Array.isArray(a)) { + if (i >= a.length) return !1; + if (2 === t.dimensions) { + if ((r++, e.length === r)) return t; + var o = e[r]; + if (!_(o)) return !1; + t = a[i][o]; + } else t = a[i]; + } else t = a; + } + } + return t; + } + function _(t) { + return t === Math.round(t) && t >= 0; + } + function w() { + var t, + e, + r = {}; + for (t in (d(r, o), n.subplotsRegistry)) { + if ((e = n.subplotsRegistry[t]).layoutAttributes) + if (Array.isArray(e.attr)) + for (var i = 0; i < e.attr.length; i++) M(r, e, e.attr[i]); + else M(r, e, 'subplot' === e.attr ? e.name : e.attr); + } + for (t in ((r = (function (t) { + return ( + p(t, { radialaxis: f.radialaxis, angularaxis: f.angularaxis }), + p(t, f.layout), + t + ); + })(r)), + n.componentsRegistry)) { + var a = (e = n.componentsRegistry[t]).schema; + if (a && (a.subplots || a.layout)) { + var s = a.subplots; + if (s && s.xaxis && !s.yaxis) + for (var l in s.xaxis) delete r.yaxis[l]; + } else + 'colorscale' === e.name + ? d(r, e.layoutAttributes) + : e.layoutAttributes && A(r, e.layoutAttributes, e.name); + } + return { layoutAttributes: k(r) }; + } + function T() { + var t = { frames: d({}, s) }; + return k(t), t.frames; + } + function k(t) { + return ( + (function (t) { + r.crawl(t, function (t, e, n) { + r.isValObject(t) + ? 'data_array' === t.valType + ? ((t.role = 'data'), + (n[e + 'src'] = { + valType: 'string', + editType: 'none', + })) + : !0 === t.arrayOk && + (n[e + 'src'] = { valType: 'string', editType: 'none' }) + : g(t) && (t.role = 'object'); + }); + })(t), + (function (t) { + r.crawl(t, function (t, e, r) { + if (t) { + var n = t._isLinkedToArray; + n && + (delete t._isLinkedToArray, + (r[e] = { items: {} }), + (r[e].items[n] = t), + (r[e].role = 'object')); + } + }); + })(t), + (function (t) { + !(function t(e) { + for (var r in e) + if (g(e[r])) t(e[r]); + else if (Array.isArray(e[r])) + for (var n = 0; n < e[r].length; n++) t(e[r][n]); + else e[r] instanceof RegExp && (e[r] = e[r].toString()); + })(t); + })(t), + t + ); + } + function M(t, e, r) { + var n = v(t, r), + i = d({}, e.layoutAttributes); + (i._isSubplotObj = !0), n.set(i); + } + function A(t, e, r) { + var n = v(t, r); + n.set(d(n.get() || {}, e)); + } + (r.IS_SUBPLOT_OBJ = '_isSubplotObj'), + (r.IS_LINKED_TO_ARRAY = '_isLinkedToArray'), + (r.DEPRECATED = '_deprecated'), + (r.UNDERSCORE_ATTRS = x), + (r.get = function () { + var t = {}; + n.allTypes.concat('area').forEach(function (e) { + t[e] = (function (t) { + var e, i; + 'area' === t + ? ((e = { attributes: u }), (i = {})) + : ((e = n.modules[t]._module), (i = e.basePlotModule)); + var o = { type: null }, + s = d({}, a), + l = d({}, e.attributes); + r.crawl(l, function (t, e, r, n, i) { + v(s, i).set(void 0), void 0 === t && v(l, i).set(void 0); + }), + d(o, s), + n.traceIs(t, 'noOpacity') && delete o.opacity; + n.traceIs(t, 'showLegend') || + (delete o.showlegend, delete o.legendgroup); + n.traceIs(t, 'noHover') && + (delete o.hoverinfo, delete o.hoverlabel); + e.selectPoints || delete o.selectedpoints; + d(o, l), i.attributes && d(o, i.attributes); + o.type = t; + var c = { + meta: e.meta || {}, + categories: e.categories || {}, + animatable: Boolean(e.animatable), + type: t, + attributes: k(o), + }; + if (e.layoutAttributes) { + var f = {}; + d(f, e.layoutAttributes), (c.layoutAttributes = k(f)); + } + e.animatable || + r.crawl(c, function (t) { + r.isValObject(t) && 'anim' in t && delete t.anim; + }); + return c; + })(e); + }); + var e = {}; + return ( + Object.keys(n.transformsRegistry).forEach(function (t) { + e[t] = (function (t) { + var e = n.transformsRegistry[t], + r = d({}, e.attributes); + return ( + Object.keys(n.componentsRegistry).forEach(function (e) { + var i = n.componentsRegistry[e]; + i.schema && + i.schema.transforms && + i.schema.transforms[t] && + Object.keys(i.schema.transforms[t]).forEach(function ( + e + ) { + A(r, i.schema.transforms[t][e], e); + }); + }), + { attributes: k(r) } + ); + })(t); + }), + { + defs: { + valObjects: y, + metaKeys: x.concat([ + 'description', + 'role', + 'editType', + 'impliedEdits', + ]), + editType: { traces: h.traces, layout: h.layout }, + impliedEdits: {}, + }, + traces: t, + layout: w(), + transforms: e, + frames: T(), + animation: k(l), + config: k(c), + } + ); + }), + (r.crawl = function (t, e, n, i) { + var a = n || 0; + (i = i || ''), + Object.keys(t).forEach(function (n) { + var o = t[n]; + if (-1 === x.indexOf(n)) { + var s = (i ? i + '.' : '') + n; + e(o, n, t, a, s), + r.isValObject(o) || + (g(o) && + 'impliedEdits' !== n && + r.crawl(o, e, a + 1, s)); + } + }); + }), + (r.isValObject = function (t) { + return t && void 0 !== t.valType; + }), + (r.findArrayAttributes = function (t) { + var e, + n, + i = [], + o = [], + s = []; + function l(t, r, a, l) { + (o = o.slice(0, l).concat([r])), + (s = s.slice(0, l).concat([t && t._isLinkedToArray])), + t && + ('data_array' === t.valType || !0 === t.arrayOk) && + !( + 'colorbar' === o[l - 1] && + ('ticktext' === r || 'tickvals' === r) + ) && + (function t(e, r, a) { + var l = e[o[r]], + c = a + o[r]; + if (r === o.length - 1) m(l) && i.push(n + c); + else if (s[r]) { + if (Array.isArray(l)) + for (var u = 0; u < l.length; u++) + g(l[u]) && t(l[u], r + 1, c + '[' + u + '].'); + } else g(l) && t(l, r + 1, c + '.'); + })(e, 0, ''); + } + (e = t), + (n = ''), + r.crawl(a, l), + t._module && + t._module.attributes && + r.crawl(t._module.attributes, l); + var c = t.transforms; + if (c) + for (var u = 0; u < c.length; u++) { + var f = c[u], + h = f._module; + h && + ((n = 'transforms[' + u + '].'), + (e = f), + r.crawl(h.attributes, l)); + } + return i; + }), + (r.getTraceValObject = function (t, e) { + var r, + i, + o = e[0], + s = 1; + if ('transforms' === o) { + if (1 === e.length) return a.transforms; + var l = t.transforms; + if (!Array.isArray(l) || !l.length) return !1; + var c = e[1]; + if (!_(c) || c >= l.length) return !1; + (i = + (r = (n.transformsRegistry[l[c].type] || {}).attributes) && + r[e[2]]), + (s = 3); + } else if ('area' === t.type) i = u[o]; + else { + var f = t._module; + if ( + (f || (f = (n.modules[t.type || a.type.dflt] || {})._module), + !f) + ) + return !1; + if (!(i = (r = f.attributes) && r[o])) { + var h = f.basePlotModule; + h && h.attributes && (i = h.attributes[o]); + } + i || (i = a[o]); + } + return b(i, e, s); + }), + (r.getLayoutValObject = function (t, e) { + return b( + (function (t, e) { + var r, + i, + a, + s, + l = t._basePlotModules; + if (l) { + var c; + for (r = 0; r < l.length; r++) { + if ((a = l[r]).attrRegex && a.attrRegex.test(e)) { + if (a.layoutAttrOverrides) return a.layoutAttrOverrides; + !c && a.layoutAttributes && (c = a.layoutAttributes); + } + var u = a.baseLayoutAttrOverrides; + if (u && e in u) return u[e]; + } + if (c) return c; + } + var h = t._modules; + if (h) + for (r = 0; r < h.length; r++) + if ((s = h[r].layoutAttributes) && e in s) return s[e]; + for (i in n.componentsRegistry) { + if ( + 'colorscale' === (a = n.componentsRegistry[i]).name && + 0 === e.indexOf('coloraxis') + ) + return a.layoutAttributes[e]; + if (!a.schema && e === a.name) return a.layoutAttributes; + } + if (e in o) return o[e]; + if ('radialaxis' === e || 'angularaxis' === e) return f[e]; + return f.layout[e] || !1; + })(t, e[0]), + e, + 1 + ); + }); + }, + { + '../lib': 778, + '../plots/animation_attributes': 822, + '../plots/attributes': 824, + '../plots/frame_attributes': 857, + '../plots/layout_attributes': 882, + '../plots/polar/legacy/area_attributes': 897, + '../plots/polar/legacy/axis_attributes': 898, + '../registry': 911, + './edit_types': 810, + './plot_config': 815, + }, + ], + 817: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plots/attributes'), + a = { name: { valType: 'string', editType: 'none' } }; + function o(t) { + return t && 'string' == typeof t; + } + function s(t) { + var e = t.length - 1; + return ( + 's' !== t.charAt(e) && + n.warn('bad argument to arrayDefaultKey: ' + t), + t.substr(0, t.length - 1) + 'defaults' + ); + } + (a.templateitemname = { valType: 'string', editType: 'calc' }), + (r.templatedArray = function (t, e) { + return ( + (e._isLinkedToArray = t), + (e.name = a.name), + (e.templateitemname = a.templateitemname), + e + ); + }), + (r.traceTemplater = function (t) { + var e, + r, + a = {}; + for (e in t) + (r = t[e]), Array.isArray(r) && r.length && (a[e] = 0); + return { + newTrace: function (o) { + var s = { + type: (e = n.coerce(o, {}, i, 'type')), + _template: null, + }; + if (e in a) { + r = t[e]; + var l = a[e] % r.length; + a[e]++, (s._template = r[l]); + } + return s; + }, + }; + }), + (r.newContainer = function (t, e, r) { + var i = t._template, + a = i && (i[e] || (r && i[r])); + return ( + n.isPlainObject(a) || (a = null), (t[e] = { _template: a }) + ); + }), + (r.arrayTemplater = function (t, e, r) { + var n = t._template, + i = n && n[s(e)], + a = n && n[e]; + (Array.isArray(a) && a.length) || (a = []); + var l = {}; + return { + newItem: function (t) { + var e = { name: t.name, _input: t }, + n = (e.templateitemname = t.templateitemname); + if (!o(n)) return (e._template = i), e; + for (var s = 0; s < a.length; s++) { + var c = a[s]; + if (c.name === n) return (l[n] = 1), (e._template = c), e; + } + return (e[r] = t[r] || !1), (e._template = !1), e; + }, + defaultItems: function () { + for (var t = [], e = 0; e < a.length; e++) { + var r = a[e], + n = r.name; + if (o(n) && !l[n]) { + var i = { + _template: r, + name: n, + _input: { _templateitemname: n }, + }; + (i.templateitemname = r.templateitemname), + t.push(i), + (l[n] = 1); + } + } + return t; + }, + }; + }), + (r.arrayDefaultKey = s), + (r.arrayEditor = function (t, e, r) { + var i = (n.nestedProperty(t, e).get() || []).length, + a = r._index, + o = a >= i && (r._input || {})._templateitemname; + o && (a = i); + var s, + l = e + '[' + a + ']'; + function c() { + (s = {}), o && ((s[l] = {}), (s[l].templateitemname = o)); + } + function u(t, e) { + o ? n.nestedProperty(s[l], t).set(e) : (s[l + '.' + t] = e); + } + function f() { + var t = s; + return c(), t; + } + return ( + c(), + { + modifyBase: function (t, e) { + s[t] = e; + }, + modifyItem: u, + getUpdateObj: f, + applyUpdate: function (e, r) { + e && u(e, r); + var i = f(); + for (var a in i) n.nestedProperty(t, a).set(i[a]); + }, + } + ); + }); + }, + { '../lib': 778, '../plots/attributes': 824 }, + ], + 818: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../registry'), + a = t('../plots/plots'), + o = t('../lib'), + s = t('../lib/clear_gl_canvases'), + l = t('../components/color'), + c = t('../components/drawing'), + u = t('../components/titles'), + f = t('../components/modebar'), + h = t('../plots/cartesian/axes'), + p = t('../constants/alignment'), + d = t('../plots/cartesian/constraints'), + g = d.enforce, + m = d.clean, + v = t('../plots/cartesian/autorange').doAutoRange; + function y(t, e, r) { + for (var n = 0; n < r.length; n++) { + var i = r[n][0], + a = r[n][1]; + if (!(i[0] >= t[1] || i[1] <= t[0]) && a[0] < e[1] && a[1] > e[0]) + return !0; + } + return !1; + } + function x(t) { + var e, + i, + s, + u, + d, + g, + m = t._fullLayout, + v = m._size, + x = v.p, + _ = h.list(t, '', !0); + if ( + (m._paperdiv + .style({ + width: + t._context.responsive && + m.autosize && + !t._context._hasZeroWidth && + !t.layout.width + ? '100%' + : m.width + 'px', + height: + t._context.responsive && + m.autosize && + !t._context._hasZeroHeight && + !t.layout.height + ? '100%' + : m.height + 'px', + }) + .selectAll('.main-svg') + .call(c.setSize, m.width, m.height), + t._context.setBackground(t, m.paper_bgcolor), + r.drawMainTitle(t), + f.manage(t), + !m._has('cartesian')) + ) + return a.previousPromises(t); + function T(t, e, r) { + var n = t._lw / 2; + return 'x' === t._id.charAt(0) + ? e + ? 'top' === r + ? e._offset - x - n + : e._offset + e._length + x + n + : v.t + v.h * (1 - (t.position || 0)) + (n % 1) + : e + ? 'right' === r + ? e._offset + e._length + x + n + : e._offset - x - n + : v.l + v.w * (t.position || 0) + (n % 1); + } + for (e = 0; e < _.length; e++) { + var k = (u = _[e])._anchorAxis; + (u._linepositions = {}), + (u._lw = c.crispRound(t, u.linewidth, 1)), + (u._mainLinePosition = T(u, k, u.side)), + (u._mainMirrorPosition = + u.mirror && k ? T(u, k, p.OPPOSITE_SIDE[u.side]) : null); + } + var M = [], + A = [], + S = [], + E = + 1 === l.opacity(m.paper_bgcolor) && + 1 === l.opacity(m.plot_bgcolor) && + m.paper_bgcolor === m.plot_bgcolor; + for (i in m._plots) + if ((s = m._plots[i]).mainplot) + s.bg && s.bg.remove(), (s.bg = void 0); + else { + var C = s.xaxis.domain, + L = s.yaxis.domain, + I = s.plotgroup; + if (y(C, L, S)) { + var P = I.node(), + z = (s.bg = o.ensureSingle(I, 'rect', 'bg')); + P.insertBefore(z.node(), P.childNodes[0]), A.push(i); + } else + I.select('rect.bg').remove(), + S.push([C, L]), + E || (M.push(i), A.push(i)); + } + var O, + D, + R, + F, + B, + N, + j, + U, + V, + q, + H, + G, + Y, + W = m._bgLayer.selectAll('.bg').data(M); + for ( + W.enter().append('rect').classed('bg', !0), + W.exit().remove(), + W.each(function (t) { + m._plots[t].bg = n.select(this); + }), + e = 0; + e < A.length; + e++ + ) + (s = m._plots[A[e]]), + (d = s.xaxis), + (g = s.yaxis), + s.bg && + void 0 !== d._offset && + void 0 !== g._offset && + s.bg + .call( + c.setRect, + d._offset - x, + g._offset - x, + d._length + 2 * x, + g._length + 2 * x + ) + .call(l.fill, m.plot_bgcolor) + .style('stroke-width', 0); + if (!m._hasOnlyLargeSploms) + for (i in m._plots) { + (s = m._plots[i]), (d = s.xaxis), (g = s.yaxis); + var X, + Z, + J = (s.clipId = 'clip' + m._uid + i + 'plot'), + K = o.ensureSingleById(m._clips, 'clipPath', J, function (t) { + t.classed('plotclip', !0).append('rect'); + }); + (s.clipRect = K.select('rect').attr({ + width: d._length, + height: g._length, + })), + c.setTranslate(s.plot, d._offset, g._offset), + s._hasClipOnAxisFalse + ? ((X = null), (Z = J)) + : ((X = J), (Z = null)), + c.setClipUrl(s.plot, X, t), + (s.layerClipId = Z); + } + function Q(t) { + return 'M' + O + ',' + t + 'H' + D; + } + function $(t) { + return 'M' + d._offset + ',' + t + 'h' + d._length; + } + function tt(t) { + return 'M' + t + ',' + U + 'V' + j; + } + function et(t) { + return 'M' + t + ',' + g._offset + 'v' + g._length; + } + function rt(t, e, r) { + if (!t.showline || i !== t._mainSubplot) return ''; + if (!t._anchorAxis) return r(t._mainLinePosition); + var n = e(t._mainLinePosition); + return t.mirror && (n += e(t._mainMirrorPosition)), n; + } + for (i in m._plots) { + (s = m._plots[i]), (d = s.xaxis), (g = s.yaxis); + var nt = 'M0,0'; + b(d, i) && + ((B = w(d, 'left', g, _)), + (O = d._offset - (B ? x + B : 0)), + (N = w(d, 'right', g, _)), + (D = d._offset + d._length + (N ? x + N : 0)), + (R = T(d, g, 'bottom')), + (F = T(d, g, 'top')), + !(Y = !d._anchorAxis || i !== d._mainSubplot) || + ('allticks' !== d.mirror && 'all' !== d.mirror) || + (d._linepositions[i] = [R, F]), + (nt = rt(d, Q, $)), + Y && + d.showline && + ('all' === d.mirror || 'allticks' === d.mirror) && + (nt += Q(R) + Q(F)), + s.xlines + .style('stroke-width', d._lw + 'px') + .call(l.stroke, d.showline ? d.linecolor : 'rgba(0,0,0,0)')), + s.xlines.attr('d', nt); + var it = 'M0,0'; + b(g, i) && + ((H = w(g, 'bottom', d, _)), + (j = g._offset + g._length + (H ? x : 0)), + (G = w(g, 'top', d, _)), + (U = g._offset - (G ? x : 0)), + (V = T(g, d, 'left')), + (q = T(g, d, 'right')), + !(Y = !g._anchorAxis || i !== g._mainSubplot) || + ('allticks' !== g.mirror && 'all' !== g.mirror) || + (g._linepositions[i] = [V, q]), + (it = rt(g, tt, et)), + Y && + g.showline && + ('all' === g.mirror || 'allticks' === g.mirror) && + (it += tt(V) + tt(q)), + s.ylines + .style('stroke-width', g._lw + 'px') + .call(l.stroke, g.showline ? g.linecolor : 'rgba(0,0,0,0)')), + s.ylines.attr('d', it); + } + return h.makeClipPaths(t), a.previousPromises(t); + } + function b(t, e) { + return ( + (t.ticks || t.showline) && + (e === t._mainSubplot || + 'all' === t.mirror || + 'allticks' === t.mirror) + ); + } + function _(t, e, r) { + if (!r.showline || !r._lw) return !1; + if ('all' === r.mirror || 'allticks' === r.mirror) return !0; + var n = r._anchorAxis; + if (!n) return !1; + var i = p.FROM_BL[e]; + return r.side === e + ? n.domain[i] === t.domain[i] + : r.mirror && n.domain[1 - i] === t.domain[1 - i]; + } + function w(t, e, r, n) { + if (_(t, e, r)) return r._lw; + for (var i = 0; i < n.length; i++) { + var a = n[i]; + if (a._mainAxis === r._mainAxis && _(t, e, a)) return a._lw; + } + return 0; + } + function T(t, e) { + var r = t.title, + n = t._size, + i = 0; + switch ( + ('start' === e ? (i = r.pad.l) : 'end' === e && (i = -r.pad.r), + r.xref) + ) { + case 'paper': + return n.l + n.w * r.x + i; + case 'container': + default: + return t.width * r.x + i; + } + } + function k(t, e) { + var r = t.title, + n = t._size, + i = 0; + if ( + ('0em' !== e && e + ? e === p.CAP_SHIFT + 'em' && (i = r.pad.t) + : (i = -r.pad.b), + 'auto' === r.y) + ) + return n.t / 2; + switch (r.yref) { + case 'paper': + return n.t + n.h - n.h * r.y + i; + case 'container': + default: + return t.height - t.height * r.y + i; + } + } + (r.layoutStyles = function (t) { + return o.syncOrAsync([a.doAutoMargin, x], t); + }), + (r.drawMainTitle = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e = t.title, + r = 'middle'; + o.isRightAnchor(e) + ? (r = 'end') + : o.isLeftAnchor(e) && (r = 'start'); + return r; + })(e), + n = (function (t) { + var e = t.title, + r = '0em'; + o.isTopAnchor(e) + ? (r = p.CAP_SHIFT + 'em') + : o.isMiddleAnchor(e) && (r = p.MID_SHIFT + 'em'); + return r; + })(e); + u.draw(t, 'gtitle', { + propContainer: e, + propName: 'title.text', + placeholder: e._dfltTitle.plot, + attributes: { x: T(e, r), y: k(e, n), 'text-anchor': r, dy: n }, + }); + }), + (r.doTraceStyle = function (t) { + var e, + n = t.calcdata, + o = []; + for (e = 0; e < n.length; e++) { + var l = n[e], + c = l[0] || {}, + u = c.trace || {}, + f = u._module || {}, + h = f.arraysToCalcdata; + h && h(l, u); + var p = f.editStyle; + p && o.push({ fn: p, cd0: c }); + } + if (o.length) { + for (e = 0; e < o.length; e++) { + var d = o[e]; + d.fn(t, d.cd0); + } + s(t), r.redrawReglTraces(t); + } + return ( + a.style(t), + i.getComponentMethod('legend', 'draw')(t), + a.previousPromises(t) + ); + }), + (r.doColorBars = function (t) { + return ( + i.getComponentMethod('colorbar', 'draw')(t), + a.previousPromises(t) + ); + }), + (r.layoutReplot = function (t) { + var e = t.layout; + return (t.layout = void 0), i.call('plot', t, '', e); + }), + (r.doLegend = function (t) { + return ( + i.getComponentMethod('legend', 'draw')(t), a.previousPromises(t) + ); + }), + (r.doTicksRelayout = function (t) { + return ( + h.draw(t, 'redraw'), + t._fullLayout._hasOnlyLargeSploms && + (i.subplotsRegistry.splom.updateGrid(t), + s(t), + r.redrawReglTraces(t)), + r.drawMainTitle(t), + a.previousPromises(t) + ); + }), + (r.doModeBar = function (t) { + var e = t._fullLayout; + f.manage(t); + for (var r = 0; r < e._basePlotModules.length; r++) { + var n = e._basePlotModules[r].updateFx; + n && n(t); + } + return a.previousPromises(t); + }), + (r.doCamera = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = 0; + n < r.length; + n++ + ) { + var i = e[r[n]]; + i._scene.setViewport(i); + } + }), + (r.drawData = function (t) { + var e = t._fullLayout; + s(t); + for (var n = e._basePlotModules, o = 0; o < n.length; o++) + n[o].plot(t); + return ( + r.redrawReglTraces(t), + a.style(t), + i.getComponentMethod('shapes', 'draw')(t), + i.getComponentMethod('annotations', 'draw')(t), + i.getComponentMethod('images', 'draw')(t), + (e._replotting = !1), + a.previousPromises(t) + ); + }), + (r.redrawReglTraces = function (t) { + var e = t._fullLayout; + if (e._has('regl')) { + var r, + n, + i = t._fullData, + a = [], + s = []; + for ( + e._hasOnlyLargeSploms && e._splomGrid.draw(), r = 0; + r < i.length; + r++ + ) { + var l = i[r]; + !0 === l.visible && + 0 !== l._length && + ('splom' === l.type + ? e._splomScenes[l.uid].draw() + : 'scattergl' === l.type + ? o.pushUnique(a, l.xaxis + l.yaxis) + : 'scatterpolargl' === l.type && + o.pushUnique(s, l.subplot)); + } + for (r = 0; r < a.length; r++) + (n = e._plots[a[r]])._scene && n._scene.draw(); + for (r = 0; r < s.length; r++) + (n = e[s[r]]._subplot)._scene && n._scene.draw(); + } + }), + (r.doAutoRangeAndConstraints = function (t) { + for ( + var e, r = h.list(t, '', !0), n = {}, i = 0; + i < r.length; + i++ + ) + if (!n[(e = r[i])._id]) { + (n[e._id] = 1), m(t, e), v(t, e); + var a = e._matchGroup; + if (a) + for (var o in a) { + var s = h.getFromId(t, o); + v(t, s, e.range), (n[o] = 1); + } + } + g(t); + }), + (r.finalDraw = function (t) { + i.getComponentMethod('rangeslider', 'draw')(t), + i.getComponentMethod('rangeselector', 'draw')(t); + }), + (r.drawMarginPushers = function (t) { + i.getComponentMethod('legend', 'draw')(t), + i.getComponentMethod('rangeselector', 'draw')(t), + i.getComponentMethod('sliders', 'draw')(t), + i.getComponentMethod('updatemenus', 'draw')(t), + i.getComponentMethod('colorbar', 'draw')(t); + }); + }, + { + '../components/color': 643, + '../components/drawing': 665, + '../components/modebar': 703, + '../components/titles': 738, + '../constants/alignment': 745, + '../lib': 778, + '../lib/clear_gl_canvases': 762, + '../plots/cartesian/autorange': 827, + '../plots/cartesian/axes': 828, + '../plots/cartesian/constraints': 835, + '../plots/plots': 891, + '../registry': 911, + d3: 169, + }, + ], + 819: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = n.isPlainObject, + a = t('./plot_schema'), + o = t('../plots/plots'), + s = t('../plots/attributes'), + l = t('./plot_template'), + c = t('./plot_config').dfltConfig; + function u(t, e) { + t = n.extendDeep({}, t); + var r, + a, + o = Object.keys(t).sort(); + function s(e, r, n) { + if (i(r) && i(e)) u(e, r); + else if (Array.isArray(r) && Array.isArray(e)) { + var o = l.arrayTemplater({ _template: t }, n); + for (a = 0; a < r.length; a++) { + var s = r[a], + c = o.newItem(s)._template; + c && u(c, s); + } + var f = o.defaultItems(); + for (a = 0; a < f.length; a++) r.push(f[a]._template); + for (a = 0; a < r.length; a++) delete r[a].templateitemname; + } + } + for (r = 0; r < o.length; r++) { + var c = o[r], + h = t[c]; + if ((c in e ? s(h, e[c], c) : (e[c] = h), f(c) === c)) + for (var p in e) { + var d = f(p); + p === d || d !== c || p in t || s(h, e[p], c); + } + } + } + function f(t) { + return t.replace(/[0-9]+$/, ''); + } + function h(t, e, r, a, o) { + var s = o && r(o); + for (var c in t) { + var u = t[c], + p = g(t, c, a), + d = g(t, c, o), + m = r(d); + if (!m) { + var v = f(c); + v !== c && (m = r((d = g(t, v, o)))); + } + if ( + (!s || s !== m) && + !( + !m || + m._noTemplating || + 'data_array' === m.valType || + (m.arrayOk && Array.isArray(u)) + ) + ) + if (!m.valType && i(u)) h(u, e, r, p, d); + else if (m._isLinkedToArray && Array.isArray(u)) + for (var y = !1, x = 0, b = {}, _ = 0; _ < u.length; _++) { + var w = u[_]; + if (i(w)) { + var T = w.name; + if (T) + b[T] || + (h(w, e, r, g(u, x, p), g(u, x, d)), x++, (b[T] = 1)); + else if (!y) { + var k = g(t, l.arrayDefaultKey(c), a), + M = g(u, x, p); + h(w, e, r, M, g(u, x, d)); + var A = n.nestedProperty(e, M); + n.nestedProperty(e, k).set(A.get()), + A.set(null), + (y = !0); + } + } + } + else { + n.nestedProperty(e, p).set(u); + } + } + } + function p(t, e) { + return a.getLayoutValObject(t, n.nestedProperty({}, e).parts); + } + function d(t, e) { + return a.getTraceValObject(t, n.nestedProperty({}, e).parts); + } + function g(t, e, r) { + return r ? (Array.isArray(t) ? r + '[' + e + ']' : r + '.' + e) : e; + } + function m(t) { + for (var e = 0; e < t.length; e++) if (i(t[e])) return !0; + } + function v(t) { + var e; + switch (t.code) { + case 'data': + e = 'The template has no key data.'; + break; + case 'layout': + e = 'The template has no key layout.'; + break; + case 'missing': + e = t.path + ? 'There are no templates for item ' + + t.path + + ' with name ' + + t.templateitemname + : 'There are no templates for trace ' + + t.index + + ', of type ' + + t.traceType + + '.'; + break; + case 'unused': + e = t.path + ? 'The template item at ' + + t.path + + ' was not used in constructing the plot.' + : t.dataCount + ? 'Some of the templates of type ' + + t.traceType + + ' were not used. The template has ' + + t.templateCount + + ' traces, the data only has ' + + t.dataCount + + ' of this type.' + : 'The template has ' + + t.templateCount + + ' traces of type ' + + t.traceType + + ' but there are none in the data.'; + break; + case 'reused': + e = + 'Some of the templates of type ' + + t.traceType + + ' were used more than once. The template has ' + + t.templateCount + + ' traces, the data has ' + + t.dataCount + + ' of this type.'; + } + return (t.msg = e), t; + } + (r.makeTemplate = function (t) { + (t = n.isPlainObject(t) ? t : n.getGraphDiv(t)), + (t = n.extendDeep( + { _context: c }, + { data: t.data, layout: t.layout } + )), + o.supplyDefaults(t); + var e = t.data || [], + r = t.layout || {}; + (r._basePlotModules = t._fullLayout._basePlotModules), + (r._modules = t._fullLayout._modules); + var a = { data: {}, layout: {} }; + e.forEach(function (t) { + var e = {}; + h(t, e, d.bind(null, t)); + var r = n.coerce(t, {}, s, 'type'), + i = a.data[r]; + i || (i = a.data[r] = []), i.push(e); + }), + h(r, a.layout, p.bind(null, r)), + delete a.layout.template; + var l = r.template; + if (i(l)) { + var f, + g, + m, + v, + y, + x, + b = l.layout; + i(b) && u(b, a.layout); + var _ = l.data; + if (i(_)) { + for (g in a.data) + if (((m = _[g]), Array.isArray(m))) { + for ( + x = (y = a.data[g]).length, v = m.length, f = 0; + f < x; + f++ + ) + u(m[f % v], y[f]); + for (f = x; f < v; f++) y.push(n.extendDeep({}, m[f])); + } + for (g in _) + g in a.data || (a.data[g] = n.extendDeep([], _[g])); + } + } + return a; + }), + (r.validateTemplate = function (t, e) { + var r = n.extendDeep( + {}, + { _context: c, data: t.data, layout: t.layout } + ), + a = r.layout || {}; + i(e) || (e = a.template || {}); + var s = e.layout, + l = e.data, + u = []; + (r.layout = a), (r.layout.template = e), o.supplyDefaults(r); + var h = r._fullLayout, + p = r._fullData, + d = {}; + if ( + (i(s) + ? (!(function t(e, r) { + for (var n in e) + if ('_' !== n.charAt(0) && i(e[n])) { + var a, + o = f(n), + s = []; + for (a = 0; a < r.length; a++) + s.push(g(e, n, r[a])), + o !== n && s.push(g(e, o, r[a])); + for (a = 0; a < s.length; a++) d[s[a]] = 1; + t(e[n], s); + } + })(h, ['layout']), + (function t(e, r) { + for (var n in e) + if (-1 === n.indexOf('defaults') && i(e[n])) { + var a = g(e, n, r); + d[a] + ? t(e[n], a) + : u.push({ code: 'unused', path: a }); + } + })(s, 'layout')) + : u.push({ code: 'layout' }), + i(l)) + ) { + for (var y, x = {}, b = 0; b < p.length; b++) { + var _ = p[b]; + (x[(y = _.type)] = (x[y] || 0) + 1), + _._fullInput._template || + u.push({ + code: 'missing', + index: _._fullInput.index, + traceType: y, + }); + } + for (y in l) { + var w = l[y].length, + T = x[y] || 0; + w > T + ? u.push({ + code: 'unused', + traceType: y, + templateCount: w, + dataCount: T, + }) + : T > w && + u.push({ + code: 'reused', + traceType: y, + templateCount: w, + dataCount: T, + }); + } + } else u.push({ code: 'data' }); + if ( + ((function t(e, r) { + for (var n in e) + if ('_' !== n.charAt(0)) { + var a = e[n], + o = g(e, n, r); + i(a) + ? (Array.isArray(e) && + !1 === a._template && + a.templateitemname && + u.push({ + code: 'missing', + path: o, + templateitemname: a.templateitemname, + }), + t(a, o)) + : Array.isArray(a) && m(a) && t(a, o); + } + })({ data: p, layout: h }, ''), + u.length) + ) + return u.map(v); + }); + }, + { + '../lib': 778, + '../plots/attributes': 824, + '../plots/plots': 891, + './plot_config': 815, + './plot_schema': 816, + './plot_template': 817, + }, + ], + 820: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('./plot_api'), + a = t('../plots/plots'), + o = t('../lib'), + s = t('../snapshot/helpers'), + l = t('../snapshot/tosvg'), + c = t('../snapshot/svgtoimg'), + u = t('../version').version, + f = { + format: { + valType: 'enumerated', + values: ['png', 'jpeg', 'webp', 'svg', 'full-json'], + dflt: 'png', + }, + width: { valType: 'number', min: 1 }, + height: { valType: 'number', min: 1 }, + scale: { valType: 'number', min: 0, dflt: 1 }, + setBackground: { valType: 'any', dflt: !1 }, + imageDataOnly: { valType: 'boolean', dflt: !1 }, + }; + e.exports = function (t, e) { + var r, h, p, d; + function g(t) { + return !(t in e) || o.validate(e[t], f[t]); + } + if ( + ((e = e || {}), + o.isPlainObject(t) + ? ((r = t.data || []), + (h = t.layout || {}), + (p = t.config || {}), + (d = {})) + : ((t = o.getGraphDiv(t)), + (r = o.extendDeep([], t.data)), + (h = o.extendDeep({}, t.layout)), + (p = t._context), + (d = t._fullLayout || {})), + (!g('width') && null !== e.width) || + (!g('height') && null !== e.height)) + ) + throw new Error('Height and width should be pixel values.'); + if (!g('format')) + throw new Error( + 'Export format is not ' + + o.join2(f.format.values, ', ', ' or ') + + '.' + ); + var m = {}; + function v(t, r) { + return o.coerce(e, m, f, t, r); + } + var y = v('format'), + x = v('width'), + b = v('height'), + _ = v('scale'), + w = v('setBackground'), + T = v('imageDataOnly'), + k = document.createElement('div'); + (k.style.position = 'absolute'), + (k.style.left = '-5000px'), + document.body.appendChild(k); + var M = o.extendFlat({}, h); + x + ? (M.width = x) + : null === e.width && n(d.width) && (M.width = d.width), + b + ? (M.height = b) + : null === e.height && n(d.height) && (M.height = d.height); + var A = o.extendFlat({}, p, { + _exportedPlot: !0, + staticPlot: !0, + setBackground: w, + }), + S = s.getRedrawFunc(k); + function E() { + return new Promise(function (t) { + setTimeout(t, s.getDelay(k._fullLayout)); + }); + } + function C() { + return new Promise(function (t, e) { + var r = l(k, y, _), + n = k._fullLayout.width, + f = k._fullLayout.height; + function h() { + i.purge(k), document.body.removeChild(k); + } + if ('full-json' === y) { + var p = a.graphJson(k, !1, 'keepdata', 'object', !0, !0); + return ( + (p.version = u), + (p = JSON.stringify(p)), + h(), + t(T ? p : s.encodeJSON(p)) + ); + } + if ((h(), 'svg' === y)) return t(T ? r : s.encodeSVG(r)); + var d = document.createElement('canvas'); + (d.id = o.randstr()), + c({ + format: y, + width: n, + height: f, + scale: _, + canvas: d, + svg: r, + promise: !0, + }) + .then(t) + .catch(e); + }); + } + return new Promise(function (t, e) { + i.plot(k, r, M, A) + .then(S) + .then(E) + .then(C) + .then(function (e) { + t( + (function (t) { + return T ? t.replace(s.IMAGE_URL_PREFIX, '') : t; + })(e) + ); + }) + .catch(function (t) { + e(t); + }); + }); + }; + }, + { + '../lib': 778, + '../plots/plots': 891, + '../snapshot/helpers': 915, + '../snapshot/svgtoimg': 917, + '../snapshot/tosvg': 919, + '../version': 1370, + './plot_api': 814, + 'fast-isnumeric': 241, + }, + ], + 821: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plots/plots'), + a = t('./plot_schema'), + o = t('./plot_config').dfltConfig, + s = n.isPlainObject, + l = Array.isArray, + c = n.isArrayOrTypedArray; + function u(t, e, r, i, a, o) { + o = o || []; + for (var f = Object.keys(t), h = 0; h < f.length; h++) { + var p = f[h]; + if ('transforms' !== p) { + var v = o.slice(); + v.push(p); + var y = t[p], + x = e[p], + b = m(r, p), + _ = (b || {}).valType, + w = 'info_array' === _, + T = 'colorscale' === _, + k = (b || {}).items; + if (g(r, p)) + if (s(y) && s(x) && 'any' !== _) u(y, x, b, i, a, v); + else if (w && l(y)) { + y.length > x.length && + i.push(d('unused', a, v.concat(x.length))); + var M, + A, + S, + E, + C, + L = x.length, + I = Array.isArray(k); + if ((I && (L = Math.min(L, k.length)), 2 === b.dimensions)) + for (A = 0; A < L; A++) + if (l(y[A])) { + y[A].length > x[A].length && + i.push(d('unused', a, v.concat(A, x[A].length))); + var P = x[A].length; + for ( + M = 0; + M < (I ? Math.min(P, k[A].length) : P); + M++ + ) + (S = I ? k[A][M] : k), + (E = y[A][M]), + (C = x[A][M]), + n.validate(E, S) + ? C !== E && + C !== +E && + i.push(d('dynamic', a, v.concat(A, M), E, C)) + : i.push(d('value', a, v.concat(A, M), E)); + } else i.push(d('array', a, v.concat(A), y[A])); + else + for (A = 0; A < L; A++) + (S = I ? k[A] : k), + (E = y[A]), + (C = x[A]), + n.validate(E, S) + ? C !== E && + C !== +E && + i.push(d('dynamic', a, v.concat(A), E, C)) + : i.push(d('value', a, v.concat(A), E)); + } else if (b.items && !w && l(y)) { + var z, + O, + D = k[Object.keys(k)[0]], + R = []; + for (z = 0; z < x.length; z++) { + var F = x[z]._index || z; + if (((O = v.slice()).push(F), s(y[F]) && s(x[z]))) { + R.push(F); + var B = y[F], + N = x[z]; + s(B) && !1 !== B.visible && !1 === N.visible + ? i.push(d('invisible', a, O)) + : u(B, N, D, i, a, O); + } + } + for (z = 0; z < y.length; z++) + (O = v.slice()).push(z), + s(y[z]) + ? -1 === R.indexOf(z) && i.push(d('unused', a, O)) + : i.push(d('object', a, O, y[z])); + } else + !s(y) && s(x) + ? i.push(d('object', a, v, y)) + : c(y) || !c(x) || w || T + ? p in e + ? n.validate(y, b) + ? 'enumerated' === b.valType && + ((b.coerceNumber && y !== +x) || y !== x) && + i.push(d('dynamic', a, v, y, x)) + : i.push(d('value', a, v, y)) + : i.push(d('unused', a, v, y)) + : i.push(d('array', a, v, y)); + else i.push(d('schema', a, v)); + } + } + return i; + } + function f(t, e) { + for (var r = t.layout.layoutAttributes, i = 0; i < e.length; i++) { + var a = e[i], + o = t.traces[a.type], + s = o.layoutAttributes; + s && + (a.subplot + ? n.extendFlat(r[o.attributes.subplot.dflt], s) + : n.extendFlat(r, s)); + } + return r; + } + e.exports = function (t, e) { + void 0 === t && (t = []), void 0 === e && (e = {}); + var r, + c, + h = a.get(), + p = [], + g = { _context: n.extendFlat({}, o) }; + l(t) + ? ((g.data = n.extendDeep([], t)), (r = t)) + : ((g.data = []), (r = []), p.push(d('array', 'data'))), + s(e) + ? ((g.layout = n.extendDeep({}, e)), (c = e)) + : ((g.layout = {}), + (c = {}), + arguments.length > 1 && p.push(d('object', 'layout'))), + i.supplyDefaults(g); + for (var m = g._fullData, v = r.length, y = 0; y < v; y++) { + var x = r[y], + b = ['data', y]; + if (s(x)) { + var _ = m[y], + w = _.type, + T = h.traces[w].attributes; + (T.type = { valType: 'enumerated', values: [w] }), + !1 === _.visible && + !1 !== x.visible && + p.push(d('invisible', b)), + u(x, _, T, p, b); + var k = x.transforms, + M = _.transforms; + if (k) { + l(k) || p.push(d('array', b, ['transforms'])), + b.push('transforms'); + for (var A = 0; A < k.length; A++) { + var S = ['transforms', A], + E = k[A].type; + if (s(k[A])) { + var C = h.transforms[E] ? h.transforms[E].attributes : {}; + (C.type = { + valType: 'enumerated', + values: Object.keys(h.transforms), + }), + u(k[A], M[A], C, p, b, S); + } else p.push(d('object', b, S)); + } + } + } else p.push(d('object', b)); + } + var L = g._fullLayout, + I = f(h, m); + return u(c, L, I, p, 'layout'), 0 === p.length ? void 0 : p; + }; + var h = { + object: function (t, e) { + return ( + ('layout' === t && '' === e + ? 'The layout argument' + : 'data' === t[0] && '' === e + ? 'Trace ' + t[1] + ' in the data argument' + : p(t) + 'key ' + e) + + ' must be linked to an object container' + ); + }, + array: function (t, e) { + return ( + ('data' === t ? 'The data argument' : p(t) + 'key ' + e) + + ' must be linked to an array container' + ); + }, + schema: function (t, e) { + return p(t) + 'key ' + e + ' is not part of the schema'; + }, + unused: function (t, e, r) { + var n = s(r) ? 'container' : 'key'; + return p(t) + n + ' ' + e + ' did not get coerced'; + }, + dynamic: function (t, e, r, n) { + return [ + p(t) + 'key', + e, + "(set to '" + r + "')", + 'got reset to', + "'" + n + "'", + 'during defaults.', + ].join(' '); + }, + invisible: function (t, e) { + return ( + (e ? p(t) + 'item ' + e : 'Trace ' + t[1]) + + ' got defaulted to be not visible' + ); + }, + value: function (t, e, r) { + return [ + p(t) + 'key ' + e, + 'is set to an invalid value (' + r + ')', + ].join(' '); + }, + }; + function p(t) { + return l(t) ? 'In data trace ' + t[1] + ', ' : 'In ' + t + ', '; + } + function d(t, e, r, i, a) { + var o, s; + (r = r || ''), + l(e) ? ((o = e[0]), (s = e[1])) : ((o = e), (s = null)); + var c = (function (t) { + if (!l(t)) return String(t); + for (var e = '', r = 0; r < t.length; r++) { + var n = t[r]; + 'number' == typeof n + ? (e = e.substr(0, e.length - 1) + '[' + n + ']') + : (e += n), + r < t.length - 1 && (e += '.'); + } + return e; + })(r), + u = h[t](e, c, i, a); + return ( + n.log(u), + { code: t, container: o, trace: s, path: r, astr: c, msg: u } + ); + } + function g(t, e) { + var r = y(e), + n = r.keyMinusId, + i = r.id; + return !!(n in t && t[n]._isSubplotObj && i) || e in t; + } + function m(t, e) { + return e in t ? t[e] : t[y(e).keyMinusId]; + } + var v = n.counterRegex('([a-z]+)'); + function y(t) { + var e = t.match(v); + return { keyMinusId: e && e[1], id: e && e[2] }; + } + }, + { + '../lib': 778, + '../plots/plots': 891, + './plot_config': 815, + './plot_schema': 816, + }, + ], + 822: [ + function (t, e, r) { + 'use strict'; + e.exports = { + mode: { + valType: 'enumerated', + dflt: 'afterall', + values: ['immediate', 'next', 'afterall'], + }, + direction: { + valType: 'enumerated', + values: ['forward', 'reverse'], + dflt: 'forward', + }, + fromcurrent: { valType: 'boolean', dflt: !1 }, + frame: { + duration: { valType: 'number', min: 0, dflt: 500 }, + redraw: { valType: 'boolean', dflt: !0 }, + }, + transition: { + duration: { + valType: 'number', + min: 0, + dflt: 500, + editType: 'none', + }, + easing: { + valType: 'enumerated', + dflt: 'cubic-in-out', + values: [ + 'linear', + 'quad', + 'cubic', + 'sin', + 'exp', + 'circle', + 'elastic', + 'back', + 'bounce', + 'linear-in', + 'quad-in', + 'cubic-in', + 'sin-in', + 'exp-in', + 'circle-in', + 'elastic-in', + 'back-in', + 'bounce-in', + 'linear-out', + 'quad-out', + 'cubic-out', + 'sin-out', + 'exp-out', + 'circle-out', + 'elastic-out', + 'back-out', + 'bounce-out', + 'linear-in-out', + 'quad-in-out', + 'cubic-in-out', + 'sin-in-out', + 'exp-in-out', + 'circle-in-out', + 'elastic-in-out', + 'back-in-out', + 'bounce-in-out', + ], + editType: 'none', + }, + ordering: { + valType: 'enumerated', + values: ['layout first', 'traces first'], + dflt: 'layout first', + editType: 'none', + }, + }, + }; + }, + {}, + ], + 823: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plot_api/plot_template'); + e.exports = function (t, e, r) { + var a, + o, + s = r.name, + l = r.inclusionAttr || 'visible', + c = e[s], + u = n.isArrayOrTypedArray(t[s]) ? t[s] : [], + f = (e[s] = []), + h = i.arrayTemplater(e, s, l); + for (a = 0; a < u.length; a++) { + var p = u[a]; + n.isPlainObject(p) + ? (o = h.newItem(p)) + : ((o = h.newItem({}))[l] = !1), + (o._index = a), + !1 !== o[l] && r.handleItemDefaults(p, o, e, r), + f.push(o); + } + var d = h.defaultItems(); + for (a = 0; a < d.length; a++) + ((o = d[a])._index = f.length), + r.handleItemDefaults({}, o, e, r, {}), + f.push(o); + if (n.isArrayOrTypedArray(c)) { + var g = Math.min(c.length, f.length); + for (a = 0; a < g; a++) n.relinkPrivateKeys(f[a], c[a]); + } + return f; + }; + }, + { '../lib': 778, '../plot_api/plot_template': 817 }, + ], + 824: [ + function (t, e, r) { + 'use strict'; + var n = t('../components/fx/attributes'); + e.exports = { + type: { + valType: 'enumerated', + values: [], + dflt: 'scatter', + editType: 'calc+clearAxisTypes', + _noTemplating: !0, + }, + visible: { + valType: 'enumerated', + values: [!0, !1, 'legendonly'], + dflt: !0, + editType: 'calc', + }, + showlegend: { valType: 'boolean', dflt: !0, editType: 'style' }, + legendgroup: { valType: 'string', dflt: '', editType: 'style' }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'style', + }, + name: { valType: 'string', editType: 'style' }, + uid: { valType: 'string', editType: 'plot', anim: !0 }, + ids: { valType: 'data_array', editType: 'calc', anim: !0 }, + customdata: { valType: 'data_array', editType: 'calc' }, + meta: { valType: 'any', arrayOk: !0, editType: 'plot' }, + selectedpoints: { valType: 'any', editType: 'calc' }, + hoverinfo: { + valType: 'flaglist', + flags: ['x', 'y', 'z', 'text', 'name'], + extras: ['all', 'none', 'skip'], + arrayOk: !0, + dflt: 'all', + editType: 'none', + }, + hoverlabel: n.hoverlabel, + stream: { + token: { + valType: 'string', + noBlank: !0, + strict: !0, + editType: 'calc', + }, + maxpoints: { + valType: 'number', + min: 0, + max: 1e4, + dflt: 500, + editType: 'calc', + }, + editType: 'calc', + }, + transforms: { _isLinkedToArray: 'transform', editType: 'calc' }, + uirevision: { valType: 'any', editType: 'none' }, + }; + }, + { '../components/fx/attributes': 674 }, + ], + 825: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = i.dateTime2ms, + o = i.incrementMonth, + s = t('../../constants/numerical').ONEAVGMONTH; + e.exports = function (t, e, r, i) { + if ('date' !== e.type) return i; + var l = t[r + 'periodalignment']; + if (!l) return i; + var c, + u = t[r + 'period']; + if (n(u)) { + if ((u = +u) <= 0) return i; + } else if ('string' == typeof u && 'M' === u.charAt(0)) { + var f = +u.substring(1); + if (!(f > 0 && Math.round(f) === f)) return i; + c = f; + } + for ( + var h = e.calendar, + p = 'start' === l, + d = 'end' === l, + g = t[r + 'period0'], + m = a(g, h) || 0, + v = [], + y = i.length, + x = 0; + x < y; + x++ + ) { + var b, + _, + w, + T = i[x]; + if (c) { + for ( + b = Math.round((T - m) / (c * s)), w = o(m, c * b, h); + w > T; + + ) + w = o(w, -c, h); + for (; w <= T; ) w = o(w, c, h); + _ = o(w, -c, h); + } else { + for (w = m + (b = Math.round((T - m) / u)) * u; w > T; ) w -= u; + for (; w <= T; ) w += u; + _ = w - u; + } + v[x] = p ? _ : d ? w : (_ + w) / 2; + } + return v; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + 'fast-isnumeric': 241, + }, + ], + 826: [ + function (t, e, r) { + 'use strict'; + e.exports = { + xaxis: { + valType: 'subplotid', + dflt: 'x', + editType: 'calc+clearAxisTypes', + }, + yaxis: { + valType: 'subplotid', + dflt: 'y', + editType: 'calc+clearAxisTypes', + }, + }; + }, + {}, + ], + 827: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../constants/numerical').FP_SAFE, + o = t('../../registry'), + s = t('./axis_ids'), + l = s.getFromId, + c = s.isLinked; + function u(t, e) { + var r, + n, + a = [], + o = t._fullLayout, + s = h(o, e, 0), + l = h(o, e, 1), + c = p(t, e), + u = c.min, + d = c.max; + if (0 === u.length || 0 === d.length) + return i.simpleMap(e.range, e.r2l); + var g = u[0].val, + m = d[0].val; + for (r = 1; r < u.length && g === m; r++) g = Math.min(g, u[r].val); + for (r = 1; r < d.length && g === m; r++) m = Math.max(m, d[r].val); + var v = !1; + if (e.range) { + var y = i.simpleMap(e.range, e.r2l); + v = y[1] < y[0]; + } + 'reversed' === e.autorange && ((v = !0), (e.autorange = !0)); + var x, + b, + _, + w, + T, + k, + M = e.rangemode, + A = 'tozero' === M, + S = 'nonnegative' === M, + E = e._length, + C = E / 10, + L = 0; + for (r = 0; r < u.length; r++) + for (x = u[r], n = 0; n < d.length; n++) + (k = (b = d[n]).val - x.val - f(e, x.val, b.val)) > 0 && + ((T = E - s(x) - l(b)) > C + ? k / T > L && ((_ = x), (w = b), (L = k / T)) + : k / E > L && + ((_ = { val: x.val, nopad: 1 }), + (w = { val: b.val, nopad: 1 }), + (L = k / E))); + if (g === m) { + var I = g - 1, + P = g + 1; + if (A) + if (0 === g) a = [0, 1]; + else { + var z = (g > 0 ? d : u).reduce(function (t, e) { + return Math.max(t, l(e)); + }, 0), + O = g / (1 - Math.min(0.5, z / E)); + a = g > 0 ? [0, O] : [O, 0]; + } + else a = S ? [Math.max(0, I), Math.max(1, P)] : [I, P]; + } else + A + ? (_.val >= 0 && (_ = { val: 0, nopad: 1 }), + w.val <= 0 && (w = { val: 0, nopad: 1 })) + : S && + (_.val - L * s(_) < 0 && (_ = { val: 0, nopad: 1 }), + w.val <= 0 && (w = { val: 1, nopad: 1 })), + (L = (w.val - _.val - f(e, x.val, b.val)) / (E - s(_) - l(w))), + (a = [_.val - L * s(_), w.val + L * l(w)]); + return v && a.reverse(), i.simpleMap(a, e.l2r || Number); + } + function f(t, e, r) { + var n = 0; + if (t.rangebreaks) + for (var i = t.locateBreaks(e, r), a = 0; a < i.length; a++) { + var o = i[a]; + n += o.max - o.min; + } + return n; + } + function h(t, e, r) { + var n = 0.05 * e._length, + a = e._anchorAxis || {}; + if ( + -1 !== (e.ticklabelposition || '').indexOf('inside') || + -1 !== (a.ticklabelposition || '').indexOf('inside') + ) { + var o = 'reversed' === e.autorange; + if (!o) { + var s = i.simpleMap(e.range, e.r2l); + o = s[1] < s[0]; + } + o && (r = !r); + } + var l = 0; + return ( + c(t, e._id) || + (l = (function (t, e) { + var r = 0, + n = t._anchorAxis || {}; + if ( + -1 !== (n.ticklabelposition || '').indexOf('inside') && + ((!e && ('left' === n.side || 'bottom' === n.side)) || + (e && ('top' === n.side || 'right' === n.side))) + ) { + var a = 'x' === t._id.charAt(0); + if (n._vals) { + var o = i.deg2rad(n._tickAngles[n._id + 'tick'] || 0), + s = Math.abs(Math.cos(o)), + l = Math.abs(Math.sin(o)); + n._vals.forEach(function (t) { + if (t.bb) { + var e = 6 + t.bb.width, + n = 6 + t.bb.height; + r = Math.max( + r, + a ? Math.max(e * s, n * l) : Math.max(n * s, e * l) + ); + } + }); + } + 'inside' === n.ticks && + 'inside' === n.ticklabelposition && + (r += n.ticklen || 0); + } + return r; + })(e, r)), + (n = Math.max(l, n)), + 'domain' === e.constrain && + e._inputDomain && + (n *= + (e._inputDomain[1] - e._inputDomain[0]) / + (e.domain[1] - e.domain[0])), + function (t) { + return t.nopad ? 0 : t.pad + (t.extrapad ? n : l); + } + ); + } + e.exports = { + getAutoRange: u, + makePadFn: h, + doAutoRange: function (t, e, r) { + if ((e.setScale(), e.autorange)) { + (e.range = r ? r.slice() : u(t, e)), + (e._r = e.range.slice()), + (e._rl = i.simpleMap(e._r, e.r2l)); + var n = e._input, + a = {}; + (a[e._attr + '.range'] = e.range), + (a[e._attr + '.autorange'] = e.autorange), + o.call( + '_storeDirectGUIEdit', + t.layout, + t._fullLayout._preGUI, + a + ), + (n.range = e.range.slice()), + (n.autorange = e.autorange); + } + var s = e._anchorAxis; + if (s && s.rangeslider) { + var l = s.rangeslider[e._name]; + l && 'auto' === l.rangemode && (l.range = u(t, e)), + (s._input.rangeslider[e._name] = i.extendFlat({}, l)); + } + }, + findExtremes: function (t, e, r) { + r || (r = {}); + t._m || t.setScale(); + var i, + o, + s, + l, + c, + u, + f, + h, + p, + m = [], + y = [], + x = e.length, + b = r.padded || !1, + _ = r.tozero && ('linear' === t.type || '-' === t.type), + w = 'log' === t.type, + T = !1, + k = r.vpadLinearized || !1; + function M(t) { + if (Array.isArray(t)) + return ( + (T = !0), + function (e) { + return Math.max(Number(t[e] || 0), 0); + } + ); + var e = Math.max(Number(t || 0), 0); + return function () { + return e; + }; + } + var A = M((t._m > 0 ? r.ppadplus : r.ppadminus) || r.ppad || 0), + S = M((t._m > 0 ? r.ppadminus : r.ppadplus) || r.ppad || 0), + E = M(r.vpadplus || r.vpad), + C = M(r.vpadminus || r.vpad); + if (!T) { + if (((h = 1 / 0), (p = -1 / 0), w)) + for (i = 0; i < x; i++) + (o = e[i]) < h && o > 0 && (h = o), + o > p && o < a && (p = o); + else + for (i = 0; i < x; i++) + (o = e[i]) < h && o > -a && (h = o), + o > p && o < a && (p = o); + (e = [h, p]), (x = 2); + } + var L = { tozero: _, extrapad: b }; + function I(r) { + (s = e[r]), + n(s) && + ((u = A(r)), + (f = S(r)), + k + ? ((l = t.c2l(s) - C(r)), (c = t.c2l(s) + E(r))) + : ((h = s - C(r)), + (p = s + E(r)), + w && h < p / 10 && (h = p / 10), + (l = t.c2l(h)), + (c = t.c2l(p))), + _ && ((l = Math.min(0, l)), (c = Math.max(0, c))), + v(l) && d(m, l, f, L), + v(c) && g(y, c, u, L)); + } + var P = Math.min(6, x); + for (i = 0; i < P; i++) I(i); + for (i = x - 1; i >= P; i--) I(i); + return { min: m, max: y, opts: r }; + }, + concatExtremes: p, + }; + function p(t, e, r) { + var n, + i, + a, + o = e._id, + s = t._fullData, + c = t._fullLayout, + u = [], + f = []; + function h(t, e) { + for (n = 0; n < e.length; n++) { + var r = t[e[n]], + s = (r._extremes || {})[o]; + if (!0 === r.visible && s) { + for (i = 0; i < s.min.length; i++) + (a = s.min[i]), + d(u, a.val, a.pad, { extrapad: a.extrapad }); + for (i = 0; i < s.max.length; i++) + (a = s.max[i]), + g(f, a.val, a.pad, { extrapad: a.extrapad }); + } + } + } + if ( + (h(s, e._traceIndices), + h(c.annotations || [], e._annIndices || []), + h(c.shapes || [], e._shapeIndices || []), + e._matchGroup && !r) + ) + for (var m in e._matchGroup) + if (m !== e._id) { + var v = l(t, m), + y = p(t, v, !0), + x = e._length / v._length; + for (i = 0; i < y.min.length; i++) + (a = y.min[i]), + d(u, a.val, a.pad * x, { extrapad: a.extrapad }); + for (i = 0; i < y.max.length; i++) + (a = y.max[i]), + g(f, a.val, a.pad * x, { extrapad: a.extrapad }); + } + return { min: u, max: f }; + } + function d(t, e, r, n) { + m(t, e, r, n, y); + } + function g(t, e, r, n) { + m(t, e, r, n, x); + } + function m(t, e, r, n, i) { + for ( + var a = n.tozero, o = n.extrapad, s = !0, l = 0; + l < t.length && s; + l++ + ) { + var c = t[l]; + if (i(c.val, e) && c.pad >= r && (c.extrapad || !o)) { + s = !1; + break; + } + i(e, c.val) && + c.pad <= r && + (o || !c.extrapad) && + (t.splice(l, 1), l--); + } + if (s) { + var u = a && 0 === e; + t.push({ val: e, pad: u ? 0 : r, extrapad: !u && o }); + } + } + function v(t) { + return n(t) && Math.abs(t) < a; + } + function y(t, e) { + return t <= e; + } + function x(t, e) { + return t >= e; + } + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../registry': 911, + './axis_ids': 831, + 'fast-isnumeric': 241, + }, + ], + 828: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../../plots/plots'), + o = t('../../registry'), + s = t('../../lib'), + l = s.strTranslate, + c = t('../../lib/svg_text_utils'), + u = t('../../components/titles'), + f = t('../../components/color'), + h = t('../../components/drawing'), + p = t('./layout_attributes'), + d = t('./clean_ticks'), + g = t('../../constants/numerical'), + m = g.ONEMAXYEAR, + v = g.ONEAVGYEAR, + y = g.ONEMINYEAR, + x = g.ONEMAXQUARTER, + b = g.ONEAVGQUARTER, + _ = g.ONEMINQUARTER, + w = g.ONEMAXMONTH, + T = g.ONEAVGMONTH, + k = g.ONEMINMONTH, + M = g.ONEWEEK, + A = g.ONEDAY, + S = A / 2, + E = g.ONEHOUR, + C = g.ONEMIN, + L = g.ONESEC, + I = g.MINUS_SIGN, + P = g.BADNUM, + z = t('../../constants/alignment'), + O = z.MID_SHIFT, + D = z.CAP_SHIFT, + R = z.LINE_SPACING, + F = z.OPPOSITE_SIDE, + B = (e.exports = {}); + B.setConvert = t('./set_convert'); + var N = t('./axis_autotype'), + j = t('./axis_ids'), + U = j.idSort, + V = j.isLinked; + (B.id2name = j.id2name), + (B.name2id = j.name2id), + (B.cleanId = j.cleanId), + (B.list = j.list), + (B.listIds = j.listIds), + (B.getFromId = j.getFromId), + (B.getFromTrace = j.getFromTrace); + var q = t('./autorange'); + (B.getAutoRange = q.getAutoRange), (B.findExtremes = q.findExtremes); + function H(t) { + var e = 1e-4 * (t[1] - t[0]); + return [t[0] - e, t[1] + e]; + } + (B.coerceRef = function (t, e, r, n, i, a) { + var o = n.charAt(n.length - 1), + l = r._fullLayout._subplots[o + 'axis'], + c = n + 'ref', + u = {}; + return ( + i || (i = l[0] || ('string' == typeof a ? a : a[0])), + a || (a = i), + (l = l.concat( + l.map(function (t) { + return t + ' domain'; + }) + )), + (u[c] = { + valType: 'enumerated', + values: l.concat(a ? ('string' == typeof a ? [a] : a) : []), + dflt: i, + }), + s.coerce(t, e, u, c) + ); + }), + (B.getRefType = function (t) { + return void 0 === t + ? t + : 'paper' === t + ? 'paper' + : 'pixel' === t + ? 'pixel' + : /( domain)$/.test(t) + ? 'domain' + : 'range'; + }), + (B.coercePosition = function (t, e, r, n, i, a) { + var o, l; + if ('range' !== B.getRefType(n)) + (o = s.ensureNumber), (l = r(i, a)); + else { + var c = B.getFromId(e, n); + (l = r(i, (a = c.fraction2r(a)))), (o = c.cleanPos); + } + t[i] = o(l); + }), + (B.cleanPosition = function (t, e, r) { + return ( + 'paper' === r || 'pixel' === r + ? s.ensureNumber + : B.getFromId(e, r).cleanPos + )(t); + }), + (B.redrawComponents = function (t, e) { + e = e || B.listIds(t); + var r = t._fullLayout; + function n(n, i, a, s) { + for ( + var l = o.getComponentMethod(n, i), c = {}, u = 0; + u < e.length; + u++ + ) + for ( + var f = r[B.id2name(e[u])][a], h = 0; + h < f.length; + h++ + ) { + var p = f[h]; + if (!c[p] && (l(t, p), (c[p] = 1), s)) return; + } + } + n('annotations', 'drawOne', '_annIndices'), + n('shapes', 'drawOne', '_shapeIndices'), + n('images', 'draw', '_imgIndices', !0); + }); + var G = (B.getDataConversions = function (t, e, r, n) { + var i, + a = 'x' === r || 'y' === r || 'z' === r ? r : n; + if (Array.isArray(a)) { + if ( + ((i = { + type: N(n, void 0, { + autotypenumbers: t._fullLayout.autotypenumbers, + }), + _categories: [], + }), + B.setConvert(i), + 'category' === i.type) + ) + for (var o = 0; o < n.length; o++) i.d2c(n[o]); + } else i = B.getFromTrace(t, e, a); + return i + ? { d2c: i.d2c, c2d: i.c2d } + : 'ids' === a + ? { d2c: W, c2d: W } + : { d2c: Y, c2d: Y }; + }); + function Y(t) { + return +t; + } + function W(t) { + return String(t); + } + function X(t) { + return +t.substring(1); + } + (B.getDataToCoordFunc = function (t, e, r, n) { + return G(t, e, r, n).d2c; + }), + (B.counterLetter = function (t) { + var e = t.charAt(0); + return 'x' === e ? 'y' : 'y' === e ? 'x' : void 0; + }), + (B.minDtick = function (t, e, r, n) { + -1 === ['log', 'category', 'multicategory'].indexOf(t.type) && n + ? void 0 === t._minDtick + ? ((t._minDtick = e), (t._forceTick0 = r)) + : t._minDtick && + ((t._minDtick / e + 1e-6) % 1 < 2e-6 && + ((((r - t._forceTick0) / e) % 1) + 1.000001) % 1 < 2e-6 + ? ((t._minDtick = e), (t._forceTick0 = r)) + : ((e / t._minDtick + 1e-6) % 1 > 2e-6 || + ((((r - t._forceTick0) / t._minDtick) % 1) + + 1.000001) % + 1 > + 2e-6) && + (t._minDtick = 0)) + : (t._minDtick = 0); + }), + (B.saveRangeInitial = function (t, e) { + for ( + var r = B.list(t, '', !0), n = !1, i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = void 0 === a._rangeInitial, + s = + o || + !( + a.range[0] === a._rangeInitial[0] && + a.range[1] === a._rangeInitial[1] + ); + ((o && !1 === a.autorange) || (e && s)) && + ((a._rangeInitial = a.range.slice()), (n = !0)); + } + return n; + }), + (B.saveShowSpikeInitial = function (t, e) { + for ( + var r = B.list(t, '', !0), n = !1, i = 'on', a = 0; + a < r.length; + a++ + ) { + var o = r[a], + s = void 0 === o._showSpikeInitial, + l = s || !(o.showspikes === o._showspikes); + (s || (e && l)) && + ((o._showSpikeInitial = o.showspikes), (n = !0)), + 'on' !== i || o.showspikes || (i = 'off'); + } + return (t._fullLayout._cartesianSpikesEnabled = i), n; + }), + (B.autoBin = function (t, e, r, n, a, o) { + var l, + c = s.aggNums(Math.min, null, t), + u = s.aggNums(Math.max, null, t); + if ('category' === e.type || 'multicategory' === e.type) + return { + start: c - 0.5, + end: u + 0.5, + size: Math.max(1, Math.round(o) || 1), + _dataSpan: u - c, + }; + if ( + (a || (a = e.calendar), + (l = + 'log' === e.type + ? { type: 'linear', range: [c, u] } + : { + type: e.type, + range: s.simpleMap([c, u], e.c2r, 0, a), + calendar: a, + }), + B.setConvert(l), + (o = o && d.dtick(o, l.type))) + ) + (l.dtick = o), (l.tick0 = d.tick0(void 0, l.type, a)); + else { + var f; + if (r) f = (u - c) / r; + else { + var h = s.distinctVals(t), + p = Math.pow( + 10, + Math.floor(Math.log(h.minDiff) / Math.LN10) + ), + g = p * s.roundUp(h.minDiff / p, [0.9, 1.9, 4.9, 9.9], !0); + (f = Math.max( + g, + (2 * s.stdev(t)) / Math.pow(t.length, n ? 0.25 : 0.4) + )), + i(f) || (f = 1); + } + B.autoTicks(l, f); + } + var m, + v = l.dtick, + y = B.tickIncrement(B.tickFirst(l), v, 'reverse', a); + if ('number' == typeof v) + m = + (y = (function (t, e, r, n, a) { + var o = 0, + s = 0, + l = 0, + c = 0; + function u(e) { + return (1 + (100 * (e - t)) / r.dtick) % 100 < 2; + } + for (var f = 0; f < e.length; f++) + e[f] % 1 == 0 ? l++ : i(e[f]) || c++, + u(e[f]) && o++, + u(e[f] + r.dtick / 2) && s++; + var h = e.length - c; + if (l === h && 'date' !== r.type) + r.dtick < 1 + ? (t = n - 0.5 * r.dtick) + : (t -= 0.5) + r.dtick < n && (t += r.dtick); + else if (s < 0.1 * h && (o > 0.3 * h || u(n) || u(a))) { + var p = r.dtick / 2; + t += t + p < n ? p : -p; + } + return t; + })(y, t, l, c, u)) + + (1 + Math.floor((u - y) / v)) * v; + else + for ( + 'M' === l.dtick.charAt(0) && + (y = (function (t, e, r, n, i) { + var a = s.findExactDates(e, i); + if (a.exactDays > 0.8) { + var o = Number(r.substr(1)); + a.exactYears > 0.8 && o % 12 == 0 + ? (t = B.tickIncrement(t, 'M6', 'reverse') + 1.5 * A) + : a.exactMonths > 0.8 + ? (t = B.tickIncrement(t, 'M1', 'reverse') + 15.5 * A) + : (t -= S); + var l = B.tickIncrement(t, r); + if (l <= n) return l; + } + return t; + })(y, t, v, c, a)), + m = y, + 0; + m <= u; + + ) + m = B.tickIncrement(m, v, !1, a); + return { + start: e.c2r(y, 0, a), + end: e.c2r(m, 0, a), + size: v, + _dataSpan: u - c, + }; + }), + (B.prepTicks = function (t, e) { + var r = s.simpleMap(t.range, t.r2l, void 0, void 0, e); + if ( + ((t._dtickInit = t.dtick), + (t._tick0Init = t.tick0), + 'auto' === t.tickmode || !t.dtick) + ) { + var n, + a = t.nticks; + a || + ('category' === t.type || 'multicategory' === t.type + ? ((n = t.tickfont ? 1.2 * (t.tickfont.size || 12) : 15), + (a = t._length / n)) + : ((n = 'y' === t._id.charAt(0) ? 40 : 80), + (a = s.constrain(t._length / n, 4, 9) + 1)), + 'radialaxis' === t._name && (a *= 2)), + 'array' === t.tickmode && (a *= 100), + (t._roughDTick = Math.abs(r[1] - r[0]) / a), + B.autoTicks(t, t._roughDTick), + t._minDtick > 0 && + t.dtick < 2 * t._minDtick && + ((t.dtick = t._minDtick), (t.tick0 = t.l2r(t._forceTick0))); + } + 'period' === t.ticklabelmode && + (function (t) { + var e; + function r() { + return !(i(t.dtick) || 'M' !== t.dtick.charAt(0)); + } + var n = r(), + a = B.getTickFormat(t); + if (a) { + var o = t._dtickInit !== t.dtick; + /%[fLQsSMX]/.test(a) || + (/%[HI]/.test(a) + ? ((e = E), o && !n && t.dtick < E && (t.dtick = E)) + : /%p/.test(a) + ? ((e = S), o && !n && t.dtick < S && (t.dtick = S)) + : /%[Aadejuwx]/.test(a) + ? ((e = A), o && !n && t.dtick < A && (t.dtick = A)) + : /%[UVW]/.test(a) + ? ((e = M), o && !n && t.dtick < M && (t.dtick = M)) + : /%[Bbm]/.test(a) + ? ((e = T), + o && + (n ? X(t.dtick) < 1 : t.dtick < k) && + (t.dtick = 'M1')) + : /%[q]/.test(a) + ? ((e = b), + o && + (n ? X(t.dtick) < 3 : t.dtick < _) && + (t.dtick = 'M3')) + : /%[Yy]/.test(a) && + ((e = v), + o && + (n ? X(t.dtick) < 12 : t.dtick < y) && + (t.dtick = 'M12'))); + } + (n = r()) && + t.tick0 === t._dowTick0 && + (t.tick0 = t._rawTick0); + t._definedDelta = e; + })(t), + t.tick0 || (t.tick0 = 'date' === t.type ? '2000-01-01' : 0), + 'date' === t.type && t.dtick < 0.1 && (t.dtick = 0.1), + nt(t); + }), + (B.calcTicks = function (t, e) { + B.prepTicks(t, e); + var r = s.simpleMap(t.range, t.r2l, void 0, void 0, e); + if ('array' === t.tickmode) + return (function (t) { + var e = t.tickvals, + r = t.ticktext, + n = new Array(e.length), + i = H(s.simpleMap(t.range, t.r2l)), + a = Math.min(i[0], i[1]), + o = Math.max(i[0], i[1]), + l = 0; + Array.isArray(r) || (r = []); + var c = 'category' === t.type ? t.d2l_noadd : t.d2l; + 'log' === t.type && + 'L' !== String(t.dtick).charAt(0) && + (t.dtick = + 'L' + + Math.pow( + 10, + Math.floor(Math.min(t.range[0], t.range[1])) - 1 + )); + for (var u = 0; u < e.length; u++) { + var f = c(e[u]); + f > a && + f < o && + (void 0 === r[u] + ? (n[l] = B.tickText(t, f)) + : (n[l] = it(t, f, String(r[u]))), + l++); + } + l < e.length && n.splice(l, e.length - l); + t.rangebreaks && + (n = n.filter(function (e) { + return t.maskBreaks(e.x) !== P; + })); + return n; + })(t); + var n = H(r), + a = n[0], + o = n[1], + l = r[1] < r[0], + c = Math.min(r[0], r[1]), + u = Math.max(r[0], r[1]), + f = + 'log' === t.type && + !(i(t.dtick) || 'L' === t.dtick.charAt(0)), + h = 'period' === t.ticklabelmode; + if (((t._tmin = B.tickFirst(t, e)), t._tmin < a !== l)) return []; + ('category' !== t.type && 'multicategory' !== t.type) || + (o = l + ? Math.max(-0.5, o) + : Math.min(t._categories.length - 0.5, o)); + var p = t._tmin; + t.rangebreaks && + t._tick0Init !== t.tick0 && + ((p = wt(p, t)), + l || (p = B.tickIncrement(p, t.dtick, !l, t.calendar))), + h && (p = B.tickIncrement(p, t.dtick, !l, t.calendar)); + for ( + var d, g = Math.max(1e3, t._length || 0), C = [], L = null; + l ? p >= o : p <= o; + p = B.tickIncrement(p, t.dtick, l, t.calendar) + ) { + if (t.rangebreaks && !l) { + if (p < a) continue; + if (t.maskBreaks(p) === P && wt(p, t) >= u) break; + } + if (C.length > g || p === L) break; + L = p; + var I = !1; + f && p !== (0 | p) && (I = !0), C.push({ minor: I, value: p }); + } + if ( + (h && + (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n].value, + a = n, + o = n + 1; + n < t.length - 1 + ? ((a = n), (o = n + 1)) + : n > 0 + ? ((a = n - 1), (o = n)) + : ((a = n), (o = n)); + var s, + l = t[a].value, + c = t[o].value, + u = Math.abs(c - l), + f = r || u, + h = 0; + f >= y + ? (h = u >= y && u <= m ? u : v) + : r === b && f >= _ + ? (h = u >= _ && u <= x ? u : b) + : f >= k + ? (h = u >= k && u <= w ? u : T) + : r === M && f >= M + ? (h = M) + : f >= A + ? (h = A) + : r === S && f >= S + ? (h = S) + : r === E && f >= E && (h = E), + h >= u && ((h = u), (s = !0)); + var p = i + h; + if (e.rangebreaks && h > 0) { + for (var d = 0, g = 0; g < 84; g++) { + var C = (g + 0.5) / 84; + e.maskBreaks(i * (1 - C) + C * p) !== P && d++; + } + (h *= d / 84) || (t[n].drop = !0), + s && u > M && (h = u); + } + (h > 0 || 0 === n) && (t[n].periodX = i + h / 2); + } + })(C, t, t._definedDelta), + t.rangebreaks) + ) { + var z = 'y' === t._id.charAt(0), + O = 1; + 'auto' === t.tickmode && + (O = t.tickfont ? t.tickfont.size : 12); + var D = NaN; + for (d = C.length - 1; d > -1; d--) + if (C[d].drop) C.splice(d, 1); + else { + C[d].value = wt(C[d].value, t); + var R = t.c2p(C[d].value); + (z ? D > R - O : D < R + O) + ? C.splice(l ? d + 1 : d, 1) + : (D = R); + } + } + _t(t) && 360 === Math.abs(r[1] - r[0]) && C.pop(), + (t._tmax = (C[C.length - 1] || {}).value), + (t._prevDateHead = ''), + (t._inCalcTicks = !0); + var F, + N, + j = []; + for (d = 0; d < C.length; d++) { + var U = C[d].minor, + V = C[d].value; + (F = B.tickText(t, V, !1, U)), + void 0 !== (N = C[d].periodX) && + ((F.periodX = N), + (N > u || N < c) && + (N > u && (F.periodX = u), + N < c && (F.periodX = c), + (F.text = ' '), + (t._prevDateHead = ''))), + j.push(F); + } + return (t._inCalcTicks = !1), j; + }); + var Z = [2, 5, 10], + J = [1, 2, 3, 6, 12], + K = [1, 2, 5, 10, 15, 30], + Q = [1, 2, 3, 7, 14], + $ = [ + -0.046, 0, 0.301, 0.477, 0.602, 0.699, 0.778, 0.845, 0.903, 0.954, + 1, + ], + tt = [-0.301, 0, 0.301, 0.699, 1], + et = [15, 30, 45, 90, 180]; + function rt(t, e, r) { + return e * s.roundUp(t / e, r); + } + function nt(t) { + var e = t.dtick; + if ( + ((t._tickexponent = 0), + i(e) || 'string' == typeof e || (e = 1), + ('category' !== t.type && 'multicategory' !== t.type) || + (t._tickround = null), + 'date' === t.type) + ) { + var r = t.r2l(t.tick0), + n = t.l2r(r).replace(/(^-|i)/g, ''), + a = n.length; + if ('M' === String(e).charAt(0)) + a > 10 || '01-01' !== n.substr(5) + ? (t._tickround = 'd') + : (t._tickround = +e.substr(1) % 12 == 0 ? 'y' : 'm'); + else if ((e >= A && a <= 10) || e >= 15 * A) t._tickround = 'd'; + else if ((e >= C && a <= 16) || e >= E) t._tickround = 'M'; + else if ((e >= L && a <= 19) || e >= C) t._tickround = 'S'; + else { + var o = t.l2r(r + e).replace(/^-/, '').length; + (t._tickround = Math.max(a, o) - 20), + t._tickround < 0 && (t._tickround = 4); + } + } else if (i(e) || 'L' === e.charAt(0)) { + var s = t.range.map(t.r2d || Number); + i(e) || (e = Number(e.substr(1))), + (t._tickround = 2 - Math.floor(Math.log(e) / Math.LN10 + 0.01)); + var l = Math.max(Math.abs(s[0]), Math.abs(s[1])), + c = Math.floor(Math.log(l) / Math.LN10 + 0.01), + u = void 0 === t.minexponent ? 3 : t.minexponent; + Math.abs(c) > u && + (ot(t.exponentformat) && !st(c) + ? (t._tickexponent = 3 * Math.round((c - 1) / 3)) + : (t._tickexponent = c)); + } else t._tickround = null; + } + function it(t, e, r) { + var n = t.tickfont || {}; + return { + x: e, + dx: 0, + dy: 0, + text: r || '', + fontSize: n.size, + font: n.family, + fontColor: n.color, + }; + } + (B.autoTicks = function (t, e) { + var r; + function n(t) { + return Math.pow(t, Math.floor(Math.log(e) / Math.LN10)); + } + if ('date' === t.type) { + t.tick0 = s.dateTick0(t.calendar, 0); + var a = 2 * e; + if (a > v) + (e /= v), (r = n(10)), (t.dtick = 'M' + 12 * rt(e, r, Z)); + else if (a > T) (e /= T), (t.dtick = 'M' + rt(e, 1, J)); + else if (a > A) { + t.dtick = rt(e, A, t._hasDayOfWeekBreaks ? [1, 2, 7, 14] : Q); + var o = B.getTickFormat(t), + l = 'period' === t.ticklabelmode; + l && (t._rawTick0 = t.tick0), + /%[uVW]/.test(o) + ? (t.tick0 = s.dateTick0(t.calendar, 2)) + : (t.tick0 = s.dateTick0(t.calendar, 1)), + l && (t._dowTick0 = t.tick0); + } else + a > E + ? (t.dtick = rt(e, E, J)) + : a > C + ? (t.dtick = rt(e, C, K)) + : a > L + ? (t.dtick = rt(e, L, K)) + : ((r = n(10)), (t.dtick = rt(e, r, Z))); + } else if ('log' === t.type) { + t.tick0 = 0; + var c = s.simpleMap(t.range, t.r2l); + if (e > 0.7) t.dtick = Math.ceil(e); + else if (Math.abs(c[1] - c[0]) < 1) { + var u = 1.5 * Math.abs((c[1] - c[0]) / e); + (e = Math.abs(Math.pow(10, c[1]) - Math.pow(10, c[0])) / u), + (r = n(10)), + (t.dtick = 'L' + rt(e, r, Z)); + } else t.dtick = e > 0.3 ? 'D2' : 'D1'; + } else + 'category' === t.type || 'multicategory' === t.type + ? ((t.tick0 = 0), (t.dtick = Math.ceil(Math.max(e, 1)))) + : _t(t) + ? ((t.tick0 = 0), (r = 1), (t.dtick = rt(e, r, et))) + : ((t.tick0 = 0), (r = n(10)), (t.dtick = rt(e, r, Z))); + if ( + (0 === t.dtick && (t.dtick = 1), + !i(t.dtick) && 'string' != typeof t.dtick) + ) { + var f = t.dtick; + throw ((t.dtick = 1), 'ax.dtick error: ' + String(f)); + } + }), + (B.tickIncrement = function (t, e, r, a) { + var o = r ? -1 : 1; + if (i(e)) return s.increment(t, o * e); + var l = e.charAt(0), + c = o * Number(e.substr(1)); + if ('M' === l) return s.incrementMonth(t, c, a); + if ('L' === l) return Math.log(Math.pow(10, t) + c) / Math.LN10; + if ('D' === l) { + var u = 'D2' === e ? tt : $, + f = t + 0.01 * o, + h = s.roundUp(s.mod(f, 1), u, r); + return ( + Math.floor(f) + + Math.log(n.round(Math.pow(10, h), 1)) / Math.LN10 + ); + } + throw 'unrecognized dtick ' + String(e); + }), + (B.tickFirst = function (t, e) { + var r = t.r2l || Number, + a = s.simpleMap(t.range, r, void 0, void 0, e), + o = a[1] < a[0], + l = o ? Math.floor : Math.ceil, + c = H(a)[0], + u = t.dtick, + f = r(t.tick0); + if (i(u)) { + var h = l((c - f) / u) * u + f; + return ( + ('category' !== t.type && 'multicategory' !== t.type) || + (h = s.constrain(h, 0, t._categories.length - 1)), + h + ); + } + var p = u.charAt(0), + d = Number(u.substr(1)); + if ('M' === p) { + for (var g, m, v, y = 0, x = f; y < 10; ) { + if ( + ((g = B.tickIncrement(x, u, o, t.calendar)) - c) * + (x - c) <= + 0 + ) + return o ? Math.min(x, g) : Math.max(x, g); + (m = (c - (x + g) / 2) / (g - x)), + (v = p + (Math.abs(Math.round(m)) || 1) * d), + (x = B.tickIncrement(x, v, m < 0 ? !o : o, t.calendar)), + y++; + } + return s.error('tickFirst did not converge', t), x; + } + if ('L' === p) + return ( + Math.log(l((Math.pow(10, c) - f) / d) * d + f) / Math.LN10 + ); + if ('D' === p) { + var b = 'D2' === u ? tt : $, + _ = s.roundUp(s.mod(c, 1), b, o); + return ( + Math.floor(c) + + Math.log(n.round(Math.pow(10, _), 1)) / Math.LN10 + ); + } + throw 'unrecognized dtick ' + String(u); + }), + (B.tickText = function (t, e, r, n) { + var a, + o = it(t, e), + l = 'array' === t.tickmode, + c = r || l, + u = t.type, + f = 'category' === u ? t.d2l_noadd : t.d2l; + if (l && Array.isArray(t.ticktext)) { + var h = s.simpleMap(t.range, t.r2l), + p = (Math.abs(h[1] - h[0]) - (t._lBreaks || 0)) / 1e4; + for ( + a = 0; + a < t.ticktext.length && + !(Math.abs(e - f(t.tickvals[a])) < p); + a++ + ); + if (a < t.ticktext.length) + return (o.text = String(t.ticktext[a])), o; + } + function d(n) { + if (void 0 === n) return !0; + if (r) return 'none' === n; + var i = { first: t._tmin, last: t._tmax }[n]; + return 'all' !== n && e !== i; + } + var g = r + ? 'never' + : 'none' !== t.exponentformat && d(t.showexponent) + ? 'hide' + : ''; + if ( + ('date' === u + ? (function (t, e, r, n) { + var a = t._tickround, + o = (r && t.hoverformat) || B.getTickFormat(t); + n && + (a = i(a) + ? 4 + : { y: 'm', m: 'd', d: 'M', M: 'S', S: 4 }[a]); + var l, + c = s.formatDate( + e.x, + o, + a, + t._dateFormat, + t.calendar, + t._extraFormat + ), + u = c.indexOf('\n'); + -1 !== u && ((l = c.substr(u + 1)), (c = c.substr(0, u))); + n && + ('00:00:00' === c || '00:00' === c + ? ((c = l), (l = '')) + : 8 === c.length && (c = c.replace(/:00$/, ''))); + if (l) + if (r) + 'd' === a + ? (c += ', ' + l) + : (c = l + (c ? ', ' + c : '')); + else if (t._inCalcTicks && t._prevDateHead === l) { + var f = + -1 !== + (t.ticklabelposition || '').indexOf('inside'), + h = t._realSide || t.side; + ((!f && 'top' === h) || (f && 'bottom' === h)) && + (c += '
'); + } else (t._prevDateHead = l), (c += '
' + l); + e.text = c; + })(t, o, r, c) + : 'log' === u + ? (function (t, e, r, n, a) { + var o = t.dtick, + l = e.x, + c = t.tickformat, + u = 'string' == typeof o && o.charAt(0); + 'never' === a && (a = ''); + n && 'L' !== u && ((o = 'L3'), (u = 'L')); + if (c || 'L' === u) e.text = lt(Math.pow(10, l), t, a, n); + else if ( + i(o) || + ('D' === u && s.mod(l + 0.01, 1) < 0.1) + ) { + var f = Math.round(l), + h = Math.abs(f), + p = t.exponentformat; + 'power' === p || (ot(p) && st(f)) + ? ((e.text = + 0 === f + ? 1 + : 1 === f + ? '10' + : '10' + (f > 1 ? '' : I) + h + ''), + (e.fontSize *= 1.25)) + : ('e' === p || 'E' === p) && h > 2 + ? (e.text = '1' + p + (f > 0 ? '+' : I) + h) + : ((e.text = lt(Math.pow(10, l), t, '', 'fakehover')), + 'D1' === o && + 'y' === t._id.charAt(0) && + (e.dy -= e.fontSize / 6)); + } else { + if ('D' !== u) throw 'unrecognized dtick ' + String(o); + (e.text = String( + Math.round(Math.pow(10, s.mod(l, 1))) + )), + (e.fontSize *= 0.75); + } + if ('D1' === t.dtick) { + var d = String(e.text).charAt(0); + ('0' !== d && '1' !== d) || + ('y' === t._id.charAt(0) + ? (e.dx -= e.fontSize / 4) + : ((e.dy += e.fontSize / 2), + (e.dx += + (t.range[1] > t.range[0] ? 1 : -1) * + e.fontSize * + (l < 0 ? 0.5 : 0.25)))); + } + })(t, o, 0, c, g) + : 'category' === u + ? (function (t, e) { + var r = t._categories[Math.round(e.x)]; + void 0 === r && (r = ''); + e.text = String(r); + })(t, o) + : 'multicategory' === u + ? (function (t, e, r) { + var n = Math.round(e.x), + i = t._categories[n] || [], + a = void 0 === i[1] ? '' : String(i[1]), + o = void 0 === i[0] ? '' : String(i[0]); + r + ? (e.text = o + ' - ' + a) + : ((e.text = a), (e.text2 = o)); + })(t, o, r) + : _t(t) + ? (function (t, e, r, n, i) { + if ('radians' !== t.thetaunit || r) + e.text = lt(e.x, t, i, n); + else { + var a = e.x / 180; + if (0 === a) e.text = '0'; + else { + var o = (function (t) { + function e(t, e) { + return Math.abs(t - e) <= 1e-6; + } + var r = (function (t) { + for (var r = 1; !e(Math.round(t * r) / r, t); ) + r *= 10; + return r; + })(t), + n = t * r, + i = Math.abs( + (function t(r, n) { + return e(n, 0) ? r : t(n, r % n); + })(n, r) + ); + return [Math.round(n / i), Math.round(r / i)]; + })(a); + if (o[1] >= 100) e.text = lt(s.deg2rad(e.x), t, i, n); + else { + var l = e.x < 0; + 1 === o[1] + ? 1 === o[0] + ? (e.text = '\u03c0') + : (e.text = o[0] + '\u03c0') + : (e.text = [ + '', + o[0], + '', + '\u2044', + '', + o[1], + '', + '\u03c0', + ].join('')), + l && (e.text = I + e.text); + } + } + } + })(t, o, r, c, g) + : (function (t, e, r, n, i) { + 'never' === i + ? (i = '') + : 'all' === t.showexponent && + Math.abs(e.x / t.dtick) < 1e-6 && + (i = 'hide'); + e.text = lt(e.x, t, i, n); + })(t, o, 0, c, g), + n || + (t.tickprefix && + !d(t.showtickprefix) && + (o.text = t.tickprefix + o.text), + t.ticksuffix && + !d(t.showticksuffix) && + (o.text += t.ticksuffix)), + 'boundaries' === t.tickson || t.showdividers) + ) { + var m = function (e) { + var r = t.l2p(e); + return r >= 0 && r <= t._length ? e : null; + }; + o.xbnd = [m(o.x - 0.5), m(o.x + t.dtick - 0.5)]; + } + return o; + }), + (B.hoverLabelText = function (t, e, r) { + if (r !== P && r !== e) + return B.hoverLabelText(t, e) + ' - ' + B.hoverLabelText(t, r); + var n = 'log' === t.type && e <= 0, + i = B.tickText(t, t.c2l(n ? -e : e), 'hover').text; + return n ? (0 === e ? '0' : I + i) : i; + }); + var at = ['f', 'p', 'n', '\u03bc', 'm', '', 'k', 'M', 'G', 'T']; + function ot(t) { + return 'SI' === t || 'B' === t; + } + function st(t) { + return t > 14 || t < -15; + } + function lt(t, e, r, n) { + var a = t < 0, + o = e._tickround, + l = r || e.exponentformat || 'B', + c = e._tickexponent, + u = B.getTickFormat(e), + f = e.separatethousands; + if (n) { + var h = { + exponentformat: l, + minexponent: e.minexponent, + dtick: + 'none' === e.showexponent + ? e.dtick + : (i(t) && Math.abs(t)) || 1, + range: + 'none' === e.showexponent ? e.range.map(e.r2d) : [0, t || 1], + }; + nt(h), + (o = (Number(h._tickround) || 0) + 4), + (c = h._tickexponent), + e.hoverformat && (u = e.hoverformat); + } + if (u) return e._numFormat(u)(t).replace(/-/g, I); + var p, + d = Math.pow(10, -o) / 2; + if (('none' === l && (c = 0), (t = Math.abs(t)) < d)) + (t = '0'), (a = !1); + else { + if (((t += d), c && ((t *= Math.pow(10, -c)), (o += c)), 0 === o)) + t = String(Math.floor(t)); + else if (o < 0) { + t = (t = String(Math.round(t))).substr(0, t.length + o); + for (var g = o; g < 0; g++) t += '0'; + } else { + var m = (t = String(t)).indexOf('.') + 1; + m && (t = t.substr(0, m + o).replace(/\.?0+$/, '')); + } + t = s.numSeparate(t, e._separators, f); + } + c && + 'hide' !== l && + (ot(l) && st(c) && (l = 'power'), + (p = c < 0 ? I + -c : 'power' !== l ? '+' + c : String(c)), + 'e' === l || 'E' === l + ? (t += l + p) + : 'power' === l + ? (t += '\xd710' + p + '') + : 'B' === l && 9 === c + ? (t += 'B') + : ot(l) && (t += at[c / 3 + 5])); + return a ? I + t : t; + } + function ct(t, e) { + for (var r = [], n = {}, i = 0; i < e.length; i++) { + var a = e[i]; + n[a.text2] ? n[a.text2].push(a.x) : (n[a.text2] = [a.x]); + } + for (var o in n) r.push(it(t, s.interp(n[o], 0.5), o)); + return r; + } + function ut(t) { + return void 0 !== t.periodX ? t.periodX : t.x; + } + function ft(t) { + return [ + t.text, + t.x, + t.axInfo, + t.font, + t.fontSize, + t.fontColor, + ].join('_'); + } + function ht(t) { + var e = t.title.font.size, + r = (t.title.text.match(c.BR_TAG_ALL) || []).length; + return t.title.hasOwnProperty('standoff') + ? r + ? e * (D + r * R) + : e * D + : r + ? e * (r + 1) * R + : e; + } + function pt(t, e) { + var r = t.l2p(e); + return r > 1 && r < t._length - 1; + } + function dt(t) { + var e = n.select(t), + r = e.select('.text-math-group'); + return r.empty() ? e.select('text') : r; + } + function gt(t) { + return t._id + '.automargin'; + } + function mt(t) { + return gt(t) + '.mirror'; + } + function vt(t) { + return t._id + '.rangeslider'; + } + function yt(t, e) { + for (var r = 0; r < e.length; r++) + -1 === t.indexOf(e[r]) && t.push(e[r]); + } + function xt(t, e, r) { + var n, + i, + a = [], + o = [], + l = t.layout; + for (n = 0; n < e.length; n++) a.push(B.getFromId(t, e[n])); + for (n = 0; n < r.length; n++) o.push(B.getFromId(t, r[n])); + var c = Object.keys(p), + u = [ + 'anchor', + 'domain', + 'overlaying', + 'position', + 'side', + 'tickangle', + 'editType', + ], + f = ['linear', 'log']; + for (n = 0; n < c.length; n++) { + var h = c[n], + d = a[0][h], + g = o[0][h], + m = !0, + v = !1, + y = !1; + if ( + '_' !== h.charAt(0) && + 'function' != typeof d && + -1 === u.indexOf(h) + ) { + for (i = 1; i < a.length && m; i++) { + var x = a[i][h]; + 'type' === h && + -1 !== f.indexOf(d) && + -1 !== f.indexOf(x) && + d !== x + ? (v = !0) + : x !== d && (m = !1); + } + for (i = 1; i < o.length && m; i++) { + var b = o[i][h]; + 'type' === h && + -1 !== f.indexOf(g) && + -1 !== f.indexOf(b) && + g !== b + ? (y = !0) + : o[i][h] !== g && (m = !1); + } + m && + (v && (l[a[0]._name].type = 'linear'), + y && (l[o[0]._name].type = 'linear'), + bt(l, h, a, o, t._fullLayout._dfltTitle)); + } + } + for (n = 0; n < t._fullLayout.annotations.length; n++) { + var _ = t._fullLayout.annotations[n]; + -1 !== e.indexOf(_.xref) && + -1 !== r.indexOf(_.yref) && + s.swapAttrs(l.annotations[n], ['?']); + } + } + function bt(t, e, r, n, i) { + var a, + o = s.nestedProperty, + l = o(t[r[0]._name], e).get(), + c = o(t[n[0]._name], e).get(); + for ( + 'title' === e && + (l && l.text === i.x && (l.text = i.y), + c && c.text === i.y && (c.text = i.x)), + a = 0; + a < r.length; + a++ + ) + o(t, r[a]._name + '.' + e).set(c); + for (a = 0; a < n.length; a++) o(t, n[a]._name + '.' + e).set(l); + } + function _t(t) { + return 'angularaxis' === t._id; + } + function wt(t, e) { + for (var r = e._rangebreaks.length, n = 0; n < r; n++) { + var i = e._rangebreaks[n]; + if (t >= i.min && t < i.max) return i.max; + } + return t; + } + (B.getTickFormat = function (t) { + var e, r, n, i, a, o, s, l; + function c(t) { + return 'string' != typeof t ? t : Number(t.replace('M', '')) * T; + } + function u(t, e) { + var r = ['L', 'D']; + if (typeof t == typeof e) { + if ('number' == typeof t) return t - e; + var n = r.indexOf(t.charAt(0)), + i = r.indexOf(e.charAt(0)); + return n === i + ? Number(t.replace(/(L|D)/g, '')) - + Number(e.replace(/(L|D)/g, '')) + : n - i; + } + return 'number' == typeof t ? 1 : -1; + } + function f(t, e) { + var r = null === e[0], + n = null === e[1], + i = u(t, e[0]) >= 0, + a = u(t, e[1]) <= 0; + return (r || i) && (n || a); + } + if (t.tickformatstops && t.tickformatstops.length > 0) + switch (t.type) { + case 'date': + case 'linear': + for (e = 0; e < t.tickformatstops.length; e++) + if ( + (n = t.tickformatstops[e]).enabled && + ((i = t.dtick), + (a = n.dtickrange), + (o = void 0), + (s = void 0), + (l = void 0), + (o = + c || + function (t) { + return t; + }), + (s = a[0]), + (l = a[1]), + ((!s && 'number' != typeof s) || o(s) <= o(i)) && + ((!l && 'number' != typeof l) || o(l) >= o(i))) + ) { + r = n; + break; + } + break; + case 'log': + for (e = 0; e < t.tickformatstops.length; e++) + if ( + (n = t.tickformatstops[e]).enabled && + f(t.dtick, n.dtickrange) + ) { + r = n; + break; + } + } + return r ? r.value : t.tickformat; + }), + (B.getSubplots = function (t, e) { + var r = t._fullLayout._subplots, + n = r.cartesian.concat(r.gl2d || []), + i = e ? B.findSubplotsWithAxis(n, e) : n; + return ( + i.sort(function (t, e) { + var r = t.substr(1).split('y'), + n = e.substr(1).split('y'); + return r[0] === n[0] ? +r[1] - +n[1] : +r[0] - +n[0]; + }), + i + ); + }), + (B.findSubplotsWithAxis = function (t, e) { + for ( + var r = new RegExp( + 'x' === e._id.charAt(0) ? '^' + e._id + 'y' : e._id + '$' + ), + n = [], + i = 0; + i < t.length; + i++ + ) { + var a = t[i]; + r.test(a) && n.push(a); + } + return n; + }), + (B.makeClipPaths = function (t) { + var e = t._fullLayout; + if (!e._hasOnlyLargeSploms) { + var r, + i, + a = { _offset: 0, _length: e.width, _id: '' }, + o = { _offset: 0, _length: e.height, _id: '' }, + s = B.list(t, 'x', !0), + l = B.list(t, 'y', !0), + c = []; + for (r = 0; r < s.length; r++) + for (c.push({ x: s[r], y: o }), i = 0; i < l.length; i++) + 0 === r && c.push({ x: a, y: l[i] }), + c.push({ x: s[r], y: l[i] }); + var u = e._clips.selectAll('.axesclip').data(c, function (t) { + return t.x._id + t.y._id; + }); + u + .enter() + .append('clipPath') + .classed('axesclip', !0) + .attr('id', function (t) { + return 'clip' + e._uid + t.x._id + t.y._id; + }) + .append('rect'), + u.exit().remove(), + u.each(function (t) { + n.select(this) + .select('rect') + .attr({ + x: t.x._offset || 0, + y: t.y._offset || 0, + width: t.x._length || 1, + height: t.y._length || 1, + }); + }); + } + }), + (B.draw = function (t, e, r) { + var n = t._fullLayout; + 'redraw' === e && + n._paper.selectAll('g.subplot').each(function (t) { + var e = t[0], + r = n._plots[e]; + if (r) { + var i = r.xaxis, + a = r.yaxis; + r.xaxislayer.selectAll('.' + i._id + 'tick').remove(), + r.yaxislayer.selectAll('.' + a._id + 'tick').remove(), + r.xaxislayer.selectAll('.' + i._id + 'tick2').remove(), + r.yaxislayer.selectAll('.' + a._id + 'tick2').remove(), + r.xaxislayer.selectAll('.' + i._id + 'divider').remove(), + r.yaxislayer.selectAll('.' + a._id + 'divider').remove(), + r.gridlayer && r.gridlayer.selectAll('path').remove(), + r.zerolinelayer && + r.zerolinelayer.selectAll('path').remove(), + n._infolayer.select('.g-' + i._id + 'title').remove(), + n._infolayer.select('.g-' + a._id + 'title').remove(); + } + }); + var i = e && 'redraw' !== e ? e : B.listIds(t); + return s.syncOrAsync( + i.map(function (e) { + return function () { + if (e) { + var n = B.getFromId(t, e), + i = B.drawOne(t, n, r); + return ( + (n._r = n.range.slice()), + (n._rl = s.simpleMap(n._r, n.r2l)), + i + ); + } + }; + }) + ); + }), + (B.drawOne = function (t, e, r) { + var n, i, l; + (r = r || {}), e.setScale(); + var c = t._fullLayout, + p = e._id, + d = p.charAt(0), + g = B.counterLetter(p), + m = c._plots[e._mainSubplot]; + if (m) { + var v = m[d + 'axislayer'], + y = e._mainLinePosition, + x = e._mainMirrorPosition, + b = (e._vals = B.calcTicks(e)), + _ = [e.mirror, y, x].join('_'); + for (n = 0; n < b.length; n++) b[n].axInfo = _; + (e._selections = {}), + e._tickAngles && (e._prevTickAngles = e._tickAngles), + (e._tickAngles = {}), + (e._depth = null); + var w = {}; + if (e.visible) { + var T, + k, + M = B.makeTransTickFn(e), + A = B.makeTransTickLabelFn(e), + S = 'inside' === e.ticks, + E = 'outside' === e.ticks; + if ('boundaries' === e.tickson) { + var C = (function (t, e) { + var r, + n = [], + i = function (t, e) { + var r = t.xbnd[e]; + null !== r && n.push(s.extendFlat({}, t, { x: r })); + }; + if (e.length) { + for (r = 0; r < e.length; r++) i(e[r], 0); + i(e[r - 1], 1); + } + return n; + })(0, b); + (k = B.clipEnds(e, C)), (T = S ? k : C); + } else + (k = B.clipEnds(e, b)), + (T = S && 'period' !== e.ticklabelmode ? k : b); + var L = (e._gridVals = k), + I = (function (t, e) { + var r, + n, + i = [], + a = e.length && e[e.length - 1].x < e[0].x, + o = function (t, e) { + var r = t.xbnd[e]; + null !== r && i.push(s.extendFlat({}, t, { x: r })); + }; + if (t.showdividers && e.length) { + for (r = 0; r < e.length; r++) { + var l = e[r]; + l.text2 !== n && o(l, a ? 1 : 0), (n = l.text2); + } + o(e[r - 1], a ? 0 : 1); + } + return i; + })(e, b); + if (!c._hasOnlyLargeSploms) { + var P = e._subplotsWith, + z = {}; + for (n = 0; n < P.length; n++) { + i = P[n]; + var O = (l = c._plots[i])[g + 'axis'], + D = O._mainAxis._id; + if (!z[D]) { + z[D] = 1; + var N = + 'x' === d + ? 'M0,' + O._offset + 'v' + O._length + : 'M' + O._offset + ',0h' + O._length; + B.drawGrid(t, e, { + vals: L, + counterAxis: O, + layer: l.gridlayer.select('.' + p), + path: N, + transFn: M, + }), + B.drawZeroLine(t, e, { + counterAxis: O, + layer: l.zerolinelayer, + path: N, + transFn: M, + }); + } + } + } + var j = B.getTickSigns(e), + U = []; + if (e.ticks) { + var V, + q, + H, + G = B.makeTickPath(e, y, j[2]); + if ( + (e._anchorAxis && e.mirror && !0 !== e.mirror + ? ((V = B.makeTickPath(e, x, j[3])), (q = G + V)) + : ((V = ''), (q = G)), + e.showdividers && E && 'boundaries' === e.tickson) + ) { + var Y = {}; + for (n = 0; n < I.length; n++) Y[I[n].x] = 1; + H = function (t) { + return Y[t.x] ? V : q; + }; + } else H = q; + B.drawTicks(t, e, { + vals: T, + layer: v, + path: H, + transFn: M, + }), + 'allticks' === e.mirror && + (U = Object.keys(e._linepositions || {})); + } + for (n = 0; n < U.length; n++) { + (i = U[n]), (l = c._plots[i]); + var W = e._linepositions[i] || [], + X = + B.makeTickPath(e, W[0], j[0]) + + B.makeTickPath(e, W[1], j[1]); + B.drawTicks(t, e, { + vals: T, + layer: l[d + 'axislayer'], + path: X, + transFn: M, + }); + } + var Z = []; + if ( + (Z.push(function () { + return B.drawLabels(t, e, { + vals: b, + layer: v, + transFn: A, + labelFns: B.makeLabelFns(e, y), + }); + }), + 'multicategory' === e.type) + ) { + var J = { x: 2, y: 10 }[d]; + Z.push(function () { + var r = { x: 'height', y: 'width' }[d], + n = + Q()[r] + + J + + (e._tickAngles[p + 'tick'] ? e.tickfont.size * R : 0); + return B.drawLabels(t, e, { + vals: ct(e, b), + layer: v, + cls: p + 'tick2', + repositionOnUpdate: !0, + secondary: !0, + transFn: M, + labelFns: B.makeLabelFns(e, y + n * j[4]), + }); + }), + Z.push(function () { + return ( + (e._depth = j[4] * (Q('tick2')[e.side] - y)), + (function (t, e, r) { + var n = e._id + 'divider', + i = r.vals, + a = r.layer.selectAll('path.' + n).data(i, ft); + a.exit().remove(), + a + .enter() + .insert('path', ':first-child') + .classed(n, 1) + .classed('crisp', 1) + .call(f.stroke, e.dividercolor) + .style( + 'stroke-width', + h.crispRound(t, e.dividerwidth, 1) + 'px' + ), + a.attr('transform', r.transFn).attr('d', r.path); + })(t, e, { + vals: I, + layer: v, + path: B.makeTickPath(e, y, j[4], e._depth), + transFn: M, + }) + ); + }); + } else + e.title.hasOwnProperty('standoff') && + Z.push(function () { + e._depth = j[4] * (Q()[e.side] - y); + }); + var K = o.getComponentMethod('rangeslider', 'isVisible')(e); + return ( + Z.push(function () { + var r, + n, + i, + s, + l = e.side.charAt(0), + u = F[e.side].charAt(0), + f = B.getPxPosition(t, e), + h = E ? e.ticklen : 0; + if ( + ((e.automargin || K) && + ('multicategory' === e.type + ? (r = Q('tick2')) + : ((r = Q()), + 'x' === d && + 'b' === l && + (e._depth = Math.max( + r.width > 0 ? r.bottom - f : 0, + h + )))), + e.automargin) + ) { + n = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 }; + var p = [0, 1]; + if ('x' === d) { + if ( + ('b' === l + ? (n[l] = e._depth) + : ((n[l] = e._depth = + Math.max(r.width > 0 ? f - r.top : 0, h)), + p.reverse()), + r.width > 0) + ) { + var m = r.right - (e._offset + e._length); + m > 0 && ((n.xr = 1), (n.r = m)); + var v = e._offset - r.left; + v > 0 && ((n.xl = 0), (n.l = v)); + } + } else if ( + ('l' === l + ? (n[l] = e._depth = + Math.max(r.height > 0 ? f - r.left : 0, h)) + : ((n[l] = e._depth = + Math.max(r.height > 0 ? r.right - f : 0, h)), + p.reverse()), + r.height > 0) + ) { + var y = r.bottom - (e._offset + e._length); + y > 0 && ((n.yb = 0), (n.b = y)); + var x = e._offset - r.top; + x > 0 && ((n.yt = 1), (n.t = x)); + } + (n[g] = + 'free' === e.anchor + ? e.position + : e._anchorAxis.domain[p[0]]), + e.title.text !== c._dfltTitle[d] && + (n[l] += ht(e) + (e.title.standoff || 0)), + e.mirror && + 'free' !== e.anchor && + (((i = { x: 0, y: 0, r: 0, l: 0, t: 0, b: 0 })[u] = + e.linewidth), + e.mirror && !0 !== e.mirror && (i[u] += h), + !0 === e.mirror || 'ticks' === e.mirror + ? (i[g] = e._anchorAxis.domain[p[1]]) + : ('all' !== e.mirror && + 'allticks' !== e.mirror) || + (i[g] = [ + e._counterDomainMin, + e._counterDomainMax, + ][p[1]])); + } + K && + (s = o.getComponentMethod( + 'rangeslider', + 'autoMarginOpts' + )(t, e)), + a.autoMargin(t, gt(e), n), + a.autoMargin(t, mt(e), i), + a.autoMargin(t, vt(e), s); + }), + r.skipTitle || + (K && 'bottom' === e.side) || + Z.push(function () { + return (function (t, e) { + var r, + n = t._fullLayout, + i = e._id, + a = i.charAt(0), + o = e.title.font.size; + if (e.title.hasOwnProperty('standoff')) + r = e._depth + e.title.standoff + ht(e); + else { + var s = + -1 !== + (e.ticklabelposition || '').indexOf('inside'); + if ('multicategory' === e.type) r = e._depth; + else { + var l = 1.5 * o; + s && + ((l = 0.5 * o), + 'outside' === e.ticks && (l += e.ticklen)), + (r = + 10 + l + (e.linewidth ? e.linewidth - 1 : 0)); + } + s || + (r += + 'x' === a + ? 'top' === e.side + ? o * (e.showticklabels ? 1 : 0) + : o * (e.showticklabels ? 1.5 : 0.5) + : 'right' === e.side + ? o * (e.showticklabels ? 1 : 0.5) + : o * (e.showticklabels ? 0.5 : 0)); + } + var c, + f, + p, + d, + g = B.getPxPosition(t, e); + 'x' === a + ? ((f = e._offset + e._length / 2), + (p = 'top' === e.side ? g - r : g + r)) + : ((p = e._offset + e._length / 2), + (f = 'right' === e.side ? g + r : g - r), + (c = { rotate: '-90', offset: 0 })); + if ('multicategory' !== e.type) { + var m = e._selections[e._id + 'tick']; + if ( + ((d = { selection: m, side: e.side }), + m && m.node() && m.node().parentNode) + ) { + var v = h.getTranslate(m.node().parentNode); + (d.offsetLeft = v.x), (d.offsetTop = v.y); + } + e.title.hasOwnProperty('standoff') && (d.pad = 0); + } + return u.draw(t, i + 'title', { + propContainer: e, + propName: e._name + '.title.text', + placeholder: n._dfltTitle[a], + avoid: d, + transform: c, + attributes: { x: f, y: p, 'text-anchor': 'middle' }, + }); + })(t, e); + }), + s.syncOrAsync(Z) + ); + } + } + function Q(t) { + var r = p + (t || 'tick'); + return ( + w[r] || + (w[r] = (function (t, e) { + var r, n, i, a; + t._selections[e].size() + ? ((r = 1 / 0), + (n = -1 / 0), + (i = 1 / 0), + (a = -1 / 0), + t._selections[e].each(function () { + var t = dt(this), + e = h.bBox(t.node().parentNode); + (r = Math.min(r, e.top)), + (n = Math.max(n, e.bottom)), + (i = Math.min(i, e.left)), + (a = Math.max(a, e.right)); + })) + : ((r = 0), (n = 0), (i = 0), (a = 0)); + return { + top: r, + bottom: n, + left: i, + right: a, + height: n - r, + width: a - i, + }; + })(e, r)), + w[r] + ); + } + }), + (B.getTickSigns = function (t) { + var e = t._id.charAt(0), + r = { x: 'top', y: 'right' }[e], + n = t.side === r ? 1 : -1, + i = [-1, 1, n, -n]; + return ( + ('inside' !== t.ticks) == ('x' === e) && + (i = i.map(function (t) { + return -t; + })), + t.side && + i.push({ l: -1, t: -1, r: 1, b: 1 }[t.side.charAt(0)]), + i + ); + }), + (B.makeTransTickFn = function (t) { + return 'x' === t._id.charAt(0) + ? function (e) { + return l(t._offset + t.l2p(e.x), 0); + } + : function (e) { + return l(0, t._offset + t.l2p(e.x)); + }; + }), + (B.makeTransTickLabelFn = function (t) { + var e = (function (t) { + var e = t.ticklabelposition || '', + r = function (t) { + return -1 !== e.indexOf(t); + }, + n = r('top'), + i = r('left'), + a = r('right'), + o = r('bottom'), + s = r('inside'), + l = o || i || n || a; + if (!l && !s) return [0, 0]; + var c = t.side, + u = l ? (t.tickwidth || 0) / 2 : 0, + f = 3, + h = t.tickfont ? t.tickfont.size : 12; + (o || n) && ((u += h * D), (f += (t.linewidth || 0) / 2)); + (i || a) && ((u += (t.linewidth || 0) / 2), (f += 3)); + s && 'top' === c && (f -= h * (1 - D)); + (i || n) && (u = -u); + ('bottom' !== c && 'right' !== c) || (f = -f); + return [l ? u : 0, s ? f : 0]; + })(t), + r = e[0], + n = e[1]; + return 'x' === t._id.charAt(0) + ? function (e) { + return l(r + t._offset + t.l2p(ut(e)), n); + } + : function (e) { + return l(n, r + t._offset + t.l2p(ut(e))); + }; + }), + (B.makeTickPath = function (t, e, r, n) { + n = void 0 !== n ? n : t.ticklen; + var i = t._id.charAt(0), + a = (t.linewidth || 1) / 2; + return 'x' === i + ? 'M0,' + (e + a * r) + 'v' + n * r + : 'M' + (e + a * r) + ',0h' + n * r; + }), + (B.makeLabelFns = function (t, e, r) { + var n = t.ticklabelposition || '', + a = function (t) { + return -1 !== n.indexOf(t); + }, + o = a('top'), + l = a('left'), + c = a('right'), + u = a('bottom') || l || o || c, + f = a('inside'), + h = + ('inside' === n && 'inside' === t.ticks) || + (!f && 'outside' === t.ticks && 'boundaries' !== t.tickson), + p = 0, + d = 0, + g = h ? t.ticklen : 0; + if ((f ? (g *= -1) : u && (g = 0), h && ((p += g), r))) { + var m = s.deg2rad(r); + (p = g * Math.cos(m) + 1), (d = g * Math.sin(m)); + } + t.showticklabels && + (h || t.showline) && + (p += 0.2 * t.tickfont.size); + var v, + y, + x, + b, + _, + w = { + labelStandoff: (p += ((t.linewidth || 1) / 2) * (f ? -1 : 1)), + labelShift: d, + }, + T = 0, + k = t.side, + M = t._id.charAt(0), + A = t.tickangle; + if ('x' === M) + (b = (_ = (!f && 'bottom' === k) || (f && 'top' === k)) + ? 1 + : -1), + f && (b *= -1), + (v = d * b), + (y = e + p * b), + (x = _ ? 1 : -0.2), + 90 === Math.abs(A) && + (f + ? (x += O) + : (x = + -90 === A && 'bottom' === k + ? D + : 90 === A && 'top' === k + ? O + : 0.5), + (T = (O / 2) * (A / 90))), + (w.xFn = function (t) { + return t.dx + v + T * t.fontSize; + }), + (w.yFn = function (t) { + return t.dy + y + t.fontSize * x; + }), + (w.anchorFn = function (t, e) { + if (u) { + if (l) return 'end'; + if (c) return 'start'; + } + return i(e) && 0 !== e && 180 !== e + ? e * b < 0 !== f + ? 'end' + : 'start' + : 'middle'; + }), + (w.heightFn = function (e, r, n) { + return r < -60 || r > 60 + ? -0.5 * n + : ('top' === t.side) !== f + ? -n + : 0; + }); + else if ('y' === M) { + if ( + ((b = (_ = (!f && 'left' === k) || (f && 'right' === k)) + ? 1 + : -1), + f && (b *= -1), + (v = p), + (y = d * b), + (x = 0), + f || + 90 !== Math.abs(A) || + (x = + (-90 === A && 'left' === k) || (90 === A && 'right' === k) + ? D + : 0.5), + f) + ) { + var S = i(A) ? +A : 0; + if (0 !== S) { + var E = s.deg2rad(S); + (T = Math.abs(Math.sin(E)) * D * b), (x = 0); + } + } + (w.xFn = function (t) { + return t.dx + e - (v + t.fontSize * x) * b + T * t.fontSize; + }), + (w.yFn = function (t) { + return t.dy + y + t.fontSize * O; + }), + (w.anchorFn = function (t, e) { + return i(e) && 90 === Math.abs(e) + ? 'middle' + : _ + ? 'end' + : 'start'; + }), + (w.heightFn = function (e, r, n) { + return ( + 'right' === t.side && (r *= -1), + r < -30 ? -n : r < 30 ? -0.5 * n : 0 + ); + }); + } + return w; + }), + (B.drawTicks = function (t, e, r) { + r = r || {}; + var n = e._id + 'tick', + i = r.vals; + 'period' === e.ticklabelmode && (i = i.slice()).shift(); + var a = r.layer.selectAll('path.' + n).data(e.ticks ? i : [], ft); + a.exit().remove(), + a + .enter() + .append('path') + .classed(n, 1) + .classed('ticks', 1) + .classed('crisp', !1 !== r.crisp) + .call(f.stroke, e.tickcolor) + .style('stroke-width', h.crispRound(t, e.tickwidth, 1) + 'px') + .attr('d', r.path), + a.attr('transform', r.transFn); + }), + (B.drawGrid = function (t, e, r) { + r = r || {}; + var n = e._id + 'grid', + i = r.vals, + a = r.counterAxis; + if (!1 === e.showgrid) i = []; + else if (a && B.shouldShowZeroLine(t, e, a)) + for (var o = 'array' === e.tickmode, s = 0; s < i.length; s++) { + var l = i[s].x; + if (o ? !l : Math.abs(l) < e.dtick / 100) { + if (((i = i.slice(0, s).concat(i.slice(s + 1))), !o)) break; + s--; + } + } + var c = r.layer.selectAll('path.' + n).data(i, ft); + c.exit().remove(), + c + .enter() + .append('path') + .classed(n, 1) + .classed('crisp', !1 !== r.crisp), + (e._gw = h.crispRound(t, e.gridwidth, 1)), + c + .attr('transform', r.transFn) + .attr('d', r.path) + .call(f.stroke, e.gridcolor || '#ddd') + .style('stroke-width', e._gw + 'px'), + 'function' == typeof r.path && c.attr('d', r.path); + }), + (B.drawZeroLine = function (t, e, r) { + r = r || r; + var n = e._id + 'zl', + i = B.shouldShowZeroLine(t, e, r.counterAxis), + a = r.layer + .selectAll('path.' + n) + .data(i ? [{ x: 0, id: e._id }] : []); + a.exit().remove(), + a + .enter() + .append('path') + .classed(n, 1) + .classed('zl', 1) + .classed('crisp', !1 !== r.crisp) + .each(function () { + r.layer.selectAll('path').sort(function (t, e) { + return U(t.id, e.id); + }); + }), + a + .attr('transform', r.transFn) + .attr('d', r.path) + .call(f.stroke, e.zerolinecolor || f.defaultLine) + .style( + 'stroke-width', + h.crispRound(t, e.zerolinewidth, e._gw || 1) + 'px' + ); + }), + (B.drawLabels = function (t, e, r) { + r = r || {}; + var a = t._fullLayout, + o = e._id, + u = o.charAt(0), + f = r.cls || o + 'tick', + p = r.vals, + d = r.labelFns, + g = r.secondary ? 0 : e.tickangle, + m = (e._prevTickAngles || {})[f], + v = r.layer + .selectAll('g.' + f) + .data(e.showticklabels ? p : [], ft), + y = []; + function x(t, a) { + var o = -1 !== (e.ticklabelposition || '').indexOf('inside'); + t.each(function (t) { + var s = n.select(this), + u = s.select('.text-math-group'), + f = d.anchorFn(t, a), + p = + r.transFn.call(s.node(), t) + + (i(a) && 0 != +a + ? ' rotate(' + + a + + ',' + + d.xFn(t) + + ',' + + (d.yFn(t) - t.fontSize / 2) + + ')' + : ''), + g = c.lineCount(s), + m = R * t.fontSize, + v = d.heightFn(t, i(a) ? +a : 0, (g - 1) * m); + if ((v && (p += l(0, v)), u.empty())) { + var y = s.select('text'); + y.attr({ transform: p, 'text-anchor': f }), + o && + (y.style({ opacity: 100 }), + e._hideOutOfRangeInsideTickLabels && + e._hideOutOfRangeInsideTickLabels()); + } else { + var x = + h.bBox(u.node()).width * { end: -0.5, start: 0.5 }[f]; + u.attr('transform', p + l(x, 0)); + } + }); + } + v + .enter() + .append('g') + .classed(f, 1) + .append('text') + .attr('text-anchor', 'middle') + .each(function (e) { + var r = n.select(this), + i = t._promises.length; + r + .call(c.positionText, d.xFn(e), d.yFn(e)) + .call(h.font, e.font, e.fontSize, e.fontColor) + .text(e.text) + .call(c.convertToTspans, t), + t._promises[i] + ? y.push( + t._promises.pop().then(function () { + x(r, g); + }) + ) + : x(r, g); + }), + v.exit().remove(), + r.repositionOnUpdate && + v.each(function (t) { + n.select(this) + .select('text') + .call(c.positionText, d.xFn(t), d.yFn(t)); + }), + (e._hideOutOfRangeInsideTickLabels = void 0), + -1 !== (e.ticklabelposition || '').indexOf('inside') && + (e._hideOutOfRangeInsideTickLabels = function () { + var t = s.simpleMap(e.range, e.r2l), + r = e.l2p(t[0]), + i = e.l2p(t[1]), + a = Math.min(r, i) + e._offset, + o = Math.max(r, i) + e._offset, + l = 'x' === e._id.charAt(0); + v.each(function (t) { + var r = n.select(this); + if (r.select('.text-math-group').empty()) { + var i = h.bBox(r.node()), + s = !1; + l + ? (i.right > o || i.left < a) && (s = !0) + : (i.bottom > o || + i.top + (e.tickangle ? 0 : t.fontSize / 4) < a) && + (s = !0), + s && r.select('text').style({ opacity: 0 }); + } + }); + }), + x(v, m + 1 ? m : g); + var b = null; + e._selections && (e._selections[f] = v); + var _ = [ + function () { + return y.length && Promise.all(y); + }, + ]; + e.automargin && a._redrawFromAutoMarginCount && 90 === m + ? ((b = 90), + _.push(function () { + x(v, m); + })) + : _.push(function () { + if ( + (x(v, g), + p.length && + 'x' === u && + !i(g) && + ('log' !== e.type || 'D' !== String(e.dtick).charAt(0))) + ) { + b = 0; + var t, + n = 0, + a = []; + if ( + (v.each(function (t) { + n = Math.max(n, t.fontSize); + var r = e.l2p(t.x), + i = dt(this), + o = h.bBox(i.node()); + a.push({ + top: 0, + bottom: 10, + height: 10, + left: r - o.width / 2, + right: r + o.width / 2 + 2, + width: o.width + 2, + }); + }), + ('boundaries' !== e.tickson && !e.showdividers) || + r.secondary) + ) { + var o = p.length, + l = Math.abs((p[o - 1].x - p[0].x) * e._m) / (o - 1), + c = e.ticklabelposition || '', + f = function (t) { + return -1 !== c.indexOf(t); + }, + d = f('top'), + m = f('left'), + y = f('right'), + _ = + f('bottom') || m || d || y + ? (e.tickwidth || 0) + 6 + : 0, + w = l < 2.5 * n || 'multicategory' === e.type; + for (t = 0; t < a.length - 1; t++) + if (s.bBoxIntersect(a[t], a[t + 1], _)) { + b = w ? 90 : 30; + break; + } + } else { + var T = 2; + for ( + e.ticks && (T += e.tickwidth / 2), t = 0; + t < a.length; + t++ + ) { + var k = p[t].xbnd, + M = a[t]; + if ( + (null !== k[0] && M.left - e.l2p(k[0]) < T) || + (null !== k[1] && e.l2p(k[1]) - M.right < T) + ) { + b = 90; + break; + } + } + } + b && x(v, b); + } + }), + e._tickAngles && + _.push(function () { + e._tickAngles[f] = null === b ? (i(g) ? g : 0) : b; + }); + var w = e._anchorAxis; + w && + w.autorange && + -1 !== (e.ticklabelposition || '').indexOf('inside') && + !V(a, e._id) && + (a._insideTickLabelsAutorange || + (a._insideTickLabelsAutorange = {}), + (a._insideTickLabelsAutorange[w._name + '.autorange'] = + w.autorange), + _.push(function () { + v.each(function (t, r) { + var n = dt(this); + e._vals[r].bb = h.bBox(n.node()); + }); + })); + var T = s.syncOrAsync(_); + return T && T.then && t._promises.push(T), T; + }), + (B.getPxPosition = function (t, e) { + var r, + n = t._fullLayout._size, + i = e._id.charAt(0), + a = e.side; + return ( + 'free' !== e.anchor + ? (r = e._anchorAxis) + : 'x' === i + ? (r = { + _offset: n.t + (1 - (e.position || 0)) * n.h, + _length: 0, + }) + : 'y' === i && + (r = { + _offset: n.l + (e.position || 0) * n.w, + _length: 0, + }), + 'top' === a || 'left' === a + ? r._offset + : 'bottom' === a || 'right' === a + ? r._offset + r._length + : void 0 + ); + }), + (B.shouldShowZeroLine = function (t, e, r) { + var n = s.simpleMap(e.range, e.r2l); + return ( + n[0] * n[1] <= 0 && + e.zeroline && + ('linear' === e.type || '-' === e.type) && + !(e.rangebreaks && e.maskBreaks(0) === P) && + (pt(e, 0) || + !(function (t, e, r, n) { + var i = r._mainAxis; + if (!i) return; + var a = t._fullLayout, + o = e._id.charAt(0), + s = B.counterLetter(e._id), + l = + e._offset + + (Math.abs(n[0]) < Math.abs(n[1]) == ('x' === o) + ? 0 + : e._length); + function c(t) { + if (!t.showline || !t.linewidth) return !1; + var r = Math.max((t.linewidth + e.zerolinewidth) / 2, 1); + function n(t) { + return 'number' == typeof t && Math.abs(t - l) < r; + } + if (n(t._mainLinePosition) || n(t._mainMirrorPosition)) + return !0; + var i = t._linepositions || {}; + for (var a in i) if (n(i[a][0]) || n(i[a][1])) return !0; + } + var u = a._plots[r._mainSubplot]; + if (!(u.mainplotinfo || u).overlays.length) return c(r); + for (var f = B.list(t, s), h = 0; h < f.length; h++) { + var p = f[h]; + if (p._mainAxis === i && c(p)) return !0; + } + })(t, e, r, n) || + (function (t, e) { + for ( + var r = t._fullData, + n = e._mainSubplot, + i = e._id.charAt(0), + a = 0; + a < r.length; + a++ + ) { + var s = r[a]; + if (!0 === s.visible && s.xaxis + s.yaxis === n) { + if ( + o.traceIs(s, 'bar-like') && + s.orientation === { x: 'h', y: 'v' }[i] + ) + return !0; + if (s.fill && s.fill.charAt(s.fill.length - 1) === i) + return !0; + } + } + return !1; + })(t, e)) + ); + }), + (B.clipEnds = function (t, e) { + return e.filter(function (e) { + return pt(t, e.x); + }); + }), + (B.allowAutoMargin = function (t) { + for (var e = B.list(t, '', !0), r = 0; r < e.length; r++) { + var n = e[r]; + n.automargin && + (a.allowAutoMargin(t, gt(n)), + n.mirror && a.allowAutoMargin(t, mt(n))), + o.getComponentMethod('rangeslider', 'isVisible')(n) && + a.allowAutoMargin(t, vt(n)); + } + }), + (B.swap = function (t, e) { + for ( + var r = (function (t, e) { + var r, + n, + i = []; + for (r = 0; r < e.length; r++) { + var a = [], + o = t._fullData[e[r]].xaxis, + s = t._fullData[e[r]].yaxis; + if (o && s) { + for (n = 0; n < i.length; n++) + (-1 === i[n].x.indexOf(o) && + -1 === i[n].y.indexOf(s)) || + a.push(n); + if (a.length) { + var l, + c = i[a[0]]; + if (a.length > 1) + for (n = 1; n < a.length; n++) + (l = i[a[n]]), yt(c.x, l.x), yt(c.y, l.y); + yt(c.x, [o]), yt(c.y, [s]); + } else i.push({ x: [o], y: [s] }); + } + } + return i; + })(t, e), + n = 0; + n < r.length; + n++ + ) + xt(t, r[n].x, r[n].y); + }); + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../components/titles': 738, + '../../constants/alignment': 745, + '../../constants/numerical': 753, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/plots': 891, + '../../registry': 911, + './autorange': 827, + './axis_autotype': 829, + './axis_ids': 831, + './clean_ticks': 833, + './layout_attributes': 842, + './set_convert': 848, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 829: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../constants/numerical').BADNUM, + o = i.isArrayOrTypedArray, + s = i.isDateTime, + l = i.cleanNumber, + c = Math.round; + function u(t, e) { + return e ? n(t) : 'number' == typeof t; + } + function f(t) { + return Math.max(1, (t - 1) / 1e3); + } + e.exports = function (t, e, r) { + var i = t, + h = r.noMultiCategory; + if (o(i) && !i.length) return '-'; + if ( + !h && + (function (t) { + return o(t[0]) && o(t[1]); + })(i) + ) + return 'multicategory'; + if (h && Array.isArray(i[0])) { + for (var p = [], d = 0; d < i.length; d++) + if (o(i[d])) + for (var g = 0; g < i[d].length; g++) p.push(i[d][g]); + i = p; + } + if ( + (function (t, e) { + for ( + var r = t.length, i = f(r), a = 0, o = 0, l = {}, u = 0; + u < r; + u += i + ) { + var h = c(u), + p = t[h], + d = String(p); + l[d] || ((l[d] = 1), s(p, e) && a++, n(p) && o++); + } + return a > 2 * o; + })(i, e) + ) + return 'date'; + var m = 'strict' !== r.autotypenumbers; + return (function (t, e) { + for ( + var r = t.length, n = f(r), i = 0, o = 0, s = {}, u = 0; + u < r; + u += n + ) { + var h = c(u), + p = t[h], + d = String(p); + if (!s[d]) { + s[d] = 1; + var g = typeof p; + 'boolean' === g + ? o++ + : (e ? l(p) !== a : 'number' === g) + ? i++ + : 'string' === g && o++; + } + } + return o > 2 * i; + })(i, m) + ? 'category' + : (function (t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (u(t[n], e)) return !0; + return !1; + })(i, m) + ? 'linear' + : '-'; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + 'fast-isnumeric': 241, + }, + ], + 830: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../registry'), + a = t('../../lib'), + o = t('../array_container_defaults'), + s = t('./layout_attributes'), + l = t('./tick_value_defaults'), + c = t('./tick_mark_defaults'), + u = t('./tick_label_defaults'), + f = t('./category_order_defaults'), + h = t('./line_grid_defaults'), + p = t('./set_convert'), + d = t('./constants').WEEKDAY_PATTERN, + g = t('./constants').HOUR_PATTERN; + function m(t, e, r) { + function i(r, n) { + return a.coerce(t, e, s.rangebreaks, r, n); + } + if (i('enabled')) { + var o = i('bounds'); + if (o && o.length >= 2) { + var l, + c, + u = ''; + if (2 === o.length) + for (l = 0; l < 2; l++) + if ((c = y(o[l]))) { + u = d; + break; + } + var f = i('pattern', u); + if (f === d) + for (l = 0; l < 2; l++) + (c = y(o[l])) && (e.bounds[l] = o[l] = c - 1); + if (f) + for (l = 0; l < 2; l++) + switch (((c = o[l]), f)) { + case d: + if (!n(c)) return void (e.enabled = !1); + if ((c = +c) !== Math.floor(c) || c < 0 || c >= 7) + return void (e.enabled = !1); + e.bounds[l] = o[l] = c; + break; + case g: + if (!n(c)) return void (e.enabled = !1); + if ((c = +c) < 0 || c > 24) + return void (e.enabled = !1); + e.bounds[l] = o[l] = c; + } + if (!1 === r.autorange) { + var h = r.range; + if (h[0] < h[1]) { + if (o[0] < h[0] && o[1] > h[1]) + return void (e.enabled = !1); + } else if (o[0] > h[0] && o[1] < h[1]) + return void (e.enabled = !1); + } + } else { + var p = i('values'); + if (!p || !p.length) return void (e.enabled = !1); + i('dvalue'); + } + } + } + e.exports = function (t, e, r, n, g) { + var v, + y = n.letter, + x = n.font || {}, + b = n.splomStash || {}, + _ = r('visible', !n.visibleDflt), + w = e._template || {}, + T = e.type || w.type || '-'; + 'date' === T && + (i.getComponentMethod('calendars', 'handleDefaults')( + t, + e, + 'calendar', + n.calendar + ), + n.noTicklabelmode || (v = r('ticklabelmode'))); + (n.noTicklabelposition && 'multicategory' !== T) || + a.coerce( + t, + e, + { + ticklabelposition: { + valType: 'enumerated', + dflt: 'outside', + values: + 'period' === v + ? ['outside', 'inside'] + : 'x' === y + ? [ + 'outside', + 'inside', + 'outside left', + 'inside left', + 'outside right', + 'inside right', + ] + : [ + 'outside', + 'inside', + 'outside top', + 'inside top', + 'outside bottom', + 'inside bottom', + ], + }, + }, + 'ticklabelposition' + ), + p(e, g); + var k = !e.isValidRange(t.range); + k && n.reverseDflt && (k = 'reversed'), + !r('autorange', k) || + ('linear' !== T && '-' !== T) || + r('rangemode'), + r('range'), + e.cleanRange(), + f(t, e, r, n), + 'category' === T || n.noHover || r('hoverformat'); + var M = r('color'), + A = M !== s.color.dflt ? M : x.color, + S = b.label || g._dfltTitle[y]; + if ((u(t, e, r, T, n, { pass: 1 }), !_)) return e; + r('title.text', S), + a.coerceFont(r, 'title.font', { + family: x.family, + size: Math.round(1.2 * x.size), + color: A, + }), + l(t, e, r, T), + u(t, e, r, T, n, { pass: 2 }), + c(t, e, r, n), + h(t, e, r, { + dfltColor: M, + bgColor: n.bgColor, + showGrid: n.showGrid, + attributes: s, + }), + (e.showline || e.ticks) && r('mirror'), + n.automargin && r('automargin'); + var E, + C = 'multicategory' === T; + n.noTickson || + ('category' !== T && !C) || + (!e.ticks && !e.showgrid) || + (C && (E = 'boundaries'), + 'boundaries' === r('tickson', E) && delete e.ticklabelposition); + C && r('showdividers') && (r('dividercolor'), r('dividerwidth')); + if ('date' === T) + if ( + (o(t, e, { + name: 'rangebreaks', + inclusionAttr: 'enabled', + handleItemDefaults: m, + }), + e.rangebreaks.length) + ) { + for (var L = 0; L < e.rangebreaks.length; L++) + if (e.rangebreaks[L].pattern === d) { + e._hasDayOfWeekBreaks = !0; + break; + } + if ((p(e, g), g._has('scattergl') || g._has('splom'))) + for (var I = 0; I < n.data.length; I++) { + var P = n.data[I]; + ('scattergl' !== P.type && 'splom' !== P.type) || + ((P.visible = !1), + a.warn( + P.type + + ' traces do not work on axes with rangebreaks. Setting trace ' + + P.index + + ' to `visible: false`.' + )); + } + } else delete e.rangebreaks; + return e; + }; + var v = { sun: 1, mon: 2, tue: 3, wed: 4, thu: 5, fri: 6, sat: 7 }; + function y(t) { + if ('string' == typeof t) return v[t.substr(0, 3).toLowerCase()]; + } + }, + { + '../../lib': 778, + '../../registry': 911, + '../array_container_defaults': 823, + './category_order_defaults': 832, + './constants': 834, + './layout_attributes': 842, + './line_grid_defaults': 844, + './set_convert': 848, + './tick_label_defaults': 849, + './tick_mark_defaults': 850, + './tick_value_defaults': 851, + 'fast-isnumeric': 241, + }, + ], + 831: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('./constants'); + function a(t, e) { + if (e && e.length) + for (var r = 0; r < e.length; r++) if (e[r][t]) return !0; + return !1; + } + (r.id2name = function (t) { + if ('string' == typeof t && t.match(i.AX_ID_PATTERN)) { + var e = t.split(' ')[0].substr(1); + return '1' === e && (e = ''), t.charAt(0) + 'axis' + e; + } + }), + (r.name2id = function (t) { + if (t.match(i.AX_NAME_PATTERN)) { + var e = t.substr(5); + return '1' === e && (e = ''), t.charAt(0) + e; + } + }), + (r.cleanId = function (t, e, r) { + var n = /( domain)$/.test(t); + if ( + 'string' == typeof t && + t.match(i.AX_ID_PATTERN) && + (!e || t.charAt(0) === e) && + (!n || r) + ) { + var a = t.split(' ')[0].substr(1).replace(/^0+/, ''); + return ( + '1' === a && (a = ''), + t.charAt(0) + a + (n && r ? ' domain' : '') + ); + } + }), + (r.list = function (t, e, n) { + var i = t._fullLayout; + if (!i) return []; + var a, + o = r.listIds(t, e), + s = new Array(o.length); + for (a = 0; a < o.length; a++) { + var l = o[a]; + s[a] = i[l.charAt(0) + 'axis' + l.substr(1)]; + } + if (!n) { + var c = i._subplots.gl3d || []; + for (a = 0; a < c.length; a++) { + var u = i[c[a]]; + e ? s.push(u[e + 'axis']) : s.push(u.xaxis, u.yaxis, u.zaxis); + } + } + return s; + }), + (r.listIds = function (t, e) { + var r = t._fullLayout; + if (!r) return []; + var n = r._subplots; + return e ? n[e + 'axis'] : n.xaxis.concat(n.yaxis); + }), + (r.getFromId = function (t, e, n) { + var i = t._fullLayout; + return ( + (e = + void 0 === e || 'string' != typeof e + ? e + : e.replace(' domain', '')), + 'x' === n + ? (e = e.replace(/y[0-9]*/, '')) + : 'y' === n && (e = e.replace(/x[0-9]*/, '')), + i[r.id2name(e)] + ); + }), + (r.getFromTrace = function (t, e, i) { + var a = t._fullLayout, + o = null; + if (n.traceIs(e, 'gl3d')) { + var s = e.scene; + 'scene' === s.substr(0, 5) && (o = a[s][i + 'axis']); + } else o = r.getFromId(t, e[i + 'axis'] || i); + return o; + }), + (r.idSort = function (t, e) { + var r = t.charAt(0), + n = e.charAt(0); + return r !== n + ? r > n + ? 1 + : -1 + : +(t.substr(1) || 1) - +(e.substr(1) || 1); + }), + (r.ref2id = function (t) { + return !!/^[xyz]/.test(t) && t.split(' ')[0]; + }), + (r.isLinked = function (t, e) { + return a(e, t._axisMatchGroups) || a(e, t._axisConstraintGroups); + }); + }, + { '../../registry': 911, './constants': 834 }, + ], + 832: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + if ('category' === e.type) { + var i, + a = t.categoryarray, + o = Array.isArray(a) && a.length > 0; + o && (i = 'array'); + var s, + l = r('categoryorder', i); + 'array' === l && (s = r('categoryarray')), + o || 'array' !== l || (l = e.categoryorder = 'trace'), + 'trace' === l + ? (e._initialCategories = []) + : 'array' === l + ? (e._initialCategories = s.slice()) + : ((s = (function (t, e) { + var r, + n, + i, + a = e.dataAttr || t._id.charAt(0), + o = {}; + if (e.axData) r = e.axData; + else + for (r = [], n = 0; n < e.data.length; n++) { + var s = e.data[n]; + s[a + 'axis'] === t._id && r.push(s); + } + for (n = 0; n < r.length; n++) { + var l = r[n][a]; + for (i = 0; i < l.length; i++) { + var c = l[i]; + null != c && (o[c] = 1); + } + } + return Object.keys(o); + })(e, n).sort()), + 'category ascending' === l + ? (e._initialCategories = s) + : 'category descending' === l && + (e._initialCategories = s.reverse())); + } + }; + }, + {}, + ], + 833: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../constants/numerical'), + o = a.ONEDAY, + s = a.ONEWEEK; + (r.dtick = function (t, e) { + var r = 'log' === e, + i = 'date' === e, + a = 'category' === e, + s = i ? o : 1; + if (!t) return s; + if (n(t)) + return (t = Number(t)) <= 0 + ? s + : a + ? Math.max(1, Math.round(t)) + : i + ? Math.max(0.1, t) + : t; + if ('string' != typeof t || (!i && !r)) return s; + var l = t.charAt(0), + c = t.substr(1); + return (c = n(c) ? Number(c) : 0) <= 0 || + !( + (i && 'M' === l && c === Math.round(c)) || + (r && 'L' === l) || + (r && 'D' === l && (1 === c || 2 === c)) + ) + ? s + : t; + }), + (r.tick0 = function (t, e, r, a) { + return 'date' === e + ? i.cleanDate(t, i.dateTick0(r, a % s == 0 ? 1 : 0)) + : 'D1' !== a && 'D2' !== a + ? n(t) + ? Number(t) + : 0 + : void 0; + }); + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + 'fast-isnumeric': 241, + }, + ], + 834: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/regex').counter; + e.exports = { + idRegex: { x: n('x', '( domain)?'), y: n('y', '( domain)?') }, + attrRegex: n('[xy]axis'), + xAxisMatch: n('xaxis'), + yAxisMatch: n('yaxis'), + AX_ID_PATTERN: /^[xyz][0-9]*( domain)?$/, + AX_NAME_PATTERN: /^[xyz]axis[0-9]*$/, + SUBPLOT_PATTERN: /^x([0-9]*)y([0-9]*)$/, + HOUR_PATTERN: 'hour', + WEEKDAY_PATTERN: 'day of week', + MINDRAG: 8, + MINSELECT: 12, + MINZOOM: 20, + DRAGGERSIZE: 20, + BENDPX: 1.5, + REDRAWDELAY: 50, + SELECTDELAY: 100, + SELECTID: '-select', + DFLTRANGEX: [-1, 6], + DFLTRANGEY: [-1, 4], + traceLayerClasses: [ + 'imagelayer', + 'heatmaplayer', + 'contourcarpetlayer', + 'contourlayer', + 'funnellayer', + 'waterfalllayer', + 'barlayer', + 'carpetlayer', + 'violinlayer', + 'boxlayer', + 'ohlclayer', + 'scattercarpetlayer', + 'scatterlayer', + ], + clipOnAxisFalseQuery: [ + '.scatterlayer', + '.barlayer', + '.funnellayer', + '.waterfalllayer', + ], + layerValue2layerClass: { + 'above traces': 'above', + 'below traces': 'below', + }, + }; + }, + { '../../lib/regex': 795 }, + ], + 835: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./autorange'), + a = t('./axis_ids').id2name, + o = t('./layout_attributes'), + s = t('./scale_zoom'), + l = t('./set_convert'), + c = t('../../constants/numerical').ALMOST_EQUAL, + u = t('../../constants/alignment').FROM_BL; + function f(t, e, r) { + var i = r.axIds, + s = r.layoutOut, + l = r.hasImage, + c = s._axisConstraintGroups, + u = s._axisMatchGroups, + f = e._id, + g = f.charAt(0), + m = ((s._splomAxes || {})[g] || {})[f] || {}, + v = e._id, + y = 'x' === v.charAt(0); + function x(r, i) { + return n.coerce(t, e, o, r, i); + } + (e._matchGroup = null), + (e._constraintGroup = null), + x('constrain', l ? 'domain' : 'range'), + n.coerce( + t, + e, + { + constraintoward: { + valType: 'enumerated', + values: y + ? ['left', 'center', 'right'] + : ['bottom', 'middle', 'top'], + dflt: y ? 'center' : 'middle', + }, + }, + 'constraintoward' + ); + var b, + _, + w = e.type, + T = []; + for (b = 0; b < i.length; b++) { + if ((_ = i[b]) !== v) s[a(_)].type === w && T.push(_); + } + var k = p(c, v); + if (k) { + var M = []; + for (b = 0; b < T.length; b++) k[(_ = T[b])] || M.push(_); + T = M; + } + var A, + S, + E = T.length; + E && + (t.matches || m.matches) && + (A = n.coerce( + t, + e, + { + matches: { + valType: 'enumerated', + values: T, + dflt: -1 !== T.indexOf(m.matches) ? m.matches : void 0, + }, + }, + 'matches' + )); + var C = l && !y ? e.anchor : void 0; + if ( + (E && + !A && + (t.scaleanchor || C) && + (S = n.coerce( + t, + e, + { scaleanchor: { valType: 'enumerated', values: T } }, + 'scaleanchor', + C + )), + A) + ) { + e._matchGroup = d(u, v, A, 1); + var L = s[a(A)], + I = h(s, e) / h(s, L); + y !== ('x' === A.charAt(0)) && (I = (y ? 'x' : 'y') + I), + d(c, v, A, I); + } else + t.matches && + -1 !== i.indexOf(t.matches) && + n.warn( + 'ignored ' + + e._name + + '.matches: "' + + t.matches + + '" to avoid an infinite loop' + ); + if (S) { + var P = x('scaleratio'); + P || (P = e.scaleratio = 1), d(c, v, S, P); + } else + t.scaleanchor && + -1 !== i.indexOf(t.scaleanchor) && + n.warn( + 'ignored ' + + e._name + + '.scaleanchor: "' + + t.scaleanchor + + '" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.' + ); + } + function h(t, e) { + var r = e.domain; + return r || (r = t[a(e.overlaying)].domain), r[1] - r[0]; + } + function p(t, e) { + for (var r = 0; r < t.length; r++) if (t[r][e]) return t[r]; + return null; + } + function d(t, e, r, n) { + var i, + a, + o, + s, + l, + c = p(t, e); + null === c + ? (((c = {})[e] = 1), (l = t.length), t.push(c)) + : (l = t.indexOf(c)); + var u = Object.keys(c); + for (i = 0; i < t.length; i++) + if (((o = t[i]), i !== l && o[r])) { + var f = o[r]; + for (a = 0; a < u.length; a++) o[(s = u[a])] = g(f, g(n, c[s])); + return void t.splice(l, 1); + } + if (1 !== n) + for (a = 0; a < u.length; a++) { + var h = u[a]; + c[h] = g(n, c[h]); + } + c[r] = 1; + } + function g(t, e) { + var r, + n, + i = '', + a = ''; + 'string' == typeof t && + ((r = (i = t.match(/^[xy]*/)[0]).length), (t = +t.substr(r))), + 'string' == typeof e && + ((n = (a = e.match(/^[xy]*/)[0]).length), (e = +e.substr(n))); + var o = t * e; + return r || n + ? r && n && i.charAt(0) !== a.charAt(0) + ? r === n + ? o + : (r > n ? i.substr(n) : a.substr(r)) + o + : i + a + t * e + : o; + } + function m(t, e) { + for ( + var r = e._size, n = r.h / r.w, i = {}, a = Object.keys(t), o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = t[s]; + if ('string' == typeof l) { + var c = l.match(/^[xy]*/)[0], + u = c.length; + l = +l.substr(u); + for (var f = 'y' === c.charAt(0) ? n : 1 / n, h = 0; h < u; h++) + l *= f; + } + i[s] = l; + } + return i; + } + function v(t, e) { + var r = t._inputDomain, + n = u[t.constraintoward], + i = r[0] + (r[1] - r[0]) * n; + (t.domain = t._input.domain = + [i + (r[0] - i) / e, i + (r[1] - i) / e]), + t.setScale(); + } + (r.handleDefaults = function (t, e, r) { + var i, + o, + s, + c, + u, + h, + p, + d, + g = r.axIds, + m = r.axHasImage, + v = (e._axisConstraintGroups = []), + y = (e._axisMatchGroups = []); + for (i = 0; i < g.length; i++) + f((u = t[(c = a(g[i]))]), (h = e[c]), { + axIds: g, + layoutOut: e, + hasImage: m[c], + }); + function x(t, r) { + for (i = 0; i < t.length; i++) + for (s in (o = t[i])) e[a(s)][r] = o; + } + for (x(y, '_matchGroup'), i = 0; i < v.length; i++) + for (s in (o = v[i])) + if ((h = e[a(s)]).fixedrange) { + for (var b in o) { + var _ = a(b); + !1 === (t[_] || {}).fixedrange && + n.warn( + 'fixedrange was specified as false for axis ' + + _ + + ' but was overridden because another axis in its constraint group has fixedrange true' + ), + (e[_].fixedrange = !0); + } + break; + } + for (i = 0; i < v.length; ) { + for (s in (o = v[i])) { + (h = e[a(s)])._matchGroup && + Object.keys(h._matchGroup).length === Object.keys(o).length && + (v.splice(i, 1), i--); + break; + } + i++; + } + x(v, '_constraintGroup'); + var w = [ + 'constrain', + 'range', + 'autorange', + 'rangemode', + 'rangebreaks', + 'categoryorder', + 'categoryarray', + ], + T = !1, + k = !1; + function M() { + (d = h[p]), 'rangebreaks' === p && (k = h._hasDayOfWeekBreaks); + } + for (i = 0; i < y.length; i++) { + o = y[i]; + for (var A = 0; A < w.length; A++) { + var S; + for (s in ((p = w[A]), (d = null), o)) + if (((u = t[(c = a(s))]), (h = e[c]), p in h)) { + if (!h.matches && ((S = h), p in u)) { + M(); + break; + } + null === d && p in u && M(); + } + if ( + ('range' === p && d && (T = !0), + 'autorange' === p && null === d && T && (d = !1), + null === d && p in S && (d = S[p]), + null !== d) + ) + for (s in o) + ((h = e[a(s)])[p] = 'range' === p ? d.slice() : d), + 'rangebreaks' === p && + ((h._hasDayOfWeekBreaks = k), l(h, e)); + } + } + }), + (r.enforce = function (t) { + var e, + r, + n, + o, + l, + u, + f, + h, + p = t._fullLayout, + d = p._axisConstraintGroups || []; + for (e = 0; e < d.length; e++) { + n = m(d[e], p); + var g = Object.keys(n), + y = 1 / 0, + x = 0, + b = 1 / 0, + _ = {}, + w = {}, + T = !1; + for (r = 0; r < g.length; r++) + (w[(o = g[r])] = l = p[a(o)]), + l._inputDomain + ? (l.domain = l._inputDomain.slice()) + : (l._inputDomain = l.domain.slice()), + l._inputRange || (l._inputRange = l.range.slice()), + l.setScale(), + (_[o] = u = Math.abs(l._m) / n[o]), + (y = Math.min(y, u)), + ('domain' !== l.constrain && l._constraintShrinkable) || + (b = Math.min(b, u)), + delete l._constraintShrinkable, + (x = Math.max(x, u)), + 'domain' === l.constrain && (T = !0); + if (!(y > c * x) || T) + for (r = 0; r < g.length; r++) + if ( + ((u = _[(o = g[r])]), + (f = (l = w[o]).constrain), + u !== b || 'domain' === f) + ) + if (((h = u / b), 'range' === f)) s(l, h); + else { + var k = l._inputDomain, + M = (l.domain[1] - l.domain[0]) / (k[1] - k[0]), + A = + (l.r2l(l.range[1]) - l.r2l(l.range[0])) / + (l.r2l(l._inputRange[1]) - l.r2l(l._inputRange[0])); + if ((h /= M) * A < 1) { + (l.domain = l._input.domain = k.slice()), s(l, h); + continue; + } + if ( + (A < 1 && + ((l.range = l._input.range = l._inputRange.slice()), + (h *= A)), + l.autorange) + ) { + var S = l.r2l(l.range[0]), + E = l.r2l(l.range[1]), + C = (S + E) / 2, + L = C, + I = C, + P = Math.abs(E - C), + z = C - P * h * 1.0001, + O = C + P * h * 1.0001, + D = i.makePadFn(p, l, 0), + R = i.makePadFn(p, l, 1); + v(l, h); + var F, + B, + N = Math.abs(l._m), + j = i.concatExtremes(t, l), + U = j.min, + V = j.max; + for (B = 0; B < U.length; B++) + (F = U[B].val - D(U[B]) / N) > z && + F < L && + (L = F); + for (B = 0; B < V.length; B++) + (F = V[B].val + R(V[B]) / N) < O && + F > I && + (I = F); + (h /= (I - L) / (2 * P)), + (L = l.l2r(L)), + (I = l.l2r(I)), + (l.range = l._input.range = + S < E ? [L, I] : [I, L]); + } + v(l, h); + } + } + }), + (r.getAxisGroup = function (t, e) { + for (var r = t._axisMatchGroups, n = 0; n < r.length; n++) { + if (r[n][e]) return 'g' + n; + } + return e; + }), + (r.clean = function (t, e) { + if (e._inputDomain) { + for ( + var r = !1, + n = e._id, + i = t._fullLayout._axisConstraintGroups, + a = 0; + a < i.length; + a++ + ) + if (i[a][n]) { + r = !0; + break; + } + (r && 'domain' === e.constrain) || + ((e._input.domain = e.domain = e._inputDomain), + delete e._inputDomain); + } + }); + }, + { + '../../constants/alignment': 745, + '../../constants/numerical': 753, + '../../lib': 778, + './autorange': 827, + './axis_ids': 831, + './layout_attributes': 842, + './scale_zoom': 846, + './set_convert': 848, + }, + ], + 836: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('has-passive-events'), + o = t('../../registry'), + s = t('../../lib'), + l = s.strTranslate, + c = t('../../lib/svg_text_utils'), + u = t('../../components/color'), + f = t('../../components/drawing'), + h = t('../../components/fx'), + p = t('./axes'), + d = t('../../lib/setcursor'), + g = t('../../components/dragelement'), + m = t('../../components/dragelement/helpers'), + v = m.selectingOrDrawing, + y = m.freeMode, + x = t('../../constants/alignment').FROM_TL, + b = t('../../lib/clear_gl_canvases'), + _ = t('../../plot_api/subroutines').redrawReglTraces, + w = t('../plots'), + T = t('./axis_ids').getFromId, + k = t('./select').prepSelect, + M = t('./select').clearSelect, + A = t('./select').selectOnClick, + S = t('./scale_zoom'), + E = t('./constants'), + C = E.MINDRAG, + L = E.MINZOOM, + I = !0; + function P(t, e, r, n) { + var i = s.ensureSingle(t.draglayer, e, r, function (e) { + e.classed('drag', !0) + .style({ fill: 'transparent', 'stroke-width': 0 }) + .attr('data-subplot', t.id); + }); + return i.call(d, n), i.node(); + } + function z(t, e, r, i, a, o, s) { + var l = P(t, 'rect', e, r); + return n.select(l).call(f.setRect, i, a, o, s), l; + } + function O(t, e) { + for (var r = 0; r < t.length; r++) if (!t[r].fixedrange) return e; + return ''; + } + function D(t, e, r, n, i) { + for (var a = 0; a < t.length; a++) { + var o = t[a]; + if (!o.fixedrange) + if (o.rangebreaks) { + var s = 'y' === o._id.charAt(0), + l = s ? 1 - e : e, + c = s ? 1 - r : r; + (n[o._name + '.range[0]'] = o.l2r(o.p2l(l * o._length))), + (n[o._name + '.range[1]'] = o.l2r(o.p2l(c * o._length))); + } else { + var u = o._rl[0], + f = o._rl[1] - u; + (n[o._name + '.range[0]'] = o.l2r(u + f * e)), + (n[o._name + '.range[1]'] = o.l2r(u + f * r)); + } + } + if (i && i.length) { + var h = (e + (1 - r)) / 2; + D(i, h, 1 - h, n, []); + } + } + function R(t, e) { + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (!n.fixedrange) + if (n.rangebreaks) { + var i = n._length, + a = + (n.p2l(0 + e) - n.p2l(0) + (n.p2l(i + e) - n.p2l(i))) / 2; + n.range = [n.l2r(n._rl[0] - a), n.l2r(n._rl[1] - a)]; + } else + n.range = [ + n.l2r(n._rl[0] - e / n._m), + n.l2r(n._rl[1] - e / n._m), + ]; + } + } + function F(t) { + return ( + 1 - + (t >= 0 ? Math.min(t, 0.9) : 1 / (1 / Math.max(t, -0.3) + 3.222)) + ); + } + function B(t, e, r, n, i) { + return t + .append('path') + .attr('class', 'zoombox') + .style({ + fill: e > 0.2 ? 'rgba(0,0,0,0)' : 'rgba(255,255,255,0)', + 'stroke-width': 0, + }) + .attr('transform', l(r, n)) + .attr('d', i + 'Z'); + } + function N(t, e, r) { + return t + .append('path') + .attr('class', 'zoombox-corners') + .style({ + fill: u.background, + stroke: u.defaultLine, + 'stroke-width': 1, + opacity: 0, + }) + .attr('transform', l(e, r)) + .attr('d', 'M0,0Z'); + } + function j(t, e, r, n, i, a) { + t.attr( + 'd', + n + + 'M' + + r.l + + ',' + + r.t + + 'v' + + r.h + + 'h' + + r.w + + 'v-' + + r.h + + 'h-' + + r.w + + 'Z' + ), + U(t, e, i, a); + } + function U(t, e, r, n) { + r || + (t + .transition() + .style( + 'fill', + n > 0.2 ? 'rgba(0,0,0,0.4)' : 'rgba(255,255,255,0.3)' + ) + .duration(200), + e.transition().style('opacity', 1).duration(200)); + } + function V(t) { + n.select(t) + .selectAll( + '.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners' + ) + .remove(); + } + function q(t) { + I && + t.data && + t._context.showTips && + (s.notifier(s._(t, 'Double-click to zoom back out'), 'long'), + (I = !1)); + } + function H(t) { + var e = Math.floor(Math.min(t.b - t.t, t.r - t.l, L) / 2); + return ( + 'M' + + (t.l - 3.5) + + ',' + + (t.t - 0.5 + e) + + 'h3v' + + -e + + 'h' + + e + + 'v-3h-' + + (e + 3) + + 'ZM' + + (t.r + 3.5) + + ',' + + (t.t - 0.5 + e) + + 'h-3v' + + -e + + 'h' + + -e + + 'v-3h' + + (e + 3) + + 'ZM' + + (t.r + 3.5) + + ',' + + (t.b + 0.5 - e) + + 'h-3v' + + e + + 'h' + + -e + + 'v3h' + + (e + 3) + + 'ZM' + + (t.l - 3.5) + + ',' + + (t.b + 0.5 - e) + + 'h3v' + + e + + 'h' + + e + + 'v3h-' + + (e + 3) + + 'Z' + ); + } + function G(t, e, r, n, i) { + for ( + var a, + o, + l, + c, + u = !1, + f = {}, + h = {}, + p = (i || {}).xaHash, + d = (i || {}).yaHash, + g = 0; + g < e.length; + g++ + ) { + var m = e[g]; + for (a in r) + if (m[a]) { + for (l in m) + (i && (p[l] || d[l])) || + ('x' === l.charAt(0) ? r : n)[l] || + (f[l] = a); + for (o in n) (i && (p[o] || d[o])) || !m[o] || (u = !0); + } + for (o in n) + if (m[o]) + for (c in m) + (i && (p[c] || d[c])) || + ('x' === c.charAt(0) ? r : n)[c] || + (h[c] = o); + } + u && (s.extendFlat(f, h), (h = {})); + var v = {}, + y = []; + for (l in f) { + var x = T(t, l); + y.push(x), (v[x._id] = x); + } + var b = {}, + _ = []; + for (c in h) { + var w = T(t, c); + _.push(w), (b[w._id] = w); + } + return { + xaHash: v, + yaHash: b, + xaxes: y, + yaxes: _, + xLinks: f, + yLinks: h, + isSubplotConstrained: u, + }; + } + function Y(t, e) { + if (a) { + var r = void 0 !== t.onwheel ? 'wheel' : 'mousewheel'; + t._onwheel && t.removeEventListener(r, t._onwheel), + (t._onwheel = e), + t.addEventListener(r, e, { passive: !1 }); + } else + void 0 !== t.onwheel + ? (t.onwheel = e) + : void 0 !== t.onmousewheel + ? (t.onmousewheel = e) + : t.isAddedWheelEvent || + ((t.isAddedWheelEvent = !0), + t.addEventListener('wheel', e, { passive: !1 })); + } + function W(t) { + var e = []; + for (var r in t) e.push(t[r]); + return e; + } + e.exports = { + makeDragBox: function (t, e, r, a, l, u, d, m) { + var I, + P, + U, + X, + Z, + J, + K, + Q, + $, + tt, + et, + rt, + nt, + it, + at, + ot, + st, + lt, + ct, + ut, + ft, + ht, + pt, + dt = t._fullLayout._zoomlayer, + gt = d + m === 'nsew', + mt = 1 === (d + m).length; + function vt() { + if ( + ((I = e.xaxis), + (P = e.yaxis), + ($ = I._length), + (tt = P._length), + (K = I._offset), + (Q = P._offset), + ((U = {})[I._id] = I), + ((X = {})[P._id] = P), + d && m) + ) + for (var r = e.overlays, n = 0; n < r.length; n++) { + var i = r[n].xaxis; + U[i._id] = i; + var a = r[n].yaxis; + X[a._id] = a; + } + (Z = W(U)), + (J = W(X)), + (nt = O(Z, m)), + (it = O(J, d)), + (at = !it && !nt), + (rt = G(t, t._fullLayout._axisMatchGroups, U, X)); + var o = + (et = G(t, t._fullLayout._axisConstraintGroups, U, X, rt)) + .isSubplotConstrained || rt.isSubplotConstrained; + (ot = m || o), (st = d || o); + var s = t._fullLayout; + (lt = s._has('scattergl')), + (ct = s._has('splom')), + (ut = s._has('svg')); + } + vt(); + var yt = (function (t, e, r) { + if (!t) return 'pointer'; + if ('nsew' === t) + return r ? '' : 'pan' === e ? 'move' : 'crosshair'; + return t.toLowerCase() + '-resize'; + })(it + nt, t._fullLayout.dragmode, gt), + xt = z(e, d + m + 'drag', yt, r, a, l, u); + if (at && !gt) + return ( + (xt.onmousedown = null), (xt.style.pointerEvents = 'none'), xt + ); + var bt, + _t, + wt, + Tt, + kt, + Mt, + At, + St, + Et, + Ct, + Lt = { element: xt, gd: t, plotinfo: e }; + function It() { + (Lt.plotinfo.selection = !1), M(t); + } + function Pt(t, r) { + var i = Lt.gd; + if (i._fullLayout._activeShapeIndex >= 0) + i._fullLayout._deactivateShape(i); + else { + var a = i._fullLayout.clickmode; + if ((V(i), 2 !== t || mt || qt(), gt)) + a.indexOf('select') > -1 && A(r, i, Z, J, e.id, Lt), + a.indexOf('event') > -1 && h.click(i, r, e.id); + else if (1 === t && mt) { + var s = d ? P : I, + l = 's' === d || 'w' === m ? 0 : 1, + u = s._name + '.range[' + l + ']', + f = (function (t, e) { + var r, + i = t.range[e], + a = Math.abs(i - t.range[1 - e]); + return 'date' === t.type + ? i + : 'log' === t.type + ? ((r = + Math.ceil(Math.max(0, -Math.log(a) / Math.LN10)) + + 3), + n.format('.' + r + 'g')(Math.pow(10, i))) + : ((r = + Math.floor(Math.log(Math.abs(i)) / Math.LN10) - + Math.floor(Math.log(a) / Math.LN10) + + 4), + n.format('.' + String(r) + 'g')(i)); + })(s, l), + p = 'left', + g = 'middle'; + if (s.fixedrange) return; + d + ? ((g = 'n' === d ? 'top' : 'bottom'), + 'right' === s.side && (p = 'right')) + : 'e' === m && (p = 'right'), + i._context.showAxisRangeEntryBoxes && + n + .select(xt) + .call(c.makeEditable, { + gd: i, + immediate: !0, + background: i._fullLayout.paper_bgcolor, + text: String(f), + fill: s.tickfont ? s.tickfont.color : '#444', + horizontalAlign: p, + verticalAlign: g, + }) + .on('edit', function (t) { + var e = s.d2r(t); + void 0 !== e && o.call('_guiRelayout', i, u, e); + }); + } + } + } + function zt(e, r) { + if (t._transitioningWithDuration) return !1; + var n = Math.max(0, Math.min($, ht * e + bt)), + i = Math.max(0, Math.min(tt, pt * r + _t)), + a = Math.abs(n - bt), + o = Math.abs(i - _t); + function s() { + (At = ''), + (wt.r = wt.l), + (wt.t = wt.b), + Et.attr('d', 'M0,0Z'); + } + if ( + ((wt.l = Math.min(bt, n)), + (wt.r = Math.max(bt, n)), + (wt.t = Math.min(_t, i)), + (wt.b = Math.max(_t, i)), + et.isSubplotConstrained) + ) + a > L || o > L + ? ((At = 'xy'), + a / $ > o / tt + ? ((o = (a * tt) / $), + _t > i ? (wt.t = _t - o) : (wt.b = _t + o)) + : ((a = (o * $) / tt), + bt > n ? (wt.l = bt - a) : (wt.r = bt + a)), + Et.attr('d', H(wt))) + : s(); + else if (rt.isSubplotConstrained) + if (a > L || o > L) { + At = 'xy'; + var l = Math.min(wt.l / $, (tt - wt.b) / tt), + c = Math.max(wt.r / $, (tt - wt.t) / tt); + (wt.l = l * $), + (wt.r = c * $), + (wt.b = (1 - l) * tt), + (wt.t = (1 - c) * tt), + Et.attr('d', H(wt)); + } else s(); + else + !it || o < Math.min(Math.max(0.6 * a, C), L) + ? a < C || !nt + ? s() + : ((wt.t = 0), + (wt.b = tt), + (At = 'x'), + Et.attr( + 'd', + (function (t, e) { + return ( + 'M' + + (t.l - 0.5) + + ',' + + (e - L - 0.5) + + 'h-3v' + + (2 * L + 1) + + 'h3ZM' + + (t.r + 0.5) + + ',' + + (e - L - 0.5) + + 'h3v' + + (2 * L + 1) + + 'h-3Z' + ); + })(wt, _t) + )) + : !nt || a < Math.min(0.6 * o, L) + ? ((wt.l = 0), + (wt.r = $), + (At = 'y'), + Et.attr( + 'd', + (function (t, e) { + return ( + 'M' + + (e - L - 0.5) + + ',' + + (t.t - 0.5) + + 'v-3h' + + (2 * L + 1) + + 'v3ZM' + + (e - L - 0.5) + + ',' + + (t.b + 0.5) + + 'v3h' + + (2 * L + 1) + + 'v-3Z' + ); + })(wt, bt) + )) + : ((At = 'xy'), Et.attr('d', H(wt))); + (wt.w = wt.r - wt.l), + (wt.h = wt.b - wt.t), + At && (Ct = !0), + (t._dragged = Ct), + j(St, Et, wt, kt, Mt, Tt), + Ot(), + t.emit('plotly_relayouting', ft), + (Mt = !0); + } + function Ot() { + (ft = {}), + ('xy' !== At && 'x' !== At) || + (D(Z, wt.l / $, wt.r / $, ft, et.xaxes), Ut('x', ft)), + ('xy' !== At && 'y' !== At) || + (D(J, (tt - wt.b) / tt, (tt - wt.t) / tt, ft, et.yaxes), + Ut('y', ft)); + } + function Dt() { + Ot(), V(t), Ht(), q(t); + } + (Lt.prepFn = function (e, r, n) { + var a = Lt.dragmode, + o = t._fullLayout.dragmode; + o !== a && (Lt.dragmode = o), + vt(), + (ht = t._fullLayout._invScaleX), + (pt = t._fullLayout._invScaleY), + at || + (gt + ? e.shiftKey + ? 'pan' === o + ? (o = 'zoom') + : v(o) || (o = 'pan') + : e.ctrlKey && (o = 'pan') + : (o = 'pan')), + y(o) ? (Lt.minDrag = 1) : (Lt.minDrag = void 0), + v(o) + ? ((Lt.xaxes = Z), (Lt.yaxes = J), k(e, r, n, Lt, o)) + : ((Lt.clickFn = Pt), + v(a) && It(), + at || + ('zoom' === o + ? ((Lt.moveFn = zt), + (Lt.doneFn = Dt), + (Lt.minDrag = 1), + (function (e, r, n) { + var a = xt.getBoundingClientRect(); + (bt = r - a.left), + (_t = n - a.top), + t._fullLayout._calcInverseTransform(t); + var o = s.apply3DTransform( + t._fullLayout._invTransform + )(bt, _t); + (bt = o[0]), + (_t = o[1]), + (wt = { + l: bt, + r: bt, + w: 0, + t: _t, + b: _t, + h: 0, + }), + (Tt = t._hmpixcount + ? t._hmlumcount / t._hmpixcount + : i( + t._fullLayout.plot_bgcolor + ).getLuminance()), + (Mt = !1), + (At = 'xy'), + (Ct = !1), + (St = B( + dt, + Tt, + K, + Q, + (kt = 'M0,0H' + $ + 'V' + tt + 'H0V0') + )), + (Et = N(dt, K, Q)); + })(0, r, n)) + : 'pan' === o && + ((Lt.moveFn = jt), (Lt.doneFn = Ht)))), + (t._fullLayout._redrag = function () { + var e = t._dragdata; + if (e && e.element === xt) { + var r = t._fullLayout.dragmode; + v(r) || (vt(), Gt([0, 0, $, tt]), Lt.moveFn(e.dx, e.dy)); + } + }); + }), + g.init(Lt); + var Rt = [0, 0, $, tt], + Ft = null, + Bt = E.REDRAWDELAY, + Nt = e.mainplot ? t._fullLayout._plots[e.mainplot] : e; + function jt(e, r) { + if (((e *= ht), (r *= pt), !t._transitioningWithDuration)) { + if ( + ((t._fullLayout._replotting = !0), + 'ew' === nt || 'ns' === it) + ) { + var n = nt ? -e : 0, + i = it ? -r : 0; + if (rt.isSubplotConstrained) { + if (nt && it) { + var a = (e / $ - r / tt) / 2; + (n = -(e = a * $)), (i = -(r = -a * tt)); + } + it ? (n = (-i * $) / tt) : (i = (-n * tt) / $); + } + return ( + nt && (R(Z, e), Ut('x')), + it && (R(J, r), Ut('y')), + Gt([n, i, $, tt]), + Vt(), + void t.emit('plotly_relayouting', ft) + ); + } + var o, + s, + l = ('w' === nt) == ('n' === it) ? 1 : -1; + if ( + nt && + it && + (et.isSubplotConstrained || rt.isSubplotConstrained) + ) { + var c = (e / $ + (l * r) / tt) / 2; + (e = c * $), (r = l * c * tt); + } + if ( + ('w' === nt + ? (e = p(Z, 0, e)) + : 'e' === nt + ? (e = p(Z, 1, -e)) + : nt || (e = 0), + 'n' === it + ? (r = p(J, 1, r)) + : 's' === it + ? (r = p(J, 0, -r)) + : it || (r = 0), + (o = 'w' === nt ? e : 0), + (s = 'n' === it ? r : 0), + (et.isSubplotConstrained && !rt.isSubplotConstrained) || + (rt.isSubplotConstrained && nt && it && l > 0)) + ) { + var u; + if (rt.isSubplotConstrained || (!nt && 1 === it.length)) { + for (u = 0; u < Z.length; u++) + (Z[u].range = Z[u]._r.slice()), S(Z[u], 1 - r / tt); + o = (e = (r * $) / tt) / 2; + } + if (rt.isSubplotConstrained || (!it && 1 === nt.length)) { + for (u = 0; u < J.length; u++) + (J[u].range = J[u]._r.slice()), S(J[u], 1 - e / $); + s = (r = (e * tt) / $) / 2; + } + } + (rt.isSubplotConstrained && it) || Ut('x'), + (rt.isSubplotConstrained && nt) || Ut('y'); + var f = $ - e, + h = tt - r; + !rt.isSubplotConstrained || + (nt && it) || + (nt + ? ((s = o ? 0 : (e * tt) / $), (h = (f * tt) / $)) + : ((o = s ? 0 : (r * $) / tt), (f = (h * $) / tt))), + Gt([o, s, f, h]), + Vt(), + t.emit('plotly_relayouting', ft); + } + function p(t, e, r) { + for (var n, i, a = 1 - e, o = 0; o < t.length; o++) { + var s = t[o]; + if (!s.fixedrange) { + (n = s), + (i = + s._rl[a] + (s._rl[e] - s._rl[a]) / F(r / s._length)); + var l = s.l2r(i); + !1 !== l && void 0 !== l && (s.range[e] = l); + } + } + return (n._length * (n._rl[e] - i)) / (n._rl[e] - n._rl[a]); + } + } + function Ut(t, e) { + for ( + var r = rt.isSubplotConstrained + ? { x: J, y: Z }[t] + : rt[t + 'axes'], + n = rt.isSubplotConstrained ? { x: Z, y: J }[t] : [], + i = 0; + i < r.length; + i++ + ) { + var a = r[i], + o = a._id, + s = rt.xLinks[o] || rt.yLinks[o], + l = n[0] || U[s] || X[s]; + l && + (e + ? ((e[a._name + '.range[0]'] = e[l._name + '.range[0]']), + (e[a._name + '.range[1]'] = e[l._name + '.range[1]'])) + : (a.range = l.range.slice())); + } + } + function Vt() { + var e, + r = []; + function n(t) { + for (e = 0; e < t.length; e++) + t[e].fixedrange || r.push(t[e]._id); + } + for ( + ot && (n(Z), n(et.xaxes), n(rt.xaxes)), + st && (n(J), n(et.yaxes), n(rt.yaxes)), + ft = {}, + e = 0; + e < r.length; + e++ + ) { + var i = r[e], + a = T(t, i); + p.drawOne(t, a, { skipTitle: !0 }), + (ft[a._name + '.range[0]'] = a.range[0]), + (ft[a._name + '.range[1]'] = a.range[1]); + } + p.redrawComponents(t, r); + } + function qt() { + if (!t._transitioningWithDuration) { + var e = t._context.doubleClick, + r = []; + nt && (r = r.concat(Z)), + it && (r = r.concat(J)), + rt.xaxes && (r = r.concat(rt.xaxes)), + rt.yaxes && (r = r.concat(rt.yaxes)); + var n, + i, + a, + s = {}; + if ('reset+autosize' === e) + for (e = 'autosize', i = 0; i < r.length; i++) + if ( + ((n = r[i])._rangeInitial && + (n.range[0] !== n._rangeInitial[0] || + n.range[1] !== n._rangeInitial[1])) || + (!n._rangeInitial && !n.autorange) + ) { + e = 'reset'; + break; + } + if ('autosize' === e) + for (i = 0; i < r.length; i++) + (n = r[i]).fixedrange || (s[n._name + '.autorange'] = !0); + else if ('reset' === e) + for ( + (nt || et.isSubplotConstrained) && + (r = r.concat(et.xaxes)), + it && + !et.isSubplotConstrained && + (r = r.concat(et.yaxes)), + et.isSubplotConstrained && + (nt ? it || (r = r.concat(J)) : (r = r.concat(Z))), + i = 0; + i < r.length; + i++ + ) + (n = r[i]).fixedrange || + (n._rangeInitial + ? ((a = n._rangeInitial), + (s[n._name + '.range[0]'] = a[0]), + (s[n._name + '.range[1]'] = a[1])) + : (s[n._name + '.autorange'] = !0)); + t.emit('plotly_doubleclick', null), + o.call('_guiRelayout', t, s); + } + } + function Ht() { + Gt([0, 0, $, tt]), + s.syncOrAsync( + [ + w.previousPromises, + function () { + (t._fullLayout._replotting = !1), + o.call('_guiRelayout', t, ft); + }, + ], + t + ); + } + function Gt(e) { + var r, + n, + i, + a, + l = t._fullLayout, + c = l._plots, + u = l._subplots.cartesian; + if ((ct && o.subplotsRegistry.splom.drag(t), lt)) + for (r = 0; r < u.length; r++) + if (((i = (n = c[u[r]]).xaxis), (a = n.yaxis), n._scene)) { + var h = s.simpleMap(i.range, i.r2l), + p = s.simpleMap(a.range, a.r2l); + n._scene.update({ range: [h[0], p[0], h[1], p[1]] }); + } + if (((ct || lt) && (b(t), _(t)), ut)) { + var g = e[2] / I._length, + v = e[3] / P._length; + for (r = 0; r < u.length; r++) { + (i = (n = c[u[r]]).xaxis), (a = n.yaxis); + var y, + x, + w, + T, + k = + (ot || rt.isSubplotConstrained) && + !i.fixedrange && + U[i._id], + M = + (st || rt.isSubplotConstrained) && + !a.fixedrange && + X[a._id]; + if ( + (k + ? ((y = g), + (w = m || rt.isSubplotConstrained ? e[0] : Xt(i, y))) + : rt.xaHash[i._id] + ? ((y = g), (w = (e[0] * i._length) / I._length)) + : rt.yaHash[i._id] + ? ((y = v), + (w = + 'ns' === it + ? (-e[1] * i._length) / P._length + : Xt(i, y, { n: 'top', s: 'bottom' }[it]))) + : (w = Wt(i, (y = Yt(i, g, v)))), + M + ? ((x = v), + (T = d || rt.isSubplotConstrained ? e[1] : Xt(a, x))) + : rt.yaHash[a._id] + ? ((x = v), (T = (e[1] * a._length) / P._length)) + : rt.xaHash[a._id] + ? ((x = g), + (T = + 'ew' === nt + ? (-e[0] * a._length) / I._length + : Xt(a, x, { e: 'right', w: 'left' }[nt]))) + : (T = Wt(a, (x = Yt(a, g, v)))), + y || x) + ) { + y || (y = 1), x || (x = 1); + var A = i._offset - w / y, + S = a._offset - T / x; + n.clipRect + .call(f.setTranslate, w, T) + .call(f.setScale, y, x), + n.plot + .call(f.setTranslate, A, S) + .call(f.setScale, 1 / y, 1 / x), + (y === n.xScaleFactor && x === n.yScaleFactor) || + (f.setPointGroupScale(n.zoomScalePts, y, x), + f.setTextPointsScale(n.zoomScaleTxt, y, x)), + f.hideOutsideRangePoints(n.clipOnAxisFalseTraces, n), + (n.xScaleFactor = y), + (n.yScaleFactor = x); + } + } + } + } + function Yt(t, e, r) { + return t.fixedrange + ? 0 + : ot && et.xaHash[t._id] + ? e + : st && + (et.isSubplotConstrained ? et.xaHash : et.yaHash)[t._id] + ? r + : 0; + } + function Wt(t, e) { + return e ? ((t.range = t._r.slice()), S(t, e), Xt(t, e)) : 0; + } + function Xt(t, e, r) { + return ( + t._length * (1 - e) * x[r || t.constraintoward || 'middle'] + ); + } + return ( + d.length * m.length != 1 && + Y(xt, function (e) { + if ( + t._context._scrollZoom.cartesian || + t._fullLayout._enablescrollzoom + ) { + if ((It(), t._transitioningWithDuration)) + return e.preventDefault(), void e.stopPropagation(); + vt(), clearTimeout(Ft); + var r = -e.deltaY; + if ( + (isFinite(r) || (r = e.wheelDelta / 10), isFinite(r)) + ) { + var n, + i = Math.exp(-Math.min(Math.max(r, -20), 20) / 200), + a = Nt.draglayer + .select('.nsewdrag') + .node() + .getBoundingClientRect(), + o = (e.clientX - a.left) / a.width, + l = (a.bottom - e.clientY) / a.height; + if (ot) { + for (m || (o = 0.5), n = 0; n < Z.length; n++) + c(Z[n], o, i); + Ut('x'), + (Rt[2] *= i), + (Rt[0] += Rt[2] * o * (1 / i - 1)); + } + if (st) { + for (d || (l = 0.5), n = 0; n < J.length; n++) + c(J[n], l, i); + Ut('y'), + (Rt[3] *= i), + (Rt[1] += Rt[3] * (1 - l) * (1 / i - 1)); + } + Gt(Rt), + Vt(), + t.emit('plotly_relayouting', ft), + (Ft = setTimeout(function () { + (Rt = [0, 0, $, tt]), Ht(); + }, Bt)), + e.preventDefault(); + } else s.log('Did not find wheel motion attributes: ', e); + } + function c(t, e, r) { + if (!t.fixedrange) { + var n = s.simpleMap(t.range, t.r2l), + i = n[0] + (n[1] - n[0]) * e; + t.range = n.map(function (e) { + return t.l2r(i + (e - i) * r); + }); + } + } + }), + xt + ); + }, + makeDragger: P, + makeRectDragger: z, + makeZoombox: B, + makeCorners: N, + updateZoombox: j, + xyCorners: H, + transitionZoombox: U, + removeZoombox: V, + showDoubleClickNotifier: q, + attachWheelEventHandler: Y, + }; + }, + { + '../../components/color': 643, + '../../components/dragelement': 662, + '../../components/dragelement/helpers': 661, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/clear_gl_canvases': 762, + '../../lib/setcursor': 799, + '../../lib/svg_text_utils': 803, + '../../plot_api/subroutines': 818, + '../../registry': 911, + '../plots': 891, + './axes': 828, + './axis_ids': 831, + './constants': 834, + './scale_zoom': 846, + './select': 847, + d3: 169, + 'has-passive-events': 441, + tinycolor2: 576, + }, + ], + 837: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/fx'), + a = t('../../components/dragelement'), + o = t('../../lib/setcursor'), + s = t('./dragbox').makeDragBox, + l = t('./constants').DRAGGERSIZE; + (r.initInteractions = function (t) { + var e = t._fullLayout; + if (t._context.staticPlot) n.select(t).selectAll('.drag').remove(); + else if (e._has('cartesian') || e._has('splom')) { + Object.keys(e._plots || {}) + .sort(function (t, r) { + if ( + (e._plots[t].mainplot && !0) === + (e._plots[r].mainplot && !0) + ) { + var n = t.split('y'), + i = r.split('y'); + return n[0] === i[0] + ? Number(n[1] || 1) - Number(i[1] || 1) + : Number(n[0] || 1) - Number(i[0] || 1); + } + return e._plots[t].mainplot ? 1 : -1; + }) + .forEach(function (r) { + var n = e._plots[r], + o = n.xaxis, + c = n.yaxis; + if (!n.mainplot) { + var u = s( + t, + n, + o._offset, + c._offset, + o._length, + c._length, + 'ns', + 'ew' + ); + (u.onmousemove = function (e) { + (t._fullLayout._rehover = function () { + t._fullLayout._hoversubplot === r && + t._fullLayout._plots[r] && + i.hover(t, e, r); + }), + i.hover(t, e, r), + (t._fullLayout._lasthover = u), + (t._fullLayout._hoversubplot = r); + }), + (u.onmouseout = function (e) { + t._dragging || + ((t._fullLayout._hoversubplot = null), + a.unhover(t, e)); + }), + t._context.showAxisDragHandles && + (s(t, n, o._offset - l, c._offset - l, l, l, 'n', 'w'), + s( + t, + n, + o._offset + o._length, + c._offset - l, + l, + l, + 'n', + 'e' + ), + s( + t, + n, + o._offset - l, + c._offset + c._length, + l, + l, + 's', + 'w' + ), + s( + t, + n, + o._offset + o._length, + c._offset + c._length, + l, + l, + 's', + 'e' + )); + } + if (t._context.showAxisDragHandles) { + if (r === o._mainSubplot) { + var f = o._mainLinePosition; + 'top' === o.side && (f -= l), + s( + t, + n, + o._offset + 0.1 * o._length, + f, + 0.8 * o._length, + l, + '', + 'ew' + ), + s(t, n, o._offset, f, 0.1 * o._length, l, '', 'w'), + s( + t, + n, + o._offset + 0.9 * o._length, + f, + 0.1 * o._length, + l, + '', + 'e' + ); + } + if (r === c._mainSubplot) { + var h = c._mainLinePosition; + 'right' !== c.side && (h -= l), + s( + t, + n, + h, + c._offset + 0.1 * c._length, + l, + 0.8 * c._length, + 'ns', + '' + ), + s( + t, + n, + h, + c._offset + 0.9 * c._length, + l, + 0.1 * c._length, + 's', + '' + ), + s(t, n, h, c._offset, l, 0.1 * c._length, 'n', ''); + } + } + }); + var o = e._hoverlayer.node(); + (o.onmousemove = function (r) { + (r.target = t._fullLayout._lasthover), + i.hover(t, r, e._hoversubplot); + }), + (o.onclick = function (e) { + (e.target = t._fullLayout._lasthover), i.click(t, e); + }), + (o.onmousedown = function (e) { + t._fullLayout._lasthover.onmousedown(e); + }), + r.updateFx(t); + } + }), + (r.updateFx = function (t) { + var e = t._fullLayout, + r = 'pan' === e.dragmode ? 'move' : 'crosshair'; + o(e._draggers, r); + }); + }, + { + '../../components/dragelement': 662, + '../../components/fx': 683, + '../../lib/setcursor': 799, + './constants': 834, + './dragbox': 836, + d3: 169, + }, + ], + 838: [ + function (t, e, r) { + 'use strict'; + e.exports = { + clearOutlineControllers: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll('.outline-controllers').remove(); + }, + clearSelect: function (t) { + var e = t._fullLayout._zoomlayer; + e && e.selectAll('.select-outline').remove(), + (t._fullLayout._drawing = !1); + }, + }; + }, + {}, + ], + 839: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').strTranslate; + function i(t, e) { + switch (t.type) { + case 'log': + return t.p2d(e); + case 'date': + return t.p2r(e, 0, t.calendar); + default: + return t.p2r(e); + } + } + e.exports = { + p2r: i, + r2p: function (t, e) { + switch (t.type) { + case 'log': + return t.d2p(e); + case 'date': + return t.r2p(e, 0, t.calendar); + default: + return t.r2p(e); + } + }, + axValue: function (t) { + var e = 'y' === t._id.charAt(0) ? 1 : 0; + return function (r) { + return i(t, r[e]); + }; + }, + getTransform: function (t) { + return n(t.xaxis._offset, t.yaxis._offset); + }, + }; + }, + { '../../lib': 778 }, + ], + 840: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('./axis_ids'); + e.exports = function (t) { + return function (e, r) { + var o = e[t]; + if (Array.isArray(o)) + for ( + var s = n.subplotsRegistry.cartesian, + l = s.idRegex, + c = r._subplots, + u = c.xaxis, + f = c.yaxis, + h = c.cartesian, + p = r._has('cartesian') || r._has('gl2d'), + d = 0; + d < o.length; + d++ + ) { + var g = o[d]; + if (i.isPlainObject(g)) { + var m = a.cleanId(g.xref, 'x', !1), + v = a.cleanId(g.yref, 'y', !1), + y = l.x.test(m), + x = l.y.test(v); + if (y || x) { + p || i.pushUnique(r._basePlotModules, s); + var b = !1; + y && -1 === u.indexOf(m) && (u.push(m), (b = !0)), + x && -1 === f.indexOf(v) && (f.push(v), (b = !0)), + b && y && x && h.push(m + v); + } + } + } + }; + }; + }, + { '../../lib': 778, '../../registry': 911, './axis_ids': 831 }, + ], + 841: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../lib'), + o = t('../plots'), + s = t('../../components/drawing'), + l = t('../get_data').getModuleCalcData, + c = t('./axis_ids'), + u = t('./constants'), + f = t('../../constants/xmlns_namespaces'), + h = a.ensureSingle; + function p(t, e, r) { + return a.ensureSingle(t, e, r, function (t) { + t.datum(r); + }); + } + function d(t, e, r, a, o) { + for ( + var c, + f, + h, + p = u.traceLayerClasses, + d = t._fullLayout, + g = d._modules, + m = [], + v = [], + y = 0; + y < g.length; + y++ + ) { + var x = (c = g[y]).name, + b = i.modules[x].categories; + if (b.svg) { + var _ = c.layerName || x + 'layer', + w = c.plot; + (h = (f = l(r, w))[0]), + (r = f[1]), + h.length && + m.push({ + i: p.indexOf(_), + className: _, + plotMethod: w, + cdModule: h, + }), + b.zoomScale && v.push('.' + _); + } + } + m.sort(function (t, e) { + return t.i - e.i; + }); + var T = e.plot.selectAll('g.mlayer').data(m, function (t) { + return t.className; + }); + if ( + (T.enter() + .append('g') + .attr('class', function (t) { + return t.className; + }) + .classed('mlayer', !0) + .classed('rangeplot', e.isRangePlot), + T.exit().remove(), + T.order(), + T.each(function (r) { + var i = n.select(this), + l = r.className; + r.plotMethod(t, e, r.cdModule, i, a, o), + -1 === u.clipOnAxisFalseQuery.indexOf('.' + l) && + s.setClipUrl(i, e.layerClipId, t); + }), + d._has('scattergl') && + ((c = i.getModule('scattergl')), + (h = l(r, c)[0]), + c.plot(t, e, h)), + !t._context.staticPlot && + (e._hasClipOnAxisFalse && + (e.clipOnAxisFalseTraces = e.plot + .selectAll(u.clipOnAxisFalseQuery.join(',')) + .selectAll('.trace')), + v.length)) + ) { + var k = e.plot.selectAll(v.join(',')).selectAll('.trace'); + (e.zoomScalePts = k.selectAll('path.point')), + (e.zoomScaleTxt = k.selectAll('.textpoint')); + } + } + function g(t, e) { + var r = e.plotgroup, + n = e.id, + i = u.layerValue2layerClass[e.xaxis.layer], + a = u.layerValue2layerClass[e.yaxis.layer], + o = t._fullLayout._hasOnlyLargeSploms; + if (e.mainplot) { + var s = e.mainplotinfo, + l = s.plotgroup, + f = n + '-x', + d = n + '-y'; + (e.gridlayer = s.gridlayer), + (e.zerolinelayer = s.zerolinelayer), + h(s.overlinesBelow, 'path', f), + h(s.overlinesBelow, 'path', d), + h(s.overaxesBelow, 'g', f), + h(s.overaxesBelow, 'g', d), + (e.plot = h(s.overplot, 'g', n)), + h(s.overlinesAbove, 'path', f), + h(s.overlinesAbove, 'path', d), + h(s.overaxesAbove, 'g', f), + h(s.overaxesAbove, 'g', d), + (e.xlines = l.select('.overlines-' + i).select('.' + f)), + (e.ylines = l.select('.overlines-' + a).select('.' + d)), + (e.xaxislayer = l.select('.overaxes-' + i).select('.' + f)), + (e.yaxislayer = l.select('.overaxes-' + a).select('.' + d)); + } else if (o) + (e.xlines = h(r, 'path', 'xlines-above')), + (e.ylines = h(r, 'path', 'ylines-above')), + (e.xaxislayer = h(r, 'g', 'xaxislayer-above')), + (e.yaxislayer = h(r, 'g', 'yaxislayer-above')); + else { + var g = h(r, 'g', 'layer-subplot'); + (e.shapelayer = h(g, 'g', 'shapelayer')), + (e.imagelayer = h(g, 'g', 'imagelayer')), + (e.gridlayer = h(r, 'g', 'gridlayer')), + (e.zerolinelayer = h(r, 'g', 'zerolinelayer')), + h(r, 'path', 'xlines-below'), + h(r, 'path', 'ylines-below'), + (e.overlinesBelow = h(r, 'g', 'overlines-below')), + h(r, 'g', 'xaxislayer-below'), + h(r, 'g', 'yaxislayer-below'), + (e.overaxesBelow = h(r, 'g', 'overaxes-below')), + (e.plot = h(r, 'g', 'plot')), + (e.overplot = h(r, 'g', 'overplot')), + (e.xlines = h(r, 'path', 'xlines-above')), + (e.ylines = h(r, 'path', 'ylines-above')), + (e.overlinesAbove = h(r, 'g', 'overlines-above')), + h(r, 'g', 'xaxislayer-above'), + h(r, 'g', 'yaxislayer-above'), + (e.overaxesAbove = h(r, 'g', 'overaxes-above')), + (e.xlines = r.select('.xlines-' + i)), + (e.ylines = r.select('.ylines-' + a)), + (e.xaxislayer = r.select('.xaxislayer-' + i)), + (e.yaxislayer = r.select('.yaxislayer-' + a)); + } + o || + (p(e.gridlayer, 'g', e.xaxis._id), + p(e.gridlayer, 'g', e.yaxis._id), + e.gridlayer + .selectAll('g') + .map(function (t) { + return t[0]; + }) + .sort(c.idSort)), + e.xlines.style('fill', 'none').classed('crisp', !0), + e.ylines.style('fill', 'none').classed('crisp', !0); + } + function m(t, e) { + if (t) { + var r = {}; + for (var i in (t.each(function (t) { + var i = t[0]; + n.select(this).remove(), v(i, e), (r[i] = !0); + }), + e._plots)) + for ( + var a = e._plots[i].overlays || [], o = 0; + o < a.length; + o++ + ) { + var s = a[o]; + r[s.id] && s.plot.selectAll('.trace').remove(); + } + } + } + function v(t, e) { + e._draggers.selectAll('g.' + t).remove(), + e._defs.select('#clip' + e._uid + t + 'plot').remove(); + } + (r.name = 'cartesian'), + (r.attr = ['xaxis', 'yaxis']), + (r.idRoot = ['x', 'y']), + (r.idRegex = u.idRegex), + (r.attrRegex = u.attrRegex), + (r.attributes = t('./attributes')), + (r.layoutAttributes = t('./layout_attributes')), + (r.supplyLayoutDefaults = t('./layout_defaults')), + (r.transitionAxes = t('./transition_axes')), + (r.finalizeSubplots = function (t, e) { + var r, + n, + i, + o = e._subplots, + s = o.xaxis, + l = o.yaxis, + f = o.cartesian, + h = f.concat(o.gl2d || []), + p = {}, + d = {}; + for (r = 0; r < h.length; r++) { + var g = h[r].split('y'); + (p[g[0]] = 1), (d['y' + g[1]] = 1); + } + for (r = 0; r < s.length; r++) + p[(n = s[r])] || + ((i = (t[c.id2name(n)] || {}).anchor), + u.idRegex.y.test(i) || (i = 'y'), + f.push(n + i), + h.push(n + i), + d[i] || ((d[i] = 1), a.pushUnique(l, i))); + for (r = 0; r < l.length; r++) + d[(i = l[r])] || + ((n = (t[c.id2name(i)] || {}).anchor), + u.idRegex.x.test(n) || (n = 'x'), + f.push(n + i), + h.push(n + i), + p[n] || ((p[n] = 1), a.pushUnique(s, n))); + if (!h.length) { + for (var m in ((n = ''), (i = ''), t)) { + if (u.attrRegex.test(m)) + 'x' === m.charAt(0) + ? (!n || +m.substr(5) < +n.substr(5)) && (n = m) + : (!i || +m.substr(5) < +i.substr(5)) && (i = m); + } + (n = n ? c.name2id(n) : 'x'), + (i = i ? c.name2id(i) : 'y'), + s.push(n), + l.push(i), + f.push(n + i); + } + }), + (r.plot = function (t, e, r, n) { + var i, + a = t._fullLayout, + o = a._subplots.cartesian, + s = t.calcdata; + if (!Array.isArray(e)) + for (e = [], i = 0; i < s.length; i++) e.push(i); + for (i = 0; i < o.length; i++) { + for ( + var l, c = o[i], u = a._plots[c], f = [], h = 0; + h < s.length; + h++ + ) { + var p = s[h], + g = p[0].trace; + g.xaxis + g.yaxis === c && + ((-1 !== e.indexOf(g.index) || g.carpet) && + (l && + l[0].trace.xaxis + l[0].trace.yaxis === c && + -1 !== + ['tonextx', 'tonexty', 'tonext'].indexOf(g.fill) && + -1 === f.indexOf(l) && + f.push(l), + f.push(p)), + (l = p)); + } + d(t, u, f, r, n); + } + }), + (r.clean = function (t, e, r, n) { + var i, + a, + o, + s = n._plots || {}, + l = e._plots || {}, + u = n._subplots || {}; + if (n._hasOnlyLargeSploms && !e._hasOnlyLargeSploms) + for (o in s) (i = s[o]).plotgroup && i.plotgroup.remove(); + var f = n._has && n._has('gl'), + h = e._has && e._has('gl'); + if (f && !h) for (o in s) (i = s[o])._scene && i._scene.destroy(); + if (u.xaxis && u.yaxis) { + var p = c.listIds({ _fullLayout: n }); + for (a = 0; a < p.length; a++) { + var d = p[a]; + e[c.id2name(d)] || + n._infolayer.selectAll('.g-' + d + 'title').remove(); + } + } + var g = n._has && n._has('cartesian'), + y = e._has && e._has('cartesian'); + if (g && !y) + m(n._cartesianlayer.selectAll('.subplot'), n), + n._defs.selectAll('.axesclip').remove(), + delete n._axisConstraintGroups, + delete n._axisMatchGroups; + else if (u.cartesian) + for (a = 0; a < u.cartesian.length; a++) { + var x = u.cartesian[a]; + if (!l[x]) { + var b = '.' + x + ',.' + x + '-x,.' + x + '-y'; + n._cartesianlayer.selectAll(b).remove(), v(x, n); + } + } + }), + (r.drawFramework = function (t) { + var e = t._fullLayout, + r = (function (t) { + var e, + r, + n, + i, + a, + o, + s = t._fullLayout, + l = s._subplots.cartesian, + c = l.length, + u = [], + f = []; + for (e = 0; e < c; e++) { + (n = l[e]), (i = s._plots[n]), (a = i.xaxis), (o = i.yaxis); + var h = a._mainAxis, + p = o._mainAxis, + d = h._id + p._id, + g = s._plots[d]; + (i.overlays = []), + d !== n && g + ? ((i.mainplot = d), (i.mainplotinfo = g), f.push(n)) + : ((i.mainplot = void 0), + (i.mainplotinfo = void 0), + u.push(n)); + } + for (e = 0; e < f.length; e++) + (n = f[e]), (i = s._plots[n]).mainplotinfo.overlays.push(i); + var m = u.concat(f), + v = new Array(c); + for (e = 0; e < c; e++) { + (n = m[e]), (i = s._plots[n]), (a = i.xaxis), (o = i.yaxis); + var y = [ + n, + a.layer, + o.layer, + a.overlaying || '', + o.overlaying || '', + ]; + for (r = 0; r < i.overlays.length; r++) + y.push(i.overlays[r].id); + v[e] = y; + } + return v; + })(t), + i = e._cartesianlayer.selectAll('.subplot').data(r, String); + i + .enter() + .append('g') + .attr('class', function (t) { + return 'subplot ' + t[0]; + }), + i.order(), + i.exit().call(m, e), + i.each(function (r) { + var i = r[0], + a = e._plots[i]; + (a.plotgroup = n.select(this)), + g(t, a), + (a.draglayer = h(e._draggers, 'g', i)); + }); + }), + (r.rangePlot = function (t, e, r) { + g(t, e), d(t, e, r), o.style(t); + }), + (r.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll('.svg-container'); + r.filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll('.gl-canvas-context, .gl-canvas-focus') + .each(function () { + var t = this.toDataURL('image/png'); + e.append('svg:image').attr({ + xmlns: f.svg, + 'xlink:href': t, + preserveAspectRatio: 'none', + x: 0, + y: 0, + width: this.width, + height: this.height, + }); + }); + }), + (r.updateFx = t('./graph_interact').updateFx); + }, + { + '../../components/drawing': 665, + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + '../../registry': 911, + '../get_data': 865, + '../plots': 891, + './attributes': 826, + './axis_ids': 831, + './constants': 834, + './graph_interact': 837, + './layout_attributes': 842, + './layout_defaults': 843, + './transition_axes': 852, + d3: 169, + }, + ], + 842: [ + function (t, e, r) { + 'use strict'; + var n = t('../font_attributes'), + i = t('../../components/color/attributes'), + a = t('../../components/drawing/attributes').dash, + o = t('../../lib/extend').extendFlat, + s = t('../../plot_api/plot_template').templatedArray, + l = + (t('../../constants/docs').FORMAT_LINK, + t('../../constants/docs').DATE_FORMAT_LINK, + t('../../constants/numerical').ONEDAY), + c = t('./constants'), + u = c.HOUR_PATTERN, + f = c.WEEKDAY_PATTERN; + e.exports = { + visible: { valType: 'boolean', editType: 'plot' }, + color: { valType: 'color', dflt: i.defaultLine, editType: 'ticks' }, + title: { + text: { valType: 'string', editType: 'ticks' }, + font: n({ editType: 'ticks' }), + standoff: { valType: 'number', min: 0, editType: 'ticks' }, + editType: 'ticks', + }, + type: { + valType: 'enumerated', + values: [ + '-', + 'linear', + 'log', + 'date', + 'category', + 'multicategory', + ], + dflt: '-', + editType: 'calc', + _noTemplating: !0, + }, + autotypenumbers: { + valType: 'enumerated', + values: ['convert types', 'strict'], + dflt: 'convert types', + editType: 'calc', + }, + autorange: { + valType: 'enumerated', + values: [!0, !1, 'reversed'], + dflt: !0, + editType: 'axrange', + impliedEdits: { 'range[0]': void 0, 'range[1]': void 0 }, + }, + rangemode: { + valType: 'enumerated', + values: ['normal', 'tozero', 'nonnegative'], + dflt: 'normal', + editType: 'plot', + }, + range: { + valType: 'info_array', + items: [ + { + valType: 'any', + editType: 'axrange', + impliedEdits: { '^autorange': !1 }, + anim: !0, + }, + { + valType: 'any', + editType: 'axrange', + impliedEdits: { '^autorange': !1 }, + anim: !0, + }, + ], + editType: 'axrange', + impliedEdits: { autorange: !1 }, + anim: !0, + }, + fixedrange: { valType: 'boolean', dflt: !1, editType: 'calc' }, + scaleanchor: { + valType: 'enumerated', + values: [c.idRegex.x.toString(), c.idRegex.y.toString()], + editType: 'plot', + }, + scaleratio: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'plot', + }, + constrain: { + valType: 'enumerated', + values: ['range', 'domain'], + editType: 'plot', + }, + constraintoward: { + valType: 'enumerated', + values: ['left', 'center', 'right', 'top', 'middle', 'bottom'], + editType: 'plot', + }, + matches: { + valType: 'enumerated', + values: [c.idRegex.x.toString(), c.idRegex.y.toString()], + editType: 'calc', + }, + rangebreaks: s('rangebreak', { + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + bounds: { + valType: 'info_array', + items: [ + { valType: 'any', editType: 'calc' }, + { valType: 'any', editType: 'calc' }, + ], + editType: 'calc', + }, + pattern: { + valType: 'enumerated', + values: [f, u, ''], + editType: 'calc', + }, + values: { + valType: 'info_array', + freeLength: !0, + editType: 'calc', + items: { valType: 'any', editType: 'calc' }, + }, + dvalue: { valType: 'number', editType: 'calc', min: 0, dflt: l }, + editType: 'calc', + }), + tickmode: { + valType: 'enumerated', + values: ['auto', 'linear', 'array'], + editType: 'ticks', + impliedEdits: { tick0: void 0, dtick: void 0 }, + }, + nticks: { valType: 'integer', min: 0, dflt: 0, editType: 'ticks' }, + tick0: { + valType: 'any', + editType: 'ticks', + impliedEdits: { tickmode: 'linear' }, + }, + dtick: { + valType: 'any', + editType: 'ticks', + impliedEdits: { tickmode: 'linear' }, + }, + tickvals: { valType: 'data_array', editType: 'ticks' }, + ticktext: { valType: 'data_array', editType: 'ticks' }, + ticks: { + valType: 'enumerated', + values: ['outside', 'inside', ''], + editType: 'ticks', + }, + tickson: { + valType: 'enumerated', + values: ['labels', 'boundaries'], + dflt: 'labels', + editType: 'ticks', + }, + ticklabelmode: { + valType: 'enumerated', + values: ['instant', 'period'], + dflt: 'instant', + editType: 'ticks', + }, + ticklabelposition: { + valType: 'enumerated', + values: [ + 'outside', + 'inside', + 'outside top', + 'inside top', + 'outside left', + 'inside left', + 'outside right', + 'inside right', + 'outside bottom', + 'inside bottom', + ], + dflt: 'outside', + editType: 'calc', + }, + mirror: { + valType: 'enumerated', + values: [!0, 'ticks', !1, 'all', 'allticks'], + dflt: !1, + editType: 'ticks+layoutstyle', + }, + ticklen: { valType: 'number', min: 0, dflt: 5, editType: 'ticks' }, + tickwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'ticks', + }, + tickcolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'ticks', + }, + showticklabels: { valType: 'boolean', dflt: !0, editType: 'ticks' }, + automargin: { valType: 'boolean', dflt: !1, editType: 'ticks' }, + showspikes: { valType: 'boolean', dflt: !1, editType: 'modebar' }, + spikecolor: { valType: 'color', dflt: null, editType: 'none' }, + spikethickness: { valType: 'number', dflt: 3, editType: 'none' }, + spikedash: o({}, a, { dflt: 'dash', editType: 'none' }), + spikemode: { + valType: 'flaglist', + flags: ['toaxis', 'across', 'marker'], + dflt: 'toaxis', + editType: 'none', + }, + spikesnap: { + valType: 'enumerated', + values: ['data', 'cursor', 'hovered data'], + dflt: 'data', + editType: 'none', + }, + tickfont: n({ editType: 'ticks' }), + tickangle: { valType: 'angle', dflt: 'auto', editType: 'ticks' }, + tickprefix: { valType: 'string', dflt: '', editType: 'ticks' }, + showtickprefix: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'ticks', + }, + ticksuffix: { valType: 'string', dflt: '', editType: 'ticks' }, + showticksuffix: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'ticks', + }, + showexponent: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'ticks', + }, + exponentformat: { + valType: 'enumerated', + values: ['none', 'e', 'E', 'power', 'SI', 'B'], + dflt: 'B', + editType: 'ticks', + }, + minexponent: { + valType: 'number', + dflt: 3, + min: 0, + editType: 'ticks', + }, + separatethousands: { + valType: 'boolean', + dflt: !1, + editType: 'ticks', + }, + tickformat: { valType: 'string', dflt: '', editType: 'ticks' }, + tickformatstops: s('tickformatstop', { + enabled: { valType: 'boolean', dflt: !0, editType: 'ticks' }, + dtickrange: { + valType: 'info_array', + items: [ + { valType: 'any', editType: 'ticks' }, + { valType: 'any', editType: 'ticks' }, + ], + editType: 'ticks', + }, + value: { valType: 'string', dflt: '', editType: 'ticks' }, + editType: 'ticks', + }), + hoverformat: { valType: 'string', dflt: '', editType: 'none' }, + showline: { + valType: 'boolean', + dflt: !1, + editType: 'ticks+layoutstyle', + }, + linecolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'layoutstyle', + }, + linewidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'ticks+layoutstyle', + }, + showgrid: { valType: 'boolean', editType: 'ticks' }, + gridcolor: { + valType: 'color', + dflt: i.lightLine, + editType: 'ticks', + }, + gridwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'ticks', + }, + zeroline: { valType: 'boolean', editType: 'ticks' }, + zerolinecolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'ticks', + }, + zerolinewidth: { valType: 'number', dflt: 1, editType: 'ticks' }, + showdividers: { valType: 'boolean', dflt: !0, editType: 'ticks' }, + dividercolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'ticks', + }, + dividerwidth: { valType: 'number', dflt: 1, editType: 'ticks' }, + anchor: { + valType: 'enumerated', + values: ['free', c.idRegex.x.toString(), c.idRegex.y.toString()], + editType: 'plot', + }, + side: { + valType: 'enumerated', + values: ['top', 'bottom', 'left', 'right'], + editType: 'plot', + }, + overlaying: { + valType: 'enumerated', + values: ['free', c.idRegex.x.toString(), c.idRegex.y.toString()], + editType: 'plot', + }, + layer: { + valType: 'enumerated', + values: ['above traces', 'below traces'], + dflt: 'above traces', + editType: 'plot', + }, + domain: { + valType: 'info_array', + items: [ + { valType: 'number', min: 0, max: 1, editType: 'plot' }, + { valType: 'number', min: 0, max: 1, editType: 'plot' }, + ], + dflt: [0, 1], + editType: 'plot', + }, + position: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'plot', + }, + categoryorder: { + valType: 'enumerated', + values: [ + 'trace', + 'category ascending', + 'category descending', + 'array', + 'total ascending', + 'total descending', + 'min ascending', + 'min descending', + 'max ascending', + 'max descending', + 'sum ascending', + 'sum descending', + 'mean ascending', + 'mean descending', + 'median ascending', + 'median descending', + ], + dflt: 'trace', + editType: 'calc', + }, + categoryarray: { valType: 'data_array', editType: 'calc' }, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'calc', + _deprecated: { + autotick: { valType: 'boolean', editType: 'ticks' }, + title: { valType: 'string', editType: 'ticks' }, + titlefont: n({ editType: 'ticks' }), + }, + }; + }, + { + '../../components/color/attributes': 642, + '../../components/drawing/attributes': 664, + '../../constants/docs': 748, + '../../constants/numerical': 753, + '../../lib/extend': 768, + '../../plot_api/plot_template': 817, + '../font_attributes': 856, + './constants': 834, + }, + ], + 843: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../../components/fx/helpers').isUnifiedHover, + o = t('../../components/fx/hovermode_defaults'), + s = t('../../plot_api/plot_template'), + l = t('../layout_attributes'), + c = t('./layout_attributes'), + u = t('./type_defaults'), + f = t('./axis_defaults'), + h = t('./constraints'), + p = t('./position_defaults'), + d = t('./axis_ids'), + g = d.id2name, + m = d.name2id, + v = t('./constants').AX_ID_PATTERN, + y = t('../../registry'), + x = y.traceIs, + b = y.getComponentMethod; + function _(t, e, r) { + Array.isArray(t[e]) ? t[e].push(r) : (t[e] = [r]); + } + e.exports = function (t, e, r) { + var y, + w, + T = e.autotypenumbers, + k = {}, + M = {}, + A = {}, + S = {}, + E = {}, + C = {}, + L = {}, + I = {}, + P = {}, + z = {}; + for (y = 0; y < r.length; y++) { + var O = r[y]; + if (x(O, 'cartesian') || x(O, 'gl2d')) { + var D, R; + if (O.xaxis) (D = g(O.xaxis)), _(k, D, O); + else if (O.xaxes) + for (w = 0; w < O.xaxes.length; w++) _(k, g(O.xaxes[w]), O); + if (O.yaxis) (R = g(O.yaxis)), _(k, R, O); + else if (O.yaxes) + for (w = 0; w < O.yaxes.length; w++) _(k, g(O.yaxes[w]), O); + if ( + ('funnel' === O.type + ? 'h' === O.orientation + ? (D && (M[D] = !0), R && (L[R] = !0)) + : R && (A[R] = !0) + : 'image' === O.type + ? (R && (I[R] = !0), D && (I[D] = !0)) + : (R && ((E[R] = !0), (C[R] = !0)), + (x(O, 'carpet') && ('carpet' !== O.type || O._cheater)) || + (D && (S[D] = !0))), + 'carpet' === O.type && O._cheater && D && (M[D] = !0), + x(O, '2dMap') && ((P[D] = !0), (P[R] = !0)), + x(O, 'oriented')) + ) + z['h' === O.orientation ? R : D] = !0; + } + } + var F = e._subplots, + B = F.xaxis, + N = F.yaxis, + j = n.simpleMap(B, g), + U = n.simpleMap(N, g), + V = j.concat(U), + q = i.background; + B.length && N.length && (q = n.coerce(t, e, l, 'plot_bgcolor')); + var H, + G, + Y, + W, + X, + Z = i.combine(q, e.paper_bgcolor); + function J() { + var t = k[H] || []; + (X._traceIndices = t.map(function (t) { + return t._expandedIndex; + })), + (X._annIndices = []), + (X._shapeIndices = []), + (X._imgIndices = []), + (X._subplotsWith = []), + (X._counterAxes = []), + (X._name = X._attr = H), + (X._id = G); + } + function K(t, e) { + return n.coerce(W, X, c, t, e); + } + function Q(t, e) { + return n.coerce2(W, X, c, t, e); + } + function $(t) { + return 'x' === t ? N : B; + } + function tt(e, r) { + for ( + var n = 'x' === e ? j : U, i = [], a = 0; + a < n.length; + a++ + ) { + var o = n[a]; + o === r || (t[o] || {}).overlaying || i.push(m(o)); + } + return i; + } + var et = { x: $('x'), y: $('y') }, + rt = et.x.concat(et.y), + nt = {}, + it = []; + function at() { + var t = W.matches; + v.test(t) && + -1 === rt.indexOf(t) && + ((nt[t] = W.type), (it = Object.keys(nt))); + } + var ot = o(t, e, r), + st = a(ot); + for (y = 0; y < V.length; y++) { + (H = V[y]), + (G = m(H)), + (Y = H.charAt(0)), + n.isPlainObject(t[H]) || (t[H] = {}), + (W = t[H]), + (X = s.newContainer(e, H, Y + 'axis')), + J(); + var lt = + ('x' === Y && !S[H] && M[H]) || ('y' === Y && !E[H] && A[H]), + ct = 'y' === Y && ((!C[H] && L[H]) || I[H]), + ut = { + letter: Y, + font: e.font, + outerTicks: P[H], + showGrid: !z[H], + data: k[H] || [], + bgColor: Z, + calendar: e.calendar, + automargin: !0, + visibleDflt: lt, + reverseDflt: ct, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Y] || {})[G], + }; + K('uirevision', e.uirevision), u(W, X, K, ut), f(W, X, K, ut, e); + var ft = st && Y === ot.charAt(0), + ht = Q('spikecolor', st ? X.color : void 0), + pt = Q('spikethickness', st ? 1.5 : void 0), + dt = Q('spikedash', st ? 'dot' : void 0), + gt = Q('spikemode', st ? 'across' : void 0), + mt = Q('spikesnap', st ? 'hovered data' : void 0); + K('showspikes', !!(ft || ht || pt || dt || gt || mt)) || + (delete X.spikecolor, + delete X.spikethickness, + delete X.spikedash, + delete X.spikemode, + delete X.spikesnap), + p(W, X, K, { + letter: Y, + counterAxes: et[Y], + overlayableAxes: tt(Y, H), + grid: e.grid, + }), + K('title.standoff'), + at(), + (X._input = W); + } + for (y = 0; y < it.length; ) { + (G = it[y++]), + (Y = (H = g(G)).charAt(0)), + n.isPlainObject(t[H]) || (t[H] = {}), + (W = t[H]), + (X = s.newContainer(e, H, Y + 'axis')), + J(); + var vt = { + letter: Y, + font: e.font, + outerTicks: P[H], + showGrid: !z[H], + data: [], + bgColor: Z, + calendar: e.calendar, + automargin: !0, + visibleDflt: !1, + reverseDflt: !1, + autotypenumbersDflt: T, + splomStash: ((e._splomAxes || {})[Y] || {})[G], + }; + K('uirevision', e.uirevision), + (X.type = nt[G] || 'linear'), + f(W, X, K, vt, e), + p(W, X, K, { + letter: Y, + counterAxes: et[Y], + overlayableAxes: tt(Y, H), + grid: e.grid, + }), + K('fixedrange'), + at(), + (X._input = W); + } + var yt = b('rangeslider', 'handleDefaults'), + xt = b('rangeselector', 'handleDefaults'); + for (y = 0; y < j.length; y++) + (H = j[y]), + (W = t[H]), + (X = e[H]), + yt(t, e, H), + 'date' === X.type && xt(W, X, e, U, X.calendar), + K('fixedrange'); + for (y = 0; y < U.length; y++) { + (H = U[y]), (W = t[H]), (X = e[H]); + var bt = e[g(X.anchor)]; + K('fixedrange', b('rangeslider', 'isVisible')(bt)); + } + h.handleDefaults(t, e, { + axIds: rt.concat(it).sort(d.idSort), + axHasImage: I, + }); + }; + }, + { + '../../components/color': 643, + '../../components/fx/helpers': 679, + '../../components/fx/hovermode_defaults': 682, + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../registry': 911, + '../layout_attributes': 882, + './axis_defaults': 830, + './axis_ids': 831, + './constants': 834, + './constraints': 835, + './layout_attributes': 842, + './position_defaults': 845, + './type_defaults': 853, + }, + ], + 844: [ + function (t, e, r) { + 'use strict'; + var n = t('tinycolor2').mix, + i = t('../../components/color/attributes').lightFraction, + a = t('../../lib'); + e.exports = function (t, e, r, o) { + var s = (o = o || {}).dfltColor; + function l(r, n) { + return a.coerce2(t, e, o.attributes, r, n); + } + var c = l('linecolor', s), + u = l('linewidth'); + r('showline', o.showLine || !!c || !!u) || + (delete e.linecolor, delete e.linewidth); + var f = l('gridcolor', n(s, o.bgColor, o.blend || i).toRgbString()), + h = l('gridwidth'); + if ( + (r('showgrid', o.showGrid || !!f || !!h) || + (delete e.gridcolor, delete e.gridwidth), + !o.noZeroLine) + ) { + var p = l('zerolinecolor', s), + d = l('zerolinewidth'); + r('zeroline', o.showGrid || !!p || !!d) || + (delete e.zerolinecolor, delete e.zerolinewidth); + } + }; + }, + { + '../../components/color/attributes': 642, + '../../lib': 778, + tinycolor2: 576, + }, + ], + 845: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'); + e.exports = function (t, e, r, a) { + var o, + s, + l, + c, + u = a.counterAxes || [], + f = a.overlayableAxes || [], + h = a.letter, + p = a.grid; + p && + ((s = p._domains[h][p._axisMap[e._id]]), + (o = p._anchors[e._id]), + s && + ((l = p[h + 'side'].split(' ')[0]), + (c = p.domain[h]['right' === l || 'top' === l ? 1 : 0]))), + (s = s || [0, 1]), + (o = o || (n(t.position) ? 'free' : u[0] || 'free')), + (l = l || ('x' === h ? 'bottom' : 'left')), + (c = c || 0), + 'free' === + i.coerce( + t, + e, + { + anchor: { + valType: 'enumerated', + values: ['free'].concat(u), + dflt: o, + }, + }, + 'anchor' + ) && r('position', c), + i.coerce( + t, + e, + { + side: { + valType: 'enumerated', + values: 'x' === h ? ['bottom', 'top'] : ['left', 'right'], + dflt: l, + }, + }, + 'side' + ); + var d = !1; + if ( + (f.length && + (d = i.coerce( + t, + e, + { + overlaying: { + valType: 'enumerated', + values: [!1].concat(f), + dflt: !1, + }, + }, + 'overlaying' + )), + !d) + ) { + var g = r('domain', s); + g[0] > g[1] - 1 / 4096 && (e.domain = s), + i.noneOrAll(t.domain, e.domain, s); + } + return r('layer'), e; + }; + }, + { '../../lib': 778, 'fast-isnumeric': 241 }, + ], + 846: [ + function (t, e, r) { + 'use strict'; + var n = t('../../constants/alignment').FROM_BL; + e.exports = function (t, e, r) { + void 0 === r && (r = n[t.constraintoward || 'center']); + var i = [t.r2l(t.range[0]), t.r2l(t.range[1])], + a = i[0] + (i[1] - i[0]) * r; + (t.range = t._input.range = + [t.l2r(a + (i[0] - a) * e), t.l2r(a + (i[1] - a) * e)]), + t.setScale(); + }; + }, + { '../../constants/alignment': 745 }, + ], + 847: [ + function (t, e, r) { + 'use strict'; + var n = t('polybooljs'), + i = t('../../registry'), + a = t('../../components/drawing').dashStyle, + o = t('../../components/color'), + s = t('../../components/fx'), + l = t('../../components/fx/helpers').makeEventData, + c = t('../../components/dragelement/helpers'), + u = c.freeMode, + f = c.rectMode, + h = c.drawMode, + p = c.openMode, + d = c.selectMode, + g = t('../../components/shapes/draw_newshape/display_outlines'), + m = t( + '../../components/shapes/draw_newshape/helpers' + ).handleEllipse, + v = t('../../components/shapes/draw_newshape/newshapes'), + y = t('../../lib'), + x = t('../../lib/polygon'), + b = t('../../lib/throttle'), + _ = t('./axis_ids').getFromId, + w = t('../../lib/clear_gl_canvases'), + T = t('../../plot_api/subroutines').redrawReglTraces, + k = t('./constants'), + M = k.MINSELECT, + A = x.filter, + S = x.tester, + E = t('./handle_outline').clearSelect, + C = t('./helpers'), + L = C.p2r, + I = C.axValue, + P = C.getTransform; + function z(t, e, r, n, i, a, o) { + var s, + l, + c, + u, + f, + h, + d, + m, + v, + y = e._hoverdata, + x = e._fullLayout.clickmode.indexOf('event') > -1, + b = []; + if ( + (function (t) { + return t && Array.isArray(t) && !0 !== t[0].hoverOnBox; + })(y) + ) { + F(t, e, a); + var _ = (function (t, e) { + var r, + n, + i = t[0], + a = -1, + o = []; + for (n = 0; n < e.length; n++) + if ( + ((r = e[n]), + i.fullData._expandedIndex === r.cd[0].trace._expandedIndex) + ) { + if (!0 === i.hoverOnBox) break; + void 0 !== i.pointNumber + ? (a = i.pointNumber) + : void 0 !== i.binNumber && + ((a = i.binNumber), (o = i.pointNumbers)); + break; + } + return { pointNumber: a, pointNumbers: o, searchInfo: r }; + })(y, (s = N(e, r, n, i))); + if ( + _.pointNumbers.length > 0 + ? (function (t, e) { + var r, + n, + i, + a = []; + for (i = 0; i < t.length; i++) + (r = t[i]).cd[0].trace.selectedpoints && + r.cd[0].trace.selectedpoints.length > 0 && + a.push(r); + if ( + 1 === a.length && + a[0] === e.searchInfo && + (n = e.searchInfo.cd[0].trace).selectedpoints.length === + e.pointNumbers.length + ) { + for (i = 0; i < e.pointNumbers.length; i++) + if (n.selectedpoints.indexOf(e.pointNumbers[i]) < 0) + return !1; + return !0; + } + return !1; + })(s, _) + : (function (t) { + var e, + r, + n, + i = 0; + for (n = 0; n < t.length; n++) + if (((e = t[n]), (r = e.cd[0].trace).selectedpoints)) { + if (r.selectedpoints.length > 1) return !1; + if ((i += r.selectedpoints.length) > 1) return !1; + } + return 1 === i; + })(s) && (h = j(_)) + ) { + for (o && o.remove(), v = 0; v < s.length; v++) + (l = s[v])._module.selectPoints(l, !1); + U(e, s), B(a), x && e.emit('plotly_deselect', null); + } else { + for ( + d = t.shiftKey && (void 0 !== h ? h : j(_)), + c = (function (t, e, r) { + return { pointNumber: t, searchInfo: e, subtract: r }; + })(_.pointNumber, _.searchInfo, d), + u = R(a.selectionDefs.concat([c])), + v = 0; + v < s.length; + v++ + ) + if ( + ((f = V(s[v]._module.selectPoints(s[v], u), s[v])), + b.length) + ) + for (var w = 0; w < f.length; w++) b.push(f[w]); + else b = f; + if ( + (U(e, s, (m = { points: b })), + c && a && a.selectionDefs.push(c), + o) + ) { + var T = a.mergedPolygons, + k = p(a.dragmode); + g(q(T, k), o, a); + } + x && e.emit('plotly_selected', m); + } + } + } + function O(t) { + return 'pointNumber' in t && 'searchInfo' in t; + } + function D(t) { + return { + xmin: 0, + xmax: 0, + ymin: 0, + ymax: 0, + pts: [], + contains: function (e, r, n, i) { + var a = t.searchInfo.cd[0].trace._expandedIndex; + return ( + i.cd[0].trace._expandedIndex === a && n === t.pointNumber + ); + }, + isRect: !1, + degenerate: !1, + subtract: t.subtract, + }; + } + function R(t) { + for ( + var e = [], + r = O(t[0]) ? 0 : t[0][0][0], + n = r, + i = O(t[0]) ? 0 : t[0][0][1], + a = i, + o = 0; + o < t.length; + o++ + ) + if (O(t[o])) e.push(D(t[o])); + else { + var s = x.tester(t[o]); + (s.subtract = t[o].subtract), + e.push(s), + (r = Math.min(r, s.xmin)), + (n = Math.max(n, s.xmax)), + (i = Math.min(i, s.ymin)), + (a = Math.max(a, s.ymax)); + } + return { + xmin: r, + xmax: n, + ymin: i, + ymax: a, + pts: [], + contains: function (t, r, n, i) { + for (var a = !1, o = 0; o < e.length; o++) + e[o].contains(t, r, n, i) && (a = !1 === e[o].subtract); + return a; + }, + isRect: !1, + degenerate: !1, + }; + } + function F(t, e, r) { + e._fullLayout._drawing = !1; + var n = e._fullLayout, + i = r.plotinfo, + a = r.dragmode, + o = n._lastSelectedSubplot && n._lastSelectedSubplot === i.id, + s = (t.shiftKey || t.altKey) && !(h(a) && p(a)); + o && + s && + i.selection && + i.selection.selectionDefs && + !r.selectionDefs + ? ((r.selectionDefs = i.selection.selectionDefs), + (r.mergedPolygons = i.selection.mergedPolygons)) + : (s && i.selection) || B(r), + o || (E(e), (n._lastSelectedSubplot = i.id)); + } + function B(t) { + var e = t.dragmode, + r = t.plotinfo, + n = t.gd; + if ( + (n._fullLayout._activeShapeIndex >= 0 && + n._fullLayout._deactivateShape(n), + h(e)) + ) { + var a = n._fullLayout._zoomlayer.selectAll( + '.select-outline-' + r.id + ); + if (a && n._fullLayout._drawing) { + var o = v(a, t); + o && i.call('_guiRelayout', n, { shapes: o }), + (n._fullLayout._drawing = !1); + } + } + (r.selection = {}), + (r.selection.selectionDefs = t.selectionDefs = []), + (r.selection.mergedPolygons = t.mergedPolygons = []); + } + function N(t, e, r, n) { + var i, + a, + o, + s = [], + l = e.map(function (t) { + return t._id; + }), + c = r.map(function (t) { + return t._id; + }); + for (o = 0; o < t.calcdata.length; o++) + if ( + !0 === (a = (i = t.calcdata[o])[0].trace).visible && + a._module && + a._module.selectPoints + ) + if (!n || (a.subplot !== n && a.geo !== n)) + if ('splom' === a.type && a._xaxes[l[0]] && a._yaxes[c[0]]) { + var u = h(a._module, i, e[0], r[0]); + (u.scene = t._fullLayout._splomScenes[a.uid]), s.push(u); + } else if ('sankey' === a.type) { + var f = h(a._module, i, e[0], r[0]); + s.push(f); + } else { + if (-1 === l.indexOf(a.xaxis)) continue; + if (-1 === c.indexOf(a.yaxis)) continue; + s.push(h(a._module, i, _(t, a.xaxis), _(t, a.yaxis))); + } + else s.push(h(a._module, i, e[0], r[0])); + return s; + function h(t, e, r, n) { + return { _module: t, cd: e, xaxis: r, yaxis: n }; + } + } + function j(t) { + var e = t.searchInfo.cd[0].trace, + r = t.pointNumber, + n = t.pointNumbers, + i = n.length > 0 ? n[0] : r; + return !!e.selectedpoints && e.selectedpoints.indexOf(i) > -1; + } + function U(t, e, r) { + var n, a, o, s; + for (n = 0; n < e.length; n++) { + var l = e[n].cd[0].trace._fullInput, + c = t._fullLayout._tracePreGUI[l.uid] || {}; + void 0 === c.selectedpoints && + (c.selectedpoints = l._input.selectedpoints || null); + } + if (r) { + var u = r.points || []; + for (n = 0; n < e.length; n++) + ((s = e[n].cd[0].trace)._input.selectedpoints = + s._fullInput.selectedpoints = + []), + s._fullInput !== s && (s.selectedpoints = []); + for (n = 0; n < u.length; n++) { + var f = u[n], + h = f.data, + p = f.fullData; + f.pointIndices + ? ([].push.apply(h.selectedpoints, f.pointIndices), + s._fullInput !== s && + [].push.apply(p.selectedpoints, f.pointIndices)) + : (h.selectedpoints.push(f.pointIndex), + s._fullInput !== s && p.selectedpoints.push(f.pointIndex)); + } + } else + for (n = 0; n < e.length; n++) + delete (s = e[n].cd[0].trace).selectedpoints, + delete s._input.selectedpoints, + s._fullInput !== s && delete s._fullInput.selectedpoints; + var d = !1; + for (n = 0; n < e.length; n++) { + (s = (o = (a = e[n]).cd)[0].trace), + i.traceIs(s, 'regl') && (d = !0); + var g = a._module, + m = g.styleOnSelect || g.style; + m && + (m(t, o, o[0].node3), + o[0].nodeRangePlot3 && m(t, o, o[0].nodeRangePlot3)); + } + d && (w(t), T(t)); + } + function V(t, e) { + if (Array.isArray(t)) + for (var r = e.cd, n = e.cd[0].trace, i = 0; i < t.length; i++) + t[i] = l(t[i], n, r); + return t; + } + function q(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + r[n] = []; + for (var i = 0; i < t[n].length; i++) { + (r[n][i] = []), (r[n][i][0] = i ? 'L' : 'M'); + for (var a = 0; a < t[n][i].length; a++) + r[n][i].push(t[n][i][a]); + } + e || r[n].push(['Z', r[n][0][1], r[n][0][2]]); + } + return r; + } + e.exports = { + prepSelect: function (t, e, r, i, l) { + var c = u(l), + v = f(l), + x = p(l), + _ = h(l), + w = d(l), + T = 'drawcircle' === l, + E = 'drawline' === l || T, + C = i.gd, + O = C._fullLayout, + D = O._zoomlayer, + j = i.element.getBoundingClientRect(), + H = i.plotinfo, + G = P(H), + Y = e - j.left, + W = r - j.top; + O._calcInverseTransform(C); + var X = y.apply3DTransform(O._invTransform)(Y, W); + (Y = X[0]), (W = X[1]); + var Z, + J, + K, + Q, + $, + tt, + et, + rt = O._invScaleX, + nt = O._invScaleY, + it = Y, + at = W, + ot = 'M' + Y + ',' + W, + st = i.xaxes[0]._length, + lt = i.yaxes[0]._length, + ct = i.xaxes.concat(i.yaxes), + ut = t.altKey && !(h(l) && x); + F(t, C, i), c && (Z = A([[Y, W]], k.BENDPX)); + var ft = D.selectAll('path.select-outline-' + H.id).data( + _ ? [0] : [1, 2] + ), + ht = O.newshape; + ft.enter() + .append('path') + .attr('class', function (t) { + return ( + 'select-outline select-outline-' + + t + + ' select-outline-' + + H.id + ); + }) + .style( + _ + ? { + opacity: ht.opacity / 2, + fill: x ? void 0 : ht.fillcolor, + stroke: ht.line.color, + 'stroke-dasharray': a(ht.line.dash, ht.line.width), + 'stroke-width': ht.line.width + 'px', + } + : {} + ) + .attr('fill-rule', ht.fillrule) + .classed('cursor-move', !!_) + .attr('transform', G) + .attr('d', ot + 'Z'); + var pt, + dt = D.append('path') + .attr('class', 'zoombox-corners') + .style({ + fill: o.background, + stroke: o.defaultLine, + 'stroke-width': 1, + }) + .attr('transform', G) + .attr('d', 'M0,0Z'), + gt = O._uid + k.SELECTID, + mt = [], + vt = N(C, i.xaxes, i.yaxes, i.subplot); + function yt(t, e) { + return t - e; + } + (pt = H.fillRangeItems + ? H.fillRangeItems + : v + ? function (t, e) { + var r = (t.range = {}); + for ($ = 0; $ < ct.length; $++) { + var n = ct[$], + i = n._id.charAt(0); + r[n._id] = [L(n, e[i + 'min']), L(n, e[i + 'max'])].sort( + yt + ); + } + } + : function (t, e, r) { + var n = (t.lassoPoints = {}); + for ($ = 0; $ < ct.length; $++) { + var i = ct[$]; + n[i._id] = r.filtered.map(I(i)); + } + }), + (i.moveFn = function (t, e) { + (it = Math.max(0, Math.min(st, rt * t + Y))), + (at = Math.max(0, Math.min(lt, nt * e + W))); + var r = Math.abs(it - Y), + a = Math.abs(at - W); + if (v) { + var o, s, l; + if (w) { + var u = O.selectdirection; + switch ( + (o = + 'any' === u + ? a < Math.min(0.6 * r, M) + ? 'h' + : r < Math.min(0.6 * a, M) + ? 'v' + : 'd' + : u) + ) { + case 'h': + (s = T ? lt / 2 : 0), (l = lt); + break; + case 'v': + (s = T ? st / 2 : 0), (l = st); + } + } + if (_) + switch (O.newshape.drawdirection) { + case 'vertical': + (o = 'h'), (s = T ? lt / 2 : 0), (l = lt); + break; + case 'horizontal': + (o = 'v'), (s = T ? st / 2 : 0), (l = st); + break; + case 'ortho': + r < a + ? ((o = 'h'), (s = W), (l = at)) + : ((o = 'v'), (s = Y), (l = it)); + break; + default: + o = 'd'; + } + 'h' === o + ? (((Q = E + ? m(T, [it, s], [it, l]) + : [ + [Y, s], + [Y, l], + [it, l], + [it, s], + ]).xmin = E ? it : Math.min(Y, it)), + (Q.xmax = E ? it : Math.max(Y, it)), + (Q.ymin = Math.min(s, l)), + (Q.ymax = Math.max(s, l)), + dt.attr( + 'd', + 'M' + + Q.xmin + + ',' + + (W - M) + + 'h-4v' + + 2 * M + + 'h4ZM' + + (Q.xmax - 1) + + ',' + + (W - M) + + 'h4v' + + 2 * M + + 'h-4Z' + )) + : 'v' === o + ? (((Q = E + ? m(T, [s, at], [l, at]) + : [ + [s, W], + [s, at], + [l, at], + [l, W], + ]).xmin = Math.min(s, l)), + (Q.xmax = Math.max(s, l)), + (Q.ymin = E ? at : Math.min(W, at)), + (Q.ymax = E ? at : Math.max(W, at)), + dt.attr( + 'd', + 'M' + + (Y - M) + + ',' + + Q.ymin + + 'v-4h' + + 2 * M + + 'v4ZM' + + (Y - M) + + ',' + + (Q.ymax - 1) + + 'v4h' + + 2 * M + + 'v-4Z' + )) + : 'd' === o && + (((Q = E + ? m(T, [Y, W], [it, at]) + : [ + [Y, W], + [Y, at], + [it, at], + [it, W], + ]).xmin = Math.min(Y, it)), + (Q.xmax = Math.max(Y, it)), + (Q.ymin = Math.min(W, at)), + (Q.ymax = Math.max(W, at)), + dt.attr('d', 'M0,0Z')); + } else c && (Z.addPt([it, at]), (Q = Z.filtered)); + i.selectionDefs && i.selectionDefs.length + ? ((K = (function (t, e, r) { + if (r) + return n.difference( + { regions: t, inverted: !1 }, + { regions: [e], inverted: !1 } + ).regions; + return n.union( + { regions: t, inverted: !1 }, + { regions: [e], inverted: !1 } + ).regions; + })(i.mergedPolygons, Q, ut)), + (Q.subtract = ut), + (J = R(i.selectionDefs.concat([Q])))) + : ((K = [Q]), (J = S(Q))), + g(q(K, x), ft, i), + w && + b.throttle(gt, k.SELECTDELAY, function () { + var t; + mt = []; + var e, + r = []; + for ($ = 0; $ < vt.length; $++) + if ( + ((e = (tt = vt[$])._module.selectPoints(tt, J)), + r.push(e), + (t = V(e, tt)), + mt.length) + ) + for (var n = 0; n < t.length; n++) mt.push(t[n]); + else mt = t; + U(C, vt, (et = { points: mt })), + pt(et, Q, Z), + i.gd.emit('plotly_selecting', et); + }); + }), + (i.clickFn = function (t, e) { + if ((dt.remove(), C._fullLayout._activeShapeIndex >= 0)) + C._fullLayout._deactivateShape(C); + else if (!_) { + var r = O.clickmode; + b.done(gt) + .then(function () { + if ((b.clear(gt), 2 === t)) { + for (ft.remove(), $ = 0; $ < vt.length; $++) + (tt = vt[$])._module.selectPoints(tt, !1); + U(C, vt), B(i), C.emit('plotly_deselect', null); + } else r.indexOf('select') > -1 && z(e, C, i.xaxes, i.yaxes, i.subplot, i, ft), 'event' === r && C.emit('plotly_selected', void 0); + s.click(C, e); + }) + .catch(y.error); + } + }), + (i.doneFn = function () { + dt.remove(), + b + .done(gt) + .then(function () { + b.clear(gt), + i.gd.emit('plotly_selected', et), + Q && + i.selectionDefs && + ((Q.subtract = ut), + i.selectionDefs.push(Q), + (i.mergedPolygons.length = 0), + [].push.apply(i.mergedPolygons, K)), + i.doneFnCompleted && i.doneFnCompleted(mt); + }) + .catch(y.error), + _ && B(i); + }); + }, + clearSelect: E, + clearSelectionsCache: B, + selectOnClick: z, + }; + }, + { + '../../components/color': 643, + '../../components/dragelement/helpers': 661, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../components/fx/helpers': 679, + '../../components/shapes/draw_newshape/display_outlines': 728, + '../../components/shapes/draw_newshape/helpers': 729, + '../../components/shapes/draw_newshape/newshapes': 730, + '../../lib': 778, + '../../lib/clear_gl_canvases': 762, + '../../lib/polygon': 790, + '../../lib/throttle': 804, + '../../plot_api/subroutines': 818, + '../../registry': 911, + './axis_ids': 831, + './constants': 834, + './handle_outline': 838, + './helpers': 839, + polybooljs: 517, + }, + ], + 848: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('d3-time-format').utcFormat, + a = t('fast-isnumeric'), + o = t('../../lib'), + s = o.cleanNumber, + l = o.ms2DateTime, + c = o.dateTime2ms, + u = o.ensureNumber, + f = o.isArrayOrTypedArray, + h = t('../../constants/numerical'), + p = h.FP_SAFE, + d = h.BADNUM, + g = h.LOG_CLIP, + m = h.ONEWEEK, + v = h.ONEDAY, + y = h.ONEHOUR, + x = h.ONEMIN, + b = h.ONESEC, + _ = t('./axis_ids'), + w = t('./constants'), + T = w.HOUR_PATTERN, + k = w.WEEKDAY_PATTERN; + function M(t) { + return Math.pow(10, t); + } + function A(t) { + return null != t; + } + e.exports = function (t, e) { + e = e || {}; + var r = t._id || 'x', + h = r.charAt(0); + function S(e, r) { + if (e > 0) return Math.log(e) / Math.LN10; + if (e <= 0 && r && t.range && 2 === t.range.length) { + var n = t.range[0], + i = t.range[1]; + return 0.5 * (n + i - 2 * g * Math.abs(n - i)); + } + return d; + } + function E(e, r, n, i) { + if ((i || {}).msUTC && a(e)) return +e; + var s = c(e, n || t.calendar); + if (s === d) { + if (!a(e)) return d; + e = +e; + var l = Math.floor(10 * o.mod(e + 0.05, 1)), + u = Math.round(e - l / 10); + s = c(new Date(u)) + l / 10; + } + return s; + } + function C(e, r, n) { + return l(e, r, n || t.calendar); + } + function L(e) { + return t._categories[Math.round(e)]; + } + function I(e) { + if (A(e)) { + if ( + (void 0 === t._categoriesMap && (t._categoriesMap = {}), + void 0 !== t._categoriesMap[e]) + ) + return t._categoriesMap[e]; + t._categories.push('number' == typeof e ? String(e) : e); + var r = t._categories.length - 1; + return (t._categoriesMap[e] = r), r; + } + return d; + } + function P(e) { + if (t._categoriesMap) return t._categoriesMap[e]; + } + function z(t) { + var e = P(t); + return void 0 !== e ? e : a(t) ? +t : void 0; + } + function O(t) { + return a(t) ? +t : P(t); + } + function D(t, e, r) { + return n.round(r + e * t, 2); + } + function R(t, e, r) { + return (t - r) / e; + } + var F = function (e) { + return a(e) ? D(e, t._m, t._b) : d; + }, + B = function (e) { + return R(e, t._m, t._b); + }; + if (t.rangebreaks) { + var N = 'y' === h; + (F = function (e) { + if (!a(e)) return d; + var r = t._rangebreaks.length; + if (!r) return D(e, t._m, t._b); + var n = N; + t.range[0] > t.range[1] && (n = !n); + for (var i = n ? -1 : 1, o = i * e, s = 0, l = 0; l < r; l++) { + var c = i * t._rangebreaks[l].min, + u = i * t._rangebreaks[l].max; + if (o < c) break; + if (!(o > u)) { + s = o < (c + u) / 2 ? l : l + 1; + break; + } + s = l + 1; + } + var f = t._B[s] || 0; + return isFinite(f) ? D(e, t._m2, f) : 0; + }), + (B = function (e) { + var r = t._rangebreaks.length; + if (!r) return R(e, t._m, t._b); + for ( + var n = 0, i = 0; + i < r && !(e < t._rangebreaks[i].pmin); + i++ + ) + e > t._rangebreaks[i].pmax && (n = i + 1); + return R(e, t._m2, t._B[n]); + }); + } + (t.c2l = 'log' === t.type ? S : u), + (t.l2c = 'log' === t.type ? M : u), + (t.l2p = F), + (t.p2l = B), + (t.c2p = + 'log' === t.type + ? function (t, e) { + return F(S(t, e)); + } + : F), + (t.p2c = + 'log' === t.type + ? function (t) { + return M(B(t)); + } + : B), + -1 !== ['linear', '-'].indexOf(t.type) + ? ((t.d2r = t.r2d = t.d2c = t.r2c = t.d2l = t.r2l = s), + (t.c2d = t.c2r = t.l2d = t.l2r = u), + (t.d2p = t.r2p = + function (e) { + return t.l2p(s(e)); + }), + (t.p2d = t.p2r = B), + (t.cleanPos = u)) + : 'log' === t.type + ? ((t.d2r = t.d2l = + function (t, e) { + return S(s(t), e); + }), + (t.r2d = t.r2c = + function (t) { + return M(s(t)); + }), + (t.d2c = t.r2l = s), + (t.c2d = t.l2r = u), + (t.c2r = S), + (t.l2d = M), + (t.d2p = function (e, r) { + return t.l2p(t.d2r(e, r)); + }), + (t.p2d = function (t) { + return M(B(t)); + }), + (t.r2p = function (e) { + return t.l2p(s(e)); + }), + (t.p2r = B), + (t.cleanPos = u)) + : 'date' === t.type + ? ((t.d2r = t.r2d = o.identity), + (t.d2c = t.r2c = t.d2l = t.r2l = E), + (t.c2d = t.c2r = t.l2d = t.l2r = C), + (t.d2p = t.r2p = + function (e, r, n) { + return t.l2p(E(e, 0, n)); + }), + (t.p2d = t.p2r = + function (t, e, r) { + return C(B(t), e, r); + }), + (t.cleanPos = function (e) { + return o.cleanDate(e, d, t.calendar); + })) + : 'category' === t.type + ? ((t.d2c = t.d2l = I), + (t.r2d = t.c2d = t.l2d = L), + (t.d2r = t.d2l_noadd = z), + (t.r2c = function (e) { + var r = O(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.l2r = t.c2r = u), + (t.r2l = O), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return L(B(t)); + }), + (t.r2p = t.d2p), + (t.p2r = B), + (t.cleanPos = function (t) { + return 'string' == typeof t && '' !== t ? t : u(t); + })) + : 'multicategory' === t.type && + ((t.r2d = t.c2d = t.l2d = L), + (t.d2r = t.d2l_noadd = z), + (t.r2c = function (e) { + var r = z(e); + return void 0 !== r ? r : t.fraction2r(0.5); + }), + (t.r2c_just_indices = P), + (t.l2r = t.c2r = u), + (t.r2l = z), + (t.d2p = function (e) { + return t.l2p(t.r2c(e)); + }), + (t.p2d = function (t) { + return L(B(t)); + }), + (t.r2p = t.d2p), + (t.p2r = B), + (t.cleanPos = function (t) { + return Array.isArray(t) || + ('string' == typeof t && '' !== t) + ? t + : u(t); + }), + (t.setupMultiCategory = function (n) { + var i, + a, + s = t._traceIndices, + l = t._matchGroup; + if (l && 0 === t._categories.length) + for (var c in l) + if (c !== r) { + var u = e[_.id2name(c)]; + s = s.concat(u._traceIndices); + } + var p = [ + [0, {}], + [0, {}], + ], + d = []; + for (i = 0; i < s.length; i++) { + var g = n[s[i]]; + if (h in g) { + var m = g[h], + v = g._length || o.minRowLength(m); + if (f(m[0]) && f(m[1])) + for (a = 0; a < v; a++) { + var y = m[0][a], + x = m[1][a]; + A(y) && + A(x) && + (d.push([y, x]), + y in p[0][1] || (p[0][1][y] = p[0][0]++), + x in p[1][1] || (p[1][1][x] = p[1][0]++)); + } + } + } + for ( + d.sort(function (t, e) { + var r = p[0][1], + n = r[t[0]] - r[e[0]]; + if (n) return n; + var i = p[1][1]; + return i[t[1]] - i[e[1]]; + }), + i = 0; + i < d.length; + i++ + ) + I(d[i]); + })), + (t.fraction2r = function (e) { + var r = t.r2l(t.range[0]), + n = t.r2l(t.range[1]); + return t.l2r(r + e * (n - r)); + }), + (t.r2fraction = function (e) { + var r = t.r2l(t.range[0]), + n = t.r2l(t.range[1]); + return (t.r2l(e) - r) / (n - r); + }), + (t.cleanRange = function (e, r) { + r || (r = {}), e || (e = 'range'); + var n, + i, + s = o.nestedProperty(t, e).get(); + if ( + ((i = (i = + 'date' === t.type + ? o.dfltRange(t.calendar) + : 'y' === h + ? w.DFLTRANGEY + : r.dfltRange || w.DFLTRANGEX).slice()), + ('tozero' !== t.rangemode && 'nonnegative' !== t.rangemode) || + (i[0] = 0), + s && 2 === s.length) + ) + for ( + 'date' !== t.type || + t.autorange || + ((s[0] = o.cleanDate(s[0], d, t.calendar)), + (s[1] = o.cleanDate(s[1], d, t.calendar))), + n = 0; + n < 2; + n++ + ) + if ('date' === t.type) { + if (!o.isDateTime(s[n], t.calendar)) { + t[e] = i; + break; + } + if (t.r2l(s[0]) === t.r2l(s[1])) { + var l = o.constrain( + t.r2l(s[0]), + o.MIN_MS + 1e3, + o.MAX_MS - 1e3 + ); + (s[0] = t.l2r(l - 1e3)), (s[1] = t.l2r(l + 1e3)); + break; + } + } else { + if (!a(s[n])) { + if (!a(s[1 - n])) { + t[e] = i; + break; + } + s[n] = s[1 - n] * (n ? 10 : 0.1); + } + if ( + (s[n] < -p ? (s[n] = -p) : s[n] > p && (s[n] = p), + s[0] === s[1]) + ) { + var c = Math.max(1, Math.abs(1e-6 * s[0])); + (s[0] -= c), (s[1] += c); + } + } + else o.nestedProperty(t, e).set(i); + }), + (t.setScale = function (r) { + var n = e._size; + if (t.overlaying) { + var i = _.getFromId({ _fullLayout: e }, t.overlaying); + t.domain = i.domain; + } + var a = r && t._r ? '_r' : 'range', + o = t.calendar; + t.cleanRange(a); + var s, + l, + c = t.r2l(t[a][0], o), + u = t.r2l(t[a][1], o), + f = 'y' === h; + if ( + (f + ? ((t._offset = n.t + (1 - t.domain[1]) * n.h), + (t._length = n.h * (t.domain[1] - t.domain[0])), + (t._m = t._length / (c - u)), + (t._b = -t._m * u)) + : ((t._offset = n.l + t.domain[0] * n.w), + (t._length = n.w * (t.domain[1] - t.domain[0])), + (t._m = t._length / (u - c)), + (t._b = -t._m * c)), + (t._rangebreaks = []), + (t._lBreaks = 0), + (t._m2 = 0), + (t._B = []), + t.rangebreaks) && + ((t._rangebreaks = t.locateBreaks( + Math.min(c, u), + Math.max(c, u) + )), + t._rangebreaks.length) + ) { + for (s = 0; s < t._rangebreaks.length; s++) + (l = t._rangebreaks[s]), + (t._lBreaks += Math.abs(l.max - l.min)); + var p = f; + c > u && (p = !p), p && t._rangebreaks.reverse(); + var d = p ? -1 : 1; + for ( + t._m2 = (d * t._length) / (Math.abs(u - c) - t._lBreaks), + t._B.push(-t._m2 * (f ? u : c)), + s = 0; + s < t._rangebreaks.length; + s++ + ) + (l = t._rangebreaks[s]), + t._B.push( + t._B[t._B.length - 1] - d * t._m2 * (l.max - l.min) + ); + for (s = 0; s < t._rangebreaks.length; s++) + ((l = t._rangebreaks[s]).pmin = F(l.min)), + (l.pmax = F(l.max)); + } + if (!isFinite(t._m) || !isFinite(t._b) || t._length < 0) + throw ( + ((e._replotting = !1), + new Error('Something went wrong with axis scaling')) + ); + }), + (t.maskBreaks = function (e) { + for ( + var r, n, i, a, l, c = t.rangebreaks || [], u = 0; + u < c.length; + u++ + ) { + var f = c[u]; + if (f.enabled) + if (f.bounds) { + var h = f.pattern; + switch ( + ((n = (r = o.simpleMap(f.bounds, h ? s : t.d2c))[0]), + (i = r[1]), + h) + ) { + case k: + (a = (l = new Date(e)).getUTCDay()), + n > i && ((i += 7), a < n && (a += 7)); + break; + case T: + (a = + (l = new Date(e)).getUTCHours() + + (l.getUTCMinutes() / 60 + + l.getUTCSeconds() / 3600 + + l.getUTCMilliseconds() / 36e5)), + n > i && ((i += 24), a < n && (a += 24)); + break; + case '': + a = e; + } + if (a >= n && a < i) return d; + } else + for ( + var p = o.simpleMap(f.values, t.d2c).sort(o.sorterAsc), + g = 0; + g < p.length; + g++ + ) + if (((i = (n = p[g]) + f.dvalue), e >= n && e < i)) + return d; + } + return e; + }), + (t.locateBreaks = function (e, r) { + var n, + i, + a, + l, + c = []; + if (!t.rangebreaks) return c; + var u = t.rangebreaks.slice().sort(function (t, e) { + return t.pattern === k && e.pattern === T + ? -1 + : e.pattern === k && t.pattern === T + ? 1 + : 0; + }), + f = function (t, n) { + if ( + (t = o.constrain(t, e, r)) !== (n = o.constrain(n, e, r)) + ) { + for (var i = !0, a = 0; a < c.length; a++) { + var s = c[a]; + t < s.max && + n >= s.min && + (t < s.min && (s.min = t), + n > s.max && (s.max = n), + (i = !1)); + } + i && c.push({ min: t, max: n }); + } + }; + for (n = 0; n < u.length; n++) { + var h = u[n]; + if (h.enabled) + if (h.bounds) { + var p = e, + d = r; + h.pattern && (p = Math.floor(p)), + (a = (i = o.simpleMap( + h.bounds, + h.pattern ? s : t.r2l + ))[0]), + (l = i[1]); + var g, + _, + w = new Date(p); + switch (h.pattern) { + case k: + (_ = m), + (g = (l - a + (l < a ? 7 : 0)) * v), + (p += + a * v - + (w.getUTCDay() * v + + w.getUTCHours() * y + + w.getUTCMinutes() * x + + w.getUTCSeconds() * b + + w.getUTCMilliseconds())); + break; + case T: + (_ = v), + (g = (l - a + (l < a ? 24 : 0)) * y), + (p += + a * y - + (w.getUTCHours() * y + + w.getUTCMinutes() * x + + w.getUTCSeconds() * b + + w.getUTCMilliseconds())); + break; + default: + (p = Math.min(i[0], i[1])), + (g = _ = (d = Math.max(i[0], i[1])) - p); + } + for (var M = p; M < d; M += _) f(M, M + g); + } else + for ( + var A = o.simpleMap(h.values, t.d2c), S = 0; + S < A.length; + S++ + ) + f((a = A[S]), (l = a + h.dvalue)); + } + return ( + c.sort(function (t, e) { + return t.min - e.min; + }), + c + ); + }), + (t.makeCalcdata = function (e, r, n) { + var i, + a, + s, + l, + c = t.type, + u = 'date' === c && e[r + 'calendar']; + if (r in e) { + if ( + ((i = e[r]), + (l = e._length || o.minRowLength(i)), + o.isTypedArray(i) && ('linear' === c || 'log' === c)) + ) { + if (l === i.length) return i; + if (i.subarray) return i.subarray(0, l); + } + if ('multicategory' === c) + return (function (t, e) { + for (var r = new Array(e), n = 0; n < e; n++) { + var i = (t[0] || [])[n], + a = (t[1] || [])[n]; + r[n] = P([i, a]); + } + return r; + })(i, l); + for (a = new Array(l), s = 0; s < l; s++) + a[s] = t.d2c(i[s], 0, u, n); + } else { + var f = r + '0' in e ? t.d2c(e[r + '0'], 0, u) : 0, + h = e['d' + r] ? Number(e['d' + r]) : 1; + for ( + i = e[{ x: 'y', y: 'x' }[r]], + l = e._length || i.length, + a = new Array(l), + s = 0; + s < l; + s++ + ) + a[s] = f + s * h; + } + if (t.rangebreaks) + for (s = 0; s < l; s++) a[s] = t.maskBreaks(a[s]); + return a; + }), + (t.isValidRange = function (e) { + return ( + Array.isArray(e) && + 2 === e.length && + a(t.r2l(e[0])) && + a(t.r2l(e[1])) + ); + }), + (t.isPtWithinRange = function (e, r) { + var n = t.c2l(e[h], null, r), + i = t.r2l(t.range[0]), + a = t.r2l(t.range[1]); + return i < a ? i <= n && n <= a : a <= n && n <= i; + }), + (t._emptyCategories = function () { + (t._categories = []), (t._categoriesMap = {}); + }), + (t.clearCalc = function () { + var r = t._matchGroup; + if (r) { + var n = null, + i = null; + for (var a in r) { + var o = e[_.id2name(a)]; + if (o._categories) { + (n = o._categories), (i = o._categoriesMap); + break; + } + } + n && i + ? ((t._categories = n), (t._categoriesMap = i)) + : t._emptyCategories(); + } else t._emptyCategories(); + if (t._initialCategories) + for (var s = 0; s < t._initialCategories.length; s++) + I(t._initialCategories[s]); + }), + (t.sortByInitialCategories = function () { + var n = []; + if ((t._emptyCategories(), t._initialCategories)) + for (var i = 0; i < t._initialCategories.length; i++) + I(t._initialCategories[i]); + n = n.concat(t._traceIndices); + var a = t._matchGroup; + for (var o in a) + if (r !== o) { + var s = e[_.id2name(o)]; + (s._categories = t._categories), + (s._categoriesMap = t._categoriesMap), + (n = n.concat(s._traceIndices)); + } + return n; + }); + var j = e._d3locale; + 'date' === t.type && + ((t._dateFormat = j ? j.timeFormat : i), + (t._extraFormat = e._extraFormat)), + (t._separators = e.separators), + (t._numFormat = j ? j.numberFormat : n.format), + delete t._minDtick, + delete t._forceTick0; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + './axis_ids': 831, + './constants': 834, + d3: 169, + 'd3-time-format': 166, + 'fast-isnumeric': 241, + }, + ], + 849: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color').contrast, + a = t('./layout_attributes'), + o = t('../array_container_defaults'); + function s(t) { + var e = ['showexponent', 'showtickprefix', 'showticksuffix'].filter( + function (e) { + return void 0 !== t[e]; + } + ); + if ( + e.every(function (r) { + return t[r] === t[e[0]]; + }) || + 1 === e.length + ) + return t[e[0]]; + } + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, a.tickformatstops, r, i); + } + r('enabled') && (r('dtickrange'), r('value')); + } + e.exports = function (t, e, r, c, u, f) { + (f && 1 !== f.pass) || + (function (t, e, r, n, i) { + var a = s(t); + r('tickprefix') && r('showtickprefix', a); + r('ticksuffix', i.tickSuffixDflt) && r('showticksuffix', a); + })(t, 0, r, 0, u), + (f && 2 !== f.pass) || + (function (t, e, r, c, u) { + var f = s(t); + r('tickprefix') && r('showtickprefix', f); + r('ticksuffix', u.tickSuffixDflt) && r('showticksuffix', f); + if (r('showticklabels')) { + var h = u.font || {}, + p = e.color, + d = + -1 !== (e.ticklabelposition || '').indexOf('inside') + ? i(u.bgColor) + : p && p !== a.color.dflt + ? p + : h.color; + if ( + (n.coerceFont(r, 'tickfont', { + family: h.family, + size: h.size, + color: d, + }), + r('tickangle'), + 'category' !== c) + ) { + var g = r('tickformat'); + o(t, e, { + name: 'tickformatstops', + inclusionAttr: 'enabled', + handleItemDefaults: l, + }), + e.tickformatstops.length || delete e.tickformatstops, + g || + 'date' === c || + (r('showexponent', f), + r('exponentformat'), + r('minexponent'), + r('separatethousands')); + } + } + })(t, e, r, c, u); + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../array_container_defaults': 823, + './layout_attributes': 842, + }, + ], + 850: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e, r, a) { + var o = n.coerce2(t, e, i, 'ticklen'), + s = n.coerce2(t, e, i, 'tickwidth'), + l = n.coerce2(t, e, i, 'tickcolor', e.color); + r('ticks', a.outerTicks || o || s || l ? 'outside' : '') || + (delete e.ticklen, delete e.tickwidth, delete e.tickcolor); + }; + }, + { '../../lib': 778, './layout_attributes': 842 }, + ], + 851: [ + function (t, e, r) { + 'use strict'; + var n = t('./clean_ticks'), + i = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r, a) { + function o(r) { + var n = t[r]; + return void 0 !== n ? n : (e._template || {})[r]; + } + var s = o('tick0'), + l = o('dtick'), + c = o('tickvals'), + u = r('tickmode', i(c) ? 'array' : l ? 'linear' : 'auto'); + if ('auto' === u) r('nticks'); + else if ('linear' === u) { + var f = (e.dtick = n.dtick(l, a)); + e.tick0 = n.tick0(s, a, e.calendar, f); + } else if ('multicategory' !== a) { + void 0 === r('tickvals') ? (e.tickmode = 'auto') : r('ticktext'); + } + }; + }, + { '../../lib': 778, './clean_ticks': 833 }, + ], + 852: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../lib'), + o = t('../../components/drawing'), + s = t('./axes'); + e.exports = function (t, e, r, l) { + var c = t._fullLayout; + if (0 !== e.length) { + var u, f, h, p; + l && (u = l()); + var d = n.ease(r.easing); + return ( + t._transitionData._interruptCallbacks.push(function () { + return ( + window.cancelAnimationFrame(p), + (p = null), + (function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr0 && (r[o._name + '.range'] = a.xr0.slice()), + a.yr0 && (r[s._name + '.range'] = a.yr0.slice()); + } + return i.call('relayout', t, r).then(function () { + for (var t = 0; t < e.length; t++) g(e[t].plotinfo); + }); + })() + ); + }), + (f = Date.now()), + (p = window.requestAnimationFrame(function n() { + h = Date.now(); + for ( + var a = Math.min(1, (h - f) / r.duration), o = d(a), s = 0; + s < e.length; + s++ + ) + m(e[s], o); + h - f > r.duration + ? (!(function () { + for (var r = {}, n = 0; n < e.length; n++) { + var a = e[n], + o = a.plotinfo.xaxis, + s = a.plotinfo.yaxis; + a.xr1 && (r[o._name + '.range'] = a.xr1.slice()), + a.yr1 && (r[s._name + '.range'] = a.yr1.slice()); + } + u && u(), + i.call('relayout', t, r).then(function () { + for (var t = 0; t < e.length; t++) g(e[t].plotinfo); + }); + })(), + (p = window.cancelAnimationFrame(n))) + : (p = window.requestAnimationFrame(n)); + })), + Promise.resolve() + ); + } + function g(t) { + var e = t.xaxis, + r = t.yaxis; + c._defs + .select('#' + t.clipId + '> rect') + .call(o.setTranslate, 0, 0) + .call(o.setScale, 1, 1), + t.plot + .call(o.setTranslate, e._offset, r._offset) + .call(o.setScale, 1, 1); + var n = t.plot.selectAll('.scatterlayer .trace'); + n.selectAll('.point').call(o.setPointGroupScale, 1, 1), + n.selectAll('.textpoint').call(o.setTextPointsScale, 1, 1), + n.call(o.hideOutsideRangePoints, t); + } + function m(e, r) { + var n = e.plotinfo, + i = n.xaxis, + l = n.yaxis, + c = i._length, + u = l._length, + f = !!e.xr1, + h = !!e.yr1, + p = []; + if (f) { + var d = a.simpleMap(e.xr0, i.r2l), + g = a.simpleMap(e.xr1, i.r2l), + m = d[1] - d[0], + v = g[1] - g[0]; + (p[0] = + ((d[0] * (1 - r) + r * g[0] - d[0]) / (d[1] - d[0])) * c), + (p[2] = c * (1 - r + (r * v) / m)), + (i.range[0] = i.l2r(d[0] * (1 - r) + r * g[0])), + (i.range[1] = i.l2r(d[1] * (1 - r) + r * g[1])); + } else (p[0] = 0), (p[2] = c); + if (h) { + var y = a.simpleMap(e.yr0, l.r2l), + x = a.simpleMap(e.yr1, l.r2l), + b = y[1] - y[0], + _ = x[1] - x[0]; + (p[1] = + ((y[1] * (1 - r) + r * x[1] - y[1]) / (y[0] - y[1])) * u), + (p[3] = u * (1 - r + (r * _) / b)), + (l.range[0] = i.l2r(y[0] * (1 - r) + r * x[0])), + (l.range[1] = l.l2r(y[1] * (1 - r) + r * x[1])); + } else (p[1] = 0), (p[3] = u); + s.drawOne(t, i, { skipTitle: !0 }), + s.drawOne(t, l, { skipTitle: !0 }), + s.redrawComponents(t, [i._id, l._id]); + var w = f ? c / p[2] : 1, + T = h ? u / p[3] : 1, + k = f ? p[0] : 0, + M = h ? p[1] : 0, + A = f ? (p[0] / p[2]) * c : 0, + S = h ? (p[1] / p[3]) * u : 0, + E = i._offset - A, + C = l._offset - S; + n.clipRect + .call(o.setTranslate, k, M) + .call(o.setScale, 1 / w, 1 / T), + n.plot.call(o.setTranslate, E, C).call(o.setScale, w, T), + o.setPointGroupScale(n.zoomScalePts, 1 / w, 1 / T), + o.setTextPointsScale(n.zoomScaleTxt, 1 / w, 1 / T); + } + s.redrawComponents(t); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../registry': 911, + './axes': 828, + d3: 169, + }, + ], + 853: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry').traceIs, + i = t('./axis_autotype'); + function a(t) { + return { v: 'x', h: 'y' }[t.orientation || 'v']; + } + function o(t, e) { + var r = a(t), + i = n(t, 'box-violin'), + o = n(t._fullInput || {}, 'candlestick'); + return ( + i && !o && e === r && void 0 === t[r] && void 0 === t[r + '0'] + ); + } + e.exports = function (t, e, r, s) { + r('autotypenumbers', s.autotypenumbersDflt), + '-' === r('type', (s.splomStash || {}).type) && + (!(function (t, e) { + if ('-' !== t.type) return; + var r, + s = t._id, + l = s.charAt(0); + -1 !== s.indexOf('scene') && (s = l); + var c = (function (t, e, r) { + for (var n = 0; n < t.length; n++) { + var i = t[n]; + if ( + 'splom' === i.type && + i._length > 0 && + (i['_' + r + 'axes'] || {})[e] + ) + return i; + if ((i[r + 'axis'] || r) === e) { + if (o(i, r)) return i; + if ((i[r] || []).length || i[r + '0']) return i; + } + } + })(e, s, l); + if (!c) return; + if ( + 'histogram' === c.type && + l === { v: 'y', h: 'x' }[c.orientation || 'v'] + ) + return void (t.type = 'linear'); + var u = l + 'calendar', + f = c[u], + h = { + noMultiCategory: + !n(c, 'cartesian') || n(c, 'noMultiCategory'), + }; + 'box' === c.type && + c._hasPreCompStats && + l === { h: 'x', v: 'y' }[c.orientation || 'v'] && + (h.noMultiCategory = !0); + if (((h.autotypenumbers = t.autotypenumbers), o(c, l))) { + var p = a(c), + d = []; + for (r = 0; r < e.length; r++) { + var g = e[r]; + n(g, 'box-violin') && + (g[l + 'axis'] || l) === s && + (void 0 !== g[p] + ? d.push(g[p][0]) + : void 0 !== g.name + ? d.push(g.name) + : d.push('text'), + g[u] !== f && (f = void 0)); + } + t.type = i(d, f, h); + } else if ('splom' === c.type) { + var m = c.dimensions[c._axesDim[s]]; + m.visible && (t.type = i(m.values, f, h)); + } else t.type = i(c[l] || [c[l + '0']], f, h); + })(e, s.data), + '-' === e.type ? (e.type = 'linear') : (t.type = e.type)); + }; + }, + { '../../registry': 911, './axis_autotype': 829 }, + ], + 854: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'), + i = t('../lib'); + function a(t, e, r) { + var n, + a, + o, + s = !1; + if ('data' === e.type) + n = t._fullData[null !== e.traces ? e.traces[0] : 0]; + else { + if ('layout' !== e.type) return !1; + n = t._fullLayout; + } + return ( + (a = i.nestedProperty(n, e.prop).get()), + (o = r[e.type] = r[e.type] || {}).hasOwnProperty(e.prop) && + o[e.prop] !== a && + (s = !0), + (o[e.prop] = a), + { changed: s, value: a } + ); + } + function o(t, e) { + var r = [], + n = e[0], + a = {}; + if ('string' == typeof n) a[n] = e[1]; + else { + if (!i.isPlainObject(n)) return r; + a = n; + } + return ( + l( + a, + function (t, e, n) { + r.push({ type: 'layout', prop: t, value: n }); + }, + '', + 0 + ), + r + ); + } + function s(t, e) { + var r, + n, + a, + o, + s = []; + if ( + ((n = e[0]), + (a = e[1]), + (r = e[2]), + (o = {}), + 'string' == typeof n) + ) + o[n] = a; + else { + if (!i.isPlainObject(n)) return s; + (o = n), void 0 === r && (r = a); + } + return ( + void 0 === r && (r = null), + l( + o, + function (e, n, i) { + var a, o; + if (Array.isArray(i)) { + o = i.slice(); + var l = Math.min(o.length, t.data.length); + r && (l = Math.min(l, r.length)), (a = []); + for (var c = 0; c < l; c++) a[c] = r ? r[c] : c; + } else (o = i), (a = r ? r.slice() : null); + if (null === a) Array.isArray(o) && (o = o[0]); + else if (Array.isArray(a)) { + if (!Array.isArray(o)) { + var u = o; + o = []; + for (var f = 0; f < a.length; f++) o[f] = u; + } + o.length = Math.min(a.length, o.length); + } + s.push({ type: 'data', prop: e, traces: a, value: o }); + }, + '', + 0 + ), + s + ); + } + function l(t, e, r, n) { + Object.keys(t).forEach(function (a) { + var o = t[a]; + if ('_' !== a[0]) { + var s = r + (n > 0 ? '.' : '') + a; + i.isPlainObject(o) ? l(o, e, s, n + 1) : e(s, a, o); + } + }); + } + (r.manageCommandObserver = function (t, e, n, o) { + var s = {}, + l = !0; + e && e._commandObserver && (s = e._commandObserver), + s.cache || (s.cache = {}), + (s.lookupTable = {}); + var c = r.hasSimpleAPICommandBindings(t, n, s.lookupTable); + if (e && e._commandObserver) { + if (c) return s; + if (e._commandObserver.remove) + return ( + e._commandObserver.remove(), (e._commandObserver = null), s + ); + } + if (c) { + a(t, c, s.cache), + (s.check = function () { + if (l) { + var e = a(t, c, s.cache); + return ( + e.changed && + o && + void 0 !== s.lookupTable[e.value] && + (s.disable(), + Promise.resolve( + o({ + value: e.value, + type: c.type, + prop: c.prop, + traces: c.traces, + index: s.lookupTable[e.value], + }) + ).then(s.enable, s.enable)), + e.changed + ); + } + }); + for ( + var u = [ + 'plotly_relayout', + 'plotly_redraw', + 'plotly_restyle', + 'plotly_update', + 'plotly_animatingframe', + 'plotly_afterplot', + ], + f = 0; + f < u.length; + f++ + ) + t._internalOn(u[f], s.check); + s.remove = function () { + for (var e = 0; e < u.length; e++) + t._removeInternalListener(u[e], s.check); + }; + } else + i.log('Unable to automatically bind plot updates to API command'), + (s.lookupTable = {}), + (s.remove = function () {}); + return ( + (s.disable = function () { + l = !1; + }), + (s.enable = function () { + l = !0; + }), + e && (e._commandObserver = s), + s + ); + }), + (r.hasSimpleAPICommandBindings = function (t, e, n) { + var i, + a, + o = e.length; + for (i = 0; i < o; i++) { + var s, + l = e[i], + c = l.method, + u = l.args; + if ((Array.isArray(u) || (u = []), !c)) return !1; + var f = r.computeAPICommandBindings(t, c, u); + if (1 !== f.length) return !1; + if (a) { + if ((s = f[0]).type !== a.type) return !1; + if (s.prop !== a.prop) return !1; + if (Array.isArray(a.traces)) { + if (!Array.isArray(s.traces)) return !1; + s.traces.sort(); + for (var h = 0; h < a.traces.length; h++) + if (a.traces[h] !== s.traces[h]) return !1; + } else if (s.prop !== a.prop) return !1; + } else (a = f[0]), Array.isArray(a.traces) && a.traces.sort(); + var p = (s = f[0]).value; + if (Array.isArray(p)) { + if (1 !== p.length) return !1; + p = p[0]; + } + n && (n[p] = i); + } + return a; + }), + (r.executeAPICommand = function (t, e, r) { + if ('skip' === e) return Promise.resolve(); + var a = n.apiMethodRegistry[e], + o = [t]; + Array.isArray(r) || (r = []); + for (var s = 0; s < r.length; s++) o.push(r[s]); + return a.apply(null, o).catch(function (t) { + return ( + i.warn('API call to Plotly.' + e + ' rejected.', t), + Promise.reject(t) + ); + }); + }), + (r.computeAPICommandBindings = function (t, e, r) { + var n; + switch ((Array.isArray(r) || (r = []), e)) { + case 'restyle': + n = s(t, r); + break; + case 'relayout': + n = o(t, r); + break; + case 'update': + n = s(t, [r[0], r[2]]).concat(o(t, [r[1]])); + break; + case 'animate': + n = (function (t, e) { + return Array.isArray(e[0]) && + 1 === e[0].length && + -1 !== ['string', 'number'].indexOf(typeof e[0][0]) + ? [ + { + type: 'layout', + prop: '_currentFrame', + value: e[0][0].toString(), + }, + ] + : []; + })(0, r); + break; + default: + n = []; + } + return n; + }); + }, + { '../lib': 778, '../registry': 911 }, + ], + 855: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib/extend').extendFlat; + (r.attributes = function (t, e) { + e = e || {}; + var r = { + valType: 'info_array', + editType: (t = t || {}).editType, + items: [ + { valType: 'number', min: 0, max: 1, editType: t.editType }, + { valType: 'number', min: 0, max: 1, editType: t.editType }, + ], + dflt: [0, 1], + }, + i = + (t.name && t.name, + t.trace, + e.description && e.description, + { x: n({}, r, {}), y: n({}, r, {}), editType: t.editType }); + return ( + t.noGridCell || + ((i.row = { + valType: 'integer', + min: 0, + dflt: 0, + editType: t.editType, + }), + (i.column = { + valType: 'integer', + min: 0, + dflt: 0, + editType: t.editType, + })), + i + ); + }), + (r.defaults = function (t, e, r, n) { + var i = (n && n.x) || [0, 1], + a = (n && n.y) || [0, 1], + o = e.grid; + if (o) { + var s = r('domain.column'); + void 0 !== s && + (s < o.columns + ? (i = o._domains.x[s]) + : delete t.domain.column); + var l = r('domain.row'); + void 0 !== l && + (l < o.rows ? (a = o._domains.y[l]) : delete t.domain.row); + } + var c = r('domain.x', i), + u = r('domain.y', a); + c[0] < c[1] || (t.domain.x = i.slice()), + u[0] < u[1] || (t.domain.y = a.slice()); + }); + }, + { '../lib/extend': 768 }, + ], + 856: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.editType, + r = t.colorEditType; + void 0 === r && (r = e); + var n = { + family: { + valType: 'string', + noBlank: !0, + strict: !0, + editType: e, + }, + size: { valType: 'number', min: 1, editType: e }, + color: { valType: 'color', editType: r }, + editType: e, + }; + return ( + t.arrayOk && + ((n.family.arrayOk = !0), + (n.size.arrayOk = !0), + (n.color.arrayOk = !0)), + n + ); + }; + }, + {}, + ], + 857: [ + function (t, e, r) { + 'use strict'; + e.exports = { + _isLinkedToArray: 'frames_entry', + group: { valType: 'string' }, + name: { valType: 'string' }, + traces: { valType: 'any' }, + baseframe: { valType: 'string' }, + data: { valType: 'any' }, + layout: { valType: 'any' }, + }; + }, + {}, + ], + 858: [ + function (t, e, r) { + 'use strict'; + (r.projNames = { + equirectangular: 'equirectangular', + mercator: 'mercator', + orthographic: 'orthographic', + 'natural earth': 'naturalEarth', + kavrayskiy7: 'kavrayskiy7', + miller: 'miller', + robinson: 'robinson', + eckert4: 'eckert4', + 'azimuthal equal area': 'azimuthalEqualArea', + 'azimuthal equidistant': 'azimuthalEquidistant', + 'conic equal area': 'conicEqualArea', + 'conic conformal': 'conicConformal', + 'conic equidistant': 'conicEquidistant', + gnomonic: 'gnomonic', + stereographic: 'stereographic', + mollweide: 'mollweide', + hammer: 'hammer', + 'transverse mercator': 'transverseMercator', + 'albers usa': 'albersUsa', + 'winkel tripel': 'winkel3', + aitoff: 'aitoff', + sinusoidal: 'sinusoidal', + }), + (r.axesNames = ['lonaxis', 'lataxis']), + (r.lonaxisSpan = { + orthographic: 180, + 'azimuthal equal area': 360, + 'azimuthal equidistant': 360, + 'conic conformal': 180, + gnomonic: 160, + stereographic: 180, + 'transverse mercator': 180, + '*': 360, + }), + (r.lataxisSpan = { + 'conic conformal': 150, + stereographic: 179.5, + '*': 180, + }), + (r.scopeDefaults = { + world: { + lonaxisRange: [-180, 180], + lataxisRange: [-90, 90], + projType: 'equirectangular', + projRotate: [0, 0, 0], + }, + usa: { + lonaxisRange: [-180, -50], + lataxisRange: [15, 80], + projType: 'albers usa', + }, + europe: { + lonaxisRange: [-30, 60], + lataxisRange: [30, 85], + projType: 'conic conformal', + projRotate: [15, 0, 0], + projParallels: [0, 60], + }, + asia: { + lonaxisRange: [22, 160], + lataxisRange: [-15, 55], + projType: 'mercator', + projRotate: [0, 0, 0], + }, + africa: { + lonaxisRange: [-30, 60], + lataxisRange: [-40, 40], + projType: 'mercator', + projRotate: [0, 0, 0], + }, + 'north america': { + lonaxisRange: [-180, -45], + lataxisRange: [5, 85], + projType: 'conic conformal', + projRotate: [-100, 0, 0], + projParallels: [29.5, 45.5], + }, + 'south america': { + lonaxisRange: [-100, -30], + lataxisRange: [-60, 15], + projType: 'mercator', + projRotate: [0, 0, 0], + }, + }), + (r.clipPad = 0.001), + (r.precision = 0.1), + (r.landColor = '#F0DC82'), + (r.waterColor = '#3399FF'), + (r.locationmodeToLayer = { + 'ISO-3': 'countries', + 'USA-states': 'subunits', + 'country names': 'countries', + }), + (r.sphereSVG = { type: 'Sphere' }), + (r.fillLayers = { ocean: 1, land: 1, lakes: 1 }), + (r.lineLayers = { + subunits: 1, + countries: 1, + coastlines: 1, + rivers: 1, + frame: 1, + }), + (r.layers = [ + 'bg', + 'ocean', + 'land', + 'lakes', + 'subunits', + 'countries', + 'coastlines', + 'rivers', + 'lataxis', + 'lonaxis', + 'frame', + 'backplot', + 'frontplot', + ]), + (r.layersForChoropleth = [ + 'bg', + 'ocean', + 'land', + 'subunits', + 'countries', + 'coastlines', + 'lataxis', + 'lonaxis', + 'frame', + 'backplot', + 'rivers', + 'lakes', + 'frontplot', + ]), + (r.layerNameToAdjective = { + ocean: 'ocean', + land: 'land', + lakes: 'lake', + subunits: 'subunit', + countries: 'country', + coastlines: 'coastline', + rivers: 'river', + frame: 'frame', + }); + }, + {}, + ], + 859: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../lib'), + o = a.strTranslate, + s = t('../../components/color'), + l = t('../../components/drawing'), + c = t('../../components/fx'), + u = t('../plots'), + f = t('../cartesian/axes'), + h = t('../cartesian/autorange').getAutoRange, + p = t('../../components/dragelement'), + d = t('../cartesian/select').prepSelect, + g = t('../cartesian/select').clearSelect, + m = t('../cartesian/select').selectOnClick, + v = t('./zoom'), + y = t('./constants'), + x = t('../../lib/geo_location_utils'), + b = t('../../lib/topojson_utils'), + _ = t('topojson-client').feature; + function w(t) { + (this.id = t.id), + (this.graphDiv = t.graphDiv), + (this.container = t.container), + (this.topojsonURL = t.topojsonURL), + (this.isStatic = t.staticPlot), + (this.topojsonName = null), + (this.topojson = null), + (this.projection = null), + (this.scope = null), + (this.viewInitial = null), + (this.fitScale = null), + (this.bounds = null), + (this.midPt = null), + (this.hasChoropleth = !1), + (this.traceHash = {}), + (this.layers = {}), + (this.basePaths = {}), + (this.dataPaths = {}), + (this.dataPoints = {}), + (this.clipDef = null), + (this.clipRect = null), + (this.bgRect = null), + this.makeFramework(); + } + t('./projections')(n); + var T = w.prototype; + function k(t, e) { + var r = y.clipPad, + n = t[0] + r, + i = t[1] - r, + a = e[0] + r, + o = e[1] - r; + n > 0 && i < 0 && (i += 360); + var s = (i - n) / 4; + return { + type: 'Polygon', + coordinates: [ + [ + [n, a], + [n, o], + [n + s, o], + [n + 2 * s, o], + [n + 3 * s, o], + [i, o], + [i, a], + [i - s, a], + [i - 2 * s, a], + [i - 3 * s, a], + [n, a], + ], + ], + }; + } + (e.exports = function (t) { + return new w(t); + }), + (T.plot = function (t, e, r) { + var n = this, + i = e[this.id], + a = [], + o = !1; + for (var s in y.layerNameToAdjective) + if ('frame' !== s && i['show' + s]) { + o = !0; + break; + } + for (var l = 0; l < t.length; l++) + if (t[0][0].trace.locationmode) { + o = !0; + break; + } + if (o) { + var c = b.getTopojsonName(i); + (null !== n.topojson && c === n.topojsonName) || + ((n.topojsonName = c), + void 0 === PlotlyGeoAssets.topojson[n.topojsonName] && + a.push(n.fetchTopojson())); + } + (a = a.concat(x.fetchTraceGeoData(t))), + r.push( + new Promise(function (r, i) { + Promise.all(a) + .then(function () { + (n.topojson = PlotlyGeoAssets.topojson[n.topojsonName]), + n.update(t, e), + r(); + }) + .catch(i); + }) + ); + }), + (T.fetchTopojson = function () { + var t = this, + e = b.getTopojsonPath(t.topojsonURL, t.topojsonName); + return new Promise(function (r, i) { + n.json(e, function (n, a) { + if (n) + return 404 === n.status + ? i( + new Error( + [ + 'plotly.js could not find topojson file at', + e, + '.', + 'Make sure the *topojsonURL* plot config option', + 'is set properly.', + ].join(' ') + ) + ) + : i( + new Error( + [ + 'unexpected error while fetching topojson file at', + e, + ].join(' ') + ) + ); + (PlotlyGeoAssets.topojson[t.topojsonName] = a), r(); + }); + }); + }), + (T.update = function (t, e) { + var r = e[this.id]; + this.hasChoropleth = !1; + for (var n = 0; n < t.length; n++) { + var i = t[n], + a = i[0].trace; + 'choropleth' === a.type && (this.hasChoropleth = !0), + !0 === a.visible && + a._length > 0 && + a._module.calcGeoJSON(i, e); + } + if (!this.updateProjection(t, e)) { + (this.viewInitial && this.scope === r.scope) || + this.saveViewInitial(r), + (this.scope = r.scope), + this.updateBaseLayers(e, r), + this.updateDims(e, r), + this.updateFx(e, r), + u.generalUpdatePerTraceModule(this.graphDiv, this, t, r); + var o = this.layers.frontplot.select('.scatterlayer'); + (this.dataPoints.point = o.selectAll('.point')), + (this.dataPoints.text = o.selectAll('text')), + (this.dataPaths.line = o.selectAll('.js-line')); + var s = this.layers.backplot.select('.choroplethlayer'); + (this.dataPaths.choropleth = s.selectAll('path')), + this.render(); + } + }), + (T.updateProjection = function (t, e) { + var r = this.graphDiv, + o = e[this.id], + s = e._size, + l = o.domain, + c = o.projection, + u = o.lonaxis, + f = o.lataxis, + p = u._ax, + d = f._ax, + g = (this.projection = (function (t) { + for ( + var e = t.projection.type, + r = n.geo[y.projNames[e]](), + i = t._isClipped ? y.lonaxisSpan[e] / 2 : null, + a = ['center', 'rotate', 'parallels', 'clipExtent'], + o = function (t) { + return t ? r : []; + }, + s = 0; + s < a.length; + s++ + ) { + var l = a[s]; + 'function' != typeof r[l] && (r[l] = o); + } + (r.isLonLatOverEdges = function (t) { + if (null === r(t)) return !0; + if (i) { + var e = r.rotate(); + return ( + n.geo.distance(t, [-e[0], -e[1]]) > (i * Math.PI) / 180 + ); + } + return !1; + }), + (r.getPath = function () { + return n.geo.path().projection(r); + }), + (r.getBounds = function (t) { + return r.getPath().bounds(t); + }), + (r.fitExtent = function (t, e) { + var n = t[1][0] - t[0][0], + i = t[1][1] - t[0][1], + a = r.clipExtent && r.clipExtent(); + r.scale(150).translate([0, 0]), a && r.clipExtent(null); + var o = r.getBounds(e), + s = Math.min( + n / (o[1][0] - o[0][0]), + i / (o[1][1] - o[0][1]) + ), + l = +t[0][0] + (n - s * (o[1][0] + o[0][0])) / 2, + c = +t[0][1] + (i - s * (o[1][1] + o[0][1])) / 2; + return ( + a && r.clipExtent(a), r.scale(150 * s).translate([l, c]) + ); + }), + r.precision(y.precision), + i && r.clipAngle(i - y.clipPad); + return r; + })(o)), + m = [ + [s.l + s.w * l.x[0], s.t + s.h * (1 - l.y[1])], + [s.l + s.w * l.x[1], s.t + s.h * (1 - l.y[0])], + ], + v = o.center || {}, + x = c.rotation || {}, + b = u.range || [], + _ = f.range || []; + if (o.fitbounds) { + (p._length = m[1][0] - m[0][0]), + (d._length = m[1][1] - m[0][1]), + (p.range = h(r, p)), + (d.range = h(r, d)); + var w = (p.range[0] + p.range[1]) / 2, + T = (d.range[0] + d.range[1]) / 2; + if (o._isScoped) v = { lon: w, lat: T }; + else if (o._isClipped) { + (v = { lon: w, lat: T }), + (x = { lon: w, lat: T, roll: x.roll }); + var M = c.type, + A = y.lonaxisSpan[M] / 2 || 180, + S = y.lataxisSpan[M] / 2 || 90; + (b = [w - A, w + A]), (_ = [T - S, T + S]); + } else + (v = { lon: w, lat: T }), + (x = { lon: w, lat: x.lat, roll: x.roll }); + } + g.center([v.lon - x.lon, v.lat - x.lat]) + .rotate([-x.lon, -x.lat, x.roll]) + .parallels(c.parallels); + var E = k(b, _); + g.fitExtent(m, E); + var C = (this.bounds = g.getBounds(E)), + L = (this.fitScale = g.scale()), + I = g.translate(); + if ( + !isFinite(C[0][0]) || + !isFinite(C[0][1]) || + !isFinite(C[1][0]) || + !isFinite(C[1][1]) || + isNaN(I[0]) || + isNaN(I[0]) + ) { + for ( + var P = [ + 'fitbounds', + 'projection.rotation', + 'center', + 'lonaxis.range', + 'lataxis.range', + ], + z = "Invalid geo settings, relayout'ing to default view.", + O = {}, + D = 0; + D < P.length; + D++ + ) + O[this.id + '.' + P[D]] = null; + return ( + (this.viewInitial = null), + a.warn(z), + r._promises.push(i.call('relayout', r, O)), + z + ); + } + if (o.fitbounds) { + var R = g.getBounds(k(p.range, d.range)), + F = Math.min( + (C[1][0] - C[0][0]) / (R[1][0] - R[0][0]), + (C[1][1] - C[0][1]) / (R[1][1] - R[0][1]) + ); + isFinite(F) + ? g.scale(F * L) + : a.warn( + 'Something went wrong during' + + this.id + + 'fitbounds computations.' + ); + } else g.scale(c.scale * L); + var B = (this.midPt = [ + (C[0][0] + C[1][0]) / 2, + (C[0][1] + C[1][1]) / 2, + ]); + if ( + (g + .translate([I[0] + (B[0] - I[0]), I[1] + (B[1] - I[1])]) + .clipExtent(C), + o._isAlbersUsa) + ) { + var N = g([v.lon, v.lat]), + j = g.translate(); + g.translate([j[0] - (N[0] - j[0]), j[1] - (N[1] - j[1])]); + } + }), + (T.updateBaseLayers = function (t, e) { + var r = this, + i = r.topojson, + a = r.layers, + o = r.basePaths; + function c(t) { + return 'lonaxis' === t || 'lataxis' === t; + } + function u(t) { + return Boolean(y.lineLayers[t]); + } + function h(t) { + return Boolean(y.fillLayers[t]); + } + var p = ( + this.hasChoropleth ? y.layersForChoropleth : y.layers + ).filter(function (t) { + return u(t) || h(t) ? e['show' + t] : !c(t) || e[t].showgrid; + }), + d = r.framework.selectAll('.layer').data(p, String); + d.exit().each(function (t) { + delete a[t], delete o[t], n.select(this).remove(); + }), + d + .enter() + .append('g') + .attr('class', function (t) { + return 'layer ' + t; + }) + .each(function (t) { + var e = (a[t] = n.select(this)); + 'bg' === t + ? (r.bgRect = e + .append('rect') + .style('pointer-events', 'all')) + : c(t) + ? (o[t] = e.append('path').style('fill', 'none')) + : 'backplot' === t + ? e.append('g').classed('choroplethlayer', !0) + : 'frontplot' === t + ? e.append('g').classed('scatterlayer', !0) + : u(t) + ? (o[t] = e + .append('path') + .style('fill', 'none') + .style('stroke-miterlimit', 2)) + : h(t) && + (o[t] = e.append('path').style('stroke', 'none')); + }), + d.order(), + d.each(function (r) { + var n = o[r], + a = y.layerNameToAdjective[r]; + 'frame' === r + ? n.datum(y.sphereSVG) + : u(r) || h(r) + ? n.datum(_(i, i.objects[r])) + : c(r) && + n + .datum( + (function (t, e, r) { + var n, + i, + a, + o = e[t], + s = y.scopeDefaults[e.scope]; + 'lonaxis' === t + ? ((n = s.lonaxisRange), + (i = s.lataxisRange), + (a = function (t, e) { + return [t, e]; + })) + : 'lataxis' === t && + ((n = s.lataxisRange), + (i = s.lonaxisRange), + (a = function (t, e) { + return [e, t]; + })); + var l = { + type: 'linear', + range: [n[0], n[1] - 1e-6], + tick0: o.tick0, + dtick: o.dtick, + }; + f.setConvert(l, r); + var c = f.calcTicks(l); + e.isScoped || 'lonaxis' !== t || c.pop(); + for ( + var u = c.length, h = new Array(u), p = 0; + p < u; + p++ + ) + for ( + var d = c[p].x, g = (h[p] = []), m = i[0]; + m < i[1] + 2.5; + m += 2.5 + ) + g.push(a(d, m)); + return { type: 'MultiLineString', coordinates: h }; + })(r, e, t) + ) + .call(s.stroke, e[r].gridcolor) + .call(l.dashLine, '', e[r].gridwidth), + u(r) + ? n + .call(s.stroke, e[a + 'color']) + .call(l.dashLine, '', e[a + 'width']) + : h(r) && n.call(s.fill, e[a + 'color']); + }); + }), + (T.updateDims = function (t, e) { + var r = this.bounds, + n = (e.framewidth || 0) / 2, + i = r[0][0] - n, + a = r[0][1] - n, + o = r[1][0] - i + n, + c = r[1][1] - a + n; + l.setRect(this.clipRect, i, a, o, c), + this.bgRect.call(l.setRect, i, a, o, c).call(s.fill, e.bgcolor), + (this.xaxis._offset = i), + (this.xaxis._length = o), + (this.yaxis._offset = a), + (this.yaxis._length = c); + }), + (T.updateFx = function (t, e) { + var r = this, + a = r.graphDiv, + o = r.bgRect, + s = t.dragmode, + l = t.clickmode; + if (!r.isStatic) { + var u; + 'select' === s + ? (u = function (t, e) { + (t.range = {})[r.id] = [ + h([e.xmin, e.ymin]), + h([e.xmax, e.ymax]), + ]; + }) + : 'lasso' === s && + (u = function (t, e, n) { + (t.lassoPoints = {})[r.id] = n.filtered.map(h); + }); + var f = { + element: r.bgRect.node(), + gd: a, + plotinfo: { + id: r.id, + xaxis: r.xaxis, + yaxis: r.yaxis, + fillRangeItems: u, + }, + xaxes: [r.xaxis], + yaxes: [r.yaxis], + subplot: r.id, + clickFn: function (t) { + 2 === t && g(a); + }, + }; + 'pan' === s + ? ((o.node().onmousedown = null), + o.call(v(r, e)), + o.on('dblclick.zoom', function () { + var t = r.viewInitial, + e = {}; + for (var n in t) e[r.id + '.' + n] = t[n]; + i.call('_guiRelayout', a, e), + a.emit('plotly_doubleclick', null); + }), + a._context._scrollZoom.geo || o.on('wheel.zoom', null)) + : ('select' !== s && 'lasso' !== s) || + (o.on('.zoom', null), + (f.prepFn = function (t, e, r) { + d(t, e, r, f, s); + }), + p.init(f)), + o.on('mousemove', function () { + var t = r.projection.invert(n.mouse(this)); + if (!t || isNaN(t[0]) || isNaN(t[1])) + return p.unhover(a, n.event); + (r.xaxis.p2c = function () { + return t[0]; + }), + (r.yaxis.p2c = function () { + return t[1]; + }), + c.hover(a, n.event, r.id); + }), + o.on('mouseout', function () { + a._dragging || p.unhover(a, n.event); + }), + o.on('click', function () { + 'select' !== s && + 'lasso' !== s && + (l.indexOf('select') > -1 && + m(n.event, a, [r.xaxis], [r.yaxis], r.id, f), + l.indexOf('event') > -1 && c.click(a, n.event)); + }); + } + function h(t) { + return r.projection.invert([ + t[0] + r.xaxis._offset, + t[1] + r.yaxis._offset, + ]); + } + }), + (T.makeFramework = function () { + var t = this, + e = t.graphDiv, + r = e._fullLayout, + i = 'clip' + r._uid + t.id; + (t.clipDef = r._clips.append('clipPath').attr('id', i)), + (t.clipRect = t.clipDef.append('rect')), + (t.framework = n + .select(t.container) + .append('g') + .attr('class', 'geo ' + t.id) + .call(l.setClipUrl, i, e)), + (t.project = function (e) { + var r = t.projection(e); + return r + ? [r[0] - t.xaxis._offset, r[1] - t.yaxis._offset] + : [null, null]; + }), + (t.xaxis = { + _id: 'x', + c2p: function (e) { + return t.project(e)[0]; + }, + }), + (t.yaxis = { + _id: 'y', + c2p: function (e) { + return t.project(e)[1]; + }, + }), + (t.mockAxis = { + type: 'linear', + showexponent: 'all', + exponentformat: 'B', + }), + f.setConvert(t.mockAxis, r); + }), + (T.saveViewInitial = function (t) { + var e, + r = t.center || {}, + n = t.projection, + i = n.rotation || {}; + (this.viewInitial = { + fitbounds: t.fitbounds, + 'projection.scale': n.scale, + }), + (e = t._isScoped + ? { 'center.lon': r.lon, 'center.lat': r.lat } + : t._isClipped + ? { + 'projection.rotation.lon': i.lon, + 'projection.rotation.lat': i.lat, + } + : { + 'center.lon': r.lon, + 'center.lat': r.lat, + 'projection.rotation.lon': i.lon, + }), + a.extendFlat(this.viewInitial, e); + }), + (T.render = function () { + var t, + e = this.projection, + r = e.getPath(); + function n(t) { + var r = e(t.lonlat); + return r ? o(r[0], r[1]) : null; + } + function i(t) { + return e.isLonLatOverEdges(t.lonlat) ? 'none' : null; + } + for (t in this.basePaths) this.basePaths[t].attr('d', r); + for (t in this.dataPaths) + this.dataPaths[t].attr('d', function (t) { + return r(t.geojson); + }); + for (t in this.dataPoints) + this.dataPoints[t].attr('display', i).attr('transform', n); + }); + }, + { + '../../components/color': 643, + '../../components/dragelement': 662, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../lib': 778, + '../../lib/geo_location_utils': 771, + '../../lib/topojson_utils': 806, + '../../registry': 911, + '../cartesian/autorange': 827, + '../cartesian/axes': 828, + '../cartesian/select': 847, + '../plots': 891, + './constants': 858, + './projections': 863, + './zoom': 864, + d3: 169, + 'topojson-client': 579, + }, + ], + 860: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/get_data').getSubplotCalcData, + i = t('../../lib').counterRegex, + a = t('./geo'), + o = 'geo', + s = i(o), + l = {}; + (l.geo = { valType: 'subplotid', dflt: o, editType: 'calc' }), + (e.exports = { + attr: o, + name: o, + idRoot: o, + idRegex: s, + attrRegex: s, + attributes: l, + layoutAttributes: t('./layout_attributes'), + supplyLayoutDefaults: t('./layout_defaults'), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots.geo, + s = 0; + s < i.length; + s++ + ) { + var l = i[s], + c = n(r, o, l), + u = e[l]._subplot; + u || + ((u = a({ + id: l, + graphDiv: t, + container: e._geolayer.node(), + topojsonURL: t._context.topojsonURL, + staticPlot: t._context.staticPlot, + })), + (e[l]._subplot = u)), + u.plot(c, e, t._promises); + } + }, + updateFx: function (t) { + for ( + var e = t._fullLayout, r = e._subplots.geo, n = 0; + n < r.length; + n++ + ) { + var i = e[r[n]]; + i._subplot.updateFx(e, i); + } + }, + clean: function (t, e, r, n) { + for (var i = n._subplots.geo || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n[o]._subplot; + !e[o] && s && (s.framework.remove(), s.clipDef.remove()); + } + }, + }); + }, + { + '../../lib': 778, + '../../plots/get_data': 865, + './geo': 859, + './layout_attributes': 861, + './layout_defaults': 862, + }, + ], + 861: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color/attributes'), + i = t('../domain').attributes, + a = t('./constants'), + o = t('../../plot_api/edit_types').overrideAll, + s = { + range: { + valType: 'info_array', + items: [{ valType: 'number' }, { valType: 'number' }], + }, + showgrid: { valType: 'boolean', dflt: !1 }, + tick0: { valType: 'number', dflt: 0 }, + dtick: { valType: 'number' }, + gridcolor: { valType: 'color', dflt: n.lightLine }, + gridwidth: { valType: 'number', min: 0, dflt: 1 }, + }; + (e.exports = o( + { + domain: i({ name: 'geo' }, {}), + fitbounds: { + valType: 'enumerated', + values: [!1, 'locations', 'geojson'], + dflt: !1, + editType: 'plot', + }, + resolution: { + valType: 'enumerated', + values: [110, 50], + dflt: 110, + coerceNumber: !0, + }, + scope: { + valType: 'enumerated', + values: Object.keys(a.scopeDefaults), + dflt: 'world', + }, + projection: { + type: { + valType: 'enumerated', + values: Object.keys(a.projNames), + }, + rotation: { + lon: { valType: 'number' }, + lat: { valType: 'number' }, + roll: { valType: 'number' }, + }, + parallels: { + valType: 'info_array', + items: [{ valType: 'number' }, { valType: 'number' }], + }, + scale: { valType: 'number', min: 0, dflt: 1 }, + }, + center: { + lon: { valType: 'number' }, + lat: { valType: 'number' }, + }, + visible: { valType: 'boolean', dflt: !0 }, + showcoastlines: { valType: 'boolean' }, + coastlinecolor: { valType: 'color', dflt: n.defaultLine }, + coastlinewidth: { valType: 'number', min: 0, dflt: 1 }, + showland: { valType: 'boolean', dflt: !1 }, + landcolor: { valType: 'color', dflt: a.landColor }, + showocean: { valType: 'boolean', dflt: !1 }, + oceancolor: { valType: 'color', dflt: a.waterColor }, + showlakes: { valType: 'boolean', dflt: !1 }, + lakecolor: { valType: 'color', dflt: a.waterColor }, + showrivers: { valType: 'boolean', dflt: !1 }, + rivercolor: { valType: 'color', dflt: a.waterColor }, + riverwidth: { valType: 'number', min: 0, dflt: 1 }, + showcountries: { valType: 'boolean' }, + countrycolor: { valType: 'color', dflt: n.defaultLine }, + countrywidth: { valType: 'number', min: 0, dflt: 1 }, + showsubunits: { valType: 'boolean' }, + subunitcolor: { valType: 'color', dflt: n.defaultLine }, + subunitwidth: { valType: 'number', min: 0, dflt: 1 }, + showframe: { valType: 'boolean' }, + framecolor: { valType: 'color', dflt: n.defaultLine }, + framewidth: { valType: 'number', min: 0, dflt: 1 }, + bgcolor: { valType: 'color', dflt: n.background }, + lonaxis: s, + lataxis: s, + }, + 'plot', + 'from-root' + )).uirevision = { valType: 'any', editType: 'none' }; + }, + { + '../../components/color/attributes': 642, + '../../plot_api/edit_types': 810, + '../domain': 855, + './constants': 858, + }, + ], + 862: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../subplot_defaults'), + a = t('../get_data').getSubplotData, + o = t('./constants'), + s = t('./layout_attributes'), + l = o.axesNames; + function c(t, e, r, i) { + var s = a(i.fullData, 'geo', i.id).map(function (t) { + return t._expandedIndex; + }), + c = r('resolution'), + u = r('scope'), + f = o.scopeDefaults[u], + h = r('projection.type', f.projType), + p = (e._isAlbersUsa = 'albers usa' === h); + p && (u = e.scope = 'usa'); + var d = (e._isScoped = 'world' !== u), + g = (e._isConic = -1 !== h.indexOf('conic')), + m = (e._isClipped = !!o.lonaxisSpan[h]); + if (!1 === t.visible) { + var v = n.extendDeep({}, e._template); + (v.showcoastlines = !1), + (v.showcountries = !1), + (v.showframe = !1), + (v.showlakes = !1), + (v.showland = !1), + (v.showocean = !1), + (v.showrivers = !1), + (v.showsubunits = !1), + v.lonaxis && (v.lonaxis.showgrid = !1), + v.lataxis && (v.lataxis.showgrid = !1), + (e._template = v); + } + for (var y = r('visible'), x = 0; x < l.length; x++) { + var b, + _ = l[x], + w = [30, 10][x]; + if (d) b = f[_ + 'Range']; + else { + var T = o[_ + 'Span'], + k = (T[h] || T['*']) / 2, + M = r( + 'projection.rotation.' + _.substr(0, 3), + f.projRotate[x] + ); + b = [M - k, M + k]; + } + var A = r(_ + '.range', b); + r(_ + '.tick0'), + r(_ + '.dtick', w), + r(_ + '.showgrid', !!y && void 0) && + (r(_ + '.gridcolor'), r(_ + '.gridwidth')), + (e[_]._ax = { + type: 'linear', + _id: _.slice(0, 3), + _traceIndices: s, + setScale: n.identity, + c2l: n.identity, + r2l: n.identity, + autorange: !0, + range: A.slice(), + _m: 1, + _input: {}, + }); + } + var S = e.lonaxis.range, + E = e.lataxis.range, + C = S[0], + L = S[1]; + C > 0 && L < 0 && (L += 360); + var I, + P, + z, + O = (C + L) / 2; + if (!p) { + var D = d ? f.projRotate : [O, 0, 0]; + (I = r('projection.rotation.lon', D[0])), + r('projection.rotation.lat', D[1]), + r('projection.rotation.roll', D[2]), + r('showcoastlines', !d && y) && + (r('coastlinecolor'), r('coastlinewidth')), + r('showocean', !!y && void 0) && r('oceancolor'); + } + (p + ? ((P = -96.6), (z = 38.7)) + : ((P = d ? O : I), (z = (E[0] + E[1]) / 2)), + r('center.lon', P), + r('center.lat', z), + g) && r('projection.parallels', f.projParallels || [0, 60]); + r('projection.scale'), + r('showland', !!y && void 0) && r('landcolor'), + r('showlakes', !!y && void 0) && r('lakecolor'), + r('showrivers', !!y && void 0) && + (r('rivercolor'), r('riverwidth')), + r('showcountries', d && 'usa' !== u && y) && + (r('countrycolor'), r('countrywidth')), + ('usa' === u || ('north america' === u && 50 === c)) && + (r('showsubunits', y), r('subunitcolor'), r('subunitwidth')), + d || (r('showframe', y) && (r('framecolor'), r('framewidth'))), + r('bgcolor'), + r('fitbounds') && + (delete e.projection.scale, + d + ? (delete e.center.lon, delete e.center.lat) + : m + ? (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon, + delete e.projection.rotation.lat, + delete e.lonaxis.range, + delete e.lataxis.range) + : (delete e.center.lon, + delete e.center.lat, + delete e.projection.rotation.lon)); + } + e.exports = function (t, e, r) { + i(t, e, r, { + type: 'geo', + attributes: s, + handleDefaults: c, + fullData: r, + partition: 'y', + }); + }; + }, + { + '../../lib': 778, + '../get_data': 865, + '../subplot_defaults': 905, + './constants': 858, + './layout_attributes': 861, + }, + ], + 863: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + function e(t, e) { + return { + type: 'Feature', + id: t.id, + properties: t.properties, + geometry: r(t.geometry, e), + }; + } + function r(e, n) { + if (!e) return null; + if ('GeometryCollection' === e.type) + return { + type: 'GeometryCollection', + geometries: object.geometries.map(function (t) { + return r(t, n); + }), + }; + if (!c.hasOwnProperty(e.type)) return null; + var i = c[e.type]; + return t.geo.stream(e, n(i)), i.result(); + } + t.geo.project = function (t, e) { + var i = e.stream; + if (!i) throw new Error('not yet supported'); + return (t && n.hasOwnProperty(t.type) ? n[t.type] : r)(t, i); + }; + var n = { + Feature: e, + FeatureCollection: function (t, r) { + return { + type: 'FeatureCollection', + features: t.features.map(function (t) { + return e(t, r); + }), + }; + }, + }, + i = [], + a = [], + o = { + point: function (t, e) { + i.push([t, e]); + }, + result: function () { + var t = i.length + ? i.length < 2 + ? { type: 'Point', coordinates: i[0] } + : { type: 'MultiPoint', coordinates: i } + : null; + return (i = []), t; + }, + }, + s = { + lineStart: u, + point: function (t, e) { + i.push([t, e]); + }, + lineEnd: function () { + i.length && (a.push(i), (i = [])); + }, + result: function () { + var t = a.length + ? a.length < 2 + ? { type: 'LineString', coordinates: a[0] } + : { type: 'MultiLineString', coordinates: a } + : null; + return (a = []), t; + }, + }, + l = { + polygonStart: u, + lineStart: u, + point: function (t, e) { + i.push([t, e]); + }, + lineEnd: function () { + var t = i.length; + if (t) { + do { + i.push(i[0].slice()); + } while (++t < 4); + a.push(i), (i = []); + } + }, + polygonEnd: u, + result: function () { + if (!a.length) return null; + var t = [], + e = []; + return ( + a.forEach(function (r) { + !(function (t) { + if ((e = t.length) < 4) return !1; + var e, + r = 0, + n = t[e - 1][1] * t[0][0] - t[e - 1][0] * t[0][1]; + for (; ++r < e; ) + n += t[r - 1][1] * t[r][0] - t[r - 1][0] * t[r][1]; + return n <= 0; + })(r) + ? e.push(r) + : t.push([r]); + }), + e.forEach(function (e) { + var r = e[0]; + t.some(function (t) { + if ( + (function (t, e) { + for ( + var r = e[0], + n = e[1], + i = !1, + a = 0, + o = t.length, + s = o - 1; + a < o; + s = a++ + ) { + var l = t[a], + c = l[0], + u = l[1], + f = t[s], + h = f[0], + p = f[1]; + (u > n) ^ (p > n) && + r < ((h - c) * (n - u)) / (p - u) + c && + (i = !i); + } + return i; + })(t[0], r) + ) + return t.push(e), !0; + }) || t.push([e]); + }), + (a = []), + t.length + ? t.length > 1 + ? { type: 'MultiPolygon', coordinates: t } + : { type: 'Polygon', coordinates: t[0] } + : null + ); + }, + }, + c = { + Point: o, + MultiPoint: o, + LineString: s, + MultiLineString: s, + Polygon: l, + MultiPolygon: l, + Sphere: l, + }; + function u() {} + var f = 1e-6, + h = Math.PI, + p = h / 2, + d = (Math.sqrt(h), h / 180), + g = 180 / h; + function m(t) { + return t > 1 ? p : t < -1 ? -p : Math.asin(t); + } + function v(t) { + return t > 1 ? 0 : t < -1 ? h : Math.acos(t); + } + var y = t.geo.projection, + x = t.geo.projectionMutator; + function b(t, e) { + var r = (2 + p) * Math.sin(e); + e /= 2; + for (var n = 0, i = 1 / 0; n < 10 && Math.abs(i) > f; n++) { + var a = Math.cos(e); + e -= i = (e + Math.sin(e) * (a + 2) - r) / (2 * a * (1 + a)); + } + return [ + (2 / Math.sqrt(h * (4 + h))) * t * (1 + Math.cos(e)), + 2 * Math.sqrt(h / (4 + h)) * Math.sin(e), + ]; + } + (t.geo.interrupt = function (e) { + var r, + n = [ + [ + [ + [-h, 0], + [0, p], + [h, 0], + ], + ], + [ + [ + [-h, 0], + [0, -p], + [h, 0], + ], + ], + ]; + function i(t, r) { + for ( + var i = r < 0 ? -1 : 1, + a = n[+(r < 0)], + o = 0, + s = a.length - 1; + o < s && t > a[o][2][0]; + ++o + ); + var l = e(t - a[o][1][0], r); + return ( + (l[0] += e( + a[o][1][0], + i * r > i * a[o][0][1] ? a[o][0][1] : r + )[0]), + l + ); + } + function a() { + r = n.map(function (t) { + return t.map(function (t) { + var r, + n = e(t[0][0], t[0][1])[0], + i = e(t[2][0], t[2][1])[0], + a = e(t[1][0], t[0][1])[1], + o = e(t[1][0], t[1][1])[1]; + return ( + a > o && ((r = a), (a = o), (o = r)), + [ + [n, a], + [i, o], + ] + ); + }); + }); + } + e.invert && + (i.invert = function (t, a) { + for ( + var o = r[+(a < 0)], s = n[+(a < 0)], l = 0, u = o.length; + l < u; + ++l + ) { + var f = o[l]; + if ( + f[0][0] <= t && + t < f[1][0] && + f[0][1] <= a && + a < f[1][1] + ) { + var h = e.invert(t - e(s[l][1][0], 0)[0], a); + return ( + (h[0] += s[l][1][0]), + c(i(h[0], h[1]), [t, a]) ? h : null + ); + } + } + }); + var o = t.geo.projection(i), + s = o.stream; + function l(t, e) { + for ( + var r, n, i, a = -1, o = t.length, s = t[0], l = []; + ++a < o; + + ) { + (n = ((r = t[a])[0] - s[0]) / e), (i = (r[1] - s[1]) / e); + for (var c = 0; c < e; ++c) + l.push([s[0] + c * n, s[1] + c * i]); + s = r; + } + return l.push(r), l; + } + function c(t, e) { + return Math.abs(t[0] - e[0]) < f && Math.abs(t[1] - e[1]) < f; + } + return ( + (o.stream = function (e) { + var r = o.rotate(), + i = s(e), + a = (o.rotate([0, 0]), s(e)); + return ( + o.rotate(r), + (i.sphere = function () { + t.geo.stream( + (function () { + for ( + var e = 1e-6, r = [], i = 0, a = n[0].length; + i < a; + ++i + ) { + var o = (180 * (p = n[0][i])[0][0]) / h, + s = (180 * p[0][1]) / h, + c = (180 * p[1][1]) / h, + u = (180 * p[2][0]) / h, + f = (180 * p[2][1]) / h; + r.push( + l( + [ + [o + e, s + e], + [o + e, c - e], + [u - e, c - e], + [u - e, f + e], + ], + 30 + ) + ); + } + for (i = n[1].length - 1; i >= 0; --i) { + var p; + (o = (180 * (p = n[1][i])[0][0]) / h), + (s = (180 * p[0][1]) / h), + (c = (180 * p[1][1]) / h), + (u = (180 * p[2][0]) / h), + (f = (180 * p[2][1]) / h); + r.push( + l( + [ + [u - e, f - e], + [u - e, c + e], + [o + e, c + e], + [o + e, s - e], + ], + 30 + ) + ); + } + return { type: 'Polygon', coordinates: [t.merge(r)] }; + })(), + a + ); + }), + i + ); + }), + (o.lobes = function (t) { + return arguments.length + ? ((n = t.map(function (t) { + return t.map(function (t) { + return [ + [(t[0][0] * h) / 180, (t[0][1] * h) / 180], + [(t[1][0] * h) / 180, (t[1][1] * h) / 180], + [(t[2][0] * h) / 180, (t[2][1] * h) / 180], + ]; + }); + })), + a(), + o) + : n.map(function (t) { + return t.map(function (t) { + return [ + [(180 * t[0][0]) / h, (180 * t[0][1]) / h], + [(180 * t[1][0]) / h, (180 * t[1][1]) / h], + [(180 * t[2][0]) / h, (180 * t[2][1]) / h], + ]; + }); + }); + }), + o + ); + }), + (b.invert = function (t, e) { + var r = 0.5 * e * Math.sqrt((4 + h) / h), + n = m(r), + i = Math.cos(n); + return [ + t / ((2 / Math.sqrt(h * (4 + h))) * (1 + i)), + m((n + r * (i + 2)) / (2 + p)), + ]; + }), + ((t.geo.eckert4 = function () { + return y(b); + }).raw = b); + var _ = t.geo.azimuthalEqualArea.raw; + function w(t, e) { + if ((arguments.length < 2 && (e = t), 1 === e)) return _; + if (e === 1 / 0) return T; + function r(r, n) { + var i = _(r / e, n); + return (i[0] *= t), i; + } + return ( + (r.invert = function (r, n) { + var i = _.invert(r / t, n); + return (i[0] *= e), i; + }), + r + ); + } + function T(t, e) { + return [(t * Math.cos(e)) / Math.cos((e /= 2)), 2 * Math.sin(e)]; + } + function k(t, e) { + return [((3 * t) / (2 * h)) * Math.sqrt((h * h) / 3 - e * e), e]; + } + function M(t, e) { + return [t, 1.25 * Math.log(Math.tan(h / 4 + 0.4 * e))]; + } + function A(t) { + return function (e) { + var r, + n = t * Math.sin(e), + i = 30; + do { + e -= r = (e + Math.sin(e) - n) / (1 + Math.cos(e)); + } while (Math.abs(r) > f && --i > 0); + return e / 2; + }; + } + (T.invert = function (t, e) { + var r = 2 * m(e / 2); + return [(t * Math.cos(r / 2)) / Math.cos(r), r]; + }), + ((t.geo.hammer = function () { + var t = 2, + e = x(w), + r = e(t); + return ( + (r.coefficient = function (r) { + return arguments.length ? e((t = +r)) : t; + }), + r + ); + }).raw = w), + (k.invert = function (t, e) { + return [((2 / 3) * h * t) / Math.sqrt((h * h) / 3 - e * e), e]; + }), + ((t.geo.kavrayskiy7 = function () { + return y(k); + }).raw = k), + (M.invert = function (t, e) { + return [t, 2.5 * Math.atan(Math.exp(0.8 * e)) - 0.625 * h]; + }), + ((t.geo.miller = function () { + return y(M); + }).raw = M), + A(h); + var S = (function (t, e, r) { + var n = A(r); + function i(r, i) { + return [t * r * Math.cos((i = n(i))), e * Math.sin(i)]; + } + return ( + (i.invert = function (n, i) { + var a = m(i / e); + return [ + n / (t * Math.cos(a)), + m((2 * a + Math.sin(2 * a)) / r), + ]; + }), + i + ); + })(Math.SQRT2 / p, Math.SQRT2, h); + function E(t, e) { + var r = e * e, + n = r * r; + return [ + t * + (0.8707 - + 0.131979 * r + + n * (n * (0.003971 * r - 0.001529 * n) - 0.013791)), + e * + (1.007226 + + r * + (0.015085 + + n * (0.028874 * r - 0.044475 - 0.005916 * n))), + ]; + } + ((t.geo.mollweide = function () { + return y(S); + }).raw = S), + (E.invert = function (t, e) { + var r, + n = e, + i = 25; + do { + var a = n * n, + o = a * a; + n -= r = + (n * + (1.007226 + + a * + (0.015085 + + o * (0.028874 * a - 0.044475 - 0.005916 * o))) - + e) / + (1.007226 + + a * + (0.045255 + + o * (0.259866 * a - 0.311325 - 0.005916 * 11 * o))); + } while (Math.abs(r) > f && --i > 0); + return [ + t / + (0.8707 + + (a = n * n) * + (a * + (a * a * a * (0.003971 - 0.001529 * a) - 0.013791) - + 0.131979)), + n, + ]; + }), + ((t.geo.naturalEarth = function () { + return y(E); + }).raw = E); + var C = [ + [0.9986, -0.062], + [1, 0], + [0.9986, 0.062], + [0.9954, 0.124], + [0.99, 0.186], + [0.9822, 0.248], + [0.973, 0.31], + [0.96, 0.372], + [0.9427, 0.434], + [0.9216, 0.4958], + [0.8962, 0.5571], + [0.8679, 0.6176], + [0.835, 0.6769], + [0.7986, 0.7346], + [0.7597, 0.7903], + [0.7186, 0.8435], + [0.6732, 0.8936], + [0.6213, 0.9394], + [0.5722, 0.9761], + [0.5322, 1], + ]; + function L(t, e) { + var r, + n = Math.min(18, (36 * Math.abs(e)) / h), + i = Math.floor(n), + a = n - i, + o = (r = C[i])[0], + s = r[1], + l = (r = C[++i])[0], + c = r[1], + u = (r = C[Math.min(19, ++i)])[0], + f = r[1]; + return [ + t * (l + (a * (u - o)) / 2 + (a * a * (u - 2 * l + o)) / 2), + (e > 0 ? p : -p) * + (c + (a * (f - s)) / 2 + (a * a * (f - 2 * c + s)) / 2), + ]; + } + function I(t, e) { + return [t * Math.cos(e), e]; + } + function P(t, e) { + var r, + n = Math.cos(e), + i = (r = v(n * Math.cos((t /= 2)))) ? r / Math.sin(r) : 1; + return [2 * n * Math.sin(t) * i, Math.sin(e) * i]; + } + function z(t, e) { + var r = P(t, e); + return [(r[0] + t / p) / 2, (r[1] + e) / 2]; + } + C.forEach(function (t) { + t[1] *= 1.0144; + }), + (L.invert = function (t, e) { + var r = e / p, + n = 90 * r, + i = Math.min(18, Math.abs(n / 5)), + a = Math.max(0, Math.floor(i)); + do { + var o = C[a][1], + s = C[a + 1][1], + l = C[Math.min(19, a + 2)][1], + c = l - o, + u = l - 2 * s + o, + f = (2 * (Math.abs(r) - s)) / c, + h = u / c, + m = f * (1 - h * f * (1 - 2 * h * f)); + if (m >= 0 || 1 === a) { + n = (e >= 0 ? 5 : -5) * (m + i); + var v, + y = 50; + do { + (m = + (i = Math.min(18, Math.abs(n) / 5)) - + (a = Math.floor(i))), + (o = C[a][1]), + (s = C[a + 1][1]), + (l = C[Math.min(19, a + 2)][1]), + (n -= + (v = + (e >= 0 ? p : -p) * + (s + + (m * (l - o)) / 2 + + (m * m * (l - 2 * s + o)) / 2) - + e) * g); + } while (Math.abs(v) > 1e-12 && --y > 0); + break; + } + } while (--a >= 0); + var x = C[a][0], + b = C[a + 1][0], + _ = C[Math.min(19, a + 2)][0]; + return [ + t / (b + (m * (_ - x)) / 2 + (m * m * (_ - 2 * b + x)) / 2), + n * d, + ]; + }), + ((t.geo.robinson = function () { + return y(L); + }).raw = L), + (I.invert = function (t, e) { + return [t / Math.cos(e), e]; + }), + ((t.geo.sinusoidal = function () { + return y(I); + }).raw = I), + (P.invert = function (t, e) { + if (!(t * t + 4 * e * e > h * h + f)) { + var r = t, + n = e, + i = 25; + do { + var a, + o = Math.sin(r), + s = Math.sin(r / 2), + l = Math.cos(r / 2), + c = Math.sin(n), + u = Math.cos(n), + p = Math.sin(2 * n), + d = c * c, + g = u * u, + m = s * s, + y = 1 - g * l * l, + x = y ? v(u * l) * Math.sqrt((a = 1 / y)) : (a = 0), + b = 2 * x * u * s - t, + _ = x * c - e, + w = a * (g * m + x * u * l * d), + T = a * (0.5 * o * p - 2 * x * c * s), + k = 0.25 * a * (p * s - x * c * g * o), + M = a * (d * l + x * m * u), + A = T * k - M * w; + if (!A) break; + var S = (_ * T - b * M) / A, + E = (b * k - _ * w) / A; + (r -= S), (n -= E); + } while ((Math.abs(S) > f || Math.abs(E) > f) && --i > 0); + return [r, n]; + } + }), + ((t.geo.aitoff = function () { + return y(P); + }).raw = P), + (z.invert = function (t, e) { + var r = t, + n = e, + i = 25; + do { + var a, + o = Math.cos(n), + s = Math.sin(n), + l = Math.sin(2 * n), + c = s * s, + u = o * o, + h = Math.sin(r), + d = Math.cos(r / 2), + g = Math.sin(r / 2), + m = g * g, + y = 1 - u * d * d, + x = y ? v(o * d) * Math.sqrt((a = 1 / y)) : (a = 0), + b = 0.5 * (2 * x * o * g + r / p) - t, + _ = 0.5 * (x * s + n) - e, + w = 0.5 * a * (u * m + x * o * d * c) + 0.5 / p, + T = a * ((h * l) / 4 - x * s * g), + k = 0.125 * a * (l * g - x * s * u * h), + M = 0.5 * a * (c * d + x * m * o) + 0.5, + A = T * k - M * w, + S = (_ * T - b * M) / A, + E = (b * k - _ * w) / A; + (r -= S), (n -= E); + } while ((Math.abs(S) > f || Math.abs(E) > f) && --i > 0); + return [r, n]; + }), + ((t.geo.winkel3 = function () { + return y(z); + }).raw = z); + }; + }, + {}, + ], + 864: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../registry'), + o = Math.PI / 180, + s = 180 / Math.PI, + l = { cursor: 'pointer' }, + c = { cursor: 'auto' }; + function u(t, e) { + return n.behavior.zoom().translate(e.translate()).scale(e.scale()); + } + function f(t, e, r) { + var n = t.id, + o = t.graphDiv, + s = o.layout, + l = s[n], + c = o._fullLayout, + u = c[n], + f = {}, + h = {}; + function p(t, e) { + (f[n + '.' + t] = i.nestedProperty(l, t).get()), + a.call('_storeDirectGUIEdit', s, c._preGUI, f); + var r = i.nestedProperty(u, t); + r.get() !== e && + (r.set(e), i.nestedProperty(l, t).set(e), (h[n + '.' + t] = e)); + } + r(p), + p('projection.scale', e.scale() / t.fitScale), + p('fitbounds', !1), + o.emit('plotly_relayout', h); + } + function h(t, e) { + var r = u(0, e); + function i(r) { + var n = e.invert(t.midPt); + r('center.lon', n[0]), r('center.lat', n[1]); + } + return ( + r + .on('zoomstart', function () { + n.select(this).style(l); + }) + .on('zoom', function () { + e.scale(n.event.scale).translate(n.event.translate), + t.render(); + var r = e.invert(t.midPt); + t.graphDiv.emit('plotly_relayouting', { + 'geo.projection.scale': e.scale() / t.fitScale, + 'geo.center.lon': r[0], + 'geo.center.lat': r[1], + }); + }) + .on('zoomend', function () { + n.select(this).style(c), f(t, e, i); + }), + r + ); + } + function p(t, e) { + var r, + i, + a, + o, + s, + h, + p, + d, + g, + m = u(0, e); + function v(t) { + return e.invert(t); + } + function y(r) { + var n = e.rotate(), + i = e.invert(t.midPt); + r('projection.rotation.lon', -n[0]), + r('center.lon', i[0]), + r('center.lat', i[1]); + } + return ( + m + .on('zoomstart', function () { + n.select(this).style(l), + (r = n.mouse(this)), + (i = e.rotate()), + (a = e.translate()), + (o = i), + (s = v(r)); + }) + .on('zoom', function () { + if ( + ((h = n.mouse(this)), + (function (t) { + var r = v(t); + if (!r) return !0; + var n = e(r); + return ( + Math.abs(n[0] - t[0]) > 2 || Math.abs(n[1] - t[1]) > 2 + ); + })(r)) + ) + return m.scale(e.scale()), void m.translate(e.translate()); + e.scale(n.event.scale), + e.translate([a[0], n.event.translate[1]]), + s + ? v(h) && + ((d = v(h)), + (p = [o[0] + (d[0] - s[0]), i[1], i[2]]), + e.rotate(p), + (o = p)) + : (s = v((r = h))), + (g = !0), + t.render(); + var l = e.rotate(), + c = e.invert(t.midPt); + t.graphDiv.emit('plotly_relayouting', { + 'geo.projection.scale': e.scale() / t.fitScale, + 'geo.center.lon': c[0], + 'geo.center.lat': c[1], + 'geo.projection.rotation.lon': -l[0], + }); + }) + .on('zoomend', function () { + n.select(this).style(c), g && f(t, e, y); + }), + m + ); + } + function d(t, e) { + var r, + i = { r: e.rotate(), k: e.scale() }, + a = u(0, e), + o = (function (t) { + var e = 0, + r = arguments.length, + i = []; + for (; ++e < r; ) i.push(arguments[e]); + var a = n.dispatch.apply(null, i); + return ( + (a.of = function (e, r) { + return function (i) { + var o; + try { + (o = i.sourceEvent = n.event), + (i.target = t), + (n.event = i), + a[i.type].apply(e, r); + } finally { + n.event = o; + } + }; + }), + a + ); + })(a, 'zoomstart', 'zoom', 'zoomend'), + s = 0, + h = a.on; + function p(t) { + s++ || t({ type: 'zoomstart' }); + } + function d(t) { + t({ type: 'zoom' }); + } + function b(t) { + --s || t({ type: 'zoomend' }); + } + function _(t) { + var r = e.rotate(); + t('projection.rotation.lon', -r[0]), + t('projection.rotation.lat', -r[1]); + } + return ( + a + .on('zoomstart', function () { + n.select(this).style(l); + var t = n.mouse(this), + s = e.rotate(), + c = s, + u = e.translate(), + f = m(s); + (r = g(e, t)), + h.call(a, 'zoom', function () { + var a = n.mouse(this); + if ((e.scale((i.k = n.event.scale)), r)) { + if (g(e, a)) { + e.rotate(s).translate(u); + var l = g(e, a), + h = y(r, l), + p = T(v(f, h)), + m = (i.r = x(p, r, c)); + (isFinite(m[0]) && + isFinite(m[1]) && + isFinite(m[2])) || + (m = c), + e.rotate(m), + (c = m); + } + } else r = g(e, (t = a)); + d(o.of(this, arguments)); + }), + p(o.of(this, arguments)); + }) + .on('zoomend', function () { + n.select(this).style(c), + h.call(a, 'zoom', null), + b(o.of(this, arguments)), + f(t, e, _); + }) + .on('zoom.redraw', function () { + t.render(); + var r = e.rotate(); + t.graphDiv.emit('plotly_relayouting', { + 'geo.projection.scale': e.scale() / t.fitScale, + 'geo.projection.rotation.lon': -r[0], + 'geo.projection.rotation.lat': -r[1], + }); + }), + n.rebind(a, o, 'on') + ); + } + function g(t, e) { + var r = t.invert(e); + return ( + r && + isFinite(r[0]) && + isFinite(r[1]) && + (function (t) { + var e = t[0] * o, + r = t[1] * o, + n = Math.cos(r); + return [n * Math.cos(e), n * Math.sin(e), Math.sin(r)]; + })(r) + ); + } + function m(t) { + var e = 0.5 * t[0] * o, + r = 0.5 * t[1] * o, + n = 0.5 * t[2] * o, + i = Math.sin(e), + a = Math.cos(e), + s = Math.sin(r), + l = Math.cos(r), + c = Math.sin(n), + u = Math.cos(n); + return [ + a * l * u + i * s * c, + i * l * u - a * s * c, + a * s * u + i * l * c, + a * l * c - i * s * u, + ]; + } + function v(t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = t[3], + o = e[0], + s = e[1], + l = e[2], + c = e[3]; + return [ + r * o - n * s - i * l - a * c, + r * s + n * o + i * c - a * l, + r * l - n * c + i * o + a * s, + r * c + n * l - i * s + a * o, + ]; + } + function y(t, e) { + if (t && e) { + var r = (function (t, e) { + return [ + t[1] * e[2] - t[2] * e[1], + t[2] * e[0] - t[0] * e[2], + t[0] * e[1] - t[1] * e[0], + ]; + })(t, e), + n = Math.sqrt(k(r, r)), + i = 0.5 * Math.acos(Math.max(-1, Math.min(1, k(t, e)))), + a = Math.sin(i) / n; + return n && [Math.cos(i), r[2] * a, -r[1] * a, r[0] * a]; + } + } + function x(t, e, r) { + var n = w(e, 2, t[0]); + (n = w(n, 1, t[1])), (n = w(n, 0, t[2] - r[2])); + var i, + a, + o = e[0], + l = e[1], + c = e[2], + u = n[0], + f = n[1], + h = n[2], + p = Math.atan2(l, o) * s, + d = Math.sqrt(o * o + l * l); + Math.abs(f) > d + ? ((a = (f > 0 ? 90 : -90) - p), (i = 0)) + : ((a = Math.asin(f / d) * s - p), + (i = Math.sqrt(d * d - f * f))); + var g = 180 - a - 2 * p, + m = (Math.atan2(h, u) - Math.atan2(c, i)) * s, + v = (Math.atan2(h, u) - Math.atan2(c, -i)) * s; + return b(r[0], r[1], a, m) <= b(r[0], r[1], g, v) + ? [a, m, r[2]] + : [g, v, r[2]]; + } + function b(t, e, r, n) { + var i = _(r - t), + a = _(n - e); + return Math.sqrt(i * i + a * a); + } + function _(t) { + return (((t % 360) + 540) % 360) - 180; + } + function w(t, e, r) { + var n = r * o, + i = t.slice(), + a = 0 === e ? 1 : 0, + s = 2 === e ? 1 : 2, + l = Math.cos(n), + c = Math.sin(n); + return ( + (i[a] = t[a] * l - t[s] * c), (i[s] = t[s] * l + t[a] * c), i + ); + } + function T(t) { + return [ + Math.atan2( + 2 * (t[0] * t[1] + t[2] * t[3]), + 1 - 2 * (t[1] * t[1] + t[2] * t[2]) + ) * s, + Math.asin( + Math.max(-1, Math.min(1, 2 * (t[0] * t[2] - t[3] * t[1]))) + ) * s, + Math.atan2( + 2 * (t[0] * t[3] + t[1] * t[2]), + 1 - 2 * (t[2] * t[2] + t[3] * t[3]) + ) * s, + ]; + } + function k(t, e) { + for (var r = 0, n = 0, i = t.length; n < i; ++n) r += t[n] * e[n]; + return r; + } + e.exports = function (t, e) { + var r = t.projection; + return (e._isScoped ? h : e._isClipped ? d : p)(t, r); + }; + }, + { '../../lib': 778, '../../registry': 911, d3: 169 }, + ], + 865: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'), + i = t('./cartesian/constants').SUBPLOT_PATTERN; + (r.getSubplotCalcData = function (t, e, r) { + var i = n.subplotsRegistry[e]; + if (!i) return []; + for (var a = i.attr, o = [], s = 0; s < t.length; s++) { + var l = t[s]; + l[0].trace[a] === r && o.push(l); + } + return o; + }), + (r.getModuleCalcData = function (t, e) { + var r, + i = [], + a = []; + if ( + !(r = + 'string' == typeof e + ? n.getModule(e).plot + : 'function' == typeof e + ? e + : e.plot) + ) + return [i, t]; + for (var o = 0; o < t.length; o++) { + var s = t[o], + l = s[0].trace; + !0 === l.visible && + 0 !== l._length && + (l._module.plot === r ? i.push(s) : a.push(s)); + } + return [i, a]; + }), + (r.getSubplotData = function (t, e, r) { + if (!n.subplotsRegistry[e]) return []; + var a, + o, + s, + l = n.subplotsRegistry[e].attr, + c = []; + if ('gl2d' === e) { + var u = r.match(i); + (o = 'x' + u[1]), (s = 'y' + u[2]); + } + for (var f = 0; f < t.length; f++) + (a = t[f]), + 'gl2d' === e && n.traceIs(a, 'gl2d') + ? a[l[0]] === o && a[l[1]] === s && c.push(a) + : a[l] === r && c.push(a); + return c; + }); + }, + { '../registry': 911, './cartesian/constants': 834 }, + ], + 866: [ + function (t, e, r) { + 'use strict'; + var n = t('mouse-change'), + i = t('mouse-wheel'), + a = t('mouse-event-offset'), + o = t('../cartesian/constants'), + s = t('has-passive-events'); + function l(t, e) { + (this.element = t), + (this.plot = e), + (this.mouseListener = null), + (this.wheelListener = null), + (this.lastInputTime = Date.now()), + (this.lastPos = [0, 0]), + (this.boxEnabled = !1), + (this.boxInited = !1), + (this.boxStart = [0, 0]), + (this.boxEnd = [0, 0]), + (this.dragStart = [0, 0]); + } + e.exports = function (t) { + var e = t.mouseContainer, + r = t.glplot, + c = new l(e, r); + function u() { + (t.xaxis.autorange = !1), (t.yaxis.autorange = !1); + } + function f(e, n, i) { + var a, + s, + l = t.calcDataBox(), + f = r.viewBox, + h = c.lastPos[0], + p = c.lastPos[1], + d = o.MINDRAG * r.pixelRatio, + g = o.MINZOOM * r.pixelRatio; + function m(e, r, n) { + var i = Math.min(r, n), + a = Math.max(r, n); + i !== a + ? ((l[e] = i), + (l[e + 2] = a), + (c.dataBox = l), + t.setRanges(l)) + : ((t.selectBox.selectBox = [0, 0, 1, 1]), + t.glplot.setDirty()); + } + switch ( + ((n *= r.pixelRatio), + (i *= r.pixelRatio), + (i = f[3] - f[1] - i), + t.fullLayout.dragmode) + ) { + case 'zoom': + if (e) { + var v = (n / (f[2] - f[0])) * (l[2] - l[0]) + l[0], + y = (i / (f[3] - f[1])) * (l[3] - l[1]) + l[1]; + c.boxInited || + ((c.boxStart[0] = v), + (c.boxStart[1] = y), + (c.dragStart[0] = n), + (c.dragStart[1] = i)), + (c.boxEnd[0] = v), + (c.boxEnd[1] = y), + (c.boxInited = !0), + c.boxEnabled || + (c.boxStart[0] === c.boxEnd[0] && + c.boxStart[1] === c.boxEnd[1]) || + (c.boxEnabled = !0); + var x = Math.abs(c.dragStart[0] - n) < g, + b = Math.abs(c.dragStart[1] - i) < g; + if ( + !(function () { + for ( + var e = t.graphDiv._fullLayout._axisConstraintGroups, + r = t.xaxis._id, + n = t.yaxis._id, + i = 0; + i < e.length; + i++ + ) + if (-1 !== e[i][r]) { + if (-1 !== e[i][n]) return !0; + break; + } + return !1; + })() || + (x && b) + ) + x && (c.boxEnd[0] = c.boxStart[0]), + b && (c.boxEnd[1] = c.boxStart[1]); + else { + (a = c.boxEnd[0] - c.boxStart[0]), + (s = c.boxEnd[1] - c.boxStart[1]); + var _ = (l[3] - l[1]) / (l[2] - l[0]); + Math.abs(a * _) > Math.abs(s) + ? ((c.boxEnd[1] = + c.boxStart[1] + + Math.abs(a) * _ * (s >= 0 ? 1 : -1)), + c.boxEnd[1] < l[1] + ? ((c.boxEnd[1] = l[1]), + (c.boxEnd[0] = + c.boxStart[0] + + (l[1] - c.boxStart[1]) / Math.abs(_))) + : c.boxEnd[1] > l[3] && + ((c.boxEnd[1] = l[3]), + (c.boxEnd[0] = + c.boxStart[0] + + (l[3] - c.boxStart[1]) / Math.abs(_)))) + : ((c.boxEnd[0] = + c.boxStart[0] + + (Math.abs(s) / _) * (a >= 0 ? 1 : -1)), + c.boxEnd[0] < l[0] + ? ((c.boxEnd[0] = l[0]), + (c.boxEnd[1] = + c.boxStart[1] + + (l[0] - c.boxStart[0]) * Math.abs(_))) + : c.boxEnd[0] > l[2] && + ((c.boxEnd[0] = l[2]), + (c.boxEnd[1] = + c.boxStart[1] + + (l[2] - c.boxStart[0]) * Math.abs(_)))); + } + } else + c.boxEnabled + ? ((a = c.boxStart[0] !== c.boxEnd[0]), + (s = c.boxStart[1] !== c.boxEnd[1]), + a || s + ? (a && + (m(0, c.boxStart[0], c.boxEnd[0]), + (t.xaxis.autorange = !1)), + s && + (m(1, c.boxStart[1], c.boxEnd[1]), + (t.yaxis.autorange = !1)), + t.relayoutCallback()) + : t.glplot.setDirty(), + (c.boxEnabled = !1), + (c.boxInited = !1)) + : c.boxInited && (c.boxInited = !1); + break; + case 'pan': + (c.boxEnabled = !1), + (c.boxInited = !1), + e + ? (c.panning || + ((c.dragStart[0] = n), (c.dragStart[1] = i)), + Math.abs(c.dragStart[0] - n) < d && + (n = c.dragStart[0]), + Math.abs(c.dragStart[1] - i) < d && + (i = c.dragStart[1]), + (a = + ((h - n) * (l[2] - l[0])) / + (r.viewBox[2] - r.viewBox[0])), + (s = + ((p - i) * (l[3] - l[1])) / + (r.viewBox[3] - r.viewBox[1])), + (l[0] += a), + (l[2] += a), + (l[1] += s), + (l[3] += s), + t.setRanges(l), + (c.panning = !0), + (c.lastInputTime = Date.now()), + u(), + t.cameraChanged(), + t.handleAnnotations()) + : c.panning && ((c.panning = !1), t.relayoutCallback()); + } + (c.lastPos[0] = n), (c.lastPos[1] = i); + } + return ( + (c.mouseListener = n(e, f)), + e.addEventListener( + 'touchstart', + function (t) { + var r = a(t.changedTouches[0], e); + f(0, r[0], r[1]), f(1, r[0], r[1]), t.preventDefault(); + }, + !!s && { passive: !1 } + ), + e.addEventListener( + 'touchmove', + function (t) { + t.preventDefault(); + var r = a(t.changedTouches[0], e); + f(1, r[0], r[1]), t.preventDefault(); + }, + !!s && { passive: !1 } + ), + e.addEventListener( + 'touchend', + function (t) { + f(0, c.lastPos[0], c.lastPos[1]), t.preventDefault(); + }, + !!s && { passive: !1 } + ), + (c.wheelListener = i( + e, + function (e, n) { + if (!t.scrollZoom) return !1; + var i = t.calcDataBox(), + a = r.viewBox, + o = c.lastPos[0], + s = c.lastPos[1], + l = Math.exp((5 * n) / (a[3] - a[1])), + f = (o / (a[2] - a[0])) * (i[2] - i[0]) + i[0], + h = (s / (a[3] - a[1])) * (i[3] - i[1]) + i[1]; + return ( + (i[0] = (i[0] - f) * l + f), + (i[2] = (i[2] - f) * l + f), + (i[1] = (i[1] - h) * l + h), + (i[3] = (i[3] - h) * l + h), + t.setRanges(i), + (c.lastInputTime = Date.now()), + u(), + t.cameraChanged(), + t.handleAnnotations(), + t.relayoutCallback(), + !0 + ); + }, + !0 + )), + c + ); + }; + }, + { + '../cartesian/constants': 834, + 'has-passive-events': 441, + 'mouse-change': 483, + 'mouse-event-offset': 484, + 'mouse-wheel': 486, + }, + ], + 867: [ + function (t, e, r) { + 'use strict'; + var n = t('../cartesian/axes'), + i = t('../../lib/str2rgbarray'); + function a(t) { + (this.scene = t), + (this.gl = t.gl), + (this.pixelRatio = t.pixelRatio), + (this.screenBox = [0, 0, 1, 1]), + (this.viewBox = [0, 0, 1, 1]), + (this.dataBox = [-1, -1, 1, 1]), + (this.borderLineEnable = [!1, !1, !1, !1]), + (this.borderLineWidth = [1, 1, 1, 1]), + (this.borderLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.ticks = [[], []]), + (this.tickEnable = [!0, !0, !1, !1]), + (this.tickPad = [15, 15, 15, 15]), + (this.tickAngle = [0, 0, 0, 0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickMarkLength = [0, 0, 0, 0]), + (this.tickMarkWidth = [0, 0, 0, 0]), + (this.tickMarkColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labels = ['x', 'y']), + (this.labelEnable = [!0, !0, !1, !1]), + (this.labelAngle = [0, Math.PI / 2, 0, (3 * Math.PI) / 2]), + (this.labelPad = [15, 15, 15, 15]), + (this.labelSize = [12, 12]), + (this.labelFont = ['sans-serif', 'sans-serif']), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.title = ''), + (this.titleEnable = !0), + (this.titleCenter = [0, 0, 0, 0]), + (this.titleAngle = 0), + (this.titleColor = [0, 0, 0, 1]), + (this.titleFont = 'sans-serif'), + (this.titleSize = 18), + (this.gridLineEnable = [!0, !0]), + (this.gridLineColor = [ + [0, 0, 0, 0.5], + [0, 0, 0, 0.5], + ]), + (this.gridLineWidth = [1, 1]), + (this.zeroLineEnable = [!0, !0]), + (this.zeroLineWidth = [1, 1]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.borderColor = [0, 0, 0, 0]), + (this.backgroundColor = [0, 0, 0, 0]), + (this.static = this.scene.staticPlot); + } + var o = a.prototype, + s = ['xaxis', 'yaxis']; + (o.merge = function (t) { + var e, r, n, a, o, l, c, u, f, h, p; + for ( + this.titleEnable = !1, + this.backgroundColor = i(t.plot_bgcolor), + h = 0; + h < 2; + ++h + ) { + var d = (e = s[h]).charAt(0); + for ( + n = + (r = t[this.scene[e]._name]).title.text === + this.scene.fullLayout._dfltTitle[d] + ? '' + : r.title.text, + p = 0; + p <= 2; + p += 2 + ) + (this.labelEnable[h + p] = !1), + (this.labels[h + p] = n), + (this.labelColor[h + p] = i(r.title.font.color)), + (this.labelFont[h + p] = r.title.font.family), + (this.labelSize[h + p] = r.title.font.size), + (this.labelPad[h + p] = this.getLabelPad(e, r)), + (this.tickEnable[h + p] = !1), + (this.tickColor[h + p] = i((r.tickfont || {}).color)), + (this.tickAngle[h + p] = + 'auto' === r.tickangle + ? 0 + : (Math.PI * -r.tickangle) / 180), + (this.tickPad[h + p] = this.getTickPad(r)), + (this.tickMarkLength[h + p] = 0), + (this.tickMarkWidth[h + p] = r.tickwidth || 0), + (this.tickMarkColor[h + p] = i(r.tickcolor)), + (this.borderLineEnable[h + p] = !1), + (this.borderLineColor[h + p] = i(r.linecolor)), + (this.borderLineWidth[h + p] = r.linewidth || 0); + (c = this.hasSharedAxis(r)), + (o = this.hasAxisInDfltPos(e, r) && !c), + (l = this.hasAxisInAltrPos(e, r) && !c), + (a = r.mirror || !1), + (u = c ? -1 !== String(a).indexOf('all') : !!a), + (f = c ? 'allticks' === a : -1 !== String(a).indexOf('ticks')), + o + ? (this.labelEnable[h] = !0) + : l && (this.labelEnable[h + 2] = !0), + o + ? (this.tickEnable[h] = r.showticklabels) + : l && (this.tickEnable[h + 2] = r.showticklabels), + (o || u) && (this.borderLineEnable[h] = r.showline), + (l || u) && (this.borderLineEnable[h + 2] = r.showline), + (o || f) && + (this.tickMarkLength[h] = this.getTickMarkLength(r)), + (l || f) && + (this.tickMarkLength[h + 2] = this.getTickMarkLength(r)), + (this.gridLineEnable[h] = r.showgrid), + (this.gridLineColor[h] = i(r.gridcolor)), + (this.gridLineWidth[h] = r.gridwidth), + (this.zeroLineEnable[h] = r.zeroline), + (this.zeroLineColor[h] = i(r.zerolinecolor)), + (this.zeroLineWidth[h] = r.zerolinewidth); + } + }), + (o.hasSharedAxis = function (t) { + var e = this.scene, + r = e.fullLayout._subplots.gl2d; + return 0 !== n.findSubplotsWithAxis(r, t).indexOf(e.id); + }), + (o.hasAxisInDfltPos = function (t, e) { + var r = e.side; + return 'xaxis' === t + ? 'bottom' === r + : 'yaxis' === t + ? 'left' === r + : void 0; + }), + (o.hasAxisInAltrPos = function (t, e) { + var r = e.side; + return 'xaxis' === t + ? 'top' === r + : 'yaxis' === t + ? 'right' === r + : void 0; + }), + (o.getLabelPad = function (t, e) { + var r = e.title.font.size, + n = e.showticklabels; + return 'xaxis' === t + ? 'top' === e.side + ? r * (1.5 + (n ? 1 : 0)) - 10 + : r * (1.5 + (n ? 0.5 : 0)) - 10 + : 'yaxis' === t + ? 'right' === e.side + ? 10 + r * (1.5 + (n ? 1 : 0.5)) + : 10 + r * (1.5 + (n ? 0.5 : 0)) + : void 0; + }), + (o.getTickPad = function (t) { + return 'outside' === t.ticks ? 10 + t.ticklen : 15; + }), + (o.getTickMarkLength = function (t) { + if (!t.ticks) return 0; + var e = t.ticklen; + return 'inside' === t.ticks ? -e : e; + }), + (e.exports = function (t) { + return new a(t); + }); + }, + { '../../lib/str2rgbarray': 802, '../cartesian/axes': 828 }, + ], + 868: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plot_api/edit_types').overrideAll, + i = t('./scene2d'), + a = t('../layout_attributes'), + o = t('../../constants/xmlns_namespaces'), + s = t('../cartesian/constants'), + l = t('../cartesian'), + c = t('../../components/fx/layout_attributes'), + u = t('../get_data').getSubplotData; + (r.name = 'gl2d'), + (r.attr = ['xaxis', 'yaxis']), + (r.idRoot = ['x', 'y']), + (r.idRegex = s.idRegex), + (r.attrRegex = s.attrRegex), + (r.attributes = t('../cartesian/attributes')), + (r.supplyLayoutDefaults = function (t, e, r) { + e._has('cartesian') || l.supplyLayoutDefaults(t, e, r); + }), + (r.layoutAttrOverrides = n( + l.layoutAttributes, + 'plot', + 'from-root' + )), + (r.baseLayoutAttrOverrides = n( + { plot_bgcolor: a.plot_bgcolor, hoverlabel: c.hoverlabel }, + 'plot', + 'nested' + )), + (r.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl2d, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = e._plots[o], + l = u(r, 'gl2d', o), + c = s._scene2d; + void 0 === c && + ((c = new i( + { + id: o, + graphDiv: t, + container: t.querySelector('.gl-container'), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + }, + e + )), + (s._scene2d = c)), + c.plot(l, t.calcdata, e, t.layout); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.gl2d || [], a = 0; a < i.length; a++) { + var o = i[a], + s = n._plots[o]; + if (s._scene2d) { + var c = u(t, 'gl2d', o); + 0 === c.length && (s._scene2d.destroy(), delete n._plots[o]); + } + } + l.clean.apply(this, arguments); + }), + (r.drawFramework = function (t) { + t._context.staticPlot || l.drawFramework(t); + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl2d, n = 0; + n < r.length; + n++ + ) { + var i = e._plots[r[n]]._scene2d, + a = i.toImage('png'); + e._glimages + .append('svg:image') + .attr({ + xmlns: o.svg, + 'xlink:href': a, + x: 0, + y: 0, + width: '100%', + height: '100%', + preserveAspectRatio: 'none', + }), + i.destroy(); + } + }), + (r.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl2d, n = 0; + n < r.length; + n++ + ) { + e._plots[r[n]]._scene2d.updateFx(e.dragmode); + } + }); + }, + { + '../../components/fx/layout_attributes': 684, + '../../constants/xmlns_namespaces': 754, + '../../plot_api/edit_types': 810, + '../cartesian': 841, + '../cartesian/attributes': 826, + '../cartesian/constants': 834, + '../get_data': 865, + '../layout_attributes': 882, + './scene2d': 869, + }, + ], + 869: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a = t('../../registry'), + o = t('../../plots/cartesian/axes'), + s = t('../../components/fx'), + l = t('gl-plot2d'), + c = t('gl-spikes2d'), + u = t('gl-select-box'), + f = t('webgl-context'), + h = t('./convert'), + p = t('./camera'), + d = t('../../lib/show_no_webgl_msg'), + g = t('../cartesian/constraints'), + m = g.enforce, + v = g.clean, + y = t('../cartesian/autorange').doAutoRange, + x = t('../../components/dragelement/helpers'), + b = x.drawMode, + _ = x.selectMode, + w = ['xaxis', 'yaxis'], + T = t('../cartesian/constants').SUBPLOT_PATTERN; + function k(t, e) { + (this.container = t.container), + (this.graphDiv = t.graphDiv), + (this.pixelRatio = t.plotGlPixelRatio || window.devicePixelRatio), + (this.id = t.id), + (this.staticPlot = !!t.staticPlot), + (this.scrollZoom = this.graphDiv._context._scrollZoom.cartesian), + (this.fullData = null), + this.updateRefs(e), + this.makeFramework(), + this.stopped || + ((this.glplotOptions = h(this)), + this.glplotOptions.merge(e), + (this.glplot = l(this.glplotOptions)), + (this.camera = p(this)), + (this.traces = {}), + (this.spikes = c(this.glplot)), + (this.selectBox = u(this.glplot, { + innerFill: !1, + outerFill: !0, + })), + (this.lastButtonState = 0), + (this.pickResult = null), + (this.isMouseOver = !0), + (this.stopped = !1), + (this.redraw = this.draw.bind(this)), + this.redraw()); + } + e.exports = k; + var M = k.prototype; + (M.makeFramework = function () { + if (this.staticPlot) { + if ( + !( + i || + ((n = document.createElement('canvas')), + (i = f({ + canvas: n, + preserveDrawingBuffer: !1, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + 'Error creating static canvas/context for image server' + ); + (this.canvas = n), (this.gl = i); + } else { + var t = this.container.querySelector('.gl-canvas-focus'), + e = f({ + canvas: t, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + }); + if (!e) return d(this), void (this.stopped = !0); + (this.canvas = t), (this.gl = e); + } + var r = this.canvas; + (r.style.width = '100%'), + (r.style.height = '100%'), + (r.style.position = 'absolute'), + (r.style.top = '0px'), + (r.style.left = '0px'), + (r.style['pointer-events'] = 'none'), + this.updateSize(r); + var a = (this.svgContainer = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'svg' + )); + (a.style.position = 'absolute'), + (a.style.top = a.style.left = '0px'), + (a.style.width = a.style.height = '100%'), + (a.style['z-index'] = 20), + (a.style['pointer-events'] = 'none'); + var o = (this.mouseContainer = document.createElement('div')); + (o.style.position = 'absolute'), + (o.style['pointer-events'] = 'auto'), + (this.pickCanvas = + this.container.querySelector('.gl-canvas-pick')); + var s = this.container; + s.appendChild(a), s.appendChild(o); + var l = this; + o.addEventListener('mouseout', function () { + (l.isMouseOver = !1), l.unhover(); + }), + o.addEventListener('mouseover', function () { + l.isMouseOver = !0; + }); + }), + (M.toImage = function (t) { + t || (t = 'png'), + (this.stopped = !0), + this.staticPlot && this.container.appendChild(n), + this.updateSize(this.canvas); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = e.drawingBufferHeight; + e.clearColor(1, 1, 1, 0), + e.clear(e.COLOR_BUFFER_BIT | e.DEPTH_BUFFER_BIT), + this.glplot.setDirty(), + this.glplot.draw(), + e.bindFramebuffer(e.FRAMEBUFFER, null); + var a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a); + for (var o = 0, s = i - 1; o < s; ++o, --s) + for (var l = 0; l < r; ++l) + for (var c = 0; c < 4; ++c) { + var u = a[4 * (r * o + l) + c]; + (a[4 * (r * o + l) + c] = a[4 * (r * s + l) + c]), + (a[4 * (r * s + l) + c] = u); + } + var f = document.createElement('canvas'); + (f.width = r), (f.height = i); + var h, + p = f.getContext('2d'), + d = p.createImageData(r, i); + switch ((d.data.set(a), p.putImageData(d, 0, 0), t)) { + case 'jpeg': + h = f.toDataURL('image/jpeg'); + break; + case 'webp': + h = f.toDataURL('image/webp'); + break; + default: + h = f.toDataURL('image/png'); + } + return this.staticPlot && this.container.removeChild(n), h; + }), + (M.updateSize = function (t) { + t || (t = this.canvas); + var e = this.pixelRatio, + r = this.fullLayout, + n = r.width, + i = r.height, + a = 0 | Math.ceil(e * n), + o = 0 | Math.ceil(e * i); + return ( + (t.width === a && t.height === o) || + ((t.width = a), (t.height = o)), + t + ); + }), + (M.computeTickMarks = function () { + this.xaxis.setScale(), this.yaxis.setScale(); + for ( + var t = [o.calcTicks(this.xaxis), o.calcTicks(this.yaxis)], + e = 0; + e < 2; + ++e + ) + for (var r = 0; r < t[e].length; ++r) + t[e][r].text = t[e][r].text + ''; + return t; + }), + (M.updateRefs = function (t) { + this.fullLayout = t; + var e = this.id.match(T), + r = 'xaxis' + e[1], + n = 'yaxis' + e[2]; + (this.xaxis = this.fullLayout[r]), + (this.yaxis = this.fullLayout[n]); + }), + (M.relayoutCallback = function () { + var t = this.graphDiv, + e = this.xaxis, + r = this.yaxis, + n = t.layout, + i = {}, + o = (i[e._name + '.range'] = e.range.slice()), + s = (i[r._name + '.range'] = r.range.slice()); + (i[e._name + '.autorange'] = e.autorange), + (i[r._name + '.autorange'] = r.autorange), + a.call( + '_storeDirectGUIEdit', + t.layout, + t._fullLayout._preGUI, + i + ); + var l = n[e._name]; + (l.range = o), (l.autorange = e.autorange); + var c = n[r._name]; + (c.range = s), + (c.autorange = r.autorange), + (i.lastInputTime = this.camera.lastInputTime), + t.emit('plotly_relayout', i); + }), + (M.cameraChanged = function () { + var t = this.camera; + this.glplot.setDataBox(this.calcDataBox()); + var e = this.computeTickMarks(); + (function (t, e) { + for (var r = 0; r < 2; ++r) { + var n = t[r], + i = e[r]; + if (n.length !== i.length) return !0; + for (var a = 0; a < n.length; ++a) + if (n[a].x !== i[a].x) return !0; + } + return !1; + })(e, this.glplotOptions.ticks) && + ((this.glplotOptions.ticks = e), + (this.glplotOptions.dataBox = t.dataBox), + this.glplot.update(this.glplotOptions), + this.handleAnnotations()); + }), + (M.handleAnnotations = function () { + for ( + var t = this.graphDiv, e = this.fullLayout.annotations, r = 0; + r < e.length; + r++ + ) { + var n = e[r]; + n.xref === this.xaxis._id && + n.yref === this.yaxis._id && + a.getComponentMethod('annotations', 'drawOne')(t, r); + } + }), + (M.destroy = function () { + if (this.glplot) { + var t = this.traces; + t && + Object.keys(t).map(function (e) { + t[e].dispose(), delete t[e]; + }), + this.glplot.dispose(), + this.container.removeChild(this.svgContainer), + this.container.removeChild(this.mouseContainer), + (this.fullData = null), + (this.glplot = null), + (this.stopped = !0), + (this.camera.mouseListener.enabled = !1), + this.mouseContainer.removeEventListener( + 'wheel', + this.camera.wheelListener + ), + (this.camera = null); + } + }), + (M.plot = function (t, e, r) { + var n = this.glplot; + this.updateRefs(r), + this.xaxis.clearCalc(), + this.yaxis.clearCalc(), + this.updateTraces(t, e), + this.updateFx(r.dragmode); + var i = r.width, + a = r.height; + this.updateSize(this.canvas); + var o = this.glplotOptions; + o.merge(r), (o.screenBox = [0, 0, i, a]); + var s = { + _fullLayout: { + _axisConstraintGroups: + this.graphDiv._fullLayout._axisConstraintGroups, + xaxis: this.xaxis, + yaxis: this.yaxis, + }, + }; + v(s, this.xaxis), v(s, this.yaxis); + var l, + c, + u = r._size, + f = this.xaxis.domain, + h = this.yaxis.domain; + for ( + o.viewBox = [ + u.l + f[0] * u.w, + u.b + h[0] * u.h, + i - u.r - (1 - f[1]) * u.w, + a - u.t - (1 - h[1]) * u.h, + ], + this.mouseContainer.style.width = u.w * (f[1] - f[0]) + 'px', + this.mouseContainer.style.height = u.h * (h[1] - h[0]) + 'px', + this.mouseContainer.height = u.h * (h[1] - h[0]), + this.mouseContainer.style.left = u.l + f[0] * u.w + 'px', + this.mouseContainer.style.top = u.t + (1 - h[1]) * u.h + 'px', + c = 0; + c < 2; + ++c + ) + ((l = this[w[c]])._length = o.viewBox[c + 2] - o.viewBox[c]), + y(this.graphDiv, l), + l.setScale(); + m(s), + (o.ticks = this.computeTickMarks()), + (o.dataBox = this.calcDataBox()), + o.merge(r), + n.update(o), + this.glplot.draw(); + }), + (M.calcDataBox = function () { + var t = this.xaxis, + e = this.yaxis, + r = t.range, + n = e.range, + i = t.r2l, + a = e.r2l; + return [i(r[0]), a(n[0]), i(r[1]), a(n[1])]; + }), + (M.setRanges = function (t) { + var e = this.xaxis, + r = this.yaxis, + n = e.l2r, + i = r.l2r; + (e.range = [n(t[0]), n(t[2])]), (r.range = [i(t[1]), i(t[3])]); + }), + (M.updateTraces = function (t, e) { + var r, + n, + i, + a = Object.keys(this.traces); + this.fullData = t; + t: for (r = 0; r < a.length; r++) { + var o = a[r], + s = this.traces[o]; + for (n = 0; n < t.length; n++) + if ((i = t[n]).uid === o && i.type === s.type) continue t; + s.dispose(), delete this.traces[o]; + } + for (r = 0; r < t.length; r++) { + i = t[r]; + var l = e[r], + c = this.traces[i.uid]; + c + ? c.update(i, l) + : ((c = i._module.plot(this, i, l)), + (this.traces[i.uid] = c)); + } + this.glplot.objects.sort(function (t, e) { + return t._trace.index - e._trace.index; + }); + }), + (M.updateFx = function (t) { + _(t) || b(t) + ? ((this.pickCanvas.style['pointer-events'] = 'none'), + (this.mouseContainer.style['pointer-events'] = 'none')) + : ((this.pickCanvas.style['pointer-events'] = 'auto'), + (this.mouseContainer.style['pointer-events'] = 'auto')), + (this.mouseContainer.style.cursor = + 'pan' === t ? 'move' : 'zoom' === t ? 'crosshair' : null); + }), + (M.emitPointAction = function (t, e) { + for ( + var r, n = t.trace.uid, i = t.pointIndex, a = 0; + a < this.fullData.length; + a++ + ) + this.fullData[a].uid === n && (r = this.fullData[a]); + var o = { + x: t.traceCoord[0], + y: t.traceCoord[1], + curveNumber: r.index, + pointNumber: i, + data: r._input, + fullData: this.fullData, + xaxis: this.xaxis, + yaxis: this.yaxis, + }; + s.appendArrayPointValue(o, r, i), + this.graphDiv.emit(e, { points: [o] }); + }), + (M.draw = function () { + if (!this.stopped) { + requestAnimationFrame(this.redraw); + var t = this.glplot, + e = this.camera, + r = e.mouseListener, + n = 1 === this.lastButtonState && 0 === r.buttons, + i = this.fullLayout; + (this.lastButtonState = r.buttons), this.cameraChanged(); + var a, + o = r.x * t.pixelRatio, + l = this.canvas.height - t.pixelRatio * r.y; + if (e.boxEnabled && 'zoom' === i.dragmode) { + this.selectBox.enabled = !0; + for ( + var c = (this.selectBox.selectBox = [ + Math.min(e.boxStart[0], e.boxEnd[0]), + Math.min(e.boxStart[1], e.boxEnd[1]), + Math.max(e.boxStart[0], e.boxEnd[0]), + Math.max(e.boxStart[1], e.boxEnd[1]), + ]), + u = 0; + u < 2; + u++ + ) + e.boxStart[u] === e.boxEnd[u] && + ((c[u] = t.dataBox[u]), (c[u + 2] = t.dataBox[u + 2])); + t.setDirty(); + } else if (!e.panning && this.isMouseOver) { + this.selectBox.enabled = !1; + var f = i._size, + h = this.xaxis.domain, + p = this.yaxis.domain, + d = + (a = t.pick( + o / t.pixelRatio + f.l + h[0] * f.w, + l / t.pixelRatio - (f.t + (1 - p[1]) * f.h) + )) && a.object._trace.handlePick(a); + if ( + (d && n && this.emitPointAction(d, 'plotly_click'), + a && + 'skip' !== a.object._trace.hoverinfo && + i.hovermode && + d && + (!this.lastPickResult || + this.lastPickResult.traceUid !== d.trace.uid || + this.lastPickResult.dataCoord[0] !== d.dataCoord[0] || + this.lastPickResult.dataCoord[1] !== d.dataCoord[1])) + ) { + var g = d; + (this.lastPickResult = { + traceUid: d.trace ? d.trace.uid : null, + dataCoord: d.dataCoord.slice(), + }), + this.spikes.update({ center: a.dataCoord }), + (g.screenCoord = [ + (((t.viewBox[2] - t.viewBox[0]) * + (a.dataCoord[0] - t.dataBox[0])) / + (t.dataBox[2] - t.dataBox[0]) + + t.viewBox[0]) / + t.pixelRatio, + (this.canvas.height - + ((t.viewBox[3] - t.viewBox[1]) * + (a.dataCoord[1] - t.dataBox[1])) / + (t.dataBox[3] - t.dataBox[1]) - + t.viewBox[1]) / + t.pixelRatio, + ]), + this.emitPointAction(d, 'plotly_hover'); + var m = this.fullData[g.trace.index] || {}, + v = g.pointIndex, + y = s.castHoverinfo(m, i, v); + if (y && 'all' !== y) { + var x = y.split('+'); + -1 === x.indexOf('x') && (g.traceCoord[0] = void 0), + -1 === x.indexOf('y') && (g.traceCoord[1] = void 0), + -1 === x.indexOf('z') && (g.traceCoord[2] = void 0), + -1 === x.indexOf('text') && (g.textLabel = void 0), + -1 === x.indexOf('name') && (g.name = void 0); + } + s.loneHover( + { + x: g.screenCoord[0], + y: g.screenCoord[1], + xLabel: this.hoverFormatter('xaxis', g.traceCoord[0]), + yLabel: this.hoverFormatter('yaxis', g.traceCoord[1]), + zLabel: g.traceCoord[2], + text: g.textLabel, + name: g.name, + color: s.castHoverOption(m, v, 'bgcolor') || g.color, + borderColor: s.castHoverOption(m, v, 'bordercolor'), + fontFamily: s.castHoverOption(m, v, 'font.family'), + fontSize: s.castHoverOption(m, v, 'font.size'), + fontColor: s.castHoverOption(m, v, 'font.color'), + nameLength: s.castHoverOption(m, v, 'namelength'), + textAlign: s.castHoverOption(m, v, 'align'), + }, + { container: this.svgContainer, gd: this.graphDiv } + ); + } + } + a || this.unhover(), t.draw(); + } + }), + (M.unhover = function () { + this.lastPickResult && + (this.spikes.update({}), + (this.lastPickResult = null), + this.graphDiv.emit('plotly_unhover'), + s.loneUnhover(this.svgContainer)); + }), + (M.hoverFormatter = function (t, e) { + if (void 0 !== e) { + var r = this[t]; + return o.tickText(r, r.c2l(e), 'hover').text; + } + }); + }, + { + '../../components/dragelement/helpers': 661, + '../../components/fx': 683, + '../../lib/show_no_webgl_msg': 800, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + '../cartesian/autorange': 827, + '../cartesian/constants': 834, + '../cartesian/constraints': 835, + './camera': 866, + './convert': 867, + 'gl-plot2d': 317, + 'gl-select-box': 333, + 'gl-spikes2d': 342, + 'webgl-context': 606, + }, + ], + 870: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plot_api/edit_types').overrideAll, + i = t('../../components/fx/layout_attributes'), + a = t('./scene'), + o = t('../get_data').getSubplotData, + s = t('../../lib'), + l = t('../../constants/xmlns_namespaces'); + (r.name = 'gl3d'), + (r.attr = 'scene'), + (r.idRoot = 'scene'), + (r.idRegex = r.attrRegex = s.counterRegex('scene')), + (r.attributes = t('./layout/attributes')), + (r.layoutAttributes = t('./layout/layout_attributes')), + (r.baseLayoutAttrOverrides = n( + { hoverlabel: i.hoverlabel }, + 'plot', + 'nested' + )), + (r.supplyLayoutDefaults = t('./layout/defaults')), + (r.plot = function (t) { + for ( + var e = t._fullLayout, + r = t._fullData, + n = e._subplots.gl3d, + i = 0; + i < n.length; + i++ + ) { + var s = n[i], + l = o(r, 'gl3d', s), + c = e[s], + u = c.camera, + f = c._scene; + f || + ((f = new a( + { + id: s, + graphDiv: t, + container: t.querySelector('.gl-container'), + staticPlot: t._context.staticPlot, + plotGlPixelRatio: t._context.plotGlPixelRatio, + camera: u, + }, + e + )), + (c._scene = f)), + f.viewInitial || + (f.viewInitial = { + up: { x: u.up.x, y: u.up.y, z: u.up.z }, + eye: { x: u.eye.x, y: u.eye.y, z: u.eye.z }, + center: { x: u.center.x, y: u.center.y, z: u.center.z }, + }), + f.plot(l, e, t.layout); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.gl3d || [], a = 0; a < i.length; a++) { + var o = i[a]; + !e[o] && + n[o]._scene && + (n[o]._scene.destroy(), + n._infolayer && + n._infolayer.selectAll('.annotation-' + o).remove()); + } + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = e._size, i = 0; + i < r.length; + i++ + ) { + var a = e[r[i]], + o = a.domain, + s = a._scene, + c = s.toImage('png'); + e._glimages + .append('svg:image') + .attr({ + xmlns: l.svg, + 'xlink:href': c, + x: n.l + n.w * o.x[0], + y: n.t + n.h * (1 - o.y[1]), + width: n.w * (o.x[1] - o.x[0]), + height: n.h * (o.y[1] - o.y[0]), + preserveAspectRatio: 'none', + }), + s.destroy(); + } + }), + (r.cleanId = function (t) { + if (t.match(/^scene[0-9]*$/)) { + var e = t.substr(5); + return '1' === e && (e = ''), 'scene' + e; + } + }), + (r.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.gl3d, n = 0; + n < r.length; + n++ + ) { + e[r[n]]._scene.updateFx(e.dragmode, e.hovermode); + } + }); + }, + { + '../../components/fx/layout_attributes': 684, + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + '../../plot_api/edit_types': 810, + '../get_data': 865, + './layout/attributes': 871, + './layout/defaults': 875, + './layout/layout_attributes': 876, + './scene': 880, + }, + ], + 871: [ + function (t, e, r) { + 'use strict'; + e.exports = { + scene: { + valType: 'subplotid', + dflt: 'scene', + editType: 'calc+clearAxisTypes', + }, + }; + }, + {}, + ], + 872: [ + function (t, e, r) { + 'use strict'; + var n = t('../../../components/color'), + i = t('../../cartesian/layout_attributes'), + a = t('../../../lib/extend').extendFlat, + o = t('../../../plot_api/edit_types').overrideAll; + e.exports = o( + { + visible: i.visible, + showspikes: { valType: 'boolean', dflt: !0 }, + spikesides: { valType: 'boolean', dflt: !0 }, + spikethickness: { valType: 'number', min: 0, dflt: 2 }, + spikecolor: { valType: 'color', dflt: n.defaultLine }, + showbackground: { valType: 'boolean', dflt: !1 }, + backgroundcolor: { + valType: 'color', + dflt: 'rgba(204, 204, 204, 0.5)', + }, + showaxeslabels: { valType: 'boolean', dflt: !0 }, + color: i.color, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + title: { text: i.title.text, font: i.title.font }, + type: a({}, i.type, { + values: ['-', 'linear', 'log', 'date', 'category'], + }), + autotypenumbers: i.autotypenumbers, + autorange: i.autorange, + rangemode: i.rangemode, + range: a({}, i.range, { + items: [ + { + valType: 'any', + editType: 'plot', + impliedEdits: { '^autorange': !1 }, + }, + { + valType: 'any', + editType: 'plot', + impliedEdits: { '^autorange': !1 }, + }, + ], + anim: !1, + }), + tickmode: i.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + mirror: i.mirror, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickprefix: i.tickprefix, + showtickprefix: i.showtickprefix, + ticksuffix: i.ticksuffix, + showticksuffix: i.showticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + hoverformat: i.hoverformat, + showline: i.showline, + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: i.showgrid, + gridcolor: a({}, i.gridcolor, { dflt: 'rgb(204, 204, 204)' }), + gridwidth: i.gridwidth, + zeroline: i.zeroline, + zerolinecolor: i.zerolinecolor, + zerolinewidth: i.zerolinewidth, + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }, + 'plot', + 'from-root' + ); + }, + { + '../../../components/color': 643, + '../../../lib/extend': 768, + '../../../plot_api/edit_types': 810, + '../../cartesian/layout_attributes': 842, + }, + ], + 873: [ + function (t, e, r) { + 'use strict'; + var n = t('tinycolor2').mix, + i = t('../../../lib'), + a = t('../../../plot_api/plot_template'), + o = t('./axis_attributes'), + s = t('../../cartesian/type_defaults'), + l = t('../../cartesian/axis_defaults'), + c = ['xaxis', 'yaxis', 'zaxis']; + e.exports = function (t, e, r) { + var u, f; + function h(t, e) { + return i.coerce(u, f, o, t, e); + } + for (var p = 0; p < c.length; p++) { + var d = c[p]; + (u = t[d] || {}), + ((f = a.newContainer(e, d))._id = d[0] + r.scene), + (f._name = d), + s(u, f, h, r), + l( + u, + f, + h, + { + font: r.font, + letter: d[0], + data: r.data, + showGrid: !0, + noTickson: !0, + noTicklabelmode: !0, + noTicklabelposition: !0, + bgColor: r.bgColor, + calendar: r.calendar, + }, + r.fullLayout + ), + h( + 'gridcolor', + n(f.color, r.bgColor, 13600 / 187).toRgbString() + ), + h('title.text', d[0]), + (f.setScale = i.noop), + h('showspikes') && + (h('spikesides'), + h('spikethickness'), + h('spikecolor', f.color)), + h('showaxeslabels'), + h('showbackground') && h('backgroundcolor'); + } + }; + }, + { + '../../../lib': 778, + '../../../plot_api/plot_template': 817, + '../../cartesian/axis_defaults': 830, + '../../cartesian/type_defaults': 853, + './axis_attributes': 872, + tinycolor2: 576, + }, + ], + 874: [ + function (t, e, r) { + 'use strict'; + var n = t('../../../lib/str2rgbarray'), + i = t('../../../lib'), + a = ['xaxis', 'yaxis', 'zaxis']; + function o() { + (this.bounds = [ + [-10, -10, -10], + [10, 10, 10], + ]), + (this.ticks = [[], [], []]), + (this.tickEnable = [!0, !0, !0]), + (this.tickFont = ['sans-serif', 'sans-serif', 'sans-serif']), + (this.tickSize = [12, 12, 12]), + (this.tickAngle = [0, 0, 0]), + (this.tickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.tickPad = [18, 18, 18]), + (this.labels = ['x', 'y', 'z']), + (this.labelEnable = [!0, !0, !0]), + (this.labelFont = ['Open Sans', 'Open Sans', 'Open Sans']), + (this.labelSize = [20, 20, 20]), + (this.labelColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.labelPad = [30, 30, 30]), + (this.lineEnable = [!0, !0, !0]), + (this.lineMirror = [!1, !1, !1]), + (this.lineWidth = [1, 1, 1]), + (this.lineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.lineTickEnable = [!0, !0, !0]), + (this.lineTickMirror = [!1, !1, !1]), + (this.lineTickLength = [10, 10, 10]), + (this.lineTickWidth = [1, 1, 1]), + (this.lineTickColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.gridEnable = [!0, !0, !0]), + (this.gridWidth = [1, 1, 1]), + (this.gridColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroEnable = [!0, !0, !0]), + (this.zeroLineColor = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.zeroLineWidth = [2, 2, 2]), + (this.backgroundEnable = [!0, !0, !0]), + (this.backgroundColor = [ + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + [0.8, 0.8, 0.8, 0.5], + ]), + (this._defaultTickPad = this.tickPad.slice()), + (this._defaultLabelPad = this.labelPad.slice()), + (this._defaultLineTickLength = this.lineTickLength.slice()); + } + (o.prototype.merge = function (t, e) { + for (var r = 0; r < 3; ++r) { + var o = e[a[r]]; + o.visible + ? ((this.labels[r] = t._meta + ? i.templateString(o.title.text, t._meta) + : o.title.text), + 'font' in o.title && + (o.title.font.color && + (this.labelColor[r] = n(o.title.font.color)), + o.title.font.family && + (this.labelFont[r] = o.title.font.family), + o.title.font.size && + (this.labelSize[r] = o.title.font.size)), + 'showline' in o && (this.lineEnable[r] = o.showline), + 'linecolor' in o && (this.lineColor[r] = n(o.linecolor)), + 'linewidth' in o && (this.lineWidth[r] = o.linewidth), + 'showgrid' in o && (this.gridEnable[r] = o.showgrid), + 'gridcolor' in o && (this.gridColor[r] = n(o.gridcolor)), + 'gridwidth' in o && (this.gridWidth[r] = o.gridwidth), + 'log' === o.type + ? (this.zeroEnable[r] = !1) + : 'zeroline' in o && (this.zeroEnable[r] = o.zeroline), + 'zerolinecolor' in o && + (this.zeroLineColor[r] = n(o.zerolinecolor)), + 'zerolinewidth' in o && + (this.zeroLineWidth[r] = o.zerolinewidth), + 'ticks' in o && o.ticks + ? (this.lineTickEnable[r] = !0) + : (this.lineTickEnable[r] = !1), + 'ticklen' in o && + (this.lineTickLength[r] = this._defaultLineTickLength[r] = + o.ticklen), + 'tickcolor' in o && (this.lineTickColor[r] = n(o.tickcolor)), + 'tickwidth' in o && (this.lineTickWidth[r] = o.tickwidth), + 'tickangle' in o && + (this.tickAngle[r] = + 'auto' === o.tickangle + ? -3600 + : (Math.PI * -o.tickangle) / 180), + 'showticklabels' in o && + (this.tickEnable[r] = o.showticklabels), + 'tickfont' in o && + (o.tickfont.color && + (this.tickColor[r] = n(o.tickfont.color)), + o.tickfont.family && (this.tickFont[r] = o.tickfont.family), + o.tickfont.size && (this.tickSize[r] = o.tickfont.size)), + 'mirror' in o + ? -1 !== ['ticks', 'all', 'allticks'].indexOf(o.mirror) + ? ((this.lineTickMirror[r] = !0), + (this.lineMirror[r] = !0)) + : !0 === o.mirror + ? ((this.lineTickMirror[r] = !1), + (this.lineMirror[r] = !0)) + : ((this.lineTickMirror[r] = !1), + (this.lineMirror[r] = !1)) + : (this.lineMirror[r] = !1), + 'showbackground' in o && !1 !== o.showbackground + ? ((this.backgroundEnable[r] = !0), + (this.backgroundColor[r] = n(o.backgroundcolor))) + : (this.backgroundEnable[r] = !1)) + : ((this.tickEnable[r] = !1), + (this.labelEnable[r] = !1), + (this.lineEnable[r] = !1), + (this.lineTickEnable[r] = !1), + (this.gridEnable[r] = !1), + (this.zeroEnable[r] = !1), + (this.backgroundEnable[r] = !1)); + } + }), + (e.exports = function (t, e) { + var r = new o(); + return r.merge(t, e), r; + }); + }, + { '../../../lib': 778, '../../../lib/str2rgbarray': 802 }, + ], + 875: [ + function (t, e, r) { + 'use strict'; + var n = t('../../../lib'), + i = t('../../../components/color'), + a = t('../../../registry'), + o = t('../../subplot_defaults'), + s = t('./axis_defaults'), + l = t('./layout_attributes'), + c = t('../../get_data').getSubplotData; + function u(t, e, r, n) { + for ( + var o = r('bgcolor'), + l = i.combine(o, n.paper_bgcolor), + u = ['up', 'center', 'eye'], + f = 0; + f < u.length; + f++ + ) + r('camera.' + u[f] + '.x'), + r('camera.' + u[f] + '.y'), + r('camera.' + u[f] + '.z'); + r('camera.projection.type'); + var h = + !!r('aspectratio.x') && + !!r('aspectratio.y') && + !!r('aspectratio.z'), + p = r('aspectmode', h ? 'manual' : 'auto'); + h || + ((t.aspectratio = e.aspectratio = { x: 1, y: 1, z: 1 }), + 'manual' === p && (e.aspectmode = 'auto'), + (t.aspectmode = e.aspectmode)); + var d = c(n.fullData, 'gl3d', n.id); + s(t, e, { + font: n.font, + scene: n.id, + data: d, + bgColor: l, + calendar: n.calendar, + autotypenumbersDflt: n.autotypenumbersDflt, + fullLayout: n.fullLayout, + }), + a.getComponentMethod('annotations3d', 'handleDefaults')(t, e, n); + var g = n.getDfltFromLayout('dragmode'); + if (!1 !== g && !g) + if (((g = 'orbit'), t.camera && t.camera.up)) { + var m = t.camera.up.x, + v = t.camera.up.y, + y = t.camera.up.z; + 0 !== y && + (m && v && y + ? y / Math.sqrt(m * m + v * v + y * y) > 0.999 && + (g = 'turntable') + : (g = 'turntable')); + } else g = 'turntable'; + r('dragmode', g), r('hovermode', n.getDfltFromLayout('hovermode')); + } + e.exports = function (t, e, r) { + var i = e._basePlotModules.length > 1; + o(t, e, r, { + type: 'gl3d', + attributes: l, + handleDefaults: u, + fullLayout: e, + font: e.font, + fullData: r, + getDfltFromLayout: function (e) { + if (!i) return n.validate(t[e], l[e]) ? t[e] : void 0; + }, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + calendar: e.calendar, + }); + }; + }, + { + '../../../components/color': 643, + '../../../lib': 778, + '../../../registry': 911, + '../../get_data': 865, + '../../subplot_defaults': 905, + './axis_defaults': 873, + './layout_attributes': 876, + }, + ], + 876: [ + function (t, e, r) { + 'use strict'; + var n = t('./axis_attributes'), + i = t('../../domain').attributes, + a = t('../../../lib/extend').extendFlat, + o = t('../../../lib').counterRegex; + function s(t, e, r) { + return { + x: { valType: 'number', dflt: t, editType: 'camera' }, + y: { valType: 'number', dflt: e, editType: 'camera' }, + z: { valType: 'number', dflt: r, editType: 'camera' }, + editType: 'camera', + }; + } + e.exports = { + _arrayAttrRegexps: [o('scene', '.annotations', !0)], + bgcolor: { + valType: 'color', + dflt: 'rgba(0,0,0,0)', + editType: 'plot', + }, + camera: { + up: a(s(0, 0, 1), {}), + center: a(s(0, 0, 0), {}), + eye: a(s(1.25, 1.25, 1.25), {}), + projection: { + type: { + valType: 'enumerated', + values: ['perspective', 'orthographic'], + dflt: 'perspective', + editType: 'calc', + }, + editType: 'calc', + }, + editType: 'camera', + }, + domain: i({ name: 'scene', editType: 'plot' }), + aspectmode: { + valType: 'enumerated', + values: ['auto', 'cube', 'data', 'manual'], + dflt: 'auto', + editType: 'plot', + impliedEdits: { + 'aspectratio.x': void 0, + 'aspectratio.y': void 0, + 'aspectratio.z': void 0, + }, + }, + aspectratio: { + x: { + valType: 'number', + min: 0, + editType: 'plot', + impliedEdits: { '^aspectmode': 'manual' }, + }, + y: { + valType: 'number', + min: 0, + editType: 'plot', + impliedEdits: { '^aspectmode': 'manual' }, + }, + z: { + valType: 'number', + min: 0, + editType: 'plot', + impliedEdits: { '^aspectmode': 'manual' }, + }, + editType: 'plot', + impliedEdits: { aspectmode: 'manual' }, + }, + xaxis: n, + yaxis: n, + zaxis: n, + dragmode: { + valType: 'enumerated', + values: ['orbit', 'turntable', 'zoom', 'pan', !1], + editType: 'plot', + }, + hovermode: { + valType: 'enumerated', + values: ['closest', !1], + dflt: 'closest', + editType: 'modebar', + }, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'plot', + _deprecated: { + cameraposition: { valType: 'info_array', editType: 'camera' }, + }, + }; + }, + { + '../../../lib': 778, + '../../../lib/extend': 768, + '../../domain': 855, + './axis_attributes': 872, + }, + ], + 877: [ + function (t, e, r) { + 'use strict'; + var n = t('../../../lib/str2rgbarray'), + i = ['xaxis', 'yaxis', 'zaxis']; + function a() { + (this.enabled = [!0, !0, !0]), + (this.colors = [ + [0, 0, 0, 1], + [0, 0, 0, 1], + [0, 0, 0, 1], + ]), + (this.drawSides = [!0, !0, !0]), + (this.lineWidth = [1, 1, 1]); + } + (a.prototype.merge = function (t) { + for (var e = 0; e < 3; ++e) { + var r = t[i[e]]; + r.visible + ? ((this.enabled[e] = r.showspikes), + (this.colors[e] = n(r.spikecolor)), + (this.drawSides[e] = r.spikesides), + (this.lineWidth[e] = r.spikethickness)) + : ((this.enabled[e] = !1), (this.drawSides[e] = !1)); + } + }), + (e.exports = function (t) { + var e = new a(); + return e.merge(t), e; + }); + }, + { '../../../lib/str2rgbarray': 802 }, + ], + 878: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for ( + var e = t.axesOptions, + r = t.glplot.axesPixels, + s = t.fullSceneLayout, + l = [[], [], []], + c = 0; + c < 3; + ++c + ) { + var u = s[a[c]]; + if ( + ((u._length = + ((r[c].hi - r[c].lo) * r[c].pixelsPerDataUnit) / + t.dataScale[c]), + Math.abs(u._length) === 1 / 0 || isNaN(u._length)) + ) + l[c] = []; + else { + (u._input_range = u.range.slice()), + (u.range[0] = r[c].lo / t.dataScale[c]), + (u.range[1] = r[c].hi / t.dataScale[c]), + (u._m = 1 / (t.dataScale[c] * r[c].pixelsPerDataUnit)), + u.range[0] === u.range[1] && + ((u.range[0] -= 1), (u.range[1] += 1)); + var f = u.tickmode; + if ('auto' === u.tickmode) { + u.tickmode = 'linear'; + var h = u.nticks || i.constrain(u._length / 40, 4, 9); + n.autoTicks(u, Math.abs(u.range[1] - u.range[0]) / h); + } + for ( + var p = n.calcTicks(u, { msUTC: !0 }), d = 0; + d < p.length; + ++d + ) + (p[d].x = p[d].x * t.dataScale[c]), + 'date' === u.type && + (p[d].text = p[d].text.replace(/\/g, ' ')); + (l[c] = p), (u.tickmode = f); + } + } + e.ticks = l; + for (c = 0; c < 3; ++c) { + o[c] = 0.5 * (t.glplot.bounds[0][c] + t.glplot.bounds[1][c]); + for (d = 0; d < 2; ++d) e.bounds[d][c] = t.glplot.bounds[d][c]; + } + t.contourLevels = (function (t) { + for (var e = new Array(3), r = 0; r < 3; ++r) { + for ( + var n = t[r], i = new Array(n.length), a = 0; + a < n.length; + ++a + ) + i[a] = n[a].x; + e[r] = i; + } + return e; + })(l); + }; + var n = t('../../cartesian/axes'), + i = t('../../../lib'), + a = ['xaxis', 'yaxis', 'zaxis'], + o = [0, 0, 0]; + }, + { '../../../lib': 778, '../../cartesian/axes': 828 }, + ], + 879: [ + function (t, e, r) { + 'use strict'; + function n(t, e) { + var r, + n, + i = [0, 0, 0, 0]; + for (r = 0; r < 4; ++r) + for (n = 0; n < 4; ++n) i[n] += t[4 * r + n] * e[r]; + return i; + } + e.exports = function (t, e) { + return n( + t.projection, + n(t.view, n(t.model, [e[0], e[1], e[2], 1])) + ); + }; + }, + {}, + ], + 880: [ + function (t, e, r) { + 'use strict'; + var n, + i, + a = t('gl-plot3d'), + o = a.createCamera, + s = a.createScene, + l = t('webgl-context'), + c = t('has-passive-events'), + u = t('../../registry'), + f = t('../../lib'), + h = f.preserveDrawingBuffer(), + p = t('../../plots/cartesian/axes'), + d = t('../../components/fx'), + g = t('../../lib/str2rgbarray'), + m = t('../../lib/show_no_webgl_msg'), + v = t('./project'), + y = t('./layout/convert'), + x = t('./layout/spikes'), + b = t('./layout/tick_marks'); + function _(t, e) { + var r = document.createElement('div'), + n = t.container; + this.graphDiv = t.graphDiv; + var i = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'svg' + ); + (i.style.position = 'absolute'), + (i.style.top = i.style.left = '0px'), + (i.style.width = i.style.height = '100%'), + (i.style['z-index'] = 20), + (i.style['pointer-events'] = 'none'), + r.appendChild(i), + (this.svgContainer = i), + (r.id = t.id), + (r.style.position = 'absolute'), + (r.style.top = r.style.left = '0px'), + (r.style.width = r.style.height = '100%'), + n.appendChild(r), + (this.fullLayout = e), + (this.id = t.id || 'scene'), + (this.fullSceneLayout = e[this.id]), + (this.plotArgs = [[], {}, {}]), + (this.axesOptions = y(e, e[this.id])), + (this.spikeOptions = x(e[this.id])), + (this.container = r), + (this.staticMode = !!t.staticPlot), + (this.pixelRatio = this.pixelRatio || t.plotGlPixelRatio || 2), + (this.dataScale = [1, 1, 1]), + (this.contourLevels = [[], [], []]), + (this.convertAnnotations = u.getComponentMethod( + 'annotations3d', + 'convert' + )), + (this.drawAnnotations = u.getComponentMethod( + 'annotations3d', + 'draw' + )), + this.initializeGLPlot(); + } + var w = _.prototype; + w.prepareOptions = function () { + var t = { + canvas: this.canvas, + gl: this.gl, + glOptions: { + preserveDrawingBuffer: h, + premultipliedAlpha: !0, + antialias: !0, + }, + container: this.container, + axes: this.axesOptions, + spikes: this.spikeOptions, + pickRadius: 10, + snapToData: !0, + autoScale: !0, + autoBounds: !1, + cameraObject: this.camera, + pixelRatio: this.pixelRatio, + }; + if (this.staticMode) { + if ( + !( + i || + ((n = document.createElement('canvas')), + (i = l({ + canvas: n, + preserveDrawingBuffer: !0, + premultipliedAlpha: !0, + antialias: !0, + }))) + ) + ) + throw new Error( + 'error creating static canvas/context for image server' + ); + (t.gl = i), (t.canvas = n); + } + return t; + }; + var T = !0; + (w.tryCreatePlot = function () { + var t = this.prepareOptions(), + e = !0; + try { + this.glplot = s(t); + } catch (r) { + if (this.staticMode || !T || h) e = !1; + else { + f.warn( + [ + 'webgl setup failed possibly due to', + 'false preserveDrawingBuffer config.', + 'The mobile/tablet device may not be detected by is-mobile module.', + 'Enabling preserveDrawingBuffer in second attempt to create webgl scene...', + ].join(' ') + ); + try { + (h = t.glOptions.preserveDrawingBuffer = !0), + (this.glplot = s(t)); + } catch (r) { + (h = t.glOptions.preserveDrawingBuffer = !1), (e = !1); + } + } + } + return (T = !1), e; + }), + (w.initializeGLCamera = function () { + var t = this.fullSceneLayout.camera, + e = 'orthographic' === t.projection.type; + this.camera = o(this.container, { + center: [t.center.x, t.center.y, t.center.z], + eye: [t.eye.x, t.eye.y, t.eye.z], + up: [t.up.x, t.up.y, t.up.z], + _ortho: e, + zoomMin: 0.01, + zoomMax: 100, + mode: 'orbit', + }); + }), + (w.initializeGLPlot = function () { + var t = this; + if ((t.initializeGLCamera(), !t.tryCreatePlot())) return m(t); + (t.traces = {}), t.make4thDimension(); + var e = t.graphDiv, + r = e.layout, + n = function () { + var e = {}; + return ( + t.isCameraChanged(r) && + (e[t.id + '.camera'] = t.getCamera()), + t.isAspectChanged(r) && + ((e[t.id + '.aspectratio'] = t.glplot.getAspectratio()), + 'manual' !== r[t.id].aspectmode && + (t.fullSceneLayout.aspectmode = + r[t.id].aspectmode = + e[t.id + '.aspectmode'] = + 'manual')), + e + ); + }, + i = function (t) { + if (!1 !== t.fullSceneLayout.dragmode) { + var e = n(); + t.saveLayout(r), t.graphDiv.emit('plotly_relayout', e); + } + }; + return ( + t.glplot.canvas && + (t.glplot.canvas.addEventListener('mouseup', function () { + i(t); + }), + t.glplot.canvas.addEventListener( + 'wheel', + function (r) { + if (e._context._scrollZoom.gl3d) { + if (t.camera._ortho) { + var n = r.deltaX > r.deltaY ? 1.1 : 1 / 1.1, + a = t.glplot.getAspectratio(); + t.glplot.setAspectratio({ + x: n * a.x, + y: n * a.y, + z: n * a.z, + }); + } + i(t); + } + }, + !!c && { passive: !1 } + ), + t.glplot.canvas.addEventListener('mousemove', function () { + if ( + !1 !== t.fullSceneLayout.dragmode && + 0 !== t.camera.mouseListener.buttons + ) { + var e = n(); + t.graphDiv.emit('plotly_relayouting', e); + } + }), + t.staticMode || + t.glplot.canvas.addEventListener( + 'webglcontextlost', + function (r) { + e && + e.emit && + e.emit('plotly_webglcontextlost', { + event: r, + layer: t.id, + }); + }, + !1 + )), + (t.glplot.oncontextloss = function () { + t.recoverContext(); + }), + (t.glplot.onrender = function () { + t.render(); + }), + !0 + ); + }), + (w.render = function () { + var t, + e = this, + r = e.graphDiv, + n = e.svgContainer, + i = e.container.getBoundingClientRect(); + r._fullLayout._calcInverseTransform(r); + var a = r._fullLayout._invScaleX, + o = r._fullLayout._invScaleY, + s = i.width * a, + l = i.height * o; + n.setAttributeNS(null, 'viewBox', '0 0 ' + s + ' ' + l), + n.setAttributeNS(null, 'width', s), + n.setAttributeNS(null, 'height', l), + b(e), + e.glplot.axes.update(e.axesOptions); + for ( + var c, + u = Object.keys(e.traces), + h = null, + g = e.glplot.selection, + m = 0; + m < u.length; + ++m + ) + 'skip' !== (t = e.traces[u[m]]).data.hoverinfo && + t.handlePick(g) && + (h = t), + t.setContourLevels && t.setContourLevels(); + function y(t, r) { + var n = e.fullSceneLayout[t]; + return p.tickText(n, n.d2l(r), 'hover').text; + } + if (null !== h) { + var x = v(e.glplot.cameraParams, g.dataCoordinate); + t = h.data; + var _, + w = r._fullData[t.index], + T = g.index, + k = { + xLabel: y('xaxis', g.traceCoordinate[0]), + yLabel: y('yaxis', g.traceCoordinate[1]), + zLabel: y('zaxis', g.traceCoordinate[2]), + }, + M = d.castHoverinfo(w, e.fullLayout, T), + A = (M || '').split('+'), + S = M && 'all' === M; + w.hovertemplate || + S || + (-1 === A.indexOf('x') && (k.xLabel = void 0), + -1 === A.indexOf('y') && (k.yLabel = void 0), + -1 === A.indexOf('z') && (k.zLabel = void 0), + -1 === A.indexOf('text') && (g.textLabel = void 0), + -1 === A.indexOf('name') && (h.name = void 0)); + var E = []; + 'cone' === t.type || 'streamtube' === t.type + ? ((k.uLabel = y('xaxis', g.traceCoordinate[3])), + (S || -1 !== A.indexOf('u')) && E.push('u: ' + k.uLabel), + (k.vLabel = y('yaxis', g.traceCoordinate[4])), + (S || -1 !== A.indexOf('v')) && E.push('v: ' + k.vLabel), + (k.wLabel = y('zaxis', g.traceCoordinate[5])), + (S || -1 !== A.indexOf('w')) && E.push('w: ' + k.wLabel), + (k.normLabel = g.traceCoordinate[6].toPrecision(3)), + (S || -1 !== A.indexOf('norm')) && + E.push('norm: ' + k.normLabel), + 'streamtube' === t.type && + ((k.divergenceLabel = + g.traceCoordinate[7].toPrecision(3)), + (S || -1 !== A.indexOf('divergence')) && + E.push('divergence: ' + k.divergenceLabel)), + g.textLabel && E.push(g.textLabel), + (_ = E.join('
'))) + : 'isosurface' === t.type || 'volume' === t.type + ? ((k.valueLabel = p.tickText( + e._mockAxis, + e._mockAxis.d2l(g.traceCoordinate[3]), + 'hover' + ).text), + E.push('value: ' + k.valueLabel), + g.textLabel && E.push(g.textLabel), + (_ = E.join('
'))) + : (_ = g.textLabel); + var C = { + x: g.traceCoordinate[0], + y: g.traceCoordinate[1], + z: g.traceCoordinate[2], + data: w._input, + fullData: w, + curveNumber: w.index, + pointNumber: T, + }; + d.appendArrayPointValue(C, w, T), + t._module.eventData && + (C = w._module.eventData(C, g, w, {}, T)); + var L = { points: [C] }; + e.fullSceneLayout.hovermode && + d.loneHover( + { + trace: w, + x: (0.5 + (0.5 * x[0]) / x[3]) * s, + y: (0.5 - (0.5 * x[1]) / x[3]) * l, + xLabel: k.xLabel, + yLabel: k.yLabel, + zLabel: k.zLabel, + text: _, + name: h.name, + color: d.castHoverOption(w, T, 'bgcolor') || h.color, + borderColor: d.castHoverOption(w, T, 'bordercolor'), + fontFamily: d.castHoverOption(w, T, 'font.family'), + fontSize: d.castHoverOption(w, T, 'font.size'), + fontColor: d.castHoverOption(w, T, 'font.color'), + nameLength: d.castHoverOption(w, T, 'namelength'), + textAlign: d.castHoverOption(w, T, 'align'), + hovertemplate: f.castOption(w, T, 'hovertemplate'), + hovertemplateLabels: f.extendFlat({}, C, k), + eventData: [C], + }, + { container: n, gd: r } + ), + g.buttons && g.distance < 5 + ? r.emit('plotly_click', L) + : r.emit('plotly_hover', L), + (c = L); + } else d.loneUnhover(n), r.emit('plotly_unhover', c); + e.drawAnnotations(e); + }), + (w.recoverContext = function () { + var t = this; + t.glplot.dispose(); + var e = function () { + t.glplot.gl.isContextLost() + ? requestAnimationFrame(e) + : t.initializeGLPlot() + ? t.plot.apply(t, t.plotArgs) + : f.error( + 'Catastrophic and unrecoverable WebGL error. Context lost.' + ); + }; + requestAnimationFrame(e); + }); + var k = ['xaxis', 'yaxis', 'zaxis']; + function M(t, e, r) { + for (var n = t.fullSceneLayout, i = 0; i < 3; i++) { + var a = k[i], + o = a.charAt(0), + s = n[a], + l = e[o], + c = e[o + 'calendar'], + u = e['_' + o + 'length']; + if (f.isArrayOrTypedArray(l)) + for (var h, p = 0; p < (u || l.length); p++) + if (f.isArrayOrTypedArray(l[p])) + for (var d = 0; d < l[p].length; ++d) + (h = s.d2l(l[p][d], 0, c)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (h = s.d2l(l[p], 0, c)), + !isNaN(h) && + isFinite(h) && + ((r[0][i] = Math.min(r[0][i], h)), + (r[1][i] = Math.max(r[1][i], h))); + else + (r[0][i] = Math.min(r[0][i], 0)), + (r[1][i] = Math.max(r[1][i], u - 1)); + } + } + (w.plot = function (t, e, r) { + if (((this.plotArgs = [t, e, r]), !this.glplot.contextLost)) { + var n, + i, + a, + o, + s, + l, + c = e[this.id], + u = r[this.id]; + (this.fullLayout = e), + (this.fullSceneLayout = c), + this.axesOptions.merge(e, c), + this.spikeOptions.merge(c), + this.setViewport(c), + this.updateFx(c.dragmode, c.hovermode), + (this.camera.enableWheel = + this.graphDiv._context._scrollZoom.gl3d), + this.glplot.setClearColor(g(c.bgcolor)), + this.setConvert(s), + t ? Array.isArray(t) || (t = [t]) : (t = []); + var f = [ + [1 / 0, 1 / 0, 1 / 0], + [-1 / 0, -1 / 0, -1 / 0], + ]; + for (a = 0; a < t.length; ++a) + !0 === (n = t[a]).visible && 0 !== n._length && M(this, n, f); + !(function (t, e) { + for ( + var r = t.fullSceneLayout, n = r.annotations || [], i = 0; + i < 3; + i++ + ) + for ( + var a = k[i], o = a.charAt(0), s = r[a], l = 0; + l < n.length; + l++ + ) { + var c = n[l]; + if (c.visible) { + var u = s.r2l(c[o]); + !isNaN(u) && + isFinite(u) && + ((e[0][i] = Math.min(e[0][i], u)), + (e[1][i] = Math.max(e[1][i], u))); + } + } + })(this, f); + var h = [1, 1, 1]; + for (o = 0; o < 3; ++o) + f[1][o] === f[0][o] + ? (h[o] = 1) + : (h[o] = 1 / (f[1][o] - f[0][o])); + for ( + this.dataScale = h, this.convertAnnotations(this), a = 0; + a < t.length; + ++a + ) + !0 === (n = t[a]).visible && + 0 !== n._length && + ((i = this.traces[n.uid]) + ? i.data.type === n.type + ? i.update(n) + : (i.dispose(), + (i = n._module.plot(this, n)), + (this.traces[n.uid] = i)) + : ((i = n._module.plot(this, n)), (this.traces[n.uid] = i)), + (i.name = n.name)); + var p = Object.keys(this.traces); + t: for (a = 0; a < p.length; ++a) { + for (o = 0; o < t.length; ++o) + if ( + t[o].uid === p[a] && + !0 === t[o].visible && + 0 !== t[o]._length + ) + continue t; + (i = this.traces[p[a]]).dispose(), delete this.traces[p[a]]; + } + this.glplot.objects.sort(function (t, e) { + return t._trace.data.index - e._trace.data.index; + }); + var d, + m = [ + [0, 0, 0], + [0, 0, 0], + ], + v = [], + y = {}; + for (a = 0; a < 3; ++a) { + if ( + ((l = (s = c[k[a]]).type) in y + ? ((y[l].acc *= h[a]), (y[l].count += 1)) + : (y[l] = { acc: h[a], count: 1 }), + s.autorange) + ) { + (m[0][a] = 1 / 0), (m[1][a] = -1 / 0); + var x = this.glplot.objects, + b = this.fullSceneLayout.annotations || [], + _ = s._name.charAt(0); + for (o = 0; o < x.length; o++) { + var w = x[o], + T = w.bounds, + A = w._trace.data._pad || 0; + 'ErrorBars' === w.constructor.name && s._lowerLogErrorBound + ? (m[0][a] = Math.min(m[0][a], s._lowerLogErrorBound)) + : (m[0][a] = Math.min(m[0][a], T[0][a] / h[a] - A)), + (m[1][a] = Math.max(m[1][a], T[1][a] / h[a] + A)); + } + for (o = 0; o < b.length; o++) { + var S = b[o]; + if (S.visible) { + var E = s.r2l(S[_]); + (m[0][a] = Math.min(m[0][a], E)), + (m[1][a] = Math.max(m[1][a], E)); + } + } + if ( + ('rangemode' in s && + 'tozero' === s.rangemode && + ((m[0][a] = Math.min(m[0][a], 0)), + (m[1][a] = Math.max(m[1][a], 0))), + m[0][a] > m[1][a]) + ) + (m[0][a] = -1), (m[1][a] = 1); + else { + var C = m[1][a] - m[0][a]; + (m[0][a] -= C / 32), (m[1][a] += C / 32); + } + if ('reversed' === s.autorange) { + var L = m[0][a]; + (m[0][a] = m[1][a]), (m[1][a] = L); + } + } else { + var I = s.range; + (m[0][a] = s.r2l(I[0])), (m[1][a] = s.r2l(I[1])); + } + m[0][a] === m[1][a] && ((m[0][a] -= 1), (m[1][a] += 1)), + (v[a] = m[1][a] - m[0][a]), + this.glplot.setBounds(a, { + min: m[0][a] * h[a], + max: m[1][a] * h[a], + }); + } + var P = c.aspectmode; + if ('cube' === P) d = [1, 1, 1]; + else if ('manual' === P) { + var z = c.aspectratio; + d = [z.x, z.y, z.z]; + } else { + if ('auto' !== P && 'data' !== P) + throw new Error( + 'scene.js aspectRatio was not one of the enumerated types' + ); + var O = [1, 1, 1]; + for (a = 0; a < 3; ++a) { + var D = y[(l = (s = c[k[a]]).type)]; + O[a] = Math.pow(D.acc, 1 / D.count) / h[a]; + } + d = + 'data' === P || + Math.max.apply(null, O) / Math.min.apply(null, O) <= 4 + ? O + : [1, 1, 1]; + } + (c.aspectratio.x = u.aspectratio.x = d[0]), + (c.aspectratio.y = u.aspectratio.y = d[1]), + (c.aspectratio.z = u.aspectratio.z = d[2]), + this.glplot.setAspectratio(c.aspectratio), + this.viewInitial.aspectratio || + (this.viewInitial.aspectratio = { + x: c.aspectratio.x, + y: c.aspectratio.y, + z: c.aspectratio.z, + }), + this.viewInitial.aspectmode || + (this.viewInitial.aspectmode = c.aspectmode); + var R = c.domain || null, + F = e._size || null; + if (R && F) { + var B = this.container.style; + (B.position = 'absolute'), + (B.left = F.l + R.x[0] * F.w + 'px'), + (B.top = F.t + (1 - R.y[1]) * F.h + 'px'), + (B.width = F.w * (R.x[1] - R.x[0]) + 'px'), + (B.height = F.h * (R.y[1] - R.y[0]) + 'px'); + } + this.glplot.redraw(); + } + }), + (w.destroy = function () { + this.glplot && + ((this.camera.mouseListener.enabled = !1), + this.container.removeEventListener( + 'wheel', + this.camera.wheelListener + ), + (this.camera = null), + this.glplot.dispose(), + this.container.parentNode.removeChild(this.container), + (this.glplot = null)); + }), + (w.getCamera = function () { + var t; + return ( + this.camera.view.recalcMatrix(this.camera.view.lastT()), + { + up: { x: (t = this.camera).up[0], y: t.up[1], z: t.up[2] }, + center: { x: t.center[0], y: t.center[1], z: t.center[2] }, + eye: { x: t.eye[0], y: t.eye[1], z: t.eye[2] }, + projection: { + type: !0 === t._ortho ? 'orthographic' : 'perspective', + }, + } + ); + }), + (w.setViewport = function (t) { + var e, + r = t.camera; + this.camera.lookAt.apply(this, [ + [(e = r).eye.x, e.eye.y, e.eye.z], + [e.center.x, e.center.y, e.center.z], + [e.up.x, e.up.y, e.up.z], + ]), + this.glplot.setAspectratio(t.aspectratio), + ('orthographic' === r.projection.type) !== this.camera._ortho && + (this.glplot.redraw(), + this.glplot.clearRGBA(), + this.glplot.dispose(), + this.initializeGLPlot()); + }), + (w.isCameraChanged = function (t) { + var e = this.getCamera(), + r = f.nestedProperty(t, this.id + '.camera').get(); + function n(t, e, r, n) { + var i = ['up', 'center', 'eye'], + a = ['x', 'y', 'z']; + return e[i[r]] && t[i[r]][a[n]] === e[i[r]][a[n]]; + } + var i = !1; + if (void 0 === r) i = !0; + else { + for (var a = 0; a < 3; a++) + for (var o = 0; o < 3; o++) + if (!n(e, r, a, o)) { + i = !0; + break; + } + (!r.projection || + (e.projection && e.projection.type !== r.projection.type)) && + (i = !0); + } + return i; + }), + (w.isAspectChanged = function (t) { + var e = this.glplot.getAspectratio(), + r = f.nestedProperty(t, this.id + '.aspectratio').get(); + return void 0 === r || r.x !== e.x || r.y !== e.y || r.z !== e.z; + }), + (w.saveLayout = function (t) { + var e, + r, + n, + i, + a, + o, + s = this.fullLayout, + l = this.isCameraChanged(t), + c = this.isAspectChanged(t), + h = l || c; + if (h) { + var p = {}; + if ( + (l && + ((e = this.getCamera()), + (n = (r = f.nestedProperty(t, this.id + '.camera')).get()), + (p[this.id + '.camera'] = n)), + c && + ((i = this.glplot.getAspectratio()), + (o = (a = f.nestedProperty( + t, + this.id + '.aspectratio' + )).get()), + (p[this.id + '.aspectratio'] = o)), + u.call('_storeDirectGUIEdit', t, s._preGUI, p), + l) + ) + r.set(e), f.nestedProperty(s, this.id + '.camera').set(e); + if (c) + a.set(i), + f.nestedProperty(s, this.id + '.aspectratio').set(i), + this.glplot.redraw(); + } + return h; + }), + (w.updateFx = function (t, e) { + var r = this.camera; + if (r) + if ('orbit' === t) + (r.mode = 'orbit'), (r.keyBindingMode = 'rotate'); + else if ('turntable' === t) { + (r.up = [0, 0, 1]), + (r.mode = 'turntable'), + (r.keyBindingMode = 'rotate'); + var n = this.graphDiv, + i = n._fullLayout, + a = this.fullSceneLayout.camera, + o = a.up.x, + s = a.up.y, + l = a.up.z; + if (l / Math.sqrt(o * o + s * s + l * l) < 0.999) { + var c = this.id + '.camera.up', + h = { x: 0, y: 0, z: 1 }, + p = {}; + p[c] = h; + var d = n.layout; + u.call('_storeDirectGUIEdit', d, i._preGUI, p), + (a.up = h), + f.nestedProperty(d, c).set(h); + } + } else r.keyBindingMode = t; + this.fullSceneLayout.hovermode = e; + }), + (w.toImage = function (t) { + t || (t = 'png'), + this.staticMode && this.container.appendChild(n), + this.glplot.redraw(); + var e = this.glplot.gl, + r = e.drawingBufferWidth, + i = e.drawingBufferHeight; + e.bindFramebuffer(e.FRAMEBUFFER, null); + var a = new Uint8Array(r * i * 4); + e.readPixels(0, 0, r, i, e.RGBA, e.UNSIGNED_BYTE, a), + (function (t, e, r) { + for (var n = 0, i = r - 1; n < i; ++n, --i) + for (var a = 0; a < e; ++a) + for (var o = 0; o < 4; ++o) { + var s = 4 * (e * n + a) + o, + l = 4 * (e * i + a) + o, + c = t[s]; + (t[s] = t[l]), (t[l] = c); + } + })(a, r, i), + (function (t, e, r) { + for (var n = 0; n < r; ++n) + for (var i = 0; i < e; ++i) { + var a = 4 * (e * n + i), + o = t[a + 3]; + if (o > 0) + for (var s = 255 / o, l = 0; l < 3; ++l) + t[a + l] = Math.min(s * t[a + l], 255); + } + })(a, r, i); + var o = document.createElement('canvas'); + (o.width = r), (o.height = i); + var s, + l = o.getContext('2d'), + c = l.createImageData(r, i); + switch ((c.data.set(a), l.putImageData(c, 0, 0), t)) { + case 'jpeg': + s = o.toDataURL('image/jpeg'); + break; + case 'webp': + s = o.toDataURL('image/webp'); + break; + default: + s = o.toDataURL('image/png'); + } + return this.staticMode && this.container.removeChild(n), s; + }), + (w.setConvert = function () { + for (var t = 0; t < 3; t++) { + var e = this.fullSceneLayout[k[t]]; + p.setConvert(e, this.fullLayout), (e.setScale = f.noop); + } + }), + (w.make4thDimension = function () { + var t = this.graphDiv._fullLayout; + (this._mockAxis = { + type: 'linear', + showexponent: 'all', + exponentformat: 'B', + }), + p.setConvert(this._mockAxis, t); + }), + (e.exports = _); + }, + { + '../../components/fx': 683, + '../../lib': 778, + '../../lib/show_no_webgl_msg': 800, + '../../lib/str2rgbarray': 802, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + './layout/convert': 874, + './layout/spikes': 877, + './layout/tick_marks': 878, + './project': 879, + 'gl-plot3d': 321, + 'has-passive-events': 441, + 'webgl-context': 606, + }, + ], + 881: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + n = n || t.length; + for (var i = new Array(n), a = 0; a < n; a++) + i[a] = [t[a], e[a], r[a]]; + return i; + }; + }, + {}, + ], + 882: [ + function (t, e, r) { + 'use strict'; + var n = t('./font_attributes'), + i = t('./animation_attributes'), + a = t('../components/color/attributes'), + o = t('../components/shapes/draw_newshape/attributes'), + s = t('./pad_attributes'), + l = t('../lib/extend').extendFlat, + c = n({ editType: 'calc' }); + (c.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (c.size.dflt = 12), + (c.color.dflt = a.defaultLine), + (e.exports = { + font: c, + title: { + text: { valType: 'string', editType: 'layoutstyle' }, + font: n({ editType: 'layoutstyle' }), + xref: { + valType: 'enumerated', + dflt: 'container', + values: ['container', 'paper'], + editType: 'layoutstyle', + }, + yref: { + valType: 'enumerated', + dflt: 'container', + values: ['container', 'paper'], + editType: 'layoutstyle', + }, + x: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.5, + editType: 'layoutstyle', + }, + y: { + valType: 'number', + min: 0, + max: 1, + dflt: 'auto', + editType: 'layoutstyle', + }, + xanchor: { + valType: 'enumerated', + dflt: 'auto', + values: ['auto', 'left', 'center', 'right'], + editType: 'layoutstyle', + }, + yanchor: { + valType: 'enumerated', + dflt: 'auto', + values: ['auto', 'top', 'middle', 'bottom'], + editType: 'layoutstyle', + }, + pad: l(s({ editType: 'layoutstyle' }), {}), + editType: 'layoutstyle', + }, + uniformtext: { + mode: { + valType: 'enumerated', + values: [!1, 'hide', 'show'], + dflt: !1, + editType: 'plot', + }, + minsize: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'plot', + }, + editType: 'plot', + }, + autosize: { valType: 'boolean', dflt: !1, editType: 'none' }, + width: { + valType: 'number', + min: 10, + dflt: 700, + editType: 'plot', + }, + height: { + valType: 'number', + min: 10, + dflt: 450, + editType: 'plot', + }, + margin: { + l: { valType: 'number', min: 0, dflt: 80, editType: 'plot' }, + r: { valType: 'number', min: 0, dflt: 80, editType: 'plot' }, + t: { valType: 'number', min: 0, dflt: 100, editType: 'plot' }, + b: { valType: 'number', min: 0, dflt: 80, editType: 'plot' }, + pad: { valType: 'number', min: 0, dflt: 0, editType: 'plot' }, + autoexpand: { valType: 'boolean', dflt: !0, editType: 'plot' }, + editType: 'plot', + }, + computed: { valType: 'any', editType: 'none' }, + paper_bgcolor: { + valType: 'color', + dflt: a.background, + editType: 'plot', + }, + plot_bgcolor: { + valType: 'color', + dflt: a.background, + editType: 'layoutstyle', + }, + autotypenumbers: { + valType: 'enumerated', + values: ['convert types', 'strict'], + dflt: 'convert types', + editType: 'calc', + }, + separators: { valType: 'string', editType: 'plot' }, + hidesources: { valType: 'boolean', dflt: !1, editType: 'plot' }, + showlegend: { valType: 'boolean', editType: 'legend' }, + colorway: { + valType: 'colorlist', + dflt: a.defaults, + editType: 'calc', + }, + datarevision: { valType: 'any', editType: 'calc' }, + uirevision: { valType: 'any', editType: 'none' }, + editrevision: { valType: 'any', editType: 'none' }, + selectionrevision: { valType: 'any', editType: 'none' }, + template: { valType: 'any', editType: 'calc' }, + modebar: { + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + dflt: 'h', + editType: 'modebar', + }, + bgcolor: { valType: 'color', editType: 'modebar' }, + color: { valType: 'color', editType: 'modebar' }, + activecolor: { valType: 'color', editType: 'modebar' }, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'modebar', + }, + newshape: o.newshape, + activeshape: o.activeshape, + meta: { valType: 'any', arrayOk: !0, editType: 'plot' }, + transition: l({}, i.transition, { editType: 'none' }), + _deprecated: { + title: { valType: 'string', editType: 'layoutstyle' }, + titlefont: n({ editType: 'layoutstyle' }), + }, + }); + }, + { + '../components/color/attributes': 642, + '../components/shapes/draw_newshape/attributes': 725, + '../lib/extend': 768, + './animation_attributes': 822, + './font_attributes': 856, + './pad_attributes': 890, + }, + ], + 883: [ + function (t, e, r) { + 'use strict'; + var n = { + 'open-street-map': { + id: 'osm', + version: 8, + sources: { + 'plotly-osm-tiles': { + type: 'raster', + attribution: + '\xa9 OpenStreetMap', + tiles: [ + 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png', + 'https://b.tile.openstreetmap.org/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-osm-tiles', + type: 'raster', + source: 'plotly-osm-tiles', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'white-bg': { + id: 'white-bg', + version: 8, + sources: {}, + layers: [ + { + id: 'white-bg', + type: 'background', + paint: { 'background-color': '#FFFFFF' }, + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'carto-positron': { + id: 'carto-positron', + version: 8, + sources: { + 'plotly-carto-positron': { + type: 'raster', + attribution: + '\xa9 CARTO', + tiles: [ + 'https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-carto-positron', + type: 'raster', + source: 'plotly-carto-positron', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'carto-darkmatter': { + id: 'carto-darkmatter', + version: 8, + sources: { + 'plotly-carto-darkmatter': { + type: 'raster', + attribution: + '\xa9 CARTO', + tiles: [ + 'https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-carto-darkmatter', + type: 'raster', + source: 'plotly-carto-darkmatter', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'stamen-terrain': { + id: 'stamen-terrain', + version: 8, + sources: { + 'plotly-stamen-terrain': { + type: 'raster', + attribution: + 'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.', + tiles: [ + 'https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-stamen-terrain', + type: 'raster', + source: 'plotly-stamen-terrain', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'stamen-toner': { + id: 'stamen-toner', + version: 8, + sources: { + 'plotly-stamen-toner': { + type: 'raster', + attribution: + 'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under ODbL.', + tiles: [ + 'https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-stamen-toner', + type: 'raster', + source: 'plotly-stamen-toner', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + 'stamen-watercolor': { + id: 'stamen-watercolor', + version: 8, + sources: { + 'plotly-stamen-watercolor': { + type: 'raster', + attribution: + 'Map tiles by Stamen Design, under CC BY 3.0 | Data by OpenStreetMap, under CC BY SA.', + tiles: [ + 'https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png', + ], + tileSize: 256, + }, + }, + layers: [ + { + id: 'plotly-stamen-watercolor', + type: 'raster', + source: 'plotly-stamen-watercolor', + minzoom: 0, + maxzoom: 22, + }, + ], + }, + }, + i = Object.keys(n); + e.exports = { + requiredVersion: '1.10.1', + styleUrlPrefix: 'mapbox://styles/mapbox/', + styleUrlSuffix: 'v9', + styleValuesMapbox: [ + 'basic', + 'streets', + 'outdoors', + 'light', + 'dark', + 'satellite', + 'satellite-streets', + ], + styleValueDflt: 'basic', + stylesNonMapbox: n, + styleValuesNonMapbox: i, + traceLayerPrefix: 'plotly-trace-layer-', + layoutLayerPrefix: 'plotly-layout-layer-', + wrongVersionErrorMsg: [ + 'Your custom plotly.js bundle is not using the correct mapbox-gl version', + 'Please install mapbox-gl@1.10.1.', + ].join('\n'), + noAccessTokenErrorMsg: [ + 'Missing Mapbox access token.', + 'Mapbox trace type require a Mapbox access token to be registered.', + 'For example:', + " Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });", + 'More info here: https://www.mapbox.com/help/define-access-token/', + ].join('\n'), + missingStyleErrorMsg: [ + 'No valid mapbox style found, please set `mapbox.style` to one of:', + i.join(', '), + 'or register a Mapbox access token to use a Mapbox-served style.', + ].join('\n'), + multipleTokensErrorMsg: [ + 'Set multiple mapbox access token across different mapbox subplot,', + 'using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.', + ].join('\n'), + mapOnErrorMsg: 'Mapbox error.', + mapboxLogo: { + path0: + 'm 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z', + path1: + 'M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z', + path2: + 'M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z', + polygon: + '11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34', + }, + styleRules: { + map: 'overflow:hidden;position:relative;', + 'missing-css': 'display:none;', + canary: 'background-color:salmon;', + 'ctrl-bottom-left': + 'position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;', + 'ctrl-bottom-right': + 'position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;', + ctrl: 'clear: both; pointer-events: auto; transform: translate(0, 0);', + 'ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner': + 'display: none;', + 'ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner': + 'display: block; margin-top:2px', + 'ctrl-attrib.mapboxgl-compact:hover': + 'padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;', + 'ctrl-attrib.mapboxgl-compact::after': + 'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;', + 'ctrl-attrib.mapboxgl-compact': + 'min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;', + 'ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after': + 'bottom: 0; right: 0', + 'ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after': + 'bottom: 0; left: 0', + 'ctrl-bottom-left .mapboxgl-ctrl': + 'margin: 0 0 10px 10px; float: left;', + 'ctrl-bottom-right .mapboxgl-ctrl': + 'margin: 0 10px 10px 0; float: right;', + 'ctrl-attrib': + 'color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px', + 'ctrl-attrib a': + 'color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px', + 'ctrl-attrib a:hover': + 'color: inherit; text-decoration: underline;', + 'ctrl-attrib .mapbox-improve-map': + 'font-weight: bold; margin-left: 2px;', + 'attrib-empty': 'display: none;', + 'ctrl-logo': + 'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')', + }, + }; + }, + {}, + ], + 884: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + var r = t.split(' '), + i = r[0], + a = r[1], + o = n.isArrayOrTypedArray(e) ? n.mean(e) : e, + s = 0.5 + o / 100, + l = 1.5 + o / 100, + c = ['', ''], + u = [0, 0]; + switch (i) { + case 'top': + (c[0] = 'top'), (u[1] = -l); + break; + case 'bottom': + (c[0] = 'bottom'), (u[1] = l); + } + switch (a) { + case 'left': + (c[1] = 'right'), (u[0] = -s); + break; + case 'right': + (c[1] = 'left'), (u[0] = s); + } + return { + anchor: + c[0] && c[1] + ? c.join('-') + : c[0] + ? c[0] + : c[1] + ? c[1] + : 'center', + offset: u, + }; + }; + }, + { '../../lib': 778 }, + ], + 885: [ + function (t, e, r) { + 'use strict'; + var n = t('mapbox-gl'), + i = t('../../lib'), + a = i.strTranslate, + o = i.strScale, + s = t('../../plots/get_data').getSubplotCalcData, + l = t('../../constants/xmlns_namespaces'), + c = t('d3'), + u = t('../../components/drawing'), + f = t('../../lib/svg_text_utils'), + h = t('./mapbox'), + p = (r.constants = t('./constants')); + function d(t) { + return ( + 'string' == typeof t && + (-1 !== p.styleValuesMapbox.indexOf(t) || + 0 === t.indexOf('mapbox://')) + ); + } + (r.name = 'mapbox'), + (r.attr = 'subplot'), + (r.idRoot = 'mapbox'), + (r.idRegex = r.attrRegex = i.counterRegex('mapbox')), + (r.attributes = { + subplot: { + valType: 'subplotid', + dflt: 'mapbox', + editType: 'calc', + }, + }), + (r.layoutAttributes = t('./layout_attributes')), + (r.supplyLayoutDefaults = t('./layout_defaults')), + (r.plot = function (t) { + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.mapbox; + if (n.version !== p.requiredVersion) + throw new Error(p.wrongVersionErrorMsg); + var o = (function (t, e) { + var r = t._fullLayout; + if ('' === t._context.mapboxAccessToken) return ''; + for ( + var n = [], a = [], o = !1, s = !1, l = 0; + l < e.length; + l++ + ) { + var c = r[e[l]], + u = c.accesstoken; + d(c.style) && + (u + ? i.pushUnique(n, u) + : (d(c._input.style) && + (i.error( + 'Uses Mapbox map style, but did not set an access token.' + ), + (o = !0)), + (s = !0))), + u && i.pushUnique(a, u); + } + if (s) { + var f = o ? p.noAccessTokenErrorMsg : p.missingStyleErrorMsg; + throw (i.error(f), new Error(f)); + } + return n.length + ? (n.length > 1 && i.warn(p.multipleTokensErrorMsg), n[0]) + : (a.length && + i.log( + [ + 'Listed mapbox access token(s)', + a.join(','), + 'but did not use a Mapbox map style, ignoring token(s).', + ].join(' ') + ), + ''); + })(t, a); + n.accessToken = o; + for (var l = 0; l < a.length; l++) { + var c = a[l], + u = s(r, 'mapbox', c), + f = e[c], + g = f._subplot; + g || ((g = new h(t, c)), (e[c]._subplot = g)), + g.viewInitial || + (g.viewInitial = { + center: i.extendFlat({}, f.center), + zoom: f.zoom, + bearing: f.bearing, + pitch: f.pitch, + }), + g.plot(u, e, t._promises); + } + }), + (r.clean = function (t, e, r, n) { + for (var i = n._subplots.mapbox || [], a = 0; a < i.length; a++) { + var o = i[a]; + !e[o] && n[o]._subplot && n[o]._subplot.destroy(); + } + }), + (r.toSVG = function (t) { + for ( + var e = t._fullLayout, + r = e._subplots.mapbox, + n = e._size, + i = 0; + i < r.length; + i++ + ) { + var s = e[r[i]], + h = s.domain, + d = s._subplot.toImage('png'); + e._glimages + .append('svg:image') + .attr({ + xmlns: l.svg, + 'xlink:href': d, + x: n.l + n.w * h.x[0], + y: n.t + n.h * (1 - h.y[1]), + width: n.w * (h.x[1] - h.x[0]), + height: n.h * (h.y[1] - h.y[0]), + preserveAspectRatio: 'none', + }); + var g = c.select(s._subplot.div); + if ( + !( + null === g.select('.mapboxgl-ctrl-logo').node().offsetParent + ) + ) { + var m = e._glimages.append('g'); + m.attr( + 'transform', + a(n.l + n.w * h.x[0] + 10, n.t + n.h * (1 - h.y[0]) - 31) + ), + m + .append('path') + .attr('d', p.mapboxLogo.path0) + .style({ + opacity: 0.9, + fill: '#ffffff', + 'enable-background': 'new', + }), + m + .append('path') + .attr('d', p.mapboxLogo.path1) + .style('opacity', 0.35) + .style('enable-background', 'new'), + m + .append('path') + .attr('d', p.mapboxLogo.path2) + .style('opacity', 0.35) + .style('enable-background', 'new'), + m + .append('polygon') + .attr('points', p.mapboxLogo.polygon) + .style({ + opacity: 0.9, + fill: '#ffffff', + 'enable-background': 'new', + }); + } + var v = g + .select('.mapboxgl-ctrl-attrib') + .text() + .replace('Improve this map', ''), + y = e._glimages.append('g'), + x = y.append('text'); + x.text(v) + .classed('static-attribution', !0) + .attr({ + 'font-size': 12, + 'font-family': 'Arial', + color: 'rgba(0, 0, 0, 0.75)', + 'text-anchor': 'end', + 'data-unformatted': v, + }); + var b = u.bBox(x.node()), + _ = n.w * (h.x[1] - h.x[0]); + if (b.width > _ / 2) { + var w = v.split('|').join('
'); + x + .text(w) + .attr('data-unformatted', w) + .call(f.convertToTspans, t), + (b = u.bBox(x.node())); + } + x.attr('transform', a(-3, 8 - b.height)), + y + .insert('rect', '.static-attribution') + .attr({ + x: -b.width - 6, + y: -b.height - 3, + width: b.width + 6, + height: b.height + 3, + fill: 'rgba(255, 255, 255, 0.75)', + }); + var T = 1; + b.width + 6 > _ && (T = _ / (b.width + 6)); + var k = [n.l + n.w * h.x[1], n.t + n.h * (1 - h.y[0])]; + y.attr('transform', a(k[0], k[1]) + o(T)); + } + }), + (r.updateFx = function (t) { + for ( + var e = t._fullLayout, r = e._subplots.mapbox, n = 0; + n < r.length; + n++ + ) { + e[r[n]]._subplot.updateFx(e); + } + }); + }, + { + '../../components/drawing': 665, + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/get_data': 865, + './constants': 883, + './layout_attributes': 887, + './layout_defaults': 888, + './mapbox': 889, + d3: 169, + 'mapbox-gl': 473, + }, + ], + 886: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../lib/svg_text_utils').sanitizeHTML, + a = t('./convert_text_opts'), + o = t('./constants'); + function s(t, e) { + (this.subplot = t), + (this.uid = t.uid + '-' + e), + (this.index = e), + (this.idSource = 'source-' + this.uid), + (this.idLayer = o.layoutLayerPrefix + this.uid), + (this.sourceType = null), + (this.source = null), + (this.layerType = null), + (this.below = null), + (this.visible = !1); + } + var l = s.prototype; + function c(t) { + if (!t.visible) return !1; + var e = t.source; + if (Array.isArray(e) && e.length > 0) { + for (var r = 0; r < e.length; r++) + if ('string' != typeof e[r] || 0 === e[r].length) return !1; + return !0; + } + return n.isPlainObject(e) || ('string' == typeof e && e.length > 0); + } + function u(t) { + var e = {}, + r = {}; + switch (t.type) { + case 'circle': + n.extendFlat(r, { + 'circle-radius': t.circle.radius, + 'circle-color': t.color, + 'circle-opacity': t.opacity, + }); + break; + case 'line': + n.extendFlat(r, { + 'line-width': t.line.width, + 'line-color': t.color, + 'line-opacity': t.opacity, + 'line-dasharray': t.line.dash, + }); + break; + case 'fill': + n.extendFlat(r, { + 'fill-color': t.color, + 'fill-outline-color': t.fill.outlinecolor, + 'fill-opacity': t.opacity, + }); + break; + case 'symbol': + var i = t.symbol, + o = a(i.textposition, i.iconsize); + n.extendFlat(e, { + 'icon-image': i.icon + '-15', + 'icon-size': i.iconsize / 10, + 'text-field': i.text, + 'text-size': i.textfont.size, + 'text-anchor': o.anchor, + 'text-offset': o.offset, + 'symbol-placement': i.placement, + }), + n.extendFlat(r, { + 'icon-color': t.color, + 'text-color': i.textfont.color, + 'text-opacity': t.opacity, + }); + break; + case 'raster': + n.extendFlat(r, { + 'raster-fade-duration': 0, + 'raster-opacity': t.opacity, + }); + } + return { layout: e, paint: r }; + } + (l.update = function (t) { + this.visible + ? this.needsNewImage(t) + ? this.updateImage(t) + : this.needsNewSource(t) + ? (this.removeLayer(), + this.updateSource(t), + this.updateLayer(t)) + : this.needsNewLayer(t) + ? this.updateLayer(t) + : this.updateStyle(t) + : (this.updateSource(t), this.updateLayer(t)), + (this.visible = c(t)); + }), + (l.needsNewImage = function (t) { + return ( + this.subplot.map.getSource(this.idSource) && + 'image' === this.sourceType && + 'image' === t.sourcetype && + (this.source !== t.source || + JSON.stringify(this.coordinates) !== + JSON.stringify(t.coordinates)) + ); + }), + (l.needsNewSource = function (t) { + return ( + this.sourceType !== t.sourcetype || + JSON.stringify(this.source) !== JSON.stringify(t.source) || + this.layerType !== t.type + ); + }), + (l.needsNewLayer = function (t) { + return ( + this.layerType !== t.type || + this.below !== this.subplot.belowLookup['layout-' + this.index] + ); + }), + (l.lookupBelow = function () { + return this.subplot.belowLookup['layout-' + this.index]; + }), + (l.updateImage = function (t) { + this.subplot.map + .getSource(this.idSource) + .updateImage({ url: t.source, coordinates: t.coordinates }); + var e = this.findFollowingMapboxLayerId(this.lookupBelow()); + null !== e && this.subplot.map.moveLayer(this.idLayer, e); + }), + (l.updateSource = function (t) { + var e = this.subplot.map; + if ( + (e.getSource(this.idSource) && e.removeSource(this.idSource), + (this.sourceType = t.sourcetype), + (this.source = t.source), + c(t)) + ) { + var r = (function (t) { + var e, + r = t.sourcetype, + n = t.source, + a = { type: r }; + 'geojson' === r + ? (e = 'data') + : 'vector' === r + ? (e = 'string' == typeof n ? 'url' : 'tiles') + : 'raster' === r + ? ((e = 'tiles'), (a.tileSize = 256)) + : 'image' === r && + ((e = 'url'), (a.coordinates = t.coordinates)); + (a[e] = n), + t.sourceattribution && + (a.attribution = i(t.sourceattribution)); + return a; + })(t); + e.addSource(this.idSource, r); + } + }), + (l.findFollowingMapboxLayerId = function (t) { + if ('traces' === t) + for ( + var e = this.subplot.getMapLayers(), r = 0; + r < e.length; + r++ + ) { + var n = e[r].id; + if ( + 'string' == typeof n && + 0 === n.indexOf(o.traceLayerPrefix) + ) { + t = n; + break; + } + } + return t; + }), + (l.updateLayer = function (t) { + var e = this.subplot, + r = u(t), + n = this.lookupBelow(), + i = this.findFollowingMapboxLayerId(n); + this.removeLayer(), + c(t) && + e.addLayer( + { + id: this.idLayer, + source: this.idSource, + 'source-layer': t.sourcelayer || '', + type: t.type, + minzoom: t.minzoom, + maxzoom: t.maxzoom, + layout: r.layout, + paint: r.paint, + }, + i + ), + (this.layerType = t.type), + (this.below = n); + }), + (l.updateStyle = function (t) { + if (c(t)) { + var e = u(t); + this.subplot.setOptions( + this.idLayer, + 'setLayoutProperty', + e.layout + ), + this.subplot.setOptions( + this.idLayer, + 'setPaintProperty', + e.paint + ); + } + }), + (l.removeLayer = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && t.removeLayer(this.idLayer); + }), + (l.dispose = function () { + var t = this.subplot.map; + t.getLayer(this.idLayer) && t.removeLayer(this.idLayer), + t.getSource(this.idSource) && t.removeSource(this.idSource); + }), + (e.exports = function (t, e, r) { + var n = new s(t, e); + return n.update(r), n; + }); + }, + { + '../../lib': 778, + '../../lib/svg_text_utils': 803, + './constants': 883, + './convert_text_opts': 884, + }, + ], + 887: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color').defaultLine, + a = t('../domain').attributes, + o = t('../font_attributes'), + s = t('../../traces/scatter/attributes').textposition, + l = t('../../plot_api/edit_types').overrideAll, + c = t('../../plot_api/plot_template').templatedArray, + u = t('./constants'), + f = o({}); + (f.family.dflt = 'Open Sans Regular, Arial Unicode MS Regular'), + ((e.exports = l( + { + _arrayAttrRegexps: [n.counterRegex('mapbox', '.layers', !0)], + domain: a({ name: 'mapbox' }), + accesstoken: { valType: 'string', noBlank: !0, strict: !0 }, + style: { + valType: 'any', + values: u.styleValuesMapbox.concat(u.styleValuesNonMapbox), + dflt: u.styleValueDflt, + }, + center: { + lon: { valType: 'number', dflt: 0 }, + lat: { valType: 'number', dflt: 0 }, + }, + zoom: { valType: 'number', dflt: 1 }, + bearing: { valType: 'number', dflt: 0 }, + pitch: { valType: 'number', dflt: 0 }, + layers: c('layer', { + visible: { valType: 'boolean', dflt: !0 }, + sourcetype: { + valType: 'enumerated', + values: ['geojson', 'vector', 'raster', 'image'], + dflt: 'geojson', + }, + source: { valType: 'any' }, + sourcelayer: { valType: 'string', dflt: '' }, + sourceattribution: { valType: 'string' }, + type: { + valType: 'enumerated', + values: ['circle', 'line', 'fill', 'symbol', 'raster'], + dflt: 'circle', + }, + coordinates: { valType: 'any' }, + below: { valType: 'string' }, + color: { valType: 'color', dflt: i }, + opacity: { valType: 'number', min: 0, max: 1, dflt: 1 }, + minzoom: { valType: 'number', min: 0, max: 24, dflt: 0 }, + maxzoom: { valType: 'number', min: 0, max: 24, dflt: 24 }, + circle: { radius: { valType: 'number', dflt: 15 } }, + line: { + width: { valType: 'number', dflt: 2 }, + dash: { valType: 'data_array' }, + }, + fill: { outlinecolor: { valType: 'color', dflt: i } }, + symbol: { + icon: { valType: 'string', dflt: 'marker' }, + iconsize: { valType: 'number', dflt: 10 }, + text: { valType: 'string', dflt: '' }, + placement: { + valType: 'enumerated', + values: ['point', 'line', 'line-center'], + dflt: 'point', + }, + textfont: f, + textposition: n.extendFlat({}, s, { arrayOk: !1 }), + }, + }), + }, + 'plot', + 'from-root' + )).uirevision = { valType: 'any', editType: 'none' }); + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../../traces/scatter/attributes': 1187, + '../domain': 855, + '../font_attributes': 856, + './constants': 883, + }, + ], + 888: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../subplot_defaults'), + a = t('../array_container_defaults'), + o = t('./layout_attributes'); + function s(t, e, r, n) { + r('accesstoken', n.accessToken), + r('style'), + r('center.lon'), + r('center.lat'), + r('zoom'), + r('bearing'), + r('pitch'), + a(t, e, { name: 'layers', handleItemDefaults: l }), + (e._input = t); + } + function l(t, e) { + function r(r, i) { + return n.coerce(t, e, o.layers, r, i); + } + if (r('visible')) { + var i, + a = r('sourcetype'), + s = 'raster' === a || 'image' === a; + r('source'), + r('sourceattribution'), + 'vector' === a && r('sourcelayer'), + 'image' === a && r('coordinates'), + s && (i = 'raster'); + var l = r('type', i); + s && + 'raster' !== l && + ((l = e.type = 'raster'), + n.log( + 'Source types *raster* and *image* must drawn *raster* layer type.' + )), + r('below'), + r('color'), + r('opacity'), + r('minzoom'), + r('maxzoom'), + 'circle' === l && r('circle.radius'), + 'line' === l && (r('line.width'), r('line.dash')), + 'fill' === l && r('fill.outlinecolor'), + 'symbol' === l && + (r('symbol.icon'), + r('symbol.iconsize'), + r('symbol.text'), + n.coerceFont(r, 'symbol.textfont'), + r('symbol.textposition'), + r('symbol.placement')); + } + } + e.exports = function (t, e, r) { + i(t, e, r, { + type: 'mapbox', + attributes: o, + handleDefaults: s, + partition: 'y', + accessToken: e._mapboxAccessToken, + }); + }; + }, + { + '../../lib': 778, + '../array_container_defaults': 823, + '../subplot_defaults': 905, + './layout_attributes': 887, + }, + ], + 889: [ + function (t, e, r) { + 'use strict'; + var n = t('mapbox-gl'), + i = t('../../lib'), + a = t('../../lib/geo_location_utils'), + o = t('../../registry'), + s = t('../cartesian/axes'), + l = t('../../components/dragelement'), + c = t('../../components/fx'), + u = t('../../components/dragelement/helpers'), + f = u.rectMode, + h = u.drawMode, + p = u.selectMode, + d = t('../cartesian/select').prepSelect, + g = t('../cartesian/select').clearSelect, + m = t('../cartesian/select').clearSelectionsCache, + v = t('../cartesian/select').selectOnClick, + y = t('./constants'), + x = t('./layers'); + function b(t, e) { + (this.id = e), (this.gd = t); + var r = t._fullLayout, + n = t._context; + (this.container = r._glcontainer.node()), + (this.isStatic = n.staticPlot), + (this.uid = r._uid + '-' + this.id), + (this.div = null), + (this.xaxis = null), + (this.yaxis = null), + this.createFramework(r), + (this.map = null), + (this.accessToken = null), + (this.styleObj = null), + (this.traceHash = {}), + (this.layerList = []), + (this.belowLookup = {}), + (this.dragging = !1), + (this.wheeling = !1); + } + var _ = b.prototype; + (_.plot = function (t, e, r) { + var n, + i = this, + a = e[i.id]; + i.map && + a.accesstoken !== i.accessToken && + (i.map.remove(), + (i.map = null), + (i.styleObj = null), + (i.traceHash = {}), + (i.layerList = [])), + (n = i.map + ? new Promise(function (r, n) { + i.updateMap(t, e, r, n); + }) + : new Promise(function (r, n) { + i.createMap(t, e, r, n); + })), + r.push(n); + }), + (_.createMap = function (t, e, r, i) { + var o = this, + s = e[o.id], + l = (o.styleObj = T(s.style)); + o.accessToken = s.accesstoken; + var c = (o.map = new n.Map({ + container: o.div, + style: l.style, + center: M(s.center), + zoom: s.zoom, + bearing: s.bearing, + pitch: s.pitch, + interactive: !o.isStatic, + preserveDrawingBuffer: o.isStatic, + doubleClickZoom: !1, + boxZoom: !1, + attributionControl: !1, + }).addControl(new n.AttributionControl({ compact: !0 }))); + (c._canvas.style.left = '0px'), + (c._canvas.style.top = '0px'), + o.rejectOnError(i), + o.isStatic || o.initFx(t, e); + var u = []; + u.push( + new Promise(function (t) { + c.once('load', t); + }) + ), + (u = u.concat(a.fetchTraceGeoData(t))), + Promise.all(u) + .then(function () { + o.fillBelowLookup(t, e), + o.updateData(t), + o.updateLayout(e), + o.resolveOnRender(r); + }) + .catch(i); + }), + (_.updateMap = function (t, e, r, n) { + var i = this, + o = i.map, + s = e[this.id]; + i.rejectOnError(n); + var l = [], + c = T(s.style); + JSON.stringify(i.styleObj) !== JSON.stringify(c) && + ((i.styleObj = c), + o.setStyle(c.style), + (i.traceHash = {}), + l.push( + new Promise(function (t) { + o.once('styledata', t); + }) + )), + (l = l.concat(a.fetchTraceGeoData(t))), + Promise.all(l) + .then(function () { + i.fillBelowLookup(t, e), + i.updateData(t), + i.updateLayout(e), + i.resolveOnRender(r); + }) + .catch(n); + }), + (_.fillBelowLookup = function (t, e) { + var r, + n, + i = e[this.id].layers, + a = (this.belowLookup = {}), + o = !1; + for (r = 0; r < t.length; r++) { + var s = t[r][0].trace, + l = s._module; + 'string' == typeof s.below + ? (n = s.below) + : l.getBelow && (n = l.getBelow(s, this)), + '' === n && (o = !0), + (a['trace-' + s.uid] = n || ''); + } + for (r = 0; r < i.length; r++) { + var c = i[r]; + (n = 'string' == typeof c.below ? c.below : o ? 'traces' : ''), + (a['layout-' + r] = n); + } + var u, + f, + h = {}; + for (u in a) h[(n = a[u])] ? h[n].push(u) : (h[n] = [u]); + for (n in h) { + var p = h[n]; + if (p.length > 1) + for (r = 0; r < p.length; r++) + 0 === (u = p[r]).indexOf('trace-') + ? ((f = u.split('trace-')[1]), + this.traceHash[f] && (this.traceHash[f].below = null)) + : 0 === u.indexOf('layout-') && + ((f = u.split('layout-')[1]), + this.layerList[f] && (this.layerList[f].below = null)); + } + }); + var w = { choroplethmapbox: 0, densitymapbox: 1, scattermapbox: 2 }; + function T(t) { + var e = {}; + return ( + i.isPlainObject(t) + ? ((e.id = t.id), (e.style = t)) + : 'string' == typeof t + ? ((e.id = t), + -1 !== y.styleValuesMapbox.indexOf(t) + ? (e.style = k(t)) + : y.stylesNonMapbox[t] + ? (e.style = y.stylesNonMapbox[t]) + : (e.style = t)) + : ((e.id = y.styleValueDflt), (e.style = k(y.styleValueDflt))), + (e.transition = { duration: 0, delay: 0 }), + e + ); + } + function k(t) { + return y.styleUrlPrefix + t + '-' + y.styleUrlSuffix; + } + function M(t) { + return [t.lon, t.lat]; + } + (_.updateData = function (t) { + var e, + r, + n, + i, + a = this.traceHash, + o = t.slice().sort(function (t, e) { + return w[t[0].trace.type] - w[e[0].trace.type]; + }); + for (n = 0; n < o.length; n++) { + var s = o[n], + l = !1; + (e = a[(r = s[0].trace).uid]) && + (e.type === r.type ? (e.update(s), (l = !0)) : e.dispose()), + !l && r._module && (a[r.uid] = r._module.plot(this, s)); + } + var c = Object.keys(a); + t: for (n = 0; n < c.length; n++) { + var u = c[n]; + for (i = 0; i < t.length; i++) + if (u === (r = t[i][0].trace).uid) continue t; + (e = a[u]).dispose(), delete a[u]; + } + }), + (_.updateLayout = function (t) { + var e = this.map, + r = t[this.id]; + this.dragging || + this.wheeling || + (e.setCenter(M(r.center)), + e.setZoom(r.zoom), + e.setBearing(r.bearing), + e.setPitch(r.pitch)), + this.updateLayers(t), + this.updateFramework(t), + this.updateFx(t), + this.map.resize(), + this.gd._context._scrollZoom.mapbox + ? e.scrollZoom.enable() + : e.scrollZoom.disable(); + }), + (_.resolveOnRender = function (t) { + var e = this.map; + e.on('render', function r() { + e.loaded() && (e.off('render', r), setTimeout(t, 10)); + }); + }), + (_.rejectOnError = function (t) { + var e = this.map; + function r() { + t(new Error(y.mapOnErrorMsg)); + } + e.once('error', r), + e.once('style.error', r), + e.once('source.error', r), + e.once('tile.error', r), + e.once('layer.error', r); + }), + (_.createFramework = function (t) { + var e = this, + r = (e.div = document.createElement('div')); + (r.id = e.uid), + (r.style.position = 'absolute'), + e.container.appendChild(r), + (e.xaxis = { + _id: 'x', + c2p: function (t) { + return e.project(t).x; + }, + }), + (e.yaxis = { + _id: 'y', + c2p: function (t) { + return e.project(t).y; + }, + }), + e.updateFramework(t), + (e.mockAxis = { + type: 'linear', + showexponent: 'all', + exponentformat: 'B', + }), + s.setConvert(e.mockAxis, t); + }), + (_.initFx = function (t, e) { + var r = this, + n = r.gd, + i = r.map; + function a() { + c.loneUnhover(e._hoverlayer); + } + function s() { + var t = r.getView(); + n.emit('plotly_relayouting', r.getViewEditsWithDerived(t)); + } + i.on('moveend', function (t) { + if (r.map) { + var e = n._fullLayout; + if (t.originalEvent || r.wheeling) { + var i = e[r.id]; + o.call( + '_storeDirectGUIEdit', + n.layout, + e._preGUI, + r.getViewEdits(i) + ); + var a = r.getView(); + (i._input.center = i.center = a.center), + (i._input.zoom = i.zoom = a.zoom), + (i._input.bearing = i.bearing = a.bearing), + (i._input.pitch = i.pitch = a.pitch), + n.emit('plotly_relayout', r.getViewEditsWithDerived(a)); + } + t.originalEvent && 'mouseup' === t.originalEvent.type + ? (r.dragging = !1) + : r.wheeling && (r.wheeling = !1), + e._rehover && e._rehover(); + } + }), + i.on('wheel', function () { + r.wheeling = !0; + }), + i.on('mousemove', function (t) { + var e = r.div.getBoundingClientRect(), + a = [t.originalEvent.offsetX, t.originalEvent.offsetY]; + (t.target.getBoundingClientRect = function () { + return e; + }), + (r.xaxis.p2c = function () { + return i.unproject(a).lng; + }), + (r.yaxis.p2c = function () { + return i.unproject(a).lat; + }), + (n._fullLayout._rehover = function () { + n._fullLayout._hoversubplot === r.id && + n._fullLayout[r.id] && + c.hover(n, t, r.id); + }), + c.hover(n, t, r.id), + (n._fullLayout._hoversubplot = r.id); + }), + i.on('dragstart', function () { + (r.dragging = !0), a(); + }), + i.on('zoomstart', a), + i.on('mouseout', function () { + n._fullLayout._hoversubplot = null; + }), + i.on('drag', s), + i.on('zoom', s), + i.on('dblclick', function () { + var t = n._fullLayout[r.id]; + o.call( + '_storeDirectGUIEdit', + n.layout, + n._fullLayout._preGUI, + r.getViewEdits(t) + ); + var e = r.viewInitial; + i.setCenter(M(e.center)), + i.setZoom(e.zoom), + i.setBearing(e.bearing), + i.setPitch(e.pitch); + var a = r.getView(); + (t._input.center = t.center = a.center), + (t._input.zoom = t.zoom = a.zoom), + (t._input.bearing = t.bearing = a.bearing), + (t._input.pitch = t.pitch = a.pitch), + n.emit('plotly_doubleclick', null), + n.emit('plotly_relayout', r.getViewEditsWithDerived(a)); + }), + (r.clearSelect = function () { + m(r.dragOptions), g(r.dragOptions.gd); + }), + (r.onClickInPanFn = function (t) { + return function (e) { + var i = n._fullLayout.clickmode; + i.indexOf('select') > -1 && + v(e.originalEvent, n, [r.xaxis], [r.yaxis], r.id, t), + i.indexOf('event') > -1 && c.click(n, e.originalEvent); + }; + }); + }), + (_.updateFx = function (t) { + var e = this, + r = e.map, + n = e.gd; + if (!e.isStatic) { + var a, + o = t.dragmode; + a = f(o) + ? function (t, r) { + (t.range = {})[e.id] = [ + c([r.xmin, r.ymin]), + c([r.xmax, r.ymax]), + ]; + } + : function (t, r, n) { + (t.lassoPoints = {})[e.id] = n.filtered.map(c); + }; + var s = e.dragOptions; + (e.dragOptions = i.extendDeep(s || {}, { + dragmode: t.dragmode, + element: e.div, + gd: n, + plotinfo: { + id: e.id, + domain: t[e.id].domain, + xaxis: e.xaxis, + yaxis: e.yaxis, + fillRangeItems: a, + }, + xaxes: [e.xaxis], + yaxes: [e.yaxis], + subplot: e.id, + })), + r.off('click', e.onClickInPanHandler), + p(o) || h(o) + ? (r.dragPan.disable(), + r.on('zoomstart', e.clearSelect), + (e.dragOptions.prepFn = function (t, r, n) { + d(t, r, n, e.dragOptions, o); + }), + l.init(e.dragOptions)) + : (r.dragPan.enable(), + r.off('zoomstart', e.clearSelect), + (e.div.onmousedown = null), + (e.onClickInPanHandler = e.onClickInPanFn(e.dragOptions)), + r.on('click', e.onClickInPanHandler)); + } + function c(t) { + var r = e.map.unproject(t); + return [r.lng, r.lat]; + } + }), + (_.updateFramework = function (t) { + var e = t[this.id].domain, + r = t._size, + n = this.div.style; + (n.width = r.w * (e.x[1] - e.x[0]) + 'px'), + (n.height = r.h * (e.y[1] - e.y[0]) + 'px'), + (n.left = r.l + e.x[0] * r.w + 'px'), + (n.top = r.t + (1 - e.y[1]) * r.h + 'px'), + (this.xaxis._offset = r.l + e.x[0] * r.w), + (this.xaxis._length = r.w * (e.x[1] - e.x[0])), + (this.yaxis._offset = r.t + (1 - e.y[1]) * r.h), + (this.yaxis._length = r.h * (e.y[1] - e.y[0])); + }), + (_.updateLayers = function (t) { + var e, + r = t[this.id].layers, + n = this.layerList; + if (r.length !== n.length) { + for (e = 0; e < n.length; e++) n[e].dispose(); + for (n = this.layerList = [], e = 0; e < r.length; e++) + n.push(x(this, e, r[e])); + } else for (e = 0; e < r.length; e++) n[e].update(r[e]); + }), + (_.destroy = function () { + this.map && + (this.map.remove(), + (this.map = null), + this.container.removeChild(this.div)); + }), + (_.toImage = function () { + return this.map.stop(), this.map.getCanvas().toDataURL(); + }), + (_.setOptions = function (t, e, r) { + for (var n in r) this.map[e](t, n, r[n]); + }), + (_.getMapLayers = function () { + return this.map.getStyle().layers; + }), + (_.addLayer = function (t, e) { + var r = this.map; + if ('string' == typeof e) { + if ('' === e) return void r.addLayer(t, e); + for (var n = this.getMapLayers(), a = 0; a < n.length; a++) + if (e === n[a].id) return void r.addLayer(t, e); + i.warn( + [ + 'Trying to add layer with *below* value', + e, + 'referencing a layer that does not exist', + 'or that does not yet exist.', + ].join(' ') + ); + } + r.addLayer(t); + }), + (_.project = function (t) { + return this.map.project(new n.LngLat(t[0], t[1])); + }), + (_.getView = function () { + var t = this.map, + e = t.getCenter(), + r = { lon: e.lng, lat: e.lat }, + n = t.getCanvas(), + i = n.width, + a = n.height; + return { + center: r, + zoom: t.getZoom(), + bearing: t.getBearing(), + pitch: t.getPitch(), + _derived: { + coordinates: [ + t.unproject([0, 0]).toArray(), + t.unproject([i, 0]).toArray(), + t.unproject([i, a]).toArray(), + t.unproject([0, a]).toArray(), + ], + }, + }; + }), + (_.getViewEdits = function (t) { + for ( + var e = this.id, + r = ['center', 'zoom', 'bearing', 'pitch'], + n = {}, + i = 0; + i < r.length; + i++ + ) { + var a = r[i]; + n[e + '.' + a] = t[a]; + } + return n; + }), + (_.getViewEditsWithDerived = function (t) { + var e = this.id, + r = this.getViewEdits(t); + return (r[e + '._derived'] = t._derived), r; + }), + (e.exports = b); + }, + { + '../../components/dragelement': 662, + '../../components/dragelement/helpers': 661, + '../../components/fx': 683, + '../../lib': 778, + '../../lib/geo_location_utils': 771, + '../../registry': 911, + '../cartesian/axes': 828, + '../cartesian/select': 847, + './constants': 883, + './layers': 886, + 'mapbox-gl': 473, + }, + ], + 890: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + var e = t.editType; + return { + t: { valType: 'number', dflt: 0, editType: e }, + r: { valType: 'number', dflt: 0, editType: e }, + b: { valType: 'number', dflt: 0, editType: e }, + l: { valType: 'number', dflt: 0, editType: e }, + editType: e, + }; + }; + }, + {}, + ], + 891: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('d3-time-format').timeFormatLocale, + a = t('fast-isnumeric'), + o = t('../registry'), + s = t('../plot_api/plot_schema'), + l = t('../plot_api/plot_template'), + c = t('../lib'), + u = t('../components/color'), + f = t('../constants/numerical').BADNUM, + h = t('./cartesian/axis_ids'), + p = t('./cartesian/handle_outline').clearSelect, + d = t('./animation_attributes'), + g = t('./frame_attributes'), + m = t('../plots/get_data').getModuleCalcData, + v = c.relinkPrivateKeys, + y = c._, + x = (e.exports = {}); + c.extendFlat(x, o), + (x.attributes = t('./attributes')), + (x.attributes.type.values = x.allTypes), + (x.fontAttrs = t('./font_attributes')), + (x.layoutAttributes = t('./layout_attributes')), + (x.fontWeight = 'normal'); + var b = x.transformsRegistry, + _ = t('./command'); + (x.executeAPICommand = _.executeAPICommand), + (x.computeAPICommandBindings = _.computeAPICommandBindings), + (x.manageCommandObserver = _.manageCommandObserver), + (x.hasSimpleAPICommandBindings = _.hasSimpleAPICommandBindings), + (x.redrawText = function (t) { + var e = (t = c.getGraphDiv(t))._fullLayout || {}; + if ( + !( + !(e._has && e._has('polar')) && + t.data && + t.data[0] && + t.data[0].r + ) + ) + return new Promise(function (e) { + setTimeout(function () { + o.getComponentMethod('annotations', 'draw')(t), + o.getComponentMethod('legend', 'draw')(t), + o.getComponentMethod('colorbar', 'draw')(t), + e(x.previousPromises(t)); + }, 300); + }); + }), + (x.resize = function (t) { + var e; + t = c.getGraphDiv(t); + var r = new Promise(function (r, n) { + (t && !c.isHidden(t)) || + n( + new Error( + 'Resize must be passed a displayed plot div element.' + ) + ), + t._redrawTimer && clearTimeout(t._redrawTimer), + t._resolveResize && (e = t._resolveResize), + (t._resolveResize = r), + (t._redrawTimer = setTimeout(function () { + if ( + !t.layout || + (t.layout.width && t.layout.height) || + c.isHidden(t) + ) + r(t); + else { + delete t.layout.width, delete t.layout.height; + var e = t.changed; + (t.autoplay = !0), + o + .call('relayout', t, { autosize: !0 }) + .then(function () { + (t.changed = e), + t._resolveResize === r && + (delete t._resolveResize, r(t)); + }); + } + }, 100)); + }); + return e && e(r), r; + }), + (x.previousPromises = function (t) { + if ((t._promises || []).length) + return Promise.all(t._promises).then(function () { + t._promises = []; + }); + }), + (x.addLinks = function (t) { + if (t._context.showLink || t._context.showSources) { + var e = t._fullLayout, + r = c.ensureSingle( + e._paper, + 'text', + 'js-plot-link-container', + function (t) { + t.style({ + 'font-family': '"Open Sans", Arial, sans-serif', + 'font-size': '12px', + fill: u.defaultLine, + 'pointer-events': 'all', + }).each(function () { + var t = n.select(this); + t.append('tspan').classed('js-link-to-tool', !0), + t.append('tspan').classed('js-link-spacer', !0), + t.append('tspan').classed('js-sourcelinks', !0); + }); + } + ), + i = r.node(), + a = { y: e._paper.attr('height') - 9 }; + document.body.contains(i) && + i.getComputedTextLength() >= e.width - 20 + ? ((a['text-anchor'] = 'start'), (a.x = 5)) + : ((a['text-anchor'] = 'end'), + (a.x = e._paper.attr('width') - 7)), + r.attr(a); + var o = r.select('.js-link-to-tool'), + s = r.select('.js-link-spacer'), + l = r.select('.js-sourcelinks'); + t._context.showSources && t._context.showSources(t), + t._context.showLink && + (function (t, e) { + e.text(''); + var r = e + .append('a') + .attr({ + 'xlink:xlink:href': '#', + class: 'link--impt link--embedview', + 'font-weight': 'bold', + }) + .text( + t._context.linkText + ' ' + String.fromCharCode(187) + ); + if (t._context.sendData) + r.on('click', function () { + x.sendDataToCloud(t); + }); + else { + var n = window.location.pathname.split('/'), + i = window.location.search; + r.attr({ + 'xlink:xlink:show': 'new', + 'xlink:xlink:href': + '/' + n[2].split('.')[0] + '/' + n[1] + i, + }); + } + })(t, o), + s.text(o.text() && l.text() ? ' - ' : ''); + } + }), + (x.sendDataToCloud = function (t) { + var e = + (window.PLOTLYENV || {}).BASE_URL || t._context.plotlyServerURL; + if (e) { + t.emit('plotly_beforeexport'); + var r = n + .select(t) + .append('div') + .attr('id', 'hiddenform') + .style('display', 'none'), + i = r + .append('form') + .attr({ + action: e + '/external', + method: 'post', + target: '_blank', + }); + return ( + (i + .append('input') + .attr({ type: 'text', name: 'data' }) + .node().value = x.graphJson(t, !1, 'keepdata')), + i.node().submit(), + r.remove(), + t.emit('plotly_afterexport'), + !1 + ); + } + }); + var w = [ + 'days', + 'shortDays', + 'months', + 'shortMonths', + 'periods', + 'dateTime', + 'date', + 'time', + 'decimal', + 'thousands', + 'grouping', + 'currency', + ], + T = ['year', 'month', 'dayMonth', 'dayMonthYear']; + function k(t, e) { + var r = t._context.locale; + r || (r = 'en-US'); + var n = !1, + i = {}; + function a(t) { + for (var r = !0, a = 0; a < e.length; a++) { + var o = e[a]; + i[o] || (t[o] ? (i[o] = t[o]) : (r = !1)); + } + r && (n = !0); + } + for (var s = 0; s < 2; s++) { + for (var l = t._context.locales, c = 0; c < 2; c++) { + var u = (l[r] || {}).format; + if (u && (a(u), n)) break; + l = o.localeRegistry; + } + var f = r.split('-')[0]; + if (n || f === r) break; + r = f; + } + return n || a(o.localeRegistry.en.format), i; + } + function M(t, e) { + var r = { _fullLayout: e }, + n = 'x' === t._id.charAt(0), + i = t._mainAxis._anchorAxis, + a = '', + o = '', + s = ''; + if ( + (i && ((s = i._mainAxis._id), (a = n ? t._id + s : s + t._id)), + !a || !e._plots[a]) + ) { + a = ''; + for (var l = t._counterAxes, c = 0; c < l.length; c++) { + var u = l[c], + f = n ? t._id + u : u + t._id; + o || (o = f); + var p = h.getFromId(r, u); + if (s && p.overlaying === s) { + a = f; + break; + } + } + } + return a || o; + } + function A(t) { + var e = t.transforms; + if (Array.isArray(e) && e.length) + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = n._module || b[n.type]; + if (i && i.makesData) return !0; + } + return !1; + } + function S(t, e, r, n) { + for (var i = t.transforms, a = [t], o = 0; o < i.length; o++) { + var s = i[o], + l = b[s.type]; + l && + l.transform && + (a = l.transform(a, { + transform: s, + fullTrace: t, + fullData: e, + layout: r, + fullLayout: n, + transformIndex: o, + })); + } + return a; + } + function E(t) { + return ( + 'string' == typeof t && + 'px' === t.substr(t.length - 2) && + parseFloat(t) + ); + } + function C(t) { + var e = t.margin; + if (!t._size) { + var r = (t._size = { + l: Math.round(e.l), + r: Math.round(e.r), + t: Math.round(e.t), + b: Math.round(e.b), + p: Math.round(e.pad), + }); + (r.w = Math.round(t.width) - r.l - r.r), + (r.h = Math.round(t.height) - r.t - r.b); + } + t._pushmargin || (t._pushmargin = {}), + t._pushmarginIds || (t._pushmarginIds = {}); + } + (x.supplyDefaults = function (t, e) { + var r = e && e.skipUpdateCalc, + a = t._fullLayout || {}; + if (a._skipDefaults) delete a._skipDefaults; + else { + var s, + l = (t._fullLayout = {}), + u = t.layout || {}, + f = t._fullData || [], + h = (t._fullData = []), + d = t.data || [], + g = t.calcdata || [], + m = t._context || {}; + t._transitionData || x.createTransitionData(t), + (l._dfltTitle = { + plot: y(t, 'Click to enter Plot title'), + x: y(t, 'Click to enter X axis title'), + y: y(t, 'Click to enter Y axis title'), + colorbar: y(t, 'Click to enter Colorscale title'), + annotation: y(t, 'new text'), + }), + (l._traceWord = y(t, 'trace')); + var b = k(t, w); + if ( + ((l._mapboxAccessToken = m.mapboxAccessToken), + a._initialAutoSizeIsDone) + ) { + var _ = a.width, + M = a.height; + x.supplyLayoutGlobalDefaults(u, l, b), + u.width || (l.width = _), + u.height || (l.height = M), + x.sanitizeMargins(l); + } else { + x.supplyLayoutGlobalDefaults(u, l, b); + var A = !u.width || !u.height, + S = l.autosize, + E = m.autosizable; + A && (S || E) + ? x.plotAutoSize(t, u, l) + : A && x.sanitizeMargins(l), + !S && A && ((u.width = l.width), (u.height = l.height)); + } + (l._d3locale = (function (t, e) { + return ( + (t.decimal = e.charAt(0)), + (t.thousands = e.charAt(1)), + { + numberFormat: n.locale(t).numberFormat, + timeFormat: i(t).utcFormat, + } + ); + })(b, l.separators)), + (l._extraFormat = k(t, T)), + (l._initialAutoSizeIsDone = !0), + (l._dataLength = d.length), + (l._modules = []), + (l._visibleModules = []), + (l._basePlotModules = []); + var L = (l._subplots = (function () { + var t, + e, + r = o.collectableSubplotTypes, + n = {}; + if (!r) { + r = []; + var i = o.subplotsRegistry; + for (var a in i) { + var s = i[a].attr; + if (s && (r.push(a), Array.isArray(s))) + for (e = 0; e < s.length; e++) c.pushUnique(r, s[e]); + } + } + for (t = 0; t < r.length; t++) n[r[t]] = []; + return n; + })()), + I = (l._splomAxes = { x: {}, y: {} }), + P = (l._splomSubplots = {}); + (l._splomGridDflt = {}), + (l._scatterStackOpts = {}), + (l._firstScatter = {}), + (l._alignmentOpts = {}), + (l._colorAxes = {}), + (l._requestRangeslider = {}), + (l._traceUids = (function (t, e) { + var r, + n, + i = e.length, + a = []; + for (r = 0; r < t.length; r++) { + var o = t[r]._fullInput; + o !== n && a.push(o), (n = o); + } + var s = a.length, + l = new Array(i), + u = {}; + function f(t, e) { + (l[e] = t), (u[t] = 1); + } + function h(t, e) { + if (t && 'string' == typeof t && !u[t]) return f(t, e), !0; + } + for (r = 0; r < i; r++) { + var p = e[r].uid; + 'number' == typeof p && (p = String(p)), + h(p, r) || + (r < s && h(a[r].uid, r)) || + f(c.randstr(u), r); + } + return l; + })(f, d)), + (l._globalTransforms = (t._context || {}).globalTransforms), + x.supplyDataDefaults(d, h, u, l); + var z = Object.keys(I.x), + O = Object.keys(I.y); + if (z.length > 1 && O.length > 1) { + for ( + o.getComponentMethod('grid', 'sizeDefaults')(u, l), s = 0; + s < z.length; + s++ + ) + c.pushUnique(L.xaxis, z[s]); + for (s = 0; s < O.length; s++) c.pushUnique(L.yaxis, O[s]); + for (var D in P) c.pushUnique(L.cartesian, D); + } + if (((l._has = x._hasPlotType.bind(l)), f.length === h.length)) + for (s = 0; s < h.length; s++) v(h[s], f[s]); + x.supplyLayoutModuleDefaults(u, l, h, t._transitionData); + var R = l._visibleModules, + F = []; + for (s = 0; s < R.length; s++) { + var B = R[s].crossTraceDefaults; + B && c.pushUnique(F, B); + } + for (s = 0; s < F.length; s++) F[s](h, l); + (l._hasOnlyLargeSploms = + 1 === l._basePlotModules.length && + 'splom' === l._basePlotModules[0].name && + z.length > 15 && + O.length > 15 && + 0 === l.shapes.length && + 0 === l.images.length), + (l._hasCartesian = l._has('cartesian')), + (l._hasGeo = l._has('geo')), + (l._hasGL3D = l._has('gl3d')), + (l._hasGL2D = l._has('gl2d')), + (l._hasTernary = l._has('ternary')), + (l._hasPie = l._has('pie')), + x.linkSubplots(h, l, f, a), + x.cleanPlot(h, l, f, a); + var N = !(!a._has || !a._has('gl2d')), + j = !(!l._has || !l._has('gl2d')), + U = !(!a._has || !a._has('cartesian')) || N, + V = !(!l._has || !l._has('cartesian')) || j; + U && !V + ? a._bgLayer.remove() + : V && !U && (l._shouldCreateBgLayer = !0), + a._zoomlayer && !t._dragging && p({ _fullLayout: a }), + (function (t, e) { + var r, + n = []; + e.meta && + (r = e._meta = { meta: e.meta, layout: { meta: e.meta } }); + for (var i = 0; i < t.length; i++) { + var a = t[i]; + a.meta + ? (n[a.index] = a._meta = { meta: a.meta }) + : e.meta && (a._meta = { meta: e.meta }), + e.meta && (a._meta.layout = { meta: e.meta }); + } + n.length && (r || (r = e._meta = {}), (r.data = n)); + })(h, l), + v(l, a), + o.getComponentMethod('colorscale', 'crossTraceDefaults')(h, l), + l._preGUI || (l._preGUI = {}), + l._tracePreGUI || (l._tracePreGUI = {}); + var q, + H = l._tracePreGUI, + G = {}; + for (q in H) G[q] = 'old'; + for (s = 0; s < h.length; s++) + G[(q = h[s]._fullInput.uid)] || (H[q] = {}), (G[q] = 'new'); + for (q in G) 'old' === G[q] && delete H[q]; + C(l), + o.getComponentMethod('rangeslider', 'makeData')(l), + r || g.length !== h.length || x.supplyDefaultsUpdateCalc(g, h); + } + }), + (x.supplyDefaultsUpdateCalc = function (t, e) { + for (var r = 0; r < e.length; r++) { + var n = e[r], + i = (t[r] || [])[0]; + if (i && i.trace) { + var a = i.trace; + if (a._hasCalcTransform) { + var o, + s, + l, + u = a._arrayAttrs; + for (o = 0; o < u.length; o++) + (s = u[o]), + (l = c.nestedProperty(a, s).get().slice()), + c.nestedProperty(n, s).set(l); + } + i.trace = n; + } + } + }), + (x.createTransitionData = function (t) { + t._transitionData || (t._transitionData = {}), + t._transitionData._frames || (t._transitionData._frames = []), + t._transitionData._frameHash || + (t._transitionData._frameHash = {}), + t._transitionData._counter || (t._transitionData._counter = 0), + t._transitionData._interruptCallbacks || + (t._transitionData._interruptCallbacks = []); + }), + (x._hasPlotType = function (t) { + var e, + r = this._basePlotModules || []; + for (e = 0; e < r.length; e++) if (r[e].name === t) return !0; + var n = this._modules || []; + for (e = 0; e < n.length; e++) { + var i = n[e].name; + if (i === t) return !0; + var a = o.modules[i]; + if (a && a.categories[t]) return !0; + } + return !1; + }), + (x.cleanPlot = function (t, e, r, n) { + var i, + a, + o = n._basePlotModules || []; + for (i = 0; i < o.length; i++) { + var s = o[i]; + s.clean && s.clean(t, e, r, n); + } + var l = n._has && n._has('gl'), + c = e._has && e._has('gl'); + l && + !c && + void 0 !== n._glcontainer && + (n._glcontainer.selectAll('.gl-canvas').remove(), + n._glcontainer.selectAll('.no-webgl').remove(), + (n._glcanvas = null)); + var u = !!n._infolayer; + t: for (i = 0; i < r.length; i++) { + var f = r[i].uid; + for (a = 0; a < t.length; a++) { + if (f === t[a].uid) continue t; + } + u && n._infolayer.select('.cb' + f).remove(); + } + }), + (x.linkSubplots = function (t, e, r, n) { + var i, + a, + s = n._plots || {}, + l = (e._plots = {}), + u = e._subplots, + f = { _fullData: t, _fullLayout: e }, + p = u.cartesian.concat(u.gl2d || []); + for (i = 0; i < p.length; i++) { + var d, + g = p[i], + m = s[g], + v = h.getFromId(f, g, 'x'), + y = h.getFromId(f, g, 'y'); + for ( + m ? (d = l[g] = m) : ((d = l[g] = {}).id = g), + v._counterAxes.push(y._id), + y._counterAxes.push(v._id), + v._subplotsWith.push(g), + y._subplotsWith.push(g), + d.xaxis = v, + d.yaxis = y, + d._hasClipOnAxisFalse = !1, + a = 0; + a < t.length; + a++ + ) { + var x = t[a]; + if ( + x.xaxis === d.xaxis._id && + x.yaxis === d.yaxis._id && + !1 === x.cliponaxis + ) { + d._hasClipOnAxisFalse = !0; + break; + } + } + } + var b, + _ = h.list(f, null, !0); + for (i = 0; i < _.length; i++) { + var w = null; + (b = _[i]).overlaying && + (w = h.getFromId(f, b.overlaying)) && + w.overlaying && + ((b.overlaying = !1), (w = null)), + (b._mainAxis = w || b), + w && (b.domain = w.domain.slice()), + (b._anchorAxis = + 'free' === b.anchor ? null : h.getFromId(f, b.anchor)); + } + for (i = 0; i < _.length; i++) + if ( + ((b = _[i])._counterAxes.sort(h.idSort), + b._subplotsWith.sort(c.subplotSort), + (b._mainSubplot = M(b, e)), + b._counterAxes.length && + ((b.spikemode && -1 !== b.spikemode.indexOf('across')) || + (b.automargin && b.mirror && 'free' !== b.anchor) || + o.getComponentMethod('rangeslider', 'isVisible')(b))) + ) { + var T = 1, + k = 0; + for (a = 0; a < b._counterAxes.length; a++) { + var A = h.getFromId(f, b._counterAxes[a]); + (T = Math.min(T, A.domain[0])), + (k = Math.max(k, A.domain[1])); + } + T < k && + ((b._counterDomainMin = T), (b._counterDomainMax = k)); + } + }), + (x.clearExpandedTraceDefaultColors = function (t) { + var e, r, n; + for ( + r = [], + (e = t._module._colorAttrs) || + ((t._module._colorAttrs = e = []), + s.crawl(t._module.attributes, function (t, n, i, a) { + (r[a] = n), + (r.length = a + 1), + 'color' === t.valType && + void 0 === t.dflt && + e.push(r.join('.')); + })), + n = 0; + n < e.length; + n++ + ) { + c.nestedProperty(t, '_input.' + e[n]).get() || + c.nestedProperty(t, e[n]).set(null); + } + }), + (x.supplyDataDefaults = function (t, e, r, n) { + var i, + a, + s, + u = n._modules, + f = n._visibleModules, + h = n._basePlotModules, + p = 0, + d = 0; + function g(t) { + e.push(t); + var r = t._module; + r && + (c.pushUnique(u, r), + !0 === t.visible && c.pushUnique(f, r), + c.pushUnique(h, t._module.basePlotModule), + p++, + !1 !== t._input.visible && d++); + } + n._transformModules = []; + var m = {}, + y = [], + b = (r.template || {}).data || {}, + _ = l.traceTemplater(b); + for (i = 0; i < t.length; i++) { + if ( + ((s = t[i]), + ((a = _.newTrace(s)).uid = n._traceUids[i]), + x.supplyTraceDefaults(s, a, d, n, i), + (a.index = i), + (a._input = s), + (a._expandedIndex = p), + a.transforms && a.transforms.length) + ) + for ( + var w = !1 !== s.visible && !1 === a.visible, + T = S(a, e, r, n), + k = 0; + k < T.length; + k++ + ) { + var M = T[k], + A = { + _template: a._template, + type: a.type, + uid: a.uid + k, + }; + w && !1 === M.visible && delete M.visible, + x.supplyTraceDefaults(M, A, p, n, i), + v(A, M), + (A.index = i), + (A._input = s), + (A._fullInput = a), + (A._expandedIndex = p), + (A._expandedInput = M), + g(A); + } + else (a._fullInput = a), (a._expandedInput = a), g(a); + o.traceIs(a, 'carpetAxis') && (m[a.carpet] = a), + o.traceIs(a, 'carpetDependent') && y.push(i); + } + for (i = 0; i < y.length; i++) + if ((a = e[y[i]]).visible) { + var E = m[a.carpet]; + (a._carpet = E), + E && E.visible + ? ((a.xaxis = E.xaxis), (a.yaxis = E.yaxis)) + : (a.visible = !1); + } + }), + (x.supplyAnimationDefaults = function (t) { + var e; + t = t || {}; + var r = {}; + function n(e, n) { + return c.coerce(t || {}, r, d, e, n); + } + if ( + (n('mode'), + n('direction'), + n('fromcurrent'), + Array.isArray(t.frame)) + ) + for (r.frame = [], e = 0; e < t.frame.length; e++) + r.frame[e] = x.supplyAnimationFrameDefaults(t.frame[e] || {}); + else r.frame = x.supplyAnimationFrameDefaults(t.frame || {}); + if (Array.isArray(t.transition)) + for (r.transition = [], e = 0; e < t.transition.length; e++) + r.transition[e] = x.supplyAnimationTransitionDefaults( + t.transition[e] || {} + ); + else + r.transition = x.supplyAnimationTransitionDefaults( + t.transition || {} + ); + return r; + }), + (x.supplyAnimationFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, d.frame, r, n); + } + return r('duration'), r('redraw'), e; + }), + (x.supplyAnimationTransitionDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t || {}, e, d.transition, r, n); + } + return r('duration'), r('easing'), e; + }), + (x.supplyFrameDefaults = function (t) { + var e = {}; + function r(r, n) { + return c.coerce(t, e, g, r, n); + } + return ( + r('group'), + r('name'), + r('traces'), + r('baseframe'), + r('data'), + r('layout'), + e + ); + }), + (x.supplyTraceDefaults = function (t, e, r, n, i) { + var a, + s = n.colorway || u.defaults, + l = s[r % s.length]; + function f(r, n) { + return c.coerce(t, e, x.attributes, r, n); + } + var h = f('visible'); + f('type'), + f('name', n._traceWord + ' ' + i), + f('uirevision', n.uirevision); + var p = x.getModule(e); + if (((e._module = p), p)) { + var d = p.basePlotModule, + g = d.attr, + m = d.attributes; + if (g && m) { + var v = n._subplots, + y = ''; + if (h || 'gl2d' !== d.name) { + if (Array.isArray(g)) + for (a = 0; a < g.length; a++) { + var b = g[a], + _ = c.coerce(t, e, m, b); + v[b] && c.pushUnique(v[b], _), (y += _); + } + else y = c.coerce(t, e, m, g); + v[d.name] && c.pushUnique(v[d.name], y); + } + } + } + return ( + h && + (f('customdata'), + f('ids'), + f('meta'), + o.traceIs(e, 'showLegend') + ? (c.coerce( + t, + e, + p.attributes.showlegend ? p.attributes : x.attributes, + 'showlegend' + ), + f('legendgroup'), + (e._dfltShowLegend = !0)) + : (e._dfltShowLegend = !1), + p && p.supplyDefaults(t, e, l, n), + o.traceIs(e, 'noOpacity') || f('opacity'), + o.traceIs(e, 'notLegendIsolatable') && + (e.visible = !!e.visible), + o.traceIs(e, 'noHover') || + (e.hovertemplate || c.coerceHoverinfo(t, e, n), + 'parcats' !== e.type && + o.getComponentMethod('fx', 'supplyDefaults')(t, e, l, n)), + p && p.selectPoints && f('selectedpoints'), + x.supplyTransformDefaults(t, e, n)), + e + ); + }), + (x.hasMakesDataTransform = A), + (x.supplyTransformDefaults = function (t, e, r) { + if (e._length || A(t)) { + var n = r._globalTransforms || [], + i = r._transformModules || []; + if (Array.isArray(t.transforms) || 0 !== n.length) + for ( + var a = t.transforms || [], + o = n.concat(a), + s = (e.transforms = []), + l = 0; + l < o.length; + l++ + ) { + var u, + f = o[l], + h = f.type, + p = b[h], + d = !(f._module && f._module === p), + g = p && 'function' == typeof p.transform; + p || c.warn('Unrecognized transform type ' + h + '.'), + p && p.supplyDefaults && (d || g) + ? (((u = p.supplyDefaults(f, e, r, t)).type = h), + (u._module = p), + c.pushUnique(i, p)) + : (u = c.extendFlat({}, f)), + s.push(u); + } + } + }), + (x.supplyLayoutGlobalDefaults = function (t, e, r) { + function n(r, n) { + return c.coerce(t, e, x.layoutAttributes, r, n); + } + var i = t.template; + c.isPlainObject(i) && + ((e.template = i), + (e._template = i.layout), + (e._dataTemplate = i.data)), + n('autotypenumbers'); + var a = c.coerceFont(n, 'font'); + n('title.text', e._dfltTitle.plot), + c.coerceFont(n, 'title.font', { + family: a.family, + size: Math.round(1.4 * a.size), + color: a.color, + }), + n('title.xref'), + n('title.yref'), + n('title.x'), + n('title.y'), + n('title.xanchor'), + n('title.yanchor'), + n('title.pad.t'), + n('title.pad.r'), + n('title.pad.b'), + n('title.pad.l'), + n('uniformtext.mode') && n('uniformtext.minsize'), + n('autosize', !(t.width && t.height)), + n('width'), + n('height'), + n('margin.l'), + n('margin.r'), + n('margin.t'), + n('margin.b'), + n('margin.pad'), + n('margin.autoexpand'), + t.width && t.height && x.sanitizeMargins(e), + o.getComponentMethod('grid', 'sizeDefaults')(t, e), + n('paper_bgcolor'), + n('separators', r.decimal + r.thousands), + n('hidesources'), + n('colorway'), + n('datarevision'); + var s = n('uirevision'); + n('editrevision', s), + n('selectionrevision', s), + n('modebar.orientation'), + n('modebar.bgcolor', u.addOpacity(e.paper_bgcolor, 0.5)); + var l = u.contrast(u.rgb(e.modebar.bgcolor)); + n('modebar.color', u.addOpacity(l, 0.3)), + n('modebar.activecolor', u.addOpacity(l, 0.7)), + n('modebar.uirevision', s), + o.getComponentMethod('shapes', 'supplyDrawNewShapeDefaults')( + t, + e, + n + ), + n('meta'), + c.isPlainObject(t.transition) && + (n('transition.duration'), + n('transition.easing'), + n('transition.ordering')), + o.getComponentMethod('calendars', 'handleDefaults')( + t, + e, + 'calendar' + ), + o.getComponentMethod('fx', 'supplyLayoutGlobalDefaults')( + t, + e, + n + ); + }), + (x.plotAutoSize = function (t, e, r) { + var n, + i, + o = t._context || {}, + s = o.frameMargins, + l = c.isPlotDiv(t); + if ((l && t.emit('plotly_autosize'), o.fillFrame)) + (n = window.innerWidth), + (i = window.innerHeight), + (document.body.style.overflow = 'hidden'); + else { + var u = l ? window.getComputedStyle(t) : {}; + if ( + ((n = E(u.width) || E(u.maxWidth) || r.width), + (i = E(u.height) || E(u.maxHeight) || r.height), + a(s) && s > 0) + ) { + var f = 1 - 2 * s; + (n = Math.round(f * n)), (i = Math.round(f * i)); + } + } + var h = x.layoutAttributes.width.min, + p = x.layoutAttributes.height.min; + n < h && (n = h), i < p && (i = p); + var d = !e.width && Math.abs(r.width - n) > 1, + g = !e.height && Math.abs(r.height - i) > 1; + (g || d) && (d && (r.width = n), g && (r.height = i)), + t._initialAutoSize || + (t._initialAutoSize = { width: n, height: i }), + x.sanitizeMargins(r); + }), + (x.supplyLayoutModuleDefaults = function (t, e, r, n) { + var i, + a, + s, + l = o.componentsRegistry, + u = e._basePlotModules, + f = o.subplotsRegistry.cartesian; + for (i in l) + (s = l[i]).includeBasePlot && s.includeBasePlot(t, e); + for (var h in (u.length || u.push(f), + e._has('cartesian') && + (o.getComponentMethod('grid', 'contentDefaults')(t, e), + f.finalizeSubplots(t, e)), + e._subplots)) + e._subplots[h].sort(c.subplotSort); + for (a = 0; a < u.length; a++) + (s = u[a]).supplyLayoutDefaults && + s.supplyLayoutDefaults(t, e, r); + var p = e._modules; + for (a = 0; a < p.length; a++) + (s = p[a]).supplyLayoutDefaults && + s.supplyLayoutDefaults(t, e, r); + var d = e._transformModules; + for (a = 0; a < d.length; a++) + (s = d[a]).supplyLayoutDefaults && + s.supplyLayoutDefaults(t, e, r, n); + for (i in l) + (s = l[i]).supplyLayoutDefaults && + s.supplyLayoutDefaults(t, e, r); + }), + (x.purge = function (t) { + var e = t._fullLayout || {}; + void 0 !== e._glcontainer && + (e._glcontainer.selectAll('.gl-canvas').remove(), + e._glcontainer.remove(), + (e._glcanvas = null)), + e._modeBar && e._modeBar.destroy(), + t._transitionData && + (t._transitionData._interruptCallbacks && + (t._transitionData._interruptCallbacks.length = 0), + t._transitionData._animationRaf && + window.cancelAnimationFrame( + t._transitionData._animationRaf + )), + c.clearThrottle(), + c.clearResponsive(t), + delete t.data, + delete t.layout, + delete t._fullData, + delete t._fullLayout, + delete t.calcdata, + delete t.framework, + delete t.empty, + delete t.fid, + delete t.undoqueue, + delete t.undonum, + delete t.autoplay, + delete t.changed, + delete t._promises, + delete t._redrawTimer, + delete t._hmlumcount, + delete t._hmpixcount, + delete t._transitionData, + delete t._transitioning, + delete t._initialAutoSize, + delete t._transitioningWithDuration, + delete t._dragging, + delete t._dragged, + delete t._dragdata, + delete t._hoverdata, + delete t._snapshotInProgress, + delete t._editing, + delete t._mouseDownTime, + delete t._legendMouseDownTime, + t.removeAllListeners && t.removeAllListeners(); + }), + (x.style = function (t) { + var e, + r = t._fullLayout._visibleModules, + n = []; + for (e = 0; e < r.length; e++) { + var i = r[e]; + i.style && c.pushUnique(n, i.style); + } + for (e = 0; e < n.length; e++) n[e](t); + }), + (x.sanitizeMargins = function (t) { + if (t && t.margin) { + var e, + r = t.width, + n = t.height, + i = t.margin, + a = r - (i.l + i.r), + o = n - (i.t + i.b); + a < 0 && + ((e = (r - 1) / (i.l + i.r)), + (i.l = Math.floor(e * i.l)), + (i.r = Math.floor(e * i.r))), + o < 0 && + ((e = (n - 1) / (i.t + i.b)), + (i.t = Math.floor(e * i.t)), + (i.b = Math.floor(e * i.b))); + } + }), + (x.clearAutoMarginIds = function (t) { + t._fullLayout._pushmarginIds = {}; + }), + (x.allowAutoMargin = function (t, e) { + t._fullLayout._pushmarginIds[e] = 1; + }); + (x.autoMargin = function (t, e, r) { + var n = t._fullLayout, + i = n.width, + a = n.height, + o = n.margin, + s = c.constrain(i - o.l - o.r, 2, 64), + l = c.constrain(a - o.t - o.b, 2, 64), + u = Math.max(0, i - s), + f = Math.max(0, a - l), + h = n._pushmargin, + p = n._pushmarginIds; + if (!1 !== o.autoexpand) { + if (r) { + var d = r.pad; + if ( + (void 0 === d && (d = Math.min(12, o.l, o.r, o.t, o.b)), u) + ) { + var g = (r.l + r.r) / u; + g > 1 && ((r.l /= g), (r.r /= g)); + } + if (f) { + var m = (r.t + r.b) / f; + m > 1 && ((r.t /= m), (r.b /= m)); + } + var v = void 0 !== r.xl ? r.xl : r.x, + y = void 0 !== r.xr ? r.xr : r.x, + b = void 0 !== r.yt ? r.yt : r.y, + _ = void 0 !== r.yb ? r.yb : r.y; + (h[e] = { + l: { val: v, size: r.l + d }, + r: { val: y, size: r.r + d }, + b: { val: _, size: r.b + d }, + t: { val: b, size: r.t + d }, + }), + (p[e] = 1); + } else delete h[e], delete p[e]; + if (!n._replotting) return x.doAutoMargin(t); + } + }), + (x.doAutoMargin = function (t) { + var e = t._fullLayout, + r = e.width, + n = e.height; + e._size || (e._size = {}), C(e); + var i = e._size, + s = e.margin, + l = c.extendFlat({}, i), + u = s.l, + f = s.r, + p = s.t, + d = s.b, + g = e._pushmargin, + m = e._pushmarginIds; + if (!1 !== e.margin.autoexpand) { + for (var v in g) m[v] || delete g[v]; + for (var y in ((g.base = { + l: { val: 0, size: u }, + r: { val: 1, size: f }, + t: { val: 1, size: p }, + b: { val: 0, size: d }, + }), + g)) { + var b = g[y].l || {}, + _ = g[y].b || {}, + w = b.val, + T = b.size, + k = _.val, + M = _.size; + for (var A in g) { + if (a(T) && g[A].r) { + var S = g[A].r.val, + E = g[A].r.size; + if (S > w) { + var L = (T * S + (E - r) * w) / (S - w), + I = (E * (1 - w) + (T - r) * (1 - S)) / (S - w); + L + I > u + f && ((u = L), (f = I)); + } + } + if (a(M) && g[A].t) { + var P = g[A].t.val, + z = g[A].t.size; + if (P > k) { + var O = (M * P + (z - n) * k) / (P - k), + D = (z * (1 - k) + (M - n) * (1 - P)) / (P - k); + O + D > d + p && ((d = O), (p = D)); + } + } + } + } + } + var R = c.constrain(r - s.l - s.r, 2, 64), + F = c.constrain(n - s.t - s.b, 2, 64), + B = Math.max(0, r - R), + N = Math.max(0, n - F); + if (B) { + var j = (u + f) / B; + j > 1 && ((u /= j), (f /= j)); + } + if (N) { + var U = (d + p) / N; + U > 1 && ((d /= U), (p /= U)); + } + if ( + ((i.l = Math.round(u)), + (i.r = Math.round(f)), + (i.t = Math.round(p)), + (i.b = Math.round(d)), + (i.p = Math.round(s.pad)), + (i.w = Math.round(r) - i.l - i.r), + (i.h = Math.round(n) - i.t - i.b), + !e._replotting && x.didMarginChange(l, i)) + ) { + '_redrawFromAutoMarginCount' in e + ? e._redrawFromAutoMarginCount++ + : (e._redrawFromAutoMarginCount = 1); + var V = 3 * (1 + Object.keys(m).length); + if (e._redrawFromAutoMarginCount < V) return o.call('plot', t); + (e._size = l), c.warn('Too many auto-margin redraws.'); + } + !(function (t) { + for (var e = h.list(t, '', !0), r = 0; r < e.length; r++) { + var n = e[r]._hideOutOfRangeInsideTickLabels; + n && n(); + } + })(t); + }); + var L = ['l', 'r', 't', 'b', 'p', 'w', 'h']; + function I(t, e, r) { + var n = !1; + var i = [ + x.previousPromises, + function () { + if (t._transitionData) + return ( + (t._transitioning = !1), + (function (t) { + var e = Promise.resolve(); + if (!t) return e; + for (; t.length; ) e = e.then(t.shift()); + return e; + })(t._transitionData._interruptCallbacks) + ); + }, + r.prepareFn, + x.rehover, + function () { + return ( + t.emit('plotly_transitioning', []), + new Promise(function (i) { + (t._transitioning = !0), + e.duration > 0 && (t._transitioningWithDuration = !0), + t._transitionData._interruptCallbacks.push(function () { + n = !0; + }), + r.redraw && + t._transitionData._interruptCallbacks.push( + function () { + return o.call('redraw', t); + } + ), + t._transitionData._interruptCallbacks.push(function () { + t.emit('plotly_transitioninterrupted', []); + }); + var a = 0, + s = 0; + function l() { + return ( + a++, + function () { + s++, + n || + s !== a || + (function (e) { + if (!t._transitionData) return; + (function (t) { + if (t) for (; t.length; ) t.shift(); + })(t._transitionData._interruptCallbacks), + Promise.resolve() + .then(function () { + if (r.redraw) + return o.call('redraw', t); + }) + .then(function () { + (t._transitioning = !1), + (t._transitioningWithDuration = !1), + t.emit('plotly_transitioned', []); + }) + .then(e); + })(i); + } + ); + } + r.runFn(l), setTimeout(l()); + }) + ); + }, + ], + a = c.syncOrAsync(i, t); + return ( + (a && a.then) || (a = Promise.resolve()), + a.then(function () { + return t; + }) + ); + } + (x.didMarginChange = function (t, e) { + for (var r = 0; r < L.length; r++) { + var n = L[r], + i = t[n], + o = e[n]; + if (!a(i) || Math.abs(o - i) > 1) return !0; + } + return !1; + }), + (x.graphJson = function (t, e, r, n, i, a) { + ((i && e && !t._fullData) || (i && !e && !t._fullLayout)) && + x.supplyDefaults(t); + var o = i ? t._fullData : t.data, + s = i ? t._fullLayout : t.layout, + l = (t._transitionData || {})._frames; + function u(t, e) { + if ('function' == typeof t) return e ? '_function_' : null; + if (c.isPlainObject(t)) { + var n, + i = {}; + return ( + Object.keys(t) + .sort() + .forEach(function (a) { + if (-1 === ['_', '['].indexOf(a.charAt(0))) + if ('function' != typeof t[a]) { + if ('keepdata' === r) { + if ('src' === a.substr(a.length - 3)) return; + } else if ('keepstream' === r) { + if ( + 'string' == typeof (n = t[a + 'src']) && + n.indexOf(':') > 0 && + !c.isPlainObject(t.stream) + ) + return; + } else if ( + 'keepall' !== r && + 'string' == typeof (n = t[a + 'src']) && + n.indexOf(':') > 0 + ) + return; + i[a] = u(t[a], e); + } else e && (i[a] = '_function'); + }), + i + ); + } + return Array.isArray(t) + ? t.map(function (t) { + return u(t, e); + }) + : c.isTypedArray(t) + ? c.simpleMap(t, c.identity) + : c.isJSDate(t) + ? c.ms2DateTimeLocal(+t) + : t; + } + var f = { + data: (o || []).map(function (t) { + var r = u(t); + return e && delete r.fit, r; + }), + }; + if (!e && ((f.layout = u(s)), i)) { + var h = s._size; + f.layout.computed = { + margin: { b: h.b, l: h.l, r: h.r, t: h.t }, + }; + } + return ( + t.framework && + t.framework.isPolar && + (f = t.framework.getConfig()), + l && (f.frames = u(l)), + a && (f.config = u(t._context, !0)), + 'object' === n ? f : JSON.stringify(f) + ); + }), + (x.modifyFrames = function (t, e) { + var r, + n, + i, + a = t._transitionData._frames, + o = t._transitionData._frameHash; + for (r = 0; r < e.length; r++) + switch ((n = e[r]).type) { + case 'replace': + i = n.value; + var s = (a[n.index] || {}).name, + l = i.name; + (a[n.index] = o[l] = i), + l !== s && (delete o[s], (o[l] = i)); + break; + case 'insert': + (o[(i = n.value).name] = i), a.splice(n.index, 0, i); + break; + case 'delete': + delete o[(i = a[n.index]).name], a.splice(n.index, 1); + } + return Promise.resolve(); + }), + (x.computeFrame = function (t, e) { + var r, + n, + i, + a, + o = t._transitionData._frameHash; + if (!e) + throw new Error( + 'computeFrame must be given a string frame name' + ); + var s = o[e.toString()]; + if (!s) return !1; + for ( + var l = [s], c = [s.name]; + s.baseframe && + (s = o[s.baseframe.toString()]) && + -1 === c.indexOf(s.name); + + ) + l.push(s), c.push(s.name); + for (var u = {}; (s = l.pop()); ) + if ( + (s.layout && (u.layout = x.extendLayout(u.layout, s.layout)), + s.data) + ) { + if ((u.data || (u.data = []), !(n = s.traces))) + for (n = [], r = 0; r < s.data.length; r++) n[r] = r; + for ( + u.traces || (u.traces = []), r = 0; + r < s.data.length; + r++ + ) + null != (i = n[r]) && + (-1 === (a = u.traces.indexOf(i)) && + ((a = u.data.length), (u.traces[a] = i)), + (u.data[a] = x.extendTrace(u.data[a], s.data[r]))); + } + return u; + }), + (x.recomputeFrameHash = function (t) { + for ( + var e = (t._transitionData._frameHash = {}), + r = t._transitionData._frames, + n = 0; + n < r.length; + n++ + ) { + var i = r[n]; + i && i.name && (e[i.name] = i); + } + }), + (x.extendObjectWithContainers = function (t, e, r) { + var n, + i, + a, + o, + s, + l, + u, + f = c.extendDeepNoArrays({}, e || {}), + h = c.expandObjectPaths(f), + p = {}; + if (r && r.length) + for (a = 0; a < r.length; a++) + void 0 === (i = (n = c.nestedProperty(h, r[a])).get()) + ? c.nestedProperty(p, r[a]).set(null) + : (n.set(null), c.nestedProperty(p, r[a]).set(i)); + if (((t = c.extendDeepNoArrays(t || {}, h)), r && r.length)) + for (a = 0; a < r.length; a++) + if ((l = c.nestedProperty(p, r[a]).get())) { + for ( + u = (s = c.nestedProperty(t, r[a])).get(), + Array.isArray(u) || ((u = []), s.set(u)), + o = 0; + o < l.length; + o++ + ) { + var d = l[o]; + u[o] = + null === d + ? null + : x.extendObjectWithContainers(u[o], d); + } + s.set(u); + } + return t; + }), + (x.dataArrayContainers = ['transforms', 'dimensions']), + (x.layoutArrayContainers = o.layoutArrayContainers), + (x.extendTrace = function (t, e) { + return x.extendObjectWithContainers(t, e, x.dataArrayContainers); + }), + (x.extendLayout = function (t, e) { + return x.extendObjectWithContainers( + t, + e, + x.layoutArrayContainers + ); + }), + (x.transition = function (t, e, r, n, i, a) { + var o = { redraw: i.redraw }, + s = {}, + l = []; + return ( + (o.prepareFn = function () { + for ( + var i = Array.isArray(e) ? e.length : 0, + a = n.slice(0, i), + o = 0; + o < a.length; + o++ + ) { + var u = a[o], + f = t._fullData[u]._module; + if (f) { + if (f.animatable) { + var h = f.basePlotModule.name; + s[h] || (s[h] = []), s[h].push(u); + } + t.data[a[o]] = x.extendTrace(t.data[a[o]], e[o]); + } + } + var p = c.expandObjectPaths(c.extendDeepNoArrays({}, r)), + d = /^[xy]axis[0-9]*$/; + for (var g in p) d.test(g) && delete p[g].range; + x.extendLayout(t.layout, p), + delete t.calcdata, + x.supplyDefaults(t), + x.doCalcdata(t); + var m = c.expandObjectPaths(r); + if (m) { + var v = t._fullLayout._plots; + for (var y in v) { + var b = v[y], + _ = b.xaxis, + w = b.yaxis, + T = _.range.slice(), + k = w.range.slice(), + M = null, + A = null, + S = null, + E = null; + Array.isArray(m[_._name + '.range']) + ? (M = m[_._name + '.range'].slice()) + : Array.isArray((m[_._name] || {}).range) && + (M = m[_._name].range.slice()), + Array.isArray(m[w._name + '.range']) + ? (A = m[w._name + '.range'].slice()) + : Array.isArray((m[w._name] || {}).range) && + (A = m[w._name].range.slice()), + T && + M && + (_.r2l(T[0]) !== _.r2l(M[0]) || + _.r2l(T[1]) !== _.r2l(M[1])) && + (S = { xr0: T, xr1: M }), + k && + A && + (w.r2l(k[0]) !== w.r2l(A[0]) || + w.r2l(k[1]) !== w.r2l(A[1])) && + (E = { yr0: k, yr1: A }), + (S || E) && l.push(c.extendFlat({ plotinfo: b }, S, E)); + } + } + return Promise.resolve(); + }), + (o.runFn = function (e) { + var n, + i, + o = t._fullLayout._basePlotModules, + u = l.length; + if (r) + for (i = 0; i < o.length; i++) + o[i].transitionAxes && o[i].transitionAxes(t, l, a, e); + for (var f in (u + ? (((n = c.extendFlat({}, a)).duration = 0), + delete s.cartesian) + : (n = a), + s)) { + var h = s[f]; + t._fullData[h[0]]._module.basePlotModule.plot(t, h, n, e); + } + }), + I(t, a, o) + ); + }), + (x.transitionFromReact = function (t, e, r, n) { + var i = t._fullLayout, + a = i.transition, + o = {}, + s = []; + return ( + (o.prepareFn = function () { + var t = i._plots; + for (var a in ((o.redraw = !1), + 'some' === e.anim && (o.redraw = !0), + 'some' === r.anim && (o.redraw = !0), + t)) { + var l = t[a], + u = l.xaxis, + f = l.yaxis, + h = n[u._name].range.slice(), + p = n[f._name].range.slice(), + d = u.range.slice(), + g = f.range.slice(); + u.setScale(), f.setScale(); + var m = null, + v = null; + (u.r2l(h[0]) === u.r2l(d[0]) && + u.r2l(h[1]) === u.r2l(d[1])) || + (m = { xr0: h, xr1: d }), + (f.r2l(p[0]) === f.r2l(g[0]) && + f.r2l(p[1]) === f.r2l(g[1])) || + (v = { yr0: p, yr1: g }), + (m || v) && s.push(c.extendFlat({ plotinfo: l }, m, v)); + } + return Promise.resolve(); + }), + (o.runFn = function (r) { + for ( + var n, + i, + o, + l = t._fullData, + u = t._fullLayout._basePlotModules, + f = [], + h = 0; + h < l.length; + h++ + ) + f.push(h); + function p() { + for (var e = 0; e < u.length; e++) + u[e].transitionAxes && u[e].transitionAxes(t, s, n, r); + } + function d() { + for (var e = 0; e < u.length; e++) u[e].plot(t, o, i, r); + } + s.length && e.anim + ? 'traces first' === a.ordering + ? ((n = c.extendFlat({}, a, { duration: 0 })), + (o = f), + (i = a), + setTimeout(p, a.duration), + d()) + : ((n = a), + (o = null), + (i = c.extendFlat({}, a, { duration: 0 })), + setTimeout(d, n.duration), + p()) + : s.length + ? ((n = a), p()) + : e.anim && ((o = f), (i = a), d()); + }), + I(t, a, o) + ); + }), + (x.doCalcdata = function (t, e) { + var r, + n, + i, + a, + l = h.list(t), + u = t._fullData, + p = t._fullLayout, + d = new Array(u.length), + g = (t.calcdata || []).slice(); + for ( + t.calcdata = d, + p._numBoxes = 0, + p._numViolins = 0, + p._violinScaleGroupStats = {}, + t._hmpixcount = 0, + t._hmlumcount = 0, + p._piecolormap = {}, + p._sunburstcolormap = {}, + p._treemapcolormap = {}, + p._funnelareacolormap = {}, + i = 0; + i < u.length; + i++ + ) + Array.isArray(e) && -1 === e.indexOf(i) && (d[i] = g[i]); + for (i = 0; i < u.length; i++) + ((r = u[i])._arrayAttrs = s.findArrayAttributes(r)), + (r._extremes = {}); + var m = p._subplots.polar || []; + for (i = 0; i < m.length; i++) + l.push(p[m[i]].radialaxis, p[m[i]].angularaxis); + for (var v in p._colorAxes) { + var y = p[v]; + !1 !== y.cauto && (delete y.cmin, delete y.cmax); + } + var x = !1; + function _(e) { + if ( + ((r = u[e]), + (n = r._module), + !0 === r.visible && r.transforms) + ) { + if (n && n.calc) { + var i = n.calc(t, r); + i[0] && + i[0].t && + i[0].t._scene && + delete i[0].t._scene.dirty; + } + for (a = 0; a < r.transforms.length; a++) { + var o = r.transforms[a]; + (n = b[o.type]) && + n.calcTransform && + ((r._hasCalcTransform = !0), + (x = !0), + n.calcTransform(t, r, o)); + } + } + } + function w(e, i) { + if (((r = u[e]), !!(n = r._module).isContainer === i)) { + var o = []; + if (!0 === r.visible && 0 !== r._length) { + delete r._indexToPoints; + var s = r.transforms || []; + for (a = s.length - 1; a >= 0; a--) + if (s[a].enabled) { + r._indexToPoints = s[a]._indexToPoints; + break; + } + n && n.calc && (o = n.calc(t, r)); + } + (Array.isArray(o) && o[0]) || (o = [{ x: f, y: f }]), + o[0].t || (o[0].t = {}), + (o[0].trace = r), + (d[e] = o); + } + } + for (z(l, u, p), i = 0; i < u.length; i++) w(i, !0); + for (i = 0; i < u.length; i++) _(i); + for (x && z(l, u, p), i = 0; i < u.length; i++) w(i, !0); + for (i = 0; i < u.length; i++) w(i, !1); + O(t); + var T = (function (t, e) { + var r, + n, + i, + a, + s, + l = []; + function u(t, r, n) { + var i = r._id.charAt(0); + if ('histogram2dcontour' === t) { + var a = r._counterAxes[0], + o = h.getFromId(e, a), + s = 'x' === i || ('x' === a && 'category' === o.type), + l = 'y' === i || ('y' === a && 'category' === o.type); + return function (t, e) { + return 0 === t || + 0 === e || + (s && t === n[e].length - 1) || + (l && e === n.length - 1) + ? -1 + : ('y' === i ? e : t) - 1; + }; + } + return function (t, e) { + return 'y' === i ? e : t; + }; + } + var f = { + min: function (t) { + return c.aggNums(Math.min, null, t); + }, + max: function (t) { + return c.aggNums(Math.max, null, t); + }, + sum: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t + ); + }, + total: function (t) { + return c.aggNums( + function (t, e) { + return t + e; + }, + null, + t + ); + }, + mean: function (t) { + return c.mean(t); + }, + median: function (t) { + return c.median(t); + }, + }; + for (r = 0; r < t.length; r++) { + var p = t[r]; + if ('category' === p.type) { + var d = p.categoryorder.match(P); + if (d) { + var g = d[1], + m = d[2], + v = p._id.charAt(0), + y = 'x' === v, + x = []; + for (n = 0; n < p._categories.length; n++) + x.push([p._categories[n], []]); + for (n = 0; n < p._traceIndices.length; n++) { + var b = p._traceIndices[n], + _ = e._fullData[b]; + if (!0 === _.visible) { + var w = _.type; + o.traceIs(_, 'histogram') && + (delete _._xautoBinFinished, + delete _._yautoBinFinished); + var T = 'splom' === w, + k = 'scattergl' === w, + M = e.calcdata[b]; + for (i = 0; i < M.length; i++) { + var A, + S, + E = M[i]; + if (T) { + var C = _._axesDim[p._id]; + if (!y) { + var L = _._diag[C][0]; + L && (p = e._fullLayout[h.id2name(L)]); + } + var I = E.trace.dimensions[C].values; + for (a = 0; a < I.length; a++) + for ( + A = p._categoriesMap[I[a]], s = 0; + s < E.trace.dimensions.length; + s++ + ) + if (s !== C) { + var z = E.trace.dimensions[s]; + x[A][1].push(z.values[a]); + } + } else if (k) { + for (a = 0; a < E.t.x.length; a++) + y + ? ((A = E.t.x[a]), (S = E.t.y[a])) + : ((A = E.t.y[a]), (S = E.t.x[a])), + x[A][1].push(S); + E.t && E.t._scene && delete E.t._scene.dirty; + } else if (E.hasOwnProperty('z')) { + S = E.z; + var O = u(_.type, p, S); + for (a = 0; a < S.length; a++) + for (s = 0; s < S[a].length; s++) + (A = O(s, a)) + 1 && x[A][1].push(S[a][s]); + } else + for ( + void 0 === (A = E.p) && (A = E[v]), + void 0 === (S = E.s) && (S = E.v), + void 0 === S && (S = y ? E.y : E.x), + Array.isArray(S) || + (S = void 0 === S ? [] : [S]), + a = 0; + a < S.length; + a++ + ) + x[A][1].push(S[a]); + } + } + } + p._categoriesValue = x; + var D = []; + for (n = 0; n < x.length; n++) + D.push([x[n][0], f[g](x[n][1])]); + D.sort(function (t, e) { + return t[1] - e[1]; + }), + (p._categoriesAggregatedValue = D), + (p._initialCategories = D.map(function (t) { + return t[0]; + })), + 'descending' === m && p._initialCategories.reverse(), + (l = l.concat(p.sortByInitialCategories())); + } + } + } + return l; + })(l, t); + if (T.length) { + for ( + p._numBoxes = 0, p._numViolins = 0, i = 0; + i < T.length; + i++ + ) + w(T[i], !0); + for (i = 0; i < T.length; i++) w(T[i], !1); + O(t); + } + o.getComponentMethod('fx', 'calc')(t), + o.getComponentMethod('errorbars', 'calc')(t); + }); + var P = /(total|sum|min|max|mean|median) (ascending|descending)/; + function z(t, e, r) { + var n = {}; + function i(t) { + t.clearCalc(), + 'multicategory' === t.type && t.setupMultiCategory(e), + (n[t._id] = 1); + } + c.simpleMap(t, i); + for (var a = r._axisMatchGroups || [], o = 0; o < a.length; o++) + for (var s in a[o]) n[s] || i(r[h.id2name(s)]); + } + function O(t) { + var e, + r, + n, + i = t._fullLayout, + a = i._visibleModules, + o = {}; + for (r = 0; r < a.length; r++) { + var s = a[r], + l = s.crossTraceCalc; + if (l) { + var u = s.basePlotModule.name; + o[u] ? c.pushUnique(o[u], l) : (o[u] = [l]); + } + } + for (n in o) { + var f = o[n], + h = i._subplots[n]; + if (Array.isArray(h)) + for (e = 0; e < h.length; e++) { + var p = h[e], + d = 'cartesian' === n ? i._plots[p] : i[p]; + for (r = 0; r < f.length; r++) f[r](t, d, p); + } + else for (r = 0; r < f.length; r++) f[r](t); + } + } + (x.rehover = function (t) { + t._fullLayout._rehover && t._fullLayout._rehover(); + }), + (x.redrag = function (t) { + t._fullLayout._redrag && t._fullLayout._redrag(); + }), + (x.generalUpdatePerTraceModule = function (t, e, r, n) { + var i, + a = e.traceHash, + o = {}; + for (i = 0; i < r.length; i++) { + var s = r[i], + l = s[0].trace; + l.visible && ((o[l.type] = o[l.type] || []), o[l.type].push(s)); + } + for (var u in a) + if (!o[u]) { + var f = a[u][0]; + (f[0].trace.visible = !1), (o[u] = [f]); + } + for (var h in o) { + var p = o[h]; + p[0][0].trace._module.plot(t, e, c.filterVisible(p), n); + } + e.traceHash = o; + }), + (x.plotBasePlot = function (t, e, r, n, i) { + var a = o.getModule(t), + s = m(e.calcdata, a)[0]; + a.plot(e, s, n, i); + }), + (x.cleanBasePlot = function (t, e, r, n, i) { + var a = i._has && i._has(t), + o = r._has && r._has(t); + a && !o && i['_' + t + 'layer'].selectAll('g.trace').remove(); + }); + }, + { + '../components/color': 643, + '../constants/numerical': 753, + '../lib': 778, + '../plot_api/plot_schema': 816, + '../plot_api/plot_template': 817, + '../plots/get_data': 865, + '../registry': 911, + './animation_attributes': 822, + './attributes': 824, + './cartesian/axis_ids': 831, + './cartesian/handle_outline': 838, + './command': 854, + './font_attributes': 856, + './frame_attributes': 857, + './layout_attributes': 882, + d3: 169, + 'd3-time-format': 166, + 'fast-isnumeric': 241, + }, + ], + 892: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attr: 'subplot', + name: 'polar', + axisNames: ['angularaxis', 'radialaxis'], + axisName2dataArray: { angularaxis: 'theta', radialaxis: 'r' }, + layerNames: [ + 'draglayer', + 'plotbg', + 'backplot', + 'angular-grid', + 'radial-grid', + 'frontplot', + 'angular-line', + 'radial-line', + 'angular-axis', + 'radial-axis', + ], + radialDragBoxSize: 50, + angularDragBoxSize: 30, + cornerLen: 25, + cornerHalfWidth: 2, + MINDRAG: 8, + MINZOOM: 20, + OFFEDGE: 20, + }; + }, + {}, + ], + 893: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../lib/polygon').tester, + a = n.findIndexOfMin, + o = n.isAngleInsideSector, + s = n.angleDelta, + l = n.angleDist; + function c(t, e, r, n) { + var i, + a, + o = n[0], + s = n[1], + l = f(Math.sin(e) - Math.sin(t)), + c = f(Math.cos(e) - Math.cos(t)), + u = Math.tan(r), + h = f(1 / u), + p = l / c, + d = s - p * o; + return ( + h + ? l && c + ? (a = u * (i = d / (u - p))) + : c + ? ((i = s * h), (a = s)) + : ((i = o), (a = o * u)) + : l && c + ? ((i = 0), (a = d)) + : c + ? ((i = 0), (a = s)) + : (i = a = NaN), + [i, a] + ); + } + function u(t, e, r, i) { + return n.isFullCircle([e, r]) + ? (function (t, e) { + var r, + n = e.length, + i = new Array(n + 1); + for (r = 0; r < n; r++) { + var a = e[r]; + i[r] = [t * Math.cos(a), t * Math.sin(a)]; + } + return (i[r] = i[0].slice()), i; + })(t, i) + : (function (t, e, r, i) { + var s, + u, + f = i.length, + h = []; + function p(e) { + return [t * Math.cos(e), t * Math.sin(e)]; + } + function d(t, e, r) { + return c(t, e, r, p(t)); + } + function g(t) { + return n.mod(t, f); + } + function m(t) { + return o(t, [e, r]); + } + var v = a(i, function (t) { + return m(t) ? l(t, e) : 1 / 0; + }), + y = d(i[v], i[g(v - 1)], e); + for (h.push(y), s = v, u = 0; u < f; s++, u++) { + var x = i[g(s)]; + if (!m(x)) break; + h.push(p(x)); + } + var b = a(i, function (t) { + return m(t) ? l(t, r) : 1 / 0; + }), + _ = d(i[b], i[g(b + 1)], r); + return h.push(_), h.push([0, 0]), h.push(h[0].slice()), h; + })(t, e, r, i); + } + function f(t) { + return Math.abs(t) > 1e-10 ? t : 0; + } + function h(t, e, r) { + (e = e || 0), (r = r || 0); + for (var n = t.length, i = new Array(n), a = 0; a < n; a++) { + var o = t[a]; + i[a] = [e + o[0], r - o[1]]; + } + return i; + } + e.exports = { + isPtInsidePolygon: function (t, e, r, n, a) { + if (!o(e, n)) return !1; + var s, l; + r[0] < r[1] ? ((s = r[0]), (l = r[1])) : ((s = r[1]), (l = r[0])); + var c = i(u(s, n[0], n[1], a)), + f = i(u(l, n[0], n[1], a)), + h = [t * Math.cos(e), t * Math.sin(e)]; + return f.contains(h) && !c.contains(h); + }, + findPolygonOffset: function (t, e, r, n) { + for ( + var i = 1 / 0, a = 1 / 0, o = u(t, e, r, n), s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + (i = Math.min(i, l[0])), (a = Math.min(a, -l[1])); + } + return [i, a]; + }, + findEnclosingVertexAngles: function (t, e) { + var r = a(e, function (e) { + var r = s(e, t); + return r > 0 ? r : 1 / 0; + }), + i = n.mod(r + 1, e.length); + return [e[r], e[i]]; + }, + findIntersectionXY: c, + findXYatLength: function (t, e, r, n) { + var i = -e * r, + a = e * e + 1, + o = 2 * (e * i - r), + s = i * i + r * r - t * t, + l = Math.sqrt(o * o - 4 * a * s), + c = (-o + l) / (2 * a), + u = (-o - l) / (2 * a); + return [ + [c, e * c + i + n], + [u, e * u + i + n], + ]; + }, + clampTiny: f, + pathPolygon: function (t, e, r, n, i, a) { + return 'M' + h(u(t, e, r, n), i, a).join('L'); + }, + pathPolygonAnnulus: function (t, e, r, n, i, a, o) { + var s, l; + t < e ? ((s = t), (l = e)) : ((s = e), (l = t)); + var c = h(u(s, r, n, i), a, o); + return ( + 'M' + + h(u(l, r, n, i), a, o).reverse().join('L') + + 'M' + + c.join('L') + ); + }, + }; + }, + { '../../lib': 778, '../../lib/polygon': 790 }, + ], + 894: [ + function (t, e, r) { + 'use strict'; + var n = t('../get_data').getSubplotCalcData, + i = t('../../lib').counterRegex, + a = t('./polar'), + o = t('./constants'), + s = o.attr, + l = o.name, + c = i(l), + u = {}; + (u[s] = { valType: 'subplotid', dflt: l, editType: 'calc' }), + (e.exports = { + attr: s, + name: l, + idRoot: l, + idRegex: c, + attrRegex: c, + attributes: u, + layoutAttributes: t('./layout_attributes'), + supplyLayoutDefaults: t('./layout_defaults'), + plot: function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + i = e._subplots[l], + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + c = n(r, l, s), + u = e[s]._subplot; + u || ((u = a(t, s)), (e[s]._subplot = u)), + u.plot(c, e, t._promises); + } + }, + clean: function (t, e, r, n) { + for ( + var i = n._subplots[l] || [], + a = n._has && n._has('gl'), + o = e._has && e._has('gl'), + s = a && !o, + c = 0; + c < i.length; + c++ + ) { + var u = i[c], + f = n[u]._subplot; + if (!e[u] && f) + for (var h in (f.framework.remove(), + f.layers['radial-axis-title'].remove(), + f.clipPaths)) + f.clipPaths[h].remove(); + s && f._scene && (f._scene.destroy(), (f._scene = null)); + } + }, + toSVG: t('../cartesian').toSVG, + }); + }, + { + '../../lib': 778, + '../cartesian': 841, + '../get_data': 865, + './constants': 892, + './layout_attributes': 895, + './layout_defaults': 896, + './polar': 903, + }, + ], + 895: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color/attributes'), + i = t('../cartesian/layout_attributes'), + a = t('../domain').attributes, + o = t('../../lib').extendFlat, + s = t('../../plot_api/edit_types').overrideAll, + l = s( + { + color: i.color, + showline: o({}, i.showline, { dflt: !0 }), + linecolor: i.linecolor, + linewidth: i.linewidth, + showgrid: o({}, i.showgrid, { dflt: !0 }), + gridcolor: i.gridcolor, + gridwidth: i.gridwidth, + }, + 'plot', + 'from-root' + ), + c = s( + { + tickmode: i.tickmode, + nticks: i.nticks, + tick0: i.tick0, + dtick: i.dtick, + tickvals: i.tickvals, + ticktext: i.ticktext, + ticks: i.ticks, + ticklen: i.ticklen, + tickwidth: i.tickwidth, + tickcolor: i.tickcolor, + showticklabels: i.showticklabels, + showtickprefix: i.showtickprefix, + tickprefix: i.tickprefix, + showticksuffix: i.showticksuffix, + ticksuffix: i.ticksuffix, + showexponent: i.showexponent, + exponentformat: i.exponentformat, + minexponent: i.minexponent, + separatethousands: i.separatethousands, + tickfont: i.tickfont, + tickangle: i.tickangle, + tickformat: i.tickformat, + tickformatstops: i.tickformatstops, + layer: i.layer, + }, + 'plot', + 'from-root' + ), + u = { + visible: o({}, i.visible, { dflt: !0 }), + type: o({}, i.type, { + values: ['-', 'linear', 'log', 'date', 'category'], + }), + autotypenumbers: i.autotypenumbers, + autorange: o({}, i.autorange, { editType: 'plot' }), + rangemode: { + valType: 'enumerated', + values: ['tozero', 'nonnegative', 'normal'], + dflt: 'tozero', + editType: 'calc', + }, + range: o({}, i.range, { + items: [ + { + valType: 'any', + editType: 'plot', + impliedEdits: { '^autorange': !1 }, + }, + { + valType: 'any', + editType: 'plot', + impliedEdits: { '^autorange': !1 }, + }, + ], + editType: 'plot', + }), + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + angle: { valType: 'angle', editType: 'plot' }, + side: { + valType: 'enumerated', + values: ['clockwise', 'counterclockwise'], + dflt: 'clockwise', + editType: 'plot', + }, + title: { + text: o({}, i.title.text, { editType: 'plot', dflt: '' }), + font: o({}, i.title.font, { editType: 'plot' }), + editType: 'plot', + }, + hoverformat: i.hoverformat, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'calc', + _deprecated: { + title: i._deprecated.title, + titlefont: i._deprecated.titlefont, + }, + }; + o(u, l, c); + var f = { + visible: o({}, i.visible, { dflt: !0 }), + type: { + valType: 'enumerated', + values: ['-', 'linear', 'category'], + dflt: '-', + editType: 'calc', + _noTemplating: !0, + }, + autotypenumbers: i.autotypenumbers, + categoryorder: i.categoryorder, + categoryarray: i.categoryarray, + thetaunit: { + valType: 'enumerated', + values: ['radians', 'degrees'], + dflt: 'degrees', + editType: 'calc', + }, + period: { valType: 'number', editType: 'calc', min: 0 }, + direction: { + valType: 'enumerated', + values: ['counterclockwise', 'clockwise'], + dflt: 'counterclockwise', + editType: 'calc', + }, + rotation: { valType: 'angle', editType: 'calc' }, + hoverformat: i.hoverformat, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'calc', + }; + o(f, l, c), + (e.exports = { + domain: a({ name: 'polar', editType: 'plot' }), + sector: { + valType: 'info_array', + items: [ + { valType: 'number', editType: 'plot' }, + { valType: 'number', editType: 'plot' }, + ], + dflt: [0, 360], + editType: 'plot', + }, + hole: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'plot', + }, + bgcolor: { + valType: 'color', + editType: 'plot', + dflt: n.background, + }, + radialaxis: u, + angularaxis: f, + gridshape: { + valType: 'enumerated', + values: ['circular', 'linear'], + dflt: 'circular', + editType: 'plot', + }, + uirevision: { valType: 'any', editType: 'none' }, + editType: 'calc', + }); + }, + { + '../../components/color/attributes': 642, + '../../lib': 778, + '../../plot_api/edit_types': 810, + '../cartesian/layout_attributes': 842, + '../domain': 855, + }, + ], + 896: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../../plot_api/plot_template'), + o = t('../subplot_defaults'), + s = t('../get_data').getSubplotData, + l = t('../cartesian/tick_value_defaults'), + c = t('../cartesian/tick_mark_defaults'), + u = t('../cartesian/tick_label_defaults'), + f = t('../cartesian/category_order_defaults'), + h = t('../cartesian/line_grid_defaults'), + p = t('../cartesian/axis_autotype'), + d = t('./layout_attributes'), + g = t('./set_convert'), + m = t('./constants'), + v = m.axisNames; + function y(t, e, r, o) { + var p = r('bgcolor'); + o.bgColor = i.combine(p, o.paper_bgcolor); + var y = r('sector'); + r('hole'); + var b, + _ = s(o.fullData, m.name, o.id), + w = o.layoutOut; + function T(t, e) { + return r(b + '.' + t, e); + } + for (var k = 0; k < v.length; k++) { + (b = v[k]), n.isPlainObject(t[b]) || (t[b] = {}); + var M = t[b], + A = a.newContainer(e, b); + (A._id = A._name = b), + (A._attr = o.id + '.' + b), + (A._traceIndices = _.map(function (t) { + return t._expandedIndex; + })); + var S = m.axisName2dataArray[b], + E = x(M, A, T, _, S, o); + f(M, A, T, { axData: _, dataAttr: S }); + var C, + L, + I = T('visible'); + switch ( + (g(A, e, w), + T('uirevision', e.uirevision), + I && (L = (C = T('color')) === M.color ? C : o.font.color), + (A._m = 1), + b) + ) { + case 'radialaxis': + var P = T('autorange', !A.isValidRange(M.range)); + (M.autorange = P), + !P || ('linear' !== E && '-' !== E) || T('rangemode'), + 'reversed' === P && (A._m = -1), + T('range'), + A.cleanRange('range', { dfltRange: [0, 1] }), + I && + (T('side'), + T('angle', y[0]), + T('title.text'), + n.coerceFont(T, 'title.font', { + family: o.font.family, + size: Math.round(1.2 * o.font.size), + color: L, + })); + break; + case 'angularaxis': + if ('date' === E) { + n.log('Polar plots do not support date angular axes yet.'); + for (var z = 0; z < _.length; z++) _[z].visible = !1; + E = M.type = A.type = 'linear'; + } + T('linear' === E ? 'thetaunit' : 'period'); + var O = T('direction'); + T('rotation', { counterclockwise: 0, clockwise: 90 }[O]); + } + if (I) + l(M, A, T, A.type), + u(M, A, T, A.type, { + tickSuffixDflt: 'degrees' === A.thetaunit ? '\xb0' : void 0, + }), + c(M, A, T, { outerTicks: !0 }), + T('showticklabels') && + (n.coerceFont(T, 'tickfont', { + family: o.font.family, + size: o.font.size, + color: L, + }), + T('tickangle'), + T('tickformat')), + h(M, A, T, { + dfltColor: C, + bgColor: o.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: d[b], + }), + T('layer'); + 'category' !== E && T('hoverformat'), (A._input = M); + } + 'category' === e.angularaxis.type && r('gridshape'); + } + function x(t, e, r, n, i, a) { + var o = r('autotypenumbers', a.autotypenumbersDflt); + if ('-' === r('type')) { + for (var s, l = 0; l < n.length; l++) + if (n[l].visible) { + s = n[l]; + break; + } + s && + s[i] && + (e.type = p(s[i], 'gregorian', { + noMultiCategory: !0, + autotypenumbers: o, + })), + '-' === e.type ? (e.type = 'linear') : (t.type = e.type); + } + return e.type; + } + e.exports = function (t, e, r) { + o(t, e, r, { + type: m.name, + attributes: d, + handleDefaults: y, + font: e.font, + autotypenumbersDflt: e.autotypenumbers, + paper_bgcolor: e.paper_bgcolor, + fullData: r, + layoutOut: e, + }); + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../cartesian/axis_autotype': 829, + '../cartesian/category_order_defaults': 832, + '../cartesian/line_grid_defaults': 844, + '../cartesian/tick_label_defaults': 849, + '../cartesian/tick_mark_defaults': 850, + '../cartesian/tick_value_defaults': 851, + '../get_data': 865, + '../subplot_defaults': 905, + './constants': 892, + './layout_attributes': 895, + './set_convert': 904, + }, + ], + 897: [ + function (t, e, r) { + 'use strict'; + var n = t('../../../traces/scatter/attributes'), + i = n.marker, + a = t('../../../lib/extend').extendFlat; + [ + 'Area traces are deprecated!', + 'Please switch to the *barpolar* trace type.', + ].join(' '); + e.exports = { + r: a({}, n.r, {}), + t: a({}, n.t, {}), + marker: { + color: a({}, i.color, {}), + size: a({}, i.size, {}), + symbol: a({}, i.symbol, {}), + opacity: a({}, i.opacity, {}), + editType: 'calc', + }, + }; + }, + { + '../../../lib/extend': 768, + '../../../traces/scatter/attributes': 1187, + }, + ], + 898: [ + function (t, e, r) { + 'use strict'; + var n = t('../../cartesian/layout_attributes'), + i = t('../../../lib/extend').extendFlat, + a = t('../../../plot_api/edit_types').overrideAll, + o = [ + 'Legacy polar charts are deprecated!', + 'Please switch to *polar* subplots.', + ].join(' '), + s = i({}, n.domain, {}); + function l(t, e) { + return i({}, e, { + showline: { valType: 'boolean' }, + showticklabels: { valType: 'boolean' }, + tickorientation: { + valType: 'enumerated', + values: ['horizontal', 'vertical'], + }, + ticklen: { valType: 'number', min: 0 }, + tickcolor: { valType: 'color' }, + ticksuffix: { valType: 'string' }, + endpadding: { valType: 'number', description: o }, + visible: { valType: 'boolean' }, + }); + } + e.exports = a( + { + radialaxis: l(0, { + range: { + valType: 'info_array', + items: [{ valType: 'number' }, { valType: 'number' }], + }, + domain: s, + orientation: { valType: 'number' }, + }), + angularaxis: l(0, { + range: { + valType: 'info_array', + items: [ + { valType: 'number', dflt: 0 }, + { valType: 'number', dflt: 360 }, + ], + }, + domain: s, + }), + layout: { + direction: { + valType: 'enumerated', + values: ['clockwise', 'counterclockwise'], + }, + orientation: { valType: 'angle' }, + }, + }, + 'plot', + 'nested' + ); + }, + { + '../../../lib/extend': 768, + '../../../plot_api/edit_types': 810, + '../../cartesian/layout_attributes': 842, + }, + ], + 899: [ + function (t, e, r) { + 'use strict'; + (e.exports = t('./micropolar')).manager = t('./micropolar_manager'); + }, + { './micropolar': 900, './micropolar_manager': 901 }, + ], + 900: [ + function (t, e, r) { + var n = t('d3'), + i = t('../../../lib').extendDeepAll, + a = t('../../../constants/alignment').MID_SHIFT, + o = (e.exports = { version: '0.2.2' }); + (o.Axis = function () { + var t, + e, + r, + s, + l = { data: [], layout: {} }, + c = {}, + u = {}, + f = n.dispatch('hover'), + h = {}; + return ( + (h.render = function (c) { + return ( + (function (c) { + e = c || e; + var f = l.data, + h = l.layout; + ('string' == typeof e || e.nodeName) && (e = n.select(e)), + e.datum(f).each(function (e, l) { + var c = e.slice(); + u = { + data: o.util.cloneJson(c), + layout: o.util.cloneJson(h), + }; + var f = 0; + c.forEach(function (t, e) { + t.color || + ((t.color = h.defaultColorRange[f]), + (f = (f + 1) % h.defaultColorRange.length)), + t.strokeColor || + (t.strokeColor = + 'LinePlot' === t.geometry + ? t.color + : n.rgb(t.color).darker().toString()), + (u.data[e].color = t.color), + (u.data[e].strokeColor = t.strokeColor), + (u.data[e].strokeDash = t.strokeDash), + (u.data[e].strokeSize = t.strokeSize); + }); + var p = c.filter(function (t, e) { + var r = t.visible; + return 'undefined' == typeof r || !0 === r; + }), + d = !1, + g = p.map(function (t, e) { + return ( + (d = d || 'undefined' != typeof t.groupId), t + ); + }); + if (d) { + var m = n + .nest() + .key(function (t, e) { + return 'undefined' != typeof t.groupId + ? t.groupId + : 'unstacked'; + }) + .entries(g), + v = [], + y = m.map(function (t, e) { + if ('unstacked' === t.key) return t.values; + var r = t.values[0].r.map(function (t, e) { + return 0; + }); + return ( + t.values.forEach(function (t, e, n) { + (t.yStack = [r]), + v.push(r), + (r = o.util.sumArrays(t.r, r)); + }), + t.values + ); + }); + p = n.merge(y); + } + p.forEach(function (t, e) { + (t.t = Array.isArray(t.t[0]) ? t.t : [t.t]), + (t.r = Array.isArray(t.r[0]) ? t.r : [t.r]); + }); + var x = + Math.min( + h.width - h.margin.left - h.margin.right, + h.height - h.margin.top - h.margin.bottom + ) / 2; + x = Math.max(10, x); + var b, + _ = [h.margin.left + x, h.margin.top + x]; + d + ? (b = [ + 0, + n.max( + o.util.sumArrays( + o.util.arrayLast(p).r[0], + o.util.arrayLast(v) + ) + ), + ]) + : (b = n.extent( + o.util.flattenArray( + p.map(function (t, e) { + return t.r; + }) + ) + )); + h.radialAxis.domain != o.DATAEXTENT && (b[0] = 0), + (r = n.scale + .linear() + .domain( + h.radialAxis.domain != o.DATAEXTENT && + h.radialAxis.domain + ? h.radialAxis.domain + : b + ) + .range([0, x])), + (u.layout.radialAxis.domain = r.domain()); + var w, + T = o.util.flattenArray( + p.map(function (t, e) { + return t.t; + }) + ), + k = 'string' == typeof T[0]; + k && + ((T = o.util.deduplicate(T)), + (w = T.slice()), + (T = n.range(T.length)), + (p = p.map(function (t, e) { + var r = t; + return (t.t = [T]), d && (r.yStack = t.yStack), r; + }))); + var M = + p.filter(function (t, e) { + return ( + 'LinePlot' === t.geometry || + 'DotPlot' === t.geometry + ); + }).length === p.length, + A = + null === h.needsEndSpacing + ? k || !M + : h.needsEndSpacing, + S = + h.angularAxis.domain && + h.angularAxis.domain != o.DATAEXTENT && + !k && + h.angularAxis.domain[0] >= 0 + ? h.angularAxis.domain + : n.extent(T), + E = Math.abs(T[1] - T[0]); + M && !k && (E = 0); + var C = S.slice(); + A && k && (C[1] += E); + var L = h.angularAxis.ticksCount || 4; + L > 8 && (L = L / (L / 8) + (L % 8)), + h.angularAxis.ticksStep && (L = (C[1] - C[0]) / L); + var I = + h.angularAxis.ticksStep || + (C[1] - C[0]) / (L * (h.minorTicks + 1)); + w && (I = Math.max(Math.round(I), 1)), + C[2] || (C[2] = I); + var P = n.range.apply(this, C); + if ( + ((P = P.map(function (t, e) { + return parseFloat(t.toPrecision(12)); + })), + (s = n.scale + .linear() + .domain(C.slice(0, 2)) + .range( + 'clockwise' === h.direction ? [0, 360] : [360, 0] + )), + (u.layout.angularAxis.domain = s.domain()), + (u.layout.angularAxis.endPadding = A ? E : 0), + 'undefined' == + typeof (t = n + .select(this) + .select('svg.chart-root')) || t.empty()) + ) { + var z = new DOMParser().parseFromString( + "' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '", + 'application/xml' + ), + O = this.appendChild( + this.ownerDocument.importNode( + z.documentElement, + !0 + ) + ); + t = n.select(O); + } + t + .select('.guides-group') + .style({ 'pointer-events': 'none' }), + t + .select('.angular.axis-group') + .style({ 'pointer-events': 'none' }), + t + .select('.radial.axis-group') + .style({ 'pointer-events': 'none' }); + var D, + R = t.select('.chart-group'), + F = { fill: 'none', stroke: h.tickColor }, + B = { + 'font-size': h.font.size, + 'font-family': h.font.family, + fill: h.font.color, + 'text-shadow': [ + '-1px 0px', + '1px -1px', + '-1px 1px', + '1px 1px', + ] + .map(function (t, e) { + return ' ' + t + ' 0 ' + h.font.outlineColor; + }) + .join(','), + }; + if (h.showLegend) { + D = t + .select('.legend-group') + .attr({ + transform: 'translate(' + [x, h.margin.top] + ')', + }) + .style({ display: 'block' }); + var N = p.map(function (t, e) { + var r = o.util.cloneJson(t); + return ( + (r.symbol = + 'DotPlot' === t.geometry + ? t.dotType || 'circle' + : 'LinePlot' != t.geometry + ? 'square' + : 'line'), + (r.visibleInLegend = + 'undefined' == typeof t.visibleInLegend || + t.visibleInLegend), + (r.color = + 'LinePlot' === t.geometry + ? t.strokeColor + : t.color), + r + ); + }); + o.Legend().config({ + data: p.map(function (t, e) { + return t.name || 'Element' + e; + }), + legendConfig: i( + {}, + o.Legend.defaultConfig().legendConfig, + { + container: D, + elements: N, + reverseOrder: h.legend.reverseOrder, + } + ), + })(); + var j = D.node().getBBox(); + (x = + Math.min( + h.width - + j.width - + h.margin.left - + h.margin.right, + h.height - h.margin.top - h.margin.bottom + ) / 2), + (x = Math.max(10, x)), + (_ = [h.margin.left + x, h.margin.top + x]), + r.range([0, x]), + (u.layout.radialAxis.domain = r.domain()), + D.attr( + 'transform', + 'translate(' + [_[0] + x, _[1] - x] + ')' + ); + } else D = t.select('.legend-group').style({ display: 'none' }); + t + .attr({ width: h.width, height: h.height }) + .style({ opacity: h.opacity }), + R.attr('transform', 'translate(' + _ + ')').style({ + cursor: 'crosshair', + }); + var U = [ + (h.width - + (h.margin.left + + h.margin.right + + 2 * x + + (j ? j.width : 0))) / + 2, + (h.height - + (h.margin.top + h.margin.bottom + 2 * x)) / + 2, + ]; + if ( + ((U[0] = Math.max(0, U[0])), + (U[1] = Math.max(0, U[1])), + t + .select('.outer-group') + .attr('transform', 'translate(' + U + ')'), + h.title && h.title.text) + ) { + var V = t + .select('g.title-group text') + .style(B) + .text(h.title.text), + q = V.node().getBBox(); + V.attr({ x: _[0] - q.width / 2, y: _[1] - x - 20 }); + } + var H = t.select('.radial.axis-group'); + if (h.radialAxis.gridLinesVisible) { + var G = H.selectAll('circle.grid-circle').data( + r.ticks(5) + ); + G.enter() + .append('circle') + .attr({ class: 'grid-circle' }) + .style(F), + G.attr('r', r), + G.exit().remove(); + } + H.select('circle.outside-circle') + .attr({ r: x }) + .style(F); + var Y = t + .select('circle.background-circle') + .attr({ r: x }) + .style({ fill: h.backgroundColor, stroke: h.stroke }); + function W(t, e) { + return (s(t) % 360) + h.orientation; + } + if (h.radialAxis.visible) { + var X = n.svg.axis().scale(r).ticks(5).tickSize(5); + H.call(X).attr({ + transform: + 'rotate(' + h.radialAxis.orientation + ')', + }), + H.selectAll('.domain').style(F), + H.selectAll('g>text') + .text(function (t, e) { + return ( + this.textContent + h.radialAxis.ticksSuffix + ); + }) + .style(B) + .style({ 'text-anchor': 'start' }) + .attr({ + x: 0, + y: 0, + dx: 0, + dy: 0, + transform: function (t, e) { + return 'horizontal' === + h.radialAxis.tickOrientation + ? 'rotate(' + + -h.radialAxis.orientation + + ') translate(' + + [0, B['font-size']] + + ')' + : 'translate(' + [0, B['font-size']] + ')'; + }, + }), + H.selectAll('g>line').style({ stroke: 'black' }); + } + var Z = t + .select('.angular.axis-group') + .selectAll('g.angular-tick') + .data(P), + J = Z.enter().append('g').classed('angular-tick', !0); + Z.attr({ + transform: function (t, e) { + return 'rotate(' + W(t) + ')'; + }, + }).style({ + display: h.angularAxis.visible ? 'block' : 'none', + }), + Z.exit().remove(), + J.append('line') + .classed('grid-line', !0) + .classed('major', function (t, e) { + return e % (h.minorTicks + 1) == 0; + }) + .classed('minor', function (t, e) { + return !(e % (h.minorTicks + 1) == 0); + }) + .style(F), + J.selectAll('.minor').style({ + stroke: h.minorTickColor, + }), + Z.select('line.grid-line') + .attr({ + x1: h.tickLength ? x - h.tickLength : 0, + x2: x, + }) + .style({ + display: h.angularAxis.gridLinesVisible + ? 'block' + : 'none', + }), + J.append('text').classed('axis-text', !0).style(B); + var K = Z.select('text.axis-text') + .attr({ + x: x + h.labelOffset, + dy: a + 'em', + transform: function (t, e) { + var r = W(t), + n = x + h.labelOffset, + i = h.angularAxis.tickOrientation; + return 'horizontal' == i + ? 'rotate(' + -r + ' ' + n + ' 0)' + : 'radial' == i + ? r < 270 && r > 90 + ? 'rotate(180 ' + n + ' 0)' + : null + : 'rotate(' + + (r <= 180 && r > 0 ? -90 : 90) + + ' ' + + n + + ' 0)'; + }, + }) + .style({ + 'text-anchor': 'middle', + display: h.angularAxis.labelsVisible + ? 'block' + : 'none', + }) + .text(function (t, e) { + return e % (h.minorTicks + 1) != 0 + ? '' + : w + ? w[t] + h.angularAxis.ticksSuffix + : t + h.angularAxis.ticksSuffix; + }) + .style(B); + h.angularAxis.rewriteTicks && + K.text(function (t, e) { + return e % (h.minorTicks + 1) != 0 + ? '' + : h.angularAxis.rewriteTicks(this.textContent, e); + }); + var Q = n.max( + R.selectAll('.angular-tick text')[0].map(function ( + t, + e + ) { + return t.getCTM().e + t.getBBox().width; + }) + ); + D.attr({ + transform: 'translate(' + [x + Q, h.margin.top] + ')', + }); + var $ = + t.select('g.geometry-group').selectAll('g').size() > + 0, + tt = t + .select('g.geometry-group') + .selectAll('g.geometry') + .data(p); + if ( + (tt + .enter() + .append('g') + .attr({ + class: function (t, e) { + return 'geometry geometry' + e; + }, + }), + tt.exit().remove(), + p[0] || $) + ) { + var et = []; + p.forEach(function (t, e) { + var n = {}; + (n.radialScale = r), + (n.angularScale = s), + (n.container = tt.filter(function (t, r) { + return r == e; + })), + (n.geometry = t.geometry), + (n.orientation = h.orientation), + (n.direction = h.direction), + (n.index = e), + et.push({ data: t, geometryConfig: n }); + }); + var rt = n + .nest() + .key(function (t, e) { + return ( + 'undefined' != typeof t.data.groupId || + 'unstacked' + ); + }) + .entries(et), + nt = []; + rt.forEach(function (t, e) { + 'unstacked' === t.key + ? (nt = nt.concat( + t.values.map(function (t, e) { + return [t]; + }) + )) + : nt.push(t.values); + }), + nt.forEach(function (t, e) { + var r; + r = Array.isArray(t) + ? t[0].geometryConfig.geometry + : t.geometryConfig.geometry; + var n = t.map(function (t, e) { + return i(o[r].defaultConfig(), t); + }); + o[r]().config(n)(); + }); + } + var it, + at, + ot = t.select('.guides-group'), + st = t.select('.tooltips-group'), + lt = o + .tooltipPanel() + .config({ container: st, fontSize: 8 })(), + ct = o + .tooltipPanel() + .config({ container: st, fontSize: 8 })(), + ut = o + .tooltipPanel() + .config({ container: st, hasTick: !0 })(); + if (!k) { + var ft = ot + .select('line') + .attr({ x1: 0, y1: 0, y2: 0 }) + .style({ + stroke: 'grey', + 'pointer-events': 'none', + }); + R.on('mousemove.angular-guide', function (t, e) { + var r = o.util.getMousePos(Y).angle; + ft.attr({ + x2: -x, + transform: 'rotate(' + r + ')', + }).style({ opacity: 0.5 }); + var n = (r + 180 + 360 - h.orientation) % 360; + it = s.invert(n); + var i = o.util.convertToCartesian(x + 12, r + 180); + lt.text(o.util.round(it)).move([ + i[0] + _[0], + i[1] + _[1], + ]); + }).on('mouseout.angular-guide', function (t, e) { + ot.select('line').style({ opacity: 0 }); + }); + } + var ht = ot + .select('circle') + .style({ stroke: 'grey', fill: 'none' }); + R.on('mousemove.radial-guide', function (t, e) { + var n = o.util.getMousePos(Y).radius; + ht.attr({ r: n }).style({ opacity: 0.5 }), + (at = r.invert(o.util.getMousePos(Y).radius)); + var i = o.util.convertToCartesian( + n, + h.radialAxis.orientation + ); + ct.text(o.util.round(at)).move([ + i[0] + _[0], + i[1] + _[1], + ]); + }).on('mouseout.radial-guide', function (t, e) { + ht.style({ opacity: 0 }), + ut.hide(), + lt.hide(), + ct.hide(); + }), + t + .selectAll('.geometry-group .mark') + .on('mouseover.tooltip', function (e, r) { + var i = n.select(this), + a = this.style.fill, + s = 'black', + l = this.style.opacity || 1; + if ( + (i.attr({ 'data-opacity': l }), + a && 'none' !== a) + ) { + i.attr({ 'data-fill': a }), + (s = n.hsl(a).darker().toString()), + i.style({ fill: s, opacity: 1 }); + var c = { + t: o.util.round(e[0]), + r: o.util.round(e[1]), + }; + k && (c.t = w[e[0]]); + var u = 't: ' + c.t + ', r: ' + c.r, + f = this.getBoundingClientRect(), + h = t.node().getBoundingClientRect(), + p = [ + f.left + f.width / 2 - U[0] - h.left, + f.top + f.height / 2 - U[1] - h.top, + ]; + ut.config({ color: s }).text(u), ut.move(p); + } else (a = this.style.stroke || 'black'), i.attr({ 'data-stroke': a }), (s = n.hsl(a).darker().toString()), i.style({ stroke: s, opacity: 1 }); + }) + .on('mousemove.tooltip', function (t, e) { + if (0 != n.event.which) return !1; + n.select(this).attr('data-fill') && ut.show(); + }) + .on('mouseout.tooltip', function (t, e) { + ut.hide(); + var r = n.select(this), + i = r.attr('data-fill'); + i + ? r.style({ + fill: i, + opacity: r.attr('data-opacity'), + }) + : r.style({ + stroke: r.attr('data-stroke'), + opacity: r.attr('data-opacity'), + }); + }); + }); + })(c), + this + ); + }), + (h.config = function (t) { + if (!arguments.length) return l; + var e = o.util.cloneJson(t); + return ( + e.data.forEach(function (t, e) { + l.data[e] || (l.data[e] = {}), + i(l.data[e], o.Axis.defaultConfig().data[0]), + i(l.data[e], t); + }), + i(l.layout, o.Axis.defaultConfig().layout), + i(l.layout, e.layout), + this + ); + }), + (h.getLiveConfig = function () { + return u; + }), + (h.getinputConfig = function () { + return c; + }), + (h.radialScale = function (t) { + return r; + }), + (h.angularScale = function (t) { + return s; + }), + (h.svg = function () { + return t; + }), + n.rebind(h, f, 'on'), + h + ); + }), + (o.Axis.defaultConfig = function (t, e) { + return { + data: [ + { + t: [1, 2, 3, 4], + r: [10, 11, 12, 13], + name: 'Line1', + geometry: 'LinePlot', + color: null, + strokeDash: 'solid', + strokeColor: null, + strokeSize: '1', + visibleInLegend: !0, + opacity: 1, + }, + ], + layout: { + defaultColorRange: n.scale.category10().range(), + title: null, + height: 450, + width: 500, + margin: { top: 40, right: 40, bottom: 40, left: 40 }, + font: { + size: 12, + color: 'gray', + outlineColor: 'white', + family: 'Tahoma, sans-serif', + }, + direction: 'clockwise', + orientation: 0, + labelOffset: 10, + radialAxis: { + domain: null, + orientation: -45, + ticksSuffix: '', + visible: !0, + gridLinesVisible: !0, + tickOrientation: 'horizontal', + rewriteTicks: null, + }, + angularAxis: { + domain: [0, 360], + ticksSuffix: '', + visible: !0, + gridLinesVisible: !0, + labelsVisible: !0, + tickOrientation: 'horizontal', + rewriteTicks: null, + ticksCount: null, + ticksStep: null, + }, + minorTicks: 0, + tickLength: null, + tickColor: 'silver', + minorTickColor: '#eee', + backgroundColor: 'none', + needsEndSpacing: null, + showLegend: !0, + legend: { reverseOrder: !1 }, + opacity: 1, + }, + }; + }), + (o.util = {}), + (o.DATAEXTENT = 'dataExtent'), + (o.AREA = 'AreaChart'), + (o.LINE = 'LinePlot'), + (o.DOT = 'DotPlot'), + (o.BAR = 'BarChart'), + (o.util._override = function (t, e) { + for (var r in t) r in e && (e[r] = t[r]); + }), + (o.util._extend = function (t, e) { + for (var r in t) e[r] = t[r]; + }), + (o.util._rndSnd = function () { + return ( + 2 * Math.random() - + 1 + + (2 * Math.random() - 1) + + (2 * Math.random() - 1) + ); + }), + (o.util.dataFromEquation2 = function (t, e) { + var r = e || 6; + return n.range(0, 360 + r, r).map(function (e, r) { + var n = (e * Math.PI) / 180; + return [e, t(n)]; + }); + }), + (o.util.dataFromEquation = function (t, e, r) { + var i = e || 6, + a = [], + o = []; + n.range(0, 360 + i, i).forEach(function (e, r) { + var n = (e * Math.PI) / 180, + i = t(n); + a.push(e), o.push(i); + }); + var s = { t: a, r: o }; + return r && (s.name = r), s; + }), + (o.util.ensureArray = function (t, e) { + if ('undefined' == typeof t) return null; + var r = [].concat(t); + return n.range(e).map(function (t, e) { + return r[e] || r[0]; + }); + }), + (o.util.fillArrays = function (t, e, r) { + return ( + e.forEach(function (e, n) { + t[e] = o.util.ensureArray(t[e], r); + }), + t + ); + }), + (o.util.cloneJson = function (t) { + return JSON.parse(JSON.stringify(t)); + }), + (o.util.validateKeys = function (t, e) { + 'string' == typeof e && (e = e.split('.')); + var r = e.shift(); + return t[r] && (!e.length || objHasKeys(t[r], e)); + }), + (o.util.sumArrays = function (t, e) { + return n.zip(t, e).map(function (t, e) { + return n.sum(t); + }); + }), + (o.util.arrayLast = function (t) { + return t[t.length - 1]; + }), + (o.util.arrayEqual = function (t, e) { + for ( + var r = Math.max(t.length, e.length, 1); + r-- >= 0 && t[r] === e[r]; + + ); + return -2 === r; + }), + (o.util.flattenArray = function (t) { + for (var e = []; !o.util.arrayEqual(e, t); ) + (e = t), (t = [].concat.apply([], t)); + return t; + }), + (o.util.deduplicate = function (t) { + return t.filter(function (t, e, r) { + return r.indexOf(t) == e; + }); + }), + (o.util.convertToCartesian = function (t, e) { + var r = (e * Math.PI) / 180; + return [t * Math.cos(r), t * Math.sin(r)]; + }), + (o.util.round = function (t, e) { + var r = e || 2, + n = Math.pow(10, r); + return Math.round(t * n) / n; + }), + (o.util.getMousePos = function (t) { + var e = n.mouse(t.node()), + r = e[0], + i = e[1], + a = {}; + return ( + (a.x = r), + (a.y = i), + (a.pos = e), + (a.angle = (180 * (Math.atan2(i, r) + Math.PI)) / Math.PI), + (a.radius = Math.sqrt(r * r + i * i)), + a + ); + }), + (o.util.duplicatesCount = function (t) { + for (var e, r = {}, n = {}, i = 0, a = t.length; i < a; i++) + (e = t[i]) in r ? (r[e]++, (n[e] = r[e])) : (r[e] = 1); + return n; + }), + (o.util.duplicates = function (t) { + return Object.keys(o.util.duplicatesCount(t)); + }), + (o.util.translator = function (t, e, r, n) { + if (n) { + var i = r.slice(); + (r = e), (e = i); + } + var a = e.reduce(function (t, e) { + if ('undefined' != typeof t) return t[e]; + }, t); + 'undefined' != typeof a && + (e.reduce(function (t, r, n) { + if ('undefined' != typeof t) + return n === e.length - 1 && delete t[r], t[r]; + }, t), + r.reduce(function (t, e, n) { + return ( + 'undefined' == typeof t[e] && (t[e] = {}), + n === r.length - 1 && (t[e] = a), + t[e] + ); + }, t)); + }), + (o.PolyChart = function () { + var t = [o.PolyChart.defaultConfig()], + e = n.dispatch('hover'), + r = { solid: 'none', dash: [5, 2], dot: [2, 5] }; + function a() { + var e = t[0].geometryConfig, + i = e.container; + 'string' == typeof i && (i = n.select(i)), + i.datum(t).each(function (t, i) { + var a = !!t[0].data.yStack, + o = t.map(function (t, e) { + return a + ? n.zip(t.data.t[0], t.data.r[0], t.data.yStack[0]) + : n.zip(t.data.t[0], t.data.r[0]); + }), + s = e.angularScale, + l = e.radialScale.domain()[0], + c = { + bar: function (r, i, a) { + var o = t[a].data, + l = e.radialScale(r[1]) - e.radialScale(0), + c = e.radialScale(r[2] || 0), + u = o.barWidth; + n.select(this).attr({ + class: 'mark bar', + d: + 'M' + + [ + [l + c, -u / 2], + [l + c, u / 2], + [c, u / 2], + [c, -u / 2], + ].join('L') + + 'Z', + transform: function (t, r) { + return ( + 'rotate(' + (e.orientation + s(t[0])) + ')' + ); + }, + }); + }, + }; + c.dot = function (r, i, a) { + var o = r[2] ? [r[0], r[1] + r[2]] : r, + s = n.svg + .symbol() + .size(t[a].data.dotSize) + .type(t[a].data.dotType)(r, i); + n.select(this).attr({ + class: 'mark dot', + d: s, + transform: function (t, r) { + var n, + i, + a, + s = + ((n = (function (t, r) { + var n = e.radialScale(t[1]), + i = + ((e.angularScale(t[0]) + e.orientation) * + Math.PI) / + 180; + return { r: n, t: i }; + })(o)), + (i = n.r * Math.cos(n.t)), + (a = n.r * Math.sin(n.t)), + { x: i, y: a }); + return 'translate(' + [s.x, s.y] + ')'; + }, + }); + }; + var u = n.svg.line + .radial() + .interpolate(t[0].data.lineInterpolation) + .radius(function (t) { + return e.radialScale(t[1]); + }) + .angle(function (t) { + return (e.angularScale(t[0]) * Math.PI) / 180; + }); + c.line = function (r, i, a) { + var s = r[2] + ? o[a].map(function (t, e) { + return [t[0], t[1] + t[2]]; + }) + : o[a]; + if ( + (n + .select(this) + .each(c.dot) + .style({ + opacity: function (e, r) { + return +t[a].data.dotVisible; + }, + fill: d.stroke(r, i, a), + }) + .attr({ class: 'mark dot' }), + !(i > 0)) + ) { + var l = n + .select(this.parentNode) + .selectAll('path.line') + .data([0]); + l.enter().insert('path'), + l + .attr({ + class: 'line', + d: u(s), + transform: function (t, r) { + return 'rotate(' + (e.orientation + 90) + ')'; + }, + 'pointer-events': 'none', + }) + .style({ + fill: function (t, e) { + return d.fill(r, i, a); + }, + 'fill-opacity': 0, + stroke: function (t, e) { + return d.stroke(r, i, a); + }, + 'stroke-width': function (t, e) { + return d['stroke-width'](r, i, a); + }, + 'stroke-dasharray': function (t, e) { + return d['stroke-dasharray'](r, i, a); + }, + opacity: function (t, e) { + return d.opacity(r, i, a); + }, + display: function (t, e) { + return d.display(r, i, a); + }, + }); + } + }; + var f = e.angularScale.range(), + h = + ((Math.abs(f[1] - f[0]) / o[0].length) * Math.PI) / 180, + p = n.svg + .arc() + .startAngle(function (t) { + return -h / 2; + }) + .endAngle(function (t) { + return h / 2; + }) + .innerRadius(function (t) { + return e.radialScale(l + (t[2] || 0)); + }) + .outerRadius(function (t) { + return ( + e.radialScale(l + (t[2] || 0)) + e.radialScale(t[1]) + ); + }); + c.arc = function (t, r, i) { + n.select(this).attr({ + class: 'mark arc', + d: p, + transform: function (t, r) { + return ( + 'rotate(' + (e.orientation + s(t[0]) + 90) + ')' + ); + }, + }); + }; + var d = { + fill: function (e, r, n) { + return t[n].data.color; + }, + stroke: function (e, r, n) { + return t[n].data.strokeColor; + }, + 'stroke-width': function (e, r, n) { + return t[n].data.strokeSize + 'px'; + }, + 'stroke-dasharray': function (e, n, i) { + return r[t[i].data.strokeDash]; + }, + opacity: function (e, r, n) { + return t[n].data.opacity; + }, + display: function (e, r, n) { + return 'undefined' == typeof t[n].data.visible || + t[n].data.visible + ? 'block' + : 'none'; + }, + }, + g = n.select(this).selectAll('g.layer').data(o); + g.enter().append('g').attr({ class: 'layer' }); + var m = g.selectAll('path.mark').data(function (t, e) { + return t; + }); + m.enter().append('path').attr({ class: 'mark' }), + m.style(d).each(c[e.geometryType]), + m.exit().remove(), + g.exit().remove(); + }); + } + return ( + (a.config = function (e) { + return arguments.length + ? (e.forEach(function (e, r) { + t[r] || (t[r] = {}), + i(t[r], o.PolyChart.defaultConfig()), + i(t[r], e); + }), + this) + : t; + }), + (a.getColorScale = function () {}), + n.rebind(a, e, 'on'), + a + ); + }), + (o.PolyChart.defaultConfig = function () { + return { + data: { + name: 'geom1', + t: [[1, 2, 3, 4]], + r: [[1, 2, 3, 4]], + dotType: 'circle', + dotSize: 64, + dotVisible: !1, + barWidth: 20, + color: '#ffa500', + strokeSize: 1, + strokeColor: 'silver', + strokeDash: 'solid', + opacity: 1, + index: 0, + visible: !0, + visibleInLegend: !0, + }, + geometryConfig: { + geometry: 'LinePlot', + geometryType: 'arc', + direction: 'clockwise', + orientation: 0, + container: 'body', + radialScale: null, + angularScale: null, + colorScale: n.scale.category20(), + }, + }; + }), + (o.BarChart = function () { + return o.PolyChart(); + }), + (o.BarChart.defaultConfig = function () { + return { geometryConfig: { geometryType: 'bar' } }; + }), + (o.AreaChart = function () { + return o.PolyChart(); + }), + (o.AreaChart.defaultConfig = function () { + return { geometryConfig: { geometryType: 'arc' } }; + }), + (o.DotPlot = function () { + return o.PolyChart(); + }), + (o.DotPlot.defaultConfig = function () { + return { + geometryConfig: { geometryType: 'dot', dotType: 'circle' }, + }; + }), + (o.LinePlot = function () { + return o.PolyChart(); + }), + (o.LinePlot.defaultConfig = function () { + return { geometryConfig: { geometryType: 'line' } }; + }), + (o.Legend = function () { + var t = o.Legend.defaultConfig(), + e = n.dispatch('hover'); + function r() { + var e = t.legendConfig, + a = t.data.map(function (t, r) { + return [].concat(t).map(function (t, n) { + var a = i({}, e.elements[r]); + return ( + (a.name = t), + (a.color = [].concat(e.elements[r].color)[n]), + a + ); + }); + }), + o = n.merge(a); + (o = o.filter(function (t, r) { + return ( + e.elements[r] && + (e.elements[r].visibleInLegend || + 'undefined' == typeof e.elements[r].visibleInLegend) + ); + })), + e.reverseOrder && (o = o.reverse()); + var s = e.container; + ('string' == typeof s || s.nodeName) && (s = n.select(s)); + var l = o.map(function (t, e) { + return t.color; + }), + c = e.fontSize, + u = + null == e.isContinuous + ? 'number' == typeof o[0] + : e.isContinuous, + f = u ? e.height : c * o.length, + h = s.classed('legend-group', !0).selectAll('svg').data([0]), + p = h + .enter() + .append('svg') + .attr({ + width: 300, + height: f + c, + xmlns: 'http://www.w3.org/2000/svg', + 'xmlns:xlink': 'http://www.w3.org/1999/xlink', + version: '1.1', + }); + p.append('g').classed('legend-axis', !0), + p.append('g').classed('legend-marks', !0); + var d = n.range(o.length), + g = n.scale[u ? 'linear' : 'ordinal']().domain(d).range(l), + m = n.scale[u ? 'linear' : 'ordinal']() + .domain(d) + [u ? 'range' : 'rangePoints']([0, f]); + if (u) { + var v = h + .select('.legend-marks') + .append('defs') + .append('linearGradient') + .attr({ + id: 'grad1', + x1: '0%', + y1: '0%', + x2: '0%', + y2: '100%', + }) + .selectAll('stop') + .data(l); + v.enter().append('stop'), + v + .attr({ + offset: function (t, e) { + return (e / (l.length - 1)) * 100 + '%'; + }, + }) + .style({ + 'stop-color': function (t, e) { + return t; + }, + }), + h + .append('rect') + .classed('legend-mark', !0) + .attr({ + height: e.height, + width: e.colorBandWidth, + fill: 'url(#grad1)', + }); + } else { + var y = h + .select('.legend-marks') + .selectAll('path.legend-mark') + .data(o); + y.enter().append('path').classed('legend-mark', !0), + y.attr({ + transform: function (t, e) { + return 'translate(' + [c / 2, m(e) + c / 2] + ')'; + }, + d: function (t, e) { + var r, + i, + a, + o = t.symbol; + return ( + (a = 3 * (i = c)), + 'line' === (r = o) + ? 'M' + + [ + [-i / 2, -i / 12], + [i / 2, -i / 12], + [i / 2, i / 12], + [-i / 2, i / 12], + ] + + 'Z' + : -1 != n.svg.symbolTypes.indexOf(r) + ? n.svg.symbol().type(r).size(a)() + : n.svg.symbol().type('square').size(a)() + ); + }, + fill: function (t, e) { + return g(e); + }, + }), + y.exit().remove(); + } + var x = n.svg.axis().scale(m).orient('right'), + b = h + .select('g.legend-axis') + .attr({ + transform: + 'translate(' + [u ? e.colorBandWidth : c, c / 2] + ')', + }) + .call(x); + return ( + b + .selectAll('.domain') + .style({ fill: 'none', stroke: 'none' }), + b + .selectAll('line') + .style({ fill: 'none', stroke: u ? e.textColor : 'none' }), + b + .selectAll('text') + .style({ fill: e.textColor, 'font-size': e.fontSize }) + .text(function (t, e) { + return o[e].name; + }), + r + ); + } + return ( + (r.config = function (e) { + return arguments.length ? (i(t, e), this) : t; + }), + n.rebind(r, e, 'on'), + r + ); + }), + (o.Legend.defaultConfig = function (t, e) { + return { + data: ['a', 'b', 'c'], + legendConfig: { + elements: [ + { symbol: 'line', color: 'red' }, + { symbol: 'square', color: 'yellow' }, + { symbol: 'diamond', color: 'limegreen' }, + ], + height: 150, + colorBandWidth: 30, + fontSize: 12, + container: 'body', + isContinuous: null, + textColor: 'grey', + reverseOrder: !1, + }, + }; + }), + (o.tooltipPanel = function () { + var t, + e, + r, + a = { + container: null, + hasTick: !1, + fontSize: 12, + color: 'white', + padding: 5, + }, + s = 'tooltip-' + o.tooltipPanel.uid++, + l = 10, + c = function () { + var n = (t = a.container.selectAll('g.' + s).data([0])) + .enter() + .append('g') + .classed(s, !0) + .style({ 'pointer-events': 'none', display: 'none' }); + return ( + (r = n + .append('path') + .style({ fill: 'white', 'fill-opacity': 0.9 }) + .attr({ d: 'M0 0' })), + (e = n + .append('text') + .attr({ dx: a.padding + l, dy: 0.3 * +a.fontSize })), + c + ); + }; + return ( + (c.text = function (i) { + var o = n.hsl(a.color).l, + s = o >= 0.5 ? '#aaa' : 'white', + u = o >= 0.5 ? 'black' : 'white', + f = i || ''; + e.style({ fill: u, 'font-size': a.fontSize + 'px' }).text(f); + var h = a.padding, + p = e.node().getBBox(), + d = { fill: a.color, stroke: s, 'stroke-width': '2px' }, + g = p.width + 2 * h + l, + m = p.height + 2 * h; + return ( + r + .attr({ + d: + 'M' + + [ + [l, -m / 2], + [l, -m / 4], + [a.hasTick ? 0 : l, 0], + [l, m / 4], + [l, m / 2], + [g, m / 2], + [g, -m / 2], + ].join('L') + + 'Z', + }) + .style(d), + t.attr({ + transform: 'translate(' + [l, -m / 2 + 2 * h] + ')', + }), + t.style({ display: 'block' }), + c + ); + }), + (c.move = function (e) { + if (t) + return ( + t + .attr({ transform: 'translate(' + [e[0], e[1]] + ')' }) + .style({ display: 'block' }), + c + ); + }), + (c.hide = function () { + if (t) return t.style({ display: 'none' }), c; + }), + (c.show = function () { + if (t) return t.style({ display: 'block' }), c; + }), + (c.config = function (t) { + return i(a, t), c; + }), + c + ); + }), + (o.tooltipPanel.uid = 1), + (o.adapter = {}), + (o.adapter.plotly = function () { + var t = { + convert: function (t, e) { + var r = {}; + if ( + t.data && + ((r.data = t.data.map(function (t, r) { + var n = i({}, t); + return ( + [ + [n, ['marker', 'color'], ['color']], + [n, ['marker', 'opacity'], ['opacity']], + [n, ['marker', 'line', 'color'], ['strokeColor']], + [n, ['marker', 'line', 'dash'], ['strokeDash']], + [n, ['marker', 'line', 'width'], ['strokeSize']], + [n, ['marker', 'symbol'], ['dotType']], + [n, ['marker', 'size'], ['dotSize']], + [n, ['marker', 'barWidth'], ['barWidth']], + [n, ['line', 'interpolation'], ['lineInterpolation']], + [n, ['showlegend'], ['visibleInLegend']], + ].forEach(function (t, r) { + o.util.translator.apply(null, t.concat(e)); + }), + e || delete n.marker, + e && delete n.groupId, + e + ? ('LinePlot' === n.geometry + ? ((n.type = 'scatter'), + !0 === n.dotVisible + ? (delete n.dotVisible, + (n.mode = 'lines+markers')) + : (n.mode = 'lines')) + : 'DotPlot' === n.geometry + ? ((n.type = 'scatter'), (n.mode = 'markers')) + : 'AreaChart' === n.geometry + ? (n.type = 'area') + : 'BarChart' === n.geometry && (n.type = 'bar'), + delete n.geometry) + : ('scatter' === n.type + ? 'lines' === n.mode + ? (n.geometry = 'LinePlot') + : 'markers' === n.mode + ? (n.geometry = 'DotPlot') + : 'lines+markers' === n.mode && + ((n.geometry = 'LinePlot'), + (n.dotVisible = !0)) + : 'area' === n.type + ? (n.geometry = 'AreaChart') + : 'bar' === n.type && (n.geometry = 'BarChart'), + delete n.mode, + delete n.type), + n + ); + })), + !e && t.layout && 'stack' === t.layout.barmode) + ) { + var a = o.util.duplicates( + r.data.map(function (t, e) { + return t.geometry; + }) + ); + r.data.forEach(function (t, e) { + var n = a.indexOf(t.geometry); + -1 != n && (r.data[e].groupId = n); + }); + } + if (t.layout) { + var s = i({}, t.layout); + if ( + ([ + [s, ['plot_bgcolor'], ['backgroundColor']], + [s, ['showlegend'], ['showLegend']], + [s, ['radialaxis'], ['radialAxis']], + [s, ['angularaxis'], ['angularAxis']], + [s.angularaxis, ['showline'], ['gridLinesVisible']], + [s.angularaxis, ['showticklabels'], ['labelsVisible']], + [s.angularaxis, ['nticks'], ['ticksCount']], + [ + s.angularaxis, + ['tickorientation'], + ['tickOrientation'], + ], + [s.angularaxis, ['ticksuffix'], ['ticksSuffix']], + [s.angularaxis, ['range'], ['domain']], + [s.angularaxis, ['endpadding'], ['endPadding']], + [s.radialaxis, ['showline'], ['gridLinesVisible']], + [ + s.radialaxis, + ['tickorientation'], + ['tickOrientation'], + ], + [s.radialaxis, ['ticksuffix'], ['ticksSuffix']], + [s.radialaxis, ['range'], ['domain']], + [s.angularAxis, ['showline'], ['gridLinesVisible']], + [s.angularAxis, ['showticklabels'], ['labelsVisible']], + [s.angularAxis, ['nticks'], ['ticksCount']], + [ + s.angularAxis, + ['tickorientation'], + ['tickOrientation'], + ], + [s.angularAxis, ['ticksuffix'], ['ticksSuffix']], + [s.angularAxis, ['range'], ['domain']], + [s.angularAxis, ['endpadding'], ['endPadding']], + [s.radialAxis, ['showline'], ['gridLinesVisible']], + [ + s.radialAxis, + ['tickorientation'], + ['tickOrientation'], + ], + [s.radialAxis, ['ticksuffix'], ['ticksSuffix']], + [s.radialAxis, ['range'], ['domain']], + [s.font, ['outlinecolor'], ['outlineColor']], + [s.legend, ['traceorder'], ['reverseOrder']], + [s, ['labeloffset'], ['labelOffset']], + [s, ['defaultcolorrange'], ['defaultColorRange']], + ].forEach(function (t, r) { + o.util.translator.apply(null, t.concat(e)); + }), + e + ? ('undefined' != typeof s.tickLength && + ((s.angularaxis.ticklen = s.tickLength), + delete s.tickLength), + s.tickColor && + ((s.angularaxis.tickcolor = s.tickColor), + delete s.tickColor)) + : (s.angularAxis && + 'undefined' != typeof s.angularAxis.ticklen && + (s.tickLength = s.angularAxis.ticklen), + s.angularAxis && + 'undefined' != typeof s.angularAxis.tickcolor && + (s.tickColor = s.angularAxis.tickcolor)), + s.legend && + 'boolean' != typeof s.legend.reverseOrder && + (s.legend.reverseOrder = + 'normal' != s.legend.reverseOrder), + s.legend && + 'boolean' == typeof s.legend.traceorder && + ((s.legend.traceorder = s.legend.traceorder + ? 'reversed' + : 'normal'), + delete s.legend.reverseOrder), + s.margin && 'undefined' != typeof s.margin.t) + ) { + var l = ['t', 'r', 'b', 'l', 'pad'], + c = ['top', 'right', 'bottom', 'left', 'pad'], + u = {}; + n.entries(s.margin).forEach(function (t, e) { + u[c[l.indexOf(t.key)]] = t.value; + }), + (s.margin = u); + } + e && + (delete s.needsEndSpacing, + delete s.minorTickColor, + delete s.minorTicks, + delete s.angularaxis.ticksCount, + delete s.angularaxis.ticksCount, + delete s.angularaxis.ticksStep, + delete s.angularaxis.rewriteTicks, + delete s.angularaxis.nticks, + delete s.radialaxis.ticksCount, + delete s.radialaxis.ticksCount, + delete s.radialaxis.ticksStep, + delete s.radialaxis.rewriteTicks, + delete s.radialaxis.nticks), + (r.layout = s); + } + return r; + }, + }; + return t; + }); + }, + { '../../../constants/alignment': 745, '../../../lib': 778, d3: 169 }, + ], + 901: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../../lib'), + a = t('../../../components/color'), + o = t('./micropolar'), + s = t('./undo_manager'), + l = i.extendDeepAll, + c = (e.exports = {}); + (c.framework = function (t) { + var e, + r, + i, + a, + u, + f = new s(); + function h(r, s) { + return ( + s && (u = s), + n + .select(n.select(u).node().parentNode) + .selectAll('.svg-container>*:not(.chart-root)') + .remove(), + (e = e ? l(e, r) : r), + i || (i = o.Axis()), + (a = o.adapter.plotly().convert(e)), + i.config(a).render(u), + (t.data = e.data), + (t.layout = e.layout), + c.fillLayout(t), + e + ); + } + return ( + (h.isPolar = !0), + (h.svg = function () { + return i.svg(); + }), + (h.getConfig = function () { + return e; + }), + (h.getLiveConfig = function () { + return o.adapter.plotly().convert(i.getLiveConfig(), !0); + }), + (h.getLiveScales = function () { + return { t: i.angularScale(), r: i.radialScale() }; + }), + (h.setUndoPoint = function () { + var t, + n, + i = this, + a = o.util.cloneJson(e); + (t = a), + (n = r), + f.add({ + undo: function () { + n && i(n); + }, + redo: function () { + i(t); + }, + }), + (r = o.util.cloneJson(a)); + }), + (h.undo = function () { + f.undo(); + }), + (h.redo = function () { + f.redo(); + }), + h + ); + }), + (c.fillLayout = function (t) { + var e = n.select(t).selectAll('.plot-container'), + r = e.selectAll('.svg-container'), + i = t.framework && t.framework.svg && t.framework.svg(), + o = { + width: 800, + height: 600, + paper_bgcolor: a.background, + _container: e, + _paperdiv: r, + _paper: i, + }; + t._fullLayout = l(o, t.layout); + }); + }, + { + '../../../components/color': 643, + '../../../lib': 778, + './micropolar': 900, + './undo_manager': 902, + d3: 169, + }, + ], + 902: [ + function (t, e, r) { + 'use strict'; + e.exports = function () { + var t, + e = [], + r = -1, + n = !1; + function i(t, e) { + return t ? ((n = !0), t[e](), (n = !1), this) : this; + } + return { + add: function (t) { + return ( + n || + (e.splice(r + 1, e.length - r), + e.push(t), + (r = e.length - 1)), + this + ); + }, + setCallback: function (e) { + t = e; + }, + undo: function () { + var n = e[r]; + return n + ? (i(n, 'undo'), (r -= 1), t && t(n.undo), this) + : this; + }, + redo: function () { + var n = e[r + 1]; + return n + ? (i(n, 'redo'), (r += 1), t && t(n.redo), this) + : this; + }, + clear: function () { + (e = []), (r = -1); + }, + hasUndo: function () { + return -1 !== r; + }, + hasRedo: function () { + return r < e.length - 1; + }, + getCommands: function () { + return e; + }, + getPreviousCommand: function () { + return e[r - 1]; + }, + getIndex: function () { + return r; + }, + }; + }; + }, + {}, + ], + 903: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('../../registry'), + o = t('../../lib'), + s = o.strRotate, + l = o.strTranslate, + c = t('../../components/color'), + u = t('../../components/drawing'), + f = t('../plots'), + h = t('../../plots/cartesian/axes'), + p = t('../cartesian/set_convert'), + d = t('./set_convert'), + g = t('../cartesian/autorange').doAutoRange, + m = t('../cartesian/dragbox'), + v = t('../../components/dragelement'), + y = t('../../components/fx'), + x = t('../../components/titles'), + b = t('../cartesian/select').prepSelect, + _ = t('../cartesian/select').selectOnClick, + w = t('../cartesian/select').clearSelect, + T = t('../../lib/setcursor'), + k = t('../../lib/clear_gl_canvases'), + M = t('../../plot_api/subroutines').redrawReglTraces, + A = t('../../constants/alignment').MID_SHIFT, + S = t('./constants'), + E = t('./helpers'), + C = o._, + L = o.mod, + I = o.deg2rad, + P = o.rad2deg; + function z(t, e) { + (this.id = e), + (this.gd = t), + (this._hasClipOnAxisFalse = null), + (this.vangles = null), + (this.radialAxisAngle = null), + (this.traceHash = {}), + (this.layers = {}), + (this.clipPaths = {}), + (this.clipIds = {}), + (this.viewInitial = {}); + var r = t._fullLayout, + n = 'clip' + r._uid + e; + (this.clipIds.forTraces = n + '-for-traces'), + (this.clipPaths.forTraces = r._clips + .append('clipPath') + .attr('id', this.clipIds.forTraces)), + this.clipPaths.forTraces.append('path'), + (this.framework = r._polarlayer.append('g').attr('class', e)), + (this.radialTickLayout = null), + (this.angularTickLayout = null); + } + var O = z.prototype; + function D(t) { + var e = t.ticks + String(t.ticklen) + String(t.showticklabels); + return 'side' in t && (e += t.side), e; + } + function R(t, e) { + return e[ + o.findIndexOfMin(e, function (e) { + return o.angleDist(t, e); + }) + ]; + } + function F(t, e, r) { + return ( + e + ? (t.attr('display', null), t.attr(r)) + : t && t.attr('display', 'none'), + t + ); + } + (e.exports = function (t, e) { + return new z(t, e); + }), + (O.plot = function (t, e) { + var r = e[this.id]; + this._hasClipOnAxisFalse = !1; + for (var n = 0; n < t.length; n++) { + if (!1 === t[n][0].trace.cliponaxis) { + this._hasClipOnAxisFalse = !0; + break; + } + } + this.updateLayers(e, r), + this.updateLayout(e, r), + f.generalUpdatePerTraceModule(this.gd, this, t, r), + this.updateFx(e, r); + }), + (O.updateLayers = function (t, e) { + var r = this.layers, + i = e.radialaxis, + a = e.angularaxis, + o = S.layerNames, + s = o.indexOf('frontplot'), + l = o.slice(0, s), + c = 'below traces' === a.layer, + u = 'below traces' === i.layer; + c && l.push('angular-line'), + u && l.push('radial-line'), + c && l.push('angular-axis'), + u && l.push('radial-axis'), + l.push('frontplot'), + c || l.push('angular-line'), + u || l.push('radial-line'), + c || l.push('angular-axis'), + u || l.push('radial-axis'); + var f = this.framework + .selectAll('.polarsublayer') + .data(l, String); + f + .enter() + .append('g') + .attr('class', function (t) { + return 'polarsublayer ' + t; + }) + .each(function (t) { + var e = (r[t] = n.select(this)); + switch (t) { + case 'frontplot': + e.append('g').classed('barlayer', !0), + e.append('g').classed('scatterlayer', !0); + break; + case 'backplot': + e.append('g').classed('maplayer', !0); + break; + case 'plotbg': + r.bg = e.append('path'); + break; + case 'radial-grid': + case 'angular-grid': + e.style('fill', 'none'); + break; + case 'radial-line': + e.append('line').style('fill', 'none'); + break; + case 'angular-line': + e.append('path').style('fill', 'none'); + } + }), + f.order(); + }), + (O.updateLayout = function (t, e) { + var r = this.layers, + n = t._size, + i = e.radialaxis, + a = e.angularaxis, + o = e.domain.x, + s = e.domain.y; + (this.xOffset = n.l + n.w * o[0]), + (this.yOffset = n.t + n.h * (1 - s[1])); + var f = (this.xLength = n.w * (o[1] - o[0])), + h = (this.yLength = n.h * (s[1] - s[0])), + p = e.sector; + this.sectorInRad = p.map(I); + var d, + g, + m, + v, + y, + x = (this.sectorBBox = (function (t) { + var e, + r, + n, + i, + a = t[0], + o = t[1] - a, + s = L(a, 360), + l = s + o, + c = Math.cos(I(s)), + u = Math.sin(I(s)), + f = Math.cos(I(l)), + h = Math.sin(I(l)); + i = + (s <= 90 && l >= 90) || (s > 90 && l >= 450) + ? 1 + : u <= 0 && h <= 0 + ? 0 + : Math.max(u, h); + e = + (s <= 180 && l >= 180) || (s > 180 && l >= 540) + ? -1 + : c >= 0 && f >= 0 + ? 0 + : Math.min(c, f); + r = + (s <= 270 && l >= 270) || (s > 270 && l >= 630) + ? -1 + : u >= 0 && h >= 0 + ? 0 + : Math.min(u, h); + n = l >= 360 ? 1 : c <= 0 && f <= 0 ? 0 : Math.max(c, f); + return [e, r, n, i]; + })(p)), + b = x[2] - x[0], + _ = x[3] - x[1], + w = h / f, + T = Math.abs(_ / b); + w > T + ? ((d = f), + (y = (h - (g = f * T)) / n.h / 2), + (m = [o[0], o[1]]), + (v = [s[0] + y, s[1] - y])) + : ((g = h), + (y = (f - (d = h / T)) / n.w / 2), + (m = [o[0] + y, o[1] - y]), + (v = [s[0], s[1]])), + (this.xLength2 = d), + (this.yLength2 = g), + (this.xDomain2 = m), + (this.yDomain2 = v); + var k = (this.xOffset2 = n.l + n.w * m[0]), + M = (this.yOffset2 = n.t + n.h * (1 - v[1])), + A = (this.radius = d / b), + S = (this.innerRadius = e.hole * A), + E = (this.cx = k - A * x[0]), + C = (this.cy = M + A * x[3]), + P = (this.cxx = E - k), + z = (this.cyy = C - M); + (this.radialAxis = this.mockAxis(t, e, i, { + _id: 'x', + side: { counterclockwise: 'top', clockwise: 'bottom' }[i.side], + _realSide: i.side, + domain: [S / n.w, A / n.w], + })), + (this.angularAxis = this.mockAxis(t, e, a, { + side: 'right', + domain: [0, Math.PI], + autorange: !1, + })), + this.doAutoRange(t, e), + this.updateAngularAxis(t, e), + this.updateRadialAxis(t, e), + this.updateRadialAxisTitle(t, e), + (this.xaxis = this.mockCartesianAxis(t, e, { + _id: 'x', + domain: m, + })), + (this.yaxis = this.mockCartesianAxis(t, e, { + _id: 'y', + domain: v, + })); + var O = this.pathSubplot(); + this.clipPaths.forTraces + .select('path') + .attr('d', O) + .attr('transform', l(P, z)), + r.frontplot + .attr('transform', l(k, M)) + .call( + u.setClipUrl, + this._hasClipOnAxisFalse ? null : this.clipIds.forTraces, + this.gd + ), + r.bg + .attr('d', O) + .attr('transform', l(E, C)) + .call(c.fill, e.bgcolor); + }), + (O.mockAxis = function (t, e, r, n) { + var i = o.extendFlat({}, r, n); + return d(i, e, t), i; + }), + (O.mockCartesianAxis = function (t, e, r) { + var n = this, + i = r._id, + a = o.extendFlat({ type: 'linear' }, r); + p(a, t); + var s = { x: [0, 2], y: [1, 3] }; + return ( + (a.setRange = function () { + var t = n.sectorBBox, + r = s[i], + o = n.radialAxis._rl, + l = (o[1] - o[0]) / (1 - e.hole); + a.range = [t[r[0]] * l, t[r[1]] * l]; + }), + (a.isPtWithinRange = + 'x' === i + ? function (t) { + return n.isPtInside(t); + } + : function () { + return !0; + }), + a.setRange(), + a.setScale(), + a + ); + }), + (O.doAutoRange = function (t, e) { + var r = this.gd, + n = this.radialAxis, + i = e.radialaxis; + n.setScale(), g(r, n); + var a = n.range; + (i.range = a.slice()), + (i._input.range = a.slice()), + (n._rl = [ + n.r2l(a[0], null, 'gregorian'), + n.r2l(a[1], null, 'gregorian'), + ]); + }), + (O.updateRadialAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + u = r.innerRadius, + f = r.cx, + p = r.cy, + d = e.radialaxis, + g = L(e.sector[0], 360), + m = r.radialAxis, + v = u < a; + r.fillViewInitialKey('radialaxis.angle', d.angle), + r.fillViewInitialKey('radialaxis.range', m.range.slice()), + m.setGeometry(), + 'auto' === m.tickangle && + g > 90 && + g <= 270 && + (m.tickangle = 180); + var y = function (t) { + return l(m.l2p(t.x) + u, 0); + }, + x = D(d); + if ( + (r.radialTickLayout !== x && + (i['radial-axis'].selectAll('.xtick').remove(), + (r.radialTickLayout = x)), + v) + ) { + m.setScale(); + var b = h.calcTicks(m), + _ = h.clipEnds(m, b), + w = h.getTickSigns(m)[2]; + h.drawTicks(n, m, { + vals: b, + layer: i['radial-axis'], + path: h.makeTickPath(m, 0, w), + transFn: y, + crisp: !1, + }), + h.drawGrid(n, m, { + vals: _, + layer: i['radial-grid'], + path: function (t) { + return r.pathArc(m.r2p(t.x) + u); + }, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, m, { + vals: b, + layer: i['radial-axis'], + transFn: y, + labelFns: h.makeLabelFns(m, 0), + }); + } + var T = (r.radialAxisAngle = r.vangles + ? P(R(I(d.angle), r.vangles)) + : d.angle), + k = l(f, p), + M = k + s(-T); + F(i['radial-axis'], v && (d.showticklabels || d.ticks), { + transform: M, + }), + F(i['radial-grid'], v && d.showgrid, { transform: k }), + F(i['radial-line'].select('line'), v && d.showline, { + x1: u, + y1: 0, + x2: a, + y2: 0, + transform: M, + }) + .attr('stroke-width', d.linewidth) + .call(c.stroke, d.linecolor); + }), + (O.updateRadialAxisTitle = function (t, e, r) { + var n = this.gd, + i = this.radius, + a = this.cx, + o = this.cy, + s = e.radialaxis, + l = this.id + 'title', + c = void 0 !== r ? r : this.radialAxisAngle, + f = I(c), + h = Math.cos(f), + p = Math.sin(f), + d = 0; + if (s.title) { + var g = u.bBox(this.layers['radial-axis'].node()).height, + m = s.title.font.size; + d = 'counterclockwise' === s.side ? -g - 0.4 * m : g + 0.8 * m; + } + this.layers['radial-axis-title'] = x.draw(n, l, { + propContainer: s, + propName: this.id + '.radialaxis.title', + placeholder: C(n, 'Click to enter radial axis title'), + attributes: { + x: a + (i / 2) * h + d * p, + y: o - (i / 2) * p + d * h, + 'text-anchor': 'middle', + }, + transform: { rotate: -c }, + }); + }), + (O.updateAngularAxis = function (t, e) { + var r = this, + n = r.gd, + i = r.layers, + a = r.radius, + u = r.innerRadius, + f = r.cx, + p = r.cy, + d = e.angularaxis, + g = r.angularAxis; + r.fillViewInitialKey('angularaxis.rotation', d.rotation), + g.setGeometry(), + g.setScale(); + var m = function (t) { + return g.t2g(t.x); + }; + 'linear' === g.type && + 'radians' === g.thetaunit && + ((g.tick0 = P(g.tick0)), (g.dtick = P(g.dtick))); + var v = function (t) { + return l(f + a * Math.cos(t), p - a * Math.sin(t)); + }, + y = h.makeLabelFns(g, 0).labelStandoff, + x = { + xFn: function (t) { + var e = m(t); + return Math.cos(e) * y; + }, + yFn: function (t) { + var e = m(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (y + t.fontSize * r) + + Math.abs(Math.cos(e)) * (t.fontSize * A) + ); + }, + anchorFn: function (t) { + var e = m(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? 'middle' + : r > 0 + ? 'start' + : 'end'; + }, + heightFn: function (t, e, r) { + var n = m(t); + return -0.5 * (1 + Math.sin(n)) * r; + }, + }, + b = D(d); + r.angularTickLayout !== b && + (i['angular-axis'].selectAll('.' + g._id + 'tick').remove(), + (r.angularTickLayout = b)); + var _, + w = h.calcTicks(g); + if ( + ('linear' === e.gridshape + ? ((_ = w.map(m)), + o.angleDelta(_[0], _[1]) < 0 && (_ = _.slice().reverse())) + : (_ = null), + (r.vangles = _), + 'category' === g.type && + (w = w.filter(function (t) { + return o.isAngleInsideSector(m(t), r.sectorInRad); + })), + g.visible) + ) { + var T = 'inside' === g.ticks ? -1 : 1, + k = (g.linewidth || 1) / 2; + h.drawTicks(n, g, { + vals: w, + layer: i['angular-axis'], + path: 'M' + T * k + ',0h' + T * g.ticklen, + transFn: function (t) { + var e = m(t); + return v(e) + s(-P(e)); + }, + crisp: !1, + }), + h.drawGrid(n, g, { + vals: w, + layer: i['angular-grid'], + path: function (t) { + var e = m(t), + r = Math.cos(e), + n = Math.sin(e); + return ( + 'M' + + [f + u * r, p - u * n] + + 'L' + + [f + a * r, p - a * n] + ); + }, + transFn: o.noop, + crisp: !1, + }), + h.drawLabels(n, g, { + vals: w, + layer: i['angular-axis'], + repositionOnUpdate: !0, + transFn: function (t) { + return v(m(t)); + }, + labelFns: x, + }); + } + F(i['angular-line'].select('path'), d.showline, { + d: r.pathSubplot(), + transform: l(f, p), + }) + .attr('stroke-width', d.linewidth) + .call(c.stroke, d.linecolor); + }), + (O.updateFx = function (t, e) { + this.gd._context.staticPlot || + (this.updateAngularDrag(t), + this.updateRadialDrag(t, e, 0), + this.updateRadialDrag(t, e, 1), + this.updateMainDrag(t)); + }), + (O.updateMainDrag = function (t) { + var e, + r, + s = this, + c = s.gd, + u = s.layers, + f = t._zoomlayer, + h = S.MINZOOM, + p = S.OFFEDGE, + d = s.radius, + g = s.innerRadius, + x = s.cx, + T = s.cy, + k = s.cxx, + M = s.cyy, + A = s.sectorInRad, + C = s.vangles, + L = s.radialAxis, + I = E.clampTiny, + P = E.findXYatLength, + z = E.findEnclosingVertexAngles, + O = S.cornerHalfWidth, + D = S.cornerLen / 2, + R = m.makeDragger(u, 'path', 'maindrag', 'crosshair'); + n.select(R).attr('d', s.pathSubplot()).attr('transform', l(x, T)); + var F, + B, + N, + j, + U, + V, + q, + H, + G, + Y = { + element: R, + gd: c, + subplot: s.id, + plotinfo: { id: s.id, xaxis: s.xaxis, yaxis: s.yaxis }, + xaxes: [s.xaxis], + yaxes: [s.yaxis], + }; + function W(t, e) { + return Math.sqrt(t * t + e * e); + } + function X(t, e) { + return W(t - k, e - M); + } + function Z(t, e) { + return Math.atan2(M - e, t - k); + } + function J(t, e) { + return [t * Math.cos(e), t * Math.sin(-e)]; + } + function K(t, e) { + if (0 === t) return s.pathSector(2 * O); + var r = D / t, + n = e - r, + i = e + r, + a = Math.max(0, Math.min(t, d)), + o = a - O, + l = a + O; + return ( + 'M' + + J(o, n) + + 'A' + + [o, o] + + ' 0,0,0 ' + + J(o, i) + + 'L' + + J(l, i) + + 'A' + + [l, l] + + ' 0,0,1 ' + + J(l, n) + + 'Z' + ); + } + function Q(t, e, r) { + if (0 === t) return s.pathSector(2 * O); + var n, + i, + a = J(t, e), + o = J(t, r), + l = I((a[0] + o[0]) / 2), + c = I((a[1] + o[1]) / 2); + if (l && c) { + var u = c / l, + f = -1 / u, + h = P(O, u, l, c); + (n = P(D, f, h[0][0], h[0][1])), + (i = P(D, f, h[1][0], h[1][1])); + } else { + var p, d; + c ? ((p = D), (d = O)) : ((p = O), (d = D)), + (n = [ + [l - p, c - d], + [l + p, c - d], + ]), + (i = [ + [l - p, c + d], + [l + p, c + d], + ]); + } + return 'M' + n.join('L') + 'L' + i.reverse().join('L') + 'Z'; + } + function $(t, e) { + return ( + (e = Math.max(Math.min(e, d), g)), + t < p + ? (t = 0) + : d - t < p + ? (t = d) + : e < p + ? (e = 0) + : d - e < p && (e = d), + Math.abs(e - t) > h + ? (t < e ? ((N = t), (j = e)) : ((N = e), (j = t)), !0) + : ((N = null), (j = null), !1) + ); + } + function tt(t, e) { + (t = t || U), + (e = e || 'M0,0Z'), + H.attr('d', t), + G.attr('d', e), + m.transitionZoombox(H, G, V, q), + (V = !0); + var r = {}; + at(r), c.emit('plotly_relayouting', r); + } + function et(t, n) { + var i, + a, + o = F + (t *= e), + l = B + (n *= r), + c = X(F, B), + u = Math.min(X(o, l), d), + f = Z(F, B); + $(c, u) && + ((i = U + s.pathSector(j)), + N && (i += s.pathSector(N)), + (a = K(N, f) + K(j, f))), + tt(i, a); + } + function rt(t, e, r, n) { + var i = E.findIntersectionXY(r, n, r, [t - k, M - e]); + return W(i[0], i[1]); + } + function nt(t, e) { + var r, + n, + i = F + t, + a = B + e, + o = Z(F, B), + l = Z(i, a), + c = z(o, C), + u = z(l, C); + $(rt(F, B, c[0], c[1]), Math.min(rt(i, a, u[0], u[1]), d)) && + ((r = U + s.pathSector(j)), + N && (r += s.pathSector(N)), + (n = [Q(N, c[0], c[1]), Q(j, c[0], c[1])].join(' '))), + tt(r, n); + } + function it() { + if ((m.removeZoombox(c), null !== N && null !== j)) { + var t = {}; + at(t), + m.showDoubleClickNotifier(c), + a.call('_guiRelayout', c, t); + } + } + function at(t) { + var e = L._rl, + r = (e[1] - e[0]) / (1 - g / d) / d, + n = [e[0] + (N - g) * r, e[0] + (j - g) * r]; + t[s.id + '.radialaxis.range'] = n; + } + function ot(t, e) { + var r = c._fullLayout.clickmode; + if ((m.removeZoombox(c), 2 === t)) { + var n = {}; + for (var i in s.viewInitial) + n[s.id + '.' + i] = s.viewInitial[i]; + c.emit('plotly_doubleclick', null), + a.call('_guiRelayout', c, n); + } + r.indexOf('select') > -1 && + 1 === t && + _(e, c, [s.xaxis], [s.yaxis], s.id, Y), + r.indexOf('event') > -1 && y.click(c, e, s.id); + } + (Y.prepFn = function (t, n, a) { + var l = c._fullLayout.dragmode, + u = R.getBoundingClientRect(); + c._fullLayout._calcInverseTransform(c); + var h = c._fullLayout._invTransform; + (e = c._fullLayout._invScaleX), (r = c._fullLayout._invScaleY); + var p = o.apply3DTransform(h)(n - u.left, a - u.top); + if (((F = p[0]), (B = p[1]), C)) { + var g = E.findPolygonOffset(d, A[0], A[1], C); + (F += k + g[0]), (B += M + g[1]); + } + switch (l) { + case 'zoom': + (Y.moveFn = C ? nt : et), + (Y.clickFn = ot), + (Y.doneFn = it), + (function () { + (N = null), (j = null), (U = s.pathSubplot()), (V = !1); + var t = c._fullLayout[s.id]; + (q = i(t.bgcolor).getLuminance()), + (H = m.makeZoombox(f, q, x, T, U)).attr( + 'fill-rule', + 'evenodd' + ), + (G = m.makeCorners(f, x, T)), + w(c); + })(); + break; + case 'select': + case 'lasso': + b(t, n, a, Y, l); + } + }), + (R.onmousemove = function (t) { + y.hover(c, t, s.id), + (c._fullLayout._lasthover = R), + (c._fullLayout._hoversubplot = s.id); + }), + (R.onmouseout = function (t) { + c._dragging || v.unhover(c, t); + }), + v.init(Y); + }), + (O.updateRadialDrag = function (t, e, r) { + var i = this, + c = i.gd, + u = i.layers, + f = i.radius, + h = i.innerRadius, + p = i.cx, + d = i.cy, + g = i.radialAxis, + y = S.radialDragBoxSize, + x = y / 2; + if (g.visible) { + var b, + _, + T, + A = I(i.radialAxisAngle), + E = g._rl, + C = E[0], + L = E[1], + z = E[r], + O = (0.75 * (E[1] - E[0])) / (1 - e.hole) / f; + r + ? ((b = p + (f + x) * Math.cos(A)), + (_ = d - (f + x) * Math.sin(A)), + (T = 'radialdrag')) + : ((b = p + (h - x) * Math.cos(A)), + (_ = d - (h - x) * Math.sin(A)), + (T = 'radialdrag-inner')); + var D, + B, + N, + j = m.makeRectDragger(u, T, 'crosshair', -x, -x, y, y), + U = { element: j, gd: c }; + F(n.select(j), g.visible && h < f, { transform: l(b, _) }), + (U.prepFn = function () { + (D = null), + (B = null), + (N = null), + (U.moveFn = V), + (U.doneFn = q), + w(c); + }), + (U.clampFn = function (t, e) { + return ( + Math.sqrt(t * t + e * e) < S.MINDRAG && + ((t = 0), (e = 0)), + [t, e] + ); + }), + v.init(U); + } + function V(t, e) { + if (D) D(t, e); + else { + var n = [t, -e], + a = [Math.cos(A), Math.sin(A)], + s = Math.abs(o.dot(n, a) / Math.sqrt(o.dot(n, n))); + isNaN(s) || (D = s < 0.5 ? H : G); + } + var l = {}; + !(function (t) { + null !== B + ? (t[i.id + '.radialaxis.angle'] = B) + : null !== N && + (t[i.id + '.radialaxis.range[' + r + ']'] = N); + })(l), + c.emit('plotly_relayouting', l); + } + function q() { + null !== B + ? a.call('_guiRelayout', c, i.id + '.radialaxis.angle', B) + : null !== N && + a.call( + '_guiRelayout', + c, + i.id + '.radialaxis.range[' + r + ']', + N + ); + } + function H(t, e) { + if (0 !== r) { + var n = b + t, + a = _ + e; + (B = Math.atan2(d - a, n - p)), + i.vangles && (B = R(B, i.vangles)), + (B = P(B)); + var o = l(p, d) + s(-B); + u['radial-axis'].attr('transform', o), + u['radial-line'].select('line').attr('transform', o); + var c = i.gd._fullLayout, + f = c[i.id]; + i.updateRadialAxisTitle(c, f, B); + } + } + function G(t, e) { + var n = o.dot([t, -e], [Math.cos(A), Math.sin(A)]); + if (((N = z - O * n), O > 0 == (r ? N > C : N < L))) { + var s = c._fullLayout, + l = s[i.id]; + (g.range[r] = N), + (g._rl[r] = N), + i.updateRadialAxis(s, l), + i.xaxis.setRange(), + i.xaxis.setScale(), + i.yaxis.setRange(), + i.yaxis.setScale(); + var u = !1; + for (var f in i.traceHash) { + var h = i.traceHash[f], + p = o.filterVisible(h); + h[0][0].trace._module.plot(c, i, p, l), + a.traceIs(f, 'gl') && p.length && (u = !0); + } + u && (k(c), M(c)); + } else N = null; + } + }), + (O.updateAngularDrag = function (t) { + var e = this, + r = e.gd, + i = e.layers, + c = e.radius, + f = e.angularAxis, + h = e.cx, + p = e.cy, + d = e.cxx, + g = e.cyy, + y = S.angularDragBoxSize, + x = m.makeDragger(i, 'path', 'angulardrag', 'move'), + b = { element: x, gd: r }; + function _(t, e) { + return Math.atan2(g + y - e, t - d - y); + } + n.select(x) + .attr('d', e.pathAnnulus(c, c + y)) + .attr('transform', l(h, p)) + .call(T, 'move'); + var A, + E, + C, + L, + I, + z, + O = i.frontplot.select('.scatterlayer').selectAll('.trace'), + D = O.selectAll('.point'), + R = O.selectAll('.textpoint'); + function F(c, m) { + var v = e.gd._fullLayout, + y = v[e.id], + x = _(A + c * t._invScaleX, E + m * t._invScaleY), + b = P(x - z); + if ( + ((L = C + b), + i.frontplot.attr( + 'transform', + l(e.xOffset2, e.yOffset2) + s([-b, d, g]) + ), + e.vangles) + ) { + I = e.radialAxisAngle + b; + var w = l(h, p) + s(-b), + T = l(h, p) + s(-I); + i.bg.attr('transform', w), + i['radial-grid'].attr('transform', w), + i['radial-axis'].attr('transform', T), + i['radial-line'].select('line').attr('transform', T), + e.updateRadialAxisTitle(v, y, I); + } else + e.clipPaths.forTraces + .select('path') + .attr('transform', l(d, g) + s(b)); + D.each(function () { + var t = n.select(this), + e = u.getTranslate(t); + t.attr('transform', l(e.x, e.y) + s([b])); + }), + R.each(function () { + var t = n.select(this), + e = t.select('text'), + r = u.getTranslate(t); + t.attr( + 'transform', + s([b, e.attr('x'), e.attr('y')]) + l(r.x, r.y) + ); + }), + (f.rotation = o.modHalf(L, 360)), + e.updateAngularAxis(v, y), + e._hasClipOnAxisFalse && + !o.isFullCircle(e.sectorInRad) && + O.call(u.hideOutsideRangePoints, e); + var S = !1; + for (var F in e.traceHash) + if (a.traceIs(F, 'gl')) { + var N = e.traceHash[F], + j = o.filterVisible(N); + N[0][0].trace._module.plot(r, e, j, y), + j.length && (S = !0); + } + S && (k(r), M(r)); + var U = {}; + B(U), r.emit('plotly_relayouting', U); + } + function B(t) { + (t[e.id + '.angularaxis.rotation'] = L), + e.vangles && (t[e.id + '.radialaxis.angle'] = I); + } + function N() { + R.select('text').attr('transform', null); + var t = {}; + B(t), a.call('_guiRelayout', r, t); + } + (b.prepFn = function (n, i, a) { + var s = t[e.id]; + C = s.angularaxis.rotation; + var l = x.getBoundingClientRect(); + (A = i - l.left), + (E = a - l.top), + r._fullLayout._calcInverseTransform(r); + var c = o.apply3DTransform(t._invTransform)(A, E); + (A = c[0]), + (E = c[1]), + (z = _(A, E)), + (b.moveFn = F), + (b.doneFn = N), + w(r); + }), + e.vangles && + !o.isFullCircle(e.sectorInRad) && + ((b.prepFn = o.noop), T(n.select(x), null)), + v.init(b); + }), + (O.isPtInside = function (t) { + var e = this.sectorInRad, + r = this.vangles, + n = this.angularAxis.c2g(t.theta), + i = this.radialAxis, + a = i.c2l(t.r), + s = i._rl; + return (r ? E.isPtInsidePolygon : o.isPtInsideSector)( + a, + n, + s, + e, + r + ); + }), + (O.pathArc = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathArc)(t, e[0], e[1], r); + }), + (O.pathSector = function (t) { + var e = this.sectorInRad, + r = this.vangles; + return (r ? E.pathPolygon : o.pathSector)(t, e[0], e[1], r); + }), + (O.pathAnnulus = function (t, e) { + var r = this.sectorInRad, + n = this.vangles; + return (n ? E.pathPolygonAnnulus : o.pathAnnulus)( + t, + e, + r[0], + r[1], + n + ); + }), + (O.pathSubplot = function () { + var t = this.innerRadius, + e = this.radius; + return t ? this.pathAnnulus(t, e) : this.pathSector(e); + }), + (O.fillViewInitialKey = function (t, e) { + t in this.viewInitial || (this.viewInitial[t] = e); + }); + }, + { + '../../components/color': 643, + '../../components/dragelement': 662, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../components/titles': 738, + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/clear_gl_canvases': 762, + '../../lib/setcursor': 799, + '../../plot_api/subroutines': 818, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + '../cartesian/autorange': 827, + '../cartesian/dragbox': 836, + '../cartesian/select': 847, + '../cartesian/set_convert': 848, + '../plots': 891, + './constants': 892, + './helpers': 893, + './set_convert': 904, + d3: 169, + tinycolor2: 576, + }, + ], + 904: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../cartesian/set_convert'), + a = n.deg2rad, + o = n.rad2deg; + e.exports = function (t, e, r) { + switch ((i(t, r), t._id)) { + case 'x': + case 'radialaxis': + !(function (t, e) { + var r = e._subplot; + t.setGeometry = function () { + var e = t._rl[0], + n = t._rl[1], + i = r.innerRadius, + a = (r.radius - i) / (n - e), + o = i / a, + s = + e > n + ? function (t) { + return t <= 0; + } + : function (t) { + return t >= 0; + }; + (t.c2g = function (r) { + var n = t.c2l(r) - e; + return (s(n) ? n : 0) + o; + }), + (t.g2c = function (r) { + return t.l2c(r + e - o); + }), + (t.g2p = function (t) { + return t * a; + }), + (t.c2p = function (e) { + return t.g2p(t.c2g(e)); + }); + }; + })(t, e); + break; + case 'angularaxis': + !(function (t, e) { + var r = t.type; + if ('linear' === r) { + var i = t.d2c, + s = t.c2d; + (t.d2c = function (t, e) { + return (function (t, e) { + return 'degrees' === e ? a(t) : t; + })(i(t), e); + }), + (t.c2d = function (t, e) { + return s( + (function (t, e) { + return 'degrees' === e ? o(t) : t; + })(t, e) + ); + }); + } + (t.makeCalcdata = function (e, i) { + var a, + o, + s = e[i], + l = e._length, + c = function (r) { + return t.d2c(r, e.thetaunit); + }; + if (s) { + if (n.isTypedArray(s) && 'linear' === r) { + if (l === s.length) return s; + if (s.subarray) return s.subarray(0, l); + } + for (a = new Array(l), o = 0; o < l; o++) a[o] = c(s[o]); + } else { + var u = i + '0', + f = 'd' + i, + h = u in e ? c(e[u]) : 0, + p = e[f] ? c(e[f]) : (t.period || 2 * Math.PI) / l; + for (a = new Array(l), o = 0; o < l; o++) + a[o] = h + o * p; + } + return a; + }), + (t.setGeometry = function () { + var i, + s, + l, + c, + u = e.sector, + f = u.map(a), + h = { clockwise: -1, counterclockwise: 1 }[t.direction], + p = a(t.rotation), + d = function (t) { + return h * t + p; + }, + g = function (t) { + return (t - p) / h; + }; + switch (r) { + case 'linear': + (s = i = n.identity), + (c = a), + (l = o), + (t.range = n.isFullCircle(f) + ? [u[0], u[0] + 360] + : f.map(g).map(o)); + break; + case 'category': + var m = t._categories.length, + v = t.period ? Math.max(t.period, m) : m; + 0 === v && (v = 1), + (s = c = + function (t) { + return (2 * t * Math.PI) / v; + }), + (i = l = + function (t) { + return (t * v) / Math.PI / 2; + }), + (t.range = [0, v]); + } + (t.c2g = function (t) { + return d(s(t)); + }), + (t.g2c = function (t) { + return i(g(t)); + }), + (t.t2g = function (t) { + return d(c(t)); + }), + (t.g2t = function (t) { + return l(g(t)); + }); + }); + })(t, e); + } + }; + }, + { '../../lib': 778, '../cartesian/set_convert': 848 }, + ], + 905: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plot_api/plot_template'), + a = t('./domain').defaults; + e.exports = function (t, e, r, o) { + var s, + l, + c = o.type, + u = o.attributes, + f = o.handleDefaults, + h = o.partition || 'x', + p = e._subplots[c], + d = p.length, + g = d && p[0].replace(/\d+$/, ''); + function m(t, e) { + return n.coerce(s, l, u, t, e); + } + for (var v = 0; v < d; v++) { + var y = p[v]; + (s = t[y] ? t[y] : (t[y] = {})), + (l = i.newContainer(e, y, g)), + m('uirevision', e.uirevision); + var x = {}; + (x[h] = [v / d, (v + 1) / d]), + a(l, e, m, x), + (o.id = y), + f(s, l, m, o); + } + }; + }, + { '../lib': 778, '../plot_api/plot_template': 817, './domain': 855 }, + ], + 906: [ + function (t, e, r) { + 'use strict'; + [ + 'Variables are inserted using %{variable}, for example "y: %{y}".', + 'Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".', + t('../constants/docs').FORMAT_LINK, + 'for details on the formatting syntax.', + 'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".', + t('../constants/docs').DATE_FORMAT_LINK, + 'for details on the date formatting syntax.', + ].join(' '); + function n(t) { + var e = t.description ? ' ' + t.description : '', + r = t.keys || []; + if (r.length > 0) { + for (var n = [], i = 0; i < r.length; i++) + n[i] = '`' + r[i] + '`'; + (e += 'Finally, the template string has access to '), + (e = + 1 === r.length + ? 'variable ' + n[0] + : 'variables ' + + n.slice(0, -1).join(', ') + + ' and ' + + n.slice(-1) + + '.'); + } + return e; + } + (r.hovertemplateAttrs = function (t, e) { + t = t || {}; + n((e = e || {})); + var r = { + valType: 'string', + dflt: '', + editType: t.editType || 'none', + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }), + (r.texttemplateAttrs = function (t, e) { + t = t || {}; + n((e = e || {})); + var r = { + valType: 'string', + dflt: '', + editType: t.editType || 'calc', + }; + return !1 !== t.arrayOk && (r.arrayOk = !0), r; + }); + }, + { '../constants/docs': 748 }, + ], + 907: [ + function (t, e, r) { + 'use strict'; + var n = t('./ternary'), + i = t('../../plots/get_data').getSubplotCalcData, + a = t('../../lib').counterRegex; + r.name = 'ternary'; + var o = (r.attr = 'subplot'); + (r.idRoot = 'ternary'), + (r.idRegex = r.attrRegex = a('ternary')), + ((r.attributes = {})[o] = { + valType: 'subplotid', + dflt: 'ternary', + editType: 'calc', + }), + (r.layoutAttributes = t('./layout_attributes')), + (r.supplyLayoutDefaults = t('./layout_defaults')), + (r.plot = function (t) { + for ( + var e = t._fullLayout, + r = t.calcdata, + a = e._subplots.ternary, + o = 0; + o < a.length; + o++ + ) { + var s = a[o], + l = i(r, 'ternary', s), + c = e[s]._subplot; + c || + ((c = new n( + { id: s, graphDiv: t, container: e._ternarylayer.node() }, + e + )), + (e[s]._subplot = c)), + c.plot(l, e, t._promises); + } + }), + (r.clean = function (t, e, r, n) { + for ( + var i = n._subplots.ternary || [], a = 0; + a < i.length; + a++ + ) { + var o = i[a], + s = n[o]._subplot; + !e[o] && + s && + (s.plotContainer.remove(), + s.clipDef.remove(), + s.clipDefRelative.remove(), + s.layers['a-title'].remove(), + s.layers['b-title'].remove(), + s.layers['c-title'].remove()); + } + }); + }, + { + '../../lib': 778, + '../../plots/get_data': 865, + './layout_attributes': 908, + './layout_defaults': 909, + './ternary': 910, + }, + ], + 908: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color/attributes'), + i = t('../domain').attributes, + a = t('../cartesian/layout_attributes'), + o = t('../../plot_api/edit_types').overrideAll, + s = t('../../lib/extend').extendFlat, + l = { + title: { text: a.title.text, font: a.title.font }, + color: a.color, + tickmode: a.tickmode, + nticks: s({}, a.nticks, { dflt: 6, min: 1 }), + tick0: a.tick0, + dtick: a.dtick, + tickvals: a.tickvals, + ticktext: a.ticktext, + ticks: a.ticks, + ticklen: a.ticklen, + tickwidth: a.tickwidth, + tickcolor: a.tickcolor, + showticklabels: a.showticklabels, + showtickprefix: a.showtickprefix, + tickprefix: a.tickprefix, + showticksuffix: a.showticksuffix, + ticksuffix: a.ticksuffix, + showexponent: a.showexponent, + exponentformat: a.exponentformat, + minexponent: a.minexponent, + separatethousands: a.separatethousands, + tickfont: a.tickfont, + tickangle: a.tickangle, + tickformat: a.tickformat, + tickformatstops: a.tickformatstops, + hoverformat: a.hoverformat, + showline: s({}, a.showline, { dflt: !0 }), + linecolor: a.linecolor, + linewidth: a.linewidth, + showgrid: s({}, a.showgrid, { dflt: !0 }), + gridcolor: a.gridcolor, + gridwidth: a.gridwidth, + layer: a.layer, + min: { valType: 'number', dflt: 0, min: 0 }, + _deprecated: { + title: a._deprecated.title, + titlefont: a._deprecated.titlefont, + }, + }, + c = (e.exports = o( + { + domain: i({ name: 'ternary' }), + bgcolor: { valType: 'color', dflt: n.background }, + sum: { valType: 'number', dflt: 1, min: 0 }, + aaxis: l, + baxis: l, + caxis: l, + }, + 'plot', + 'from-root' + )); + (c.uirevision = { valType: 'any', editType: 'none' }), + (c.aaxis.uirevision = + c.baxis.uirevision = + c.caxis.uirevision = + { valType: 'any', editType: 'none' }); + }, + { + '../../components/color/attributes': 642, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../cartesian/layout_attributes': 842, + '../domain': 855, + }, + ], + 909: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../../plot_api/plot_template'), + a = t('../../lib'), + o = t('../subplot_defaults'), + s = t('../cartesian/tick_label_defaults'), + l = t('../cartesian/tick_mark_defaults'), + c = t('../cartesian/tick_value_defaults'), + u = t('../cartesian/line_grid_defaults'), + f = t('./layout_attributes'), + h = ['aaxis', 'baxis', 'caxis']; + function p(t, e, r, a) { + var o, + s, + l, + c = r('bgcolor'), + u = r('sum'); + a.bgColor = n.combine(c, a.paper_bgcolor); + for (var f = 0; f < h.length; f++) + (s = t[(o = h[f])] || {}), + ((l = i.newContainer(e, o))._name = o), + d(s, l, a, e); + var p = e.aaxis, + g = e.baxis, + m = e.caxis; + p.min + g.min + m.min >= u && + ((p.min = 0), + (g.min = 0), + (m.min = 0), + t.aaxis && delete t.aaxis.min, + t.baxis && delete t.baxis.min, + t.caxis && delete t.caxis.min); + } + function d(t, e, r, n) { + var i = f[e._name]; + function o(r, n) { + return a.coerce(t, e, i, r, n); + } + o('uirevision', n.uirevision), (e.type = 'linear'); + var h = o('color'), + p = h !== i.color.dflt ? h : r.font.color, + d = e._name.charAt(0).toUpperCase(), + g = 'Component ' + d, + m = o('title.text', g); + (e._hovertitle = m === g ? m : d), + a.coerceFont(o, 'title.font', { + family: r.font.family, + size: Math.round(1.2 * r.font.size), + color: p, + }), + o('min'), + c(t, e, o, 'linear'), + s(t, e, o, 'linear', {}), + l(t, e, o, { outerTicks: !0 }), + o('showticklabels') && + (a.coerceFont(o, 'tickfont', { + family: r.font.family, + size: r.font.size, + color: p, + }), + o('tickangle'), + o('tickformat')), + u(t, e, o, { + dfltColor: h, + bgColor: r.bgColor, + blend: 60, + showLine: !0, + showGrid: !0, + noZeroLine: !0, + attributes: i, + }), + o('hoverformat'), + o('layer'); + } + e.exports = function (t, e, r) { + o(t, e, r, { + type: 'ternary', + attributes: f, + handleDefaults: p, + font: e.font, + paper_bgcolor: e.paper_bgcolor, + }); + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../cartesian/line_grid_defaults': 844, + '../cartesian/tick_label_defaults': 849, + '../cartesian/tick_mark_defaults': 850, + '../cartesian/tick_value_defaults': 851, + '../subplot_defaults': 905, + './layout_attributes': 908, + }, + ], + 910: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('../../registry'), + o = t('../../lib'), + s = o.strTranslate, + l = o._, + c = t('../../components/color'), + u = t('../../components/drawing'), + f = t('../cartesian/set_convert'), + h = t('../../lib/extend').extendFlat, + p = t('../plots'), + d = t('../cartesian/axes'), + g = t('../../components/dragelement'), + m = t('../../components/fx'), + v = t('../../components/dragelement/helpers'), + y = v.freeMode, + x = v.rectMode, + b = t('../../components/titles'), + _ = t('../cartesian/select').prepSelect, + w = t('../cartesian/select').selectOnClick, + T = t('../cartesian/select').clearSelect, + k = t('../cartesian/select').clearSelectionsCache, + M = t('../cartesian/constants'); + function A(t, e) { + (this.id = t.id), + (this.graphDiv = t.graphDiv), + this.init(e), + this.makeFramework(e), + (this.aTickLayout = null), + (this.bTickLayout = null), + (this.cTickLayout = null); + } + e.exports = A; + var S = A.prototype; + (S.init = function (t) { + (this.container = t._ternarylayer), + (this.defs = t._defs), + (this.layoutId = t._uid), + (this.traceHash = {}), + (this.layers = {}); + }), + (S.plot = function (t, e) { + var r = e[this.id], + n = e._size; + this._hasClipOnAxisFalse = !1; + for (var i = 0; i < t.length; i++) { + if (!1 === t[i][0].trace.cliponaxis) { + this._hasClipOnAxisFalse = !0; + break; + } + } + this.updateLayers(r), + this.adjustLayout(r, n), + p.generalUpdatePerTraceModule(this.graphDiv, this, t, r), + this.layers.plotbg.select('path').call(c.fill, r.bgcolor); + }), + (S.makeFramework = function (t) { + var e = this.graphDiv, + r = t[this.id], + n = (this.clipId = 'clip' + this.layoutId + this.id), + i = (this.clipIdRelative = + 'clip-relative' + this.layoutId + this.id); + (this.clipDef = o.ensureSingleById( + t._clips, + 'clipPath', + n, + function (t) { + t.append('path').attr('d', 'M0,0Z'); + } + )), + (this.clipDefRelative = o.ensureSingleById( + t._clips, + 'clipPath', + i, + function (t) { + t.append('path').attr('d', 'M0,0Z'); + } + )), + (this.plotContainer = o.ensureSingle( + this.container, + 'g', + this.id + )), + this.updateLayers(r), + u.setClipUrl(this.layers.backplot, n, e), + u.setClipUrl(this.layers.grids, n, e); + }), + (S.updateLayers = function (t) { + var e = this.layers, + r = ['draglayer', 'plotbg', 'backplot', 'grids']; + 'below traces' === t.aaxis.layer && r.push('aaxis', 'aline'), + 'below traces' === t.baxis.layer && r.push('baxis', 'bline'), + 'below traces' === t.caxis.layer && r.push('caxis', 'cline'), + r.push('frontplot'), + 'above traces' === t.aaxis.layer && r.push('aaxis', 'aline'), + 'above traces' === t.baxis.layer && r.push('baxis', 'bline'), + 'above traces' === t.caxis.layer && r.push('caxis', 'cline'); + var i = this.plotContainer + .selectAll('g.toplevel') + .data(r, String), + a = ['agrid', 'bgrid', 'cgrid']; + i + .enter() + .append('g') + .attr('class', function (t) { + return 'toplevel ' + t; + }) + .each(function (t) { + var r = n.select(this); + (e[t] = r), + 'frontplot' === t + ? r.append('g').classed('scatterlayer', !0) + : 'backplot' === t + ? r.append('g').classed('maplayer', !0) + : 'plotbg' === t + ? r.append('path').attr('d', 'M0,0Z') + : 'aline' === t || 'bline' === t || 'cline' === t + ? r.append('path') + : 'grids' === t && + a.forEach(function (t) { + e[t] = r.append('g').classed('grid ' + t, !0); + }); + }), + i.order(); + }); + var E = Math.sqrt(4 / 3); + (S.adjustLayout = function (t, e) { + var r, + n, + i, + a, + o, + l, + p = this, + d = t.domain, + g = (d.x[0] + d.x[1]) / 2, + m = (d.y[0] + d.y[1]) / 2, + v = d.x[1] - d.x[0], + y = d.y[1] - d.y[0], + x = v * e.w, + b = y * e.h, + _ = t.sum, + w = t.aaxis.min, + T = t.baxis.min, + k = t.caxis.min; + x > E * b ? (i = (a = b) * E) : (a = (i = x) / E), + (o = (v * i) / x), + (l = (y * a) / b), + (r = e.l + e.w * g - i / 2), + (n = e.t + e.h * (1 - m) - a / 2), + (p.x0 = r), + (p.y0 = n), + (p.w = i), + (p.h = a), + (p.sum = _), + (p.xaxis = { + type: 'linear', + range: [w + 2 * k - _, _ - w - 2 * T], + domain: [g - o / 2, g + o / 2], + _id: 'x', + }), + f(p.xaxis, p.graphDiv._fullLayout), + p.xaxis.setScale(), + (p.xaxis.isPtWithinRange = function (t) { + return ( + t.a >= p.aaxis.range[0] && + t.a <= p.aaxis.range[1] && + t.b >= p.baxis.range[1] && + t.b <= p.baxis.range[0] && + t.c >= p.caxis.range[1] && + t.c <= p.caxis.range[0] + ); + }), + (p.yaxis = { + type: 'linear', + range: [w, _ - T - k], + domain: [m - l / 2, m + l / 2], + _id: 'y', + }), + f(p.yaxis, p.graphDiv._fullLayout), + p.yaxis.setScale(), + (p.yaxis.isPtWithinRange = function () { + return !0; + }); + var M = p.yaxis.domain[0], + A = (p.aaxis = h({}, t.aaxis, { + range: [w, _ - T - k], + side: 'left', + tickangle: (+t.aaxis.tickangle || 0) - 30, + domain: [M, M + l * E], + anchor: 'free', + position: 0, + _id: 'y', + _length: i, + })); + f(A, p.graphDiv._fullLayout), A.setScale(); + var S = (p.baxis = h({}, t.baxis, { + range: [_ - w - k, T], + side: 'bottom', + domain: p.xaxis.domain, + anchor: 'free', + position: 0, + _id: 'x', + _length: i, + })); + f(S, p.graphDiv._fullLayout), S.setScale(); + var C = (p.caxis = h({}, t.caxis, { + range: [_ - w - T, k], + side: 'right', + tickangle: (+t.caxis.tickangle || 0) + 30, + domain: [M, M + l * E], + anchor: 'free', + position: 0, + _id: 'y', + _length: i, + })); + f(C, p.graphDiv._fullLayout), C.setScale(); + var L = + 'M' + r + ',' + (n + a) + 'h' + i + 'l-' + i / 2 + ',-' + a + 'Z'; + p.clipDef.select('path').attr('d', L), + p.layers.plotbg.select('path').attr('d', L); + var I = 'M0,' + a + 'h' + i + 'l-' + i / 2 + ',-' + a + 'Z'; + p.clipDefRelative.select('path').attr('d', I); + var P = s(r, n); + p.plotContainer + .selectAll('.scatterlayer,.maplayer') + .attr('transform', P), + p.clipDefRelative.select('path').attr('transform', null); + var z = s(r - S._offset, n + a); + p.layers.baxis.attr('transform', z), + p.layers.bgrid.attr('transform', z); + var O = s(r + i / 2, n) + 'rotate(30)' + s(0, -A._offset); + p.layers.aaxis.attr('transform', O), + p.layers.agrid.attr('transform', O); + var D = s(r + i / 2, n) + 'rotate(-30)' + s(0, -C._offset); + p.layers.caxis.attr('transform', D), + p.layers.cgrid.attr('transform', D), + p.drawAxes(!0), + p.layers.aline + .select('path') + .attr( + 'd', + A.showline + ? 'M' + r + ',' + (n + a) + 'l' + i / 2 + ',-' + a + : 'M0,0' + ) + .call(c.stroke, A.linecolor || '#000') + .style('stroke-width', (A.linewidth || 0) + 'px'), + p.layers.bline + .select('path') + .attr( + 'd', + S.showline ? 'M' + r + ',' + (n + a) + 'h' + i : 'M0,0' + ) + .call(c.stroke, S.linecolor || '#000') + .style('stroke-width', (S.linewidth || 0) + 'px'), + p.layers.cline + .select('path') + .attr( + 'd', + C.showline + ? 'M' + (r + i / 2) + ',' + n + 'l' + i / 2 + ',' + a + : 'M0,0' + ) + .call(c.stroke, C.linecolor || '#000') + .style('stroke-width', (C.linewidth || 0) + 'px'), + p.graphDiv._context.staticPlot || p.initInteractions(), + u.setClipUrl( + p.layers.frontplot, + p._hasClipOnAxisFalse ? null : p.clipId, + p.graphDiv + ); + }), + (S.drawAxes = function (t) { + var e = this.graphDiv, + r = this.id.substr(7) + 'title', + n = this.layers, + i = this.aaxis, + a = this.baxis, + o = this.caxis; + if ((this.drawAx(i), this.drawAx(a), this.drawAx(o), t)) { + var s = Math.max( + i.showticklabels ? i.tickfont.size / 2 : 0, + (o.showticklabels ? 0.75 * o.tickfont.size : 0) + + ('outside' === o.ticks ? 0.87 * o.ticklen : 0) + ), + c = + (a.showticklabels ? a.tickfont.size : 0) + + ('outside' === a.ticks ? a.ticklen : 0) + + 3; + (n['a-title'] = b.draw(e, 'a' + r, { + propContainer: i, + propName: this.id + '.aaxis.title', + placeholder: l(e, 'Click to enter Component A title'), + attributes: { + x: this.x0 + this.w / 2, + y: this.y0 - i.title.font.size / 3 - s, + 'text-anchor': 'middle', + }, + })), + (n['b-title'] = b.draw(e, 'b' + r, { + propContainer: a, + propName: this.id + '.baxis.title', + placeholder: l(e, 'Click to enter Component B title'), + attributes: { + x: this.x0 - c, + y: this.y0 + this.h + 0.83 * a.title.font.size + c, + 'text-anchor': 'middle', + }, + })), + (n['c-title'] = b.draw(e, 'c' + r, { + propContainer: o, + propName: this.id + '.caxis.title', + placeholder: l(e, 'Click to enter Component C title'), + attributes: { + x: this.x0 + this.w + c, + y: this.y0 + this.h + 0.83 * o.title.font.size + c, + 'text-anchor': 'middle', + }, + })); + } + }), + (S.drawAx = function (t) { + var e, + r = this.graphDiv, + n = t._name, + i = n.charAt(0), + a = t._id, + s = this.layers[n], + l = i + 'tickLayout', + c = + (e = t).ticks + String(e.ticklen) + String(e.showticklabels); + this[l] !== c && + (s.selectAll('.' + a + 'tick').remove(), (this[l] = c)), + t.setScale(); + var u = d.calcTicks(t), + f = d.clipEnds(t, u), + h = d.makeTransTickFn(t), + p = d.getTickSigns(t)[2], + g = o.deg2rad(30), + m = (p * (t.linewidth || 1)) / 2, + v = p * t.ticklen, + y = this.w, + x = this.h, + b = + 'b' === i + ? 'M0,' + m + 'l' + Math.sin(g) * v + ',' + Math.cos(g) * v + : 'M' + + m + + ',0l' + + Math.cos(g) * v + + ',' + + -Math.sin(g) * v, + _ = { + a: 'M0,0l' + x + ',-' + y / 2, + b: 'M0,0l-' + y / 2 + ',-' + x, + c: 'M0,0l-' + x + ',' + y / 2, + }[i]; + d.drawTicks(r, t, { + vals: 'inside' === t.ticks ? f : u, + layer: s, + path: b, + transFn: h, + crisp: !1, + }), + d.drawGrid(r, t, { + vals: f, + layer: this.layers[i + 'grid'], + path: _, + transFn: h, + crisp: !1, + }), + d.drawLabels(r, t, { + vals: u, + layer: s, + transFn: h, + labelFns: d.makeLabelFns(t, 0, 30), + }); + }); + var C = M.MINZOOM / 2 + 0.87, + L = + 'm-0.87,.5h' + + C + + 'v3h-' + + (C + 5.2) + + 'l' + + (C / 2 + 2.6) + + ',-' + + (0.87 * C + 4.5) + + 'l2.6,1.5l-' + + C / 2 + + ',' + + 0.87 * C + + 'Z', + I = + 'm0.87,.5h-' + + C + + 'v3h' + + (C + 5.2) + + 'l-' + + (C / 2 + 2.6) + + ',-' + + (0.87 * C + 4.5) + + 'l-2.6,1.5l' + + C / 2 + + ',' + + 0.87 * C + + 'Z', + P = + 'm0,1l' + + C / 2 + + ',' + + 0.87 * C + + 'l2.6,-1.5l-' + + (C / 2 + 2.6) + + ',-' + + (0.87 * C + 4.5) + + 'l-' + + (C / 2 + 2.6) + + ',' + + (0.87 * C + 4.5) + + 'l2.6,1.5l' + + C / 2 + + ',-' + + 0.87 * C + + 'Z', + z = !0; + function O(t) { + n.select(t) + .selectAll( + '.zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners' + ) + .remove(); + } + (S.clearSelect = function () { + k(this.dragOptions), T(this.dragOptions.gd); + }), + (S.initInteractions = function () { + var t, + e, + r, + n, + f, + h, + p, + d, + v, + b, + T, + k, + A = this, + S = A.layers.plotbg.select('path').node(), + C = A.graphDiv, + D = C._fullLayout._zoomlayer; + function R(t) { + var e = {}; + return ( + (e[A.id + '.aaxis.min'] = t.a), + (e[A.id + '.baxis.min'] = t.b), + (e[A.id + '.caxis.min'] = t.c), + e + ); + } + function F(t, e) { + var r = C._fullLayout.clickmode; + O(C), + 2 === t && + (C.emit('plotly_doubleclick', null), + a.call('_guiRelayout', C, R({ a: 0, b: 0, c: 0 }))), + r.indexOf('select') > -1 && + 1 === t && + w(e, C, [A.xaxis], [A.yaxis], A.id, A.dragOptions), + r.indexOf('event') > -1 && m.click(C, e, A.id); + } + function B(t, e) { + return 1 - e / A.h; + } + function N(t, e) { + return 1 - (t + (A.h - e) / Math.sqrt(3)) / A.w; + } + function j(t, e) { + return (t - (A.h - e) / Math.sqrt(3)) / A.w; + } + function U(i, a) { + var o = r + i * t, + s = n + a * e, + l = Math.max(0, Math.min(1, B(0, n), B(0, s))), + c = Math.max(0, Math.min(1, N(r, n), N(o, s))), + u = Math.max(0, Math.min(1, j(r, n), j(o, s))), + g = (l / 2 + u) * A.w, + m = (1 - l / 2 - c) * A.w, + y = (g + m) / 2, + x = m - g, + _ = (1 - l) * A.h, + w = _ - x / E; + x < M.MINZOOM + ? ((p = f), T.attr('d', v), k.attr('d', 'M0,0Z')) + : ((p = { a: f.a + l * h, b: f.b + c * h, c: f.c + u * h }), + T.attr( + 'd', + v + + 'M' + + g + + ',' + + _ + + 'H' + + m + + 'L' + + y + + ',' + + w + + 'L' + + g + + ',' + + _ + + 'Z' + ), + k.attr( + 'd', + 'M' + + r + + ',' + + n + + 'm0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM' + + g + + ',' + + _ + + L + + 'M' + + m + + ',' + + _ + + I + + 'M' + + y + + ',' + + w + + P + )), + b || + (T.transition() + .style( + 'fill', + d > 0.2 ? 'rgba(0,0,0,0.4)' : 'rgba(255,255,255,0.3)' + ) + .duration(200), + k.transition().style('opacity', 1).duration(200), + (b = !0)), + C.emit('plotly_relayouting', R(p)); + } + function V() { + O(C), + p !== f && + (a.call('_guiRelayout', C, R(p)), + z && + C.data && + C._context.showTips && + (o.notifier( + l(C, 'Double-click to zoom back out'), + 'long' + ), + (z = !1))); + } + function q(t, e) { + var r = t / A.xaxis._m, + n = e / A.yaxis._m, + i = [ + (p = { + a: f.a - n, + b: f.b + (r + n) / 2, + c: f.c - (r - n) / 2, + }).a, + p.b, + p.c, + ].sort(o.sorterAsc), + a = i.indexOf(p.a), + l = i.indexOf(p.b), + c = i.indexOf(p.c); + i[0] < 0 && + (i[1] + i[0] / 2 < 0 + ? ((i[2] += i[0] + i[1]), (i[0] = i[1] = 0)) + : ((i[2] += i[0] / 2), (i[1] += i[0] / 2), (i[0] = 0)), + (p = { a: i[a], b: i[l], c: i[c] }), + (e = (f.a - p.a) * A.yaxis._m), + (t = (f.c - p.c - f.b + p.b) * A.xaxis._m)); + var h = s(A.x0 + t, A.y0 + e); + A.plotContainer + .selectAll('.scatterlayer,.maplayer') + .attr('transform', h); + var d = s(-t, -e); + A.clipDefRelative.select('path').attr('transform', d), + (A.aaxis.range = [p.a, A.sum - p.b - p.c]), + (A.baxis.range = [A.sum - p.a - p.c, p.b]), + (A.caxis.range = [A.sum - p.a - p.b, p.c]), + A.drawAxes(!1), + A._hasClipOnAxisFalse && + A.plotContainer + .select('.scatterlayer') + .selectAll('.trace') + .call(u.hideOutsideRangePoints, A), + C.emit('plotly_relayouting', R(p)); + } + function H() { + a.call('_guiRelayout', C, R(p)); + } + (this.dragOptions = { + element: S, + gd: C, + plotinfo: { + id: A.id, + domain: C._fullLayout[A.id].domain, + xaxis: A.xaxis, + yaxis: A.yaxis, + }, + subplot: A.id, + prepFn: function (a, l, u) { + (A.dragOptions.xaxes = [A.xaxis]), + (A.dragOptions.yaxes = [A.yaxis]), + (t = C._fullLayout._invScaleX), + (e = C._fullLayout._invScaleY); + var g = (A.dragOptions.dragmode = C._fullLayout.dragmode); + y(g) + ? (A.dragOptions.minDrag = 1) + : (A.dragOptions.minDrag = void 0), + 'zoom' === g + ? ((A.dragOptions.moveFn = U), + (A.dragOptions.clickFn = F), + (A.dragOptions.doneFn = V), + (function (t, e, a) { + var l = S.getBoundingClientRect(); + (r = e - l.left), + (n = a - l.top), + C._fullLayout._calcInverseTransform(C); + var u = C._fullLayout._invTransform, + g = o.apply3DTransform(u)(r, n); + (r = g[0]), + (n = g[1]), + (f = { + a: A.aaxis.range[0], + b: A.baxis.range[1], + c: A.caxis.range[1], + }), + (p = f), + (h = A.aaxis.range[1] - f.a), + (d = i( + A.graphDiv._fullLayout[A.id].bgcolor + ).getLuminance()), + (v = + 'M0,' + + A.h + + 'L' + + A.w / 2 + + ', 0L' + + A.w + + ',' + + A.h + + 'Z'), + (b = !1), + (T = D.append('path') + .attr('class', 'zoombox') + .attr('transform', s(A.x0, A.y0)) + .style({ + fill: + d > 0.2 + ? 'rgba(0,0,0,0)' + : 'rgba(255,255,255,0)', + 'stroke-width': 0, + }) + .attr('d', v)), + (k = D.append('path') + .attr('class', 'zoombox-corners') + .attr('transform', s(A.x0, A.y0)) + .style({ + fill: c.background, + stroke: c.defaultLine, + 'stroke-width': 1, + opacity: 0, + }) + .attr('d', 'M0,0Z')), + A.clearSelect(C); + })(0, l, u)) + : 'pan' === g + ? ((A.dragOptions.moveFn = q), + (A.dragOptions.clickFn = F), + (A.dragOptions.doneFn = H), + (f = { + a: A.aaxis.range[0], + b: A.baxis.range[1], + c: A.caxis.range[1], + }), + (p = f), + A.clearSelect(C)) + : (x(g) || y(g)) && _(a, l, u, A.dragOptions, g); + }, + }), + (S.onmousemove = function (t) { + m.hover(C, t, A.id), + (C._fullLayout._lasthover = S), + (C._fullLayout._hoversubplot = A.id); + }), + (S.onmouseout = function (t) { + C._dragging || g.unhover(C, t); + }), + g.init(this.dragOptions); + }); + }, + { + '../../components/color': 643, + '../../components/dragelement': 662, + '../../components/dragelement/helpers': 661, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../components/titles': 738, + '../../lib': 778, + '../../lib/extend': 768, + '../../registry': 911, + '../cartesian/axes': 828, + '../cartesian/constants': 834, + '../cartesian/select': 847, + '../cartesian/set_convert': 848, + '../plots': 891, + d3: 169, + tinycolor2: 576, + }, + ], + 911: [ + function (t, e, r) { + 'use strict'; + var n = t('./lib/loggers'), + i = t('./lib/noop'), + a = t('./lib/push_unique'), + o = t('./lib/is_plain_object'), + s = t('./lib/dom').addStyleRule, + l = t('./lib/extend'), + c = t('./plots/attributes'), + u = t('./plots/layout_attributes'), + f = l.extendFlat, + h = l.extendDeepAll; + function p(t) { + var e = t.name, + i = t.categories, + a = t.meta; + if (r.modules[e]) n.log('Type ' + e + ' already registered'); + else { + r.subplotsRegistry[t.basePlotModule.name] || + (function (t) { + var e = t.name; + if (r.subplotsRegistry[e]) + return void n.log( + 'Plot type ' + e + ' already registered.' + ); + for (var i in (v(t), + (r.subplotsRegistry[e] = t), + r.componentsRegistry)) + b(i, t.name); + })(t.basePlotModule); + for (var o = {}, l = 0; l < i.length; l++) + (o[i[l]] = !0), (r.allCategories[i[l]] = !0); + for (var c in ((r.modules[e] = { _module: t, categories: o }), + a && Object.keys(a).length && (r.modules[e].meta = a), + r.allTypes.push(e), + r.componentsRegistry)) + y(c, e); + t.layoutAttributes && + f(r.traceLayoutAttributes, t.layoutAttributes); + var u = t.basePlotModule, + h = u.name; + if ('mapbox' === h) { + var p = u.constants.styleRules; + for (var d in p) + s('.js-plotly-plot .plotly .mapboxgl-' + d, p[d]); + } + ('geo' !== h && 'mapbox' !== h) || + void 0 === typeof window || + void 0 !== window.PlotlyGeoAssets || + (window.PlotlyGeoAssets = { topojson: {} }); + } + } + function d(t) { + if ('string' != typeof t.name) + throw new Error('Component module *name* must be a string.'); + var e = t.name; + for (var n in ((r.componentsRegistry[e] = t), + t.layoutAttributes && + (t.layoutAttributes._isLinkedToArray && + a(r.layoutArrayContainers, e), + v(t)), + r.modules)) + y(e, n); + for (var i in r.subplotsRegistry) b(e, i); + for (var o in r.transformsRegistry) x(e, o); + t.schema && t.schema.layout && h(u, t.schema.layout); + } + function g(t) { + if ('string' != typeof t.name) + throw new Error('Transform module *name* must be a string.'); + var e = 'Transform module ' + t.name, + i = 'function' == typeof t.transform, + a = 'function' == typeof t.calcTransform; + if (!i && !a) + throw new Error( + e + ' is missing a *transform* or *calcTransform* method.' + ); + for (var s in (i && + a && + n.log( + [ + e + ' has both a *transform* and *calcTransform* methods.', + 'Please note that all *transform* methods are executed', + 'before all *calcTransform* methods.', + ].join(' ') + ), + o(t.attributes) || + n.log(e + ' registered without an *attributes* object.'), + 'function' != typeof t.supplyDefaults && + n.log(e + ' registered without a *supplyDefaults* method.'), + (r.transformsRegistry[t.name] = t), + r.componentsRegistry)) + x(s, t.name); + } + function m(t) { + var e = t.name, + n = e.split('-')[0], + i = t.dictionary, + a = t.format, + o = i && Object.keys(i).length, + s = a && Object.keys(a).length, + l = r.localeRegistry, + c = l[e]; + if ((c || (l[e] = c = {}), n !== e)) { + var u = l[n]; + u || (l[n] = u = {}), + o && u.dictionary === c.dictionary && (u.dictionary = i), + s && u.format === c.format && (u.format = a); + } + o && (c.dictionary = i), s && (c.format = a); + } + function v(t) { + if (t.layoutAttributes) { + var e = t.layoutAttributes._arrayAttrRegexps; + if (e) + for (var n = 0; n < e.length; n++) + a(r.layoutArrayRegexes, e[n]); + } + } + function y(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.traces) { + var i = n.traces[e]; + i && h(r.modules[e]._module.attributes, i); + } + } + function x(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.transforms) { + var i = n.transforms[e]; + i && h(r.transformsRegistry[e].attributes, i); + } + } + function b(t, e) { + var n = r.componentsRegistry[t].schema; + if (n && n.subplots) { + var i = r.subplotsRegistry[e], + a = i.layoutAttributes, + o = 'subplot' === i.attr ? i.name : i.attr; + Array.isArray(o) && (o = o[0]); + var s = n.subplots[o]; + a && s && h(a, s); + } + } + function _(t) { + return 'object' == typeof t && (t = t.type), t; + } + (r.modules = {}), + (r.allCategories = {}), + (r.allTypes = []), + (r.subplotsRegistry = {}), + (r.transformsRegistry = {}), + (r.componentsRegistry = {}), + (r.layoutArrayContainers = []), + (r.layoutArrayRegexes = []), + (r.traceLayoutAttributes = {}), + (r.localeRegistry = {}), + (r.apiMethodRegistry = {}), + (r.collectableSubplotTypes = null), + (r.register = function (t) { + if (((r.collectableSubplotTypes = null), !t)) + throw new Error('No argument passed to Plotly.register.'); + t && !Array.isArray(t) && (t = [t]); + for (var e = 0; e < t.length; e++) { + var n = t[e]; + if (!n) + throw new Error( + 'Invalid module was attempted to be registered!' + ); + switch (n.moduleType) { + case 'trace': + p(n); + break; + case 'transform': + g(n); + break; + case 'component': + d(n); + break; + case 'locale': + m(n); + break; + case 'apiMethod': + var i = n.name; + r.apiMethodRegistry[i] = n.fn; + break; + default: + throw new Error( + 'Invalid module was attempted to be registered!' + ); + } + } + }), + (r.getModule = function (t) { + var e = r.modules[_(t)]; + return !!e && e._module; + }), + (r.traceIs = function (t, e) { + if ('various' === (t = _(t))) return !1; + var i = r.modules[t]; + return ( + i || + (t && + 'area' !== t && + n.log('Unrecognized trace type ' + t + '.'), + (i = r.modules[c.type.dflt])), + !!i.categories[e] + ); + }), + (r.getTransformIndices = function (t, e) { + for (var r = [], n = t.transforms || [], i = 0; i < n.length; i++) + n[i].type === e && r.push(i); + return r; + }), + (r.hasTransform = function (t, e) { + for (var r = t.transforms || [], n = 0; n < r.length; n++) + if (r[n].type === e) return !0; + return !1; + }), + (r.getComponentMethod = function (t, e) { + var n = r.componentsRegistry[t]; + return (n && n[e]) || i; + }), + (r.call = function () { + var t = arguments[0], + e = [].slice.call(arguments, 1); + return r.apiMethodRegistry[t].apply(null, e); + }); + }, + { + './lib/dom': 766, + './lib/extend': 768, + './lib/is_plain_object': 779, + './lib/loggers': 782, + './lib/noop': 787, + './lib/push_unique': 793, + './plots/attributes': 824, + './plots/layout_attributes': 882, + }, + ], + 912: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'), + i = t('../lib'), + a = i.extendFlat, + o = i.extendDeep; + function s(t) { + var e; + switch (t) { + case 'themes__thumb': + e = { + autosize: !0, + width: 150, + height: 150, + title: { text: '' }, + showlegend: !1, + margin: { l: 5, r: 5, t: 5, b: 5, pad: 0 }, + annotations: [], + }; + break; + case 'thumbnail': + e = { + title: { text: '' }, + hidesources: !0, + showlegend: !1, + borderwidth: 0, + bordercolor: '', + margin: { l: 1, r: 1, t: 1, b: 1, pad: 0 }, + annotations: [], + }; + break; + default: + e = {}; + } + return e; + } + e.exports = function (t, e) { + var r; + t.framework && t.framework.isPolar && (t = t.framework.getConfig()); + var i, + l = t.data, + c = t.layout, + u = o([], l), + f = o({}, c, s(e.tileClass)), + h = t._context || {}; + if ( + (e.width && (f.width = e.width), + e.height && (f.height = e.height), + 'thumbnail' === e.tileClass || 'themes__thumb' === e.tileClass) + ) { + f.annotations = []; + var p = Object.keys(f); + for (r = 0; r < p.length; r++) + (i = p[r]), + ['xaxis', 'yaxis', 'zaxis'].indexOf(i.slice(0, 5)) > -1 && + (f[p[r]].title = { text: '' }); + for (r = 0; r < u.length; r++) { + var d = u[r]; + (d.showscale = !1), + d.marker && (d.marker.showscale = !1), + n.traceIs(d, 'pie-like') && (d.textposition = 'none'); + } + } + if (Array.isArray(e.annotations)) + for (r = 0; r < e.annotations.length; r++) + f.annotations.push(e.annotations[r]); + var g = Object.keys(f).filter(function (t) { + return t.match(/^scene\d*$/); + }); + if (g.length) { + var m = {}; + for ( + 'thumbnail' === e.tileClass && + (m = { + title: { text: '' }, + showaxeslabels: !1, + showticklabels: !1, + linetickenable: !1, + }), + r = 0; + r < g.length; + r++ + ) { + var v = f[g[r]]; + v.xaxis || (v.xaxis = {}), + v.yaxis || (v.yaxis = {}), + v.zaxis || (v.zaxis = {}), + a(v.xaxis, m), + a(v.yaxis, m), + a(v.zaxis, m), + (v._scene = null); + } + } + var y = document.createElement('div'); + e.tileClass && (y.className = e.tileClass); + var x = { + gd: y, + td: y, + layout: f, + data: u, + config: { + staticPlot: void 0 === e.staticPlot || e.staticPlot, + plotGlPixelRatio: + void 0 === e.plotGlPixelRatio ? 2 : e.plotGlPixelRatio, + displaylogo: e.displaylogo || !1, + showLink: e.showLink || !1, + showTips: e.showTips || !1, + mapboxAccessToken: h.mapboxAccessToken, + }, + }; + return ( + 'transparent' !== e.setBackground && + (x.config.setBackground = e.setBackground || 'opaque'), + (x.gd.defaultLayout = s(e.tileClass)), + x + ); + }; + }, + { '../lib': 778, '../registry': 911 }, + ], + 913: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plot_api/to_image'), + a = t('./filesaver'), + o = t('./helpers'); + e.exports = function (t, e) { + var r; + return ( + n.isPlainObject(t) || (r = n.getGraphDiv(t)), + ((e = e || {}).format = e.format || 'png'), + (e.width = e.width || null), + (e.height = e.height || null), + (e.imageDataOnly = !0), + new Promise(function (s, l) { + r && + r._snapshotInProgress && + l(new Error('Snapshotting already in progress.')), + n.isIE() && + 'svg' !== e.format && + l(new Error(o.MSG_IE_BAD_FORMAT)), + r && (r._snapshotInProgress = !0); + var c = i(t, e), + u = e.filename || t.fn || 'newplot'; + (u += '.' + e.format.replace('-', '.')), + c + .then(function (t) { + return ( + r && (r._snapshotInProgress = !1), a(t, u, e.format) + ); + }) + .then(function (t) { + s(t); + }) + .catch(function (t) { + r && (r._snapshotInProgress = !1), l(t); + }); + }) + ); + }; + }, + { + '../lib': 778, + '../plot_api/to_image': 820, + './filesaver': 914, + './helpers': 915, + }, + ], + 914: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('./helpers'); + e.exports = function (t, e, r) { + var a = document.createElement('a'), + o = 'download' in a; + return new Promise(function (s, l) { + var c, u; + if ( + (n.isIE9orBelow() && l(new Error('IE < 10 unsupported')), + n.isSafari()) + ) { + var f = 'svg' === r ? ',' : ';base64,'; + return i.octetStream(f + encodeURIComponent(t)), s(e); + } + return n.isIE() + ? ((c = i.createBlob(t, 'svg')), + window.navigator.msSaveBlob(c, e), + (c = null), + s(e)) + : o + ? ((c = i.createBlob(t, r)), + (u = i.createObjectURL(c)), + (a.href = u), + (a.download = e), + document.body.appendChild(a), + a.click(), + document.body.removeChild(a), + i.revokeObjectURL(u), + (c = null), + s(e)) + : void l(new Error('download error')); + }); + }; + }, + { '../lib': 778, './helpers': 915 }, + ], + 915: [ + function (t, e, r) { + 'use strict'; + var n = t('../registry'); + (r.getDelay = function (t) { + return t._has && + (t._has('gl3d') || t._has('gl2d') || t._has('mapbox')) + ? 500 + : 0; + }), + (r.getRedrawFunc = function (t) { + return function () { + var e = t._fullLayout || {}; + (!(e._has && e._has('polar')) && + t.data && + t.data[0] && + t.data[0].r) || + n.getComponentMethod('colorbar', 'draw')(t); + }; + }), + (r.encodeSVG = function (t) { + return 'data:image/svg+xml,' + encodeURIComponent(t); + }), + (r.encodeJSON = function (t) { + return 'data:application/json,' + encodeURIComponent(t); + }); + var i = window.URL || window.webkitURL; + (r.createObjectURL = function (t) { + return i.createObjectURL(t); + }), + (r.revokeObjectURL = function (t) { + return i.revokeObjectURL(t); + }), + (r.createBlob = function (t, e) { + if ('svg' === e) + return new window.Blob([t], { + type: 'image/svg+xml;charset=utf-8', + }); + if ('full-json' === e) + return new window.Blob([t], { + type: 'application/json;charset=utf-8', + }); + var r = (function (t) { + for ( + var e = t.length, + r = new ArrayBuffer(e), + n = new Uint8Array(r), + i = 0; + i < e; + i++ + ) + n[i] = t.charCodeAt(i); + return r; + })(window.atob(t)); + return new window.Blob([r], { type: 'image/' + e }); + }), + (r.octetStream = function (t) { + document.location.href = 'data:application/octet-stream' + t; + }), + (r.IMAGE_URL_PREFIX = /^data:image\/\w+;base64,/), + (r.MSG_IE_BAD_FORMAT = + "Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."); + }, + { '../registry': 911 }, + ], + 916: [ + function (t, e, r) { + 'use strict'; + var n = t('./helpers'), + i = { + getDelay: n.getDelay, + getRedrawFunc: n.getRedrawFunc, + clone: t('./cloneplot'), + toSVG: t('./tosvg'), + svgToImg: t('./svgtoimg'), + toImage: t('./toimage'), + downloadImage: t('./download'), + }; + e.exports = i; + }, + { + './cloneplot': 912, + './download': 913, + './helpers': 915, + './svgtoimg': 917, + './toimage': 918, + './tosvg': 919, + }, + ], + 917: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('events').EventEmitter, + a = t('./helpers'); + e.exports = function (t) { + var e = t.emitter || new i(), + r = new Promise(function (i, o) { + var s = window.Image, + l = t.svg, + c = t.format || 'png'; + if (n.isIE() && 'svg' !== c) { + var u = new Error(a.MSG_IE_BAD_FORMAT); + return o(u), t.promise ? r : e.emit('error', u); + } + var f, + h, + p = t.canvas, + d = t.scale || 1, + g = t.width || 300, + m = t.height || 150, + v = d * g, + y = d * m, + x = p.getContext('2d'), + b = new s(); + 'svg' === c || n.isIE9orBelow() || n.isSafari() + ? (h = a.encodeSVG(l)) + : ((f = a.createBlob(l, 'svg')), (h = a.createObjectURL(f))), + (p.width = v), + (p.height = y), + (b.onload = function () { + var r; + switch ( + ((f = null), + a.revokeObjectURL(h), + 'svg' !== c && x.drawImage(b, 0, 0, v, y), + c) + ) { + case 'jpeg': + r = p.toDataURL('image/jpeg'); + break; + case 'png': + r = p.toDataURL('image/png'); + break; + case 'webp': + r = p.toDataURL('image/webp'); + break; + case 'svg': + r = h; + break; + default: + var n = 'Image format is not jpeg, png, svg or webp.'; + if ((o(new Error(n)), !t.promise)) + return e.emit('error', n); + } + i(r), t.promise || e.emit('success', r); + }), + (b.onerror = function (r) { + if (((f = null), a.revokeObjectURL(h), o(r), !t.promise)) + return e.emit('error', r); + }), + (b.src = h); + }); + return t.promise ? r : e; + }; + }, + { '../lib': 778, './helpers': 915, events: 110 }, + ], + 918: [ + function (t, e, r) { + 'use strict'; + var n = t('events').EventEmitter, + i = t('../registry'), + a = t('../lib'), + o = t('./helpers'), + s = t('./cloneplot'), + l = t('./tosvg'), + c = t('./svgtoimg'); + e.exports = function (t, e) { + var r = new n(), + u = s(t, { format: 'png' }), + f = u.gd; + (f.style.position = 'absolute'), + (f.style.left = '-5000px'), + document.body.appendChild(f); + var h = o.getRedrawFunc(f); + return ( + i + .call('plot', f, u.data, u.layout, u.config) + .then(h) + .then(function () { + var t = o.getDelay(f._fullLayout); + setTimeout(function () { + var t = l(f), + n = document.createElement('canvas'); + (n.id = a.randstr()), + ((r = c({ + format: e.format, + width: f._fullLayout.width, + height: f._fullLayout.height, + canvas: n, + emitter: r, + svg: t, + })).clean = function () { + f && document.body.removeChild(f); + }); + }, t); + }) + .catch(function (t) { + r.emit('error', t); + }), + r + ); + }; + }, + { + '../lib': 778, + '../registry': 911, + './cloneplot': 912, + './helpers': 915, + './svgtoimg': 917, + './tosvg': 919, + events: 110, + }, + ], + 919: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../lib'), + a = t('../components/drawing'), + o = t('../components/color'), + s = t('../constants/xmlns_namespaces'), + l = /"/g, + c = new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")', 'g'); + e.exports = function (t, e, r) { + var u, + f = t._fullLayout, + h = f._paper, + p = f._toppaper, + d = f.width, + g = f.height; + h.insert('rect', ':first-child') + .call(a.setRect, 0, 0, d, g) + .call(o.fill, f.paper_bgcolor); + var m = f._basePlotModules || []; + for (u = 0; u < m.length; u++) { + var v = m[u]; + v.toSVG && v.toSVG(t); + } + if (p) { + var y = p.node().childNodes, + x = Array.prototype.slice.call(y); + for (u = 0; u < x.length; u++) { + var b = x[u]; + b.childNodes.length && h.node().appendChild(b); + } + } + if ( + (f._draggers && f._draggers.remove(), + (h.node().style.background = ''), + h + .selectAll('text') + .attr({ 'data-unformatted': null, 'data-math': null }) + .each(function () { + var t = n.select(this); + if ( + 'hidden' !== this.style.visibility && + 'none' !== this.style.display + ) { + t.style({ visibility: null, display: null }); + var e = this.style.fontFamily; + e && + -1 !== e.indexOf('"') && + t.style('font-family', e.replace(l, 'TOBESTRIPPED')); + } else t.remove(); + }), + f._gradientUrlQueryParts) + ) { + var _ = []; + for (var w in f._gradientUrlQueryParts) _.push(w); + _.length && + h.selectAll(_.join(',')).each(function () { + var t = n.select(this), + e = this.style.fill; + e && + -1 !== e.indexOf('url(') && + t.style('fill', e.replace(l, 'TOBESTRIPPED')); + var r = this.style.stroke; + r && + -1 !== r.indexOf('url(') && + t.style('stroke', r.replace(l, 'TOBESTRIPPED')); + }); + } + ('pdf' !== e && 'eps' !== e) || + h.selectAll('#MathJax_SVG_glyphs path').attr('stroke-width', 0), + h.node().setAttributeNS(s.xmlns, 'xmlns', s.svg), + h.node().setAttributeNS(s.xmlns, 'xmlns:xlink', s.xlink), + 'svg' === e && + r && + (h.attr('width', r * d), + h.attr('height', r * g), + h.attr('viewBox', '0 0 ' + d + ' ' + g)); + var T = new window.XMLSerializer().serializeToString(h.node()); + return ( + (T = (function (t) { + var e = n + .select('body') + .append('div') + .style({ display: 'none' }) + .html(''), + r = t.replace(/(&[^;]*;)/gi, function (t) { + return '<' === t + ? '<' + : '&rt;' === t + ? '>' + : -1 !== t.indexOf('<') || -1 !== t.indexOf('>') + ? '' + : e.html(t).text(); + }); + return e.remove(), r; + })(T)), + (T = (T = T.replace( + /&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g, + '&' + )).replace(c, "'")), + i.isIE() && + (T = (T = (T = T.replace(/"/gi, "'")).replace( + /(\('#)([^']*)('\))/gi, + '("#$2")' + )).replace(/(\\')/gi, '"')), + T + ); + }; + }, + { + '../components/color': 643, + '../components/drawing': 665, + '../constants/xmlns_namespaces': 754, + '../lib': 778, + d3: 169, + }, + ], + 920: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, 'tx'), n.mergeArray(e.hovertext, t, 'htx'); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, 'mo', !0), + n.mergeArray(i.color, t, 'mc'); + var a = i.line; + a && + (n.mergeArray(a.color, t, 'mlc'), + n.mergeArrayCastPositive(a.width, t, 'mlw')); + } + }; + }, + { '../../lib': 778 }, + ], + 921: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../../plots/template_attributes').texttemplateAttrs, + o = t('../../components/colorscale/attributes'), + s = t('../../plots/font_attributes'), + l = t('./constants'), + c = t('../../lib/extend').extendFlat, + u = s({ editType: 'calc', arrayOk: !0, colorEditType: 'style' }), + f = c({}, n.marker.line.width, { dflt: 0 }), + h = c({ width: f, editType: 'calc' }, o('marker.line')), + p = c({ line: h, editType: 'calc' }, o('marker'), { + opacity: { + valType: 'number', + arrayOk: !0, + dflt: 1, + min: 0, + max: 1, + editType: 'style', + }, + }); + e.exports = { + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + text: n.text, + texttemplate: a({ editType: 'plot' }, { keys: l.eventDataKeys }), + hovertext: n.hovertext, + hovertemplate: i({}, { keys: l.eventDataKeys }), + textposition: { + valType: 'enumerated', + values: ['inside', 'outside', 'auto', 'none'], + dflt: 'none', + arrayOk: !0, + editType: 'calc', + }, + insidetextanchor: { + valType: 'enumerated', + values: ['end', 'middle', 'start'], + dflt: 'end', + editType: 'plot', + }, + textangle: { valType: 'angle', dflt: 'auto', editType: 'plot' }, + textfont: c({}, u, {}), + insidetextfont: c({}, u, {}), + outsidetextfont: c({}, u, {}), + constraintext: { + valType: 'enumerated', + values: ['inside', 'outside', 'both', 'none'], + dflt: 'both', + editType: 'calc', + }, + cliponaxis: c({}, n.cliponaxis, {}), + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + editType: 'calc+clearAxisTypes', + }, + base: { valType: 'any', dflt: null, arrayOk: !0, editType: 'calc' }, + offset: { + valType: 'number', + dflt: null, + arrayOk: !0, + editType: 'calc', + }, + width: { + valType: 'number', + dflt: null, + min: 0, + arrayOk: !0, + editType: 'calc', + }, + marker: p, + offsetgroup: { valType: 'string', dflt: '', editType: 'calc' }, + alignmentgroup: { valType: 'string', dflt: '', editType: 'calc' }, + selected: { + marker: { + opacity: n.selected.marker.opacity, + color: n.selected.marker.color, + editType: 'style', + }, + textfont: n.selected.textfont, + editType: 'style', + }, + unselected: { + marker: { + opacity: n.unselected.marker.opacity, + color: n.unselected.marker.color, + editType: 'style', + }, + textfont: n.unselected.textfont, + editType: 'style', + }, + r: n.r, + t: n.t, + _deprecated: { + bardir: { + valType: 'enumerated', + editType: 'calc', + values: ['v', 'h'], + }, + }, + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/font_attributes': 856, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + './constants': 923, + }, + ], + 922: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../plots/cartesian/align_period'), + a = t('../../components/colorscale/helpers').hasColorscale, + o = t('../../components/colorscale/calc'), + s = t('./arrays_to_calcdata'), + l = t('../scatter/calc_selection'); + e.exports = function (t, e) { + var r, + c, + u, + f, + h = n.getFromId(t, e.xaxis || 'x'), + p = n.getFromId(t, e.yaxis || 'y'), + d = { msUTC: !(!e.base && 0 !== e.base) }; + 'h' === e.orientation + ? ((r = h.makeCalcdata(e, 'x', d)), + (u = p.makeCalcdata(e, 'y')), + (c = i(e, p, 'y', u)), + (f = !!e.yperiodalignment)) + : ((r = p.makeCalcdata(e, 'y', d)), + (u = h.makeCalcdata(e, 'x')), + (c = i(e, h, 'x', u)), + (f = !!e.xperiodalignment)); + for ( + var g = Math.min(c.length, r.length), m = new Array(g), v = 0; + v < g; + v++ + ) + (m[v] = { p: c[v], s: r[v] }), + f && (m[v].orig_p = u[v]), + e.ids && (m[v].id = String(e.ids[v])); + return ( + a(e, 'marker') && + o(t, e, { + vals: e.marker.color, + containerStr: 'marker', + cLetter: 'c', + }), + a(e, 'marker.line') && + o(t, e, { + vals: e.marker.line.color, + containerStr: 'marker.line', + cLetter: 'c', + }), + s(m, e), + l(m, e), + m + ); + }; + }, + { + '../../components/colorscale/calc': 651, + '../../components/colorscale/helpers': 654, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + '../scatter/calc_selection': 1189, + './arrays_to_calcdata': 920, + }, + ], + 923: [ + function (t, e, r) { + 'use strict'; + e.exports = { TEXTPAD: 3, eventDataKeys: ['value', 'label'] }; + }, + {}, + ], + 924: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib').isArrayOrTypedArray, + a = t('../../constants/numerical').BADNUM, + o = t('../../registry'), + s = t('../../plots/cartesian/axes'), + l = t('../../plots/cartesian/constraints').getAxisGroup, + c = t('./sieve.js'); + function u(t, e, r, o, u) { + if (o.length) { + var b, _, w, T; + switch ( + ((function (t, e) { + var r, a; + for (r = 0; r < e.length; r++) { + var o, + s = e[r], + l = s[0].trace, + c = 'funnel' === l.type ? l._base : l.base, + u = 'h' === l.orientation ? l.xcalendar : l.ycalendar, + f = + 'category' === t.type || 'multicategory' === t.type + ? function () { + return null; + } + : t.d2c; + if (i(c)) { + for (a = 0; a < Math.min(c.length, s.length); a++) + (o = f(c[a], 0, u)), + n(o) + ? ((s[a].b = +o), (s[a].hasB = 1)) + : (s[a].b = 0); + for (; a < s.length; a++) s[a].b = 0; + } else { + o = f(c, 0, u); + var h = n(o); + for (o = h ? o : 0, a = 0; a < s.length; a++) + (s[a].b = o), h && (s[a].hasB = 1); + } + } + })(r, o), + u.mode) + ) { + case 'overlay': + f(e, r, o, u); + break; + case 'group': + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.offset + ? _.push(T) + : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new c(n, { + sepNegVal: !1, + overlapNoMerge: !i.norm, + }); + (function (t, e, r, n) { + for ( + var i = t._fullLayout, + a = r.positions, + o = r.distinctPositions, + s = r.minDiff, + c = r.traces, + u = c.length, + f = a.length !== o.length, + h = s * (1 - n.gap), + m = l(i, e._id) + c[0][0].trace.orientation, + v = i._alignmentOpts[m] || {}, + y = 0; + y < u; + y++ + ) { + var x, + b, + _ = c[y], + w = _[0].trace, + T = v[w.alignmentgroup] || {}, + k = Object.keys(T.offsetGroups || {}).length, + M = + (x = k ? h / k : f ? h / u : h) * + (1 - (n.groupgap || 0)); + b = k + ? ((2 * w._offsetIndex + 1 - k) * x - M) / 2 + : f + ? ((2 * y + 1 - u) * x - M) / 2 + : -M / 2; + var A = _[0].t; + (A.barwidth = M), + (A.poffset = b), + (A.bargroupwidth = h), + (A.bardelta = s); + } + (r.binWidth = c[0][0].t.barwidth / 100), + p(r), + d(e, r), + g(e, r, f); + })(t, e, o, i), + (function (t) { + for (var e = t.traces, r = 0; r < e.length; r++) { + var n = e[r]; + if (void 0 === n[0].trace.base) + for ( + var i = new c([n], { + sepNegVal: !0, + overlapNoMerge: !0, + }), + o = 0; + o < n.length; + o++ + ) { + var s = n[o]; + if (s.p !== a) { + var l = i.put(s.p, s.b + s.s); + l && (s.b = l); + } + } + } + })(o), + i.norm ? (v(o), y(r, o, i)) : m(r, o); + })(t, e, r, _, u), + b.length && f(e, r, b, u); + break; + case 'stack': + case 'relative': + for (b = [], _ = [], w = 0; w < o.length; w++) + void 0 === (T = o[w])[0].trace.base ? _.push(T) : b.push(T); + _.length && + (function (t, e, r, n, i) { + var o = new c(n, { + sepNegVal: 'relative' === i.mode, + overlapNoMerge: !( + i.norm || + 'stack' === i.mode || + 'relative' === i.mode + ), + }); + h(e, o, i), + (function (t, e, r) { + var n, + i, + o, + l, + c, + u, + f = x(t), + h = e.traces; + for (l = 0; l < h.length; l++) + if ( + ((n = h[l]), 'funnel' === (i = n[0].trace).type) + ) + for (c = 0; c < n.length; c++) + (u = n[c]).s !== a && e.put(u.p, -0.5 * u.s); + for (l = 0; l < h.length; l++) { + (n = h[l]), + (i = n[0].trace), + (o = 'funnel' === i.type); + var p = []; + for (c = 0; c < n.length; c++) + if ((u = n[c]).s !== a) { + var d; + d = o ? u.s : u.s + u.b; + var g = e.put(u.p, d), + m = g + d; + (u.b = g), + (u[f] = m), + r.norm || (p.push(m), u.hasB && p.push(g)); + } + r.norm || + (i._extremes[t._id] = s.findExtremes(t, p, { + tozero: !0, + padded: !0, + })); + } + })(r, o, i); + for (var l = 0; l < n.length; l++) + for (var u = n[l], f = 0; f < u.length; f++) { + var p = u[f]; + if (p.s !== a) + p.b + p.s === o.get(p.p, p.s) && (p._outmost = !0); + } + i.norm && y(r, o, i); + })(0, e, r, _, u), + b.length && f(e, r, b, u); + } + !(function (t, e) { + var r, + i, + a, + o = x(e), + s = {}, + l = 1 / 0, + c = -1 / 0; + for (r = 0; r < t.length; r++) + for (a = t[r], i = 0; i < a.length; i++) { + var u = a[i].p; + n(u) && ((l = Math.min(l, u)), (c = Math.max(c, u))); + } + var f = 1e4 / (c - l), + h = (s.round = function (t) { + return String(Math.round(f * (t - l))); + }); + for (r = 0; r < t.length; r++) { + (a = t[r])[0].t.extents = s; + var p = a[0].t.poffset, + d = Array.isArray(p); + for (i = 0; i < a.length; i++) { + var g = a[i], + m = g[o] - g.w / 2; + if (n(m)) { + var v = g[o] + g.w / 2, + y = h(g.p); + s[y] + ? (s[y] = [Math.min(m, s[y][0]), Math.max(v, s[y][1])]) + : (s[y] = [m, v]); + } + (g.p0 = g.p + (d ? p[i] : p)), + (g.p1 = g.p0 + g.w), + (g.s0 = g.b), + (g.s1 = g.s0 + g.s); + } + } + })(o, e); + } + } + function f(t, e, r, n) { + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = new c([a], { + unitMinDiff: n.xCat || n.yCat, + sepNegVal: !1, + overlapNoMerge: !n.norm, + }); + h(t, o, n), n.norm ? (v(o), y(e, o, n)) : m(e, o); + } + } + function h(t, e, r) { + for ( + var n = e.minDiff, + i = e.traces, + a = n * (1 - r.gap), + o = a * (1 - (r.groupgap || 0)), + s = -o / 2, + l = 0; + l < i.length; + l++ + ) { + var c = i[l][0].t; + (c.barwidth = o), + (c.poffset = s), + (c.bargroupwidth = a), + (c.bardelta = n); + } + (e.binWidth = i[0][0].t.barwidth / 100), p(e), d(t, e), g(t, e); + } + function p(t) { + var e, + r, + a = t.traces; + for (e = 0; e < a.length; e++) { + var o, + s = a[e], + l = s[0], + c = l.trace, + u = l.t, + f = c._offset || c.offset, + h = u.poffset; + if (i(f)) { + for ( + o = Array.prototype.slice.call(f, 0, s.length), r = 0; + r < o.length; + r++ + ) + n(o[r]) || (o[r] = h); + for (r = o.length; r < s.length; r++) o.push(h); + u.poffset = o; + } else void 0 !== f && (u.poffset = f); + var p = c._width || c.width, + d = u.barwidth; + if (i(p)) { + var g = Array.prototype.slice.call(p, 0, s.length); + for (r = 0; r < g.length; r++) n(g[r]) || (g[r] = d); + for (r = g.length; r < s.length; r++) g.push(d); + if (((u.barwidth = g), void 0 === f)) { + for (o = [], r = 0; r < s.length; r++) + o.push(h + (d - g[r]) / 2); + u.poffset = o; + } + } else + void 0 !== p && + ((u.barwidth = p), + void 0 === f && (u.poffset = h + (d - p) / 2)); + } + } + function d(t, e) { + for (var r = e.traces, n = x(t), i = 0; i < r.length; i++) + for ( + var a = r[i], + o = a[0].t, + s = o.poffset, + l = Array.isArray(s), + c = o.barwidth, + u = Array.isArray(c), + f = 0; + f < a.length; + f++ + ) { + var h = a[f], + p = (h.w = u ? c[f] : c); + h[n] = h.p + (l ? s[f] : s) + p / 2; + } + } + function g(t, e, r) { + var n = e.traces, + i = e.minDiff / 2; + s.minDtick(t, e.minDiff, e.distinctPositions[0], r); + for (var a = 0; a < n.length; a++) { + var o, + l, + c, + u, + f = n[a], + h = f[0], + p = h.trace, + d = []; + for (u = 0; u < f.length; u++) + (l = (o = f[u]).p - i), (c = o.p + i), d.push(l, c); + if (p.width || p.offset) { + var g = h.t, + m = g.poffset, + v = g.barwidth, + y = Array.isArray(m), + x = Array.isArray(v); + for (u = 0; u < f.length; u++) { + o = f[u]; + var b = y ? m[u] : m, + _ = x ? v[u] : v; + (c = (l = o.p + b) + _), d.push(l, c); + } + } + p._extremes[t._id] = s.findExtremes(t, d, { padded: !1 }); + } + } + function m(t, e) { + for (var r = e.traces, n = x(t), i = 0; i < r.length; i++) { + for ( + var a = r[i], o = a[0].trace, l = [], c = !1, u = 0; + u < a.length; + u++ + ) { + var f = a[u], + h = f.b, + p = h + f.s; + (f[n] = p), + l.push(p), + f.hasB && l.push(h), + (f.hasB && f.b) || (c = !0); + } + o._extremes[t._id] = s.findExtremes(t, l, { + tozero: c, + padded: !0, + }); + } + } + function v(t) { + for (var e = t.traces, r = 0; r < e.length; r++) + for (var n = e[r], i = 0; i < n.length; i++) { + var o = n[i]; + o.s !== a && t.put(o.p, o.b + o.s); + } + } + function y(t, e, r) { + var i = e.traces, + o = x(t), + l = 'fraction' === r.norm ? 1 : 100, + c = l / 1e9, + u = t.l2c(t.c2l(0)), + f = 'stack' === r.mode ? l : u; + function h(e) { + return n(t.c2l(e)) && (e < u - c || e > f + c || !n(u)); + } + for (var p = 0; p < i.length; p++) { + for ( + var d = i[p], g = d[0].trace, m = [], v = !1, y = !1, b = 0; + b < d.length; + b++ + ) { + var _ = d[b]; + if (_.s !== a) { + var w = Math.abs(l / e.get(_.p, _.s)); + (_.b *= w), (_.s *= w); + var T = _.b, + k = T + _.s; + (_[o] = k), + m.push(k), + (y = y || h(k)), + _.hasB && (m.push(T), (y = y || h(T))), + (_.hasB && _.b) || (v = !0); + } + } + g._extremes[t._id] = s.findExtremes(t, m, { + tozero: v, + padded: y, + }); + } + } + function x(t) { + return t._id.charAt(0); + } + e.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + i = t._fullLayout, + a = t._fullData, + s = t.calcdata, + l = [], + c = [], + f = 0; + f < a.length; + f++ + ) { + var h = a[f]; + if ( + !0 === h.visible && + o.traceIs(h, 'bar') && + h.xaxis === r._id && + h.yaxis === n._id && + ('h' === h.orientation ? l.push(s[f]) : c.push(s[f]), + h._computePh) + ) + for (var p = t.calcdata[f], d = 0; d < p.length; d++) + 'function' == typeof p[d].ph0 && (p[d].ph0 = p[d].ph0()), + 'function' == typeof p[d].ph1 && (p[d].ph1 = p[d].ph1()); + } + var g = { + xCat: 'category' === r.type || 'multicategory' === r.type, + yCat: 'category' === n.type || 'multicategory' === n.type, + mode: i.barmode, + norm: i.barnorm, + gap: i.bargap, + groupgap: i.bargroupgap, + }; + u(t, r, n, c, g), u(t, n, r, l, g); + }, + setGroupPositions: u, + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/constraints': 835, + '../../registry': 911, + './sieve.js': 934, + 'fast-isnumeric': 241, + }, + ], + 925: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../../registry'), + o = t('../scatter/xy_defaults'), + s = t('../scatter/period_defaults'), + l = t('./style_defaults'), + c = t('../../plots/cartesian/constraints').getAxisGroup, + u = t('./attributes'), + f = n.coerceFont; + function h(t, e, r, n) { + var i = e.orientation, + a = e[{ v: 'x', h: 'y' }[i] + 'axis'], + o = c(r, a) + i, + s = r._alignmentOpts || {}, + l = n('alignmentgroup'), + u = s[o]; + u || (u = s[o] = {}); + var f = u[l]; + f + ? f.traces.push(e) + : (f = u[l] = + { + traces: [e], + alignmentIndex: Object.keys(u).length, + offsetGroups: {}, + }); + var h = n('offsetgroup'), + p = f.offsetGroups, + d = p[h]; + h && + (d || (d = p[h] = { offsetIndex: Object.keys(p).length }), + (e._offsetIndex = d.offsetIndex)); + } + function p(t, e, r, i, a, o) { + var s = !(!1 === (o = o || {}).moduleHasSelected), + l = !(!1 === o.moduleHasUnselected), + c = !(!1 === o.moduleHasConstrain), + u = !(!1 === o.moduleHasCliponaxis), + h = !(!1 === o.moduleHasTextangle), + p = !(!1 === o.moduleHasInsideanchor), + d = !!o.hasPathbar, + g = Array.isArray(a) || 'auto' === a, + m = g || 'inside' === a, + v = g || 'outside' === a; + if (m || v) { + var y = f(i, 'textfont', r.font), + x = n.extendFlat({}, y), + b = !(t.textfont && t.textfont.color); + if ((b && delete x.color, f(i, 'insidetextfont', x), d)) { + var _ = n.extendFlat({}, y); + b && delete _.color, f(i, 'pathbar.textfont', _); + } + v && f(i, 'outsidetextfont', y), + s && i('selected.textfont.color'), + l && i('unselected.textfont.color'), + c && i('constraintext'), + u && i('cliponaxis'), + h && i('textangle'), + i('texttemplate'); + } + m && p && i('insidetextanchor'); + } + e.exports = { + supplyDefaults: function (t, e, r, c) { + function f(r, i) { + return n.coerce(t, e, u, r, i); + } + if (o(t, e, c, f)) { + s(t, e, c, f), + f('orientation', e.x && !e.y ? 'h' : 'v'), + f('base'), + f('offset'), + f('width'), + f('text'), + f('hovertext'), + f('hovertemplate'); + var h = f('textposition'); + p(t, e, c, f, h, { + moduleHasSelected: !0, + moduleHasUnselected: !0, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + l(t, e, f, r, c); + var d = (e.marker.line || {}).color, + g = a.getComponentMethod('errorbars', 'supplyDefaults'); + g(t, e, d || i.defaultLine, { axis: 'y' }), + g(t, e, d || i.defaultLine, { axis: 'x', inherit: 'y' }), + n.coerceSelectionMarkerOpacity(e, f); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r; + function i(t) { + return n.coerce(r._input, r, u, t); + } + if ('group' === e.barmode) + for (var a = 0; a < t.length; a++) + 'bar' === (r = t[a]).type && (r._input, h(0, r, e, i)); + }, + handleGroupingDefaults: h, + handleText: p, + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plots/cartesian/constraints': 835, + '../../registry': 911, + '../scatter/period_defaults': 1207, + '../scatter/xy_defaults': 1214, + './attributes': 921, + './style_defaults': 936, + }, + ], + 926: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + return ( + (t.x = 'xVal' in e ? e.xVal : e.x), + (t.y = 'yVal' in e ? e.yVal : e.y), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + 'h' === r.orientation + ? ((t.label = t.y), (t.value = t.x)) + : ((t.label = t.x), (t.value = t.y)), + t + ); + }; + }, + {}, + ], + 927: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('tinycolor2'), + a = t('../../lib').isArrayOrTypedArray; + (r.coerceString = function (t, e, r) { + if ('string' == typeof e) { + if (e || !t.noBlank) return e; + } else if (('number' == typeof e || !0 === e) && !t.strict) + return String(e); + return void 0 !== r ? r : t.dflt; + }), + (r.coerceNumber = function (t, e, r) { + if (n(e)) { + e = +e; + var i = t.min, + a = t.max; + if (!((void 0 !== i && e < i) || (void 0 !== a && e > a))) + return e; + } + return void 0 !== r ? r : t.dflt; + }), + (r.coerceColor = function (t, e, r) { + return i(e).isValid() ? e : void 0 !== r ? r : t.dflt; + }), + (r.coerceEnumerated = function (t, e, r) { + return ( + t.coerceNumber && (e = +e), + -1 !== t.values.indexOf(e) ? e : void 0 !== r ? r : t.dflt + ); + }), + (r.getValue = function (t, e) { + var r; + return Array.isArray(t) ? e < t.length && (r = t[e]) : (r = t), r; + }), + (r.getLineWidth = function (t, e) { + return 0 < e.mlw + ? e.mlw + : a(t.marker.line.width) + ? 0 + : t.marker.line.width; + }); + }, + { '../../lib': 778, 'fast-isnumeric': 241, tinycolor2: 576 }, + ], + 928: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../registry'), + a = t('../../components/color'), + o = t('../../lib').fillText, + s = t('./helpers').getLineWidth, + l = t('../../plots/cartesian/axes').hoverLabelText, + c = t('../../constants/numerical').BADNUM; + function u(t, e, r, i) { + var a, + s, + u, + f, + h, + p, + d, + g = t.cd, + m = g[0].trace, + v = g[0].t, + y = 'closest' === i, + x = 'waterfall' === m.type, + b = t.maxHoverDistance; + function _(t) { + return t[u] - t.w / 2; + } + function w(t) { + return t[u] + t.w / 2; + } + var T = y + ? _ + : function (t) { + return Math.min(_(t), t.p - v.bardelta / 2); + }, + k = y + ? w + : function (t) { + return Math.max(w(t), t.p + v.bardelta / 2); + }; + function M(t, e) { + return n.inbox( + t - a, + e - a, + b + Math.min(1, Math.abs(e - t) / d) - 1 + ); + } + function A(t) { + return M(T(t), k(t)); + } + function S(t) { + var e = s, + r = t.b, + i = t[f]; + if (x) { + var a = Math.abs(t.rawS) || 0; + e > 0 ? (i += a) : e < 0 && (i -= a); + } + return n.inbox(r - e, i - e, b + (i - e) / (i - r) - 1); + } + 'h' === m.orientation + ? ((a = r), (s = e), (u = 'y'), (f = 'x'), (h = S), (p = A)) + : ((a = e), (s = r), (u = 'x'), (f = 'y'), (p = S), (h = A)); + var E = t[u + 'a'], + C = t[f + 'a']; + d = Math.abs(E.r2c(E.range[1]) - E.r2c(E.range[0])); + var L = n.getDistanceFunction(i, h, p, function (t) { + return (h(t) + p(t)) / 2; + }); + if ((n.getClosest(g, L, t), !1 !== t.index && g[t.index].p !== c)) { + y || + ((T = function (t) { + return Math.min(_(t), t.p - v.bargroupwidth / 2); + }), + (k = function (t) { + return Math.max(w(t), t.p + v.bargroupwidth / 2); + })); + var I = g[t.index], + P = m.base ? I.b + I.s : I.s; + (t[f + '0'] = t[f + '1'] = C.c2p(I[f], !0)), + (t[f + 'LabelVal'] = P); + var z = v.extents[v.extents.round(I.p)]; + (t[u + '0'] = E.c2p(y ? T(I) : z[0], !0)), + (t[u + '1'] = E.c2p(y ? k(I) : z[1], !0)); + var O = void 0 !== I.orig_p; + return ( + (t[u + 'LabelVal'] = O ? I.orig_p : I.p), + (t.labelLabel = l(E, t[u + 'LabelVal'])), + (t.valueLabel = l(C, t[f + 'LabelVal'])), + (t.baseLabel = l(C, I.b)), + (t.spikeDistance = + (S(I) + + (function (t) { + return M(_(t), w(t)); + })(I)) / + 2 - + b), + (t[u + 'Spike'] = E.c2p(I.p, !0)), + o(I, m, t), + (t.hovertemplate = m.hovertemplate), + t + ); + } + } + function f(t, e) { + var r = e.mcc || t.marker.color, + n = e.mlcc || t.marker.line.color, + i = s(t, e); + return a.opacity(r) ? r : a.opacity(n) && i ? n : void 0; + } + e.exports = { + hoverPoints: function (t, e, r, n) { + var a = u(t, e, r, n); + if (a) { + var o = a.cd, + s = o[0].trace, + l = o[a.index]; + return ( + (a.color = f(s, l)), + i.getComponentMethod('errorbars', 'hoverInfo')(l, s, a), + [a] + ); + } + }, + hoverOnBars: u, + getTraceColor: f, + }; + }, + { + '../../components/color': 643, + '../../components/fx': 683, + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + './helpers': 927, + }, + ], + 929: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + crossTraceDefaults: t('./defaults').crossTraceDefaults, + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc'), + crossTraceCalc: t('./cross_trace_calc').crossTraceCalc, + colorbar: t('../scatter/marker_colorbar'), + arraysToCalcdata: t('./arrays_to_calcdata'), + plot: t('./plot').plot, + style: t('./style').style, + styleOnSelect: t('./style').styleOnSelect, + hoverPoints: t('./hover').hoverPoints, + eventData: t('./event_data'), + selectPoints: t('./select'), + moduleType: 'trace', + name: 'bar', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'bar-like', + 'cartesian', + 'svg', + 'bar', + 'oriented', + 'errorBarsOK', + 'showLegend', + 'zoomScale', + ], + animatable: !0, + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../scatter/marker_colorbar': 1205, + './arrays_to_calcdata': 920, + './attributes': 921, + './calc': 922, + './cross_trace_calc': 924, + './defaults': 925, + './event_data': 926, + './hover': 928, + './layout_attributes': 930, + './layout_defaults': 931, + './plot': 932, + './select': 933, + './style': 935, + }, + ], + 930: [ + function (t, e, r) { + 'use strict'; + e.exports = { + barmode: { + valType: 'enumerated', + values: ['stack', 'group', 'overlay', 'relative'], + dflt: 'group', + editType: 'calc', + }, + barnorm: { + valType: 'enumerated', + values: ['', 'fraction', 'percent'], + dflt: '', + editType: 'calc', + }, + bargap: { valType: 'number', min: 0, max: 1, editType: 'calc' }, + bargroupgap: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'calc', + }, + }; + }, + {}, + ], + 931: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../plots/cartesian/axes'), + a = t('../../lib'), + o = t('./layout_attributes'); + e.exports = function (t, e, r) { + function s(r, n) { + return a.coerce(t, e, o, r, n); + } + for ( + var l = !1, c = !1, u = !1, f = {}, h = s('barmode'), p = 0; + p < r.length; + p++ + ) { + var d = r[p]; + if (n.traceIs(d, 'bar') && d.visible) { + if (((l = !0), 'group' === h)) { + var g = d.xaxis + d.yaxis; + f[g] && (u = !0), (f[g] = !0); + } + if (d.visible && 'histogram' === d.type) + 'category' !== + i.getFromId( + { _fullLayout: e }, + d['v' === d.orientation ? 'xaxis' : 'yaxis'] + ).type && (c = !0); + } + } + l + ? ('overlay' !== h && s('barnorm'), + s('bargap', c && !u ? 0 : 0.2), + s('bargroupgap')) + : delete e.barmode; + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + './layout_attributes': 930, + }, + ], + 932: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../../lib'), + o = t('../../lib/svg_text_utils'), + s = t('../../components/color'), + l = t('../../components/drawing'), + c = t('../../registry'), + u = t('../../plots/cartesian/axes').tickText, + f = t('./uniform_text'), + h = f.recordMinTextSize, + p = f.clearMinTextSize, + d = t('./style'), + g = t('./helpers'), + m = t('./constants'), + v = t('./attributes'), + y = v.text, + x = v.textposition, + b = t('../../components/fx/helpers').appendArrayPointValue, + _ = m.TEXTPAD; + function w(t) { + return t.id; + } + function T(t) { + if (t.ids) return w; + } + function k(t, e) { + return t < e ? 1 : -1; + } + function M(t, e, r, n) { + var i; + return !e.uniformtext.mode && A(r) + ? (n && (i = n()), + t + .transition() + .duration(r.duration) + .ease(r.easing) + .each('end', function () { + i && i(); + }) + .each('interrupt', function () { + i && i(); + })) + : t; + } + function A(t) { + return t && t.duration > 0; + } + function S(t) { + return 'auto' === t ? 0 : t; + } + function E(t, e) { + var r = (Math.PI / 180) * e, + n = Math.abs(Math.sin(r)), + i = Math.abs(Math.cos(r)); + return { + x: t.width * i + t.height * n, + y: t.width * n + t.height * i, + }; + } + function C(t, e, r, n, i, a) { + var o = !!a.isHorizontal, + s = !!a.constrained, + l = a.angle || 0, + c = a.anchor || 'end', + u = 'end' === c, + f = 'start' === c, + h = ((a.leftToRight || 0) + 1) / 2, + p = 1 - h, + d = i.width, + g = i.height, + m = Math.abs(e - t), + v = Math.abs(n - r), + y = m > 2 * _ && v > 2 * _ ? _ : 0; + (m -= 2 * y), (v -= 2 * y); + var x = S(l); + 'auto' !== l || + (d <= m && g <= v) || + !(d > m || g > v) || + ((d > v || g > m) && d < g == m < v) || + (x += 90); + var b = E(i, x), + w = 1; + s && (w = Math.min(1, m / b.x, v / b.y)); + var T = i.left * p + i.right * h, + M = (i.top + i.bottom) / 2, + A = (t + _) * p + (e - _) * h, + C = (r + n) / 2, + L = 0, + I = 0; + if (f || u) { + var P = (o ? b.x : b.y) / 2, + z = o ? k(t, e) : k(r, n); + o + ? f + ? ((A = t + z * y), (L = -z * P)) + : ((A = e - z * y), (L = z * P)) + : f + ? ((C = r + z * y), (I = -z * P)) + : ((C = n - z * y), (I = z * P)); + } + return { + textX: T, + textY: M, + targetX: A, + targetY: C, + anchorX: L, + anchorY: I, + scale: w, + rotate: x, + }; + } + e.exports = { + plot: function (t, e, r, f, m, v) { + var w = e.xaxis, + L = e.yaxis, + I = t._fullLayout; + m || + ((m = { + mode: I.barmode, + norm: I.barmode, + gap: I.bargap, + groupgap: I.bargroupgap, + }), + p('bar', I)); + var P = a.makeTraceGroups(f, r, 'trace bars').each(function (r) { + var c = n.select(this), + f = r[0].trace, + p = 'waterfall' === f.type, + P = 'funnel' === f.type, + z = 'bar' === f.type || P, + O = 0; + p && + f.connector.visible && + 'between' === f.connector.mode && + (O = f.connector.line.width / 2); + var D = 'h' === f.orientation, + R = A(m), + F = a.ensureSingle(c, 'g', 'points'), + B = T(f), + N = F.selectAll('g.point').data(a.identity, B); + N.enter().append('g').classed('point', !0), + N.exit().remove(), + N.each(function (c, p) { + var T, + A, + P = n.select(this), + F = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + n ? [i, a] : [a, i] + ); + })(c, w, L, D), + B = F[0][0], + N = F[0][1], + j = F[1][0], + U = F[1][1], + V = 0 == (D ? N - B : U - j); + if ( + (V && z && g.getLineWidth(f, c) && (V = !1), + V || (V = !(i(B) && i(N) && i(j) && i(U))), + (c.isBlank = V), + V && (D ? (N = B) : (U = j)), + O && + !V && + (D + ? ((B -= k(B, N) * O), (N += k(B, N) * O)) + : ((j -= k(j, U) * O), (U += k(j, U) * O))), + 'waterfall' === f.type) + ) { + if (!V) { + var q = f[c.dir].marker; + (T = q.line.width), (A = q.color); + } + } else (T = g.getLineWidth(f, c)), (A = c.mc || f.marker.color); + function H(t) { + var e = n.round((T / 2) % 1, 2); + return 0 === m.gap && 0 === m.groupgap + ? n.round(Math.round(t) - e, 2) + : t; + } + if (!t._context.staticPlot) { + var G = + s.opacity(A) < 1 || T > 0.01 + ? H + : function (t, e, r) { + return r && t === e + ? t + : Math.abs(t - e) >= 2 + ? H(t) + : t > e + ? Math.ceil(t) + : Math.floor(t); + }; + (B = G(B, N, D)), + (N = G(N, B, D)), + (j = G(j, U, !D)), + (U = G(U, j, !D)); + } + var Y = M(a.ensureSingle(P, 'path'), I, m, v); + if ( + (Y.style('vector-effect', 'non-scaling-stroke') + .attr( + 'd', + isNaN((N - B) * (U - j)) || + (V && t._context.staticPlot) + ? 'M0,0Z' + : 'M' + + B + + ',' + + j + + 'V' + + U + + 'H' + + N + + 'V' + + j + + 'Z' + ) + .call(l.setClipUrl, e.layerClipId, t), + !I.uniformtext.mode && R) + ) { + var W = l.makePointStyleFns(f); + l.singlePointStyle(c, Y, f, W, t); + } + !(function (t, e, r, n, i, s, c, f, p, m, v) { + var w, + T = e.xaxis, + A = e.yaxis, + L = t._fullLayout; + function I(e, r, n) { + return a + .ensureSingle(e, 'text') + .text(r) + .attr({ + class: 'bartext bartext-' + w, + 'text-anchor': 'middle', + 'data-notex': 1, + }) + .call(l.font, n) + .call(o.convertToTspans, t); + } + var P = n[0].trace, + z = 'h' === P.orientation, + O = (function (t, e, r, n, i) { + var o, + s = e[0].trace; + o = s.texttemplate + ? (function (t, e, r, n, i) { + var o = e[0].trace, + s = a.castOption(o, r, 'texttemplate'); + if (!s) return ''; + var l, + c, + f, + h, + p = 'waterfall' === o.type, + d = 'funnel' === o.type; + 'h' === o.orientation + ? ((l = 'y'), (c = i), (f = 'x'), (h = n)) + : ((l = 'x'), (c = n), (f = 'y'), (h = i)); + function g(t) { + return u(h, +t, !0).text; + } + var m = e[r], + v = {}; + (v.label = m.p), + (v.labelLabel = v[l + 'Label'] = + ((y = m.p), u(c, y, !0).text)); + var y; + var x = a.castOption(o, m.i, 'text'); + (0 === x || x) && (v.text = x); + (v.value = m.s), + (v.valueLabel = v[f + 'Label'] = g(m.s)); + var _ = {}; + b(_, o, m.i), + p && + ((v.delta = +m.rawS || m.s), + (v.deltaLabel = g(v.delta)), + (v.final = m.v), + (v.finalLabel = g(v.final)), + (v.initial = v.final - v.delta), + (v.initialLabel = g(v.initial))); + d && + ((v.value = m.s), + (v.valueLabel = g(v.value)), + (v.percentInitial = m.begR), + (v.percentInitialLabel = a.formatPercent( + m.begR + )), + (v.percentPrevious = m.difR), + (v.percentPreviousLabel = a.formatPercent( + m.difR + )), + (v.percentTotal = m.sumR), + (v.percenTotalLabel = a.formatPercent( + m.sumR + ))); + var w = a.castOption(o, m.i, 'customdata'); + w && (v.customdata = w); + return a.texttemplateString( + s, + v, + t._d3locale, + _, + v, + o._meta || {} + ); + })(t, e, r, n, i) + : s.textinfo + ? (function (t, e, r, n) { + var i = t[0].trace, + o = 'h' === i.orientation, + s = 'waterfall' === i.type, + l = 'funnel' === i.type; + function c(t) { + return u(o ? r : n, +t, !0).text; + } + var f, + h = i.textinfo, + p = t[e], + d = h.split('+'), + g = [], + m = function (t) { + return -1 !== d.indexOf(t); + }; + m('label') && + g.push( + ((v = t[e].p), u(o ? n : r, v, !0).text) + ); + var v; + m('text') && + (0 === (f = a.castOption(i, p.i, 'text')) || + f) && + g.push(f); + if (s) { + var y = +p.rawS || p.s, + x = p.v, + b = x - y; + m('initial') && g.push(c(b)), + m('delta') && g.push(c(y)), + m('final') && g.push(c(x)); + } + if (l) { + m('value') && g.push(c(p.s)); + var _ = 0; + m('percent initial') && _++, + m('percent previous') && _++, + m('percent total') && _++; + var w = _ > 1; + m('percent initial') && + ((f = a.formatPercent(p.begR)), + w && (f += ' of initial'), + g.push(f)), + m('percent previous') && + ((f = a.formatPercent(p.difR)), + w && (f += ' of previous'), + g.push(f)), + m('percent total') && + ((f = a.formatPercent(p.sumR)), + w && (f += ' of total'), + g.push(f)); + } + return g.join('
'); + })(e, r, n, i) + : g.getValue(s.text, r); + return g.coerceString(y, o); + })(L, n, i, T, A); + w = (function (t, e) { + var r = g.getValue(t.textposition, e); + return g.coerceEnumerated(x, r); + })(P, i); + var D = 'stack' === m.mode || 'relative' === m.mode, + R = n[i], + F = !D || R._outmost; + if ( + !O || + 'none' === w || + ((R.isBlank || s === c || f === p) && + ('auto' === w || 'inside' === w)) + ) + return void r.select('text').remove(); + var B = L.font, + N = d.getBarColor(n[i], P), + j = d.getInsideTextFont(P, i, B, N), + U = d.getOutsideTextFont(P, i, B), + V = r.datum(); + z + ? 'log' === T.type && + V.s0 <= 0 && + (s = T.range[0] < T.range[1] ? 0 : T._length) + : 'log' === A.type && + V.s0 <= 0 && + (f = A.range[0] < A.range[1] ? A._length : 0); + var q, + H, + G, + Y, + W, + X = Math.abs(c - s) - 2 * _, + Z = Math.abs(p - f) - 2 * _; + 'outside' === w && (F || R.hasB || (w = 'inside')); + if ('auto' === w) + if (F) { + (w = 'inside'), + (W = a.ensureUniformFontSize(t, j)), + (q = I(r, O, W)), + (H = l.bBox(q.node())), + (G = H.width), + (Y = H.height); + var J = G <= X && Y <= Z, + K = G <= Z && Y <= X, + Q = z ? X >= G * (Z / Y) : Z >= Y * (X / G); + G > 0 && Y > 0 && (J || K || Q) + ? (w = 'inside') + : ((w = 'outside'), q.remove(), (q = null)); + } else w = 'inside'; + if (!q) { + W = a.ensureUniformFontSize(t, 'outside' === w ? U : j); + var $ = (q = I(r, O, W)).attr('transform'); + if ( + (q.attr('transform', ''), + (H = l.bBox(q.node())), + (G = H.width), + (Y = H.height), + q.attr('transform', $), + G <= 0 || Y <= 0) + ) + return void q.remove(); + } + var tt, + et, + rt = P.textangle; + 'outside' === w + ? ((et = + 'both' === P.constraintext || + 'outside' === P.constraintext), + (tt = (function (t, e, r, n, i, a) { + var o, + s = !!a.isHorizontal, + l = !!a.constrained, + c = a.angle || 0, + u = i.width, + f = i.height, + h = Math.abs(e - t), + p = Math.abs(n - r); + o = s ? (p > 2 * _ ? _ : 0) : h > 2 * _ ? _ : 0; + var d = 1; + l && + (d = s ? Math.min(1, p / f) : Math.min(1, h / u)); + var g = S(c), + m = E(i, g), + v = (s ? m.x : m.y) / 2, + y = (i.left + i.right) / 2, + x = (i.top + i.bottom) / 2, + b = (t + e) / 2, + w = (r + n) / 2, + T = 0, + M = 0, + A = s ? k(e, t) : k(r, n); + s + ? ((b = e - A * o), (T = A * v)) + : ((w = n + A * o), (M = -A * v)); + return { + textX: y, + textY: x, + targetX: b, + targetY: w, + anchorX: T, + anchorY: M, + scale: d, + rotate: g, + }; + })(s, c, f, p, H, { + isHorizontal: z, + constrained: et, + angle: rt, + }))) + : ((et = + 'both' === P.constraintext || + 'inside' === P.constraintext), + (tt = C(s, c, f, p, H, { + isHorizontal: z, + constrained: et, + angle: rt, + anchor: P.insidetextanchor, + }))); + (tt.fontSize = W.size), + h(P.type, tt, L), + (R.transform = tt), + M(q, L, m, v).attr('transform', a.getTextTransform(tt)); + })(t, e, P, r, p, B, N, j, U, m, v), + e.layerClipId && + l.hideOutsideRangePoint( + c, + P.select('text'), + w, + L, + f.xcalendar, + f.ycalendar + ); + }); + var j = !1 === f.cliponaxis; + l.setClipUrl(c, j ? null : e.layerClipId, t); + }); + c.getComponentMethod('errorbars', 'plot')(t, P, e, m); + }, + toMoveInsideBar: C, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../components/fx/helpers': 679, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + './attributes': 921, + './constants': 923, + './helpers': 927, + './style': 935, + './uniform_text': 937, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 933: [ + function (t, e, r) { + 'use strict'; + function n(t, e, r, n, i) { + var a = e.c2p(n ? t.s0 : t.p0, !0), + o = e.c2p(n ? t.s1 : t.p1, !0), + s = r.c2p(n ? t.p0 : t.s0, !0), + l = r.c2p(n ? t.p1 : t.s1, !0); + return i + ? [(a + o) / 2, (s + l) / 2] + : n + ? [o, (s + l) / 2] + : [(a + o) / 2, l]; + } + e.exports = function (t, e) { + var r, + i = t.cd, + a = t.xaxis, + o = t.yaxis, + s = i[0].trace, + l = 'funnel' === s.type, + c = 'h' === s.orientation, + u = []; + if (!1 === e) for (r = 0; r < i.length; r++) i[r].selected = 0; + else + for (r = 0; r < i.length; r++) { + var f = i[r], + h = 'ct' in f ? f.ct : n(f, a, o, c, l); + e.contains(h, !1, r, t) + ? (u.push({ pointNumber: r, x: a.c2d(f.x), y: o.c2d(f.y) }), + (f.selected = 1)) + : (f.selected = 0); + } + return u; + }; + }, + {}, + ], + 934: [ + function (t, e, r) { + 'use strict'; + e.exports = a; + var n = t('../../lib').distinctVals, + i = t('../../constants/numerical').BADNUM; + function a(t, e) { + (this.traces = t), + (this.sepNegVal = e.sepNegVal), + (this.overlapNoMerge = e.overlapNoMerge); + for (var r = 1 / 0, a = [], o = 0; o < t.length; o++) { + for (var s = t[o], l = 0; l < s.length; l++) { + var c = s[l]; + c.p !== i && a.push(c.p); + } + s[0] && s[0].width1 && (r = Math.min(s[0].width1, r)); + } + this.positions = a; + var u = n(a, { unitMinDiff: e.unitMinDiff }); + (this.distinctPositions = u.vals), + 1 === u.vals.length && r !== 1 / 0 + ? (this.minDiff = r) + : (this.minDiff = Math.min(u.minDiff, r)), + (this.binWidth = this.minDiff), + (this.bins = {}); + } + (a.prototype.put = function (t, e) { + var r = this.getLabel(t, e), + n = this.bins[r] || 0; + return (this.bins[r] = n + e), n; + }), + (a.prototype.get = function (t, e) { + var r = this.getLabel(t, e); + return this.bins[r] || 0; + }), + (a.prototype.getLabel = function (t, e) { + return ( + (e < 0 && this.sepNegVal ? 'v' : '^') + + (this.overlapNoMerge ? t : Math.round(t / this.binWidth)) + ); + }); + }, + { '../../constants/numerical': 753, '../../lib': 778 }, + ], + 935: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../../components/drawing'), + o = t('../../lib'), + s = t('../../registry'), + l = t('./uniform_text').resizeText, + c = t('./attributes'), + u = c.textfont, + f = c.insidetextfont, + h = c.outsidetextfont, + p = t('./helpers'); + function d(t, e, r) { + a.pointStyle(t.selectAll('path'), e, r), g(t, e, r); + } + function g(t, e, r) { + t.selectAll('text').each(function (t) { + var i = n.select(this), + s = o.ensureUniformFontSize(r, m(i, t, e, r)); + a.font(i, s); + }); + } + function m(t, e, r, n) { + var i = n._fullLayout.font, + a = r.textfont; + if (t.classed('bartext-inside')) { + var o = _(e, r); + a = y(r, e.i, i, o); + } else t.classed('bartext-outside') && (a = x(r, e.i, i)); + return a; + } + function v(t, e, r) { + return b(u, t.textfont, e, r); + } + function y(t, e, r, n) { + var a = v(t, e, r); + return ( + (void 0 === t._input.textfont || + void 0 === t._input.textfont.color || + (Array.isArray(t.textfont.color) && + void 0 === t.textfont.color[e])) && + (a = { color: i.contrast(n), family: a.family, size: a.size }), + b(f, t.insidetextfont, e, a) + ); + } + function x(t, e, r) { + var n = v(t, e, r); + return b(h, t.outsidetextfont, e, n); + } + function b(t, e, r, n) { + e = e || {}; + var i = p.getValue(e.family, r), + a = p.getValue(e.size, r), + o = p.getValue(e.color, r); + return { + family: p.coerceString(t.family, i, n.family), + size: p.coerceNumber(t.size, a, n.size), + color: p.coerceColor(t.color, o, n.color), + }; + } + function _(t, e) { + return 'waterfall' === e.type + ? e[t.dir].marker.color + : t.mc || e.marker.color; + } + e.exports = { + style: function (t) { + var e = n.select(t).selectAll('g.barlayer').selectAll('g.trace'); + l(t, e, 'bar'); + var r = e.size(), + i = t._fullLayout; + e + .style('opacity', function (t) { + return t[0].trace.opacity; + }) + .each(function (t) { + (('stack' === i.barmode && r > 1) || + (0 === i.bargap && + 0 === i.bargroupgap && + !t[0].trace.marker.line.width)) && + n.select(this).attr('shape-rendering', 'crispEdges'); + }), + e.selectAll('g.points').each(function (e) { + d(n.select(this), e[0].trace, t); + }), + s.getComponentMethod('errorbars', 'style')(e); + }, + styleTextPoints: g, + styleOnSelect: function (t, e, r) { + var i = e[0].trace; + i.selectedpoints + ? (function (t, e, r) { + a.selectedPointStyle(t.selectAll('path'), e), + (function (t, e, r) { + t.each(function (t) { + var i, + s = n.select(this); + if (t.selected) { + i = o.ensureUniformFontSize(r, m(s, t, e, r)); + var l = + e.selected.textfont && e.selected.textfont.color; + l && (i.color = l), a.font(s, i); + } else a.selectedTextStyle(s, e); + }); + })(t.selectAll('text'), e, r); + })(r, i, t) + : (d(r, i, t), s.getComponentMethod('errorbars', 'style')(r)); + }, + getInsideTextFont: y, + getOutsideTextFont: x, + getBarColor: _, + resizeText: l, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../lib': 778, + '../../registry': 911, + './attributes': 921, + './helpers': 927, + './uniform_text': 937, + d3: 169, + }, + ], + 936: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/defaults'); + e.exports = function (t, e, r, o, s) { + r('marker.color', o), + i(t, 'marker') && + a(t, e, s, r, { prefix: 'marker.', cLetter: 'c' }), + r('marker.line.color', n.defaultLine), + i(t, 'marker.line') && + a(t, e, s, r, { prefix: 'marker.line.', cLetter: 'c' }), + r('marker.line.width'), + r('marker.opacity'), + r('selected.marker.color'), + r('unselected.marker.color'); + }; + }, + { + '../../components/color': 643, + '../../components/colorscale/defaults': 653, + '../../components/colorscale/helpers': 654, + }, + ], + 937: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'); + function a(t) { + return '_' + t + 'Text_minsize'; + } + e.exports = { + recordMinTextSize: function (t, e, r) { + if (r.uniformtext.mode) { + var n = a(t), + i = r.uniformtext.minsize, + o = e.scale * e.fontSize; + (e.hide = o < i), + (r[n] = r[n] || 1 / 0), + e.hide || (r[n] = Math.min(r[n], Math.max(o, i))); + } + }, + clearMinTextSize: function (t, e) { + e[a(t)] = void 0; + }, + resizeText: function (t, e, r) { + var a = t._fullLayout, + o = a['_' + r + 'Text_minsize']; + if (o) { + var s, + l = 'hide' === a.uniformtext.mode; + switch (r) { + case 'funnelarea': + case 'pie': + case 'sunburst': + s = 'g.slice'; + break; + case 'treemap': + s = 'g.slice, g.pathbar'; + break; + default: + s = 'g.points > g.point'; + } + e.selectAll(s).each(function (t) { + var e = t.transform; + e && + ((e.scale = l && e.hide ? 0 : o / e.fontSize), + n + .select(this) + .select('text') + .attr('transform', i.getTextTransform(e))); + }); + } + }, + }; + }, + { '../../lib': 778, d3: 169 }, + ], + 938: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../lib/extend').extendFlat, + a = t('../scatterpolar/attributes'), + o = t('../bar/attributes'); + e.exports = { + r: a.r, + theta: a.theta, + r0: a.r0, + dr: a.dr, + theta0: a.theta0, + dtheta: a.dtheta, + thetaunit: a.thetaunit, + base: i({}, o.base, {}), + offset: i({}, o.offset, {}), + width: i({}, o.width, {}), + text: i({}, o.text, {}), + hovertext: i({}, o.hovertext, {}), + marker: o.marker, + hoverinfo: a.hoverinfo, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + { + '../../lib/extend': 768, + '../../plots/template_attributes': 906, + '../bar/attributes': 921, + '../scatterpolar/attributes': 1261, + }, + ], + 939: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/helpers').hasColorscale, + i = t('../../components/colorscale/calc'), + a = t('../bar/arrays_to_calcdata'), + o = t('../bar/cross_trace_calc').setGroupPositions, + s = t('../scatter/calc_selection'), + l = t('../../registry').traceIs, + c = t('../../lib').extendFlat; + e.exports = { + calc: function (t, e) { + for ( + var r = t._fullLayout, + o = e.subplot, + l = r[o].radialaxis, + c = r[o].angularaxis, + u = l.makeCalcdata(e, 'r'), + f = c.makeCalcdata(e, 'theta'), + h = e._length, + p = new Array(h), + d = u, + g = f, + m = 0; + m < h; + m++ + ) + p[m] = { p: g[m], s: d[m] }; + function v(t) { + var r = e[t]; + void 0 !== r && + (e['_' + t] = Array.isArray(r) + ? c.makeCalcdata(e, t) + : c.d2c(r, e.thetaunit)); + } + return ( + 'linear' === c.type && (v('width'), v('offset')), + n(e, 'marker') && + i(t, e, { + vals: e.marker.color, + containerStr: 'marker', + cLetter: 'c', + }), + n(e, 'marker.line') && + i(t, e, { + vals: e.marker.line.color, + containerStr: 'marker.line', + cLetter: 'c', + }), + a(p, e), + s(p, e), + p + ); + }, + crossTraceCalc: function (t, e, r) { + for (var n = t.calcdata, i = [], a = 0; a < n.length; a++) { + var s = n[a], + u = s[0].trace; + !0 === u.visible && l(u, 'bar') && u.subplot === r && i.push(s); + } + var f = c({}, e.radialaxis, { _id: 'x' }), + h = e.angularaxis; + o(t, h, f, i, { + mode: e.barmode, + norm: e.barnorm, + gap: e.bargap, + groupgap: e.bargroupgap, + }); + }, + }; + }, + { + '../../components/colorscale/calc': 651, + '../../components/colorscale/helpers': 654, + '../../lib': 778, + '../../registry': 911, + '../bar/arrays_to_calcdata': 920, + '../bar/cross_trace_calc': 924, + '../scatter/calc_selection': 1189, + }, + ], + 940: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatterpolar/defaults').handleRThetaDefaults, + a = t('../bar/style_defaults'), + o = t('./attributes'); + e.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, s, l) + ? (l('thetaunit'), + l('base'), + l('offset'), + l('width'), + l('text'), + l('hovertext'), + l('hovertemplate'), + a(t, e, l, r, s), + n.coerceSelectionMarkerOpacity(e, l)) + : (e.visible = !1); + }; + }, + { + '../../lib': 778, + '../bar/style_defaults': 936, + '../scatterpolar/defaults': 1263, + './attributes': 938, + }, + ], + 941: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../lib'), + a = t('../bar/hover').getTraceColor, + o = i.fillText, + s = t('../scatterpolar/hover').makeHoverPointText, + l = t('../../plots/polar/helpers').isPtInsidePolygon; + e.exports = function (t, e, r) { + var c = t.cd, + u = c[0].trace, + f = t.subplot, + h = f.radialAxis, + p = f.angularAxis, + d = f.vangles, + g = d ? l : i.isPtInsideSector, + m = t.maxHoverDistance, + v = p._period || 2 * Math.PI, + y = Math.abs(h.g2p(Math.sqrt(e * e + r * r))), + x = Math.atan2(r, e); + h.range[0] > h.range[1] && (x += Math.PI); + if ( + (n.getClosest( + c, + function (t) { + return g(y, x, [t.rp0, t.rp1], [t.thetag0, t.thetag1], d) + ? m + + Math.min(1, Math.abs(t.thetag1 - t.thetag0) / v) - + 1 + + (t.rp1 - y) / (t.rp1 - t.rp0) - + 1 + : 1 / 0; + }, + t + ), + !1 !== t.index) + ) { + var b = c[t.index]; + (t.x0 = t.x1 = b.ct[0]), (t.y0 = t.y1 = b.ct[1]); + var _ = i.extendFlat({}, b, { r: b.s, theta: b.p }); + return ( + o(b, u, t), + s(_, u, f, t), + (t.hovertemplate = u.hovertemplate), + (t.color = a(u, b)), + (t.xLabelVal = t.yLabelVal = void 0), + b.s < 0 && (t.idealAlign = 'left'), + [t] + ); + } + }; + }, + { + '../../components/fx': 683, + '../../lib': 778, + '../../plots/polar/helpers': 893, + '../bar/hover': 928, + '../scatterpolar/hover': 1265, + }, + ], + 942: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'barpolar', + basePlotModule: t('../../plots/polar'), + categories: ['polar', 'bar', 'showLegend'], + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults'), + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('./calc').crossTraceCalc, + plot: t('./plot'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('../scatterpolar/format_labels'), + style: t('../bar/style').style, + styleOnSelect: t('../bar/style').styleOnSelect, + hoverPoints: t('./hover'), + selectPoints: t('../bar/select'), + meta: {}, + }; + }, + { + '../../plots/polar': 894, + '../bar/select': 933, + '../bar/style': 935, + '../scatter/marker_colorbar': 1205, + '../scatterpolar/format_labels': 1264, + './attributes': 938, + './calc': 939, + './defaults': 940, + './hover': 941, + './layout_attributes': 943, + './layout_defaults': 944, + './plot': 945, + }, + ], + 943: [ + function (t, e, r) { + 'use strict'; + e.exports = { + barmode: { + valType: 'enumerated', + values: ['stack', 'overlay'], + dflt: 'stack', + editType: 'calc', + }, + bargap: { + valType: 'number', + dflt: 0.1, + min: 0, + max: 1, + editType: 'calc', + }, + }; + }, + {}, + ], + 944: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e, r) { + var a, + o = {}; + function s(r, o) { + return n.coerce(t[a] || {}, e[a], i, r, o); + } + for (var l = 0; l < r.length; l++) { + var c = r[l]; + 'barpolar' === c.type && + !0 === c.visible && + (o[(a = c.subplot)] || (s('barmode'), s('bargap'), (o[a] = 1))); + } + }; + }, + { '../../lib': 778, './layout_attributes': 943 }, + ], + 945: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('fast-isnumeric'), + a = t('../../lib'), + o = t('../../components/drawing'), + s = t('../../plots/polar/helpers'); + e.exports = function (t, e, r) { + var l = e.xaxis, + c = e.yaxis, + u = e.radialAxis, + f = e.angularAxis, + h = (function (t) { + var e = t.cxx, + r = t.cyy; + if (t.vangles) + return function (n, i, o, l) { + var c, u; + a.angleDelta(o, l) > 0 + ? ((c = o), (u = l)) + : ((c = l), (u = o)); + var f = [ + s.findEnclosingVertexAngles(c, t.vangles)[0], + (c + u) / 2, + s.findEnclosingVertexAngles(u, t.vangles)[1], + ]; + return s.pathPolygonAnnulus(n, i, c, u, f, e, r); + }; + return function (t, n, i, o) { + return a.pathAnnulus(t, n, i, o, e, r); + }; + })(e), + p = e.layers.frontplot.select('g.barlayer'); + a.makeTraceGroups(p, r, 'trace bars').each(function () { + var r = n.select(this), + s = a + .ensureSingle(r, 'g', 'points') + .selectAll('g.point') + .data(a.identity); + s + .enter() + .append('g') + .style('vector-effect', 'non-scaling-stroke') + .style('stroke-miterlimit', 2) + .classed('point', !0), + s.exit().remove(), + s.each(function (t) { + var e, + r = n.select(this), + o = (t.rp0 = u.c2p(t.s0)), + s = (t.rp1 = u.c2p(t.s1)), + p = (t.thetag0 = f.c2g(t.p0)), + d = (t.thetag1 = f.c2g(t.p1)); + if (i(o) && i(s) && i(p) && i(d) && o !== s && p !== d) { + var g = u.c2g(t.s1), + m = (p + d) / 2; + (t.ct = [l.c2p(g * Math.cos(m)), c.c2p(g * Math.sin(m))]), + (e = h(o, s, p, d)); + } else e = 'M0,0Z'; + a.ensureSingle(r, 'path').attr('d', e); + }), + o.setClipUrl( + r, + e._hasClipOnAxisFalse ? e.clipIds.forTraces : null, + t + ); + }); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../plots/polar/helpers': 893, + d3: 169, + 'fast-isnumeric': 241, + }, + ], + 946: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../bar/attributes'), + a = t('../../components/color/attributes'), + o = t('../../plots/template_attributes').hovertemplateAttrs, + s = t('../../lib/extend').extendFlat, + l = n.marker, + c = l.line; + e.exports = { + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + x0: { valType: 'any', editType: 'calc+clearAxisTypes' }, + y0: { valType: 'any', editType: 'calc+clearAxisTypes' }, + dx: { valType: 'number', editType: 'calc' }, + dy: { valType: 'number', editType: 'calc' }, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + name: { valType: 'string', editType: 'calc+clearAxisTypes' }, + q1: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + median: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + q3: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + lowerfence: { valType: 'data_array', editType: 'calc' }, + upperfence: { valType: 'data_array', editType: 'calc' }, + notched: { valType: 'boolean', editType: 'calc' }, + notchwidth: { + valType: 'number', + min: 0, + max: 0.5, + dflt: 0.25, + editType: 'calc', + }, + notchspan: { valType: 'data_array', editType: 'calc' }, + boxpoints: { + valType: 'enumerated', + values: ['all', 'outliers', 'suspectedoutliers', !1], + editType: 'calc', + }, + jitter: { valType: 'number', min: 0, max: 1, editType: 'calc' }, + pointpos: { valType: 'number', min: -2, max: 2, editType: 'calc' }, + boxmean: { + valType: 'enumerated', + values: [!0, 'sd', !1], + editType: 'calc', + }, + mean: { valType: 'data_array', editType: 'calc' }, + sd: { valType: 'data_array', editType: 'calc' }, + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + editType: 'calc+clearAxisTypes', + }, + quartilemethod: { + valType: 'enumerated', + values: ['linear', 'exclusive', 'inclusive'], + dflt: 'linear', + editType: 'calc', + }, + width: { valType: 'number', min: 0, dflt: 0, editType: 'calc' }, + marker: { + outliercolor: { + valType: 'color', + dflt: 'rgba(0, 0, 0, 0)', + editType: 'style', + }, + symbol: s({}, l.symbol, { arrayOk: !1, editType: 'plot' }), + opacity: s({}, l.opacity, { + arrayOk: !1, + dflt: 1, + editType: 'style', + }), + size: s({}, l.size, { arrayOk: !1, editType: 'calc' }), + color: s({}, l.color, { arrayOk: !1, editType: 'style' }), + line: { + color: s({}, c.color, { + arrayOk: !1, + dflt: a.defaultLine, + editType: 'style', + }), + width: s({}, c.width, { + arrayOk: !1, + dflt: 0, + editType: 'style', + }), + outliercolor: { valType: 'color', editType: 'style' }, + outlierwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'style', + }, + editType: 'style', + }, + editType: 'plot', + }, + line: { + color: { valType: 'color', editType: 'style' }, + width: { valType: 'number', min: 0, dflt: 2, editType: 'style' }, + editType: 'plot', + }, + fillcolor: n.fillcolor, + whiskerwidth: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.5, + editType: 'calc', + }, + offsetgroup: i.offsetgroup, + alignmentgroup: i.alignmentgroup, + selected: { marker: n.selected.marker, editType: 'style' }, + unselected: { marker: n.unselected.marker, editType: 'style' }, + text: s({}, n.text, {}), + hovertext: s({}, n.hovertext, {}), + hovertemplate: o({}), + hoveron: { + valType: 'flaglist', + flags: ['boxes', 'points'], + dflt: 'boxes+points', + editType: 'style', + }, + }; + }, + { + '../../components/color/attributes': 642, + '../../lib/extend': 768, + '../../plots/template_attributes': 906, + '../bar/attributes': 921, + '../scatter/attributes': 1187, + }, + ], + 947: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/cartesian/align_period'), + o = t('../../lib'), + s = t('../../constants/numerical').BADNUM, + l = o._; + e.exports = function (t, e) { + var r, + c, + y, + x, + b, + _, + w, + T = t._fullLayout, + k = i.getFromId(t, e.xaxis || 'x'), + M = i.getFromId(t, e.yaxis || 'y'), + A = [], + S = 'violin' === e.type ? '_numViolins' : '_numBoxes'; + 'h' === e.orientation + ? ((y = k), + (x = 'x'), + (b = M), + (_ = 'y'), + (w = !!e.yperiodalignment)) + : ((y = M), + (x = 'y'), + (b = k), + (_ = 'x'), + (w = !!e.xperiodalignment)); + var E, + C, + L, + I, + P, + z, + O = (function (t, e, r, i) { + var s, + l = e + '0' in t, + c = 'd' + e in t; + if (e in t || (l && c)) { + var u = r.makeCalcdata(t, e); + return [a(t, r, e, u), u]; + } + s = l + ? t[e + '0'] + : 'name' in t && + ('category' === r.type || + (n(t.name) && -1 !== ['linear', 'log'].indexOf(r.type)) || + (o.isDateTime(t.name) && 'date' === r.type)) + ? t.name + : i; + for ( + var f = + 'multicategory' === r.type + ? r.r2c_just_indices(s) + : r.d2c(s, 0, t[e + 'calendar']), + h = t._length, + p = new Array(h), + d = 0; + d < h; + d++ + ) + p[d] = f; + return [p]; + })(e, _, b, T[S]), + D = O[0], + R = O[1], + F = o.distinctVals(D), + B = F.vals, + N = F.minDiff / 2, + j = + 'all' === (e.boxpoints || e.points) + ? o.identity + : function (t) { + return t.v < E.lf || t.v > E.uf; + }; + if (e._hasPreCompStats) { + var U = e[x], + V = function (t) { + return y.d2c((e[t] || [])[r]); + }, + q = 1 / 0, + H = -1 / 0; + for (r = 0; r < e._length; r++) { + var G = D[r]; + if (n(G)) { + if ( + (((E = {}).pos = E[_] = G), + w && R && (E.orig_p = R[r]), + (E.q1 = V('q1')), + (E.med = V('median')), + (E.q3 = V('q3')), + (C = []), + U && o.isArrayOrTypedArray(U[r])) + ) + for (c = 0; c < U[r].length; c++) + (z = y.d2c(U[r][c])) !== s && + (u((P = { v: z, i: [r, c] }), e, [r, c]), C.push(P)); + if ( + ((E.pts = C.sort(f)), + (I = (L = E[x] = C.map(h)).length), + E.med !== s && + E.q1 !== s && + E.q3 !== s && + E.med >= E.q1 && + E.q3 >= E.med) + ) { + var Y = V('lowerfence'); + E.lf = Y !== s && Y <= E.q1 ? Y : p(E, L, I); + var W = V('upperfence'); + E.uf = W !== s && W >= E.q3 ? W : d(E, L, I); + var X = V('mean'); + E.mean = X !== s ? X : I ? o.mean(L, I) : (E.q1 + E.q3) / 2; + var Z = V('sd'); + (E.sd = + X !== s && Z >= 0 + ? Z + : I + ? o.stdev(L, I, E.mean) + : E.q3 - E.q1), + (E.lo = g(E)), + (E.uo = m(E)); + var J = V('notchspan'); + (J = J !== s && J > 0 ? J : v(E, I)), + (E.ln = E.med - J), + (E.un = E.med + J); + var K = E.lf, + Q = E.uf; + e.boxpoints && + L.length && + ((K = Math.min(K, L[0])), (Q = Math.max(Q, L[I - 1]))), + e.notched && + ((K = Math.min(K, E.ln)), (Q = Math.max(Q, E.un))), + (E.min = K), + (E.max = Q); + } else { + var $; + o.warn( + [ + 'Invalid input - make sure that q1 <= median <= q3', + 'q1 = ' + E.q1, + 'median = ' + E.med, + 'q3 = ' + E.q3, + ].join('\n') + ), + ($ = + E.med !== s + ? E.med + : E.q1 !== s + ? E.q3 !== s + ? (E.q1 + E.q3) / 2 + : E.q1 + : E.q3 !== s + ? E.q3 + : 0), + (E.med = $), + (E.q1 = E.q3 = $), + (E.lf = E.uf = $), + (E.mean = E.sd = $), + (E.ln = E.un = $), + (E.min = E.max = $); + } + (q = Math.min(q, E.min)), + (H = Math.max(H, E.max)), + (E.pts2 = C.filter(j)), + A.push(E); + } + } + e._extremes[y._id] = i.findExtremes(y, [q, H], { padded: !0 }); + } else { + var tt = y.makeCalcdata(e, x), + et = (function (t, e) { + for ( + var r = t.length, n = new Array(r + 1), i = 0; + i < r; + i++ + ) + n[i] = t[i] - e; + return (n[r] = t[r - 1] + e), n; + })(B, N), + rt = B.length, + nt = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = []; + return e; + })(rt); + for (r = 0; r < e._length; r++) + if (((z = tt[r]), n(z))) { + var it = o.findBin(D[r], et); + it >= 0 && + it < rt && + (u((P = { v: z, i: r }), e, r), nt[it].push(P)); + } + var at = 1 / 0, + ot = -1 / 0, + st = e.quartilemethod, + lt = 'exclusive' === st, + ct = 'inclusive' === st; + for (r = 0; r < rt; r++) + if (nt[r].length > 0) { + var ut, ft; + if ( + (((E = {}).pos = E[_] = B[r]), + (C = E.pts = nt[r].sort(f)), + (I = (L = E[x] = C.map(h)).length), + (E.min = L[0]), + (E.max = L[I - 1]), + (E.mean = o.mean(L, I)), + (E.sd = o.stdev(L, I, E.mean)), + (E.med = o.interp(L, 0.5)), + I % 2 && (lt || ct)) + ) + lt + ? ((ut = L.slice(0, I / 2)), (ft = L.slice(I / 2 + 1))) + : ct && + ((ut = L.slice(0, I / 2 + 1)), (ft = L.slice(I / 2))), + (E.q1 = o.interp(ut, 0.5)), + (E.q3 = o.interp(ft, 0.5)); + else (E.q1 = o.interp(L, 0.25)), (E.q3 = o.interp(L, 0.75)); + (E.lf = p(E, L, I)), + (E.uf = d(E, L, I)), + (E.lo = g(E)), + (E.uo = m(E)); + var ht = v(E, I); + (E.ln = E.med - ht), + (E.un = E.med + ht), + (at = Math.min(at, E.ln)), + (ot = Math.max(ot, E.un)), + (E.pts2 = C.filter(j)), + A.push(E); + } + e._extremes[y._id] = i.findExtremes( + y, + e.notched ? tt.concat([at, ot]) : tt, + { padded: !0 } + ); + } + return ( + (function (t, e) { + if (o.isArrayOrTypedArray(e.selectedpoints)) + for (var r = 0; r < t.length; r++) { + for ( + var n = t[r].pts || [], i = {}, a = 0; + a < n.length; + a++ + ) + i[n[a].i] = a; + o.tagSelected(n, e, i); + } + })(A, e), + A.length > 0 + ? ((A[0].t = { + num: T[S], + dPos: N, + posLetter: _, + valLetter: x, + labels: { + med: l(t, 'median:'), + min: l(t, 'min:'), + q1: l(t, 'q1:'), + q3: l(t, 'q3:'), + max: l(t, 'max:'), + mean: + 'sd' === e.boxmean + ? l(t, 'mean \xb1 \u03c3:') + : l(t, 'mean:'), + lf: l(t, 'lower fence:'), + uf: l(t, 'upper fence:'), + }, + }), + T[S]++, + A) + : [{ t: { empty: !0 } }] + ); + }; + var c = { text: 'tx', hovertext: 'htx' }; + function u(t, e, r) { + for (var n in c) + o.isArrayOrTypedArray(e[n]) && + (Array.isArray(r) + ? o.isArrayOrTypedArray(e[n][r[0]]) && + (t[c[n]] = e[n][r[0]][r[1]]) + : (t[c[n]] = e[n][r])); + } + function f(t, e) { + return t.v - e.v; + } + function h(t) { + return t.v; + } + function p(t, e, r) { + return 0 === r + ? t.q1 + : Math.min( + t.q1, + e[ + Math.min( + o.findBin(2.5 * t.q1 - 1.5 * t.q3, e, !0) + 1, + r - 1 + ) + ] + ); + } + function d(t, e, r) { + return 0 === r + ? t.q3 + : Math.max( + t.q3, + e[Math.max(o.findBin(2.5 * t.q3 - 1.5 * t.q1, e), 0)] + ); + } + function g(t) { + return 4 * t.q1 - 3 * t.q3; + } + function m(t) { + return 4 * t.q3 - 3 * t.q1; + } + function v(t, e) { + return 0 === e ? 0 : (1.57 * (t.q3 - t.q1)) / Math.sqrt(e); + } + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + 'fast-isnumeric': 241, + }, + ], + 948: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib'), + a = t('../../plots/cartesian/constraints').getAxisGroup, + o = ['v', 'h']; + function s(t, e, r, o) { + var s, + l, + c, + u = e.calcdata, + f = e._fullLayout, + h = o._id, + p = h.charAt(0), + d = [], + g = 0; + for (s = 0; s < r.length; s++) + for (c = u[r[s]], l = 0; l < c.length; l++) + d.push(o.c2l(c[l].pos, !0)), (g += (c[l].pts2 || []).length); + if (d.length) { + var m = i.distinctVals(d, { + unitMinDiff: + 'category' === o.type || 'multicategory' === o.type, + }), + v = m.minDiff / 2; + n.minDtick(o, m.minDiff, m.vals[0], !0); + var y = f['violin' === t ? '_numViolins' : '_numBoxes'], + x = 'group' === f[t + 'mode'] && y > 1, + b = 1 - f[t + 'gap'], + _ = 1 - f[t + 'groupgap']; + for (s = 0; s < r.length; s++) { + var w, + T, + k, + M, + A, + S, + E = (c = u[r[s]])[0].trace, + C = c[0].t, + L = E.width, + I = E.side; + if (L) (w = T = M = L / 2), (k = 0); + else if (((w = v), x)) { + var P = a(f, o._id) + E.orientation, + z = (f._alignmentOpts[P] || {})[E.alignmentgroup] || {}, + O = Object.keys(z.offsetGroups || {}).length, + D = O || y; + (T = (w * b * _) / D), + (k = + 2 * + w * + (((O ? E._offsetIndex : C.num) + 0.5) / D - 0.5) * + b), + (M = (w * b) / D); + } else (T = w * b * _), (k = 0), (M = w); + (C.dPos = w), (C.bPos = k), (C.bdPos = T), (C.wHover = M); + var R, + F, + B, + N, + j, + U, + V = k + T, + q = Boolean(L); + if ( + ('positive' === I + ? ((A = w * (L ? 1 : 0.5)), (R = V), (S = R = k)) + : 'negative' === I + ? ((A = R = k), (S = w * (L ? 1 : 0.5)), (F = V)) + : ((A = S = w), (R = F = V)), + (E.boxpoints || E.points) && g > 0) + ) { + var H = E.pointpos, + G = E.jitter, + Y = E.marker.size / 2, + W = 0; + H + G >= 0 && + ((W = V * (H + G)) > A + ? ((q = !0), (j = Y), (B = W)) + : W > R && ((j = Y), (B = A))), + W <= A && (B = A); + var X = 0; + H - G <= 0 && + ((X = -V * (H - G)) > S + ? ((q = !0), (U = Y), (N = X)) + : X > F && ((U = Y), (N = S))), + X <= S && (N = S); + } else (B = A), (N = S); + var Z = new Array(c.length); + for (l = 0; l < c.length; l++) Z[l] = c[l].pos; + E._extremes[h] = n.findExtremes(o, Z, { + padded: q, + vpadminus: N, + vpadplus: B, + vpadLinearized: !0, + ppadminus: { x: U, y: j }[p], + ppadplus: { x: j, y: U }[p], + }); + } + } + } + e.exports = { + crossTraceCalc: function (t, e) { + for ( + var r = t.calcdata, n = e.xaxis, i = e.yaxis, a = 0; + a < o.length; + a++ + ) { + for ( + var l = o[a], c = 'h' === l ? i : n, u = [], f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + ('box' !== d.type && 'candlestick' !== d.type) || + p.empty || + (d.orientation || 'v') !== l || + d.xaxis !== n._id || + d.yaxis !== i._id || + u.push(f); + } + s('box', t, u, c); + } + }, + setPositionOffset: s, + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/constraints': 835, + }, + ], + 949: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = t('../../components/color'), + o = t('../scatter/period_defaults'), + s = t('../bar/defaults').handleGroupingDefaults, + l = t('../../plots/cartesian/axis_autotype'), + c = t('./attributes'); + function u(t, e, r, a) { + function o(t) { + var e = 0; + return ( + t && + t.length && + ((e += 1), + n.isArrayOrTypedArray(t[0]) && t[0].length && (e += 1)), + e + ); + } + function s(e) { + return n.validate(t[e], c[e]); + } + var u, + f = r('y'), + h = r('x'); + if ('box' === e.type) { + var p = r('q1'), + d = r('median'), + g = r('q3'); + (e._hasPreCompStats = + p && p.length && d && d.length && g && g.length), + (u = Math.min( + n.minRowLength(p), + n.minRowLength(d), + n.minRowLength(g) + )); + } + var m, + v, + y = o(f), + x = o(h), + b = y && n.minRowLength(f), + _ = x && n.minRowLength(h), + w = a.calendar, + T = { autotypenumbers: a.autotypenumbers }; + if (e._hasPreCompStats) + switch (String(x) + String(y)) { + case '00': + var k = s('x0') || s('dx'); + (m = (s('y0') || s('dy')) && !k ? 'h' : 'v'), (v = u); + break; + case '10': + (m = 'v'), (v = Math.min(u, _)); + break; + case '20': + (m = 'h'), (v = Math.min(u, h.length)); + break; + case '01': + (m = 'h'), (v = Math.min(u, b)); + break; + case '02': + (m = 'v'), (v = Math.min(u, f.length)); + break; + case '12': + (m = 'v'), (v = Math.min(u, _, f.length)); + break; + case '21': + (m = 'h'), (v = Math.min(u, h.length, b)); + break; + case '11': + v = 0; + break; + case '22': + var M, + A = !1; + for (M = 0; M < h.length; M++) + if ('category' === l(h[M], w, T)) { + A = !0; + break; + } + if (A) (m = 'v'), (v = Math.min(u, _, f.length)); + else { + for (M = 0; M < f.length; M++) + if ('category' === l(f[M], w, T)) { + A = !0; + break; + } + A + ? ((m = 'h'), (v = Math.min(u, h.length, b))) + : ((m = 'v'), (v = Math.min(u, _, f.length))); + } + } + else + y > 0 + ? ((m = 'v'), (v = x > 0 ? Math.min(_, b) : Math.min(b))) + : x > 0 + ? ((m = 'h'), (v = Math.min(_))) + : (v = 0); + if (v) { + e._length = v; + var S = r('orientation', m); + e._hasPreCompStats + ? 'v' === S && 0 === x + ? (r('x0', 0), r('dx', 1)) + : 'h' === S && 0 === y && (r('y0', 0), r('dy', 1)) + : 'v' === S && 0 === x + ? r('x0') + : 'h' === S && 0 === y && r('y0'), + i.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y'], + a + ); + } else e.visible = !1; + } + function f(t, e, r, i) { + var a = i.prefix, + o = n.coerce2(t, e, c, 'marker.outliercolor'), + s = r('marker.line.outliercolor'), + l = 'outliers'; + e._hasPreCompStats + ? (l = 'all') + : (o || s) && (l = 'suspectedoutliers'); + var u = r(a + 'points', l); + u + ? (r('jitter', 'all' === u ? 0.3 : 0), + r('pointpos', 'all' === u ? -1.5 : 0), + r('marker.symbol'), + r('marker.opacity'), + r('marker.size'), + r('marker.color', e.line.color), + r('marker.line.color'), + r('marker.line.width'), + 'suspectedoutliers' === u && + (r('marker.line.outliercolor', e.marker.color), + r('marker.line.outlierwidth')), + r('selected.marker.color'), + r('unselected.marker.color'), + r('selected.marker.size'), + r('unselected.marker.size'), + r('text'), + r('hovertext')) + : delete e.marker; + var f = r('hoveron'); + ('all' !== f && -1 === f.indexOf('points')) || r('hovertemplate'), + n.coerceSelectionMarkerOpacity(e, r); + } + e.exports = { + supplyDefaults: function (t, e, r, i) { + function s(r, i) { + return n.coerce(t, e, c, r, i); + } + if ((u(t, e, s, i), !1 !== e.visible)) { + o(t, e, i, s); + var l = e._hasPreCompStats; + l && (s('lowerfence'), s('upperfence')), + s('line.color', (t.marker || {}).color || r), + s('line.width'), + s('fillcolor', a.addOpacity(e.line.color, 0.5)); + var h = !1; + if (l) { + var p = s('mean'), + d = s('sd'); + p && p.length && ((h = !0), d && d.length && (h = 'sd')); + } + s('boxmean', h), + s('whiskerwidth'), + s('width'), + s('quartilemethod'); + var g = !1; + if (l) { + var m = s('notchspan'); + m && m.length && (g = !0); + } else n.validate(t.notchwidth, c.notchwidth) && (g = !0); + s('notched', g) && s('notchwidth'), + f(t, e, s, { prefix: 'box' }); + } + }, + crossTraceDefaults: function (t, e) { + var r, i; + function a(t) { + return n.coerce(i._input, i, c, t); + } + for (var o = 0; o < t.length; o++) { + var l = (i = t[o]).type; + ('box' !== l && 'violin' !== l) || + ((r = i._input), 'group' === e[l + 'mode'] && s(r, i, e, a)); + } + }, + handleSampleDefaults: u, + handlePointsDefaults: f, + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plots/cartesian/axis_autotype': 829, + '../../registry': 911, + '../bar/defaults': 925, + '../scatter/period_defaults': 1207, + './attributes': 946, + }, + ], + 950: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return ( + e.hoverOnBox && (t.hoverOnBox = e.hoverOnBox), + 'xVal' in e && (t.x = e.xVal), + 'yVal' in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + {}, + ], + 951: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib'), + a = t('../../components/fx'), + o = t('../../components/color'), + s = i.fillText; + function l(t, e, r, s) { + var l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w = t.cd, + T = t.xa, + k = t.ya, + M = w[0].trace, + A = w[0].t, + S = 'violin' === M.type, + E = [], + C = A.bdPos, + L = A.wHover, + I = function (t) { + return u.c2l(t.pos) + A.bPos - u.c2l(p); + }; + S && 'both' !== M.side + ? ('positive' === M.side && + ((m = function (t) { + var e = I(t); + return a.inbox(e, e + L, v); + }), + (x = C), + (b = 0)), + 'negative' === M.side && + ((m = function (t) { + var e = I(t); + return a.inbox(e - L, e, v); + }), + (x = 0), + (b = C))) + : ((m = function (t) { + var e = I(t); + return a.inbox(e - L, e + L, v); + }), + (x = b = C)), + (_ = S + ? function (t) { + return a.inbox(t.span[0] - h, t.span[1] - h, v); + } + : function (t) { + return a.inbox(t.min - h, t.max - h, v); + }), + 'h' === M.orientation + ? ((h = e), + (p = r), + (d = _), + (g = m), + (l = 'y'), + (u = k), + (c = 'x'), + (f = T)) + : ((h = r), + (p = e), + (d = m), + (g = _), + (l = 'x'), + (u = T), + (c = 'y'), + (f = k)); + var P = Math.min( + 1, + C / Math.abs(u.r2c(u.range[1]) - u.r2c(u.range[0])) + ); + function z(t) { + return (d(t) + g(t)) / 2; + } + (v = t.maxHoverDistance - P), (y = t.maxSpikeDistance - P); + var O = a.getDistanceFunction(s, d, g, z); + if ((a.getClosest(w, O, t), !1 === t.index)) return []; + var D = w[t.index], + R = M.line.color, + F = (M.marker || {}).color; + o.opacity(R) && M.line.width + ? (t.color = R) + : o.opacity(F) && M.boxpoints + ? (t.color = F) + : (t.color = M.fillcolor), + (t[l + '0'] = u.c2p(D.pos + A.bPos - b, !0)), + (t[l + '1'] = u.c2p(D.pos + A.bPos + x, !0)), + (t[l + 'LabelVal'] = void 0 !== D.orig_p ? D.orig_p : D.pos); + var B = l + 'Spike'; + (t.spikeDistance = (z(D) * y) / v), (t[B] = u.c2p(D.pos, !0)); + var N = {}, + j = ['med', 'q1', 'q3', 'min', 'max']; + (M.boxmean || (M.meanline || {}).visible) && j.push('mean'), + (M.boxpoints || M.points) && j.push('lf', 'uf'); + for (var U = 0; U < j.length; U++) { + var V = j[U]; + if (V in D && !(D[V] in N)) { + N[D[V]] = !0; + var q = D[V], + H = f.c2p(q, !0), + G = i.extendFlat({}, t); + (G.attr = V), + (G[c + '0'] = G[c + '1'] = H), + (G[c + 'LabelVal'] = q), + (G[c + 'Label'] = + (A.labels ? A.labels[V] + ' ' : '') + + n.hoverLabelText(f, q)), + (G.hoverOnBox = !0), + 'mean' === V && + 'sd' in D && + 'sd' === M.boxmean && + (G[c + 'err'] = D.sd), + (t.name = ''), + (t.spikeDistance = void 0), + (t[B] = void 0), + (G.hovertemplate = !1), + E.push(G); + } + } + return E; + } + function c(t, e, r) { + for ( + var n, + o, + l, + c = t.cd, + u = t.xa, + f = t.ya, + h = c[0].trace, + p = u.c2p(e), + d = f.c2p(r), + g = a.quadrature( + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max(Math.abs(u.c2p(t.x) - p) - e, 1 - 3 / e); + }, + function (t) { + var e = Math.max(3, t.mrc || 0); + return Math.max(Math.abs(f.c2p(t.y) - d) - e, 1 - 3 / e); + } + ), + m = !1, + v = 0; + v < c.length; + v++ + ) { + o = c[v]; + for (var y = 0; y < (o.pts || []).length; y++) { + var x = g((l = o.pts[y])); + x <= t.distance && ((t.distance = x), (m = [v, y])); + } + } + if (!m) return !1; + l = (o = c[m[0]]).pts[m[1]]; + var b = u.c2p(l.x, !0), + _ = f.c2p(l.y, !0), + w = l.mrc || 1; + n = i.extendFlat({}, t, { + index: l.i, + color: (h.marker || {}).color, + name: h.name, + x0: b - w, + x1: b + w, + y0: _ - w, + y1: _ + w, + spikeDistance: t.distance, + hovertemplate: h.hovertemplate, + }); + var T, + k = o.orig_p, + M = void 0 !== k ? k : o.pos; + return ( + 'h' === h.orientation + ? ((T = f), (n.xLabelVal = l.x), (n.yLabelVal = M)) + : ((T = u), (n.xLabelVal = M), (n.yLabelVal = l.y)), + (n[T._id.charAt(0) + 'Spike'] = T.c2p(o.pos, !0)), + s(l, h, n), + n + ); + } + e.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a = t.cd[0].trace.hoveron, + o = []; + return ( + -1 !== a.indexOf('boxes') && (o = o.concat(l(t, e, r, n))), + -1 !== a.indexOf('points') && (i = c(t, e, r)), + 'closest' === n ? (i ? [i] : o) : i ? (o.push(i), o) : o + ); + }, + hoverOnBoxes: l, + hoverOnPoints: c, + }; + }, + { + '../../components/color': 643, + '../../components/fx': 683, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + }, + ], + 952: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + crossTraceDefaults: t('./defaults').crossTraceDefaults, + supplyLayoutDefaults: t('./layout_defaults').supplyLayoutDefaults, + calc: t('./calc'), + crossTraceCalc: t('./cross_trace_calc').crossTraceCalc, + plot: t('./plot').plot, + style: t('./style').style, + styleOnSelect: t('./style').styleOnSelect, + hoverPoints: t('./hover').hoverPoints, + eventData: t('./event_data'), + selectPoints: t('./select'), + moduleType: 'trace', + name: 'box', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'symbols', + 'oriented', + 'box-violin', + 'showLegend', + 'boxLayout', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 946, + './calc': 947, + './cross_trace_calc': 948, + './defaults': 949, + './event_data': 950, + './hover': 951, + './layout_attributes': 953, + './layout_defaults': 954, + './plot': 955, + './select': 956, + './style': 957, + }, + ], + 953: [ + function (t, e, r) { + 'use strict'; + e.exports = { + boxmode: { + valType: 'enumerated', + values: ['group', 'overlay'], + dflt: 'overlay', + editType: 'calc', + }, + boxgap: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.3, + editType: 'calc', + }, + boxgroupgap: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.3, + editType: 'calc', + }, + }; + }, + {}, + ], + 954: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('./layout_attributes'); + function o(t, e, r, i, a) { + for (var o = a + 'Layout', s = !1, l = 0; l < r.length; l++) { + var c = r[l]; + if (n.traceIs(c, o)) { + s = !0; + break; + } + } + s && (i(a + 'mode'), i(a + 'gap'), i(a + 'groupgap')); + } + e.exports = { + supplyLayoutDefaults: function (t, e, r) { + o( + 0, + 0, + r, + function (r, n) { + return i.coerce(t, e, a, r, n); + }, + 'box' + ); + }, + _supply: o, + }; + }, + { '../../lib': 778, '../../registry': 911, './layout_attributes': 953 }, + ], + 955: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'); + function o(t, e, r, a) { + var o, + s, + l = 'h' === r.orientation, + c = e.val, + u = e.pos, + f = !!u.rangebreaks, + h = a.bPos, + p = a.wdPos || 0, + d = a.bPosPxOffset || 0, + g = r.whiskerwidth || 0, + m = r.notched || !1, + v = m ? 1 - 2 * r.notchwidth : 1; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var y = t + .selectAll('path.box') + .data('violin' !== r.type || r.box.visible ? i.identity : []); + y + .enter() + .append('path') + .style('vector-effect', 'non-scaling-stroke') + .attr('class', 'box'), + y.exit().remove(), + y.each(function (t) { + if (t.empty) return 'M0,0Z'; + var e = u.c2l(t.pos + h, !0), + a = u.l2p(e - o) + d, + y = u.l2p(e + s) + d, + x = f ? (a + y) / 2 : u.l2p(e) + d, + b = r.whiskerwidth, + _ = f ? a * b + (1 - b) * x : u.l2p(e - p) + d, + w = f ? y * b + (1 - b) * x : u.l2p(e + p) + d, + T = u.l2p(e - o * v) + d, + k = u.l2p(e + s * v) + d, + M = c.c2p(t.q1, !0), + A = c.c2p(t.q3, !0), + S = i.constrain( + c.c2p(t.med, !0), + Math.min(M, A) + 1, + Math.max(M, A) - 1 + ), + E = void 0 === t.lf || !1 === r.boxpoints, + C = c.c2p(E ? t.min : t.lf, !0), + L = c.c2p(E ? t.max : t.uf, !0), + I = c.c2p(t.ln, !0), + P = c.c2p(t.un, !0); + l + ? n + .select(this) + .attr( + 'd', + 'M' + + S + + ',' + + T + + 'V' + + k + + 'M' + + M + + ',' + + a + + 'V' + + y + + (m + ? 'H' + I + 'L' + S + ',' + k + 'L' + P + ',' + y + : '') + + 'H' + + A + + 'V' + + a + + (m + ? 'H' + P + 'L' + S + ',' + T + 'L' + I + ',' + a + : '') + + 'ZM' + + M + + ',' + + x + + 'H' + + C + + 'M' + + A + + ',' + + x + + 'H' + + L + + (0 === g + ? '' + : 'M' + + C + + ',' + + _ + + 'V' + + w + + 'M' + + L + + ',' + + _ + + 'V' + + w) + ) + : n + .select(this) + .attr( + 'd', + 'M' + + T + + ',' + + S + + 'H' + + k + + 'M' + + a + + ',' + + M + + 'H' + + y + + (m + ? 'V' + I + 'L' + k + ',' + S + 'L' + y + ',' + P + : '') + + 'V' + + A + + 'H' + + a + + (m + ? 'V' + P + 'L' + T + ',' + S + 'L' + a + ',' + I + : '') + + 'ZM' + + x + + ',' + + M + + 'V' + + C + + 'M' + + x + + ',' + + A + + 'V' + + L + + (0 === g + ? '' + : 'M' + + _ + + ',' + + C + + 'H' + + w + + 'M' + + _ + + ',' + + L + + 'H' + + w) + ); + }); + } + function s(t, e, r, n) { + var o = e.x, + s = e.y, + l = n.bdPos, + c = n.bPos, + u = r.boxpoints || r.points; + i.seedPseudoRandom(); + var f = t.selectAll('g.points').data( + u + ? function (t) { + return ( + t.forEach(function (t) { + (t.t = n), (t.trace = r); + }), + t + ); + } + : [] + ); + f.enter().append('g').attr('class', 'points'), f.exit().remove(); + var h = f.selectAll('path').data(function (t) { + var e, + n, + a = t.pts2, + o = Math.max((t.max - t.min) / 10, t.q3 - t.q1), + s = 1e-9 * o, + f = 0.01 * o, + h = [], + p = 0; + if (r.jitter) { + if (0 === o) + for (p = 1, h = new Array(a.length), e = 0; e < a.length; e++) + h[e] = 1; + else + for (e = 0; e < a.length; e++) { + var d = Math.max(0, e - 5), + g = a[d].v, + m = Math.min(a.length - 1, e + 5), + v = a[m].v; + 'all' !== u && + (a[e].v < t.lf + ? (v = Math.min(v, t.lf)) + : (g = Math.max(g, t.uf))); + var y = Math.sqrt((f * (m - d)) / (v - g + s)) || 0; + (y = i.constrain(Math.abs(y), 0, 1)), + h.push(y), + (p = Math.max(y, p)); + } + n = (2 * r.jitter) / (p || 1); + } + for (e = 0; e < a.length; e++) { + var x = a[e], + b = x.v, + _ = r.jitter ? n * h[e] * (i.pseudoRandom() - 0.5) : 0, + w = t.pos + c + l * (r.pointpos + _); + 'h' === r.orientation + ? ((x.y = w), (x.x = b)) + : ((x.x = w), (x.y = b)), + 'suspectedoutliers' === u && + b < t.uo && + b > t.lo && + (x.so = !0); + } + return a; + }); + h.enter().append('path').classed('point', !0), + h.exit().remove(), + h.call(a.translatePoints, o, s); + } + function l(t, e, r, a) { + var o, + s, + l = e.val, + c = e.pos, + u = !!c.rangebreaks, + f = a.bPos, + h = a.bPosPxOffset || 0, + p = r.boxmean || (r.meanline || {}).visible; + Array.isArray(a.bdPos) + ? ((o = a.bdPos[0]), (s = a.bdPos[1])) + : ((o = a.bdPos), (s = a.bdPos)); + var d = t + .selectAll('path.mean') + .data( + ('box' === r.type && r.boxmean) || + ('violin' === r.type && r.box.visible && r.meanline.visible) + ? i.identity + : [] + ); + d + .enter() + .append('path') + .attr('class', 'mean') + .style({ fill: 'none', 'vector-effect': 'non-scaling-stroke' }), + d.exit().remove(), + d.each(function (t) { + var e = c.c2l(t.pos + f, !0), + i = c.l2p(e - o) + h, + a = c.l2p(e + s) + h, + d = u ? (i + a) / 2 : c.l2p(e) + h, + g = l.c2p(t.mean, !0), + m = l.c2p(t.mean - t.sd, !0), + v = l.c2p(t.mean + t.sd, !0); + 'h' === r.orientation + ? n + .select(this) + .attr( + 'd', + 'M' + + g + + ',' + + i + + 'V' + + a + + ('sd' === p + ? 'm0,0L' + + m + + ',' + + d + + 'L' + + g + + ',' + + i + + 'L' + + v + + ',' + + d + + 'Z' + : '') + ) + : n + .select(this) + .attr( + 'd', + 'M' + + i + + ',' + + g + + 'H' + + a + + ('sd' === p + ? 'm0,0L' + + d + + ',' + + m + + 'L' + + i + + ',' + + g + + 'L' + + d + + ',' + + v + + 'Z' + : '') + ); + }); + } + e.exports = { + plot: function (t, e, r, a) { + var c = e.xaxis, + u = e.yaxis; + i.makeTraceGroups(a, r, 'trace boxes').each(function (t) { + var e, + r, + i = n.select(this), + a = t[0], + f = a.t, + h = a.trace; + ((f.wdPos = f.bdPos * h.whiskerwidth), + !0 !== h.visible || f.empty) + ? i.remove() + : ('h' === h.orientation + ? ((e = u), (r = c)) + : ((e = c), (r = u)), + o(i, { pos: e, val: r }, h, f), + s(i, { x: c, y: u }, h, f), + l(i, { pos: e, val: r }, h, f)); + }); + }, + plotBoxAndWhiskers: o, + plotPoints: s, + plotBoxMean: l, + }; + }, + { '../../components/drawing': 665, '../../lib': 778, d3: 169 }, + ], + 956: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r, + n, + i = t.cd, + a = t.xaxis, + o = t.yaxis, + s = []; + if (!1 === e) + for (r = 0; r < i.length; r++) + for (n = 0; n < (i[r].pts || []).length; n++) + i[r].pts[n].selected = 0; + else + for (r = 0; r < i.length; r++) + for (n = 0; n < (i[r].pts || []).length; n++) { + var l = i[r].pts[n], + c = a.c2p(l.x), + u = o.c2p(l.y); + e.contains([c, u], null, l.i, t) + ? (s.push({ + pointNumber: l.i, + x: a.c2d(l.x), + y: o.c2d(l.y), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return s; + }; + }, + {}, + ], + 957: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../../components/drawing'); + e.exports = { + style: function (t, e, r) { + var o = r || n.select(t).selectAll('g.trace.boxes'); + o.style('opacity', function (t) { + return t[0].trace.opacity; + }), + o.each(function (e) { + var r = n.select(this), + o = e[0].trace, + s = o.line.width; + function l(t, e, r, n) { + t.style('stroke-width', e + 'px') + .call(i.stroke, r) + .call(i.fill, n); + } + var c = r.selectAll('path.box'); + if ('candlestick' === o.type) + c.each(function (t) { + if (!t.empty) { + var e = n.select(this), + r = o[t.dir]; + l(e, r.line.width, r.line.color, r.fillcolor), + e.style( + 'opacity', + o.selectedpoints && !t.selected ? 0.3 : 1 + ); + } + }); + else { + l(c, s, o.line.color, o.fillcolor), + r + .selectAll('path.mean') + .style({ + 'stroke-width': s, + 'stroke-dasharray': 2 * s + 'px,' + s + 'px', + }) + .call(i.stroke, o.line.color); + var u = r.selectAll('path.point'); + a.pointStyle(u, o, t); + } + }); + }, + styleOnSelect: function (t, e, r) { + var n = e[0].trace, + i = r.selectAll('path.point'); + n.selectedpoints + ? a.selectedPointStyle(i, n) + : a.pointStyle(i, n, t); + }, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + d3: 169, + }, + ], + 958: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').extendFlat, + i = t('../ohlc/attributes'), + a = t('../box/attributes'); + function o(t) { + return { + line: { + color: n({}, a.line.color, { dflt: t }), + width: a.line.width, + editType: 'style', + }, + fillcolor: a.fillcolor, + editType: 'style', + }; + } + e.exports = { + xperiod: i.xperiod, + xperiod0: i.xperiod0, + xperiodalignment: i.xperiodalignment, + x: i.x, + open: i.open, + high: i.high, + low: i.low, + close: i.close, + line: { width: n({}, a.line.width, {}), editType: 'style' }, + increasing: o(i.increasing.line.color.dflt), + decreasing: o(i.decreasing.line.color.dflt), + text: i.text, + hovertext: i.hovertext, + whiskerwidth: n({}, a.whiskerwidth, { dflt: 0 }), + hoverlabel: i.hoverlabel, + }; + }, + { + '../../lib': 778, + '../box/attributes': 946, + '../ohlc/attributes': 1133, + }, + ], + 959: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../../plots/cartesian/align_period'), + o = t('../ohlc/calc').calcCommon; + function s(t, e, r, n) { + return { + min: r, + q1: Math.min(t, n), + med: n, + q3: Math.max(t, n), + max: e, + }; + } + e.exports = function (t, e) { + var r = t._fullLayout, + l = i.getFromId(t, e.xaxis), + c = i.getFromId(t, e.yaxis), + u = l.makeCalcdata(e, 'x'), + f = a(e, l, 'x', u), + h = o(t, e, u, f, c, s); + return h.length + ? (n.extendFlat(h[0].t, { + num: r._numBoxes, + dPos: n.distinctVals(f).minDiff / 2, + posLetter: 'x', + valLetter: 'y', + }), + r._numBoxes++, + h) + : [{ t: { empty: !0 } }]; + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + '../ohlc/calc': 1134, + }, + ], + 960: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../ohlc/ohlc_defaults'), + o = t('../scatter/period_defaults'), + s = t('./attributes'); + function l(t, e, r, n) { + var a = r(n + '.line.color'); + r(n + '.line.width', e.line.width), + r(n + '.fillcolor', i.addOpacity(a, 0.5)); + } + e.exports = function (t, e, r, i) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + a(t, e, c, i) + ? (o(t, e, i, c, { x: !0 }), + c('line.width'), + l(t, e, c, 'increasing'), + l(t, e, c, 'decreasing'), + c('text'), + c('hovertext'), + c('whiskerwidth'), + (i._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../ohlc/ohlc_defaults': 1138, + '../scatter/period_defaults': 1207, + './attributes': 958, + }, + ], + 961: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'candlestick', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'showLegend', + 'candlestick', + 'boxLayout', + ], + meta: {}, + attributes: t('./attributes'), + layoutAttributes: t('../box/layout_attributes'), + supplyLayoutDefaults: t('../box/layout_defaults') + .supplyLayoutDefaults, + crossTraceCalc: t('../box/cross_trace_calc').crossTraceCalc, + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('../box/plot').plot, + layerName: 'boxlayer', + style: t('../box/style').style, + hoverPoints: t('../ohlc/hover').hoverPoints, + selectPoints: t('../ohlc/select'), + }; + }, + { + '../../plots/cartesian': 841, + '../box/cross_trace_calc': 948, + '../box/layout_attributes': 953, + '../box/layout_defaults': 954, + '../box/plot': 955, + '../box/style': 957, + '../ohlc/hover': 1136, + '../ohlc/select': 1140, + './attributes': 958, + './calc': 959, + './defaults': 960, + }, + ], + 962: [ + function (t, e, r) { + 'use strict'; + var n = t('./axis_defaults'), + i = t('../../plot_api/plot_template'); + e.exports = function (t, e, r, a, o) { + a('a') || (a('da'), a('a0')), + a('b') || (a('db'), a('b0')), + (function (t, e, r, a) { + ['aaxis', 'baxis'].forEach(function (o) { + var s = o.charAt(0), + l = t[o] || {}, + c = i.newContainer(e, o), + u = { + tickfont: 'x', + id: s + 'axis', + letter: s, + font: e.font, + name: o, + data: t[s], + calendar: e.calendar, + dfltColor: a, + bgColor: r.paper_bgcolor, + autotypenumbersDflt: r.autotypenumbers, + fullLayout: r, + }; + n(l, c, u), + (c._categories = c._categories || []), + t[o] || '-' === l.type || (t[o] = { type: l.type }); + }); + })(t, e, r, o); + }; + }, + { '../../plot_api/plot_template': 817, './axis_defaults': 967 }, + ], + 963: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray; + e.exports = function (t) { + return (function t(e, r) { + if (!n(e) || r >= 10) return null; + for (var i = 1 / 0, a = -1 / 0, o = e.length, s = 0; s < o; s++) { + var l = e[s]; + if (n(l)) { + var c = t(l, r + 1); + c && ((i = Math.min(c[0], i)), (a = Math.max(c[1], a))); + } else (i = Math.min(l, i)), (a = Math.max(l, a)); + } + return [i, a]; + })(t, 0); + }; + }, + { '../../lib': 778 }, + ], + 964: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('./axis_attributes'), + a = t('../../components/color/attributes'), + o = n({ editType: 'calc' }); + (o.family.dflt = '"Open Sans", verdana, arial, sans-serif'), + (o.size.dflt = 12), + (o.color.dflt = a.defaultLine), + (e.exports = { + carpet: { valType: 'string', editType: 'calc' }, + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + a: { valType: 'data_array', editType: 'calc' }, + a0: { valType: 'number', dflt: 0, editType: 'calc' }, + da: { valType: 'number', dflt: 1, editType: 'calc' }, + b: { valType: 'data_array', editType: 'calc' }, + b0: { valType: 'number', dflt: 0, editType: 'calc' }, + db: { valType: 'number', dflt: 1, editType: 'calc' }, + cheaterslope: { valType: 'number', dflt: 1, editType: 'calc' }, + aaxis: i, + baxis: i, + font: o, + color: { + valType: 'color', + dflt: a.defaultLine, + editType: 'plot', + }, + transforms: void 0, + }); + }, + { + '../../components/color/attributes': 642, + '../../plots/font_attributes': 856, + './axis_attributes': 966, + }, + ], + 965: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r, i) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y = n(r) ? 'a' : 'b', + x = ('a' === y ? t.aaxis : t.baxis).smoothing, + b = 'a' === y ? t.a2i : t.b2j, + _ = 'a' === y ? r : i, + w = 'a' === y ? i : r, + T = 'a' === y ? e.a.length : e.b.length, + k = 'a' === y ? e.b.length : e.a.length, + M = Math.floor('a' === y ? t.b2j(w) : t.a2i(w)), + A = + 'a' === y + ? function (e) { + return t.evalxy([], e, M); + } + : function (e) { + return t.evalxy([], M, e); + }; + x && + ((s = Math.max(0, Math.min(k - 2, M))), + (l = M - s), + (o = + 'a' === y + ? function (e, r) { + return t.dxydi([], e, s, r, l); + } + : function (e, r) { + return t.dxydj([], s, e, l, r); + })); + var S = b(_[0]), + E = b(_[1]), + C = S < E ? 1 : -1, + L = 1e-8 * (E - S), + I = C > 0 ? Math.floor : Math.ceil, + P = C > 0 ? Math.ceil : Math.floor, + z = C > 0 ? Math.min : Math.max, + O = C > 0 ? Math.max : Math.min, + D = I(S + L), + R = P(E - L), + F = [[(f = A(S))]]; + for (a = D; a * C < R * C; a += C) + (c = []), + (g = O(S, a)), + (v = (m = z(E, a + C)) - g), + (u = Math.max(0, Math.min(T - 2, Math.floor(0.5 * (g + m))))), + (h = A(m)), + x && + ((p = o(u, g - u)), + (d = o(u, m - u)), + c.push([f[0] + (p[0] / 3) * v, f[1] + (p[1] / 3) * v]), + c.push([h[0] - (d[0] / 3) * v, h[1] - (d[1] / 3) * v])), + c.push(h), + F.push(c), + (f = h); + return F; + }; + }, + { '../../lib': 778 }, + ], + 966: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../../components/color/attributes'), + a = t('../../plots/cartesian/layout_attributes'), + o = t('../../plot_api/edit_types').overrideAll; + t('../../constants/docs').FORMAT_LINK, + t('../../constants/docs').TIME_FORMAT_LINK; + e.exports = { + color: { valType: 'color', editType: 'calc' }, + smoothing: { + valType: 'number', + dflt: 1, + min: 0, + max: 1.3, + editType: 'calc', + }, + title: { + text: { valType: 'string', dflt: '', editType: 'calc' }, + font: n({ editType: 'calc' }), + offset: { valType: 'number', dflt: 10, editType: 'calc' }, + editType: 'calc', + }, + type: { + valType: 'enumerated', + values: ['-', 'linear', 'date', 'category'], + dflt: '-', + editType: 'calc', + }, + autotypenumbers: a.autotypenumbers, + autorange: { + valType: 'enumerated', + values: [!0, !1, 'reversed'], + dflt: !0, + editType: 'calc', + }, + rangemode: { + valType: 'enumerated', + values: ['normal', 'tozero', 'nonnegative'], + dflt: 'normal', + editType: 'calc', + }, + range: { + valType: 'info_array', + editType: 'calc', + items: [ + { valType: 'any', editType: 'calc' }, + { valType: 'any', editType: 'calc' }, + ], + }, + fixedrange: { valType: 'boolean', dflt: !1, editType: 'calc' }, + cheatertype: { + valType: 'enumerated', + values: ['index', 'value'], + dflt: 'value', + editType: 'calc', + }, + tickmode: { + valType: 'enumerated', + values: ['linear', 'array'], + dflt: 'array', + editType: 'calc', + }, + nticks: { valType: 'integer', min: 0, dflt: 0, editType: 'calc' }, + tickvals: { valType: 'data_array', editType: 'calc' }, + ticktext: { valType: 'data_array', editType: 'calc' }, + showticklabels: { + valType: 'enumerated', + values: ['start', 'end', 'both', 'none'], + dflt: 'start', + editType: 'calc', + }, + tickfont: n({ editType: 'calc' }), + tickangle: { valType: 'angle', dflt: 'auto', editType: 'calc' }, + tickprefix: { valType: 'string', dflt: '', editType: 'calc' }, + showtickprefix: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'calc', + }, + ticksuffix: { valType: 'string', dflt: '', editType: 'calc' }, + showticksuffix: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'calc', + }, + showexponent: { + valType: 'enumerated', + values: ['all', 'first', 'last', 'none'], + dflt: 'all', + editType: 'calc', + }, + exponentformat: { + valType: 'enumerated', + values: ['none', 'e', 'E', 'power', 'SI', 'B'], + dflt: 'B', + editType: 'calc', + }, + minexponent: { + valType: 'number', + dflt: 3, + min: 0, + editType: 'calc', + }, + separatethousands: { + valType: 'boolean', + dflt: !1, + editType: 'calc', + }, + tickformat: { valType: 'string', dflt: '', editType: 'calc' }, + tickformatstops: o(a.tickformatstops, 'calc', 'from-root'), + categoryorder: { + valType: 'enumerated', + values: [ + 'trace', + 'category ascending', + 'category descending', + 'array', + ], + dflt: 'trace', + editType: 'calc', + }, + categoryarray: { valType: 'data_array', editType: 'calc' }, + labelpadding: { valType: 'integer', dflt: 10, editType: 'calc' }, + labelprefix: { valType: 'string', editType: 'calc' }, + labelsuffix: { valType: 'string', dflt: '', editType: 'calc' }, + showline: { valType: 'boolean', dflt: !1, editType: 'calc' }, + linecolor: { + valType: 'color', + dflt: i.defaultLine, + editType: 'calc', + }, + linewidth: { valType: 'number', min: 0, dflt: 1, editType: 'calc' }, + gridcolor: { valType: 'color', editType: 'calc' }, + gridwidth: { valType: 'number', min: 0, dflt: 1, editType: 'calc' }, + showgrid: { valType: 'boolean', dflt: !0, editType: 'calc' }, + minorgridcount: { + valType: 'integer', + min: 0, + dflt: 0, + editType: 'calc', + }, + minorgridwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'calc', + }, + minorgridcolor: { + valType: 'color', + dflt: i.lightLine, + editType: 'calc', + }, + startline: { valType: 'boolean', editType: 'calc' }, + startlinecolor: { valType: 'color', editType: 'calc' }, + startlinewidth: { valType: 'number', dflt: 1, editType: 'calc' }, + endline: { valType: 'boolean', editType: 'calc' }, + endlinewidth: { valType: 'number', dflt: 1, editType: 'calc' }, + endlinecolor: { valType: 'color', editType: 'calc' }, + tick0: { valType: 'number', min: 0, dflt: 0, editType: 'calc' }, + dtick: { valType: 'number', min: 0, dflt: 1, editType: 'calc' }, + arraytick0: { + valType: 'integer', + min: 0, + dflt: 0, + editType: 'calc', + }, + arraydtick: { + valType: 'integer', + min: 1, + dflt: 1, + editType: 'calc', + }, + _deprecated: { + title: { valType: 'string', editType: 'calc' }, + titlefont: n({ editType: 'calc' }), + titleoffset: { valType: 'number', dflt: 10, editType: 'calc' }, + }, + editType: 'calc', + }; + }, + { + '../../components/color/attributes': 642, + '../../constants/docs': 748, + '../../plot_api/edit_types': 810, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/font_attributes': 856, + }, + ], + 967: [ + function (t, e, r) { + 'use strict'; + var n = t('./attributes'), + i = t('../../components/color').addOpacity, + a = t('../../registry'), + o = t('../../lib'), + s = t('../../plots/cartesian/tick_value_defaults'), + l = t('../../plots/cartesian/tick_label_defaults'), + c = t('../../plots/cartesian/category_order_defaults'), + u = t('../../plots/cartesian/set_convert'), + f = t('../../plots/cartesian/axis_autotype'); + e.exports = function (t, e, r) { + var h = r.letter, + p = r.font || {}, + d = n[h + 'axis']; + function g(r, n) { + return o.coerce(t, e, d, r, n); + } + function m(r, n) { + return o.coerce2(t, e, d, r, n); + } + r.name && ((e._name = r.name), (e._id = r.name)), + g('autotypenumbers', r.autotypenumbersDflt); + var v = g('type'); + ('-' === v && + (r.data && + (function (t, e) { + if ('-' !== t.type) return; + var r = t._id.charAt(0), + n = t[r + 'calendar']; + t.type = f(e, n, { autotypenumbers: t.autotypenumbers }); + })(e, r.data), + '-' === e.type ? (e.type = 'linear') : (v = t.type = e.type)), + g('smoothing'), + g('cheatertype'), + g('showticklabels'), + g('labelprefix', h + ' = '), + g('labelsuffix'), + g('showtickprefix'), + g('showticksuffix'), + g('separatethousands'), + g('tickformat'), + g('exponentformat'), + g('minexponent'), + g('showexponent'), + g('categoryorder'), + g('tickmode'), + g('tickvals'), + g('ticktext'), + g('tick0'), + g('dtick'), + 'array' === e.tickmode && (g('arraytick0'), g('arraydtick')), + g('labelpadding'), + (e._hovertitle = h), + 'date' === v) && + a.getComponentMethod('calendars', 'handleDefaults')( + t, + e, + 'calendar', + r.calendar + ); + u(e, r.fullLayout), (e.c2p = o.identity); + var y = g('color', r.dfltColor), + x = y === t.color ? y : p.color; + g('title.text') && + (o.coerceFont(g, 'title.font', { + family: p.family, + size: Math.round(1.2 * p.size), + color: x, + }), + g('title.offset')), + g('tickangle'), + g('autorange', !e.isValidRange(t.range)) && g('rangemode'), + g('range'), + e.cleanRange(), + g('fixedrange'), + s(t, e, g, v), + l(t, e, g, v, r), + c(t, e, g, { data: r.data, dataAttr: h }); + var b = m('gridcolor', i(y, 0.3)), + _ = m('gridwidth'), + w = g('showgrid'); + w || (delete e.gridcolor, delete e.gridwidth); + var T = m('startlinecolor', y), + k = m('startlinewidth', _); + g('startline', e.showgrid || !!T || !!k) || + (delete e.startlinecolor, delete e.startlinewidth); + var M = m('endlinecolor', y), + A = m('endlinewidth', _); + return ( + g('endline', e.showgrid || !!M || !!A) || + (delete e.endlinecolor, delete e.endlinewidth), + w + ? (g('minorgridcount'), + g('minorgridwidth', _), + g('minorgridcolor', i(b, 0.06)), + e.minorgridcount || + (delete e.minorgridwidth, delete e.minorgridcolor)) + : (delete e.gridcolor, delete e.gridWidth), + 'none' === e.showticklabels && + (delete e.tickfont, + delete e.tickangle, + delete e.showexponent, + delete e.exponentformat, + delete e.minexponent, + delete e.tickformat, + delete e.showticksuffix, + delete e.showtickprefix), + e.showticksuffix || delete e.ticksuffix, + e.showtickprefix || delete e.tickprefix, + g('tickmode'), + e + ); + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../plots/cartesian/axis_autotype': 829, + '../../plots/cartesian/category_order_defaults': 832, + '../../plots/cartesian/set_convert': 848, + '../../plots/cartesian/tick_label_defaults': 849, + '../../plots/cartesian/tick_value_defaults': 851, + '../../registry': 911, + './attributes': 964, + }, + ], + 968: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib').isArray1D, + a = t('./cheater_basis'), + o = t('./array_minmax'), + s = t('./calc_gridlines'), + l = t('./calc_labels'), + c = t('./calc_clippath'), + u = t('../heatmap/clean_2d_array'), + f = t('./smooth_fill_2d_array'), + h = t('../heatmap/convert_column_xyz'), + p = t('./set_convert'); + e.exports = function (t, e) { + var r = n.getFromId(t, e.xaxis), + d = n.getFromId(t, e.yaxis), + g = e.aaxis, + m = e.baxis, + v = e.x, + y = e.y, + x = []; + v && i(v) && x.push('x'), + y && i(y) && x.push('y'), + x.length && h(e, g, m, 'a', 'b', x); + var b = (e._a = e._a || e.a), + _ = (e._b = e._b || e.b); + (v = e._x || e.x), (y = e._y || e.y); + var w = {}; + if (e._cheater) { + var T = 'index' === g.cheatertype ? b.length : b, + k = 'index' === m.cheatertype ? _.length : _; + v = a(T, k, e.cheaterslope); + } + (e._x = v = u(v)), + (e._y = y = u(y)), + f(v, b, _), + f(y, b, _), + p(e), + e.setScale(); + var M = o(v), + A = o(y), + S = 0.5 * (M[1] - M[0]), + E = 0.5 * (M[1] + M[0]), + C = 0.5 * (A[1] - A[0]), + L = 0.5 * (A[1] + A[0]); + return ( + (M = [E - 1.3 * S, E + 1.3 * S]), + (A = [L - 1.3 * C, L + 1.3 * C]), + (e._extremes[r._id] = n.findExtremes(r, M, { padded: !0 })), + (e._extremes[d._id] = n.findExtremes(d, A, { padded: !0 })), + s(e, 'a', 'b'), + s(e, 'b', 'a'), + l(e, g), + l(e, m), + (w.clipsegments = c(e._xctrl, e._yctrl, g, m)), + (w.x = v), + (w.y = y), + (w.a = b), + (w.b = _), + [w] + ); + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../heatmap/clean_2d_array': 1067, + '../heatmap/convert_column_xyz': 1069, + './array_minmax': 963, + './calc_clippath': 969, + './calc_gridlines': 970, + './calc_labels': 971, + './cheater_basis': 973, + './set_convert': 986, + './smooth_fill_2d_array': 987, + }, + ], + 969: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + var i, + a, + o, + s = [], + l = !!r.smoothing, + c = !!n.smoothing, + u = t[0].length - 1, + f = t.length - 1; + for (i = 0, a = [], o = []; i <= u; i++) + (a[i] = t[0][i]), (o[i] = e[0][i]); + for ( + s.push({ x: a, y: o, bicubic: l }), i = 0, a = [], o = []; + i <= f; + i++ + ) + (a[i] = t[i][u]), (o[i] = e[i][u]); + for ( + s.push({ x: a, y: o, bicubic: c }), i = u, a = [], o = []; + i >= 0; + i-- + ) + (a[u - i] = t[f][i]), (o[u - i] = e[f][i]); + for ( + s.push({ x: a, y: o, bicubic: l }), i = f, a = [], o = []; + i >= 0; + i-- + ) + (a[f - i] = t[i][0]), (o[f - i] = e[i][0]); + return s.push({ x: a, y: o, bicubic: c }), s; + }; + }, + {}, + ], + 970: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib/extend').extendFlat; + e.exports = function (t, e, r) { + var a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x = t['_' + e], + b = t[e + 'axis'], + _ = (b._gridlines = []), + w = (b._minorgridlines = []), + T = (b._boundarylines = []), + k = t['_' + r], + M = t[r + 'axis']; + 'array' === b.tickmode && (b.tickvals = x.slice()); + var A = t._xctrl, + S = t._yctrl, + E = A[0].length, + C = A.length, + L = t._a.length, + I = t._b.length; + n.prepTicks(b), 'array' === b.tickmode && delete b.tickvals; + var P = b.smoothing ? 3 : 1; + function z(n) { + var i, + a, + o, + s, + l, + c, + u, + f, + p, + d, + g, + m, + v = [], + y = [], + x = {}; + if ('b' === e) + for ( + a = t.b2j(n), + o = Math.floor(Math.max(0, Math.min(I - 2, a))), + s = a - o, + x.length = I, + x.crossLength = L, + x.xy = function (e) { + return t.evalxy([], e, a); + }, + x.dxy = function (e, r) { + return t.dxydi([], e, o, r, s); + }, + i = 0; + i < L; + i++ + ) + (c = Math.min(L - 2, i)), + (u = i - c), + (f = t.evalxy([], i, a)), + M.smoothing && + i > 0 && + ((p = t.dxydi([], i - 1, o, 0, s)), + v.push(l[0] + p[0] / 3), + y.push(l[1] + p[1] / 3), + (d = t.dxydi([], i - 1, o, 1, s)), + v.push(f[0] - d[0] / 3), + y.push(f[1] - d[1] / 3)), + v.push(f[0]), + y.push(f[1]), + (l = f); + else + for ( + i = t.a2i(n), + c = Math.floor(Math.max(0, Math.min(L - 2, i))), + u = i - c, + x.length = L, + x.crossLength = I, + x.xy = function (e) { + return t.evalxy([], i, e); + }, + x.dxy = function (e, r) { + return t.dxydj([], c, e, u, r); + }, + a = 0; + a < I; + a++ + ) + (o = Math.min(I - 2, a)), + (s = a - o), + (f = t.evalxy([], i, a)), + M.smoothing && + a > 0 && + ((g = t.dxydj([], c, a - 1, u, 0)), + v.push(l[0] + g[0] / 3), + y.push(l[1] + g[1] / 3), + (m = t.dxydj([], c, a - 1, u, 1)), + v.push(f[0] - m[0] / 3), + y.push(f[1] - m[1] / 3)), + v.push(f[0]), + y.push(f[1]), + (l = f); + return ( + (x.axisLetter = e), + (x.axis = b), + (x.crossAxis = M), + (x.value = n), + (x.constvar = r), + (x.index = h), + (x.x = v), + (x.y = y), + (x.smoothing = M.smoothing), + x + ); + } + function O(n) { + var i, + a, + o, + s, + l, + c = [], + u = [], + f = {}; + if ( + ((f.length = x.length), (f.crossLength = k.length), 'b' === e) + ) + for ( + o = Math.max(0, Math.min(I - 2, n)), + l = Math.min(1, Math.max(0, n - o)), + f.xy = function (e) { + return t.evalxy([], e, n); + }, + f.dxy = function (e, r) { + return t.dxydi([], e, o, r, l); + }, + i = 0; + i < E; + i++ + ) + (c[i] = A[n * P][i]), (u[i] = S[n * P][i]); + else + for ( + a = Math.max(0, Math.min(L - 2, n)), + s = Math.min(1, Math.max(0, n - a)), + f.xy = function (e) { + return t.evalxy([], n, e); + }, + f.dxy = function (e, r) { + return t.dxydj([], a, e, s, r); + }, + i = 0; + i < C; + i++ + ) + (c[i] = A[i][n * P]), (u[i] = S[i][n * P]); + return ( + (f.axisLetter = e), + (f.axis = b), + (f.crossAxis = M), + (f.value = x[n]), + (f.constvar = r), + (f.index = n), + (f.x = c), + (f.y = u), + (f.smoothing = M.smoothing), + f + ); + } + if ('array' === b.tickmode) { + for ( + l = 5e-15, + u = + (c = [ + Math.floor( + ((x.length - 1 - b.arraytick0) / b.arraydtick) * (1 + l) + ), + Math.ceil(-b.arraytick0 / b.arraydtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0] - 1, + f = c[1] + 1, + h = u; + h < f; + h++ + ) + (o = b.arraytick0 + b.arraydtick * h) < 0 || + o > x.length - 1 || + _.push(i(O(o), { color: b.gridcolor, width: b.gridwidth })); + for (h = u; h < f; h++) + if ( + ((s = b.arraytick0 + b.arraydtick * h), + (g = Math.min(s + b.arraydtick, x.length - 1)), + !(s < 0 || s > x.length - 1 || g < 0 || g > x.length - 1)) + ) + for (m = x[s], v = x[g], a = 0; a < b.minorgridcount; a++) + (y = g - s) <= 0 || + (d = + m + + (((v - m) * (a + 1)) / (b.minorgridcount + 1)) * + (b.arraydtick / y)) < x[0] || + d > x[x.length - 1] || + w.push( + i(z(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + }) + ); + b.startline && + T.push( + i(O(0), { color: b.startlinecolor, width: b.startlinewidth }) + ), + b.endline && + T.push( + i(O(x.length - 1), { + color: b.endlinecolor, + width: b.endlinewidth, + }) + ); + } else { + for ( + l = 5e-15, + u = (c = [ + Math.floor( + ((x[x.length - 1] - b.tick0) / b.dtick) * (1 + l) + ), + Math.ceil((x[0] - b.tick0) / b.dtick / (1 + l)), + ].sort(function (t, e) { + return t - e; + }))[0], + f = c[1], + h = u; + h <= f; + h++ + ) + (p = b.tick0 + b.dtick * h), + _.push(i(z(p), { color: b.gridcolor, width: b.gridwidth })); + for (h = u - 1; h < f + 1; h++) + for ( + p = b.tick0 + b.dtick * h, a = 0; + a < b.minorgridcount; + a++ + ) + (d = p + (b.dtick * (a + 1)) / (b.minorgridcount + 1)) < + x[0] || + d > x[x.length - 1] || + w.push( + i(z(d), { + color: b.minorgridcolor, + width: b.minorgridwidth, + }) + ); + b.startline && + T.push( + i(z(x[0]), { + color: b.startlinecolor, + width: b.startlinewidth, + }) + ), + b.endline && + T.push( + i(z(x[x.length - 1]), { + color: b.endlinecolor, + width: b.endlinewidth, + }) + ); + } + }; + }, + { '../../lib/extend': 768, '../../plots/cartesian/axes': 828 }, + ], + 971: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib/extend').extendFlat; + e.exports = function (t, e) { + var r, + a, + o, + s = (e._labels = []), + l = e._gridlines; + for (r = 0; r < l.length; r++) + (o = l[r]), + -1 !== ['start', 'both'].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + prefix: void 0, + suffix: void 0, + endAnchor: !0, + xy: o.xy(0), + dxy: o.dxy(0, 0), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)), + -1 !== ['end', 'both'].indexOf(e.showticklabels) && + ((a = n.tickText(e, o.value)), + i(a, { + endAnchor: !1, + xy: o.xy(o.crossLength - 1), + dxy: o.dxy(o.crossLength - 2, 1), + axis: o.axis, + length: o.crossAxis.length, + font: o.axis.tickfont, + isFirst: 0 === r, + isLast: r === l.length - 1, + }), + s.push(a)); + }; + }, + { '../../lib/extend': 768, '../../plots/cartesian/axes': 828 }, + ], + 972: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + var i = t[0] - e[0], + a = t[1] - e[1], + o = r[0] - e[0], + s = r[1] - e[1], + l = Math.pow(i * i + a * a, 0.25), + c = Math.pow(o * o + s * s, 0.25), + u = (c * c * i - l * l * o) * n, + f = (c * c * a - l * l * s) * n, + h = c * (l + c) * 3, + p = l * (l + c) * 3; + return [ + [e[0] + (h && u / h), e[1] + (h && f / h)], + [e[0] - (p && u / p), e[1] - (p && f / p)], + ]; + }; + }, + {}, + ], + 973: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r) { + var i, + a, + o, + s, + l, + c, + u = [], + f = n(t) ? t.length : t, + h = n(e) ? e.length : e, + p = n(t) ? t : null, + d = n(e) ? e : null; + p && (o = (p.length - 1) / (p[p.length - 1] - p[0]) / (f - 1)), + d && (s = (d.length - 1) / (d[d.length - 1] - d[0]) / (h - 1)); + var g = 1 / 0, + m = -1 / 0; + for (a = 0; a < h; a++) + for ( + u[a] = [], l = d ? (d[a] - d[0]) * s : a / (h - 1), i = 0; + i < f; + i++ + ) + (c = (p ? (p[i] - p[0]) * o : i / (f - 1)) - l * r), + (g = Math.min(c, g)), + (m = Math.max(c, m)), + (u[a][i] = c); + var v = 1 / (m - g), + y = -g * v; + for (a = 0; a < h; a++) + for (i = 0; i < f; i++) u[a][i] = v * u[a][i] + y; + return u; + }; + }, + { '../../lib': 778 }, + ], + 974: [ + function (t, e, r) { + 'use strict'; + var n = t('./catmull_rom'), + i = t('../../lib').ensureArray; + function a(t, e, r) { + var n = -0.5 * r[0] + 1.5 * e[0], + i = -0.5 * r[1] + 1.5 * e[1]; + return [(2 * n + t[0]) / 3, (2 * i + t[1]) / 3]; + } + e.exports = function (t, e, r, o, s, l) { + var c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x = r[0].length, + b = r.length, + _ = s ? 3 * x - 2 : x, + w = l ? 3 * b - 2 : b; + for (t = i(t, w), e = i(e, w), f = 0; f < w; f++) + (t[f] = i(t[f], _)), (e[f] = i(e[f], _)); + for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) + for ( + p = t[h], d = e[h], g = r[u], m = o[u], c = 0, f = 0; + c < x; + c++, f += s ? 3 : 1 + ) + (p[f] = g[c]), (d[f] = m[c]); + if (s) + for (u = 0, h = 0; u < b; u++, h += l ? 3 : 1) { + for (c = 1, f = 3; c < x - 1; c++, f += 3) + (v = n( + [r[u][c - 1], o[u][c - 1]], + [r[u][c], o[u][c]], + [r[u][c + 1], o[u][c + 1]], + s + )), + (t[h][f - 1] = v[0][0]), + (e[h][f - 1] = v[0][1]), + (t[h][f + 1] = v[1][0]), + (e[h][f + 1] = v[1][1]); + (y = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]] + )), + (t[h][1] = y[0]), + (e[h][1] = y[1]), + (y = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]] + )), + (t[h][_ - 2] = y[0]), + (e[h][_ - 2] = y[1]); + } + if (l) + for (f = 0; f < _; f++) { + for (h = 3; h < w - 3; h += 3) + (v = n( + [t[h - 3][f], e[h - 3][f]], + [t[h][f], e[h][f]], + [t[h + 3][f], e[h + 3][f]], + l + )), + (t[h - 1][f] = v[0][0]), + (e[h - 1][f] = v[0][1]), + (t[h + 1][f] = v[1][0]), + (e[h + 1][f] = v[1][1]); + (y = a( + [t[0][f], e[0][f]], + [t[2][f], e[2][f]], + [t[3][f], e[3][f]] + )), + (t[1][f] = y[0]), + (e[1][f] = y[1]), + (y = a( + [t[w - 1][f], e[w - 1][f]], + [t[w - 3][f], e[w - 3][f]], + [t[w - 4][f], e[w - 4][f]] + )), + (t[w - 2][f] = y[0]), + (e[w - 2][f] = y[1]); + } + if (s && l) + for (h = 1; h < w; h += (h + 1) % 3 == 0 ? 2 : 1) { + for (f = 3; f < _ - 3; f += 3) + (v = n( + [t[h][f - 3], e[h][f - 3]], + [t[h][f], e[h][f]], + [t[h][f + 3], e[h][f + 3]], + s + )), + (t[h][f - 1] = 0.5 * (t[h][f - 1] + v[0][0])), + (e[h][f - 1] = 0.5 * (e[h][f - 1] + v[0][1])), + (t[h][f + 1] = 0.5 * (t[h][f + 1] + v[1][0])), + (e[h][f + 1] = 0.5 * (e[h][f + 1] + v[1][1])); + (y = a( + [t[h][0], e[h][0]], + [t[h][2], e[h][2]], + [t[h][3], e[h][3]] + )), + (t[h][1] = 0.5 * (t[h][1] + y[0])), + (e[h][1] = 0.5 * (e[h][1] + y[1])), + (y = a( + [t[h][_ - 1], e[h][_ - 1]], + [t[h][_ - 3], e[h][_ - 3]], + [t[h][_ - 4], e[h][_ - 4]] + )), + (t[h][_ - 2] = 0.5 * (t[h][_ - 2] + y[0])), + (e[h][_ - 2] = 0.5 * (e[h][_ - 2] + y[1])); + } + return [t, e]; + }; + }, + { '../../lib': 778, './catmull_rom': 972 }, + ], + 975: [ + function (t, e, r) { + 'use strict'; + e.exports = { RELATIVE_CULL_TOLERANCE: 1e-6 }; + }, + {}, + ], + 976: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = 1 - i, + d = p * p, + g = p * i * 2, + m = -3 * d, + v = 3 * (d - g), + y = 3 * (g - h), + x = 3 * h, + b = a * a, + _ = b * a, + w = 1 - a, + T = w * w, + k = T * w; + for (f = 0; f < t.length; f++) + (o = + m * (u = t[f])[n][r] + + v * u[n][r + 1] + + y * u[n][r + 2] + + x * u[n][r + 3]), + (s = + m * u[n + 1][r] + + v * u[n + 1][r + 1] + + y * u[n + 1][r + 2] + + x * u[n + 1][r + 3]), + (l = + m * u[n + 2][r] + + v * u[n + 2][r + 1] + + y * u[n + 2][r + 2] + + x * u[n + 2][r + 3]), + (c = + m * u[n + 3][r] + + v * u[n + 3][r + 1] + + y * u[n + 3][r + 2] + + x * u[n + 3][r + 3]), + (e[f] = k * o + 3 * (T * a * s + w * b * l) + _ * c); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []), (r *= 3); + var u = i * i, + f = 1 - i, + h = f * f, + p = f * i * 2, + d = -3 * h, + g = 3 * (h - p), + m = 3 * (p - u), + v = 3 * u, + y = 1 - a; + for (l = 0; l < t.length; l++) + (o = + d * (c = t[l])[n][r] + + g * c[n][r + 1] + + m * c[n][r + 2] + + v * c[n][r + 3]), + (s = + d * c[n + 1][r] + + g * c[n + 1][r + 1] + + m * c[n + 1][r + 2] + + v * c[n + 1][r + 3]), + (e[l] = y * o + a * s); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + e || (e = []), (n *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + g = d * d, + m = g * d; + for (u = 0; u < t.length; u++) + (o = (f = t[u])[n][r + 1] - f[n][r]), + (s = f[n + 1][r + 1] - f[n + 1][r]), + (l = f[n + 2][r + 1] - f[n + 2][r]), + (c = f[n + 3][r + 1] - f[n + 3][r]), + (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []); + var u = 1 - a; + for (l = 0; l < t.length; l++) + (o = (c = t[l])[n][r + 1] - c[n][r]), + (s = c[n + 1][r + 1] - c[n + 1][r]), + (e[l] = u * o + a * s); + return e; + }; + }; + }, + {}, + ], + 977: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + return e && r + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + e || (e = []), (r *= 3), (n *= 3); + var h = i * i, + p = h * i, + d = 1 - i, + g = d * d, + m = g * d, + v = a * a, + y = 1 - a, + x = y * y, + b = y * a * 2, + _ = -3 * x, + w = 3 * (x - b), + T = 3 * (b - v), + k = 3 * v; + for (f = 0; f < t.length; f++) + (o = + _ * (u = t[f])[n][r] + + w * u[n + 1][r] + + T * u[n + 2][r] + + k * u[n + 3][r]), + (s = + _ * u[n][r + 1] + + w * u[n + 1][r + 1] + + T * u[n + 2][r + 1] + + k * u[n + 3][r + 1]), + (l = + _ * u[n][r + 2] + + w * u[n + 1][r + 2] + + T * u[n + 2][r + 2] + + k * u[n + 3][r + 2]), + (c = + _ * u[n][r + 3] + + w * u[n + 1][r + 3] + + T * u[n + 2][r + 3] + + k * u[n + 3][r + 3]), + (e[f] = m * o + 3 * (g * i * s + d * h * l) + p * c); + return e; + } + : e + ? function (e, r, n, i, a) { + var o, s, l, c, u, f; + e || (e = []), (r *= 3); + var h = a * a, + p = h * a, + d = 1 - a, + g = d * d, + m = g * d; + for (u = 0; u < t.length; u++) + (o = (f = t[u])[n + 1][r] - f[n][r]), + (s = f[n + 1][r + 1] - f[n][r + 1]), + (l = f[n + 1][r + 2] - f[n][r + 2]), + (c = f[n + 1][r + 3] - f[n][r + 3]), + (e[u] = m * o + 3 * (g * a * s + d * h * l) + p * c); + return e; + } + : r + ? function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []), (n *= 3); + var u = 1 - i, + f = a * a, + h = 1 - a, + p = h * h, + d = h * a * 2, + g = -3 * p, + m = 3 * (p - d), + v = 3 * (d - f), + y = 3 * f; + for (l = 0; l < t.length; l++) + (o = + g * (c = t[l])[n][r] + + m * c[n + 1][r] + + v * c[n + 2][r] + + y * c[n + 3][r]), + (s = + g * c[n][r + 1] + + m * c[n + 1][r + 1] + + v * c[n + 2][r + 1] + + y * c[n + 3][r + 1]), + (e[l] = u * o + i * s); + return e; + } + : function (e, r, n, i, a) { + var o, s, l, c; + e || (e = []); + var u = 1 - i; + for (l = 0; l < t.length; l++) + (o = (c = t[l])[n + 1][r] - c[n][r]), + (s = c[n + 1][r + 1] - c[n][r + 1]), + (e[l] = u * o + i * s); + return e; + }; + }; + }, + {}, + ], + 978: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + var a = e - 2, + o = r - 2; + return n && i + ? function (e, r, n) { + var i, s, l, c, u, f; + e || (e = []); + var h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + (h *= 3), (p *= 3); + var m = d * d, + v = m * d, + y = 1 - d, + x = y * y, + b = x * y, + _ = g * g, + w = _ * g, + T = 1 - g, + k = T * T, + M = k * T; + for (f = 0; f < t.length; f++) + (i = + b * (u = t[f])[p][h] + + 3 * (x * d * u[p][h + 1] + y * m * u[p][h + 2]) + + v * u[p][h + 3]), + (s = + b * u[p + 1][h] + + 3 * + (x * d * u[p + 1][h + 1] + y * m * u[p + 1][h + 2]) + + v * u[p + 1][h + 3]), + (l = + b * u[p + 2][h] + + 3 * + (x * d * u[p + 2][h + 1] + y * m * u[p + 2][h + 2]) + + v * u[p + 2][h + 3]), + (c = + b * u[p + 3][h] + + 3 * + (x * d * u[p + 3][h + 1] + y * m * u[p + 3][h + 2]) + + v * u[p + 3][h + 3]), + (e[f] = M * i + 3 * (k * g * s + T * _ * l) + w * c); + return e; + } + : n + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u, + f, + h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + h *= 3; + var m = d * d, + v = m * d, + y = 1 - d, + x = y * y, + b = x * y, + _ = 1 - g; + for (u = 0; u < t.length; u++) + (i = _ * (f = t[u])[p][h] + g * f[p + 1][h]), + (s = _ * f[p][h + 1] + g * f[p + 1][h + 1]), + (l = _ * f[p][h + 2] + g * f[p + 1][h + 1]), + (c = _ * f[p][h + 3] + g * f[p + 1][h + 1]), + (e[u] = b * i + 3 * (x * d * s + y * m * l) + v * c); + return e; + } + : i + ? function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u, + f, + h = Math.max(0, Math.min(Math.floor(r), a)), + p = Math.max(0, Math.min(Math.floor(n), o)), + d = Math.max(0, Math.min(1, r - h)), + g = Math.max(0, Math.min(1, n - p)); + p *= 3; + var m = g * g, + v = m * g, + y = 1 - g, + x = y * y, + b = x * y, + _ = 1 - d; + for (u = 0; u < t.length; u++) + (i = _ * (f = t[u])[p][h] + d * f[p][h + 1]), + (s = _ * f[p + 1][h] + d * f[p + 1][h + 1]), + (l = _ * f[p + 2][h] + d * f[p + 2][h + 1]), + (c = _ * f[p + 3][h] + d * f[p + 3][h + 1]), + (e[u] = b * i + 3 * (x * g * s + y * m * l) + v * c); + return e; + } + : function (e, r, n) { + e || (e = []); + var i, + s, + l, + c, + u = Math.max(0, Math.min(Math.floor(r), a)), + f = Math.max(0, Math.min(Math.floor(n), o)), + h = Math.max(0, Math.min(1, r - u)), + p = Math.max(0, Math.min(1, n - f)), + d = 1 - p, + g = 1 - h; + for (l = 0; l < t.length; l++) + (i = g * (c = t[l])[f][u] + h * c[f][u + 1]), + (s = g * c[f + 1][u] + h * c[f + 1][u + 1]), + (e[l] = d * i + p * s); + return e; + }; + }; + }, + {}, + ], + 979: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./xy_defaults'), + a = t('./ab_defaults'), + o = t('./attributes'), + s = t('../../components/color/attributes'); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, o, r, i); + } + e._clipPathId = 'clip' + e.uid + 'carpet'; + var u = c('color', s.defaultLine); + (n.coerceFont(c, 'font'), c('carpet'), a(t, e, l, c, u), e.a && e.b) + ? (e.a.length < 3 && (e.aaxis.smoothing = 0), + e.b.length < 3 && (e.baxis.smoothing = 0), + i(t, e, c) || (e.visible = !1), + e._cheater && c('cheaterslope')) + : (e.visible = !1); + }; + }, + { + '../../components/color/attributes': 642, + '../../lib': 778, + './ab_defaults': 962, + './attributes': 964, + './xy_defaults': 988, + }, + ], + 980: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + plot: t('./plot'), + calc: t('./calc'), + animatable: !0, + isContainer: !0, + moduleType: 'trace', + name: 'carpet', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'carpet', + 'carpetAxis', + 'notLegendIsolatable', + 'noMultiCategory', + 'noHover', + 'noSortingByValue', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 964, + './calc': 968, + './defaults': 979, + './plot': 985, + }, + ], + 981: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for (var r, n = t._fullData.length, i = 0; i < n; i++) { + var a = t._fullData[i]; + if ( + a.index !== e.index && + 'carpet' === a.type && + (r || (r = a), a.carpet === e.carpet) + ) + return a; + } + return r; + }; + }, + {}, + ], + 982: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + if (0 === t.length) return ''; + var n, + i = [], + a = r ? 3 : 1; + for (n = 0; n < t.length; n += a) + i.push(t[n] + ',' + e[n]), + r && + n < t.length - a && + (i.push('C'), + i.push( + [ + t[n + 1] + ',' + e[n + 1], + t[n + 2] + ',' + e[n + 2] + ' ', + ].join(' ') + )); + return i.join(r ? '' : 'L'); + }; + }, + {}, + ], + 983: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r) { + var i; + for ( + n(t) + ? t.length > e.length && (t = t.slice(0, e.length)) + : (t = []), + i = 0; + i < e.length; + i++ + ) + t[i] = r(e[i]); + return t; + }; + }, + { '../../lib': 778 }, + ], + 984: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i, a) { + var o = i[0] * t.dpdx(e), + s = i[1] * t.dpdy(r), + l = 1, + c = 1; + if (a) { + var u = Math.sqrt(i[0] * i[0] + i[1] * i[1]), + f = Math.sqrt(a[0] * a[0] + a[1] * a[1]), + h = (i[0] * a[0] + i[1] * a[1]) / u / f; + c = Math.max(0, h); + } + var p = (180 * Math.atan2(s, o)) / Math.PI; + return ( + p < -90 + ? ((p += 180), (l = -l)) + : p > 90 && ((p -= 180), (l = -l)), + { angle: p, flip: l, p: t.c2p(n, e, r), offsetMultplier: c } + ); + }; + }, + {}, + ], + 985: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('./map_1d_array'), + o = t('./makepath'), + s = t('./orient_text'), + l = t('../../lib/svg_text_utils'), + c = t('../../lib'), + u = c.strRotate, + f = c.strTranslate, + h = t('../../constants/alignment'); + function p(t, e, r, i, s, l) { + var c = 'const-' + s + '-lines', + u = r.selectAll('.' + c).data(l); + u + .enter() + .append('path') + .classed(c, !0) + .style('vector-effect', 'non-scaling-stroke'), + u.each(function (r) { + var i = r, + s = i.x, + l = i.y, + c = a([], s, t.c2p), + u = a([], l, e.c2p), + f = 'M' + o(c, u, i.smoothing); + n.select(this) + .attr('d', f) + .style('stroke-width', i.width) + .style('stroke', i.color) + .style('fill', 'none'); + }), + u.exit().remove(); + } + function d(t, e, r, a, o, c, h, p) { + var d = c.selectAll('text.' + p).data(h); + d.enter().append('text').classed(p, !0); + var g = 0, + m = {}; + return ( + d.each(function (o, c) { + var h; + if ('auto' === o.axis.tickangle) h = s(a, e, r, o.xy, o.dxy); + else { + var p = ((o.axis.tickangle + 180) * Math.PI) / 180; + h = s(a, e, r, o.xy, [Math.cos(p), Math.sin(p)]); + } + c || (m = { angle: h.angle, flip: h.flip }); + var d = (o.endAnchor ? -1 : 1) * h.flip, + v = n + .select(this) + .attr({ + 'text-anchor': d > 0 ? 'start' : 'end', + 'data-notex': 1, + }) + .call(i.font, o.font) + .text(o.text) + .call(l.convertToTspans, t), + y = i.bBox(this); + v.attr( + 'transform', + f(h.p[0], h.p[1]) + + u(h.angle) + + f(o.axis.labelpadding * d, 0.3 * y.height) + ), + (g = Math.max(g, y.width + o.axis.labelpadding)); + }), + d.exit().remove(), + (m.maxExtent = g), + m + ); + } + e.exports = function (t, e, r, i) { + var l = e.xaxis, + u = e.yaxis, + f = t._fullLayout._clips; + c.makeTraceGroups(i, r, 'trace').each(function (e) { + var r = n.select(this), + i = e[0], + h = i.trace, + g = h.aaxis, + m = h.baxis, + y = c.ensureSingle(r, 'g', 'minorlayer'), + x = c.ensureSingle(r, 'g', 'majorlayer'), + b = c.ensureSingle(r, 'g', 'boundarylayer'), + _ = c.ensureSingle(r, 'g', 'labellayer'); + r.style('opacity', h.opacity), + p(l, u, x, g, 'a', g._gridlines), + p(l, u, x, m, 'b', m._gridlines), + p(l, u, y, g, 'a', g._minorgridlines), + p(l, u, y, m, 'b', m._minorgridlines), + p(l, u, b, g, 'a-boundary', g._boundarylines), + p(l, u, b, m, 'b-boundary', m._boundarylines); + var w = d(t, l, u, h, i, _, g._labels, 'a-label'), + T = d(t, l, u, h, i, _, m._labels, 'b-label'); + !(function (t, e, r, n, i, a, o, l) { + var u, + f, + h, + p, + d = c.aggNums(Math.min, null, r.a), + g = c.aggNums(Math.max, null, r.a), + m = c.aggNums(Math.min, null, r.b), + y = c.aggNums(Math.max, null, r.b); + (u = 0.5 * (d + g)), + (f = m), + (h = r.ab2xy(u, f, !0)), + (p = r.dxyda_rough(u, f)), + void 0 === o.angle && + c.extendFlat(o, s(r, i, a, h, r.dxydb_rough(u, f))); + v(t, e, r, n, h, p, r.aaxis, i, a, o, 'a-title'), + (u = d), + (f = 0.5 * (m + y)), + (h = r.ab2xy(u, f, !0)), + (p = r.dxydb_rough(u, f)), + void 0 === l.angle && + c.extendFlat(l, s(r, i, a, h, r.dxyda_rough(u, f))); + v(t, e, r, n, h, p, r.baxis, i, a, l, 'b-title'); + })(t, _, h, i, l, u, w, T), + (function (t, e, r, n, i) { + var s, + l, + u, + f, + h = r.select('#' + t._clipPathId); + h.size() || + (h = r.append('clipPath').classed('carpetclip', !0)); + var p = c.ensureSingle(h, 'path', 'carpetboundary'), + d = e.clipsegments, + g = []; + for (f = 0; f < d.length; f++) + (s = d[f]), + (l = a([], s.x, n.c2p)), + (u = a([], s.y, i.c2p)), + g.push(o(l, u, s.bicubic)); + var m = 'M' + g.join('L') + 'Z'; + h.attr('id', t._clipPathId), p.attr('d', m); + })(h, i, f, l, u); + }); + }; + var g = h.LINE_SPACING, + m = (1 - h.MID_SHIFT) / g + 1; + function v(t, e, r, a, o, c, h, p, d, v, y) { + var x = []; + h.title.text && x.push(h.title.text); + var b = e.selectAll('text.' + y).data(x), + _ = v.maxExtent; + b.enter().append('text').classed(y, !0), + b.each(function () { + var e = s(r, p, d, o, c); + -1 === ['start', 'both'].indexOf(h.showticklabels) && (_ = 0); + var a = h.title.font.size; + _ += a + h.title.offset; + var y = + (v.angle + (v.flip < 0 ? 180 : 0) - e.angle + 450) % 360, + x = y > 90 && y < 270, + b = n.select(this); + b.text(h.title.text).call(l.convertToTspans, t), + x && (_ = (-l.lineCount(b) + m) * g * a - _), + b + .attr('transform', f(e.p[0], e.p[1]) + u(e.angle) + f(0, _)) + .attr('text-anchor', 'middle') + .call(i.font, h.title.font); + }), + b.exit().remove(); + } + }, + { + '../../components/drawing': 665, + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + './makepath': 982, + './map_1d_array': 983, + './orient_text': 984, + d3: 169, + }, + ], + 986: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('../../lib/search').findBin, + a = t('./compute_control_points'), + o = t('./create_spline_evaluator'), + s = t('./create_i_derivative_evaluator'), + l = t('./create_j_derivative_evaluator'); + e.exports = function (t) { + var e = t._a, + r = t._b, + c = e.length, + u = r.length, + f = t.aaxis, + h = t.baxis, + p = e[0], + d = e[c - 1], + g = r[0], + m = r[u - 1], + v = e[e.length - 1] - e[0], + y = r[r.length - 1] - r[0], + x = v * n.RELATIVE_CULL_TOLERANCE, + b = y * n.RELATIVE_CULL_TOLERANCE; + (p -= x), + (d += x), + (g -= b), + (m += b), + (t.isVisible = function (t, e) { + return t > p && t < d && e > g && e < m; + }), + (t.isOccluded = function (t, e) { + return t < p || t > d || e < g || e > m; + }), + (t.setScale = function () { + var e = t._x, + r = t._y, + n = a(t._xctrl, t._yctrl, e, r, f.smoothing, h.smoothing); + (t._xctrl = n[0]), + (t._yctrl = n[1]), + (t.evalxy = o( + [t._xctrl, t._yctrl], + c, + u, + f.smoothing, + h.smoothing + )), + (t.dxydi = s([t._xctrl, t._yctrl], f.smoothing, h.smoothing)), + (t.dxydj = l([t._xctrl, t._yctrl], f.smoothing, h.smoothing)); + }), + (t.i2a = function (t) { + var r = Math.max(0, Math.floor(t[0]), c - 2), + n = t[0] - r; + return (1 - n) * e[r] + n * e[r + 1]; + }), + (t.j2b = function (t) { + var e = Math.max(0, Math.floor(t[1]), c - 2), + n = t[1] - e; + return (1 - n) * r[e] + n * r[e + 1]; + }), + (t.ij2ab = function (e) { + return [t.i2a(e[0]), t.j2b(e[1])]; + }), + (t.a2i = function (t) { + var r = Math.max(0, Math.min(i(t, e), c - 2)), + n = e[r], + a = e[r + 1]; + return Math.max(0, Math.min(c - 1, r + (t - n) / (a - n))); + }), + (t.b2j = function (t) { + var e = Math.max(0, Math.min(i(t, r), u - 2)), + n = r[e], + a = r[e + 1]; + return Math.max(0, Math.min(u - 1, e + (t - n) / (a - n))); + }), + (t.ab2ij = function (e) { + return [t.a2i(e[0]), t.b2j(e[1])]; + }), + (t.i2c = function (e, r) { + return t.evalxy([], e, r); + }), + (t.ab2xy = function (n, i, a) { + if ( + !a && + (n < e[0] || (n > e[c - 1]) | (i < r[0]) || i > r[u - 1]) + ) + return [!1, !1]; + var o = t.a2i(n), + s = t.b2j(i), + l = t.evalxy([], o, s); + if (a) { + var f, + h, + p, + d, + g = 0, + m = 0, + v = []; + n < e[0] + ? ((f = 0), (h = 0), (g = (n - e[0]) / (e[1] - e[0]))) + : n > e[c - 1] + ? ((f = c - 2), + (h = 1), + (g = (n - e[c - 1]) / (e[c - 1] - e[c - 2]))) + : (h = + o - (f = Math.max(0, Math.min(c - 2, Math.floor(o))))), + i < r[0] + ? ((p = 0), (d = 0), (m = (i - r[0]) / (r[1] - r[0]))) + : i > r[u - 1] + ? ((p = u - 2), + (d = 1), + (m = (i - r[u - 1]) / (r[u - 1] - r[u - 2]))) + : (d = + s - + (p = Math.max(0, Math.min(u - 2, Math.floor(s))))), + g && + (t.dxydi(v, f, p, h, d), + (l[0] += v[0] * g), + (l[1] += v[1] * g)), + m && + (t.dxydj(v, f, p, h, d), + (l[0] += v[0] * m), + (l[1] += v[1] * m)); + } + return l; + }), + (t.c2p = function (t, e, r) { + return [e.c2p(t[0]), r.c2p(t[1])]; + }), + (t.p2x = function (t, e, r) { + return [e.p2c(t[0]), r.p2c(t[1])]; + }), + (t.dadi = function (t) { + var r = Math.max(0, Math.min(e.length - 2, t)); + return e[r + 1] - e[r]; + }), + (t.dbdj = function (t) { + var e = Math.max(0, Math.min(r.length - 2, t)); + return r[e + 1] - r[e]; + }), + (t.dxyda = function (e, r, n, i) { + var a = t.dxydi(null, e, r, n, i), + o = t.dadi(e, n); + return [a[0] / o, a[1] / o]; + }), + (t.dxydb = function (e, r, n, i) { + var a = t.dxydj(null, e, r, n, i), + o = t.dbdj(r, i); + return [a[0] / o, a[1] / o]; + }), + (t.dxyda_rough = function (e, r, n) { + var i = v * (n || 0.1), + a = t.ab2xy(e + i, r, !0), + o = t.ab2xy(e - i, r, !0); + return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; + }), + (t.dxydb_rough = function (e, r, n) { + var i = y * (n || 0.1), + a = t.ab2xy(e, r + i, !0), + o = t.ab2xy(e, r - i, !0); + return [(0.5 * (a[0] - o[0])) / i, (0.5 * (a[1] - o[1])) / i]; + }), + (t.dpdx = function (t) { + return t._m; + }), + (t.dpdy = function (t) { + return t._m; + }); + }; + }, + { + '../../lib/search': 798, + './compute_control_points': 974, + './constants': 975, + './create_i_derivative_evaluator': 976, + './create_j_derivative_evaluator': 977, + './create_spline_evaluator': 978, + }, + ], + 987: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e, r) { + var i, + a, + o, + s = [], + l = [], + c = t[0].length, + u = t.length; + function f(e, r) { + var n, + i = 0, + a = 0; + return ( + e > 0 && void 0 !== (n = t[r][e - 1]) && (a++, (i += n)), + e < c - 1 && void 0 !== (n = t[r][e + 1]) && (a++, (i += n)), + r > 0 && void 0 !== (n = t[r - 1][e]) && (a++, (i += n)), + r < u - 1 && void 0 !== (n = t[r + 1][e]) && (a++, (i += n)), + i / Math.max(1, a) + ); + } + var h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T = 0; + for (i = 0; i < c; i++) + for (a = 0; a < u; a++) + void 0 === t[a][i] && + (s.push(i), l.push(a), (t[a][i] = f(i, a))), + (T = Math.max(T, Math.abs(t[a][i]))); + if (!s.length) return t; + var k = 0, + M = 0, + A = s.length; + do { + for (k = 0, o = 0; o < A; o++) { + (i = s[o]), (a = l[o]); + var S, + E, + C, + L, + I, + P, + z = 0, + O = 0; + 0 === i + ? ((C = e[(I = Math.min(c - 1, 2))]), + (L = e[1]), + (S = t[a][I]), + (O += (E = t[a][1]) + ((E - S) * (e[0] - L)) / (L - C)), + z++) + : i === c - 1 && + ((C = e[(I = Math.max(0, c - 3))]), + (L = e[c - 2]), + (S = t[a][I]), + (O += + (E = t[a][c - 2]) + ((E - S) * (e[c - 1] - L)) / (L - C)), + z++), + (0 === i || i === c - 1) && + a > 0 && + a < u - 1 && + ((h = r[a + 1] - r[a]), + (O += + ((p = r[a] - r[a - 1]) * t[a + 1][i] + h * t[a - 1][i]) / + (p + h)), + z++), + 0 === a + ? ((C = r[(P = Math.min(u - 1, 2))]), + (L = r[1]), + (S = t[P][i]), + (O += (E = t[1][i]) + ((E - S) * (r[0] - L)) / (L - C)), + z++) + : a === u - 1 && + ((C = r[(P = Math.max(0, u - 3))]), + (L = r[u - 2]), + (S = t[P][i]), + (O += + (E = t[u - 2][i]) + + ((E - S) * (r[u - 1] - L)) / (L - C)), + z++), + (0 === a || a === u - 1) && + i > 0 && + i < c - 1 && + ((h = e[i + 1] - e[i]), + (O += + ((p = e[i] - e[i - 1]) * t[a][i + 1] + h * t[a][i - 1]) / + (p + h)), + z++), + z + ? (O /= z) + : ((d = e[i + 1] - e[i]), + (g = e[i] - e[i - 1]), + (x = + (m = r[a + 1] - r[a]) * + (v = r[a] - r[a - 1]) * + (m + v)), + (O = + ((y = d * g * (d + g)) * + (v * t[a + 1][i] + m * t[a - 1][i]) + + x * (g * t[a][i + 1] + d * t[a][i - 1])) / + (x * (g + d) + y * (v + m)))), + (k += (_ = (b = O - t[a][i]) / T) * _), + (w = z ? 0 : 0.85), + (t[a][i] += b * (1 + w)); + } + k = Math.sqrt(k); + } while (M++ < 100 && k > 1e-5); + return ( + n.log('Smoother converged to', k, 'after', M, 'iterations'), t + ); + }; + }, + { '../../lib': 778 }, + ], + 988: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArray1D; + e.exports = function (t, e, r) { + var i = r('x'), + a = i && i.length, + o = r('y'), + s = o && o.length; + if (!a && !s) return !1; + if (((e._cheater = !i), (a && !n(i)) || (s && !n(o)))) + e._length = null; + else { + var l = a ? i.length : 1 / 0; + s && (l = Math.min(l, o.length)), + e.a && e.a.length && (l = Math.min(l, e.a.length)), + e.b && e.b.length && (l = Math.min(l, e.b.length)), + (e._length = l); + } + return !0; + }; + }, + { '../../lib': 778 }, + ], + 989: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../scattergeo/attributes'), + a = t('../../components/colorscale/attributes'), + o = t('../../plots/attributes'), + s = t('../../components/color/attributes').defaultLine, + l = t('../../lib/extend').extendFlat, + c = i.marker.line; + e.exports = l( + { + locations: { valType: 'data_array', editType: 'calc' }, + locationmode: i.locationmode, + z: { valType: 'data_array', editType: 'calc' }, + geojson: l({}, i.geojson, {}), + featureidkey: i.featureidkey, + text: l({}, i.text, {}), + hovertext: l({}, i.hovertext, {}), + marker: { + line: { + color: l({}, c.color, { dflt: s }), + width: l({}, c.width, { dflt: 1 }), + editType: 'calc', + }, + opacity: { + valType: 'number', + arrayOk: !0, + min: 0, + max: 1, + dflt: 1, + editType: 'style', + }, + editType: 'calc', + }, + selected: { + marker: { + opacity: i.selected.marker.opacity, + editType: 'plot', + }, + editType: 'plot', + }, + unselected: { + marker: { + opacity: i.unselected.marker.opacity, + editType: 'plot', + }, + editType: 'plot', + }, + hoverinfo: l({}, o.hoverinfo, { + editType: 'calc', + flags: ['location', 'z', 'text', 'name'], + }), + hovertemplate: n(), + showlegend: l({}, o.showlegend, { dflt: !1 }), + }, + a('', { cLetter: 'z', editTypeOverride: 'calc' }) + ); + }, + { + '../../components/color/attributes': 642, + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scattergeo/attributes': 1229, + }, + ], + 990: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../constants/numerical').BADNUM, + a = t('../../components/colorscale/calc'), + o = t('../scatter/arrays_to_calcdata'), + s = t('../scatter/calc_selection'); + function l(t) { + return t && 'string' == typeof t; + } + e.exports = function (t, e) { + var r, + c = e._length, + u = new Array(c); + r = e.geojson + ? function (t) { + return l(t) || n(t); + } + : l; + for (var f = 0; f < c; f++) { + var h = (u[f] = {}), + p = e.locations[f], + d = e.z[f]; + r(p) && n(d) + ? ((h.loc = p), (h.z = d)) + : ((h.loc = null), (h.z = i)), + (h.index = f); + } + return ( + o(u, e), + a(t, e, { vals: e.z, containerStr: '', cLetter: 'z' }), + s(u, e), + u + ); + }; + }, + { + '../../components/colorscale/calc': 651, + '../../constants/numerical': 753, + '../scatter/arrays_to_calcdata': 1186, + '../scatter/calc_selection': 1189, + 'fast-isnumeric': 241, + }, + ], + 991: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/defaults'), + a = t('./attributes'); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s('locations'), + c = s('z'); + if (l && l.length && n.isArrayOrTypedArray(c) && c.length) { + e._length = Math.min(l.length, c.length); + var u, + f = s('geojson'); + (('string' == typeof f && '' !== f) || n.isPlainObject(f)) && + (u = 'geojson-id'), + 'geojson-id' === s('locationmode', u) && s('featureidkey'), + s('text'), + s('hovertext'), + s('hovertemplate'), + s('marker.line.width') && s('marker.line.color'), + s('marker.opacity'), + i(t, e, o, s, { prefix: '', cLetter: 'z' }), + n.coerceSelectionMarkerOpacity(e, s); + } else e.visible = !1; + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + './attributes': 989, + }, + ], + 992: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + (t.location = e.location), (t.z = e.z); + var a = n[i]; + return ( + a.fIn && a.fIn.properties && (t.properties = a.fIn.properties), + (t.ct = a.ct), + t + ); + }; + }, + {}, + ], + 993: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('./attributes'), + a = t('../../lib').fillText; + e.exports = function (t, e, r) { + var o, + s, + l, + c, + u = t.cd, + f = u[0].trace, + h = t.subplot, + p = [e, r], + d = [e + 360, r]; + for (s = 0; s < u.length; s++) + if (((c = !1), (o = u[s])._polygons)) { + for (l = 0; l < o._polygons.length; l++) + o._polygons[l].contains(p) && (c = !c), + o._polygons[l].contains(d) && (c = !c); + if (c) break; + } + if (c && o) + return ( + (t.x0 = t.x1 = t.xa.c2p(o.ct)), + (t.y0 = t.y1 = t.ya.c2p(o.ct)), + (t.index = o.index), + (t.location = o.loc), + (t.z = o.z), + (t.zLabel = n.tickText( + h.mockAxis, + h.mockAxis.c2l(o.z), + 'hover' + ).text), + (t.hovertemplate = o.hovertemplate), + (function (t, e, r) { + if (e.hovertemplate) return; + var n = r.hi || e.hoverinfo, + o = String(r.loc), + s = 'all' === n ? i.hoverinfo.flags : n.split('+'), + l = -1 !== s.indexOf('name'), + c = -1 !== s.indexOf('location'), + u = -1 !== s.indexOf('z'), + f = -1 !== s.indexOf('text'), + h = []; + !l && c + ? (t.nameOverride = o) + : (l && (t.nameOverride = e.name), c && h.push(o)); + u && h.push(t.zLabel); + f && a(r, e, h); + t.extraText = h.join('
'); + })(t, f, o), + [t] + ); + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + './attributes': 989, + }, + ], + 994: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../heatmap/colorbar'), + calc: t('./calc'), + calcGeoJSON: t('./plot').calcGeoJSON, + plot: t('./plot').plot, + style: t('./style').style, + styleOnSelect: t('./style').styleOnSelect, + hoverPoints: t('./hover'), + eventData: t('./event_data'), + selectPoints: t('./select'), + moduleType: 'trace', + name: 'choropleth', + basePlotModule: t('../../plots/geo'), + categories: ['geo', 'noOpacity', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/geo': 860, + '../heatmap/colorbar': 1068, + './attributes': 989, + './calc': 990, + './defaults': 991, + './event_data': 992, + './hover': 993, + './plot': 995, + './select': 996, + './style': 997, + }, + ], + 995: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../lib/geo_location_utils'), + o = t('../../lib/topojson_utils').getTopojsonFeatures, + s = t('../../plots/cartesian/autorange').findExtremes, + l = t('./style').style; + e.exports = { + calcGeoJSON: function (t, e) { + for ( + var r = t[0].trace, + n = e[r.geo], + i = n._subplot, + l = r.locationmode, + c = r._length, + u = + 'geojson-id' === l + ? a.extractTraceFeature(t) + : o(r, i.topojson), + f = [], + h = [], + p = 0; + p < c; + p++ + ) { + var d = t[p], + g = + 'geojson-id' === l + ? d.fOut + : a.locationToFeature(l, d.loc, u); + if (g) { + (d.geojson = g), + (d.ct = g.properties.ct), + (d._polygons = a.feature2polygons(g)); + var m = a.computeBbox(g); + f.push(m[0], m[2]), h.push(m[1], m[3]); + } else d.geojson = null; + } + if ('geojson' === n.fitbounds && 'geojson-id' === l) { + var v = a.computeBbox(a.getTraceGeojson(r)); + (f = [v[0], v[2]]), (h = [v[1], v[3]]); + } + var y = { padded: !0 }; + (r._extremes.lon = s(n.lonaxis._ax, f, y)), + (r._extremes.lat = s(n.lataxis._ax, h, y)); + }, + plot: function (t, e, r) { + var a = e.layers.backplot.select('.choroplethlayer'); + i.makeTraceGroups(a, r, 'trace choropleth').each(function (e) { + var r = n + .select(this) + .selectAll('path.choroplethlocation') + .data(i.identity); + r.enter().append('path').classed('choroplethlocation', !0), + r.exit().remove(), + l(t, e); + }); + }, + }; + }, + { + '../../lib': 778, + '../../lib/geo_location_utils': 771, + '../../lib/topojson_utils': 806, + '../../plots/cartesian/autorange': 827, + './style': 997, + d3: 169, + }, + ], + 996: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r, + n, + i, + a, + o, + s = t.cd, + l = t.xaxis, + c = t.yaxis, + u = []; + if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + (i = (n = s[r]).ct) && + ((a = l.c2p(i)), + (o = c.c2p(i)), + e.contains([a, o], null, r, t) + ? (u.push({ pointNumber: r, lon: i[0], lat: i[1] }), + (n.selected = 1)) + : (n.selected = 0)); + return u; + }; + }, + {}, + ], + 997: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../../components/drawing'), + o = t('../../components/colorscale'); + function s(t, e) { + var r = e[0].trace, + s = e[0].node3.selectAll('.choroplethlocation'), + l = r.marker || {}, + c = l.line || {}, + u = o.makeColorScaleFuncFromTrace(r); + s.each(function (t) { + n.select(this) + .attr('fill', u(t.z)) + .call(i.stroke, t.mlc || c.color) + .call(a.dashLine, '', t.mlw || c.width || 0) + .style('opacity', l.opacity); + }), + a.selectedPointStyle(s, r, t); + } + e.exports = { + style: function (t, e) { + e && s(t, e); + }, + styleOnSelect: function (t, e) { + var r = e[0].node3, + n = e[0].trace; + n.selectedpoints + ? a.selectedPointStyle(r.selectAll('.choroplethlocation'), n, t) + : s(t, e); + }, + }; + }, + { + '../../components/color': 643, + '../../components/colorscale': 655, + '../../components/drawing': 665, + d3: 169, + }, + ], + 998: [ + function (t, e, r) { + 'use strict'; + var n = t('../choropleth/attributes'), + i = t('../../components/colorscale/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat; + e.exports = s( + { + locations: { valType: 'data_array', editType: 'calc' }, + z: { valType: 'data_array', editType: 'calc' }, + geojson: { valType: 'any', editType: 'calc' }, + featureidkey: s({}, n.featureidkey, {}), + below: { valType: 'string', editType: 'plot' }, + text: n.text, + hovertext: n.hovertext, + marker: { + line: { + color: s({}, n.marker.line.color, { editType: 'plot' }), + width: s({}, n.marker.line.width, { editType: 'plot' }), + editType: 'calc', + }, + opacity: s({}, n.marker.opacity, { editType: 'plot' }), + editType: 'calc', + }, + selected: { + marker: { + opacity: s({}, n.selected.marker.opacity, { + editType: 'plot', + }), + editType: 'plot', + }, + editType: 'plot', + }, + unselected: { + marker: { + opacity: s({}, n.unselected.marker.opacity, { + editType: 'plot', + }), + editType: 'plot', + }, + editType: 'plot', + }, + hoverinfo: n.hoverinfo, + hovertemplate: a({}, { keys: ['properties'] }), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + i('', { cLetter: 'z', editTypeOverride: 'calc' }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../choropleth/attributes': 989, + }, + ], + 999: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../components/colorscale'), + o = t('../../components/drawing'), + s = t('../../lib/geojson_utils').makeBlank, + l = t('../../lib/geo_location_utils'); + function c(t) { + var e, + r = t[0].trace, + n = r._opts; + if (r.selectedpoints) { + for ( + var a = o.makeSelectedPointStyleFns(r), s = 0; + s < t.length; + s++ + ) { + var l = t[s]; + l.fOut && (l.fOut.properties.mo2 = a.selectedOpacityFn(l)); + } + e = { type: 'identity', property: 'mo2' }; + } else + e = i.isArrayOrTypedArray(r.marker.opacity) + ? { type: 'identity', property: 'mo' } + : r.marker.opacity; + return ( + i.extendFlat(n.fill.paint, { 'fill-opacity': e }), + i.extendFlat(n.line.paint, { 'line-opacity': e }), + n + ); + } + e.exports = { + convert: function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + o = { layout: { visibility: 'none' }, paint: {} }, + u = { layout: { visibility: 'none' }, paint: {} }, + f = (e._opts = { fill: o, line: u, geojson: s() }); + if (!r) return f; + var h = l.extractTraceFeature(t); + if (!h) return f; + var p, + d, + g, + m = a.makeColorScaleFuncFromTrace(e), + v = e.marker, + y = v.line || {}; + i.isArrayOrTypedArray(v.opacity) && + (p = function (t) { + var e = t.mo; + return n(e) ? +i.constrain(e, 0, 1) : 0; + }), + i.isArrayOrTypedArray(y.color) && + (d = function (t) { + return t.mlc; + }), + i.isArrayOrTypedArray(y.width) && + (g = function (t) { + return t.mlw; + }); + for (var x = 0; x < t.length; x++) { + var b = t[x], + _ = b.fOut; + if (_) { + var w = _.properties; + (w.fc = m(b.z)), + p && (w.mo = p(b)), + d && (w.mlc = d(b)), + g && (w.mlw = g(b)), + (b.ct = w.ct), + (b._polygons = l.feature2polygons(_)); + } + } + var T = p ? { type: 'identity', property: 'mo' } : v.opacity; + return ( + i.extendFlat(o.paint, { + 'fill-color': { type: 'identity', property: 'fc' }, + 'fill-opacity': T, + }), + i.extendFlat(u.paint, { + 'line-color': d + ? { type: 'identity', property: 'mlc' } + : y.color, + 'line-width': g + ? { type: 'identity', property: 'mlw' } + : y.width, + 'line-opacity': T, + }), + (o.layout.visibility = 'visible'), + (u.layout.visibility = 'visible'), + (f.geojson = { type: 'FeatureCollection', features: h }), + c(t), + f + ); + }, + convertOnSelect: c, + }; + }, + { + '../../components/colorscale': 655, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/geo_location_utils': 771, + '../../lib/geojson_utils': 772, + 'fast-isnumeric': 241, + }, + ], + 1e3: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/defaults'), + a = t('./attributes'); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s('locations'), + c = s('z'), + u = s('geojson'); + n.isArrayOrTypedArray(l) && + l.length && + n.isArrayOrTypedArray(c) && + c.length && + (('string' == typeof u && '' !== u) || n.isPlainObject(u)) + ? (s('featureidkey'), + (e._length = Math.min(l.length, c.length)), + s('below'), + s('text'), + s('hovertext'), + s('hovertemplate'), + s('marker.line.width') && s('marker.line.color'), + s('marker.opacity'), + i(t, e, o, s, { prefix: '', cLetter: 'z' }), + n.coerceSelectionMarkerOpacity(e, s)) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + './attributes': 998, + }, + ], + 1001: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../heatmap/colorbar'), + calc: t('../choropleth/calc'), + plot: t('./plot'), + hoverPoints: t('../choropleth/hover'), + eventData: t('../choropleth/event_data'), + selectPoints: t('../choropleth/select'), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.updateOnSelect(e); + }, + getBelow: function (t, e) { + for (var r = e.getMapLayers(), n = r.length - 2; n >= 0; n--) { + var i = r[n].id; + if ('string' == typeof i && 0 === i.indexOf('water')) + for (var a = n + 1; a < r.length; a++) + if ( + 'string' == typeof (i = r[a].id) && + -1 === i.indexOf('plotly-') + ) + return i; + } + }, + moduleType: 'trace', + name: 'choroplethmapbox', + basePlotModule: t('../../plots/mapbox'), + categories: ['mapbox', 'gl', 'noOpacity', 'showLegend'], + meta: { hr_name: 'choropleth_mapbox' }, + }; + }, + { + '../../plots/mapbox': 885, + '../choropleth/calc': 990, + '../choropleth/event_data': 992, + '../choropleth/hover': 993, + '../choropleth/select': 996, + '../heatmap/colorbar': 1068, + './attributes': 998, + './defaults': 1e3, + './plot': 1002, + }, + ], + 1002: [ + function (t, e, r) { + 'use strict'; + var n = t('./convert').convert, + i = t('./convert').convertOnSelect, + a = t('../../plots/mapbox/constants').traceLayerPrefix; + function o(t, e) { + (this.type = 'choroplethmapbox'), + (this.subplot = t), + (this.uid = e), + (this.sourceId = 'source-' + e), + (this.layerList = [ + ['fill', a + e + '-fill'], + ['line', a + e + '-line'], + ]), + (this.below = null); + } + var s = o.prototype; + (s.update = function (t) { + this._update(n(t)); + }), + (s.updateOnSelect = function (t) { + this._update(i(t)); + }), + (s._update = function (t) { + var e = this.subplot, + r = this.layerList, + n = e.belowLookup['trace-' + this.uid]; + e.map.getSource(this.sourceId).setData(t.geojson), + n !== this.below && + (this._removeLayers(), + this._addLayers(t, n), + (this.below = n)); + for (var i = 0; i < r.length; i++) { + var a = r[i], + o = a[0], + s = a[1], + l = t[o]; + e.setOptions(s, 'setLayoutProperty', l.layout), + 'visible' === l.layout.visibility && + e.setOptions(s, 'setPaintProperty', l.paint); + } + }), + (s._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e + ); + } + }), + (s._removeLayers = function () { + for ( + var t = this.subplot.map, e = this.layerList, r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (s.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (e.exports = function (t, e) { + var r = e[0].trace, + i = new o(t, r.uid), + a = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup['trace-' + r.uid]); + return ( + t.map.addSource(a, { type: 'geojson', data: s.geojson }), + i._addLayers(s, l), + (e[0].trace._glTrace = i), + i + ); + }); + }, + { '../../plots/mapbox/constants': 883, './convert': 999 }, + ], + 1003: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../mesh3d/attributes'), + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat, + l = { + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + z: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + u: { valType: 'data_array', editType: 'calc' }, + v: { valType: 'data_array', editType: 'calc' }, + w: { valType: 'data_array', editType: 'calc' }, + sizemode: { + valType: 'enumerated', + values: ['scaled', 'absolute'], + editType: 'calc', + dflt: 'scaled', + }, + sizeref: { valType: 'number', editType: 'calc', min: 0 }, + anchor: { + valType: 'enumerated', + editType: 'calc', + values: ['tip', 'tail', 'cm', 'center'], + dflt: 'cm', + }, + text: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + hovertext: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + hovertemplate: i({ editType: 'calc' }, { keys: ['norm'] }), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }; + s( + l, + n('', { + colorAttr: 'u/v/w norm', + showScaleDflt: !0, + editTypeOverride: 'calc', + }) + ); + ['opacity', 'lightposition', 'lighting'].forEach(function (t) { + l[t] = a[t]; + }), + (l.hoverinfo = s({}, o.hoverinfo, { + editType: 'calc', + flags: ['x', 'y', 'z', 'u', 'v', 'w', 'norm', 'text', 'name'], + dflt: 'x+y+z+norm+text+name', + })), + (l.transforms = void 0), + (e.exports = l); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../mesh3d/attributes': 1128, + }, + ], + 1004: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/calc'); + e.exports = function (t, e) { + for ( + var r = e.u, + i = e.v, + a = e.w, + o = Math.min( + e.x.length, + e.y.length, + e.z.length, + r.length, + i.length, + a.length + ), + s = -1 / 0, + l = 1 / 0, + c = 0; + c < o; + c++ + ) { + var u = r[c], + f = i[c], + h = a[c], + p = Math.sqrt(u * u + f * f + h * h); + (s = Math.max(s, p)), (l = Math.min(l, p)); + } + (e._len = o), + (e._normMax = s), + n(t, e, { vals: [l, s], containerStr: '', cLetter: 'c' }); + }; + }, + { '../../components/colorscale/calc': 651 }, + ], + 1005: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-cone3d'), + i = t('gl-cone3d').createConeMesh, + a = t('../../lib').simpleMap, + o = t('../../lib/gl_format_color').parseColorScale, + s = t('../../components/colorscale').extractOpts, + l = t('../../plots/gl3d/zip3'); + function c(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var u = c.prototype; + u.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index), + r = this.data.x[e], + n = this.data.y[e], + i = this.data.z[e], + a = this.data.u[e], + o = this.data.v[e], + s = this.data.w[e]; + t.traceCoordinate = [ + r, + n, + i, + a, + o, + s, + Math.sqrt(a * a + o * o + s * s), + ]; + var l = this.data.hovertext || this.data.text; + return ( + Array.isArray(l) && void 0 !== l[e] + ? (t.textLabel = l[e]) + : l && (t.textLabel = l), + !0 + ); + } + }; + var f = { xaxis: 0, yaxis: 1, zaxis: 2 }, + h = { tip: 1, tail: 0, cm: 0.25, center: 0.5 }, + p = { tip: 1, tail: 1, cm: 0.75, center: 0.5 }; + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + c = {}; + function u(t, e) { + var n = r[e], + o = i[f[e]]; + return a(t, function (t) { + return n.d2l(t) * o; + }); + } + (c.vectors = l( + u(e.u, 'xaxis'), + u(e.v, 'yaxis'), + u(e.w, 'zaxis'), + e._len + )), + (c.positions = l( + u(e.x, 'xaxis'), + u(e.y, 'yaxis'), + u(e.z, 'zaxis'), + e._len + )); + var d = s(e); + (c.colormap = o(e)), + (c.vertexIntensityBounds = [ + d.min / e._normMax, + d.max / e._normMax, + ]), + (c.coneOffset = h[e.anchor]), + 'scaled' === e.sizemode + ? (c.coneSize = e.sizeref || 0.5) + : (c.coneSize = + e.sizeref && e._normMax ? e.sizeref / e._normMax : 0.5); + var g = n(c), + m = e.lightposition; + return ( + (g.lightPosition = [m.x, m.y, m.z]), + (g.ambient = e.lighting.ambient), + (g.diffuse = e.lighting.diffuse), + (g.specular = e.lighting.specular), + (g.roughness = e.lighting.roughness), + (g.fresnel = e.lighting.fresnel), + (g.opacity = e.opacity), + (e._pad = p[e.anchor] * g.vectorScale * g.coneScale * e._normMax), + g + ); + } + (u.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (u.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new c(t, e.uid); + return ( + (o.mesh = a), (o.data = e), (a._trace = o), t.glplot.add(a), o + ); + }); + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../lib/gl_format_color': 774, + '../../plots/gl3d/zip3': 881, + 'gl-cone3d': 260, + }, + ], + 1006: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/defaults'), + a = t('./attributes'); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s('u'), + c = s('v'), + u = s('w'), + f = s('x'), + h = s('y'), + p = s('z'); + l && + l.length && + c && + c.length && + u && + u.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s('sizeref'), + s('sizemode'), + s('anchor'), + s('lighting.ambient'), + s('lighting.diffuse'), + s('lighting.specular'), + s('lighting.roughness'), + s('lighting.fresnel'), + s('lightposition.x'), + s('lightposition.y'), + s('lightposition.z'), + i(t, e, o, s, { prefix: '', cLetter: 'c' }), + s('text'), + s('hovertext'), + s('hovertemplate'), + (e._length = null)) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + './attributes': 1003, + }, + ], + 1007: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'cone', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'showLegend'], + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: { min: 'cmin', max: 'cmax' }, + calc: t('./calc'), + plot: t('./convert'), + eventData: function (t, e) { + return (t.norm = e.traceCoordinate[6]), t; + }, + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + './attributes': 1003, + './calc': 1004, + './convert': 1005, + './defaults': 1006, + }, + ], + 1008: [ + function (t, e, r) { + 'use strict'; + var n = t('../heatmap/attributes'), + i = t('../scatter/attributes'), + a = t('../../components/colorscale/attributes'), + o = t('../../components/drawing/attributes').dash, + s = t('../../plots/font_attributes'), + l = t('../../lib/extend').extendFlat, + c = t('../../constants/filter_ops'), + u = c.COMPARISON_OPS2, + f = c.INTERVAL_OPS, + h = (t('../../constants/docs').FORMAT_LINK, i.line); + e.exports = l( + { + z: n.z, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + xtype: n.xtype, + ytype: n.ytype, + zhoverformat: n.zhoverformat, + hovertemplate: n.hovertemplate, + hoverongaps: n.hoverongaps, + connectgaps: l({}, n.connectgaps, {}), + fillcolor: { valType: 'color', editType: 'calc' }, + autocontour: { + valType: 'boolean', + dflt: !0, + editType: 'calc', + impliedEdits: { + 'contours.start': void 0, + 'contours.end': void 0, + 'contours.size': void 0, + }, + }, + ncontours: { + valType: 'integer', + dflt: 15, + min: 1, + editType: 'calc', + }, + contours: { + type: { + valType: 'enumerated', + values: ['levels', 'constraint'], + dflt: 'levels', + editType: 'calc', + }, + start: { + valType: 'number', + dflt: null, + editType: 'plot', + impliedEdits: { '^autocontour': !1 }, + }, + end: { + valType: 'number', + dflt: null, + editType: 'plot', + impliedEdits: { '^autocontour': !1 }, + }, + size: { + valType: 'number', + dflt: null, + min: 0, + editType: 'plot', + impliedEdits: { '^autocontour': !1 }, + }, + coloring: { + valType: 'enumerated', + values: ['fill', 'heatmap', 'lines', 'none'], + dflt: 'fill', + editType: 'calc', + }, + showlines: { valType: 'boolean', dflt: !0, editType: 'plot' }, + showlabels: { valType: 'boolean', dflt: !1, editType: 'plot' }, + labelfont: s({ editType: 'plot', colorEditType: 'style' }), + labelformat: { valType: 'string', dflt: '', editType: 'plot' }, + operation: { + valType: 'enumerated', + values: [].concat(u).concat(f), + dflt: '=', + editType: 'calc', + }, + value: { valType: 'any', dflt: 0, editType: 'calc' }, + editType: 'calc', + impliedEdits: { autocontour: !1 }, + }, + line: { + color: l({}, h.color, { editType: 'style+colorbars' }), + width: { + valType: 'number', + min: 0, + editType: 'style+colorbars', + }, + dash: o, + smoothing: l({}, h.smoothing, {}), + editType: 'plot', + }, + }, + a('', { cLetter: 'z', autoColorDflt: !1, editTypeOverride: 'calc' }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../components/drawing/attributes': 664, + '../../constants/docs': 748, + '../../constants/filter_ops': 749, + '../../lib/extend': 768, + '../../plots/font_attributes': 856, + '../heatmap/attributes': 1065, + '../scatter/attributes': 1187, + }, + ], + 1009: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale'), + i = t('../heatmap/calc'), + a = t('./set_contours'), + o = t('./end_plus'); + e.exports = function (t, e) { + var r = i(t, e), + s = r[0].z; + a(e, s); + var l, + c = e.contours, + u = n.extractOpts(e); + if ('heatmap' === c.coloring && u.auto && !1 === e.autocontour) { + var f = c.start, + h = o(c), + p = c.size || 1, + d = Math.floor((h - f) / p) + 1; + isFinite(p) || ((p = 1), (d = 1)); + var g = f - p / 2; + l = [g, g + d * p]; + } else l = s; + return n.calc(t, e, { vals: l, cLetter: 'z' }), r; + }; + }, + { + '../../components/colorscale': 655, + '../heatmap/calc': 1066, + './end_plus': 1019, + './set_contours': 1027, + }, + ], + 1010: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r, + n = t[0], + i = n.z; + switch (e.type) { + case 'levels': + var a = Math.min(i[0][0], i[0][1]); + for (r = 0; r < t.length; r++) { + var o = t[r]; + o.prefixBoundary = + !o.edgepaths.length && + (a > o.level || (o.starts.length && a === o.level)); + } + break; + case 'constraint': + if (((n.prefixBoundary = !1), n.edgepaths.length)) return; + var s = n.x.length, + l = n.y.length, + c = -1 / 0, + u = 1 / 0; + for (r = 0; r < l; r++) + (u = Math.min(u, i[r][0])), + (u = Math.min(u, i[r][s - 1])), + (c = Math.max(c, i[r][0])), + (c = Math.max(c, i[r][s - 1])); + for (r = 1; r < s - 1; r++) + (u = Math.min(u, i[0][r])), + (u = Math.min(u, i[l - 1][r])), + (c = Math.max(c, i[0][r])), + (c = Math.max(c, i[l - 1][r])); + var f, + h, + p = e.value; + switch (e._operation) { + case '>': + p > c && (n.prefixBoundary = !0); + break; + case '<': + (p < u || (n.starts.length && p === u)) && + (n.prefixBoundary = !0); + break; + case '[]': + (f = Math.min(p[0], p[1])), + ((h = Math.max(p[0], p[1])) < u || + f > c || + (n.starts.length && h === u)) && + (n.prefixBoundary = !0); + break; + case '][': + (f = Math.min(p[0], p[1])), + (h = Math.max(p[0], p[1])), + f < u && h > c && (n.prefixBoundary = !0); + } + } + }; + }, + {}, + ], + 1011: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale'), + i = t('./make_color_map'), + a = t('./end_plus'); + e.exports = { + min: 'zmin', + max: 'zmax', + calc: function (t, e, r) { + var o = e.contours, + s = e.line, + l = o.size || 1, + c = o.coloring, + u = i(e, { isColorbar: !0 }); + if ('heatmap' === c) { + var f = n.extractOpts(e); + (r._fillgradient = f.reversescale + ? n.flipScale(f.colorscale) + : f.colorscale), + (r._zrange = [f.min, f.max]); + } else 'fill' === c && (r._fillcolor = u); + (r._line = { + color: 'lines' === c ? u : s.color, + width: !1 !== o.showlines ? s.width : 0, + dash: s.dash, + }), + (r._levels = { start: o.start, end: a(o), size: l }); + }, + }; + }, + { + '../../components/colorscale': 655, + './end_plus': 1019, + './make_color_map': 1024, + }, + ], + 1012: [ + function (t, e, r) { + 'use strict'; + e.exports = { + BOTTOMSTART: [1, 9, 13, 104, 713], + TOPSTART: [4, 6, 7, 104, 713], + LEFTSTART: [8, 12, 14, 208, 1114], + RIGHTSTART: [2, 3, 11, 208, 1114], + NEWDELTA: [ + null, + [-1, 0], + [0, -1], + [-1, 0], + [1, 0], + null, + [0, -1], + [-1, 0], + [0, 1], + [0, 1], + null, + [0, 1], + [1, 0], + [1, 0], + [0, -1], + ], + CHOOSESADDLE: { + 104: [4, 1], + 208: [2, 8], + 713: [7, 13], + 1114: [11, 14], + }, + SADDLEREMAINDER: { + 1: 4, + 2: 8, + 4: 1, + 7: 13, + 8: 2, + 11: 14, + 13: 7, + 14: 11, + }, + LABELDISTANCE: 2, + LABELINCREASE: 10, + LABELMIN: 3, + LABELMAX: 10, + LABELOPTIMIZER: { + EDGECOST: 1, + ANGLECOST: 1, + NEIGHBORCOST: 5, + SAMELEVELFACTOR: 10, + SAMELEVELDISTANCE: 5, + MAXCOST: 100, + INITIALSEARCHPOINTS: 10, + ITERATIONS: 5, + }, + }; + }, + {}, + ], + 1013: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('./label_defaults'), + a = t('../../components/color'), + o = a.addOpacity, + s = a.opacity, + l = t('../../constants/filter_ops'), + c = l.CONSTRAINT_REDUCTION, + u = l.COMPARISON_OPS2; + e.exports = function (t, e, r, a, l, f) { + var h, + p, + d, + g = e.contours, + m = r('contours.operation'); + ((g._operation = c[m]), + (function (t, e) { + var r; + -1 === u.indexOf(e.operation) + ? (t('contours.value', [0, 1]), + Array.isArray(e.value) + ? e.value.length > 2 + ? (e.value = e.value.slice(2)) + : 0 === e.length + ? (e.value = [0, 1]) + : e.length < 2 + ? ((r = parseFloat(e.value[0])), (e.value = [r, r + 1])) + : (e.value = [ + parseFloat(e.value[0]), + parseFloat(e.value[1]), + ]) + : n(e.value) && + ((r = parseFloat(e.value)), (e.value = [r, r + 1]))) + : (t('contours.value', 0), + n(e.value) || + (Array.isArray(e.value) + ? (e.value = parseFloat(e.value[0])) + : (e.value = 0))); + })(r, g), + '=' === m + ? (h = g.showlines = !0) + : ((h = r('contours.showlines')), + (d = r('fillcolor', o((t.line || {}).color || l, 0.5)))), + h) && + ((p = r('line.color', d && s(d) ? o(e.fillcolor, 1) : l)), + r('line.width', 2), + r('line.dash')); + r('line.smoothing'), i(r, a, p, f); + }; + }, + { + '../../components/color': 643, + '../../constants/filter_ops': 749, + './label_defaults': 1023, + 'fast-isnumeric': 241, + }, + ], + 1014: [ + function (t, e, r) { + 'use strict'; + var n = t('../../constants/filter_ops'), + i = t('fast-isnumeric'); + function a(t, e) { + var r, + a = Array.isArray(e); + function o(t) { + return i(t) ? +t : null; + } + return ( + -1 !== n.COMPARISON_OPS2.indexOf(t) + ? (r = o(a ? e[0] : e)) + : -1 !== n.INTERVAL_OPS.indexOf(t) + ? (r = a ? [o(e[0]), o(e[1])] : [o(e), o(e)]) + : -1 !== n.SET_OPS.indexOf(t) && (r = a ? e.map(o) : [o(e)]), + r + ); + } + function o(t) { + return function (e) { + e = a(t, e); + var r = Math.min(e[0], e[1]), + n = Math.max(e[0], e[1]); + return { start: r, end: n, size: n - r }; + }; + } + function s(t) { + return function (e) { + return { start: (e = a(t, e)), end: 1 / 0, size: 1 / 0 }; + }; + } + e.exports = { + '[]': o('[]'), + '][': o(']['), + '>': s('>'), + '<': s('<'), + '=': s('='), + }; + }, + { '../../constants/filter_ops': 749, 'fast-isnumeric': 241 }, + ], + 1015: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + var i = n('contours.start'), + a = n('contours.end'), + o = !1 === i || !1 === a, + s = r('contours.size'); + (!(o ? (e.autocontour = !0) : r('autocontour', !1)) && s) || + r('ncontours'); + }; + }, + {}, + ], + 1016: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + function i(t) { + return n.extendFlat({}, t, { + edgepaths: n.extendDeep([], t.edgepaths), + paths: n.extendDeep([], t.paths), + starts: n.extendDeep([], t.starts), + }); + } + e.exports = function (t, e) { + var r, + a, + o, + s = function (t) { + return t.reverse(); + }, + l = function (t) { + return t; + }; + switch (e) { + case '=': + case '<': + return t; + case '>': + for ( + 1 !== t.length && + n.warn( + 'Contour data invalid for the specified inequality operation.' + ), + a = t[0], + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + return t; + case '][': + var c = s; + (s = l), (l = c); + case '[]': + for ( + 2 !== t.length && + n.warn( + 'Contour data invalid for the specified inequality range operation.' + ), + a = i(t[0]), + o = i(t[1]), + r = 0; + r < a.edgepaths.length; + r++ + ) + a.edgepaths[r] = s(a.edgepaths[r]); + for (r = 0; r < a.paths.length; r++) a.paths[r] = s(a.paths[r]); + for (r = 0; r < a.starts.length; r++) + a.starts[r] = s(a.starts[r]); + for (; o.edgepaths.length; ) + a.edgepaths.push(l(o.edgepaths.shift())); + for (; o.paths.length; ) a.paths.push(l(o.paths.shift())); + for (; o.starts.length; ) a.starts.push(l(o.starts.shift())); + return [a]; + } + }; + }, + { '../../lib': 778 }, + ], + 1017: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../heatmap/xyz_defaults'), + a = t('../scatter/period_defaults'), + o = t('./constraint_defaults'), + s = t('./contours_defaults'), + l = t('./style_defaults'), + c = t('./attributes'); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + if (i(t, e, f, u)) { + a(t, e, u, f), + f('text'), + f('hovertext'), + f('hovertemplate'), + f('hoverongaps'); + var h = 'constraint' === f('contours.type'); + f('connectgaps', n.isArray1D(e.z)), + h + ? o(t, e, f, u, r) + : (s(t, e, f, function (r) { + return n.coerce2(t, e, c, r); + }), + l(t, e, f, u)); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../heatmap/xyz_defaults': 1079, + '../scatter/period_defaults': 1207, + './attributes': 1008, + './constraint_defaults': 1013, + './contours_defaults': 1015, + './style_defaults': 1029, + }, + ], + 1018: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./constraint_mapping'), + a = t('./end_plus'); + e.exports = function (t, e, r) { + for ( + var o = 'constraint' === t.type ? i[t._operation](t.value) : t, + s = o.size, + l = [], + c = a(o), + u = r.trace._carpetTrace, + f = u + ? { xaxis: u.aaxis, yaxis: u.baxis, x: r.a, y: r.b } + : { xaxis: e.xaxis, yaxis: e.yaxis, x: r.x, y: r.y }, + h = o.start; + h < c; + h += s + ) + if ( + (l.push( + n.extendFlat( + { + level: h, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + z: r.z, + smoothing: r.trace.line.smoothing, + }, + f + ) + ), + l.length > 1e3) + ) { + n.warn('Too many contours, clipping at 1000', t); + break; + } + return l; + }; + }, + { '../../lib': 778, './constraint_mapping': 1014, './end_plus': 1019 }, + ], + 1019: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + return t.end + t.size / 1e6; + }; + }, + {}, + ], + 1020: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./constants'); + function a(t, e, r, n) { + return Math.abs(t[0] - e[0]) < r && Math.abs(t[1] - e[1]) < n; + } + function o(t, e, r, o, l) { + var c, + u = e.join(','), + f = t.crossings[u], + h = (function (t, e, r) { + var n = 0, + a = 0; + t > 20 && e + ? 208 === t || 1114 === t + ? (n = 0 === r[0] ? 1 : -1) + : (a = 0 === r[1] ? 1 : -1) + : -1 !== i.BOTTOMSTART.indexOf(t) + ? (a = 1) + : -1 !== i.LEFTSTART.indexOf(t) + ? (n = 1) + : -1 !== i.TOPSTART.indexOf(t) + ? (a = -1) + : (n = -1); + return [n, a]; + })(f, r, e), + p = [s(t, e, [-h[0], -h[1]])], + d = t.z.length, + g = t.z[0].length, + m = e.slice(), + v = h.slice(); + for (c = 0; c < 1e4; c++) { + if ( + (f > 20 + ? ((f = i.CHOOSESADDLE[f][(h[0] || h[1]) < 0 ? 0 : 1]), + (t.crossings[u] = i.SADDLEREMAINDER[f])) + : delete t.crossings[u], + !(h = i.NEWDELTA[f])) + ) { + n.log('Found bad marching index:', f, e, t.level); + break; + } + p.push(s(t, e, h)), + (e[0] += h[0]), + (e[1] += h[1]), + (u = e.join(',')), + a(p[p.length - 1], p[p.length - 2], o, l) && p.pop(); + var y = + (h[0] && (e[0] < 0 || e[0] > g - 2)) || + (h[1] && (e[1] < 0 || e[1] > d - 2)); + if ( + (e[0] === m[0] && + e[1] === m[1] && + h[0] === v[0] && + h[1] === v[1]) || + (r && y) + ) + break; + f = t.crossings[u]; + } + 1e4 === c && n.log('Infinite loop in contour?'); + var x, + b, + _, + w, + T, + k, + M, + A, + S, + E, + C, + L, + I, + P, + z, + O = a(p[0], p[p.length - 1], o, l), + D = 0, + R = 0.2 * t.smoothing, + F = [], + B = 0; + for (c = 1; c < p.length; c++) + (L = p[c]), + (I = p[c - 1]), + (P = void 0), + (z = void 0), + (P = L[2] - I[2]), + (z = L[3] - I[3]), + (D += M = Math.sqrt(P * P + z * z)), + F.push(M); + var N = (D / F.length) * R; + function j(t) { + return p[t % p.length]; + } + for (c = p.length - 2; c >= B; c--) + if ((x = F[c]) < N) { + for (_ = 0, b = c - 1; b >= B && x + F[b] < N; b--) x += F[b]; + if (O && c === p.length - 2) + for (_ = 0; _ < b && x + F[_] < N; _++) x += F[_]; + (T = c - b + _ + 1), + (k = Math.floor((c + b + _ + 2) / 2)), + (w = + O || c !== p.length - 2 + ? O || -1 !== b + ? T % 2 + ? j(k) + : [ + (j(k)[0] + j(k + 1)[0]) / 2, + (j(k)[1] + j(k + 1)[1]) / 2, + ] + : p[0] + : p[p.length - 1]), + p.splice(b + 1, c - b + 1, w), + (c = b + 1), + _ && (B = _), + O && + (c === p.length - 2 + ? (p[_] = p[p.length - 1]) + : 0 === c && (p[p.length - 1] = p[0])); + } + for (p.splice(0, B), c = 0; c < p.length; c++) p[c].length = 2; + if (!(p.length < 2)) + if (O) p.pop(), t.paths.push(p); + else { + r || + n.log( + 'Unclosed interior contour?', + t.level, + m.join(','), + p.join('L') + ); + var U = !1; + for (A = 0; A < t.edgepaths.length; A++) + if ( + ((E = t.edgepaths[A]), !U && a(E[0], p[p.length - 1], o, l)) + ) { + p.pop(), (U = !0); + var V = !1; + for (S = 0; S < t.edgepaths.length; S++) + if (a((C = t.edgepaths[S])[C.length - 1], p[0], o, l)) { + (V = !0), + p.shift(), + t.edgepaths.splice(A, 1), + S === A + ? t.paths.push(p.concat(C)) + : (S > A && S--, (t.edgepaths[S] = C.concat(p, E))); + break; + } + V || (t.edgepaths[A] = p.concat(E)); + } + for (A = 0; A < t.edgepaths.length && !U; A++) + a((E = t.edgepaths[A])[E.length - 1], p[0], o, l) && + (p.shift(), (t.edgepaths[A] = E.concat(p)), (U = !0)); + U || t.edgepaths.push(p); + } + } + function s(t, e, r) { + var n = e[0] + Math.max(r[0], 0), + i = e[1] + Math.max(r[1], 0), + a = t.z[i][n], + o = t.xaxis, + s = t.yaxis; + if (r[1]) { + var l = (t.level - a) / (t.z[i][n + 1] - a); + return [ + o.c2p((1 - l) * t.x[n] + l * t.x[n + 1], !0), + s.c2p(t.y[i], !0), + n + l, + i, + ]; + } + var c = (t.level - a) / (t.z[i + 1][n] - a); + return [ + o.c2p(t.x[n], !0), + s.c2p((1 - c) * t.y[i] + c * t.y[i + 1], !0), + n, + i + c, + ]; + } + e.exports = function (t, e, r) { + var i, a, s, l; + for (e = e || 0.01, r = r || 0.01, a = 0; a < t.length; a++) { + for (s = t[a], l = 0; l < s.starts.length; l++) + o(s, s.starts[l], 'edge', e, r); + for (i = 0; Object.keys(s.crossings).length && i < 1e4; ) + i++, + o( + s, + Object.keys(s.crossings)[0].split(',').map(Number), + void 0, + e, + r + ); + 1e4 === i && n.log('Infinite loop in contour?'); + } + }; + }, + { '../../lib': 778, './constants': 1012 }, + ], + 1021: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../heatmap/hover'); + e.exports = function (t, e, r, a, o) { + var s = i(t, e, r, a, o, !0); + return ( + s && + s.forEach(function (t) { + var e = t.trace; + 'constraint' === e.contours.type && + (e.fillcolor && n.opacity(e.fillcolor) + ? (t.color = n.addOpacity(e.fillcolor, 1)) + : e.contours.showlines && + n.opacity(e.line.color) && + (t.color = n.addOpacity(e.line.color, 1))); + }), + s + ); + }; + }, + { '../../components/color': 643, '../heatmap/hover': 1072 }, + ], + 1022: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot').plot, + style: t('./style'), + colorbar: t('./colorbar'), + hoverPoints: t('./hover'), + moduleType: 'trace', + name: 'contour', + basePlotModule: t('../../plots/cartesian'), + categories: ['cartesian', 'svg', '2dMap', 'contour', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 1008, + './calc': 1009, + './colorbar': 1011, + './defaults': 1017, + './hover': 1021, + './plot': 1026, + './style': 1028, + }, + ], + 1023: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e, r, i) { + if ((i || (i = {}), t('contours.showlabels'))) { + var a = e.font; + n.coerceFont(t, 'contours.labelfont', { + family: a.family, + size: a.size, + color: r, + }), + t('contours.labelformat'); + } + !1 !== i.hasHover && t('zhoverformat'); + }; + }, + { '../../lib': 778 }, + ], + 1024: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/colorscale'), + a = t('./end_plus'); + e.exports = function (t) { + var e = t.contours, + r = e.start, + o = a(e), + s = e.size || 1, + l = Math.floor((o - r) / s) + 1, + c = 'lines' === e.coloring ? 0 : 1, + u = i.extractOpts(t); + isFinite(s) || ((s = 1), (l = 1)); + var f, + h, + p = u.reversescale ? i.flipScale(u.colorscale) : u.colorscale, + d = p.length, + g = new Array(d), + m = new Array(d); + if ('heatmap' === e.coloring) { + var v = u.min, + y = u.max; + for (h = 0; h < d; h++) + (f = p[h]), (g[h] = f[0] * (y - v) + v), (m[h] = f[1]); + var x = n.extent([v, y, e.start, e.start + s * (l - 1)]), + b = x[v < y ? 0 : 1], + _ = x[v < y ? 1 : 0]; + b !== v && (g.splice(0, 0, b), m.splice(0, 0, m[0])), + _ !== y && (g.push(_), m.push(m[m.length - 1])); + } else + for (h = 0; h < d; h++) + (f = p[h]), + (g[h] = (f[0] * (l + c - 1) - c / 2) * s + r), + (m[h] = f[1]); + return i.makeColorScaleFunc( + { domain: g, range: m }, + { noNumericCheck: !0 } + ); + }; + }, + { '../../components/colorscale': 655, './end_plus': 1019, d3: 169 }, + ], + 1025: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'); + function i(t, e) { + var r = + (e[0][0] > t ? 0 : 1) + + (e[0][1] > t ? 0 : 2) + + (e[1][1] > t ? 0 : 4) + + (e[1][0] > t ? 0 : 8); + return 5 === r || 10 === r + ? t > (e[0][0] + e[0][1] + e[1][0] + e[1][1]) / 4 + ? 5 === r + ? 713 + : 1114 + : 5 === r + ? 104 + : 208 + : 15 === r + ? 0 + : r; + } + e.exports = function (t) { + var e, + r, + a, + o, + s, + l, + c, + u, + f, + h = t[0].z, + p = h.length, + d = h[0].length, + g = 2 === p || 2 === d; + for (r = 0; r < p - 1; r++) + for ( + o = [], + 0 === r && (o = o.concat(n.BOTTOMSTART)), + r === p - 2 && (o = o.concat(n.TOPSTART)), + e = 0; + e < d - 1; + e++ + ) + for ( + a = o.slice(), + 0 === e && (a = a.concat(n.LEFTSTART)), + e === d - 2 && (a = a.concat(n.RIGHTSTART)), + s = e + ',' + r, + l = [ + [h[r][e], h[r][e + 1]], + [h[r + 1][e], h[r + 1][e + 1]], + ], + f = 0; + f < t.length; + f++ + ) + (c = i((u = t[f]).level, l)) && + ((u.crossings[s] = c), + -1 !== a.indexOf(c) && + (u.starts.push([e, r]), + g && + -1 !== a.indexOf(c, a.indexOf(c) + 1) && + u.starts.push([e, r]))); + }; + }, + { './constants': 1012 }, + ], + 1026: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../../components/colorscale'), + s = t('../../lib/svg_text_utils'), + l = t('../../plots/cartesian/axes'), + c = t('../../plots/cartesian/set_convert'), + u = t('../heatmap/plot'), + f = t('./make_crossings'), + h = t('./find_all_paths'), + p = t('./empty_pathinfo'), + d = t('./convert_to_constraints'), + g = t('./close_boundaries'), + m = t('./constants'), + v = m.LABELOPTIMIZER; + function y(t, e) { + var r, + n, + o, + s, + l, + c, + u, + f = '', + h = 0, + p = t.edgepaths.map(function (t, e) { + return e; + }), + d = !0; + function g(t) { + return Math.abs(t[1] - e[2][1]) < 0.01; + } + function m(t) { + return Math.abs(t[0] - e[0][0]) < 0.01; + } + function v(t) { + return Math.abs(t[0] - e[2][0]) < 0.01; + } + for (; p.length; ) { + for ( + c = a.smoothopen(t.edgepaths[h], t.smoothing), + f += d ? c : c.replace(/^M/, 'L'), + p.splice(p.indexOf(h), 1), + r = t.edgepaths[h][t.edgepaths[h].length - 1], + s = -1, + o = 0; + o < 4; + o++ + ) { + if (!r) { + i.log('Missing end?', h, t); + break; + } + for ( + u = r, + Math.abs(u[1] - e[0][1]) < 0.01 && !v(r) + ? (n = e[1]) + : m(r) + ? (n = e[0]) + : g(r) + ? (n = e[3]) + : v(r) && (n = e[2]), + l = 0; + l < t.edgepaths.length; + l++ + ) { + var y = t.edgepaths[l][0]; + Math.abs(r[0] - n[0]) < 0.01 + ? Math.abs(r[0] - y[0]) < 0.01 && + (y[1] - r[1]) * (n[1] - y[1]) >= 0 && + ((n = y), (s = l)) + : Math.abs(r[1] - n[1]) < 0.01 + ? Math.abs(r[1] - y[1]) < 0.01 && + (y[0] - r[0]) * (n[0] - y[0]) >= 0 && + ((n = y), (s = l)) + : i.log('endpt to newendpt is not vert. or horz.', r, n, y); + } + if (((r = n), s >= 0)) break; + f += 'L' + n; + } + if (s === t.edgepaths.length) { + i.log('unclosed perimeter path'); + break; + } + (h = s), (d = -1 === p.indexOf(h)) && ((h = p[0]), (f += 'Z')); + } + for (h = 0; h < t.paths.length; h++) + f += a.smoothclosed(t.paths[h], t.smoothing); + return f; + } + function x(t, e, r, n) { + var a = e.width / 2, + o = e.height / 2, + s = t.x, + l = t.y, + c = t.theta, + u = Math.cos(c) * a, + f = Math.sin(c) * a, + h = + (s > n.center ? n.right - s : s - n.left) / + (u + Math.abs(Math.sin(c) * o)), + p = + (l > n.middle ? n.bottom - l : l - n.top) / + (Math.abs(f) + Math.cos(c) * o); + if (h < 1 || p < 1) return 1 / 0; + var d = v.EDGECOST * (1 / (h - 1) + 1 / (p - 1)); + d += v.ANGLECOST * c * c; + for ( + var g = s - u, m = l - f, y = s + u, x = l + f, b = 0; + b < r.length; + b++ + ) { + var _ = r[b], + w = (Math.cos(_.theta) * _.width) / 2, + T = (Math.sin(_.theta) * _.width) / 2, + k = + (2 * + i.segmentDistance( + g, + m, + y, + x, + _.x - w, + _.y - T, + _.x + w, + _.y + T + )) / + (e.height + _.height), + M = _.level === e.level, + A = M ? v.SAMELEVELDISTANCE : 1; + if (k <= A) return 1 / 0; + d += (v.NEIGHBORCOST * (M ? v.SAMELEVELFACTOR : 1)) / (k - A); + } + return d; + } + function b(t) { + var e, + r, + n = t.trace._emptypoints, + i = [], + a = t.z.length, + o = t.z[0].length, + s = []; + for (e = 0; e < o; e++) s.push(1); + for (e = 0; e < a; e++) i.push(s.slice()); + for (e = 0; e < n.length; e++) i[(r = n[e])[0]][r[1]] = 0; + return (t.zmask = i), i; + } + (r.plot = function (t, e, o, s) { + var l = e.xaxis, + c = e.yaxis; + i.makeTraceGroups(s, o, 'contour').each(function (o) { + var s = n.select(this), + v = o[0], + x = v.trace, + _ = v.x, + w = v.y, + T = x.contours, + k = p(T, e, v), + M = i.ensureSingle(s, 'g', 'heatmapcoloring'), + A = []; + 'heatmap' === T.coloring && (A = [o]), u(t, e, A, M), f(k), h(k); + var S = l.c2p(_[0], !0), + E = l.c2p(_[_.length - 1], !0), + C = c.c2p(w[0], !0), + L = c.c2p(w[w.length - 1], !0), + I = [ + [S, L], + [E, L], + [E, C], + [S, C], + ], + P = k; + 'constraint' === T.type && (P = d(k, T._operation)), + (function (t, e, r) { + var n = i + .ensureSingle(t, 'g', 'contourbg') + .selectAll('path') + .data('fill' === r.coloring ? [0] : []); + n.enter().append('path'), + n.exit().remove(), + n + .attr('d', 'M' + e.join('L') + 'Z') + .style('stroke', 'none'); + })(s, I, T), + (function (t, e, r, a) { + var o = + 'fill' === a.coloring || + ('constraint' === a.type && '=' !== a._operation), + s = 'M' + r.join('L') + 'Z'; + o && g(e, a); + var l = i + .ensureSingle(t, 'g', 'contourfill') + .selectAll('path') + .data(o ? e : []); + l.enter().append('path'), + l.exit().remove(), + l.each(function (t) { + var e = (t.prefixBoundary ? s : '') + y(t, r); + e + ? n.select(this).attr('d', e).style('stroke', 'none') + : n.select(this).remove(); + }); + })(s, P, I, T), + (function (t, e, o, s, l) { + var c = i.ensureSingle(t, 'g', 'contourlines'), + u = !1 !== l.showlines, + f = l.showlabels, + h = u && f, + p = r.createLines(c, u || f, e), + d = r.createLineClip(c, h, o, s.trace.uid), + g = t.selectAll('g.contourlabels').data(f ? [0] : []); + if ( + (g.exit().remove(), + g.enter().append('g').classed('contourlabels', !0), + f) + ) { + var v = [], + y = []; + i.clearLocationCache(); + var x = r.labelFormatter(o, s), + b = a.tester + .append('text') + .attr('data-notex', 1) + .call(a.font, l.labelfont), + _ = e[0].xaxis, + w = e[0].yaxis, + T = _._length, + k = w._length, + M = _.range, + A = w.range, + S = i.aggNums(Math.min, null, s.x), + E = i.aggNums(Math.max, null, s.x), + C = i.aggNums(Math.min, null, s.y), + L = i.aggNums(Math.max, null, s.y), + I = Math.max(_.c2p(S, !0), 0), + P = Math.min(_.c2p(E, !0), T), + z = Math.max(w.c2p(L, !0), 0), + O = Math.min(w.c2p(C, !0), k), + D = {}; + M[0] < M[1] + ? ((D.left = I), (D.right = P)) + : ((D.left = P), (D.right = I)), + A[0] < A[1] + ? ((D.top = z), (D.bottom = O)) + : ((D.top = O), (D.bottom = z)), + (D.middle = (D.top + D.bottom) / 2), + (D.center = (D.left + D.right) / 2), + v.push([ + [D.left, D.top], + [D.right, D.top], + [D.right, D.bottom], + [D.left, D.bottom], + ]); + var R = Math.sqrt(T * T + k * k), + F = + (m.LABELDISTANCE * R) / + Math.max(1, e.length / m.LABELINCREASE); + p.each(function (t) { + var e = r.calcTextOpts(t.level, x, b, o); + n.select(this) + .selectAll('path') + .each(function () { + var t = i.getVisibleSegment(this, D, e.height / 2); + if (t && !(t.len < (e.width + e.height) * m.LABELMIN)) + for ( + var n = Math.min( + Math.ceil(t.len / F), + m.LABELMAX + ), + a = 0; + a < n; + a++ + ) { + var o = r.findBestTextLocation(this, t, e, y, D); + if (!o) break; + r.addLabelData(o, e, y, v); + } + }); + }), + b.remove(), + r.drawLabels(g, y, o, d, h ? v : null); + } + f && !u && p.remove(); + })(s, k, t, v, T), + (function (t, e, r, n, o) { + var s = n.trace, + l = r._fullLayout._clips, + c = 'clip' + s.uid, + u = l.selectAll('#' + c).data(s.connectgaps ? [] : [0]); + if ( + (u + .enter() + .append('clipPath') + .classed('contourclip', !0) + .attr('id', c), + u.exit().remove(), + !1 === s.connectgaps) + ) { + var p = { + level: 0.9, + crossings: {}, + starts: [], + edgepaths: [], + paths: [], + xaxis: e.xaxis, + yaxis: e.yaxis, + x: n.x, + y: n.y, + z: b(n), + smoothing: 0, + }; + f([p]), + h([p]), + g([p], { type: 'levels' }), + i + .ensureSingle(u, 'path', '') + .attr( + 'd', + (p.prefixBoundary ? 'M' + o.join('L') + 'Z' : '') + + y(p, o) + ); + } else c = null; + a.setClipUrl(t, c, r); + })(s, e, t, v, I); + }); + }), + (r.createLines = function (t, e, r) { + var n = r[0].smoothing, + i = t.selectAll('g.contourlevel').data(e ? r : []); + if ( + (i.exit().remove(), + i.enter().append('g').classed('contourlevel', !0), + e) + ) { + var o = i.selectAll('path.openline').data(function (t) { + return t.pedgepaths || t.edgepaths; + }); + o.exit().remove(), + o.enter().append('path').classed('openline', !0), + o + .attr('d', function (t) { + return a.smoothopen(t, n); + }) + .style('stroke-miterlimit', 1) + .style('vector-effect', 'non-scaling-stroke'); + var s = i.selectAll('path.closedline').data(function (t) { + return t.ppaths || t.paths; + }); + s.exit().remove(), + s.enter().append('path').classed('closedline', !0), + s + .attr('d', function (t) { + return a.smoothclosed(t, n); + }) + .style('stroke-miterlimit', 1) + .style('vector-effect', 'non-scaling-stroke'); + } + return i; + }), + (r.createLineClip = function (t, e, r, n) { + var i = e ? 'clipline' + n : null, + o = r._fullLayout._clips.selectAll('#' + i).data(e ? [0] : []); + return ( + o.exit().remove(), + o + .enter() + .append('clipPath') + .classed('contourlineclip', !0) + .attr('id', i), + a.setClipUrl(t, i, r), + o + ); + }), + (r.labelFormatter = function (t, e) { + var r = t._fullLayout, + n = e.trace, + i = n.contours, + a = { + type: 'linear', + _id: 'ycontour', + showexponent: 'all', + exponentformat: 'B', + }; + if (i.labelformat) (a.tickformat = i.labelformat), c(a, r); + else { + var s = o.extractOpts(n); + if (s && s.colorbar && s.colorbar._axis) a = s.colorbar._axis; + else { + if ('constraint' === i.type) { + var u = i.value; + Array.isArray(u) + ? (a.range = [u[0], u[u.length - 1]]) + : (a.range = [u, u]); + } else + (a.range = [i.start, i.end]), + (a.nticks = (i.end - i.start) / i.size); + a.range[0] === a.range[1] && (a.range[1] += a.range[0] || 1), + a.nticks || (a.nticks = 1e3), + c(a, r), + l.prepTicks(a), + (a._tmin = null), + (a._tmax = null); + } + } + return function (t) { + return l.tickText(a, t).text; + }; + }), + (r.calcTextOpts = function (t, e, r, n) { + var i = e(t); + r.text(i).call(s.convertToTspans, n); + var o = r.node(), + l = a.bBox(o, !0); + return { + text: i, + width: l.width, + height: l.height, + fontSize: +o.style['font-size'].replace('px', ''), + level: t, + dy: (l.top + l.bottom) / 2, + }; + }), + (r.findBestTextLocation = function (t, e, r, n, a) { + var o, + s, + l, + c, + u, + f = r.width; + e.isClosed + ? ((s = e.len / v.INITIALSEARCHPOINTS), + (o = e.min + s / 2), + (l = e.max)) + : ((s = (e.len - f) / (v.INITIALSEARCHPOINTS + 1)), + (o = e.min + s + f / 2), + (l = e.max - (s + f) / 2)); + for (var h = 1 / 0, p = 0; p < v.ITERATIONS; p++) { + for (var d = o; d < l; d += s) { + var g = i.getTextLocation(t, e.total, d, f), + m = x(g, r, n, a); + m < h && ((h = m), (u = g), (c = d)); + } + if (h > 2 * v.MAXCOST) break; + p && (s /= 2), (l = (o = c - s / 2) + 1.5 * s); + } + if (h <= v.MAXCOST) return u; + }), + (r.addLabelData = function (t, e, r, n) { + var i = e.fontSize, + a = e.width + i / 3, + o = Math.max(0, e.height - i / 3), + s = t.x, + l = t.y, + c = t.theta, + u = Math.sin(c), + f = Math.cos(c), + h = function (t, e) { + return [s + t * f - e * u, l + t * u + e * f]; + }, + p = [ + h(-a / 2, -o / 2), + h(-a / 2, o / 2), + h(a / 2, o / 2), + h(a / 2, -o / 2), + ]; + r.push({ + text: e.text, + x: s, + y: l, + dy: e.dy, + theta: c, + level: e.level, + width: a, + height: o, + }), + n.push(p); + }), + (r.drawLabels = function (t, e, r, a, o) { + var l = t.selectAll('text').data(e, function (t) { + return t.text + ',' + t.x + ',' + t.y + ',' + t.theta; + }); + if ( + (l.exit().remove(), + l + .enter() + .append('text') + .attr({ 'data-notex': 1, 'text-anchor': 'middle' }) + .each(function (t) { + var e = t.x + Math.sin(t.theta) * t.dy, + i = t.y - Math.cos(t.theta) * t.dy; + n.select(this) + .text(t.text) + .attr({ + x: e, + y: i, + transform: + 'rotate(' + + (180 * t.theta) / Math.PI + + ' ' + + e + + ' ' + + i + + ')', + }) + .call(s.convertToTspans, r); + }), + o) + ) { + for (var c = '', u = 0; u < o.length; u++) + c += 'M' + o[u].join('L') + 'Z'; + i.ensureSingle(a, 'path', '').attr('d', c); + } + }); + }, + { + '../../components/colorscale': 655, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/set_convert': 848, + '../heatmap/plot': 1076, + './close_boundaries': 1010, + './constants': 1012, + './convert_to_constraints': 1016, + './empty_pathinfo': 1018, + './find_all_paths': 1020, + './make_crossings': 1025, + d3: 169, + }, + ], + 1027: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib'); + function a(t, e, r) { + var i = { type: 'linear', range: [t, e] }; + return n.autoTicks(i, (e - t) / (r || 15)), i; + } + e.exports = function (t, e) { + var r = t.contours; + if (t.autocontour) { + var o = t.zmin, + s = t.zmax; + (t.zauto || void 0 === o) && (o = i.aggNums(Math.min, null, e)), + (t.zauto || void 0 === s) && (s = i.aggNums(Math.max, null, e)); + var l = a(o, s, t.ncontours); + (r.size = l.dtick), + (r.start = n.tickFirst(l)), + l.range.reverse(), + (r.end = n.tickFirst(l)), + r.start === o && (r.start += r.size), + r.end === s && (r.end -= r.size), + r.start > r.end && (r.start = r.end = (r.start + r.end) / 2), + t._input.contours || (t._input.contours = {}), + i.extendFlat(t._input.contours, { + start: r.start, + end: r.end, + size: r.size, + }), + (t._input.autocontour = !0); + } else if ('constraint' !== r.type) { + var c, + u = r.start, + f = r.end, + h = t._input.contours; + if ( + (u > f && + ((r.start = h.start = f), + (f = r.end = h.end = u), + (u = r.start)), + !(r.size > 0)) + ) + (c = u === f ? 1 : a(u, f, t.ncontours).dtick), + (h.size = r.size = c); + } + }; + }, + { '../../lib': 778, '../../plots/cartesian/axes': 828 }, + ], + 1028: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../heatmap/style'), + o = t('./make_color_map'); + e.exports = function (t) { + var e = n.select(t).selectAll('g.contour'); + e.style('opacity', function (t) { + return t[0].trace.opacity; + }), + e.each(function (t) { + var e = n.select(this), + r = t[0].trace, + a = r.contours, + s = r.line, + l = a.size || 1, + c = a.start, + u = 'constraint' === a.type, + f = !u && 'lines' === a.coloring, + h = !u && 'fill' === a.coloring, + p = f || h ? o(r) : null; + e.selectAll('g.contourlevel').each(function (t) { + n.select(this) + .selectAll('path') + .call( + i.lineGroupStyle, + s.width, + f ? p(t.level) : s.color, + s.dash + ); + }); + var d = a.labelfont; + if ( + (e.selectAll('g.contourlabels text').each(function (t) { + i.font(n.select(this), { + family: d.family, + size: d.size, + color: d.color || (f ? p(t.level) : s.color), + }); + }), + u) + ) + e.selectAll('g.contourfill path').style('fill', r.fillcolor); + else if (h) { + var g; + e.selectAll('g.contourfill path').style('fill', function (t) { + return void 0 === g && (g = t.level), p(t.level + 0.5 * l); + }), + void 0 === g && (g = c), + e + .selectAll('g.contourbg path') + .style('fill', p(g - 0.5 * l)); + } + }), + a(t); + }; + }, + { + '../../components/drawing': 665, + '../heatmap/style': 1077, + './make_color_map': 1024, + d3: 169, + }, + ], + 1029: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/defaults'), + i = t('./label_defaults'); + e.exports = function (t, e, r, a, o) { + var s, + l = r('contours.coloring'), + c = ''; + 'fill' === l && (s = r('contours.showlines')), + !1 !== s && + ('lines' !== l && (c = r('line.color', '#000')), + r('line.width', 0.5), + r('line.dash')), + 'none' !== l && + (!0 !== t.showlegend && (e.showlegend = !1), + (e._dfltShowLegend = !1), + n(t, e, a, r, { prefix: '', cLetter: 'z' })), + r('line.smoothing'), + i(r, a, c, o); + }; + }, + { + '../../components/colorscale/defaults': 653, + './label_defaults': 1023, + }, + ], + 1030: [ + function (t, e, r) { + 'use strict'; + var n = t('../heatmap/attributes'), + i = t('../contour/attributes'), + a = t('../../components/colorscale/attributes'), + o = t('../../lib/extend').extendFlat, + s = i.contours; + e.exports = o( + { + carpet: { valType: 'string', editType: 'calc' }, + z: n.z, + a: n.x, + a0: n.x0, + da: n.dx, + b: n.y, + b0: n.y0, + db: n.dy, + text: n.text, + hovertext: n.hovertext, + transpose: n.transpose, + atype: n.xtype, + btype: n.ytype, + fillcolor: i.fillcolor, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: { + type: s.type, + start: s.start, + end: s.end, + size: s.size, + coloring: { + valType: 'enumerated', + values: ['fill', 'lines', 'none'], + dflt: 'fill', + editType: 'calc', + }, + showlines: s.showlines, + showlabels: s.showlabels, + labelfont: s.labelfont, + labelformat: s.labelformat, + operation: s.operation, + value: s.value, + editType: 'calc', + impliedEdits: { autocontour: !1 }, + }, + line: { + color: i.line.color, + width: i.line.width, + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: 'plot', + }, + transforms: void 0, + }, + a('', { cLetter: 'z', autoColorDflt: !1 }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../contour/attributes': 1008, + '../heatmap/attributes': 1065, + }, + ], + 1031: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/calc'), + i = t('../../lib'), + a = t('../heatmap/convert_column_xyz'), + o = t('../heatmap/clean_2d_array'), + s = t('../heatmap/interp2d'), + l = t('../heatmap/find_empties'), + c = t('../heatmap/make_bound_array'), + u = t('./defaults'), + f = t('../carpet/lookup_carpetid'), + h = t('../contour/set_contours'); + e.exports = function (t, e) { + var r = (e._carpetTrace = f(t, e)); + if (r && r.visible && 'legendonly' !== r.visible) { + if (!e.a || !e.b) { + var p = t.data[r.index], + d = t.data[e.index]; + d.a || (d.a = p.a), + d.b || (d.b = p.b), + u(d, e, e._defaultColor, t._fullLayout); + } + var g = (function (t, e) { + var r, + u, + f, + h, + p, + d, + g, + m = e._carpetTrace, + v = m.aaxis, + y = m.baxis; + (v._minDtick = 0), + (y._minDtick = 0), + i.isArray1D(e.z) && a(e, v, y, 'a', 'b', ['z']); + (r = e._a = e._a || e.a), + (h = e._b = e._b || e.b), + (r = r ? v.makeCalcdata(e, '_a') : []), + (h = h ? y.makeCalcdata(e, '_b') : []), + (u = e.a0 || 0), + (f = e.da || 1), + (p = e.b0 || 0), + (d = e.db || 1), + (g = e._z = o(e._z || e.z, e.transpose)), + (e._emptypoints = l(g)), + s(g, e._emptypoints); + var x = i.maxRowLength(g), + b = 'scaled' === e.xtype ? '' : r, + _ = c(e, b, u, f, x, v), + w = 'scaled' === e.ytype ? '' : h, + T = c(e, w, p, d, g.length, y), + k = { a: _, b: T, z: g }; + 'levels' === e.contours.type && + 'none' !== e.contours.coloring && + n(t, e, { vals: g, containerStr: '', cLetter: 'z' }); + return [k]; + })(t, e); + return h(e, e._z), g; + } + }; + }, + { + '../../components/colorscale/calc': 651, + '../../lib': 778, + '../carpet/lookup_carpetid': 981, + '../contour/set_contours': 1027, + '../heatmap/clean_2d_array': 1067, + '../heatmap/convert_column_xyz': 1069, + '../heatmap/find_empties': 1071, + '../heatmap/interp2d': 1074, + '../heatmap/make_bound_array': 1075, + './defaults': 1032, + }, + ], + 1032: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../heatmap/xyz_defaults'), + a = t('./attributes'), + o = t('../contour/constraint_defaults'), + s = t('../contour/contours_defaults'), + l = t('../contour/style_defaults'); + e.exports = function (t, e, r, c) { + function u(r, i) { + return n.coerce(t, e, a, r, i); + } + if ((u('carpet'), t.a && t.b)) { + if (!i(t, e, u, c, 'a', 'b')) return void (e.visible = !1); + u('text'), + 'constraint' === u('contours.type') + ? o(t, e, u, c, r, { hasHover: !1 }) + : (s(t, e, u, function (r) { + return n.coerce2(t, e, a, r); + }), + l(t, e, u, c, { hasHover: !1 })); + } else (e._defaultColor = r), (e._length = null); + }; + }, + { + '../../lib': 778, + '../contour/constraint_defaults': 1013, + '../contour/contours_defaults': 1015, + '../contour/style_defaults': 1029, + '../heatmap/xyz_defaults': 1079, + './attributes': 1030, + }, + ], + 1033: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../contour/colorbar'), + calc: t('./calc'), + plot: t('./plot'), + style: t('../contour/style'), + moduleType: 'trace', + name: 'contourcarpet', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'carpet', + 'contour', + 'symbols', + 'showLegend', + 'hasLines', + 'carpetDependent', + 'noHover', + 'noSortingByValue', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../contour/colorbar': 1011, + '../contour/style': 1028, + './attributes': 1030, + './calc': 1031, + './defaults': 1032, + './plot': 1034, + }, + ], + 1034: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../carpet/map_1d_array'), + a = t('../carpet/makepath'), + o = t('../../components/drawing'), + s = t('../../lib'), + l = t('../contour/make_crossings'), + c = t('../contour/find_all_paths'), + u = t('../contour/plot'), + f = t('../contour/constants'), + h = t('../contour/convert_to_constraints'), + p = t('../contour/empty_pathinfo'), + d = t('../contour/close_boundaries'), + g = t('../carpet/lookup_carpetid'), + m = t('../carpet/axis_aligned_line'); + function v(t, e, r) { + var n = t.getPointAtLength(e), + i = t.getPointAtLength(r), + a = i.x - n.x, + o = i.y - n.y, + s = Math.sqrt(a * a + o * o); + return [a / s, o / s]; + } + function y(t) { + var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]); + return [t[0] / e, t[1] / e]; + } + function x(t, e) { + var r = Math.abs(t[0] * e[0] + t[1] * e[1]); + return Math.sqrt(1 - r * r) / r; + } + e.exports = function (t, e, r, b) { + var _ = e.xaxis, + w = e.yaxis; + s.makeTraceGroups(b, r, 'contour').each(function (r) { + var b = n.select(this), + T = r[0], + k = T.trace, + M = (k._carpetTrace = g(t, k)), + A = t.calcdata[M.index][0]; + if (M.visible && 'legendonly' !== M.visible) { + var S = T.a, + E = T.b, + C = k.contours, + L = p(C, e, T), + I = 'constraint' === C.type, + P = C._operation, + z = I ? ('=' === P ? 'lines' : 'fill') : C.coloring, + O = [ + [S[0], E[E.length - 1]], + [S[S.length - 1], E[E.length - 1]], + [S[S.length - 1], E[0]], + [S[0], E[0]], + ]; + l(L); + var D = 1e-8 * (S[S.length - 1] - S[0]), + R = 1e-8 * (E[E.length - 1] - E[0]); + c(L, D, R); + var F, + B, + N, + j, + U = L; + 'constraint' === C.type && (U = h(L, P)), + (function (t, e) { + var r, n, i, a, o, s, l, c, u; + for (r = 0; r < t.length; r++) { + for ( + a = t[r], + o = a.pedgepaths = [], + s = a.ppaths = [], + n = 0; + n < a.edgepaths.length; + n++ + ) { + for ( + u = a.edgepaths[n], l = [], i = 0; + i < u.length; + i++ + ) + l[i] = e(u[i]); + o.push(l); + } + for (n = 0; n < a.paths.length; n++) { + for (u = a.paths[n], c = [], i = 0; i < u.length; i++) + c[i] = e(u[i]); + s.push(c); + } + } + })(L, H); + var V = []; + for (j = A.clipsegments.length - 1; j >= 0; j--) + (F = A.clipsegments[j]), + (B = i([], F.x, _.c2p)), + (N = i([], F.y, w.c2p)), + B.reverse(), + N.reverse(), + V.push(a(B, N, F.bicubic)); + var q = 'M' + V.join('L') + 'Z'; + !(function (t, e, r, n, o, l) { + var c, + u, + f, + h, + p = s + .ensureSingle(t, 'g', 'contourbg') + .selectAll('path') + .data('fill' !== l || o ? [] : [0]); + p.enter().append('path'), p.exit().remove(); + var d = []; + for (h = 0; h < e.length; h++) + (c = e[h]), + (u = i([], c.x, r.c2p)), + (f = i([], c.y, n.c2p)), + d.push(a(u, f, c.bicubic)); + p.attr('d', 'M' + d.join('L') + 'Z').style('stroke', 'none'); + })(b, A.clipsegments, _, w, I, z), + (function (t, e, r, i, a, l, c, u, f, h, p) { + var g = 'fill' === h; + g && d(a, t.contours); + var v = s + .ensureSingle(e, 'g', 'contourfill') + .selectAll('path') + .data(g ? a : []); + v.enter().append('path'), + v.exit().remove(), + v.each(function (t) { + var e = + (t.prefixBoundary ? p : '') + + (function (t, e, r, n, i, a, l, c) { + var u, + f, + h, + p, + d, + g, + v, + y = '', + x = e.edgepaths.map(function (t, e) { + return e; + }), + b = !0, + _ = 1e-4 * Math.abs(r[0][0] - r[2][0]), + w = 1e-4 * Math.abs(r[0][1] - r[2][1]); + function T(t) { + return Math.abs(t[1] - r[0][1]) < w; + } + function k(t) { + return Math.abs(t[1] - r[2][1]) < w; + } + function M(t) { + return Math.abs(t[0] - r[0][0]) < _; + } + function A(t) { + return Math.abs(t[0] - r[2][0]) < _; + } + function S(t, e) { + var r, + n, + o, + s, + u = ''; + for ( + (T(t) && !A(t)) || (k(t) && !M(t)) + ? ((s = i.aaxis), + (o = m( + i, + a, + [t[0], e[0]], + 0.5 * (t[1] + e[1]) + ))) + : ((s = i.baxis), + (o = m(i, a, 0.5 * (t[0] + e[0]), [ + t[1], + e[1], + ]))), + r = 1; + r < o.length; + r++ + ) + for ( + u += s.smoothing ? 'C' : 'L', n = 0; + n < o[r].length; + n++ + ) { + var f = o[r][n]; + u += [l.c2p(f[0]), c.c2p(f[1])] + ' '; + } + return u; + } + (u = 0), (f = null); + for (; x.length; ) { + var E = e.edgepaths[u][0]; + for ( + f && (y += S(f, E)), + v = o.smoothopen( + e.edgepaths[u].map(n), + e.smoothing + ), + y += b ? v : v.replace(/^M/, 'L'), + x.splice(x.indexOf(u), 1), + f = e.edgepaths[u][e.edgepaths[u].length - 1], + d = -1, + p = 0; + p < 4; + p++ + ) { + if (!f) { + s.log('Missing end?', u, e); + break; + } + for ( + T(f) && !A(f) + ? (h = r[1]) + : M(f) + ? (h = r[0]) + : k(f) + ? (h = r[3]) + : A(f) && (h = r[2]), + g = 0; + g < e.edgepaths.length; + g++ + ) { + var C = e.edgepaths[g][0]; + Math.abs(f[0] - h[0]) < _ + ? Math.abs(f[0] - C[0]) < _ && + (C[1] - f[1]) * (h[1] - C[1]) >= 0 && + ((h = C), (d = g)) + : Math.abs(f[1] - h[1]) < w + ? Math.abs(f[1] - C[1]) < w && + (C[0] - f[0]) * (h[0] - C[0]) >= 0 && + ((h = C), (d = g)) + : s.log( + 'endpt to newendpt is not vert. or horz.', + f, + h, + C + ); + } + if (d >= 0) break; + (y += S(f, h)), (f = h); + } + if (d === e.edgepaths.length) { + s.log('unclosed perimeter path'); + break; + } + (u = d), + (b = -1 === x.indexOf(u)) && + ((u = x[0]), + (y += S(f, h) + 'Z'), + (f = null)); + } + for (u = 0; u < e.paths.length; u++) + y += o.smoothclosed( + e.paths[u].map(n), + e.smoothing + ); + return y; + })(0, t, l, c, u, f, r, i); + e + ? n.select(this).attr('d', e).style('stroke', 'none') + : n.select(this).remove(); + }); + })(k, b, _, w, U, O, H, M, A, z, q), + (function (t, e, r, i, a, l, c) { + var h = s.ensureSingle(t, 'g', 'contourlines'), + p = !1 !== a.showlines, + d = a.showlabels, + g = p && d, + m = u.createLines(h, p || d, e), + b = u.createLineClip(h, g, r, i.trace.uid), + _ = t.selectAll('g.contourlabels').data(d ? [0] : []); + if ( + (_.exit().remove(), + _.enter().append('g').classed('contourlabels', !0), + d) + ) { + var w = l.xaxis, + T = l.yaxis, + k = w._length, + M = T._length, + A = [ + [ + [0, 0], + [k, 0], + [k, M], + [0, M], + ], + ], + S = []; + s.clearLocationCache(); + var E = u.labelFormatter(r, i), + C = o.tester + .append('text') + .attr('data-notex', 1) + .call(o.font, a.labelfont), + L = { + left: 0, + right: k, + center: k / 2, + top: 0, + bottom: M, + middle: M / 2, + }, + I = Math.sqrt(k * k + M * M), + P = + (f.LABELDISTANCE * I) / + Math.max(1, e.length / f.LABELINCREASE); + m.each(function (t) { + var e = u.calcTextOpts(t.level, E, C, r); + n.select(this) + .selectAll('path') + .each(function (r) { + var n = s.getVisibleSegment(this, L, e.height / 2); + if ( + n && + ((function (t, e, r, n, i, a) { + for (var o, s = 0; s < r.pedgepaths.length; s++) + e === r.pedgepaths[s] && (o = r.edgepaths[s]); + if (!o) return; + var l = i.a[0], + c = i.a[i.a.length - 1], + u = i.b[0], + f = i.b[i.b.length - 1]; + function h(t, e) { + var r, + n = 0; + return ( + (Math.abs(t[0] - l) < 0.1 || + Math.abs(t[0] - c) < 0.1) && + ((r = y(i.dxydb_rough(t[0], t[1], 0.1))), + (n = Math.max(n, (a * x(e, r)) / 2))), + (Math.abs(t[1] - u) < 0.1 || + Math.abs(t[1] - f) < 0.1) && + ((r = y(i.dxyda_rough(t[0], t[1], 0.1))), + (n = Math.max(n, (a * x(e, r)) / 2))), + n + ); + } + var p = v(t, 0, 1), + d = v(t, n.total, n.total - 1), + g = h(o[0], p), + m = n.total - h(o[o.length - 1], d); + n.min < g && (n.min = g); + n.max > m && (n.max = m); + n.len = n.max - n.min; + })(this, r, t, n, c, e.height), + !(n.len < (e.width + e.height) * f.LABELMIN)) + ) + for ( + var i = Math.min( + Math.ceil(n.len / P), + f.LABELMAX + ), + a = 0; + a < i; + a++ + ) { + var o = u.findBestTextLocation( + this, + n, + e, + S, + L + ); + if (!o) break; + u.addLabelData(o, e, S, A); + } + }); + }), + C.remove(), + u.drawLabels(_, S, r, b, g ? A : null); + } + d && !p && m.remove(); + })(b, L, t, T, C, e, M), + o.setClipUrl(b, M._clipPathId, t); + } + function H(t) { + var e = M.ab2xy(t[0], t[1], !0); + return [_.c2p(e[0]), w.c2p(e[1])]; + } + }); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../carpet/axis_aligned_line': 965, + '../carpet/lookup_carpetid': 981, + '../carpet/makepath': 982, + '../carpet/map_1d_array': 983, + '../contour/close_boundaries': 1010, + '../contour/constants': 1012, + '../contour/convert_to_constraints': 1016, + '../contour/empty_pathinfo': 1018, + '../contour/find_all_paths': 1020, + '../contour/make_crossings': 1025, + '../contour/plot': 1026, + d3: 169, + }, + ], + 1035: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../../plots/attributes'), + o = t('../scattermapbox/attributes'), + s = t('../../lib/extend').extendFlat; + e.exports = s( + { + lon: o.lon, + lat: o.lat, + z: { valType: 'data_array', editType: 'calc' }, + radius: { + valType: 'number', + editType: 'plot', + arrayOk: !0, + min: 1, + dflt: 30, + }, + below: { valType: 'string', editType: 'plot' }, + text: o.text, + hovertext: o.hovertext, + hoverinfo: s({}, a.hoverinfo, { + flags: ['lon', 'lat', 'z', 'text', 'name'], + }), + hovertemplate: i(), + showlegend: s({}, a.showlegend, { dflt: !1 }), + }, + n('', { cLetter: 'z', editTypeOverride: 'calc' }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scattermapbox/attributes': 1252, + }, + ], + 1036: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib').isArrayOrTypedArray, + a = t('../../constants/numerical').BADNUM, + o = t('../../components/colorscale/calc'), + s = t('../../lib')._; + e.exports = function (t, e) { + for ( + var r = e._length, + l = new Array(r), + c = e.z, + u = i(c) && c.length, + f = 0; + f < r; + f++ + ) { + var h = (l[f] = {}), + p = e.lon[f], + d = e.lat[f]; + if (((h.lonlat = n(p) && n(d) ? [+p, +d] : [a, a]), u)) { + var g = c[f]; + h.z = n(g) ? g : a; + } + } + return ( + o(t, e, { vals: u ? c : [0, 1], containerStr: '', cLetter: 'z' }), + r && + (l[0].t = { + labels: { lat: s(t, 'lat:') + ' ', lon: s(t, 'lon:') + ' ' }, + }), + l + ); + }; + }, + { + '../../components/colorscale/calc': 651, + '../../constants/numerical': 753, + '../../lib': 778, + 'fast-isnumeric': 241, + }, + ], + 1037: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../components/color'), + o = t('../../components/colorscale'), + s = t('../../constants/numerical').BADNUM, + l = t('../../lib/geojson_utils').makeBlank; + e.exports = function (t) { + var e = t[0].trace, + r = !0 === e.visible && 0 !== e._length, + c = (e._opts = { + heatmap: { layout: { visibility: 'none' }, paint: {} }, + geojson: l(), + }); + if (!r) return c; + var u, + f = [], + h = e.z, + p = e.radius, + d = i.isArrayOrTypedArray(h) && h.length, + g = i.isArrayOrTypedArray(p); + for (u = 0; u < t.length; u++) { + var m = t[u], + v = m.lonlat; + if (v[0] !== s) { + var y = {}; + if (d) { + var x = m.z; + y.z = x !== s ? x : 0; + } + g && (y.r = n(p[u]) && p[u] > 0 ? +p[u] : 0), + f.push({ + type: 'Feature', + geometry: { type: 'Point', coordinates: v }, + properties: y, + }); + } + } + var b = o.extractOpts(e), + _ = b.reversescale ? o.flipScale(b.colorscale) : b.colorscale, + w = _[0][1], + T = [ + 'interpolate', + ['linear'], + ['heatmap-density'], + 0, + a.opacity(w) < 1 ? w : a.addOpacity(w, 0), + ]; + for (u = 1; u < _.length; u++) T.push(_[u][0], _[u][1]); + var k = [ + 'interpolate', + ['linear'], + ['get', 'z'], + b.min, + 0, + b.max, + 1, + ]; + return ( + i.extendFlat(c.heatmap.paint, { + 'heatmap-weight': d ? k : 1 / (b.max - b.min), + 'heatmap-color': T, + 'heatmap-radius': g + ? { type: 'identity', property: 'r' } + : e.radius, + 'heatmap-opacity': e.opacity, + }), + (c.geojson = { type: 'FeatureCollection', features: f }), + (c.heatmap.layout.visibility = 'visible'), + c + ); + }; + }, + { + '../../components/color': 643, + '../../components/colorscale': 655, + '../../constants/numerical': 753, + '../../lib': 778, + '../../lib/geojson_utils': 772, + 'fast-isnumeric': 241, + }, + ], + 1038: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/defaults'), + a = t('./attributes'); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s('lon') || [], + c = s('lat') || [], + u = Math.min(l.length, c.length); + u + ? ((e._length = u), + s('z'), + s('radius'), + s('below'), + s('text'), + s('hovertext'), + s('hovertemplate'), + i(t, e, o, s, { prefix: '', cLetter: 'z' })) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + './attributes': 1035, + }, + ], + 1039: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), (t.z = e.z), t; + }; + }, + {}, + ], + 1040: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../scattermapbox/hover'); + e.exports = function (t, e, r) { + var o = a(t, e, r); + if (o) { + var s = o[0], + l = s.cd, + c = l[0].trace, + u = l[s.index]; + if ((delete s.color, 'z' in u)) { + var f = s.subplot.mockAxis; + (s.z = u.z), + (s.zLabel = i.tickText(f, f.c2l(u.z), 'hover').text); + } + return ( + (s.extraText = (function (t, e, r) { + if (t.hovertemplate) return; + var i = (e.hi || t.hoverinfo).split('+'), + a = -1 !== i.indexOf('all'), + o = -1 !== i.indexOf('lon'), + s = -1 !== i.indexOf('lat'), + l = e.lonlat, + c = []; + function u(t) { + return t + '\xb0'; + } + a || (o && s) + ? c.push('(' + u(l[0]) + ', ' + u(l[1]) + ')') + : o + ? c.push(r.lon + u(l[0])) + : s && c.push(r.lat + u(l[1])); + (a || -1 !== i.indexOf('text')) && n.fillText(e, t, c); + return c.join('
'); + })(c, u, l[0].t.labels)), + [s] + ); + } + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../scattermapbox/hover': 1257, + }, + ], + 1041: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../heatmap/colorbar'), + formatLabels: t('../scattermapbox/format_labels'), + calc: t('./calc'), + plot: t('./plot'), + hoverPoints: t('./hover'), + eventData: t('./event_data'), + getBelow: function (t, e) { + for (var r = e.getMapLayers(), n = 0; n < r.length; n++) { + var i = r[n], + a = i.id; + if ( + 'symbol' === i.type && + 'string' == typeof a && + -1 === a.indexOf('plotly-') + ) + return a; + } + }, + moduleType: 'trace', + name: 'densitymapbox', + basePlotModule: t('../../plots/mapbox'), + categories: ['mapbox', 'gl', 'showLegend'], + meta: { hr_name: 'density_mapbox' }, + }; + }, + { + '../../plots/mapbox': 885, + '../heatmap/colorbar': 1068, + '../scattermapbox/format_labels': 1256, + './attributes': 1035, + './calc': 1036, + './defaults': 1038, + './event_data': 1039, + './hover': 1040, + './plot': 1042, + }, + ], + 1042: [ + function (t, e, r) { + 'use strict'; + var n = t('./convert'), + i = t('../../plots/mapbox/constants').traceLayerPrefix; + function a(t, e) { + (this.type = 'densitymapbox'), + (this.subplot = t), + (this.uid = e), + (this.sourceId = 'source-' + e), + (this.layerList = [['heatmap', i + e + '-heatmap']]), + (this.below = null); + } + var o = a.prototype; + (o.update = function (t) { + var e = this.subplot, + r = this.layerList, + i = n(t), + a = e.belowLookup['trace-' + this.uid]; + e.map.getSource(this.sourceId).setData(i.geojson), + a !== this.below && + (this._removeLayers(), this._addLayers(i, a), (this.below = a)); + for (var o = 0; o < r.length; o++) { + var s = r[o], + l = s[0], + c = s[1], + u = i[l]; + e.setOptions(c, 'setLayoutProperty', u.layout), + 'visible' === u.layout.visibility && + e.setOptions(c, 'setPaintProperty', u.paint); + } + }), + (o._addLayers = function (t, e) { + for ( + var r = this.subplot, + n = this.layerList, + i = this.sourceId, + a = 0; + a < n.length; + a++ + ) { + var o = n[a], + s = o[0], + l = t[s]; + r.addLayer( + { + type: s, + id: o[1], + source: i, + layout: l.layout, + paint: l.paint, + }, + e + ); + } + }), + (o._removeLayers = function () { + for ( + var t = this.subplot.map, e = this.layerList, r = e.length - 1; + r >= 0; + r-- + ) + t.removeLayer(e[r][1]); + }), + (o.dispose = function () { + var t = this.subplot.map; + this._removeLayers(), t.removeSource(this.sourceId); + }), + (e.exports = function (t, e) { + var r = e[0].trace, + i = new a(t, r.uid), + o = i.sourceId, + s = n(e), + l = (i.below = t.belowLookup['trace-' + r.uid]); + return ( + t.map.addSource(o, { type: 'geojson', data: s.geojson }), + i._addLayers(s, l), + i + ); + }); + }, + { '../../plots/mapbox/constants': 883, './convert': 1037 }, + ], + 1043: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, 'tx'), n.mergeArray(e.hovertext, t, 'htx'); + var i = e.marker; + if (i) { + n.mergeArray(i.opacity, t, 'mo'), n.mergeArray(i.color, t, 'mc'); + var a = i.line; + a && + (n.mergeArray(a.color, t, 'mlc'), + n.mergeArrayCastPositive(a.width, t, 'mlw')); + } + }; + }, + { '../../lib': 778 }, + ], + 1044: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/attributes'), + i = t('../scatter/attributes').line, + a = t('../../plots/attributes'), + o = t('../../plots/template_attributes').hovertemplateAttrs, + s = t('../../plots/template_attributes').texttemplateAttrs, + l = t('./constants'), + c = t('../../lib/extend').extendFlat, + u = t('../../components/color'); + e.exports = { + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + hovertext: n.hovertext, + hovertemplate: o({}, { keys: l.eventDataKeys }), + hoverinfo: c({}, a.hoverinfo, { + flags: [ + 'name', + 'x', + 'y', + 'text', + 'percent initial', + 'percent previous', + 'percent total', + ], + }), + textinfo: { + valType: 'flaglist', + flags: [ + 'label', + 'text', + 'percent initial', + 'percent previous', + 'percent total', + 'value', + ], + extras: ['none'], + editType: 'plot', + arrayOk: !1, + }, + texttemplate: s( + { editType: 'plot' }, + { keys: l.eventDataKeys.concat(['label', 'value']) } + ), + text: n.text, + textposition: c({}, n.textposition, { dflt: 'auto' }), + insidetextanchor: c({}, n.insidetextanchor, { dflt: 'middle' }), + textangle: c({}, n.textangle, { dflt: 0 }), + textfont: n.textfont, + insidetextfont: n.insidetextfont, + outsidetextfont: n.outsidetextfont, + constraintext: n.constraintext, + cliponaxis: n.cliponaxis, + orientation: c({}, n.orientation, {}), + offset: c({}, n.offset, { arrayOk: !1 }), + width: c({}, n.width, { arrayOk: !1 }), + marker: n.marker, + connector: { + fillcolor: { valType: 'color', editType: 'style' }, + line: { + color: c({}, i.color, { dflt: u.defaultLine }), + width: c({}, i.width, { dflt: 0, editType: 'plot' }), + dash: i.dash, + editType: 'style', + }, + visible: { valType: 'boolean', dflt: !0, editType: 'plot' }, + editType: 'plot', + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + }; + }, + { + '../../components/color': 643, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../bar/attributes': 921, + '../scatter/attributes': 1187, + './constants': 1046, + }, + ], + 1045: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../plots/cartesian/align_period'), + a = t('./arrays_to_calcdata'), + o = t('../scatter/calc_selection'), + s = t('../../constants/numerical').BADNUM; + function l(t) { + return t === s ? 0 : t; + } + e.exports = function (t, e) { + var r, + c, + u, + f, + h, + p, + d = n.getFromId(t, e.xaxis || 'x'), + g = n.getFromId(t, e.yaxis || 'y'); + 'h' === e.orientation + ? ((r = d.makeCalcdata(e, 'x')), + (u = g.makeCalcdata(e, 'y')), + (c = i(e, g, 'y', u)), + (p = !!e.yperiodalignment)) + : ((r = g.makeCalcdata(e, 'y')), + (u = d.makeCalcdata(e, 'x')), + (c = i(e, d, 'x', u)), + (p = !!e.xperiodalignment)); + var m, + v = Math.min(c.length, r.length), + y = new Array(v); + for (e._base = [], f = 0; f < v; f++) { + r[f] < 0 && (r[f] = s); + var x = !1; + r[f] !== s && f + 1 < v && r[f + 1] !== s && (x = !0), + (h = y[f] = { p: c[f], s: r[f], cNext: x }), + (e._base[f] = -0.5 * h.s), + p && (y[f].orig_p = u[f]), + e.ids && (h.id = String(e.ids[f])), + 0 === f && (y[0].vTotal = 0), + (y[0].vTotal += l(h.s)), + (h.begR = l(h.s) / l(y[0].s)); + } + for (f = 0; f < v; f++) + (h = y[f]).s !== s && + ((h.sumR = h.s / y[0].vTotal), + (h.difR = void 0 !== m ? h.s / m : 1), + (m = h.s)); + return a(y, e), o(y, e), y; + }; + }, + { + '../../constants/numerical': 753, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + '../scatter/calc_selection': 1189, + './arrays_to_calcdata': 1043, + }, + ], + 1046: [ + function (t, e, r) { + 'use strict'; + e.exports = { + eventDataKeys: [ + 'percentInitial', + 'percentPrevious', + 'percentTotal', + ], + }; + }, + {}, + ], + 1047: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/cross_trace_calc').setGroupPositions; + e.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + c = e.yaxis, + u = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i], + d = 'h' === p.orientation; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === c._id && + 'funnel' === p.type && + ((r = s[i]), d ? h.push(r) : f.push(r), u.push(r)); + } + var g = { + mode: a.funnelmode, + norm: a.funnelnorm, + gap: a.funnelgap, + groupgap: a.funnelgroupgap, + }; + for (n(t, l, c, f, g), n(t, c, l, h, g), i = 0; i < u.length; i++) { + r = u[i]; + for (var m = 0; m < r.length; m++) + m + 1 < r.length && + ((r[m].nextP0 = r[m + 1].p0), + (r[m].nextS0 = r[m + 1].s0), + (r[m].nextP1 = r[m + 1].p1), + (r[m].nextS1 = r[m + 1].s1)); + } + }; + }, + { '../bar/cross_trace_calc': 924 }, + ], + 1048: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../bar/defaults').handleGroupingDefaults, + a = t('../bar/defaults').handleText, + o = t('../scatter/xy_defaults'), + s = t('../scatter/period_defaults'), + l = t('./attributes'), + c = t('../../components/color'); + e.exports = { + supplyDefaults: function (t, e, r, i) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, u)) { + s(t, e, i, u), + u('orientation', e.y && !e.x ? 'v' : 'h'), + u('offset'), + u('width'); + var f = u('text'); + u('hovertext'), u('hovertemplate'); + var h = u('textposition'); + a(t, e, i, u, h, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + 'none' === e.textposition || + e.texttemplate || + u('textinfo', Array.isArray(f) ? 'text+value' : 'value'); + var p = u('marker.color', r); + if ( + (u('marker.line.color', c.defaultLine), + u('marker.line.width'), + u('connector.visible')) + ) + u( + 'connector.fillcolor', + (function (t) { + var e = n.isArrayOrTypedArray(t) ? '#000' : t; + return c.addOpacity(e, 0.5 * c.opacity(e)); + })(p) + ), + u('connector.line.width') && + (u('connector.line.color'), u('connector.line.dash')); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ('group' === e.funnelmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../bar/defaults': 925, + '../scatter/period_defaults': 1207, + '../scatter/xy_defaults': 1214, + './attributes': 1044, + }, + ], + 1049: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return ( + (t.x = 'xVal' in e ? e.xVal : e.x), + (t.y = 'yVal' in e ? e.yVal : e.y), + 'percentInitial' in e && (t.percentInitial = e.percentInitial), + 'percentPrevious' in e && (t.percentPrevious = e.percentPrevious), + 'percentTotal' in e && (t.percentTotal = e.percentTotal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + {}, + ], + 1050: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color').opacity, + i = t('../bar/hover').hoverOnBars, + a = t('../../lib').formatPercent; + e.exports = function (t, e, r, o) { + var s = i(t, e, r, o); + if (s) { + var l = s.cd, + c = l[0].trace, + u = 'h' === c.orientation, + f = l[s.index]; + (s[(u ? 'x' : 'y') + 'LabelVal'] = f.s), + (s.percentInitial = f.begR), + (s.percentInitialLabel = a(f.begR, 1)), + (s.percentPrevious = f.difR), + (s.percentPreviousLabel = a(f.difR, 1)), + (s.percentTotal = f.sumR), + (s.percentTotalLabel = a(f.sumR, 1)); + var h = f.hi || c.hoverinfo, + p = []; + if (h && 'none' !== h && 'skip' !== h) { + var d = 'all' === h, + g = h.split('+'), + m = function (t) { + return d || -1 !== g.indexOf(t); + }; + m('percent initial') && + p.push(s.percentInitialLabel + ' of initial'), + m('percent previous') && + p.push(s.percentPreviousLabel + ' of previous'), + m('percent total') && + p.push(s.percentTotalLabel + ' of total'); + } + return ( + (s.extraText = p.join('
')), + (s.color = (function (t, e) { + var r = t.marker, + i = e.mc || r.color, + a = e.mlc || r.line.color, + o = e.mlw || r.line.width; + if (n(i)) return i; + if (n(a) && o) return a; + })(c, f)), + [s] + ); + } + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../bar/hover': 928, + }, + ], + 1051: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + crossTraceDefaults: t('./defaults').crossTraceDefaults, + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc'), + crossTraceCalc: t('./cross_trace_calc'), + plot: t('./plot'), + style: t('./style').style, + hoverPoints: t('./hover'), + eventData: t('./event_data'), + selectPoints: t('../bar/select'), + moduleType: 'trace', + name: 'funnel', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'bar-like', + 'cartesian', + 'svg', + 'oriented', + 'showLegend', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../bar/select': 933, + './attributes': 1044, + './calc': 1045, + './cross_trace_calc': 1047, + './defaults': 1048, + './event_data': 1049, + './hover': 1050, + './layout_attributes': 1052, + './layout_defaults': 1053, + './plot': 1054, + './style': 1055, + }, + ], + 1052: [ + function (t, e, r) { + 'use strict'; + e.exports = { + funnelmode: { + valType: 'enumerated', + values: ['stack', 'group', 'overlay'], + dflt: 'stack', + editType: 'calc', + }, + funnelgap: { valType: 'number', min: 0, max: 1, editType: 'calc' }, + funnelgroupgap: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'calc', + }, + }; + }, + {}, + ], + 1053: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && 'funnel' === l.type) { + a = !0; + break; + } + } + a && (o('funnelmode'), o('funnelgap', 0.2), o('funnelgroupgap')); + }; + }, + { '../../lib': 778, './layout_attributes': 1052 }, + ], + 1054: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../../constants/numerical').BADNUM, + s = t('../bar/plot'), + l = t('../bar/uniform_text').clearMinTextSize; + function c(t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + (i[3] = o.c2p(t.nextS1, !0)), + (a[3] = s.c2p(t.nextP1, !0)), + n ? [i, a] : [a, i] + ); + } + e.exports = function (t, e, r, u) { + var f = t._fullLayout; + l('funnel', f), + (function (t, e, r, s) { + var l = e.xaxis, + u = e.yaxis; + i.makeTraceGroups(s, r, 'trace bars').each(function (r) { + var s = n.select(this), + f = r[0].trace, + h = i.ensureSingle(s, 'g', 'regions'); + if (f.connector && f.connector.visible) { + var p = 'h' === f.orientation, + d = h.selectAll('g.region').data(i.identity); + d.enter().append('g').classed('region', !0), + d.exit().remove(); + var g = d.size(); + d.each(function (r, s) { + if (s === g - 1 || r.cNext) { + var f = c(r, l, u, p), + h = f[0], + d = f[1], + m = ''; + h[0] !== o && + d[0] !== o && + h[1] !== o && + d[1] !== o && + h[2] !== o && + d[2] !== o && + h[3] !== o && + d[3] !== o && + (m += p + ? 'M' + + h[0] + + ',' + + d[1] + + 'L' + + h[2] + + ',' + + d[2] + + 'H' + + h[3] + + 'L' + + h[1] + + ',' + + d[1] + + 'Z' + : 'M' + + h[1] + + ',' + + d[1] + + 'L' + + h[2] + + ',' + + d[3] + + 'V' + + d[2] + + 'L' + + h[1] + + ',' + + d[0] + + 'Z'), + '' === m && (m = 'M0,0Z'), + i + .ensureSingle(n.select(this), 'path') + .attr('d', m) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else h.remove(); + }); + })(t, e, r, u), + (function (t, e, r, o) { + var s = e.xaxis, + l = e.yaxis; + i.makeTraceGroups(o, r, 'trace bars').each(function (r) { + var o = n.select(this), + u = r[0].trace, + f = i.ensureSingle(o, 'g', 'lines'); + if ( + u.connector && + u.connector.visible && + u.connector.line.width + ) { + var h = 'h' === u.orientation, + p = f.selectAll('g.line').data(i.identity); + p.enter().append('g').classed('line', !0), + p.exit().remove(); + var d = p.size(); + p.each(function (r, o) { + if (o === d - 1 || r.cNext) { + var u = c(r, s, l, h), + f = u[0], + p = u[1], + g = ''; + void 0 !== f[3] && + void 0 !== p[3] && + (h + ? ((g += + 'M' + + f[0] + + ',' + + p[1] + + 'L' + + f[2] + + ',' + + p[2]), + (g += + 'M' + + f[1] + + ',' + + p[1] + + 'L' + + f[3] + + ',' + + p[2])) + : ((g += + 'M' + + f[1] + + ',' + + p[1] + + 'L' + + f[2] + + ',' + + p[3]), + (g += + 'M' + + f[1] + + ',' + + p[0] + + 'L' + + f[2] + + ',' + + p[2]))), + '' === g && (g = 'M0,0Z'), + i + .ensureSingle(n.select(this), 'path') + .attr('d', g) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }); + })(t, e, r, u), + s.plot(t, e, r, u, { + mode: f.funnelmode, + norm: f.funnelmode, + gap: f.funnelgap, + groupgap: f.funnelgroupgap, + }); + }; + }, + { + '../../components/drawing': 665, + '../../constants/numerical': 753, + '../../lib': 778, + '../bar/plot': 932, + '../bar/uniform_text': 937, + d3: 169, + }, + ], + 1055: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../components/color'), + o = t('../../constants/interactions').DESELECTDIM, + s = t('../bar/style'), + l = t('../bar/uniform_text').resizeText, + c = s.styleTextPoints; + e.exports = { + style: function (t, e, r) { + var s = + r || + n.select(t).selectAll('g.funnellayer').selectAll('g.trace'); + l(t, s, 'funnel'), + s.style('opacity', function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll('.point > path').each(function (t) { + if (!t.isBlank) { + var e = s.marker; + n.select(this) + .call(a.fill, t.mc || e.color) + .call(a.stroke, t.mlc || e.line.color) + .call(i.dashLine, e.line.dash, t.mlw || e.line.width) + .style( + 'opacity', + s.selectedpoints && !t.selected ? o : 1 + ); + } + }), + c(r, s, t), + r.selectAll('.regions').each(function () { + n.select(this) + .selectAll('path') + .style('stroke-width', 0) + .call(a.fill, s.connector.fillcolor); + }), + r.selectAll('.lines').each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll('path'), + t.width, + t.color, + t.dash + ); + }); + }); + }, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../constants/interactions': 752, + '../bar/style': 935, + '../bar/uniform_text': 937, + d3: 169, + }, + ], + 1056: [ + function (t, e, r) { + 'use strict'; + var n = t('../pie/attributes'), + i = t('../../plots/attributes'), + a = t('../../plots/domain').attributes, + o = t('../../plots/template_attributes').hovertemplateAttrs, + s = t('../../plots/template_attributes').texttemplateAttrs, + l = t('../../lib/extend').extendFlat; + e.exports = { + labels: n.labels, + label0: n.label0, + dlabel: n.dlabel, + values: n.values, + marker: { + colors: n.marker.colors, + line: { + color: l({}, n.marker.line.color, { dflt: null }), + width: l({}, n.marker.line.width, { dflt: 1 }), + editType: 'calc', + }, + editType: 'calc', + }, + text: n.text, + hovertext: n.hovertext, + scalegroup: l({}, n.scalegroup, {}), + textinfo: l({}, n.textinfo, { + flags: ['label', 'text', 'value', 'percent'], + }), + texttemplate: s( + { editType: 'plot' }, + { keys: ['label', 'color', 'value', 'text', 'percent'] } + ), + hoverinfo: l({}, i.hoverinfo, { + flags: ['label', 'text', 'value', 'percent', 'name'], + }), + hovertemplate: o( + {}, + { keys: ['label', 'color', 'value', 'text', 'percent'] } + ), + textposition: l({}, n.textposition, { + values: ['inside', 'none'], + dflt: 'inside', + }), + textfont: n.textfont, + insidetextfont: n.insidetextfont, + title: { + text: n.title.text, + font: n.title.font, + position: l({}, n.title.position, { + values: ['top left', 'top center', 'top right'], + dflt: 'top center', + }), + editType: 'plot', + }, + domain: a({ name: 'funnelarea', trace: !0, editType: 'calc' }), + aspectratio: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'plot', + }, + baseratio: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.333, + editType: 'plot', + }, + }; + }, + { + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/domain': 855, + '../../plots/template_attributes': 906, + '../pie/attributes': 1161, + }, + ], + 1057: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/plots'); + (r.name = 'funnelarea'), + (r.plot = function (t, e, i, a) { + n.plotBasePlot(r.name, t, e, i, a); + }), + (r.clean = function (t, e, i, a) { + n.cleanBasePlot(r.name, t, e, i, a); + }); + }, + { '../../plots/plots': 891 }, + ], + 1058: [ + function (t, e, r) { + 'use strict'; + var n = t('../pie/calc'); + e.exports = { + calc: function (t, e) { + return n.calc(t, e); + }, + crossTraceCalc: function (t) { + n.crossTraceCalc(t, { type: 'funnelarea' }); + }, + }; + }, + { '../pie/calc': 1163 }, + ], + 1059: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../plots/domain').defaults, + o = t('../bar/defaults').handleText, + s = t('../pie/defaults').handleLabelsAndValues; + e.exports = function (t, e, r, l) { + function c(r, a) { + return n.coerce(t, e, i, r, a); + } + var u = c('labels'), + f = c('values'), + h = s(u, f), + p = h.len; + if ( + ((e._hasLabels = h.hasLabels), + (e._hasValues = h.hasValues), + !e._hasLabels && e._hasValues && (c('label0'), c('dlabel')), + p) + ) { + (e._length = p), + c('marker.line.width') && + c('marker.line.color', l.paper_bgcolor), + c('marker.colors'), + c('scalegroup'); + var d, + g = c('text'), + m = c('texttemplate'); + if ( + (m || + (d = c( + 'textinfo', + Array.isArray(g) ? 'text+percent' : 'percent' + )), + c('hovertext'), + c('hovertemplate'), + m || (d && 'none' !== d)) + ) { + var v = c('textposition'); + o(t, e, l, c, v, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }); + } + a(e, l, c), + c('title.text') && + (c('title.position'), n.coerceFont(c, 'title.font', l.font)), + c('aspectratio'), + c('baseratio'); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../../plots/domain': 855, + '../bar/defaults': 925, + '../pie/defaults': 1164, + './attributes': 1056, + }, + ], + 1060: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'funnelarea', + basePlotModule: t('./base_plot'), + categories: ['pie-like', 'funnelarea', 'showLegend'], + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults'), + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('./calc').crossTraceCalc, + plot: t('./plot'), + style: t('./style'), + styleOne: t('../pie/style_one'), + meta: {}, + }; + }, + { + '../pie/style_one': 1172, + './attributes': 1056, + './base_plot': 1057, + './calc': 1058, + './defaults': 1059, + './layout_attributes': 1061, + './layout_defaults': 1062, + './plot': 1063, + './style': 1064, + }, + ], + 1061: [ + function (t, e, r) { + 'use strict'; + var n = t('../pie/layout_attributes').hiddenlabels; + e.exports = { + hiddenlabels: n, + funnelareacolorway: { valType: 'colorlist', editType: 'calc' }, + extendfunnelareacolors: { + valType: 'boolean', + dflt: !0, + editType: 'calc', + }, + }; + }, + { '../pie/layout_attributes': 1168 }, + ], + 1062: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r('hiddenlabels'), + r('funnelareacolorway', e.colorway), + r('extendfunnelareacolors'); + }; + }, + { '../../lib': 778, './layout_attributes': 1061 }, + ], + 1063: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../lib'), + o = a.strScale, + s = a.strTranslate, + l = t('../../lib/svg_text_utils'), + c = t('../bar/plot').toMoveInsideBar, + u = t('../bar/uniform_text'), + f = u.recordMinTextSize, + h = u.clearMinTextSize, + p = t('../pie/helpers'), + d = t('../pie/plot'), + g = d.attachFxHandlers, + m = d.determineInsideTextFont, + v = d.layoutAreas, + y = d.prerenderTitles, + x = d.positionTitleOutside, + b = d.formatSliceLabel; + function _(t, e) { + return 'l' + (e[0] - t[0]) + ',' + (e[1] - t[1]); + } + e.exports = function (t, e) { + var r = t._fullLayout; + h('funnelarea', r), + y(e, t), + v(e, r._size), + a + .makeTraceGroups(r._funnelarealayer, e, 'trace') + .each(function (e) { + var u = n.select(this), + h = e[0], + d = h.trace; + !(function (t) { + if (!t.length) return; + var e = t[0], + r = e.trace, + n = r.aspectratio, + i = r.baseratio; + i > 0.999 && (i = 0.999); + var a, + o = Math.pow(i, 2), + s = e.vTotal, + l = s, + c = (s * o) / (1 - o) / s; + function u() { + var t, + e = { x: (t = Math.sqrt(c)), y: -t }; + return [e.x, e.y]; + } + var f, + h, + p = []; + for (p.push(u()), f = t.length - 1; f > -1; f--) + if (!(h = t[f]).hidden) { + var d = h.v / l; + (c += d), p.push(u()); + } + var g = 1 / 0, + m = -1 / 0; + for (f = 0; f < p.length; f++) + (a = p[f]), + (g = Math.min(g, a[1])), + (m = Math.max(m, a[1])); + for (f = 0; f < p.length; f++) p[f][1] -= (m + g) / 2; + var v = p[p.length - 1][0], + y = e.r, + x = (m - g) / 2, + b = y / v, + _ = (y / x) * n; + for (e.r = _ * x, f = 0; f < p.length; f++) + (p[f][0] *= b), (p[f][1] *= _); + var w = [-(a = p[0])[0], a[1]], + T = [a[0], a[1]], + k = 0; + for (f = t.length - 1; f > -1; f--) + if (!(h = t[f]).hidden) { + var M = p[(k += 1)][0], + A = p[k][1]; + (h.TL = [-M, A]), + (h.TR = [M, A]), + (h.BL = w), + (h.BR = T), + (h.pxmid = + ((S = h.TR), + (E = h.BR), + [0.5 * (S[0] + E[0]), 0.5 * (S[1] + E[1])])), + (w = h.TL), + (T = h.TR); + } + var S, E; + })(e), + u.each(function () { + var u = n.select(this).selectAll('g.slice').data(e); + u.enter().append('g').classed('slice', !0), + u.exit().remove(), + u.each(function (o, s) { + if (o.hidden) + n.select(this).selectAll('path,g').remove(); + else { + (o.pointNumber = o.i), (o.curveNumber = d.index); + var u = h.cx, + v = h.cy, + y = n.select(this), + x = y.selectAll('path.surface').data([o]); + x + .enter() + .append('path') + .classed('surface', !0) + .style({ 'pointer-events': 'all' }), + y.call(g, t, e); + var w = + 'M' + + (u + o.TR[0]) + + ',' + + (v + o.TR[1]) + + _(o.TR, o.BR) + + _(o.BR, o.BL) + + _(o.BL, o.TL) + + 'Z'; + x.attr('d', w), b(t, o, h); + var T = p.castOption(d.textposition, o.pts), + k = y + .selectAll('g.slicetext') + .data(o.text && 'none' !== T ? [0] : []); + k.enter().append('g').classed('slicetext', !0), + k.exit().remove(), + k.each(function () { + var h = a.ensureSingle( + n.select(this), + 'text', + '', + function (t) { + t.attr('data-notex', 1); + } + ), + p = a.ensureUniformFontSize( + t, + m(d, o, r.font) + ); + h.text(o.text) + .attr({ + class: 'slicetext', + transform: '', + 'text-anchor': 'middle', + }) + .call(i.font, p) + .call(l.convertToTspans, t); + var g, + y, + x, + b = i.bBox(h.node()), + _ = Math.min(o.BL[1], o.BR[1]) + v, + w = Math.max(o.TL[1], o.TR[1]) + v; + (y = Math.max(o.TL[0], o.BL[0]) + u), + (x = Math.min(o.TR[0], o.BR[0]) + u), + ((g = c(y, x, _, w, b, { + isHorizontal: !0, + constrained: !0, + angle: 0, + anchor: 'middle', + })).fontSize = p.size), + f(d.type, g, r), + (e[s].transform = g), + h.attr('transform', a.getTextTransform(g)); + }); + } + }); + var v = n + .select(this) + .selectAll('g.titletext') + .data(d.title.text ? [0] : []); + v.enter().append('g').classed('titletext', !0), + v.exit().remove(), + v.each(function () { + var e = a.ensureSingle( + n.select(this), + 'text', + '', + function (t) { + t.attr('data-notex', 1); + } + ), + c = d.title.text; + d._meta && (c = a.templateString(c, d._meta)), + e + .text(c) + .attr({ + class: 'titletext', + transform: '', + 'text-anchor': 'middle', + }) + .call(i.font, d.title.font) + .call(l.convertToTspans, t); + var u = x(h, r._size); + e.attr( + 'transform', + s(u.x, u.y) + + o(Math.min(1, u.scale)) + + s(u.tx, u.ty) + ); + }); + }); + }); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../bar/plot': 932, + '../bar/uniform_text': 937, + '../pie/helpers': 1166, + '../pie/plot': 1170, + d3: 169, + }, + ], + 1064: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../pie/style_one'), + a = t('../bar/uniform_text').resizeText; + e.exports = function (t) { + var e = t._fullLayout._funnelarealayer.selectAll('.trace'); + a(t, e, 'funnelarea'), + e.each(function (t) { + var e = t[0].trace, + r = n.select(this); + r.style({ opacity: e.opacity }), + r.selectAll('path.surface').each(function (t) { + n.select(this).call(i, t, e); + }); + }); + }; + }, + { '../bar/uniform_text': 937, '../pie/style_one': 1172, d3: 169 }, + ], + 1065: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../../plots/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../../components/colorscale/attributes'), + s = + (t('../../constants/docs').FORMAT_LINK, + t('../../lib/extend').extendFlat); + e.exports = s( + { + z: { valType: 'data_array', editType: 'calc' }, + x: s({}, n.x, { impliedEdits: { xtype: 'array' } }), + x0: s({}, n.x0, { impliedEdits: { xtype: 'scaled' } }), + dx: s({}, n.dx, { impliedEdits: { xtype: 'scaled' } }), + y: s({}, n.y, { impliedEdits: { ytype: 'array' } }), + y0: s({}, n.y0, { impliedEdits: { ytype: 'scaled' } }), + dy: s({}, n.dy, { impliedEdits: { ytype: 'scaled' } }), + xperiod: s({}, n.xperiod, { impliedEdits: { xtype: 'scaled' } }), + yperiod: s({}, n.yperiod, { impliedEdits: { ytype: 'scaled' } }), + xperiod0: s({}, n.xperiod0, { + impliedEdits: { xtype: 'scaled' }, + }), + yperiod0: s({}, n.yperiod0, { + impliedEdits: { ytype: 'scaled' }, + }), + xperiodalignment: s({}, n.xperiodalignment, { + impliedEdits: { xtype: 'scaled' }, + }), + yperiodalignment: s({}, n.yperiodalignment, { + impliedEdits: { ytype: 'scaled' }, + }), + text: { valType: 'data_array', editType: 'calc' }, + hovertext: { valType: 'data_array', editType: 'calc' }, + transpose: { valType: 'boolean', dflt: !1, editType: 'calc' }, + xtype: { + valType: 'enumerated', + values: ['array', 'scaled'], + editType: 'calc+clearAxisTypes', + }, + ytype: { + valType: 'enumerated', + values: ['array', 'scaled'], + editType: 'calc+clearAxisTypes', + }, + zsmooth: { + valType: 'enumerated', + values: ['fast', 'best', !1], + dflt: !1, + editType: 'calc', + }, + hoverongaps: { valType: 'boolean', dflt: !0, editType: 'none' }, + connectgaps: { valType: 'boolean', editType: 'calc' }, + xgap: { valType: 'number', dflt: 0, min: 0, editType: 'plot' }, + ygap: { valType: 'number', dflt: 0, min: 0, editType: 'plot' }, + zhoverformat: { valType: 'string', dflt: '', editType: 'none' }, + hovertemplate: a(), + showlegend: s({}, i.showlegend, { dflt: !1 }), + }, + { transforms: void 0 }, + o('', { cLetter: 'z', autoColorDflt: !1 }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../constants/docs': 748, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1066: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../plots/cartesian/axes'), + o = t('../../plots/cartesian/align_period'), + s = t('../histogram2d/calc'), + l = t('../../components/colorscale/calc'), + c = t('./convert_column_xyz'), + u = t('./clean_2d_array'), + f = t('./interp2d'), + h = t('./find_empties'), + p = t('./make_bound_array'), + d = t('../../constants/numerical').BADNUM; + function g(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) { + var i = t[n]; + i !== d && e.push(i); + } + return e; + } + e.exports = function (t, e) { + var r, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A = a.getFromId(t, e.xaxis || 'x'), + S = a.getFromId(t, e.yaxis || 'y'), + E = n.traceIs(e, 'contour'), + C = n.traceIs(e, 'histogram'), + L = n.traceIs(e, 'gl2d'), + I = E ? 'best' : e.zsmooth; + if (((A._minDtick = 0), (S._minDtick = 0), C)) + (y = (M = s(t, e)).orig_x), + (r = M.x), + (m = M.x0), + (v = M.dx), + (w = M.orig_y), + (x = M.y), + (b = M.y0), + (_ = M.dy), + (T = M.z); + else { + var P = e.z; + i.isArray1D(P) + ? (c(e, A, S, 'x', 'y', ['z']), + (r = e._x), + (x = e._y), + (P = e._z)) + : ((y = e.x ? A.makeCalcdata(e, 'x') : []), + (w = e.y ? S.makeCalcdata(e, 'y') : []), + (r = o(e, A, 'x', y)), + (x = o(e, S, 'y', w)), + (e._x = r), + (e._y = x)), + (m = e.x0), + (v = e.dx), + (b = e.y0), + (_ = e.dy), + (T = u(P, e, A, S)); + } + function z(t) { + (I = e._input.zsmooth = e.zsmooth = !1), + i.warn('cannot use zsmooth: "fast": ' + t); + } + if ( + ((A.rangebreaks || S.rangebreaks) && + ((T = (function (t, e, r) { + for (var n = [], i = -1, a = 0; a < r.length; a++) + if (e[a] !== d) { + i++, (n[i] = []); + for (var o = 0; o < r[a].length; o++) + t[o] !== d && n[i].push(r[a][o]); + } + return n; + })(r, x, T)), + C || ((r = g(r)), (x = g(x)), (e._x = r), (e._y = x))), + C || + (!E && !e.connectgaps) || + ((e._emptypoints = h(T)), f(T, e._emptypoints)), + 'fast' === I) + ) + if ('log' === A.type || 'log' === S.type) z('log axis found'); + else if (!C) { + if (r.length) { + var O = (r[r.length - 1] - r[0]) / (r.length - 1), + D = Math.abs(O / 100); + for (k = 0; k < r.length - 1; k++) + if (Math.abs(r[k + 1] - r[k] - O) > D) { + z('x scale is not linear'); + break; + } + } + if (x.length && 'fast' === I) { + var R = (x[x.length - 1] - x[0]) / (x.length - 1), + F = Math.abs(R / 100); + for (k = 0; k < x.length - 1; k++) + if (Math.abs(x[k + 1] - x[k] - R) > F) { + z('y scale is not linear'); + break; + } + } + } + var B = i.maxRowLength(T), + N = 'scaled' === e.xtype ? '' : r, + j = p(e, N, m, v, B, A), + U = 'scaled' === e.ytype ? '' : x, + V = p(e, U, b, _, T.length, S); + L || + ((e._extremes[A._id] = a.findExtremes(A, j)), + (e._extremes[S._id] = a.findExtremes(S, V))); + var q = { + x: j, + y: V, + z: T, + text: e._text || e.text, + hovertext: e._hovertext || e.hovertext, + }; + if ( + (e.xperiodalignment && y && (q.orig_x = y), + e.yperiodalignment && w && (q.orig_y = w), + N && N.length === j.length - 1 && (q.xCenter = N), + U && U.length === V.length - 1 && (q.yCenter = U), + C && + ((q.xRanges = M.xRanges), + (q.yRanges = M.yRanges), + (q.pts = M.pts)), + E || l(t, e, { vals: T, cLetter: 'z' }), + E && e.contours && 'heatmap' === e.contours.coloring) + ) { + var H = { + type: 'contour' === e.type ? 'heatmap' : 'histogram2d', + xcalendar: e.xcalendar, + ycalendar: e.ycalendar, + }; + (q.xfill = p(H, N, m, v, B, A)), + (q.yfill = p(H, U, b, _, T.length, S)); + } + return [q]; + }; + }, + { + '../../components/colorscale/calc': 651, + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + '../histogram2d/calc': 1098, + './clean_2d_array': 1067, + './convert_column_xyz': 1069, + './find_empties': 1071, + './interp2d': 1074, + './make_bound_array': 1075, + }, + ], + 1067: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../constants/numerical').BADNUM; + e.exports = function (t, e, r, o) { + var s, l, c, u, f, h; + function p(t) { + if (n(t)) return +t; + } + if (e && e.transpose) { + for (s = 0, f = 0; f < t.length; f++) + s = Math.max(s, t[f].length); + if (0 === s) return !1; + (c = function (t) { + return t.length; + }), + (u = function (t, e, r) { + return (t[r] || [])[e]; + }); + } else + (s = t.length), + (c = function (t, e) { + return t[e].length; + }), + (u = function (t, e, r) { + return (t[e] || [])[r]; + }); + var d = function (t, e, r) { + return e === a || r === a ? a : u(t, e, r); + }; + function g(t) { + if ( + e && + 'carpet' !== e.type && + 'contourcarpet' !== e.type && + t && + 'category' === t.type && + e['_' + t._id.charAt(0)].length + ) { + var r = t._id.charAt(0), + n = {}, + o = e['_' + r + 'CategoryMap'] || e[r]; + for (f = 0; f < o.length; f++) n[o[f]] = f; + return function (e) { + var r = n[t._categories[e]]; + return r + 1 ? r : a; + }; + } + return i.identity; + } + var m = g(r), + v = g(o); + o && 'category' === o.type && (s = o._categories.length); + var y = new Array(s); + for (f = 0; f < s; f++) + for ( + l = r && 'category' === r.type ? r._categories.length : c(t, f), + y[f] = new Array(l), + h = 0; + h < l; + h++ + ) + y[f][h] = p(d(t, v(f), m(h))); + return y; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + 'fast-isnumeric': 241, + }, + ], + 1068: [ + function (t, e, r) { + 'use strict'; + e.exports = { min: 'zmin', max: 'zmax' }; + }, + {}, + ], + 1069: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../constants/numerical').BADNUM, + a = t('../../plots/cartesian/align_period'); + e.exports = function (t, e, r, o, s, l) { + var c = t._length, + u = e.makeCalcdata(t, o), + f = r.makeCalcdata(t, s); + (u = a(t, e, o, u)), (f = a(t, r, s, f)); + var h, + p, + d, + g, + m = t.text, + v = void 0 !== m && n.isArray1D(m), + y = t.hovertext, + x = void 0 !== y && n.isArray1D(y), + b = n.distinctVals(u), + _ = b.vals, + w = n.distinctVals(f), + T = w.vals, + k = [], + M = T.length, + A = _.length; + for (h = 0; h < l.length; h++) k[h] = n.init2dArray(M, A); + v && (d = n.init2dArray(M, A)), x && (g = n.init2dArray(M, A)); + var S = n.init2dArray(M, A); + for (h = 0; h < c; h++) + if (u[h] !== i && f[h] !== i) { + var E = n.findBin(u[h] + b.minDiff / 2, _), + C = n.findBin(f[h] + w.minDiff / 2, T); + for (p = 0; p < l.length; p++) { + var L = t[l[p]]; + (k[p][C][E] = L[h]), (S[C][E] = h); + } + v && (d[C][E] = m[h]), x && (g[C][E] = y[h]); + } + for (t['_' + o] = _, t['_' + s] = T, p = 0; p < l.length; p++) + t['_' + l[p]] = k[p]; + v && (t._text = d), + x && (t._hovertext = g), + e && + 'category' === e.type && + (t['_' + o + 'CategoryMap'] = _.map(function (t) { + return e._categories[t]; + })), + r && + 'category' === r.type && + (t['_' + s + 'CategoryMap'] = T.map(function (t) { + return r._categories[t]; + })), + (t._after2before = S); + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + }, + ], + 1070: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./xyz_defaults'), + a = t('../scatter/period_defaults'), + o = t('./style_defaults'), + s = t('../../components/colorscale/defaults'), + l = t('./attributes'); + e.exports = function (t, e, r, c) { + function u(r, i) { + return n.coerce(t, e, l, r, i); + } + i(t, e, u, c) + ? (a(t, e, c, u), + u('text'), + u('hovertext'), + u('hovertemplate'), + o(t, e, u, c), + u('hoverongaps'), + u('connectgaps', n.isArray1D(e.z) && !1 !== e.zsmooth), + s(t, e, c, u, { prefix: '', cLetter: 'z' })) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../scatter/period_defaults': 1207, + './attributes': 1065, + './style_defaults': 1078, + './xyz_defaults': 1079, + }, + ], + 1071: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').maxRowLength; + e.exports = function (t) { + var e, + r, + i, + a, + o, + s, + l, + c, + u = [], + f = {}, + h = [], + p = t[0], + d = [], + g = [0, 0, 0], + m = n(t); + for (r = 0; r < t.length; r++) + for (e = d, d = p, p = t[r + 1] || [], i = 0; i < m; i++) + void 0 === d[i] && + ((s = + (void 0 !== d[i - 1] ? 1 : 0) + + (void 0 !== d[i + 1] ? 1 : 0) + + (void 0 !== e[i] ? 1 : 0) + + (void 0 !== p[i] ? 1 : 0)) + ? (0 === r && s++, + 0 === i && s++, + r === t.length - 1 && s++, + i === d.length - 1 && s++, + s < 4 && (f[[r, i]] = [r, i, s]), + u.push([r, i, s])) + : h.push([r, i])); + for (; h.length; ) { + for (l = {}, c = !1, o = h.length - 1; o >= 0; o--) + (s = + ((f[[(r = (a = h[o])[0]) - 1, (i = a[1])]] || g)[2] + + (f[[r + 1, i]] || g)[2] + + (f[[r, i - 1]] || g)[2] + + (f[[r, i + 1]] || g)[2]) / + 20) && ((l[a] = [r, i, s]), h.splice(o, 1), (c = !0)); + if (!c) throw 'findEmpties iterated with no new neighbors'; + for (a in l) (f[a] = l[a]), u.push(l[a]); + } + return u.sort(function (t, e) { + return e[2] - t[2]; + }); + }; + }, + { '../../lib': 778 }, + ], + 1072: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../lib'), + a = t('../../plots/cartesian/axes'), + o = t('../../components/colorscale').extractOpts; + e.exports = function (t, e, r, s, l, c) { + var u, + f, + h, + p, + d = t.cd[0], + g = d.trace, + m = t.xa, + v = t.ya, + y = d.x, + x = d.y, + b = d.z, + _ = d.xCenter, + w = d.yCenter, + T = d.zmask, + k = g.zhoverformat, + M = y, + A = x; + if (!1 !== t.index) { + try { + (h = Math.round(t.index[1])), (p = Math.round(t.index[0])); + } catch (e) { + return void i.error( + 'Error hovering on heatmap, pointNumber must be [row,col], found:', + t.index + ); + } + if (h < 0 || h >= b[0].length || p < 0 || p > b.length) return; + } else { + if ( + n.inbox(e - y[0], e - y[y.length - 1], 0) > 0 || + n.inbox(r - x[0], r - x[x.length - 1], 0) > 0 + ) + return; + if (c) { + var S; + for (M = [2 * y[0] - y[1]], S = 1; S < y.length; S++) + M.push((y[S] + y[S - 1]) / 2); + for ( + M.push([2 * y[y.length - 1] - y[y.length - 2]]), + A = [2 * x[0] - x[1]], + S = 1; + S < x.length; + S++ + ) + A.push((x[S] + x[S - 1]) / 2); + A.push([2 * x[x.length - 1] - x[x.length - 2]]); + } + (h = Math.max(0, Math.min(M.length - 2, i.findBin(e, M)))), + (p = Math.max(0, Math.min(A.length - 2, i.findBin(r, A)))); + } + var E, + C, + L = m.c2p(y[h]), + I = m.c2p(y[h + 1]), + P = v.c2p(x[p]), + z = v.c2p(x[p + 1]); + c + ? ((E = d.orig_x || y), + (C = d.orig_y || x), + (I = L), + (u = E[h]), + (z = P), + (f = C[p])) + : ((E = d.orig_x || _ || y), + (C = d.orig_y || w || x), + (u = _ ? E[h] : (E[h] + E[h + 1]) / 2), + (f = w ? C[p] : (C[p] + C[p + 1]) / 2), + m && 'category' === m.type && (u = y[h]), + v && 'category' === v.type && (f = x[p]), + g.zsmooth && ((L = I = m.c2p(u)), (P = z = v.c2p(f)))); + var O = b[p][h]; + if ( + (T && !T[p][h] && (O = void 0), void 0 !== O || g.hoverongaps) + ) { + var D; + Array.isArray(d.hovertext) && Array.isArray(d.hovertext[p]) + ? (D = d.hovertext[p][h]) + : Array.isArray(d.text) && + Array.isArray(d.text[p]) && + (D = d.text[p][h]); + var R = o(g), + F = { + type: 'linear', + range: [R.min, R.max], + hoverformat: k, + _separators: m._separators, + _numFormat: m._numFormat, + }, + B = a.tickText(F, O, 'hover').text; + return [ + i.extendFlat(t, { + index: g._after2before ? g._after2before[p][h] : [p, h], + distance: t.maxHoverDistance, + spikeDistance: t.maxSpikeDistance, + x0: L, + x1: I, + y0: P, + y1: z, + xLabelVal: u, + yLabelVal: f, + zLabelVal: O, + zLabel: B, + text: D, + }), + ]; + } + }; + }, + { + '../../components/colorscale': 655, + '../../components/fx': 683, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + }, + ], + 1073: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + colorbar: t('./colorbar'), + style: t('./style'), + hoverPoints: t('./hover'), + moduleType: 'trace', + name: 'heatmap', + basePlotModule: t('../../plots/cartesian'), + categories: ['cartesian', 'svg', '2dMap', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 1065, + './calc': 1066, + './colorbar': 1068, + './defaults': 1070, + './hover': 1072, + './plot': 1076, + './style': 1077, + }, + ], + 1074: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = [ + [-1, 0], + [1, 0], + [0, -1], + [0, 1], + ]; + function a(t) { + return 0.5 - 0.25 * Math.min(1, 0.5 * t); + } + function o(t, e, r) { + var n, + a, + o, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m, + v = 0; + for (s = 0; s < e.length; s++) { + for ( + a = (n = e[s])[0], o = n[1], d = t[a][o], p = 0, h = 0, l = 0; + l < 4; + l++ + ) + (u = t[a + (c = i[l])[0]]) && + void 0 !== (f = u[o + c[1]]) && + (0 === p + ? (g = m = f) + : ((g = Math.min(g, f)), (m = Math.max(m, f))), + h++, + (p += f)); + if (0 === h) + throw 'iterateInterp2d order is wrong: no defined neighbors'; + (t[a][o] = p / h), + void 0 === d + ? h < 4 && (v = 1) + : ((t[a][o] = (1 + r) * t[a][o] - r * d), + m > g && + (v = Math.max(v, Math.abs(t[a][o] - d) / (m - g)))); + } + return v; + } + e.exports = function (t, e) { + var r, + i = 1; + for (o(t, e), r = 0; r < e.length && !(e[r][2] < 4); r++); + for (e = e.slice(r), r = 0; r < 100 && i > 0.01; r++) + i = o(t, e, a(i)); + return i > 0.01 && n.log("interp2d didn't converge quickly", i), t; + }; + }, + { '../../lib': 778 }, + ], + 1075: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r, a, o, s) { + var l, + c, + u, + f = [], + h = n.traceIs(t, 'contour'), + p = n.traceIs(t, 'histogram'), + d = n.traceIs(t, 'gl2d'); + if (i(e) && e.length > 1 && !p && 'category' !== s.type) { + var g = e.length; + if (!(g <= o)) return h ? e.slice(0, o) : e.slice(0, o + 1); + if (h || d) f = e.slice(0, o); + else if (1 === o) f = [e[0] - 0.5, e[0] + 0.5]; + else { + for (f = [1.5 * e[0] - 0.5 * e[1]], u = 1; u < g; u++) + f.push(0.5 * (e[u - 1] + e[u])); + f.push(1.5 * e[g - 1] - 0.5 * e[g - 2]); + } + if (g < o) { + var m = f[f.length - 1], + v = m - f[f.length - 2]; + for (u = g; u < o; u++) (m += v), f.push(m); + } + } else { + var y = t[s._id.charAt(0) + 'calendar']; + if (p) l = s.r2c(r, 0, y); + else if (i(e) && 1 === e.length) l = e[0]; + else if (void 0 === r) l = 0; + else { + l = ('log' === s.type ? s.d2c : s.r2c)(r, 0, y); + } + for (c = a || 1, u = h || d ? 0 : -0.5; u < o; u++) + f.push(l + c * u); + } + return f; + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 1076: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('tinycolor2'), + a = t('../../registry'), + o = t('../../lib'), + s = t('../../components/colorscale').makeColorScaleFuncFromTrace, + l = t('../../constants/xmlns_namespaces'); + function c(t, e) { + var r = e.length - 2, + n = o.constrain(o.findBin(t, e), 0, r), + i = e[n], + a = e[n + 1], + s = o.constrain(n + (t - i) / (a - i) - 0.5, 0, r), + l = Math.round(s), + c = Math.abs(s - l); + return s && s !== r && c + ? { bin0: l, frac: c, bin1: Math.round(l + c / (s - l)) } + : { bin0: l, bin1: l, frac: 0 }; + } + function u(t, e) { + var r = e.length - 1, + n = o.constrain(o.findBin(t, e), 0, r), + i = e[n], + a = (t - i) / (e[n + 1] - i) || 0; + return a <= 0 + ? { bin0: n, bin1: n, frac: 0 } + : a < 0.5 + ? { bin0: n, bin1: n + 1, frac: a } + : { bin0: n + 1, bin1: n, frac: 1 - a }; + } + function f(t, e, r) { + (t[e] = r[0]), + (t[e + 1] = r[1]), + (t[e + 2] = r[2]), + (t[e + 3] = Math.round(255 * r[3])); + } + e.exports = function (t, e, r, h) { + var p = e.xaxis, + d = e.yaxis; + o.makeTraceGroups(h, r, 'hm').each(function (e) { + var r, + h, + g, + m, + v, + y, + x = n.select(this), + b = e[0], + _ = b.trace, + w = b.z, + T = b.x, + k = b.y, + M = b.xCenter, + A = b.yCenter, + S = a.traceIs(_, 'contour'), + E = S ? 'best' : _.zsmooth, + C = w.length, + L = o.maxRowLength(w), + I = !1, + P = !1; + for (y = 0; void 0 === r && y < T.length - 1; ) + (r = p.c2p(T[y])), y++; + for (y = T.length - 1; void 0 === h && y > 0; ) + (h = p.c2p(T[y])), y--; + for ( + h < r && ((g = h), (h = r), (r = g), (I = !0)), y = 0; + void 0 === m && y < k.length - 1; + + ) + (m = d.c2p(k[y])), y++; + for (y = k.length - 1; void 0 === v && y > 0; ) + (v = d.c2p(k[y])), y--; + if ( + (v < m && ((g = m), (m = v), (v = g), (P = !0)), + S && ((M = T), (A = k), (T = b.xfill), (k = b.yfill)), + 'fast' !== E) + ) { + var z = 'best' === E ? 0 : 0.5; + (r = Math.max(-z * p._length, r)), + (h = Math.min((1 + z) * p._length, h)), + (m = Math.max(-z * d._length, m)), + (v = Math.min((1 + z) * d._length, v)); + } + var O = Math.round(h - r), + D = Math.round(v - m); + if (O <= 0 || D <= 0) { + x.selectAll('image').data([]).exit().remove(); + } else { + var R, F; + 'fast' === E ? ((R = L), (F = C)) : ((R = O), (F = D)); + var B = document.createElement('canvas'); + (B.width = R), (B.height = F); + var N, + j, + U = B.getContext('2d'), + V = s(_, { noNumericCheck: !0, returnArray: !0 }); + 'fast' === E + ? ((N = I + ? function (t) { + return L - 1 - t; + } + : o.identity), + (j = P + ? function (t) { + return C - 1 - t; + } + : o.identity)) + : ((N = function (t) { + return o.constrain(Math.round(p.c2p(T[t]) - r), 0, O); + }), + (j = function (t) { + return o.constrain(Math.round(d.c2p(k[t]) - m), 0, D); + })); + var q, + H, + G, + Y, + W, + X = j(0), + Z = [X, X], + J = I ? 0 : 1, + K = P ? 0 : 1, + Q = 0, + $ = 0, + tt = 0, + et = 0; + if (E) { + var rt, + nt = 0; + try { + rt = new Uint8Array(O * D * 4); + } catch (t) { + rt = new Array(O * D * 4); + } + if ('best' === E) { + var it, + at, + ot, + st = M || T, + lt = A || k, + ct = new Array(st.length), + ut = new Array(lt.length), + ft = new Array(O), + ht = M ? u : c, + pt = A ? u : c; + for (y = 0; y < st.length; y++) + ct[y] = Math.round(p.c2p(st[y]) - r); + for (y = 0; y < lt.length; y++) + ut[y] = Math.round(d.c2p(lt[y]) - m); + for (y = 0; y < O; y++) ft[y] = ht(y, ct); + for (H = 0; H < D; H++) + for ( + at = w[(it = pt(H, ut)).bin0], ot = w[it.bin1], y = 0; + y < O; + y++, nt += 4 + ) + f(rt, nt, (W = kt(at, ot, ft[y], it))); + } else + for (H = 0; H < C; H++) + for (Y = w[H], Z = j(H), y = 0; y < O; y++) + (W = Tt(Y[y], 1)), f(rt, (nt = 4 * (Z * O + N(y))), W); + var dt = U.createImageData(O, D); + try { + dt.data.set(rt); + } catch (t) { + var gt = dt.data, + mt = gt.length; + for (H = 0; H < mt; H++) gt[H] = rt[H]; + } + U.putImageData(dt, 0, 0); + } else { + var vt = _.xgap, + yt = _.ygap, + xt = Math.floor(vt / 2), + bt = Math.floor(yt / 2); + for (H = 0; H < C; H++) + if ( + ((Y = w[H]), + Z.reverse(), + (Z[K] = j(H + 1)), + Z[0] !== Z[1] && void 0 !== Z[0] && void 0 !== Z[1]) + ) + for (q = [(G = N(0)), G], y = 0; y < L; y++) + q.reverse(), + (q[J] = N(y + 1)), + q[0] !== q[1] && + void 0 !== q[0] && + void 0 !== q[1] && + ((W = Tt(Y[y], (q[1] - q[0]) * (Z[1] - Z[0]))), + (U.fillStyle = 'rgba(' + W.join(',') + ')'), + U.fillRect( + q[0] + xt, + Z[0] + bt, + q[1] - q[0] - vt, + Z[1] - Z[0] - yt + )); + } + ($ = Math.round($ / Q)), + (tt = Math.round(tt / Q)), + (et = Math.round(et / Q)); + var _t = i('rgb(' + $ + ',' + tt + ',' + et + ')'); + (t._hmpixcount = (t._hmpixcount || 0) + Q), + (t._hmlumcount = + (t._hmlumcount || 0) + Q * _t.getLuminance()); + var wt = x.selectAll('image').data(e); + wt + .enter() + .append('svg:image') + .attr({ xmlns: l.svg, preserveAspectRatio: 'none' }), + wt.attr({ + height: D, + width: O, + x: r, + y: m, + 'xlink:href': B.toDataURL('image/png'), + }); + } + function Tt(t, e) { + if (void 0 !== t) { + var r = V(t); + return ( + (r[0] = Math.round(r[0])), + (r[1] = Math.round(r[1])), + (r[2] = Math.round(r[2])), + (Q += e), + ($ += r[0] * e), + (tt += r[1] * e), + (et += r[2] * e), + r + ); + } + return [0, 0, 0, 0]; + } + function kt(t, e, r, n) { + var i = t[r.bin0]; + if (void 0 === i) return Tt(void 0, 1); + var a, + o = t[r.bin1], + s = e[r.bin0], + l = e[r.bin1], + c = o - i || 0, + u = s - i || 0; + return ( + (a = + void 0 === o + ? void 0 === l + ? 0 + : void 0 === s + ? 2 * (l - i) + : (2 * (2 * l - s - i)) / 3 + : void 0 === l + ? void 0 === s + ? 0 + : (2 * (2 * i - o - s)) / 3 + : void 0 === s + ? (2 * (2 * l - o - i)) / 3 + : l + i - o - s), + Tt(i + r.frac * c + n.frac * (u + r.frac * a)) + ); + } + }); + }; + }, + { + '../../components/colorscale': 655, + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + '../../registry': 911, + d3: 169, + tinycolor2: 576, + }, + ], + 1077: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'); + e.exports = function (t) { + n.select(t) + .selectAll('.hm image') + .style('opacity', function (t) { + return t.trace.opacity; + }); + }; + }, + { d3: 169 }, + ], + 1078: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + !1 === r('zsmooth') && (r('xgap'), r('ygap')), r('zhoverformat'); + }; + }, + {}, + ], + 1079: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../registry'); + function o(t, e) { + var r = e(t); + return ( + 'scaled' === (r ? e(t + 'type', 'array') : 'scaled') && + (e(t + '0'), e('d' + t)), + r + ); + } + e.exports = function (t, e, r, s, l, c) { + var u, + f, + h = r('z'); + if (((l = l || 'x'), (c = c || 'y'), void 0 === h || !h.length)) + return 0; + if (i.isArray1D(t.z)) { + (u = r(l)), (f = r(c)); + var p = i.minRowLength(u), + d = i.minRowLength(f); + if (0 === p || 0 === d) return 0; + e._length = Math.min(p, d, h.length); + } else { + if ( + ((u = o(l, r)), + (f = o(c, r)), + !(function (t) { + for ( + var e, r = !0, a = !1, o = !1, s = 0; + s < t.length; + s++ + ) { + if (((e = t[s]), !i.isArrayOrTypedArray(e))) { + r = !1; + break; + } + e.length > 0 && (a = !0); + for (var l = 0; l < e.length; l++) + if (n(e[l])) { + o = !0; + break; + } + } + return r && a && o; + })(h)) + ) + return 0; + r('transpose'), (e._length = null); + } + return ( + 'heatmapgl' === t.type || + 'contourgl' === t.type || + a.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + [l, c], + s + ), + !0 + ); + }; + }, + { '../../lib': 778, '../../registry': 911, 'fast-isnumeric': 241 }, + ], + 1080: [ + function (t, e, r) { + 'use strict'; + for ( + var n = t('../heatmap/attributes'), + i = t('../../components/colorscale/attributes'), + a = t('../../lib/extend').extendFlat, + o = t('../../plot_api/edit_types').overrideAll, + s = [ + 'z', + 'x', + 'x0', + 'dx', + 'y', + 'y0', + 'dy', + 'text', + 'transpose', + 'xtype', + 'ytype', + ], + l = {}, + c = 0; + c < s.length; + c++ + ) { + var u = s[c]; + l[u] = n[u]; + } + (l.zsmooth = { + valType: 'enumerated', + values: ['fast', !1], + dflt: 'fast', + editType: 'calc', + }), + a(l, i('', { cLetter: 'z', autoColorDflt: !1 })), + (e.exports = o(l, 'calc', 'nested')); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../heatmap/attributes': 1065, + }, + ], + 1081: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-heatmap2d'), + i = t('../../plots/cartesian/axes'), + a = t('../../lib/str2rgbarray'); + function o(t, e) { + (this.scene = t), + (this.uid = e), + (this.type = 'heatmapgl'), + (this.name = ''), + (this.hoverinfo = 'all'), + (this.xData = []), + (this.yData = []), + (this.zData = []), + (this.textLabels = []), + (this.idToIndex = []), + (this.bounds = [0, 0, 0, 0]), + (this.options = { + zsmooth: 'fast', + z: [], + x: [], + y: [], + shape: [0, 0], + colorLevels: [0], + colorValues: [0, 0, 0, 1], + }), + (this.heatmap = n(t.glplot, this.options)), + (this.heatmap._trace = this); + } + var s = o.prototype; + (s.handlePick = function (t) { + var e = this.options, + r = e.shape, + n = t.pointId, + i = n % r[0], + a = Math.floor(n / r[0]), + o = n; + return { + trace: this, + dataCoord: t.dataCoord, + traceCoord: [e.x[i], e.y[a], e.z[o]], + textLabel: this.textLabels[n], + name: this.name, + pointIndex: [a, i], + hoverinfo: this.hoverinfo, + }; + }), + (s.update = function (t, e) { + var r = e[0]; + (this.index = t.index), + (this.name = t.name), + (this.hoverinfo = t.hoverinfo); + var n = r.z; + this.options.z = [].concat.apply([], n); + var o = n[0].length, + s = n.length; + (this.options.shape = [o, s]), + (this.options.x = r.x), + (this.options.y = r.y), + (this.options.zsmooth = t.zsmooth); + var l = (function (t) { + for ( + var e = t.colorscale, + r = t.zmin, + n = t.zmax, + i = e.length, + o = new Array(i), + s = new Array(4 * i), + l = 0; + l < i; + l++ + ) { + var c = e[l], + u = a(c[1]); + o[l] = r + c[0] * (n - r); + for (var f = 0; f < 4; f++) s[4 * l + f] = u[f]; + } + return { colorLevels: o, colorValues: s }; + })(t); + (this.options.colorLevels = l.colorLevels), + (this.options.colorValues = l.colorValues), + (this.textLabels = [].concat.apply([], t.text)), + this.heatmap.update(this.options); + var c, + u, + f = this.scene.xaxis, + h = this.scene.yaxis; + !1 === t.zsmooth && + ((c = { ppad: r.x[1] - r.x[0] }), + (u = { ppad: r.y[1] - r.y[0] })), + (t._extremes[f._id] = i.findExtremes(f, r.x, c)), + (t._extremes[h._id] = i.findExtremes(h, r.y, u)); + }), + (s.dispose = function () { + this.heatmap.dispose(); + }), + (e.exports = function (t, e, r) { + var n = new o(t, e.uid); + return n.update(e, r), n; + }); + }, + { + '../../lib/str2rgbarray': 802, + '../../plots/cartesian/axes': 828, + 'gl-heatmap2d': 271, + }, + ], + 1082: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../heatmap/xyz_defaults'), + a = t('../../components/colorscale/defaults'), + o = t('./attributes'); + e.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, l, s) + ? (l('text'), + l('zsmooth'), + a(t, e, s, l, { prefix: '', cLetter: 'z' })) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../heatmap/xyz_defaults': 1079, + './attributes': 1080, + }, + ], + 1083: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../heatmap/colorbar'), + calc: t('../heatmap/calc'), + plot: t('./convert'), + moduleType: 'trace', + name: 'heatmapgl', + basePlotModule: t('../../plots/gl2d'), + categories: ['gl', 'gl2d', '2dMap'], + meta: {}, + }; + }, + { + '../../plots/gl2d': 868, + '../heatmap/calc': 1066, + '../heatmap/colorbar': 1068, + './attributes': 1080, + './convert': 1081, + './defaults': 1082, + }, + ], + 1084: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('./bin_attributes'), + o = t('./constants'), + s = t('../../lib/extend').extendFlat; + e.exports = { + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + text: s({}, n.text, {}), + hovertext: s({}, n.hovertext, {}), + orientation: n.orientation, + histfunc: { + valType: 'enumerated', + values: ['count', 'sum', 'avg', 'min', 'max'], + dflt: 'count', + editType: 'calc', + }, + histnorm: { + valType: 'enumerated', + values: [ + '', + 'percent', + 'probability', + 'density', + 'probability density', + ], + dflt: '', + editType: 'calc', + }, + cumulative: { + enabled: { valType: 'boolean', dflt: !1, editType: 'calc' }, + direction: { + valType: 'enumerated', + values: ['increasing', 'decreasing'], + dflt: 'increasing', + editType: 'calc', + }, + currentbin: { + valType: 'enumerated', + values: ['include', 'exclude', 'half'], + dflt: 'include', + editType: 'calc', + }, + editType: 'calc', + }, + nbinsx: { valType: 'integer', min: 0, dflt: 0, editType: 'calc' }, + xbins: a('x', !0), + nbinsy: { valType: 'integer', min: 0, dflt: 0, editType: 'calc' }, + ybins: a('y', !0), + autobinx: { valType: 'boolean', dflt: null, editType: 'calc' }, + autobiny: { valType: 'boolean', dflt: null, editType: 'calc' }, + bingroup: { valType: 'string', dflt: '', editType: 'calc' }, + hovertemplate: i({}, { keys: o.eventDataKeys }), + marker: n.marker, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + _deprecated: { bardir: n._deprecated.bardir }, + }; + }, + { + '../../lib/extend': 768, + '../../plots/template_attributes': 906, + '../bar/attributes': 921, + './bin_attributes': 1086, + './constants': 1090, + }, + ], + 1085: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for (var r = t.length, n = 0, i = 0; i < r; i++) + e[i] ? ((t[i] /= e[i]), (n += t[i])) : (t[i] = null); + return n; + }; + }, + {}, + ], + 1086: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return { + start: { valType: 'any', editType: 'calc' }, + end: { valType: 'any', editType: 'calc' }, + size: { valType: 'any', editType: 'calc' }, + editType: 'calc', + }; + }; + }, + {}, + ], + 1087: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'); + e.exports = { + count: function (t, e, r) { + return r[t]++, 1; + }, + sum: function (t, e, r, i) { + var a = i[e]; + return n(a) ? ((a = Number(a)), (r[t] += a), a) : 0; + }, + avg: function (t, e, r, i, a) { + var o = i[e]; + return n(o) && ((o = Number(o)), (r[t] += o), a[t]++), 0; + }, + min: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return (r[t] = a), a; + if (r[t] > a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + max: function (t, e, r, i) { + var a = i[e]; + if (n(a)) { + if (((a = Number(a)), !n(r[t]))) return (r[t] = a), a; + if (r[t] < a) { + var o = a - r[t]; + return (r[t] = a), o; + } + } + return 0; + }, + }; + }, + { 'fast-isnumeric': 241 }, + ], + 1088: [ + function (t, e, r) { + 'use strict'; + var n = t('../../constants/numerical'), + i = n.ONEAVGYEAR, + a = n.ONEAVGMONTH, + o = n.ONEDAY, + s = n.ONEHOUR, + l = n.ONEMIN, + c = n.ONESEC, + u = t('../../plots/cartesian/axes').tickIncrement; + function f(t, e, r, n) { + if (t * e <= 0) return 1 / 0; + for ( + var i = Math.abs(e - t), + a = 'date' === r.type, + o = h(i, a), + s = 0; + s < 10; + s++ + ) { + var l = h(80 * o, a); + if (o === l) break; + if (!p(l, t, e, a, r, n)) break; + o = l; + } + return o; + } + function h(t, e) { + return e && t > c + ? t > o + ? t > 1.1 * i + ? i + : t > 1.1 * a + ? a + : o + : t > s + ? s + : t > l + ? l + : c + : Math.pow(10, Math.floor(Math.log(t) / Math.LN10)); + } + function p(t, e, r, n, a, s) { + if (n && t > o) { + var l = d(e, a, s), + c = d(r, a, s), + u = t === i ? 0 : 1; + return l[u] !== c[u]; + } + return Math.floor(r / t) - Math.floor(e / t) > 0.1; + } + function d(t, e, r) { + var n = e.c2d(t, i, r).split('-'); + return '' === n[0] && (n.unshift(), (n[0] = '-' + n[0])), n; + } + e.exports = function (t, e, r, n, a) { + var s, + l, + c = -1.1 * e, + h = -0.1 * e, + p = t - h, + d = r[0], + g = r[1], + m = Math.min(f(d + h, d + p, n, a), f(g + h, g + p, n, a)), + v = Math.min(f(d + c, d + h, n, a), f(g + c, g + h, n, a)); + if ( + (m > v && v < Math.abs(g - d) / 4e3 + ? ((s = m), (l = !1)) + : ((s = Math.min(m, v)), (l = !0)), + 'date' === n.type && s > o) + ) { + var y = s === i ? 1 : 6, + x = s === i ? 'M12' : 'M1'; + return function (e, r) { + var o = n.c2d(e, i, a), + s = o.indexOf('-', y); + s > 0 && (o = o.substr(0, s)); + var c = n.d2c(o, 0, a); + if (c < e) { + var f = u(c, x, !1, a); + (c + f) / 2 < e + t && (c = f); + } + return r && l ? u(c, x, !0, a) : c; + }; + } + return function (e, r) { + var n = s * Math.round(e / s); + return ( + n + s / 10 < e && n + 0.9 * s < e + t && (n += s), + r && l && (n -= s), + n + ); + }; + }; + }, + { '../../constants/numerical': 753, '../../plots/cartesian/axes': 828 }, + ], + 1089: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../registry'), + o = t('../../plots/cartesian/axes'), + s = t('../bar/arrays_to_calcdata'), + l = t('./bin_functions'), + c = t('./norm_functions'), + u = t('./average'), + f = t('./bin_label_vals'); + function h(t, e, r, s, l) { + var c, + u, + f, + p, + d, + g, + m, + v = s + 'bins', + y = t._fullLayout, + x = e['_' + s + 'bingroup'], + b = y._histogramBinOpts[x], + _ = 'overlay' === y.barmode, + w = function (t) { + return r.r2c(t, 0, p); + }, + T = function (t) { + return r.c2r(t, 0, p); + }, + k = + 'date' === r.type + ? function (t) { + return t || 0 === t ? i.cleanDate(t, null, p) : null; + } + : function (t) { + return n(t) ? Number(t) : null; + }; + function M(t, e, r) { + e[t + 'Found'] + ? ((e[t] = k(e[t])), null === e[t] && (e[t] = r[t])) + : ((g[t] = e[t] = r[t]), + i.nestedProperty(u[0], v + '.' + t).set(r[t])); + } + if (e['_' + s + 'autoBinFinished']) + delete e['_' + s + 'autoBinFinished']; + else { + u = b.traces; + var A = [], + S = !0, + E = !1, + C = !1; + for (c = 0; c < u.length; c++) + if ((f = u[c]).visible) { + var L = b.dirs[c]; + (d = f['_' + L + 'pos0'] = r.makeCalcdata(f, L)), + (A = i.concat(A, d)), + delete f['_' + s + 'autoBinFinished'], + !0 === e.visible && + (S + ? (S = !1) + : (delete f._autoBin, + (f['_' + s + 'autoBinFinished'] = 1)), + a.traceIs(f, '2dMap') && (E = !0), + 'histogram2dcontour' === f.type && (C = !0)); + } + p = u[0][s + 'calendar']; + var I = o.autoBin(A, r, b.nbins, E, p, b.sizeFound && b.size), + P = (u[0]._autoBin = {}); + if ( + ((g = P[b.dirs[0]] = {}), + C && + (b.size || + (I.start = T(o.tickIncrement(w(I.start), I.size, !0, p))), + void 0 === b.end && + (I.end = T(o.tickIncrement(w(I.end), I.size, !1, p)))), + _ && + !a.traceIs(e, '2dMap') && + 0 === I._dataSpan && + 'category' !== r.type && + 'multicategory' !== r.type) + ) { + if (l) return [I, d, !0]; + I = (function (t, e, r, n, a) { + var o, + s, + l, + c = t._fullLayout, + u = (function (t, e) { + for ( + var r = e.xaxis, + n = e.yaxis, + i = e.orientation, + a = [], + o = t._fullData, + s = 0; + s < o.length; + s++ + ) { + var l = o[s]; + 'histogram' === l.type && + !0 === l.visible && + l.orientation === i && + l.xaxis === r && + l.yaxis === n && + a.push(l); + } + return a; + })(t, e), + f = !1, + p = 1 / 0, + d = [e]; + for (o = 0; o < u.length; o++) + if ((s = u[o]) === e) f = !0; + else if (f) { + var g = h(t, s, r, n, !0), + m = g[0], + v = g[2]; + (s['_' + n + 'autoBinFinished'] = 1), + (s['_' + n + 'pos0'] = g[1]), + v ? d.push(s) : (p = Math.min(p, m.size)); + } else + (l = c._histogramBinOpts[s['_' + n + 'bingroup']]), + (p = Math.min(p, l.size || s[a].size)); + var y = new Array(d.length); + for (o = 0; o < d.length; o++) + for ( + var x = d[o]['_' + n + 'pos0'], b = 0; + b < x.length; + b++ + ) + if (void 0 !== x[b]) { + y[o] = x[b]; + break; + } + isFinite(p) || (p = i.distinctVals(y).minDiff); + for (o = 0; o < d.length; o++) { + var _ = (s = d[o])[n + 'calendar'], + w = { + start: r.c2r(y[o] - p / 2, 0, _), + end: r.c2r(y[o] + p / 2, 0, _), + size: p, + }; + (s._input[a] = s[a] = w), + (l = c._histogramBinOpts[s['_' + n + 'bingroup']]) && + i.extendFlat(l, w); + } + return e[a]; + })(t, e, r, s, v); + } + (m = f.cumulative || {}).enabled && + 'include' !== m.currentbin && + ('decreasing' === m.direction + ? (I.start = T(o.tickIncrement(w(I.start), I.size, !0, p))) + : (I.end = T(o.tickIncrement(w(I.end), I.size, !1, p)))), + (b.size = I.size), + b.sizeFound || + ((g.size = I.size), + i.nestedProperty(u[0], v + '.size').set(I.size)), + M('start', b, I), + M('end', b, I); + } + (d = e['_' + s + 'pos0']), delete e['_' + s + 'pos0']; + var z = e._input[v] || {}, + O = i.extendFlat({}, b), + D = b.start, + R = r.r2l(z.start), + F = void 0 !== R; + if ((b.startFound || F) && R !== r.r2l(D)) { + var B = F ? R : i.aggNums(Math.min, null, d), + N = { + type: + 'category' === r.type || 'multicategory' === r.type + ? 'linear' + : r.type, + r2l: r.r2l, + dtick: b.size, + tick0: D, + calendar: p, + range: [B, o.tickIncrement(B, b.size, !1, p)].map(r.l2r), + }, + j = o.tickFirst(N); + j > r.r2l(B) && (j = o.tickIncrement(j, b.size, !0, p)), + (O.start = r.l2r(j)), + F || i.nestedProperty(e, v + '.start').set(O.start); + } + var U = b.end, + V = r.r2l(z.end), + q = void 0 !== V; + if ((b.endFound || q) && V !== r.r2l(U)) { + var H = q ? V : i.aggNums(Math.max, null, d); + (O.end = r.l2r(H)), + q || i.nestedProperty(e, v + '.start').set(O.end); + } + var G = 'autobin' + s; + return ( + !1 === e._input[G] && + ((e._input[v] = i.extendFlat({}, e[v] || {})), + delete e._input[G], + delete e[G]), + [O, d] + ); + } + e.exports = { + calc: function (t, e) { + var r, + a, + p, + d, + g = [], + m = [], + v = o.getFromId(t, 'h' === e.orientation ? e.yaxis : e.xaxis), + y = 'h' === e.orientation ? 'y' : 'x', + x = { x: 'y', y: 'x' }[y], + b = e[y + 'calendar'], + _ = e.cumulative, + w = h(t, e, v, y), + T = w[0], + k = w[1], + M = 'string' == typeof T.size, + A = [], + S = M ? A : T, + E = [], + C = [], + L = [], + I = 0, + P = e.histnorm, + z = e.histfunc, + O = -1 !== P.indexOf('density'); + _.enabled && O && ((P = P.replace(/ ?density$/, '')), (O = !1)); + var D, + R = 'max' === z || 'min' === z ? null : 0, + F = l.count, + B = c[P], + N = !1, + j = function (t) { + return v.r2c(t, 0, b); + }; + for ( + i.isArrayOrTypedArray(e[x]) && + 'count' !== z && + ((D = e[x]), (N = 'avg' === z), (F = l[z])), + r = j(T.start), + p = j(T.end) + (r - o.tickIncrement(r, T.size, !1, b)) / 1e6; + r < p && + g.length < 1e6 && + ((a = o.tickIncrement(r, T.size, !1, b)), + g.push((r + a) / 2), + m.push(R), + L.push([]), + A.push(r), + O && E.push(1 / (a - r)), + N && C.push(0), + !(a <= r)); + + ) + r = a; + A.push(r), + M || + 'date' !== v.type || + (S = { start: j(S.start), end: j(S.end), size: S.size }), + t._fullLayout._roundFnOpts || (t._fullLayout._roundFnOpts = {}); + var U = e['_' + y + 'bingroup'], + V = { leftGap: 1 / 0, rightGap: 1 / 0 }; + U && + (t._fullLayout._roundFnOpts[U] || + (t._fullLayout._roundFnOpts[U] = V), + (V = t._fullLayout._roundFnOpts[U])); + var q, + H = m.length, + G = !0, + Y = V.leftGap, + W = V.rightGap, + X = {}; + for (r = 0; r < k.length; r++) { + var Z = k[r]; + (d = i.findBin(Z, S)) >= 0 && + d < H && + ((I += F(d, r, m, D, C)), + G && L[d].length && Z !== k[L[d][0]] && (G = !1), + L[d].push(r), + (X[r] = d), + (Y = Math.min(Y, Z - A[d])), + (W = Math.min(W, A[d + 1] - Z))); + } + (V.leftGap = Y), + (V.rightGap = W), + G || + (q = function (e, r) { + return function () { + var n = t._fullLayout._roundFnOpts[U]; + return f(n.leftGap, n.rightGap, A, v, b)(e, r); + }; + }), + N && (I = u(m, C)), + B && B(m, I, E), + _.enabled && + (function (t, e, r) { + var n, i, a; + function o(e) { + (a = t[e]), (t[e] /= 2); + } + function s(e) { + (i = t[e]), (t[e] = a + i / 2), (a += i); + } + if ('half' === r) + if ('increasing' === e) + for (o(0), n = 1; n < t.length; n++) s(n); + else + for (o(t.length - 1), n = t.length - 2; n >= 0; n--) + s(n); + else if ('increasing' === e) { + for (n = 1; n < t.length; n++) t[n] += t[n - 1]; + 'exclude' === r && (t.unshift(0), t.pop()); + } else { + for (n = t.length - 2; n >= 0; n--) t[n] += t[n + 1]; + 'exclude' === r && (t.push(0), t.shift()); + } + })(m, _.direction, _.currentbin); + var J = Math.min(g.length, m.length), + K = [], + Q = 0, + $ = J - 1; + for (r = 0; r < J; r++) + if (m[r]) { + Q = r; + break; + } + for (r = J - 1; r >= Q; r--) + if (m[r]) { + $ = r; + break; + } + for (r = Q; r <= $; r++) + if (n(g[r]) && n(m[r])) { + var tt = { p: g[r], s: m[r], b: 0 }; + _.enabled || + ((tt.pts = L[r]), + G + ? (tt.ph0 = tt.ph1 = L[r].length ? k[L[r][0]] : g[r]) + : ((e._computePh = !0), + (tt.ph0 = q(A[r])), + (tt.ph1 = q(A[r + 1], !0)))), + K.push(tt); + } + return ( + 1 === K.length && + (K[0].width1 = + o.tickIncrement(K[0].p, T.size, !1, b) - K[0].p), + s(K, e), + i.isArrayOrTypedArray(e.selectedpoints) && + i.tagSelected(K, e, X), + K + ); + }, + calcAllAutoBins: h, + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../../registry': 911, + '../bar/arrays_to_calcdata': 920, + './average': 1085, + './bin_functions': 1087, + './bin_label_vals': 1088, + './norm_functions': 1096, + 'fast-isnumeric': 241, + }, + ], + 1090: [ + function (t, e, r) { + 'use strict'; + e.exports = { eventDataKeys: ['binNumber'] }; + }, + {}, + ], + 1091: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axis_ids'), + a = t('../../registry').traceIs, + o = t('../bar/defaults').handleGroupingDefaults, + s = n.nestedProperty, + l = t('../../plots/cartesian/constraints').getAxisGroup, + c = [ + { aStr: { x: 'xbins.start', y: 'ybins.start' }, name: 'start' }, + { aStr: { x: 'xbins.end', y: 'ybins.end' }, name: 'end' }, + { aStr: { x: 'xbins.size', y: 'ybins.size' }, name: 'size' }, + { aStr: { x: 'nbinsx', y: 'nbinsy' }, name: 'nbins' }, + ], + u = ['x', 'y']; + e.exports = function (t, e) { + var r, + f, + h, + p, + d, + g, + m, + v = (e._histogramBinOpts = {}), + y = [], + x = {}, + b = []; + function _(t, e) { + return n.coerce(r._input, r, r._module.attributes, t, e); + } + function w(t) { + return 'v' === t.orientation ? 'x' : 'y'; + } + function T(t, r, a) { + var o = t.uid + '__' + a; + r || (r = o); + var s = (function (t, r) { + return i.getFromTrace({ _fullLayout: e }, t, r).type; + })(t, a), + l = t[a + 'calendar'] || '', + c = v[r], + u = !0; + c && + (s === c.axType && l === c.calendar + ? ((u = !1), c.traces.push(t), c.dirs.push(a)) + : ((r = o), + s !== c.axType && + n.warn( + [ + 'Attempted to group the bins of trace', + t.index, + 'set on a', + 'type:' + s, + 'axis', + 'with bins on', + 'type:' + c.axType, + 'axis.', + ].join(' ') + ), + l !== c.calendar && + n.warn( + [ + 'Attempted to group the bins of trace', + t.index, + 'set with a', + l, + 'calendar', + 'with bins', + c.calendar + ? 'on a ' + c.calendar + ' calendar' + : 'w/o a set calendar', + ].join(' ') + ))), + u && + (v[r] = { + traces: [t], + dirs: [a], + axType: s, + calendar: t[a + 'calendar'] || '', + }), + (t['_' + a + 'bingroup'] = r); + } + for (d = 0; d < t.length; d++) + (r = t[d]), + a(r, 'histogram') && + (y.push(r), + delete r._xautoBinFinished, + delete r._yautoBinFinished, + a(r, '2dMap') || o(r._input, r, e, _)); + var k = e._alignmentOpts || {}; + for (d = 0; d < y.length; d++) { + if (((r = y[d]), (h = ''), !a(r, '2dMap'))) { + if (((p = w(r)), 'group' === e.barmode && r.alignmentgroup)) { + var M = r[p + 'axis'], + A = l(e, M) + r.orientation; + (k[A] || {})[r.alignmentgroup] && (h = A); + } + h || + 'overlay' === e.barmode || + (h = l(e, r.xaxis) + l(e, r.yaxis) + w(r)); + } + h ? (x[h] || (x[h] = []), x[h].push(r)) : b.push(r); + } + for (h in x) + if (1 !== (f = x[h]).length) { + var S = !1; + for ( + f.length && ((r = f[0]), (S = _('bingroup'))), + h = S || h, + d = 0; + d < f.length; + d++ + ) { + var E = (r = f[d])._input.bingroup; + E && + E !== h && + n.warn( + [ + 'Trace', + r.index, + 'must match', + 'within bingroup', + h + '.', + 'Ignoring its bingroup:', + E, + 'setting.', + ].join(' ') + ), + (r.bingroup = h), + T(r, h, w(r)); + } + } else b.push(f[0]); + for (d = 0; d < b.length; d++) { + r = b[d]; + var C = _('bingroup'); + if (a(r, '2dMap')) + for (m = 0; m < 2; m++) { + var L = _((p = u[m]) + 'bingroup', C ? C + '__' + p : null); + T(r, L, p); + } + else T(r, C, w(r)); + } + for (h in v) { + var I = v[h]; + for (f = I.traces, g = 0; g < c.length; g++) { + var P, + z, + O = c[g], + D = O.name; + if ('nbins' !== D || !I.sizeFound) { + for (d = 0; d < f.length; d++) { + if ( + ((r = f[d]), + (p = I.dirs[d]), + (P = O.aStr[p]), + void 0 !== s(r._input, P).get()) + ) { + (I[D] = _(P)), (I[D + 'Found'] = !0); + break; + } + (z = (r._autoBin || {})[p] || {})[D] && s(r, P).set(z[D]); + } + if ('start' === D || 'end' === D) + for (; d < f.length; d++) + (r = f[d])['_' + p + 'bingroup'] && + _(P, (z = (r._autoBin || {})[p] || {})[D]); + 'nbins' !== D || + I.sizeFound || + I.nbinsFound || + ((r = f[0]), (I[D] = _(P))); + } + } + } + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axis_ids': 831, + '../../plots/cartesian/constraints': 835, + '../../registry': 911, + '../bar/defaults': 925, + }, + ], + 1092: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../components/color'), + o = t('../bar/style_defaults'), + s = t('./attributes'); + e.exports = function (t, e, r, l) { + function c(r, n) { + return i.coerce(t, e, s, r, n); + } + var u = c('x'), + f = c('y'); + c('cumulative.enabled') && + (c('cumulative.direction'), c('cumulative.currentbin')), + c('text'), + c('hovertext'), + c('hovertemplate'); + var h = c('orientation', f && !u ? 'h' : 'v'), + p = 'v' === h ? 'x' : 'y', + d = 'v' === h ? 'y' : 'x', + g = + u && f + ? Math.min(i.minRowLength(u) && i.minRowLength(f)) + : i.minRowLength(e[p] || []); + if (g) { + (e._length = g), + n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y'], + l + ), + e[d] && c('histfunc'), + c('histnorm'), + c('autobin' + p), + o(t, e, c, r, l), + i.coerceSelectionMarkerOpacity(e, c); + var m = (e.marker.line || {}).color, + v = n.getComponentMethod('errorbars', 'supplyDefaults'); + v(t, e, m || a.defaultLine, { axis: 'y' }), + v(t, e, m || a.defaultLine, { axis: 'x', inherit: 'y' }); + } else e.visible = !1; + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../registry': 911, + '../bar/style_defaults': 936, + './attributes': 1084, + }, + ], + 1093: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + if ( + ((t.x = 'xVal' in e ? e.xVal : e.x), + (t.y = 'yVal' in e ? e.yVal : e.y), + 'zLabelVal' in e && (t.z = e.zLabelVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + !(r.cumulative || {}).enabled) + ) { + var a, + o = Array.isArray(i) ? n[0].pts[i[0]][i[1]] : n[i].pts; + if ( + ((t.pointNumbers = o), + (t.binNumber = t.pointNumber), + delete t.pointNumber, + delete t.pointIndex, + r._indexToPoints) + ) { + a = []; + for (var s = 0; s < o.length; s++) + a = a.concat(r._indexToPoints[o[s]]); + } else a = o; + t.pointIndices = a; + } + return t; + }; + }, + {}, + ], + 1094: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/hover').hoverPoints, + i = t('../../plots/cartesian/axes').hoverLabelText; + e.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o) { + var s = (t = o[0]).cd[t.index], + l = t.cd[0].trace; + if (!l.cumulative.enabled) { + var c = 'h' === l.orientation ? 'y' : 'x'; + t[c + 'Label'] = i(t[c + 'a'], s.ph0, s.ph1); + } + return o; + } + }; + }, + { '../../plots/cartesian/axes': 828, '../bar/hover': 928 }, + ], + 1095: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('../bar/layout_attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('./cross_trace_defaults'), + supplyLayoutDefaults: t('../bar/layout_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('../bar/cross_trace_calc').crossTraceCalc, + plot: t('../bar/plot').plot, + layerName: 'barlayer', + style: t('../bar/style').style, + styleOnSelect: t('../bar/style').styleOnSelect, + colorbar: t('../scatter/marker_colorbar'), + hoverPoints: t('./hover'), + selectPoints: t('../bar/select'), + eventData: t('./event_data'), + moduleType: 'trace', + name: 'histogram', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'bar-like', + 'cartesian', + 'svg', + 'bar', + 'histogram', + 'oriented', + 'errorBarsOK', + 'showLegend', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../bar/cross_trace_calc': 924, + '../bar/layout_attributes': 930, + '../bar/layout_defaults': 931, + '../bar/plot': 932, + '../bar/select': 933, + '../bar/style': 935, + '../scatter/marker_colorbar': 1205, + './attributes': 1084, + './calc': 1089, + './cross_trace_defaults': 1091, + './defaults': 1092, + './event_data': 1093, + './hover': 1094, + }, + ], + 1096: [ + function (t, e, r) { + 'use strict'; + e.exports = { + percent: function (t, e) { + for (var r = t.length, n = 100 / e, i = 0; i < r; i++) t[i] *= n; + }, + probability: function (t, e) { + for (var r = t.length, n = 0; n < r; n++) t[n] /= e; + }, + density: function (t, e, r, n) { + var i = t.length; + n = n || 1; + for (var a = 0; a < i; a++) t[a] *= r[a] * n; + }, + 'probability density': function (t, e, r, n) { + var i = t.length; + n && (e /= n); + for (var a = 0; a < i; a++) t[a] *= r[a] / e; + }, + }; + }, + {}, + ], + 1097: [ + function (t, e, r) { + 'use strict'; + var n = t('../histogram/attributes'), + i = t('../histogram/bin_attributes'), + a = t('../heatmap/attributes'), + o = t('../../plots/attributes'), + s = t('../../plots/template_attributes').hovertemplateAttrs, + l = t('../../components/colorscale/attributes'), + c = t('../../lib/extend').extendFlat; + e.exports = c( + { + x: n.x, + y: n.y, + z: { valType: 'data_array', editType: 'calc' }, + marker: { + color: { valType: 'data_array', editType: 'calc' }, + editType: 'calc', + }, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: i('x'), + nbinsy: n.nbinsy, + ybins: i('y'), + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: c({}, n.bingroup, {}), + xbingroup: c({}, n.bingroup, {}), + ybingroup: c({}, n.bingroup, {}), + xgap: a.xgap, + ygap: a.ygap, + zsmooth: a.zsmooth, + zhoverformat: a.zhoverformat, + hovertemplate: s({}, { keys: 'z' }), + showlegend: c({}, o.showlegend, { dflt: !1 }), + }, + l('', { cLetter: 'z', autoColorDflt: !1 }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../heatmap/attributes': 1065, + '../histogram/attributes': 1084, + '../histogram/bin_attributes': 1086, + }, + ], + 1098: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../histogram/bin_functions'), + o = t('../histogram/norm_functions'), + s = t('../histogram/average'), + l = t('../histogram/bin_label_vals'), + c = t('../histogram/calc').calcAllAutoBins; + function u(t, e, r, n) { + var i, + a = new Array(t); + if (n) for (i = 0; i < t; i++) a[i] = 1 / (e[i + 1] - e[i]); + else { + var o = 1 / r; + for (i = 0; i < t; i++) a[i] = o; + } + return a; + } + function f(t, e) { + return { start: t(e.start), end: t(e.end), size: e.size }; + } + function h(t, e, r, n, i, a) { + var o, + s = t.length - 1, + c = new Array(s), + u = l(r, n, t, i, a); + for (o = 0; o < s; o++) { + var f = (e || [])[o]; + c[o] = void 0 === f ? [u(t[o]), u(t[o + 1], !0)] : [f, f]; + } + return c; + } + e.exports = function (t, e) { + var r, + l, + p, + d, + g = i.getFromId(t, e.xaxis), + m = i.getFromId(t, e.yaxis), + v = e.xcalendar, + y = e.ycalendar, + x = function (t) { + return g.r2c(t, 0, v); + }, + b = function (t) { + return m.r2c(t, 0, y); + }, + _ = c(t, e, g, 'x'), + w = _[0], + T = _[1], + k = c(t, e, m, 'y'), + M = k[0], + A = k[1], + S = e._length; + T.length > S && T.splice(S, T.length - S), + A.length > S && A.splice(S, A.length - S); + var E = [], + C = [], + L = [], + I = 'string' == typeof w.size, + P = 'string' == typeof M.size, + z = [], + O = [], + D = I ? z : w, + R = P ? O : M, + F = 0, + B = [], + N = [], + j = e.histnorm, + U = e.histfunc, + V = -1 !== j.indexOf('density'), + q = 'max' === U || 'min' === U ? null : 0, + H = a.count, + G = o[j], + Y = !1, + W = [], + X = [], + Z = + 'z' in e + ? e.z + : 'marker' in e && Array.isArray(e.marker.color) + ? e.marker.color + : ''; + Z && 'count' !== U && ((Y = 'avg' === U), (H = a[U])); + var J = w.size, + K = x(w.start), + Q = x(w.end) + (K - i.tickIncrement(K, J, !1, v)) / 1e6; + for (r = K; r < Q; r = i.tickIncrement(r, J, !1, v)) + C.push(q), z.push(r), Y && L.push(0); + z.push(r); + var $, + tt = C.length, + et = (r - K) / tt, + rt = (($ = K + et / 2), g.c2r($, 0, v)), + nt = M.size, + it = b(M.start), + at = b(M.end) + (it - i.tickIncrement(it, nt, !1, y)) / 1e6; + for (r = it; r < at; r = i.tickIncrement(r, nt, !1, y)) { + E.push(C.slice()), O.push(r); + var ot = new Array(tt); + for (l = 0; l < tt; l++) ot[l] = []; + N.push(ot), Y && B.push(L.slice()); + } + O.push(r); + var st = E.length, + lt = (r - it) / st, + ct = (function (t) { + return m.c2r(t, 0, y); + })(it + lt / 2); + V && ((W = u(C.length, D, et, I)), (X = u(E.length, R, lt, P))), + I || 'date' !== g.type || (D = f(x, D)), + P || 'date' !== m.type || (R = f(b, R)); + var ut = !0, + ft = !0, + ht = new Array(tt), + pt = new Array(st), + dt = 1 / 0, + gt = 1 / 0, + mt = 1 / 0, + vt = 1 / 0; + for (r = 0; r < S; r++) { + var yt = T[r], + xt = A[r]; + (p = n.findBin(yt, D)), + (d = n.findBin(xt, R)), + p >= 0 && + p < tt && + d >= 0 && + d < st && + ((F += H(p, r, E[d], Z, B[d])), + N[d][p].push(r), + ut && + (void 0 === ht[p] + ? (ht[p] = yt) + : ht[p] !== yt && (ut = !1)), + ft && + (void 0 === pt[d] + ? (pt[d] = xt) + : pt[d] !== xt && (ft = !1)), + (dt = Math.min(dt, yt - z[p])), + (gt = Math.min(gt, z[p + 1] - yt)), + (mt = Math.min(mt, xt - O[d])), + (vt = Math.min(vt, O[d + 1] - xt))); + } + if (Y) for (d = 0; d < st; d++) F += s(E[d], B[d]); + if (G) for (d = 0; d < st; d++) G(E[d], F, W, X[d]); + return { + x: T, + xRanges: h(z, ut && ht, dt, gt, g, v), + x0: rt, + dx: et, + y: A, + yRanges: h(O, ft && pt, mt, vt, m, y), + y0: ct, + dy: lt, + z: E, + pts: N, + }; + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../histogram/average': 1085, + '../histogram/bin_functions': 1087, + '../histogram/bin_label_vals': 1088, + '../histogram/calc': 1089, + '../histogram/norm_functions': 1096, + }, + ], + 1099: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./sample_defaults'), + a = t('../heatmap/style_defaults'), + o = t('../../components/colorscale/defaults'), + s = t('./attributes'); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + i(t, e, c, l), + !1 !== e.visible && + (a(t, e, c, l), + o(t, e, l, c, { prefix: '', cLetter: 'z' }), + c('hovertemplate')); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../heatmap/style_defaults': 1078, + './attributes': 1097, + './sample_defaults': 1102, + }, + ], + 1100: [ + function (t, e, r) { + 'use strict'; + var n = t('../heatmap/hover'), + i = t('../../plots/cartesian/axes').hoverLabelText; + e.exports = function (t, e, r, a, o, s) { + var l = n(t, e, r, a, o, s); + if (l) { + var c = (t = l[0]).index, + u = c[0], + f = c[1], + h = t.cd[0], + p = h.xRanges[f], + d = h.yRanges[u]; + return ( + (t.xLabel = i(t.xa, p[0], p[1])), + (t.yLabel = i(t.ya, d[0], d[1])), + l + ); + } + }; + }, + { '../../plots/cartesian/axes': 828, '../heatmap/hover': 1072 }, + ], + 1101: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('../histogram/cross_trace_defaults'), + calc: t('../heatmap/calc'), + plot: t('../heatmap/plot'), + layerName: 'heatmaplayer', + colorbar: t('../heatmap/colorbar'), + style: t('../heatmap/style'), + hoverPoints: t('./hover'), + eventData: t('../histogram/event_data'), + moduleType: 'trace', + name: 'histogram2d', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + '2dMap', + 'histogram', + 'showLegend', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../heatmap/calc': 1066, + '../heatmap/colorbar': 1068, + '../heatmap/plot': 1076, + '../heatmap/style': 1077, + '../histogram/cross_trace_defaults': 1091, + '../histogram/event_data': 1093, + './attributes': 1097, + './defaults': 1099, + './hover': 1100, + }, + ], + 1102: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'); + e.exports = function (t, e, r, a) { + var o = r('x'), + s = r('y'), + l = i.minRowLength(o), + c = i.minRowLength(s); + l && c + ? ((e._length = Math.min(l, c)), + n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y'], + a + ), + (r('z') || r('marker.color')) && r('histfunc'), + r('histnorm'), + r('autobinx'), + r('autobiny')) + : (e.visible = !1); + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 1103: [ + function (t, e, r) { + 'use strict'; + var n = t('../histogram2d/attributes'), + i = t('../contour/attributes'), + a = t('../../components/colorscale/attributes'), + o = t('../../lib/extend').extendFlat; + e.exports = o( + { + x: n.x, + y: n.y, + z: n.z, + marker: n.marker, + histnorm: n.histnorm, + histfunc: n.histfunc, + nbinsx: n.nbinsx, + xbins: n.xbins, + nbinsy: n.nbinsy, + ybins: n.ybins, + autobinx: n.autobinx, + autobiny: n.autobiny, + bingroup: n.bingroup, + xbingroup: n.xbingroup, + ybingroup: n.ybingroup, + autocontour: i.autocontour, + ncontours: i.ncontours, + contours: i.contours, + line: { + color: i.line.color, + width: o({}, i.line.width, { dflt: 0.5 }), + dash: i.line.dash, + smoothing: i.line.smoothing, + editType: 'plot', + }, + zhoverformat: n.zhoverformat, + hovertemplate: n.hovertemplate, + }, + a('', { cLetter: 'z', editTypeOverride: 'calc' }) + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../contour/attributes': 1008, + '../histogram2d/attributes': 1097, + }, + ], + 1104: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../histogram2d/sample_defaults'), + a = t('../contour/contours_defaults'), + o = t('../contour/style_defaults'), + s = t('./attributes'); + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, s, r, i); + } + i(t, e, c, l), + !1 !== e.visible && + (a(t, e, c, function (r) { + return n.coerce2(t, e, s, r); + }), + o(t, e, c, l), + c('hovertemplate')); + }; + }, + { + '../../lib': 778, + '../contour/contours_defaults': 1015, + '../contour/style_defaults': 1029, + '../histogram2d/sample_defaults': 1102, + './attributes': 1103, + }, + ], + 1105: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('../histogram/cross_trace_defaults'), + calc: t('../contour/calc'), + plot: t('../contour/plot').plot, + layerName: 'contourlayer', + style: t('../contour/style'), + colorbar: t('../contour/colorbar'), + hoverPoints: t('../contour/hover'), + moduleType: 'trace', + name: 'histogram2dcontour', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + '2dMap', + 'contour', + 'histogram', + 'showLegend', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../contour/calc': 1009, + '../contour/colorbar': 1011, + '../contour/hover': 1021, + '../contour/plot': 1026, + '../contour/style': 1028, + '../histogram/cross_trace_defaults': 1091, + './attributes': 1103, + './defaults': 1104, + }, + ], + 1106: [ + function (t, e, r) { + 'use strict'; + for ( + var n = t('../../plots/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../../lib/extend').extendFlat, + o = t('./constants').colormodel, + s = ['rgb', 'rgba', 'rgba256', 'hsl', 'hsla'], + l = [], + c = [], + u = 0; + u < s.length; + u++ + ) { + var f = o[s[u]]; + l.push( + 'For the `' + + s[u] + + '` colormodel, it is [' + + (f.zminDflt || f.min).join(', ') + + '].' + ), + c.push( + 'For the `' + + s[u] + + '` colormodel, it is [' + + (f.zmaxDflt || f.max).join(', ') + + '].' + ); + } + e.exports = a({ + source: { valType: 'string', editType: 'calc' }, + z: { valType: 'data_array', editType: 'calc' }, + colormodel: { valType: 'enumerated', values: s, editType: 'calc' }, + zmin: { + valType: 'info_array', + items: [ + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + ], + editType: 'calc', + }, + zmax: { + valType: 'info_array', + items: [ + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + { valType: 'number', editType: 'calc' }, + ], + editType: 'calc', + }, + x0: { valType: 'any', dflt: 0, editType: 'calc+clearAxisTypes' }, + y0: { valType: 'any', dflt: 0, editType: 'calc+clearAxisTypes' }, + dx: { valType: 'number', dflt: 1, editType: 'calc' }, + dy: { valType: 'number', dflt: 1, editType: 'calc' }, + text: { valType: 'data_array', editType: 'plot' }, + hovertext: { valType: 'data_array', editType: 'plot' }, + hoverinfo: a({}, n.hoverinfo, { + flags: ['x', 'y', 'z', 'color', 'name', 'text'], + dflt: 'x+y+z+text+name', + }), + hovertemplate: i({}, { keys: ['z', 'color', 'colormodel'] }), + transforms: void 0, + }); + }, + { + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + './constants': 1108, + }, + ], + 1107: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./constants'), + a = t('fast-isnumeric'), + o = t('../../plots/cartesian/axes'), + s = t('../../lib').maxRowLength, + l = t('./helpers').getImageSize; + function c(t, e, r, i) { + return function (a) { + return n.constrain((a - t) * e, r, i); + }; + } + function u(t, e) { + return function (r) { + return n.constrain(r, t, e); + }; + } + e.exports = function (t, e) { + var r, n; + if (e._hasZ) (r = e.z.length), (n = s(e.z)); + else if (e._hasSource) { + var f = l(e.source); + (r = f.height), (n = f.width); + } + var h, + p = o.getFromId(t, e.xaxis || 'x'), + d = o.getFromId(t, e.yaxis || 'y'), + g = p.d2c(e.x0) - e.dx / 2, + m = d.d2c(e.y0) - e.dy / 2, + v = [g, g + n * e.dx], + y = [m, m + r * e.dy]; + if (p && 'log' === p.type) + for (h = 0; h < n; h++) v.push(g + h * e.dx); + if (d && 'log' === d.type) + for (h = 0; h < r; h++) y.push(m + h * e.dy); + return ( + (e._extremes[p._id] = o.findExtremes(p, v)), + (e._extremes[d._id] = o.findExtremes(d, y)), + (e._scaler = (function (t) { + var e = i.colormodel[t.colormodel], + r = (e.colormodel || t.colormodel).length; + t._sArray = []; + for (var n = 0; n < r; n++) + e.min[n] !== t.zmin[n] || e.max[n] !== t.zmax[n] + ? t._sArray.push( + c( + t.zmin[n], + (e.max[n] - e.min[n]) / (t.zmax[n] - t.zmin[n]), + e.min[n], + e.max[n] + ) + ) + : t._sArray.push(u(e.min[n], e.max[n])); + return function (e) { + for (var n = e.slice(0, r), i = 0; i < r; i++) { + var o = n[i]; + if (!a(o)) return !1; + n[i] = t._sArray[i](o); + } + return n; + }; + })(e)), + [{ x0: g, y0: m, z: e.z, w: n, h: r }] + ); + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + './constants': 1108, + './helpers': 1111, + 'fast-isnumeric': 241, + }, + ], + 1108: [ + function (t, e, r) { + 'use strict'; + e.exports = { + colormodel: { + rgb: { + min: [0, 0, 0], + max: [255, 255, 255], + fmt: function (t) { + return t.slice(0, 3); + }, + suffix: ['', '', ''], + }, + rgba: { + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ['', '', '', ''], + }, + rgba256: { + colormodel: 'rgba', + zminDflt: [0, 0, 0, 0], + zmaxDflt: [255, 255, 255, 255], + min: [0, 0, 0, 0], + max: [255, 255, 255, 1], + fmt: function (t) { + return t.slice(0, 4); + }, + suffix: ['', '', '', ''], + }, + hsl: { + min: [0, 0, 0], + max: [360, 100, 100], + fmt: function (t) { + var e = t.slice(0, 3); + return (e[1] = e[1] + '%'), (e[2] = e[2] + '%'), e; + }, + suffix: ['\xb0', '%', '%'], + }, + hsla: { + min: [0, 0, 0, 0], + max: [360, 100, 100, 1], + fmt: function (t) { + var e = t.slice(0, 4); + return (e[1] = e[1] + '%'), (e[2] = e[2] + '%'), e; + }, + suffix: ['\xb0', '%', '%', ''], + }, + }, + }; + }, + {}, + ], + 1109: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('./constants'), + o = t('../../snapshot/helpers').IMAGE_URL_PREFIX; + e.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r('source'), + e.source && !e.source.match(o) && delete e.source, + (e._hasSource = !!e.source); + var s, + l = r('z'); + ((e._hasZ = !(void 0 === l || !l.length || !l[0] || !l[0].length)), + e._hasZ || e._hasSource) + ? (r('x0'), + r('y0'), + r('dx'), + r('dy'), + e._hasZ + ? (r('colormodel', 'rgb'), + r( + 'zmin', + (s = a.colormodel[e.colormodel]).zminDflt || s.min + ), + r('zmax', s.zmaxDflt || s.max)) + : e._hasSource && + ((e.colormodel = 'rgba256'), + (s = a.colormodel[e.colormodel]), + (e.zmin = s.zminDflt), + (e.zmax = s.zmaxDflt)), + r('text'), + r('hovertext'), + r('hovertemplate'), + (e._length = null)) + : (e.visible = !1); + }; + }, + { + '../../lib': 778, + '../../snapshot/helpers': 915, + './attributes': 1106, + './constants': 1108, + }, + ], + 1110: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return ( + 'xVal' in e && (t.x = e.xVal), + 'yVal' in e && (t.y = e.yVal), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + (t.color = e.color), + (t.colormodel = e.trace.colormodel), + t.z || (t.z = e.color), + t + ); + }; + }, + {}, + ], + 1111: [ + function (t, e, r) { + 'use strict'; + var n = t('image-size'), + i = t('../../snapshot/helpers').IMAGE_URL_PREFIX, + a = t('buffer/').Buffer; + r.getImageSize = function (t) { + var e = t.replace(i, ''), + r = new a(e, 'base64'); + return n(r); + }; + }, + { '../../snapshot/helpers': 915, 'buffer/': 111, 'image-size': 444 }, + ], + 1112: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../lib'), + a = t('./constants'); + e.exports = function (t, e, r) { + var o = t.cd[0], + s = o.trace, + l = t.xa, + c = t.ya; + if ( + !( + n.inbox(e - o.x0, e - (o.x0 + o.w * s.dx), 0) > 0 || + n.inbox(r - o.y0, r - (o.y0 + o.h * s.dy), 0) > 0 + ) + ) { + var u, + f = Math.floor((e - o.x0) / s.dx), + h = Math.floor(Math.abs(r - o.y0) / s.dy); + if ( + (s._hasZ + ? (u = o.z[h][f]) + : s._hasSource && + (u = s._canvas.el + .getContext('2d') + .getImageData(f, h, 1, 1).data), + u) + ) { + var p, + d = o.hi || s.hoverinfo; + if (d) { + var g = d.split('+'); + -1 !== g.indexOf('all') && (g = ['color']), + -1 !== g.indexOf('color') && (p = !0); + } + var m, + v = a.colormodel[s.colormodel], + y = v.colormodel || s.colormodel, + x = y.length, + b = s._scaler(u), + _ = v.suffix, + w = []; + (s.hovertemplate || p) && + (w.push( + '[' + [b[0] + _[0], b[1] + _[1], b[2] + _[2]].join(', ') + ), + 4 === x && w.push(', ' + b[3] + _[3]), + w.push(']'), + (w = w.join('')), + (t.extraText = y.toUpperCase() + ': ' + w)), + Array.isArray(s.hovertext) && Array.isArray(s.hovertext[h]) + ? (m = s.hovertext[h][f]) + : Array.isArray(s.text) && + Array.isArray(s.text[h]) && + (m = s.text[h][f]); + var T = c.c2p(o.y0 + (h + 0.5) * s.dy), + k = o.x0 + (f + 0.5) * s.dx, + M = o.y0 + (h + 0.5) * s.dy, + A = '[' + u.slice(0, s.colormodel.length).join(', ') + ']'; + return [ + i.extendFlat(t, { + index: [h, f], + x0: l.c2p(o.x0 + f * s.dx), + x1: l.c2p(o.x0 + (f + 1) * s.dx), + y0: T, + y1: T, + color: b, + xVal: k, + xLabelVal: k, + yVal: M, + yLabelVal: M, + zLabelVal: A, + text: m, + hovertemplateLabels: { + zLabel: A, + colorLabel: w, + 'color[0]Label': b[0] + _[0], + 'color[1]Label': b[1] + _[1], + 'color[2]Label': b[2] + _[2], + 'color[3]Label': b[3] + _[3], + }, + }), + ]; + } + } + }; + }, + { '../../components/fx': 683, '../../lib': 778, './constants': 1108 }, + ], + 1113: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + style: t('./style'), + hoverPoints: t('./hover'), + eventData: t('./event_data'), + moduleType: 'trace', + name: 'image', + basePlotModule: t('../../plots/cartesian'), + categories: ['cartesian', 'svg', '2dMap', 'noSortingByValue'], + animatable: !1, + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 1106, + './calc': 1107, + './defaults': 1109, + './event_data': 1110, + './hover': 1112, + './plot': 1114, + './style': 1115, + }, + ], + 1114: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = i.strTranslate, + o = t('../../constants/xmlns_namespaces'), + s = t('./constants'), + l = i.isIOS() || i.isSafari() || i.isIE(); + e.exports = function (t, e, r, c) { + var u = e.xaxis, + f = e.yaxis, + h = !(l || t._context._exportedPlot); + i.makeTraceGroups(c, r, 'im').each(function (e) { + var r = n.select(this), + l = e[0], + c = l.trace, + p = + h && + !c._hasZ && + c._hasSource && + 'linear' === u.type && + 'linear' === f.type; + c._fastImage = p; + var d, + g, + m, + v, + y, + x, + b = l.z, + _ = l.x0, + w = l.y0, + T = l.w, + k = l.h, + M = c.dx, + A = c.dy; + for (x = 0; void 0 === d && x < T; ) (d = u.c2p(_ + x * M)), x++; + for (x = T; void 0 === g && x > 0; ) (g = u.c2p(_ + x * M)), x--; + for (x = 0; void 0 === v && x < k; ) (v = f.c2p(w + x * A)), x++; + for (x = k; void 0 === y && x > 0; ) (y = f.c2p(w + x * A)), x--; + if ( + (g < d && ((m = g), (g = d), (d = m)), + y < v && ((m = v), (v = y), (y = m)), + !p) + ) { + (d = Math.max(-0.5 * u._length, d)), + (g = Math.min(1.5 * u._length, g)), + (v = Math.max(-0.5 * f._length, v)), + (y = Math.min(1.5 * f._length, y)); + } + var S = Math.round(g - d), + E = Math.round(y - v); + if (S <= 0 || E <= 0) { + r.selectAll('image').data([]).exit().remove(); + } else { + var C = r.selectAll('image').data([e]); + C.enter() + .append('svg:image') + .attr({ xmlns: o.svg, preserveAspectRatio: 'none' }), + C.exit().remove(); + var L = + 'image-rendering: optimizeSpeed; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; image-rendering: crisp-edges; image-rendering: pixelated;'; + if (p) { + var I = i.simpleMap(u.range, u.r2l), + P = i.simpleMap(f.range, f.r2l), + z = I[1] < I[0], + O = P[1] > P[0]; + if (z || O) { + var D = d + S / 2, + R = v + E / 2; + L += + 'transform:' + + a(D + 'px', R + 'px') + + 'scale(' + + (z ? -1 : 1) + + ',' + + (O ? -1 : 1) + + ')' + + a(-D + 'px', -R + 'px') + + ';'; + } + } + C.attr('style', L); + var F = new Promise(function (t) { + if (c._hasZ) t(); + else if (c._hasSource) + if ( + c._canvas && + c._canvas.el.width === T && + c._canvas.el.height === k && + c._canvas.source === c.source + ) + t(); + else { + var e = document.createElement('canvas'); + (e.width = T), (e.height = k); + var r = e.getContext('2d'); + c._image = c._image || new Image(); + var n = c._image; + (n.onload = function () { + r.drawImage(n, 0, 0), + (c._canvas = { el: e, source: c.source }), + t(); + }), + n.setAttribute('src', c.source); + } + }).then(function () { + var t; + if (c._hasZ) + t = B(function (t, e) { + return b[e][t]; + }).toDataURL('image/png'); + else if (c._hasSource) + if (p) t = c.source; + else { + var e = c._canvas.el + .getContext('2d') + .getImageData(0, 0, T, k).data; + t = B(function (t, r) { + var n = 4 * (r * T + t); + return [e[n], e[n + 1], e[n + 2], e[n + 3]]; + }).toDataURL('image/png'); + } + C.attr({ 'xlink:href': t, height: E, width: S, x: d, y: v }); + }); + t._promises.push(F); + } + function B(t) { + var e = document.createElement('canvas'); + (e.width = S), (e.height = E); + var r, + n = e.getContext('2d'), + a = function (t) { + return i.constrain(Math.round(u.c2p(_ + t * M) - d), 0, S); + }, + o = function (t) { + return i.constrain(Math.round(f.c2p(w + t * A) - v), 0, E); + }, + h = s.colormodel[c.colormodel], + p = h.colormodel || c.colormodel, + g = h.fmt; + for (x = 0; x < l.w; x++) { + var m = a(x), + y = a(x + 1); + if (y !== m && !isNaN(y) && !isNaN(m)) + for (var b = 0; b < l.h; b++) { + var T = o(b), + k = o(b + 1); + k === T || + isNaN(k) || + isNaN(T) || + !t(x, b) || + ((r = c._scaler(t(x, b))), + (n.fillStyle = r + ? p + '(' + g(r).join(',') + ')' + : 'rgba(0,0,0,0)'), + n.fillRect(m, T, y - m, k - T)); + } + } + return e; + } + }); + }; + }, + { + '../../constants/xmlns_namespaces': 754, + '../../lib': 778, + './constants': 1108, + d3: 169, + }, + ], + 1115: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'); + e.exports = function (t) { + n.select(t) + .selectAll('.im image') + .style('opacity', function (t) { + return t[0].trace.opacity; + }); + }; + }, + { d3: 169 }, + ], + 1116: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/extend').extendFlat, + i = t('../../lib/extend').extendDeep, + a = t('../../plot_api/edit_types').overrideAll, + o = t('../../plots/font_attributes'), + s = t('../../components/color/attributes'), + l = t('../../plots/domain').attributes, + c = t('../../plots/cartesian/layout_attributes'), + u = t('../../plot_api/plot_template').templatedArray, + f = t('../../constants/delta.js'), + h = + (t('../../constants/docs').FORMAT_LINK, + o({ editType: 'plot', colorEditType: 'plot' })), + p = { + color: { valType: 'color', editType: 'plot' }, + line: { + color: { + valType: 'color', + dflt: s.defaultLine, + editType: 'plot', + }, + width: { valType: 'number', min: 0, dflt: 0, editType: 'plot' }, + editType: 'calc', + }, + thickness: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + editType: 'plot', + }, + editType: 'calc', + }, + d = { + valType: 'info_array', + items: [ + { valType: 'number', editType: 'plot' }, + { valType: 'number', editType: 'plot' }, + ], + editType: 'plot', + }, + g = u('step', i({}, p, { range: d })); + e.exports = { + mode: { + valType: 'flaglist', + editType: 'calc', + flags: ['number', 'delta', 'gauge'], + dflt: 'number', + }, + value: { valType: 'number', editType: 'calc', anim: !0 }, + align: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + editType: 'plot', + }, + domain: l({ name: 'indicator', trace: !0, editType: 'calc' }), + title: { + text: { valType: 'string', editType: 'plot' }, + align: { + valType: 'enumerated', + values: ['left', 'center', 'right'], + editType: 'plot', + }, + font: n({}, h, {}), + editType: 'plot', + }, + number: { + valueformat: { valType: 'string', dflt: '', editType: 'plot' }, + font: n({}, h, {}), + prefix: { valType: 'string', dflt: '', editType: 'plot' }, + suffix: { valType: 'string', dflt: '', editType: 'plot' }, + editType: 'plot', + }, + delta: { + reference: { valType: 'number', editType: 'calc' }, + position: { + valType: 'enumerated', + values: ['top', 'bottom', 'left', 'right'], + dflt: 'bottom', + editType: 'plot', + }, + relative: { valType: 'boolean', editType: 'plot', dflt: !1 }, + valueformat: { valType: 'string', editType: 'plot' }, + increasing: { + symbol: { + valType: 'string', + dflt: f.INCREASING.SYMBOL, + editType: 'plot', + }, + color: { + valType: 'color', + dflt: f.INCREASING.COLOR, + editType: 'plot', + }, + editType: 'plot', + }, + decreasing: { + symbol: { + valType: 'string', + dflt: f.DECREASING.SYMBOL, + editType: 'plot', + }, + color: { + valType: 'color', + dflt: f.DECREASING.COLOR, + editType: 'plot', + }, + editType: 'plot', + }, + font: n({}, h, {}), + editType: 'calc', + }, + gauge: { + shape: { + valType: 'enumerated', + editType: 'plot', + dflt: 'angular', + values: ['angular', 'bullet'], + }, + bar: i({}, p, { color: { dflt: 'green' } }), + bgcolor: { valType: 'color', editType: 'plot' }, + bordercolor: { + valType: 'color', + dflt: s.defaultLine, + editType: 'plot', + }, + borderwidth: { + valType: 'number', + min: 0, + dflt: 1, + editType: 'plot', + }, + axis: a( + { + range: d, + visible: n({}, c.visible, { dflt: !0 }), + tickmode: c.tickmode, + nticks: c.nticks, + tick0: c.tick0, + dtick: c.dtick, + tickvals: c.tickvals, + ticktext: c.ticktext, + ticks: n({}, c.ticks, { dflt: 'outside' }), + ticklen: c.ticklen, + tickwidth: c.tickwidth, + tickcolor: c.tickcolor, + showticklabels: c.showticklabels, + tickfont: o({}), + tickangle: c.tickangle, + tickformat: c.tickformat, + tickformatstops: c.tickformatstops, + tickprefix: c.tickprefix, + showtickprefix: c.showtickprefix, + ticksuffix: c.ticksuffix, + showticksuffix: c.showticksuffix, + separatethousands: c.separatethousands, + exponentformat: c.exponentformat, + minexponent: c.minexponent, + showexponent: c.showexponent, + editType: 'plot', + }, + 'plot' + ), + steps: g, + threshold: { + line: { + color: n({}, p.line.color, {}), + width: n({}, p.line.width, { dflt: 1 }), + editType: 'plot', + }, + thickness: n({}, p.thickness, { dflt: 0.85 }), + value: { valType: 'number', editType: 'calc', dflt: !1 }, + editType: 'plot', + }, + editType: 'plot', + }, + }; + }, + { + '../../components/color/attributes': 642, + '../../constants/delta.js': 747, + '../../constants/docs': 748, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + }, + ], + 1117: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/plots'); + (r.name = 'indicator'), + (r.plot = function (t, e, i, a) { + n.plotBasePlot(r.name, t, e, i, a); + }), + (r.clean = function (t, e, i, a) { + n.cleanBasePlot(r.name, t, e, i, a); + }); + }, + { '../../plots/plots': 891 }, + ], + 1118: [ + function (t, e, r) { + 'use strict'; + e.exports = { + calc: function (t, e) { + var r = [], + n = e.value; + 'number' != typeof e._lastValue && (e._lastValue = e.value); + var i = e._lastValue, + a = i; + return ( + e._hasDelta && + 'number' == typeof e.delta.reference && + (a = e.delta.reference), + (r[0] = { + y: n, + lastY: i, + delta: n - a, + relativeDelta: (n - a) / a, + }), + r + ); + }, + }; + }, + {}, + ], + 1119: [ + function (t, e, r) { + 'use strict'; + e.exports = { + defaultNumberFontSize: 80, + bulletNumberDomainSize: 0.25, + bulletPadding: 0.025, + innerRadius: 0.75, + valueThickness: 0.5, + titlePadding: 5, + horizontalPadding: 10, + }; + }, + {}, + ], + 1120: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../plots/domain').defaults, + o = t('../../plot_api/plot_template'), + s = t('../../plots/array_container_defaults'), + l = t('./constants.js'), + c = t('../../plots/cartesian/tick_value_defaults'), + u = t('../../plots/cartesian/tick_mark_defaults'), + f = t('../../plots/cartesian/tick_label_defaults'); + function h(t, e) { + function r(r, a) { + return n.coerce(t, e, i.gauge.steps, r, a); + } + r('color'), + r('line.color'), + r('line.width'), + r('range'), + r('thickness'); + } + e.exports = { + supplyDefaults: function (t, e, r, p) { + function d(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, p, d), + d('mode'), + (e._hasNumber = -1 !== e.mode.indexOf('number')), + (e._hasDelta = -1 !== e.mode.indexOf('delta')), + (e._hasGauge = -1 !== e.mode.indexOf('gauge')); + var g = d('value'); + e._range = [0, 'number' == typeof g ? 1.5 * g : 1]; + var m, + v, + y, + x, + b, + _, + w = new Array(2); + function T(t, e) { + return n.coerce(y, x, i.gauge, t, e); + } + function k(t, e) { + return n.coerce(b, _, i.gauge.axis, t, e); + } + if ( + (e._hasNumber && + (d('number.valueformat'), + d('number.font.color', p.font.color), + d('number.font.family', p.font.family), + d('number.font.size'), + void 0 === e.number.font.size && + ((e.number.font.size = l.defaultNumberFontSize), + (w[0] = !0)), + d('number.prefix'), + d('number.suffix'), + (m = e.number.font.size)), + e._hasDelta && + (d('delta.font.color', p.font.color), + d('delta.font.family', p.font.family), + d('delta.font.size'), + void 0 === e.delta.font.size && + ((e.delta.font.size = + (e._hasNumber ? 0.5 : 1) * + (m || l.defaultNumberFontSize)), + (w[1] = !0)), + d('delta.reference', e.value), + d('delta.relative'), + d('delta.valueformat', e.delta.relative ? '2%' : ''), + d('delta.increasing.symbol'), + d('delta.increasing.color'), + d('delta.decreasing.symbol'), + d('delta.decreasing.color'), + d('delta.position'), + (v = e.delta.font.size)), + (e._scaleNumbers = + ((!e._hasNumber || w[0]) && (!e._hasDelta || w[1])) || !1), + d('title.font.color', p.font.color), + d('title.font.family', p.font.family), + d( + 'title.font.size', + 0.25 * (m || v || l.defaultNumberFontSize) + ), + d('title.text'), + e._hasGauge) + ) { + (y = t.gauge) || (y = {}), + (x = o.newContainer(e, 'gauge')), + T('shape'), + (e._isBullet = 'bullet' === e.gauge.shape) || + d('title.align', 'center'), + (e._isAngular = 'angular' === e.gauge.shape) || + d('align', 'center'), + T('bgcolor', p.paper_bgcolor), + T('borderwidth'), + T('bordercolor'), + T('bar.color'), + T('bar.line.color'), + T('bar.line.width'), + T( + 'bar.thickness', + l.valueThickness * ('bullet' === e.gauge.shape ? 0.5 : 1) + ), + s(y, x, { name: 'steps', handleItemDefaults: h }), + T('threshold.value'), + T('threshold.thickness'), + T('threshold.line.width'), + T('threshold.line.color'), + (b = {}), + y && (b = y.axis || {}), + (_ = o.newContainer(x, 'axis')), + k('visible'), + (e._range = k('range', e._range)); + var M = { outerTicks: !0 }; + c(b, _, k, 'linear'), f(b, _, k, 'linear', M), u(b, _, k, M); + } else + d('title.align', 'center'), + d('align', 'center'), + (e._isAngular = e._isBullet = !1); + e._length = null; + }, + }; + }, + { + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/tick_label_defaults': 849, + '../../plots/cartesian/tick_mark_defaults': 850, + '../../plots/cartesian/tick_value_defaults': 851, + '../../plots/domain': 855, + './attributes': 1116, + './constants.js': 1119, + }, + ], + 1121: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'indicator', + basePlotModule: t('./base_plot'), + categories: ['svg', 'noOpacity', 'noHover'], + animatable: !0, + attributes: t('./attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + calc: t('./calc').calc, + plot: t('./plot'), + meta: {}, + }; + }, + { + './attributes': 1116, + './base_plot': 1117, + './calc': 1118, + './defaults': 1120, + './plot': 1122, + }, + ], + 1122: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = i.strScale, + o = i.strTranslate, + s = i.rad2deg, + l = t('../../constants/alignment').MID_SHIFT, + c = t('../../components/drawing'), + u = t('./constants'), + f = t('../../lib/svg_text_utils'), + h = t('../../plots/cartesian/axes'), + p = t('../../plots/cartesian/axis_defaults'), + d = t('../../plots/cartesian/position_defaults'), + g = t('../../plots/cartesian/layout_attributes'), + m = t('../../components/color'), + v = { left: 'start', center: 'middle', right: 'end' }, + y = { left: 0, center: 0.5, right: 1 }, + x = /[yzafpn\xb5mkMGTPEZY]/; + function b(t) { + return t && t.duration > 0; + } + function _(t) { + t.each(function (t) { + m.stroke(n.select(this), t.line.color); + }) + .each(function (t) { + m.fill(n.select(this), t.color); + }) + .style('stroke-width', function (t) { + return t.line.width; + }); + } + function w(t, e, r) { + var n = t._fullLayout, + a = i.extendFlat( + { type: 'linear', ticks: 'outside', range: r, showline: !0 }, + e + ), + o = { type: 'linear', _id: 'x' + e._id }, + s = { letter: 'x', font: n.font, noHover: !0, noTickson: !0 }; + function l(t, e) { + return i.coerce(a, o, g, t, e); + } + return p(a, o, l, s, n), d(a, o, l, s), o; + } + function T(t, e, r) { + return [Math.min(e / t.width, r / t.height), t, e + 'x' + r]; + } + function k(t, e, r, i) { + var a = document.createElementNS( + 'http://www.w3.org/2000/svg', + 'text' + ), + o = n.select(a); + return ( + o + .text(t) + .attr('x', 0) + .attr('y', 0) + .attr('text-anchor', r) + .attr('data-unformatted', t) + .call(f.convertToTspans, i) + .call(c.font, e), + c.bBox(o.node()) + ); + } + function M(t, e, r, n, a, o) { + var s = '_cache' + e; + (t[s] && t[s].key === a) || (t[s] = { key: a, value: r }); + var l = i.aggNums(o, null, [t[s].value, n], 2); + return (t[s].value = l), l; + } + e.exports = function (t, e, r, p) { + var d, + g = t._fullLayout; + b(r) && p && (d = p()), + i + .makeTraceGroups(g._indicatorlayer, e, 'trace') + .each(function (e) { + var p, + A, + S, + E, + C, + L = e[0].trace, + I = n.select(this), + P = L._hasGauge, + z = L._isAngular, + O = L._isBullet, + D = L.domain, + R = { + w: g._size.w * (D.x[1] - D.x[0]), + h: g._size.h * (D.y[1] - D.y[0]), + l: g._size.l + g._size.w * D.x[0], + r: g._size.r + g._size.w * (1 - D.x[1]), + t: g._size.t + g._size.h * (1 - D.y[1]), + b: g._size.b + g._size.h * D.y[0], + }, + F = R.l + R.w / 2, + B = R.t + R.h / 2, + N = Math.min(R.w / 2, R.h), + j = u.innerRadius * N, + U = L.align || 'center'; + if (((A = B), P)) { + if ( + (z && + ((p = F), + (A = B + N / 2), + (S = function (t) { + return (function (t, e) { + var r = Math.sqrt( + (t.width / 2) * (t.width / 2) + + t.height * t.height + ); + return [e / r, t, e]; + })(t, 0.9 * j); + })), + O) + ) { + var V = u.bulletPadding, + q = 1 - u.bulletNumberDomainSize + V; + (p = R.l + (q + (1 - q) * y[U]) * R.w), + (S = function (t) { + return T( + t, + (u.bulletNumberDomainSize - V) * R.w, + R.h + ); + }); + } + } else + (p = R.l + y[U] * R.w), + (S = function (t) { + return T(t, R.w, R.h); + }); + !(function (t, e, r, s) { + var l, + u, + p, + d = r[0].trace, + g = s.numbersX, + _ = s.numbersY, + T = d.align || 'center', + A = v[T], + S = s.transitionOpts, + E = s.onComplete, + C = i.ensureSingle(e, 'g', 'numbers'), + L = []; + d._hasNumber && L.push('number'); + d._hasDelta && + (L.push('delta'), + 'left' === d.delta.position && L.reverse()); + var I = C.selectAll('text').data(L); + function P(e, r, n, i) { + if ( + !e.match('s') || + n >= 0 == i >= 0 || + r(n).slice(-1).match(x) || + r(i).slice(-1).match(x) + ) + return r; + var a = e + .slice() + .replace('s', 'f') + .replace(/\d+/, function (t) { + return parseInt(t) - 1; + }), + o = w(t, { tickformat: a }); + return function (t) { + return Math.abs(t) < 1 ? h.tickText(o, t).text : r(t); + }; + } + I.enter().append('text'), + I.attr('text-anchor', function () { + return A; + }) + .attr('class', function (t) { + return t; + }) + .attr('x', null) + .attr('y', null) + .attr('dx', null) + .attr('dy', null), + I.exit().remove(); + var z, + O = d.mode + d.align; + d._hasDelta && + ((z = (function () { + var e = w( + t, + { tickformat: d.delta.valueformat }, + d._range + ); + e.setScale(), h.prepTicks(e); + var i = function (t) { + return h.tickText(e, t).text; + }, + a = function (t) { + return d.delta.relative ? t.relativeDelta : t.delta; + }, + o = function (t, e) { + return 0 === t || 'number' != typeof t || isNaN(t) + ? '-' + : (t > 0 + ? d.delta.increasing.symbol + : d.delta.decreasing.symbol) + e(t); + }, + s = function (t) { + return t.delta >= 0 + ? d.delta.increasing.color + : d.delta.decreasing.color; + }; + void 0 === d._deltaLastValue && + (d._deltaLastValue = a(r[0])); + var l = C.select('text.delta'); + function p() { + l.text(o(a(r[0]), i)) + .call(m.fill, s(r[0])) + .call(f.convertToTspans, t); + } + return ( + l + .call(c.font, d.delta.font) + .call(m.fill, s({ delta: d._deltaLastValue })), + b(S) + ? l + .transition() + .duration(S.duration) + .ease(S.easing) + .tween('text', function () { + var t = n.select(this), + e = a(r[0]), + l = d._deltaLastValue, + c = P(d.delta.valueformat, i, l, e), + u = n.interpolateNumber(l, e); + return ( + (d._deltaLastValue = e), + function (e) { + t.text(o(u(e), c)), + t.call(m.fill, s({ delta: u(e) })); + } + ); + }) + .each('end', function () { + p(), E && E(); + }) + .each('interrupt', function () { + p(), E && E(); + }) + : p(), + (u = k(o(a(r[0]), i), d.delta.font, A, t)), + l + ); + })()), + (O += + d.delta.position + + d.delta.font.size + + d.delta.font.family + + d.delta.valueformat), + (O += + d.delta.increasing.symbol + d.delta.decreasing.symbol), + (p = u)); + d._hasNumber && + (!(function () { + var e = w( + t, + { tickformat: d.number.valueformat }, + d._range + ); + e.setScale(), h.prepTicks(e); + var i = function (t) { + return h.tickText(e, t).text; + }, + a = d.number.suffix, + o = d.number.prefix, + s = C.select('text.number'); + function u() { + var e = + 'number' == typeof r[0].y ? o + i(r[0].y) + a : '-'; + s.text(e) + .call(c.font, d.number.font) + .call(f.convertToTspans, t); + } + b(S) + ? s + .transition() + .duration(S.duration) + .ease(S.easing) + .each('end', function () { + u(), E && E(); + }) + .each('interrupt', function () { + u(), E && E(); + }) + .attrTween('text', function () { + var t = n.select(this), + e = n.interpolateNumber(r[0].lastY, r[0].y); + d._lastValue = r[0].y; + var s = P( + d.number.valueformat, + i, + r[0].lastY, + r[0].y + ); + return function (r) { + t.text(o + s(e(r)) + a); + }; + }) + : u(), + (l = k(o + i(r[0].y) + a, d.number.font, A, t)); + })(), + (O += + d.number.font.size + + d.number.font.family + + d.number.valueformat + + d.number.suffix + + d.number.prefix), + (p = l)); + if (d._hasDelta && d._hasNumber) { + var D, + R, + F = [(l.left + l.right) / 2, (l.top + l.bottom) / 2], + B = [(u.left + u.right) / 2, (u.top + u.bottom) / 2], + N = 0.75 * d.delta.font.size; + 'left' === d.delta.position && + ((D = M( + d, + 'deltaPos', + 0, + -1 * + (l.width * y[d.align] + + u.width * (1 - y[d.align]) + + N), + O, + Math.min + )), + (R = F[1] - B[1]), + (p = { + width: l.width + u.width + N, + height: Math.max(l.height, u.height), + left: u.left + D, + right: l.right, + top: Math.min(l.top, u.top + R), + bottom: Math.max(l.bottom, u.bottom + R), + })), + 'right' === d.delta.position && + ((D = M( + d, + 'deltaPos', + 0, + l.width * (1 - y[d.align]) + + u.width * y[d.align] + + N, + O, + Math.max + )), + (R = F[1] - B[1]), + (p = { + width: l.width + u.width + N, + height: Math.max(l.height, u.height), + left: l.left, + right: u.right + D, + top: Math.min(l.top, u.top + R), + bottom: Math.max(l.bottom, u.bottom + R), + })), + 'bottom' === d.delta.position && + ((D = null), + (R = u.height), + (p = { + width: Math.max(l.width, u.width), + height: l.height + u.height, + left: Math.min(l.left, u.left), + right: Math.max(l.right, u.right), + top: l.bottom - l.height, + bottom: l.bottom + u.height, + })), + 'top' === d.delta.position && + ((D = null), + (R = l.top), + (p = { + width: Math.max(l.width, u.width), + height: l.height + u.height, + left: Math.min(l.left, u.left), + right: Math.max(l.right, u.right), + top: l.bottom - l.height - u.height, + bottom: l.bottom, + })), + z.attr({ dx: D, dy: R }); + } + (d._hasNumber || d._hasDelta) && + C.attr('transform', function () { + var t = s.numbersScaler(p); + O += t[2]; + var e, + r = M(d, 'numbersScale', 1, t[0], O, Math.min); + d._scaleNumbers || (r = 1), + (e = d._isAngular + ? _ - r * p.bottom + : _ - (r * (p.top + p.bottom)) / 2), + (d._numbersTop = r * p.top + e); + var n = p[T]; + 'center' === T && (n = (p.left + p.right) / 2); + var i = g - r * n; + return ( + (i = M(d, 'numbersTranslate', 0, i, O, Math.max)), + o(i, e) + a(r) + ); + }); + })(t, I, e, { + numbersX: p, + numbersY: A, + numbersScaler: S, + transitionOpts: r, + onComplete: d, + }), + P && + ((E = { + range: L.gauge.axis.range, + color: L.gauge.bgcolor, + line: { color: L.gauge.bordercolor, width: 0 }, + thickness: 1, + }), + (C = { + range: L.gauge.axis.range, + color: 'rgba(0, 0, 0, 0)', + line: { + color: L.gauge.bordercolor, + width: L.gauge.borderwidth, + }, + thickness: 1, + })); + var H = I.selectAll('g.angular').data(z ? e : []); + H.exit().remove(); + var G = I.selectAll('g.angularaxis').data(z ? e : []); + G.exit().remove(), + z && + (function (t, e, r, i) { + var a, + c, + u, + f, + p = r[0].trace, + d = i.size, + g = i.radius, + m = i.innerRadius, + v = i.gaugeBg, + y = i.gaugeOutline, + x = [d.l + d.w / 2, d.t + d.h / 2 + g / 2], + T = i.gauge, + k = i.layer, + M = i.transitionOpts, + A = i.onComplete, + S = Math.PI / 2; + function E(t) { + var e = p.gauge.axis.range[0], + r = + ((t - e) / (p.gauge.axis.range[1] - e)) * + Math.PI - + S; + return r < -S ? -S : r > S ? S : r; + } + function C(t) { + return n.svg + .arc() + .innerRadius((m + g) / 2 - (t / 2) * (g - m)) + .outerRadius((m + g) / 2 + (t / 2) * (g - m)) + .startAngle(-S); + } + function L(t) { + t.attr('d', function (t) { + return C(t.thickness) + .startAngle(E(t.range[0])) + .endAngle(E(t.range[1]))(); + }); + } + T.enter().append('g').classed('angular', !0), + T.attr('transform', o(x[0], x[1])), + k + .enter() + .append('g') + .classed('angularaxis', !0) + .classed('crisp', !0), + k.selectAll('g.xangularaxistick,path,text').remove(), + ((a = w(t, p.gauge.axis)).type = 'linear'), + (a.range = p.gauge.axis.range), + (a._id = 'xangularaxis'), + a.setScale(); + var I = function (t) { + return ( + ((a.range[0] - t.x) / (a.range[1] - a.range[0])) * + Math.PI + + Math.PI + ); + }, + P = {}, + z = h.makeLabelFns(a, 0).labelStandoff; + (P.xFn = function (t) { + var e = I(t); + return Math.cos(e) * z; + }), + (P.yFn = function (t) { + var e = I(t), + r = Math.sin(e) > 0 ? 0.2 : 1; + return ( + -Math.sin(e) * (z + t.fontSize * r) + + Math.abs(Math.cos(e)) * (t.fontSize * l) + ); + }), + (P.anchorFn = function (t) { + var e = I(t), + r = Math.cos(e); + return Math.abs(r) < 0.1 + ? 'middle' + : r > 0 + ? 'start' + : 'end'; + }), + (P.heightFn = function (t, e, r) { + var n = I(t); + return -0.5 * (1 + Math.sin(n)) * r; + }); + var O = function (t) { + return o( + x[0] + g * Math.cos(t), + x[1] - g * Math.sin(t) + ); + }; + u = function (t) { + return O(I(t)); + }; + if ( + ((c = h.calcTicks(a)), + (f = h.getTickSigns(a)[2]), + a.visible) + ) { + f = 'inside' === a.ticks ? -1 : 1; + var D = (a.linewidth || 1) / 2; + h.drawTicks(t, a, { + vals: c, + layer: k, + path: 'M' + f * D + ',0h' + f * a.ticklen, + transFn: function (t) { + var e = I(t); + return O(e) + 'rotate(' + -s(e) + ')'; + }, + }), + h.drawLabels(t, a, { + vals: c, + layer: k, + transFn: u, + labelFns: P, + }); + } + var R = [v].concat(p.gauge.steps), + F = T.selectAll('g.bg-arc').data(R); + F.enter() + .append('g') + .classed('bg-arc', !0) + .append('path'), + F.select('path').call(L).call(_), + F.exit().remove(); + var B = C(p.gauge.bar.thickness), + N = T.selectAll('g.value-arc').data([p.gauge.bar]); + N.enter() + .append('g') + .classed('value-arc', !0) + .append('path'); + var j = N.select('path'); + b(M) + ? (j + .transition() + .duration(M.duration) + .ease(M.easing) + .each('end', function () { + A && A(); + }) + .each('interrupt', function () { + A && A(); + }) + .attrTween( + 'd', + ((U = B), + (V = E(r[0].lastY)), + (q = E(r[0].y)), + function () { + var t = n.interpolate(V, q); + return function (e) { + return U.endAngle(t(e))(); + }; + }) + ), + (p._lastValue = r[0].y)) + : j.attr( + 'd', + 'number' == typeof r[0].y + ? B.endAngle(E(r[0].y)) + : 'M0,0Z' + ); + var U, V, q; + j.call(_), N.exit().remove(), (R = []); + var H = p.gauge.threshold.value; + H && + R.push({ + range: [H, H], + color: p.gauge.threshold.color, + line: { + color: p.gauge.threshold.line.color, + width: p.gauge.threshold.line.width, + }, + thickness: p.gauge.threshold.thickness, + }); + var G = T.selectAll('g.threshold-arc').data(R); + G.enter() + .append('g') + .classed('threshold-arc', !0) + .append('path'), + G.select('path').call(L).call(_), + G.exit().remove(); + var Y = T.selectAll('g.gauge-outline').data([y]); + Y.enter() + .append('g') + .classed('gauge-outline', !0) + .append('path'), + Y.select('path').call(L).call(_), + Y.exit().remove(); + })(t, 0, e, { + radius: N, + innerRadius: j, + gauge: H, + layer: G, + size: R, + gaugeBg: E, + gaugeOutline: C, + transitionOpts: r, + onComplete: d, + }); + var Y = I.selectAll('g.bullet').data(O ? e : []); + Y.exit().remove(); + var W = I.selectAll('g.bulletaxis').data(O ? e : []); + W.exit().remove(), + O && + (function (t, e, r, n) { + var i, + a, + s, + l, + c, + f = r[0].trace, + p = n.gauge, + d = n.layer, + g = n.gaugeBg, + v = n.gaugeOutline, + y = n.size, + x = f.domain, + T = n.transitionOpts, + k = n.onComplete; + p.enter().append('g').classed('bullet', !0), + p.attr('transform', o(y.l, y.t)), + d + .enter() + .append('g') + .classed('bulletaxis', !0) + .classed('crisp', !0), + d.selectAll('g.xbulletaxistick,path,text').remove(); + var M = y.h, + A = f.gauge.bar.thickness * M, + S = x.x[0], + E = + x.x[0] + + (x.x[1] - x.x[0]) * + (f._hasNumber || f._hasDelta + ? 1 - u.bulletNumberDomainSize + : 1); + ((i = w(t, f.gauge.axis))._id = 'xbulletaxis'), + (i.domain = [S, E]), + i.setScale(), + (a = h.calcTicks(i)), + (s = h.makeTransTickFn(i)), + (l = h.getTickSigns(i)[2]), + (c = y.t + y.h), + i.visible && + (h.drawTicks(t, i, { + vals: 'inside' === i.ticks ? h.clipEnds(i, a) : a, + layer: d, + path: h.makeTickPath(i, c, l), + transFn: s, + }), + h.drawLabels(t, i, { + vals: a, + layer: d, + transFn: s, + labelFns: h.makeLabelFns(i, c), + })); + function C(t) { + t.attr('width', function (t) { + return Math.max( + 0, + i.c2p(t.range[1]) - i.c2p(t.range[0]) + ); + }) + .attr('x', function (t) { + return i.c2p(t.range[0]); + }) + .attr('y', function (t) { + return 0.5 * (1 - t.thickness) * M; + }) + .attr('height', function (t) { + return t.thickness * M; + }); + } + var L = [g].concat(f.gauge.steps), + I = p.selectAll('g.bg-bullet').data(L); + I.enter() + .append('g') + .classed('bg-bullet', !0) + .append('rect'), + I.select('rect').call(C).call(_), + I.exit().remove(); + var P = p + .selectAll('g.value-bullet') + .data([f.gauge.bar]); + P.enter() + .append('g') + .classed('value-bullet', !0) + .append('rect'), + P.select('rect') + .attr('height', A) + .attr('y', (M - A) / 2) + .call(_), + b(T) + ? P.select('rect') + .transition() + .duration(T.duration) + .ease(T.easing) + .each('end', function () { + k && k(); + }) + .each('interrupt', function () { + k && k(); + }) + .attr( + 'width', + Math.max( + 0, + i.c2p( + Math.min(f.gauge.axis.range[1], r[0].y) + ) + ) + ) + : P.select('rect').attr( + 'width', + 'number' == typeof r[0].y + ? Math.max( + 0, + i.c2p( + Math.min(f.gauge.axis.range[1], r[0].y) + ) + ) + : 0 + ); + P.exit().remove(); + var z = r.filter(function () { + return f.gauge.threshold.value; + }), + O = p.selectAll('g.threshold-bullet').data(z); + O.enter() + .append('g') + .classed('threshold-bullet', !0) + .append('line'), + O.select('line') + .attr('x1', i.c2p(f.gauge.threshold.value)) + .attr('x2', i.c2p(f.gauge.threshold.value)) + .attr( + 'y1', + ((1 - f.gauge.threshold.thickness) / 2) * M + ) + .attr( + 'y2', + (1 - (1 - f.gauge.threshold.thickness) / 2) * M + ) + .call(m.stroke, f.gauge.threshold.line.color) + .style( + 'stroke-width', + f.gauge.threshold.line.width + ), + O.exit().remove(); + var D = p.selectAll('g.gauge-outline').data([v]); + D.enter() + .append('g') + .classed('gauge-outline', !0) + .append('rect'), + D.select('rect').call(C).call(_), + D.exit().remove(); + })(t, 0, e, { + gauge: Y, + layer: W, + size: R, + gaugeBg: E, + gaugeOutline: C, + transitionOpts: r, + onComplete: d, + }); + var X = I.selectAll('text.title').data(e); + X.exit().remove(), + X.enter().append('text').classed('title', !0), + X.attr('text-anchor', function () { + return O ? v.right : v[L.title.align]; + }) + .text(L.title.text) + .call(c.font, L.title.font) + .call(f.convertToTspans, t), + X.attr('transform', function () { + var t, + e = R.l + R.w * y[L.title.align], + r = u.titlePadding, + n = c.bBox(X.node()); + if (P) { + if (z) + if (L.gauge.axis.visible) + t = c.bBox(G.node()).top - r - n.bottom; + else t = R.t + R.h / 2 - N / 2 - n.bottom - r; + O && + ((t = A - (n.top + n.bottom) / 2), + (e = R.l - u.bulletPadding * R.w)); + } else t = L._numbersTop - r - n.bottom; + return o(e, t); + }); + }); + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../constants/alignment': 745, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/axis_defaults': 830, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/cartesian/position_defaults': 845, + './constants': 1119, + d3: 169, + }, + ], + 1123: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../mesh3d/attributes'), + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat, + l = t('../../plot_api/edit_types').overrideAll; + var c = (e.exports = l( + s( + { + x: { valType: 'data_array' }, + y: { valType: 'data_array' }, + z: { valType: 'data_array' }, + value: { valType: 'data_array' }, + isomin: { valType: 'number' }, + isomax: { valType: 'number' }, + surface: { + show: { valType: 'boolean', dflt: !0 }, + count: { valType: 'integer', dflt: 2, min: 1 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + pattern: { + valType: 'flaglist', + flags: ['A', 'B', 'C', 'D', 'E'], + extras: ['all', 'odd', 'even'], + dflt: 'all', + }, + }, + spaceframe: { + show: { valType: 'boolean', dflt: !1 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 0.15 }, + }, + slices: { + x: { + show: { valType: 'boolean', dflt: !1 }, + locations: { valType: 'data_array', dflt: [] }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + y: { + show: { valType: 'boolean', dflt: !1 }, + locations: { valType: 'data_array', dflt: [] }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + z: { + show: { valType: 'boolean', dflt: !1 }, + locations: { valType: 'data_array', dflt: [] }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + }, + caps: { + x: { + show: { valType: 'boolean', dflt: !0 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + y: { + show: { valType: 'boolean', dflt: !0 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + z: { + show: { valType: 'boolean', dflt: !0 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + }, + text: { valType: 'string', dflt: '', arrayOk: !0 }, + hovertext: { valType: 'string', dflt: '', arrayOk: !0 }, + hovertemplate: i(), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }, + n('', { + colorAttr: '`value`', + showScaleDflt: !0, + editTypeOverride: 'calc', + }), + { + opacity: a.opacity, + lightposition: a.lightposition, + lighting: a.lighting, + flatshading: a.flatshading, + contour: a.contour, + hoverinfo: s({}, o.hoverinfo), + } + ), + 'calc', + 'nested' + )); + (c.flatshading.dflt = !0), + (c.lighting.facenormalsepsilon.dflt = 0), + (c.x.editType = + c.y.editType = + c.z.editType = + c.value.editType = + 'calc+clearAxisTypes'), + (c.transforms = void 0); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../mesh3d/attributes': 1128, + }, + ], + 1124: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/calc'), + i = t('../streamtube/calc').processGrid, + a = t('../streamtube/calc').filter; + e.exports = function (t, e) { + (e._len = Math.min( + e.x.length, + e.y.length, + e.z.length, + e.value.length + )), + (e._x = a(e.x, e._len)), + (e._y = a(e.y, e._len)), + (e._z = a(e.z, e._len)), + (e._value = a(e.value, e._len)); + var r = i(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + for (var o = 1 / 0, s = -1 / 0, l = 0; l < e._len; l++) { + var c = e._value[l]; + (o = Math.min(o, c)), (s = Math.max(s, c)); + } + (e._minValues = o), + (e._maxValues = s), + (e._vMin = + void 0 === e.isomin || null === e.isomin ? o : e.isomin), + (e._vMax = + void 0 === e.isomax || null === e.isomin ? s : e.isomax), + n(t, e, { + vals: [e._vMin, e._vMax], + containerStr: '', + cLetter: 'c', + }); + }; + }, + { '../../components/colorscale/calc': 651, '../streamtube/calc': 1295 }, + ], + 1125: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-mesh3d'), + i = t('../../lib/gl_format_color').parseColorScale, + a = t('../../lib/str2rgbarray'), + o = t('../../components/colorscale').extractOpts, + s = t('../../plots/gl3d/zip3'), + l = function (t, e) { + for (var r = e.length - 1; r > 0; r--) { + var n = Math.min(e[r], e[r - 1]), + i = Math.max(e[r], e[r - 1]); + if (i > n && n < t && t <= i) + return { id: r, distRatio: (i - t) / (i - n) }; + } + return { id: 0, distRatio: 0 }; + }; + function c(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ''), + (this.data = null), + (this.showContour = !1); + } + var u = c.prototype; + (u.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + c = l(n, this.data._Ys).id, + u = l(i, this.data._Zs).id, + f = (t.index = u + o * c + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (u.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + function n(t, e, r, n) { + return e.map(function (e) { + return t.d2l(e, 0, n) * r; + }); + } + this.data = h(t); + var l = { + positions: s( + n(r.xaxis, t._meshX, e.dataScale[0], t.xcalendar), + n(r.yaxis, t._meshY, e.dataScale[1], t.ycalendar), + n(r.zaxis, t._meshZ, e.dataScale[2], t.zcalendar) + ), + cells: s(t._meshI, t._meshJ, t._meshK), + lightPosition: [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ], + ambient: t.lighting.ambient, + diffuse: t.lighting.diffuse, + specular: t.lighting.specular, + roughness: t.lighting.roughness, + fresnel: t.lighting.fresnel, + vertexNormalsEpsilon: t.lighting.vertexnormalsepsilon, + faceNormalsEpsilon: t.lighting.facenormalsepsilon, + opacity: t.opacity, + contourEnable: t.contour.show, + contourColor: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + c = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [c.min, c.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (u.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }); + var f = ['xyz', 'xzy', 'yxz', 'yzx', 'zxy', 'zyx']; + function h(t) { + (t._meshI = []), (t._meshJ = []), (t._meshK = []); + var e, + r, + n, + i, + a, + o, + s, + c = t.surface.show, + u = t.spaceframe.show, + h = t.surface.fill, + p = t.spaceframe.fill, + d = !1, + g = !1, + m = 0, + v = t._Xs, + y = t._Ys, + x = t._Zs, + b = v.length, + _ = y.length, + w = x.length, + T = f.indexOf(t._gridFill.replace(/-/g, '').replace(/\+/g, '')), + k = function (t, e, r) { + switch (T) { + case 5: + return r + w * e + w * _ * t; + case 4: + return r + w * t + w * b * e; + case 3: + return e + _ * r + _ * w * t; + case 2: + return e + _ * t + _ * b * r; + case 1: + return t + b * r + b * w * e; + default: + return t + b * e + b * _ * r; + } + }, + M = t._minValues, + A = t._maxValues, + S = t._vMin, + E = t._vMax; + function C(t, e, s) { + for (var l = o.length, c = r; c < l; c++) + if (t === n[c] && e === i[c] && s === a[c]) return c; + return -1; + } + function L() { + r = e; + } + function I() { + (n = []), (i = []), (a = []), (o = []), (e = 0), L(); + } + function P(t, r, s, l) { + return n.push(t), i.push(r), a.push(s), o.push(l), ++e - 1; + } + function z(t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = t[i] * (1 - r) + r * e[i]; + return n; + } + function O(t) { + s = t; + } + function D(t, e) { + return 'all' === t || null === t || t.indexOf(e) > -1; + } + function R(t, e) { + return null === t ? e : t; + } + function F(e, r, n) { + L(); + var i, + a, + o, + l = [r], + c = [n]; + if (s >= 1) (l = [r]), (c = [n]); + else if (s > 0) { + var u = (function (t, e) { + var r = t[0], + n = t[1], + i = t[2], + a = (function (t, e, r) { + for (var n = [], i = 0; i < t.length; i++) + n[i] = (t[i] + e[i] + r[i]) / 3; + return n; + })(r, n, i), + o = Math.sqrt(1 - s), + l = z(a, r, o), + c = z(a, n, o), + u = z(a, i, o), + f = e[0], + h = e[1], + p = e[2]; + return { + xyzv: [ + [r, n, c], + [c, l, r], + [n, i, u], + [u, c, n], + [i, r, l], + [l, u, i], + ], + abc: [ + [f, h, -1], + [-1, -1, f], + [h, p, -1], + [-1, -1, h], + [p, f, -1], + [-1, -1, p], + ], + }; + })(r, n); + (l = u.xyzv), (c = u.abc); + } + for (var f = 0; f < l.length; f++) { + (r = l[f]), (n = c[f]); + for (var h = [], p = 0; p < 3; p++) { + var d = r[p][0], + g = r[p][1], + v = r[p][2], + y = r[p][3], + x = n[p] > -1 ? n[p] : C(d, g, v); + h[p] = x > -1 ? x : P(d, g, v, R(e, y)); + } + (i = h[0]), + (a = h[1]), + (o = h[2]), + t._meshI.push(i), + t._meshJ.push(a), + t._meshK.push(o), + ++m; + } + } + function B(t, e, r, n) { + var i = t[3]; + i < r && (i = r), i > n && (i = n); + for ( + var a = (t[3] - i) / (t[3] - e[3] + 1e-9), o = [], s = 0; + s < 4; + s++ + ) + o[s] = (1 - a) * t[s] + a * e[s]; + return o; + } + function N(t, e, r) { + return t >= e && t <= r; + } + function j(t) { + var e = 0.001 * (E - S); + return t >= S - e && t <= E + e; + } + function U(e) { + for (var r = [], n = 0; n < 4; n++) { + var i = e[n]; + r.push([t._x[i], t._y[i], t._z[i], t._value[i]]); + } + return r; + } + function V(t, e, r, n, i, a) { + a || (a = 1), (r = [-1, -1, -1]); + var o = !1, + s = [N(e[0][3], n, i), N(e[1][3], n, i), N(e[2][3], n, i)]; + if (!s[0] && !s[1] && !s[2]) return !1; + var l = function (t, e, r) { + return j(e[0][3]) && j(e[1][3]) && j(e[2][3]) + ? (F(t, e, r), !0) + : a < 3 && V(t, e, r, S, E, ++a); + }; + if (s[0] && s[1] && s[2]) return l(t, e, r) || o; + var c = !1; + return ( + [ + [0, 1, 2], + [2, 0, 1], + [1, 2, 0], + ].forEach(function (a) { + if (s[a[0]] && s[a[1]] && !s[a[2]]) { + var u = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(h, u, n, i), + d = B(h, f, n, i); + (o = l(t, [d, p, u], [-1, -1, r[a[0]]]) || o), + (o = l(t, [u, f, d], [r[a[0]], r[a[1]], -1]) || o), + (c = !0); + } + }), + c || + [ + [0, 1, 2], + [1, 2, 0], + [2, 0, 1], + ].forEach(function (a) { + if (s[a[0]] && !s[a[1]] && !s[a[2]]) { + var u = e[a[0]], + f = e[a[1]], + h = e[a[2]], + p = B(f, u, n, i), + d = B(h, u, n, i); + (o = l(t, [d, p, u], [-1, -1, r[a[0]]]) || o), (c = !0); + } + }), + o + ); + } + function q(t, e, r, n) { + var i = !1, + a = U(e), + o = [ + N(a[0][3], r, n), + N(a[1][3], r, n), + N(a[2][3], r, n), + N(a[3][3], r, n), + ]; + if (!(o[0] || o[1] || o[2] || o[3])) return i; + if (o[0] && o[1] && o[2] && o[3]) + return ( + g && + (i = + (function (t, e, r) { + var n = function (n, i, a) { + F(t, [e[n], e[i], e[a]], [r[n], r[i], r[a]]); + }; + n(0, 1, 2), n(3, 0, 1), n(2, 3, 0), n(1, 2, 3); + })(t, a, e) || i), + i + ); + var s = !1; + return ( + [ + [0, 1, 2, 3], + [3, 0, 1, 2], + [2, 3, 0, 1], + [1, 2, 3, 0], + ].forEach(function (l) { + if (o[l[0]] && o[l[1]] && o[l[2]] && !o[l[3]]) { + var c = a[l[0]], + u = a[l[1]], + f = a[l[2]], + h = a[l[3]]; + if (g) + i = F(t, [c, u, f], [e[l[0]], e[l[1]], e[l[2]]]) || i; + else { + var p = B(h, c, r, n), + d = B(h, u, r, n), + m = B(h, f, r, n); + i = F(null, [p, d, m], [-1, -1, -1]) || i; + } + s = !0; + } + }), + s + ? i + : ([ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + [0, 2, 3, 1], + [1, 3, 2, 0], + ].forEach(function (l) { + if (o[l[0]] && o[l[1]] && !o[l[2]] && !o[l[3]]) { + var c = a[l[0]], + u = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(f, c, r, n), + d = B(f, u, r, n), + m = B(h, u, r, n), + v = B(h, c, r, n); + g + ? ((i = F(t, [c, v, p], [e[l[0]], -1, -1]) || i), + (i = F(t, [u, d, m], [e[l[1]], -1, -1]) || i)) + : (i = + (function (t, e, r) { + var n = function (n, i, a) { + F(t, [e[n], e[i], e[a]], [r[n], r[i], r[a]]); + }; + n(0, 1, 2), n(2, 3, 0); + })(null, [p, d, m, v], [-1, -1, -1, -1]) || i), + (s = !0); + } + }), + s || + [ + [0, 1, 2, 3], + [1, 2, 3, 0], + [2, 3, 0, 1], + [3, 0, 1, 2], + ].forEach(function (l) { + if (o[l[0]] && !o[l[1]] && !o[l[2]] && !o[l[3]]) { + var c = a[l[0]], + u = a[l[1]], + f = a[l[2]], + h = a[l[3]], + p = B(u, c, r, n), + d = B(f, c, r, n), + m = B(h, c, r, n); + g + ? ((i = F(t, [c, p, d], [e[l[0]], -1, -1]) || i), + (i = F(t, [c, d, m], [e[l[0]], -1, -1]) || i), + (i = F(t, [c, m, p], [e[l[0]], -1, -1]) || i)) + : (i = F(null, [p, d, m], [-1, -1, -1]) || i), + (s = !0); + } + }), + i) + ); + } + function H(t, e, r, n, i, a, o, s, l, c, u) { + var f = !1; + return ( + d && + (D(t, 'A') && (f = q(null, [e, r, n, a], c, u) || f), + D(t, 'B') && (f = q(null, [r, n, i, l], c, u) || f), + D(t, 'C') && (f = q(null, [r, a, o, l], c, u) || f), + D(t, 'D') && (f = q(null, [n, a, s, l], c, u) || f), + D(t, 'E') && (f = q(null, [r, n, a, l], c, u) || f)), + g && (f = q(t, [r, n, a, l], c, u) || f), + f + ); + } + function G(t, e, r, n, i, a, o, s) { + return [ + !0 === s[0] || V(t, U([e, r, n]), [e, r, n], a, o), + !0 === s[1] || V(t, U([n, i, e]), [n, i, e], a, o), + ]; + } + function Y(t, e, r, n, i, a, o, s, l) { + return s ? G(t, e, r, i, n, a, o, l) : G(t, r, i, n, e, a, o, l); + } + function W(t, e, r, n, i, a, o) { + var s, + l, + c, + u, + f = !1, + h = function () { + (f = V(t, [s, l, c], [-1, -1, -1], i, a) || f), + (f = V(t, [c, u, s], [-1, -1, -1], i, a) || f); + }, + p = o[0], + d = o[1], + g = o[2]; + return ( + p && + ((s = z( + U([k(e, r - 0, n - 0)])[0], + U([k(e - 1, r - 0, n - 0)])[0], + p + )), + (l = z( + U([k(e, r - 0, n - 1)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + p + )), + (c = z( + U([k(e, r - 1, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + p + )), + (u = z( + U([k(e, r - 1, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + p + )), + h()), + d && + ((s = z( + U([k(e - 0, r, n - 0)])[0], + U([k(e - 0, r - 1, n - 0)])[0], + d + )), + (l = z( + U([k(e - 0, r, n - 1)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + d + )), + (c = z( + U([k(e - 1, r, n - 1)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + d + )), + (u = z( + U([k(e - 1, r, n - 0)])[0], + U([k(e - 1, r - 1, n - 0)])[0], + d + )), + h()), + g && + ((s = z( + U([k(e - 0, r - 0, n)])[0], + U([k(e - 0, r - 0, n - 1)])[0], + g + )), + (l = z( + U([k(e - 0, r - 1, n)])[0], + U([k(e - 0, r - 1, n - 1)])[0], + g + )), + (c = z( + U([k(e - 1, r - 1, n)])[0], + U([k(e - 1, r - 1, n - 1)])[0], + g + )), + (u = z( + U([k(e - 1, r - 0, n)])[0], + U([k(e - 1, r - 0, n - 1)])[0], + g + )), + h()), + f + ); + } + function X(t, e, r, n, i, a, o, s, l, c, u, f) { + var h = t; + return f + ? (d && 'even' === t && (h = null), + H(h, e, r, n, i, a, o, s, l, c, u)) + : (d && 'odd' === t && (h = null), + H(h, l, s, o, a, i, n, r, e, c, u)); + } + function Z(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], c = 1; c < w; c++) + for (var u = 1; u < _; u++) + a.push( + Y( + t, + k(l, u - 1, c - 1), + k(l, u - 1, c), + k(l, u, c - 1), + k(l, u, c), + r, + n, + (l + u + c) % 2, + i && i[o] ? i[o] : [] + ) + ), + o++; + return a; + } + function J(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], c = 1; c < b; c++) + for (var u = 1; u < w; u++) + a.push( + Y( + t, + k(c - 1, l, u - 1), + k(c, l, u - 1), + k(c - 1, l, u), + k(c, l, u), + r, + n, + (c + l + u) % 2, + i && i[o] ? i[o] : [] + ) + ), + o++; + return a; + } + function K(t, e, r, n, i) { + for (var a = [], o = 0, s = 0; s < e.length; s++) + for (var l = e[s], c = 1; c < _; c++) + for (var u = 1; u < b; u++) + a.push( + Y( + t, + k(u - 1, c - 1, l), + k(u - 1, c, l), + k(u, c - 1, l), + k(u, c, l), + r, + n, + (u + c + l) % 2, + i && i[o] ? i[o] : [] + ) + ), + o++; + return a; + } + function Q(t, e, r) { + for (var n = 1; n < w; n++) + for (var i = 1; i < _; i++) + for (var a = 1; a < b; a++) + X( + t, + k(a - 1, i - 1, n - 1), + k(a - 1, i - 1, n), + k(a - 1, i, n - 1), + k(a - 1, i, n), + k(a, i - 1, n - 1), + k(a, i - 1, n), + k(a, i, n - 1), + k(a, i, n), + e, + r, + (a + i + n) % 2 + ); + } + function $(t, e, r) { + (d = !0), Q(t, e, r), (d = !1); + } + function tt(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var c = e[l], u = 1; u < w; u++) + for (var f = 1; f < _; f++) + o.push(W(t, c, f, u, r, n, i[l], a && a[s] && a[s])), s++; + return o; + } + function et(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var c = e[l], u = 1; u < b; u++) + for (var f = 1; f < w; f++) + o.push(W(t, u, c, f, r, n, i[l], a && a[s] && a[s])), s++; + return o; + } + function rt(t, e, r, n, i, a) { + for (var o = [], s = 0, l = 0; l < e.length; l++) + for (var c = e[l], u = 1; u < _; u++) + for (var f = 1; f < b; f++) + o.push(W(t, f, u, c, r, n, i[l], a && a[s] && a[s])), s++; + return o; + } + function nt(t, e) { + for (var r = [], n = t; n < e; n++) r.push(n); + return r; + } + return ( + (function () { + if ( + (I(), + (function () { + for (var e = 0; e < b; e++) + for (var r = 0; r < _; r++) + for (var n = 0; n < w; n++) { + var i = k(e, r, n); + P(t._x[i], t._y[i], t._z[i], t._value[i]); + } + })(), + u && p && (O(p), (g = !0), Q(null, S, E), (g = !1)), + c && h) + ) { + O(h); + for ( + var e = t.surface.pattern, r = t.surface.count, s = 0; + s < r; + s++ + ) { + var f = 1 === r ? 0.5 : s / (r - 1), + d = (1 - f) * S + f * E, + T = Math.abs(d - M) > Math.abs(d - A) ? [M, d] : [d, A]; + $(e, T[0], T[1]); + } + } + var C = [ + [Math.min(S, A), Math.max(S, A)], + [Math.min(M, E), Math.max(M, E)], + ]; + ['x', 'y', 'z'].forEach(function (e) { + for (var r = [], n = 0; n < C.length; n++) { + var i = 0, + a = C[n][0], + o = C[n][1], + s = t.slices[e]; + if (s.show && s.fill) { + O(s.fill); + var c = [], + u = [], + f = []; + if (s.locations.length) + for (var h = 0; h < s.locations.length; h++) { + var p = l( + s.locations[h], + 'x' === e ? v : 'y' === e ? y : x + ); + 0 === p.distRatio + ? c.push(p.id) + : p.id > 0 && + (u.push(p.id), + 'x' === e + ? f.push([p.distRatio, 0, 0]) + : 'y' === e + ? f.push([0, p.distRatio, 0]) + : f.push([0, 0, p.distRatio])); + } + else + c = nt( + 1, + 'x' === e ? b - 1 : 'y' === e ? _ - 1 : w - 1 + ); + u.length > 0 && + ((r[i] = + 'x' === e + ? tt(null, u, a, o, f, r[i]) + : 'y' === e + ? et(null, u, a, o, f, r[i]) + : rt(null, u, a, o, f, r[i])), + i++), + c.length > 0 && + ((r[i] = + 'x' === e + ? Z(null, c, a, o, r[i]) + : 'y' === e + ? J(null, c, a, o, r[i]) + : K(null, c, a, o, r[i])), + i++); + } + var d = t.caps[e]; + d.show && + d.fill && + (O(d.fill), + (r[i] = + 'x' === e + ? Z(null, [0, b - 1], a, o, r[i]) + : 'y' === e + ? J(null, [0, _ - 1], a, o, r[i]) + : K(null, [0, w - 1], a, o, r[i])), + i++); + } + }), + 0 === m && I(), + (t._meshX = n), + (t._meshY = i), + (t._meshZ = a), + (t._meshIntensity = o), + (t._Xs = v), + (t._Ys = y), + (t._Zs = x); + })(), + t + ); + } + e.exports = { + findNearestOnAxis: l, + generateIsoMeshes: h, + createIsosurfaceTrace: function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new c(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }, + }; + }, + { + '../../components/colorscale': 655, + '../../lib/gl_format_color': 774, + '../../lib/str2rgbarray': 802, + '../../plots/gl3d/zip3': 881, + 'gl-mesh3d': 309, + }, + ], + 1126: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = t('./attributes'), + o = t('../../components/colorscale/defaults'); + function s(t, e, r, n, a) { + var s = a('isomin'), + l = a('isomax'); + null != l && + null != s && + s > l && + ((e.isomin = null), (e.isomax = null)); + var c = a('x'), + u = a('y'), + f = a('z'), + h = a('value'); + c && c.length && u && u.length && f && f.length && h && h.length + ? (i.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y', 'z'], + n + ), + ['x', 'y', 'z'].forEach(function (t) { + var e = 'caps.' + t; + a(e + '.show') && a(e + '.fill'); + var r = 'slices.' + t; + a(r + '.show') && (a(r + '.fill'), a(r + '.locations')); + }), + a('spaceframe.show') && a('spaceframe.fill'), + a('surface.show') && + (a('surface.count'), a('surface.fill'), a('surface.pattern')), + a('contour.show') && (a('contour.color'), a('contour.width')), + [ + 'text', + 'hovertext', + 'hovertemplate', + 'lighting.ambient', + 'lighting.diffuse', + 'lighting.specular', + 'lighting.roughness', + 'lighting.fresnel', + 'lighting.vertexnormalsepsilon', + 'lighting.facenormalsepsilon', + 'lightposition.x', + 'lightposition.y', + 'lightposition.z', + 'flatshading', + 'opacity', + ].forEach(function (t) { + a(t); + }), + o(t, e, n, a, { prefix: '', cLetter: 'c' }), + (e._length = null)) + : (e.visible = !1); + } + e.exports = { + supplyDefaults: function (t, e, r, i) { + s(t, e, r, i, function (r, i) { + return n.coerce(t, e, a, r, i); + }); + }, + supplyIsoDefaults: s, + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../../registry': 911, + './attributes': 1123, + }, + ], + 1127: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + calc: t('./calc'), + colorbar: { min: 'cmin', max: 'cmax' }, + plot: t('./convert').createIsosurfaceTrace, + moduleType: 'trace', + name: 'isosurface', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + './attributes': 1123, + './calc': 1124, + './convert': 1125, + './defaults': 1126, + }, + ], + 1128: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../surface/attributes'), + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat; + e.exports = s( + { + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + z: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + i: { valType: 'data_array', editType: 'calc' }, + j: { valType: 'data_array', editType: 'calc' }, + k: { valType: 'data_array', editType: 'calc' }, + text: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + hovertext: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + hovertemplate: i({ editType: 'calc' }), + delaunayaxis: { + valType: 'enumerated', + values: ['x', 'y', 'z'], + dflt: 'z', + editType: 'calc', + }, + alphahull: { valType: 'number', dflt: -1, editType: 'calc' }, + intensity: { valType: 'data_array', editType: 'calc' }, + intensitymode: { + valType: 'enumerated', + values: ['vertex', 'cell'], + dflt: 'vertex', + editType: 'calc', + }, + color: { valType: 'color', editType: 'calc' }, + vertexcolor: { valType: 'data_array', editType: 'calc' }, + facecolor: { valType: 'data_array', editType: 'calc' }, + transforms: void 0, + }, + n('', { + colorAttr: '`intensity`', + showScaleDflt: !0, + editTypeOverride: 'calc', + }), + { + opacity: a.opacity, + flatshading: { valType: 'boolean', dflt: !1, editType: 'calc' }, + contour: { + show: s({}, a.contours.x.show, {}), + color: a.contours.x.color, + width: a.contours.x.width, + editType: 'calc', + }, + lightposition: { + x: s({}, a.lightposition.x, { dflt: 1e5 }), + y: s({}, a.lightposition.y, { dflt: 1e5 }), + z: s({}, a.lightposition.z, { dflt: 0 }), + editType: 'calc', + }, + lighting: s( + { + vertexnormalsepsilon: { + valType: 'number', + min: 0, + max: 1, + dflt: 1e-12, + editType: 'calc', + }, + facenormalsepsilon: { + valType: 'number', + min: 0, + max: 1, + dflt: 1e-6, + editType: 'calc', + }, + editType: 'calc', + }, + a.lighting + ), + hoverinfo: s({}, o.hoverinfo, { editType: 'calc' }), + showlegend: s({}, o.showlegend, { dflt: !1 }), + } + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../surface/attributes': 1311, + }, + ], + 1129: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/calc'); + e.exports = function (t, e) { + e.intensity && + n(t, e, { vals: e.intensity, containerStr: '', cLetter: 'c' }); + }; + }, + { '../../components/colorscale/calc': 651 }, + ], + 1130: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-mesh3d'), + i = t('delaunay-triangulate'), + a = t('alpha-shape'), + o = t('convex-hull'), + s = t('../../lib/gl_format_color').parseColorScale, + l = t('../../lib/str2rgbarray'), + c = t('../../components/colorscale').extractOpts, + u = t('../../plots/gl3d/zip3'); + function f(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ''), + (this.color = '#fff'), + (this.data = null), + (this.showContour = !1); + } + var h = f.prototype; + function p(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) e[n] = l(t[n]); + return e; + } + function d(t, e, r, n) { + for (var i = [], a = e.length, o = 0; o < a; o++) + i[o] = t.d2l(e[o], 0, n) * r; + return i; + } + function g(t) { + for (var e = [], r = t.length, n = 0; n < r; n++) + e[n] = Math.round(t[n]); + return e; + } + function m(t, e) { + for (var r = t.length, n = 0; n < r; n++) + if (t[n] <= -0.5 || t[n] >= e - 0.5) return !1; + return !0; + } + (h.handlePick = function (t) { + if (t.object === this.mesh) { + var e = (t.index = t.data.index); + t.data._cellCenter + ? (t.traceCoordinate = t.data.dataCoordinate) + : (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]); + var r = this.data.hovertext || this.data.text; + return ( + Array.isArray(r) && void 0 !== r[e] + ? (t.textLabel = r[e]) + : r && (t.textLabel = r), + !0 + ); + } + }), + (h.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + this.data = t; + var n, + f = t.x.length, + h = u( + d(r.xaxis, t.x, e.dataScale[0], t.xcalendar), + d(r.yaxis, t.y, e.dataScale[1], t.ycalendar), + d(r.zaxis, t.z, e.dataScale[2], t.zcalendar) + ); + if (t.i && t.j && t.k) { + if ( + t.i.length !== t.j.length || + t.j.length !== t.k.length || + !m(t.i, f) || + !m(t.j, f) || + !m(t.k, f) + ) + return; + n = u(g(t.i), g(t.j), g(t.k)); + } else + n = + 0 === t.alphahull + ? o(h) + : t.alphahull > 0 + ? a(t.alphahull, h) + : (function (t, e) { + for ( + var r = ['x', 'y', 'z'].indexOf(t), + n = [], + a = e.length, + o = 0; + o < a; + o++ + ) + n[o] = [e[o][(r + 1) % 3], e[o][(r + 2) % 3]]; + return i(n); + })(t.delaunayaxis, h); + var v = { + positions: h, + cells: n, + lightPosition: [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ], + ambient: t.lighting.ambient, + diffuse: t.lighting.diffuse, + specular: t.lighting.specular, + roughness: t.lighting.roughness, + fresnel: t.lighting.fresnel, + vertexNormalsEpsilon: t.lighting.vertexnormalsepsilon, + faceNormalsEpsilon: t.lighting.facenormalsepsilon, + opacity: t.opacity, + contourEnable: t.contour.show, + contourColor: l(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }; + if (t.intensity) { + var y = c(t); + this.color = '#fff'; + var x = t.intensitymode; + (v[x + 'Intensity'] = t.intensity), + (v[x + 'IntensityBounds'] = [y.min, y.max]), + (v.colormap = s(t)); + } else + t.vertexcolor + ? ((this.color = t.vertexcolor[0]), + (v.vertexColors = p(t.vertexcolor))) + : t.facecolor + ? ((this.color = t.facecolor[0]), + (v.cellColors = p(t.facecolor))) + : ((this.color = t.color), (v.meshColor = l(t.color))); + this.mesh.update(v); + }), + (h.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new f(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + { + '../../components/colorscale': 655, + '../../lib/gl_format_color': 774, + '../../lib/str2rgbarray': 802, + '../../plots/gl3d/zip3': 881, + 'alpha-shape': 69, + 'convex-hull': 135, + 'delaunay-triangulate': 171, + 'gl-mesh3d': 309, + }, + ], + 1131: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../components/colorscale/defaults'), + o = t('./attributes'); + e.exports = function (t, e, r, s) { + function l(r, n) { + return i.coerce(t, e, o, r, n); + } + function c(t) { + var e = t.map(function (t) { + var e = l(t); + return e && i.isArrayOrTypedArray(e) ? e : null; + }); + return ( + e.every(function (t) { + return t && t.length === e[0].length; + }) && e + ); + } + c(['x', 'y', 'z']) + ? (c(['i', 'j', 'k']), + (!e.i || (e.j && e.k)) && + (!e.j || (e.k && e.i)) && + (!e.k || (e.i && e.j)) + ? (n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y', 'z'], + s + ), + [ + 'lighting.ambient', + 'lighting.diffuse', + 'lighting.specular', + 'lighting.roughness', + 'lighting.fresnel', + 'lighting.vertexnormalsepsilon', + 'lighting.facenormalsepsilon', + 'lightposition.x', + 'lightposition.y', + 'lightposition.z', + 'flatshading', + 'alphahull', + 'delaunayaxis', + 'opacity', + ].forEach(function (t) { + l(t); + }), + l('contour.show') && + (l('contour.color'), l('contour.width')), + 'intensity' in t + ? (l('intensity'), + l('intensitymode'), + a(t, e, s, l, { prefix: '', cLetter: 'c' })) + : ((e.showscale = !1), + 'facecolor' in t + ? l('facecolor') + : 'vertexcolor' in t + ? l('vertexcolor') + : l('color', r)), + l('text'), + l('hovertext'), + l('hovertemplate'), + (e._length = null)) + : (e.visible = !1)) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../../registry': 911, + './attributes': 1128, + }, + ], + 1132: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + colorbar: { min: 'cmin', max: 'cmax' }, + plot: t('./convert'), + moduleType: 'trace', + name: 'mesh3d', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + './attributes': 1128, + './calc': 1129, + './convert': 1130, + './defaults': 1131, + }, + ], + 1133: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').extendFlat, + i = t('../scatter/attributes'), + a = t('../../components/drawing/attributes').dash, + o = t('../../components/fx/attributes'), + s = t('../../constants/delta.js'), + l = s.INCREASING.COLOR, + c = s.DECREASING.COLOR, + u = i.line; + function f(t) { + return { + line: { + color: n({}, u.color, { dflt: t }), + width: u.width, + dash: a, + editType: 'style', + }, + editType: 'style', + }; + } + e.exports = { + xperiod: i.xperiod, + xperiod0: i.xperiod0, + xperiodalignment: i.xperiodalignment, + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + open: { valType: 'data_array', editType: 'calc' }, + high: { valType: 'data_array', editType: 'calc' }, + low: { valType: 'data_array', editType: 'calc' }, + close: { valType: 'data_array', editType: 'calc' }, + line: { + width: n({}, u.width, {}), + dash: n({}, a, {}), + editType: 'style', + }, + increasing: f(l), + decreasing: f(c), + text: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + hovertext: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + tickwidth: { + valType: 'number', + min: 0, + max: 0.5, + dflt: 0.3, + editType: 'calc', + }, + hoverlabel: n({}, o.hoverlabel, { + split: { valType: 'boolean', dflt: !1, editType: 'style' }, + }), + }; + }, + { + '../../components/drawing/attributes': 664, + '../../components/fx/attributes': 674, + '../../constants/delta.js': 747, + '../../lib': 778, + '../scatter/attributes': 1187, + }, + ], + 1134: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = n._, + a = t('../../plots/cartesian/axes'), + o = t('../../plots/cartesian/align_period'), + s = t('../../constants/numerical').BADNUM; + function l(t, e, r, n) { + return { o: t, h: e, l: r, c: n }; + } + function c(t, e, r, o, l, c) { + for ( + var u = l.makeCalcdata(e, 'open'), + f = l.makeCalcdata(e, 'high'), + h = l.makeCalcdata(e, 'low'), + p = l.makeCalcdata(e, 'close'), + d = Array.isArray(e.text), + g = Array.isArray(e.hovertext), + m = !0, + v = null, + y = !!e.xperiodalignment, + x = [], + b = 0; + b < o.length; + b++ + ) { + var _ = o[b], + w = u[b], + T = f[b], + k = h[b], + M = p[b]; + if (_ !== s && w !== s && T !== s && k !== s && M !== s) { + M === w ? null !== v && M !== v && (m = M > v) : (m = M > w), + (v = M); + var A = c(w, T, k, M); + (A.pos = _), + (A.yc = (w + M) / 2), + (A.i = b), + (A.dir = m ? 'increasing' : 'decreasing'), + (A.x = A.pos), + (A.y = [k, T]), + y && (A.orig_p = r[b]), + d && (A.tx = e.text[b]), + g && (A.htx = e.hovertext[b]), + x.push(A); + } else x.push({ pos: _, empty: !0 }); + } + return ( + (e._extremes[l._id] = a.findExtremes(l, n.concat(h, f), { + padded: !0, + })), + x.length && + (x[0].t = { + labels: { + open: i(t, 'open:') + ' ', + high: i(t, 'high:') + ' ', + low: i(t, 'low:') + ' ', + close: i(t, 'close:') + ' ', + }, + }), + x + ); + } + e.exports = { + calc: function (t, e) { + var r = a.getFromId(t, e.xaxis), + i = a.getFromId(t, e.yaxis), + s = (function (t, e, r) { + var i = r._minDiff; + if (!i) { + var a, + s = t._fullData, + l = []; + for (i = 1 / 0, a = 0; a < s.length; a++) { + var c = s[a]; + if ( + 'ohlc' === c.type && + !0 === c.visible && + c.xaxis === e._id + ) { + l.push(c); + var u = e.makeCalcdata(c, 'x'); + c._origX = u; + var f = o(r, e, 'x', u); + c._xcalc = f; + var h = n.distinctVals(f).minDiff; + h && isFinite(h) && (i = Math.min(i, h)); + } + } + for (i === 1 / 0 && (i = 1), a = 0; a < l.length; a++) + l[a]._minDiff = i; + } + return i * r.tickwidth; + })(t, r, e), + u = e._minDiff; + e._minDiff = null; + var f = e._origX; + e._origX = null; + var h = e._xcalc; + e._xcalc = null; + var p = c(t, e, f, h, i, l); + return ( + (e._extremes[r._id] = a.findExtremes(r, h, { vpad: u / 2 })), + p.length + ? (n.extendFlat(p[0].t, { wHover: u / 2, tickLen: s }), p) + : [{ t: { empty: !0 } }] + ); + }, + calcCommon: c, + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + }, + ], + 1135: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./ohlc_defaults'), + a = t('../scatter/period_defaults'), + o = t('./attributes'); + function s(t, e, r, n) { + r(n + '.line.color'), + r(n + '.line.width', e.line.width), + r(n + '.line.dash', e.line.dash); + } + e.exports = function (t, e, r, l) { + function c(r, i) { + return n.coerce(t, e, o, r, i); + } + i(t, e, c, l) + ? (a(t, e, l, c, { x: !0 }), + c('line.width'), + c('line.dash'), + s(t, e, c, 'increasing'), + s(t, e, c, 'decreasing'), + c('text'), + c('hovertext'), + c('tickwidth'), + (l._requestRangeslider[e.xaxis] = !0)) + : (e.visible = !1); + }; + }, + { + '../../lib': 778, + '../scatter/period_defaults': 1207, + './attributes': 1133, + './ohlc_defaults': 1138, + }, + ], + 1136: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../lib'), + a = t('../../components/fx'), + o = t('../../components/color'), + s = t('../../lib').fillText, + l = t('../../constants/delta.js'), + c = { + increasing: l.INCREASING.SYMBOL, + decreasing: l.DECREASING.SYMBOL, + }; + function u(t, e, r, n) { + var i, + s, + l = t.cd, + c = t.xa, + u = l[0].trace, + f = l[0].t, + h = u.type, + p = 'ohlc' === h ? 'l' : 'min', + d = 'ohlc' === h ? 'h' : 'max', + g = f.bPos || 0, + m = f.bdPos || f.tickLen, + v = f.wHover, + y = Math.min( + 1, + m / Math.abs(c.r2c(c.range[1]) - c.r2c(c.range[0])) + ); + function x(t) { + var r = (function (t) { + return t.pos + g - e; + })(t); + return a.inbox(r - v, r + v, i); + } + function b(t) { + var e = t[p], + n = t[d]; + return e === n || a.inbox(e - r, n - r, i); + } + function _(t) { + return (x(t) + b(t)) / 2; + } + (i = t.maxHoverDistance - y), (s = t.maxSpikeDistance - y); + var w = a.getDistanceFunction(n, x, b, _); + if ((a.getClosest(l, w, t), !1 === t.index)) return null; + var T = l[t.index]; + if (T.empty) return null; + var k = u[T.dir], + M = k.line.color; + return ( + o.opacity(M) && k.line.width + ? (t.color = M) + : (t.color = k.fillcolor), + (t.x0 = c.c2p(T.pos + g - m, !0)), + (t.x1 = c.c2p(T.pos + g + m, !0)), + (t.xLabelVal = void 0 !== T.orig_p ? T.orig_p : T.pos), + (t.spikeDistance = (_(T) * s) / i), + (t.xSpike = c.c2p(T.pos, !0)), + t + ); + } + function f(t, e, r, a) { + var o = t.cd, + s = t.ya, + l = o[0].trace, + c = o[0].t, + f = [], + h = u(t, e, r, a); + if (!h) return []; + var p = o[h.index].hi || l.hoverinfo, + d = p.split('+'); + if (!('all' === p || -1 !== d.indexOf('y'))) return []; + for ( + var g = ['high', 'open', 'close', 'low'], m = {}, v = 0; + v < g.length; + v++ + ) { + var y, + x = g[v], + b = l[x][h.index], + _ = s.c2p(b, !0); + b in m + ? ((y = m[b]).yLabel += + '
' + c.labels[x] + n.hoverLabelText(s, b)) + : (((y = i.extendFlat({}, h)).y0 = y.y1 = _), + (y.yLabelVal = b), + (y.yLabel = c.labels[x] + n.hoverLabelText(s, b)), + (y.name = ''), + f.push(y), + (m[b] = y)); + } + return f; + } + function h(t, e, r, i) { + var a = t.cd, + o = t.ya, + l = a[0].trace, + f = a[0].t, + h = u(t, e, r, i); + if (!h) return []; + var p = a[h.index], + d = (h.index = p.i), + g = p.dir; + function m(t) { + return f.labels[t] + n.hoverLabelText(o, l[t][d]); + } + var v = p.hi || l.hoverinfo, + y = v.split('+'), + x = 'all' === v, + b = x || -1 !== y.indexOf('y'), + _ = x || -1 !== y.indexOf('text'), + w = b + ? [m('open'), m('high'), m('low'), m('close') + ' ' + c[g]] + : []; + return ( + _ && s(p, l, w), + (h.extraText = w.join('
')), + (h.y0 = h.y1 = o.c2p(p.yc, !0)), + [h] + ); + } + e.exports = { + hoverPoints: function (t, e, r, n) { + return t.cd[0].trace.hoverlabel.split + ? f(t, e, r, n) + : h(t, e, r, n); + }, + hoverSplit: f, + hoverOnPoints: h, + }; + }, + { + '../../components/color': 643, + '../../components/fx': 683, + '../../constants/delta.js': 747, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + }, + ], + 1137: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'ohlc', + basePlotModule: t('../../plots/cartesian'), + categories: ['cartesian', 'svg', 'showLegend'], + meta: {}, + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc').calc, + plot: t('./plot'), + style: t('./style'), + hoverPoints: t('./hover').hoverPoints, + selectPoints: t('./select'), + }; + }, + { + '../../plots/cartesian': 841, + './attributes': 1133, + './calc': 1134, + './defaults': 1135, + './hover': 1136, + './plot': 1139, + './select': 1140, + './style': 1141, + }, + ], + 1138: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'); + e.exports = function (t, e, r, a) { + var o = r('x'), + s = r('open'), + l = r('high'), + c = r('low'), + u = r('close'); + if ( + (r('hoverlabel.split'), + n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x'], + a + ), + s && l && c && u) + ) { + var f = Math.min(s.length, l.length, c.length, u.length); + return ( + o && (f = Math.min(f, i.minRowLength(o))), (e._length = f), f + ); + } + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 1139: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'); + e.exports = function (t, e, r, a) { + var o = e.yaxis, + s = e.xaxis, + l = !!s.rangebreaks; + i.makeTraceGroups(a, r, 'trace ohlc').each(function (t) { + var e = n.select(this), + r = t[0], + a = r.t; + if (!0 !== r.trace.visible || a.empty) e.remove(); + else { + var c = a.tickLen, + u = e.selectAll('path').data(i.identity); + u.enter().append('path'), + u.exit().remove(), + u.attr('d', function (t) { + if (t.empty) return 'M0,0Z'; + var e = s.c2p(t.pos - c, !0), + r = s.c2p(t.pos + c, !0), + n = l ? (e + r) / 2 : s.c2p(t.pos, !0); + return ( + 'M' + + e + + ',' + + o.c2p(t.o, !0) + + 'H' + + n + + 'M' + + n + + ',' + + o.c2p(t.h, !0) + + 'V' + + o.c2p(t.l, !0) + + 'M' + + r + + ',' + + o.c2p(t.c, !0) + + 'H' + + n + ); + }); + } + }); + }; + }, + { '../../lib': 778, d3: 169 }, + ], + 1140: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r, + n = t.cd, + i = t.xaxis, + a = t.yaxis, + o = [], + s = n[0].t.bPos || 0; + if (!1 === e) for (r = 0; r < n.length; r++) n[r].selected = 0; + else + for (r = 0; r < n.length; r++) { + var l = n[r]; + e.contains([i.c2p(l.pos + s), a.c2p(l.yc)], null, l.i, t) + ? (o.push({ + pointNumber: l.i, + x: i.c2d(l.pos), + y: a.c2d(l.yc), + }), + (l.selected = 1)) + : (l.selected = 0); + } + return o; + }; + }, + {}, + ], + 1141: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../components/color'); + e.exports = function (t, e, r) { + var o = + r || n.select(t).selectAll('g.ohlclayer').selectAll('g.trace'); + o.style('opacity', function (t) { + return t[0].trace.opacity; + }), + o.each(function (t) { + var e = t[0].trace; + n.select(this) + .selectAll('path') + .each(function (t) { + if (!t.empty) { + var r = e[t.dir].line; + n.select(this) + .style('fill', 'none') + .call(a.stroke, r.color) + .call(i.dashLine, r.dash, r.width) + .style( + 'opacity', + e.selectedpoints && !t.selected ? 0.3 : 1 + ); + } + }); + }); + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + d3: 169, + }, + ], + 1142: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/extend').extendFlat, + i = t('../../plots/attributes'), + a = t('../../plots/font_attributes'), + o = t('../../components/colorscale/attributes'), + s = t('../../plots/template_attributes').hovertemplateAttrs, + l = t('../../plots/domain').attributes, + c = n( + { editType: 'calc' }, + o('line', { editTypeOverride: 'calc' }), + { + shape: { + valType: 'enumerated', + values: ['linear', 'hspline'], + dflt: 'linear', + editType: 'plot', + }, + hovertemplate: s( + { editType: 'plot', arrayOk: !1 }, + { keys: ['count', 'probability'] } + ), + } + ); + e.exports = { + domain: l({ name: 'parcats', trace: !0, editType: 'calc' }), + hoverinfo: n({}, i.hoverinfo, { + flags: ['count', 'probability'], + editType: 'plot', + arrayOk: !1, + }), + hoveron: { + valType: 'enumerated', + values: ['category', 'color', 'dimension'], + dflt: 'category', + editType: 'plot', + }, + hovertemplate: s( + { editType: 'plot', arrayOk: !1 }, + { + keys: [ + 'count', + 'probability', + 'category', + 'categorycount', + 'colorcount', + 'bandcolorcount', + ], + } + ), + arrangement: { + valType: 'enumerated', + values: ['perpendicular', 'freeform', 'fixed'], + dflt: 'perpendicular', + editType: 'plot', + }, + bundlecolors: { valType: 'boolean', dflt: !0, editType: 'plot' }, + sortpaths: { + valType: 'enumerated', + values: ['forward', 'backward'], + dflt: 'forward', + editType: 'plot', + }, + labelfont: a({ editType: 'calc' }), + tickfont: a({ editType: 'calc' }), + dimensions: { + _isLinkedToArray: 'dimension', + label: { valType: 'string', editType: 'calc' }, + categoryorder: { + valType: 'enumerated', + values: [ + 'trace', + 'category ascending', + 'category descending', + 'array', + ], + dflt: 'trace', + editType: 'calc', + }, + categoryarray: { valType: 'data_array', editType: 'calc' }, + ticktext: { valType: 'data_array', editType: 'calc' }, + values: { valType: 'data_array', dflt: [], editType: 'calc' }, + displayindex: { valType: 'integer', editType: 'calc' }, + editType: 'calc', + visible: { valType: 'boolean', dflt: !0, editType: 'calc' }, + }, + line: c, + counts: { + valType: 'number', + min: 0, + dflt: 1, + arrayOk: !0, + editType: 'calc', + }, + customdata: void 0, + hoverlabel: void 0, + ids: void 0, + legendgroup: void 0, + opacity: void 0, + selectedpoints: void 0, + showlegend: void 0, + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + '../../plots/template_attributes': 906, + }, + ], + 1143: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/get_data').getModuleCalcData, + i = t('./plot'); + (r.name = 'parcats'), + (r.plot = function (t, e, r, a) { + var o = n(t.calcdata, 'parcats'); + if (o.length) { + var s = o[0]; + i(t, s, r, a); + } + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has('parcats'), + a = e._has && e._has('parcats'); + i && !a && n._paperdiv.selectAll('.parcats').remove(); + }); + }, + { '../../plots/get_data': 865, './plot': 1148 }, + ], + 1144: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/gup').wrap, + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/calc'), + o = t('../../lib/filter_unique.js'), + s = t('../../components/drawing'), + l = t('../../lib'), + c = t('fast-isnumeric'); + function u(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + function f(t, e, r) { + return { + categoryInds: t, + color: e, + rawColor: r, + valueInds: [], + count: 0, + }; + } + function h(t, e, r) { + t.valueInds.push(e), (t.count += r); + } + e.exports = function (t, e) { + var r = l.filterVisible(e.dimensions); + if (0 === r.length) return []; + var p, + d, + g, + m = r.map(function (t) { + var e; + if ('trace' === t.categoryorder) e = null; + else if ('array' === t.categoryorder) e = t.categoryarray; + else { + e = o(t.values); + for (var r = !0, n = 0; n < e.length; n++) + if (!c(e[n])) { + r = !1; + break; + } + e.sort(r ? l.sorterAsc : void 0), + 'category descending' === t.categoryorder && + (e = e.reverse()); + } + return (function (t, e) { + e = + null == e + ? [] + : e.map(function (t) { + return t; + }); + var r = {}, + n = {}, + i = []; + e.forEach(function (t, e) { + (r[t] = 0), (n[t] = e); + }); + for (var a = 0; a < t.length; a++) { + var o, + s = t[a]; + void 0 === r[s] + ? ((r[s] = 1), (o = e.push(s) - 1), (n[s] = o)) + : (r[s]++, (o = n[s])), + i.push(o); + } + var l = e.map(function (t) { + return r[t]; + }); + return { uniqueValues: e, uniqueCounts: l, inds: i }; + })(t.values, e); + }); + (p = l.isArrayOrTypedArray(e.counts) ? e.counts : [e.counts]), + (function (t) { + var e; + if ( + (function (t) { + for ( + var e = new Array(t.length), r = 0; + r < t.length; + r++ + ) { + if (t[r] < 0 || t[r] >= t.length) return !1; + if (void 0 !== e[t[r]]) return !1; + e[t[r]] = !0; + } + return !0; + })( + t.map(function (t) { + return t.displayindex; + }) + ) + ) + for (e = 0; e < t.length; e++) + t[e]._displayindex = t[e].displayindex; + else for (e = 0; e < t.length; e++) t[e]._displayindex = e; + })(r), + r.forEach(function (t, e) { + !(function (t, e) { + (t._categoryarray = e.uniqueValues), + null === t.ticktext || void 0 === t.ticktext + ? (t._ticktext = []) + : (t._ticktext = t.ticktext.slice()); + for ( + var r = t._ticktext.length; + r < e.uniqueValues.length; + r++ + ) + t._ticktext.push(e.uniqueValues[r]); + })(t, m[e]); + }); + var v, + y = e.line; + y + ? (i(e, 'line') && + a(t, e, { + vals: e.line.color, + containerStr: 'line', + cLetter: 'c', + }), + (v = s.tryColorscale(y))) + : (v = l.identity); + var x, + b, + _, + w, + T, + k = r[0].values.length, + M = {}, + A = m.map(function (t) { + return t.inds; + }); + for (g = 0, x = 0; x < k; x++) { + var S = []; + for (b = 0; b < A.length; b++) S.push(A[b][x]); + (d = p[x % p.length]), (g += d); + var E = + ((_ = x), + (w = void 0), + (T = void 0), + l.isArrayOrTypedArray(y.color) + ? (T = w = y.color[_ % y.color.length]) + : (w = y.color), + { color: v(w), rawColor: T }), + C = S + '-' + E.rawColor; + void 0 === M[C] && (M[C] = f(S, E.color, E.rawColor)), + h(M[C], x, d); + } + var L, + I = r.map(function (t, e) { + return (function (t, e, r, n, i) { + return { + dimensionInd: t, + containerInd: e, + displayInd: r, + dimensionLabel: n, + count: i, + categories: [], + dragX: null, + }; + })(e, t._index, t._displayindex, t.label, g); + }); + for (x = 0; x < k; x++) + for (d = p[x % p.length], b = 0; b < I.length; b++) { + var P = I[b].containerInd, + z = m[b].inds[x], + O = I[b].categories; + if (void 0 === O[z]) { + var D = e.dimensions[P]._categoryarray[z], + R = e.dimensions[P]._ticktext[z]; + O[z] = { + dimensionInd: b, + categoryInd: (L = z), + categoryValue: D, + displayInd: L, + categoryLabel: R, + valueInds: [], + count: 0, + dragY: null, + }; + } + u(O[z], x, d); + } + return n( + (function (t, e, r) { + var n = t + .map(function (t) { + return t.categories.length; + }) + .reduce(function (t, e) { + return Math.max(t, e); + }); + return { + dimensions: t, + paths: e, + trace: void 0, + maxCats: n, + count: r, + }; + })(I, M, g) + ); + }; + }, + { + '../../components/colorscale/calc': 651, + '../../components/colorscale/helpers': 654, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/filter_unique.js': 769, + '../../lib/gup': 775, + 'fast-isnumeric': 241, + }, + ], + 1145: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/defaults'), + o = t('../../plots/domain').defaults, + s = t('../../plots/array_container_defaults'), + l = t('./attributes'), + c = t('../parcoords/merge_length'); + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, l.dimensions, r, i); + } + var i = r('values'), + a = r('visible'); + if (((i && i.length) || (a = e.visible = !1), a)) { + r('label'), r('displayindex', e._index); + var o, + s = t.categoryarray, + c = Array.isArray(s) && s.length > 0; + c && (o = 'array'); + var u = r('categoryorder', o); + 'array' === u + ? (r('categoryarray'), r('ticktext')) + : (delete t.categoryarray, delete t.ticktext), + c || 'array' !== u || (e.categoryorder = 'trace'); + } + } + e.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, l, r, i); + } + var p = s(t, e, { name: 'dimensions', handleItemDefaults: u }), + d = (function (t, e, r, o, s) { + s('line.shape'), s('line.hovertemplate'); + var l = s('line.color', o.colorway[0]); + if (i(t, 'line') && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s('line.colorscale'), + a(t, e, o, s, { prefix: 'line.', cLetter: 'c' }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, f, h); + o(e, f, h), + (Array.isArray(p) && p.length) || (e.visible = !1), + c(e, p, 'values', d), + h('hoveron'), + h('hovertemplate'), + h('arrangement'), + h('bundlecolors'), + h('sortpaths'), + h('counts'); + var g = { + family: f.font.family, + size: Math.round(f.font.size), + color: f.font.color, + }; + n.coerceFont(h, 'labelfont', g); + var m = { + family: f.font.family, + size: Math.round(f.font.size / 1.2), + color: f.font.color, + }; + n.coerceFont(h, 'tickfont', m); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../components/colorscale/helpers': 654, + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/domain': 855, + '../parcoords/merge_length': 1158, + './attributes': 1142, + }, + ], + 1146: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + colorbar: { container: 'line', min: 'cmin', max: 'cmax' }, + moduleType: 'trace', + name: 'parcats', + basePlotModule: t('./base_plot'), + categories: ['noOpacity'], + meta: {}, + }; + }, + { + './attributes': 1142, + './base_plot': 1143, + './calc': 1144, + './defaults': 1145, + './plot': 1148, + }, + ], + 1147: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../plot_api/plot_api'), + a = t('../../components/fx'), + o = t('../../lib'), + s = o.strTranslate, + l = t('../../components/drawing'), + c = t('tinycolor2'), + u = t('../../lib/svg_text_utils'); + function f(t, e, r, i) { + var a = t.map(R.bind(0, e, r)), + c = i.selectAll('g.parcatslayer').data([null]); + c.enter() + .append('g') + .attr('class', 'parcatslayer') + .style('pointer-events', 'all'); + var f = c.selectAll('g.trace.parcats').data(a, h), + v = f.enter().append('g').attr('class', 'trace parcats'); + f.attr('transform', function (t) { + return s(t.x, t.y); + }), + v.append('g').attr('class', 'paths'); + var y = f + .select('g.paths') + .selectAll('path.path') + .data(function (t) { + return t.paths; + }, h); + y.attr('fill', function (t) { + return t.model.color; + }); + var _ = y + .enter() + .append('path') + .attr('class', 'path') + .attr('stroke-opacity', 0) + .attr('fill', function (t) { + return t.model.color; + }) + .attr('fill-opacity', 0); + b(_), + y.attr('d', function (t) { + return t.svgD; + }), + _.empty() || y.sort(d), + y.exit().remove(), + y.on('mouseover', g).on('mouseout', m).on('click', x), + v.append('g').attr('class', 'dimensions'); + var k = f + .select('g.dimensions') + .selectAll('g.dimension') + .data(function (t) { + return t.dimensions; + }, h); + k.enter().append('g').attr('class', 'dimension'), + k.attr('transform', function (t) { + return s(t.x, 0); + }), + k.exit().remove(); + var M = k.selectAll('g.category').data(function (t) { + return t.categories; + }, h), + A = M.enter().append('g').attr('class', 'category'); + M.attr('transform', function (t) { + return s(0, t.y); + }), + A.append('rect') + .attr('class', 'catrect') + .attr('pointer-events', 'none'), + M.select('rect.catrect') + .attr('fill', 'none') + .attr('width', function (t) { + return t.width; + }) + .attr('height', function (t) { + return t.height; + }), + w(A); + var S = M.selectAll('rect.bandrect').data(function (t) { + return t.bands; + }, h); + S.each(function () { + o.raiseToTop(this); + }), + S.attr('fill', function (t) { + return t.color; + }); + var z = S.enter() + .append('rect') + .attr('class', 'bandrect') + .attr('stroke-opacity', 0) + .attr('fill', function (t) { + return t.color; + }) + .attr('fill-opacity', 0); + S.attr('fill', function (t) { + return t.color; + }) + .attr('width', function (t) { + return t.width; + }) + .attr('height', function (t) { + return t.height; + }) + .attr('y', function (t) { + return t.y; + }) + .attr('cursor', function (t) { + return 'fixed' === t.parcatsViewModel.arrangement + ? 'default' + : 'perpendicular' === t.parcatsViewModel.arrangement + ? 'ns-resize' + : 'move'; + }), + T(z), + S.exit().remove(), + A.append('text') + .attr('class', 'catlabel') + .attr('pointer-events', 'none'); + var O = e._fullLayout.paper_bgcolor; + M.select('text.catlabel') + .attr('text-anchor', function (t) { + return p(t) ? 'start' : 'end'; + }) + .attr('alignment-baseline', 'middle') + .style( + 'text-shadow', + O + + ' -1px 1px 2px, ' + + O + + ' 1px 1px 2px, ' + + O + + ' 1px -1px 2px, ' + + O + + ' -1px -1px 2px' + ) + .style('fill', 'rgb(0, 0, 0)') + .attr('x', function (t) { + return p(t) ? t.width + 5 : -5; + }) + .attr('y', function (t) { + return t.height / 2; + }) + .text(function (t) { + return t.model.categoryLabel; + }) + .each(function (t) { + l.font(n.select(this), t.parcatsViewModel.categorylabelfont), + u.convertToTspans(n.select(this), e); + }), + A.append('text').attr('class', 'dimlabel'), + M.select('text.dimlabel') + .attr('text-anchor', 'middle') + .attr('alignment-baseline', 'baseline') + .attr('cursor', function (t) { + return 'fixed' === t.parcatsViewModel.arrangement + ? 'default' + : 'ew-resize'; + }) + .attr('x', function (t) { + return t.width / 2; + }) + .attr('y', -5) + .text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[t.model.dimensionInd] + .dimensionLabel + : null; + }) + .each(function (t) { + l.font(n.select(this), t.parcatsViewModel.labelfont); + }), + M.selectAll('rect.bandrect').on('mouseover', E).on('mouseout', C), + M.exit().remove(), + k.call( + n.behavior + .drag() + .origin(function (t) { + return { x: t.x, y: 0 }; + }) + .on('dragstart', L) + .on('drag', I) + .on('dragend', P) + ), + f.each(function (t) { + (t.traceSelection = n.select(this)), + (t.pathSelection = n + .select(this) + .selectAll('g.paths') + .selectAll('path.path')), + (t.dimensionSelection = n + .select(this) + .selectAll('g.dimensions') + .selectAll('g.dimension')); + }), + f.exit().remove(); + } + function h(t) { + return t.key; + } + function p(t) { + var e = t.parcatsViewModel.dimensions.length, + r = t.parcatsViewModel.dimensions[e - 1].model.dimensionInd; + return t.model.dimensionInd === r; + } + function d(t, e) { + return t.model.rawColor > e.model.rawColor + ? 1 + : t.model.rawColor < e.model.rawColor + ? -1 + : 0; + } + function g(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === t.parcatsViewModel.hoverinfoItems.indexOf('skip') + ) { + o.raiseToTop(this), _(n.select(this)); + var e = v(t), + r = y(t); + if ( + (t.parcatsViewModel.graphDiv.emit('plotly_hover', { + points: e, + event: n.event, + constraints: r, + }), + -1 === t.parcatsViewModel.hoverinfoItems.indexOf('none')) + ) { + var i, + s, + l, + u = n.mouse(this)[0], + f = t.parcatsViewModel.graphDiv, + h = t.parcatsViewModel.trace, + p = f._fullLayout, + d = p._paperdiv.node().getBoundingClientRect(), + g = t.parcatsViewModel.graphDiv.getBoundingClientRect(); + for (l = 0; l < t.leftXs.length - 1; l++) + if ( + t.leftXs[l] + t.dimWidths[l] - 2 <= u && + u <= t.leftXs[l + 1] + 2 + ) { + var m = t.parcatsViewModel.dimensions[l], + x = t.parcatsViewModel.dimensions[l + 1]; + (i = (m.x + m.width + x.x) / 2), + (s = (t.topYs[l] + t.topYs[l + 1] + t.height) / 2); + break; + } + var b = t.parcatsViewModel.x + i, + w = t.parcatsViewModel.y + s, + T = c.mostReadable(t.model.color, ['black', 'white']), + k = t.model.count, + M = k / t.parcatsViewModel.model.count, + A = { countLabel: k, probabilityLabel: M.toFixed(3) }, + S = []; + -1 !== t.parcatsViewModel.hoverinfoItems.indexOf('count') && + S.push(['Count:', A.countLabel].join(' ')), + -1 !== + t.parcatsViewModel.hoverinfoItems.indexOf('probability') && + S.push(['P:', A.probabilityLabel].join(' ')); + var E = S.join('
'), + C = n.mouse(f)[0]; + a.loneHover( + { + trace: h, + x: b - d.left + g.left, + y: w - d.top + g.top, + text: E, + color: t.model.color, + borderColor: 'black', + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 10, + fontColor: T, + idealAlign: C < b ? 'right' : 'left', + hovertemplate: (h.line || {}).hovertemplate, + hovertemplateLabels: A, + eventData: [ + { data: h._input, fullData: h, count: k, probability: M }, + ], + }, + { + container: p._hoverlayer.node(), + outerContainer: p._paper.node(), + gd: f, + } + ); + } + } + } + function m(t) { + if ( + !t.parcatsViewModel.dragDimension && + (b(n.select(this)), + a.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node() + ), + t.parcatsViewModel.pathSelection.sort(d), + -1 === t.parcatsViewModel.hoverinfoItems.indexOf('skip')) + ) { + var e = v(t), + r = y(t); + t.parcatsViewModel.graphDiv.emit('plotly_unhover', { + points: e, + event: n.event, + constraints: r, + }); + } + } + function v(t) { + for ( + var e = [], r = z(t.parcatsViewModel), n = 0; + n < t.model.valueInds.length; + n++ + ) { + var i = t.model.valueInds[n]; + e.push({ curveNumber: r, pointNumber: i }); + } + return e; + } + function y(t) { + for ( + var e = {}, r = t.parcatsViewModel.model.dimensions, n = 0; + n < r.length; + n++ + ) { + var i = r[n], + a = i.categories[t.model.categoryInds[n]]; + e[i.containerInd] = a.categoryValue; + } + return ( + void 0 !== t.model.rawColor && (e.color = t.model.rawColor), e + ); + } + function x(t) { + if (-1 === t.parcatsViewModel.hoverinfoItems.indexOf('skip')) { + var e = v(t), + r = y(t); + t.parcatsViewModel.graphDiv.emit('plotly_click', { + points: e, + event: n.event, + constraints: r, + }); + } + } + function b(t) { + t.attr('fill', function (t) { + return t.model.color; + }) + .attr('fill-opacity', 0.6) + .attr('stroke', 'lightgray') + .attr('stroke-width', 0.2) + .attr('stroke-opacity', 1); + } + function _(t) { + t.attr('fill-opacity', 0.8) + .attr('stroke', function (t) { + return c.mostReadable(t.model.color, ['black', 'white']); + }) + .attr('stroke-width', 0.3); + } + function w(t) { + t.select('rect.catrect') + .attr('stroke', 'black') + .attr('stroke-width', 1) + .attr('stroke-opacity', 1); + } + function T(t) { + t.attr('stroke', 'black') + .attr('stroke-width', 0.2) + .attr('stroke-opacity', 1) + .attr('fill-opacity', 1); + } + function k(t) { + var e = t.parcatsViewModel.pathSelection, + r = t.categoryViewModel.model.dimensionInd, + n = t.categoryViewModel.model.categoryInd; + return e.filter(function (e) { + return e.model.categoryInds[r] === n && e.model.color === t.color; + }); + } + function M(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = n.select(t.parentNode).selectAll('rect.bandrect'), + l = []; + s.each(function (t) { + k(t).each(function (t) { + Array.prototype.push.apply(l, v(t)); + }); + }); + var c = {}; + (c[a.dimensionInd] = a.categoryValue), + o.emit(e, { points: l, event: r, constraints: c }); + } + function A(t, e, r) { + var i = n.select(t).datum(), + a = i.categoryViewModel.model, + o = i.parcatsViewModel.graphDiv, + s = k(i), + l = []; + s.each(function (t) { + Array.prototype.push.apply(l, v(t)); + }); + var c = {}; + (c[a.dimensionInd] = a.categoryValue), + void 0 !== i.rawColor && (c.color = i.rawColor), + o.emit(e, { points: l, event: r, constraints: c }); + } + function S(t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = n.select(r.parentNode).select('rect.catrect'), + c = l.node().getBoundingClientRect(), + u = l.datum(), + f = u.parcatsViewModel, + h = f.model.dimensions[u.model.dimensionInd], + p = f.trace, + d = c.top + c.height / 2; + f.dimensions.length > 1 && h.displayInd === f.dimensions.length - 1 + ? ((i = c.left), (a = 'left')) + : ((i = c.left + c.width), (a = 'right')); + var g = u.model.count, + m = u.model.categoryLabel, + v = g / u.parcatsViewModel.model.count, + y = { + countLabel: g, + categoryLabel: m, + probabilityLabel: v.toFixed(3), + }, + x = []; + -1 !== u.parcatsViewModel.hoverinfoItems.indexOf('count') && + x.push(['Count:', y.countLabel].join(' ')), + -1 !== u.parcatsViewModel.hoverinfoItems.indexOf('probability') && + x.push( + ['P(' + y.categoryLabel + '):', y.probabilityLabel].join(' ') + ); + var b = x.join('
'); + return { + trace: p, + x: o * (i - e.left), + y: s * (d - e.top), + text: b, + color: 'lightgray', + borderColor: 'black', + fontFamily: 'Monaco, "Courier New", monospace', + fontSize: 12, + fontColor: 'black', + idealAlign: a, + hovertemplate: p.hovertemplate, + hovertemplateLabels: y, + eventData: [ + { + data: p._input, + fullData: p, + count: g, + category: m, + probability: v, + }, + ], + }; + } + function E(t) { + if ( + !t.parcatsViewModel.dragDimension && + -1 === t.parcatsViewModel.hoverinfoItems.indexOf('skip') + ) { + if (n.mouse(this)[1] < -1) return; + var e, + r = t.parcatsViewModel.graphDiv, + i = r._fullLayout, + s = i._paperdiv.node().getBoundingClientRect(), + l = t.parcatsViewModel.hoveron; + if ( + ('color' === l + ? (!(function (t) { + var e = n.select(t).datum(), + r = k(e); + _(r), + r.each(function () { + o.raiseToTop(this); + }), + n + .select(t.parentNode) + .selectAll('rect.bandrect') + .filter(function (t) { + return t.color === e.color; + }) + .each(function () { + o.raiseToTop(this), + n + .select(this) + .attr('stroke', 'black') + .attr('stroke-width', 1.5); + }); + })(this), + A(this, 'plotly_hover', n.event)) + : (!(function (t) { + n + .select(t.parentNode) + .selectAll('rect.bandrect') + .each(function (t) { + var e = k(t); + _(e), + e.each(function () { + o.raiseToTop(this); + }); + }), + n + .select(t.parentNode) + .select('rect.catrect') + .attr('stroke', 'black') + .attr('stroke-width', 2.5); + })(this), + M(this, 'plotly_hover', n.event)), + -1 === t.parcatsViewModel.hoverinfoItems.indexOf('none')) + ) + 'category' === l + ? (e = S(r, s, this)) + : 'color' === l + ? (e = (function (t, e, r) { + t._fullLayout._calcInverseTransform(t); + var i, + a, + o = t._fullLayout._invScaleX, + s = t._fullLayout._invScaleY, + l = r.getBoundingClientRect(), + u = n.select(r).datum(), + f = u.categoryViewModel, + h = f.parcatsViewModel, + p = h.model.dimensions[f.model.dimensionInd], + d = h.trace, + g = l.y + l.height / 2; + h.dimensions.length > 1 && + p.displayInd === h.dimensions.length - 1 + ? ((i = l.left), (a = 'left')) + : ((i = l.left + l.width), (a = 'right')); + var m = f.model.categoryLabel, + v = u.parcatsViewModel.model.count, + y = 0; + u.categoryViewModel.bands.forEach(function (t) { + t.color === u.color && (y += t.count); + }); + var x = f.model.count, + b = 0; + h.pathSelection.each(function (t) { + t.model.color === u.color && (b += t.model.count); + }); + var _ = y / v, + w = y / b, + T = y / x, + k = { + countLabel: v, + categoryLabel: m, + probabilityLabel: _.toFixed(3), + }, + M = []; + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf('count') && + M.push(['Count:', k.countLabel].join(' ')), + -1 !== + f.parcatsViewModel.hoverinfoItems.indexOf( + 'probability' + ) && + (M.push( + 'P(color \u2229 ' + m + '): ' + k.probabilityLabel + ), + M.push('P(' + m + ' | color): ' + w.toFixed(3)), + M.push('P(color | ' + m + '): ' + T.toFixed(3))); + var A = M.join('
'), + S = c.mostReadable(u.color, ['black', 'white']); + return { + trace: d, + x: o * (i - e.left), + y: s * (g - e.top), + text: A, + color: u.color, + borderColor: 'black', + fontFamily: 'Monaco, "Courier New", monospace', + fontColor: S, + fontSize: 10, + idealAlign: a, + hovertemplate: d.hovertemplate, + hovertemplateLabels: k, + eventData: [ + { + data: d._input, + fullData: d, + category: m, + count: v, + probability: _, + categorycount: x, + colorcount: b, + bandcolorcount: y, + }, + ], + }; + })(r, s, this)) + : 'dimension' === l && + (e = (function (t, e, r) { + var i = []; + return ( + n + .select(r.parentNode.parentNode) + .selectAll('g.category') + .select('rect.catrect') + .each(function () { + i.push(S(t, e, this)); + }), + i + ); + })(r, s, this)), + e && + a.loneHover(e, { + container: i._hoverlayer.node(), + outerContainer: i._paper.node(), + gd: r, + }); + } + } + function C(t) { + var e = t.parcatsViewModel; + if ( + !e.dragDimension && + (b(e.pathSelection), + w(e.dimensionSelection.selectAll('g.category')), + T( + e.dimensionSelection + .selectAll('g.category') + .selectAll('rect.bandrect') + ), + a.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()), + e.pathSelection.sort(d), + -1 === e.hoverinfoItems.indexOf('skip')) + ) { + 'color' === t.parcatsViewModel.hoveron + ? A(this, 'plotly_unhover', n.event) + : M(this, 'plotly_unhover', n.event); + } + } + function L(t) { + 'fixed' !== t.parcatsViewModel.arrangement && + ((t.dragDimensionDisplayInd = t.model.displayInd), + (t.initialDragDimensionDisplayInds = + t.parcatsViewModel.model.dimensions.map(function (t) { + return t.displayInd; + })), + (t.dragHasMoved = !1), + (t.dragCategoryDisplayInd = null), + n + .select(this) + .selectAll('g.category') + .select('rect.catrect') + .each(function (e) { + var r = n.mouse(this)[0], + i = n.mouse(this)[1]; + -2 <= r && + r <= e.width + 2 && + -2 <= i && + i <= e.height + 2 && + ((t.dragCategoryDisplayInd = e.model.displayInd), + (t.initialDragCategoryDisplayInds = t.model.categories.map( + function (t) { + return t.displayInd; + } + )), + (e.model.dragY = e.y), + o.raiseToTop(this.parentNode), + n + .select(this.parentNode) + .selectAll('rect.bandrect') + .each(function (e) { + e.y < i && + i <= e.y + e.height && + (t.potentialClickBand = this); + })); + }), + (t.parcatsViewModel.dragDimension = t), + a.loneUnhover( + t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node() + )); + } + function I(t) { + if ( + 'fixed' !== t.parcatsViewModel.arrangement && + ((t.dragHasMoved = !0), null !== t.dragDimensionDisplayInd) + ) { + var e = t.dragDimensionDisplayInd, + r = e - 1, + i = e + 1, + a = t.parcatsViewModel.dimensions[e]; + if (null !== t.dragCategoryDisplayInd) { + var o = a.categories[t.dragCategoryDisplayInd]; + o.model.dragY += n.event.dy; + var s = o.model.dragY, + l = o.model.displayInd, + c = a.categories, + u = c[l - 1], + f = c[l + 1]; + void 0 !== u && + s < u.y + u.height / 2 && + ((o.model.displayInd = u.model.displayInd), + (u.model.displayInd = l)), + void 0 !== f && + s + o.height > f.y + f.height / 2 && + ((o.model.displayInd = f.model.displayInd), + (f.model.displayInd = l)), + (t.dragCategoryDisplayInd = o.model.displayInd); + } + if ( + null === t.dragCategoryDisplayInd || + 'freeform' === t.parcatsViewModel.arrangement + ) { + a.model.dragX = n.event.x; + var h = t.parcatsViewModel.dimensions[r], + p = t.parcatsViewModel.dimensions[i]; + void 0 !== h && + a.model.dragX < h.x + h.width && + ((a.model.displayInd = h.model.displayInd), + (h.model.displayInd = e)), + void 0 !== p && + a.model.dragX + a.width > p.x && + ((a.model.displayInd = p.model.displayInd), + (p.model.displayInd = t.dragDimensionDisplayInd)), + (t.dragDimensionDisplayInd = a.model.displayInd); + } + N(t.parcatsViewModel), + B(t.parcatsViewModel), + D(t.parcatsViewModel), + O(t.parcatsViewModel); + } + } + function P(t) { + if ( + 'fixed' !== t.parcatsViewModel.arrangement && + null !== t.dragDimensionDisplayInd + ) { + n.select(this).selectAll('text').attr('font-weight', 'normal'); + var e = {}, + r = z(t.parcatsViewModel), + a = t.parcatsViewModel.model.dimensions.map(function (t) { + return t.displayInd; + }), + o = t.initialDragDimensionDisplayInds.some(function (t, e) { + return t !== a[e]; + }); + o && + a.forEach(function (r, n) { + var i = t.parcatsViewModel.model.dimensions[n].containerInd; + e['dimensions[' + i + '].displayindex'] = r; + }); + var s = !1; + if (null !== t.dragCategoryDisplayInd) { + var l = t.model.categories.map(function (t) { + return t.displayInd; + }); + if ( + (s = t.initialDragCategoryDisplayInds.some(function (t, e) { + return t !== l[e]; + })) + ) { + var c = t.model.categories.slice().sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + u = c.map(function (t) { + return t.categoryValue; + }), + f = c.map(function (t) { + return t.categoryLabel; + }); + (e['dimensions[' + t.model.containerInd + '].categoryarray'] = + [u]), + (e['dimensions[' + t.model.containerInd + '].ticktext'] = [ + f, + ]), + (e[ + 'dimensions[' + t.model.containerInd + '].categoryorder' + ] = 'array'); + } + } + if ( + (-1 === t.parcatsViewModel.hoverinfoItems.indexOf('skip') && + !t.dragHasMoved && + t.potentialClickBand && + ('color' === t.parcatsViewModel.hoveron + ? A( + t.potentialClickBand, + 'plotly_click', + n.event.sourceEvent + ) + : M( + t.potentialClickBand, + 'plotly_click', + n.event.sourceEvent + )), + (t.model.dragX = null), + null !== t.dragCategoryDisplayInd) + ) + (t.parcatsViewModel.dimensions[ + t.dragDimensionDisplayInd + ].categories[t.dragCategoryDisplayInd].model.dragY = null), + (t.dragCategoryDisplayInd = null); + (t.dragDimensionDisplayInd = null), + (t.parcatsViewModel.dragDimension = null), + (t.dragHasMoved = null), + (t.potentialClickBand = null), + N(t.parcatsViewModel), + B(t.parcatsViewModel), + n + .transition() + .duration(300) + .ease('cubic-in-out') + .each(function () { + D(t.parcatsViewModel, !0), O(t.parcatsViewModel, !0); + }) + .each('end', function () { + (o || s) && i.restyle(t.parcatsViewModel.graphDiv, e, [r]); + }); + } + } + function z(t) { + for (var e, r = t.graphDiv._fullData, n = 0; n < r.length; n++) + if (t.key === r[n].uid) { + e = n; + break; + } + return e; + } + function O(t, e) { + var r; + void 0 === e && (e = !1), + t.pathSelection.data(function (t) { + return t.paths; + }, h), + ((r = t.pathSelection), e ? r.transition() : r).attr( + 'd', + function (t) { + return t.svgD; + } + ); + } + function D(t, e) { + function r(t) { + return e ? t.transition() : t; + } + void 0 === e && (e = !1), + t.dimensionSelection.data(function (t) { + return t.dimensions; + }, h); + var i = t.dimensionSelection + .selectAll('g.category') + .data(function (t) { + return t.categories; + }, h); + r(t.dimensionSelection).attr('transform', function (t) { + return s(t.x, 0); + }), + r(i).attr('transform', function (t) { + return s(0, t.y); + }), + i.select('.dimlabel').text(function (t, e) { + return 0 === e + ? t.parcatsViewModel.model.dimensions[t.model.dimensionInd] + .dimensionLabel + : null; + }), + i + .select('.catlabel') + .attr('text-anchor', function (t) { + return p(t) ? 'start' : 'end'; + }) + .attr('x', function (t) { + return p(t) ? t.width + 5 : -5; + }) + .each(function (t) { + var e, r; + p(t) + ? ((e = t.width + 5), (r = 'start')) + : ((e = -5), (r = 'end')), + n + .select(this) + .selectAll('tspan') + .attr('x', e) + .attr('text-anchor', r); + }); + var a = i.selectAll('rect.bandrect').data(function (t) { + return t.bands; + }, h), + l = a + .enter() + .append('rect') + .attr('class', 'bandrect') + .attr('cursor', 'move') + .attr('stroke-opacity', 0) + .attr('fill', function (t) { + return t.color; + }) + .attr('fill-opacity', 0); + a + .attr('fill', function (t) { + return t.color; + }) + .attr('width', function (t) { + return t.width; + }) + .attr('height', function (t) { + return t.height; + }) + .attr('y', function (t) { + return t.y; + }), + T(l), + a.each(function () { + o.raiseToTop(this); + }), + a.exit().remove(); + } + function R(t, e, r) { + var n, + i = r[0], + a = e.margin || { l: 80, r: 80, t: 100, b: 80 }, + o = i.trace, + s = o.domain, + l = e.width, + c = e.height, + u = Math.floor(l * (s.x[1] - s.x[0])), + f = Math.floor(c * (s.y[1] - s.y[0])), + h = s.x[0] * l + a.l, + p = e.height - s.y[1] * e.height + a.t, + d = o.line.shape; + n = + 'all' === o.hoverinfo + ? ['count', 'probability'] + : (o.hoverinfo || '').split('+'); + var g = { + trace: o, + key: o.uid, + model: i, + x: h, + y: p, + width: u, + height: f, + hoveron: o.hoveron, + hoverinfoItems: n, + arrangement: o.arrangement, + bundlecolors: o.bundlecolors, + sortpaths: o.sortpaths, + labelfont: o.labelfont, + categorylabelfont: o.tickfont, + pathShape: d, + dragDimension: null, + margin: a, + paths: [], + dimensions: [], + graphDiv: t, + traceSelection: null, + pathSelection: null, + dimensionSelection: null, + }; + return i.dimensions && (N(g), B(g)), g; + } + function F(t, e, r, i, a) { + var o, + s, + l = [], + c = []; + for (s = 0; s < r.length - 1; s++) + (o = n.interpolateNumber(r[s] + t[s], t[s + 1])), + l.push(o(a)), + c.push(o(1 - a)); + var u = 'M ' + t[0] + ',' + e[0]; + for (u += 'l' + r[0] + ',0 ', s = 1; s < r.length; s++) + (u += + 'C' + + l[s - 1] + + ',' + + e[s - 1] + + ' ' + + c[s - 1] + + ',' + + e[s] + + ' ' + + t[s] + + ',' + + e[s]), + (u += 'l' + r[s] + ',0 '); + for ( + u += 'l0,' + i + ' ', + u += 'l -' + r[r.length - 1] + ',0 ', + s = r.length - 2; + s >= 0; + s-- + ) + (u += + 'C' + + c[s] + + ',' + + (e[s + 1] + i) + + ' ' + + l[s] + + ',' + + (e[s] + i) + + ' ' + + (t[s] + r[s]) + + ',' + + (e[s] + i)), + (u += 'l-' + r[s] + ',0 '); + return (u += 'Z'); + } + function B(t) { + var e = t.dimensions, + r = t.model, + n = e.map(function (t) { + return t.categories.map(function (t) { + return t.y; + }); + }), + i = t.model.dimensions.map(function (t) { + return t.categories.map(function (t) { + return t.displayInd; + }); + }), + a = t.model.dimensions.map(function (t) { + return t.displayInd; + }), + o = t.dimensions.map(function (t) { + return t.model.dimensionInd; + }), + s = e.map(function (t) { + return t.x; + }), + l = e.map(function (t) { + return t.width; + }), + c = []; + for (var u in r.paths) + r.paths.hasOwnProperty(u) && c.push(r.paths[u]); + function f(t) { + var e = t.categoryInds.map(function (t, e) { + return i[e][t]; + }); + return o.map(function (t) { + return e[t]; + }); + } + c.sort(function (e, r) { + var n = f(e), + i = f(r); + return ( + 'backward' === t.sortpaths && (n.reverse(), i.reverse()), + n.push(e.valueInds[0]), + i.push(r.valueInds[0]), + t.bundlecolors && + (n.unshift(e.rawColor), i.unshift(r.rawColor)), + n < i ? -1 : n > i ? 1 : 0 + ); + }); + for ( + var h = new Array(c.length), + p = e[0].model.count, + d = e[0].categories + .map(function (t) { + return t.height; + }) + .reduce(function (t, e) { + return t + e; + }), + g = 0; + g < c.length; + g++ + ) { + var m, + v = c[g]; + m = p > 0 ? d * (v.count / p) : 0; + for ( + var y, x = new Array(n.length), b = 0; + b < v.categoryInds.length; + b++ + ) { + var _ = v.categoryInds[b], + w = i[b][_], + T = a[b]; + (x[T] = n[T][w]), (n[T][w] += m); + var k = t.dimensions[T].categories[w], + M = k.bands.length, + A = k.bands[M - 1]; + if (void 0 === A || v.rawColor !== A.rawColor) { + var S = void 0 === A ? 0 : A.y + A.height; + k.bands.push({ + key: S, + color: v.color, + rawColor: v.rawColor, + height: m, + width: k.width, + count: v.count, + y: S, + categoryViewModel: k, + parcatsViewModel: t, + }); + } else { + var E = k.bands[M - 1]; + (E.height += m), (E.count += v.count); + } + } + (y = + 'hspline' === t.pathShape + ? F(s, x, l, m, 0.5) + : F(s, x, l, m, 0)), + (h[g] = { + key: v.valueInds[0], + model: v, + height: m, + leftXs: s, + topYs: x, + dimWidths: l, + svgD: y, + parcatsViewModel: t, + }); + } + t.paths = h; + } + function N(t) { + var e = t.model.dimensions.map(function (t) { + return { displayInd: t.displayInd, dimensionInd: t.dimensionInd }; + }); + e.sort(function (t, e) { + return t.displayInd - e.displayInd; + }); + var r = []; + for (var n in e) { + var i = e[n].dimensionInd, + a = t.model.dimensions[i]; + r.push(j(t, a)); + } + t.dimensions = r; + } + function j(t, e) { + var r, + n = t.model.dimensions.length, + i = e.displayInd; + r = 40 + (n > 1 ? (t.width - 80 - 16) / (n - 1) : 0) * i; + var a, + o, + s, + l, + c, + u = [], + f = t.model.maxCats, + h = e.categories.length, + p = e.count, + d = t.height - 8 * (f - 1), + g = (8 * (f - h)) / 2, + m = e.categories.map(function (t) { + return { displayInd: t.displayInd, categoryInd: t.categoryInd }; + }); + for ( + m.sort(function (t, e) { + return t.displayInd - e.displayInd; + }), + c = 0; + c < h; + c++ + ) + (l = m[c].categoryInd), + (o = e.categories[l]), + (a = p > 0 ? (o.count / p) * d : 0), + (s = { + key: o.valueInds[0], + model: o, + width: 16, + height: a, + y: null !== o.dragY ? o.dragY : g, + bands: [], + parcatsViewModel: t, + }), + (g = g + a + 8), + u.push(s); + return { + key: e.dimensionInd, + x: null !== e.dragX ? e.dragX : r, + y: 0, + width: 16, + model: e, + categories: u, + parcatsViewModel: t, + dragCategoryDisplayInd: null, + dragDimensionDisplayInd: null, + initialDragDimensionDisplayInds: null, + initialDragCategoryDisplayInds: null, + dragHasMoved: null, + potentialClickBand: null, + }; + } + e.exports = function (t, e, r, n) { + f(r, t, n, e); + }; + }, + { + '../../components/drawing': 665, + '../../components/fx': 683, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plot_api/plot_api': 814, + d3: 169, + tinycolor2: 576, + }, + ], + 1148: [ + function (t, e, r) { + 'use strict'; + var n = t('./parcats'); + e.exports = function (t, e, r, i) { + var a = t._fullLayout, + o = a._paper, + s = a._size; + n( + t, + o, + e, + { + width: s.w, + height: s.h, + margin: { t: s.t, r: s.r, b: s.b, l: s.l }, + }, + r, + i + ); + }; + }, + { './parcats': 1147 }, + ], + 1149: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/cartesian/layout_attributes'), + a = t('../../plots/font_attributes'), + o = t('../../plots/domain').attributes, + s = t('../../lib/extend').extendFlat, + l = t('../../plot_api/plot_template').templatedArray; + e.exports = { + domain: o({ name: 'parcoords', trace: !0, editType: 'plot' }), + labelangle: { valType: 'angle', dflt: 0, editType: 'plot' }, + labelside: { + valType: 'enumerated', + values: ['top', 'bottom'], + dflt: 'top', + editType: 'plot', + }, + labelfont: a({ editType: 'plot' }), + tickfont: a({ editType: 'plot' }), + rangefont: a({ editType: 'plot' }), + dimensions: l('dimension', { + label: { valType: 'string', editType: 'plot' }, + tickvals: s({}, i.tickvals, { editType: 'plot' }), + ticktext: s({}, i.ticktext, { editType: 'plot' }), + tickformat: s({}, i.tickformat, { editType: 'plot' }), + visible: { valType: 'boolean', dflt: !0, editType: 'plot' }, + range: { + valType: 'info_array', + items: [ + { valType: 'number', editType: 'plot' }, + { valType: 'number', editType: 'plot' }, + ], + editType: 'plot', + }, + constraintrange: { + valType: 'info_array', + freeLength: !0, + dimensions: '1-2', + items: [ + { valType: 'number', editType: 'plot' }, + { valType: 'number', editType: 'plot' }, + ], + editType: 'plot', + }, + multiselect: { valType: 'boolean', dflt: !0, editType: 'plot' }, + values: { valType: 'data_array', editType: 'calc' }, + editType: 'calc', + }), + line: s( + { editType: 'calc' }, + n('line', { + colorscaleDflt: 'Viridis', + autoColorDflt: !1, + editTypeOverride: 'calc', + }) + ), + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/layout_attributes': 842, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + }, + ], + 1150: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('d3'), + a = t('../../lib/gup').keyFun, + o = t('../../lib/gup').repeat, + s = t('../../lib').sorterAsc, + l = t('../../lib').strTranslate, + c = n.bar.snapRatio; + function u(t, e) { + return t * (1 - c) + e * c; + } + var f = n.bar.snapClose; + function h(t, e) { + return t * (1 - f) + e * f; + } + function p(t, e, r, n) { + if ( + (function (t, e) { + for (var r = 0; r < e.length; r++) + if (t >= e[r][0] && t <= e[r][1]) return !0; + return !1; + })(r, n) + ) + return r; + var i = t ? -1 : 1, + a = 0, + o = e.length - 1; + if (i < 0) { + var s = a; + (a = o), (o = s); + } + for (var l = e[a], c = l, f = a; i * f < i * o; f += i) { + var p = f + i, + d = e[p]; + if (i * r < i * h(l, d)) return u(l, c); + if (i * r < i * d || p === o) return u(d, l); + (c = l), (l = d); + } + } + function d(t) { + t.attr('x', -n.bar.captureWidth / 2).attr( + 'width', + n.bar.captureWidth + ); + } + function g(t) { + t.attr('visibility', 'visible') + .style('visibility', 'visible') + .attr('fill', 'yellow') + .attr('opacity', 0); + } + function m(t) { + if (!t.brush.filterSpecified) return '0,' + t.height; + for ( + var e, + r, + n, + i = v(t.brush.filter.getConsolidated(), t.height), + a = [0], + o = i.length ? i[0][0] : null, + s = 0; + s < i.length; + s++ + ) + (r = (e = i[s])[1] - e[0]), + a.push(o), + a.push(r), + (n = s + 1) < i.length && (o = i[n][0] - e[1]); + return a.push(t.height), a; + } + function v(t, e) { + return t.map(function (t) { + return t + .map(function (t) { + return Math.max(0, t * e); + }) + .sort(s); + }); + } + function y() { + i.select(document.body).style('cursor', null); + } + function x(t) { + t.attr('stroke-dasharray', m); + } + function b(t, e) { + var r = i.select(t).selectAll('.highlight, .highlight-shadow'); + x( + e ? r.transition().duration(n.bar.snapDuration).each('end', e) : r + ); + } + function _(t, e) { + var r, + i = t.brush, + a = NaN, + o = {}; + if (i.filterSpecified) { + var s = t.height, + l = i.filter.getConsolidated(), + c = v(l, s), + u = NaN, + f = NaN, + h = NaN; + for (r = 0; r <= c.length; r++) { + var p = c[r]; + if (p && p[0] <= e && e <= p[1]) { + u = r; + break; + } + if (((f = r ? r - 1 : NaN), p && p[0] > e)) { + h = r; + break; + } + } + if ( + ((a = u), + isNaN(a) && + (a = + isNaN(f) || isNaN(h) + ? isNaN(f) + ? h + : f + : e - c[f][1] < c[h][0] - e + ? f + : h), + !isNaN(a)) + ) { + var d = c[a], + g = (function (t, e) { + var r = n.bar.handleHeight; + if (!(e > t[1] + r || e < t[0] - r)) + return e >= 0.9 * t[1] + 0.1 * t[0] + ? 'n' + : e <= 0.9 * t[0] + 0.1 * t[1] + ? 's' + : 'ns'; + })(d, e); + g && ((o.interval = l[a]), (o.intervalPix = d), (o.region = g)); + } + } + if (t.ordinal && !o.region) { + var m = t.unitTickvals, + y = t.unitToPaddedPx.invert(e); + for (r = 0; r < m.length; r++) { + var x = [ + 0.25 * m[Math.max(r - 1, 0)] + 0.75 * m[r], + 0.25 * m[Math.min(r + 1, m.length - 1)] + 0.75 * m[r], + ]; + if (y >= x[0] && y <= x[1]) { + o.clickableOrdinalRange = x; + break; + } + } + } + return o; + } + function w(t, e) { + i.event.sourceEvent.stopPropagation(); + var r = e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + a = e.brush.svgBrush; + (a.wasDragged = !0), + (a._dragging = !0), + a.grabbingBar + ? (a.newExtent = [ + r - a.grabPoint, + r + a.barLength - a.grabPoint, + ].map(e.unitToPaddedPx.invert)) + : (a.newExtent = [ + a.startExtent, + e.unitToPaddedPx.invert(r), + ].sort(s)), + (e.brush.filterSpecified = !0), + (a.extent = a.stayingIntervals.concat([a.newExtent])), + a.brushCallback(e), + b(t.parentNode); + } + function T(t, e) { + var r = _(e, e.height - i.mouse(t)[1] - 2 * n.verticalPadding), + a = 'crosshair'; + r.clickableOrdinalRange + ? (a = 'pointer') + : r.region && (a = r.region + '-resize'), + i.select(document.body).style('cursor', a); + } + function k(t) { + t.on('mousemove', function (t) { + i.event.preventDefault(), t.parent.inBrushDrag || T(this, t); + }) + .on('mouseleave', function (t) { + t.parent.inBrushDrag || y(); + }) + .call( + i.behavior + .drag() + .on('dragstart', function (t) { + !(function (t, e) { + i.event.sourceEvent.stopPropagation(); + var r = e.height - i.mouse(t)[1] - 2 * n.verticalPadding, + a = e.unitToPaddedPx.invert(r), + o = e.brush, + s = _(e, r), + l = s.interval, + c = o.svgBrush; + if ( + ((c.wasDragged = !1), + (c.grabbingBar = 'ns' === s.region), + c.grabbingBar) + ) { + var u = l.map(e.unitToPaddedPx); + (c.grabPoint = r - u[0] - n.verticalPadding), + (c.barLength = u[1] - u[0]); + } + (c.clickableOrdinalRange = s.clickableOrdinalRange), + (c.stayingIntervals = + e.multiselect && o.filterSpecified + ? o.filter.getConsolidated() + : []), + l && + (c.stayingIntervals = c.stayingIntervals.filter( + function (t) { + return t[0] !== l[0] && t[1] !== l[1]; + } + )), + (c.startExtent = s.region + ? l['s' === s.region ? 1 : 0] + : a), + (e.parent.inBrushDrag = !0), + c.brushStartCallback(); + })(this, t); + }) + .on('drag', function (t) { + w(this, t); + }) + .on('dragend', function (t) { + !(function (t, e) { + var r = e.brush, + n = r.filter, + a = r.svgBrush; + a._dragging || + (T(t, e), w(t, e), (e.brush.svgBrush.wasDragged = !1)), + (a._dragging = !1), + i.event.sourceEvent.stopPropagation(); + var o = a.grabbingBar; + if ( + ((a.grabbingBar = !1), + (a.grabLocation = void 0), + (e.parent.inBrushDrag = !1), + y(), + !a.wasDragged) + ) + return ( + (a.wasDragged = void 0), + a.clickableOrdinalRange + ? r.filterSpecified && e.multiselect + ? a.extent.push(a.clickableOrdinalRange) + : ((a.extent = [a.clickableOrdinalRange]), + (r.filterSpecified = !0)) + : o + ? ((a.extent = a.stayingIntervals), + 0 === a.extent.length && A(r)) + : A(r), + a.brushCallback(e), + b(t.parentNode), + void a.brushEndCallback( + r.filterSpecified ? n.getConsolidated() : [] + ) + ); + var s = function () { + n.set(n.getConsolidated()); + }; + if (e.ordinal) { + var l = e.unitTickvals; + l[l.length - 1] < l[0] && l.reverse(), + (a.newExtent = [ + p(0, l, a.newExtent[0], a.stayingIntervals), + p(1, l, a.newExtent[1], a.stayingIntervals), + ]); + var c = a.newExtent[1] > a.newExtent[0]; + (a.extent = a.stayingIntervals.concat( + c ? [a.newExtent] : [] + )), + a.extent.length || A(r), + a.brushCallback(e), + c ? b(t.parentNode, s) : (s(), b(t.parentNode)); + } else s(); + a.brushEndCallback( + r.filterSpecified ? n.getConsolidated() : [] + ); + })(this, t); + }) + ); + } + function M(t, e) { + return t[0] - e[0]; + } + function A(t) { + (t.filterSpecified = !1), (t.svgBrush.extent = [[-1 / 0, 1 / 0]]); + } + function S(t) { + for (var e, r = t.slice(), n = [], i = r.shift(); i; ) { + for (e = i.slice(); (i = r.shift()) && i[0] <= e[1]; ) + e[1] = Math.max(e[1], i[1]); + n.push(e); + } + return 1 === n.length && n[0][0] > n[0][1] && (n = []), n; + } + e.exports = { + makeBrush: function (t, e, r, n, i, a) { + var o, + l = (function () { + var t, + e, + r = []; + return { + set: function (n) { + 1 === + (r = n + .map(function (t) { + return t.slice().sort(s); + }) + .sort(M)).length && + r[0][0] === -1 / 0 && + r[0][1] === 1 / 0 && + (r = [[0, -1]]), + (t = S(r)), + (e = r.reduce( + function (t, e) { + return [Math.min(t[0], e[0]), Math.max(t[1], e[1])]; + }, + [1 / 0, -1 / 0] + )); + }, + get: function () { + return r.slice(); + }, + getConsolidated: function () { + return t; + }, + getBounds: function () { + return e; + }, + }; + })(); + return ( + l.set(r), + { + filter: l, + filterSpecified: e, + svgBrush: { + extent: [], + brushStartCallback: n, + brushCallback: + ((o = i), + function (t) { + var e = t.brush, + r = (function (t) { + return t.svgBrush.extent.map(function (t) { + return t.slice(); + }); + })(e).slice(); + e.filter.set(r), o(); + }), + brushEndCallback: a, + }, + } + ); + }, + ensureAxisBrush: function (t) { + var e = t.selectAll('.' + n.cn.axisBrush).data(o, a); + e.enter().append('g').classed(n.cn.axisBrush, !0), + (function (t) { + var e = t.selectAll('.background').data(o); + e + .enter() + .append('rect') + .classed('background', !0) + .call(d) + .call(g) + .style('pointer-events', 'auto') + .attr('transform', l(0, n.verticalPadding)), + e.call(k).attr('height', function (t) { + return t.height - n.verticalPadding; + }); + var r = t.selectAll('.highlight-shadow').data(o); + r + .enter() + .append('line') + .classed('highlight-shadow', !0) + .attr('x', -n.bar.width / 2) + .attr('stroke-width', n.bar.width + n.bar.strokeWidth) + .attr('stroke', n.bar.strokeColor) + .attr('opacity', n.bar.strokeOpacity) + .attr('stroke-linecap', 'butt'), + r + .attr('y1', function (t) { + return t.height; + }) + .call(x); + var i = t.selectAll('.highlight').data(o); + i + .enter() + .append('line') + .classed('highlight', !0) + .attr('x', -n.bar.width / 2) + .attr('stroke-width', n.bar.width - n.bar.strokeWidth) + .attr('stroke', n.bar.fillColor) + .attr('opacity', n.bar.fillOpacity) + .attr('stroke-linecap', 'butt'), + i + .attr('y1', function (t) { + return t.height; + }) + .call(x); + })(e); + }, + cleanRanges: function (t, e) { + if ( + (Array.isArray(t[0]) + ? ((t = t.map(function (t) { + return t.sort(s); + })), + (t = e.multiselect ? S(t.sort(M)) : [t[0]])) + : (t = [t.sort(s)]), + e.tickvals) + ) { + var r = e.tickvals.slice().sort(s); + if ( + !(t = t + .map(function (t) { + var e = [p(0, r, t[0], []), p(1, r, t[1], [])]; + if (e[1] > e[0]) return e; + }) + .filter(function (t) { + return t; + })).length + ) + return; + } + return t.length > 1 ? t : t[0]; + }, + }; + }, + { + '../../lib': 778, + '../../lib/gup': 775, + './constants': 1153, + d3: 169, + }, + ], + 1151: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../plots/get_data').getModuleCalcData, + a = t('./plot'), + o = t('../../constants/xmlns_namespaces'); + (r.name = 'parcoords'), + (r.plot = function (t) { + var e = i(t.calcdata, 'parcoords')[0]; + e.length && a(t, e); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has('parcoords'), + a = e._has && e._has('parcoords'); + i && + !a && + (n._paperdiv.selectAll('.parcoords').remove(), + n._glimages.selectAll('*').remove()); + }), + (r.toSVG = function (t) { + var e = t._fullLayout._glimages, + r = n.select(t).selectAll('.svg-container'); + r + .filter(function (t, e) { + return e === r.size() - 1; + }) + .selectAll('.gl-canvas-context, .gl-canvas-focus') + .each(function () { + var t = this.toDataURL('image/png'); + e.append('svg:image').attr({ + xmlns: o.svg, + 'xlink:href': t, + preserveAspectRatio: 'none', + x: 0, + y: 0, + width: this.width, + height: this.height, + }); + }), + window.setTimeout(function () { + n.selectAll('#filterBarPattern').attr( + 'id', + 'filterBarPattern' + ); + }, 60); + }); + }, + { + '../../constants/xmlns_namespaces': 754, + '../../plots/get_data': 865, + './plot': 1160, + d3: 169, + }, + ], + 1152: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray, + i = t('../../components/colorscale'), + a = t('../../lib/gup').wrap; + e.exports = function (t, e) { + var r, o; + return ( + i.hasColorscale(e, 'line') && n(e.line.color) + ? ((r = e.line.color), + (o = i.extractOpts(e.line).colorscale), + i.calc(t, e, { vals: r, containerStr: 'line', cLetter: 'c' })) + : ((r = (function (t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = 0.5; + return e; + })(e._length)), + (o = [ + [0, e.line.color], + [1, e.line.color], + ])), + a({ lineColor: r, cscale: o }) + ); + }; + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../lib/gup': 775, + }, + ], + 1153: [ + function (t, e, r) { + 'use strict'; + e.exports = { + maxDimensionCount: 60, + overdrag: 45, + verticalPadding: 2, + tickDistance: 50, + canvasPixelRatio: 1, + blockLineCount: 5e3, + layers: ['contextLineLayer', 'focusLineLayer', 'pickLineLayer'], + axisTitleOffset: 28, + axisExtentOffset: 10, + deselectedLineColor: '#777', + bar: { + width: 4, + captureWidth: 10, + fillColor: 'magenta', + fillOpacity: 1, + snapDuration: 150, + snapRatio: 0.25, + snapClose: 0.01, + strokeColor: 'white', + strokeOpacity: 1, + strokeWidth: 1, + handleHeight: 8, + handleOpacity: 1, + handleOverlap: 0, + }, + cn: { + axisExtentText: 'axis-extent-text', + parcoordsLineLayers: 'parcoords-line-layers', + parcoordsLineLayer: 'parcoords-lines', + parcoords: 'parcoords', + parcoordsControlView: 'parcoords-control-view', + yAxis: 'y-axis', + axisOverlays: 'axis-overlays', + axis: 'axis', + axisHeading: 'axis-heading', + axisTitle: 'axis-title', + axisExtent: 'axis-extent', + axisExtentTop: 'axis-extent-top', + axisExtentTopText: 'axis-extent-top-text', + axisExtentBottom: 'axis-extent-bottom', + axisExtentBottomText: 'axis-extent-bottom-text', + axisBrush: 'axis-brush', + }, + id: { filterBarPattern: 'filter-bar-pattern' }, + }; + }, + {}, + ], + 1154: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/defaults'), + o = t('../../plots/domain').defaults, + s = t('../../plots/array_container_defaults'), + l = t('../../plots/cartesian/axes'), + c = t('./attributes'), + u = t('./axisbrush'), + f = t('./constants').maxDimensionCount, + h = t('./merge_length'); + function p(t, e, r, i) { + function a(r, i) { + return n.coerce(t, e, c.dimensions, r, i); + } + var o = a('values'), + s = a('visible'); + if (((o && o.length) || (s = e.visible = !1), s)) { + a('label'), a('tickvals'), a('ticktext'), a('tickformat'); + var f = a('range'); + (e._ax = { + _id: 'y', + type: 'linear', + showexponent: 'all', + exponentformat: 'B', + range: f, + }), + l.setConvert(e._ax, i.layout), + a('multiselect'); + var h = a('constraintrange'); + h && (e.constraintrange = u.cleanRanges(h, e)); + } + } + e.exports = function (t, e, r, l) { + function u(r, i) { + return n.coerce(t, e, c, r, i); + } + var d = t.dimensions; + Array.isArray(d) && + d.length > f && + (n.log( + 'parcoords traces support up to ' + + f + + ' dimensions at the moment' + ), + d.splice(f)); + var g = s(t, e, { + name: 'dimensions', + layout: l, + handleItemDefaults: p, + }), + m = (function (t, e, r, o, s) { + var l = s('line.color', r); + if (i(t, 'line') && n.isArrayOrTypedArray(l)) { + if (l.length) + return ( + s('line.colorscale'), + a(t, e, o, s, { prefix: 'line.', cLetter: 'c' }), + l.length + ); + e.line.color = r; + } + return 1 / 0; + })(t, e, r, l, u); + o(e, l, u), + (Array.isArray(g) && g.length) || (e.visible = !1), + h(e, g, 'values', m); + var v = { + family: l.font.family, + size: Math.round(l.font.size / 1.2), + color: l.font.color, + }; + n.coerceFont(u, 'labelfont', v), + n.coerceFont(u, 'tickfont', v), + n.coerceFont(u, 'rangefont', v), + u('labelangle'), + u('labelside'); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../components/colorscale/helpers': 654, + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../../plots/cartesian/axes': 828, + '../../plots/domain': 855, + './attributes': 1149, + './axisbrush': 1150, + './constants': 1153, + './merge_length': 1158, + }, + ], + 1155: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isTypedArray; + (r.convertTypedArray = function (t) { + return n(t) ? Array.prototype.slice.call(t) : t; + }), + (r.isOrdinal = function (t) { + return !!t.tickvals; + }), + (r.isVisible = function (t) { + return t.visible || !('visible' in t); + }); + }, + { '../../lib': 778 }, + ], + 1156: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + colorbar: { container: 'line', min: 'cmin', max: 'cmax' }, + moduleType: 'trace', + name: 'parcoords', + basePlotModule: t('./base_plot'), + categories: ['gl', 'regl', 'noOpacity', 'noHover'], + meta: {}, + }; + }, + { + './attributes': 1149, + './base_plot': 1151, + './calc': 1152, + './defaults': 1154, + './plot': 1160, + }, + ], + 1157: [ + function (t, e, r) { + 'use strict'; + var n = t('glslify'), + i = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(mask,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n', + ]), + a = n([ + 'precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n', + ]), + o = t('./constants').maxDimensionCount, + s = t('../../lib'), + l = new Uint8Array(4), + c = new Uint8Array(4), + u = { + shape: [256, 1], + format: 'rgba', + type: 'uint8', + mag: 'nearest', + min: 'nearest', + }; + function f(t, e, r, n, i) { + var a = t._gl; + a.enable(a.SCISSOR_TEST), + a.scissor(e, r, n, i), + t.clear({ color: [0, 0, 0, 0], depth: 1 }); + } + function h(t, e, r, n, i, a) { + var o = a.key; + r.drawCompleted || + (!(function (t) { + t.read({ x: 0, y: 0, width: 1, height: 1, data: l }); + })(t), + (r.drawCompleted = !0)), + (function s(l) { + var c = Math.min(n, i - l * n); + 0 === l && + (window.cancelAnimationFrame(r.currentRafs[o]), + delete r.currentRafs[o], + f( + t, + a.scissorX, + a.scissorY, + a.scissorWidth, + a.viewBoxSize[1] + )), + r.clearOnly || + ((a.count = 2 * c), + (a.offset = 2 * l * n), + e(a), + l * n + c < i && + (r.currentRafs[o] = window.requestAnimationFrame( + function () { + s(l + 1); + } + )), + (r.drawCompleted = !1)); + })(0); + } + function p(t, e) { + for (var r = new Array(256), n = 0; n < 256; n++) + r[n] = t(n / 255).concat(e); + return r; + } + function d(t, e) { + return ((t >>> (8 * e)) % 256) / 255; + } + function g(t, e, r) { + for (var n = new Array(8 * e), i = 0, a = 0; a < e; a++) + for (var o = 0; o < 2; o++) + for (var s = 0; s < 4; s++) { + var l = 4 * t + s, + c = r[64 * a + l]; + 63 === l && 0 === o && (c *= -1), (n[i++] = c); + } + return n; + } + function m(t) { + var e = '0' + t; + return e.substr(e.length - 2); + } + function v(t) { + return t < o ? 'p' + m(t + 1) + '_' + m(t + 4) : 'colors'; + } + function y(t, e, r, n, i, a, o, l, c, u, f, h, p) { + for (var d = [[], []], g = 0; g < 64; g++) + (d[0][g] = g === i ? 1 : 0), (d[1][g] = g === a ? 1 : 0); + var m = t.lines.canvasOverdrag, + v = t.domain, + y = t.canvasWidth, + x = t.canvasHeight, + b = t.deselectedLines.color; + return s.extendFlat( + { + key: f, + resolution: [y, x], + viewBoxPos: [o + m, l], + viewBoxSize: [c, u], + i0: i, + i1: a, + dim0A: d[0].slice(0, 16), + dim0B: d[0].slice(16, 32), + dim0C: d[0].slice(32, 48), + dim0D: d[0].slice(48, 64), + dim1A: d[1].slice(0, 16), + dim1B: d[1].slice(16, 32), + dim1C: d[1].slice(32, 48), + dim1D: d[1].slice(48, 64), + drwLayer: h, + contextColor: [ + b[0] / 255, + b[1] / 255, + b[2] / 255, + b[3] < 1 + ? b[3] + : Math.max( + 1 / 255, + Math.pow(1 / t.lines.color.length, 1 / 3) + ), + ], + scissorX: + (n === e ? 0 : o + m) + + (t.pad.l - m) + + t.layoutWidth * v.x[0], + scissorWidth: + (n === r ? y - o + m : c + 0.5) + (n === e ? o + m : 0), + scissorY: l + t.pad.b + t.layoutHeight * v.y[0], + scissorHeight: u, + viewportX: t.pad.l - m + t.layoutWidth * v.x[0], + viewportY: t.pad.b + t.layoutHeight * v.y[0], + viewportWidth: y, + viewportHeight: x, + }, + p + ); + } + function x(t) { + var e = Math.max(0, Math.floor(2047 * t[0]), 0), + r = Math.min(2047, Math.ceil(2047 * t[1]), 2047); + return [Math.min(e, r), Math.max(e, r)]; + } + e.exports = function (t, e) { + var r, + n, + l, + m, + b, + _ = e.context, + w = e.pick, + T = e.regl, + k = { currentRafs: {}, drawCompleted: !0, clearOnly: !1 }, + M = (function (t) { + for (var e = {}, r = 0; r <= o; r += 4) + e[v(r)] = t.buffer({ + usage: 'dynamic', + type: 'float', + data: new Uint8Array(0), + }); + return e; + })(T), + A = T.texture(u), + S = []; + C(e); + var E = T({ + profile: !1, + blend: { + enable: _, + func: { + srcRGB: 'src alpha', + dstRGB: 'one minus src alpha', + srcAlpha: 1, + dstAlpha: 1, + }, + equation: { rgb: 'add', alpha: 'add' }, + color: [0, 0, 0, 0], + }, + depth: { enable: !_, mask: !0, func: 'less', range: [0, 1] }, + cull: { enable: !0, face: 'back' }, + scissor: { + enable: !0, + box: { + x: T.prop('scissorX'), + y: T.prop('scissorY'), + width: T.prop('scissorWidth'), + height: T.prop('scissorHeight'), + }, + }, + viewport: { + x: T.prop('viewportX'), + y: T.prop('viewportY'), + width: T.prop('viewportWidth'), + height: T.prop('viewportHeight'), + }, + dither: !1, + vert: i, + frag: a, + primitive: 'lines', + lineWidth: 1, + attributes: M, + uniforms: { + resolution: T.prop('resolution'), + viewBoxPos: T.prop('viewBoxPos'), + viewBoxSize: T.prop('viewBoxSize'), + dim0A: T.prop('dim0A'), + dim1A: T.prop('dim1A'), + dim0B: T.prop('dim0B'), + dim1B: T.prop('dim1B'), + dim0C: T.prop('dim0C'), + dim1C: T.prop('dim1C'), + dim0D: T.prop('dim0D'), + dim1D: T.prop('dim1D'), + loA: T.prop('loA'), + hiA: T.prop('hiA'), + loB: T.prop('loB'), + hiB: T.prop('hiB'), + loC: T.prop('loC'), + hiC: T.prop('hiC'), + loD: T.prop('loD'), + hiD: T.prop('hiD'), + palette: A, + contextColor: T.prop('contextColor'), + mask: T.prop('maskTexture'), + drwLayer: T.prop('drwLayer'), + maskHeight: T.prop('maskHeight'), + }, + offset: T.prop('offset'), + count: T.prop('count'), + }); + function C(t) { + (r = t.model), + (n = t.viewModel), + (l = n.dimensions.slice()), + (m = l[0] ? l[0].values.length : 0); + var e = r.lines, + i = w + ? e.color.map(function (t, r) { + return r / e.color.length; + }) + : e.color, + a = (function (t, e, r) { + for ( + var n, i = new Array(t * (o + 4)), a = 0, s = 0; + s < t; + s++ + ) { + for (var l = 0; l < o; l++) + i[a++] = l < e.length ? e[l].paddedUnitValues[s] : 0.5; + (i[a++] = d(s, 2)), + (i[a++] = d(s, 1)), + (i[a++] = d(s, 0)), + (i[a++] = + ((n = r[s]), Math.max(1e-6, Math.min(0.999999, n)))); + } + return i; + })(m, l, i); + !(function (t, e, r) { + for (var n = 0; n <= o; n += 4) t[v(n)](g(n / 4, e, r)); + })(M, m, a), + _ || + w || + (A = T.texture( + s.extendFlat({ data: p(r.unitToColor, 255) }, u) + )); + } + return { + render: function (t, e, n) { + var i, + a, + o, + s = t.length, + c = 1 / 0, + u = -1 / 0; + for (i = 0; i < s; i++) + t[i].dim0.canvasX < c && ((c = t[i].dim0.canvasX), (a = i)), + t[i].dim1.canvasX > u && ((u = t[i].dim1.canvasX), (o = i)); + 0 === s && f(T, 0, 0, r.canvasWidth, r.canvasHeight); + var p = (function (t) { + var e, + r, + n, + i = [[], []]; + for (n = 0; n < 64; n++) { + var a = + !t && n < l.length + ? l[n].brush.filter.getBounds() + : [-1 / 0, 1 / 0]; + (i[0][n] = a[0]), (i[1][n] = a[1]); + } + var o = new Array(16384); + for (e = 0; e < 16384; e++) o[e] = 255; + if (!t) + for (e = 0; e < l.length; e++) { + var s = e % 8, + c = (e - s) / 8, + u = Math.pow(2, s), + f = l[e].brush.filter.get(); + if (!(f.length < 2)) { + var h = x(f[0])[1]; + for (r = 1; r < f.length; r++) { + var p = x(f[r]); + for (n = h + 1; n < p[0]; n++) o[8 * n + c] &= ~u; + h = Math.max(h, p[1]); + } + } + } + var d = { + shape: [8, 2048], + format: 'alpha', + type: 'uint8', + mag: 'nearest', + min: 'nearest', + data: o, + }; + return ( + b ? b(d) : (b = T.texture(d)), + { + maskTexture: b, + maskHeight: 2048, + loA: i[0].slice(0, 16), + loB: i[0].slice(16, 32), + loC: i[0].slice(32, 48), + loD: i[0].slice(48, 64), + hiA: i[1].slice(0, 16), + hiB: i[1].slice(16, 32), + hiC: i[1].slice(32, 48), + hiD: i[1].slice(48, 64), + } + ); + })(_); + for (i = 0; i < s; i++) { + var d = t[i], + g = d.dim0.crossfilterDimensionIndex, + v = d.dim1.crossfilterDimensionIndex, + M = d.canvasX, + A = d.canvasY, + C = M + d.panelSizeX; + if (e || !S[g] || S[g][0] !== M || S[g][1] !== C) { + S[g] = [M, C]; + var L = y( + r, + a, + o, + i, + g, + v, + M, + A, + d.panelSizeX, + d.panelSizeY, + d.dim0.crossfilterDimensionIndex, + _ ? 0 : w ? 2 : 1, + p + ); + k.clearOnly = n; + var I = e ? r.lines.blockLineCount : m; + h(T, E, k, I, m, L); + } + } + }, + readPixel: function (t, e) { + return T.read({ x: t, y: e, width: 1, height: 1, data: c }), c; + }, + readPixels: function (t, e, r, n) { + var i = new Uint8Array(4 * r * n); + return T.read({ x: t, y: e, width: r, height: n, data: i }), i; + }, + destroy: function () { + for (var e in ((t.style['pointer-events'] = 'none'), + A.destroy(), + b && b.destroy(), + M)) + M[e].destroy(); + }, + update: C, + }; + }; + }, + { '../../lib': 778, './constants': 1153, glslify: 439 }, + ], + 1158: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n) { + var i, a; + for (n || (n = 1 / 0), i = 0; i < e.length; i++) + (a = e[i]).visible && (n = Math.min(n, a[r].length)); + for ( + n === 1 / 0 && (n = 0), t._length = n, i = 0; + i < e.length; + i++ + ) + (a = e[i]).visible && (a._length = n); + return n; + }; + }, + {}, + ], + 1159: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('color-rgba'), + a = t('../../plots/cartesian/axes'), + o = t('../../lib'), + s = o.strRotate, + l = o.strTranslate, + c = t('../../lib/svg_text_utils'), + u = t('../../components/drawing'), + f = t('../../components/colorscale'), + h = t('../../lib/gup'), + p = h.keyFun, + d = h.repeat, + g = h.unwrap, + m = t('./helpers'), + v = t('./constants'), + y = t('./axisbrush'), + x = t('./lines'); + function b(t, e, r) { + return o.aggNums(t, null, e, r); + } + function _(t, e) { + return T(b(Math.min, t, e), b(Math.max, t, e)); + } + function w(t) { + var e = t.range; + return e ? T(e[0], e[1]) : _(t.values, t._length); + } + function T(t, e) { + return ( + (!isNaN(t) && isFinite(t)) || (t = 0), + (!isNaN(e) && isFinite(e)) || (e = 0), + t === e && + (0 === t ? ((t -= 1), (e += 1)) : ((t *= 0.9), (e *= 1.1))), + [t, e] + ); + } + function k(t, e, r, i, a) { + var o, + s, + l = w(r); + return i + ? n.scale + .ordinal() + .domain( + i.map( + ((o = n.format(r.tickformat)), + (s = a), + s + ? function (t, e) { + var r = s[e]; + return null == r ? o(t) : r; + } + : o) + ) + ) + .range( + i.map(function (r) { + var n = (r - l[0]) / (l[1] - l[0]); + return t - e + n * (2 * e - t); + }) + ) + : n.scale + .linear() + .domain(l) + .range([t - e, e]); + } + function M(t) { + if (t.tickvals) { + var e = w(t); + return n.scale + .ordinal() + .domain(t.tickvals) + .range( + t.tickvals.map(function (t) { + return (t - e[0]) / (e[1] - e[0]); + }) + ); + } + } + function A(t) { + var e = t.map(function (t) { + return t[0]; + }), + r = t.map(function (t) { + var e = i(t[1]); + return n.rgb('rgb(' + e[0] + ',' + e[1] + ',' + e[2] + ')'); + }), + a = 'rgb'.split('').map(function (t) { + return n.scale + .linear() + .clamp(!0) + .domain(e) + .range( + r.map( + ((i = t), + function (t) { + return t[i]; + }) + ) + ); + var i; + }); + return function (t) { + return a.map(function (e) { + return e(t); + }); + }; + } + function S(t) { + return t.dimensions.some(function (t) { + return t.brush.filterSpecified; + }); + } + function E(t, e, r) { + var a = g(e), + s = a.trace, + l = m.convertTypedArray(a.lineColor), + c = s.line, + u = { color: i(v.deselectedLineColor) }, + h = f.extractOpts(c), + p = h.reversescale ? f.flipScale(a.cscale) : a.cscale, + d = s.domain, + y = s.dimensions, + x = t.width, + b = s.labelangle, + _ = s.labelside, + T = s.labelfont, + k = s.tickfont, + M = s.rangefont, + S = o.extendDeepNoArrays({}, c, { + color: l.map( + n.scale + .linear() + .domain( + w({ + values: l, + range: [h.min, h.max], + _length: s._length, + }) + ) + ), + blockLineCount: v.blockLineCount, + canvasOverdrag: v.overdrag * v.canvasPixelRatio, + }), + E = Math.floor(x * (d.x[1] - d.x[0])), + C = Math.floor(t.height * (d.y[1] - d.y[0])), + L = t.margin || { l: 80, r: 80, t: 100, b: 80 }, + I = E, + P = C; + return { + key: r, + colCount: y.filter(m.isVisible).length, + dimensions: y, + tickDistance: v.tickDistance, + unitToColor: A(p), + lines: S, + deselectedLines: u, + labelAngle: b, + labelSide: _, + labelFont: T, + tickFont: k, + rangeFont: M, + layoutWidth: x, + layoutHeight: t.height, + domain: d, + translateX: d.x[0] * x, + translateY: t.height - d.y[1] * t.height, + pad: L, + canvasWidth: I * v.canvasPixelRatio + 2 * S.canvasOverdrag, + canvasHeight: P * v.canvasPixelRatio, + width: I, + height: P, + canvasPixelRatio: v.canvasPixelRatio, + }; + } + function C(t, e, r) { + var i = r.width, + a = r.height, + s = r.dimensions, + l = r.canvasPixelRatio, + c = function (t) { + return (i * t) / Math.max(1, r.colCount - 1); + }, + u = v.verticalPadding / a, + f = (function (t, e) { + return n.scale.linear().range([e, t - e]); + })(a, v.verticalPadding), + h = { key: r.key, xScale: c, model: r, inBrushDrag: !1 }, + p = {}; + return ( + (h.dimensions = s.filter(m.isVisible).map(function (i, s) { + var d = (function (t, e) { + return n.scale + .linear() + .domain(w(t)) + .range([e, 1 - e]); + })(i, u), + g = p[i.label]; + p[i.label] = (g || 0) + 1; + var x = i.label + (g ? '__' + g : ''), + b = i.constraintrange, + _ = b && b.length; + _ && !Array.isArray(b[0]) && (b = [b]); + var T = _ + ? b.map(function (t) { + return t.map(d); + }) + : [[-1 / 0, 1 / 0]], + A = i.values; + A.length > i._length && (A = A.slice(0, i._length)); + var E, + C = i.tickvals; + function L(t, e) { + return { val: t, text: E[e] }; + } + function I(t, e) { + return t.val - e.val; + } + if (Array.isArray(C) && C.length) { + (E = i.ticktext), + Array.isArray(E) && E.length + ? E.length > C.length + ? (E = E.slice(0, C.length)) + : C.length > E.length && (C = C.slice(0, E.length)) + : (E = C.map(n.format(i.tickformat))); + for (var P = 1; P < C.length; P++) + if (C[P] < C[P - 1]) { + for (var z = C.map(L).sort(I), O = 0; O < C.length; O++) + (C[O] = z[O].val), (E[O] = z[O].text); + break; + } + } else C = void 0; + return ( + (A = m.convertTypedArray(A)), + { + key: x, + label: i.label, + tickFormat: i.tickformat, + tickvals: C, + ticktext: E, + ordinal: m.isOrdinal(i), + multiselect: i.multiselect, + xIndex: s, + crossfilterDimensionIndex: s, + visibleIndex: i._index, + height: a, + values: A, + paddedUnitValues: A.map(d), + unitTickvals: C && C.map(d), + xScale: c, + x: c(s), + canvasX: c(s) * l, + unitToPaddedPx: f, + domainScale: k(a, v.verticalPadding, i, C, E), + ordinalScale: M(i), + parent: h, + model: r, + brush: y.makeBrush( + t, + _, + T, + function () { + t.linePickActive(!1); + }, + function () { + var e = h; + e.focusLayer && e.focusLayer.render(e.panels, !0); + var r = S(e); + !t.contextShown() && r + ? (e.contextLayer && + e.contextLayer.render(e.panels, !0), + t.contextShown(!0)) + : t.contextShown() && + !r && + (e.contextLayer && + e.contextLayer.render(e.panels, !0, !0), + t.contextShown(!1)); + }, + function (r) { + if ( + (h.focusLayer.render(h.panels, !0), + h.pickLayer && h.pickLayer.render(h.panels, !0), + t.linePickActive(!0), + e && e.filterChanged) + ) { + var n = d.invert, + a = r + .map(function (t) { + return t.map(n).sort(o.sorterAsc); + }) + .sort(function (t, e) { + return t[0] - e[0]; + }); + e.filterChanged(h.key, i._index, a); + } + } + ), + } + ); + })), + h + ); + } + function L(t) { + t.classed(v.cn.axisExtentText, !0) + .attr('text-anchor', 'middle') + .style('cursor', 'default'); + } + function I(t, e) { + var r = 'top' === e ? 1 : -1, + n = (t * Math.PI) / 180; + return { dir: r, dx: Math.sin(n), dy: Math.cos(n), degrees: t }; + } + function P(t, e) { + for ( + var r = e.panels || (e.panels = []), n = t.data(), i = 0; + i < n.length - 1; + i++ + ) { + var a = r[i] || (r[i] = {}), + o = n[i], + s = n[i + 1]; + (a.dim0 = o), + (a.dim1 = s), + (a.canvasX = o.canvasX), + (a.panelSizeX = s.canvasX - o.canvasX), + (a.panelSizeY = e.model.canvasHeight), + (a.y = 0), + (a.canvasY = 0); + } + } + function z(t, e) { + return a.tickText(t._ax, e, !1).text; + } + function O(t, e) { + if (t.ordinal) return ''; + var r = t.domainScale.domain(), + n = r[e ? r.length - 1 : 0]; + return z(t.model.dimensions[t.visibleIndex], n); + } + e.exports = function (t, e, r, i) { + var f = t._fullLayout, + h = f._toppaper, + b = f._glcontainer; + !(function (t) { + for (var e = 0; e < t.length; e++) + for (var r = 0; r < t[e].length; r++) + for ( + var n = t[e][r].trace, i = n.dimensions, o = 0; + o < i.length; + o++ + ) { + var s = i[o].values, + l = i[o]._ax; + l && + (l.range + ? (l.range = T(l.range[0], l.range[1])) + : (l.range = _(s, n._length)), + l.dtick || + (l.dtick = + 0.01 * (Math.abs(l.range[1] - l.range[0]) || 1)), + (l.tickformat = i[o].tickformat), + a.calcTicks(l), + l.cleanRange()); + } + })(e); + var w, + k, + M = + ((w = !0), + (k = !1), + { + linePickActive: function (t) { + return arguments.length ? (w = !!t) : w; + }, + contextShown: function (t) { + return arguments.length ? (k = !!t) : k; + }, + }), + A = e + .filter(function (t) { + return g(t).trace.visible; + }) + .map(E.bind(0, r)) + .map(C.bind(0, M, i)); + b.each(function (t, e) { + return o.extendFlat(t, A[e]); + }); + var D = b.selectAll('.gl-canvas').each(function (t) { + (t.viewModel = A[0]), + (t.model = t.viewModel ? t.viewModel.model : null); + }), + R = null; + D.filter(function (t) { + return t.pick; + }) + .style('pointer-events', 'auto') + .on('mousemove', function (t) { + if (M.linePickActive() && t.lineLayer && i && i.hover) { + var e = n.event, + r = this.width, + a = this.height, + o = n.mouse(this), + s = o[0], + l = o[1]; + if (s < 0 || l < 0 || s >= r || l >= a) return; + var c = t.lineLayer.readPixel(s, a - 1 - l), + u = 0 !== c[3], + f = u ? c[2] + 256 * (c[1] + 256 * c[0]) : null, + h = { + x: s, + y: l, + clientX: e.clientX, + clientY: e.clientY, + dataIndex: t.model.key, + curveNumber: f, + }; + f !== R && + (u ? i.hover(h) : i.unhover && i.unhover(h), (R = f)); + } + }), + D.style('opacity', function (t) { + return t.pick ? 0 : 1; + }), + h.style('background', 'rgba(255, 255, 255, 0)'); + var F = h.selectAll('.' + v.cn.parcoords).data(A, p); + F.exit().remove(), + F.enter() + .append('g') + .classed(v.cn.parcoords, !0) + .style('shape-rendering', 'crispEdges') + .style('pointer-events', 'none'), + F.attr('transform', function (t) { + return l(t.model.translateX, t.model.translateY); + }); + var B = F.selectAll('.' + v.cn.parcoordsControlView).data(d, p); + B.enter().append('g').classed(v.cn.parcoordsControlView, !0), + B.attr('transform', function (t) { + return l(t.model.pad.l, t.model.pad.t); + }); + var N = B.selectAll('.' + v.cn.yAxis).data(function (t) { + return t.dimensions; + }, p); + N.enter().append('g').classed(v.cn.yAxis, !0), + B.each(function (t) { + P(N, t); + }), + D.each(function (t) { + if (t.viewModel) { + !t.lineLayer || i + ? (t.lineLayer = x(this, t)) + : t.lineLayer.update(t), + (t.key || 0 === t.key) && + (t.viewModel[t.key] = t.lineLayer); + var e = !t.context || i; + t.lineLayer.render(t.viewModel.panels, e); + } + }), + N.attr('transform', function (t) { + return l(t.xScale(t.xIndex), 0); + }), + N.call( + n.behavior + .drag() + .origin(function (t) { + return t; + }) + .on('drag', function (t) { + var e = t.parent; + M.linePickActive(!1), + (t.x = Math.max( + -v.overdrag, + Math.min(t.model.width + v.overdrag, n.event.x) + )), + (t.canvasX = t.x * t.model.canvasPixelRatio), + N.sort(function (t, e) { + return t.x - e.x; + }).each(function (e, r) { + (e.xIndex = r), + (e.x = t === e ? e.x : e.xScale(e.xIndex)), + (e.canvasX = e.x * e.model.canvasPixelRatio); + }), + P(N, e), + N.filter(function (e) { + return 0 !== Math.abs(t.xIndex - e.xIndex); + }).attr('transform', function (t) { + return l(t.xScale(t.xIndex), 0); + }), + n.select(this).attr('transform', l(t.x, 0)), + N.each(function (r, n, i) { + i === t.parent.key && (e.dimensions[n] = r); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !S(e)), + e.focusLayer.render && e.focusLayer.render(e.panels); + }) + .on('dragend', function (t) { + var e = t.parent; + (t.x = t.xScale(t.xIndex)), + (t.canvasX = t.x * t.model.canvasPixelRatio), + P(N, e), + n.select(this).attr('transform', function (t) { + return l(t.x, 0); + }), + e.contextLayer && + e.contextLayer.render(e.panels, !1, !S(e)), + e.focusLayer && e.focusLayer.render(e.panels), + e.pickLayer && e.pickLayer.render(e.panels, !0), + M.linePickActive(!0), + i && + i.axesMoved && + i.axesMoved( + e.key, + e.dimensions.map(function (t) { + return t.crossfilterDimensionIndex; + }) + ); + }) + ), + N.exit().remove(); + var j = N.selectAll('.' + v.cn.axisOverlays).data(d, p); + j.enter().append('g').classed(v.cn.axisOverlays, !0), + j.selectAll('.' + v.cn.axis).remove(); + var U = j.selectAll('.' + v.cn.axis).data(d, p); + U.enter().append('g').classed(v.cn.axis, !0), + U.each(function (t) { + var e = t.model.height / t.model.tickDistance, + r = t.domainScale, + i = r.domain(); + n.select(this).call( + n.svg + .axis() + .orient('left') + .tickSize(4) + .outerTickSize(2) + .ticks(e, t.tickFormat) + .tickValues(t.ordinal ? i : null) + .tickFormat(function (e) { + return m.isOrdinal(t) + ? e + : z(t.model.dimensions[t.visibleIndex], e); + }) + .scale(r) + ), + u.font(U.selectAll('text'), t.model.tickFont); + }), + U.selectAll('.domain, .tick>line') + .attr('fill', 'none') + .attr('stroke', 'black') + .attr('stroke-opacity', 0.25) + .attr('stroke-width', '1px'), + U.selectAll('text') + .style( + 'text-shadow', + '1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff' + ) + .style('cursor', 'default'); + var V = j.selectAll('.' + v.cn.axisHeading).data(d, p); + V.enter().append('g').classed(v.cn.axisHeading, !0); + var q = V.selectAll('.' + v.cn.axisTitle).data(d, p); + q + .enter() + .append('text') + .classed(v.cn.axisTitle, !0) + .attr('text-anchor', 'middle') + .style('cursor', 'ew-resize') + .style('pointer-events', 'auto'), + q + .text(function (t) { + return t.label; + }) + .each(function (e) { + var r = n.select(this); + u.font(r, e.model.labelFont), c.convertToTspans(r, t); + }) + .attr('transform', function (t) { + var e = I(t.model.labelAngle, t.model.labelSide), + r = v.axisTitleOffset; + return ( + (e.dir > 0 ? '' : l(0, 2 * r + t.model.height)) + + s(e.degrees) + + l(-r * e.dx, -r * e.dy) + ); + }) + .attr('text-anchor', function (t) { + var e = I(t.model.labelAngle, t.model.labelSide); + return 2 * Math.abs(e.dx) > Math.abs(e.dy) + ? e.dir * e.dx < 0 + ? 'start' + : 'end' + : 'middle'; + }); + var H = j.selectAll('.' + v.cn.axisExtent).data(d, p); + H.enter().append('g').classed(v.cn.axisExtent, !0); + var G = H.selectAll('.' + v.cn.axisExtentTop).data(d, p); + G.enter().append('g').classed(v.cn.axisExtentTop, !0), + G.attr('transform', l(0, -v.axisExtentOffset)); + var Y = G.selectAll('.' + v.cn.axisExtentTopText).data(d, p); + Y.enter() + .append('text') + .classed(v.cn.axisExtentTopText, !0) + .call(L), + Y.text(function (t) { + return O(t, !0); + }).each(function (t) { + u.font(n.select(this), t.model.rangeFont); + }); + var W = H.selectAll('.' + v.cn.axisExtentBottom).data(d, p); + W.enter().append('g').classed(v.cn.axisExtentBottom, !0), + W.attr('transform', function (t) { + return l(0, t.model.height + v.axisExtentOffset); + }); + var X = W.selectAll('.' + v.cn.axisExtentBottomText).data(d, p); + X.enter() + .append('text') + .classed(v.cn.axisExtentBottomText, !0) + .attr('dy', '0.75em') + .call(L), + X.text(function (t) { + return O(t, !1); + }).each(function (t) { + u.font(n.select(this), t.model.rangeFont); + }), + y.ensureAxisBrush(j); + }; + }, + { + '../../components/colorscale': 655, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/gup': 775, + '../../lib/svg_text_utils': 803, + '../../plots/cartesian/axes': 828, + './axisbrush': 1150, + './constants': 1153, + './helpers': 1155, + './lines': 1157, + 'color-rgba': 127, + d3: 169, + }, + ], + 1160: [ + function (t, e, r) { + 'use strict'; + var n = t('./parcoords'), + i = t('../../lib/prepare_regl'), + a = t('./helpers').isVisible; + function o(t, e, r) { + var n = e.indexOf(r), + i = t.indexOf(n); + return -1 === i && (i += e.length), i; + } + e.exports = function (t, e) { + var r = t._fullLayout; + if (i(t)) { + var s = {}, + l = {}, + c = {}, + u = {}, + f = r._size; + e.forEach(function (e, r) { + var n = e[0].trace; + c[r] = n.index; + var i = (u[r] = n._fullInput.index); + (s[r] = t.data[i].dimensions), + (l[r] = t.data[i].dimensions.slice()); + }); + n( + t, + e, + { + width: f.w, + height: f.h, + margin: { t: f.t, r: f.r, b: f.b, l: f.l }, + }, + { + filterChanged: function (e, n, i) { + var a = l[e][n], + o = i.map(function (t) { + return t.slice(); + }), + s = 'dimensions[' + n + '].constraintrange', + f = r._tracePreGUI[t._fullData[c[e]]._fullInput.uid]; + if (void 0 === f[s]) { + var h = a.constraintrange; + f[s] = h || null; + } + var p = t._fullData[c[e]].dimensions[n]; + o.length + ? (1 === o.length && (o = o[0]), + (a.constraintrange = o), + (p.constraintrange = o.slice()), + (o = [o])) + : (delete a.constraintrange, + delete p.constraintrange, + (o = null)); + var d = {}; + (d[s] = o), t.emit('plotly_restyle', [d, [u[e]]]); + }, + hover: function (e) { + t.emit('plotly_hover', e); + }, + unhover: function (e) { + t.emit('plotly_unhover', e); + }, + axesMoved: function (e, r) { + var n = (function (t, e) { + return function (r, n) { + return o(t, e, r) - o(t, e, n); + }; + })(r, l[e].filter(a)); + s[e].sort(n), + l[e] + .filter(function (t) { + return !a(t); + }) + .sort(function (t) { + return l[e].indexOf(t); + }) + .forEach(function (t) { + s[e].splice(s[e].indexOf(t), 1), + s[e].splice(l[e].indexOf(t), 0, t); + }), + t.emit('plotly_restyle', [ + { dimensions: [s[e]] }, + [u[e]], + ]); + }, + } + ); + } + }; + }, + { + '../../lib/prepare_regl': 791, + './helpers': 1155, + './parcoords': 1159, + }, + ], + 1161: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/attributes'), + i = t('../../plots/domain').attributes, + a = t('../../plots/font_attributes'), + o = t('../../components/color/attributes'), + s = t('../../plots/template_attributes').hovertemplateAttrs, + l = t('../../plots/template_attributes').texttemplateAttrs, + c = t('../../lib/extend').extendFlat, + u = a({ editType: 'plot', arrayOk: !0, colorEditType: 'plot' }); + e.exports = { + labels: { valType: 'data_array', editType: 'calc' }, + label0: { valType: 'number', dflt: 0, editType: 'calc' }, + dlabel: { valType: 'number', dflt: 1, editType: 'calc' }, + values: { valType: 'data_array', editType: 'calc' }, + marker: { + colors: { valType: 'data_array', editType: 'calc' }, + line: { + color: { + valType: 'color', + dflt: o.defaultLine, + arrayOk: !0, + editType: 'style', + }, + width: { + valType: 'number', + min: 0, + dflt: 0, + arrayOk: !0, + editType: 'style', + }, + editType: 'calc', + }, + editType: 'calc', + }, + text: { valType: 'data_array', editType: 'plot' }, + hovertext: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'style', + }, + scalegroup: { valType: 'string', dflt: '', editType: 'calc' }, + textinfo: { + valType: 'flaglist', + flags: ['label', 'text', 'value', 'percent'], + extras: ['none'], + editType: 'calc', + }, + hoverinfo: c({}, n.hoverinfo, { + flags: ['label', 'text', 'value', 'percent', 'name'], + }), + hovertemplate: s( + {}, + { keys: ['label', 'color', 'value', 'percent', 'text'] } + ), + texttemplate: l( + { editType: 'plot' }, + { keys: ['label', 'color', 'value', 'percent', 'text'] } + ), + textposition: { + valType: 'enumerated', + values: ['inside', 'outside', 'auto', 'none'], + dflt: 'auto', + arrayOk: !0, + editType: 'plot', + }, + textfont: c({}, u, {}), + insidetextorientation: { + valType: 'enumerated', + values: ['horizontal', 'radial', 'tangential', 'auto'], + dflt: 'auto', + editType: 'plot', + }, + insidetextfont: c({}, u, {}), + outsidetextfont: c({}, u, {}), + automargin: { valType: 'boolean', dflt: !1, editType: 'plot' }, + title: { + text: { valType: 'string', dflt: '', editType: 'plot' }, + font: c({}, u, {}), + position: { + valType: 'enumerated', + values: [ + 'top left', + 'top center', + 'top right', + 'middle center', + 'bottom left', + 'bottom center', + 'bottom right', + ], + editType: 'plot', + }, + editType: 'plot', + }, + domain: i({ name: 'pie', trace: !0, editType: 'calc' }), + hole: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'calc', + }, + sort: { valType: 'boolean', dflt: !0, editType: 'calc' }, + direction: { + valType: 'enumerated', + values: ['clockwise', 'counterclockwise'], + dflt: 'counterclockwise', + editType: 'calc', + }, + rotation: { + valType: 'number', + min: -360, + max: 360, + dflt: 0, + editType: 'calc', + }, + pull: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + arrayOk: !0, + editType: 'calc', + }, + _deprecated: { + title: { valType: 'string', dflt: '', editType: 'calc' }, + titlefont: c({}, u, {}), + titleposition: { + valType: 'enumerated', + values: [ + 'top left', + 'top center', + 'top right', + 'middle center', + 'bottom left', + 'bottom center', + 'bottom right', + ], + editType: 'calc', + }, + }, + }; + }, + { + '../../components/color/attributes': 642, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + '../../plots/template_attributes': 906, + }, + ], + 1162: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/plots'); + (r.name = 'pie'), + (r.plot = function (t, e, i, a) { + n.plotBasePlot(r.name, t, e, i, a); + }), + (r.clean = function (t, e, i, a) { + n.cleanBasePlot(r.name, t, e, i, a); + }); + }, + { '../../plots/plots': 891 }, + ], + 1163: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('tinycolor2'), + a = t('../../components/color'), + o = {}; + function s(t) { + return function (e, r) { + return ( + !!e && + !!(e = i(e)).isValid() && + ((e = a.addOpacity(e, e.getAlpha())), t[r] || (t[r] = e), e) + ); + }; + } + function l(t, e) { + var r, + n = JSON.stringify(t), + a = e[n]; + if (!a) { + for (a = t.slice(), r = 0; r < t.length; r++) + a.push(i(t[r]).lighten(20).toHexString()); + for (r = 0; r < t.length; r++) + a.push(i(t[r]).darken(20).toHexString()); + e[n] = a; + } + return a; + } + e.exports = { + calc: function (t, e) { + var r, + i, + a = [], + o = t._fullLayout, + l = o.hiddenlabels || [], + c = e.labels, + u = e.marker.colors || [], + f = e.values, + h = e._length, + p = e._hasValues && h; + if (e.dlabel) + for (c = new Array(h), r = 0; r < h; r++) + c[r] = String(e.label0 + r * e.dlabel); + var d = {}, + g = s(o['_' + e.type + 'colormap']), + m = 0, + v = !1; + for (r = 0; r < h; r++) { + var y, x, b; + if (p) { + if (((y = f[r]), !n(y))) continue; + if ((y = +y) < 0) continue; + } else y = 1; + (void 0 !== (x = c[r]) && '' !== x) || (x = r); + var _ = d[(x = String(x))]; + void 0 === _ + ? ((d[x] = a.length), + (b = -1 !== l.indexOf(x)) || (m += y), + a.push({ + v: y, + label: x, + color: g(u[r], x), + i: r, + pts: [r], + hidden: b, + })) + : ((v = !0), + ((i = a[_]).v += y), + i.pts.push(r), + i.hidden || (m += y), + !1 === i.color && u[r] && (i.color = g(u[r], x))); + } + return ( + ('funnelarea' === e.type ? v : e.sort) && + a.sort(function (t, e) { + return e.v - t.v; + }), + a[0] && (a[0].vTotal = m), + a + ); + }, + crossTraceCalc: function (t, e) { + var r = (e || {}).type; + r || (r = 'pie'); + var n = t._fullLayout, + i = t.calcdata, + a = n[r + 'colorway'], + s = n['_' + r + 'colormap']; + n['extend' + r + 'colors'] && (a = l(a, o)); + for (var c = 0, u = 0; u < i.length; u++) { + var f = i[u]; + if (f[0].trace.type === r) + for (var h = 0; h < f.length; h++) { + var p = f[h]; + !1 === p.color && + (s[p.label] + ? (p.color = s[p.label]) + : ((s[p.label] = p.color = a[c % a.length]), c++)); + } + } + }, + makePullColorFn: s, + generateExtendedColors: l, + }; + }, + { + '../../components/color': 643, + 'fast-isnumeric': 241, + tinycolor2: 576, + }, + ], + 1164: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('./attributes'), + o = t('../../plots/domain').defaults, + s = t('../bar/defaults').handleText; + function l(t, e) { + var r = Array.isArray(t), + a = i.isArrayOrTypedArray(e), + o = Math.min(r ? t.length : 1 / 0, a ? e.length : 1 / 0); + if ((isFinite(o) || (o = 0), o && a)) { + for (var s, l = 0; l < o; l++) { + var c = e[l]; + if (n(c) && c > 0) { + s = !0; + break; + } + } + s || (o = 0); + } + return { hasLabels: r, hasValues: a, len: o }; + } + e.exports = { + handleLabelsAndValues: l, + supplyDefaults: function (t, e, r, n) { + function c(r, n) { + return i.coerce(t, e, a, r, n); + } + var u = l(c('labels'), c('values')), + f = u.len; + if ( + ((e._hasLabels = u.hasLabels), + (e._hasValues = u.hasValues), + !e._hasLabels && e._hasValues && (c('label0'), c('dlabel')), + f) + ) { + (e._length = f), + c('marker.line.width') && c('marker.line.color'), + c('marker.colors'), + c('scalegroup'); + var h, + p = c('text'), + d = c('texttemplate'); + if ( + (d || + (h = c( + 'textinfo', + Array.isArray(p) ? 'text+percent' : 'percent' + )), + c('hovertext'), + c('hovertemplate'), + d || (h && 'none' !== h)) + ) { + var g = c('textposition'); + s(t, e, n, c, g, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + (Array.isArray(g) || 'auto' === g || 'outside' === g) && + c('automargin'), + ('inside' === g || 'auto' === g || Array.isArray(g)) && + c('insidetextorientation'); + } + o(e, n, c); + var m = c('hole'); + if (c('title.text')) { + var v = c( + 'title.position', + m ? 'middle center' : 'top center' + ); + m || + 'middle center' !== v || + (e.title.position = 'top center'), + i.coerceFont(c, 'title.font', n.font); + } + c('sort'), c('direction'), c('rotation'), c('pull'); + } else e.visible = !1; + }, + }; + }, + { + '../../lib': 778, + '../../plots/domain': 855, + '../bar/defaults': 925, + './attributes': 1161, + 'fast-isnumeric': 241, + }, + ], + 1165: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx/helpers').appendArrayMultiPointValues; + e.exports = function (t, e) { + var r = { + curveNumber: e.index, + pointNumbers: t.pts, + data: e._input, + fullData: e, + label: t.label, + color: t.color, + value: t.v, + percent: t.percent, + text: t.text, + v: t.v, + }; + return ( + 1 === t.pts.length && (r.pointNumber = r.i = t.pts[0]), + n(r, e, t.pts), + 'funnelarea' === e.type && (delete r.v, delete r.i), + r + ); + }; + }, + { '../../components/fx/helpers': 679 }, + ], + 1166: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + function i(t) { + return -1 !== t.indexOf('e') + ? t.replace(/[.]?0+e/, 'e') + : -1 !== t.indexOf('.') + ? t.replace(/[.]?0+$/, '') + : t; + } + (r.formatPiePercent = function (t, e) { + var r = i((100 * t).toPrecision(3)); + return n.numSeparate(r, e) + '%'; + }), + (r.formatPieValue = function (t, e) { + var r = i(t.toPrecision(10)); + return n.numSeparate(r, e); + }), + (r.getFirstFilled = function (t, e) { + if (Array.isArray(t)) + for (var r = 0; r < e.length; r++) { + var n = t[e[r]]; + if (n || 0 === n || '' === n) return n; + } + }), + (r.castOption = function (t, e) { + return Array.isArray(t) ? r.getFirstFilled(t, e) : t || void 0; + }), + (r.getRotationAngle = function (t) { + return (('auto' === t ? 0 : t) * Math.PI) / 180; + }); + }, + { '../../lib': 778 }, + ], + 1167: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + supplyLayoutDefaults: t('./layout_defaults'), + layoutAttributes: t('./layout_attributes'), + calc: t('./calc').calc, + crossTraceCalc: t('./calc').crossTraceCalc, + plot: t('./plot').plot, + style: t('./style'), + styleOne: t('./style_one'), + moduleType: 'trace', + name: 'pie', + basePlotModule: t('./base_plot'), + categories: ['pie-like', 'pie', 'showLegend'], + meta: {}, + }; + }, + { + './attributes': 1161, + './base_plot': 1162, + './calc': 1163, + './defaults': 1164, + './layout_attributes': 1168, + './layout_defaults': 1169, + './plot': 1170, + './style': 1171, + './style_one': 1172, + }, + ], + 1168: [ + function (t, e, r) { + 'use strict'; + e.exports = { + hiddenlabels: { valType: 'data_array', editType: 'calc' }, + piecolorway: { valType: 'colorlist', editType: 'calc' }, + extendpiecolors: { valType: 'boolean', dflt: !0, editType: 'calc' }, + }; + }, + {}, + ], + 1169: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r('hiddenlabels'), + r('piecolorway', e.colorway), + r('extendpiecolors'); + }; + }, + { '../../lib': 778, './layout_attributes': 1168 }, + ], + 1170: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../plots/plots'), + a = t('../../components/fx'), + o = t('../../components/color'), + s = t('../../components/drawing'), + l = t('../../lib'), + c = l.strScale, + u = l.strTranslate, + f = t('../../lib/svg_text_utils'), + h = t('../bar/uniform_text'), + p = h.recordMinTextSize, + d = h.clearMinTextSize, + g = t('../bar/constants').TEXTPAD, + m = t('./helpers'), + v = t('./event_data'), + y = t('../../lib').isValidTextValue; + function x(t, e, r) { + var i = r[0], + o = i.trace, + s = i.cx, + c = i.cy; + '_hasHoverLabel' in o || (o._hasHoverLabel = !1), + '_hasHoverEvent' in o || (o._hasHoverEvent = !1), + t.on('mouseover', function (t) { + var r = e._fullLayout, + u = e._fullData[o.index]; + if (!e._dragging && !1 !== r.hovermode) { + var f = u.hoverinfo; + if ( + (Array.isArray(f) && + (f = a.castHoverinfo( + { + hoverinfo: [m.castOption(f, t.pts)], + _module: o._module, + }, + r, + 0 + )), + 'all' === f && (f = 'label+text+value+percent+name'), + u.hovertemplate || ('none' !== f && 'skip' !== f && f)) + ) { + var h = t.rInscribed || 0, + p = s + t.pxmid[0] * (1 - h), + d = c + t.pxmid[1] * (1 - h), + g = r.separators, + y = []; + if ( + (f && -1 !== f.indexOf('label') && y.push(t.label), + (t.text = m.castOption(u.hovertext || u.text, t.pts)), + f && -1 !== f.indexOf('text')) + ) { + var x = t.text; + l.isValidTextValue(x) && y.push(x); + } + (t.value = t.v), + (t.valueLabel = m.formatPieValue(t.v, g)), + f && -1 !== f.indexOf('value') && y.push(t.valueLabel), + (t.percent = t.v / i.vTotal), + (t.percentLabel = m.formatPiePercent(t.percent, g)), + f && + -1 !== f.indexOf('percent') && + y.push(t.percentLabel); + var b = u.hoverlabel, + _ = b.font; + a.loneHover( + { + trace: o, + x0: p - h * i.r, + x1: p + h * i.r, + y: d, + text: y.join('
'), + name: + u.hovertemplate || -1 !== f.indexOf('name') + ? u.name + : void 0, + idealAlign: t.pxmid[0] < 0 ? 'left' : 'right', + color: m.castOption(b.bgcolor, t.pts) || t.color, + borderColor: m.castOption(b.bordercolor, t.pts), + fontFamily: m.castOption(_.family, t.pts), + fontSize: m.castOption(_.size, t.pts), + fontColor: m.castOption(_.color, t.pts), + nameLength: m.castOption(b.namelength, t.pts), + textAlign: m.castOption(b.align, t.pts), + hovertemplate: m.castOption(u.hovertemplate, t.pts), + hovertemplateLabels: t, + eventData: [v(t, u)], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: e, + } + ), + (o._hasHoverLabel = !0); + } + (o._hasHoverEvent = !0), + e.emit('plotly_hover', { + points: [v(t, u)], + event: n.event, + }); + } + }), + t.on('mouseout', function (t) { + var r = e._fullLayout, + i = e._fullData[o.index], + s = n.select(this).datum(); + o._hasHoverEvent && + ((t.originalEvent = n.event), + e.emit('plotly_unhover', { + points: [v(s, i)], + event: n.event, + }), + (o._hasHoverEvent = !1)), + o._hasHoverLabel && + (a.loneUnhover(r._hoverlayer.node()), + (o._hasHoverLabel = !1)); + }), + t.on('click', function (t) { + var r = e._fullLayout, + i = e._fullData[o.index]; + e._dragging || + !1 === r.hovermode || + ((e._hoverdata = [v(t, i)]), a.click(e, n.event)); + }); + } + function b(t, e, r) { + var n = m.castOption(t.insidetextfont.color, e.pts); + !n && + t._input.textfont && + (n = m.castOption(t._input.textfont.color, e.pts)); + var i = + m.castOption(t.insidetextfont.family, e.pts) || + m.castOption(t.textfont.family, e.pts) || + r.family, + a = + m.castOption(t.insidetextfont.size, e.pts) || + m.castOption(t.textfont.size, e.pts) || + r.size; + return { color: n || o.contrast(e.color), family: i, size: a }; + } + function _(t, e) { + for (var r, n, i = 0; i < t.length; i++) + if ((n = (r = t[i][0]).trace).title.text) { + var a = n.title.text; + n._meta && (a = l.templateString(a, n._meta)); + var o = s.tester + .append('text') + .attr('data-notex', 1) + .text(a) + .call(s.font, n.title.font) + .call(f.convertToTspans, e), + c = s.bBox(o.node(), !0); + (r.titleBox = { width: c.width, height: c.height }), o.remove(); + } + } + function w(t, e, r) { + var n = r.r || e.rpx1, + i = e.rInscribed; + if (e.startangle === e.stopangle) + return { rCenter: 1 - i, scale: 0, rotate: 0, textPosAngle: 0 }; + var a, + o = e.ring, + s = + 1 === o && Math.abs(e.startangle - e.stopangle) === 2 * Math.PI, + l = e.halfangle, + c = e.midangle, + u = r.trace.insidetextorientation, + f = 'horizontal' === u, + h = 'tangential' === u, + p = 'radial' === u, + d = 'auto' === u, + g = []; + if (!d) { + var m, + v = function (r, i) { + if ( + (function (t, e) { + var r = t.startangle, + n = t.stopangle; + return (r > e && e > n) || (r < e && e < n); + })(e, r) + ) { + var s = Math.abs(r - e.startangle), + l = Math.abs(r - e.stopangle), + c = s < l ? s : l; + ((a = + 'tan' === i + ? k(t, n, o, c, 0) + : T(t, n, o, c, Math.PI / 2)).textPosAngle = r), + g.push(a); + } + }; + if (f || h) { + for (m = 4; m >= -4; m -= 2) v(Math.PI * m, 'tan'); + for (m = 4; m >= -4; m -= 2) v(Math.PI * (m + 1), 'tan'); + } + if (f || p) { + for (m = 4; m >= -4; m -= 2) v(Math.PI * (m + 1.5), 'rad'); + for (m = 4; m >= -4; m -= 2) v(Math.PI * (m + 0.5), 'rad'); + } + } + if (s || d || f) { + var y = Math.sqrt(t.width * t.width + t.height * t.height); + if ( + (((a = { + scale: (i * n * 2) / y, + rCenter: 1 - i, + rotate: 0, + }).textPosAngle = (e.startangle + e.stopangle) / 2), + a.scale >= 1) + ) + return a; + g.push(a); + } + (d || p) && + (((a = T(t, n, o, l, c)).textPosAngle = + (e.startangle + e.stopangle) / 2), + g.push(a)), + (d || h) && + (((a = k(t, n, o, l, c)).textPosAngle = + (e.startangle + e.stopangle) / 2), + g.push(a)); + for (var x = 0, b = 0, _ = 0; _ < g.length; _++) { + var w = g[_].scale; + if ((b < w && ((b = w), (x = _)), !d && b >= 1)) break; + } + return g[x]; + } + function T(t, e, r, n, i) { + e = Math.max(0, e - 2 * g); + var a = t.width / t.height, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.height, + rCenter: M(a, o / e), + rotate: A(i), + }; + } + function k(t, e, r, n, i) { + e = Math.max(0, e - 2 * g); + var a = t.height / t.width, + o = S(a, n, e, r); + return { + scale: (2 * o) / t.width, + rCenter: M(a, o / e), + rotate: A(i + Math.PI / 2), + }; + } + function M(t, e) { + return Math.cos(e) - t * e; + } + function A(t) { + return (((180 / Math.PI) * t + 720) % 180) - 90; + } + function S(t, e, r, n) { + var i = t + 1 / (2 * Math.tan(e)); + return ( + r * + Math.min( + 1 / (Math.sqrt(i * i + 0.5) + i), + n / (Math.sqrt(t * t + n / 2) + t) + ) + ); + } + function E(t, e) { + return t.v !== e.vTotal || e.trace.hole + ? Math.min(1 / (1 + 1 / Math.sin(t.halfangle)), t.ring / 2) + : 1; + } + function C(t, e) { + var r = e.pxmid[0], + n = e.pxmid[1], + i = t.width / 2, + a = t.height / 2; + return ( + r < 0 && (i *= -1), + n < 0 && (a *= -1), + { + scale: 1, + rCenter: 1, + rotate: 0, + x: i + (Math.abs(a) * (i > 0 ? 1 : -1)) / 2, + y: a / (1 + (r * r) / (n * n)), + outside: !0, + } + ); + } + function L(t, e) { + var r, + n, + i, + a = t.trace, + o = { x: t.cx, y: t.cy }, + s = { tx: 0, ty: 0 }; + (s.ty += a.title.font.size), + (i = P(a)), + -1 !== a.title.position.indexOf('top') + ? ((o.y -= (1 + i) * t.r), (s.ty -= t.titleBox.height)) + : -1 !== a.title.position.indexOf('bottom') && + (o.y += (1 + i) * t.r); + var l, + c, + u = + ((l = t.r), + (c = t.trace.aspectratio), + l / (void 0 === c ? 1 : c)), + f = (e.w * (a.domain.x[1] - a.domain.x[0])) / 2; + return ( + -1 !== a.title.position.indexOf('left') + ? ((f += u), + (o.x -= (1 + i) * u), + (s.tx += t.titleBox.width / 2)) + : -1 !== a.title.position.indexOf('center') + ? (f *= 2) + : -1 !== a.title.position.indexOf('right') && + ((f += u), + (o.x += (1 + i) * u), + (s.tx -= t.titleBox.width / 2)), + (r = f / t.titleBox.width), + (n = I(t, e) / t.titleBox.height), + { x: o.x, y: o.y, scale: Math.min(r, n), tx: s.tx, ty: s.ty } + ); + } + function I(t, e) { + var r = t.trace, + n = e.h * (r.domain.y[1] - r.domain.y[0]); + return Math.min(t.titleBox.height, n / 2); + } + function P(t) { + var e, + r = t.pull; + if (!r) return 0; + if (Array.isArray(r)) + for (r = 0, e = 0; e < t.pull.length; e++) + t.pull[e] > r && (r = t.pull[e]); + return r; + } + function z(t, e) { + for (var r = [], n = 0; n < t.length; n++) { + var i = t[n][0], + a = i.trace, + o = a.domain, + s = e.w * (o.x[1] - o.x[0]), + l = e.h * (o.y[1] - o.y[0]); + a.title.text && + 'middle center' !== a.title.position && + (l -= I(i, e)); + var c = s / 2, + u = l / 2; + 'funnelarea' !== a.type || a.scalegroup || (u /= a.aspectratio), + (i.r = Math.min(c, u) / (1 + P(a))), + (i.cx = e.l + (e.w * (a.domain.x[1] + a.domain.x[0])) / 2), + (i.cy = e.t + e.h * (1 - a.domain.y[0]) - l / 2), + a.title.text && + -1 !== a.title.position.indexOf('bottom') && + (i.cy -= I(i, e)), + a.scalegroup && + -1 === r.indexOf(a.scalegroup) && + r.push(a.scalegroup); + } + !(function (t, e) { + for (var r, n, i, a = 0; a < e.length; a++) { + var o = 1 / 0, + s = e[a]; + for (n = 0; n < t.length; n++) + if (((r = t[n][0]), (i = r.trace).scalegroup === s)) { + var l; + if ('pie' === i.type) l = r.r * r.r; + else if ('funnelarea' === i.type) { + var c, u; + i.aspectratio > 1 + ? ((c = r.r), (u = c / i.aspectratio)) + : ((u = r.r), (c = u * i.aspectratio)), + (c *= (1 + i.baseratio) / 2), + (l = c * u); + } + o = Math.min(o, l / r.vTotal); + } + for (n = 0; n < t.length; n++) + if (((r = t[n][0]), (i = r.trace).scalegroup === s)) { + var f = o * r.vTotal; + 'funnelarea' === i.type && + ((f /= (1 + i.baseratio) / 2), (f /= i.aspectratio)), + (r.r = Math.sqrt(f)); + } + } + })(t, r); + } + function O(t, e) { + return [t * Math.sin(e), -t * Math.cos(e)]; + } + function D(t, e, r) { + var n = t._fullLayout, + i = r.trace, + a = i.texttemplate, + o = i.textinfo; + if (!a && o && 'none' !== o) { + var s, + c = o.split('+'), + u = function (t) { + return -1 !== c.indexOf(t); + }, + f = u('label'), + h = u('text'), + p = u('value'), + d = u('percent'), + g = n.separators; + if (((s = f ? [e.label] : []), h)) { + var v = m.getFirstFilled(i.text, e.pts); + y(v) && s.push(v); + } + p && s.push(m.formatPieValue(e.v, g)), + d && s.push(m.formatPiePercent(e.v / r.vTotal, g)), + (e.text = s.join('
')); + } + if (a) { + var x = l.castOption(i, e.i, 'texttemplate'); + if (x) { + var b = (function (t) { + return { + label: t.label, + value: t.v, + valueLabel: m.formatPieValue(t.v, n.separators), + percent: t.v / r.vTotal, + percentLabel: m.formatPiePercent( + t.v / r.vTotal, + n.separators + ), + color: t.color, + text: t.text, + customdata: l.castOption(i, t.i, 'customdata'), + }; + })(e), + _ = m.getFirstFilled(i.text, e.pts); + (y(_) || '' === _) && (b.text = _), + (e.text = l.texttemplateString( + x, + b, + t._fullLayout._d3locale, + b, + i._meta || {} + )); + } else e.text = ''; + } + } + function R(t, e) { + var r = (t.rotate * Math.PI) / 180, + n = Math.cos(r), + i = Math.sin(r), + a = (e.left + e.right) / 2, + o = (e.top + e.bottom) / 2; + (t.textX = a * n - o * i), + (t.textY = a * i + o * n), + (t.noCenter = !0); + } + e.exports = { + plot: function (t, e) { + var r = t._fullLayout, + a = r._size; + d('pie', r), _(e, t), z(e, a); + var h = l + .makeTraceGroups(r._pielayer, e, 'trace') + .each(function (e) { + var h = n.select(this), + d = e[0], + g = d.trace; + !(function (t) { + var e, + r, + n, + i = t[0], + a = i.r, + o = i.trace, + s = m.getRotationAngle(o.rotation), + l = (2 * Math.PI) / i.vTotal, + c = 'px0', + u = 'px1'; + if ('counterclockwise' === o.direction) { + for (e = 0; e < t.length && t[e].hidden; e++); + if (e === t.length) return; + (s += l * t[e].v), (l *= -1), (c = 'px1'), (u = 'px0'); + } + for (n = O(a, s), e = 0; e < t.length; e++) + (r = t[e]).hidden || + ((r[c] = n), + (r.startangle = s), + (s += (l * r.v) / 2), + (r.pxmid = O(a, s)), + (r.midangle = s), + (s += (l * r.v) / 2), + (n = O(a, s)), + (r.stopangle = s), + (r[u] = n), + (r.largeArc = r.v > i.vTotal / 2 ? 1 : 0), + (r.halfangle = Math.PI * Math.min(r.v / i.vTotal, 0.5)), + (r.ring = 1 - o.hole), + (r.rInscribed = E(r, i))); + })(e), + h.attr('stroke-linejoin', 'round'), + h.each(function () { + var v = n.select(this).selectAll('g.slice').data(e); + v.enter().append('g').classed('slice', !0), + v.exit().remove(); + var y = [ + [[], []], + [[], []], + ], + _ = !1; + v.each(function (i, a) { + if (i.hidden) + n.select(this).selectAll('path,g').remove(); + else { + (i.pointNumber = i.i), + (i.curveNumber = g.index), + y[i.pxmid[1] < 0 ? 0 : 1][ + i.pxmid[0] < 0 ? 0 : 1 + ].push(i); + var o = d.cx, + c = d.cy, + u = n.select(this), + h = u.selectAll('path.surface').data([i]); + if ( + (h + .enter() + .append('path') + .classed('surface', !0) + .style({ 'pointer-events': 'all' }), + u.call(x, t, e), + g.pull) + ) { + var v = +m.castOption(g.pull, i.pts) || 0; + v > 0 && + ((o += v * i.pxmid[0]), (c += v * i.pxmid[1])); + } + (i.cxFinal = o), (i.cyFinal = c); + var T = g.hole; + if (i.v === d.vTotal) { + var k = + 'M' + + (o + i.px0[0]) + + ',' + + (c + i.px0[1]) + + L(i.px0, i.pxmid, !0, 1) + + L(i.pxmid, i.px0, !0, 1) + + 'Z'; + T + ? h.attr( + 'd', + 'M' + + (o + T * i.px0[0]) + + ',' + + (c + T * i.px0[1]) + + L(i.px0, i.pxmid, !1, T) + + L(i.pxmid, i.px0, !1, T) + + 'Z' + + k + ) + : h.attr('d', k); + } else { + var M = L(i.px0, i.px1, !0, 1); + if (T) { + var A = 1 - T; + h.attr( + 'd', + 'M' + + (o + T * i.px1[0]) + + ',' + + (c + T * i.px1[1]) + + L(i.px1, i.px0, !1, T) + + 'l' + + A * i.px0[0] + + ',' + + A * i.px0[1] + + M + + 'Z' + ); + } else + h.attr( + 'd', + 'M' + + o + + ',' + + c + + 'l' + + i.px0[0] + + ',' + + i.px0[1] + + M + + 'Z' + ); + } + D(t, i, d); + var S = m.castOption(g.textposition, i.pts), + E = u + .selectAll('g.slicetext') + .data(i.text && 'none' !== S ? [0] : []); + E.enter().append('g').classed('slicetext', !0), + E.exit().remove(), + E.each(function () { + var u = l.ensureSingle( + n.select(this), + 'text', + '', + function (t) { + t.attr('data-notex', 1); + } + ), + h = l.ensureUniformFontSize( + t, + 'outside' === S + ? (function (t, e, r) { + var n = + m.castOption( + t.outsidetextfont.color, + e.pts + ) || + m.castOption( + t.textfont.color, + e.pts + ) || + r.color, + i = + m.castOption( + t.outsidetextfont.family, + e.pts + ) || + m.castOption( + t.textfont.family, + e.pts + ) || + r.family, + a = + m.castOption( + t.outsidetextfont.size, + e.pts + ) || + m.castOption( + t.textfont.size, + e.pts + ) || + r.size; + return { color: n, family: i, size: a }; + })(g, i, r.font) + : b(g, i, r.font) + ); + u.text(i.text) + .attr({ + class: 'slicetext', + transform: '', + 'text-anchor': 'middle', + }) + .call(s.font, h) + .call(f.convertToTspans, t); + var v, + y = s.bBox(u.node()); + if ('outside' === S) v = C(y, i); + else if ( + ((v = w(y, i, d)), 'auto' === S && v.scale < 1) + ) { + var x = l.ensureUniformFontSize( + t, + g.outsidetextfont + ); + u.call(s.font, x), + (v = C((y = s.bBox(u.node())), i)); + } + var T = v.textPosAngle, + k = void 0 === T ? i.pxmid : O(d.r, T); + if ( + ((v.targetX = + o + k[0] * v.rCenter + (v.x || 0)), + (v.targetY = c + k[1] * v.rCenter + (v.y || 0)), + R(v, y), + v.outside) + ) { + var M = v.targetY; + (i.yLabelMin = M - y.height / 2), + (i.yLabelMid = M), + (i.yLabelMax = M + y.height / 2), + (i.labelExtraX = 0), + (i.labelExtraY = 0), + (_ = !0); + } + (v.fontSize = h.size), + p(g.type, v, r), + (e[a].transform = v), + u.attr('transform', l.getTextTransform(v)); + }); + } + function L(t, e, r, n) { + var a = n * (e[0] - t[0]), + o = n * (e[1] - t[1]); + return ( + 'a' + + n * d.r + + ',' + + n * d.r + + ' 0 ' + + i.largeArc + + (r ? ' 1 ' : ' 0 ') + + a + + ',' + + o + ); + } + }); + var T = n + .select(this) + .selectAll('g.titletext') + .data(g.title.text ? [0] : []); + if ( + (T.enter().append('g').classed('titletext', !0), + T.exit().remove(), + T.each(function () { + var e, + r = l.ensureSingle( + n.select(this), + 'text', + '', + function (t) { + t.attr('data-notex', 1); + } + ), + i = g.title.text; + g._meta && (i = l.templateString(i, g._meta)), + r + .text(i) + .attr({ + class: 'titletext', + transform: '', + 'text-anchor': 'middle', + }) + .call(s.font, g.title.font) + .call(f.convertToTspans, t), + (e = + 'middle center' === g.title.position + ? (function (t) { + var e = Math.sqrt( + t.titleBox.width * t.titleBox.width + + t.titleBox.height * t.titleBox.height + ); + return { + x: t.cx, + y: t.cy, + scale: (t.trace.hole * t.r * 2) / e, + tx: 0, + ty: + -t.titleBox.height / 2 + + t.trace.title.font.size, + }; + })(d) + : L(d, a)), + r.attr( + 'transform', + u(e.x, e.y) + + c(Math.min(1, e.scale)) + + u(e.tx, e.ty) + ); + }), + _ && + (function (t, e) { + var r, n, i, a, o, s, l, c, u, f, h, p, d; + function g(t, e) { + return t.pxmid[1] - e.pxmid[1]; + } + function v(t, e) { + return e.pxmid[1] - t.pxmid[1]; + } + function y(t, r) { + r || (r = {}); + var i, + c, + u, + h, + p = + r.labelExtraY + + (n ? r.yLabelMax : r.yLabelMin), + d = n ? t.yLabelMin : t.yLabelMax, + g = n ? t.yLabelMax : t.yLabelMin, + v = t.cyFinal + o(t.px0[1], t.px1[1]), + y = p - d; + if ( + (y * l > 0 && (t.labelExtraY = y), + Array.isArray(e.pull)) + ) + for (c = 0; c < f.length; c++) + (u = f[c]) === t || + (m.castOption(e.pull, t.pts) || 0) >= + (m.castOption(e.pull, u.pts) || 0) || + ((t.pxmid[1] - u.pxmid[1]) * l > 0 + ? (y = + u.cyFinal + + o(u.px0[1], u.px1[1]) - + d - + t.labelExtraY) * + l > + 0 && (t.labelExtraY += y) + : (g + t.labelExtraY - v) * l > 0 && + ((i = + 3 * s * Math.abs(c - f.indexOf(t))), + (h = + u.cxFinal + + a(u.px0[0], u.px1[0]) + + i - + (t.cxFinal + t.pxmid[0]) - + t.labelExtraX) * + s > + 0 && (t.labelExtraX += h))); + } + for (n = 0; n < 2; n++) + for ( + i = n ? g : v, + o = n ? Math.max : Math.min, + l = n ? 1 : -1, + r = 0; + r < 2; + r++ + ) { + for ( + a = r ? Math.max : Math.min, + s = r ? 1 : -1, + (c = t[n][r]).sort(i), + u = t[1 - n][r], + f = u.concat(c), + p = [], + h = 0; + h < c.length; + h++ + ) + void 0 !== c[h].yLabelMid && p.push(c[h]); + for (d = !1, h = 0; n && h < u.length; h++) + if (void 0 !== u[h].yLabelMid) { + d = u[h]; + break; + } + for (h = 0; h < p.length; h++) { + var x = h && p[h - 1]; + d && !h && (x = d), y(p[h], x); + } + } + })(y, g), + (function (t, e) { + t.each(function (t) { + var r = n.select(this); + if (t.labelExtraX || t.labelExtraY) { + var i = r.select('g.slicetext text'); + (t.transform.targetX += t.labelExtraX), + (t.transform.targetY += t.labelExtraY), + i.attr( + 'transform', + l.getTextTransform(t.transform) + ); + var a = t.cxFinal + t.pxmid[0], + s = 'M' + a + ',' + (t.cyFinal + t.pxmid[1]), + c = + ((t.yLabelMax - t.yLabelMin) * + (t.pxmid[0] < 0 ? -1 : 1)) / + 4; + if (t.labelExtraX) { + var u = + (t.labelExtraX * t.pxmid[1]) / t.pxmid[0], + f = + t.yLabelMid + + t.labelExtraY - + (t.cyFinal + t.pxmid[1]); + Math.abs(u) > Math.abs(f) + ? (s += + 'l' + + (f * t.pxmid[0]) / t.pxmid[1] + + ',' + + f + + 'H' + + (a + t.labelExtraX + c)) + : (s += + 'l' + + t.labelExtraX + + ',' + + u + + 'v' + + (f - u) + + 'h' + + c); + } else + s += + 'V' + (t.yLabelMid + t.labelExtraY) + 'h' + c; + l.ensureSingle(r, 'path', 'textline') + .call(o.stroke, e.outsidetextfont.color) + .attr({ + 'stroke-width': Math.min( + 2, + e.outsidetextfont.size / 8 + ), + d: s, + fill: 'none', + }); + } else r.select('path.textline').remove(); + }); + })(v, g), + _ && g.automargin) + ) { + var k = s.bBox(h.node()), + M = g.domain, + A = a.w * (M.x[1] - M.x[0]), + S = a.h * (M.y[1] - M.y[0]), + E = (0.5 * A - d.r) / a.w, + I = (0.5 * S - d.r) / a.h; + i.autoMargin(t, 'pie.' + g.uid + '.automargin', { + xl: M.x[0] - E, + xr: M.x[1] + E, + yb: M.y[0] - I, + yt: M.y[1] + I, + l: Math.max(d.cx - d.r - k.left, 0), + r: Math.max(k.right - (d.cx + d.r), 0), + b: Math.max(k.bottom - (d.cy + d.r), 0), + t: Math.max(d.cy - d.r - k.top, 0), + pad: 5, + }); + } + }); + }); + setTimeout(function () { + h.selectAll('tspan').each(function () { + var t = n.select(this); + t.attr('dy') && t.attr('dy', t.attr('dy')); + }); + }, 0); + }, + formatSliceLabel: D, + transformInsideText: w, + determineInsideTextFont: b, + positionTitleOutside: L, + prerenderTitles: _, + layoutAreas: z, + attachFxHandlers: x, + computeTransform: R, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../components/fx': 683, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../../plots/plots': 891, + '../bar/constants': 923, + '../bar/uniform_text': 937, + './event_data': 1165, + './helpers': 1166, + d3: 169, + }, + ], + 1171: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('./style_one'), + a = t('../bar/uniform_text').resizeText; + e.exports = function (t) { + var e = t._fullLayout._pielayer.selectAll('.trace'); + a(t, e, 'pie'), + e.each(function (t) { + var e = t[0].trace, + r = n.select(this); + r.style({ opacity: e.opacity }), + r.selectAll('path.surface').each(function (t) { + n.select(this).call(i, t, e); + }); + }); + }; + }, + { '../bar/uniform_text': 937, './style_one': 1172, d3: 169 }, + ], + 1172: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('./helpers').castOption; + e.exports = function (t, e, r) { + var a = r.marker.line, + o = i(a.color, e.pts) || n.defaultLine, + s = i(a.width, e.pts) || 0; + t.style('stroke-width', s).call(n.fill, e.color).call(n.stroke, o); + }; + }, + { '../../components/color': 643, './helpers': 1166 }, + ], + 1173: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'); + e.exports = { + x: n.x, + y: n.y, + xy: { valType: 'data_array', editType: 'calc' }, + indices: { valType: 'data_array', editType: 'calc' }, + xbounds: { valType: 'data_array', editType: 'calc' }, + ybounds: { valType: 'data_array', editType: 'calc' }, + text: n.text, + marker: { + color: { valType: 'color', arrayOk: !1, editType: 'calc' }, + opacity: { + valType: 'number', + min: 0, + max: 1, + dflt: 1, + arrayOk: !1, + editType: 'calc', + }, + blend: { valType: 'boolean', dflt: null, editType: 'calc' }, + sizemin: { + valType: 'number', + min: 0.1, + max: 2, + dflt: 0.5, + editType: 'calc', + }, + sizemax: { + valType: 'number', + min: 0.1, + dflt: 20, + editType: 'calc', + }, + border: { + color: { valType: 'color', arrayOk: !1, editType: 'calc' }, + arearatio: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'calc', + }, + editType: 'calc', + }, + editType: 'calc', + }, + transforms: void 0, + }; + }, + { '../scatter/attributes': 1187 }, + ], + 1174: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-pointcloud2d'), + i = t('../../lib/str2rgbarray'), + a = t('../../plots/cartesian/autorange').findExtremes, + o = t('../scatter/get_trace_color'); + function s(t, e) { + (this.scene = t), + (this.uid = e), + (this.type = 'pointcloud'), + (this.pickXData = []), + (this.pickYData = []), + (this.xData = []), + (this.yData = []), + (this.textLabels = []), + (this.color = 'rgb(0, 0, 0)'), + (this.name = ''), + (this.hoverinfo = 'all'), + (this.idToIndex = new Int32Array(0)), + (this.bounds = [0, 0, 0, 0]), + (this.pointcloudOptions = { + positions: new Float32Array(0), + idToIndex: this.idToIndex, + sizemin: 0.5, + sizemax: 12, + color: [0, 0, 0, 1], + areaRatio: 1, + borderColor: [0, 0, 0, 1], + }), + (this.pointcloud = n(t.glplot, this.pointcloudOptions)), + (this.pointcloud._trace = this); + } + var l = s.prototype; + (l.handlePick = function (t) { + var e = this.idToIndex[t.pointId]; + return { + trace: this, + dataCoord: t.dataCoord, + traceCoord: this.pickXYData + ? [this.pickXYData[2 * e], this.pickXYData[2 * e + 1]] + : [this.pickXData[e], this.pickYData[e]], + textLabel: Array.isArray(this.textLabels) + ? this.textLabels[e] + : this.textLabels, + color: this.color, + name: this.name, + pointIndex: e, + hoverinfo: this.hoverinfo, + }; + }), + (l.update = function (t) { + (this.index = t.index), + (this.textLabels = t.text), + (this.name = t.name), + (this.hoverinfo = t.hoverinfo), + (this.bounds = [1 / 0, 1 / 0, -1 / 0, -1 / 0]), + this.updateFast(t), + (this.color = o(t, {})); + }), + (l.updateFast = function (t) { + var e, + r, + n, + o, + s, + l, + c = (this.xData = this.pickXData = t.x), + u = (this.yData = this.pickYData = t.y), + f = (this.pickXYData = t.xy), + h = t.xbounds && t.ybounds, + p = t.indices, + d = this.bounds; + if (f) { + if (((n = f), (e = f.length >>> 1), h)) + (d[0] = t.xbounds[0]), + (d[2] = t.xbounds[1]), + (d[1] = t.ybounds[0]), + (d[3] = t.ybounds[1]); + else + for (l = 0; l < e; l++) + (o = n[2 * l]), + (s = n[2 * l + 1]), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + if (p) r = p; + else for (r = new Int32Array(e), l = 0; l < e; l++) r[l] = l; + } else + for ( + e = c.length, + n = new Float32Array(2 * e), + r = new Int32Array(e), + l = 0; + l < e; + l++ + ) + (o = c[l]), + (s = u[l]), + (r[l] = l), + (n[2 * l] = o), + (n[2 * l + 1] = s), + o < d[0] && (d[0] = o), + o > d[2] && (d[2] = o), + s < d[1] && (d[1] = s), + s > d[3] && (d[3] = s); + (this.idToIndex = r), + (this.pointcloudOptions.idToIndex = r), + (this.pointcloudOptions.positions = n); + var g = i(t.marker.color), + m = i(t.marker.border.color), + v = t.opacity * t.marker.opacity; + (g[3] *= v), (this.pointcloudOptions.color = g); + var y = t.marker.blend; + if (null === y) { + y = c.length < 100 || u.length < 100; + } + (this.pointcloudOptions.blend = y), + (m[3] *= v), + (this.pointcloudOptions.borderColor = m); + var x = t.marker.sizemin, + b = Math.max(t.marker.sizemax, t.marker.sizemin); + (this.pointcloudOptions.sizeMin = x), + (this.pointcloudOptions.sizeMax = b), + (this.pointcloudOptions.areaRatio = t.marker.border.arearatio), + this.pointcloud.update(this.pointcloudOptions); + var _ = this.scene.xaxis, + w = this.scene.yaxis, + T = b / 2 || 0.5; + (t._extremes[_._id] = a(_, [d[0], d[2]], { ppad: T })), + (t._extremes[w._id] = a(w, [d[1], d[3]], { ppad: T })); + }), + (l.dispose = function () { + this.pointcloud.dispose(); + }), + (e.exports = function (t, e) { + var r = new s(t, e.uid); + return r.update(e), r; + }); + }, + { + '../../lib/str2rgbarray': 802, + '../../plots/cartesian/autorange': 827, + '../scatter/get_trace_color': 1197, + 'gl-pointcloud2d': 324, + }, + ], + 1175: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'); + e.exports = function (t, e, r) { + function a(r, a) { + return n.coerce(t, e, i, r, a); + } + a('x'), + a('y'), + a('xbounds'), + a('ybounds'), + t.xy && t.xy instanceof Float32Array && (e.xy = t.xy), + t.indices && + t.indices instanceof Int32Array && + (e.indices = t.indices), + a('text'), + a('marker.color', r), + a('marker.opacity'), + a('marker.blend'), + a('marker.sizemin'), + a('marker.sizemax'), + a('marker.border.color', r), + a('marker.border.arearatio'), + (e._length = null); + }; + }, + { '../../lib': 778, './attributes': 1173 }, + ], + 1176: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('../scatter3d/calc'), + plot: t('./convert'), + moduleType: 'trace', + name: 'pointcloud', + basePlotModule: t('../../plots/gl2d'), + categories: ['gl', 'gl2d', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/gl2d': 868, + '../scatter3d/calc': 1216, + './attributes': 1173, + './convert': 1174, + './defaults': 1175, + }, + ], + 1177: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/font_attributes'), + i = t('../../plots/attributes'), + a = t('../../components/color/attributes'), + o = t('../../components/fx/attributes'), + s = t('../../plots/domain').attributes, + l = t('../../plots/template_attributes').hovertemplateAttrs, + c = t('../../components/colorscale/attributes'), + u = t('../../plot_api/plot_template').templatedArray, + f = t('../../lib/extend').extendFlat, + h = t('../../plot_api/edit_types').overrideAll; + t('../../constants/docs').FORMAT_LINK; + (e.exports = h( + { + hoverinfo: f({}, i.hoverinfo, { flags: [], arrayOk: !1 }), + hoverlabel: o.hoverlabel, + domain: s({ name: 'sankey', trace: !0 }), + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + dflt: 'h', + }, + valueformat: { valType: 'string', dflt: '.3s' }, + valuesuffix: { valType: 'string', dflt: '' }, + arrangement: { + valType: 'enumerated', + values: ['snap', 'perpendicular', 'freeform', 'fixed'], + dflt: 'snap', + }, + textfont: n({}), + customdata: void 0, + node: { + label: { valType: 'data_array', dflt: [] }, + groups: { + valType: 'info_array', + impliedEdits: { x: [], y: [] }, + dimensions: 2, + freeLength: !0, + dflt: [], + items: { valType: 'number', editType: 'calc' }, + }, + x: { valType: 'data_array', dflt: [] }, + y: { valType: 'data_array', dflt: [] }, + color: { valType: 'color', arrayOk: !0 }, + customdata: { valType: 'data_array', editType: 'calc' }, + line: { + color: { valType: 'color', dflt: a.defaultLine, arrayOk: !0 }, + width: { valType: 'number', min: 0, dflt: 0.5, arrayOk: !0 }, + }, + pad: { valType: 'number', arrayOk: !1, min: 0, dflt: 20 }, + thickness: { valType: 'number', arrayOk: !1, min: 1, dflt: 20 }, + hoverinfo: { + valType: 'enumerated', + values: ['all', 'none', 'skip'], + dflt: 'all', + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ['value', 'label'] }), + }, + link: { + label: { valType: 'data_array', dflt: [] }, + color: { valType: 'color', arrayOk: !0 }, + customdata: { valType: 'data_array', editType: 'calc' }, + line: { + color: { valType: 'color', dflt: a.defaultLine, arrayOk: !0 }, + width: { valType: 'number', min: 0, dflt: 0, arrayOk: !0 }, + }, + source: { valType: 'data_array', dflt: [] }, + target: { valType: 'data_array', dflt: [] }, + value: { valType: 'data_array', dflt: [] }, + hoverinfo: { + valType: 'enumerated', + values: ['all', 'none', 'skip'], + dflt: 'all', + }, + hoverlabel: o.hoverlabel, + hovertemplate: l({}, { keys: ['value', 'label'] }), + colorscales: u('concentrationscales', { + editType: 'calc', + label: { valType: 'string', editType: 'calc', dflt: '' }, + cmax: { valType: 'number', editType: 'calc', dflt: 1 }, + cmin: { valType: 'number', editType: 'calc', dflt: 0 }, + colorscale: f(c().colorscale, { + dflt: [ + [0, 'white'], + [1, 'black'], + ], + }), + }), + }, + }, + 'calc', + 'nested' + )).transforms = void 0; + }, + { + '../../components/color/attributes': 642, + '../../components/colorscale/attributes': 650, + '../../components/fx/attributes': 674, + '../../constants/docs': 748, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plot_api/plot_template': 817, + '../../plots/attributes': 824, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + '../../plots/template_attributes': 906, + }, + ], + 1178: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plot_api/edit_types').overrideAll, + i = t('../../plots/get_data').getModuleCalcData, + a = t('./plot'), + o = t('../../components/fx/layout_attributes'), + s = t('../../lib/setcursor'), + l = t('../../components/dragelement'), + c = t('../../plots/cartesian/select').prepSelect, + u = t('../../lib'), + f = t('../../registry'); + function h(t, e) { + var r = t._fullData[e], + n = t._fullLayout, + i = n.dragmode, + a = 'pan' === n.dragmode ? 'move' : 'crosshair', + o = r._bgRect; + if ('pan' !== i && 'zoom' !== i) { + s(o, a); + var h = { + _id: 'x', + c2p: u.identity, + _offset: r._sankey.translateX, + _length: r._sankey.width, + }, + p = { + _id: 'y', + c2p: u.identity, + _offset: r._sankey.translateY, + _length: r._sankey.height, + }, + d = { + gd: t, + element: o.node(), + plotinfo: { + id: e, + xaxis: h, + yaxis: p, + fillRangeItems: u.noop, + }, + subplot: e, + xaxes: [h], + yaxes: [p], + doneFnCompleted: function (r) { + var n, + i = t._fullData[e], + a = i.node.groups.slice(), + o = []; + function s(t) { + for ( + var e = i._sankey.graph.nodes, r = 0; + r < e.length; + r++ + ) + if (e[r].pointNumber === t) return e[r]; + } + for (var l = 0; l < r.length; l++) { + var c = s(r[l].pointNumber); + if (c) + if (c.group) { + for (var u = 0; u < c.childrenNodes.length; u++) + o.push(c.childrenNodes[u].pointNumber); + a[c.pointNumber - i.node._count] = !1; + } else o.push(c.pointNumber); + } + (n = a.filter(Boolean).concat([o])), + f.call('_guiRestyle', t, { 'node.groups': [n] }, e); + }, + prepFn: function (t, e, r) { + c(t, e, r, d, i); + }, + }; + l.init(d); + } + } + (r.name = 'sankey'), + (r.baseLayoutAttrOverrides = n( + { hoverlabel: o.hoverlabel }, + 'plot', + 'nested' + )), + (r.plot = function (t) { + var e = i(t.calcdata, 'sankey')[0]; + a(t, e), r.updateFx(t); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has('sankey'), + a = e._has && e._has('sankey'); + i && + !a && + (n._paperdiv.selectAll('.sankey').remove(), + n._paperdiv.selectAll('.bgsankey').remove()); + }), + (r.updateFx = function (t) { + for (var e = 0; e < t._fullData.length; e++) h(t, e); + }); + }, + { + '../../components/dragelement': 662, + '../../components/fx/layout_attributes': 684, + '../../lib': 778, + '../../lib/setcursor': 799, + '../../plot_api/edit_types': 810, + '../../plots/cartesian/select': 847, + '../../plots/get_data': 865, + '../../registry': 911, + './plot': 1183, + }, + ], + 1179: [ + function (t, e, r) { + 'use strict'; + var n = t('strongly-connected-components'), + i = t('../../lib'), + a = t('../../lib/gup').wrap, + o = i.isArrayOrTypedArray, + s = i.isIndex, + l = t('../../components/colorscale'); + function c(t) { + var e, + r = t.node, + a = t.link, + c = [], + u = o(a.color), + f = o(a.customdata), + h = {}, + p = {}, + d = a.colorscales.length; + for (e = 0; e < d; e++) { + var g = a.colorscales[e], + m = l.extractScale(g, { cLetter: 'c' }), + v = l.makeColorScaleFunc(m); + p[g.label] = v; + } + var y = 0; + for (e = 0; e < a.value.length; e++) + a.source[e] > y && (y = a.source[e]), + a.target[e] > y && (y = a.target[e]); + var x, + b = y + 1; + t.node._count = b; + var _ = t.node.groups, + w = {}; + for (e = 0; e < _.length; e++) { + var T = _[e]; + for (x = 0; x < T.length; x++) { + var k = T[x], + M = b + e; + w.hasOwnProperty(k) + ? i.warn('Node ' + k + ' is already part of a group.') + : (w[k] = M); + } + } + var A = { source: [], target: [] }; + for (e = 0; e < a.value.length; e++) { + var S = a.value[e], + E = a.source[e], + C = a.target[e]; + if ( + S > 0 && + s(E, b) && + s(C, b) && + (!w.hasOwnProperty(E) || !w.hasOwnProperty(C) || w[E] !== w[C]) + ) { + w.hasOwnProperty(C) && (C = w[C]), + w.hasOwnProperty(E) && (E = w[E]), + (C = +C), + (h[(E = +E)] = h[C] = !0); + var L = ''; + a.label && a.label[e] && (L = a.label[e]); + var I = null; + L && p.hasOwnProperty(L) && (I = p[L]), + c.push({ + pointNumber: e, + label: L, + color: u ? a.color[e] : a.color, + customdata: f ? a.customdata[e] : a.customdata, + concentrationscale: I, + source: E, + target: C, + value: +S, + }), + A.source.push(E), + A.target.push(C); + } + } + var P = b + _.length, + z = o(r.color), + O = o(r.customdata), + D = []; + for (e = 0; e < P; e++) + if (h[e]) { + var R = r.label[e]; + D.push({ + group: e > b - 1, + childrenNodes: [], + pointNumber: e, + label: R, + color: z ? r.color[e] : r.color, + customdata: O ? r.customdata[e] : r.customdata, + }); + } + var F = !1; + return ( + (function (t, e, r) { + for ( + var a = i.init2dArray(t, 0), o = 0; + o < Math.min(e.length, r.length); + o++ + ) + if (i.isIndex(e[o], t) && i.isIndex(r[o], t)) { + if (e[o] === r[o]) return !0; + a[e[o]].push(r[o]); + } + return n(a).components.some(function (t) { + return t.length > 1; + }); + })(P, A.source, A.target) && (F = !0), + { circular: F, links: c, nodes: D, groups: _, groupLookup: w } + ); + } + e.exports = function (t, e) { + var r = c(e); + return a({ + circular: r.circular, + _nodes: r.nodes, + _links: r.links, + _groups: r.groups, + _groupLookup: r.groupLookup, + }); + }; + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../lib/gup': 775, + 'strongly-connected-components': 569, + }, + ], + 1180: [ + function (t, e, r) { + 'use strict'; + e.exports = { + nodeTextOffsetHorizontal: 4, + nodeTextOffsetVertical: 3, + nodePadAcross: 10, + sankeyIterations: 50, + forceIterations: 5, + forceTicksPerFrame: 10, + duration: 500, + ease: 'linear', + cn: { + sankey: 'sankey', + sankeyLinks: 'sankey-links', + sankeyLink: 'sankey-link', + sankeyNodeSet: 'sankey-node-set', + sankeyNode: 'sankey-node', + nodeRect: 'node-rect', + nodeCapture: 'node-capture', + nodeCentered: 'node-entered', + nodeLabelGuide: 'node-label-guide', + nodeLabel: 'node-label', + nodeLabelTextPath: 'node-label-text-path', + }, + }; + }, + {}, + ], + 1181: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../components/color'), + o = t('tinycolor2'), + s = t('../../plots/domain').defaults, + l = t('../../components/fx/hoverlabel_defaults'), + c = t('../../plot_api/plot_template'), + u = t('../../plots/array_container_defaults'); + function f(t, e) { + function r(r, a) { + return n.coerce(t, e, i.link.colorscales, r, a); + } + r('label'), r('cmin'), r('cmax'), r('colorscale'); + } + e.exports = function (t, e, r, h) { + function p(r, a) { + return n.coerce(t, e, i, r, a); + } + var d = n.extendDeep(h.hoverlabel, t.hoverlabel), + g = t.node, + m = c.newContainer(e, 'node'); + function v(t, e) { + return n.coerce(g, m, i.node, t, e); + } + v('label'), + v('groups'), + v('x'), + v('y'), + v('pad'), + v('thickness'), + v('line.color'), + v('line.width'), + v('hoverinfo', t.hoverinfo), + l(g, m, v, d), + v('hovertemplate'); + var y = h.colorway; + v( + 'color', + m.label.map(function (t, e) { + return a.addOpacity( + (function (t) { + return y[t % y.length]; + })(e), + 0.8 + ); + }) + ), + v('customdata'); + var x = t.link || {}, + b = c.newContainer(e, 'link'); + function _(t, e) { + return n.coerce(x, b, i.link, t, e); + } + _('label'), + _('source'), + _('target'), + _('value'), + _('line.color'), + _('line.width'), + _('hoverinfo', t.hoverinfo), + l(x, b, _, d), + _('hovertemplate'); + var w, + T = + o(h.paper_bgcolor).getLuminance() < 0.333 + ? 'rgba(255, 255, 255, 0.6)' + : 'rgba(0, 0, 0, 0.2)'; + _('color', n.repeat(T, b.value.length)), + _('customdata'), + u(x, b, { name: 'colorscales', handleItemDefaults: f }), + s(e, h, p), + p('orientation'), + p('valueformat'), + p('valuesuffix'), + m.x.length && m.y.length && (w = 'freeform'), + p('arrangement', w), + n.coerceFont(p, 'textfont', n.extendFlat({}, h.font)), + (e._length = null); + }; + }, + { + '../../components/color': 643, + '../../components/fx/hoverlabel_defaults': 681, + '../../lib': 778, + '../../plot_api/plot_template': 817, + '../../plots/array_container_defaults': 823, + '../../plots/domain': 855, + './attributes': 1177, + tinycolor2: 576, + }, + ], + 1182: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + moduleType: 'trace', + name: 'sankey', + basePlotModule: t('./base_plot'), + selectPoints: t('./select.js'), + categories: ['noOpacity'], + meta: {}, + }; + }, + { + './attributes': 1177, + './base_plot': 1178, + './calc': 1179, + './defaults': 1181, + './plot': 1183, + './select.js': 1185, + }, + ], + 1183: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('./render'), + a = t('../../components/fx'), + o = t('../../components/color'), + s = t('../../lib'), + l = t('./constants').cn, + c = s._; + function u(t) { + return '' !== t; + } + function f(t, e) { + return t.filter(function (t) { + return t.key === e.traceId; + }); + } + function h(t, e) { + n.select(t).select('path').style('fill-opacity', e), + n.select(t).select('rect').style('fill-opacity', e); + } + function p(t) { + n.select(t).select('text.name').style('fill', 'black'); + } + function d(t) { + return function (e) { + return ( + -1 !== t.node.sourceLinks.indexOf(e.link) || + -1 !== t.node.targetLinks.indexOf(e.link) + ); + }; + } + function g(t) { + return function (e) { + return ( + -1 !== e.node.sourceLinks.indexOf(t.link) || + -1 !== e.node.targetLinks.indexOf(t.link) + ); + }; + } + function m(t, e, r) { + e && + r && + f(r, e) + .selectAll('.' + l.sankeyLink) + .filter(d(e)) + .call(y.bind(0, e, r, !1)); + } + function v(t, e, r) { + e && + r && + f(r, e) + .selectAll('.' + l.sankeyLink) + .filter(d(e)) + .call(x.bind(0, e, r, !1)); + } + function y(t, e, r, n) { + var i = n.datum().link.label; + n.style('fill-opacity', function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + i && + f(e, t) + .selectAll('.' + l.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style('fill-opacity', function (t) { + if (!t.link.concentrationscale) return 0.4; + }), + r && + f(e, t) + .selectAll('.' + l.sankeyNode) + .filter(g(t)) + .call(m); + } + function x(t, e, r, n) { + var i = n.datum().link.label; + n.style('fill-opacity', function (t) { + return t.tinyColorAlpha; + }), + i && + f(e, t) + .selectAll('.' + l.sankeyLink) + .filter(function (t) { + return t.link.label === i; + }) + .style('fill-opacity', function (t) { + return t.tinyColorAlpha; + }), + r && f(e, t).selectAll(l.sankeyNode).filter(g(t)).call(v); + } + function b(t, e) { + var r = t.hoverlabel || {}, + n = s.nestedProperty(r, e).get(); + return !Array.isArray(n) && n; + } + e.exports = function (t, e) { + for ( + var r = t._fullLayout, s = r._paper, f = r._size, d = 0; + d < t._fullData.length; + d++ + ) + if ( + t._fullData[d].visible && + t._fullData[d].type === l.sankey && + !t._fullData[d]._viewInitial + ) { + var g = t._fullData[d].node; + t._fullData[d]._viewInitial = { + node: { + groups: g.groups.slice(), + x: g.x.slice(), + y: g.y.slice(), + }, + }; + } + var _ = c(t, 'source:') + ' ', + w = c(t, 'target:') + ' ', + T = c(t, 'concentration:') + ' ', + k = c(t, 'incoming flow count:') + ' ', + M = c(t, 'outgoing flow count:') + ' '; + i( + t, + s, + e, + { + width: f.w, + height: f.h, + margin: { t: f.t, r: f.r, b: f.b, l: f.l }, + }, + { + linkEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(y.bind(0, r, i, !0)), + 'skip' !== r.link.trace.link.hoverinfo && + ((r.link.fullData = r.link.trace), + t.emit('plotly_hover', { + event: n.event, + points: [r.link], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var s = i.link.trace.link; + if ('none' !== s.hoverinfo && 'skip' !== s.hoverinfo) { + for ( + var l = [], c = 0, f = 0; + f < i.flow.links.length; + f++ + ) { + var d = i.flow.links[f]; + if ( + 'closest' !== t._fullLayout.hovermode || + i.link.pointNumber === d.pointNumber + ) { + i.link.pointNumber === d.pointNumber && (c = f), + (d.fullData = d.trace), + (s = i.link.trace.link); + var g = v(d), + m = { + valueLabel: + n.format(i.valueFormat)(d.value) + + i.valueSuffix, + }; + l.push({ + x: g[0], + y: g[1], + name: m.valueLabel, + text: [ + d.label || '', + _ + d.source.label, + w + d.target.label, + d.concentrationscale + ? T + + n.format('%0.2f')(d.flow.labelConcentration) + : '', + ] + .filter(u) + .join('
'), + color: + b(s, 'bgcolor') || o.addOpacity(d.color, 1), + borderColor: b(s, 'bordercolor'), + fontFamily: b(s, 'font.family'), + fontSize: b(s, 'font.size'), + fontColor: b(s, 'font.color'), + nameLength: b(s, 'namelength'), + textAlign: b(s, 'align'), + idealAlign: n.event.x < g[0] ? 'right' : 'left', + hovertemplate: s.hovertemplate, + hovertemplateLabels: m, + eventData: [d], + }); + } + } + a.loneHover(l, { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + anchorIndex: c, + }).each(function () { + i.link.concentrationscale || h(this, 0.65), p(this); + }); + } + } + function v(t) { + var e, r; + t.circular + ? ((e = + (t.circularPathData.leftInnerExtent + + t.circularPathData.rightInnerExtent) / + 2), + (r = t.circularPathData.verticalFullExtent)) + : ((e = (t.source.x1 + t.target.x0) / 2), + (r = (t.y0 + t.y1) / 2)); + var n = [e, r]; + return ( + 'v' === t.trace.orientation && n.reverse(), + (n[0] += i.parent.translateX), + (n[1] += i.parent.translateY), + n + ); + } + }, + unhover: function (e, i, o) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(x.bind(0, i, o, !0)), + 'skip' !== i.link.trace.link.hoverinfo && + ((i.link.fullData = i.link.trace), + t.emit('plotly_unhover', { + event: n.event, + points: [i.link], + })), + a.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r) { + var i = r.link; + (i.originalEvent = n.event), + (t._hoverdata = [i]), + a.click(t, { target: !0 }); + }, + }, + nodeEvents: { + hover: function (e, r, i) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(m, r, i), + 'skip' !== r.node.trace.node.hoverinfo && + ((r.node.fullData = r.node.trace), + t.emit('plotly_hover', { + event: n.event, + points: [r.node], + }))); + }, + follow: function (e, i) { + if (!1 !== t._fullLayout.hovermode) { + var o = i.node.trace.node; + if ('none' !== o.hoverinfo && 'skip' !== o.hoverinfo) { + var s = n.select(e).select('.' + l.nodeRect), + c = t._fullLayout._paperdiv + .node() + .getBoundingClientRect(), + f = s.node().getBoundingClientRect(), + d = f.left - 2 - c.left, + g = f.right + 2 - c.left, + m = f.top + f.height / 4 - c.top, + v = { + valueLabel: + n.format(i.valueFormat)(i.node.value) + + i.valueSuffix, + }; + (i.node.fullData = i.node.trace), + t._fullLayout._calcInverseTransform(t); + var y = t._fullLayout._invScaleX, + x = t._fullLayout._invScaleY, + _ = a.loneHover( + { + x0: y * d, + x1: y * g, + y: x * m, + name: + n.format(i.valueFormat)(i.node.value) + + i.valueSuffix, + text: [ + i.node.label, + k + i.node.targetLinks.length, + M + i.node.sourceLinks.length, + ] + .filter(u) + .join('
'), + color: b(o, 'bgcolor') || i.tinyColorHue, + borderColor: b(o, 'bordercolor'), + fontFamily: b(o, 'font.family'), + fontSize: b(o, 'font.size'), + fontColor: b(o, 'font.color'), + nameLength: b(o, 'namelength'), + textAlign: b(o, 'align'), + idealAlign: 'left', + hovertemplate: o.hovertemplate, + hovertemplateLabels: v, + eventData: [i.node], + }, + { + container: r._hoverlayer.node(), + outerContainer: r._paper.node(), + gd: t, + } + ); + h(_, 0.85), p(_); + } + } + }, + unhover: function (e, i, o) { + !1 !== t._fullLayout.hovermode && + (n.select(e).call(v, i, o), + 'skip' !== i.node.trace.node.hoverinfo && + ((i.node.fullData = i.node.trace), + t.emit('plotly_unhover', { + event: n.event, + points: [i.node], + })), + a.loneUnhover(r._hoverlayer.node())); + }, + select: function (e, r, i) { + var o = r.node; + (o.originalEvent = n.event), + (t._hoverdata = [o]), + n.select(e).call(v, r, i), + a.click(t, { target: !0 }); + }, + }, + } + ); + }; + }, + { + '../../components/color': 643, + '../../components/fx': 683, + '../../lib': 778, + './constants': 1180, + './render': 1184, + d3: 169, + }, + ], + 1184: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('d3'), + a = t('tinycolor2'), + o = t('../../components/color'), + s = t('../../components/drawing'), + l = t('@plotly/d3-sankey'), + c = t('@plotly/d3-sankey-circular'), + u = t('d3-force'), + f = t('../../lib'), + h = f.strTranslate, + p = t('../../lib/gup'), + d = p.keyFun, + g = p.repeat, + m = p.unwrap, + v = t('d3-interpolate').interpolateNumber, + y = t('../../registry'); + function x(t, e, r) { + var i, + o = m(e), + s = o.trace, + u = s.domain, + h = 'h' === s.orientation, + p = s.node.pad, + d = s.node.thickness, + g = t.width * (u.x[1] - u.x[0]), + v = t.height * (u.y[1] - u.y[0]), + y = o._nodes, + x = o._links, + b = o.circular; + (i = b ? c.sankeyCircular().circularLinkGap(0) : l.sankey()) + .iterations(n.sankeyIterations) + .size(h ? [g, v] : [v, g]) + .nodeWidth(d) + .nodePadding(p) + .nodeId(function (t) { + return t.pointNumber; + }) + .nodes(y) + .links(x); + var _, + w, + T, + k = i(); + for (var M in (i.nodePadding() < p && + f.warn( + 'node.pad was reduced to ', + i.nodePadding(), + ' to fit within the figure.' + ), + o._groupLookup)) { + var A, + S = parseInt(o._groupLookup[M]); + for (_ = 0; _ < k.nodes.length; _++) + if (k.nodes[_].pointNumber === S) { + A = k.nodes[_]; + break; + } + if (A) { + var E = { + pointNumber: parseInt(M), + x0: A.x0, + x1: A.x1, + y0: A.y0, + y1: A.y1, + partOfGroup: !0, + sourceLinks: [], + targetLinks: [], + }; + k.nodes.unshift(E), A.childrenNodes.unshift(E); + } + } + if ( + ((function () { + for (_ = 0; _ < k.nodes.length; _++) { + var t, + e, + r = k.nodes[_], + n = {}; + for (w = 0; w < r.targetLinks.length; w++) + (t = + (e = r.targetLinks[w]).source.pointNumber + + ':' + + e.target.pointNumber), + n.hasOwnProperty(t) || (n[t] = []), + n[t].push(e); + var i = Object.keys(n); + for (w = 0; w < i.length; w++) { + var o = n[(t = i[w])], + s = 0, + l = {}; + for (T = 0; T < o.length; T++) + l[(e = o[T]).label] || (l[e.label] = 0), + (l[e.label] += e.value), + (s += e.value); + for (T = 0; T < o.length; T++) + ((e = o[T]).flow = { + value: s, + labelConcentration: l[e.label] / s, + concentration: e.value / s, + links: o, + }), + e.concentrationscale && + (e.color = a( + e.concentrationscale(e.flow.labelConcentration) + )); + } + var c = 0; + for (w = 0; w < r.sourceLinks.length; w++) + c += r.sourceLinks[w].value; + for (w = 0; w < r.sourceLinks.length; w++) + (e = r.sourceLinks[w]).concentrationOut = e.value / c; + var u = 0; + for (w = 0; w < r.targetLinks.length; w++) + u += r.targetLinks[w].value; + for (w = 0; w < r.targetLinks.length; w++) + (e = r.targetLinks[w]).concenrationIn = e.value / u; + } + })(), + s.node.x.length && s.node.y.length) + ) { + for ( + _ = 0; + _ < Math.min(s.node.x.length, s.node.y.length, k.nodes.length); + _++ + ) + if (s.node.x[_] && s.node.y[_]) { + var C = [s.node.x[_] * g, s.node.y[_] * v]; + (k.nodes[_].x0 = C[0] - d / 2), + (k.nodes[_].x1 = C[0] + d / 2); + var L = k.nodes[_].y1 - k.nodes[_].y0; + (k.nodes[_].y0 = C[1] - L / 2), + (k.nodes[_].y1 = C[1] + L / 2); + } + if ('snap' === s.arrangement) + !(function (t) { + t.forEach(function (t) { + var e, + r, + n, + i = 0, + a = t.length; + for ( + t.sort(function (t, e) { + return t.y0 - e.y0; + }), + n = 0; + n < a; + ++n + ) + (e = t[n]).y0 >= i || + ((r = i - e.y0) > 1e-6 && ((e.y0 += r), (e.y1 += r))), + (i = e.y1 + p); + }); + })( + (function (t) { + var e, + r, + n = t + .map(function (t, e) { + return { x0: t.x0, index: e }; + }) + .sort(function (t, e) { + return t.x0 - e.x0; + }), + i = [], + a = -1, + o = -1 / 0; + for (_ = 0; _ < n.length; _++) { + var s = t[n[_].index]; + s.x0 > o + d && ((a += 1), (e = s.x0)), + (o = s.x0), + i[a] || (i[a] = []), + i[a].push(s), + (r = e - s.x0), + (s.x0 += r), + (s.x1 += r); + } + return i; + })((y = k.nodes)) + ); + i.update(k); + } + return { + circular: b, + key: r, + trace: s, + guid: f.randstr(), + horizontal: h, + width: g, + height: v, + nodePad: s.node.pad, + nodeLineColor: s.node.line.color, + nodeLineWidth: s.node.line.width, + linkLineColor: s.link.line.color, + linkLineWidth: s.link.line.width, + valueFormat: s.valueformat, + valueSuffix: s.valuesuffix, + textFont: s.textfont, + translateX: u.x[0] * t.width + t.margin.l, + translateY: t.height - u.y[1] * t.height + t.margin.t, + dragParallel: h ? v : g, + dragPerpendicular: h ? g : v, + arrangement: s.arrangement, + sankey: i, + graph: k, + forceLayouts: {}, + interactionState: { dragInProgress: !1, hovered: !1 }, + }; + } + function b(t, e, r) { + var n = a(e.color), + i = e.source.label + '|' + e.target.label + '__' + r; + return ( + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + circular: t.circular, + key: i, + traceId: t.key, + pointNumber: e.pointNumber, + link: e, + tinyColorHue: o.tinyRGB(n), + tinyColorAlpha: n.getAlpha(), + linkPath: _, + linkLineColor: t.linkLineColor, + linkLineWidth: t.linkLineWidth, + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + parent: t, + interactionState: t.interactionState, + flow: e.flow, + } + ); + } + function _() { + return function (t) { + if (t.link.circular) + return ( + (e = t.link), + (r = e.width / 2), + (n = e.circularPathData), + 'top' === e.circularLinkType + ? 'M ' + + n.targetX + + ' ' + + (n.targetY + r) + + ' L' + + n.rightInnerExtent + + ' ' + + (n.targetY + r) + + 'A' + + (n.rightLargeArcRadius + r) + + ' ' + + (n.rightSmallArcRadius + r) + + ' 0 0 1 ' + + (n.rightFullExtent - r) + + ' ' + + (n.targetY - n.rightSmallArcRadius) + + 'L' + + (n.rightFullExtent - r) + + ' ' + + n.verticalRightInnerExtent + + 'A' + + (n.rightLargeArcRadius + r) + + ' ' + + (n.rightLargeArcRadius + r) + + ' 0 0 1 ' + + n.rightInnerExtent + + ' ' + + (n.verticalFullExtent - r) + + 'L' + + n.leftInnerExtent + + ' ' + + (n.verticalFullExtent - r) + + 'A' + + (n.leftLargeArcRadius + r) + + ' ' + + (n.leftLargeArcRadius + r) + + ' 0 0 1 ' + + (n.leftFullExtent + r) + + ' ' + + n.verticalLeftInnerExtent + + 'L' + + (n.leftFullExtent + r) + + ' ' + + (n.sourceY - n.leftSmallArcRadius) + + 'A' + + (n.leftLargeArcRadius + r) + + ' ' + + (n.leftSmallArcRadius + r) + + ' 0 0 1 ' + + n.leftInnerExtent + + ' ' + + (n.sourceY + r) + + 'L' + + n.sourceX + + ' ' + + (n.sourceY + r) + + 'L' + + n.sourceX + + ' ' + + (n.sourceY - r) + + 'L' + + n.leftInnerExtent + + ' ' + + (n.sourceY - r) + + 'A' + + (n.leftLargeArcRadius - r) + + ' ' + + (n.leftSmallArcRadius - r) + + ' 0 0 0 ' + + (n.leftFullExtent - r) + + ' ' + + (n.sourceY - n.leftSmallArcRadius) + + 'L' + + (n.leftFullExtent - r) + + ' ' + + n.verticalLeftInnerExtent + + 'A' + + (n.leftLargeArcRadius - r) + + ' ' + + (n.leftLargeArcRadius - r) + + ' 0 0 0 ' + + n.leftInnerExtent + + ' ' + + (n.verticalFullExtent + r) + + 'L' + + n.rightInnerExtent + + ' ' + + (n.verticalFullExtent + r) + + 'A' + + (n.rightLargeArcRadius - r) + + ' ' + + (n.rightLargeArcRadius - r) + + ' 0 0 0 ' + + (n.rightFullExtent + r) + + ' ' + + n.verticalRightInnerExtent + + 'L' + + (n.rightFullExtent + r) + + ' ' + + (n.targetY - n.rightSmallArcRadius) + + 'A' + + (n.rightLargeArcRadius - r) + + ' ' + + (n.rightSmallArcRadius - r) + + ' 0 0 0 ' + + n.rightInnerExtent + + ' ' + + (n.targetY - r) + + 'L' + + n.targetX + + ' ' + + (n.targetY - r) + + 'Z' + : 'M ' + + n.targetX + + ' ' + + (n.targetY - r) + + ' L' + + n.rightInnerExtent + + ' ' + + (n.targetY - r) + + 'A' + + (n.rightLargeArcRadius + r) + + ' ' + + (n.rightSmallArcRadius + r) + + ' 0 0 0 ' + + (n.rightFullExtent - r) + + ' ' + + (n.targetY + n.rightSmallArcRadius) + + 'L' + + (n.rightFullExtent - r) + + ' ' + + n.verticalRightInnerExtent + + 'A' + + (n.rightLargeArcRadius + r) + + ' ' + + (n.rightLargeArcRadius + r) + + ' 0 0 0 ' + + n.rightInnerExtent + + ' ' + + (n.verticalFullExtent + r) + + 'L' + + n.leftInnerExtent + + ' ' + + (n.verticalFullExtent + r) + + 'A' + + (n.leftLargeArcRadius + r) + + ' ' + + (n.leftLargeArcRadius + r) + + ' 0 0 0 ' + + (n.leftFullExtent + r) + + ' ' + + n.verticalLeftInnerExtent + + 'L' + + (n.leftFullExtent + r) + + ' ' + + (n.sourceY + n.leftSmallArcRadius) + + 'A' + + (n.leftLargeArcRadius + r) + + ' ' + + (n.leftSmallArcRadius + r) + + ' 0 0 0 ' + + n.leftInnerExtent + + ' ' + + (n.sourceY - r) + + 'L' + + n.sourceX + + ' ' + + (n.sourceY - r) + + 'L' + + n.sourceX + + ' ' + + (n.sourceY + r) + + 'L' + + n.leftInnerExtent + + ' ' + + (n.sourceY + r) + + 'A' + + (n.leftLargeArcRadius - r) + + ' ' + + (n.leftSmallArcRadius - r) + + ' 0 0 1 ' + + (n.leftFullExtent - r) + + ' ' + + (n.sourceY + n.leftSmallArcRadius) + + 'L' + + (n.leftFullExtent - r) + + ' ' + + n.verticalLeftInnerExtent + + 'A' + + (n.leftLargeArcRadius - r) + + ' ' + + (n.leftLargeArcRadius - r) + + ' 0 0 1 ' + + n.leftInnerExtent + + ' ' + + (n.verticalFullExtent - r) + + 'L' + + n.rightInnerExtent + + ' ' + + (n.verticalFullExtent - r) + + 'A' + + (n.rightLargeArcRadius - r) + + ' ' + + (n.rightLargeArcRadius - r) + + ' 0 0 1 ' + + (n.rightFullExtent + r) + + ' ' + + n.verticalRightInnerExtent + + 'L' + + (n.rightFullExtent + r) + + ' ' + + (n.targetY + n.rightSmallArcRadius) + + 'A' + + (n.rightLargeArcRadius - r) + + ' ' + + (n.rightSmallArcRadius - r) + + ' 0 0 1 ' + + n.rightInnerExtent + + ' ' + + (n.targetY + r) + + 'L' + + n.targetX + + ' ' + + (n.targetY + r) + + 'Z' + ); + var e, + r, + n, + i = t.link.source.x1, + a = t.link.target.x0, + o = v(i, a), + s = o(0.5), + l = o(0.5), + c = t.link.y0 - t.link.width / 2, + u = t.link.y0 + t.link.width / 2, + f = t.link.y1 - t.link.width / 2, + h = t.link.y1 + t.link.width / 2; + return ( + 'M' + + i + + ',' + + c + + 'C' + + s + + ',' + + c + + ' ' + + l + + ',' + + f + + ' ' + + a + + ',' + + f + + 'L' + + a + + ',' + + h + + 'C' + + l + + ',' + + h + + ' ' + + s + + ',' + + u + + ' ' + + i + + ',' + + u + + 'Z' + ); + }; + } + function w(t, e) { + var r = a(e.color), + i = n.nodePadAcross, + s = t.nodePad / 2; + (e.dx = e.x1 - e.x0), (e.dy = e.y1 - e.y0); + var l = e.dx, + c = Math.max(0.5, e.dy), + u = 'node_' + e.pointNumber; + return ( + e.group && (u = f.randstr()), + (e.trace = t.trace), + (e.curveNumber = t.trace.index), + { + index: e.pointNumber, + key: u, + partOfGroup: e.partOfGroup || !1, + group: e.group, + traceId: t.key, + trace: t.trace, + node: e, + nodePad: t.nodePad, + nodeLineColor: t.nodeLineColor, + nodeLineWidth: t.nodeLineWidth, + textFont: t.textFont, + size: t.horizontal ? t.height : t.width, + visibleWidth: Math.ceil(l), + visibleHeight: c, + zoneX: -i, + zoneY: -s, + zoneWidth: l + 2 * i, + zoneHeight: c + 2 * s, + labelY: t.horizontal ? e.dy / 2 + 1 : e.dx / 2 + 1, + left: 1 === e.originalLayer, + sizeAcross: t.width, + forceLayouts: t.forceLayouts, + horizontal: t.horizontal, + darkBackground: r.getBrightness() <= 128, + tinyColorHue: o.tinyRGB(r), + tinyColorAlpha: r.getAlpha(), + valueFormat: t.valueFormat, + valueSuffix: t.valueSuffix, + sankey: t.sankey, + graph: t.graph, + arrangement: t.arrangement, + uniqueNodeLabelPathId: [t.guid, t.key, u].join('_'), + interactionState: t.interactionState, + figure: t, + } + ); + } + function T(t) { + t.attr('transform', function (t) { + return h(t.node.x0.toFixed(3), t.node.y0.toFixed(3)); + }); + } + function k(t) { + t.call(T); + } + function M(t, e) { + t.call(k), e.attr('d', _()); + } + function A(t) { + t.attr('width', function (t) { + return t.node.x1 - t.node.x0; + }).attr('height', function (t) { + return t.visibleHeight; + }); + } + function S(t) { + return t.link.width > 1 || t.linkLineWidth > 0; + } + function E(t) { + return ( + h(t.translateX, t.translateY) + + (t.horizontal ? 'matrix(1 0 0 1 0 0)' : 'matrix(0 1 1 0 0 0)') + ); + } + function C(t) { + return h(t.horizontal ? 0 : t.labelY, t.horizontal ? t.labelY : 0); + } + function L(t) { + return i.svg.line()([ + [ + t.horizontal + ? t.left + ? -t.sizeAcross + : t.visibleWidth + n.nodeTextOffsetHorizontal + : n.nodeTextOffsetHorizontal, + 0, + ], + [ + t.horizontal + ? t.left + ? -n.nodeTextOffsetHorizontal + : t.sizeAcross + : t.visibleHeight - n.nodeTextOffsetHorizontal, + 0, + ], + ]); + } + function I(t) { + return t.horizontal ? 'matrix(1 0 0 1 0 0)' : 'matrix(0 1 1 0 0 0)'; + } + function P(t) { + return t.horizontal ? 'scale(1 1)' : 'scale(-1 1)'; + } + function z(t) { + return t.darkBackground && !t.horizontal + ? 'rgb(255,255,255)' + : 'rgb(0,0,0)'; + } + function O(t) { + return t.horizontal && t.left ? '100%' : '0%'; + } + function D(t, e, r) { + t.on('.basic', null) + .on('mouseover.basic', function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.hover(this, t, e), + (t.interactionState.hovered = [this, t])); + }) + .on('mousemove.basic', function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.follow(this, t), (t.interactionState.hovered = [this, t])); + }) + .on('mouseout.basic', function (t) { + t.interactionState.dragInProgress || + t.partOfGroup || + (r.unhover(this, t, e), (t.interactionState.hovered = !1)); + }) + .on('click.basic', function (t) { + t.interactionState.hovered && + (r.unhover(this, t, e), (t.interactionState.hovered = !1)), + t.interactionState.dragInProgress || + t.partOfGroup || + r.select(this, t, e); + }); + } + function R(t, e, r, a) { + var o = i.behavior + .drag() + .origin(function (t) { + return { + x: t.node.x0 + t.visibleWidth / 2, + y: t.node.y0 + t.visibleHeight / 2, + }; + }) + .on('dragstart', function (i) { + if ( + 'fixed' !== i.arrangement && + (f.ensureSingle( + a._fullLayout._infolayer, + 'g', + 'dragcover', + function (t) { + a._fullLayout._dragCover = t; + } + ), + f.raiseToTop(this), + (i.interactionState.dragInProgress = i.node), + B(i.node), + i.interactionState.hovered && + (r.nodeEvents.unhover.apply(0, i.interactionState.hovered), + (i.interactionState.hovered = !1)), + 'snap' === i.arrangement) + ) { + var o = i.traceId + '|' + i.key; + i.forceLayouts[o] + ? i.forceLayouts[o].alpha(1) + : (function (t, e, r, i) { + !(function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y = (t[e].y0 + t[e].y1) / 2), + (t[e].x = (t[e].x0 + t[e].x1) / 2); + })(r.graph.nodes); + var a = r.graph.nodes + .filter(function (t) { + return t.originalX === r.node.originalX; + }) + .filter(function (t) { + return !t.partOfGroup; + }); + r.forceLayouts[e] = u + .forceSimulation(a) + .alphaDecay(0) + .force( + 'collide', + u + .forceCollide() + .radius(function (t) { + return t.dy / 2 + r.nodePad / 2; + }) + .strength(1) + .iterations(n.forceIterations) + ) + .force( + 'constrain', + (function (t, e, r, i) { + return function () { + for (var t = 0, a = 0; a < r.length; a++) { + var o = r[a]; + o === i.interactionState.dragInProgress + ? ((o.x = o.lastDraggedX), + (o.y = o.lastDraggedY)) + : ((o.vx = + (o.originalX - o.x) / + n.forceTicksPerFrame), + (o.y = Math.min( + i.size - o.dy / 2, + Math.max(o.dy / 2, o.y) + ))), + (t = Math.max( + t, + Math.abs(o.vx), + Math.abs(o.vy) + )); + } + !i.interactionState.dragInProgress && + t < 0.1 && + i.forceLayouts[e].alpha() > 0 && + i.forceLayouts[e].alpha(0); + }; + })(0, e, a, r) + ) + .stop(); + })(0, o, i), + (function (t, e, r, i, a) { + window.requestAnimationFrame(function o() { + var s; + for (s = 0; s < n.forceTicksPerFrame; s++) + r.forceLayouts[i].tick(); + if ( + ((function (t) { + for (var e = 0; e < t.length; e++) + (t[e].y0 = t[e].y - t[e].dy / 2), + (t[e].y1 = t[e].y0 + t[e].dy), + (t[e].x0 = t[e].x - t[e].dx / 2), + (t[e].x1 = t[e].x0 + t[e].dx); + })(r.graph.nodes), + r.sankey.update(r.graph), + M(t.filter(N(r)), e), + r.forceLayouts[i].alpha() > 0) + ) + window.requestAnimationFrame(o); + else { + var l = r.node.originalX; + (r.node.x0 = l - r.visibleWidth / 2), + (r.node.x1 = l + r.visibleWidth / 2), + F(r, a); + } + }); + })(t, e, i, o, a); + } + }) + .on('drag', function (r) { + if ('fixed' !== r.arrangement) { + var n = i.event.x, + a = i.event.y; + 'snap' === r.arrangement + ? ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2), + (r.node.y0 = a - r.visibleHeight / 2), + (r.node.y1 = a + r.visibleHeight / 2)) + : ('freeform' === r.arrangement && + ((r.node.x0 = n - r.visibleWidth / 2), + (r.node.x1 = n + r.visibleWidth / 2)), + (a = Math.max( + 0, + Math.min(r.size - r.visibleHeight / 2, a) + )), + (r.node.y0 = a - r.visibleHeight / 2), + (r.node.y1 = a + r.visibleHeight / 2)), + B(r.node), + 'snap' !== r.arrangement && + (r.sankey.update(r.graph), M(t.filter(N(r)), e)); + } + }) + .on('dragend', function (t) { + if ('fixed' !== t.arrangement) { + t.interactionState.dragInProgress = !1; + for (var e = 0; e < t.node.childrenNodes.length; e++) + (t.node.childrenNodes[e].x = t.node.x), + (t.node.childrenNodes[e].y = t.node.y); + 'snap' !== t.arrangement && F(t, a); + } + }); + t.on('.drag', null).call(o); + } + function F(t, e) { + for (var r = [], n = [], i = 0; i < t.graph.nodes.length; i++) { + var a = (t.graph.nodes[i].x0 + t.graph.nodes[i].x1) / 2, + o = (t.graph.nodes[i].y0 + t.graph.nodes[i].y1) / 2; + r.push(a / t.figure.width), n.push(o / t.figure.height); + } + y.call( + '_guiRestyle', + e, + { 'node.x': [r], 'node.y': [n] }, + t.trace.index + ).then(function () { + e._fullLayout._dragCover && e._fullLayout._dragCover.remove(); + }); + } + function B(t) { + (t.lastDraggedX = t.x0 + t.dx / 2), + (t.lastDraggedY = t.y0 + t.dy / 2); + } + function N(t) { + return function (e) { + return e.node.originalX === t.node.originalX; + }; + } + e.exports = function (t, e, r, l, c) { + var u = !1; + f.ensureSingle( + t._fullLayout._infolayer, + 'g', + 'first-render', + function () { + u = !0; + } + ); + var h = t._fullLayout._dragCover, + p = r + .filter(function (t) { + return m(t).trace.visible; + }) + .map(x.bind(null, l)), + v = e.selectAll('.' + n.cn.sankey).data(p, d); + v.exit().remove(), + v + .enter() + .append('g') + .classed(n.cn.sankey, !0) + .style('box-sizing', 'content-box') + .style('position', 'absolute') + .style('left', 0) + .style('shape-rendering', 'geometricPrecision') + .style('pointer-events', 'auto') + .attr('transform', E), + v.each(function (e, r) { + t._fullData[r]._sankey = e; + var n = 'bgsankey-' + e.trace.uid + '-' + r; + f.ensureSingle(t._fullLayout._draggers, 'rect', n), + (t._fullData[r]._bgRect = i.select('.' + n)), + t._fullData[r]._bgRect + .style('pointer-events', 'all') + .attr('width', e.width) + .attr('height', e.height) + .attr('x', e.translateX) + .attr('y', e.translateY) + .classed('bgsankey', !0) + .style({ fill: 'transparent', 'stroke-width': 0 }); + }), + v + .transition() + .ease(n.ease) + .duration(n.duration) + .attr('transform', E); + var y = v.selectAll('.' + n.cn.sankeyLinks).data(g, d); + y.enter() + .append('g') + .classed(n.cn.sankeyLinks, !0) + .style('fill', 'none'); + var k = y.selectAll('.' + n.cn.sankeyLink).data(function (t) { + return t.graph.links + .filter(function (t) { + return t.value; + }) + .map(b.bind(null, t)); + }, d); + k + .enter() + .append('path') + .classed(n.cn.sankeyLink, !0) + .call(D, v, c.linkEvents), + k + .style('stroke', function (t) { + return S(t) ? o.tinyRGB(a(t.linkLineColor)) : t.tinyColorHue; + }) + .style('stroke-opacity', function (t) { + return S(t) ? o.opacity(t.linkLineColor) : t.tinyColorAlpha; + }) + .style('fill', function (t) { + return t.tinyColorHue; + }) + .style('fill-opacity', function (t) { + return t.tinyColorAlpha; + }) + .style('stroke-width', function (t) { + return S(t) ? t.linkLineWidth : 1; + }) + .attr('d', _()), + k + .style('opacity', function () { + return t._context.staticPlot || u || h ? 1 : 0; + }) + .transition() + .ease(n.ease) + .duration(n.duration) + .style('opacity', 1), + k + .exit() + .transition() + .ease(n.ease) + .duration(n.duration) + .style('opacity', 0) + .remove(); + var M = v.selectAll('.' + n.cn.sankeyNodeSet).data(g, d); + M.enter().append('g').classed(n.cn.sankeyNodeSet, !0), + M.style('cursor', function (t) { + switch (t.arrangement) { + case 'fixed': + return 'default'; + case 'perpendicular': + return 'ns-resize'; + default: + return 'move'; + } + }); + var F = M.selectAll('.' + n.cn.sankeyNode).data(function (t) { + var e = t.graph.nodes; + return ( + (function (t) { + var e, + r = []; + for (e = 0; e < t.length; e++) + (t[e].originalX = (t[e].x0 + t[e].x1) / 2), + (t[e].originalY = (t[e].y0 + t[e].y1) / 2), + -1 === r.indexOf(t[e].originalX) && + r.push(t[e].originalX); + for ( + r.sort(function (t, e) { + return t - e; + }), + e = 0; + e < t.length; + e++ + ) + (t[e].originalLayerIndex = r.indexOf(t[e].originalX)), + (t[e].originalLayer = + t[e].originalLayerIndex / (r.length - 1)); + })(e), + e.map(w.bind(null, t)) + ); + }, d); + F.enter() + .append('g') + .classed(n.cn.sankeyNode, !0) + .call(T) + .style('opacity', function (e) { + return (!t._context.staticPlot && !u) || e.partOfGroup ? 0 : 1; + }), + F.call(D, v, c.nodeEvents).call(R, k, c, t), + F.transition() + .ease(n.ease) + .duration(n.duration) + .call(T) + .style('opacity', function (t) { + return t.partOfGroup ? 0 : 1; + }), + F.exit() + .transition() + .ease(n.ease) + .duration(n.duration) + .style('opacity', 0) + .remove(); + var B = F.selectAll('.' + n.cn.nodeRect).data(g); + B.enter().append('rect').classed(n.cn.nodeRect, !0).call(A), + B.style('stroke-width', function (t) { + return t.nodeLineWidth; + }) + .style('stroke', function (t) { + return o.tinyRGB(a(t.nodeLineColor)); + }) + .style('stroke-opacity', function (t) { + return o.opacity(t.nodeLineColor); + }) + .style('fill', function (t) { + return t.tinyColorHue; + }) + .style('fill-opacity', function (t) { + return t.tinyColorAlpha; + }), + B.transition().ease(n.ease).duration(n.duration).call(A); + var N = F.selectAll('.' + n.cn.nodeCapture).data(g); + N.enter() + .append('rect') + .classed(n.cn.nodeCapture, !0) + .style('fill-opacity', 0), + N.attr('x', function (t) { + return t.zoneX; + }) + .attr('y', function (t) { + return t.zoneY; + }) + .attr('width', function (t) { + return t.zoneWidth; + }) + .attr('height', function (t) { + return t.zoneHeight; + }); + var j = F.selectAll('.' + n.cn.nodeCentered).data(g); + j + .enter() + .append('g') + .classed(n.cn.nodeCentered, !0) + .attr('transform', C), + j + .transition() + .ease(n.ease) + .duration(n.duration) + .attr('transform', C); + var U = j.selectAll('.' + n.cn.nodeLabelGuide).data(g); + U.enter() + .append('path') + .classed(n.cn.nodeLabelGuide, !0) + .attr('id', function (t) { + return t.uniqueNodeLabelPathId; + }) + .attr('d', L) + .attr('transform', I), + U.transition() + .ease(n.ease) + .duration(n.duration) + .attr('d', L) + .attr('transform', I); + var V = j.selectAll('.' + n.cn.nodeLabel).data(g); + V.enter() + .append('text') + .classed(n.cn.nodeLabel, !0) + .attr('transform', P) + .style('cursor', 'default') + .style('fill', 'black'), + V.style('text-shadow', function (t) { + return t.horizontal + ? '-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff' + : 'none'; + }).each(function (t) { + s.font(V, t.textFont); + }), + V.transition() + .ease(n.ease) + .duration(n.duration) + .attr('transform', P); + var q = V.selectAll('.' + n.cn.nodeLabelTextPath).data(g); + q + .enter() + .append('textPath') + .classed(n.cn.nodeLabelTextPath, !0) + .attr('alignment-baseline', 'middle') + .attr('xlink:href', function (t) { + return '#' + t.uniqueNodeLabelPathId; + }) + .attr('startOffset', O) + .style('fill', z), + q + .text(function (t) { + return t.horizontal || t.node.dy > 5 ? t.node.label : ''; + }) + .attr('text-anchor', function (t) { + return t.horizontal && t.left ? 'end' : 'start'; + }), + q + .transition() + .ease(n.ease) + .duration(n.duration) + .attr('startOffset', O) + .style('fill', z); + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/gup': 775, + '../../registry': 911, + './constants': 1180, + '@plotly/d3-sankey': 56, + '@plotly/d3-sankey-circular': 55, + d3: 169, + 'd3-force': 160, + 'd3-interpolate': 162, + tinycolor2: 576, + }, + ], + 1185: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + for ( + var r = [], n = t.cd[0].trace, i = n._sankey.graph.nodes, a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (!o.partOfGroup) { + var s = [(o.x0 + o.x1) / 2, (o.y0 + o.y1) / 2]; + 'v' === n.orientation && s.reverse(), + e && + e.contains(s, !1, a, t) && + r.push({ pointNumber: o.pointNumber }); + } + } + return r; + }; + }, + {}, + ], + 1186: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + for (var r = 0; r < t.length; r++) t[r].i = r; + n.mergeArray(e.text, t, 'tx'), + n.mergeArray(e.texttemplate, t, 'txt'), + n.mergeArray(e.hovertext, t, 'htx'), + n.mergeArray(e.customdata, t, 'data'), + n.mergeArray(e.textposition, t, 'tp'), + e.textfont && + (n.mergeArrayCastPositive(e.textfont.size, t, 'ts'), + n.mergeArray(e.textfont.color, t, 'tc'), + n.mergeArray(e.textfont.family, t, 'tf')); + var i = e.marker; + if (i) { + n.mergeArrayCastPositive(i.size, t, 'ms'), + n.mergeArrayCastPositive(i.opacity, t, 'mo'), + n.mergeArray(i.symbol, t, 'mx'), + n.mergeArray(i.color, t, 'mc'); + var a = i.line; + i.line && + (n.mergeArray(a.color, t, 'mlc'), + n.mergeArrayCastPositive(a.width, t, 'mlw')); + var o = i.gradient; + o && + 'none' !== o.type && + (n.mergeArray(o.type, t, 'mgt'), + n.mergeArray(o.color, t, 'mgc')); + } + }; + }, + { '../../lib': 778 }, + ], + 1187: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').texttemplateAttrs, + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../../components/colorscale/attributes'), + o = t('../../plots/font_attributes'), + s = t('../../components/drawing/attributes').dash, + l = t('../../components/drawing'), + c = t('./constants'), + u = t('../../lib/extend').extendFlat; + e.exports = { + x: { + valType: 'data_array', + editType: 'calc+clearAxisTypes', + anim: !0, + }, + x0: { + valType: 'any', + dflt: 0, + editType: 'calc+clearAxisTypes', + anim: !0, + }, + dx: { valType: 'number', dflt: 1, editType: 'calc', anim: !0 }, + y: { + valType: 'data_array', + editType: 'calc+clearAxisTypes', + anim: !0, + }, + y0: { + valType: 'any', + dflt: 0, + editType: 'calc+clearAxisTypes', + anim: !0, + }, + dy: { valType: 'number', dflt: 1, editType: 'calc', anim: !0 }, + xperiod: { valType: 'any', dflt: 0, editType: 'calc' }, + yperiod: { valType: 'any', dflt: 0, editType: 'calc' }, + xperiod0: { valType: 'any', editType: 'calc' }, + yperiod0: { valType: 'any', editType: 'calc' }, + xperiodalignment: { + valType: 'enumerated', + values: ['start', 'middle', 'end'], + dflt: 'middle', + editType: 'calc', + }, + yperiodalignment: { + valType: 'enumerated', + values: ['start', 'middle', 'end'], + dflt: 'middle', + editType: 'calc', + }, + stackgroup: { valType: 'string', dflt: '', editType: 'calc' }, + orientation: { + valType: 'enumerated', + values: ['v', 'h'], + editType: 'calc', + }, + groupnorm: { + valType: 'enumerated', + values: ['', 'fraction', 'percent'], + dflt: '', + editType: 'calc', + }, + stackgaps: { + valType: 'enumerated', + values: ['infer zero', 'interpolate'], + dflt: 'infer zero', + editType: 'calc', + }, + text: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'calc', + }, + texttemplate: n({}, {}), + hovertext: { + valType: 'string', + dflt: '', + arrayOk: !0, + editType: 'style', + }, + mode: { + valType: 'flaglist', + flags: ['lines', 'markers', 'text'], + extras: ['none'], + editType: 'calc', + }, + hoveron: { + valType: 'flaglist', + flags: ['points', 'fills'], + editType: 'style', + }, + hovertemplate: i({}, { keys: c.eventDataKeys }), + line: { + color: { valType: 'color', editType: 'style', anim: !0 }, + width: { + valType: 'number', + min: 0, + dflt: 2, + editType: 'style', + anim: !0, + }, + shape: { + valType: 'enumerated', + values: ['linear', 'spline', 'hv', 'vh', 'hvh', 'vhv'], + dflt: 'linear', + editType: 'plot', + }, + smoothing: { + valType: 'number', + min: 0, + max: 1.3, + dflt: 1, + editType: 'plot', + }, + dash: u({}, s, { editType: 'style' }), + simplify: { valType: 'boolean', dflt: !0, editType: 'plot' }, + editType: 'plot', + }, + connectgaps: { valType: 'boolean', dflt: !1, editType: 'calc' }, + cliponaxis: { valType: 'boolean', dflt: !0, editType: 'plot' }, + fill: { + valType: 'enumerated', + values: [ + 'none', + 'tozeroy', + 'tozerox', + 'tonexty', + 'tonextx', + 'toself', + 'tonext', + ], + editType: 'calc', + }, + fillcolor: { valType: 'color', editType: 'style', anim: !0 }, + marker: u( + { + symbol: { + valType: 'enumerated', + values: l.symbolList, + dflt: 'circle', + arrayOk: !0, + editType: 'style', + }, + opacity: { + valType: 'number', + min: 0, + max: 1, + arrayOk: !0, + editType: 'style', + anim: !0, + }, + size: { + valType: 'number', + min: 0, + dflt: 6, + arrayOk: !0, + editType: 'calc', + anim: !0, + }, + maxdisplayed: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'plot', + }, + sizeref: { valType: 'number', dflt: 1, editType: 'calc' }, + sizemin: { + valType: 'number', + min: 0, + dflt: 0, + editType: 'calc', + }, + sizemode: { + valType: 'enumerated', + values: ['diameter', 'area'], + dflt: 'diameter', + editType: 'calc', + }, + line: u( + { + width: { + valType: 'number', + min: 0, + arrayOk: !0, + editType: 'style', + anim: !0, + }, + editType: 'calc', + }, + a('marker.line', { anim: !0 }) + ), + gradient: { + type: { + valType: 'enumerated', + values: ['radial', 'horizontal', 'vertical', 'none'], + arrayOk: !0, + dflt: 'none', + editType: 'calc', + }, + color: { valType: 'color', arrayOk: !0, editType: 'calc' }, + editType: 'calc', + }, + editType: 'calc', + }, + a('marker', { anim: !0 }) + ), + selected: { + marker: { + opacity: { + valType: 'number', + min: 0, + max: 1, + editType: 'style', + }, + color: { valType: 'color', editType: 'style' }, + size: { valType: 'number', min: 0, editType: 'style' }, + editType: 'style', + }, + textfont: { + color: { valType: 'color', editType: 'style' }, + editType: 'style', + }, + editType: 'style', + }, + unselected: { + marker: { + opacity: { + valType: 'number', + min: 0, + max: 1, + editType: 'style', + }, + color: { valType: 'color', editType: 'style' }, + size: { valType: 'number', min: 0, editType: 'style' }, + editType: 'style', + }, + textfont: { + color: { valType: 'color', editType: 'style' }, + editType: 'style', + }, + editType: 'style', + }, + textposition: { + valType: 'enumerated', + values: [ + 'top left', + 'top center', + 'top right', + 'middle left', + 'middle center', + 'middle right', + 'bottom left', + 'bottom center', + 'bottom right', + ], + dflt: 'middle center', + arrayOk: !0, + editType: 'calc', + }, + textfont: o({ + editType: 'calc', + colorEditType: 'style', + arrayOk: !0, + }), + r: { valType: 'data_array', editType: 'calc' }, + t: { valType: 'data_array', editType: 'calc' }, + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../components/drawing': 665, + '../../components/drawing/attributes': 664, + '../../lib/extend': 768, + '../../plots/font_attributes': 856, + '../../plots/template_attributes': 906, + './constants': 1191, + }, + ], + 1188: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../plots/cartesian/axes'), + o = t('../../plots/cartesian/align_period'), + s = t('../../constants/numerical').BADNUM, + l = t('./subtypes'), + c = t('./colorscale_calc'), + u = t('./arrays_to_calcdata'), + f = t('./calc_selection'); + function h(t, e, r, n, i, o, s) { + var c = e._length, + u = t._fullLayout, + f = r._id, + h = n._id, + p = u._firstScatter[g(e)] === e.uid, + d = (m(e, u, r, n) || {}).orientation, + v = e.fill; + (r._minDtick = 0), (n._minDtick = 0); + var y = { padded: !0 }, + x = { padded: !0 }; + s && (y.ppad = x.ppad = s); + var b = c < 2 || i[0] !== i[c - 1] || o[0] !== o[c - 1]; + b && ('tozerox' === v || ('tonextx' === v && (p || 'h' === d))) + ? (y.tozero = !0) + : (e.error_y || {}).visible || + ('tonexty' !== v && + 'tozeroy' !== v && + (l.hasMarkers(e) || l.hasText(e))) || + ((y.padded = !1), (y.ppad = 0)), + b && ('tozeroy' === v || ('tonexty' === v && (p || 'v' === d))) + ? (x.tozero = !0) + : ('tonextx' !== v && 'tozerox' !== v) || (x.padded = !1), + f && (e._extremes[f] = a.findExtremes(r, i, y)), + h && (e._extremes[h] = a.findExtremes(n, o, x)); + } + function p(t, e) { + if (l.hasMarkers(t)) { + var r, + n = t.marker, + o = 1.6 * (t.marker.sizeref || 1); + if ( + ((r = + 'area' === t.marker.sizemode + ? function (t) { + return Math.max(Math.sqrt((t || 0) / o), 3); + } + : function (t) { + return Math.max((t || 0) / o, 3); + }), + i.isArrayOrTypedArray(n.size)) + ) { + var s = { type: 'linear' }; + a.setConvert(s); + for ( + var c = s.makeCalcdata(t.marker, 'size'), + u = new Array(e), + f = 0; + f < e; + f++ + ) + u[f] = r(c[f]); + return u; + } + return r(n.size); + } + } + function d(t, e) { + var r = g(e), + n = t._firstScatter; + n[r] || (n[r] = e.uid); + } + function g(t) { + var e = t.stackgroup; + return t.xaxis + t.yaxis + t.type + (e ? '-' + e : ''); + } + function m(t, e, r, n) { + var i = t.stackgroup; + if (i) { + var a = e._scatterStackOpts[r._id + n._id][i], + o = 'v' === a.orientation ? n : r; + return 'linear' === o.type || 'log' === o.type ? a : void 0; + } + } + e.exports = { + calc: function (t, e) { + var r, + l, + g, + v, + y, + x, + b = t._fullLayout, + _ = a.getFromId(t, e.xaxis || 'x'), + w = a.getFromId(t, e.yaxis || 'y'), + T = _.makeCalcdata(e, 'x'), + k = w.makeCalcdata(e, 'y'), + M = o(e, _, 'x', T), + A = o(e, w, 'y', k), + S = e._length, + E = new Array(S), + C = e.ids, + L = m(e, b, _, w), + I = !1; + d(b, e); + var P, + z = 'x', + O = 'y'; + L + ? (i.pushUnique(L.traceIndices, e._expandedIndex), + (r = 'v' === L.orientation) + ? ((O = 's'), (P = 'x')) + : ((z = 's'), (P = 'y')), + (y = 'interpolate' === L.stackgaps)) + : h(t, e, _, w, M, A, p(e, S)); + var D = !!e.xperiodalignment, + R = !!e.yperiodalignment; + for (l = 0; l < S; l++) { + var F = (E[l] = {}), + B = n(M[l]), + N = n(A[l]); + B && N + ? ((F[z] = M[l]), + (F[O] = A[l]), + D && (F.orig_x = T[l]), + R && (F.orig_y = k[l])) + : L && (r ? B : N) + ? ((F[P] = r ? M[l] : A[l]), + (F.gap = !0), + y ? ((F.s = s), (I = !0)) : (F.s = 0)) + : (F[z] = F[O] = s), + C && (F.id = String(C[l])); + } + if ((u(E, e), c(t, e), f(E, e), L)) { + for (l = 0; l < E.length; ) + E[l][P] === s ? E.splice(l, 1) : l++; + if ( + (i.sort(E, function (t, e) { + return t[P] - e[P] || t.i - e.i; + }), + I) + ) { + for (l = 0; l < E.length - 1 && E[l].gap; ) l++; + for ((x = E[l].s) || (x = E[l].s = 0), g = 0; g < l; g++) + E[g].s = x; + for (v = E.length - 1; v > l && E[v].gap; ) v--; + for (x = E[v].s, g = E.length - 1; g > v; g--) E[g].s = x; + for (; l < v; ) + if (E[++l].gap) { + for (g = l + 1; E[g].gap; ) g++; + for ( + var j = E[l - 1][P], + U = E[l - 1].s, + V = (E[g].s - U) / (E[g][P] - j); + l < g; + + ) + (E[l].s = U + (E[l][P] - j) * V), l++; + } + } + } + return E; + }, + calcMarkerSize: p, + calcAxisExpansion: h, + setFirstScatter: d, + getStackOpts: m, + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + './arrays_to_calcdata': 1186, + './calc_selection': 1189, + './colorscale_calc': 1190, + './subtypes': 1212, + 'fast-isnumeric': 241, + }, + ], + 1189: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + n.isArrayOrTypedArray(e.selectedpoints) && n.tagSelected(t, e); + }; + }, + { '../../lib': 778 }, + ], + 1190: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/helpers').hasColorscale, + i = t('../../components/colorscale/calc'), + a = t('./subtypes'); + e.exports = function (t, e) { + a.hasLines(e) && + n(e, 'line') && + i(t, e, { + vals: e.line.color, + containerStr: 'line', + cLetter: 'c', + }), + a.hasMarkers(e) && + (n(e, 'marker') && + i(t, e, { + vals: e.marker.color, + containerStr: 'marker', + cLetter: 'c', + }), + n(e, 'marker.line') && + i(t, e, { + vals: e.marker.line.color, + containerStr: 'marker.line', + cLetter: 'c', + })); + }; + }, + { + '../../components/colorscale/calc': 651, + '../../components/colorscale/helpers': 654, + './subtypes': 1212, + }, + ], + 1191: [ + function (t, e, r) { + 'use strict'; + e.exports = { + PTS_LINESONLY: 20, + minTolerance: 0.2, + toleranceGrowth: 10, + maxScreensAway: 20, + eventDataKeys: [], + }; + }, + {}, + ], + 1192: [ + function (t, e, r) { + 'use strict'; + var n = t('./calc'); + function i(t, e, r, n, i, a, o) { + i[n] = !0; + var s = { i: null, gap: !0, s: 0 }; + if (((s[o] = r), t.splice(e, 0, s), e && r === t[e - 1][o])) { + var l = t[e - 1]; + (s.s = l.s), (s.i = l.i), (s.gap = l.gap); + } else + a && + (s.s = (function (t, e, r, n) { + var i = t[e - 1], + a = t[e + 1]; + return a + ? i + ? i.s + ((a.s - i.s) * (r - i[n])) / (a[n] - i[n]) + : a.s + : i.s; + })(t, e, r, o)); + e || + ((t[0].t = t[1].t), + (t[0].trace = t[1].trace), + delete t[1].t, + delete t[1].trace); + } + e.exports = function (t, e) { + var r = e.xaxis, + a = e.yaxis, + o = r._id + a._id, + s = t._fullLayout._scatterStackOpts[o]; + if (s) { + var l, + c, + u, + f, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T = t.calcdata; + for (var k in s) { + var M = (v = s[k]).traceIndices; + if (M.length) { + for ( + y = 'interpolate' === v.stackgaps, + x = v.groupnorm, + 'v' === v.orientation + ? ((b = 'x'), (_ = 'y')) + : ((b = 'y'), (_ = 'x')), + w = new Array(M.length), + l = 0; + l < w.length; + l++ + ) + w[l] = !1; + p = T[M[0]]; + var A = new Array(p.length); + for (l = 0; l < p.length; l++) A[l] = p[l][b]; + for (l = 1; l < M.length; l++) { + for (h = T[M[l]], c = u = 0; c < h.length; c++) { + for (d = h[c][b]; d > A[u] && u < A.length; u++) + i(h, c, A[u], l, w, y, b), c++; + if (d !== A[u]) { + for (f = 0; f < l; f++) i(T[M[f]], u, d, f, w, y, b); + A.splice(u, 0, d); + } + u++; + } + for (; u < A.length; u++) i(h, c, A[u], l, w, y, b), c++; + } + var S = A.length; + for (c = 0; c < p.length; c++) { + for (g = p[c][_] = p[c].s, l = 1; l < M.length; l++) + ((h = T[M[l]])[0].trace._rawLength = h[0].trace._length), + (h[0].trace._length = S), + (g += h[c].s), + (h[c][_] = g); + if (x) + for ( + m = ('fraction' === x ? g : g / 100) || 1, l = 0; + l < M.length; + l++ + ) { + var E = T[M[l]][c]; + (E[_] /= m), (E.sNorm = E.s / m); + } + } + for (l = 0; l < M.length; l++) { + var C = (h = T[M[l]])[0].trace, + L = n.calcMarkerSize(C, C._rawLength), + I = Array.isArray(L); + if ((L && w[l]) || I) { + var P = L; + for (L = new Array(S), c = 0; c < S; c++) + L[c] = h[c].gap ? 0 : I ? P[h[c].i] : P; + } + var z = new Array(S), + O = new Array(S); + for (c = 0; c < S; c++) (z[c] = h[c].x), (O[c] = h[c].y); + n.calcAxisExpansion(t, C, r, a, z, O, L), + (h[0].t.orientation = v.orientation); + } + } + } + } + }; + }, + { './calc': 1188 }, + ], + 1193: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t) { + for (var e = 0; e < t.length; e++) { + var r = t[e]; + if ('scatter' === r.type) { + var n = r.fill; + if ( + 'none' !== n && + 'toself' !== n && + ((r.opacity = void 0), 'tonexty' === n || 'tonextx' === n) + ) + for (var i = e - 1; i >= 0; i--) { + var a = t[i]; + if ( + 'scatter' === a.type && + a.xaxis === r.xaxis && + a.yaxis === r.yaxis + ) { + a.opacity = void 0; + break; + } + } + } + } + }; + }, + {}, + ], + 1194: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = t('./attributes'), + o = t('./constants'), + s = t('./subtypes'), + l = t('./xy_defaults'), + c = t('./period_defaults'), + u = t('./stack_defaults'), + f = t('./marker_defaults'), + h = t('./line_defaults'), + p = t('./line_shape_defaults'), + d = t('./text_defaults'), + g = t('./fillcolor_defaults'); + e.exports = function (t, e, r, m) { + function v(r, i) { + return n.coerce(t, e, a, r, i); + } + var y = l(t, e, m, v); + if ((y || (e.visible = !1), e.visible)) { + c(t, e, m, v); + var x = u(t, e, m, v), + b = !x && y < o.PTS_LINESONLY ? 'lines+markers' : 'lines'; + v('text'), + v('hovertext'), + v('mode', b), + s.hasLines(e) && + (h(t, e, r, m, v), + p(t, e, v), + v('connectgaps'), + v('line.simplify')), + s.hasMarkers(e) && f(t, e, r, m, v, { gradient: !0 }), + s.hasText(e) && (v('texttemplate'), d(t, e, m, v)); + var _ = []; + (s.hasMarkers(e) || s.hasText(e)) && + (v('cliponaxis'), v('marker.maxdisplayed'), _.push('points')), + v('fill', x ? x.fillDflt : 'none'), + 'none' !== e.fill && + (g(t, e, r, v), s.hasLines(e) || p(t, e, v)); + var w = (e.line || {}).color, + T = (e.marker || {}).color; + ('tonext' !== e.fill && 'toself' !== e.fill) || _.push('fills'), + v('hoveron', _.join('+') || 'points'), + 'fills' !== e.hoveron && v('hovertemplate'); + var k = i.getComponentMethod('errorbars', 'supplyDefaults'); + k(t, e, w || T || r, { axis: 'y' }), + k(t, e, w || T || r, { axis: 'x', inherit: 'y' }), + n.coerceSelectionMarkerOpacity(e, v); + } + }; + }, + { + '../../lib': 778, + '../../registry': 911, + './attributes': 1187, + './constants': 1191, + './fillcolor_defaults': 1195, + './line_defaults': 1200, + './line_shape_defaults': 1202, + './marker_defaults': 1206, + './period_defaults': 1207, + './stack_defaults': 1210, + './subtypes': 1212, + './text_defaults': 1213, + './xy_defaults': 1214, + }, + ], + 1195: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../../lib').isArrayOrTypedArray; + e.exports = function (t, e, r, a) { + var o = !1; + if (e.marker) { + var s = e.marker.color, + l = (e.marker.line || {}).color; + s && !i(s) ? (o = s) : l && !i(l) && (o = l); + } + a('fillcolor', n.addOpacity((e.line || {}).color || o || r, 0.5)); + }; + }, + { '../../components/color': 643, '../../lib': 778 }, + ], + 1196: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'); + e.exports = function (t, e, r) { + var i = {}, + a = { _fullLayout: r }, + o = n.getFromTrace(a, e, 'x'), + s = n.getFromTrace(a, e, 'y'); + return ( + (i.xLabel = n.tickText(o, t.x, !0).text), + (i.yLabel = n.tickText(s, t.y, !0).text), + i + ); + }; + }, + { '../../plots/cartesian/axes': 828 }, + ], + 1197: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('./subtypes'); + e.exports = function (t, e) { + var r, a; + if ('lines' === t.mode) + return (r = t.line.color) && n.opacity(r) ? r : t.fillcolor; + if ('none' === t.mode) return t.fill ? t.fillcolor : ''; + var o = e.mcc || (t.marker || {}).color, + s = e.mlcc || ((t.marker || {}).line || {}).color; + return (a = + o && n.opacity(o) + ? o + : s && + n.opacity(s) && + (e.mlw || ((t.marker || {}).line || {}).width) + ? s + : '') + ? n.opacity(a) < 0.3 + ? n.addOpacity(a, 0.3) + : a + : (r = (t.line || {}).color) && + n.opacity(r) && + i.hasLines(t) && + t.line.width + ? r + : t.fillcolor; + }; + }, + { '../../components/color': 643, './subtypes': 1212 }, + ], + 1198: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/fx'), + a = t('../../registry'), + o = t('./get_trace_color'), + s = t('../../components/color'), + l = n.fillText; + e.exports = function (t, e, r, c) { + var u = t.cd, + f = u[0].trace, + h = t.xa, + p = t.ya, + d = h.c2p(e), + g = p.c2p(r), + m = [d, g], + v = f.hoveron || '', + y = -1 !== f.mode.indexOf('markers') ? 3 : 0.5; + if (-1 !== v.indexOf('points')) { + var x = function (t) { + var e = Math.max(y, t.mrc || 0), + r = h.c2p(t.x) - d, + n = p.c2p(t.y) - g; + return Math.max(Math.sqrt(r * r + n * n) - e, 1 - y / e); + }, + b = i.getDistanceFunction( + c, + function (t) { + var e = Math.max(3, t.mrc || 0), + r = 1 - 1 / e, + n = Math.abs(h.c2p(t.x) - d); + return n < e ? (r * n) / e : n - e + r; + }, + function (t) { + var e = Math.max(3, t.mrc || 0), + r = 1 - 1 / e, + n = Math.abs(p.c2p(t.y) - g); + return n < e ? (r * n) / e : n - e + r; + }, + x + ); + if ((i.getClosest(u, b, t), !1 !== t.index)) { + var _ = u[t.index], + w = h.c2p(_.x, !0), + T = p.c2p(_.y, !0), + k = _.mrc || 1; + t.index = _.i; + var M = u[0].t.orientation, + A = M && (_.sNorm || _.s), + S = 'h' === M ? A : void 0 !== _.orig_x ? _.orig_x : _.x, + E = 'v' === M ? A : void 0 !== _.orig_y ? _.orig_y : _.y; + return ( + n.extendFlat(t, { + color: o(f, _), + x0: w - k, + x1: w + k, + xLabelVal: S, + y0: T - k, + y1: T + k, + yLabelVal: E, + spikeDistance: x(_), + hovertemplate: f.hovertemplate, + }), + l(_, f, t), + a.getComponentMethod('errorbars', 'hoverInfo')(_, f, t), + [t] + ); + } + } + if (-1 !== v.indexOf('fills') && f._polygons) { + var C, + L, + I, + P, + z, + O, + D, + R, + F, + B = f._polygons, + N = [], + j = !1, + U = 1 / 0, + V = -1 / 0, + q = 1 / 0, + H = -1 / 0; + for (C = 0; C < B.length; C++) + (I = B[C]).contains(m) && + ((j = !j), + N.push(I), + (q = Math.min(q, I.ymin)), + (H = Math.max(H, I.ymax))); + if (j) { + var G = + ((q = Math.max(q, 0)) + (H = Math.min(H, p._length))) / 2; + for (C = 0; C < N.length; C++) + for (P = N[C].pts, L = 1; L < P.length; L++) + (R = P[L - 1][1]) > G != (F = P[L][1]) >= G && + ((O = P[L - 1][0]), + (D = P[L][0]), + F - R && + ((z = O + ((D - O) * (G - R)) / (F - R)), + (U = Math.min(U, z)), + (V = Math.max(V, z)))); + (U = Math.max(U, 0)), (V = Math.min(V, h._length)); + var Y = s.defaultLine; + return ( + s.opacity(f.fillcolor) + ? (Y = f.fillcolor) + : s.opacity((f.line || {}).color) && (Y = f.line.color), + n.extendFlat(t, { + distance: t.maxHoverDistance, + x0: U, + x1: V, + y0: G, + y1: G, + color: Y, + hovertemplate: !1, + }), + delete t.index, + f.text && !Array.isArray(f.text) + ? (t.text = String(f.text)) + : (t.text = f.name), + [t] + ); + } + } + }; + }, + { + '../../components/color': 643, + '../../components/fx': 683, + '../../lib': 778, + '../../registry': 911, + './get_trace_color': 1197, + }, + ], + 1199: [ + function (t, e, r) { + 'use strict'; + var n = t('./subtypes'); + e.exports = { + hasLines: n.hasLines, + hasMarkers: n.hasMarkers, + hasText: n.hasText, + isBubble: n.isBubble, + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('./cross_trace_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('./cross_trace_calc'), + arraysToCalcdata: t('./arrays_to_calcdata'), + plot: t('./plot'), + colorbar: t('./marker_colorbar'), + formatLabels: t('./format_labels'), + style: t('./style').style, + styleOnSelect: t('./style').styleOnSelect, + hoverPoints: t('./hover'), + selectPoints: t('./select'), + animatable: !0, + moduleType: 'trace', + name: 'scatter', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'symbols', + 'errorBarsOK', + 'showLegend', + 'scatter-like', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + './arrays_to_calcdata': 1186, + './attributes': 1187, + './calc': 1188, + './cross_trace_calc': 1192, + './cross_trace_defaults': 1193, + './defaults': 1194, + './format_labels': 1196, + './hover': 1198, + './marker_colorbar': 1205, + './plot': 1208, + './select': 1209, + './style': 1211, + './subtypes': 1212, + }, + ], + 1200: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').isArrayOrTypedArray, + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/defaults'); + e.exports = function (t, e, r, o, s, l) { + var c = (t.marker || {}).color; + (s('line.color', r), i(t, 'line')) + ? a(t, e, o, s, { prefix: 'line.', cLetter: 'c' }) + : s('line.color', (!n(c) && c) || r); + s('line.width'), (l || {}).noDash || s('line.dash'); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../components/colorscale/helpers': 654, + '../../lib': 778, + }, + ], + 1201: [ + function (t, e, r) { + 'use strict'; + var n = t('../../constants/numerical'), + i = n.BADNUM, + a = n.LOG_CLIP, + o = a + 0.5, + s = a - 0.5, + l = t('../../lib'), + c = l.segmentsIntersect, + u = l.constrain, + f = t('./constants'); + e.exports = function (t, e) { + var r, + n, + a, + h, + p, + d, + g, + m, + v, + y, + x, + b, + _, + w, + T, + k, + M, + A, + S = e.xaxis, + E = e.yaxis, + C = 'log' === S.type, + L = 'log' === E.type, + I = S._length, + P = E._length, + z = e.connectGaps, + O = e.baseTolerance, + D = e.shape, + R = 'linear' === D, + F = e.fill && 'none' !== e.fill, + B = [], + N = f.minTolerance, + j = t.length, + U = new Array(j), + V = 0; + function q(r) { + var n = t[r]; + if (!n) return !1; + var a = e.linearized ? S.l2p(n.x) : S.c2p(n.x), + l = e.linearized ? E.l2p(n.y) : E.c2p(n.y); + if (a === i) { + if ((C && (a = S.c2p(n.x, !0)), a === i)) return !1; + L && + l === i && + (a *= Math.abs( + (S._m * P * (S._m > 0 ? o : s)) / + (E._m * I * (E._m > 0 ? o : s)) + )), + (a *= 1e3); + } + if (l === i) { + if ((L && (l = E.c2p(n.y, !0)), l === i)) return !1; + l *= 1e3; + } + return [a, l]; + } + function H(t, e, r, n) { + var i = r - t, + a = n - e, + o = 0.5 - t, + s = 0.5 - e, + l = i * i + a * a, + c = i * o + a * s; + if (c > 0 && c < l) { + var u = o * a - s * i; + if (u * u < l) return !0; + } + } + function G(t, e) { + var r = t[0] / I, + n = t[1] / P, + i = Math.max(0, -r, r - 1, -n, n - 1); + return ( + i && void 0 !== M && H(r, n, M, A) && (i = 0), + i && e && H(r, n, e[0] / I, e[1] / P) && (i = 0), + (1 + f.toleranceGrowth * i) * O + ); + } + function Y(t, e) { + var r = t[0] - e[0], + n = t[1] - e[1]; + return Math.sqrt(r * r + n * n); + } + var W, + X, + Z, + J, + K, + Q, + $, + tt = f.maxScreensAway, + et = -I * tt, + rt = I * (1 + tt), + nt = -P * tt, + it = P * (1 + tt), + at = [ + [et, nt, rt, nt], + [rt, nt, rt, it], + [rt, it, et, it], + [et, it, et, nt], + ]; + function ot(t) { + if (t[0] < et || t[0] > rt || t[1] < nt || t[1] > it) + return [u(t[0], et, rt), u(t[1], nt, it)]; + } + function st(t, e) { + return ( + (t[0] === e[0] && (t[0] === et || t[0] === rt)) || + (t[1] === e[1] && (t[1] === nt || t[1] === it)) || + void 0 + ); + } + function lt(t, e, r) { + return function (n, i) { + var a = ot(n), + o = ot(i), + s = []; + if (a && o && st(a, o)) return s; + a && s.push(a), o && s.push(o); + var c = + 2 * l.constrain((n[t] + i[t]) / 2, e, r) - + ((a || n)[t] + (o || i)[t]); + c && + ((a && o ? (c > 0 == a[t] > o[t] ? a : o) : a || o)[t] += c); + return s; + }; + } + function ct(t) { + var e = t[0], + r = t[1], + n = e === U[V - 1][0], + i = r === U[V - 1][1]; + if (!n || !i) + if (V > 1) { + var a = e === U[V - 2][0], + o = r === U[V - 2][1]; + n && (e === et || e === rt) && a + ? o + ? V-- + : (U[V - 1] = t) + : i && (r === nt || r === it) && o + ? a + ? V-- + : (U[V - 1] = t) + : (U[V++] = t); + } else U[V++] = t; + } + function ut(t) { + U[V - 1][0] !== t[0] && U[V - 1][1] !== t[1] && ct([Z, J]), + ct(t), + (K = null), + (Z = J = 0); + } + function ft(t) { + if ( + ((M = t[0] / I), + (A = t[1] / P), + (W = t[0] < et ? et : t[0] > rt ? rt : 0), + (X = t[1] < nt ? nt : t[1] > it ? it : 0), + W || X) + ) { + if (V) + if (K) { + var e = $(K, t); + e.length > 1 && (ut(e[0]), (U[V++] = e[1])); + } else (Q = $(U[V - 1], t)[0]), (U[V++] = Q); + else U[V++] = [W || t[0], X || t[1]]; + var r = U[V - 1]; + W && X && (r[0] !== W || r[1] !== X) + ? (K && + (Z !== W && J !== X + ? ct( + Z && J + ? ((n = K), + (a = (i = t)[0] - n[0]), + (o = (i[1] - n[1]) / a), + (n[1] * i[0] - i[1] * n[0]) / a > 0 + ? [o > 0 ? et : rt, it] + : [o > 0 ? rt : et, nt]) + : [Z || W, J || X] + ) + : Z && J && ct([Z, J])), + ct([W, X])) + : Z - W && J - X && ct([W || Z, X || J]), + (K = t), + (Z = W), + (J = X); + } else K && ut($(K, t)[0]), (U[V++] = t); + var n, i, a, o; + } + for ( + 'linear' === D || 'spline' === D + ? ($ = function (t, e) { + for (var r = [], n = 0, i = 0; i < 4; i++) { + var a = at[i], + o = c(t[0], t[1], e[0], e[1], a[0], a[1], a[2], a[3]); + o && + (!n || + Math.abs(o.x - r[0][0]) > 1 || + Math.abs(o.y - r[0][1]) > 1) && + ((o = [o.x, o.y]), + n && Y(o, t) < Y(r[0], t) ? r.unshift(o) : r.push(o), + n++); + } + return r; + }) + : 'hv' === D || 'vh' === D + ? ($ = function (t, e) { + var r = [], + n = ot(t), + i = ot(e); + return ( + (n && i && st(n, i)) || (n && r.push(n), i && r.push(i)), + r + ); + }) + : 'hvh' === D + ? ($ = lt(0, et, rt)) + : 'vhv' === D && ($ = lt(1, nt, it)), + r = 0; + r < j; + r++ + ) + if ((n = q(r))) { + for (V = 0, K = null, ft(n), r++; r < j; r++) { + if (!(h = q(r))) { + if (z) continue; + break; + } + if (R && e.simplify) { + var ht = q(r + 1); + if ( + ((y = Y(h, n)), + (F && (0 === V || V === j - 1)) || !(y < G(h, ht) * N)) + ) { + for ( + m = [(h[0] - n[0]) / y, (h[1] - n[1]) / y], + p = n, + x = y, + b = w = T = 0, + g = !1, + a = h, + r++; + r < t.length; + r++ + ) { + if (((d = ht), (ht = q(r + 1)), !d)) { + if (z) continue; + break; + } + if ( + ((k = + (v = [d[0] - n[0], d[1] - n[1]])[0] * m[1] - + v[1] * m[0]), + (w = Math.min(w, k)), + (T = Math.max(T, k)) - w > G(d, ht)) + ) + break; + (a = d), + (_ = v[0] * m[0] + v[1] * m[1]) > x + ? ((x = _), (h = d), (g = !1)) + : _ < b && ((b = _), (p = d), (g = !0)); + } + if ( + (g + ? (ft(h), a !== p && ft(p)) + : (p !== n && ft(p), a !== h && ft(h)), + ft(a), + r >= t.length || !d) + ) + break; + ft(d), (n = d); + } + } else ft(h); + } + K && ct([Z || K[0], J || K[1]]), B.push(U.slice(0, V)); + } + return B; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + './constants': 1191, + }, + ], + 1202: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r) { + 'spline' === r('line.shape') && r('line.smoothing'); + }; + }, + {}, + ], + 1203: [ + function (t, e, r) { + 'use strict'; + var n = { tonextx: 1, tonexty: 1, tonext: 1 }; + e.exports = function (t, e, r) { + var i, + a, + o, + s, + l, + c = {}, + u = !1, + f = -1, + h = 0, + p = -1; + for (a = 0; a < r.length; a++) + (o = (i = r[a][0].trace).stackgroup || '') + ? o in c + ? (l = c[o]) + : ((l = c[o] = h), h++) + : i.fill in n && p >= 0 + ? (l = p) + : ((l = p = h), h++), + l < f && (u = !0), + (i._groupIndex = f = l); + var d = r.slice(); + u && + d.sort(function (t, e) { + var r = t[0].trace, + n = e[0].trace; + return r._groupIndex - n._groupIndex || r.index - n.index; + }); + var g = {}; + for (a = 0; a < d.length; a++) + (o = (i = d[a][0].trace).stackgroup || ''), + !0 === i.visible + ? ((i._nexttrace = null), + i.fill in n && + ((s = g[o]), + (i._prevtrace = s || null), + s && (s._nexttrace = i)), + (i._ownfill = + i.fill && + ('tozero' === i.fill.substr(0, 6) || + 'toself' === i.fill || + ('to' === i.fill.substr(0, 2) && !i._prevtrace))), + (g[o] = i)) + : (i._prevtrace = i._nexttrace = i._ownfill = null); + return d; + }; + }, + {}, + ], + 1204: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'); + e.exports = function (t) { + var e = t.marker, + r = e.sizeref || 1, + i = e.sizemin || 0, + a = + 'area' === e.sizemode + ? function (t) { + return Math.sqrt(t / r); + } + : function (t) { + return t / r; + }; + return function (t) { + var e = a(t / 2); + return n(e) && e > 0 ? Math.max(e, i) : 0; + }; + }; + }, + { 'fast-isnumeric': 241 }, + ], + 1205: [ + function (t, e, r) { + 'use strict'; + e.exports = { container: 'marker', min: 'cmin', max: 'cmax' }; + }, + {}, + ], + 1206: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../../components/colorscale/helpers').hasColorscale, + a = t('../../components/colorscale/defaults'), + o = t('./subtypes'); + e.exports = function (t, e, r, s, l, c) { + var u = o.isBubble(t), + f = (t.line || {}).color; + ((c = c || {}), + f && (r = f), + l('marker.symbol'), + l('marker.opacity', u ? 0.7 : 1), + l('marker.size'), + l('marker.color', r), + i(t, 'marker') && + a(t, e, s, l, { prefix: 'marker.', cLetter: 'c' }), + c.noSelect || + (l('selected.marker.color'), + l('unselected.marker.color'), + l('selected.marker.size'), + l('unselected.marker.size')), + c.noLine || + (l( + 'marker.line.color', + f && !Array.isArray(f) && e.marker.color !== f + ? f + : u + ? n.background + : n.defaultLine + ), + i(t, 'marker.line') && + a(t, e, s, l, { prefix: 'marker.line.', cLetter: 'c' }), + l('marker.line.width', u ? 1 : 0)), + u && + (l('marker.sizeref'), l('marker.sizemin'), l('marker.sizemode')), + c.gradient) && + 'none' !== l('marker.gradient.type') && + l('marker.gradient.color'); + }; + }, + { + '../../components/color': 643, + '../../components/colorscale/defaults': 653, + '../../components/colorscale/helpers': 654, + './subtypes': 1212, + }, + ], + 1207: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib').dateTick0, + i = t('../../constants/numerical').ONEWEEK; + function a(t, e) { + return n(e, t % i == 0 ? 1 : 0); + } + e.exports = function (t, e, r, n, i) { + if ((i || (i = { x: !0, y: !0 }), i.x)) { + var o = n('xperiod'); + o && (n('xperiod0', a(o, e.xcalendar)), n('xperiodalignment')); + } + if (i.y) { + var s = n('yperiod'); + s && (n('yperiod0', a(s, e.ycalendar)), n('yperiodalignment')); + } + }; + }, + { '../../constants/numerical': 753, '../../lib': 778 }, + ], + 1208: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../lib'), + o = a.ensureSingle, + s = a.identity, + l = t('../../components/drawing'), + c = t('./subtypes'), + u = t('./line_points'), + f = t('./link_traces'), + h = t('../../lib/polygon').tester; + function p(t, e, r, f, p, d, g) { + var m; + !(function (t, e, r, i, o) { + var s = r.xaxis, + l = r.yaxis, + u = n.extent(a.simpleMap(s.range, s.r2c)), + f = n.extent(a.simpleMap(l.range, l.r2c)), + h = i[0].trace; + if (!c.hasMarkers(h)) return; + var p = h.marker.maxdisplayed; + if (0 === p) return; + var d = i.filter(function (t) { + return ( + t.x >= u[0] && t.x <= u[1] && t.y >= f[0] && t.y <= f[1] + ); + }), + g = Math.ceil(d.length / p), + m = 0; + o.forEach(function (t, r) { + var n = t[0].trace; + c.hasMarkers(n) && n.marker.maxdisplayed > 0 && r < e && m++; + }); + var v = Math.round((m * g) / 3 + (Math.floor(m / 3) * g) / 7.1); + i.forEach(function (t) { + delete t.vis; + }), + d.forEach(function (t, e) { + 0 === Math.round((e + v) % g) && (t.vis = !0); + }); + })(0, e, r, f, p); + var v = !!g && g.duration > 0; + function y(t) { + return v ? t.transition() : t; + } + var x = r.xaxis, + b = r.yaxis, + _ = f[0].trace, + w = _.line, + T = n.select(d), + k = o(T, 'g', 'errorbars'), + M = o(T, 'g', 'lines'), + A = o(T, 'g', 'points'), + S = o(T, 'g', 'text'); + if ( + (i.getComponentMethod('errorbars', 'plot')(t, k, r, g), + !0 === _.visible) + ) { + var E, C; + y(T).style('opacity', _.opacity); + var L = _.fill.charAt(_.fill.length - 1); + 'x' !== L && 'y' !== L && (L = ''), + (f[0][r.isRangePlot ? 'nodeRangePlot3' : 'node3'] = T); + var I, + P, + z = '', + O = [], + D = _._prevtrace; + D && + ((z = D._prevRevpath || ''), + (C = D._nextFill), + (O = D._polygons)); + var R, + F, + B, + N, + j, + U, + V, + q = '', + H = '', + G = [], + Y = a.noop; + if (((E = _._ownFill), c.hasLines(_) || 'none' !== _.fill)) { + for ( + C && C.datum(f), + -1 !== ['hv', 'vh', 'hvh', 'vhv'].indexOf(w.shape) + ? ((R = l.steps(w.shape)), + (F = l.steps(w.shape.split('').reverse().join('')))) + : (R = F = + 'spline' === w.shape + ? function (t) { + var e = t[t.length - 1]; + return t.length > 1 && + t[0][0] === e[0] && + t[0][1] === e[1] + ? l.smoothclosed(t.slice(1), w.smoothing) + : l.smoothopen(t, w.smoothing); + } + : function (t) { + return 'M' + t.join('L'); + }), + B = function (t) { + return F(t.reverse()); + }, + G = u(f, { + xaxis: x, + yaxis: b, + connectGaps: _.connectgaps, + baseTolerance: Math.max(w.width || 1, 3) / 4, + shape: w.shape, + simplify: w.simplify, + fill: _.fill, + }), + V = _._polygons = new Array(G.length), + m = 0; + m < G.length; + m++ + ) + _._polygons[m] = h(G[m]); + G.length && + ((N = G[0][0]), (U = (j = G[G.length - 1])[j.length - 1])), + (Y = function (t) { + return function (e) { + if ( + ((I = R(e)), + (P = B(e)), + q + ? L + ? ((q += 'L' + I.substr(1)), + (H = P + 'L' + H.substr(1))) + : ((q += 'Z' + I), (H = P + 'Z' + H)) + : ((q = I), (H = P)), + c.hasLines(_) && e.length > 1) + ) { + var r = n.select(this); + if ((r.datum(f), t)) + y( + r + .style('opacity', 0) + .attr('d', I) + .call(l.lineGroupStyle) + ).style('opacity', 1); + else { + var i = y(r); + i.attr('d', I), l.singleLineStyle(f, i); + } + } + }; + }); + } + var W = M.selectAll('.js-line').data(G); + y(W.exit()).style('opacity', 0).remove(), + W.each(Y(!1)), + W.enter() + .append('path') + .classed('js-line', !0) + .style('vector-effect', 'non-scaling-stroke') + .call(l.lineGroupStyle) + .each(Y(!0)), + l.setClipUrl(W, r.layerClipId, t), + G.length + ? (E + ? (E.datum(f), + N && + U && + (L + ? ('y' === L + ? (N[1] = U[1] = b.c2p(0, !0)) + : 'x' === L && (N[0] = U[0] = x.c2p(0, !0)), + y(E) + .attr( + 'd', + 'M' + U + 'L' + N + 'L' + q.substr(1) + ) + .call(l.singleFillStyle)) + : y(E) + .attr('d', q + 'Z') + .call(l.singleFillStyle))) + : C && + ('tonext' === _.fill.substr(0, 6) && q && z + ? ('tonext' === _.fill + ? y(C) + .attr('d', q + 'Z' + z + 'Z') + .call(l.singleFillStyle) + : y(C) + .attr('d', q + 'L' + z.substr(1) + 'Z') + .call(l.singleFillStyle), + (_._polygons = _._polygons.concat(O))) + : (Z(C), (_._polygons = null))), + (_._prevRevpath = H), + (_._prevPolygons = V)) + : (E ? Z(E) : C && Z(C), + (_._polygons = _._prevRevpath = _._prevPolygons = null)), + A.datum(f), + S.datum(f), + (function (e, i, a) { + var o, + u = a[0].trace, + f = c.hasMarkers(u), + h = c.hasText(u), + p = tt(u), + d = et, + g = et; + if (f || h) { + var m = s, + _ = u.stackgroup, + w = + _ && + 'infer zero' === + t._fullLayout._scatterStackOpts[x._id + b._id][_] + .stackgaps; + u.marker.maxdisplayed || u._needsCull + ? (m = w ? K : J) + : _ && !w && (m = Q), + f && (d = m), + h && (g = m); + } + var T, + k = (o = e.selectAll('path.point').data(d, p)) + .enter() + .append('path') + .classed('point', !0); + v && + k + .call(l.pointStyle, u, t) + .call(l.translatePoints, x, b) + .style('opacity', 0) + .transition() + .style('opacity', 1), + o.order(), + f && (T = l.makePointStyleFns(u)), + o.each(function (e) { + var i = n.select(this), + a = y(i); + l.translatePoint(e, a, x, b) + ? (l.singlePointStyle(e, a, u, T, t), + r.layerClipId && + l.hideOutsideRangePoint( + e, + a, + x, + b, + u.xcalendar, + u.ycalendar + ), + u.customdata && + i.classed( + 'plotly-customdata', + null !== e.data && void 0 !== e.data + )) + : a.remove(); + }), + v + ? o.exit().transition().style('opacity', 0).remove() + : o.exit().remove(), + (o = i.selectAll('g').data(g, p)) + .enter() + .append('g') + .classed('textpoint', !0) + .append('text'), + o.order(), + o.each(function (t) { + var e = n.select(this), + i = y(e.select('text')); + l.translatePoint(t, i, x, b) + ? r.layerClipId && + l.hideOutsideRangePoint( + t, + e, + x, + b, + u.xcalendar, + u.ycalendar + ) + : e.remove(); + }), + o + .selectAll('text') + .call(l.textPointStyle, u, t) + .each(function (t) { + var e = x.c2p(t.x), + r = b.c2p(t.y); + n.select(this) + .selectAll('tspan.line') + .each(function () { + y(n.select(this)).attr({ x: e, y: r }); + }); + }), + o.exit().remove(); + })(A, S, f); + var X = !1 === _.cliponaxis ? null : r.layerClipId; + l.setClipUrl(A, X, t), l.setClipUrl(S, X, t); + } + function Z(t) { + y(t).attr('d', 'M0,0Z'); + } + function J(t) { + return t.filter(function (t) { + return !t.gap && t.vis; + }); + } + function K(t) { + return t.filter(function (t) { + return t.vis; + }); + } + function Q(t) { + return t.filter(function (t) { + return !t.gap; + }); + } + function $(t) { + return t.id; + } + function tt(t) { + if (t.ids) return $; + } + function et() { + return !1; + } + } + e.exports = function (t, e, r, i, a, c) { + var u, + h, + d = !a, + g = !!a && a.duration > 0, + m = f(t, e, r); + ((u = i.selectAll('g.trace').data(m, function (t) { + return t[0].trace.uid; + })) + .enter() + .append('g') + .attr('class', function (t) { + return 'trace scatter trace' + t[0].trace.uid; + }) + .style('stroke-miterlimit', 2), + u.order(), + (function (t, e, r) { + e.each(function (e) { + var i = o(n.select(this), 'g', 'fills'); + l.setClipUrl(i, r.layerClipId, t); + var a = e[0].trace, + c = []; + a._ownfill && c.push('_ownFill'), + a._nexttrace && c.push('_nextFill'); + var u = i.selectAll('g').data(c, s); + u.enter().append('g'), + u + .exit() + .each(function (t) { + a[t] = null; + }) + .remove(), + u.order().each(function (t) { + a[t] = o(n.select(this), 'path', 'js-fill'); + }); + }); + })(t, u, e), + g) + ? (c && (h = c()), + n + .transition() + .duration(a.duration) + .ease(a.easing) + .each('end', function () { + h && h(); + }) + .each('interrupt', function () { + h && h(); + }) + .each(function () { + i.selectAll('g.trace').each(function (r, n) { + p(t, n, e, r, m, this, a); + }); + })) + : u.each(function (r, n) { + p(t, n, e, r, m, this, a); + }); + d && u.exit().remove(), i.selectAll('path:not([d])').remove(); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/polygon': 790, + '../../registry': 911, + './line_points': 1201, + './link_traces': 1203, + './subtypes': 1212, + d3: 169, + }, + ], + 1209: [ + function (t, e, r) { + 'use strict'; + var n = t('./subtypes'); + e.exports = function (t, e) { + var r, + i, + a, + o, + s = t.cd, + l = t.xaxis, + c = t.yaxis, + u = [], + f = s[0].trace; + if (!n.hasMarkers(f) && !n.hasText(f)) return []; + if (!1 === e) for (r = 0; r < s.length; r++) s[r].selected = 0; + else + for (r = 0; r < s.length; r++) + (i = s[r]), + (a = l.c2p(i.x)), + (o = c.c2p(i.y)), + null !== i.i && e.contains([a, o], !1, r, t) + ? (u.push({ + pointNumber: i.i, + x: l.c2d(i.x), + y: c.c2d(i.y), + }), + (i.selected = 1)) + : (i.selected = 0); + return u; + }; + }, + { './subtypes': 1212 }, + ], + 1210: [ + function (t, e, r) { + 'use strict'; + var n = ['orientation', 'groupnorm', 'stackgaps']; + e.exports = function (t, e, r, i) { + var a = r._scatterStackOpts, + o = i('stackgroup'); + if (o) { + var s = e.xaxis + e.yaxis, + l = a[s]; + l || (l = a[s] = {}); + var c = l[o], + u = !1; + c + ? c.traces.push(e) + : ((c = l[o] = { traceIndices: [], traces: [e] }), (u = !0)); + for ( + var f = { orientation: e.x && !e.y ? 'h' : 'v' }, h = 0; + h < n.length; + h++ + ) { + var p = n[h], + d = p + 'Found'; + if (!c[d]) { + var g = void 0 !== t[p], + m = 'orientation' === p; + if ( + (g || u) && + ((c[p] = i(p, f[p])), + m && (c.fillDflt = 'h' === c[p] ? 'tonextx' : 'tonexty'), + g && ((c[d] = !0), !u && (delete c.traces[0][p], m))) + ) + for (var v = 0; v < c.traces.length - 1; v++) { + var y = c.traces[v]; + y._input.fill !== y.fill && (y.fill = c.fillDflt); + } + } + } + return c; + } + }; + }, + {}, + ], + 1211: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../registry'); + function o(t, e, r) { + i.pointStyle(t.selectAll('path.point'), e, r); + } + function s(t, e, r) { + i.textPointStyle(t.selectAll('text'), e, r); + } + e.exports = { + style: function (t) { + var e = n.select(t).selectAll('g.trace.scatter'); + e.style('opacity', function (t) { + return t[0].trace.opacity; + }), + e.selectAll('g.points').each(function (e) { + o(n.select(this), e.trace || e[0].trace, t); + }), + e.selectAll('g.text').each(function (e) { + s(n.select(this), e.trace || e[0].trace, t); + }), + e.selectAll('g.trace path.js-line').call(i.lineGroupStyle), + e.selectAll('g.trace path.js-fill').call(i.fillGroupStyle), + a.getComponentMethod('errorbars', 'style')(e); + }, + stylePoints: o, + styleText: s, + styleOnSelect: function (t, e, r) { + var n = e[0].trace; + n.selectedpoints + ? (i.selectedPointStyle(r.selectAll('path.point'), n), + i.selectedTextStyle(r.selectAll('text'), n)) + : (o(r, n, t), s(r, n, t)); + }, + }; + }, + { '../../components/drawing': 665, '../../registry': 911, d3: 169 }, + ], + 1212: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = { + hasLines: function (t) { + return t.visible && t.mode && -1 !== t.mode.indexOf('lines'); + }, + hasMarkers: function (t) { + return ( + t.visible && + ((t.mode && -1 !== t.mode.indexOf('markers')) || + 'splom' === t.type) + ); + }, + hasText: function (t) { + return t.visible && t.mode && -1 !== t.mode.indexOf('text'); + }, + isBubble: function (t) { + return ( + n.isPlainObject(t.marker) && + n.isArrayOrTypedArray(t.marker.size) + ); + }, + }; + }, + { '../../lib': 778 }, + ], + 1213: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e, r, i, a) { + (a = a || {}), + i('textposition'), + n.coerceFont(i, 'textfont', r.font), + a.noSelect || + (i('selected.textfont.color'), i('unselected.textfont.color')); + }; + }, + { '../../lib': 778 }, + ], + 1214: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'); + e.exports = function (t, e, r, a) { + var o, + s = a('x'), + l = a('y'); + if ( + (i.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y'], + r + ), + s) + ) { + var c = n.minRowLength(s); + l + ? (o = Math.min(c, n.minRowLength(l))) + : ((o = c), a('y0'), a('dy')); + } else { + if (!l) return 0; + (o = n.minRowLength(l)), a('x0'), a('dx'); + } + return (e._length = o), o; + }; + }, + { '../../lib': 778, '../../registry': 911 }, + ], + 1215: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../../components/colorscale/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../../plots/template_attributes').texttemplateAttrs, + s = t('../../plots/attributes'), + l = t('../../constants/gl3d_dashes'), + c = t('../../constants/gl3d_markers'), + u = t('../../lib/extend').extendFlat, + f = t('../../plot_api/edit_types').overrideAll, + h = n.line, + p = n.marker, + d = p.line, + g = u( + { + width: h.width, + dash: { + valType: 'enumerated', + values: Object.keys(l), + dflt: 'solid', + }, + }, + i('line') + ); + var m = (e.exports = f( + { + x: n.x, + y: n.y, + z: { valType: 'data_array' }, + text: u({}, n.text, {}), + texttemplate: o({}, {}), + hovertext: u({}, n.hovertext, {}), + hovertemplate: a(), + mode: u({}, n.mode, { dflt: 'lines+markers' }), + surfaceaxis: { + valType: 'enumerated', + values: [-1, 0, 1, 2], + dflt: -1, + }, + surfacecolor: { valType: 'color' }, + projection: { + x: { + show: { valType: 'boolean', dflt: !1 }, + opacity: { valType: 'number', min: 0, max: 1, dflt: 1 }, + scale: { valType: 'number', min: 0, max: 10, dflt: 2 / 3 }, + }, + y: { + show: { valType: 'boolean', dflt: !1 }, + opacity: { valType: 'number', min: 0, max: 1, dflt: 1 }, + scale: { valType: 'number', min: 0, max: 10, dflt: 2 / 3 }, + }, + z: { + show: { valType: 'boolean', dflt: !1 }, + opacity: { valType: 'number', min: 0, max: 1, dflt: 1 }, + scale: { valType: 'number', min: 0, max: 10, dflt: 2 / 3 }, + }, + }, + connectgaps: n.connectgaps, + line: g, + marker: u( + { + symbol: { + valType: 'enumerated', + values: Object.keys(c), + dflt: 'circle', + arrayOk: !0, + }, + size: u({}, p.size, { dflt: 8 }), + sizeref: p.sizeref, + sizemin: p.sizemin, + sizemode: p.sizemode, + opacity: u({}, p.opacity, { arrayOk: !1 }), + colorbar: p.colorbar, + line: u( + { width: u({}, d.width, { arrayOk: !1 }) }, + i('marker.line') + ), + }, + i('marker') + ), + textposition: u({}, n.textposition, { dflt: 'top center' }), + textfont: { + color: n.textfont.color, + size: n.textfont.size, + family: u({}, n.textfont.family, { arrayOk: !1 }), + }, + hoverinfo: u({}, s.hoverinfo), + }, + 'calc', + 'nested' + )); + m.x.editType = m.y.editType = m.z.editType = 'calc+clearAxisTypes'; + }, + { + '../../components/colorscale/attributes': 650, + '../../constants/gl3d_dashes': 750, + '../../constants/gl3d_markers': 751, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1216: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/arrays_to_calcdata'), + i = t('../scatter/colorscale_calc'); + e.exports = function (t, e) { + var r = [{ x: !1, y: !1, trace: e, t: {} }]; + return n(r, e), i(t, e), r; + }; + }, + { + '../scatter/arrays_to_calcdata': 1186, + '../scatter/colorscale_calc': 1190, + }, + ], + 1217: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'); + function i(t, e, r, i) { + if (!e || !e.visible) return null; + for ( + var a = n.getComponentMethod('errorbars', 'makeComputeError')(e), + o = new Array(t.length), + s = 0; + s < t.length; + s++ + ) { + var l = a(+t[s], s); + if ('log' === i.type) { + var c = i.c2l(t[s]), + u = t[s] - l[0], + f = t[s] + l[1]; + if ( + ((o[s] = [(i.c2l(u, !0) - c) * r, (i.c2l(f, !0) - c) * r]), + u > 0) + ) { + var h = i.c2l(u); + i._lowerLogErrorBound || (i._lowerLogErrorBound = h), + (i._lowerErrorBound = Math.min(i._lowerLogErrorBound, h)); + } + } else o[s] = [-l[0] * r, l[1] * r]; + } + return o; + } + e.exports = function (t, e, r) { + var n = [ + i(t.x, t.error_x, e[0], r.xaxis), + i(t.y, t.error_y, e[1], r.yaxis), + i(t.z, t.error_z, e[2], r.zaxis), + ], + a = (function (t) { + for (var e = 0; e < t.length; e++) if (t[e]) return t[e].length; + return 0; + })(n); + if (0 === a) return null; + for (var o = new Array(a), s = 0; s < a; s++) { + for ( + var l = [ + [0, 0, 0], + [0, 0, 0], + ], + c = 0; + c < 3; + c++ + ) + if (n[c]) for (var u = 0; u < 2; u++) l[u][c] = n[c][s][u]; + o[s] = l; + } + return o; + }; + }, + { '../../registry': 911 }, + ], + 1218: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-line3d'), + i = t('gl-scatter3d'), + a = t('gl-error3d'), + o = t('gl-mesh3d'), + s = t('delaunay-triangulate'), + l = t('../../lib'), + c = t('../../lib/str2rgbarray'), + u = t('../../lib/gl_format_color').formatColor, + f = t('../scatter/make_bubble_size_func'), + h = t('../../constants/gl3d_dashes'), + p = t('../../constants/gl3d_markers'), + d = t('../../plots/cartesian/axes'), + g = t('../../components/fx/helpers').appendArrayPointValue, + m = t('./calc_errors'); + function v(t, e) { + (this.scene = t), + (this.uid = e), + (this.linePlot = null), + (this.scatterPlot = null), + (this.errorBars = null), + (this.textMarkers = null), + (this.delaunayMesh = null), + (this.color = null), + (this.mode = ''), + (this.dataPoints = []), + (this.axesBounds = [ + [-1 / 0, -1 / 0, -1 / 0], + [1 / 0, 1 / 0, 1 / 0], + ]), + (this.textLabels = null), + (this.data = null); + } + var y = v.prototype; + function x(t) { + return null == t + ? 0 + : t.indexOf('left') > -1 + ? -1 + : t.indexOf('right') > -1 + ? 1 + : 0; + } + function b(t) { + return null == t + ? 0 + : t.indexOf('top') > -1 + ? -1 + : t.indexOf('bottom') > -1 + ? 1 + : 0; + } + function _(t, e) { + return e(4 * t); + } + function w(t) { + return p[t]; + } + function T(t, e, r, n, i) { + var a = null; + if (l.isArrayOrTypedArray(t)) { + a = []; + for (var o = 0; o < e; o++) + void 0 === t[o] ? (a[o] = n) : (a[o] = r(t[o], i)); + } else a = r(t, l.identity); + return a; + } + function k(t, e) { + var r, + n, + i, + a, + o, + s, + h = [], + p = t.fullSceneLayout, + v = t.dataScale, + y = p.xaxis, + k = p.yaxis, + M = p.zaxis, + A = e.marker, + S = e.line, + E = e.x || [], + C = e.y || [], + L = e.z || [], + I = E.length, + P = e.xcalendar, + z = e.ycalendar, + O = e.zcalendar; + for (o = 0; o < I; o++) + (r = y.d2l(E[o], 0, P) * v[0]), + (n = k.d2l(C[o], 0, z) * v[1]), + (i = M.d2l(L[o], 0, O) * v[2]), + (h[o] = [r, n, i]); + if (Array.isArray(e.text)) s = e.text; + else if (void 0 !== e.text) + for (s = new Array(I), o = 0; o < I; o++) s[o] = e.text; + function D(t, e) { + var r = p[t]; + return d.tickText(r, r.d2l(e), !0).text; + } + var R = e.texttemplate; + if (R) { + var F = t.fullLayout._d3locale, + B = Array.isArray(R), + N = B ? Math.min(R.length, I) : I, + j = B + ? function (t) { + return R[t]; + } + : function () { + return R; + }; + for (s = new Array(N), o = 0; o < N; o++) { + var U = { x: E[o], y: C[o], z: L[o] }, + V = { + xLabel: D('xaxis', E[o]), + yLabel: D('yaxis', C[o]), + zLabel: D('zaxis', L[o]), + }, + q = {}; + g(q, e, o); + var H = e._meta || {}; + s[o] = l.texttemplateString(j(o), V, F, q, U, H); + } + } + if ( + ((a = { position: h, mode: e.mode, text: s }), + 'line' in e && + ((a.lineColor = u(S, 1, I)), + (a.lineWidth = S.width), + (a.lineDashes = S.dash)), + 'marker' in e) + ) { + var G = f(e); + (a.scatterColor = u(A, 1, I)), + (a.scatterSize = T(A.size, I, _, 20, G)), + (a.scatterMarker = T(A.symbol, I, w, '\u25cf')), + (a.scatterLineWidth = A.line.width), + (a.scatterLineColor = u(A.line, 1, I)), + (a.scatterAngle = 0); + } + 'textposition' in e && + ((a.textOffset = (function (t) { + var e = [0, 0]; + if (Array.isArray(t)) + for (var r = 0; r < t.length; r++) + (e[r] = [0, 0]), + t[r] && ((e[r][0] = x(t[r])), (e[r][1] = b(t[r]))); + else (e[0] = x(t)), (e[1] = b(t)); + return e; + })(e.textposition)), + (a.textColor = u(e.textfont, 1, I)), + (a.textSize = T(e.textfont.size, I, l.identity, 12)), + (a.textFont = e.textfont.family), + (a.textAngle = 0)); + var Y = ['x', 'y', 'z']; + for ( + a.project = [!1, !1, !1], + a.projectScale = [1, 1, 1], + a.projectOpacity = [1, 1, 1], + o = 0; + o < 3; + ++o + ) { + var W = e.projection[Y[o]]; + (a.project[o] = W.show) && + ((a.projectOpacity[o] = W.opacity), + (a.projectScale[o] = W.scale)); + } + a.errorBounds = m(e, v, p); + var X = (function (t) { + for ( + var e = [0, 0, 0], + r = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], + n = [1, 1, 1], + i = 0; + i < 3; + i++ + ) { + var a = t[i]; + a && !1 !== a.copy_zstyle && !1 !== t[2].visible && (a = t[2]), + a && + a.visible && + ((e[i] = a.width / 2), + (r[i] = c(a.color)), + (n[i] = a.thickness)); + } + return { capSize: e, color: r, lineWidth: n }; + })([e.error_x, e.error_y, e.error_z]); + return ( + (a.errorColor = X.color), + (a.errorLineWidth = X.lineWidth), + (a.errorCapSize = X.capSize), + (a.delaunayAxis = e.surfaceaxis), + (a.delaunayColor = c(e.surfacecolor)), + a + ); + } + function M(t) { + if (l.isArrayOrTypedArray(t)) { + var e = t[0]; + return ( + l.isArrayOrTypedArray(e) && (t = e), + 'rgb(' + + t.slice(0, 3).map(function (t) { + return Math.round(255 * t); + }) + + ')' + ); + } + return null; + } + function A(t) { + return l.isArrayOrTypedArray(t) + ? 4 === t.length && 'number' == typeof t[0] + ? M(t) + : t.map(M) + : null; + } + (y.handlePick = function (t) { + if ( + t.object && + (t.object === this.linePlot || + t.object === this.delaunayMesh || + t.object === this.textMarkers || + t.object === this.scatterPlot) + ) { + var e = (t.index = t.data.index); + return ( + t.object.highlight && t.object.highlight(null), + this.scatterPlot && + ((t.object = this.scatterPlot), + this.scatterPlot.highlight(t.data)), + (t.textLabel = ''), + this.textLabels && + (Array.isArray(this.textLabels) + ? (this.textLabels[e] || 0 === this.textLabels[e]) && + (t.textLabel = this.textLabels[e]) + : (t.textLabel = this.textLabels)), + (t.traceCoordinate = [ + this.data.x[e], + this.data.y[e], + this.data.z[e], + ]), + !0 + ); + } + }), + (y.update = function (t) { + var e, + r, + l, + c, + u = this.scene.glplot.gl, + f = h.solid; + this.data = t; + var p = k(this.scene, t); + 'mode' in p && (this.mode = p.mode), + 'lineDashes' in p && p.lineDashes in h && (f = h[p.lineDashes]), + (this.color = A(p.scatterColor) || A(p.lineColor)), + (this.dataPoints = p.position), + (e = { + gl: this.scene.glplot.gl, + position: p.position, + color: p.lineColor, + lineWidth: p.lineWidth || 1, + dashes: f[0], + dashScale: f[1], + opacity: t.opacity, + connectGaps: t.connectgaps, + }), + -1 !== this.mode.indexOf('lines') + ? this.linePlot + ? this.linePlot.update(e) + : ((this.linePlot = n(e)), + (this.linePlot._trace = this), + this.scene.glplot.add(this.linePlot)) + : this.linePlot && + (this.scene.glplot.remove(this.linePlot), + this.linePlot.dispose(), + (this.linePlot = null)); + var d = t.opacity; + if ( + (t.marker && t.marker.opacity && (d *= t.marker.opacity), + (r = { + gl: this.scene.glplot.gl, + position: p.position, + color: p.scatterColor, + size: p.scatterSize, + glyph: p.scatterMarker, + opacity: d, + orthographic: !0, + lineWidth: p.scatterLineWidth, + lineColor: p.scatterLineColor, + project: p.project, + projectScale: p.projectScale, + projectOpacity: p.projectOpacity, + }), + -1 !== this.mode.indexOf('markers') + ? this.scatterPlot + ? this.scatterPlot.update(r) + : ((this.scatterPlot = i(r)), + (this.scatterPlot._trace = this), + (this.scatterPlot.highlightScale = 1), + this.scene.glplot.add(this.scatterPlot)) + : this.scatterPlot && + (this.scene.glplot.remove(this.scatterPlot), + this.scatterPlot.dispose(), + (this.scatterPlot = null)), + (c = { + gl: this.scene.glplot.gl, + position: p.position, + glyph: p.text, + color: p.textColor, + size: p.textSize, + angle: p.textAngle, + alignment: p.textOffset, + font: p.textFont, + orthographic: !0, + lineWidth: 0, + project: !1, + opacity: t.opacity, + }), + (this.textLabels = t.hovertext || t.text), + -1 !== this.mode.indexOf('text') + ? this.textMarkers + ? this.textMarkers.update(c) + : ((this.textMarkers = i(c)), + (this.textMarkers._trace = this), + (this.textMarkers.highlightScale = 1), + this.scene.glplot.add(this.textMarkers)) + : this.textMarkers && + (this.scene.glplot.remove(this.textMarkers), + this.textMarkers.dispose(), + (this.textMarkers = null)), + (l = { + gl: this.scene.glplot.gl, + position: p.position, + color: p.errorColor, + error: p.errorBounds, + lineWidth: p.errorLineWidth, + capSize: p.errorCapSize, + opacity: t.opacity, + }), + this.errorBars + ? p.errorBounds + ? this.errorBars.update(l) + : (this.scene.glplot.remove(this.errorBars), + this.errorBars.dispose(), + (this.errorBars = null)) + : p.errorBounds && + ((this.errorBars = a(l)), + (this.errorBars._trace = this), + this.scene.glplot.add(this.errorBars)), + p.delaunayAxis >= 0) + ) { + var g = (function (t, e, r) { + var n, + i = (r + 1) % 3, + a = (r + 2) % 3, + o = [], + l = []; + for (n = 0; n < t.length; ++n) { + var c = t[n]; + !isNaN(c[i]) && + isFinite(c[i]) && + !isNaN(c[a]) && + isFinite(c[a]) && + (o.push([c[i], c[a]]), l.push(n)); + } + var u = s(o); + for (n = 0; n < u.length; ++n) + for (var f = u[n], h = 0; h < f.length; ++h) f[h] = l[f[h]]; + return { positions: t, cells: u, meshColor: e }; + })(p.position, p.delaunayColor, p.delaunayAxis); + (g.opacity = t.opacity), + this.delaunayMesh + ? this.delaunayMesh.update(g) + : ((g.gl = u), + (this.delaunayMesh = o(g)), + (this.delaunayMesh._trace = this), + this.scene.glplot.add(this.delaunayMesh)); + } else + this.delaunayMesh && + (this.scene.glplot.remove(this.delaunayMesh), + this.delaunayMesh.dispose(), + (this.delaunayMesh = null)); + }), + (y.dispose = function () { + this.linePlot && + (this.scene.glplot.remove(this.linePlot), + this.linePlot.dispose()), + this.scatterPlot && + (this.scene.glplot.remove(this.scatterPlot), + this.scatterPlot.dispose()), + this.errorBars && + (this.scene.glplot.remove(this.errorBars), + this.errorBars.dispose()), + this.textMarkers && + (this.scene.glplot.remove(this.textMarkers), + this.textMarkers.dispose()), + this.delaunayMesh && + (this.scene.glplot.remove(this.delaunayMesh), + this.delaunayMesh.dispose()); + }), + (e.exports = function (t, e) { + var r = new v(t, e.uid); + return r.update(e), r; + }); + }, + { + '../../components/fx/helpers': 679, + '../../constants/gl3d_dashes': 750, + '../../constants/gl3d_markers': 751, + '../../lib': 778, + '../../lib/gl_format_color': 774, + '../../lib/str2rgbarray': 802, + '../../plots/cartesian/axes': 828, + '../scatter/make_bubble_size_func': 1204, + './calc_errors': 1217, + 'delaunay-triangulate': 171, + 'gl-error3d': 266, + 'gl-line3d': 275, + 'gl-mesh3d': 309, + 'gl-scatter3d': 330, + }, + ], + 1219: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../scatter/subtypes'), + o = t('../scatter/marker_defaults'), + s = t('../scatter/line_defaults'), + l = t('../scatter/text_defaults'), + c = t('./attributes'); + e.exports = function (t, e, r, u) { + function f(r, n) { + return i.coerce(t, e, c, r, n); + } + if ( + (function (t, e, r, i) { + var a = 0, + o = r('x'), + s = r('y'), + l = r('z'); + n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y', 'z'], + i + ), + o && + s && + l && + ((a = Math.min(o.length, s.length, l.length)), + (e._length = e._xlength = e._ylength = e._zlength = a)); + return a; + })(t, e, f, u) + ) { + f('text'), + f('hovertext'), + f('hovertemplate'), + f('mode'), + a.hasLines(e) && (f('connectgaps'), s(t, e, r, u, f)), + a.hasMarkers(e) && o(t, e, r, u, f, { noSelect: !0 }), + a.hasText(e) && + (f('texttemplate'), l(t, e, u, f, { noSelect: !0 })); + var h = (e.line || {}).color, + p = (e.marker || {}).color; + f('surfaceaxis') >= 0 && f('surfacecolor', h || p); + for (var d = ['x', 'y', 'z'], g = 0; g < 3; ++g) { + var m = 'projection.' + d[g]; + f(m + '.show') && (f(m + '.opacity'), f(m + '.scale')); + } + var v = n.getComponentMethod('errorbars', 'supplyDefaults'); + v(t, e, h || p || r, { axis: 'z' }), + v(t, e, h || p || r, { axis: 'y', inherit: 'z' }), + v(t, e, h || p || r, { axis: 'x', inherit: 'z' }); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../../registry': 911, + '../scatter/line_defaults': 1200, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1215, + }, + ], + 1220: [ + function (t, e, r) { + 'use strict'; + e.exports = { + plot: t('./convert'), + attributes: t('./attributes'), + markerSymbols: t('../../constants/gl3d_markers'), + supplyDefaults: t('./defaults'), + colorbar: [ + { container: 'marker', min: 'cmin', max: 'cmax' }, + { container: 'line', min: 'cmin', max: 'cmax' }, + ], + calc: t('./calc'), + moduleType: 'trace', + name: 'scatter3d', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'symbols', 'showLegend', 'scatter-like'], + meta: {}, + }; + }, + { + '../../constants/gl3d_markers': 751, + '../../plots/gl3d': 870, + './attributes': 1215, + './calc': 1216, + './convert': 1218, + './defaults': 1219, + }, + ], + 1221: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../../plots/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../../plots/template_attributes').texttemplateAttrs, + s = t('../../components/colorscale/attributes'), + l = t('../../lib/extend').extendFlat, + c = n.marker, + u = n.line, + f = c.line; + e.exports = { + carpet: { valType: 'string', editType: 'calc' }, + a: { valType: 'data_array', editType: 'calc' }, + b: { valType: 'data_array', editType: 'calc' }, + mode: l({}, n.mode, { dflt: 'markers' }), + text: l({}, n.text, {}), + texttemplate: o({ editType: 'plot' }, { keys: ['a', 'b', 'text'] }), + hovertext: l({}, n.hovertext, {}), + line: { + color: u.color, + width: u.width, + dash: u.dash, + shape: l({}, u.shape, { values: ['linear', 'spline'] }), + smoothing: u.smoothing, + editType: 'calc', + }, + connectgaps: n.connectgaps, + fill: l({}, n.fill, { + values: ['none', 'toself', 'tonext'], + dflt: 'none', + }), + fillcolor: n.fillcolor, + marker: l( + { + symbol: c.symbol, + opacity: c.opacity, + maxdisplayed: c.maxdisplayed, + size: c.size, + sizeref: c.sizeref, + sizemin: c.sizemin, + sizemode: c.sizemode, + line: l({ width: f.width, editType: 'calc' }, s('marker.line')), + gradient: c.gradient, + editType: 'calc', + }, + s('marker') + ), + textfont: n.textfont, + textposition: n.textposition, + selected: n.selected, + unselected: n.unselected, + hoverinfo: l({}, i.hoverinfo, { + flags: ['a', 'b', 'text', 'name'], + }), + hoveron: n.hoveron, + hovertemplate: a(), + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1222: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../scatter/colorscale_calc'), + a = t('../scatter/arrays_to_calcdata'), + o = t('../scatter/calc_selection'), + s = t('../scatter/calc').calcMarkerSize, + l = t('../carpet/lookup_carpetid'); + e.exports = function (t, e) { + var r = (e._carpetTrace = l(t, e)); + if (r && r.visible && 'legendonly' !== r.visible) { + var c; + (e.xaxis = r.xaxis), (e.yaxis = r.yaxis); + var u, + f, + h = e._length, + p = new Array(h), + d = !1; + for (c = 0; c < h; c++) + if (((u = e.a[c]), (f = e.b[c]), n(u) && n(f))) { + var g = r.ab2xy(+u, +f, !0), + m = r.isVisible(+u, +f); + m || (d = !0), + (p[c] = { x: g[0], y: g[1], a: u, b: f, vis: m }); + } else p[c] = { x: !1, y: !1 }; + return ( + (e._needsCull = d), + (p[0].carpet = r), + (p[0].trace = e), + s(e, h), + i(t, e), + a(p, e), + o(p, e), + p + ); + } + }; + }, + { + '../carpet/lookup_carpetid': 981, + '../scatter/arrays_to_calcdata': 1186, + '../scatter/calc': 1188, + '../scatter/calc_selection': 1189, + '../scatter/colorscale_calc': 1190, + 'fast-isnumeric': 241, + }, + ], + 1223: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/constants'), + a = t('../scatter/subtypes'), + o = t('../scatter/marker_defaults'), + s = t('../scatter/line_defaults'), + l = t('../scatter/line_shape_defaults'), + c = t('../scatter/text_defaults'), + u = t('../scatter/fillcolor_defaults'), + f = t('./attributes'); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + p('carpet'), (e.xaxis = 'x'), (e.yaxis = 'y'); + var d = p('a'), + g = p('b'), + m = Math.min(d.length, g.length); + if (m) { + (e._length = m), + p('text'), + p('texttemplate'), + p('hovertext'), + p('mode', m < i.PTS_LINESONLY ? 'lines+markers' : 'lines'), + a.hasLines(e) && + (s(t, e, r, h, p), l(t, e, p), p('connectgaps')), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && c(t, e, h, p); + var v = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p('marker.maxdisplayed'), v.push('points')), + p('fill'), + 'none' !== e.fill && + (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ('tonext' !== e.fill && 'toself' !== e.fill) || v.push('fills'), + 'fills' !== p('hoveron', v.join('+') || 'points') && + p('hovertemplate'), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../scatter/constants': 1191, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/line_shape_defaults': 1202, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1221, + }, + ], + 1224: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + var a = n[i]; + return (t.a = a.a), (t.b = a.b), (t.y = a.y), t; + }; + }, + {}, + ], + 1225: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + var r = {}, + n = e._carpet, + i = n.ab2ij([t.a, t.b]), + a = Math.floor(i[0]), + o = i[0] - a, + s = Math.floor(i[1]), + l = i[1] - s, + c = n.evalxy([], a, s, o, l); + return (r.yLabel = c[1].toFixed(3)), r; + }; + }, + {}, + ], + 1226: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/hover'), + i = t('../../lib').fillText; + e.exports = function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) { + var l = 1 - s.y0 / t.ya._length, + c = t.xa._length, + u = (c * l) / 2, + f = c - u; + return ( + (s.x0 = Math.max(Math.min(s.x0, f), u)), + (s.x1 = Math.max(Math.min(s.x1, f), u)), + o + ); + } + var h = s.cd[s.index]; + (s.a = h.a), + (s.b = h.b), + (s.xLabelVal = void 0), + (s.yLabelVal = void 0); + var p = s.trace, + d = p._carpet, + g = p._module.formatLabels(h, p); + (s.yLabel = g.yLabel), delete s.text; + var m = []; + if (!p.hovertemplate) { + var v = (h.hi || p.hoverinfo).split('+'); + -1 !== v.indexOf('all') && (v = ['a', 'b', 'text']), + -1 !== v.indexOf('a') && y(d.aaxis, h.a), + -1 !== v.indexOf('b') && y(d.baxis, h.b), + m.push('y: ' + s.yLabel), + -1 !== v.indexOf('text') && i(h, p, m), + (s.extraText = m.join('
')); + } + return o; + } + function y(t, e) { + var r; + (r = + t.labelprefix && t.labelprefix.length > 0 + ? t.labelprefix.replace(/ = $/, '') + : t._hovertitle), + m.push(r + ': ' + e.toFixed(3) + t.labelsuffix); + } + }; + }, + { '../../lib': 778, '../scatter/hover': 1198 }, + ], + 1227: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + plot: t('./plot'), + style: t('../scatter/style').style, + styleOnSelect: t('../scatter/style').styleOnSelect, + hoverPoints: t('./hover'), + selectPoints: t('../scatter/select'), + eventData: t('./event_data'), + moduleType: 'trace', + name: 'scattercarpet', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'svg', + 'carpet', + 'symbols', + 'showLegend', + 'carpetDependent', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../scatter/marker_colorbar': 1205, + '../scatter/select': 1209, + '../scatter/style': 1211, + './attributes': 1221, + './calc': 1222, + './defaults': 1223, + './event_data': 1224, + './format_labels': 1225, + './hover': 1226, + './plot': 1228, + }, + ], + 1228: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/plot'), + i = t('../../plots/cartesian/axes'), + a = t('../../components/drawing'); + e.exports = function (t, e, r, o) { + var s, + l, + c, + u = r[0][0].carpet, + f = { + xaxis: i.getFromId(t, u.xaxis || 'x'), + yaxis: i.getFromId(t, u.yaxis || 'y'), + plot: e.plot, + }; + for (n(t, f, r, o), s = 0; s < r.length; s++) + (l = r[s][0].trace), + (c = o.selectAll('g.trace' + l.uid + ' .js-line')), + a.setClipUrl(c, r[s][0].carpet._clipPathId, t); + }; + }, + { + '../../components/drawing': 665, + '../../plots/cartesian/axes': 828, + '../scatter/plot': 1208, + }, + ], + 1229: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../plots/template_attributes').texttemplateAttrs, + a = t('../scatter/attributes'), + o = t('../../plots/attributes'), + s = t('../../components/colorscale/attributes'), + l = t('../../components/drawing/attributes').dash, + c = t('../../lib/extend').extendFlat, + u = t('../../plot_api/edit_types').overrideAll, + f = a.marker, + h = a.line, + p = f.line; + e.exports = u( + { + lon: { valType: 'data_array' }, + lat: { valType: 'data_array' }, + locations: { valType: 'data_array' }, + locationmode: { + valType: 'enumerated', + values: ['ISO-3', 'USA-states', 'country names', 'geojson-id'], + dflt: 'ISO-3', + }, + geojson: { valType: 'any', editType: 'calc' }, + featureidkey: { valType: 'string', editType: 'calc', dflt: 'id' }, + mode: c({}, a.mode, { dflt: 'markers' }), + text: c({}, a.text, {}), + texttemplate: i( + { editType: 'plot' }, + { keys: ['lat', 'lon', 'location', 'text'] } + ), + hovertext: c({}, a.hovertext, {}), + textfont: a.textfont, + textposition: a.textposition, + line: { color: h.color, width: h.width, dash: l }, + connectgaps: a.connectgaps, + marker: c( + { + symbol: f.symbol, + opacity: f.opacity, + size: f.size, + sizeref: f.sizeref, + sizemin: f.sizemin, + sizemode: f.sizemode, + colorbar: f.colorbar, + line: c({ width: p.width }, s('marker.line')), + gradient: f.gradient, + }, + s('marker') + ), + fill: { + valType: 'enumerated', + values: ['none', 'toself'], + dflt: 'none', + }, + fillcolor: a.fillcolor, + selected: a.selected, + unselected: a.unselected, + hoverinfo: c({}, o.hoverinfo, { + flags: ['lon', 'lat', 'location', 'text', 'name'], + }), + hovertemplate: n(), + }, + 'calc', + 'nested' + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../components/drawing/attributes': 664, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1230: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../constants/numerical').BADNUM, + a = t('../scatter/colorscale_calc'), + o = t('../scatter/arrays_to_calcdata'), + s = t('../scatter/calc_selection'), + l = t('../../lib')._; + function c(t) { + return t && 'string' == typeof t; + } + e.exports = function (t, e) { + var r, + u = Array.isArray(e.locations), + f = u ? e.locations.length : e._length, + h = new Array(f); + r = e.geojson + ? function (t) { + return c(t) || n(t); + } + : c; + for (var p = 0; p < f; p++) { + var d = (h[p] = {}); + if (u) { + var g = e.locations[p]; + d.loc = r(g) ? g : null; + } else { + var m = e.lon[p], + v = e.lat[p]; + n(m) && n(v) ? (d.lonlat = [+m, +v]) : (d.lonlat = [i, i]); + } + } + return ( + o(h, e), + a(t, e), + s(h, e), + f && + (h[0].t = { + labels: { lat: l(t, 'lat:') + ' ', lon: l(t, 'lon:') + ' ' }, + }), + h + ); + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../scatter/arrays_to_calcdata': 1186, + '../scatter/calc_selection': 1189, + '../scatter/colorscale_calc': 1190, + 'fast-isnumeric': 241, + }, + ], + 1231: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('../scatter/marker_defaults'), + o = t('../scatter/line_defaults'), + s = t('../scatter/text_defaults'), + l = t('../scatter/fillcolor_defaults'), + c = t('./attributes'); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + var h, + p = f('locations'); + if (p && p.length) { + var d, + g = f('geojson'); + (('string' == typeof g && '' !== g) || n.isPlainObject(g)) && + (d = 'geojson-id'), + 'geojson-id' === f('locationmode', d) && f('featureidkey'), + (h = p.length); + } else { + var m = f('lon') || [], + v = f('lat') || []; + h = Math.min(m.length, v.length); + } + h + ? ((e._length = h), + f('text'), + f('hovertext'), + f('hovertemplate'), + f('mode'), + i.hasLines(e) && (o(t, e, r, u, f), f('connectgaps')), + i.hasMarkers(e) && a(t, e, r, u, f, { gradient: !0 }), + i.hasText(e) && (f('texttemplate'), s(t, e, u, f)), + f('fill'), + 'none' !== e.fill && l(t, e, r, f), + n.coerceSelectionMarkerOpacity(e, f)) + : (e.visible = !1); + }; + }, + { + '../../lib': 778, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1229, + }, + ], + 1232: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + (t.lon = e.lon), + (t.lat = e.lat), + (t.location = e.loc ? e.loc : null); + var a = n[i]; + return ( + a.fIn && a.fIn.properties && (t.properties = a.fIn.properties), t + ); + }; + }, + {}, + ], + 1233: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'); + e.exports = function (t, e, r) { + var i = {}, + a = r[e.geo]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + { '../../plots/cartesian/axes': 828 }, + ], + 1234: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../constants/numerical').BADNUM, + a = t('../scatter/get_trace_color'), + o = t('../../lib').fillText, + s = t('./attributes'); + e.exports = function (t, e, r) { + var l = t.cd, + c = l[0].trace, + u = t.xa, + f = t.ya, + h = t.subplot, + p = h.projection.isLonLatOverEdges, + d = h.project; + if ( + (n.getClosest( + l, + function (t) { + var n = t.lonlat; + if (n[0] === i) return 1 / 0; + if (p(n)) return 1 / 0; + var a = d(n), + o = d([e, r]), + s = Math.abs(a[0] - o[0]), + l = Math.abs(a[1] - o[1]), + c = Math.max(3, t.mrc || 0); + return Math.max(Math.sqrt(s * s + l * l) - c, 1 - 3 / c); + }, + t + ), + !1 !== t.index) + ) { + var g = l[t.index], + m = g.lonlat, + v = [u.c2p(m), f.c2p(m)], + y = g.mrc || 1; + (t.x0 = v[0] - y), + (t.x1 = v[0] + y), + (t.y0 = v[1] - y), + (t.y1 = v[1] + y), + (t.loc = g.loc), + (t.lon = m[0]), + (t.lat = m[1]); + var x = {}; + x[c.geo] = { _subplot: h }; + var b = c._module.formatLabels(g, c, x); + return ( + (t.lonLabel = b.lonLabel), + (t.latLabel = b.latLabel), + (t.color = a(c, g)), + (t.extraText = (function (t, e, r, n) { + if (t.hovertemplate) return; + var i = e.hi || t.hoverinfo, + a = 'all' === i ? s.hoverinfo.flags : i.split('+'), + l = + -1 !== a.indexOf('location') && + Array.isArray(t.locations), + c = -1 !== a.indexOf('lon'), + u = -1 !== a.indexOf('lat'), + f = -1 !== a.indexOf('text'), + h = []; + function p(t) { + return t + '\xb0'; + } + l + ? h.push(e.loc) + : c && u + ? h.push('(' + p(r.lonLabel) + ', ' + p(r.latLabel) + ')') + : c + ? h.push(n.lon + p(r.lonLabel)) + : u && h.push(n.lat + p(r.latLabel)); + f && o(e, t, h); + return h.join('
'); + })(c, g, t, l[0].t.labels)), + (t.hovertemplate = c.hovertemplate), + [t] + ); + } + }; + }, + { + '../../components/fx': 683, + '../../constants/numerical': 753, + '../../lib': 778, + '../scatter/get_trace_color': 1197, + './attributes': 1229, + }, + ], + 1235: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + calcGeoJSON: t('./plot').calcGeoJSON, + plot: t('./plot').plot, + style: t('./style'), + styleOnSelect: t('../scatter/style').styleOnSelect, + hoverPoints: t('./hover'), + eventData: t('./event_data'), + selectPoints: t('./select'), + moduleType: 'trace', + name: 'scattergeo', + basePlotModule: t('../../plots/geo'), + categories: ['geo', 'symbols', 'showLegend', 'scatter-like'], + meta: {}, + }; + }, + { + '../../plots/geo': 860, + '../scatter/marker_colorbar': 1205, + '../scatter/style': 1211, + './attributes': 1229, + './calc': 1230, + './defaults': 1231, + './event_data': 1232, + './format_labels': 1233, + './hover': 1234, + './plot': 1236, + './select': 1237, + './style': 1238, + }, + ], + 1236: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../lib/topojson_utils').getTopojsonFeatures, + o = t('../../lib/geojson_utils'), + s = t('../../lib/geo_location_utils'), + l = t('../../plots/cartesian/autorange').findExtremes, + c = t('../../constants/numerical').BADNUM, + u = t('../scatter/calc').calcMarkerSize, + f = t('../scatter/subtypes'), + h = t('./style'); + e.exports = { + calcGeoJSON: function (t, e) { + var r, + n, + i = t[0].trace, + o = e[i.geo], + f = o._subplot, + h = i._length; + if (Array.isArray(i.locations)) { + var p = i.locationmode, + d = + 'geojson-id' === p + ? s.extractTraceFeature(t) + : a(i, f.topojson); + for (r = 0; r < h; r++) { + n = t[r]; + var g = + 'geojson-id' === p + ? n.fOut + : s.locationToFeature(p, n.loc, d); + n.lonlat = g ? g.properties.ct : [c, c]; + } + } + var m, + v, + y = { padded: !0 }; + if ( + 'geojson' === o.fitbounds && + 'geojson-id' === i.locationmode + ) { + var x = s.computeBbox(s.getTraceGeojson(i)); + (m = [x[0], x[2]]), (v = [x[1], x[3]]); + } else { + for (m = new Array(h), v = new Array(h), r = 0; r < h; r++) + (n = t[r]), (m[r] = n.lonlat[0]), (v[r] = n.lonlat[1]); + y.ppad = u(i, h); + } + (i._extremes.lon = l(o.lonaxis._ax, m, y)), + (i._extremes.lat = l(o.lataxis._ax, v, y)); + }, + plot: function (t, e, r) { + var a = e.layers.frontplot.select('.scatterlayer'), + s = i.makeTraceGroups(a, r, 'trace scattergeo'); + function l(t, e) { + t.lonlat[0] === c && n.select(e).remove(); + } + s.selectAll('*').remove(), + s.each(function (e) { + var r = n.select(this), + a = e[0].trace; + if (f.hasLines(a) || 'none' !== a.fill) { + var s = o.calcTraceToLineCoords(e), + c = 'none' !== a.fill ? o.makePolygon(s) : o.makeLine(s); + r.selectAll('path.js-line') + .data([{ geojson: c, trace: a }]) + .enter() + .append('path') + .classed('js-line', !0) + .style('stroke-miterlimit', 2); + } + f.hasMarkers(a) && + r + .selectAll('path.point') + .data(i.identity) + .enter() + .append('path') + .classed('point', !0) + .each(function (t) { + l(t, this); + }), + f.hasText(a) && + r + .selectAll('g') + .data(i.identity) + .enter() + .append('g') + .append('text') + .each(function (t) { + l(t, this); + }), + h(t, e); + }); + }, + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../lib/geo_location_utils': 771, + '../../lib/geojson_utils': 772, + '../../lib/topojson_utils': 806, + '../../plots/cartesian/autorange': 827, + '../scatter/calc': 1188, + '../scatter/subtypes': 1212, + './style': 1238, + d3: 169, + }, + ], + 1237: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/subtypes'), + i = t('../../constants/numerical').BADNUM; + e.exports = function (t, e) { + var r, + a, + o, + s, + l, + c = t.cd, + u = t.xaxis, + f = t.yaxis, + h = [], + p = c[0].trace; + if (!n.hasMarkers(p) && !n.hasText(p)) return []; + if (!1 === e) for (l = 0; l < c.length; l++) c[l].selected = 0; + else + for (l = 0; l < c.length; l++) + (a = (r = c[l]).lonlat)[0] !== i && + ((o = u.c2p(a)), + (s = f.c2p(a)), + e.contains([o, s], null, l, t) + ? (h.push({ pointNumber: l, lon: a[0], lat: a[1] }), + (r.selected = 1)) + : (r.selected = 0)); + return h; + }; + }, + { '../../constants/numerical': 753, '../scatter/subtypes': 1212 }, + ], + 1238: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../components/color'), + o = t('../scatter/style'), + s = o.stylePoints, + l = o.styleText; + e.exports = function (t, e) { + e && + (function (t, e) { + var r = e[0].trace, + o = e[0].node3; + o.style('opacity', e[0].trace.opacity), + s(o, r, t), + l(o, r, t), + o + .selectAll('path.js-line') + .style('fill', 'none') + .each(function (t) { + var e = n.select(this), + r = t.trace, + o = r.line || {}; + e + .call(a.stroke, o.color) + .call(i.dashLine, o.dash || '', o.width || 0), + 'none' !== r.fill && e.call(a.fill, r.fillcolor); + }); + })(t, e); + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../scatter/style': 1211, + d3: 169, + }, + ], + 1239: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/attributes'), + i = t('../scatter/attributes'), + a = t('../../components/colorscale/attributes'), + o = t('../../lib/extend').extendFlat, + s = t('../../plot_api/edit_types').overrideAll, + l = t('./constants').DASHES, + c = i.line, + u = i.marker, + f = u.line, + h = (e.exports = s( + { + x: i.x, + x0: i.x0, + dx: i.dx, + y: i.y, + y0: i.y0, + dy: i.dy, + xperiod: i.xperiod, + yperiod: i.yperiod, + xperiod0: i.xperiod0, + yperiod0: i.yperiod0, + xperiodalignment: i.xperiodalignment, + yperiodalignment: i.yperiodalignment, + text: i.text, + hovertext: i.hovertext, + textposition: i.textposition, + textfont: i.textfont, + mode: { + valType: 'flaglist', + flags: ['lines', 'markers', 'text'], + extras: ['none'], + }, + line: { + color: c.color, + width: c.width, + shape: { + valType: 'enumerated', + values: ['linear', 'hv', 'vh', 'hvh', 'vhv'], + dflt: 'linear', + editType: 'plot', + }, + dash: { + valType: 'enumerated', + values: Object.keys(l), + dflt: 'solid', + }, + }, + marker: o({}, a('marker'), { + symbol: u.symbol, + size: u.size, + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + opacity: u.opacity, + colorbar: u.colorbar, + line: o({}, a('marker.line'), { width: f.width }), + }), + connectgaps: i.connectgaps, + fill: o({}, i.fill, { dflt: 'none' }), + fillcolor: i.fillcolor, + selected: { + marker: i.selected.marker, + textfont: i.selected.textfont, + }, + unselected: { + marker: i.unselected.marker, + textfont: i.unselected.textfont, + }, + opacity: n.opacity, + }, + 'calc', + 'nested' + )); + (h.x.editType = + h.y.editType = + h.x0.editType = + h.y0.editType = + 'calc+clearAxisTypes'), + (h.hovertemplate = i.hovertemplate), + (h.texttemplate = i.texttemplate); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../scatter/attributes': 1187, + './constants': 1241, + }, + ], + 1240: [ + function (t, e, r) { + 'use strict'; + var n = t('@plotly/point-cluster'), + i = t('../../lib'), + a = t('../../plots/cartesian/axis_ids'), + o = t('../../plots/cartesian/autorange').findExtremes, + s = t('../../plots/cartesian/align_period'), + l = t('../scatter/calc'), + c = l.calcMarkerSize, + u = l.calcAxisExpansion, + f = l.setFirstScatter, + h = t('../scatter/colorscale_calc'), + p = t('./convert'), + d = t('./scene_update'), + g = t('../../constants/numerical').BADNUM, + m = t('./constants').TOO_MANY_POINTS; + function v(t, e, r) { + var n = t._extremes[e._id], + i = o(e, r._bnds, { padded: !0 }); + (n.min = n.min.concat(i.min)), (n.max = n.max.concat(i.max)); + } + e.exports = function (t, e) { + var r, + o, + l, + y = t._fullLayout, + x = a.getFromId(t, e.xaxis), + b = a.getFromId(t, e.yaxis), + _ = y._plots[e.xaxis + e.yaxis], + w = e._length, + T = w >= m, + k = 2 * w, + M = {}, + A = x.makeCalcdata(e, 'x'), + S = b.makeCalcdata(e, 'y'), + E = s(e, x, 'x', A), + C = s(e, b, 'y', S); + (e._x = E), + (e._y = C), + e.xperiodalignment && (e._origX = A), + e.yperiodalignment && (e._origY = S); + var L = new Array(k); + for (r = 0; r < w; r++) + (o = E[r]), + (l = C[r]), + (L[2 * r] = o === g ? NaN : o), + (L[2 * r + 1] = l === g ? NaN : l); + if ('log' === x.type) for (r = 0; r < k; r += 2) L[r] = x.c2l(L[r]); + if ('log' === b.type) for (r = 1; r < k; r += 2) L[r] = b.c2l(L[r]); + if (T && 'log' !== x.type && 'log' !== b.type) M.tree = n(L); + else { + var I = (M.ids = new Array(w)); + for (r = 0; r < w; r++) I[r] = r; + } + h(t, e); + var P, + z = (function (t, e, r, n, a, o) { + var s = p.style(t, r); + s.marker && (s.marker.positions = n); + s.line && + n.length > 1 && + i.extendFlat(s.line, p.linePositions(t, r, n)); + if (s.errorX || s.errorY) { + var l = p.errorBarPositions(t, r, n, a, o); + s.errorX && i.extendFlat(s.errorX, l.x), + s.errorY && i.extendFlat(s.errorY, l.y); + } + s.text && + (i.extendFlat( + s.text, + { positions: n }, + p.textPosition(t, r, s.text, s.marker) + ), + i.extendFlat( + s.textSel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerSel) + ), + i.extendFlat( + s.textUnsel, + { positions: n }, + p.textPosition(t, r, s.text, s.markerUnsel) + )); + return s; + })(t, 0, e, L, E, C), + O = d(t, _); + return ( + f(y, e), + T + ? z.marker && + (P = 2 * (z.marker.sizeAvg || Math.max(z.marker.size, 3))) + : (P = c(e, w)), + u(t, e, x, b, E, C, P), + z.errorX && v(e, x, z.errorX), + z.errorY && v(e, b, z.errorY), + z.fill && !O.fill2d && (O.fill2d = !0), + z.marker && !O.scatter2d && (O.scatter2d = !0), + z.line && !O.line2d && (O.line2d = !0), + (!z.errorX && !z.errorY) || O.error2d || (O.error2d = !0), + z.text && !O.glText && (O.glText = !0), + z.marker && (z.marker.snap = w), + O.lineOptions.push(z.line), + O.errorXOptions.push(z.errorX), + O.errorYOptions.push(z.errorY), + O.fillOptions.push(z.fill), + O.markerOptions.push(z.marker), + O.markerSelectedOptions.push(z.markerSel), + O.markerUnselectedOptions.push(z.markerUnsel), + O.textOptions.push(z.text), + O.textSelectedOptions.push(z.textSel), + O.textUnselectedOptions.push(z.textUnsel), + O.selectBatch.push([]), + O.unselectBatch.push([]), + (M._scene = O), + (M.index = O.count), + (M.x = E), + (M.y = C), + (M.positions = L), + O.count++, + [{ x: !1, y: !1, t: M, trace: e }] + ); + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/autorange': 827, + '../../plots/cartesian/axis_ids': 831, + '../scatter/calc': 1188, + '../scatter/colorscale_calc': 1190, + './constants': 1241, + './convert': 1242, + './scene_update': 1250, + '@plotly/point-cluster': 57, + }, + ], + 1241: [ + function (t, e, r) { + 'use strict'; + e.exports = { + TOO_MANY_POINTS: 1e5, + SYMBOL_SDF_SIZE: 200, + SYMBOL_SIZE: 20, + SYMBOL_STROKE: 1, + DOT_RE: /-dot/, + OPEN_RE: /-open/, + DASHES: { + solid: [1], + dot: [1, 1], + dash: [4, 1], + longdash: [8, 1], + dashdot: [4, 1, 1, 1], + longdashdot: [8, 1, 1, 1], + }, + }; + }, + {}, + ], + 1242: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('svg-path-sdf'), + a = t('color-normalize'), + o = t('../../registry'), + s = t('../../lib'), + l = t('../../components/drawing'), + c = t('../../plots/cartesian/axis_ids'), + u = t('../../lib/gl_format_color').formatColor, + f = t('../scatter/subtypes'), + h = t('../scatter/make_bubble_size_func'), + p = t('./helpers'), + d = t('./constants'), + g = t('../../constants/interactions').DESELECTDIM, + m = { + start: 1, + left: 1, + end: -1, + right: -1, + middle: 0, + center: 0, + bottom: 1, + top: -1, + }, + v = t('../../components/fx/helpers').appendArrayPointValue; + function y(t, e) { + var r, + i = t._fullLayout, + a = e._length, + o = e.textfont, + l = e.textposition, + c = Array.isArray(l) ? l : [l], + u = o.color, + f = o.size, + h = o.family, + p = {}, + d = e.texttemplate; + if (d) { + p.text = []; + var g = i._d3locale, + m = Array.isArray(d), + y = m ? Math.min(d.length, a) : a, + x = m + ? function (t) { + return d[t]; + } + : function () { + return d; + }; + for (r = 0; r < y; r++) { + var b = { i: r }, + _ = e._module.formatLabels(b, e, i), + w = {}; + v(w, e, r); + var T = e._meta || {}; + p.text.push(s.texttemplateString(x(r), _, g, w, b, T)); + } + } else + Array.isArray(e.text) && e.text.length < a + ? (p.text = e.text.slice()) + : (p.text = e.text); + if (Array.isArray(p.text)) + for (r = p.text.length; r < a; r++) p.text[r] = ''; + for ( + p.opacity = e.opacity, + p.font = {}, + p.align = [], + p.baseline = [], + r = 0; + r < c.length; + r++ + ) { + var k = c[r].split(/\s+/); + switch (k[1]) { + case 'left': + p.align.push('right'); + break; + case 'right': + p.align.push('left'); + break; + default: + p.align.push(k[1]); + } + switch (k[0]) { + case 'top': + p.baseline.push('bottom'); + break; + case 'bottom': + p.baseline.push('top'); + break; + default: + p.baseline.push(k[0]); + } + } + if (Array.isArray(u)) + for (p.color = new Array(a), r = 0; r < a; r++) p.color[r] = u[r]; + else p.color = u; + if (s.isArrayOrTypedArray(f) || Array.isArray(h)) + for (p.font = new Array(a), r = 0; r < a; r++) { + var M = (p.font[r] = {}); + (M.size = s.isTypedArray(f) + ? f[r] + : Array.isArray(f) + ? n(f[r]) + ? f[r] + : 0 + : f), + (M.family = Array.isArray(h) ? h[r] : h); + } + else p.font = { size: f, family: h }; + return p; + } + function x(t) { + var e, + r, + n = t._length, + i = t.marker, + o = {}, + l = s.isArrayOrTypedArray(i.symbol), + c = s.isArrayOrTypedArray(i.color), + f = s.isArrayOrTypedArray(i.line.color), + d = s.isArrayOrTypedArray(i.opacity), + g = s.isArrayOrTypedArray(i.size), + m = s.isArrayOrTypedArray(i.line.width); + if ((l || (r = p.isOpenSymbol(i.symbol)), l || c || f || d)) { + (o.colors = new Array(n)), (o.borderColors = new Array(n)); + var v = u(i, i.opacity, n), + y = u(i.line, i.opacity, n); + if (!Array.isArray(y[0])) { + var x = y; + for (y = Array(n), e = 0; e < n; e++) y[e] = x; + } + if (!Array.isArray(v[0])) { + var b = v; + for (v = Array(n), e = 0; e < n; e++) v[e] = b; + } + for (o.colors = v, o.borderColors = y, e = 0; e < n; e++) { + if (l) { + var _ = i.symbol[e]; + r = p.isOpenSymbol(_); + } + r && + ((y[e] = v[e].slice()), (v[e] = v[e].slice()), (v[e][3] = 0)); + } + o.opacity = t.opacity; + } else + r + ? ((o.color = a(i.color, 'uint8')), + (o.color[3] = 0), + (o.borderColor = a(i.color, 'uint8'))) + : ((o.color = a(i.color, 'uint8')), + (o.borderColor = a(i.line.color, 'uint8'))), + (o.opacity = t.opacity * i.opacity); + if (l) + for (o.markers = new Array(n), e = 0; e < n; e++) + o.markers[e] = E(i.symbol[e]); + else o.marker = E(i.symbol); + var w, + T = h(t); + if (g || m) { + var k, + M = (o.sizes = new Array(n)), + A = (o.borderSizes = new Array(n)), + S = 0; + if (g) { + for (e = 0; e < n; e++) (M[e] = T(i.size[e])), (S += M[e]); + k = S / n; + } else for (w = T(i.size), e = 0; e < n; e++) M[e] = w; + if (m) for (e = 0; e < n; e++) A[e] = i.line.width[e] / 2; + else for (w = i.line.width / 2, e = 0; e < n; e++) A[e] = w; + o.sizeAvg = k; + } else + (o.size = T((i && i.size) || 10)), + (o.borderSizes = T(i.line.width)); + return o; + } + function b(t, e) { + var r = t.marker, + n = {}; + return e + ? (e.marker && e.marker.symbol + ? (n = x(s.extendFlat({}, r, e.marker))) + : e.marker && + (e.marker.size && (n.size = e.marker.size / 2), + e.marker.color && (n.colors = e.marker.color), + void 0 !== e.marker.opacity && + (n.opacity = e.marker.opacity)), + n) + : n; + } + function _(t, e, r) { + var n = {}; + if (!r) return n; + if (r.textfont) { + var i = { + opacity: 1, + text: e.text, + texttemplate: e.texttemplate, + textposition: e.textposition, + textfont: s.extendFlat({}, e.textfont), + }; + r.textfont && s.extendFlat(i.textfont, r.textfont), (n = y(t, i)); + } + return n; + } + function w(t, e) { + var r = { + capSize: 2 * e.width, + lineWidth: e.thickness, + color: e.color, + }; + return e.copy_ystyle && (r = t.error_y), r; + } + var T = d.SYMBOL_SDF_SIZE, + k = d.SYMBOL_SIZE, + M = d.SYMBOL_STROKE, + A = {}, + S = l.symbolFuncs[0](0.05 * k); + function E(t) { + if ('circle' === t) return null; + var e, + r, + n = l.symbolNumber(t), + a = l.symbolFuncs[n % 100], + o = !!l.symbolNoDot[n % 100], + s = !!l.symbolNoFill[n % 100], + c = p.isDotSymbol(t); + return A[t] + ? A[t] + : ((e = c && !o ? a(1.1 * k) + S : a(k)), + (r = i(e, { + w: T, + h: T, + viewBox: [-k, -k, k, k], + stroke: s ? M : -M, + })), + (A[t] = r), + r || null); + } + e.exports = { + style: function (t, e) { + var r, + n = { + marker: void 0, + markerSel: void 0, + markerUnsel: void 0, + line: void 0, + fill: void 0, + errorX: void 0, + errorY: void 0, + text: void 0, + textSel: void 0, + textUnsel: void 0, + }; + if (!0 !== e.visible) return n; + if ( + (f.hasText(e) && + ((n.text = y(t, e)), + (n.textSel = _(t, e, e.selected)), + (n.textUnsel = _(t, e, e.unselected))), + f.hasMarkers(e) && + ((n.marker = x(e)), + (n.markerSel = b(e, e.selected)), + (n.markerUnsel = b(e, e.unselected)), + !e.unselected && s.isArrayOrTypedArray(e.marker.opacity))) + ) { + var i = e.marker.opacity; + for ( + n.markerUnsel.opacity = new Array(i.length), r = 0; + r < i.length; + r++ + ) + n.markerUnsel.opacity[r] = g * i[r]; + } + if (f.hasLines(e)) { + n.line = { + overlay: !0, + thickness: e.line.width, + color: e.line.color, + opacity: e.opacity, + }; + var a = (d.DASHES[e.line.dash] || [1]).slice(); + for (r = 0; r < a.length; ++r) a[r] *= e.line.width; + n.line.dashes = a; + } + return ( + e.error_x && e.error_x.visible && (n.errorX = w(e, e.error_x)), + e.error_y && e.error_y.visible && (n.errorY = w(e, e.error_y)), + e.fill && + 'none' !== e.fill && + (n.fill = { closed: !0, fill: e.fillcolor, thickness: 0 }), + n + ); + }, + markerStyle: x, + markerSelection: b, + linePositions: function (t, e, r) { + var n, + i, + a = r.length, + o = a / 2; + if (f.hasLines(e) && o) + if ('hv' === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i + 2], r[2 * i + 1])); + n.push(r[a - 2], r[a - 1]); + } else if ('hvh' === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var s = (r[2 * i] + r[2 * i + 2]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + s, + r[2 * i + 1], + s, + r[2 * i + 3] + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ('vhv' === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + if ( + isNaN(r[2 * i]) || + isNaN(r[2 * i + 1]) || + isNaN(r[2 * i + 2]) || + isNaN(r[2 * i + 3]) + ) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 1]), + n.push(NaN, NaN); + else { + var l = (r[2 * i + 1] + r[2 * i + 3]) / 2; + n.push( + r[2 * i], + r[2 * i + 1], + r[2 * i], + l, + r[2 * i + 2], + l + ); + } + n.push(r[a - 2], r[a - 1]); + } else if ('vh' === e.line.shape) { + for (n = [], i = 0; i < o - 1; i++) + isNaN(r[2 * i]) || isNaN(r[2 * i + 1]) + ? n.push(NaN, NaN, NaN, NaN) + : (n.push(r[2 * i], r[2 * i + 1]), + isNaN(r[2 * i + 2]) || isNaN(r[2 * i + 3]) + ? n.push(NaN, NaN) + : n.push(r[2 * i], r[2 * i + 3])); + n.push(r[a - 2], r[a - 1]); + } else n = r; + var c = !1; + for (i = 0; i < n.length; i++) + if (isNaN(n[i])) { + c = !0; + break; + } + var u = + c || n.length > d.TOO_MANY_POINTS || f.hasMarkers(e) + ? 'rect' + : 'round'; + if (c && e.connectgaps) { + var h = n[0], + p = n[1]; + for (i = 0; i < n.length; i += 2) + isNaN(n[i]) || isNaN(n[i + 1]) + ? ((n[i] = h), (n[i + 1] = p)) + : ((h = n[i]), (p = n[i + 1])); + } + return { join: u, positions: n }; + }, + errorBarPositions: function (t, e, r, i, a) { + var s = o.getComponentMethod('errorbars', 'makeComputeError'), + l = c.getFromId(t, e.xaxis), + u = c.getFromId(t, e.yaxis), + f = r.length / 2, + h = {}; + function p(t, i) { + var a = i._id.charAt(0), + o = e['error_' + a]; + if ( + o && + o.visible && + ('linear' === i.type || 'log' === i.type) + ) { + for ( + var l = s(o), + c = { x: 0, y: 1 }[a], + u = { x: [0, 1, 2, 3], y: [2, 3, 0, 1] }[a], + p = new Float64Array(4 * f), + d = 1 / 0, + g = -1 / 0, + m = 0, + v = 0; + m < f; + m++, v += 4 + ) { + var y = t[m]; + if (n(y)) { + var x = r[2 * m + c], + b = l(y, m), + _ = b[0], + w = b[1]; + if (n(_) && n(w)) { + var T = y - _, + k = y + w; + (p[v + u[0]] = x - i.c2l(T)), + (p[v + u[1]] = i.c2l(k) - x), + (p[v + u[2]] = 0), + (p[v + u[3]] = 0), + (d = Math.min(d, y - _)), + (g = Math.max(g, y + w)); + } + } + } + h[a] = { positions: r, errors: p, _bnds: [d, g] }; + } + } + return p(i, l), p(a, u), h; + }, + textPosition: function (t, e, r, n) { + var i, + a = e._length, + o = {}; + if (f.hasMarkers(e)) { + var s = r.font, + l = r.align, + c = r.baseline; + for (o.offset = new Array(a), i = 0; i < a; i++) { + var u = n.sizes ? n.sizes[i] : n.size, + h = Array.isArray(s) ? s[i].size : s.size, + p = Array.isArray(l) ? (l.length > 1 ? l[i] : l[0]) : l, + d = Array.isArray(c) ? (c.length > 1 ? c[i] : c[0]) : c, + g = m[p], + v = m[d], + y = u ? u / 0.8 + 1 : 0, + x = -v * y - 0.5 * v; + o.offset[i] = [(g * y) / h, x / h]; + } + } + return o; + }, + }; + }, + { + '../../components/drawing': 665, + '../../components/fx/helpers': 679, + '../../constants/interactions': 752, + '../../lib': 778, + '../../lib/gl_format_color': 774, + '../../plots/cartesian/axis_ids': 831, + '../../registry': 911, + '../scatter/make_bubble_size_func': 1204, + '../scatter/subtypes': 1212, + './constants': 1241, + './helpers': 1246, + 'color-normalize': 125, + 'fast-isnumeric': 241, + 'svg-path-sdf': 574, + }, + ], + 1243: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../registry'), + a = t('./helpers'), + o = t('./attributes'), + s = t('../scatter/constants'), + l = t('../scatter/subtypes'), + c = t('../scatter/xy_defaults'), + u = t('../scatter/period_defaults'), + f = t('../scatter/marker_defaults'), + h = t('../scatter/line_defaults'), + p = t('../scatter/fillcolor_defaults'), + d = t('../scatter/text_defaults'); + e.exports = function (t, e, r, g) { + function m(r, i) { + return n.coerce(t, e, o, r, i); + } + var v = !!t.marker && a.isOpenSymbol(t.marker.symbol), + y = l.isBubble(t), + x = c(t, e, g, m); + if (x) { + u(t, e, g, m); + var b = x < s.PTS_LINESONLY ? 'lines+markers' : 'lines'; + m('text'), + m('hovertext'), + m('hovertemplate'), + m('mode', b), + l.hasLines(e) && + (m('connectgaps'), h(t, e, r, g, m), m('line.shape')), + l.hasMarkers(e) && + (f(t, e, r, g, m), m('marker.line.width', v || y ? 1 : 0)), + l.hasText(e) && (m('texttemplate'), d(t, e, g, m)); + var _ = (e.line || {}).color, + w = (e.marker || {}).color; + m('fill'), 'none' !== e.fill && p(t, e, r, m); + var T = i.getComponentMethod('errorbars', 'supplyDefaults'); + T(t, e, _ || w || r, { axis: 'y' }), + T(t, e, _ || w || r, { axis: 'x', inherit: 'y' }), + n.coerceSelectionMarkerOpacity(e, m); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../../registry': 911, + '../scatter/constants': 1191, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/marker_defaults': 1206, + '../scatter/period_defaults': 1207, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + '../scatter/xy_defaults': 1214, + './attributes': 1239, + './helpers': 1246, + }, + ], + 1244: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../../constants/interactions').DESELECTDIM; + e.exports = { + styleTextSelection: function (t) { + var e, + r, + o = t[0], + s = o.trace, + l = o.t, + c = l._scene, + u = l.index, + f = c.selectBatch[u], + h = c.unselectBatch[u], + p = c.textOptions[u], + d = c.textSelectedOptions[u] || {}, + g = c.textUnselectedOptions[u] || {}, + m = n.extendFlat({}, p); + if (f.length || h.length) { + var v = d.color, + y = g.color, + x = p.color, + b = Array.isArray(x); + for (m.color = new Array(s._length), e = 0; e < f.length; e++) + (r = f[e]), (m.color[r] = v || (b ? x[r] : x)); + for (e = 0; e < h.length; e++) { + r = h[e]; + var _ = b ? x[r] : x; + m.color[r] = y || (v ? _ : i.addOpacity(_, a)); + } + } + c.glText[u].update(m); + }, + }; + }, + { + '../../components/color': 643, + '../../constants/interactions': 752, + '../../lib': 778, + }, + ], + 1245: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/format_labels'); + e.exports = function (t, e, r) { + var i = t.i; + return ( + 'x' in t || (t.x = e._x[i]), + 'y' in t || (t.y = e._y[i]), + n(t, e, r) + ); + }; + }, + { '../scatter/format_labels': 1196 }, + ], + 1246: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'); + (r.isOpenSymbol = function (t) { + return 'string' == typeof t ? n.OPEN_RE.test(t) : t % 200 > 100; + }), + (r.isDotSymbol = function (t) { + return 'string' == typeof t ? n.DOT_RE.test(t) : t > 200; + }); + }, + { './constants': 1241 }, + ], + 1247: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../scatter/get_trace_color'); + function o(t, e, r, o) { + var s = t.xa, + l = t.ya, + c = t.distance, + u = t.dxy, + f = t.index, + h = { pointNumber: f, x: e[f], y: r[f] }; + (h.tx = Array.isArray(o.text) ? o.text[f] : o.text), + (h.htx = Array.isArray(o.hovertext) + ? o.hovertext[f] + : o.hovertext), + (h.data = Array.isArray(o.customdata) + ? o.customdata[f] + : o.customdata), + (h.tp = Array.isArray(o.textposition) + ? o.textposition[f] + : o.textposition); + var p = o.textfont; + p && + ((h.ts = i.isArrayOrTypedArray(p.size) ? p.size[f] : p.size), + (h.tc = Array.isArray(p.color) ? p.color[f] : p.color), + (h.tf = Array.isArray(p.family) ? p.family[f] : p.family)); + var d = o.marker; + d && + ((h.ms = i.isArrayOrTypedArray(d.size) ? d.size[f] : d.size), + (h.mo = i.isArrayOrTypedArray(d.opacity) + ? d.opacity[f] + : d.opacity), + (h.mx = i.isArrayOrTypedArray(d.symbol) ? d.symbol[f] : d.symbol), + (h.mc = i.isArrayOrTypedArray(d.color) ? d.color[f] : d.color)); + var g = d && d.line; + g && + ((h.mlc = Array.isArray(g.color) ? g.color[f] : g.color), + (h.mlw = i.isArrayOrTypedArray(g.width) ? g.width[f] : g.width)); + var m = d && d.gradient; + m && + 'none' !== m.type && + ((h.mgt = Array.isArray(m.type) ? m.type[f] : m.type), + (h.mgc = Array.isArray(m.color) ? m.color[f] : m.color)); + var v = s.c2p(h.x, !0), + y = l.c2p(h.y, !0), + x = h.mrc || 1, + b = o.hoverlabel; + b && + ((h.hbg = Array.isArray(b.bgcolor) ? b.bgcolor[f] : b.bgcolor), + (h.hbc = Array.isArray(b.bordercolor) + ? b.bordercolor[f] + : b.bordercolor), + (h.hts = i.isArrayOrTypedArray(b.font.size) + ? b.font.size[f] + : b.font.size), + (h.htc = Array.isArray(b.font.color) + ? b.font.color[f] + : b.font.color), + (h.htf = Array.isArray(b.font.family) + ? b.font.family[f] + : b.font.family), + (h.hnl = i.isArrayOrTypedArray(b.namelength) + ? b.namelength[f] + : b.namelength)); + var _ = o.hoverinfo; + _ && (h.hi = Array.isArray(_) ? _[f] : _); + var w = o.hovertemplate; + w && (h.ht = Array.isArray(w) ? w[f] : w); + var T = {}; + T[t.index] = h; + var k = o._origX, + M = o._origY, + A = i.extendFlat({}, t, { + color: a(o, h), + x0: v - x, + x1: v + x, + xLabelVal: k ? k[f] : h.x, + y0: y - x, + y1: y + x, + yLabelVal: M ? M[f] : h.y, + cd: T, + distance: c, + spikeDistance: u, + hovertemplate: h.ht, + }); + return ( + h.htx + ? (A.text = h.htx) + : h.tx + ? (A.text = h.tx) + : o.text && (A.text = o.text), + i.fillText(h, o, A), + n.getComponentMethod('errorbars', 'hoverInfo')(h, o, A), + A + ); + } + e.exports = { + hoverPoints: function (t, e, r, n) { + var i, + a, + s, + l, + c, + u, + f, + h, + p, + d = t.cd, + g = d[0].t, + m = d[0].trace, + v = t.xa, + y = t.ya, + x = g.x, + b = g.y, + _ = v.c2p(e), + w = y.c2p(r), + T = t.distance; + if (g.tree) { + var k = v.p2c(_ - T), + M = v.p2c(_ + T), + A = y.p2c(w - T), + S = y.p2c(w + T); + i = + 'x' === n + ? g.tree.range( + Math.min(k, M), + Math.min(y._rl[0], y._rl[1]), + Math.max(k, M), + Math.max(y._rl[0], y._rl[1]) + ) + : g.tree.range( + Math.min(k, M), + Math.min(A, S), + Math.max(k, M), + Math.max(A, S) + ); + } else i = g.ids; + var E = T; + if ('x' === n) + for (c = 0; c < i.length; c++) + (s = x[i[c]]), + (u = Math.abs(v.c2p(s) - _)) < E && + ((E = u), + (f = y.c2p(b[i[c]]) - w), + (p = Math.sqrt(u * u + f * f)), + (a = i[c])); + else + for (c = i.length - 1; c > -1; c--) + (s = x[i[c]]), + (l = b[i[c]]), + (u = v.c2p(s) - _), + (f = y.c2p(l) - w), + (h = Math.sqrt(u * u + f * f)) < E && + ((E = p = h), (a = i[c])); + return ( + (t.index = a), + (t.distance = E), + (t.dxy = p), + void 0 === a ? [t] : [o(t, x, b, m)] + ); + }, + calcHover: o, + }; + }, + { + '../../lib': 778, + '../../registry': 911, + '../scatter/get_trace_color': 1197, + }, + ], + 1248: [ + function (t, e, r) { + 'use strict'; + var n = t('./hover'); + e.exports = { + moduleType: 'trace', + name: 'scattergl', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'gl', + 'regl', + 'cartesian', + 'symbols', + 'errorBarsOK', + 'showLegend', + 'scatter-like', + ], + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('../scatter/cross_trace_defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + plot: t('./plot'), + hoverPoints: n.hoverPoints, + selectPoints: t('./select'), + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../scatter/cross_trace_defaults': 1193, + '../scatter/marker_colorbar': 1205, + './attributes': 1239, + './calc': 1240, + './defaults': 1243, + './format_labels': 1245, + './hover': 1247, + './plot': 1249, + './select': 1251, + }, + ], + 1249: [ + function (t, e, r) { + 'use strict'; + var n = t('regl-scatter2d'), + i = t('regl-line2d'), + a = t('regl-error2d'), + o = t('gl-text'), + s = t('../../lib'), + l = t('../../components/dragelement/helpers').selectMode, + c = t('../../lib/prepare_regl'), + u = t('../scatter/subtypes'), + f = t('../scatter/link_traces'), + h = t('./edit_style').styleTextSelection; + function p(t, e, r) { + var n = t._size, + i = t.width, + a = t.height; + return [ + n.l + e.domain[0] * n.w, + n.b + r.domain[0] * n.h, + i - n.r - (1 - e.domain[1]) * n.w, + a - n.t - (1 - r.domain[1]) * n.h, + ]; + } + e.exports = function (t, e, r) { + if (r.length) { + var d, + g, + m = t._fullLayout, + v = e._scene, + y = e.xaxis, + x = e.yaxis; + if (v) + if ( + c(t, ['ANGLE_instanced_arrays', 'OES_element_index_uint']) + ) { + var b = v.count, + _ = m._glcanvas.data()[0].regl; + if ((f(t, e, r), v.dirty)) { + if ( + (!0 === v.error2d && (v.error2d = a(_)), + !0 === v.line2d && (v.line2d = i(_)), + !0 === v.scatter2d && + (v.scatter2d = n(_, { constPointSize: !0 })), + !0 === v.fill2d && (v.fill2d = i(_)), + !0 === v.glText) + ) + for (v.glText = new Array(b), d = 0; d < b; d++) + v.glText[d] = new o(_); + if (v.glText) { + if (b > v.glText.length) { + var w = b - v.glText.length; + for (d = 0; d < w; d++) v.glText.push(new o(_)); + } else if (b < v.glText.length) { + var T = v.glText.length - b; + v.glText.splice(b, T).forEach(function (t) { + t.destroy(); + }); + } + for (d = 0; d < b; d++) + v.glText[d].update(v.textOptions[d]); + } + if ( + (v.line2d && + (v.line2d.update(v.lineOptions), + (v.lineOptions = v.lineOptions.map(function (t) { + if (t && t.positions) { + for ( + var e = t.positions, r = 0; + r < e.length && (isNaN(e[r]) || isNaN(e[r + 1])); + + ) + r += 2; + for ( + var n = e.length - 2; + n > r && (isNaN(e[n]) || isNaN(e[n + 1])); + + ) + n -= 2; + t.positions = e.slice(r, n + 2); + } + return t; + })), + v.line2d.update(v.lineOptions)), + v.error2d) + ) { + var k = (v.errorXOptions || []).concat( + v.errorYOptions || [] + ); + v.error2d.update(k); + } + v.scatter2d && v.scatter2d.update(v.markerOptions), + (v.fillOrder = s.repeat(null, b)), + v.fill2d && + ((v.fillOptions = v.fillOptions.map(function (t, e) { + var n = r[e]; + if (t && n && n[0] && n[0].trace) { + var i, + a, + o = n[0], + s = o.trace, + l = o.t, + c = v.lineOptions[e], + u = []; + s._ownfill && u.push(e), + s._nexttrace && u.push(e + 1), + u.length && (v.fillOrder[e] = u); + var f, + h, + p = [], + d = (c && c.positions) || l.positions; + if ('tozeroy' === s.fill) { + for (f = 0; f < d.length && isNaN(d[f + 1]); ) + f += 2; + for (h = d.length - 2; h > f && isNaN(d[h + 1]); ) + h -= 2; + 0 !== d[f + 1] && (p = [d[f], 0]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h + 1] && (p = p.concat([d[h], 0])); + } else if ('tozerox' === s.fill) { + for (f = 0; f < d.length && isNaN(d[f]); ) f += 2; + for (h = d.length - 2; h > f && isNaN(d[h]); ) + h -= 2; + 0 !== d[f] && (p = [0, d[f + 1]]), + (p = p.concat(d.slice(f, h + 2))), + 0 !== d[h] && (p = p.concat([0, d[h + 1]])); + } else if ( + 'toself' === s.fill || + 'tonext' === s.fill + ) { + for (p = [], i = 0, a = 0; a < d.length; a += 2) + (isNaN(d[a]) || isNaN(d[a + 1])) && + ((p = p.concat(d.slice(i, a))).push( + d[i], + d[i + 1] + ), + (i = a + 2)); + (p = p.concat(d.slice(i))), + i && p.push(d[i], d[i + 1]); + } else { + var g = s._nexttrace; + if (g) { + var m = v.lineOptions[e + 1]; + if (m) { + var y = m.positions; + if ('tonexty' === s.fill) { + for ( + p = d.slice(), + e = Math.floor(y.length / 2); + e--; + + ) { + var x = y[2 * e], + b = y[2 * e + 1]; + isNaN(x) || isNaN(b) || p.push(x, b); + } + t.fill = g.fillcolor; + } + } + } + } + if ( + s._prevtrace && + 'tonext' === s._prevtrace.fill + ) { + var _ = v.lineOptions[e - 1].positions, + w = p.length / 2, + T = [(i = w)]; + for (a = 0; a < _.length; a += 2) + (isNaN(_[a]) || isNaN(_[a + 1])) && + (T.push(a / 2 + w + 1), (i = a + 2)); + (p = p.concat(_)), (t.hole = T); + } + return ( + (t.fillmode = s.fill), + (t.opacity = s.opacity), + (t.positions = p), + t + ); + } + })), + v.fill2d.update(v.fillOptions)); + } + var M = m.dragmode, + A = l(M), + S = m.clickmode.indexOf('select') > -1; + for (d = 0; d < b; d++) { + var E = r[d][0], + C = E.trace, + L = E.t, + I = L.index, + P = C._length, + z = L.x, + O = L.y; + if (C.selectedpoints || A || S) { + if ((A || (A = !0), C.selectedpoints)) { + var D = (v.selectBatch[I] = s.selIndices2selPoints(C)), + R = {}; + for (g = 0; g < D.length; g++) R[D[g]] = 1; + var F = []; + for (g = 0; g < P; g++) R[g] || F.push(g); + v.unselectBatch[I] = F; + } + var B = (L.xpx = new Array(P)), + N = (L.ypx = new Array(P)); + for (g = 0; g < P; g++) + (B[g] = y.c2p(z[g])), (N[g] = x.c2p(O[g])); + } else L.xpx = L.ypx = null; + } + if (A) { + if ( + (v.select2d || + (v.select2d = n(m._glcanvas.data()[1].regl)), + v.scatter2d) + ) { + var j = new Array(b); + for (d = 0; d < b; d++) + j[d] = + v.selectBatch[d].length || v.unselectBatch[d].length + ? v.markerUnselectedOptions[d] + : {}; + v.scatter2d.update(j); + } + v.select2d && + (v.select2d.update(v.markerOptions), + v.select2d.update(v.markerSelectedOptions)), + v.glText && + r.forEach(function (t) { + var e = ((t || [])[0] || {}).trace || {}; + u.hasText(e) && h(t); + }); + } else v.scatter2d && v.scatter2d.update(v.markerOptions); + var U = { + viewport: p(m, y, x), + range: [ + (y._rl || y.range)[0], + (x._rl || x.range)[0], + (y._rl || y.range)[1], + (x._rl || x.range)[1], + ], + }, + V = s.repeat(U, v.count); + v.fill2d && v.fill2d.update(V), + v.line2d && v.line2d.update(V), + v.error2d && v.error2d.update(V.concat(V)), + v.scatter2d && v.scatter2d.update(V), + v.select2d && v.select2d.update(V), + v.glText && + v.glText.forEach(function (t) { + t.update(U); + }); + } else v.init(); + } + }; + }, + { + '../../components/dragelement/helpers': 661, + '../../lib': 778, + '../../lib/prepare_regl': 791, + '../scatter/link_traces': 1203, + '../scatter/subtypes': 1212, + './edit_style': 1244, + 'gl-text': 352, + 'regl-error2d': 534, + 'regl-line2d': 535, + 'regl-scatter2d': 537, + }, + ], + 1250: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + var r = e._scene, + i = { + count: 0, + dirty: !0, + lineOptions: [], + fillOptions: [], + markerOptions: [], + markerSelectedOptions: [], + markerUnselectedOptions: [], + errorXOptions: [], + errorYOptions: [], + textOptions: [], + textSelectedOptions: [], + textUnselectedOptions: [], + selectBatch: [], + unselectBatch: [], + }, + a = { + fill2d: !1, + scatter2d: !1, + error2d: !1, + line2d: !1, + glText: !1, + select2d: !1, + }; + return ( + e._scene || + (((r = e._scene = {}).init = function () { + n.extendFlat(r, a, i); + }), + r.init(), + (r.update = function (t) { + var e = n.repeat(t, r.count); + if ( + (r.fill2d && r.fill2d.update(e), + r.scatter2d && r.scatter2d.update(e), + r.line2d && r.line2d.update(e), + r.error2d && r.error2d.update(e.concat(e)), + r.select2d && r.select2d.update(e), + r.glText) + ) + for (var i = 0; i < r.count; i++) r.glText[i].update(t); + }), + (r.draw = function () { + for ( + var t = r.count, + e = r.fill2d, + i = r.error2d, + a = r.line2d, + o = r.scatter2d, + s = r.glText, + l = r.select2d, + c = r.selectBatch, + u = r.unselectBatch, + f = 0; + f < t; + f++ + ) { + if ( + (e && r.fillOrder[f] && e.draw(r.fillOrder[f]), + a && r.lineOptions[f] && a.draw(f), + i && + (r.errorXOptions[f] && i.draw(f), + r.errorYOptions[f] && i.draw(f + t)), + o && r.markerOptions[f]) + ) + if (u[f].length) { + var h = n.repeat([], r.count); + (h[f] = u[f]), o.draw(h); + } else c[f].length || o.draw(f); + s[f] && r.textOptions[f] && s[f].render(); + } + l && l.draw(c), (r.dirty = !1); + }), + (r.destroy = function () { + r.fill2d && r.fill2d.destroy && r.fill2d.destroy(), + r.scatter2d && r.scatter2d.destroy && r.scatter2d.destroy(), + r.error2d && r.error2d.destroy && r.error2d.destroy(), + r.line2d && r.line2d.destroy && r.line2d.destroy(), + r.select2d && r.select2d.destroy && r.select2d.destroy(), + r.glText && + r.glText.forEach(function (t) { + t.destroy && t.destroy(); + }), + (r.lineOptions = null), + (r.fillOptions = null), + (r.markerOptions = null), + (r.markerSelectedOptions = null), + (r.markerUnselectedOptions = null), + (r.errorXOptions = null), + (r.errorYOptions = null), + (r.textOptions = null), + (r.textSelectedOptions = null), + (r.textUnselectedOptions = null), + (r.selectBatch = null), + (r.unselectBatch = null), + (e._scene = null); + })), + r.dirty || n.extendFlat(r, i), + r + ); + }; + }, + { '../../lib': 778 }, + ], + 1251: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/subtypes'), + i = t('./edit_style').styleTextSelection; + e.exports = function (t, e) { + var r = t.cd, + a = [], + o = r[0].trace, + s = r[0].t, + l = o._length, + c = s.x, + u = s.y, + f = s._scene, + h = s.index; + if (!f) return a; + var p = n.hasText(o), + d = n.hasMarkers(o), + g = !d && !p; + if (!0 !== o.visible || g) return a; + var m = [], + v = []; + if (!1 !== e && !e.degenerate) + for (var y = 0; y < l; y++) + e.contains([s.xpx[y], s.ypx[y]], !1, y, t) + ? (m.push(y), a.push({ pointNumber: y, x: c[y], y: u[y] })) + : v.push(y); + if (d) { + var x = f.scatter2d; + if (m.length || v.length) { + if (!f.selectBatch[h].length && !f.unselectBatch[h].length) { + var b = new Array(f.count); + (b[h] = f.markerUnselectedOptions[h]), x.update.apply(x, b); + } + } else { + var _ = new Array(f.count); + (_[h] = f.markerOptions[h]), x.update.apply(x, _); + } + } + return ( + (f.selectBatch[h] = m), (f.unselectBatch[h] = v), p && i(r), a + ); + }; + }, + { '../scatter/subtypes': 1212, './edit_style': 1244 }, + ], + 1252: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../plots/template_attributes').texttemplateAttrs, + a = t('../scattergeo/attributes'), + o = t('../scatter/attributes'), + s = t('../../plots/mapbox/layout_attributes'), + l = t('../../plots/attributes'), + c = t('../../components/colorscale/attributes'), + u = t('../../lib/extend').extendFlat, + f = t('../../plot_api/edit_types').overrideAll, + h = a.line, + p = a.marker; + e.exports = f( + { + lon: a.lon, + lat: a.lat, + mode: u({}, o.mode, { dflt: 'markers' }), + text: u({}, o.text, {}), + texttemplate: i( + { editType: 'plot' }, + { keys: ['lat', 'lon', 'text'] } + ), + hovertext: u({}, o.hovertext, {}), + line: { color: h.color, width: h.width }, + connectgaps: o.connectgaps, + marker: u( + { + symbol: { valType: 'string', dflt: 'circle', arrayOk: !0 }, + angle: { valType: 'number', dflt: 'auto', arrayOk: !0 }, + allowoverlap: { valType: 'boolean', dflt: !1 }, + opacity: p.opacity, + size: p.size, + sizeref: p.sizeref, + sizemin: p.sizemin, + sizemode: p.sizemode, + }, + c('marker') + ), + fill: a.fill, + fillcolor: o.fillcolor, + textfont: s.layers.symbol.textfont, + textposition: s.layers.symbol.textposition, + below: { valType: 'string' }, + selected: { marker: o.selected.marker }, + unselected: { marker: o.unselected.marker }, + hoverinfo: u({}, l.hoverinfo, { + flags: ['lon', 'lat', 'text', 'name'], + }), + hovertemplate: n(), + }, + 'calc', + 'nested' + ); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../../plots/mapbox/layout_attributes': 887, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + '../scattergeo/attributes': 1229, + }, + ], + 1253: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../lib'), + a = t('../../constants/numerical').BADNUM, + o = t('../../lib/geojson_utils'), + s = t('../../components/colorscale'), + l = t('../../components/drawing'), + c = t('../scatter/make_bubble_size_func'), + u = t('../scatter/subtypes'), + f = t('../../plots/mapbox/convert_text_opts'), + h = t('../../components/fx/helpers').appendArrayPointValue, + p = t('../../lib/svg_text_utils').NEWLINES, + d = t('../../lib/svg_text_utils').BR_TAG_ALL; + function g() { + return { + geojson: o.makeBlank(), + layout: { visibility: 'none' }, + paint: {}, + }; + } + function m(t, e) { + return i.isArrayOrTypedArray(t) + ? e + ? function (e) { + return n(t[e]) ? +t[e] : 0; + } + : function (e) { + return t[e]; + } + : t + ? function () { + return t; + } + : v; + } + function v() { + return ''; + } + function y(t) { + return t[0] === a; + } + e.exports = function (t, e) { + var r, + a = e[0].trace, + x = !0 === a.visible && 0 !== a._length, + b = 'none' !== a.fill, + _ = u.hasLines(a), + w = u.hasMarkers(a), + T = u.hasText(a), + k = w && 'circle' === a.marker.symbol, + M = w && 'circle' !== a.marker.symbol, + A = g(), + S = g(), + E = g(), + C = g(), + L = { fill: A, line: S, circle: E, symbol: C }; + if (!x) return L; + if ( + ((b || _) && (r = o.calcTraceToLineCoords(e)), + b && + ((A.geojson = o.makePolygon(r)), + (A.layout.visibility = 'visible'), + i.extendFlat(A.paint, { 'fill-color': a.fillcolor })), + _ && + ((S.geojson = o.makeLine(r)), + (S.layout.visibility = 'visible'), + i.extendFlat(S.paint, { + 'line-width': a.line.width, + 'line-color': a.line.color, + 'line-opacity': a.opacity, + })), + k) + ) { + var I = (function (t) { + var e, + r, + a, + o, + u = t[0].trace, + f = u.marker, + h = u.selectedpoints, + p = i.isArrayOrTypedArray(f.color), + d = i.isArrayOrTypedArray(f.size), + g = i.isArrayOrTypedArray(f.opacity); + function m(t) { + return u.opacity * t; + } + p && + (r = s.hasColorscale(u, 'marker') + ? s.makeColorScaleFuncFromTrace(f) + : i.identity); + d && (a = c(u)); + g && + (o = function (t) { + return m(n(t) ? +i.constrain(t, 0, 1) : 0); + }); + var v, + x = []; + for (e = 0; e < t.length; e++) { + var b = t[e], + _ = b.lonlat; + if (!y(_)) { + var w = {}; + r && (w.mcc = b.mcc = r(b.mc)), + a && (w.mrc = b.mrc = a(b.ms)), + o && (w.mo = o(b.mo)), + h && (w.selected = b.selected || 0), + x.push({ + type: 'Feature', + geometry: { type: 'Point', coordinates: _ }, + properties: w, + }); + } + } + if (h) + for ( + v = l.makeSelectedPointStyleFns(u), e = 0; + e < x.length; + e++ + ) { + var T = x[e].properties; + v.selectedOpacityFn && (T.mo = m(v.selectedOpacityFn(T))), + v.selectedColorFn && (T.mcc = v.selectedColorFn(T)), + v.selectedSizeFn && (T.mrc = v.selectedSizeFn(T)); + } + return { + geojson: { type: 'FeatureCollection', features: x }, + mcc: + p || (v && v.selectedColorFn) + ? { type: 'identity', property: 'mcc' } + : f.color, + mrc: + d || (v && v.selectedSizeFn) + ? { type: 'identity', property: 'mrc' } + : ((k = f.size), k / 2), + mo: + g || (v && v.selectedOpacityFn) + ? { type: 'identity', property: 'mo' } + : m(f.opacity), + }; + var k; + })(e); + (E.geojson = I.geojson), + (E.layout.visibility = 'visible'), + i.extendFlat(E.paint, { + 'circle-color': I.mcc, + 'circle-radius': I.mrc, + 'circle-opacity': I.mo, + }); + } + if ( + (M || T) && + ((C.geojson = (function (t, e) { + for ( + var r = e._fullLayout, + n = t[0].trace, + a = n.marker || {}, + o = a.symbol, + s = a.angle, + l = 'circle' !== o ? m(o) : v, + c = 'auto' !== s ? m(s, !0) : v, + f = u.hasText(n) ? m(n.text) : v, + g = [], + x = 0; + x < t.length; + x++ + ) { + var b = t[x]; + if (!y(b.lonlat)) { + var _, + w = n.texttemplate; + if (w) { + var T = Array.isArray(w) ? w[x] || '' : w, + k = n._module.formatLabels(b, n, r), + M = {}; + h(M, n, b.i); + var A = n._meta || {}; + _ = i.texttemplateString(T, k, r._d3locale, M, b, A); + } else _ = f(x); + _ && (_ = _.replace(p, '').replace(d, '\n')), + g.push({ + type: 'Feature', + geometry: { type: 'Point', coordinates: b.lonlat }, + properties: { symbol: l(x), angle: c(x), text: _ }, + }); + } + } + return { type: 'FeatureCollection', features: g }; + })(e, t)), + i.extendFlat(C.layout, { + visibility: 'visible', + 'icon-image': '{symbol}-15', + 'text-field': '{text}', + }), + M && + (i.extendFlat(C.layout, { 'icon-size': a.marker.size / 10 }), + 'angle' in a.marker && + 'auto' !== a.marker.angle && + i.extendFlat(C.layout, { + 'icon-rotate': { type: 'identity', property: 'angle' }, + 'icon-rotation-alignment': 'map', + }), + (C.layout['icon-allow-overlap'] = a.marker.allowoverlap), + i.extendFlat(C.paint, { + 'icon-opacity': a.opacity * a.marker.opacity, + 'icon-color': a.marker.color, + })), + T) + ) { + var P = (a.marker || {}).size, + z = f(a.textposition, P); + i.extendFlat(C.layout, { + 'text-size': a.textfont.size, + 'text-anchor': z.anchor, + 'text-offset': z.offset, + }), + i.extendFlat(C.paint, { + 'text-color': a.textfont.color, + 'text-opacity': a.opacity, + }); + } + return L; + }; + }, + { + '../../components/colorscale': 655, + '../../components/drawing': 665, + '../../components/fx/helpers': 679, + '../../constants/numerical': 753, + '../../lib': 778, + '../../lib/geojson_utils': 772, + '../../lib/svg_text_utils': 803, + '../../plots/mapbox/convert_text_opts': 884, + '../scatter/make_bubble_size_func': 1204, + '../scatter/subtypes': 1212, + 'fast-isnumeric': 241, + }, + ], + 1254: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('../scatter/marker_defaults'), + o = t('../scatter/line_defaults'), + s = t('../scatter/text_defaults'), + l = t('../scatter/fillcolor_defaults'), + c = t('./attributes'); + e.exports = function (t, e, r, u) { + function f(r, i) { + return n.coerce(t, e, c, r, i); + } + if ( + (function (t, e, r) { + var n = r('lon') || [], + i = r('lat') || [], + a = Math.min(n.length, i.length); + return (e._length = a), a; + })(0, e, f) + ) { + if ( + (f('text'), + f('texttemplate'), + f('hovertext'), + f('hovertemplate'), + f('mode'), + f('below'), + i.hasLines(e) && + (o(t, e, r, u, f, { noDash: !0 }), f('connectgaps')), + i.hasMarkers(e)) + ) { + a(t, e, r, u, f, { noLine: !0 }), + f('marker.allowoverlap'), + f('marker.angle'); + var h = e.marker; + 'circle' !== h.symbol && + (n.isArrayOrTypedArray(h.size) && (h.size = h.size[0]), + n.isArrayOrTypedArray(h.color) && (h.color = h.color[0])); + } + i.hasText(e) && s(t, e, u, f, { noSelect: !0 }), + f('fill'), + 'none' !== e.fill && l(t, e, r, f), + n.coerceSelectionMarkerOpacity(e, f); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1252, + }, + ], + 1255: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return (t.lon = e.lon), (t.lat = e.lat), t; + }; + }, + {}, + ], + 1256: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'); + e.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot.mockAxis, + o = t.lonlat; + return ( + (i.lonLabel = n.tickText(a, a.c2l(o[0]), !0).text), + (i.latLabel = n.tickText(a, a.c2l(o[1]), !0).text), + i + ); + }; + }, + { '../../plots/cartesian/axes': 828 }, + ], + 1257: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/fx'), + i = t('../../lib'), + a = t('../scatter/get_trace_color'), + o = i.fillText, + s = t('../../constants/numerical').BADNUM; + e.exports = function (t, e, r) { + var l = t.cd, + c = l[0].trace, + u = t.xa, + f = t.ya, + h = t.subplot, + p = + 360 * + (e >= 0 + ? Math.floor((e + 180) / 360) + : Math.ceil((e - 180) / 360)), + d = e - p; + if ( + (n.getClosest( + l, + function (t) { + var e = t.lonlat; + if (e[0] === s) return 1 / 0; + var n = i.modHalf(e[0], 360), + a = e[1], + o = h.project([n, a]), + l = o.x - u.c2p([d, a]), + c = o.y - f.c2p([n, r]), + p = Math.max(3, t.mrc || 0); + return Math.max(Math.sqrt(l * l + c * c) - p, 1 - 3 / p); + }, + t + ), + !1 !== t.index) + ) { + var g = l[t.index], + m = g.lonlat, + v = [i.modHalf(m[0], 360) + p, m[1]], + y = u.c2p(v), + x = f.c2p(v), + b = g.mrc || 1; + (t.x0 = y - b), (t.x1 = y + b), (t.y0 = x - b), (t.y1 = x + b); + var _ = {}; + _[c.subplot] = { _subplot: h }; + var w = c._module.formatLabels(g, c, _); + return ( + (t.lonLabel = w.lonLabel), + (t.latLabel = w.latLabel), + (t.color = a(c, g)), + (t.extraText = (function (t, e, r) { + if (t.hovertemplate) return; + var n = (e.hi || t.hoverinfo).split('+'), + i = -1 !== n.indexOf('all'), + a = -1 !== n.indexOf('lon'), + s = -1 !== n.indexOf('lat'), + l = e.lonlat, + c = []; + function u(t) { + return t + '\xb0'; + } + i || (a && s) + ? c.push('(' + u(l[0]) + ', ' + u(l[1]) + ')') + : a + ? c.push(r.lon + u(l[0])) + : s && c.push(r.lat + u(l[1])); + (i || -1 !== n.indexOf('text')) && o(e, t, c); + return c.join('
'); + })(c, g, l[0].t.labels)), + (t.hovertemplate = c.hovertemplate), + [t] + ); + } + }; + }, + { + '../../components/fx': 683, + '../../constants/numerical': 753, + '../../lib': 778, + '../scatter/get_trace_color': 1197, + }, + ], + 1258: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('../scattergeo/calc'), + plot: t('./plot'), + hoverPoints: t('./hover'), + eventData: t('./event_data'), + selectPoints: t('./select'), + styleOnSelect: function (t, e) { + e && e[0].trace._glTrace.update(e); + }, + moduleType: 'trace', + name: 'scattermapbox', + basePlotModule: t('../../plots/mapbox'), + categories: [ + 'mapbox', + 'gl', + 'symbols', + 'showLegend', + 'scatter-like', + ], + meta: {}, + }; + }, + { + '../../plots/mapbox': 885, + '../scatter/marker_colorbar': 1205, + '../scattergeo/calc': 1230, + './attributes': 1252, + './defaults': 1254, + './event_data': 1255, + './format_labels': 1256, + './hover': 1257, + './plot': 1259, + './select': 1260, + }, + ], + 1259: [ + function (t, e, r) { + 'use strict'; + var n = t('./convert'), + i = t('../../plots/mapbox/constants').traceLayerPrefix, + a = ['fill', 'line', 'circle', 'symbol']; + function o(t, e) { + (this.type = 'scattermapbox'), + (this.subplot = t), + (this.uid = e), + (this.sourceIds = { + fill: 'source-' + e + '-fill', + line: 'source-' + e + '-line', + circle: 'source-' + e + '-circle', + symbol: 'source-' + e + '-symbol', + }), + (this.layerIds = { + fill: i + e + '-fill', + line: i + e + '-line', + circle: i + e + '-circle', + symbol: i + e + '-symbol', + }), + (this.below = null); + } + var s = o.prototype; + (s.addSource = function (t, e) { + this.subplot.map.addSource(this.sourceIds[t], { + type: 'geojson', + data: e.geojson, + }); + }), + (s.setSourceData = function (t, e) { + this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson); + }), + (s.addLayer = function (t, e, r) { + this.subplot.addLayer( + { + type: t, + id: this.layerIds[t], + source: this.sourceIds[t], + layout: e.layout, + paint: e.paint, + }, + r + ); + }), + (s.update = function (t) { + var e, + r, + i, + o = this.subplot, + s = o.map, + l = n(o.gd, t), + c = o.belowLookup['trace-' + this.uid]; + if (c !== this.below) { + for (e = a.length - 1; e >= 0; e--) + (r = a[e]), s.removeLayer(this.layerIds[r]); + for (e = 0; e < a.length; e++) + (i = l[(r = a[e])]), this.addLayer(r, i, c); + this.below = c; + } + for (e = 0; e < a.length; e++) + (i = l[(r = a[e])]), + o.setOptions(this.layerIds[r], 'setLayoutProperty', i.layout), + 'visible' === i.layout.visibility && + (this.setSourceData(r, i), + o.setOptions( + this.layerIds[r], + 'setPaintProperty', + i.paint + )); + t[0].trace._glTrace = this; + }), + (s.dispose = function () { + for (var t = this.subplot.map, e = a.length - 1; e >= 0; e--) { + var r = a[e]; + t.removeLayer(this.layerIds[r]), + t.removeSource(this.sourceIds[r]); + } + }), + (e.exports = function (t, e) { + for ( + var r = e[0].trace, + i = new o(t, r.uid), + s = n(t.gd, e), + l = (i.below = t.belowLookup['trace-' + r.uid]), + c = 0; + c < a.length; + c++ + ) { + var u = a[c], + f = s[u]; + i.addSource(u, f), i.addLayer(u, f, l); + } + return (e[0].trace._glTrace = i), i; + }); + }, + { '../../plots/mapbox/constants': 883, './convert': 1253 }, + ], + 1260: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('../../constants/numerical').BADNUM; + e.exports = function (t, e) { + var r, + o = t.cd, + s = t.xaxis, + l = t.yaxis, + c = [], + u = o[0].trace; + if (!i.hasMarkers(u)) return []; + if (!1 === e) for (r = 0; r < o.length; r++) o[r].selected = 0; + else + for (r = 0; r < o.length; r++) { + var f = o[r], + h = f.lonlat; + if (h[0] !== a) { + var p = [n.modHalf(h[0], 360), h[1]], + d = [s.c2p(p), l.c2p(p)]; + e.contains(d, null, r, t) + ? (c.push({ pointNumber: r, lon: h[0], lat: h[1] }), + (f.selected = 1)) + : (f.selected = 0); + } + } + return c; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../scatter/subtypes': 1212, + }, + ], + 1261: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../plots/template_attributes').texttemplateAttrs, + a = t('../../lib/extend').extendFlat, + o = t('../scatter/attributes'), + s = t('../../plots/attributes'), + l = o.line; + e.exports = { + mode: o.mode, + r: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + theta: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + r0: { valType: 'any', dflt: 0, editType: 'calc+clearAxisTypes' }, + dr: { valType: 'number', dflt: 1, editType: 'calc' }, + theta0: { + valType: 'any', + dflt: 0, + editType: 'calc+clearAxisTypes', + }, + dtheta: { valType: 'number', editType: 'calc' }, + thetaunit: { + valType: 'enumerated', + values: ['radians', 'degrees', 'gradians'], + dflt: 'degrees', + editType: 'calc+clearAxisTypes', + }, + text: o.text, + texttemplate: i( + { editType: 'plot' }, + { keys: ['r', 'theta', 'text'] } + ), + hovertext: o.hovertext, + line: { + color: l.color, + width: l.width, + dash: l.dash, + shape: a({}, l.shape, { values: ['linear', 'spline'] }), + smoothing: l.smoothing, + editType: 'calc', + }, + connectgaps: o.connectgaps, + marker: o.marker, + cliponaxis: a({}, o.cliponaxis, { dflt: !1 }), + textposition: o.textposition, + textfont: o.textfont, + fill: a({}, o.fill, { + values: ['none', 'toself', 'tonext'], + dflt: 'none', + }), + fillcolor: o.fillcolor, + hoverinfo: a({}, s.hoverinfo, { + flags: ['r', 'theta', 'text', 'name'], + }), + hoveron: o.hoveron, + hovertemplate: n(), + selected: o.selected, + unselected: o.unselected, + }; + }, + { + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1262: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../../constants/numerical').BADNUM, + a = t('../../plots/cartesian/axes'), + o = t('../scatter/colorscale_calc'), + s = t('../scatter/arrays_to_calcdata'), + l = t('../scatter/calc_selection'), + c = t('../scatter/calc').calcMarkerSize; + e.exports = function (t, e) { + for ( + var r = t._fullLayout, + u = e.subplot, + f = r[u].radialaxis, + h = r[u].angularaxis, + p = f.makeCalcdata(e, 'r'), + d = h.makeCalcdata(e, 'theta'), + g = e._length, + m = new Array(g), + v = 0; + v < g; + v++ + ) { + var y = p[v], + x = d[v], + b = (m[v] = {}); + n(y) && n(x) ? ((b.r = y), (b.theta = x)) : (b.r = i); + } + var _ = c(e, g); + return ( + (e._extremes.x = a.findExtremes(f, p, { ppad: _ })), + o(t, e), + s(m, e), + l(m, e), + m + ); + }; + }, + { + '../../constants/numerical': 753, + '../../plots/cartesian/axes': 828, + '../scatter/arrays_to_calcdata': 1186, + '../scatter/calc': 1188, + '../scatter/calc_selection': 1189, + '../scatter/colorscale_calc': 1190, + 'fast-isnumeric': 241, + }, + ], + 1263: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('../scatter/marker_defaults'), + o = t('../scatter/line_defaults'), + s = t('../scatter/line_shape_defaults'), + l = t('../scatter/text_defaults'), + c = t('../scatter/fillcolor_defaults'), + u = t('../scatter/constants').PTS_LINESONLY, + f = t('./attributes'); + function h(t, e, r, n) { + var i, + a = n('r'), + o = n('theta'); + if (a) + o + ? (i = Math.min(a.length, o.length)) + : ((i = a.length), n('theta0'), n('dtheta')); + else { + if (!o) return 0; + (i = e.theta.length), n('r0'), n('dr'); + } + return (e._length = i), i; + } + e.exports = { + handleRThetaDefaults: h, + supplyDefaults: function (t, e, r, p) { + function d(r, i) { + return n.coerce(t, e, f, r, i); + } + var g = h(t, e, p, d); + if (g) { + d('thetaunit'), + d('mode', g < u ? 'lines+markers' : 'lines'), + d('text'), + d('hovertext'), + 'fills' !== e.hoveron && d('hovertemplate'), + i.hasLines(e) && + (o(t, e, r, p, d), s(t, e, d), d('connectgaps')), + i.hasMarkers(e) && a(t, e, r, p, d, { gradient: !0 }), + i.hasText(e) && (d('texttemplate'), l(t, e, p, d)); + var m = []; + (i.hasMarkers(e) || i.hasText(e)) && + (d('cliponaxis'), d('marker.maxdisplayed'), m.push('points')), + d('fill'), + 'none' !== e.fill && + (c(t, e, r, d), i.hasLines(e) || s(t, e, d)), + ('tonext' !== e.fill && 'toself' !== e.fill) || + m.push('fills'), + d('hoveron', m.join('+') || 'points'), + n.coerceSelectionMarkerOpacity(e, d); + } else e.visible = !1; + }, + }; + }, + { + '../../lib': 778, + '../scatter/constants': 1191, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/line_shape_defaults': 1202, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1261, + }, + ], + 1264: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'); + e.exports = function (t, e, r) { + var a, + o, + s = {}, + l = r[e.subplot]._subplot; + l + ? ((a = l.radialAxis), (o = l.angularAxis)) + : ((a = (l = r[e.subplot]).radialaxis), (o = l.angularaxis)); + var c = a.c2l(t.r); + s.rLabel = i.tickText(a, c, !0).text; + var u = 'degrees' === o.thetaunit ? n.rad2deg(t.theta) : t.theta; + return (s.thetaLabel = i.tickText(o, u, !0).text), s; + }; + }, + { '../../lib': 778, '../../plots/cartesian/axes': 828 }, + ], + 1265: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/hover'); + function i(t, e, r, n) { + var i = r.radialAxis, + a = r.angularAxis; + (i._hovertitle = 'r'), (a._hovertitle = '\u03b8'); + var o = {}; + o[e.subplot] = { _subplot: r }; + var s = e._module.formatLabels(t, e, o); + (n.rLabel = s.rLabel), (n.thetaLabel = s.thetaLabel); + var l = t.hi || e.hoverinfo, + c = []; + function u(t, e) { + c.push(t._hovertitle + ': ' + e); + } + if (!e.hovertemplate) { + var f = l.split('+'); + -1 !== f.indexOf('all') && (f = ['r', 'theta', 'text']), + -1 !== f.indexOf('r') && u(i, n.rLabel), + -1 !== f.indexOf('theta') && u(a, n.thetaLabel), + -1 !== f.indexOf('text') && + n.text && + (c.push(n.text), delete n.text), + (n.extraText = c.join('
')); + } + } + e.exports = { + hoverPoints: function (t, e, r, a) { + var o = n(t, e, r, a); + if (o && !1 !== o[0].index) { + var s = o[0]; + if (void 0 === s.index) return o; + var l = t.subplot, + c = s.cd[s.index], + u = s.trace; + if (l.isPtInside(c)) + return ( + (s.xLabelVal = void 0), + (s.yLabelVal = void 0), + i(c, u, l, s), + (s.hovertemplate = u.hovertemplate), + o + ); + } + }, + makeHoverPointText: i, + }; + }, + { '../scatter/hover': 1198 }, + ], + 1266: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'scatterpolar', + basePlotModule: t('../../plots/polar'), + categories: ['polar', 'symbols', 'showLegend', 'scatter-like'], + attributes: t('./attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + plot: t('./plot'), + style: t('../scatter/style').style, + styleOnSelect: t('../scatter/style').styleOnSelect, + hoverPoints: t('./hover').hoverPoints, + selectPoints: t('../scatter/select'), + meta: {}, + }; + }, + { + '../../plots/polar': 894, + '../scatter/marker_colorbar': 1205, + '../scatter/select': 1209, + '../scatter/style': 1211, + './attributes': 1261, + './calc': 1262, + './defaults': 1263, + './format_labels': 1264, + './hover': 1265, + './plot': 1267, + }, + ], + 1267: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/plot'), + i = t('../../constants/numerical').BADNUM; + e.exports = function (t, e, r) { + for ( + var a = e.layers.frontplot.select('g.scatterlayer'), + o = { + xaxis: e.xaxis, + yaxis: e.yaxis, + plot: e.framework, + layerClipId: e._hasClipOnAxisFalse + ? e.clipIds.forTraces + : null, + }, + s = e.radialAxis, + l = e.angularAxis, + c = 0; + c < r.length; + c++ + ) + for (var u = r[c], f = 0; f < u.length; f++) { + var h = u[f], + p = h.r; + if (p === i) h.x = h.y = i; + else { + var d = s.c2g(p), + g = l.c2g(h.theta); + (h.x = d * Math.cos(g)), (h.y = d * Math.sin(g)); + } + } + n(t, o, r, a); + }; + }, + { '../../constants/numerical': 753, '../scatter/plot': 1208 }, + ], + 1268: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatterpolar/attributes'), + i = t('../scattergl/attributes'), + a = t('../../plots/template_attributes').texttemplateAttrs; + e.exports = { + mode: n.mode, + r: n.r, + theta: n.theta, + r0: n.r0, + dr: n.dr, + theta0: n.theta0, + dtheta: n.dtheta, + thetaunit: n.thetaunit, + text: n.text, + texttemplate: a( + { editType: 'plot' }, + { keys: ['r', 'theta', 'text'] } + ), + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + line: i.line, + connectgaps: i.connectgaps, + marker: i.marker, + fill: i.fill, + fillcolor: i.fillcolor, + textposition: i.textposition, + textfont: i.textfont, + hoverinfo: n.hoverinfo, + selected: n.selected, + unselected: n.unselected, + }; + }, + { + '../../plots/template_attributes': 906, + '../scattergl/attributes': 1239, + '../scatterpolar/attributes': 1261, + }, + ], + 1269: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/colorscale_calc'), + i = t('../scatter/calc').calcMarkerSize, + a = t('../scattergl/convert'), + o = t('../../plots/cartesian/axes'), + s = t('../scattergl/constants').TOO_MANY_POINTS; + e.exports = function (t, e) { + var r = t._fullLayout, + l = e.subplot, + c = r[l].radialaxis, + u = r[l].angularaxis, + f = (e._r = c.makeCalcdata(e, 'r')), + h = (e._theta = u.makeCalcdata(e, 'theta')), + p = e._length, + d = {}; + p < f.length && (f = f.slice(0, p)), + p < h.length && (h = h.slice(0, p)), + (d.r = f), + (d.theta = h), + n(t, e); + var g, + m = (d.opts = a.style(t, e)); + return ( + p < s + ? (g = i(e, p)) + : m.marker && + (g = 2 * (m.marker.sizeAvg || Math.max(m.marker.size, 3))), + (e._extremes.x = o.findExtremes(c, f, { ppad: g })), + [{ x: !1, y: !1, t: d, trace: e }] + ); + }; + }, + { + '../../plots/cartesian/axes': 828, + '../scatter/calc': 1188, + '../scatter/colorscale_calc': 1190, + '../scattergl/constants': 1241, + '../scattergl/convert': 1242, + }, + ], + 1270: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('../scatterpolar/defaults').handleRThetaDefaults, + o = t('../scatter/marker_defaults'), + s = t('../scatter/line_defaults'), + l = t('../scatter/text_defaults'), + c = t('../scatter/fillcolor_defaults'), + u = t('../scatter/constants').PTS_LINESONLY, + f = t('./attributes'); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d = a(t, e, h, p); + d + ? (p('thetaunit'), + p('mode', d < u ? 'lines+markers' : 'lines'), + p('text'), + p('hovertext'), + 'fills' !== e.hoveron && p('hovertemplate'), + i.hasLines(e) && (s(t, e, r, h, p), p('connectgaps')), + i.hasMarkers(e) && o(t, e, r, h, p), + i.hasText(e) && (p('texttemplate'), l(t, e, h, p)), + p('fill'), + 'none' !== e.fill && c(t, e, r, p), + n.coerceSelectionMarkerOpacity(e, p)) + : (e.visible = !1); + }; + }, + { + '../../lib': 778, + '../scatter/constants': 1191, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + '../scatterpolar/defaults': 1263, + './attributes': 1268, + }, + ], + 1271: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatterpolar/format_labels'); + e.exports = function (t, e, r) { + var i = t.i; + return ( + 'r' in t || (t.r = e._r[i]), + 'theta' in t || (t.theta = e._theta[i]), + n(t, e, r) + ); + }; + }, + { '../scatterpolar/format_labels': 1264 }, + ], + 1272: [ + function (t, e, r) { + 'use strict'; + var n = t('../scattergl/hover'), + i = t('../scatterpolar/hover').makeHoverPointText; + e.exports = { + hoverPoints: function (t, e, r, a) { + var o = t.cd[0].t, + s = o.r, + l = o.theta, + c = n.hoverPoints(t, e, r, a); + if (c && !1 !== c[0].index) { + var u = c[0]; + if (void 0 === u.index) return c; + var f = t.subplot, + h = u.cd[u.index], + p = u.trace; + if ( + ((h.r = s[u.index]), (h.theta = l[u.index]), f.isPtInside(h)) + ) + return ( + (u.xLabelVal = void 0), + (u.yLabelVal = void 0), + i(h, p, f, u), + c + ); + } + }, + }; + }, + { '../scattergl/hover': 1247, '../scatterpolar/hover': 1265 }, + ], + 1273: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'scatterpolargl', + basePlotModule: t('../../plots/polar'), + categories: [ + 'gl', + 'regl', + 'polar', + 'symbols', + 'showLegend', + 'scatter-like', + ], + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + plot: t('./plot'), + hoverPoints: t('./hover').hoverPoints, + selectPoints: t('../scattergl/select'), + meta: {}, + }; + }, + { + '../../plots/polar': 894, + '../scatter/marker_colorbar': 1205, + '../scattergl/select': 1251, + './attributes': 1268, + './calc': 1269, + './defaults': 1270, + './format_labels': 1271, + './hover': 1272, + './plot': 1274, + }, + ], + 1274: [ + function (t, e, r) { + 'use strict'; + var n = t('@plotly/point-cluster'), + i = t('fast-isnumeric'), + a = t('../scattergl/plot'), + o = t('../scattergl/scene_update'), + s = t('../scattergl/convert'), + l = t('../../lib'), + c = t('../scattergl/constants').TOO_MANY_POINTS; + e.exports = function (t, e, r) { + if (r.length) { + var u = e.radialAxis, + f = e.angularAxis, + h = o(t, e); + return ( + r.forEach(function (r) { + if (r && r[0] && r[0].trace) { + var a, + o = r[0], + p = o.trace, + d = o.t, + g = p._length, + m = d.r, + v = d.theta, + y = d.opts, + x = m.slice(), + b = v.slice(); + for (a = 0; a < m.length; a++) + e.isPtInside({ r: m[a], theta: v[a] }) || + ((x[a] = NaN), (b[a] = NaN)); + var _ = new Array(2 * g), + w = Array(g), + T = Array(g); + for (a = 0; a < g; a++) { + var k, + M, + A = x[a]; + if (i(A)) { + var S = u.c2g(A), + E = f.c2g(b[a], p.thetaunit); + (k = S * Math.cos(E)), (M = S * Math.sin(E)); + } else k = M = NaN; + (w[a] = _[2 * a] = k), (T[a] = _[2 * a + 1] = M); + } + (d.tree = n(_)), + y.marker && g >= c && (y.marker.cluster = d.tree), + y.marker && + (y.markerSel.positions = + y.markerUnsel.positions = + y.marker.positions = + _), + y.line && + _.length > 1 && + l.extendFlat(y.line, s.linePositions(t, p, _)), + y.text && + (l.extendFlat( + y.text, + { positions: _ }, + s.textPosition(t, p, y.text, y.marker) + ), + l.extendFlat( + y.textSel, + { positions: _ }, + s.textPosition(t, p, y.text, y.markerSel) + ), + l.extendFlat( + y.textUnsel, + { positions: _ }, + s.textPosition(t, p, y.text, y.markerUnsel) + )), + y.fill && !h.fill2d && (h.fill2d = !0), + y.marker && !h.scatter2d && (h.scatter2d = !0), + y.line && !h.line2d && (h.line2d = !0), + y.text && !h.glText && (h.glText = !0), + h.lineOptions.push(y.line), + h.fillOptions.push(y.fill), + h.markerOptions.push(y.marker), + h.markerSelectedOptions.push(y.markerSel), + h.markerUnselectedOptions.push(y.markerUnsel), + h.textOptions.push(y.text), + h.textSelectedOptions.push(y.textSel), + h.textUnselectedOptions.push(y.textUnsel), + h.selectBatch.push([]), + h.unselectBatch.push([]), + (d.x = w), + (d.y = T), + (d.rawx = w), + (d.rawy = T), + (d.r = m), + (d.theta = v), + (d.positions = _), + (d._scene = h), + (d.index = h.count), + h.count++; + } + }), + a(t, e, r) + ); + } + }; + }, + { + '../../lib': 778, + '../scattergl/constants': 1241, + '../scattergl/convert': 1242, + '../scattergl/plot': 1249, + '../scattergl/scene_update': 1250, + '@plotly/point-cluster': 57, + 'fast-isnumeric': 241, + }, + ], + 1275: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../plots/template_attributes').texttemplateAttrs, + a = t('../scatter/attributes'), + o = t('../../plots/attributes'), + s = t('../../components/colorscale/attributes'), + l = t('../../components/drawing/attributes').dash, + c = t('../../lib/extend').extendFlat, + u = a.marker, + f = a.line, + h = u.line; + e.exports = { + a: { valType: 'data_array', editType: 'calc' }, + b: { valType: 'data_array', editType: 'calc' }, + c: { valType: 'data_array', editType: 'calc' }, + sum: { valType: 'number', dflt: 0, min: 0, editType: 'calc' }, + mode: c({}, a.mode, { dflt: 'markers' }), + text: c({}, a.text, {}), + texttemplate: i( + { editType: 'plot' }, + { keys: ['a', 'b', 'c', 'text'] } + ), + hovertext: c({}, a.hovertext, {}), + line: { + color: f.color, + width: f.width, + dash: l, + shape: c({}, f.shape, { values: ['linear', 'spline'] }), + smoothing: f.smoothing, + editType: 'calc', + }, + connectgaps: a.connectgaps, + cliponaxis: a.cliponaxis, + fill: c({}, a.fill, { + values: ['none', 'toself', 'tonext'], + dflt: 'none', + }), + fillcolor: a.fillcolor, + marker: c( + { + symbol: u.symbol, + opacity: u.opacity, + maxdisplayed: u.maxdisplayed, + size: u.size, + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + line: c({ width: h.width, editType: 'calc' }, s('marker.line')), + gradient: u.gradient, + editType: 'calc', + }, + s('marker') + ), + textfont: a.textfont, + textposition: a.textposition, + selected: a.selected, + unselected: a.unselected, + hoverinfo: c({}, o.hoverinfo, { + flags: ['a', 'b', 'c', 'text', 'name'], + }), + hoveron: a.hoveron, + hovertemplate: n(), + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../components/drawing/attributes': 664, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + }, + ], + 1276: [ + function (t, e, r) { + 'use strict'; + var n = t('fast-isnumeric'), + i = t('../scatter/colorscale_calc'), + a = t('../scatter/arrays_to_calcdata'), + o = t('../scatter/calc_selection'), + s = t('../scatter/calc').calcMarkerSize, + l = ['a', 'b', 'c'], + c = { a: ['b', 'c'], b: ['a', 'c'], c: ['a', 'b'] }; + e.exports = function (t, e) { + var r, + u, + f, + h, + p, + d, + g = t._fullLayout[e.subplot].sum, + m = e.sum || g, + v = { a: e.a, b: e.b, c: e.c }; + for (r = 0; r < l.length; r++) + if (!v[(f = l[r])]) { + for ( + p = v[c[f][0]], + d = v[c[f][1]], + h = new Array(p.length), + u = 0; + u < p.length; + u++ + ) + h[u] = m - p[u] - d[u]; + v[f] = h; + } + var y, + x, + b, + _, + w, + T, + k = e._length, + M = new Array(k); + for (r = 0; r < k; r++) + (y = v.a[r]), + (x = v.b[r]), + (b = v.c[r]), + n(y) && n(x) && n(b) + ? (1 !== (_ = g / ((y = +y) + (x = +x) + (b = +b))) && + ((y *= _), (x *= _), (b *= _)), + (T = y), + (w = b - x), + (M[r] = { x: w, y: T, a: y, b: x, c: b })) + : (M[r] = { x: !1, y: !1 }); + return s(e, k), i(t, e), a(M, e), o(M, e), M; + }; + }, + { + '../scatter/arrays_to_calcdata': 1186, + '../scatter/calc': 1188, + '../scatter/calc_selection': 1189, + '../scatter/colorscale_calc': 1190, + 'fast-isnumeric': 241, + }, + ], + 1277: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/constants'), + a = t('../scatter/subtypes'), + o = t('../scatter/marker_defaults'), + s = t('../scatter/line_defaults'), + l = t('../scatter/line_shape_defaults'), + c = t('../scatter/text_defaults'), + u = t('../scatter/fillcolor_defaults'), + f = t('./attributes'); + e.exports = function (t, e, r, h) { + function p(r, i) { + return n.coerce(t, e, f, r, i); + } + var d, + g = p('a'), + m = p('b'), + v = p('c'); + if ( + (g + ? ((d = g.length), + m + ? ((d = Math.min(d, m.length)), + v && (d = Math.min(d, v.length))) + : (d = v ? Math.min(d, v.length) : 0)) + : m && v && (d = Math.min(m.length, v.length)), + d) + ) { + (e._length = d), + p('sum'), + p('text'), + p('hovertext'), + 'fills' !== e.hoveron && p('hovertemplate'), + p('mode', d < i.PTS_LINESONLY ? 'lines+markers' : 'lines'), + a.hasLines(e) && + (s(t, e, r, h, p), l(t, e, p), p('connectgaps')), + a.hasMarkers(e) && o(t, e, r, h, p, { gradient: !0 }), + a.hasText(e) && (p('texttemplate'), c(t, e, h, p)); + var y = []; + (a.hasMarkers(e) || a.hasText(e)) && + (p('cliponaxis'), p('marker.maxdisplayed'), y.push('points')), + p('fill'), + 'none' !== e.fill && + (u(t, e, r, p), a.hasLines(e) || l(t, e, p)), + ('tonext' !== e.fill && 'toself' !== e.fill) || y.push('fills'), + p('hoveron', y.join('+') || 'points'), + n.coerceSelectionMarkerOpacity(e, p); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../scatter/constants': 1191, + '../scatter/fillcolor_defaults': 1195, + '../scatter/line_defaults': 1200, + '../scatter/line_shape_defaults': 1202, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scatter/text_defaults': 1213, + './attributes': 1275, + }, + ], + 1278: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e, r, n, i) { + if ((e.xa && (t.xaxis = e.xa), e.ya && (t.yaxis = e.ya), n[i])) { + var a = n[i]; + (t.a = a.a), (t.b = a.b), (t.c = a.c); + } else (t.a = e.a), (t.b = e.b), (t.c = e.c); + return t; + }; + }, + {}, + ], + 1279: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'); + e.exports = function (t, e, r) { + var i = {}, + a = r[e.subplot]._subplot; + return ( + (i.aLabel = n.tickText(a.aaxis, t.a, !0).text), + (i.bLabel = n.tickText(a.baxis, t.b, !0).text), + (i.cLabel = n.tickText(a.caxis, t.c, !0).text), + i + ); + }; + }, + { '../../plots/cartesian/axes': 828 }, + ], + 1280: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/hover'); + e.exports = function (t, e, r, i) { + var a = n(t, e, r, i); + if (a && !1 !== a[0].index) { + var o = a[0]; + if (void 0 === o.index) { + var s = 1 - o.y0 / t.ya._length, + l = t.xa._length, + c = (l * s) / 2, + u = l - c; + return ( + (o.x0 = Math.max(Math.min(o.x0, u), c)), + (o.x1 = Math.max(Math.min(o.x1, u), c)), + a + ); + } + var f = o.cd[o.index], + h = o.trace, + p = o.subplot; + (o.a = f.a), + (o.b = f.b), + (o.c = f.c), + (o.xLabelVal = void 0), + (o.yLabelVal = void 0); + var d = {}; + d[h.subplot] = { _subplot: p }; + var g = h._module.formatLabels(f, h, d); + (o.aLabel = g.aLabel), + (o.bLabel = g.bLabel), + (o.cLabel = g.cLabel); + var m = f.hi || h.hoverinfo, + v = []; + if (!h.hovertemplate) { + var y = m.split('+'); + -1 !== y.indexOf('all') && (y = ['a', 'b', 'c']), + -1 !== y.indexOf('a') && x(p.aaxis, o.aLabel), + -1 !== y.indexOf('b') && x(p.baxis, o.bLabel), + -1 !== y.indexOf('c') && x(p.caxis, o.cLabel); + } + return ( + (o.extraText = v.join('
')), + (o.hovertemplate = h.hovertemplate), + a + ); + } + function x(t, e) { + v.push(t._hovertitle + ': ' + e); + } + }; + }, + { '../scatter/hover': 1198 }, + ], + 1281: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + formatLabels: t('./format_labels'), + calc: t('./calc'), + plot: t('./plot'), + style: t('../scatter/style').style, + styleOnSelect: t('../scatter/style').styleOnSelect, + hoverPoints: t('./hover'), + selectPoints: t('../scatter/select'), + eventData: t('./event_data'), + moduleType: 'trace', + name: 'scatterternary', + basePlotModule: t('../../plots/ternary'), + categories: ['ternary', 'symbols', 'showLegend', 'scatter-like'], + meta: {}, + }; + }, + { + '../../plots/ternary': 907, + '../scatter/marker_colorbar': 1205, + '../scatter/select': 1209, + '../scatter/style': 1211, + './attributes': 1275, + './calc': 1276, + './defaults': 1277, + './event_data': 1278, + './format_labels': 1279, + './hover': 1280, + './plot': 1282, + }, + ], + 1282: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/plot'); + e.exports = function (t, e, r) { + var i = e.plotContainer; + i.select('.scatterlayer').selectAll('*').remove(); + var a = { + xaxis: e.xaxis, + yaxis: e.yaxis, + plot: i, + layerClipId: e._hasClipOnAxisFalse ? e.clipIdRelative : null, + }, + o = e.layers.frontplot.select('g.scatterlayer'); + n(t, a, r, o); + }; + }, + { '../scatter/plot': 1208 }, + ], + 1283: [ + function (t, e, r) { + 'use strict'; + var n = t('../scatter/attributes'), + i = t('../../components/colorscale/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../scattergl/attributes'), + s = t('../../plots/cartesian/constants').idRegex, + l = t('../../plot_api/plot_template').templatedArray, + c = t('../../lib/extend').extendFlat, + u = n.marker, + f = u.line, + h = c(i('marker.line', { editTypeOverride: 'calc' }), { + width: c({}, f.width, { editType: 'calc' }), + editType: 'calc', + }), + p = c(i('marker'), { + symbol: u.symbol, + size: c({}, u.size, { editType: 'markerSize' }), + sizeref: u.sizeref, + sizemin: u.sizemin, + sizemode: u.sizemode, + opacity: u.opacity, + colorbar: u.colorbar, + line: h, + editType: 'calc', + }); + function d(t) { + return { + valType: 'info_array', + freeLength: !0, + editType: 'calc', + items: { valType: 'subplotid', regex: s[t], editType: 'plot' }, + }; + } + (p.color.editType = p.cmin.editType = p.cmax.editType = 'style'), + (e.exports = { + dimensions: l('dimension', { + visible: { valType: 'boolean', dflt: !0, editType: 'calc' }, + label: { valType: 'string', editType: 'calc' }, + values: { + valType: 'data_array', + editType: 'calc+clearAxisTypes', + }, + axis: { + type: { + valType: 'enumerated', + values: ['linear', 'log', 'date', 'category'], + editType: 'calc+clearAxisTypes', + }, + matches: { valType: 'boolean', dflt: !1, editType: 'calc' }, + editType: 'calc+clearAxisTypes', + }, + editType: 'calc+clearAxisTypes', + }), + text: c({}, o.text, {}), + hovertext: c({}, o.hovertext, {}), + hovertemplate: a(), + marker: p, + xaxes: d('x'), + yaxes: d('y'), + diagonal: { + visible: { valType: 'boolean', dflt: !0, editType: 'calc' }, + editType: 'calc', + }, + showupperhalf: { valType: 'boolean', dflt: !0, editType: 'calc' }, + showlowerhalf: { valType: 'boolean', dflt: !0, editType: 'calc' }, + selected: { marker: o.selected.marker, editType: 'calc' }, + unselected: { marker: o.unselected.marker, editType: 'calc' }, + opacity: o.opacity, + }); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/plot_template': 817, + '../../plots/cartesian/constants': 834, + '../../plots/template_attributes': 906, + '../scatter/attributes': 1187, + '../scattergl/attributes': 1239, + }, + ], + 1284: [ + function (t, e, r) { + 'use strict'; + var n = t('regl-line2d'), + i = t('../../registry'), + a = t('../../lib/prepare_regl'), + o = t('../../plots/get_data').getModuleCalcData, + s = t('../../plots/cartesian'), + l = t('../../plots/cartesian/axis_ids').getFromId, + c = t('../../plots/cartesian/axes').shouldShowZeroLine; + function u(t, e, r) { + for ( + var n = r.matrixOptions.data.length, + i = e._visibleDims, + a = (r.viewOpts.ranges = new Array(n)), + o = 0; + o < i.length; + o++ + ) { + var s = i[o], + c = (a[o] = new Array(4)), + u = l(t, e._diag[s][0]); + u && ((c[0] = u.r2l(u.range[0])), (c[2] = u.r2l(u.range[1]))); + var f = l(t, e._diag[s][1]); + f && ((c[1] = f.r2l(f.range[0])), (c[3] = f.r2l(f.range[1]))); + } + r.selectBatch.length || r.unselectBatch.length + ? r.matrix.update({ ranges: a }, { ranges: a }) + : r.matrix.update({ ranges: a }); + } + function f(t) { + var e = t._fullLayout, + r = e._glcanvas.data()[0].regl, + i = e._splomGrid; + i || (i = e._splomGrid = n(r)), + i.update( + (function (t) { + var e, + r = t._fullLayout, + n = r._size, + i = [0, 0, r.width, r.height], + a = {}; + function o(t, e, r, n, o, s) { + var l = e[t + 'color'], + c = e[t + 'width'], + u = String(l + c); + u in a + ? a[u].data.push(NaN, NaN, r, n, o, s) + : (a[u] = { + data: [r, n, o, s], + join: 'rect', + thickness: c, + color: l, + viewport: i, + range: i, + overlay: !1, + }); + } + for (e in r._splomSubplots) { + var s, + l, + u = r._plots[e], + f = u.xaxis, + h = u.yaxis, + p = f._gridVals, + d = h._gridVals, + g = n.b + h.domain[0] * n.h, + m = -h._m, + v = -m * h.r2l(h.range[0], h.calendar); + if (f.showgrid) + for (e = 0; e < p.length; e++) + (s = f._offset + f.l2p(p[e].x)), + o('grid', f, s, g, s, g + h._length); + if (h.showgrid) + for (e = 0; e < d.length; e++) + (l = g + v + m * d[e].x), + o('grid', h, f._offset, l, f._offset + f._length, l); + c(t, f, h) && + ((s = f._offset + f.l2p(0)), + o('zeroline', f, s, g, s, g + h._length)), + c(t, h, f) && + ((l = g + v + 0), + o( + 'zeroline', + h, + f._offset, + l, + f._offset + f._length, + l + )); + } + var y = []; + for (e in a) y.push(a[e]); + return y; + })(t) + ); + } + e.exports = { + name: 'splom', + attr: s.attr, + attrRegex: s.attrRegex, + layoutAttributes: s.layoutAttributes, + supplyLayoutDefaults: s.supplyLayoutDefaults, + drawFramework: s.drawFramework, + plot: function (t) { + var e = t._fullLayout, + r = i.getModule('splom'), + n = o(t.calcdata, r)[0]; + a(t, ['ANGLE_instanced_arrays', 'OES_element_index_uint']) && + (e._hasOnlyLargeSploms && f(t), r.plot(t, {}, n)); + }, + drag: function (t) { + var e = t.calcdata, + r = t._fullLayout; + r._hasOnlyLargeSploms && f(t); + for (var n = 0; n < e.length; n++) { + var i = e[n][0].trace, + a = r._splomScenes[i.uid]; + 'splom' === i.type && a && a.matrix && u(t, i, a); + } + }, + updateGrid: f, + clean: function (t, e, r, n) { + var i, + a = {}; + if (n._splomScenes) { + for (i = 0; i < t.length; i++) { + var o = t[i]; + 'splom' === o.type && (a[o.uid] = 1); + } + for (i = 0; i < r.length; i++) { + var l = r[i]; + if (!a[l.uid]) { + var c = n._splomScenes[l.uid]; + c && c.destroy && c.destroy(), + (n._splomScenes[l.uid] = null), + delete n._splomScenes[l.uid]; + } + } + } + 0 === Object.keys(n._splomScenes || {}).length && + delete n._splomScenes, + n._splomGrid && + !e._hasOnlyLargeSploms && + n._hasOnlyLargeSploms && + (n._splomGrid.destroy(), + (n._splomGrid = null), + delete n._splomGrid), + s.clean(t, e, r, n); + }, + updateFx: s.updateFx, + toSVG: s.toSVG, + }; + }, + { + '../../lib/prepare_regl': 791, + '../../plots/cartesian': 841, + '../../plots/cartesian/axes': 828, + '../../plots/cartesian/axis_ids': 831, + '../../plots/get_data': 865, + '../../registry': 911, + 'regl-line2d': 535, + }, + ], + 1285: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axis_ids'), + a = t('../scatter/calc').calcMarkerSize, + o = t('../scatter/calc').calcAxisExpansion, + s = t('../scatter/colorscale_calc'), + l = t('../scattergl/convert').markerSelection, + c = t('../scattergl/convert').markerStyle, + u = t('./scene_update'), + f = t('../../constants/numerical').BADNUM, + h = t('../scattergl/constants').TOO_MANY_POINTS; + e.exports = function (t, e) { + var r, + p, + d, + g, + m, + v, + y = e.dimensions, + x = e._length, + b = {}, + _ = (b.cdata = []), + w = (b.data = []), + T = (e._visibleDims = []); + function k(t, r) { + for ( + var i = t.makeCalcdata( + { v: r.values, vcalendar: e.calendar }, + 'v' + ), + a = 0; + a < i.length; + a++ + ) + i[a] = i[a] === f ? NaN : i[a]; + _.push(i), w.push('log' === t.type ? n.simpleMap(i, t.c2l) : i); + } + for (r = 0; r < y.length; r++) + if ((d = y[r]).visible) { + if ( + ((g = i.getFromId(t, e._diag[r][0])), + (m = i.getFromId(t, e._diag[r][1])), + g && m && g.type !== m.type) + ) { + n.log( + 'Skipping splom dimension ' + + r + + ' with conflicting axis types' + ); + continue; + } + g + ? (k(g, d), + m && + 'category' === m.type && + (m._categories = g._categories.slice())) + : k(m, d), + T.push(r); + } + for ( + s(t, e), + n.extendFlat(b, c(e)), + v = + _.length * x > h + ? 2 * (b.sizeAvg || Math.max(b.size, 3)) + : a(e, x), + p = 0; + p < T.length; + p++ + ) + (d = y[(r = T[p])]), + (g = i.getFromId(t, e._diag[r][0]) || {}), + (m = i.getFromId(t, e._diag[r][1]) || {}), + o(t, e, g, m, _[p], _[p], v); + var M = u(t, e); + return ( + M.matrix || (M.matrix = !0), + (M.matrixOptions = b), + (M.selectedOptions = l(e, e.selected)), + (M.unselectedOptions = l(e, e.unselected)), + [{ x: !1, y: !1, t: {}, trace: e }] + ); + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/axis_ids': 831, + '../scatter/calc': 1188, + '../scatter/colorscale_calc': 1190, + '../scattergl/constants': 1241, + '../scattergl/convert': 1242, + './scene_update': 1292, + }, + ], + 1286: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/array_container_defaults'), + a = t('./attributes'), + o = t('../scatter/subtypes'), + s = t('../scatter/marker_defaults'), + l = t('../parcoords/merge_length'), + c = t('../scattergl/helpers').isOpenSymbol; + function u(t, e) { + function r(r, i) { + return n.coerce(t, e, a.dimensions, r, i); + } + r('label'); + var i = r('values'); + i && i.length ? r('visible') : (e.visible = !1), + r('axis.type'), + r('axis.matches'); + } + e.exports = function (t, e, r, f) { + function h(r, i) { + return n.coerce(t, e, a, r, i); + } + var p = i(t, e, { name: 'dimensions', handleItemDefaults: u }), + d = h('diagonal.visible'), + g = h('showupperhalf'), + m = h('showlowerhalf'); + if (l(e, p, 'values') && (d || g || m)) { + h('text'), h('hovertext'), h('hovertemplate'), s(t, e, r, f, h); + var v = c(e.marker.symbol), + y = o.isBubble(e); + h('marker.line.width', v || y ? 1 : 0), + (function (t, e, r, n) { + var i, + a, + o = e.dimensions, + s = o.length, + l = e.showupperhalf, + c = e.showlowerhalf, + u = e.diagonal.visible, + f = new Array(s), + h = new Array(s); + for (i = 0; i < s; i++) { + var p = i ? i + 1 : ''; + (f[i] = 'x' + p), (h[i] = 'y' + p); + } + var d = n('xaxes', f), + g = n('yaxes', h), + m = (e._diag = new Array(s)); + (e._xaxes = {}), (e._yaxes = {}); + var v = [], + y = []; + function x(t, n, i, a) { + if (t) { + var o = t.charAt(0), + s = r._splomAxes[o]; + if ( + ((e['_' + o + 'axes'][t] = 1), a.push(t), !(t in s)) + ) { + var l = (s[t] = {}); + i && + ((l.label = i.label || ''), + i.visible && + i.axis && + (i.axis.type && (l.type = i.axis.type), + i.axis.matches && (l.matches = n))); + } + } + } + var b = !u && !c, + _ = !u && !l; + for (e._axesDim = {}, i = 0; i < s; i++) { + var w = o[i], + T = 0 === i, + k = i === s - 1, + M = (T && b) || (k && _) ? void 0 : d[i], + A = (T && _) || (k && b) ? void 0 : g[i]; + x(M, A, w, v), + x(A, M, w, y), + (m[i] = [M, A]), + (e._axesDim[M] = i), + (e._axesDim[A] = i); + } + for (i = 0; i < v.length; i++) + for (a = 0; a < y.length; a++) { + var S = v[i] + y[a]; + (i > a && l) || (i < a && c) + ? (r._splomSubplots[S] = 1) + : i !== a || + (!u && c && l) || + (r._splomSubplots[S] = 1); + } + (!c || (!u && l && c)) && + ((r._splomGridDflt.xside = 'bottom'), + (r._splomGridDflt.yside = 'left')); + })(0, e, f, h), + n.coerceSelectionMarkerOpacity(e, h); + } else e.visible = !1; + }; + }, + { + '../../lib': 778, + '../../plots/array_container_defaults': 823, + '../parcoords/merge_length': 1158, + '../scatter/marker_defaults': 1206, + '../scatter/subtypes': 1212, + '../scattergl/helpers': 1246, + './attributes': 1283, + }, + ], + 1287: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/colorscale_calc'), + a = t('../scattergl/convert').markerStyle; + e.exports = function (t, e) { + var r = e.trace, + o = t._fullLayout._splomScenes[r.uid]; + if (o) { + i(t, r), n.extendFlat(o.matrixOptions, a(r)); + var s = n.extendFlat({}, o.matrixOptions, o.viewOpts); + o.matrix.update(s, null); + } + }; + }, + { + '../../lib': 778, + '../scatter/colorscale_calc': 1190, + '../scattergl/convert': 1242, + }, + ], + 1288: [ + function (t, e, r) { + 'use strict'; + r.getDimIndex = function (t, e) { + for ( + var r = e._id, + n = { x: 0, y: 1 }[r.charAt(0)], + i = t._visibleDims, + a = 0; + a < i.length; + a++ + ) { + var o = i[a]; + if (t._diag[o][n] === r) return a; + } + return !1; + }; + }, + {}, + ], + 1289: [ + function (t, e, r) { + 'use strict'; + var n = t('./helpers'), + i = t('../scattergl/hover').calcHover; + e.exports = { + hoverPoints: function (t, e, r) { + var a = t.cd[0].trace, + o = t.scene.matrixOptions.cdata, + s = t.xa, + l = t.ya, + c = s.c2p(e), + u = l.c2p(r), + f = t.distance, + h = n.getDimIndex(a, s), + p = n.getDimIndex(a, l); + if (!1 === h || !1 === p) return [t]; + for ( + var d, g, m = o[h], v = o[p], y = f, x = 0; + x < m.length; + x++ + ) { + var b = m[x], + _ = v[x], + w = s.c2p(b) - c, + T = l.c2p(_) - u, + k = Math.sqrt(w * w + T * T); + k < y && ((y = g = k), (d = x)); + } + return ( + (t.index = d), + (t.distance = y), + (t.dxy = g), + void 0 === d ? [t] : [i(t, m, v, a)] + ); + }, + }; + }, + { '../scattergl/hover': 1247, './helpers': 1288 }, + ], + 1290: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../components/grid'); + (e.exports = { + moduleType: 'trace', + name: 'splom', + basePlotModule: t('./base_plot'), + categories: [ + 'gl', + 'regl', + 'cartesian', + 'symbols', + 'showLegend', + 'scatter-like', + ], + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: t('../scatter/marker_colorbar'), + calc: t('./calc'), + plot: t('./plot'), + hoverPoints: t('./hover').hoverPoints, + selectPoints: t('./select'), + editStyle: t('./edit_style'), + meta: {}, + }), + n.register(i); + }, + { + '../../components/grid': 687, + '../../registry': 911, + '../scatter/marker_colorbar': 1205, + './attributes': 1283, + './base_plot': 1284, + './calc': 1285, + './defaults': 1286, + './edit_style': 1287, + './hover': 1289, + './plot': 1291, + './select': 1293, + }, + ], + 1291: [ + function (t, e, r) { + 'use strict'; + var n = t('regl-splom'), + i = t('../../lib'), + a = t('../../plots/cartesian/axis_ids'), + o = t('../../components/dragelement/helpers').selectMode; + function s(t, e) { + var r, + s, + l, + c, + u, + f = t._fullLayout, + h = f._size, + p = e.trace, + d = e.t, + g = f._splomScenes[p.uid], + m = g.matrixOptions, + v = m.cdata, + y = f._glcanvas.data()[0].regl, + x = f.dragmode; + if (0 !== v.length) { + (m.lower = p.showupperhalf), + (m.upper = p.showlowerhalf), + (m.diagonal = p.diagonal.visible); + var b = p._visibleDims, + _ = v.length, + w = (g.viewOpts = {}); + for ( + w.ranges = new Array(_), w.domains = new Array(_), u = 0; + u < b.length; + u++ + ) { + l = b[u]; + var T = (w.ranges[u] = new Array(4)), + k = (w.domains[u] = new Array(4)); + (r = a.getFromId(t, p._diag[l][0])) && + ((T[0] = r._rl[0]), + (T[2] = r._rl[1]), + (k[0] = r.domain[0]), + (k[2] = r.domain[1])), + (s = a.getFromId(t, p._diag[l][1])) && + ((T[1] = s._rl[0]), + (T[3] = s._rl[1]), + (k[1] = s.domain[0]), + (k[3] = s.domain[1])); + } + (w.viewport = [h.l, h.b, h.w + h.l, h.h + h.b]), + !0 === g.matrix && (g.matrix = n(y)); + var M = f.clickmode.indexOf('select') > -1, + A = !0; + if (o(x) || !!p.selectedpoints || M) { + var S = p._length; + if (p.selectedpoints) { + g.selectBatch = p.selectedpoints; + var E = p.selectedpoints, + C = {}; + for (l = 0; l < E.length; l++) C[E[l]] = !0; + var L = []; + for (l = 0; l < S; l++) C[l] || L.push(l); + g.unselectBatch = L; + } + var I = (d.xpx = new Array(_)), + P = (d.ypx = new Array(_)); + for (u = 0; u < b.length; u++) { + if (((l = b[u]), (r = a.getFromId(t, p._diag[l][0])))) + for (I[u] = new Array(S), c = 0; c < S; c++) + I[u][c] = r.c2p(v[u][c]); + if ((s = a.getFromId(t, p._diag[l][1]))) + for (P[u] = new Array(S), c = 0; c < S; c++) + P[u][c] = s.c2p(v[u][c]); + } + if (g.selectBatch.length || g.unselectBatch.length) { + var z = i.extendFlat({}, m, g.unselectedOptions, w), + O = i.extendFlat({}, m, g.selectedOptions, w); + g.matrix.update(z, O), (A = !1); + } + } else d.xpx = d.ypx = null; + if (A) { + var D = i.extendFlat({}, m, w); + g.matrix.update(D, null); + } + } + } + e.exports = function (t, e, r) { + if (r.length) for (var n = 0; n < r.length; n++) s(t, r[n][0]); + }; + }, + { + '../../components/dragelement/helpers': 661, + '../../lib': 778, + '../../plots/cartesian/axis_ids': 831, + 'regl-splom': 539, + }, + ], + 1292: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'); + e.exports = function (t, e) { + var r = t._fullLayout, + i = e.uid, + a = r._splomScenes; + a || (a = r._splomScenes = {}); + var o = { dirty: !0, selectBatch: [], unselectBatch: [] }, + s = a[e.uid]; + return ( + s || + (((s = a[i] = + n.extendFlat({}, o, { + matrix: !1, + selectBatch: [], + unselectBatch: [], + })).draw = function () { + s.matrix && + s.matrix.draw && + (s.selectBatch.length || s.unselectBatch.length + ? s.matrix.draw(s.unselectBatch, s.selectBatch) + : s.matrix.draw()), + (s.dirty = !1); + }), + (s.destroy = function () { + s.matrix && s.matrix.destroy && s.matrix.destroy(), + (s.matrixOptions = null), + (s.selectBatch = null), + (s.unselectBatch = null), + (s = null); + })), + s.dirty || n.extendFlat(s, o), + s + ); + }; + }, + { '../../lib': 778 }, + ], + 1293: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../scatter/subtypes'), + a = t('./helpers'); + e.exports = function (t, e) { + var r = t.cd, + o = r[0].trace, + s = r[0].t, + l = t.scene, + c = l.matrixOptions.cdata, + u = t.xaxis, + f = t.yaxis, + h = []; + if (!l) return h; + var p = !i.hasMarkers(o) && !i.hasText(o); + if (!0 !== o.visible || p) return h; + var d = a.getDimIndex(o, u), + g = a.getDimIndex(o, f); + if (!1 === d || !1 === g) return h; + var m = s.xpx[d], + v = s.ypx[g], + y = c[d], + x = c[g], + b = [], + _ = []; + if (!1 !== e && !e.degenerate) + for (var w = 0; w < y.length; w++) + e.contains([m[w], v[w]], null, w, t) + ? (b.push(w), h.push({ pointNumber: w, x: y[w], y: x[w] })) + : _.push(w); + var T = l.matrixOptions; + return ( + b.length || _.length + ? l.selectBatch.length || + l.unselectBatch.length || + l.matrix.update( + l.unselectedOptions, + n.extendFlat({}, T, l.selectedOptions, l.viewOpts) + ) + : l.matrix.update(T, null), + (l.selectBatch = b), + (l.unselectBatch = _), + h + ); + }; + }, + { '../../lib': 778, '../scatter/subtypes': 1212, './helpers': 1288 }, + ], + 1294: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../mesh3d/attributes'), + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat, + l = { + x: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + y: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + z: { valType: 'data_array', editType: 'calc+clearAxisTypes' }, + u: { valType: 'data_array', editType: 'calc' }, + v: { valType: 'data_array', editType: 'calc' }, + w: { valType: 'data_array', editType: 'calc' }, + starts: { + x: { valType: 'data_array', editType: 'calc' }, + y: { valType: 'data_array', editType: 'calc' }, + z: { valType: 'data_array', editType: 'calc' }, + editType: 'calc', + }, + maxdisplayed: { + valType: 'integer', + min: 0, + dflt: 1e3, + editType: 'calc', + }, + sizeref: { valType: 'number', editType: 'calc', min: 0, dflt: 1 }, + text: { valType: 'string', dflt: '', editType: 'calc' }, + hovertext: { valType: 'string', dflt: '', editType: 'calc' }, + hovertemplate: i( + { editType: 'calc' }, + { + keys: [ + 'tubex', + 'tubey', + 'tubez', + 'tubeu', + 'tubev', + 'tubew', + 'norm', + 'divergence', + ], + } + ), + showlegend: s({}, o.showlegend, { dflt: !1 }), + }; + s( + l, + n('', { + colorAttr: 'u/v/w norm', + showScaleDflt: !0, + editTypeOverride: 'calc', + }) + ); + ['opacity', 'lightposition', 'lighting'].forEach(function (t) { + l[t] = a[t]; + }), + (l.hoverinfo = s({}, o.hoverinfo, { + editType: 'calc', + flags: [ + 'x', + 'y', + 'z', + 'u', + 'v', + 'w', + 'norm', + 'divergence', + 'text', + 'name', + ], + dflt: 'x+y+z+norm+text+name', + })), + (l.transforms = void 0), + (e.exports = l); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../mesh3d/attributes': 1128, + }, + ], + 1295: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/calc'); + function a(t) { + var e, + r, + i, + a, + s, + l, + c, + u, + f, + h, + p, + d, + g = t._x, + m = t._y, + v = t._z, + y = t._len, + x = -1 / 0, + b = 1 / 0, + _ = -1 / 0, + w = 1 / 0, + T = -1 / 0, + k = 1 / 0, + M = ''; + for ( + y && ((c = g[0]), (f = m[0]), (p = v[0])), + y > 1 && ((u = g[y - 1]), (h = m[y - 1]), (d = v[y - 1])), + e = 0; + e < y; + e++ + ) + (x = Math.max(x, g[e])), + (b = Math.min(b, g[e])), + (_ = Math.max(_, m[e])), + (w = Math.min(w, m[e])), + (T = Math.max(T, v[e])), + (k = Math.min(k, v[e])), + a || g[e] === c || ((a = !0), (M += 'x')), + s || m[e] === f || ((s = !0), (M += 'y')), + l || v[e] === p || ((l = !0), (M += 'z')); + a || (M += 'x'), s || (M += 'y'), l || (M += 'z'); + var A = o(t._x), + S = o(t._y), + E = o(t._z); + M = (M = (M = M.replace('x', (c > u ? '-' : '+') + 'x')).replace( + 'y', + (f > h ? '-' : '+') + 'y' + )).replace('z', (p > d ? '-' : '+') + 'z'); + var C = function () { + (y = 0), (A = []), (S = []), (E = []); + }; + (!y || y < A.length * S.length * E.length) && C(); + var L = function (t) { + return 'x' === t ? g : 'y' === t ? m : v; + }, + I = function (t) { + return 'x' === t ? A : 'y' === t ? S : E; + }, + P = function (t) { + return t[y - 1] < t[0] ? -1 : 1; + }, + z = L(M[1]), + O = L(M[3]), + D = L(M[5]), + R = I(M[1]).length, + F = I(M[3]).length, + B = I(M[5]).length, + N = !1, + j = function (t, e, r) { + return R * (F * t + e) + r; + }, + U = P(L(M[1])), + V = P(L(M[3])), + q = P(L(M[5])); + for (e = 0; e < B - 1; e++) { + for (r = 0; r < F - 1; r++) { + for (i = 0; i < R - 1; i++) { + var H = j(e, r, i), + G = j(e, r, i + 1), + Y = j(e, r + 1, i), + W = j(e + 1, r, i); + if ( + ((z[H] * U < z[G] * U && + O[H] * V < O[Y] * V && + D[H] * q < D[W] * q) || + (N = !0), + N) + ) + break; + } + if (N) break; + } + if (N) break; + } + return ( + N && + (n.warn( + 'Encountered arbitrary coordinates! Unable to input data grid.' + ), + C()), + { + xMin: b, + yMin: w, + zMin: k, + xMax: x, + yMax: _, + zMax: T, + Xs: A, + Ys: S, + Zs: E, + len: y, + fill: M, + } + ); + } + function o(t) { + return n.distinctVals(t).vals; + } + function s(t, e) { + if ((void 0 === e && (e = t.length), n.isTypedArray(t))) + return t.subarray(0, e); + for (var r = [], i = 0; i < e; i++) r[i] = +t[i]; + return r; + } + e.exports = { + calc: function (t, e) { + (e._len = Math.min( + e.u.length, + e.v.length, + e.w.length, + e.x.length, + e.y.length, + e.z.length + )), + (e._u = s(e.u, e._len)), + (e._v = s(e.v, e._len)), + (e._w = s(e.w, e._len)), + (e._x = s(e.x, e._len)), + (e._y = s(e.y, e._len)), + (e._z = s(e.z, e._len)); + var r = a(e); + (e._gridFill = r.fill), + (e._Xs = r.Xs), + (e._Ys = r.Ys), + (e._Zs = r.Zs), + (e._len = r.len); + var n, + o, + l, + c = 0; + e.starts && + ((n = s(e.starts.x || [])), + (o = s(e.starts.y || [])), + (l = s(e.starts.z || [])), + (c = Math.min(n.length, o.length, l.length))), + (e._startsX = n || []), + (e._startsY = o || []), + (e._startsZ = l || []); + var u, + f = 0, + h = 1 / 0; + for (u = 0; u < e._len; u++) { + var p = e._u[u], + d = e._v[u], + g = e._w[u], + m = Math.sqrt(p * p + d * d + g * g); + (f = Math.max(f, m)), (h = Math.min(h, m)); + } + for ( + i(t, e, { vals: [h, f], containerStr: '', cLetter: 'c' }), + u = 0; + u < c; + u++ + ) { + var v = n[u]; + (r.xMax = Math.max(r.xMax, v)), (r.xMin = Math.min(r.xMin, v)); + var y = o[u]; + (r.yMax = Math.max(r.yMax, y)), (r.yMin = Math.min(r.yMin, y)); + var x = l[u]; + (r.zMax = Math.max(r.zMax, x)), (r.zMin = Math.min(r.zMin, x)); + } + (e._slen = c), + (e._normMax = f), + (e._xbnds = [r.xMin, r.xMax]), + (e._ybnds = [r.yMin, r.yMax]), + (e._zbnds = [r.zMin, r.zMax]); + }, + filter: s, + processGrid: a, + }; + }, + { '../../components/colorscale/calc': 651, '../../lib': 778 }, + ], + 1296: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-streamtube3d'), + i = n.createTubeMesh, + a = t('../../lib'), + o = t('../../lib/gl_format_color').parseColorScale, + s = t('../../components/colorscale').extractOpts, + l = t('../../plots/gl3d/zip3'), + c = { xaxis: 0, yaxis: 1, zaxis: 2 }; + function u(t, e) { + (this.scene = t), + (this.uid = e), + (this.mesh = null), + (this.data = null); + } + var f = u.prototype; + function h(t) { + var e = t.length; + return e > 2 + ? t.slice(1, e - 1) + : 2 === e + ? [(t[0] + t[1]) / 2] + : t; + } + function p(t) { + var e = t.length; + return 1 === e ? [0.5, 0.5] : [t[1] - t[0], t[e - 1] - t[e - 2]]; + } + function d(t, e) { + var r = t.fullSceneLayout, + i = t.dataScale, + u = e._len, + f = {}; + function d(t, e) { + var n = r[e], + o = i[c[e]]; + return a.simpleMap(t, function (t) { + return n.d2l(t) * o; + }); + } + if ( + ((f.vectors = l( + d(e._u, 'xaxis'), + d(e._v, 'yaxis'), + d(e._w, 'zaxis'), + u + )), + !u) + ) + return { positions: [], cells: [] }; + var g = d(e._Xs, 'xaxis'), + m = d(e._Ys, 'yaxis'), + v = d(e._Zs, 'zaxis'); + if (((f.meshgrid = [g, m, v]), (f.gridFill = e._gridFill), e._slen)) + f.startingPositions = l( + d(e._startsX, 'xaxis'), + d(e._startsY, 'yaxis'), + d(e._startsZ, 'zaxis') + ); + else { + for ( + var y = m[0], + x = h(g), + b = h(v), + _ = new Array(x.length * b.length), + w = 0, + T = 0; + T < x.length; + T++ + ) + for (var k = 0; k < b.length; k++) _[w++] = [x[T], y, b[k]]; + f.startingPositions = _; + } + (f.colormap = o(e)), + (f.tubeSize = e.sizeref), + (f.maxLength = e.maxdisplayed); + var M = d(e._xbnds, 'xaxis'), + A = d(e._ybnds, 'yaxis'), + S = d(e._zbnds, 'zaxis'), + E = p(g), + C = p(m), + L = p(v), + I = [ + [M[0] - E[0], A[0] - C[0], S[0] - L[0]], + [M[1] + E[1], A[1] + C[1], S[1] + L[1]], + ], + P = n(f, I), + z = s(e); + P.vertexIntensityBounds = [z.min / e._normMax, z.max / e._normMax]; + var O = e.lightposition; + return ( + (P.lightPosition = [O.x, O.y, O.z]), + (P.ambient = e.lighting.ambient), + (P.diffuse = e.lighting.diffuse), + (P.specular = e.lighting.specular), + (P.roughness = e.lighting.roughness), + (P.fresnel = e.lighting.fresnel), + (P.opacity = e.opacity), + (e._pad = P.tubeScale * e.sizeref * 2), + P + ); + } + (f.handlePick = function (t) { + var e = this.scene.fullSceneLayout, + r = this.scene.dataScale; + function n(t, n) { + var i = e[n], + a = r[c[n]]; + return i.l2c(t) / a; + } + if (t.object === this.mesh) { + var i = t.data.position, + a = t.data.velocity; + return ( + (t.traceCoordinate = [ + n(i[0], 'xaxis'), + n(i[1], 'yaxis'), + n(i[2], 'zaxis'), + n(a[0], 'xaxis'), + n(a[1], 'yaxis'), + n(a[2], 'zaxis'), + t.data.intensity * this.data._normMax, + t.data.divergence, + ]), + (t.textLabel = this.data.hovertext || this.data.text), + !0 + ); + } + }), + (f.update = function (t) { + this.data = t; + var e = d(this.scene, t); + this.mesh.update(e); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + n = d(t, e), + a = i(r, n), + o = new u(t, e.uid); + return ( + (o.mesh = a), (o.data = e), (a._trace = o), t.glplot.add(a), o + ); + }); + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../lib/gl_format_color': 774, + '../../plots/gl3d/zip3': 881, + 'gl-streamtube3d': 348, + }, + ], + 1297: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/colorscale/defaults'), + a = t('./attributes'); + e.exports = function (t, e, r, o) { + function s(r, i) { + return n.coerce(t, e, a, r, i); + } + var l = s('u'), + c = s('v'), + u = s('w'), + f = s('x'), + h = s('y'), + p = s('z'); + l && + l.length && + c && + c.length && + u && + u.length && + f && + f.length && + h && + h.length && + p && + p.length + ? (s('starts.x'), + s('starts.y'), + s('starts.z'), + s('maxdisplayed'), + s('sizeref'), + s('lighting.ambient'), + s('lighting.diffuse'), + s('lighting.specular'), + s('lighting.roughness'), + s('lighting.fresnel'), + s('lightposition.x'), + s('lightposition.y'), + s('lightposition.z'), + i(t, e, o, s, { prefix: '', cLetter: 'c' }), + s('text'), + s('hovertext'), + s('hovertemplate'), + (e._length = null)) + : (e.visible = !1); + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + './attributes': 1294, + }, + ], + 1298: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'streamtube', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'showLegend'], + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + colorbar: { min: 'cmin', max: 'cmax' }, + calc: t('./calc').calc, + plot: t('./convert'), + eventData: function (t, e) { + return ( + (t.tubex = t.x), + (t.tubey = t.y), + (t.tubez = t.z), + (t.tubeu = e.traceCoordinate[3]), + (t.tubev = e.traceCoordinate[4]), + (t.tubew = e.traceCoordinate[5]), + (t.norm = e.traceCoordinate[6]), + (t.divergence = e.traceCoordinate[7]), + delete t.x, + delete t.y, + delete t.z, + t + ); + }, + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + './attributes': 1294, + './calc': 1295, + './convert': 1296, + './defaults': 1297, + }, + ], + 1299: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/attributes'), + i = t('../../plots/template_attributes').hovertemplateAttrs, + a = t('../../plots/template_attributes').texttemplateAttrs, + o = t('../../components/colorscale/attributes'), + s = t('../../plots/domain').attributes, + l = t('../pie/attributes'), + c = t('./constants'), + u = t('../../lib/extend').extendFlat; + e.exports = { + labels: { valType: 'data_array', editType: 'calc' }, + parents: { valType: 'data_array', editType: 'calc' }, + values: { valType: 'data_array', editType: 'calc' }, + branchvalues: { + valType: 'enumerated', + values: ['remainder', 'total'], + dflt: 'remainder', + editType: 'calc', + }, + count: { + valType: 'flaglist', + flags: ['branches', 'leaves'], + dflt: 'leaves', + editType: 'calc', + }, + level: { valType: 'any', editType: 'plot', anim: !0 }, + maxdepth: { valType: 'integer', editType: 'plot', dflt: -1 }, + marker: u( + { + colors: { valType: 'data_array', editType: 'calc' }, + line: { + color: u({}, l.marker.line.color, { dflt: null }), + width: u({}, l.marker.line.width, { dflt: 1 }), + editType: 'calc', + }, + editType: 'calc', + }, + o('marker', { colorAttr: 'colors', anim: !1 }) + ), + leaf: { + opacity: { valType: 'number', editType: 'style', min: 0, max: 1 }, + editType: 'plot', + }, + text: l.text, + textinfo: { + valType: 'flaglist', + flags: [ + 'label', + 'text', + 'value', + 'current path', + 'percent root', + 'percent entry', + 'percent parent', + ], + extras: ['none'], + editType: 'plot', + }, + texttemplate: a( + { editType: 'plot' }, + { keys: c.eventDataKeys.concat(['label', 'value']) } + ), + hovertext: l.hovertext, + hoverinfo: u({}, n.hoverinfo, { + flags: [ + 'label', + 'text', + 'value', + 'name', + 'current path', + 'percent root', + 'percent entry', + 'percent parent', + ], + dflt: 'label+text+value+name', + }), + hovertemplate: i({}, { keys: c.eventDataKeys }), + textfont: l.textfont, + insidetextorientation: l.insidetextorientation, + insidetextfont: l.insidetextfont, + outsidetextfont: u({}, l.outsidetextfont, {}), + rotation: { valType: 'angle', dflt: 0, editType: 'plot' }, + sort: l.sort, + root: { + color: { + valType: 'color', + editType: 'calc', + dflt: 'rgba(0,0,0,0)', + }, + editType: 'calc', + }, + domain: s({ name: 'sunburst', trace: !0, editType: 'calc' }), + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/domain': 855, + '../../plots/template_attributes': 906, + '../pie/attributes': 1161, + './constants': 1302, + }, + ], + 1300: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/plots'); + (r.name = 'sunburst'), + (r.plot = function (t, e, i, a) { + n.plotBasePlot(r.name, t, e, i, a); + }), + (r.clean = function (t, e, i, a) { + n.cleanBasePlot(r.name, t, e, i, a); + }); + }, + { '../../plots/plots': 891 }, + ], + 1301: [ + function (t, e, r) { + 'use strict'; + var n = t('d3-hierarchy'), + i = t('fast-isnumeric'), + a = t('../../lib'), + o = t('../../components/colorscale').makeColorScaleFuncFromTrace, + s = t('../pie/calc').makePullColorFn, + l = t('../pie/calc').generateExtendedColors, + c = t('../../components/colorscale').calc, + u = t('../../constants/numerical').ALMOST_EQUAL, + f = {}, + h = {}; + (r.calc = function (t, e) { + var r, + l, + f, + h, + p, + d, + g = t._fullLayout, + m = e.ids, + v = a.isArrayOrTypedArray(m), + y = e.labels, + x = e.parents, + b = e.values, + _ = a.isArrayOrTypedArray(b), + w = [], + T = {}, + k = {}, + M = function (t) { + return t || 'number' == typeof t; + }, + A = function (t) { + return !_ || (i(b[t]) && b[t] >= 0); + }; + v + ? ((r = Math.min(m.length, x.length)), + (l = function (t) { + return M(m[t]) && A(t); + }), + (f = function (t) { + return String(m[t]); + })) + : ((r = Math.min(y.length, x.length)), + (l = function (t) { + return M(y[t]) && A(t); + }), + (f = function (t) { + return String(y[t]); + })), + _ && (r = Math.min(r, b.length)); + for (var S = 0; S < r; S++) + if (l(S)) { + var E = f(S), + C = M(x[S]) ? String(x[S]) : '', + L = { + i: S, + id: E, + pid: C, + label: M(y[S]) ? String(y[S]) : '', + }; + _ && (L.v = +b[S]), + w.push(L), + (p = E), + T[(h = C)] ? T[h].push(p) : (T[h] = [p]), + (k[p] = 1); + } + if (T['']) { + if (T[''].length > 1) { + for (var I = a.randstr(), P = 0; P < w.length; P++) + '' === w[P].pid && (w[P].pid = I); + w.unshift({ hasMultipleRoots: !0, id: I, pid: '', label: '' }); + } + } else { + var z, + O = []; + for (z in T) k[z] || O.push(z); + if (1 !== O.length) + return a.warn( + [ + 'Multiple implied roots, cannot build', + e.type, + 'hierarchy of', + e.name + '.', + 'These roots include:', + O.join(', '), + ].join(' ') + ); + (z = O[0]), + w.unshift({ hasImpliedRoot: !0, id: z, pid: '', label: z }); + } + try { + d = n + .stratify() + .id(function (t) { + return t.id; + }) + .parentId(function (t) { + return t.pid; + })(w); + } catch (t) { + return a.warn( + [ + 'Failed to build', + e.type, + 'hierarchy of', + e.name + '.', + 'Error:', + t.message, + ].join(' ') + ); + } + var D = n.hierarchy(d), + R = !1; + if (_) + switch (e.branchvalues) { + case 'remainder': + D.sum(function (t) { + return t.data.v; + }); + break; + case 'total': + D.each(function (t) { + var r = t.data.data, + n = r.v; + if (t.children) { + var i = t.children.reduce(function (t, e) { + return t + e.data.data.v; + }, 0); + if ( + ((r.hasImpliedRoot || r.hasMultipleRoots) && (n = i), + n < i * u) + ) + return ( + (R = !0), + a.warn( + [ + 'Total value for node', + t.data.data.id, + 'of', + e.name, + 'is smaller than the sum of its children.', + '\nparent value =', + n, + '\nchildren sum =', + i, + ].join(' ') + ) + ); + } + t.value = n; + }); + } + else + !(function t(e, r, n) { + var i = 0, + a = e.children; + if (a) { + for (var o = a.length, s = 0; s < o; s++) i += t(a[s], r, n); + n.branches && i++; + } else n.leaves && i++; + (e.value = e.data.data.value = i), + r._values || (r._values = []); + return (r._values[e.data.data.i] = i), i; + })(D, e, { + branches: -1 !== e.count.indexOf('branches'), + leaves: -1 !== e.count.indexOf('leaves'), + }); + if (!R) { + var F, B; + e.sort && + D.sort(function (t, e) { + return e.value - t.value; + }); + var N = e.marker.colors || [], + j = !!N.length; + return ( + e._hasColorscale + ? (j || (N = _ ? e.values : e._values), + c(t, e, { vals: N, containerStr: 'marker', cLetter: 'c' }), + (B = o(e.marker))) + : (F = s(g['_' + e.type + 'colormap'])), + D.each(function (t) { + var r = t.data.data; + r.color = e._hasColorscale ? B(N[r.i]) : F(N[r.i], r.id); + }), + (w[0].hierarchy = D), + w + ); + } + }), + (r._runCrossTraceCalc = function (t, e) { + var r = e._fullLayout, + n = e.calcdata, + i = r[t + 'colorway'], + a = r['_' + t + 'colormap']; + r['extend' + t + 'colors'] && (i = l(i, 'treemap' === t ? h : f)); + var o, + s = 0; + function c(t) { + var e = t.data.data, + r = e.id; + !1 === e.color && + (a[r] + ? (e.color = a[r]) + : t.parent + ? t.parent.parent + ? (e.color = t.parent.data.data.color) + : ((a[r] = e.color = i[s % i.length]), s++) + : (e.color = o)); + } + for (var u = 0; u < n.length; u++) { + var p = n[u][0]; + p.trace.type === t && + p.hierarchy && + ((o = p.trace.root.color), p.hierarchy.each(c)); + } + }), + (r.crossTraceCalc = function (t) { + return r._runCrossTraceCalc('sunburst', t); + }); + }, + { + '../../components/colorscale': 655, + '../../constants/numerical': 753, + '../../lib': 778, + '../pie/calc': 1163, + 'd3-hierarchy': 161, + 'fast-isnumeric': 241, + }, + ], + 1302: [ + function (t, e, r) { + 'use strict'; + e.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: 'linear', + eventDataKeys: [ + 'currentPath', + 'root', + 'entry', + 'percentRoot', + 'percentEntry', + 'percentParent', + ], + }; + }, + {}, + ], + 1303: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../plots/domain').defaults, + o = t('../bar/defaults').handleText, + s = t('../../components/colorscale'), + l = s.hasColorscale, + c = s.handleDefaults; + e.exports = function (t, e, r, s) { + function u(r, a) { + return n.coerce(t, e, i, r, a); + } + var f = u('labels'), + h = u('parents'); + if (f && f.length && h && h.length) { + var p = u('values'); + p && p.length ? u('branchvalues') : u('count'), + u('level'), + u('maxdepth'), + u('marker.line.width') && + u('marker.line.color', s.paper_bgcolor), + u('marker.colors'); + var d = (e._hasColorscale = + l(t, 'marker', 'colors') || (t.marker || {}).coloraxis); + d && c(t, e, s, u, { prefix: 'marker.', cLetter: 'c' }), + u('leaf.opacity', d ? 1 : 0.7); + var g = u('text'); + u('texttemplate'), + e.texttemplate || + u('textinfo', Array.isArray(g) ? 'text+label' : 'label'), + u('hovertext'), + u('hovertemplate'); + o(t, e, s, u, 'auto', { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + u('insidetextorientation'), + u('sort'), + u('rotation'), + u('root.color'), + a(e, s, u), + (e._length = null); + } else e.visible = !1; + }; + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../plots/domain': 855, + '../bar/defaults': 925, + './attributes': 1299, + }, + ], + 1304: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../registry'), + a = t('../../components/fx/helpers').appendArrayPointValue, + o = t('../../components/fx'), + s = t('../../lib'), + l = t('../../lib/events'), + c = t('./helpers'), + u = t('../pie/helpers').formatPieValue; + function f(t, e, r) { + for ( + var n = t.data.data, + i = { + curveNumber: e.index, + pointNumber: n.i, + data: e._input, + fullData: e, + }, + o = 0; + o < r.length; + o++ + ) { + var s = r[o]; + s in t && (i[s] = t[s]); + } + return ( + 'parentString' in t && + !c.isHierarchyRoot(t) && + (i.parent = t.parentString), + a(i, e, n.i), + i + ); + } + e.exports = function (t, e, r, a, h) { + var p = a[0], + d = p.trace, + g = p.hierarchy, + m = 'sunburst' === d.type, + v = 'treemap' === d.type; + '_hasHoverLabel' in d || (d._hasHoverLabel = !1), + '_hasHoverEvent' in d || (d._hasHoverEvent = !1); + t.on('mouseover', function (i) { + var a = r._fullLayout; + if (!r._dragging && !1 !== a.hovermode) { + var l = r._fullData[d.index], + y = i.data.data, + x = y.i, + b = c.isHierarchyRoot(i), + _ = c.getParent(g, i), + w = c.getValue(i), + T = function (t) { + return s.castOption(l, x, t); + }, + k = T('hovertemplate'), + M = o.castHoverinfo(l, a, x), + A = a.separators; + if (k || (M && 'none' !== M && 'skip' !== M)) { + var S, E; + m && + ((S = p.cx + i.pxmid[0] * (1 - i.rInscribed)), + (E = p.cy + i.pxmid[1] * (1 - i.rInscribed))), + v && ((S = i._hoverX), (E = i._hoverY)); + var C, + L = {}, + I = [], + P = [], + z = function (t) { + return -1 !== I.indexOf(t); + }; + M && + (I = + 'all' === M + ? l._module.attributes.hoverinfo.flags + : M.split('+')), + (L.label = y.label), + z('label') && L.label && P.push(L.label), + y.hasOwnProperty('v') && + ((L.value = y.v), + (L.valueLabel = u(L.value, A)), + z('value') && P.push(L.valueLabel)), + (L.currentPath = i.currentPath = c.getPath(i.data)), + z('current path') && !b && P.push(L.currentPath); + var O = [], + D = function () { + -1 === O.indexOf(C) && (P.push(C), O.push(C)); + }; + (L.percentParent = i.percentParent = w / c.getValue(_)), + (L.parent = i.parentString = c.getPtLabel(_)), + z('percent parent') && + ((C = + c.formatPercent(L.percentParent, A) + + ' of ' + + L.parent), + D()), + (L.percentEntry = i.percentEntry = w / c.getValue(e)), + (L.entry = i.entry = c.getPtLabel(e)), + !z('percent entry') || + b || + i.onPathbar || + ((C = + c.formatPercent(L.percentEntry, A) + ' of ' + L.entry), + D()), + (L.percentRoot = i.percentRoot = w / c.getValue(g)), + (L.root = i.root = c.getPtLabel(g)), + z('percent root') && + !b && + ((C = + c.formatPercent(L.percentRoot, A) + ' of ' + L.root), + D()), + (L.text = T('hovertext') || T('text')), + z('text') && + ((C = L.text), s.isValidTextValue(C) && P.push(C)); + var R = { + trace: l, + y: E, + text: P.join('
'), + name: k || z('name') ? l.name : void 0, + color: T('hoverlabel.bgcolor') || y.color, + borderColor: T('hoverlabel.bordercolor'), + fontFamily: T('hoverlabel.font.family'), + fontSize: T('hoverlabel.font.size'), + fontColor: T('hoverlabel.font.color'), + nameLength: T('hoverlabel.namelength'), + textAlign: T('hoverlabel.align'), + hovertemplate: k, + hovertemplateLabels: L, + eventData: [f(i, l, h.eventDataKeys)], + }; + m && + ((R.x0 = S - i.rInscribed * i.rpx1), + (R.x1 = S + i.rInscribed * i.rpx1), + (R.idealAlign = i.pxmid[0] < 0 ? 'left' : 'right')), + v && ((R.x = S), (R.idealAlign = S < 0 ? 'left' : 'right')), + o.loneHover(R, { + container: a._hoverlayer.node(), + outerContainer: a._paper.node(), + gd: r, + }), + (d._hasHoverLabel = !0); + } + if (v) { + var F = t.select('path.surface'); + h.styleOne(F, i, l, { hovered: !0 }); + } + (d._hasHoverEvent = !0), + r.emit('plotly_hover', { + points: [f(i, l, h.eventDataKeys)], + event: n.event, + }); + } + }), + t.on('mouseout', function (e) { + var i = r._fullLayout, + a = r._fullData[d.index], + s = n.select(this).datum(); + if ( + (d._hasHoverEvent && + ((e.originalEvent = n.event), + r.emit('plotly_unhover', { + points: [f(s, a, h.eventDataKeys)], + event: n.event, + }), + (d._hasHoverEvent = !1)), + d._hasHoverLabel && + (o.loneUnhover(i._hoverlayer.node()), + (d._hasHoverLabel = !1)), + v) + ) { + var l = t.select('path.surface'); + h.styleOne(l, s, a, { hovered: !1 }); + } + }), + t.on('click', function (t) { + var e = r._fullLayout, + a = r._fullData[d.index], + s = m && (c.isHierarchyRoot(t) || c.isLeaf(t)), + u = c.getPtId(t), + p = c.isEntry(t) + ? c.findEntryWithChild(g, u) + : c.findEntryWithLevel(g, u), + v = c.getPtId(p), + y = { points: [f(t, a, h.eventDataKeys)], event: n.event }; + s || (y.nextLevel = v); + var x = l.triggerHandler(r, 'plotly_' + d.type + 'click', y); + if ( + (!1 !== x && + e.hovermode && + ((r._hoverdata = [f(t, a, h.eventDataKeys)]), + o.click(r, n.event)), + !s && !1 !== x && !r._dragging && !r._transitioning) + ) { + i.call('_storeDirectGUIEdit', a, e._tracePreGUI[a.uid], { + level: a.level, + }); + var b = { data: [{ level: v }], traces: [d.index] }, + _ = { + frame: { redraw: !1, duration: h.transitionTime }, + transition: { + duration: h.transitionTime, + easing: h.transitionEasing, + }, + mode: 'immediate', + fromcurrent: !0, + }; + o.loneUnhover(e._hoverlayer.node()), + i.call('animate', r, b, _); + } + }); + }; + }, + { + '../../components/fx': 683, + '../../components/fx/helpers': 679, + '../../lib': 778, + '../../lib/events': 767, + '../../registry': 911, + '../pie/helpers': 1166, + './helpers': 1305, + d3: 169, + }, + ], + 1305: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../../lib/setcursor'), + o = t('../pie/helpers'); + function s(t) { + return t.data.data.pid; + } + (r.findEntryWithLevel = function (t, e) { + var n; + return ( + e && + t.eachAfter(function (t) { + if (r.getPtId(t) === e) return (n = t.copy()); + }), + n || t + ); + }), + (r.findEntryWithChild = function (t, e) { + var n; + return ( + t.eachAfter(function (t) { + for (var i = t.children || [], a = 0; a < i.length; a++) { + var o = i[a]; + if (r.getPtId(o) === e) return (n = t.copy()); + } + }), + n || t + ); + }), + (r.isEntry = function (t) { + return !t.parent; + }), + (r.isLeaf = function (t) { + return !t.children; + }), + (r.getPtId = function (t) { + return t.data.data.id; + }), + (r.getPtLabel = function (t) { + return t.data.data.label; + }), + (r.getValue = function (t) { + return t.value; + }), + (r.isHierarchyRoot = function (t) { + return '' === s(t); + }), + (r.setSliceCursor = function (t, e, n) { + var i = n.isTransitioning; + if (!i) { + var o = t.datum(); + i = + (n.hideOnRoot && r.isHierarchyRoot(o)) || + (n.hideOnLeaves && r.isLeaf(o)); + } + a(t, i ? null : 'pointer'); + }), + (r.getInsideTextFontKey = function (t, e, r, i, a) { + var o = (a || {}).onPathbar + ? 'pathbar.textfont' + : 'insidetextfont', + s = r.data.data.i; + return ( + n.castOption(e, s, o + '.' + t) || + n.castOption(e, s, 'textfont.' + t) || + i.size + ); + }), + (r.getOutsideTextFontKey = function (t, e, r, i) { + var a = r.data.data.i; + return ( + n.castOption(e, a, 'outsidetextfont.' + t) || + n.castOption(e, a, 'textfont.' + t) || + i.size + ); + }), + (r.isOutsideText = function (t, e) { + return !t._hasColorscale && r.isHierarchyRoot(e); + }), + (r.determineTextFont = function (t, e, a, o) { + return r.isOutsideText(t, e) + ? (function (t, e, n) { + return { + color: r.getOutsideTextFontKey('color', t, e, n), + family: r.getOutsideTextFontKey('family', t, e, n), + size: r.getOutsideTextFontKey('size', t, e, n), + }; + })(t, e, a) + : (function (t, e, a, o) { + var s = (o || {}).onPathbar, + l = e.data.data, + c = l.i, + u = n.castOption( + t, + c, + (s ? 'pathbar.textfont' : 'insidetextfont') + '.color' + ); + return ( + !u && + t._input.textfont && + (u = n.castOption(t._input, c, 'textfont.color')), + { + color: u || i.contrast(l.color), + family: r.getInsideTextFontKey('family', t, e, a, o), + size: r.getInsideTextFontKey('size', t, e, a, o), + } + ); + })(t, e, a, o); + }), + (r.hasTransition = function (t) { + return !!(t && t.duration > 0); + }), + (r.getMaxDepth = function (t) { + return t.maxdepth >= 0 ? t.maxdepth : 1 / 0; + }), + (r.isHeader = function (t, e) { + return !(r.isLeaf(t) || t.depth === e._maxDepth - 1); + }), + (r.getParent = function (t, e) { + return r.findEntryWithLevel(t, s(e)); + }), + (r.listPath = function (t, e) { + var n = t.parent; + if (!n) return []; + var i = e ? [n.data[e]] : [n]; + return r.listPath(n, e).concat(i); + }), + (r.getPath = function (t) { + return r.listPath(t, 'label').join('/') + '/'; + }), + (r.formatValue = o.formatPieValue), + (r.formatPercent = function (t, e) { + var r = n.formatPercent(t, 0); + return '0%' === r && (r = o.formatPiePercent(t, e)), r; + }); + }, + { + '../../components/color': 643, + '../../lib': 778, + '../../lib/setcursor': 799, + '../pie/helpers': 1166, + }, + ], + 1306: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'sunburst', + basePlotModule: t('./base_plot'), + categories: [], + animatable: !0, + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults'), + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('./calc').crossTraceCalc, + plot: t('./plot').plot, + style: t('./style').style, + colorbar: t('../scatter/marker_colorbar'), + meta: {}, + }; + }, + { + '../scatter/marker_colorbar': 1205, + './attributes': 1299, + './base_plot': 1300, + './calc': 1301, + './defaults': 1303, + './layout_attributes': 1307, + './layout_defaults': 1308, + './plot': 1309, + './style': 1310, + }, + ], + 1307: [ + function (t, e, r) { + 'use strict'; + e.exports = { + sunburstcolorway: { valType: 'colorlist', editType: 'calc' }, + extendsunburstcolors: { + valType: 'boolean', + dflt: !0, + editType: 'calc', + }, + }; + }, + {}, + ], + 1308: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r('sunburstcolorway', e.colorway), r('extendsunburstcolors'); + }; + }, + { '../../lib': 778, './layout_attributes': 1307 }, + ], + 1309: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('d3-hierarchy'), + a = t('../../components/drawing'), + o = t('../../lib'), + s = t('../../lib/svg_text_utils'), + l = t('../bar/uniform_text'), + c = l.recordMinTextSize, + u = l.clearMinTextSize, + f = t('../pie/plot'), + h = t('../pie/helpers').getRotationAngle, + p = f.computeTransform, + d = f.transformInsideText, + g = t('./style').styleOne, + m = t('../bar/style').resizeText, + v = t('./fx'), + y = t('./constants'), + x = t('./helpers'); + function b(t, e, l, u) { + var f = t._fullLayout, + m = !f.uniformtext.mode && x.hasTransition(u), + b = n.select(l).selectAll('g.slice'), + w = e[0], + T = w.trace, + k = w.hierarchy, + M = x.findEntryWithLevel(k, T.level), + A = x.getMaxDepth(T), + S = f._size, + E = T.domain, + C = S.w * (E.x[1] - E.x[0]), + L = S.h * (E.y[1] - E.y[0]), + I = 0.5 * Math.min(C, L), + P = (w.cx = S.l + (S.w * (E.x[1] + E.x[0])) / 2), + z = (w.cy = S.t + S.h * (1 - E.y[0]) - L / 2); + if (!M) return b.remove(); + var O = null, + D = {}; + m && + b.each(function (t) { + (D[x.getPtId(t)] = { + rpx0: t.rpx0, + rpx1: t.rpx1, + x0: t.x0, + x1: t.x1, + transform: t.transform, + }), + !O && x.isEntry(t) && (O = t); + }); + var R = (function (t) { + return i.partition().size([2 * Math.PI, t.height + 1])(t); + })(M).descendants(), + F = M.height + 1, + B = 0, + N = A; + w.hasMultipleRoots && + x.isHierarchyRoot(M) && + ((R = R.slice(1)), (F -= 1), (B = 1), (N += 1)), + (R = R.filter(function (t) { + return t.y1 <= N; + })); + var j = h(T.rotation); + j && + R.forEach(function (t) { + (t.x0 += j), (t.x1 += j); + }); + var U = Math.min(F, A), + V = function (t) { + return ((t - B) / U) * I; + }, + q = function (t, e) { + return [t * Math.cos(e), -t * Math.sin(e)]; + }, + H = function (t) { + return o.pathAnnulus(t.rpx0, t.rpx1, t.x0, t.x1, P, z); + }, + G = function (t) { + return ( + P + + _(t)[0] * (t.transform.rCenter || 0) + + (t.transform.x || 0) + ); + }, + Y = function (t) { + return ( + z + + _(t)[1] * (t.transform.rCenter || 0) + + (t.transform.y || 0) + ); + }; + (b = b.data(R, x.getPtId)).enter().append('g').classed('slice', !0), + m + ? b + .exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select('path.surface') + .transition() + .attrTween('d', function (t) { + var e = (function (t) { + var e, + r = x.getPtId(t), + i = D[r], + a = D[x.getPtId(M)]; + if (a) { + var o = (t.x1 > a.x1 ? 2 * Math.PI : 0) + j; + e = + t.rpx1 < a.rpx1 + ? { rpx0: 0, rpx1: 0 } + : { x0: o, x1: o }; + } else { + var s, + l = x.getPtId(t.parent); + b.each(function (t) { + if (x.getPtId(t) === l) return (s = t); + }); + var c, + u = s.children; + u.forEach(function (t, e) { + if (x.getPtId(t) === r) return (c = e); + }); + var f = u.length, + h = n.interpolate(s.x0, s.x1); + e = { + rpx0: I, + rpx1: I, + x0: h(c / f), + x1: h((c + 1) / f), + }; + } + return n.interpolate(i, e); + })(t); + return function (t) { + return H(e(t)); + }; + }), + t.select('g.slicetext').attr('opacity', 0); + }) + .remove() + : b.exit().remove(), + b.order(); + var W = null; + if (m && O) { + var X = x.getPtId(O); + b.each(function (t) { + null === W && x.getPtId(t) === X && (W = t.x1); + }); + } + var Z = b; + function J(t) { + var e = t.parent, + r = D[x.getPtId(e)], + i = {}; + if (r) { + var a = e.children, + o = a.indexOf(t), + s = a.length, + l = n.interpolate(r.x0, r.x1); + (i.x0 = l(o / s)), (i.x1 = l(o / s)); + } else i.x0 = i.x1 = 0; + return i; + } + m && + (Z = Z.transition().each('end', function () { + var e = n.select(this); + x.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: !1, + }); + })), + Z.each(function (i) { + var l = n.select(this), + u = o.ensureSingle(l, 'path', 'surface', function (t) { + t.style('pointer-events', 'all'); + }); + (i.rpx0 = V(i.y0)), + (i.rpx1 = V(i.y1)), + (i.xmid = (i.x0 + i.x1) / 2), + (i.pxmid = q(i.rpx1, i.xmid)), + (i.midangle = -(i.xmid - Math.PI / 2)), + (i.startangle = -(i.x0 - Math.PI / 2)), + (i.stopangle = -(i.x1 - Math.PI / 2)), + (i.halfangle = + 0.5 * + Math.min(o.angleDelta(i.x0, i.x1) || Math.PI, Math.PI)), + (i.ring = 1 - i.rpx0 / i.rpx1), + (i.rInscribed = (function (t) { + return 0 === t.rpx0 && o.isFullCircle([t.x0, t.x1]) + ? 1 + : Math.max( + 0, + Math.min( + 1 / (1 + 1 / Math.sin(t.halfangle)), + t.ring / 2 + ) + ); + })(i)), + m + ? u.transition().attrTween('d', function (t) { + var e = (function (t) { + var e, + r = D[x.getPtId(t)], + i = { + x0: t.x0, + x1: t.x1, + rpx0: t.rpx0, + rpx1: t.rpx1, + }; + if (r) e = r; + else if (O) + if (t.parent) + if (W) { + var a = (t.x1 > W ? 2 * Math.PI : 0) + j; + e = { x0: a, x1: a }; + } else + (e = { rpx0: I, rpx1: I }), + o.extendFlat(e, J(t)); + else e = { rpx0: 0, rpx1: 0 }; + else e = { x0: j, x1: j }; + return n.interpolate(e, i); + })(t); + return function (t) { + return H(e(t)); + }; + }) + : u.attr('d', H), + l + .call(v, M, t, e, { + eventDataKeys: y.eventDataKeys, + transitionTime: y.CLICK_TRANSITION_TIME, + transitionEasing: y.CLICK_TRANSITION_EASING, + }) + .call(x.setSliceCursor, t, { + hideOnRoot: !0, + hideOnLeaves: !0, + isTransitioning: t._transitioning, + }), + u.call(g, i, T); + var h = o.ensureSingle(l, 'g', 'slicetext'), + b = o.ensureSingle(h, 'text', '', function (t) { + t.attr('data-notex', 1); + }), + _ = o.ensureUniformFontSize( + t, + x.determineTextFont(T, i, f.font) + ); + b.text(r.formatSliceLabel(i, M, T, e, f)) + .classed('slicetext', !0) + .attr('text-anchor', 'middle') + .call(a.font, _) + .call(s.convertToTspans, t); + var k = a.bBox(b.node()); + (i.transform = d(k, i, w)), + (i.transform.targetX = G(i)), + (i.transform.targetY = Y(i)); + var A = function (t, e) { + var r = t.transform; + return ( + p(r, e), + (r.fontSize = _.size), + c(T.type, r, f), + o.getTextTransform(r) + ); + }; + m + ? b.transition().attrTween('transform', function (t) { + var e = (function (t) { + var e, + r = D[x.getPtId(t)], + i = t.transform; + if (r) e = r; + else if ( + ((e = { + rpx1: t.rpx1, + transform: { + textPosAngle: i.textPosAngle, + scale: 0, + rotate: i.rotate, + rCenter: i.rCenter, + x: i.x, + y: i.y, + }, + }), + O) + ) + if (t.parent) + if (W) { + var a = t.x1 > W ? 2 * Math.PI : 0; + e.x0 = e.x1 = a; + } else o.extendFlat(e, J(t)); + else e.x0 = e.x1 = j; + else e.x0 = e.x1 = j; + var s = n.interpolate( + e.transform.textPosAngle, + t.transform.textPosAngle + ), + l = n.interpolate(e.rpx1, t.rpx1), + u = n.interpolate(e.x0, t.x0), + h = n.interpolate(e.x1, t.x1), + p = n.interpolate(e.transform.scale, i.scale), + d = n.interpolate(e.transform.rotate, i.rotate), + g = + 0 === i.rCenter + ? 3 + : 0 === e.transform.rCenter + ? 1 / 3 + : 1, + m = n.interpolate(e.transform.rCenter, i.rCenter); + return function (t) { + var e = l(t), + r = u(t), + n = h(t), + a = (function (t) { + return m(Math.pow(t, g)); + })(t), + o = { + pxmid: q(e, (r + n) / 2), + rpx1: e, + transform: { + textPosAngle: s(t), + rCenter: a, + x: i.x, + y: i.y, + }, + }; + return ( + c(T.type, i, f), + { + transform: { + targetX: G(o), + targetY: Y(o), + scale: p(t), + rotate: d(t), + rCenter: a, + }, + } + ); + }; + })(t); + return function (t) { + return A(e(t), k); + }; + }) + : b.attr('transform', A(i, k)); + }); + } + function _(t) { + return ( + (e = t.rpx1), + (r = t.transform.textPosAngle), + [e * Math.sin(r), -e * Math.cos(r)] + ); + var e, r; + } + (r.plot = function (t, e, r, i) { + var a, + o, + s = t._fullLayout, + l = s._sunburstlayer, + c = !r, + f = !s.uniformtext.mode && x.hasTransition(r); + (u('sunburst', s), + (a = l.selectAll('g.trace.sunburst').data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append('g') + .classed('trace', !0) + .classed('sunburst', !0) + .attr('stroke-linejoin', 'round'), + a.order(), + f) + ? (i && (o = i()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each('end', function () { + o && o(); + }) + .each('interrupt', function () { + o && o(); + }) + .each(function () { + l.selectAll('g.trace').each(function (e) { + b(t, e, this, r); + }); + })) + : (a.each(function (e) { + b(t, e, this, r); + }), + s.uniformtext.mode && + m(t, s._sunburstlayer.selectAll('.trace'), 'sunburst')); + c && a.exit().remove(); + }), + (r.formatSliceLabel = function (t, e, r, n, i) { + var a = r.texttemplate, + s = r.textinfo; + if (!(a || (s && 'none' !== s))) return ''; + var l = i.separators, + c = n[0], + u = t.data.data, + f = c.hierarchy, + h = x.isHierarchyRoot(t), + p = x.getParent(f, t), + d = x.getValue(t); + if (!a) { + var g, + m = s.split('+'), + v = function (t) { + return -1 !== m.indexOf(t); + }, + y = []; + if ( + (v('label') && u.label && y.push(u.label), + u.hasOwnProperty('v') && + v('value') && + y.push(x.formatValue(u.v, l)), + !h) + ) { + v('current path') && y.push(x.getPath(t.data)); + var b = 0; + v('percent parent') && b++, + v('percent entry') && b++, + v('percent root') && b++; + var _ = b > 1; + if (b) { + var w, + T = function (t) { + (g = x.formatPercent(w, l)), + _ && (g += ' of ' + t), + y.push(g); + }; + v('percent parent') && + !h && + ((w = d / x.getValue(p)), T('parent')), + v('percent entry') && + ((w = d / x.getValue(e)), T('entry')), + v('percent root') && ((w = d / x.getValue(f)), T('root')); + } + } + return ( + v('text') && + ((g = o.castOption(r, u.i, 'text')), + o.isValidTextValue(g) && y.push(g)), + y.join('
') + ); + } + var k = o.castOption(r, u.i, 'texttemplate'); + if (!k) return ''; + var M = {}; + u.label && (M.label = u.label), + u.hasOwnProperty('v') && + ((M.value = u.v), (M.valueLabel = x.formatValue(u.v, l))), + (M.currentPath = x.getPath(t.data)), + h || + ((M.percentParent = d / x.getValue(p)), + (M.percentParentLabel = x.formatPercent(M.percentParent, l)), + (M.parent = x.getPtLabel(p))), + (M.percentEntry = d / x.getValue(e)), + (M.percentEntryLabel = x.formatPercent(M.percentEntry, l)), + (M.entry = x.getPtLabel(e)), + (M.percentRoot = d / x.getValue(f)), + (M.percentRootLabel = x.formatPercent(M.percentRoot, l)), + (M.root = x.getPtLabel(f)), + u.hasOwnProperty('color') && (M.color = u.color); + var A = o.castOption(r, u.i, 'text'); + return ( + (o.isValidTextValue(A) || '' === A) && (M.text = A), + (M.customdata = o.castOption(r, u.i, 'customdata')), + o.texttemplateString(k, M, i._d3locale, M, r._meta || {}) + ); + }); + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../bar/style': 935, + '../bar/uniform_text': 937, + '../pie/helpers': 1166, + '../pie/plot': 1170, + './constants': 1302, + './fx': 1304, + './helpers': 1305, + './style': 1310, + d3: 169, + 'd3-hierarchy': 161, + }, + ], + 1310: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../../lib'), + o = t('../bar/uniform_text').resizeText; + function s(t, e, r) { + var n = e.data.data, + o = !e.children, + s = n.i, + l = a.castOption(r, s, 'marker.line.color') || i.defaultLine, + c = a.castOption(r, s, 'marker.line.width') || 0; + t.style('stroke-width', c) + .call(i.fill, n.color) + .call(i.stroke, l) + .style('opacity', o ? r.leaf.opacity : null); + } + e.exports = { + style: function (t) { + var e = t._fullLayout._sunburstlayer.selectAll('.trace'); + o(t, e, 'sunburst'), + e.each(function (t) { + var e = n.select(this), + r = t[0].trace; + e.style('opacity', r.opacity), + e.selectAll('path.surface').each(function (t) { + n.select(this).call(s, t, r); + }); + }); + }, + styleOne: s, + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../bar/uniform_text': 937, + d3: 169, + }, + ], + 1311: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/color'), + i = t('../../components/colorscale/attributes'), + a = t('../../plots/template_attributes').hovertemplateAttrs, + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat, + l = t('../../plot_api/edit_types').overrideAll; + function c(t) { + return { + show: { valType: 'boolean', dflt: !1 }, + start: { valType: 'number', dflt: null, editType: 'plot' }, + end: { valType: 'number', dflt: null, editType: 'plot' }, + size: { valType: 'number', dflt: null, min: 0, editType: 'plot' }, + project: { + x: { valType: 'boolean', dflt: !1 }, + y: { valType: 'boolean', dflt: !1 }, + z: { valType: 'boolean', dflt: !1 }, + }, + color: { valType: 'color', dflt: n.defaultLine }, + usecolormap: { valType: 'boolean', dflt: !1 }, + width: { valType: 'number', min: 1, max: 16, dflt: 2 }, + highlight: { valType: 'boolean', dflt: !0 }, + highlightcolor: { valType: 'color', dflt: n.defaultLine }, + highlightwidth: { valType: 'number', min: 1, max: 16, dflt: 2 }, + }; + } + var u = (e.exports = l( + s( + { + z: { valType: 'data_array' }, + x: { valType: 'data_array' }, + y: { valType: 'data_array' }, + text: { valType: 'string', dflt: '', arrayOk: !0 }, + hovertext: { valType: 'string', dflt: '', arrayOk: !0 }, + hovertemplate: a(), + connectgaps: { valType: 'boolean', dflt: !1, editType: 'calc' }, + surfacecolor: { valType: 'data_array' }, + }, + i('', { + colorAttr: 'z or surfacecolor', + showScaleDflt: !0, + autoColorDflt: !1, + editTypeOverride: 'calc', + }), + { + contours: { x: c(), y: c(), z: c() }, + hidesurface: { valType: 'boolean', dflt: !1 }, + lightposition: { + x: { valType: 'number', min: -1e5, max: 1e5, dflt: 10 }, + y: { valType: 'number', min: -1e5, max: 1e5, dflt: 1e4 }, + z: { valType: 'number', min: -1e5, max: 1e5, dflt: 0 }, + }, + lighting: { + ambient: { valType: 'number', min: 0, max: 1, dflt: 0.8 }, + diffuse: { valType: 'number', min: 0, max: 1, dflt: 0.8 }, + specular: { valType: 'number', min: 0, max: 2, dflt: 0.05 }, + roughness: { valType: 'number', min: 0, max: 1, dflt: 0.5 }, + fresnel: { valType: 'number', min: 0, max: 5, dflt: 0.2 }, + }, + opacity: { valType: 'number', min: 0, max: 1, dflt: 1 }, + opacityscale: { valType: 'any', editType: 'calc' }, + _deprecated: { + zauto: s({}, i.zauto, {}), + zmin: s({}, i.zmin, {}), + zmax: s({}, i.zmax, {}), + }, + hoverinfo: s({}, o.hoverinfo), + showlegend: s({}, o.showlegend, { dflt: !1 }), + } + ), + 'calc', + 'nested' + )); + (u.x.editType = u.y.editType = u.z.editType = 'calc+clearAxisTypes'), + (u.transforms = void 0); + }, + { + '../../components/color': 643, + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + }, + ], + 1312: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/calc'); + e.exports = function (t, e) { + e.surfacecolor + ? n(t, e, { + vals: e.surfacecolor, + containerStr: '', + cLetter: 'c', + }) + : n(t, e, { vals: e.z, containerStr: '', cLetter: 'c' }); + }; + }, + { '../../components/colorscale/calc': 651 }, + ], + 1313: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-surface3d'), + i = t('ndarray'), + a = t('ndarray-linear-interpolate').d2, + o = t('../heatmap/interp2d'), + s = t('../heatmap/find_empties'), + l = t('../../lib').isArrayOrTypedArray, + c = t('../../lib/gl_format_color').parseColorScale, + u = t('../../lib/str2rgbarray'), + f = t('../../components/colorscale').extractOpts; + function h(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.surface = e), + (this.data = null), + (this.showContour = [!1, !1, !1]), + (this.contourStart = [null, null, null]), + (this.contourEnd = [null, null, null]), + (this.contourSize = [0, 0, 0]), + (this.minValues = [1 / 0, 1 / 0, 1 / 0]), + (this.maxValues = [-1 / 0, -1 / 0, -1 / 0]), + (this.dataScaleX = 1), + (this.dataScaleY = 1), + (this.refineData = !0), + (this.objectOffset = [0, 0, 0]); + } + var p = h.prototype; + (p.getXat = function (t, e, r, n) { + var i = l(this.data.x) + ? l(this.data.x[0]) + ? this.data.x[e][t] + : this.data.x[t] + : t; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getYat = function (t, e, r, n) { + var i = l(this.data.y) + ? l(this.data.y[0]) + ? this.data.y[e][t] + : this.data.y[e] + : e; + return void 0 === r ? i : n.d2l(i, 0, r); + }), + (p.getZat = function (t, e, r, n) { + var i = this.data.z[e][t]; + return ( + null === i && + this.data.connectgaps && + this.data._interpolatedZ && + (i = this.data._interpolatedZ[e][t]), + void 0 === r ? i : n.d2l(i, 0, r) + ); + }), + (p.handlePick = function (t) { + if (t.object === this.surface) { + var e = (t.data.index[0] - 1) / this.dataScaleX - 1, + r = (t.data.index[1] - 1) / this.dataScaleY - 1, + n = Math.max( + Math.min(Math.round(e), this.data.z[0].length - 1), + 0 + ), + i = Math.max( + Math.min(Math.round(r), this.data._ylength - 1), + 0 + ); + (t.index = [n, i]), + (t.traceCoordinate = [ + this.getXat(n, i), + this.getYat(n, i), + this.getZat(n, i), + ]), + (t.dataCoordinate = [ + this.getXat( + n, + i, + this.data.xcalendar, + this.scene.fullSceneLayout.xaxis + ), + this.getYat( + n, + i, + this.data.ycalendar, + this.scene.fullSceneLayout.yaxis + ), + this.getZat( + n, + i, + this.data.zcalendar, + this.scene.fullSceneLayout.zaxis + ), + ]); + for (var a = 0; a < 3; a++) { + var o = t.dataCoordinate[a]; + null != o && (t.dataCoordinate[a] *= this.scene.dataScale[a]); + } + var s = this.data.hovertext || this.data.text; + return ( + Array.isArray(s) && s[i] && void 0 !== s[i][n] + ? (t.textLabel = s[i][n]) + : (t.textLabel = s || ''), + (t.data.dataCoordinate = t.dataCoordinate.slice()), + this.surface.highlight(t.data), + (this.scene.glplot.spikes.position = t.dataCoordinate), + !0 + ); + } + }); + var d = [ + 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, + 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, + 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, + 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, + 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, + 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, + 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, + 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, + 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, + 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, + 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, + 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, + 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, + 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, + 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, + 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, + 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, + 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, + 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, + 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, + 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, + 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, + 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, + 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, + 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, + 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, + 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, + 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, + 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, + 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, + 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, + 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, + 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, + 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, + 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, + 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, + 2971, 2999, + ]; + function g(t, e) { + if (t < e) return 0; + for (var r = 0; 0 === Math.floor(t % e); ) (t /= e), r++; + return r; + } + function m(t) { + for (var e = [], r = 0; r < d.length; r++) { + var n = d[r]; + e.push(g(t, n)); + } + return e; + } + function v(t) { + for (var e = m(t), r = t, n = 0; n < d.length; n++) + if (e[n] > 0) { + r = d[n]; + break; + } + return r; + } + function y(t, e) { + if (!(t < 1 || e < 1)) { + for (var r = m(t), n = m(e), i = 1, a = 0; a < d.length; a++) + i *= Math.pow(d[a], Math.max(r[a], n[a])); + return i; + } + } + (p.calcXnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getXat(e - 1, 0), + i = this.getXat(e, 0); + r[e - 1] = + i !== n && null != n && null != i ? Math.abs(i - n) : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }), + (p.calcYnums = function (t) { + var e, + r = []; + for (e = 1; e < t; e++) { + var n = this.getYat(0, e - 1), + i = this.getYat(0, e); + r[e - 1] = + i !== n && null != n && null != i ? Math.abs(i - n) : 0; + } + var a = 0; + for (e = 1; e < t; e++) a += r[e - 1]; + for (e = 1; e < t; e++) + 0 === r[e - 1] + ? (r[e - 1] = 1) + : (r[e - 1] = Math.round(a / r[e - 1])); + return r; + }); + var x = [ + 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, + 1260, + ], + b = x[9], + _ = x[13]; + function w(t, e, r) { + var n = r[8] + r[2] * e[0] + r[5] * e[1]; + return ( + (t[0] = (r[6] + r[0] * e[0] + r[3] * e[1]) / n), + (t[1] = (r[7] + r[1] * e[0] + r[4] * e[1]) / n), + t + ); + } + function T(t, e, r) { + return ( + (function (t, e, r, n) { + for ( + var i = [0, 0], o = t.shape[0], s = t.shape[1], l = 0; + l < o; + l++ + ) + for (var c = 0; c < s; c++) + r(i, [l, c], n), t.set(l, c, a(e, i[0], i[1])); + })(t, e, w, r), + t + ); + } + function k(t, e) { + for (var r = !1, n = 0; n < t.length; n++) + if (e === t[n]) { + r = !0; + break; + } + !1 === r && t.push(e); + } + (p.estimateScale = function (t, e) { + for ( + var r = + 1 + + (function (t) { + if (0 !== t.length) { + for (var e = 1, r = 0; r < t.length; r++) e = y(e, t[r]); + return e; + } + })(0 === e ? this.calcXnums(t) : this.calcYnums(t)); + r < b; + + ) + r *= 2; + for (; r > _; ) r--, (r /= v(r)), ++r < b && (r = _); + var n = Math.round(r / t); + return n > 1 ? n : 1; + }), + (p.refineCoords = function (t) { + for ( + var e = this.dataScaleX, + r = this.dataScaleY, + n = t[0].shape[0], + a = t[0].shape[1], + o = 0 | Math.floor(t[0].shape[0] * e + 1), + s = 0 | Math.floor(t[0].shape[1] * r + 1), + l = 1 + n + 1, + c = 1 + a + 1, + u = i(new Float32Array(l * c), [l, c]), + f = [1 / e, 0, 0, 0, 1 / r, 0, 0, 0, 1], + h = 0; + h < t.length; + ++h + ) { + this.surface.padField(u, t[h]); + var p = i(new Float32Array(o * s), [o, s]); + T(p, u, f), (t[h] = p); + } + }), + (p.setContourLevels = function () { + var t, + e, + r, + n = [[], [], []], + i = [!1, !1, !1], + a = !1; + for (t = 0; t < 3; ++t) + if ( + this.showContour[t] && + ((a = !0), + this.contourSize[t] > 0 && + null !== this.contourStart[t] && + null !== this.contourEnd[t] && + this.contourEnd[t] > this.contourStart[t]) + ) + for ( + i[t] = !0, e = this.contourStart[t]; + e < this.contourEnd[t]; + e += this.contourSize[t] + ) + (r = e * this.scene.dataScale[t]), k(n[t], r); + if (a) { + var o = [[], [], []]; + for (t = 0; t < 3; ++t) + this.showContour[t] && + (o[t] = i[t] ? n[t] : this.scene.contourLevels[t]); + this.surface.update({ levels: o }); + } + }), + (p.update = function (t) { + var e, + r, + n, + a, + l = this.scene, + h = l.fullSceneLayout, + p = this.surface, + d = c(t), + g = l.dataScale, + m = t.z[0].length, + v = t._ylength, + y = l.contourLevels; + this.data = t; + var x = []; + for (e = 0; e < 3; e++) + for (x[e] = [], r = 0; r < m; r++) x[e][r] = []; + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) + (x[0][r][n] = this.getXat(r, n, t.xcalendar, h.xaxis)), + (x[1][r][n] = this.getYat(r, n, t.ycalendar, h.yaxis)), + (x[2][r][n] = this.getZat(r, n, t.zcalendar, h.zaxis)); + if (t.connectgaps) + for ( + t._emptypoints = s(x[2]), + o(x[2], t._emptypoints), + t._interpolatedZ = [], + r = 0; + r < m; + r++ + ) + for (t._interpolatedZ[r] = [], n = 0; n < v; n++) + t._interpolatedZ[r][n] = x[2][r][n]; + for (e = 0; e < 3; e++) + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) + null == (a = x[e][r][n]) + ? (x[e][r][n] = NaN) + : (a = x[e][r][n] *= g[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) + null != (a = x[e][r][n]) && + (this.minValues[e] > a && (this.minValues[e] = a), + this.maxValues[e] < a && (this.maxValues[e] = a)); + for (e = 0; e < 3; e++) + this.objectOffset[e] = + 0.5 * (this.minValues[e] + this.maxValues[e]); + for (e = 0; e < 3; e++) + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) + null != (a = x[e][r][n]) && + (x[e][r][n] -= this.objectOffset[e]); + var b = [ + i(new Float32Array(m * v), [m, v]), + i(new Float32Array(m * v), [m, v]), + i(new Float32Array(m * v), [m, v]), + ]; + for (e = 0; e < 3; e++) + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) b[e].set(r, n, x[e][r][n]); + x = []; + var w = { + colormap: d, + levels: [[], [], []], + showContour: [!0, !0, !0], + showSurface: !t.hidesurface, + contourProject: [ + [!1, !1, !1], + [!1, !1, !1], + [!1, !1, !1], + ], + contourWidth: [1, 1, 1], + contourColor: [ + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + ], + contourTint: [1, 1, 1], + dynamicColor: [ + [1, 1, 1, 1], + [1, 1, 1, 1], + [1, 1, 1, 1], + ], + dynamicWidth: [1, 1, 1], + dynamicTint: [1, 1, 1], + opacityscale: t.opacityscale, + opacity: t.opacity, + }, + T = f(t); + if (((w.intensityBounds = [T.min, T.max]), t.surfacecolor)) { + var k = i(new Float32Array(m * v), [m, v]); + for (r = 0; r < m; r++) + for (n = 0; n < v; n++) k.set(r, n, t.surfacecolor[n][r]); + b.push(k); + } else + (w.intensityBounds[0] *= g[2]), (w.intensityBounds[1] *= g[2]); + (_ < b[0].shape[0] || _ < b[0].shape[1]) && + (this.refineData = !1), + !0 === this.refineData && + ((this.dataScaleX = this.estimateScale(b[0].shape[0], 0)), + (this.dataScaleY = this.estimateScale(b[0].shape[1], 1)), + (1 === this.dataScaleX && 1 === this.dataScaleY) || + this.refineCoords(b)), + t.surfacecolor && (w.intensity = b.pop()); + var M = [!0, !0, !0], + A = ['x', 'y', 'z']; + for (e = 0; e < 3; ++e) { + var S = t.contours[A[e]]; + (M[e] = S.highlight), + (w.showContour[e] = S.show || S.highlight), + w.showContour[e] && + ((w.contourProject[e] = [ + S.project.x, + S.project.y, + S.project.z, + ]), + S.show + ? ((this.showContour[e] = !0), + (w.levels[e] = y[e]), + (p.highlightColor[e] = w.contourColor[e] = u(S.color)), + S.usecolormap + ? (p.highlightTint[e] = w.contourTint[e] = 0) + : (p.highlightTint[e] = w.contourTint[e] = 1), + (w.contourWidth[e] = S.width), + (this.contourStart[e] = S.start), + (this.contourEnd[e] = S.end), + (this.contourSize[e] = S.size)) + : ((this.showContour[e] = !1), + (this.contourStart[e] = null), + (this.contourEnd[e] = null), + (this.contourSize[e] = 0)), + S.highlight && + ((w.dynamicColor[e] = u(S.highlightcolor)), + (w.dynamicWidth[e] = S.highlightwidth))); + } + (function (t) { + var e = t[0].rgb, + r = t[t.length - 1].rgb; + return ( + e[0] === r[0] && + e[1] === r[1] && + e[2] === r[2] && + e[3] === r[3] + ); + })(d) && (w.vertexColor = !0), + (w.objectOffset = this.objectOffset), + (w.coords = b), + p.update(w), + (p.visible = t.visible), + (p.enableDynamic = M), + (p.enableHighlight = M), + (p.snapToData = !0), + 'lighting' in t && + ((p.ambientLight = t.lighting.ambient), + (p.diffuseLight = t.lighting.diffuse), + (p.specularLight = t.lighting.specular), + (p.roughness = t.lighting.roughness), + (p.fresnel = t.lighting.fresnel)), + 'lightposition' in t && + (p.lightPosition = [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ]); + }), + (p.dispose = function () { + this.scene.glplot.remove(this.surface), this.surface.dispose(); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new h(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + { + '../../components/colorscale': 655, + '../../lib': 778, + '../../lib/gl_format_color': 774, + '../../lib/str2rgbarray': 802, + '../heatmap/find_empties': 1071, + '../heatmap/interp2d': 1074, + 'gl-surface3d': 351, + ndarray: 495, + 'ndarray-linear-interpolate': 489, + }, + ], + 1314: [ + function (t, e, r) { + 'use strict'; + var n = t('../../registry'), + i = t('../../lib'), + a = t('../../components/colorscale/defaults'), + o = t('./attributes'); + function s(t, e, r, n) { + var i = n('opacityscale'); + 'max' === i + ? (e.opacityscale = [ + [0, 0.1], + [1, 1], + ]) + : 'min' === i + ? (e.opacityscale = [ + [0, 1], + [1, 0.1], + ]) + : 'extremes' === i + ? (e.opacityscale = (function (t, e) { + for (var r = [], n = 0; n < 32; n++) { + var i = n / 31, + a = + e + + (1 - e) * (1 - Math.pow(Math.sin(t * i * Math.PI), 2)); + r.push([i, Math.max(0, Math.min(1, a))]); + } + return r; + })(1, 0.1)) + : (function (t) { + var e = 0; + if (!Array.isArray(t) || t.length < 2) return !1; + if (!t[0] || !t[t.length - 1]) return !1; + if (0 != +t[0][0] || 1 != +t[t.length - 1][0]) return !1; + for (var r = 0; r < t.length; r++) { + var n = t[r]; + if (2 !== n.length || +n[0] < e) return !1; + e = +n[0]; + } + return !0; + })(i) || (e.opacityscale = void 0); + } + function l(t, e, r) { + e in t && !(r in t) && (t[r] = t[e]); + } + e.exports = { + supplyDefaults: function (t, e, r, c) { + var u, f; + function h(r, n) { + return i.coerce(t, e, o, r, n); + } + var p = h('x'), + d = h('y'), + g = h('z'); + if (!g || !g.length || (p && p.length < 1) || (d && d.length < 1)) + e.visible = !1; + else { + (e._xlength = + Array.isArray(p) && i.isArrayOrTypedArray(p[0]) + ? g.length + : g[0].length), + (e._ylength = g.length), + n.getComponentMethod('calendars', 'handleTraceDefaults')( + t, + e, + ['x', 'y', 'z'], + c + ), + h('text'), + h('hovertext'), + h('hovertemplate'), + [ + 'lighting.ambient', + 'lighting.diffuse', + 'lighting.specular', + 'lighting.roughness', + 'lighting.fresnel', + 'lightposition.x', + 'lightposition.y', + 'lightposition.z', + 'hidesurface', + 'connectgaps', + 'opacity', + ].forEach(function (t) { + h(t); + }); + var m = h('surfacecolor'), + v = ['x', 'y', 'z']; + for (u = 0; u < 3; ++u) { + var y = 'contours.' + v[u], + x = h(y + '.show'), + b = h(y + '.highlight'); + if (x || b) for (f = 0; f < 3; ++f) h(y + '.project.' + v[f]); + x && + (h(y + '.color'), h(y + '.width'), h(y + '.usecolormap')), + b && (h(y + '.highlightcolor'), h(y + '.highlightwidth')), + h(y + '.start'), + h(y + '.end'), + h(y + '.size'); + } + m || + (l(t, 'zmin', 'cmin'), + l(t, 'zmax', 'cmax'), + l(t, 'zauto', 'cauto')), + a(t, e, c, h, { prefix: '', cLetter: 'c' }), + s(t, e, c, h), + (e._length = null); + } + }, + opacityscaleDefaults: s, + }; + }, + { + '../../components/colorscale/defaults': 653, + '../../lib': 778, + '../../registry': 911, + './attributes': 1311, + }, + ], + 1315: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + colorbar: { min: 'cmin', max: 'cmax' }, + calc: t('./calc'), + plot: t('./convert'), + moduleType: 'trace', + name: 'surface', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', '2dMap', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + './attributes': 1311, + './calc': 1312, + './convert': 1313, + './defaults': 1314, + }, + ], + 1316: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/annotations/attributes'), + i = t('../../lib/extend').extendFlat, + a = t('../../plot_api/edit_types').overrideAll, + o = t('../../plots/font_attributes'), + s = t('../../plots/domain').attributes; + t('../../constants/docs').FORMAT_LINK; + (e.exports = a( + { + domain: s({ name: 'table', trace: !0 }), + columnwidth: { valType: 'number', arrayOk: !0, dflt: null }, + columnorder: { valType: 'data_array' }, + header: { + values: { valType: 'data_array', dflt: [] }, + format: { valType: 'data_array', dflt: [] }, + prefix: { valType: 'string', arrayOk: !0, dflt: null }, + suffix: { valType: 'string', arrayOk: !0, dflt: null }, + height: { valType: 'number', dflt: 28 }, + align: i({}, n.align, { arrayOk: !0 }), + line: { + width: { valType: 'number', arrayOk: !0, dflt: 1 }, + color: { valType: 'color', arrayOk: !0, dflt: 'grey' }, + }, + fill: { + color: { valType: 'color', arrayOk: !0, dflt: 'white' }, + }, + font: i({}, o({ arrayOk: !0 })), + }, + cells: { + values: { valType: 'data_array', dflt: [] }, + format: { valType: 'data_array', dflt: [] }, + prefix: { valType: 'string', arrayOk: !0, dflt: null }, + suffix: { valType: 'string', arrayOk: !0, dflt: null }, + height: { valType: 'number', dflt: 20 }, + align: i({}, n.align, { arrayOk: !0 }), + line: { + width: { valType: 'number', arrayOk: !0, dflt: 1 }, + color: { valType: 'color', arrayOk: !0, dflt: 'grey' }, + }, + fill: { + color: { valType: 'color', arrayOk: !0, dflt: 'white' }, + }, + font: i({}, o({ arrayOk: !0 })), + }, + }, + 'calc', + 'from-root' + )).transforms = void 0; + }, + { + '../../components/annotations/attributes': 626, + '../../constants/docs': 748, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/domain': 855, + '../../plots/font_attributes': 856, + }, + ], + 1317: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/get_data').getModuleCalcData, + i = t('./plot'); + (r.name = 'table'), + (r.plot = function (t) { + var e = n(t.calcdata, 'table')[0]; + e.length && i(t, e); + }), + (r.clean = function (t, e, r, n) { + var i = n._has && n._has('table'), + a = e._has && e._has('table'); + i && !a && n._paperdiv.selectAll('.table').remove(); + }); + }, + { '../../plots/get_data': 865, './plot': 1324 }, + ], + 1318: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/gup').wrap; + e.exports = function () { + return n({}); + }; + }, + { '../../lib/gup': 775 }, + ], + 1319: [ + function (t, e, r) { + 'use strict'; + e.exports = { + cellPad: 8, + columnExtentOffset: 10, + columnTitleOffset: 28, + emptyHeaderHeight: 16, + latexCheck: /^\$.*\$$/, + goldenRatio: 1.618, + lineBreaker: '
', + maxDimensionCount: 60, + overdrag: 45, + releaseTransitionDuration: 120, + releaseTransitionEase: 'cubic-out', + scrollbarCaptureWidth: 18, + scrollbarHideDelay: 1e3, + scrollbarHideDuration: 1e3, + scrollbarOffset: 5, + scrollbarWidth: 8, + transitionDuration: 100, + transitionEase: 'cubic-out', + uplift: 5, + wrapSpacer: ' ', + wrapSplitCharacter: ' ', + cn: { + table: 'table', + tableControlView: 'table-control-view', + scrollBackground: 'scroll-background', + yColumn: 'y-column', + columnBlock: 'column-block', + scrollAreaClip: 'scroll-area-clip', + scrollAreaClipRect: 'scroll-area-clip-rect', + columnBoundary: 'column-boundary', + columnBoundaryClippath: 'column-boundary-clippath', + columnBoundaryRect: 'column-boundary-rect', + columnCells: 'column-cells', + columnCell: 'column-cell', + cellRect: 'cell-rect', + cellText: 'cell-text', + cellTextHolder: 'cell-text-holder', + scrollbarKit: 'scrollbar-kit', + scrollbar: 'scrollbar', + scrollbarSlider: 'scrollbar-slider', + scrollbarGlyph: 'scrollbar-glyph', + scrollbarCaptureZone: 'scrollbar-capture-zone', + }, + }; + }, + {}, + ], + 1320: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('../../lib/extend').extendFlat, + a = t('fast-isnumeric'); + function o(t) { + if (Array.isArray(t)) { + for (var e = 0, r = 0; r < t.length; r++) + e = Math.max(e, o(t[r])); + return e; + } + return t; + } + function s(t, e) { + return t + e; + } + function l(t) { + var e, + r = t.slice(), + n = 1 / 0, + i = 0; + for (e = 0; e < r.length; e++) + Array.isArray(r[e]) || (r[e] = [r[e]]), + (n = Math.min(n, r[e].length)), + (i = Math.max(i, r[e].length)); + if (n !== i) + for (e = 0; e < r.length; e++) { + var a = i - r[e].length; + a && (r[e] = r[e].concat(c(a))); + } + return r; + } + function c(t) { + for (var e = new Array(t), r = 0; r < t; r++) e[r] = ''; + return e; + } + function u(t) { + return t.calcdata.columns.reduce(function (e, r) { + return r.xIndex < t.xIndex ? e + r.columnWidth : e; + }, 0); + } + function f(t, e) { + return Object.keys(t).map(function (r) { + return i({}, t[r], { auxiliaryBlocks: e }); + }); + } + function h(t, e) { + for ( + var r, + n = {}, + i = 0, + a = 0, + o = { firstRowIndex: null, lastRowIndex: null, rows: [] }, + s = 0, + l = 0, + c = 0; + c < t.length; + c++ + ) + (r = t[c]), + o.rows.push({ rowIndex: c, rowHeight: r }), + ((a += r) >= e || c === t.length - 1) && + ((n[i] = o), + (o.key = l++), + (o.firstRowIndex = s), + (o.lastRowIndex = c), + (o = { firstRowIndex: null, lastRowIndex: null, rows: [] }), + (i += a), + (s = c + 1), + (a = 0)); + return n; + } + e.exports = function (t, e) { + var r = l(e.cells.values), + p = function (t) { + return t.slice(e.header.values.length, t.length); + }, + d = l(e.header.values); + d.length && !d[0].length && ((d[0] = ['']), (d = l(d))); + var g = d.concat( + p(r).map(function () { + return c((d[0] || ['']).length); + }) + ), + m = e.domain, + v = Math.floor(t._fullLayout._size.w * (m.x[1] - m.x[0])), + y = Math.floor(t._fullLayout._size.h * (m.y[1] - m.y[0])), + x = e.header.values.length + ? g[0].map(function () { + return e.header.height; + }) + : [n.emptyHeaderHeight], + b = r.length + ? r[0].map(function () { + return e.cells.height; + }) + : [], + _ = x.reduce(s, 0), + w = h(b, y - _ + n.uplift), + T = f(h(x, _), []), + k = f(w, T), + M = {}, + A = e._fullInput.columnorder.concat( + p( + r.map(function (t, e) { + return e; + }) + ) + ), + S = g.map(function (t, r) { + var n = Array.isArray(e.columnwidth) + ? e.columnwidth[Math.min(r, e.columnwidth.length - 1)] + : e.columnwidth; + return a(n) ? Number(n) : 1; + }), + E = S.reduce(s, 0); + S = S.map(function (t) { + return (t / E) * v; + }); + var C = Math.max(o(e.header.line.width), o(e.cells.line.width)), + L = { + key: e.uid + t._context.staticPlot, + translateX: m.x[0] * t._fullLayout._size.w, + translateY: t._fullLayout._size.h * (1 - m.y[1]), + size: t._fullLayout._size, + width: v, + maxLineWidth: C, + height: y, + columnOrder: A, + groupHeight: y, + rowBlocks: k, + headerRowBlocks: T, + scrollY: 0, + cells: i({}, e.cells, { values: r }), + headerCells: i({}, e.header, { values: g }), + gdColumns: g.map(function (t) { + return t[0]; + }), + gdColumnsOriginalOrder: g.map(function (t) { + return t[0]; + }), + prevPages: [0, 0], + scrollbarState: { scrollbarScrollInProgress: !1 }, + columns: g.map(function (t, e) { + var r = M[t]; + return ( + (M[t] = (r || 0) + 1), + { + key: t + '__' + M[t], + label: t, + specIndex: e, + xIndex: A[e], + xScale: u, + x: void 0, + calcdata: void 0, + columnWidth: S[e], + } + ); + }), + }; + return ( + L.columns.forEach(function (t) { + (t.calcdata = L), (t.x = u(t)); + }), + L + ); + }; + }, + { '../../lib/extend': 768, './constants': 1319, 'fast-isnumeric': 241 }, + ], + 1321: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib/extend').extendFlat; + (r.splitToPanels = function (t) { + var e = [0, 0], + r = n({}, t, { + key: 'header', + type: 'header', + page: 0, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !0, + values: t.calcdata.headerCells.values[t.specIndex], + rowBlocks: t.calcdata.headerRowBlocks, + calcdata: n({}, t.calcdata, { cells: t.calcdata.headerCells }), + }); + return [ + n({}, t, { + key: 'cells1', + type: 'cells', + page: 0, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !1, + values: t.calcdata.cells.values[t.specIndex], + rowBlocks: t.calcdata.rowBlocks, + }), + n({}, t, { + key: 'cells2', + type: 'cells', + page: 1, + prevPages: e, + currentRepaint: [null, null], + dragHandle: !1, + values: t.calcdata.cells.values[t.specIndex], + rowBlocks: t.calcdata.rowBlocks, + }), + r, + ]; + }), + (r.splitToCells = function (t) { + var e = (function (t) { + var e = t.rowBlocks[t.page], + r = e ? e.rows[0].rowIndex : 0, + n = e ? r + e.rows.length : 0; + return [r, n]; + })(t); + return (t.values || []).slice(e[0], e[1]).map(function (r, n) { + return { + keyWithinBlock: + n + + ('string' == typeof r && r.match(/[<$&> ]/) + ? '_keybuster_' + Math.random() + : ''), + key: e[0] + n, + column: t, + calcdata: t.calcdata, + page: t.page, + rowBlocks: t.rowBlocks, + value: r, + }; + }); + }); + }, + { '../../lib/extend': 768 }, + ], + 1322: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../plots/domain').defaults; + e.exports = function (t, e, r, o) { + function s(r, a) { + return n.coerce(t, e, i, r, a); + } + a(e, o, s), + s('columnwidth'), + s('header.values'), + s('header.format'), + s('header.align'), + s('header.prefix'), + s('header.suffix'), + s('header.height'), + s('header.line.width'), + s('header.line.color'), + s('header.fill.color'), + n.coerceFont(s, 'header.font', n.extendFlat({}, o.font)), + (function (t, e) { + for ( + var r = t.columnorder || [], + n = t.header.values.length, + i = r.slice(0, n), + a = i.slice().sort(function (t, e) { + return t - e; + }), + o = i.map(function (t) { + return a.indexOf(t); + }), + s = o.length; + s < n; + s++ + ) + o.push(s); + e('columnorder', o); + })(e, s), + s('cells.values'), + s('cells.format'), + s('cells.align'), + s('cells.prefix'), + s('cells.suffix'), + s('cells.height'), + s('cells.line.width'), + s('cells.line.color'), + s('cells.fill.color'), + n.coerceFont(s, 'cells.font', n.extendFlat({}, o.font)), + (e._length = null); + }; + }, + { '../../lib': 778, '../../plots/domain': 855, './attributes': 1316 }, + ], + 1323: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('./calc'), + plot: t('./plot'), + moduleType: 'trace', + name: 'table', + basePlotModule: t('./base_plot'), + categories: ['noOpacity'], + meta: {}, + }; + }, + { + './attributes': 1316, + './base_plot': 1317, + './calc': 1318, + './defaults': 1322, + './plot': 1324, + }, + ], + 1324: [ + function (t, e, r) { + 'use strict'; + var n = t('./constants'), + i = t('d3'), + a = t('../../lib/gup'), + o = t('../../components/drawing'), + s = t('../../lib/svg_text_utils'), + l = t('../../lib').raiseToTop, + c = t('../../lib').strTranslate, + u = t('../../lib').cancelTransition, + f = t('./data_preparation_helper'), + h = t('./data_split_helpers'), + p = t('../../components/color'); + function d(t) { + return Math.ceil(t.calcdata.maxLineWidth / 2); + } + function g(t, e) { + return ( + 'clip' + t._fullLayout._uid + '_scrollAreaBottomClip_' + e.key + ); + } + function m(t, e) { + return ( + 'clip' + + t._fullLayout._uid + + '_columnBoundaryClippath_' + + e.calcdata.key + + '_' + + e.specIndex + ); + } + function v(t) { + return [].concat + .apply( + [], + t.map(function (t) { + return t; + }) + ) + .map(function (t) { + return t.__data__; + }); + } + function y(t, e, r) { + var o = t + .selectAll('.' + n.cn.scrollbarKit) + .data(a.repeat, a.keyFun); + o + .enter() + .append('g') + .classed(n.cn.scrollbarKit, !0) + .style('shape-rendering', 'geometricPrecision'), + o + .each(function (t) { + var e = t.scrollbarState; + (e.totalHeight = (function (t) { + var e = t.rowBlocks; + return ( + O(e, e.length - 1) + + (e.length ? D(e[e.length - 1], 1 / 0) : 1) + ); + })(t)), + (e.scrollableAreaHeight = t.groupHeight - A(t)), + (e.currentlyVisibleHeight = Math.min( + e.totalHeight, + e.scrollableAreaHeight + )), + (e.ratio = e.currentlyVisibleHeight / e.totalHeight), + (e.barLength = Math.max( + e.ratio * e.currentlyVisibleHeight, + n.goldenRatio * n.scrollbarWidth + )), + (e.barWiggleRoom = e.currentlyVisibleHeight - e.barLength), + (e.wiggleRoom = Math.max( + 0, + e.totalHeight - e.scrollableAreaHeight + )), + (e.topY = + 0 === e.barWiggleRoom + ? 0 + : (t.scrollY / e.wiggleRoom) * e.barWiggleRoom), + (e.bottomY = e.topY + e.barLength), + (e.dragMultiplier = e.wiggleRoom / e.barWiggleRoom); + }) + .attr('transform', function (t) { + var e = t.width + n.scrollbarWidth / 2 + n.scrollbarOffset; + return c(e, A(t)); + }); + var s = o.selectAll('.' + n.cn.scrollbar).data(a.repeat, a.keyFun); + s.enter().append('g').classed(n.cn.scrollbar, !0); + var l = s + .selectAll('.' + n.cn.scrollbarSlider) + .data(a.repeat, a.keyFun); + l.enter().append('g').classed(n.cn.scrollbarSlider, !0), + l.attr('transform', function (t) { + return c(0, t.scrollbarState.topY || 0); + }); + var u = l + .selectAll('.' + n.cn.scrollbarGlyph) + .data(a.repeat, a.keyFun); + u + .enter() + .append('line') + .classed(n.cn.scrollbarGlyph, !0) + .attr('stroke', 'black') + .attr('stroke-width', n.scrollbarWidth) + .attr('stroke-linecap', 'round') + .attr('y1', n.scrollbarWidth / 2), + u + .attr('y2', function (t) { + return t.scrollbarState.barLength - n.scrollbarWidth / 2; + }) + .attr('stroke-opacity', function (t) { + return t.columnDragInProgress || + !t.scrollbarState.barWiggleRoom || + r + ? 0 + : 0.4; + }), + u.transition().delay(0).duration(0), + u + .transition() + .delay(n.scrollbarHideDelay) + .duration(n.scrollbarHideDuration) + .attr('stroke-opacity', 0); + var f = s + .selectAll('.' + n.cn.scrollbarCaptureZone) + .data(a.repeat, a.keyFun); + f + .enter() + .append('line') + .classed(n.cn.scrollbarCaptureZone, !0) + .attr('stroke', 'white') + .attr('stroke-opacity', 0.01) + .attr('stroke-width', n.scrollbarCaptureWidth) + .attr('stroke-linecap', 'butt') + .attr('y1', 0) + .on('mousedown', function (r) { + var n = i.event.y, + a = this.getBoundingClientRect(), + o = r.scrollbarState, + s = n - a.top, + l = i.scale + .linear() + .domain([0, o.scrollableAreaHeight]) + .range([0, o.totalHeight]) + .clamp(!0); + (o.topY <= s && s <= o.bottomY) || + E(e, t, null, l(s - o.barLength / 2))(r); + }) + .call( + i.behavior + .drag() + .origin(function (t) { + return ( + i.event.stopPropagation(), + (t.scrollbarState.scrollbarScrollInProgress = !0), + t + ); + }) + .on('drag', E(e, t)) + .on('dragend', function () {}) + ), + f.attr('y2', function (t) { + return t.scrollbarState.scrollableAreaHeight; + }), + e._context.staticPlot && (u.remove(), f.remove()); + } + function x(t, e, r, s) { + var l = (function (t) { + var e = t + .selectAll('.' + n.cn.columnCell) + .data(h.splitToCells, function (t) { + return t.keyWithinBlock; + }); + return ( + e.enter().append('g').classed(n.cn.columnCell, !0), + e.exit().remove(), + e + ); + })( + (function (t) { + var e = t + .selectAll('.' + n.cn.columnCells) + .data(a.repeat, a.keyFun); + return ( + e.enter().append('g').classed(n.cn.columnCells, !0), + e.exit().remove(), + e + ); + })(r) + ); + !(function (t) { + t.each(function (t, e) { + var r = t.calcdata.cells.font, + n = t.column.specIndex, + i = { + size: w(r.size, n, e), + color: w(r.color, n, e), + family: w(r.family, n, e), + }; + (t.rowNumber = t.key), + (t.align = w(t.calcdata.cells.align, n, e)), + (t.cellBorderWidth = w(t.calcdata.cells.line.width, n, e)), + (t.font = i); + }); + })(l), + (function (t) { + t.attr('width', function (t) { + return t.column.columnWidth; + }) + .attr('stroke-width', function (t) { + return t.cellBorderWidth; + }) + .each(function (t) { + var e = i.select(this); + p.stroke( + e, + w( + t.calcdata.cells.line.color, + t.column.specIndex, + t.rowNumber + ) + ), + p.fill( + e, + w( + t.calcdata.cells.fill.color, + t.column.specIndex, + t.rowNumber + ) + ); + }); + })( + (function (t) { + var e = t + .selectAll('.' + n.cn.cellRect) + .data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return e.enter().append('rect').classed(n.cn.cellRect, !0), e; + })(l) + ); + var c = (function (t) { + var e = t + .selectAll('.' + n.cn.cellText) + .data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append('text') + .classed(n.cn.cellText, !0) + .style('cursor', function () { + return 'auto'; + }) + .on('mousedown', function () { + i.event.stopPropagation(); + }), + e + ); + })( + (function (t) { + var e = t + .selectAll('.' + n.cn.cellTextHolder) + .data(a.repeat, function (t) { + return t.keyWithinBlock; + }); + return ( + e + .enter() + .append('g') + .classed(n.cn.cellTextHolder, !0) + .style('shape-rendering', 'geometricPrecision'), + e + ); + })(l) + ); + !(function (t) { + t.each(function (t) { + o.font(i.select(this), t.font); + }); + })(c), + b(c, e, s, t), + z(l); + } + function b(t, e, r, a) { + t.text(function (t) { + var e = t.column.specIndex, + r = t.rowNumber, + a = t.value, + o = 'string' == typeof a, + s = o && a.match(/
/i), + l = !o || s; + t.mayHaveMarkup = o && a.match(/[<&>]/); + var c, + u = 'string' == typeof (c = a) && c.match(n.latexCheck); + t.latex = u; + var f, + h, + p = u ? '' : w(t.calcdata.cells.prefix, e, r) || '', + d = u ? '' : w(t.calcdata.cells.suffix, e, r) || '', + g = u ? null : w(t.calcdata.cells.format, e, r) || null, + m = p + (g ? i.format(g)(t.value) : t.value) + d; + if ( + ((t.wrappingNeeded = !t.wrapped && !l && !u && (f = _(m))), + (t.cellHeightMayIncrease = + s || u || t.mayHaveMarkup || (void 0 === f ? _(m) : f)), + (t.needsConvertToTspans = + t.mayHaveMarkup || t.wrappingNeeded || t.latex), + t.wrappingNeeded) + ) { + var v = ( + ' ' === n.wrapSplitCharacter + ? m.replace(/ i && n.push(a), (i += l); + } + return n; + })(i, l, s); + 1 === u.length && + (u[0] === i.length - 1 + ? u.unshift(u[0] - 1) + : u.push(u[0] + 1)), + u[0] % 2 && u.reverse(), + e.each(function (t, e) { + (t.page = u[e]), (t.scrollY = l); + }), + e.attr('transform', function (t) { + var e = O(t.rowBlocks, t.page) - t.scrollY; + return c(0, e); + }), + t && + (C(t, r, e, u, n.prevPages, n, 0), + C(t, r, e, u, n.prevPages, n, 1), + y(r, t)); + } + } + function E(t, e, r, a) { + return function (o) { + var s = o.calcdata ? o.calcdata : o, + l = e.filter(function (t) { + return s.key === t.key; + }), + c = r || s.scrollbarState.dragMultiplier, + u = s.scrollY; + s.scrollY = void 0 === a ? s.scrollY + c * i.event.dy : a; + var f = l + .selectAll('.' + n.cn.yColumn) + .selectAll('.' + n.cn.columnBlock) + .filter(k); + return S(t, f, l), s.scrollY === u; + }; + } + function C(t, e, r, n, i, a, o) { + n[o] !== i[o] && + (clearTimeout(a.currentRepaint[o]), + (a.currentRepaint[o] = setTimeout(function () { + var a = r.filter(function (t, e) { + return e === o && n[e] !== i[e]; + }); + x(t, e, a, r), (i[o] = n[o]); + }))); + } + function L(t, e, r, a) { + return function () { + var o = i.select(e.parentNode); + o.each(function (t) { + var e = t.fragments; + o.selectAll('tspan.line').each(function (t, r) { + e[r].width = this.getComputedTextLength(); + }); + var r, + i, + a = e[e.length - 1].width, + s = e.slice(0, -1), + l = [], + c = 0, + u = t.column.columnWidth - 2 * n.cellPad; + for (t.value = ''; s.length; ) + c + (i = (r = s.shift()).width + a) > u && + ((t.value += l.join(n.wrapSpacer) + n.lineBreaker), + (l = []), + (c = 0)), + l.push(r.text), + (c += i); + c && (t.value += l.join(n.wrapSpacer)), (t.wrapped = !0); + }), + o.selectAll('tspan.line').remove(), + b(o.select('.' + n.cn.cellText), r, t, a), + i.select(e.parentNode.parentNode).call(z); + }; + } + function I(t, e, r, a, o) { + return function () { + if (!o.settledY) { + var s = i.select(e.parentNode), + l = F(o), + u = o.key - l.firstRowIndex, + f = l.rows[u].rowHeight, + h = o.cellHeightMayIncrease + ? e.parentNode.getBoundingClientRect().height + + 2 * n.cellPad + : f, + p = Math.max(h, f); + p - l.rows[u].rowHeight && + ((l.rows[u].rowHeight = p), + t.selectAll('.' + n.cn.columnCell).call(z), + S(null, t.filter(k), 0), + y(r, a, !0)), + s.attr('transform', function () { + var t = this.parentNode.getBoundingClientRect(), + e = i + .select(this.parentNode) + .select('.' + n.cn.cellRect) + .node() + .getBoundingClientRect(), + r = this.transform.baseVal.consolidate(), + a = e.top - t.top + (r ? r.matrix.f : n.cellPad); + return c( + P( + o, + i + .select(this.parentNode) + .select('.' + n.cn.cellTextHolder) + .node() + .getBoundingClientRect().width + ), + a + ); + }), + (o.settledY = !0); + } + }; + } + function P(t, e) { + switch (t.align) { + case 'left': + return n.cellPad; + case 'right': + return t.column.columnWidth - (e || 0) - n.cellPad; + case 'center': + return (t.column.columnWidth - (e || 0)) / 2; + default: + return n.cellPad; + } + } + function z(t) { + t.attr('transform', function (t) { + var e = t.rowBlocks[0].auxiliaryBlocks.reduce(function (t, e) { + return t + D(e, 1 / 0); + }, 0), + r = D(F(t), t.key); + return c(0, r + e); + }) + .selectAll('.' + n.cn.cellRect) + .attr('height', function (t) { + return ((e = F(t)), + (r = t.key), + e.rows[r - e.firstRowIndex]).rowHeight; + var e, r; + }); + } + function O(t, e) { + for (var r = 0, n = e - 1; n >= 0; n--) r += R(t[n]); + return r; + } + function D(t, e) { + for ( + var r = 0, n = 0; + n < t.rows.length && t.rows[n].rowIndex < e; + n++ + ) + r += t.rows[n].rowHeight; + return r; + } + function R(t) { + var e = t.allRowsHeight; + if (void 0 !== e) return e; + for (var r = 0, n = 0; n < t.rows.length; n++) + r += t.rows[n].rowHeight; + return (t.allRowsHeight = r), r; + } + function F(t) { + return t.rowBlocks[t.page]; + } + e.exports = function (t, e) { + var r = !t._context.staticPlot, + s = t._fullLayout._paper.selectAll('.' + n.cn.table).data( + e.map(function (e) { + var r = a.unwrap(e).trace; + return f(t, r); + }), + a.keyFun + ); + s.exit().remove(), + s + .enter() + .append('g') + .classed(n.cn.table, !0) + .attr('overflow', 'visible') + .style('box-sizing', 'content-box') + .style('position', 'absolute') + .style('left', 0) + .style('overflow', 'visible') + .style('shape-rendering', 'crispEdges') + .style('pointer-events', 'all'), + s + .attr('width', function (t) { + return t.width + t.size.l + t.size.r; + }) + .attr('height', function (t) { + return t.height + t.size.t + t.size.b; + }) + .attr('transform', function (t) { + return c(t.translateX, t.translateY); + }); + var p = s + .selectAll('.' + n.cn.tableControlView) + .data(a.repeat, a.keyFun), + b = p + .enter() + .append('g') + .classed(n.cn.tableControlView, !0) + .style('box-sizing', 'content-box'); + if (r) { + var _ = 'onwheel' in document ? 'wheel' : 'mousewheel'; + b.on('mousemove', function (e) { + p.filter(function (t) { + return e === t; + }).call(y, t); + }) + .on(_, function (e) { + if (!e.scrollbarState.wheeling) { + e.scrollbarState.wheeling = !0; + var r = e.scrollY + i.event.deltaY; + E(t, p, null, r)(e) || + (i.event.stopPropagation(), i.event.preventDefault()), + (e.scrollbarState.wheeling = !1); + } + }) + .call(y, t, !0); + } + p.attr('transform', function (t) { + return c(t.size.l, t.size.t); + }); + var w = p + .selectAll('.' + n.cn.scrollBackground) + .data(a.repeat, a.keyFun); + w + .enter() + .append('rect') + .classed(n.cn.scrollBackground, !0) + .attr('fill', 'none'), + w + .attr('width', function (t) { + return t.width; + }) + .attr('height', function (t) { + return t.height; + }), + p.each(function (e) { + o.setClipUrl(i.select(this), g(t, e), t); + }); + var A = p.selectAll('.' + n.cn.yColumn).data(function (t) { + return t.columns; + }, a.keyFun); + A.enter().append('g').classed(n.cn.yColumn, !0), + A.exit().remove(), + A.attr('transform', function (t) { + return c(t.x, 0); + }), + r && + A.call( + i.behavior + .drag() + .origin(function (e) { + return ( + T(i.select(this), e, -n.uplift), + l(this), + (e.calcdata.columnDragInProgress = !0), + y( + p.filter(function (t) { + return e.calcdata.key === t.key; + }), + t + ), + e + ); + }) + .on('drag', function (t) { + var e = i.select(this), + r = function (e) { + return ( + (t === e ? i.event.x : e.x) + e.columnWidth / 2 + ); + }; + (t.x = Math.max( + -n.overdrag, + Math.min( + t.calcdata.width + n.overdrag - t.columnWidth, + i.event.x + ) + )), + v(A) + .filter(function (e) { + return e.calcdata.key === t.calcdata.key; + }) + .sort(function (t, e) { + return r(t) - r(e); + }) + .forEach(function (e, r) { + (e.xIndex = r), (e.x = t === e ? e.x : e.xScale(e)); + }), + A.filter(function (e) { + return t !== e; + }) + .transition() + .ease(n.transitionEase) + .duration(n.transitionDuration) + .attr('transform', function (t) { + return c(t.x, 0); + }), + e.call(u).attr('transform', c(t.x, -n.uplift)); + }) + .on('dragend', function (e) { + var r = i.select(this), + n = e.calcdata; + (e.x = e.xScale(e)), + (e.calcdata.columnDragInProgress = !1), + T(r, e, 0), + (function (t, e, r) { + var n = e.gdColumnsOriginalOrder; + e.gdColumns.sort(function (t, e) { + return r[n.indexOf(t)] - r[n.indexOf(e)]; + }), + (e.columnorder = r), + t.emit('plotly_restyle'); + })( + t, + n, + n.columns.map(function (t) { + return t.xIndex; + }) + ); + }) + ), + A.each(function (e) { + o.setClipUrl(i.select(this), m(t, e), t); + }); + var C = A.selectAll('.' + n.cn.columnBlock).data( + h.splitToPanels, + a.keyFun + ); + C.enter() + .append('g') + .classed(n.cn.columnBlock, !0) + .attr('id', function (t) { + return t.key; + }), + C.style('cursor', function (t) { + return t.dragHandle + ? 'ew-resize' + : t.calcdata.scrollbarState.barWiggleRoom + ? 'ns-resize' + : 'default'; + }); + var L = C.filter(M), + I = C.filter(k); + r && + I.call( + i.behavior + .drag() + .origin(function (t) { + return i.event.stopPropagation(), t; + }) + .on('drag', E(t, p, -1)) + .on('dragend', function () {}) + ), + x(t, p, L, C), + x(t, p, I, C); + var P = p + .selectAll('.' + n.cn.scrollAreaClip) + .data(a.repeat, a.keyFun); + P.enter() + .append('clipPath') + .classed(n.cn.scrollAreaClip, !0) + .attr('id', function (e) { + return g(t, e); + }); + var z = P.selectAll('.' + n.cn.scrollAreaClipRect).data( + a.repeat, + a.keyFun + ); + z + .enter() + .append('rect') + .classed(n.cn.scrollAreaClipRect, !0) + .attr('x', -n.overdrag) + .attr('y', -n.uplift) + .attr('fill', 'none'), + z + .attr('width', function (t) { + return t.width + 2 * n.overdrag; + }) + .attr('height', function (t) { + return t.height + n.uplift; + }), + A.selectAll('.' + n.cn.columnBoundary) + .data(a.repeat, a.keyFun) + .enter() + .append('g') + .classed(n.cn.columnBoundary, !0); + var O = A.selectAll('.' + n.cn.columnBoundaryClippath).data( + a.repeat, + a.keyFun + ); + O.enter() + .append('clipPath') + .classed(n.cn.columnBoundaryClippath, !0), + O.attr('id', function (e) { + return m(t, e); + }); + var D = O.selectAll('.' + n.cn.columnBoundaryRect).data( + a.repeat, + a.keyFun + ); + D.enter() + .append('rect') + .classed(n.cn.columnBoundaryRect, !0) + .attr('fill', 'none'), + D.attr('width', function (t) { + return t.columnWidth + 2 * d(t); + }) + .attr('height', function (t) { + return t.calcdata.height + 2 * d(t) + n.uplift; + }) + .attr('x', function (t) { + return -d(t); + }) + .attr('y', function (t) { + return -d(t); + }), + S(null, I, p); + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/gup': 775, + '../../lib/svg_text_utils': 803, + './constants': 1319, + './data_preparation_helper': 1320, + './data_split_helpers': 1321, + d3: 169, + }, + ], + 1325: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/template_attributes').hovertemplateAttrs, + i = t('../../plots/template_attributes').texttemplateAttrs, + a = t('../../components/colorscale/attributes'), + o = t('../../plots/domain').attributes, + s = t('../pie/attributes'), + l = t('../sunburst/attributes'), + c = t('./constants'), + u = t('../../lib/extend').extendFlat; + e.exports = { + labels: l.labels, + parents: l.parents, + values: l.values, + branchvalues: l.branchvalues, + count: l.count, + level: l.level, + maxdepth: l.maxdepth, + tiling: { + packing: { + valType: 'enumerated', + values: [ + 'squarify', + 'binary', + 'dice', + 'slice', + 'slice-dice', + 'dice-slice', + ], + dflt: 'squarify', + editType: 'plot', + }, + squarifyratio: { + valType: 'number', + min: 1, + dflt: 1, + editType: 'plot', + }, + flip: { + valType: 'flaglist', + flags: ['x', 'y'], + dflt: '', + editType: 'plot', + }, + pad: { valType: 'number', min: 0, dflt: 3, editType: 'plot' }, + editType: 'calc', + }, + marker: u( + { + pad: { + t: { valType: 'number', min: 0, editType: 'plot' }, + l: { valType: 'number', min: 0, editType: 'plot' }, + r: { valType: 'number', min: 0, editType: 'plot' }, + b: { valType: 'number', min: 0, editType: 'plot' }, + editType: 'calc', + }, + colors: l.marker.colors, + depthfade: { + valType: 'enumerated', + values: [!0, !1, 'reversed'], + editType: 'style', + }, + line: l.marker.line, + editType: 'calc', + }, + a('marker', { colorAttr: 'colors', anim: !1 }) + ), + pathbar: { + visible: { valType: 'boolean', dflt: !0, editType: 'plot' }, + side: { + valType: 'enumerated', + values: ['top', 'bottom'], + dflt: 'top', + editType: 'plot', + }, + edgeshape: { + valType: 'enumerated', + values: ['>', '<', '|', '/', '\\'], + dflt: '>', + editType: 'plot', + }, + thickness: { valType: 'number', min: 12, editType: 'plot' }, + textfont: u({}, s.textfont, {}), + editType: 'calc', + }, + text: s.text, + textinfo: l.textinfo, + texttemplate: i( + { editType: 'plot' }, + { keys: c.eventDataKeys.concat(['label', 'value']) } + ), + hovertext: s.hovertext, + hoverinfo: l.hoverinfo, + hovertemplate: n({}, { keys: c.eventDataKeys }), + textfont: s.textfont, + insidetextfont: s.insidetextfont, + outsidetextfont: u({}, s.outsidetextfont, {}), + textposition: { + valType: 'enumerated', + values: [ + 'top left', + 'top center', + 'top right', + 'middle left', + 'middle center', + 'middle right', + 'bottom left', + 'bottom center', + 'bottom right', + ], + dflt: 'top left', + editType: 'plot', + }, + sort: s.sort, + root: l.root, + domain: o({ name: 'treemap', trace: !0, editType: 'calc' }), + }; + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plots/domain': 855, + '../../plots/template_attributes': 906, + '../pie/attributes': 1161, + '../sunburst/attributes': 1299, + './constants': 1328, + }, + ], + 1326: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/plots'); + (r.name = 'treemap'), + (r.plot = function (t, e, i, a) { + n.plotBasePlot(r.name, t, e, i, a); + }), + (r.clean = function (t, e, i, a) { + n.cleanBasePlot(r.name, t, e, i, a); + }); + }, + { '../../plots/plots': 891 }, + ], + 1327: [ + function (t, e, r) { + 'use strict'; + var n = t('../sunburst/calc'); + (r.calc = function (t, e) { + return n.calc(t, e); + }), + (r.crossTraceCalc = function (t) { + return n._runCrossTraceCalc('treemap', t); + }); + }, + { '../sunburst/calc': 1301 }, + ], + 1328: [ + function (t, e, r) { + 'use strict'; + e.exports = { + CLICK_TRANSITION_TIME: 750, + CLICK_TRANSITION_EASING: 'poly', + eventDataKeys: [ + 'currentPath', + 'root', + 'entry', + 'percentRoot', + 'percentEntry', + 'percentParent', + ], + gapWithPathbar: 1, + }; + }, + {}, + ], + 1329: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../../components/color'), + o = t('../../plots/domain').defaults, + s = t('../bar/defaults').handleText, + l = t('../bar/constants').TEXTPAD, + c = t('../../components/colorscale'), + u = c.hasColorscale, + f = c.handleDefaults; + e.exports = function (t, e, r, c) { + function h(r, a) { + return n.coerce(t, e, i, r, a); + } + var p = h('labels'), + d = h('parents'); + if (p && p.length && d && d.length) { + var g = h('values'); + g && g.length ? h('branchvalues') : h('count'), + h('level'), + h('maxdepth'), + 'squarify' === h('tiling.packing') && h('tiling.squarifyratio'), + h('tiling.flip'), + h('tiling.pad'); + var m = h('text'); + h('texttemplate'), + e.texttemplate || + h('textinfo', Array.isArray(m) ? 'text+label' : 'label'), + h('hovertext'), + h('hovertemplate'); + var v = h('pathbar.visible'); + s(t, e, c, h, 'auto', { + hasPathbar: v, + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !1, + moduleHasCliponaxis: !1, + moduleHasTextangle: !1, + moduleHasInsideanchor: !1, + }), + h('textposition'); + var y = -1 !== e.textposition.indexOf('bottom'); + h('marker.line.width') && h('marker.line.color', c.paper_bgcolor); + var x = h('marker.colors'), + b = (e._hasColorscale = + u(t, 'marker', 'colors') || (t.marker || {}).coloraxis); + b + ? f(t, e, c, h, { prefix: 'marker.', cLetter: 'c' }) + : h('marker.depthfade', !(x || []).length); + var _ = 2 * e.textfont.size; + h('marker.pad.t', y ? _ / 4 : _), + h('marker.pad.l', _ / 4), + h('marker.pad.r', _ / 4), + h('marker.pad.b', y ? _ : _ / 4), + b && f(t, e, c, h, { prefix: 'marker.', cLetter: 'c' }), + (e._hovered = { + marker: { + line: { width: 2, color: a.contrast(c.paper_bgcolor) }, + }, + }), + v && + (h('pathbar.thickness', e.pathbar.textfont.size + 2 * l), + h('pathbar.side'), + h('pathbar.edgeshape')), + h('sort'), + h('root.color'), + o(e, c, h), + (e._length = null); + } else e.visible = !1; + }; + }, + { + '../../components/color': 643, + '../../components/colorscale': 655, + '../../lib': 778, + '../../plots/domain': 855, + '../bar/constants': 923, + '../bar/defaults': 925, + './attributes': 1325, + }, + ], + 1330: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../../lib/svg_text_utils'), + s = t('./partition'), + l = t('./style').styleOne, + c = t('./constants'), + u = t('../sunburst/helpers'), + f = t('../sunburst/fx'); + e.exports = function (t, e, r, h, p) { + var d = p.barDifY, + g = p.width, + m = p.height, + v = p.viewX, + y = p.viewY, + x = p.pathSlice, + b = p.toMoveInsideSlice, + _ = p.strTransform, + w = p.hasTransition, + T = p.handleSlicesExit, + k = p.makeUpdateSliceInterpolator, + M = p.makeUpdateTextInterpolator, + A = {}, + S = t._fullLayout, + E = e[0], + C = E.trace, + L = E.hierarchy, + I = g / C._entryDepth, + P = u.listPath(r.data, 'id'), + z = s(L.copy(), [g, m], { + packing: 'dice', + pad: { inner: 0, top: 0, left: 0, right: 0, bottom: 0 }, + }).descendants(); + (z = z.filter(function (t) { + var e = P.indexOf(t.data.id); + return ( + -1 !== e && + ((t.x0 = I * e), + (t.x1 = I * (e + 1)), + (t.y0 = d), + (t.y1 = d + m), + (t.onPathbar = !0), + !0) + ); + })).reverse(), + (h = h.data(z, u.getPtId)) + .enter() + .append('g') + .classed('pathbar', !0), + T(h, !0, A, [g, m], x), + h.order(); + var O = h; + w && + (O = O.transition().each('end', function () { + var e = n.select(this); + u.setSliceCursor(e, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + O.each(function (s) { + (s._hoverX = v(s.x1 - Math.min(g, m) / 2)), + (s._hoverY = y(s.y1 - m / 2)); + var h = n.select(this), + p = i.ensureSingle(h, 'path', 'surface', function (t) { + t.style('pointer-events', 'all'); + }); + w + ? p.transition().attrTween('d', function (t) { + var e = k(t, !0, A, [g, m]); + return function (t) { + return x(e(t)); + }; + }) + : p.attr('d', x), + h + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: c.eventDataKeys, + transitionTime: c.CLICK_TRANSITION_TIME, + transitionEasing: c.CLICK_TRANSITION_EASING, + }) + .call(u.setSliceCursor, t, { + hideOnRoot: !1, + hideOnLeaves: !1, + isTransitioning: t._transitioning, + }), + p.call(l, s, C, { hovered: !1 }), + (s._text = + (u.getPtLabel(s) || '').split('
').join(' ') || ''); + var d = i.ensureSingle(h, 'g', 'slicetext'), + T = i.ensureSingle(d, 'text', '', function (t) { + t.attr('data-notex', 1); + }), + E = i.ensureUniformFontSize( + t, + u.determineTextFont(C, s, S.font, { onPathbar: !0 }) + ); + T.text(s._text || ' ') + .classed('slicetext', !0) + .attr('text-anchor', 'start') + .call(a.font, E) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(T.node())), + (s.transform = b(s, { fontSize: E.size, onPathbar: !0 })), + (s.transform.fontSize = E.size), + w + ? T.transition().attrTween('transform', function (t) { + var e = M(t, !0, A, [g, m]); + return function (t) { + return _(e(t)); + }; + }) + : T.attr('transform', _(s)); + }); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../sunburst/fx': 1304, + '../sunburst/helpers': 1305, + './constants': 1328, + './partition': 1335, + './style': 1337, + d3: 169, + }, + ], + 1331: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../../lib/svg_text_utils'), + s = t('./partition'), + l = t('./style').styleOne, + c = t('./constants'), + u = t('../sunburst/helpers'), + f = t('../sunburst/fx'), + h = t('../sunburst/plot').formatSliceLabel; + e.exports = function (t, e, r, p, d) { + var g = d.width, + m = d.height, + v = d.viewX, + y = d.viewY, + x = d.pathSlice, + b = d.toMoveInsideSlice, + _ = d.strTransform, + w = d.hasTransition, + T = d.handleSlicesExit, + k = d.makeUpdateSliceInterpolator, + M = d.makeUpdateTextInterpolator, + A = d.prevEntry, + S = t._fullLayout, + E = e[0].trace, + C = -1 !== E.textposition.indexOf('left'), + L = -1 !== E.textposition.indexOf('right'), + I = -1 !== E.textposition.indexOf('bottom'), + P = (!I && !E.marker.pad.t) || (I && !E.marker.pad.b), + z = s(r, [g, m], { + packing: E.tiling.packing, + squarifyratio: E.tiling.squarifyratio, + flipX: E.tiling.flip.indexOf('x') > -1, + flipY: E.tiling.flip.indexOf('y') > -1, + pad: { + inner: E.tiling.pad, + top: E.marker.pad.t, + left: E.marker.pad.l, + right: E.marker.pad.r, + bottom: E.marker.pad.b, + }, + }).descendants(), + O = 1 / 0, + D = -1 / 0; + z.forEach(function (t) { + var e = t.depth; + e >= E._maxDepth + ? ((t.x0 = t.x1 = (t.x0 + t.x1) / 2), + (t.y0 = t.y1 = (t.y0 + t.y1) / 2)) + : ((O = Math.min(O, e)), (D = Math.max(D, e))); + }), + (p = p.data(z, u.getPtId)), + (E._maxVisibleLayers = isFinite(D) ? D - O + 1 : 0), + p.enter().append('g').classed('slice', !0), + T(p, !1, {}, [g, m], x), + p.order(); + var R = null; + if (w && A) { + var F = u.getPtId(A); + p.each(function (t) { + null === R && + u.getPtId(t) === F && + (R = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }); + }); + } + var B = function () { + return R || { x0: 0, x1: g, y0: 0, y1: m }; + }, + N = p; + return ( + w && + (N = N.transition().each('end', function () { + var e = n.select(this); + u.setSliceCursor(e, t, { + hideOnRoot: !0, + hideOnLeaves: !1, + isTransitioning: !1, + }); + })), + N.each(function (s) { + var p = u.isHeader(s, E); + (s._hoverX = v(s.x1 - E.marker.pad.r)), + (s._hoverY = y( + I ? s.y1 - E.marker.pad.b / 2 : s.y0 + E.marker.pad.t / 2 + )); + var d = n.select(this), + T = i.ensureSingle(d, 'path', 'surface', function (t) { + t.style('pointer-events', 'all'); + }); + w + ? T.transition().attrTween('d', function (t) { + var e = k(t, !1, B(), [g, m]); + return function (t) { + return x(e(t)); + }; + }) + : T.attr('d', x), + d + .call(f, r, t, e, { + styleOne: l, + eventDataKeys: c.eventDataKeys, + transitionTime: c.CLICK_TRANSITION_TIME, + transitionEasing: c.CLICK_TRANSITION_EASING, + }) + .call(u.setSliceCursor, t, { + isTransitioning: t._transitioning, + }), + T.call(l, s, E, { hovered: !1 }), + s.x0 === s.x1 || s.y0 === s.y1 + ? (s._text = '') + : (s._text = p + ? P + ? '' + : u.getPtLabel(s) || '' + : h(s, r, E, e, S) || ''); + var A = i.ensureSingle(d, 'g', 'slicetext'), + z = i.ensureSingle(A, 'text', '', function (t) { + t.attr('data-notex', 1); + }), + O = i.ensureUniformFontSize( + t, + u.determineTextFont(E, s, S.font) + ); + z + .text(s._text || ' ') + .classed('slicetext', !0) + .attr('text-anchor', L ? 'end' : C || p ? 'start' : 'middle') + .call(a.font, O) + .call(o.convertToTspans, t), + (s.textBB = a.bBox(z.node())), + (s.transform = b(s, { fontSize: O.size, isHeader: p })), + (s.transform.fontSize = O.size), + w + ? z.transition().attrTween('transform', function (t) { + var e = M(t, !1, B(), [g, m]); + return function (t) { + return _(e(t)); + }; + }) + : z.attr('transform', _(s)); + }), + R + ); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../../lib/svg_text_utils': 803, + '../sunburst/fx': 1304, + '../sunburst/helpers': 1305, + '../sunburst/plot': 1309, + './constants': 1328, + './partition': 1335, + './style': 1337, + d3: 169, + }, + ], + 1332: [ + function (t, e, r) { + 'use strict'; + e.exports = { + moduleType: 'trace', + name: 'treemap', + basePlotModule: t('./base_plot'), + categories: [], + animatable: !0, + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults'), + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc').calc, + crossTraceCalc: t('./calc').crossTraceCalc, + plot: t('./plot'), + style: t('./style').style, + colorbar: t('../scatter/marker_colorbar'), + meta: {}, + }; + }, + { + '../scatter/marker_colorbar': 1205, + './attributes': 1325, + './base_plot': 1326, + './calc': 1327, + './defaults': 1329, + './layout_attributes': 1333, + './layout_defaults': 1334, + './plot': 1336, + './style': 1337, + }, + ], + 1333: [ + function (t, e, r) { + 'use strict'; + e.exports = { + treemapcolorway: { valType: 'colorlist', editType: 'calc' }, + extendtreemapcolors: { + valType: 'boolean', + dflt: !0, + editType: 'calc', + }, + }; + }, + {}, + ], + 1334: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e) { + function r(r, a) { + return n.coerce(t, e, i, r, a); + } + r('treemapcolorway', e.colorway), r('extendtreemapcolors'); + }; + }, + { '../../lib': 778, './layout_attributes': 1333 }, + ], + 1335: [ + function (t, e, r) { + 'use strict'; + var n = t('d3-hierarchy'); + e.exports = function (t, e, r) { + var i, + a = r.flipX, + o = r.flipY, + s = 'dice-slice' === r.packing, + l = r.pad[o ? 'bottom' : 'top'], + c = r.pad[a ? 'right' : 'left'], + u = r.pad[a ? 'left' : 'right'], + f = r.pad[o ? 'top' : 'bottom']; + s && ((i = c), (c = l), (l = i), (i = u), (u = f), (f = i)); + var h = n + .treemap() + .tile( + (function (t, e) { + switch (t) { + case 'squarify': + return n.treemapSquarify.ratio(e); + case 'binary': + return n.treemapBinary; + case 'dice': + return n.treemapDice; + case 'slice': + return n.treemapSlice; + default: + return n.treemapSliceDice; + } + })(r.packing, r.squarifyratio) + ) + .paddingInner(r.pad.inner) + .paddingLeft(c) + .paddingRight(u) + .paddingTop(l) + .paddingBottom(f) + .size(s ? [e[1], e[0]] : e)(t); + return ( + (s || a || o) && + (function t(e, r, n) { + var i; + n.swapXY && + ((i = e.x0), + (e.x0 = e.y0), + (e.y0 = i), + (i = e.x1), + (e.x1 = e.y1), + (e.y1 = i)); + n.flipX && + ((i = e.x0), (e.x0 = r[0] - e.x1), (e.x1 = r[0] - i)); + n.flipY && + ((i = e.y0), (e.y0 = r[1] - e.y1), (e.y1 = r[1] - i)); + var a = e.children; + if (a) for (var o = 0; o < a.length; o++) t(a[o], r, n); + })(h, e, { swapXY: s, flipX: a, flipY: o }), + h + ); + }; + }, + { 'd3-hierarchy': 161 }, + ], + 1336: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../sunburst/helpers'), + a = t('../../lib'), + o = t('../bar/constants').TEXTPAD, + s = t('../bar/plot').toMoveInsideBar, + l = t('../bar/uniform_text'), + c = l.recordMinTextSize, + u = l.clearMinTextSize, + f = t('../bar/style').resizeText, + h = t('./constants'), + p = t('./draw_descendants'), + d = t('./draw_ancestors'); + function g(t) { + return i.isHierarchyRoot(t) ? '' : i.getPtId(t); + } + function m(t, e, r, l) { + var u = t._fullLayout, + f = e[0], + m = f.trace, + v = f.hierarchy, + y = i.findEntryWithLevel(v, m.level), + x = n.select(r), + b = x.selectAll('g.pathbar'), + _ = x.selectAll('g.slice'); + if (!y) return b.remove(), void _.remove(); + var w = i.isHierarchyRoot(y), + T = !u.uniformtext.mode && i.hasTransition(l), + k = i.getMaxDepth(m), + M = u._size, + A = m.domain, + S = M.w * (A.x[1] - A.x[0]), + E = M.h * (A.y[1] - A.y[0]), + C = S, + L = m.pathbar.thickness, + I = m.marker.line.width + h.gapWithPathbar, + P = m.pathbar.visible + ? m.pathbar.side.indexOf('bottom') > -1 + ? E + I + : -(L + I) + : 0, + z = { x0: C, x1: C, y0: P, y1: P + L }, + O = function (t, e, r) { + var n = m.tiling.pad, + i = function (t) { + return t - n <= e.x0; + }, + a = function (t) { + return t + n >= e.x1; + }, + o = function (t) { + return t - n <= e.y0; + }, + s = function (t) { + return t + n >= e.y1; + }; + return { + x0: i(t.x0 - n) ? 0 : a(t.x0 - n) ? r[0] : t.x0, + x1: i(t.x1 + n) ? 0 : a(t.x1 + n) ? r[0] : t.x1, + y0: o(t.y0 - n) ? 0 : s(t.y0 - n) ? r[1] : t.y0, + y1: o(t.y1 + n) ? 0 : s(t.y1 + n) ? r[1] : t.y1, + }; + }, + D = null, + R = {}, + F = {}, + B = null, + N = function (t, e) { + return e ? R[g(t)] : F[g(t)]; + }, + j = function (t, e, r, n) { + if (e) return R[g(v)] || z; + var i = F[m.level] || r; + return (function (t) { + return t.data.depth - y.data.depth < k; + })(t) + ? O(t, i, n) + : {}; + }; + f.hasMultipleRoots && w && k++, + (m._maxDepth = k), + (m._backgroundColor = u.paper_bgcolor), + (m._entryDepth = y.data.depth), + (m._atRootLevel = w); + var U = -S / 2 + M.l + (M.w * (A.x[1] + A.x[0])) / 2, + V = -E / 2 + M.t + M.h * (1 - (A.y[1] + A.y[0]) / 2), + q = function (t) { + return U + t; + }, + H = function (t) { + return V + t; + }, + G = H(0), + Y = q(0), + W = function (t) { + return Y + t; + }, + X = function (t) { + return G + t; + }; + function Z(t, e) { + return t + ',' + e; + } + var J = W(0), + K = function (t) { + t.x = Math.max(J, t.x); + }, + Q = m.pathbar.edgeshape, + $ = function (t, e) { + var r = t.x0, + n = t.x1, + i = t.y0, + a = t.y1, + l = t.textBB, + f = function (t) { + return -1 !== m.textposition.indexOf(t); + }, + h = f('bottom'), + p = + f('top') || (e.isHeader && !h) + ? 'start' + : h + ? 'end' + : 'middle', + d = f('right'), + g = f('left') || e.onPathbar ? -1 : d ? 1 : 0, + v = m.marker.pad; + if (e.isHeader) { + if ((r += v.l - o) >= (n -= v.r - o)) { + var y = (r + n) / 2; + (r = y), (n = y); + } + var x; + h + ? i < (x = a - v.b) && x < a && (i = x) + : i < (x = i + v.t) && x < a && (a = x); + } + var b = s(r, n, i, a, l, { + isHorizontal: !1, + constrained: !0, + angle: 0, + anchor: p, + leftToRight: g, + }); + return ( + (b.fontSize = e.fontSize), + (b.targetX = q(b.targetX)), + (b.targetY = H(b.targetY)), + isNaN(b.targetX) || isNaN(b.targetY) + ? {} + : (r !== n && i !== a && c(m.type, b, u), + { + scale: b.scale, + rotate: b.rotate, + textX: b.textX, + textY: b.textY, + anchorX: b.anchorX, + anchorY: b.anchorY, + targetX: b.targetX, + targetY: b.targetY, + }) + ); + }, + tt = function (t, e) { + for (var r, n = 0, i = t; !r && n < k; ) + n++, (i = i.parent) ? (r = N(i, e)) : (n = k); + return r || {}; + }, + et = function (t, e, r, i) { + var o, + s = N(t, e); + if (s) o = s; + else if (e) o = z; + else if (D) + if (t.parent) { + var l = B || r; + l && !e + ? (o = O(t, l, i)) + : ((o = {}), a.extendFlat(o, tt(t, e))); + } else o = t; + else o = {}; + return n.interpolate(o, { + x0: t.x0, + x1: t.x1, + y0: t.y0, + y1: t.y1, + }); + }, + rt = function (t, e, r, o) { + var s = N(t, e), + l = {}, + f = j(t, e, r, o); + a.extendFlat(l, { + transform: $( + { + x0: f.x0, + x1: f.x1, + y0: f.y0, + y1: f.y1, + textBB: t.textBB, + _text: t._text, + }, + { isHeader: i.isHeader(t, m) } + ), + }), + s ? (l = s) : t.parent && a.extendFlat(l, tt(t, e)); + var h = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && c(m.type, h, u), + n.interpolate(l, { + transform: { + scale: h.scale, + rotate: h.rotate, + textX: h.textX, + textY: h.textY, + anchorX: h.anchorX, + anchorY: h.anchorY, + targetX: h.targetX, + targetY: h.targetY, + }, + }) + ); + }, + nt = function (t, e, r, i, a) { + var o = i[0], + s = i[1]; + T + ? t + .exit() + .transition() + .each(function () { + var t = n.select(this); + t + .select('path.surface') + .transition() + .attrTween('d', function (t) { + var r = (function (t, e, r, i) { + var a, + o = N(t, e); + if (e) a = z; + else { + var s = N(y, e); + a = s ? O(t, s, i) : {}; + } + return n.interpolate(o, a); + })(t, e, 0, [o, s]); + return function (t) { + return a(r(t)); + }; + }), + t.select('g.slicetext').attr('opacity', 0); + }) + .remove() + : t.exit().remove(); + }, + it = function (t) { + var e = t.transform; + return ( + t.x0 !== t.x1 && t.y0 !== t.y1 && c(m.type, e, u), + a.getTextTransform({ + textX: e.textX, + textY: e.textY, + anchorX: e.anchorX, + anchorY: e.anchorY, + targetX: e.targetX, + targetY: e.targetY, + scale: e.scale, + rotate: e.rotate, + }) + ); + }; + T && + (b.each(function (t) { + (R[g(t)] = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }), + t.transform && + (R[g(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }); + }), + _.each(function (t) { + (F[g(t)] = { x0: t.x0, x1: t.x1, y0: t.y0, y1: t.y1 }), + t.transform && + (F[g(t)].transform = { + textX: t.transform.textX, + textY: t.transform.textY, + anchorX: t.transform.anchorX, + anchorY: t.transform.anchorY, + targetX: t.transform.targetX, + targetY: t.transform.targetY, + scale: t.transform.scale, + rotate: t.transform.rotate, + }), + !D && i.isEntry(t) && (D = t); + })), + (B = p(t, e, y, _, { + width: S, + height: E, + viewX: q, + viewY: H, + pathSlice: function (t) { + var e = q(t.x0), + r = q(t.x1), + n = H(t.y0), + i = H(t.y1), + a = r - e, + o = i - n; + if (!a || !o) return ''; + return ( + 'M' + + Z(e, n + 0) + + 'L' + + Z(r - 0, n) + + 'L' + + Z(r, i - 0) + + 'L' + + Z(e + 0, i) + + 'Z' + ); + }, + toMoveInsideSlice: $, + prevEntry: D, + makeUpdateSliceInterpolator: et, + makeUpdateTextInterpolator: rt, + handleSlicesExit: nt, + hasTransition: T, + strTransform: it, + })), + m.pathbar.visible + ? d(t, e, y, b, { + barDifY: P, + width: C, + height: L, + viewX: W, + viewY: X, + pathSlice: function (t) { + var e = W(Math.max(Math.min(t.x0, t.x0), 0)), + r = W(Math.min(Math.max(t.x1, t.x1), C)), + n = X(t.y0), + i = X(t.y1), + a = L / 2, + o = {}, + s = {}; + (o.x = e), (s.x = r), (o.y = s.y = (n + i) / 2); + var l = { x: e, y: n }, + c = { x: r, y: n }, + u = { x: r, y: i }, + f = { x: e, y: i }; + return ( + '>' === Q + ? ((l.x -= a), (c.x -= a), (u.x -= a), (f.x -= a)) + : '/' === Q + ? ((u.x -= a), + (f.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : '\\' === Q + ? ((l.x -= a), + (c.x -= a), + (o.x -= a / 2), + (s.x -= a / 2)) + : '<' === Q && ((o.x -= a), (s.x -= a)), + K(l), + K(f), + K(o), + K(c), + K(u), + K(s), + 'M' + + Z(l.x, l.y) + + 'L' + + Z(c.x, c.y) + + 'L' + + Z(s.x, s.y) + + 'L' + + Z(u.x, u.y) + + 'L' + + Z(f.x, f.y) + + 'L' + + Z(o.x, o.y) + + 'Z' + ); + }, + toMoveInsideSlice: $, + makeUpdateSliceInterpolator: et, + makeUpdateTextInterpolator: rt, + handleSlicesExit: nt, + hasTransition: T, + strTransform: it, + }) + : b.remove(); + } + e.exports = function (t, e, r, a) { + var o, + s, + l = t._fullLayout, + c = l._treemaplayer, + h = !r; + (u('treemap', l), + (o = c.selectAll('g.trace.treemap').data(e, function (t) { + return t[0].trace.uid; + })) + .enter() + .append('g') + .classed('trace', !0) + .classed('treemap', !0), + o.order(), + !l.uniformtext.mode && i.hasTransition(r)) + ? (a && (s = a()), + n + .transition() + .duration(r.duration) + .ease(r.easing) + .each('end', function () { + s && s(); + }) + .each('interrupt', function () { + s && s(); + }) + .each(function () { + c.selectAll('g.trace').each(function (e) { + m(t, e, this, r); + }); + })) + : (o.each(function (e) { + m(t, e, this, r); + }), + l.uniformtext.mode && + f(t, l._treemaplayer.selectAll('.trace'), 'treemap')); + h && o.exit().remove(); + }; + }, + { + '../../lib': 778, + '../bar/constants': 923, + '../bar/plot': 932, + '../bar/style': 935, + '../bar/uniform_text': 937, + '../sunburst/helpers': 1305, + './constants': 1328, + './draw_ancestors': 1330, + './draw_descendants': 1331, + d3: 169, + }, + ], + 1337: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../../lib'), + o = t('../sunburst/helpers'), + s = t('../bar/uniform_text').resizeText; + function l(t, e, r, n) { + var s, + l, + c = (n || {}).hovered, + u = e.data.data, + f = u.i, + h = u.color, + p = o.isHierarchyRoot(e), + d = 1; + if (c) + (s = r._hovered.marker.line.color), + (l = r._hovered.marker.line.width); + else if (p && h === r.root.color) + (d = 100), (s = 'rgba(0,0,0,0)'), (l = 0); + else if ( + ((s = a.castOption(r, f, 'marker.line.color') || i.defaultLine), + (l = a.castOption(r, f, 'marker.line.width') || 0), + !r._hasColorscale && !e.onPathbar) + ) { + var g = r.marker.depthfade; + if (g) { + var m, + v = i.combine(i.addOpacity(r._backgroundColor, 0.75), h); + if (!0 === g) { + var y = o.getMaxDepth(r); + m = isFinite(y) + ? o.isLeaf(e) + ? 0 + : r._maxVisibleLayers - (e.data.depth - r._entryDepth) + : e.data.height + 1; + } else + (m = e.data.depth - r._entryDepth), r._atRootLevel || m++; + if (m > 0) + for (var x = 0; x < m; x++) { + var b = (0.5 * x) / m; + h = i.combine(i.addOpacity(v, b), h); + } + } + } + t.style('stroke-width', l) + .call(i.fill, h) + .call(i.stroke, s) + .style('opacity', d); + } + e.exports = { + style: function (t) { + var e = t._fullLayout._treemaplayer.selectAll('.trace'); + s(t, e, 'treemap'), + e.each(function (t) { + var e = n.select(this), + r = t[0].trace; + e.style('opacity', r.opacity), + e.selectAll('path.surface').each(function (t) { + n.select(this).call(l, t, r, { hovered: !1 }); + }); + }); + }, + styleOne: l, + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../bar/uniform_text': 937, + '../sunburst/helpers': 1305, + d3: 169, + }, + ], + 1338: [ + function (t, e, r) { + 'use strict'; + var n = t('../box/attributes'), + i = t('../../lib/extend').extendFlat; + e.exports = { + y: n.y, + x: n.x, + x0: n.x0, + y0: n.y0, + name: i({}, n.name, {}), + orientation: i({}, n.orientation, {}), + bandwidth: { valType: 'number', min: 0, editType: 'calc' }, + scalegroup: { valType: 'string', dflt: '', editType: 'calc' }, + scalemode: { + valType: 'enumerated', + values: ['width', 'count'], + dflt: 'width', + editType: 'calc', + }, + spanmode: { + valType: 'enumerated', + values: ['soft', 'hard', 'manual'], + dflt: 'soft', + editType: 'calc', + }, + span: { + valType: 'info_array', + items: [ + { valType: 'any', editType: 'calc' }, + { valType: 'any', editType: 'calc' }, + ], + editType: 'calc', + }, + line: { + color: { valType: 'color', editType: 'style' }, + width: { valType: 'number', min: 0, dflt: 2, editType: 'style' }, + editType: 'plot', + }, + fillcolor: n.fillcolor, + points: i({}, n.boxpoints, {}), + jitter: i({}, n.jitter, {}), + pointpos: i({}, n.pointpos, {}), + width: i({}, n.width, {}), + marker: n.marker, + text: n.text, + hovertext: n.hovertext, + hovertemplate: n.hovertemplate, + box: { + visible: { valType: 'boolean', dflt: !1, editType: 'plot' }, + width: { + valType: 'number', + min: 0, + max: 1, + dflt: 0.25, + editType: 'plot', + }, + fillcolor: { valType: 'color', editType: 'style' }, + line: { + color: { valType: 'color', editType: 'style' }, + width: { valType: 'number', min: 0, editType: 'style' }, + editType: 'style', + }, + editType: 'plot', + }, + meanline: { + visible: { valType: 'boolean', dflt: !1, editType: 'plot' }, + color: { valType: 'color', editType: 'style' }, + width: { valType: 'number', min: 0, editType: 'style' }, + editType: 'plot', + }, + side: { + valType: 'enumerated', + values: ['both', 'positive', 'negative'], + dflt: 'both', + editType: 'calc', + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + selected: n.selected, + unselected: n.unselected, + hoveron: { + valType: 'flaglist', + flags: ['violins', 'points', 'kde'], + dflt: 'violins+points+kde', + extras: ['all'], + editType: 'style', + }, + }; + }, + { '../../lib/extend': 768, '../box/attributes': 946 }, + ], + 1339: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../box/calc'), + o = t('./helpers'), + s = t('../../constants/numerical').BADNUM; + function l(t, e, r) { + var i = e.max - e.min; + if (!i) return t.bandwidth ? t.bandwidth : 0; + if (t.bandwidth) return Math.max(t.bandwidth, i / 1e4); + var a = r.length, + o = n.stdev(r, a - 1, e.mean); + return Math.max( + (function (t, e, r) { + return 1.059 * Math.min(e, r / 1.349) * Math.pow(t, -0.2); + })(a, o, e.q3 - e.q1), + i / 100 + ); + } + function c(t, e, r, n) { + var a, + o = t.spanmode, + l = t.span || [], + c = [e.min, e.max], + u = [e.min - 2 * n, e.max + 2 * n]; + function f(n) { + var i = l[n], + a = + 'multicategory' === r.type + ? r.r2c(i) + : r.d2c(i, 0, t[e.valLetter + 'calendar']); + return a === s ? u[n] : a; + } + var h = { + type: 'linear', + range: (a = 'soft' === o ? u : 'hard' === o ? c : [f(0), f(1)]), + }; + return i.setConvert(h), h.cleanRange(), a; + } + e.exports = function (t, e) { + var r = a(t, e); + if (r[0].t.empty) return r; + for ( + var s = t._fullLayout, + u = i.getFromId( + t, + e['h' === e.orientation ? 'xaxis' : 'yaxis'] + ), + f = 1 / 0, + h = -1 / 0, + p = 0, + d = 0, + g = 0; + g < r.length; + g++ + ) { + var m = r[g], + v = m.pts.map(o.extractVal), + y = (m.bandwidth = l(e, m, v)), + x = (m.span = c(e, m, u, y)); + if (m.min === m.max && 0 === y) + (x = m.span = [m.min, m.max]), + (m.density = [{ v: 1, t: x[0] }]), + (m.bandwidth = y), + (p = Math.max(p, 1)); + else { + var b = x[1] - x[0], + _ = Math.ceil(b / (y / 3)), + w = b / _; + if (!isFinite(w) || !isFinite(_)) + return ( + n.error( + 'Something went wrong with computing the violin span' + ), + (r[0].t.empty = !0), + r + ); + var T = o.makeKDE(m, e, v); + m.density = new Array(_); + for (var k = 0, M = x[0]; M < x[1] + w / 2; k++, M += w) { + var A = T(M); + (m.density[k] = { v: A, t: M }), (p = Math.max(p, A)); + } + } + (d = Math.max(d, v.length)), + (f = Math.min(f, x[0])), + (h = Math.max(h, x[1])); + } + var S = i.findExtremes(u, [f, h], { padded: !0 }); + if (((e._extremes[u._id] = S), e.width)) r[0].t.maxKDE = p; + else { + var E = s._violinScaleGroupStats, + C = e.scalegroup, + L = E[C]; + L + ? ((L.maxKDE = Math.max(L.maxKDE, p)), + (L.maxCount = Math.max(L.maxCount, d))) + : (E[C] = { maxKDE: p, maxCount: d }); + } + return (r[0].t.labels.kde = n._(t, 'kde:')), r; + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../box/calc': 947, + './helpers': 1342, + }, + ], + 1340: [ + function (t, e, r) { + 'use strict'; + var n = t('../box/cross_trace_calc').setPositionOffset, + i = ['v', 'h']; + e.exports = function (t, e) { + for ( + var r = t.calcdata, a = e.xaxis, o = e.yaxis, s = 0; + s < i.length; + s++ + ) { + for ( + var l = i[s], c = 'h' === l ? o : a, u = [], f = 0; + f < r.length; + f++ + ) { + var h = r[f], + p = h[0].t, + d = h[0].trace; + !0 !== d.visible || + 'violin' !== d.type || + p.empty || + d.orientation !== l || + d.xaxis !== a._id || + d.yaxis !== o._id || + u.push(f); + } + n('violin', t, u, c); + } + }; + }, + { '../box/cross_trace_calc': 948 }, + ], + 1341: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../components/color'), + a = t('../box/defaults'), + o = t('./attributes'); + e.exports = function (t, e, r, s) { + function l(r, i) { + return n.coerce(t, e, o, r, i); + } + function c(r, i) { + return n.coerce2(t, e, o, r, i); + } + if ((a.handleSampleDefaults(t, e, l, s), !1 !== e.visible)) { + l('bandwidth'), + l('side'), + l('width') || (l('scalegroup', e.name), l('scalemode')); + var u, + f = l('span'); + Array.isArray(f) && (u = 'manual'), l('spanmode', u); + var h = l('line.color', (t.marker || {}).color || r), + p = l('line.width'), + d = l('fillcolor', i.addOpacity(e.line.color, 0.5)); + a.handlePointsDefaults(t, e, l, { prefix: '' }); + var g = c('box.width'), + m = c('box.fillcolor', d), + v = c('box.line.color', h), + y = c('box.line.width', p); + l('box.visible', Boolean(g || m || v || y)) || + (e.box = { visible: !1 }); + var x = c('meanline.color', h), + b = c('meanline.width', p); + l('meanline.visible', Boolean(x || b)) || + (e.meanline = { visible: !1 }); + } + }; + }, + { + '../../components/color': 643, + '../../lib': 778, + '../box/defaults': 949, + './attributes': 1338, + }, + ], + 1342: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = function (t) { + return (1 / Math.sqrt(2 * Math.PI)) * Math.exp(-0.5 * t * t); + }; + (r.makeKDE = function (t, e, r) { + var n = r.length, + a = i, + o = t.bandwidth, + s = 1 / (n * o); + return function (t) { + for (var e = 0, i = 0; i < n; i++) e += a((t - r[i]) / o); + return s * e; + }; + }), + (r.getPositionOnKdePath = function (t, e, r) { + var i, a; + 'h' === e.orientation + ? ((i = 'y'), (a = 'x')) + : ((i = 'x'), (a = 'y')); + var o = n.findPointOnPath(t.path, r, a, { + pathLength: t.pathLength, + }), + s = t.posCenterPx, + l = o[i]; + return [l, 'both' === e.side ? 2 * s - l : s]; + }), + (r.getKdeValue = function (t, e, n) { + var i = t.pts.map(r.extractVal); + return r.makeKDE(t, e, i)(n) / t.posDensityScale; + }), + (r.extractVal = function (t) { + return t.v; + }); + }, + { '../../lib': 778 }, + ], + 1343: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../../plots/cartesian/axes'), + a = t('../box/hover'), + o = t('./helpers'); + e.exports = function (t, e, r, s, l) { + var c, + u, + f = t.cd, + h = f[0].trace, + p = h.hoveron, + d = -1 !== p.indexOf('violins'), + g = -1 !== p.indexOf('kde'), + m = []; + if (d || g) { + var v = a.hoverOnBoxes(t, e, r, s); + if (g && v.length > 0) { + var y, + x, + b, + _, + w, + T = t.xa, + k = t.ya; + 'h' === h.orientation + ? ((w = e), (y = 'y'), (b = k), (x = 'x'), (_ = T)) + : ((w = r), (y = 'x'), (b = T), (x = 'y'), (_ = k)); + var M = f[t.index]; + if (w >= M.span[0] && w <= M.span[1]) { + var A = n.extendFlat({}, t), + S = _.c2p(w, !0), + E = o.getKdeValue(M, h, w), + C = o.getPositionOnKdePath(M, h, S), + L = b._offset, + I = b._length; + (A[y + '0'] = C[0]), + (A[y + '1'] = C[1]), + (A[x + '0'] = A[x + '1'] = S), + (A[x + 'Label'] = + x + + ': ' + + i.hoverLabelText(_, w) + + ', ' + + f[0].t.labels.kde + + ' ' + + E.toFixed(3)), + (A.spikeDistance = v[0].spikeDistance); + var P = y + 'Spike'; + (A[P] = v[0][P]), + (v[0].spikeDistance = void 0), + (v[0][P] = void 0), + (A.hovertemplate = !1), + m.push(A), + ((u = { stroke: t.color })[y + '1'] = n.constrain( + L + C[0], + L, + L + I + )), + (u[y + '2'] = n.constrain(L + C[1], L, L + I)), + (u[x + '1'] = u[x + '2'] = _._offset + S); + } + } + d && (m = m.concat(v)); + } + -1 !== p.indexOf('points') && (c = a.hoverOnPoints(t, e, r)); + var z = l.selectAll('.violinline-' + h.uid).data(u ? [0] : []); + return ( + z + .enter() + .append('line') + .classed('violinline-' + h.uid, !0) + .attr('stroke-width', 1.5), + z.exit().remove(), + z.attr(u), + 'closest' === s ? (c ? [c] : m) : c ? (m.push(c), m) : m + ); + }; + }, + { + '../../lib': 778, + '../../plots/cartesian/axes': 828, + '../box/hover': 951, + './helpers': 1342, + }, + ], + 1344: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults'), + crossTraceDefaults: t('../box/defaults').crossTraceDefaults, + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc'), + crossTraceCalc: t('./cross_trace_calc'), + plot: t('./plot'), + style: t('./style'), + styleOnSelect: t('../scatter/style').styleOnSelect, + hoverPoints: t('./hover'), + selectPoints: t('../box/select'), + moduleType: 'trace', + name: 'violin', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'cartesian', + 'svg', + 'symbols', + 'oriented', + 'box-violin', + 'showLegend', + 'violinLayout', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../box/defaults': 949, + '../box/select': 956, + '../scatter/style': 1211, + './attributes': 1338, + './calc': 1339, + './cross_trace_calc': 1340, + './defaults': 1341, + './hover': 1343, + './layout_attributes': 1345, + './layout_defaults': 1346, + './plot': 1347, + './style': 1348, + }, + ], + 1345: [ + function (t, e, r) { + 'use strict'; + var n = t('../box/layout_attributes'), + i = t('../../lib').extendFlat; + e.exports = { + violinmode: i({}, n.boxmode, {}), + violingap: i({}, n.boxgap, {}), + violingroupgap: i({}, n.boxgroupgap, {}), + }; + }, + { '../../lib': 778, '../box/layout_attributes': 953 }, + ], + 1346: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'), + a = t('../box/layout_defaults'); + e.exports = function (t, e, r) { + a._supply( + t, + e, + r, + function (r, a) { + return n.coerce(t, e, i, r, a); + }, + 'violin' + ); + }; + }, + { + '../../lib': 778, + '../box/layout_defaults': 954, + './layout_attributes': 1345, + }, + ], + 1347: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../box/plot'), + s = t('../scatter/line_points'), + l = t('./helpers'); + e.exports = function (t, e, r, c) { + var u = t._fullLayout, + f = e.xaxis, + h = e.yaxis; + function p(t) { + var e = s(t, { + xaxis: f, + yaxis: h, + connectGaps: !0, + baseTolerance: 0.75, + shape: 'spline', + simplify: !0, + linearized: !0, + }); + return a.smoothopen(e[0], 1); + } + i.makeTraceGroups(c, r, 'trace violins').each(function (t) { + var r = n.select(this), + a = t[0], + s = a.t, + c = a.trace; + if (!0 !== c.visible || s.empty) r.remove(); + else { + var d = s.bPos, + g = s.bdPos, + m = e[s.valLetter + 'axis'], + v = e[s.posLetter + 'axis'], + y = 'both' === c.side, + x = y || 'positive' === c.side, + b = y || 'negative' === c.side, + _ = r.selectAll('path.violin').data(i.identity); + _.enter() + .append('path') + .style('vector-effect', 'non-scaling-stroke') + .attr('class', 'violin'), + _.exit().remove(), + _.each(function (t) { + var e, + r, + i, + a, + o, + l, + f, + h, + _ = n.select(this), + w = t.density, + T = w.length, + k = v.c2l(t.pos + d, !0), + M = v.l2p(k); + if (c.width) e = s.maxKDE / g; + else { + var A = u._violinScaleGroupStats[c.scalegroup]; + e = + 'count' === c.scalemode + ? (A.maxKDE / g) * (A.maxCount / t.pts.length) + : A.maxKDE / g; + } + if (x) { + for (f = new Array(T), o = 0; o < T; o++) + ((h = f[o] = {})[s.posLetter] = k + w[o].v / e), + (h[s.valLetter] = m.c2l(w[o].t, !0)); + r = p(f); + } + if (b) { + for (f = new Array(T), l = 0, o = T - 1; l < T; l++, o--) + ((h = f[l] = {})[s.posLetter] = k - w[o].v / e), + (h[s.valLetter] = m.c2l(w[o].t, !0)); + i = p(f); + } + if (y) a = r + 'L' + i.substr(1) + 'Z'; + else { + var S = [M, m.c2p(w[0].t)], + E = [M, m.c2p(w[T - 1].t)]; + 'h' === c.orientation && (S.reverse(), E.reverse()), + (a = x + ? 'M' + S + 'L' + r.substr(1) + 'L' + E + : 'M' + E + 'L' + i.substr(1) + 'L' + S); + } + _.attr('d', a), + (t.posCenterPx = M), + (t.posDensityScale = e * g), + (t.path = _.node()), + (t.pathLength = t.path.getTotalLength() / (y ? 2 : 1)); + }); + var w, + T, + k, + M = c.box, + A = M.width, + S = (M.line || {}).width; + y + ? ((w = g * A), (T = 0)) + : x + ? ((w = [0, (g * A) / 2]), + (T = S * { x: 1, y: -1 }[s.posLetter])) + : ((w = [(g * A) / 2, 0]), + (T = S * { x: -1, y: 1 }[s.posLetter])), + o.plotBoxAndWhiskers(r, { pos: v, val: m }, c, { + bPos: d, + bdPos: w, + bPosPxOffset: T, + }), + o.plotBoxMean(r, { pos: v, val: m }, c, { + bPos: d, + bdPos: w, + bPosPxOffset: T, + }), + !c.box.visible && c.meanline.visible && (k = i.identity); + var E = r.selectAll('path.meanline').data(k || []); + E.enter() + .append('path') + .attr('class', 'meanline') + .style('fill', 'none') + .style('vector-effect', 'non-scaling-stroke'), + E.exit().remove(), + E.each(function (t) { + var e = m.c2p(t.mean, !0), + r = l.getPositionOnKdePath(t, c, e); + n.select(this).attr( + 'd', + 'h' === c.orientation + ? 'M' + e + ',' + r[0] + 'V' + r[1] + : 'M' + r[0] + ',' + e + 'H' + r[1] + ); + }), + o.plotPoints(r, { x: f, y: h }, c, s); + } + }); + }; + }, + { + '../../components/drawing': 665, + '../../lib': 778, + '../box/plot': 955, + '../scatter/line_points': 1201, + './helpers': 1342, + d3: 169, + }, + ], + 1348: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/color'), + a = t('../scatter/style').stylePoints; + e.exports = function (t) { + var e = n.select(t).selectAll('g.trace.violins'); + e.style('opacity', function (t) { + return t[0].trace.opacity; + }), + e.each(function (e) { + var r = e[0].trace, + o = n.select(this), + s = r.box || {}, + l = s.line || {}, + c = r.meanline || {}, + u = c.width; + o + .selectAll('path.violin') + .style('stroke-width', r.line.width + 'px') + .call(i.stroke, r.line.color) + .call(i.fill, r.fillcolor), + o + .selectAll('path.box') + .style('stroke-width', l.width + 'px') + .call(i.stroke, l.color) + .call(i.fill, s.fillcolor); + var f = { + 'stroke-width': u + 'px', + 'stroke-dasharray': 2 * u + 'px,' + u + 'px', + }; + o.selectAll('path.mean').style(f).call(i.stroke, c.color), + o.selectAll('path.meanline').style(f).call(i.stroke, c.color), + a(o, r, t); + }); + }; + }, + { '../../components/color': 643, '../scatter/style': 1211, d3: 169 }, + ], + 1349: [ + function (t, e, r) { + 'use strict'; + var n = t('../../components/colorscale/attributes'), + i = t('../isosurface/attributes'), + a = t('../surface/attributes'), + o = t('../../plots/attributes'), + s = t('../../lib/extend').extendFlat, + l = t('../../plot_api/edit_types').overrideAll, + c = (e.exports = l( + s( + { + x: i.x, + y: i.y, + z: i.z, + value: i.value, + isomin: i.isomin, + isomax: i.isomax, + surface: i.surface, + spaceframe: { + show: { valType: 'boolean', dflt: !1 }, + fill: { valType: 'number', min: 0, max: 1, dflt: 1 }, + }, + slices: i.slices, + caps: i.caps, + text: i.text, + hovertext: i.hovertext, + hovertemplate: i.hovertemplate, + }, + n('', { + colorAttr: '`value`', + showScaleDflt: !0, + editTypeOverride: 'calc', + }), + { + colorbar: i.colorbar, + opacity: i.opacity, + opacityscale: a.opacityscale, + lightposition: i.lightposition, + lighting: i.lighting, + flatshading: i.flatshading, + contour: i.contour, + hoverinfo: s({}, o.hoverinfo), + showlegend: s({}, o.showlegend, { dflt: !1 }), + } + ), + 'calc', + 'nested' + )); + (c.x.editType = + c.y.editType = + c.z.editType = + c.value.editType = + 'calc+clearAxisTypes'), + (c.transforms = void 0); + }, + { + '../../components/colorscale/attributes': 650, + '../../lib/extend': 768, + '../../plot_api/edit_types': 810, + '../../plots/attributes': 824, + '../isosurface/attributes': 1123, + '../surface/attributes': 1311, + }, + ], + 1350: [ + function (t, e, r) { + 'use strict'; + var n = t('gl-mesh3d'), + i = t('../../lib/gl_format_color').parseColorScale, + a = t('../../lib/str2rgbarray'), + o = t('../../components/colorscale').extractOpts, + s = t('../../plots/gl3d/zip3'), + l = t('../isosurface/convert').findNearestOnAxis, + c = t('../isosurface/convert').generateIsoMeshes; + function u(t, e, r) { + (this.scene = t), + (this.uid = r), + (this.mesh = e), + (this.name = ''), + (this.data = null), + (this.showContour = !1); + } + var f = u.prototype; + (f.handlePick = function (t) { + if (t.object === this.mesh) { + var e = t.data.index, + r = this.data._meshX[e], + n = this.data._meshY[e], + i = this.data._meshZ[e], + a = this.data._Ys.length, + o = this.data._Zs.length, + s = l(r, this.data._Xs).id, + c = l(n, this.data._Ys).id, + u = l(i, this.data._Zs).id, + f = (t.index = u + o * c + o * a * s); + t.traceCoordinate = [ + this.data._meshX[f], + this.data._meshY[f], + this.data._meshZ[f], + this.data._value[f], + ]; + var h = this.data.hovertext || this.data.text; + return ( + Array.isArray(h) && void 0 !== h[f] + ? (t.textLabel = h[f]) + : h && (t.textLabel = h), + !0 + ); + } + }), + (f.update = function (t) { + var e = this.scene, + r = e.fullSceneLayout; + function n(t, e, r, n) { + return e.map(function (e) { + return t.d2l(e, 0, n) * r; + }); + } + this.data = c(t); + var l = { + positions: s( + n(r.xaxis, t._meshX, e.dataScale[0], t.xcalendar), + n(r.yaxis, t._meshY, e.dataScale[1], t.ycalendar), + n(r.zaxis, t._meshZ, e.dataScale[2], t.zcalendar) + ), + cells: s(t._meshI, t._meshJ, t._meshK), + lightPosition: [ + t.lightposition.x, + t.lightposition.y, + t.lightposition.z, + ], + ambient: t.lighting.ambient, + diffuse: t.lighting.diffuse, + specular: t.lighting.specular, + roughness: t.lighting.roughness, + fresnel: t.lighting.fresnel, + vertexNormalsEpsilon: t.lighting.vertexnormalsepsilon, + faceNormalsEpsilon: t.lighting.facenormalsepsilon, + opacity: t.opacity, + opacityscale: t.opacityscale, + contourEnable: t.contour.show, + contourColor: a(t.contour.color).slice(0, 3), + contourWidth: t.contour.width, + useFacetNormals: t.flatshading, + }, + u = o(t); + (l.vertexIntensity = t._meshIntensity), + (l.vertexIntensityBounds = [u.min, u.max]), + (l.colormap = i(t)), + this.mesh.update(l); + }), + (f.dispose = function () { + this.scene.glplot.remove(this.mesh), this.mesh.dispose(); + }), + (e.exports = function (t, e) { + var r = t.glplot.gl, + i = n({ gl: r }), + a = new u(t, i, e.uid); + return (i._trace = a), a.update(e), t.glplot.add(i), a; + }); + }, + { + '../../components/colorscale': 655, + '../../lib/gl_format_color': 774, + '../../lib/str2rgbarray': 802, + '../../plots/gl3d/zip3': 881, + '../isosurface/convert': 1125, + 'gl-mesh3d': 309, + }, + ], + 1351: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./attributes'), + a = t('../isosurface/defaults').supplyIsoDefaults, + o = t('../surface/defaults').opacityscaleDefaults; + e.exports = function (t, e, r, s) { + function l(r, a) { + return n.coerce(t, e, i, r, a); + } + a(t, e, r, s, l), o(t, e, s, l); + }; + }, + { + '../../lib': 778, + '../isosurface/defaults': 1126, + '../surface/defaults': 1314, + './attributes': 1349, + }, + ], + 1352: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + supplyDefaults: t('./defaults'), + calc: t('../isosurface/calc'), + colorbar: { min: 'cmin', max: 'cmax' }, + plot: t('./convert'), + moduleType: 'trace', + name: 'volume', + basePlotModule: t('../../plots/gl3d'), + categories: ['gl3d', 'showLegend'], + meta: {}, + }; + }, + { + '../../plots/gl3d': 870, + '../isosurface/calc': 1124, + './attributes': 1349, + './convert': 1350, + './defaults': 1351, + }, + ], + 1353: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/attributes'), + i = t('../scatter/attributes').line, + a = t('../../plots/attributes'), + o = t('../../plots/template_attributes').hovertemplateAttrs, + s = t('../../plots/template_attributes').texttemplateAttrs, + l = t('./constants'), + c = t('../../lib/extend').extendFlat, + u = t('../../components/color'); + function f(t) { + return { + marker: { + color: c({}, n.marker.color, { + arrayOk: !1, + editType: 'style', + }), + line: { + color: c({}, n.marker.line.color, { + arrayOk: !1, + editType: 'style', + }), + width: c({}, n.marker.line.width, { + arrayOk: !1, + editType: 'style', + }), + editType: 'style', + }, + editType: 'style', + }, + editType: 'style', + }; + } + e.exports = { + measure: { valType: 'data_array', dflt: [], editType: 'calc' }, + base: { + valType: 'number', + dflt: null, + arrayOk: !1, + editType: 'calc', + }, + x: n.x, + x0: n.x0, + dx: n.dx, + y: n.y, + y0: n.y0, + dy: n.dy, + xperiod: n.xperiod, + yperiod: n.yperiod, + xperiod0: n.xperiod0, + yperiod0: n.yperiod0, + xperiodalignment: n.xperiodalignment, + yperiodalignment: n.yperiodalignment, + hovertext: n.hovertext, + hovertemplate: o({}, { keys: l.eventDataKeys }), + hoverinfo: c({}, a.hoverinfo, { + flags: ['name', 'x', 'y', 'text', 'initial', 'delta', 'final'], + }), + textinfo: { + valType: 'flaglist', + flags: ['label', 'text', 'initial', 'delta', 'final'], + extras: ['none'], + editType: 'plot', + arrayOk: !1, + }, + texttemplate: s( + { editType: 'plot' }, + { keys: l.eventDataKeys.concat(['label']) } + ), + text: n.text, + textposition: n.textposition, + insidetextanchor: n.insidetextanchor, + textangle: n.textangle, + textfont: n.textfont, + insidetextfont: n.insidetextfont, + outsidetextfont: n.outsidetextfont, + constraintext: n.constraintext, + cliponaxis: n.cliponaxis, + orientation: n.orientation, + offset: n.offset, + width: n.width, + increasing: f(), + decreasing: f(), + totals: f(), + connector: { + line: { + color: c({}, i.color, { dflt: u.defaultLine }), + width: c({}, i.width, { editType: 'plot' }), + dash: i.dash, + editType: 'plot', + }, + mode: { + valType: 'enumerated', + values: ['spanning', 'between'], + dflt: 'between', + editType: 'plot', + }, + visible: { valType: 'boolean', dflt: !0, editType: 'plot' }, + editType: 'plot', + }, + offsetgroup: n.offsetgroup, + alignmentgroup: n.alignmentgroup, + }; + }, + { + '../../components/color': 643, + '../../lib/extend': 768, + '../../plots/attributes': 824, + '../../plots/template_attributes': 906, + '../bar/attributes': 921, + '../scatter/attributes': 1187, + './constants': 1355, + }, + ], + 1354: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes'), + i = t('../../plots/cartesian/align_period'), + a = t('../../lib').mergeArray, + o = t('../scatter/calc_selection'), + s = t('../../constants/numerical').BADNUM; + function l(t) { + return 'a' === t || 'absolute' === t; + } + function c(t) { + return 't' === t || 'total' === t; + } + e.exports = function (t, e) { + var r, + u, + f, + h, + p = n.getFromId(t, e.xaxis || 'x'), + d = n.getFromId(t, e.yaxis || 'y'); + 'h' === e.orientation + ? ((r = p.makeCalcdata(e, 'x')), + (f = d.makeCalcdata(e, 'y')), + (u = i(e, d, 'y', f)), + (h = !!e.yperiodalignment)) + : ((r = d.makeCalcdata(e, 'y')), + (f = p.makeCalcdata(e, 'x')), + (u = i(e, p, 'x', f)), + (h = !!e.xperiodalignment)); + for ( + var g, + m = Math.min(u.length, r.length), + v = new Array(m), + y = 0, + x = !1, + b = 0; + b < m; + b++ + ) { + var _ = r[b] || 0, + w = !1; + (r[b] !== s || c(e.measure[b]) || l(e.measure[b])) && + b + 1 < m && + (r[b + 1] !== s || + c(e.measure[b + 1]) || + l(e.measure[b + 1])) && + (w = !0); + var T = (v[b] = { i: b, p: u[b], s: _, rawS: _, cNext: w }); + l(e.measure[b]) + ? ((y = T.s), (T.isSum = !0), (T.dir = 'totals'), (T.s = y)) + : c(e.measure[b]) + ? ((T.isSum = !0), (T.dir = 'totals'), (T.s = y)) + : ((T.isSum = !1), + (T.dir = T.rawS < 0 ? 'decreasing' : 'increasing'), + (g = T.s), + (T.s = y + g), + (y += g)), + 'totals' === T.dir && (x = !0), + h && (v[b].orig_p = f[b]), + e.ids && (T.id = String(e.ids[b])), + (T.v = (e.base || 0) + y); + } + return ( + v.length && (v[0].hasTotals = x), + a(e.text, v, 'tx'), + a(e.hovertext, v, 'htx'), + o(v, e), + v + ); + }; + }, + { + '../../constants/numerical': 753, + '../../lib': 778, + '../../plots/cartesian/align_period': 825, + '../../plots/cartesian/axes': 828, + '../scatter/calc_selection': 1189, + }, + ], + 1355: [ + function (t, e, r) { + 'use strict'; + e.exports = { eventDataKeys: ['initial', 'delta', 'final'] }; + }, + {}, + ], + 1356: [ + function (t, e, r) { + 'use strict'; + var n = t('../bar/cross_trace_calc').setGroupPositions; + e.exports = function (t, e) { + var r, + i, + a = t._fullLayout, + o = t._fullData, + s = t.calcdata, + l = e.xaxis, + c = e.yaxis, + u = [], + f = [], + h = []; + for (i = 0; i < o.length; i++) { + var p = o[i]; + !0 === p.visible && + p.xaxis === l._id && + p.yaxis === c._id && + 'waterfall' === p.type && + ((r = s[i]), + 'h' === p.orientation ? h.push(r) : f.push(r), + u.push(r)); + } + var d = { + mode: a.waterfallmode, + norm: a.waterfallnorm, + gap: a.waterfallgap, + groupgap: a.waterfallgroupgap, + }; + for (n(t, l, c, f, d), n(t, c, l, h, d), i = 0; i < u.length; i++) { + r = u[i]; + for (var g = 0; g < r.length; g++) { + var m = r[g]; + !1 === m.isSum && (m.s0 += 0 === g ? 0 : r[g - 1].s), + g + 1 < r.length && + ((r[g].nextP0 = r[g + 1].p0), (r[g].nextS0 = r[g + 1].s0)); + } + } + }; + }, + { '../bar/cross_trace_calc': 924 }, + ], + 1357: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('../bar/defaults').handleGroupingDefaults, + a = t('../bar/defaults').handleText, + o = t('../scatter/xy_defaults'), + s = t('../scatter/period_defaults'), + l = t('./attributes'), + c = t('../../components/color'), + u = t('../../constants/delta.js'), + f = u.INCREASING.COLOR, + h = u.DECREASING.COLOR; + function p(t, e, r) { + t(e + '.marker.color', r), + t(e + '.marker.line.color', c.defaultLine), + t(e + '.marker.line.width'); + } + e.exports = { + supplyDefaults: function (t, e, r, i) { + function c(r, i) { + return n.coerce(t, e, l, r, i); + } + if (o(t, e, i, c)) { + s(t, e, i, c), + c('measure'), + c('orientation', e.x && !e.y ? 'h' : 'v'), + c('base'), + c('offset'), + c('width'), + c('text'), + c('hovertext'), + c('hovertemplate'); + var u = c('textposition'); + if ( + (a(t, e, i, c, u, { + moduleHasSelected: !1, + moduleHasUnselected: !1, + moduleHasConstrain: !0, + moduleHasCliponaxis: !0, + moduleHasTextangle: !0, + moduleHasInsideanchor: !0, + }), + 'none' !== e.textposition && + (c('texttemplate'), e.texttemplate || c('textinfo')), + p(c, 'increasing', f), + p(c, 'decreasing', h), + p(c, 'totals', '#4499FF'), + c('connector.visible')) + ) + c('connector.mode'), + c('connector.line.width') && + (c('connector.line.color'), c('connector.line.dash')); + } else e.visible = !1; + }, + crossTraceDefaults: function (t, e) { + var r, a; + function o(t) { + return n.coerce(a._input, a, l, t); + } + if ('group' === e.waterfallmode) + for (var s = 0; s < t.length; s++) + (r = (a = t[s])._input), i(r, a, e, o); + }, + }; + }, + { + '../../components/color': 643, + '../../constants/delta.js': 747, + '../../lib': 778, + '../bar/defaults': 925, + '../scatter/period_defaults': 1207, + '../scatter/xy_defaults': 1214, + './attributes': 1353, + }, + ], + 1358: [ + function (t, e, r) { + 'use strict'; + e.exports = function (t, e) { + return ( + (t.x = 'xVal' in e ? e.xVal : e.x), + (t.y = 'yVal' in e ? e.yVal : e.y), + 'initial' in e && (t.initial = e.initial), + 'delta' in e && (t.delta = e.delta), + 'final' in e && (t.final = e.final), + e.xa && (t.xaxis = e.xa), + e.ya && (t.yaxis = e.ya), + t + ); + }; + }, + {}, + ], + 1359: [ + function (t, e, r) { + 'use strict'; + var n = t('../../plots/cartesian/axes').hoverLabelText, + i = t('../../components/color').opacity, + a = t('../bar/hover').hoverOnBars, + o = t('../../constants/delta.js'), + s = o.INCREASING.SYMBOL, + l = o.DECREASING.SYMBOL; + e.exports = function (t, e, r, o) { + var c = a(t, e, r, o); + if (c) { + var u = c.cd, + f = u[0].trace, + h = 'h' === f.orientation, + p = h ? t.xa : t.ya, + d = u[c.index], + g = d.isSum ? d.b + d.s : d.rawS; + if (!d.isSum) { + (c.initial = d.b + d.s - g), + (c.delta = g), + (c.final = c.initial + c.delta); + var m = w(Math.abs(c.delta)); + (c.deltaLabel = g < 0 ? '(' + m + ')' : m), + (c.finalLabel = w(c.final)), + (c.initialLabel = w(c.initial)); + } + var v = d.hi || f.hoverinfo, + y = []; + if (v && 'none' !== v && 'skip' !== v) { + var x = 'all' === v, + b = v.split('+'), + _ = function (t) { + return x || -1 !== b.indexOf(t); + }; + d.isSum || + (!_('final') || _(h ? 'x' : 'y') || y.push(c.finalLabel), + _('delta') && + (g < 0 + ? y.push(c.deltaLabel + ' ' + l) + : y.push(c.deltaLabel + ' ' + s)), + _('initial') && y.push('Initial: ' + c.initialLabel)); + } + return ( + y.length && (c.extraText = y.join('
')), + (c.color = (function (t, e) { + var r = t[e.dir].marker, + n = r.color, + a = r.line.color, + o = r.line.width; + if (i(n)) return n; + if (i(a) && o) return a; + })(f, d)), + [c] + ); + } + function w(t) { + return n(p, t); + } + }; + }, + { + '../../components/color': 643, + '../../constants/delta.js': 747, + '../../plots/cartesian/axes': 828, + '../bar/hover': 928, + }, + ], + 1360: [ + function (t, e, r) { + 'use strict'; + e.exports = { + attributes: t('./attributes'), + layoutAttributes: t('./layout_attributes'), + supplyDefaults: t('./defaults').supplyDefaults, + crossTraceDefaults: t('./defaults').crossTraceDefaults, + supplyLayoutDefaults: t('./layout_defaults'), + calc: t('./calc'), + crossTraceCalc: t('./cross_trace_calc'), + plot: t('./plot'), + style: t('./style').style, + hoverPoints: t('./hover'), + eventData: t('./event_data'), + selectPoints: t('../bar/select'), + moduleType: 'trace', + name: 'waterfall', + basePlotModule: t('../../plots/cartesian'), + categories: [ + 'bar-like', + 'cartesian', + 'svg', + 'oriented', + 'showLegend', + 'zoomScale', + ], + meta: {}, + }; + }, + { + '../../plots/cartesian': 841, + '../bar/select': 933, + './attributes': 1353, + './calc': 1354, + './cross_trace_calc': 1356, + './defaults': 1357, + './event_data': 1358, + './hover': 1359, + './layout_attributes': 1361, + './layout_defaults': 1362, + './plot': 1363, + './style': 1364, + }, + ], + 1361: [ + function (t, e, r) { + 'use strict'; + e.exports = { + waterfallmode: { + valType: 'enumerated', + values: ['group', 'overlay'], + dflt: 'group', + editType: 'calc', + }, + waterfallgap: { + valType: 'number', + min: 0, + max: 1, + editType: 'calc', + }, + waterfallgroupgap: { + valType: 'number', + min: 0, + max: 1, + dflt: 0, + editType: 'calc', + }, + }; + }, + {}, + ], + 1362: [ + function (t, e, r) { + 'use strict'; + var n = t('../../lib'), + i = t('./layout_attributes'); + e.exports = function (t, e, r) { + var a = !1; + function o(r, a) { + return n.coerce(t, e, i, r, a); + } + for (var s = 0; s < r.length; s++) { + var l = r[s]; + if (l.visible && 'waterfall' === l.type) { + a = !0; + break; + } + } + a && + (o('waterfallmode'), + o('waterfallgap', 0.2), + o('waterfallgroupgap')); + }; + }, + { '../../lib': 778, './layout_attributes': 1361 }, + ], + 1363: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../lib'), + a = t('../../components/drawing'), + o = t('../../constants/numerical').BADNUM, + s = t('../bar/plot'), + l = t('../bar/uniform_text').clearMinTextSize; + e.exports = function (t, e, r, c) { + var u = t._fullLayout; + l('waterfall', u), + s.plot(t, e, r, c, { + mode: u.waterfallmode, + norm: u.waterfallmode, + gap: u.waterfallgap, + groupgap: u.waterfallgroupgap, + }), + (function (t, e, r, s) { + var l = e.xaxis, + c = e.yaxis; + i.makeTraceGroups(s, r, 'trace bars').each(function (r) { + var s = n.select(this), + u = r[0].trace, + f = i.ensureSingle(s, 'g', 'lines'); + if (u.connector && u.connector.visible) { + var h = 'h' === u.orientation, + p = u.connector.mode, + d = f.selectAll('g.line').data(i.identity); + d.enter().append('g').classed('line', !0), + d.exit().remove(); + var g = d.size(); + d.each(function (r, s) { + if (s === g - 1 || r.cNext) { + var u = (function (t, e, r, n) { + var i = [], + a = [], + o = n ? e : r, + s = n ? r : e; + return ( + (i[0] = o.c2p(t.s0, !0)), + (a[0] = s.c2p(t.p0, !0)), + (i[1] = o.c2p(t.s1, !0)), + (a[1] = s.c2p(t.p1, !0)), + (i[2] = o.c2p(t.nextS0, !0)), + (a[2] = s.c2p(t.nextP0, !0)), + n ? [i, a] : [a, i] + ); + })(r, l, c, h), + f = u[0], + d = u[1], + m = ''; + f[0] !== o && + d[0] !== o && + f[1] !== o && + d[1] !== o && + ('spanning' === p && + !r.isSum && + s > 0 && + (m += h + ? 'M' + f[0] + ',' + d[1] + 'V' + d[0] + : 'M' + f[1] + ',' + d[0] + 'H' + f[0]), + 'between' !== p && + (r.isSum || s < g - 1) && + (m += h + ? 'M' + f[1] + ',' + d[0] + 'V' + d[1] + : 'M' + f[0] + ',' + d[1] + 'H' + f[1]), + f[2] !== o && + d[2] !== o && + (m += h + ? 'M' + f[1] + ',' + d[1] + 'V' + d[2] + : 'M' + f[1] + ',' + d[1] + 'H' + f[2])), + '' === m && (m = 'M0,0Z'), + i + .ensureSingle(n.select(this), 'path') + .attr('d', m) + .call(a.setClipUrl, e.layerClipId, t); + } + }); + } else f.remove(); + }); + })(t, e, r, c); + }; + }, + { + '../../components/drawing': 665, + '../../constants/numerical': 753, + '../../lib': 778, + '../bar/plot': 932, + '../bar/uniform_text': 937, + d3: 169, + }, + ], + 1364: [ + function (t, e, r) { + 'use strict'; + var n = t('d3'), + i = t('../../components/drawing'), + a = t('../../components/color'), + o = t('../../constants/interactions').DESELECTDIM, + s = t('../bar/style'), + l = t('../bar/uniform_text').resizeText, + c = s.styleTextPoints; + e.exports = { + style: function (t, e, r) { + var s = + r || + n.select(t).selectAll('g.waterfalllayer').selectAll('g.trace'); + l(t, s, 'waterfall'), + s.style('opacity', function (t) { + return t[0].trace.opacity; + }), + s.each(function (e) { + var r = n.select(this), + s = e[0].trace; + r.selectAll('.point > path').each(function (t) { + if (!t.isBlank) { + var e = s[t.dir].marker; + n.select(this) + .call(a.fill, e.color) + .call(a.stroke, e.line.color) + .call(i.dashLine, e.line.dash, e.line.width) + .style( + 'opacity', + s.selectedpoints && !t.selected ? o : 1 + ); + } + }), + c(r, s, t), + r.selectAll('.lines').each(function () { + var t = s.connector.line; + i.lineGroupStyle( + n.select(this).selectAll('path'), + t.width, + t.color, + t.dash + ); + }); + }); + }, + }; + }, + { + '../../components/color': 643, + '../../components/drawing': 665, + '../../constants/interactions': 752, + '../bar/style': 935, + '../bar/uniform_text': 937, + d3: 169, + }, + ], + 1365: [ + function (t, e, r) { + 'use strict'; + var n = t('../plots/cartesian/axes'), + i = t('../lib'), + a = t('../plot_api/plot_schema'), + o = t('./helpers').pointsAccessorFunction, + s = t('../constants/numerical').BADNUM; + (r.moduleType = 'transform'), (r.name = 'aggregate'); + var l = (r.attributes = { + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + groups: { + valType: 'string', + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: 'x', + editType: 'calc', + }, + aggregations: { + _isLinkedToArray: 'aggregation', + target: { valType: 'string', editType: 'calc' }, + func: { + valType: 'enumerated', + values: [ + 'count', + 'sum', + 'avg', + 'median', + 'mode', + 'rms', + 'stddev', + 'min', + 'max', + 'first', + 'last', + 'change', + 'range', + ], + dflt: 'first', + editType: 'calc', + }, + funcmode: { + valType: 'enumerated', + values: ['sample', 'population'], + dflt: 'sample', + editType: 'calc', + }, + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + editType: 'calc', + }, + editType: 'calc', + }), + c = l.aggregations; + function u(t, e, r, a) { + if (a.enabled) { + for ( + var o = a.target, + l = i.nestedProperty(e, o), + c = l.get(), + u = (function (t, e) { + var r = t.func, + n = e.d2c, + a = e.c2d; + switch (r) { + case 'count': + return f; + case 'first': + return h; + case 'last': + return p; + case 'sum': + return function (t, e) { + for (var r = 0, i = 0; i < e.length; i++) { + var o = n(t[e[i]]); + o !== s && (r += o); + } + return a(r); + }; + case 'avg': + return function (t, e) { + for (var r = 0, i = 0, o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && ((r += l), i++); + } + return i ? a(r / i) : s; + }; + case 'min': + return function (t, e) { + for (var r = 1 / 0, i = 0; i < e.length; i++) { + var o = n(t[e[i]]); + o !== s && (r = Math.min(r, o)); + } + return r === 1 / 0 ? s : a(r); + }; + case 'max': + return function (t, e) { + for (var r = -1 / 0, i = 0; i < e.length; i++) { + var o = n(t[e[i]]); + o !== s && (r = Math.max(r, o)); + } + return r === -1 / 0 ? s : a(r); + }; + case 'range': + return function (t, e) { + for ( + var r = 1 / 0, i = -1 / 0, o = 0; + o < e.length; + o++ + ) { + var l = n(t[e[o]]); + l !== s && + ((r = Math.min(r, l)), (i = Math.max(i, l))); + } + return i === -1 / 0 || r === 1 / 0 ? s : a(i - r); + }; + case 'change': + return function (t, e) { + var r = n(t[e[0]]), + i = n(t[e[e.length - 1]]); + return r === s || i === s ? s : a(i - r); + }; + case 'median': + return function (t, e) { + for (var r = [], o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && r.push(l); + } + if (!r.length) return s; + r.sort(i.sorterAsc); + var c = (r.length - 1) / 2; + return a((r[Math.floor(c)] + r[Math.ceil(c)]) / 2); + }; + case 'mode': + return function (t, e) { + for ( + var r = {}, i = 0, o = s, l = 0; + l < e.length; + l++ + ) { + var c = n(t[e[l]]); + if (c !== s) { + var u = (r[c] = (r[c] || 0) + 1); + u > i && ((i = u), (o = c)); + } + } + return i ? a(o) : s; + }; + case 'rms': + return function (t, e) { + for (var r = 0, i = 0, o = 0; o < e.length; o++) { + var l = n(t[e[o]]); + l !== s && ((r += l * l), i++); + } + return i ? a(Math.sqrt(r / i)) : s; + }; + case 'stddev': + return function (e, r) { + var i, + a = 0, + o = 0, + l = 1, + c = s; + for (i = 0; i < r.length && c === s; i++) + c = n(e[r[i]]); + if (c === s) return s; + for (; i < r.length; i++) { + var u = n(e[r[i]]); + if (u !== s) { + var f = u - c; + (a += f), (o += f * f), l++; + } + } + var h = 'sample' === t.funcmode ? l - 1 : l; + return h ? Math.sqrt((o - (a * a) / l) / h) : 0; + }; + } + })(a, n.getDataConversions(t, e, o, c)), + d = new Array(r.length), + g = 0; + g < r.length; + g++ + ) + d[g] = u(c, r[g]); + l.set(d), 'count' === a.func && i.pushUnique(e._arrayAttrs, o); + } + } + function f(t, e) { + return e.length; + } + function h(t, e) { + return t[e[0]]; + } + function p(t, e) { + return t[e[e.length - 1]]; + } + (r.supplyDefaults = function (t, e) { + var r, + n = {}; + function o(e, r) { + return i.coerce(t, n, l, e, r); + } + if (!o('enabled')) return n; + var s = a.findArrayAttributes(e), + u = {}; + for (r = 0; r < s.length; r++) u[s[r]] = 1; + var f = o('groups'); + if (!Array.isArray(f)) { + if (!u[f]) return (n.enabled = !1), n; + u[f] = 0; + } + var h, + p = t.aggregations || [], + d = (n.aggregations = new Array(p.length)); + function g(t, e) { + return i.coerce(p[r], h, c, t, e); + } + for (r = 0; r < p.length; r++) { + h = { _index: r }; + var m = g('target'), + v = g('func'); + g('enabled') && m && (u[m] || ('count' === v && void 0 === u[m])) + ? ('stddev' === v && g('funcmode'), (u[m] = 0), (d[r] = h)) + : (d[r] = { enabled: !1, _index: r }); + } + for (r = 0; r < s.length; r++) + u[s[r]] && + d.push({ + target: s[r], + func: c.func.dflt, + enabled: !0, + _index: -1, + }); + return n; + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var n = r.groups, + a = i.getTargetArray(e, { target: n }); + if (a) { + var s, + l, + c, + f, + h = {}, + p = {}, + d = [], + g = o(e.transforms, r), + m = a.length; + for ( + e._length && (m = Math.min(m, e._length)), s = 0; + s < m; + s++ + ) + void 0 === (c = h[(l = a[s])]) + ? ((h[l] = d.length), + (f = [s]), + d.push(f), + (p[h[l]] = g(s))) + : (d[c].push(s), + (p[h[l]] = (p[h[l]] || []).concat(g(s)))); + r._indexToPoints = p; + var v = r.aggregations; + for (s = 0; s < v.length; s++) u(t, e, d, v[s]); + 'string' == typeof n && + u(t, e, d, { target: n, func: 'first', enabled: !0 }), + (e._length = d.length); + } + } + }); + }, + { + '../constants/numerical': 753, + '../lib': 778, + '../plot_api/plot_schema': 816, + '../plots/cartesian/axes': 828, + './helpers': 1368, + }, + ], + 1366: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../registry'), + a = t('../plots/cartesian/axes'), + o = t('./helpers').pointsAccessorFunction, + s = t('../constants/filter_ops'), + l = s.COMPARISON_OPS, + c = s.INTERVAL_OPS, + u = s.SET_OPS; + (r.moduleType = 'transform'), + (r.name = 'filter'), + (r.attributes = { + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + target: { + valType: 'string', + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: 'x', + editType: 'calc', + }, + operation: { + valType: 'enumerated', + values: [].concat(l).concat(c).concat(u), + dflt: '=', + editType: 'calc', + }, + value: { valType: 'any', dflt: 0, editType: 'calc' }, + preservegaps: { valType: 'boolean', dflt: !1, editType: 'calc' }, + editType: 'calc', + }), + (r.supplyDefaults = function (t) { + var e = {}; + function a(i, a) { + return n.coerce(t, e, r.attributes, i, a); + } + if (a('enabled')) { + var o = a('target'); + if (n.isArrayOrTypedArray(o) && 0 === o.length) + return (e.enabled = !1), e; + a('preservegaps'), a('operation'), a('value'); + var s = i.getComponentMethod('calendars', 'handleDefaults'); + s(t, e, 'valuecalendar', null), s(t, e, 'targetcalendar', null); + } + return e; + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var i = n.getTargetArray(e, r); + if (i) { + var s = r.target, + f = i.length; + e._length && (f = Math.min(f, e._length)); + var h = r.targetcalendar, + p = e._arrayAttrs, + d = r.preservegaps; + if ('string' == typeof s) { + var g = n.nestedProperty(e, s + 'calendar').get(); + g && (h = g); + } + var m, + v, + y = (function (t, e, r) { + var n = t.operation, + i = t.value, + a = Array.isArray(i); + function o(t) { + return -1 !== t.indexOf(n); + } + var s, + f = function (r) { + return e(r, 0, t.valuecalendar); + }, + h = function (t) { + return e(t, 0, r); + }; + o(l) + ? (s = f(a ? i[0] : i)) + : o(c) + ? (s = a ? [f(i[0]), f(i[1])] : [f(i), f(i)]) + : o(u) && (s = a ? i.map(f) : [f(i)]); + switch (n) { + case '=': + return function (t) { + return h(t) === s; + }; + case '!=': + return function (t) { + return h(t) !== s; + }; + case '<': + return function (t) { + return h(t) < s; + }; + case '<=': + return function (t) { + return h(t) <= s; + }; + case '>': + return function (t) { + return h(t) > s; + }; + case '>=': + return function (t) { + return h(t) >= s; + }; + case '[]': + return function (t) { + var e = h(t); + return e >= s[0] && e <= s[1]; + }; + case '()': + return function (t) { + var e = h(t); + return e > s[0] && e < s[1]; + }; + case '[)': + return function (t) { + var e = h(t); + return e >= s[0] && e < s[1]; + }; + case '(]': + return function (t) { + var e = h(t); + return e > s[0] && e <= s[1]; + }; + case '][': + return function (t) { + var e = h(t); + return e <= s[0] || e >= s[1]; + }; + case ')(': + return function (t) { + var e = h(t); + return e < s[0] || e > s[1]; + }; + case '](': + return function (t) { + var e = h(t); + return e <= s[0] || e > s[1]; + }; + case ')[': + return function (t) { + var e = h(t); + return e < s[0] || e >= s[1]; + }; + case '{}': + return function (t) { + return -1 !== s.indexOf(h(t)); + }; + case '}{': + return function (t) { + return -1 === s.indexOf(h(t)); + }; + } + })(r, a.getDataToCoordFunc(t, e, s, i), h), + x = {}, + b = {}, + _ = 0; + d + ? ((m = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), + t.set(new Array(f)); + }), + (v = function (t, e) { + var r = x[t.astr][e]; + t.get()[e] = r; + })) + : ((m = function (t) { + (x[t.astr] = n.extendDeep([], t.get())), t.set([]); + }), + (v = function (t, e) { + var r = x[t.astr][e]; + t.get().push(r); + })), + k(m); + for (var w = o(e.transforms, r), T = 0; T < f; T++) { + y(i[T]) ? (k(v, T), (b[_++] = w(T))) : d && _++; + } + (r._indexToPoints = b), (e._length = _); + } + } + function k(t, r) { + for (var i = 0; i < p.length; i++) { + t(n.nestedProperty(e, p[i]), r); + } + } + }); + }, + { + '../constants/filter_ops': 749, + '../lib': 778, + '../plots/cartesian/axes': 828, + '../registry': 911, + './helpers': 1368, + }, + ], + 1367: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plot_api/plot_schema'), + a = t('../plots/plots'), + o = t('./helpers').pointsAccessorFunction; + function s(t, e) { + var r, + s, + l, + c, + u, + f, + h, + p, + d, + g, + m = e.transform, + v = e.transformIndex, + y = t.transforms[v].groups, + x = o(t.transforms, m); + if (!n.isArrayOrTypedArray(y) || 0 === y.length) return [t]; + var b = n.filterUnique(y), + _ = new Array(b.length), + w = y.length, + T = i.findArrayAttributes(t), + k = m.styles || [], + M = {}; + for (r = 0; r < k.length; r++) M[k[r].target] = k[r].value; + m.styles && + (g = n.keyedContainer(m, 'styles', 'target', 'value.name')); + var A = {}, + S = {}; + for (r = 0; r < b.length; r++) { + (A[(f = b[r])] = r), + (S[f] = 0), + ((h = _[r] = n.extendDeepNoArrays({}, t))._group = f), + (h.transforms[v]._indexToPoints = {}); + var E = null; + for ( + g && (E = g.get(f)), + h.name = + E || '' === E + ? E + : n.templateString(m.nameformat, { + trace: t.name, + group: f, + }), + p = h.transforms, + h.transforms = [], + s = 0; + s < p.length; + s++ + ) + h.transforms[s] = n.extendDeepNoArrays({}, p[s]); + for (s = 0; s < T.length; s++) n.nestedProperty(h, T[s]).set([]); + } + for (l = 0; l < T.length; l++) { + for (c = T[l], s = 0, d = []; s < b.length; s++) + d[s] = n.nestedProperty(_[s], c).get(); + for (u = n.nestedProperty(t, c).get(), s = 0; s < w; s++) + d[A[y[s]]].push(u[s]); + } + for (s = 0; s < w; s++) { + ((h = _[A[y[s]]]).transforms[v]._indexToPoints[S[y[s]]] = x(s)), + S[y[s]]++; + } + for (r = 0; r < b.length; r++) + (f = b[r]), + (h = _[r]), + a.clearExpandedTraceDefaultColors(h), + (h = n.extendDeepNoArrays(h, M[f] || {})); + return _; + } + (r.moduleType = 'transform'), + (r.name = 'groupby'), + (r.attributes = { + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + groups: { valType: 'data_array', dflt: [], editType: 'calc' }, + nameformat: { valType: 'string', editType: 'calc' }, + styles: { + _isLinkedToArray: 'style', + target: { valType: 'string', editType: 'calc' }, + value: { + valType: 'any', + dflt: {}, + editType: 'calc', + _compareAsJSON: !0, + }, + editType: 'calc', + }, + editType: 'calc', + }), + (r.supplyDefaults = function (t, e, i) { + var a, + o = {}; + function s(e, i) { + return n.coerce(t, o, r.attributes, e, i); + } + if (!s('enabled')) return o; + s('groups'), + s( + 'nameformat', + i._dataLength > 1 ? '%{group} (%{trace})' : '%{group}' + ); + var l = t.styles, + c = (o.styles = []); + if (l) + for (a = 0; a < l.length; a++) { + var u = (c[a] = {}); + n.coerce(l[a], c[a], r.attributes.styles, 'target'); + var f = n.coerce(l[a], c[a], r.attributes.styles, 'value'); + n.isPlainObject(f) + ? (u.value = n.extendDeep({}, f)) + : f && delete u.value; + } + return o; + }), + (r.transform = function (t, e) { + var r, + n, + i, + a = []; + for (n = 0; n < t.length; n++) + for (r = s(t[n], e), i = 0; i < r.length; i++) a.push(r[i]); + return a; + }); + }, + { + '../lib': 778, + '../plot_api/plot_schema': 816, + '../plots/plots': 891, + './helpers': 1368, + }, + ], + 1368: [ + function (t, e, r) { + 'use strict'; + r.pointsAccessorFunction = function (t, e) { + for (var r, n, i = 0; i < t.length && (r = t[i]) !== e; i++) + r._indexToPoints && !1 !== r.enabled && (n = r._indexToPoints); + return n + ? function (t) { + return n[t]; + } + : function (t) { + return [t]; + }; + }; + }, + {}, + ], + 1369: [ + function (t, e, r) { + 'use strict'; + var n = t('../lib'), + i = t('../plots/cartesian/axes'), + a = t('./helpers').pointsAccessorFunction, + o = t('../constants/numerical').BADNUM; + (r.moduleType = 'transform'), + (r.name = 'sort'), + (r.attributes = { + enabled: { valType: 'boolean', dflt: !0, editType: 'calc' }, + target: { + valType: 'string', + strict: !0, + noBlank: !0, + arrayOk: !0, + dflt: 'x', + editType: 'calc', + }, + order: { + valType: 'enumerated', + values: ['ascending', 'descending'], + dflt: 'ascending', + editType: 'calc', + }, + editType: 'calc', + }), + (r.supplyDefaults = function (t) { + var e = {}; + function i(i, a) { + return n.coerce(t, e, r.attributes, i, a); + } + return i('enabled') && (i('target'), i('order')), e; + }), + (r.calcTransform = function (t, e, r) { + if (r.enabled) { + var s = n.getTargetArray(e, r); + if (s) { + var l = r.target, + c = s.length; + e._length && (c = Math.min(c, e._length)); + var u, + f, + h = e._arrayAttrs, + p = (function (t, e, r, n) { + var i, + a = new Array(n), + s = new Array(n); + for (i = 0; i < n; i++) a[i] = { v: e[i], i: i }; + for ( + a.sort( + (function (t, e) { + switch (t.order) { + case 'ascending': + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o ? 1 : i === o ? -1 : n - i; + }; + case 'descending': + return function (t, r) { + var n = e(t.v), + i = e(r.v); + return n === o ? 1 : i === o ? -1 : i - n; + }; + } + })(t, r) + ), + i = 0; + i < n; + i++ + ) + s[i] = a[i].i; + return s; + })(r, s, i.getDataToCoordFunc(t, e, l, s), c), + d = a(e.transforms, r), + g = {}; + for (u = 0; u < h.length; u++) { + var m = n.nestedProperty(e, h[u]), + v = m.get(), + y = new Array(c); + for (f = 0; f < c; f++) y[f] = v[p[f]]; + m.set(y); + } + for (f = 0; f < c; f++) g[f] = d(p[f]); + (r._indexToPoints = g), (e._length = c); + } + } + }); + }, + { + '../constants/numerical': 753, + '../lib': 778, + '../plots/cartesian/axes': 828, + './helpers': 1368, + }, + ], + 1370: [ + function (t, e, r) { + 'use strict'; + r.version = '1.58.5'; + }, + {}, + ], + }, + {}, + [26] + )(26); +}); From 578af36f8c8066dc83d35a3df79cad4c5a7ea7ad Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Fri, 13 Jan 2023 22:08:42 +0100 Subject: [PATCH 012/129] new chart updates --- .../brew-brewing/brew-brewing.component.ts | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 55e46b25e..14ba55c9d 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -133,6 +133,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private graphTimerTest: any = undefined; + private lastChartLayout: any = undefined; + constructor( private readonly platform: Platform, private readonly uiSettingsStorage: UISettingsStorage, @@ -1408,6 +1410,18 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, }); } + if (this.timer.getSeconds() >= 29) { + const chartLayout = this.getChartLayout(); + + const delay = moment(new Date()).startOf('day').toDate().getTime(); + const delayedTime: number = moment(new Date()) + .startOf('day') + .add('seconds', 60) + .toDate() + .getTime(); + chartLayout.xaxis.range = [delay, delayedTime]; + Plotly.relayout('flowProfileChart', chartLayout); + } } public initializeFlowChart(): void { @@ -1485,15 +1499,15 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.realtimeFlowTrace, ]; - const layout = this.getChartLayout(); - if (layout['yaxis4']) { + this.lastChartLayout = this.getChartLayout(); + if (this.lastChartLayout['yaxis4']) { chartData.push(this.pressureTrace); } Plotly.newPlot( 'flowProfileChart', chartData, - layout, + this.lastChartLayout, this.getChartConfig() ); }, 100); @@ -1552,6 +1566,13 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } + const startRange = moment(new Date()).startOf('day').toDate().getTime(); + const endRange: number = moment(new Date()) + .startOf('day') + .add('seconds', 30) + .toDate() + .getTime(); + const layout = { width: chartWidth, height: chartHeight, @@ -1575,14 +1596,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, xaxis: { tickformat: tickFormat, - visible: xAxisVisible, + visible: true, domain: [0.1, 0.9], fixedrange: true, type: 'date', - range: [ - this.startingFlowTime, - moment(this.startingFlowTime).add(3, 'seconds').toDate().getTime(), - ], + range: [startRange, endRange], }, yaxis: { title: '', @@ -1617,9 +1635,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { range: [0, 12], }; } - if (!window['layout']) { - window['layout'] = layout; - } return layout; } From 4b292b277ca623ffa073473e8caaf4c3b496d262 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 14 Jan 2023 21:54:05 +0100 Subject: [PATCH 013/129] speeding up and remove lags in plotlyjs --- .../brew/brew-detail/brew-detail.component.ts | 13 ++- .../brew/brew-flow/brew-flow.component.html | 2 +- src/app/brew/brew-flow/brew-flow.component.ts | 29 ++--- .../brew-brewing/brew-brewing.component.ts | 110 ++++++------------ 4 files changed, 57 insertions(+), 97 deletions(-) diff --git a/src/app/brew/brew-detail/brew-detail.component.ts b/src/app/brew/brew-detail/brew-detail.component.ts index 226fa0e7e..5ff6e1d93 100644 --- a/src/app/brew/brew-detail/brew-detail.component.ts +++ b/src/app/brew/brew-detail/brew-detail.component.ts @@ -55,6 +55,8 @@ export class BrewDetailComponent implements OnInit { private realtimeFlowTrace: any; private pressureTrace: any; private maximizeFlowGraphIsShown: boolean = false; + + public lastChartLayout: any = undefined; constructor( private readonly modalController: ModalController, private readonly navParams: NavParams, @@ -402,12 +404,10 @@ export class BrewDetailComponent implements OnInit { private getChartLayout() { const xAxisVisible: boolean = true; - - let chartWidth: number = undefined; - let chartHeight: number = 150; - if (this.maximizeFlowGraphIsShown === true) { - chartHeight = undefined; - } + const chartWidth: number = document.getElementById( + 'canvasContainerBrew' + ).offsetWidth; + const chartHeight: number = 150; let tickFormat = '%S'; @@ -477,6 +477,7 @@ export class BrewDetailComponent implements OnInit { position: 0.95, }; } + this.lastChartLayout = layout; return layout; } diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 6c5349a8f..14b047561 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -1,4 +1,4 @@ - + diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index ab7218347..3d01f2cc4 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -3,6 +3,7 @@ import { Component, ElementRef, EventEmitter, + HostListener, Input, OnDestroy, OnInit, @@ -21,7 +22,7 @@ import { BrewBrewingComponent } from '../../../components/brews/brew-brewing/bre import { TranslateService } from '@ngx-translate/core'; import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; - +declare var Plotly; @Component({ selector: 'brew-flow', templateUrl: './brew-flow.component.html', @@ -89,17 +90,7 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { }, 50); }); - await new Promise((resolve) => { - // Looks funny but we need. if we would not calculate and substract 25px, the actual time graph would not be displayed :< - setTimeout(() => { - const newHeight = - document.getElementById('brewFlowContainer').offsetHeight; - document.getElementById('flowProfileChart').style.height = - newHeight - 1 + 'px'; - - resolve(undefined); - }, 100); - }); + this.onOrientationChange(); if (this.isDetail === false) { this.brewFlowGraphSubscription = this.brewFlowGraphEvent.subscribe( @@ -131,12 +122,24 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { } setTimeout(() => { if (this.isDetail) { - this.brewComponent.initializeFlowChart(); } else { this.brewComponent.updateChart(); } }, 150); } + + @HostListener('window:resize') + @HostListener('window:orientationchange', ['$event']) + public onOrientationChange() { + setTimeout(() => { + this.brewComponent.lastChartLayout.height = + document.getElementById('brewFlowContainer').offsetHeight; + this.brewComponent.lastChartLayout.width = + document.getElementById('brewFlowContainer').offsetWidth; + Plotly.relayout('flowProfileChart', this.brewComponent.lastChartLayout); + }, 50); + } + public pressureDeviceConnected() { if (!this.platform.is('cordova')) { return true; diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 14ba55c9d..11a5b8994 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -37,7 +37,6 @@ import { BrewBeverageQuantityCalculatorComponent } from '../../../app/brew/brew- import { Subscription } from 'rxjs'; -import { Chart } from 'chart.js'; import { UIHelper } from '../../../services/uiHelper'; import { UIExcel } from '../../../services/uiExcel'; import { @@ -133,7 +132,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private graphTimerTest: any = undefined; - private lastChartLayout: any = undefined; + public lastChartLayout: any = undefined; + public lastChartRenderingInstance: number = 0; constructor( private readonly platform: Platform, @@ -342,7 +342,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { const modal = await this.modalController.create({ component: BrewFlowComponent, - breakpoints: [0, 1], + breakpoints: [1], initialBreakpoint: 1, id: BrewFlowComponent.COMPONENT_ID, cssClass: 'popover-actions', @@ -354,8 +354,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, }); this.maximizeFlowGraphIsShown = true; - await modal.present(); + await modal.present(); await modal.onWillDismiss().then(async () => { this.maximizeFlowGraphIsShown = false; // If responsive would be true, the add of the container would result into 0 width 0 height, therefore the hack @@ -395,7 +395,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }); await new Promise((resolve) => { setTimeout(async () => { - this.updateChart(); + this.lastChartLayout.height = 150; + this.lastChartLayout.width = document.getElementById( + 'canvasContainerBrew' + ).offsetWidth; + Plotly.relayout('flowProfileChart', this.lastChartLayout); resolve(undefined); }, 50); }); @@ -1332,18 +1336,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } public updateChart() { - const chartData = [ - this.weightTrace, - this.flowPerSecondTrace, - this.realtimeFlowTrace, - ]; - - const layout = this.getChartLayout(); - if (layout['yaxis4']) { - chartData.push(this.pressureTrace); - } - - if (layout['yaxis4']) { + if (this.lastChartLayout['yaxis4']) { Plotly.extendTraces( 'flowProfileChart', { @@ -1381,46 +1374,23 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { ); } - const suggestedMinFlow: number = 0; - let suggestedMaxFlow: number = 20; - - const suggestedMinWeight: number = 0; - let suggestedMaxWeight: number = 300; + const newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); if ( - this.data.getPreparation().style_type === PREPARATION_STYLE_TYPE.ESPRESSO + Math.floor(this.timer.getSeconds() / 20) > this.lastChartRenderingInstance ) { - suggestedMaxFlow = 2.5; - suggestedMaxWeight = 30; - } - let needsUpdate = false; - if (this.weightTrace.y.length > 0) { - const lastWeightData: number = - this.weightTrace.y[this.weightTrace.y.length - 1]; - if (lastWeightData > suggestedMaxWeight) { - //Scale a bit up - suggestedMaxWeight = lastWeightData * 1.5; - needsUpdate = true; - } - } - - if (needsUpdate === true) { - Plotly.relayout('flowProfileChart', { - yaxis: { - range: [0, suggestedMaxWeight], - }, - }); - } - if (this.timer.getSeconds() >= 29) { - const chartLayout = this.getChartLayout(); - - const delay = moment(new Date()).startOf('day').toDate().getTime(); + const delay = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() - 10) + .toDate() + .getTime(); const delayedTime: number = moment(new Date()) .startOf('day') - .add('seconds', 60) + .add('seconds', this.timer.getSeconds() + 30) .toDate() .getTime(); - chartLayout.xaxis.range = [delay, delayedTime]; - Plotly.relayout('flowProfileChart', chartLayout); + this.lastChartLayout.xaxis.range = [delay, delayedTime]; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + this.lastChartRenderingInstance = newRenderingInstance; } } @@ -1444,7 +1414,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { line: { shape: 'linear', color: '#cdc2ac', - width: 1, + width: 2, }, visible: graphSettings.weight ? true : 'legendonly', }; @@ -1458,7 +1428,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { line: { shape: 'linear', color: '#7F97A2', - width: 1, + width: 2, }, visible: graphSettings.calc_flow ? true : 'legendonly', }; @@ -1473,7 +1443,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { line: { shape: 'linear', color: '#09485D', - width: 1, + width: 2, }, visible: graphSettings.realtime_flow ? true : 'legendonly', }; @@ -1488,7 +1458,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { line: { shape: 'linear', color: '#05C793', - width: 1, + width: 2, }, visible: graphSettings.pressure ? true : 'legendonly', }; @@ -1514,26 +1484,14 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } private getChartLayout() { - let xAxisVisible: boolean = false; - let chartWidth: number = undefined; - let chartHeight: number = 150; - if (this.maximizeFlowGraphIsShown === true) { - chartHeight = undefined; - } - if (this.weightTrace.x.length > 0 || this.pressureTrace.x.length > 0) { - xAxisVisible = true; - } - let tickFormat = '%S'; + const xAxisVisible: boolean = true; + const chartWidth: number = document.getElementById( + 'canvasContainerBrew' + ).offsetWidth; + const chartHeight: number = 150; + + const tickFormat = '%M:%S'; - if (this.timer.getSeconds() > 59) { - tickFormat = '%M:' + tickFormat; - } - if ( - this.settings.brew_milliseconds === true && - this.timer.getSeconds() < 10 - ) { - tickFormat = tickFormat + '.%L'; - } /* yaxis3: { title: '', titlefont: {color: '#09485D'}, @@ -1583,7 +1541,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { t: 20, pad: 2, }, - showlegend: true, + showlegend: false, legend: { x: 0, y: 1.3, @@ -1607,7 +1565,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { titlefont: { color: '#cdc2ac' }, tickfont: { color: '#cdc2ac' }, fixedrange: true, - range: [suggestedMinWeight, suggestedMaxWeight], }, yaxis2: { title: '', @@ -1618,7 +1575,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { side: 'right', position: 1, fixedrange: true, - range: [suggestedMinFlow, suggestedMaxFlow], }, }; const pressureDevice = this.bleManager.getPressureDevice(); From 920687b5df9480bd65898d645e4a6b9a9236a170 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 14 Jan 2023 23:10:48 +0100 Subject: [PATCH 014/129] Adding legend outside the plugin and fixing reset --- .../brew/brew-flow/brew-flow.component.html | 9 ++++- .../brew/brew-flow/brew-flow.component.scss | 17 +++++++++ src/app/brew/brew-flow/brew-flow.component.ts | 3 ++ .../brew-brewing/brew-brewing.component.html | 14 +++++++ .../brew-brewing/brew-brewing.component.scss | 18 +++++++++ .../brew-brewing/brew-brewing.component.ts | 38 +++++++++++++------ 6 files changed, 87 insertions(+), 12 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 14b047561..2acb85b18 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -4,10 +4,17 @@ +
+ + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}} +
-
+
diff --git a/src/app/brew/brew-flow/brew-flow.component.scss b/src/app/brew/brew-flow/brew-flow.component.scss index 11b86c60a..13935599a 100644 --- a/src/app/brew/brew-flow/brew-flow.component.scss +++ b/src/app/brew/brew-flow/brew-flow.component.scss @@ -62,4 +62,21 @@ } } + + ion-chip.weight { + --background: #cdc2ac; + --color: black; + } + ion-chip.flowcalculated { + --background: #7F97A2; + --color: black; + } + ion-chip.flowreal { + --background: #09485D; + --color: black; + } + ion-chip.pressure { + --background: #05C793; + --color: black; + } } diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index 3d01f2cc4..bcc1e37f1 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -168,6 +168,9 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { } public resetTimer() { this.brewComponent.timer.reset(); + setTimeout(() => { + this.onOrientationChange(); + }, 500); } public resumeTimer() { this.brewComponent.timerResumedPressed(undefined); diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index ec776eb6c..d29522f6f 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -310,11 +310,25 @@ + +
+ + + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}} +
+
+
diff --git a/src/components/brews/brew-brewing/brew-brewing.component.scss b/src/components/brews/brew-brewing/brew-brewing.component.scss index 0df56e3f3..a881fae5f 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.scss +++ b/src/components/brews/brew-brewing/brew-brewing.component.scss @@ -47,4 +47,22 @@ } + ion-chip.weight { + --background: #cdc2ac; + --color: black; + } + ion-chip.flowcalculated { + --background: #7F97A2; + --color: black; + } + ion-chip.flowreal { + --background: #09485D; + --color: black; + } + ion-chip.pressure { + --background: #05C793; + --color: black; + } + + } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 11a5b8994..70aef1dec 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -58,6 +58,7 @@ import { } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; +import { IBrewGraphs } from '../../../interfaces/brew/iBrewGraphs'; declare var cordova; declare var Plotly; @@ -125,15 +126,16 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private brewPressureGraphSubject: EventEmitter = new EventEmitter(); private maximizeFlowGraphIsShown: boolean = false; - private weightTrace: any; - private flowPerSecondTrace: any; - private realtimeFlowTrace: any; - private pressureTrace: any; + public weightTrace: any; + public flowPerSecondTrace: any; + public realtimeFlowTrace: any; + public pressureTrace: any; private graphTimerTest: any = undefined; public lastChartLayout: any = undefined; public lastChartRenderingInstance: number = 0; + public graphSettings: IBrewGraphs = undefined; constructor( private readonly platform: Platform, @@ -804,6 +806,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { public async timerReset(_event) { const scale: BluetoothScale = this.bleManager.getScale(); const pressureDevice: PressureDevice = this.bleManager.getPressureDevice(); + if (scale || pressureDevice) { await this.uiAlert.showLoadingSpinner(); if (scale) { @@ -1335,6 +1338,17 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } + public toggleChartLines(_type: string) { + if (_type === 'weight') { + this.weightTrace.visible = !this.weightTrace.visible; + } else if (_type === 'calc_flow') { + this.flowPerSecondTrace.visible = !this.flowPerSecondTrace.visible; + } else if (_type === 'realtime_flow') { + this.realtimeFlowTrace.visible = !this.realtimeFlowTrace.visible; + } else if (_type === 'pressure') { + this.pressureTrace.visible = !this.pressureTrace.visible; + } + } public updateChart() { if (this.lastChartLayout['yaxis4']) { Plotly.extendTraces( @@ -1396,12 +1410,14 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { public initializeFlowChart(): void { setTimeout(() => { - let graphSettings = this.settings.graph.FILTER; + this.graphSettings = this.uiHelper.cloneData(this.settings.graph.FILTER); if ( this.data.getPreparation().style_type === PREPARATION_STYLE_TYPE.ESPRESSO ) { - graphSettings = this.settings.graph.ESPRESSO; + this.graphSettings = this.uiHelper.cloneData( + this.settings.graph.ESPRESSO + ); } this.weightTrace = { @@ -1416,7 +1432,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#cdc2ac', width: 2, }, - visible: graphSettings.weight ? true : 'legendonly', + visible: this.graphSettings.weight ? true : 'legendonly', }; this.flowPerSecondTrace = { x: [], @@ -1430,7 +1446,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#7F97A2', width: 2, }, - visible: graphSettings.calc_flow ? true : 'legendonly', + visible: this.graphSettings.calc_flow ? true : 'legendonly', }; this.realtimeFlowTrace = { @@ -1445,7 +1461,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#09485D', width: 2, }, - visible: graphSettings.realtime_flow ? true : 'legendonly', + visible: this.graphSettings.realtime_flow ? true : 'legendonly', }; this.pressureTrace = { @@ -1460,7 +1476,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#05C793', width: 2, }, - visible: graphSettings.pressure ? true : 'legendonly', + visible: this.graphSettings.pressure ? true : 'legendonly', }; const chartData = [ @@ -1548,7 +1564,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { orientation: 'h', font: { family: 'Karla', - size: 10, + size: 14, color: '#000', }, }, From da1a11509e747b2d46c7ebace76627c7c55d06da Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 17 Jan 2023 21:03:43 +0100 Subject: [PATCH 015/129] Fixing graphs, performance, using every pixel possible --- package-lock.json | 42 +- package.json | 2 +- .../beans/bean-sort/bean-sort.component.html | 1 + .../brew-detail/brew-detail.component.html | 13 + .../brew-detail/brew-detail.component.scss | 19 + .../brew/brew-detail/brew-detail.component.ts | 83 ++-- .../brew/brew-flow/brew-flow.component.html | 181 ++++----- .../brew/brew-flow/brew-flow.component.scss | 30 +- src/app/brew/brew-flow/brew-flow.component.ts | 45 ++- src/app/dashboard/dashboard.page.html | 3 - src/app/dashboard/dashboard.page.ts | 373 ------------------ .../beanconqueror-pressure.svg | 1 + .../beanconqueror-scale-outline.svg | 1 + .../devices/pressureBluetoothDevice.ts | 9 + .../brew-brewing/brew-brewing.component.scss | 7 +- .../brew-brewing/brew-brewing.component.ts | 244 +++++++----- 16 files changed, 383 insertions(+), 671 deletions(-) create mode 100644 src/assets/custom-ion-icons/beanconqueror-pressure.svg create mode 100644 src/assets/custom-ion-icons/beanconqueror-scale-outline.svg diff --git a/package-lock.json b/package-lock.json index 236035186..dff15ed35 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "@ionic-native/splash-screen": "^5.33.1", "@ionic-native/status-bar": "^5.33.1", "@ionic-native/three-dee-touch": "^5.33.1", - "@ionic/angular": "^6.4.0", + "@ionic/angular": "^6.4.2", "@ionic/cli": "^6.18.1", "@ionic/storage": "^2.3.1", "@ngx-translate/core": "^11.0.1", @@ -4336,11 +4336,11 @@ } }, "node_modules/@ionic/angular": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.4.0.tgz", - "integrity": "sha512-ZcMtcSk0WQzw8vxfBpBSMD8g96EqdhGVoCKmBTQsMqYhnRMGCa5518p3vLSe7KiK64G+zSzXpAuuCkz6u12UgA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.4.2.tgz", + "integrity": "sha512-+t8dkxlnPLzbS0Xdxe+p6eLvRLVCWYPIJhfriNhb67OfdMBemWWizNlacf6UxWyZpH7j67kgOZnezAso2fNdgA==", "dependencies": { - "@ionic/core": "6.4.0", + "@ionic/core": "6.4.2", "ionicons": "^6.0.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" @@ -7732,9 +7732,9 @@ } }, "node_modules/@ionic/core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.4.0.tgz", - "integrity": "sha512-rWqXX67bWDD5r5Kleacy4dTBIXcB1gX+2Q5AK7LAtmtHUUuJPqGw/bAWE8hGKlF7ehJTyzb5CYV9XDzb8/00Zw==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.4.2.tgz", + "integrity": "sha512-X6lKIrVL68UC3HenkUpOMw2Wu6D+XN42EbBPJdKFxGiW8ozhpzYj8QMUcX6ESC7jk44CrpUN3GpHhb+Lrw78OA==", "dependencies": { "@stencil/core": "^2.18.0", "ionicons": "^6.0.4", @@ -8703,9 +8703,9 @@ "dev": true }, "node_modules/@stencil/core": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.20.0.tgz", - "integrity": "sha512-ka+eOW+dNteXIfLCRipNbbAlBEQjqJ2fkx3fxzlKgnNHEQMdZiuIjlWt63KzvOJStNeuADdQXo89BB1dC2VRUw==", + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.21.0.tgz", + "integrity": "sha512-c4mVCl87wTV8u7ExQqiiQU5XrkzXjq8ll8skPlFHlJ7+5hGWhRpuVqKgVYJPN1mC/ucRqCUfjzSNUD7cFKHhkw==", "bin": { "stencil": "bin/stencil" }, @@ -31718,11 +31718,11 @@ } }, "@ionic/angular": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.4.0.tgz", - "integrity": "sha512-ZcMtcSk0WQzw8vxfBpBSMD8g96EqdhGVoCKmBTQsMqYhnRMGCa5518p3vLSe7KiK64G+zSzXpAuuCkz6u12UgA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.4.2.tgz", + "integrity": "sha512-+t8dkxlnPLzbS0Xdxe+p6eLvRLVCWYPIJhfriNhb67OfdMBemWWizNlacf6UxWyZpH7j67kgOZnezAso2fNdgA==", "requires": { - "@ionic/core": "6.4.0", + "@ionic/core": "6.4.2", "ionicons": "^6.0.4", "jsonc-parser": "^3.0.0", "tslib": "^2.0.0" @@ -34191,9 +34191,9 @@ } }, "@ionic/core": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.4.0.tgz", - "integrity": "sha512-rWqXX67bWDD5r5Kleacy4dTBIXcB1gX+2Q5AK7LAtmtHUUuJPqGw/bAWE8hGKlF7ehJTyzb5CYV9XDzb8/00Zw==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.4.2.tgz", + "integrity": "sha512-X6lKIrVL68UC3HenkUpOMw2Wu6D+XN42EbBPJdKFxGiW8ozhpzYj8QMUcX6ESC7jk44CrpUN3GpHhb+Lrw78OA==", "requires": { "@stencil/core": "^2.18.0", "ionicons": "^6.0.4", @@ -34953,9 +34953,9 @@ } }, "@stencil/core": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.20.0.tgz", - "integrity": "sha512-ka+eOW+dNteXIfLCRipNbbAlBEQjqJ2fkx3fxzlKgnNHEQMdZiuIjlWt63KzvOJStNeuADdQXo89BB1dC2VRUw==" + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.21.0.tgz", + "integrity": "sha512-c4mVCl87wTV8u7ExQqiiQU5XrkzXjq8ll8skPlFHlJ7+5hGWhRpuVqKgVYJPN1mC/ucRqCUfjzSNUD7cFKHhkw==" }, "@stylelint/postcss-css-in-js": { "version": "0.37.2", diff --git a/package.json b/package.json index 252d9bd45..0a65bb5ef 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@ionic-native/splash-screen": "^5.33.1", "@ionic-native/status-bar": "^5.33.1", "@ionic-native/three-dee-touch": "^5.33.1", - "@ionic/angular": "^6.4.0", + "@ionic/angular": "^6.4.2", "@ionic/cli": "^6.18.1", "@ionic/storage": "^2.3.1", "@ngx-translate/core": "^11.0.1", diff --git a/src/app/beans/bean-sort/bean-sort.component.html b/src/app/beans/bean-sort/bean-sort.component.html index 7fa2d418d..a5db09b4f 100644 --- a/src/app/beans/bean-sort/bean-sort.component.html +++ b/src/app/beans/bean-sort/bean-sort.component.html @@ -1,4 +1,5 @@ + diff --git a/src/app/brew/brew-detail/brew-detail.component.html b/src/app/brew/brew-detail/brew-detail.component.html index e7464b649..1e541d95a 100644 --- a/src/app/brew/brew-detail/brew-detail.component.html +++ b/src/app/brew/brew-detail/brew-detail.component.html @@ -272,6 +272,19 @@

{{data?.getFormattedTotalCoffeeTemperatureTime()}}

+
+ +
+ + + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}} +
-
- - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} - {{'BREW_PRESSURE_FLOW' | translate}} -
- + - -
+ +
+ {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}}
- - - - - - - - - - -
? g/s
-
? g/s
-
- - {{"BREW_FLOW_WEIGHT_PER_SECOND" | translate}} - -
- - - -
? g
-
({{brew.getBrewRatio()}})
-
- - {{"BREW_FLOW_WEIGHT" | translate}} - - -
- - -
{{this.uiHelper.formatSeconds(brew.brew_time,'mm:ss')}}
-
{{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time,brew.brew_time_milliseconds,'mm:ss.SSS')}}
-
- - {{"BREW_DATA_TIME" | translate}} - -
- -
-
-
- + + + + - - - -
- - - - - - - - + + - - - - +
- - - - - - - - - +
+
+ ?g + ({{brew.getBrewRatio()}}) +
+
+ ?g
+
+ ?g
+
+ {{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} + {{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time, brew.brew_time_milliseconds, 'mm:ss.SSS')}} +
+
-
- {{"CLOSE" | translate}} - - +
+ +
+ + +
+ + + + + + + + + + + + + - {{"CLOSE" | translate}} + + + + + + + + + +
+
diff --git a/src/app/brew/brew-flow/brew-flow.component.scss b/src/app/brew/brew-flow/brew-flow.component.scss index 13935599a..3bb186a56 100644 --- a/src/app/brew/brew-flow/brew-flow.component.scss +++ b/src/app/brew/brew-flow/brew-flow.component.scss @@ -1,6 +1,5 @@ :host { ion-header{ - height:30px; background-color:#ffffff; } ion-toolbar{ @@ -14,15 +13,16 @@ #brewFlowContainer { height:100%; } - ion-grid { - height:100%; - ion-row { - height: 100%; - ion-col { - height:100%; - } - } +#informationContainer { +display:flex; + font-size:24px; + ion-icon { + margin-right:2px; } + span { + vertical-align:top; + } +} ion-label { color: #938F89; @@ -66,17 +66,25 @@ ion-chip.weight { --background: #cdc2ac; --color: black; + margin-right:0px; + margin-left:10px; } ion-chip.flowcalculated { --background: #7F97A2; - --color: black; + --color: white; + margin-right:0px; + } + ion-chip.chip-outline { + --color:black!important; } ion-chip.flowreal { --background: #09485D; - --color: black; + --color: white; + margin-right:0px; } ion-chip.pressure { --background: #05C793; --color: black; + margin-right:0px; } } diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index bcc1e37f1..63668327a 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -30,12 +30,7 @@ declare var Plotly; }) export class BrewFlowComponent implements AfterViewInit, OnDestroy { public static COMPONENT_ID: string = 'brew-flow'; - @ViewChild('smartScaleWeight', { read: ElementRef }) - public smartScaleWeightEl: ElementRef; - @ViewChild('smartScaleWeightPerSecond', { read: ElementRef }) - public smartScaleWeightPerSecondEl: ElementRef; - @ViewChild('smartScaleAvgFlowPerSecond', { read: ElementRef }) - public smartScaleAvgFlowPerSecondEl: ElementRef; + public showBloomTimer: boolean = false; public showDripTimer: boolean = false; public gaugeVisible: boolean = false; @@ -57,6 +52,15 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { public gaugeLabel = ''; public gaugeSize = 50; + @ViewChild('smartScaleWeightDetail', { read: ElementRef }) + public smartScaleWeightDetail: ElementRef; + @ViewChild('smartScaleWeightPerSecondDetail', { read: ElementRef }) + public smartScaleWeightPerSecondDetail: ElementRef; + @ViewChild('smartScaleAvgFlowPerSecondDetail', { read: ElementRef }) + public smartScaleAvgFlowPerSecondDetail: ElementRef; + @ViewChild('pressureDetail', { read: ElementRef }) + public pressureDetail: ElementRef; + constructor( private readonly modalController: ModalController, private readonly screenOrientation: ScreenOrientation, @@ -71,7 +75,7 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { public async ngAfterViewInit() { this.settings = this.uiSettingsStorage.getSettings(); - if (this.isDetail === false) { + /*if (this.isDetail === false) { setTimeout(() => { const offsetWidth = document.getElementById('brewPanel').offsetWidth; @@ -80,7 +84,7 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { }, 1000); this.gaugeLabel = this.translate.instant('BREW_PRESSURE_FLOW'); - } + }*/ await new Promise((resolve) => { setTimeout(() => { document @@ -132,8 +136,14 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { @HostListener('window:orientationchange', ['$event']) public onOrientationChange() { setTimeout(() => { + const flowHeight = document.getElementById('flowCard').offsetHeight; + const informationContainerHeight = document.getElementById( + 'informationContainer' + ).offsetHeight; + this.brewComponent.lastChartLayout.height = - document.getElementById('brewFlowContainer').offsetHeight; + flowHeight - informationContainerHeight; + this.brewComponent.lastChartLayout.width = document.getElementById('brewFlowContainer').offsetWidth; Plotly.relayout('flowProfileChart', this.brewComponent.lastChartLayout); @@ -190,19 +200,20 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { } public setActualScaleInformation(_val: any) { - const weightEl = this.smartScaleWeightEl.nativeElement; - const flowEl = this.smartScaleWeightPerSecondEl.nativeElement; - const avgFlowEl = this.smartScaleAvgFlowPerSecondEl.nativeElement; + const weightEl = this.smartScaleWeightDetail.nativeElement; + const flowEl = this.smartScaleWeightPerSecondDetail.nativeElement; + const avgFlowEl = this.smartScaleAvgFlowPerSecondDetail.nativeElement; weightEl.textContent = _val.scaleWeight; flowEl.textContent = _val.smoothedWeight; - avgFlowEl.textContent = _val.avgFlow; + avgFlowEl.textContent = 'Ø ' + _val.avgFlow; } public setActualPressureInformation(_val: any) { - this.gaugeValue = _val.pressure; + const pressureEl = this.pressureDetail.nativeElement; + pressureEl.textContent = _val.pressure; } - public ngOnDestroy() { + public async ngOnDestroy() { if (this.brewFlowGraphSubscription) { this.brewFlowGraphSubscription.unsubscribe(); this.brewFlowGraphSubscription = undefined; @@ -223,6 +234,10 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { } } public dismiss() { + document + .getElementById('canvasContainerBrew') + .append(document.getElementById('flowProfileChart')); + this.modalController.dismiss( { dismissed: true, diff --git a/src/app/dashboard/dashboard.page.html b/src/app/dashboard/dashboard.page.html index 1c771536f..e46cf3cb7 100644 --- a/src/app/dashboard/dashboard.page.html +++ b/src/app/dashboard/dashboard.page.html @@ -14,9 +14,6 @@ - -
- diff --git a/src/app/dashboard/dashboard.page.ts b/src/app/dashboard/dashboard.page.ts index ed18eeb83..88e4e0ce8 100644 --- a/src/app/dashboard/dashboard.page.ts +++ b/src/app/dashboard/dashboard.page.ts @@ -11,9 +11,6 @@ import { Bean } from '../../classes/bean/bean'; import { UIBeanHelper } from '../../services/uiBeanHelper'; import { UISettingsStorage } from '../../services/uiSettingsStorage'; -import { Chart } from 'chart.js'; -import moment from 'moment'; -declare var Plotly; @Component({ selector: 'dashboard', @@ -48,378 +45,8 @@ export class DashboardPage implements OnInit { // If an brew is deleted, we need to reset our array for the next call. this.leftOverBeansWeight = undefined; }); - setTimeout(() => { - // this.initializeFlowChart(); - }, 2000); } - public testi() { - this.flowProfileChartEl.pan({ x: -100 }, undefined, 'default'); - this.flowProfileChartEl.update(); - } - public initializeFlowChart(): void { - let i = 0; - - var trace1 = { - x: [], - y: [], - name: 'yaxis1 data', - type: 'scatter', - line: { shape: 'spline' }, - }; - var trace2 = { - x: [], - y: [], - name: 'yaxis2 data', - yaxis: 'y2', - type: 'scatter', - line: { shape: 'spline' }, - }; - - var trace3 = { - x: [], - y: [], - name: 'yaxis3 data', - yaxis: 'y3', - type: 'scatter', - line: { shape: 'spline' }, - }; - - var trace4 = { - x: [], - y: [], - name: 'yaxis4 data', - yaxis: 'y4', - type: 'scatter', - line: { shape: 'spline' }, - }; - - let tickformat = '%S.%L'; - if (i === 400) { - tickformat = '%M:%S.%L'; - } - const chartData = [trace1, trace2, trace3, trace4]; - const config = { - displayModeBar: false, // this is the line that hides the bar. - }; - const layout = { - margin: { - l: 20, - r: 20, - b: 20, - t: 20, - pad: 4, - }, - showlegend: true, - legend: { orientation: 'h' }, - xaxis: { tickformat: tickformat }, - yaxis: { - title: 'yaxis title', - titlefont: { color: '#1f77b4' }, - tickfont: { color: '#1f77b4' }, - }, - yaxis2: { - title: 'yaxis2 title', - titlefont: { color: '#ff7f0e' }, - tickfont: { color: '#ff7f0e' }, - anchor: 'free', - overlaying: 'y', - side: 'left', - position: 0.15, - }, - yaxis3: { - title: 'yaxis4 title', - titlefont: { color: '#d62728' }, - tickfont: { color: '#d62728' }, - anchor: 'x', - overlaying: 'y', - side: 'right', - }, - yaxis4: { - title: 'yaxis5 title', - titlefont: { color: '#9467bd' }, - tickfont: { color: '#9467bd' }, - anchor: 'free', - overlaying: 'y', - side: 'right', - position: 0.85, - }, - }; - - Plotly.newPlot('myDiv', chartData, layout, config); - - let weight = 0; - let realtime_flow = 0; - let flow = 0; - let pressure = 0; - const startingFlowTime = Date.now(); - const startingDay = moment(new Date()).startOf('day'); - - const delay = Date.now() - startingDay.toDate().getTime(); - - setInterval(() => { - i = i + 1; - flow = Math.floor(Math.random() * 11); - realtime_flow = Math.floor(Math.random() * 11); - weight = weight + Math.floor(Math.random() * 11); - pressure = Math.floor(Math.random() * 11); - const flowObj = { - unixTime: moment(new Date()) - .startOf('day') - .add('milliseconds', Date.now() - startingFlowTime) - .toDate() - .getTime(), - weight: weight, - realtime_flow: realtime_flow, - flow: flow, - date: null, - }; - flowObj.date = new Date(flowObj.unixTime); - - trace1.x.push(flowObj.date); - trace1.y.push(flowObj.weight); - - trace2.x.push(flowObj.date); - trace2.y.push(flowObj.flow); - - trace3.x.push(flowObj.date); - trace3.y.push(flowObj.realtime_flow); - - trace4.x.push(flowObj.date); - trace4.y.push(pressure); - if (i === 400) { - tickformat = '%M:%S.%L'; - } - - Plotly.newPlot('myDiv', chartData, layout, config); - }, 100); - return; - setTimeout(() => { - if (this.flowProfileChartEl) { - this.flowProfileChartEl.destroy(); - this.flowProfileChartEl = undefined; - } - if (this.flowProfileChartEl === undefined) { - const drinkingData = { - labels: [], - datasets: [ - { - label: 'BREW_FLOW_WEIGHT', - data: [], - borderColor: 'rgb(205,194,172)', - backgroundColor: 'rgb(205,194,172)', - yAxisID: 'y', - pointRadius: 0, - tension: 0, - borderWidth: 2, - hidden: false, - }, - { - label: 'BREW_FLOW_WEIGHT_PER_SECOND', - data: [], - borderColor: 'rgb(127,151,162)', - backgroundColor: 'rgb(127,151,162)', - yAxisID: 'y1', - spanGaps: true, - pointRadius: 0, - tension: 0, - borderWidth: 2, - hidden: false, - }, - { - label: 'BREW_FLOW_WEIGHT_REALTIME', - data: [], - borderColor: 'rgb(9,72,93)', - backgroundColor: 'rgb(9,72,93)', - yAxisID: 'y2', - spanGaps: true, - pointRadius: 0, - tension: 0, - borderWidth: 2, - hidden: false, - }, - ], - }; - - drinkingData.datasets.push({ - label: 'BREW_PRESSURE_FLOW', - data: [], - borderColor: 'rgb(5,199,147)', - backgroundColor: 'rgb(5,199,147)', - yAxisID: 'y3', - spanGaps: true, - pointRadius: 0, - tension: 0, - borderWidth: 2, - hidden: false, - }); - - const suggestedMinFlow: number = 0; - let suggestedMaxFlow: number = 20; - - const suggestedMinWeight: number = 0; - let suggestedMaxWeight: number = 300; - - const chartOptions = { - plugins: { - backgroundColorPlugin: {}, - zoom: { - pan: { - enabled: true, - mode: 'x', - }, - zoom: { - wheel: { - enabled: false, - }, - drag: { - enabled: true, - }, - pinch: { - enabled: true, - }, - mode: 'x', - }, - }, - }, - animation: true, - legend: { - display: false, - position: 'top', - }, - responsive: true, - maintainAspectRatio: false, - interaction: { - mode: 'index', - intersect: false, - }, - stacked: false, - - scales: { - y: { - type: 'linear', - display: true, - position: 'left', - suggestedMin: suggestedMinWeight, - suggestedMax: suggestedMaxWeight, - }, - y1: { - type: 'linear', - display: true, - position: 'right', - // grid line settings - grid: { - drawOnChartArea: false, // only want the grid lines for one axis to show up - }, - suggestedMin: suggestedMinFlow, - suggestedMax: suggestedMaxFlow, - }, - y2: { - // Real time flow - type: 'linear', - display: false, - position: 'right', - // grid line settings - grid: { - drawOnChartArea: false, // only want the grid lines for one axis to show up - }, - suggestedMin: suggestedMinFlow, - suggestedMax: suggestedMaxFlow, - }, - xAxis: { - ticks: { - maxTicksLimit: 10, - }, - }, - }, - }; - - chartOptions.scales['y3'] = { - type: 'linear', - display: true, - position: 'right', - // grid line settings - grid: { - drawOnChartArea: false, // only want the grid lines for one axis to show up - }, - // More then 12 bar should be strange. - suggestedMin: 0, - suggestedMax: 12, - }; - - this.flowProfileChartEl = new Chart( - this.flowProfileChart.nativeElement, - { - type: 'line', - data: drinkingData, - options: chartOptions, - plugins: [ - { - id: 'backgroundColorPlugin', - beforeDraw: (chart, args, options) => { - const ctx = chart.canvas.getContext('2d'); - ctx.save(); - ctx.globalCompositeOperation = 'destination-over'; - ctx.fillStyle = 'white'; - ctx.fillRect(0, 0, chart.width, chart.height); - ctx.restore(); - }, - }, - ], - } as any - ); - - let weight = 0; - let realtime_flow = 0; - let flow = 0; - let pressure = 0; - const startingFlowTime = Date.now(); - const startingDay = moment(new Date()).startOf('day'); - - const delay = Date.now() - startingDay.toDate().getTime(); - - setInterval(() => { - flow = Math.floor(Math.random() * 11); - realtime_flow = Math.floor(Math.random() * 11); - weight = weight + Math.floor(Math.random() * 11); - pressure = Math.floor(Math.random() * 11); - const flowObj = { - unixTime: moment(new Date()) - .startOf('day') - .add('milliseconds', Date.now() - startingFlowTime) - .toDate() - .getTime(), - weight: weight, - realtime_flow: realtime_flow, - flow: flow, - }; - - this.flowProfileChartEl.data.labels.push(flowObj.unixTime); - this.flowProfileChartEl.data.datasets[0].data.push({ - x: flowObj.unixTime, - y: weight, - }); - this.flowProfileChartEl.data.datasets[1].data.push({ - x: flowObj.unixTime, - y: flow, - }); - this.flowProfileChartEl.data.datasets[2].data.push({ - x: flowObj.unixTime, - y: realtime_flow, - }); - this.flowProfileChartEl.data.datasets[3].data.push({ - x: flowObj.unixTime, - y: pressure, - }); - - debugger; - this.flowProfileChartEl.update(); - }, 100); - - this.flowProfileChartEl.update(); - } - }, 250); - } public ionViewWillEnter() { this.loadBrews(); } diff --git a/src/assets/custom-ion-icons/beanconqueror-pressure.svg b/src/assets/custom-ion-icons/beanconqueror-pressure.svg new file mode 100644 index 000000000..afb7e7f6a --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-pressure.svg @@ -0,0 +1 @@ + diff --git a/src/assets/custom-ion-icons/beanconqueror-scale-outline.svg b/src/assets/custom-ion-icons/beanconqueror-scale-outline.svg new file mode 100644 index 000000000..7dc6ea5d0 --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-scale-outline.svg @@ -0,0 +1 @@ + diff --git a/src/classes/devices/pressureBluetoothDevice.ts b/src/classes/devices/pressureBluetoothDevice.ts index e2efab40c..239844f6b 100644 --- a/src/classes/devices/pressureBluetoothDevice.ts +++ b/src/classes/devices/pressureBluetoothDevice.ts @@ -14,6 +14,8 @@ export interface PressureChangeEvent extends Pressure { date: Date; } +const UPDATE_EVERY_MS = 1000 / 10; + export abstract class PressureDevice { public static BATTERY_SERVICE_UUID = to128bitUUID('180F'); public static BATTERY_CHAR_UUID = to128bitUUID('2A19'); @@ -25,6 +27,8 @@ export abstract class PressureDevice { protected pressure: Pressure; protected pressureParentLogger: Logger; + private lastPressureSetTime: number = 0; + protected constructor(data: PeripheralData) { this.device_id = data.id; try { @@ -79,6 +83,11 @@ export abstract class PressureDevice { _rawData: any, _parsedData: Uint16Array | Float32Array | any ) { + if (Date.now() - this.lastPressureSetTime < UPDATE_EVERY_MS) { + return; + } + this.lastPressureSetTime = Date.now(); + this.pressureParentLogger.log( 'Bluetooth Pressure Device - New pressure recieved ' + _newPressure + diff --git a/src/components/brews/brew-brewing/brew-brewing.component.scss b/src/components/brews/brew-brewing/brew-brewing.component.scss index a881fae5f..a4bc2c5fe 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.scss +++ b/src/components/brews/brew-brewing/brew-brewing.component.scss @@ -53,11 +53,14 @@ } ion-chip.flowcalculated { --background: #7F97A2; - --color: black; + --color: white; + } + ion-chip.chip-outline { + --color:black!important; } ion-chip.flowreal { --background: #09485D; - --color: black; + --color: white; } ion-chip.pressure { --background: #05C793; diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 70aef1dec..af3fcafe6 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -131,6 +131,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { public realtimeFlowTrace: any; public pressureTrace: any; + public weightTraceNew: any; + private graphTimerTest: any = undefined; public lastChartLayout: any = undefined; @@ -321,8 +323,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { @HostListener('window:resize') @HostListener('window:orientationchange', ['$event']) - public onOrientationChange(event) { + public onOrientationChange() { if (this.smartScaleConnected() || this.pressureDeviceConnected()) { + this.lastChartLayout.height = 150; + this.lastChartLayout.width = document.getElementById( + 'canvasContainerBrew' + ).offsetWidth; this.updateChart(); } } @@ -344,8 +350,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { const modal = await this.modalController.create({ component: BrewFlowComponent, - breakpoints: [1], - initialBreakpoint: 1, + id: BrewFlowComponent.COMPONENT_ID, cssClass: 'popover-actions', componentProps: { @@ -389,19 +394,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { await new Promise((resolve) => { setTimeout(async () => { - document - .getElementById('canvasContainerBrew') - .append(document.getElementById('flowProfileChart')); - resolve(undefined); - }, 50); - }); - await new Promise((resolve) => { - setTimeout(async () => { - this.lastChartLayout.height = 150; - this.lastChartLayout.width = document.getElementById( - 'canvasContainerBrew' - ).offsetWidth; - Plotly.relayout('flowProfileChart', this.lastChartLayout); + this.onOrientationChange(); resolve(undefined); }, 50); }); @@ -675,7 +668,16 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if (this.data.brew_time > 0) { startingDay.add('seconds', this.data.brew_time); } - const delay = Date.now() - startingDay.toDate().getTime(); + let flowTime = startingDay.toDate().getTime(); + for (var i = 0; i < 10000; i++) { + weight = weight + Math.floor(Math.random() * 11); + this.weightTraceNew.x.push(flowTime); + this.weightTraceNew.y.push(weight); + flowTime = flowTime + 10; + } + + weight = 0; + this.graphTimerTest = setInterval(() => { flow = Math.floor(Math.random() * 11); realtime_flow = Math.floor(Math.random() * 11); @@ -846,14 +848,14 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.flow_profile_raw = new BrewFlow(); - this.initializeFlowChart(); + this.initializeFlowChart(false); // Give the buttons a bit of time, 100ms won't be an issue for user flow await new Promise((resolve) => { setTimeout(async () => { await this.uiAlert.hideLoadingSpinner(); resolve(undefined); - }, 100); + }, 200); }); } } @@ -1350,65 +1352,91 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } public updateChart() { - if (this.lastChartLayout['yaxis4']) { - Plotly.extendTraces( - 'flowProfileChart', - { - x: [ - [this.weightTrace.x[this.weightTrace.x.length - 1]], - [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], - [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], - [this.pressureTrace.x[this.pressureTrace.x.length - 1]], - ], - y: [ - [this.weightTrace.y[this.weightTrace.y.length - 1]], - [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], - [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], - [this.pressureTrace.y[this.pressureTrace.y.length - 1]], - ], - }, - [0, 1, 2, 3] - ); - } else { - Plotly.extendTraces( - 'flowProfileChart', - { - x: [ - [this.weightTrace.x[this.weightTrace.x.length - 1]], - [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], - [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], - ], - y: [ - [this.weightTrace.y[this.weightTrace.y.length - 1]], - [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], - [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], - ], - }, - [0, 1, 2] - ); - } + try { + if (this.lastChartLayout['yaxis4']) { + Plotly.extendTraces( + 'flowProfileChart', + { + x: [ + [this.weightTrace.x[this.weightTrace.x.length - 1]], + [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], + [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], + [this.pressureTrace.x[this.pressureTrace.x.length - 1]], + ], + y: [ + [this.weightTrace.y[this.weightTrace.y.length - 1]], + [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], + [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], + [this.pressureTrace.y[this.pressureTrace.y.length - 1]], + ], + }, + [0, 1, 2, 3] + ); + } else { + Plotly.extendTraces( + 'flowProfileChart', + { + x: [ + [this.weightTrace.x[this.weightTrace.x.length - 1]], + [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], + [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], + ], + y: [ + [this.weightTrace.y[this.weightTrace.y.length - 1]], + [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], + [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], + ], + }, + [0, 1, 2] + ); + } - const newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); - if ( - Math.floor(this.timer.getSeconds() / 20) > this.lastChartRenderingInstance - ) { - const delay = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() - 10) - .toDate() - .getTime(); - const delayedTime: number = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() + 30) - .toDate() - .getTime(); - this.lastChartLayout.xaxis.range = [delay, delayedTime]; - Plotly.relayout('flowProfileChart', this.lastChartLayout); - this.lastChartRenderingInstance = newRenderingInstance; - } + const newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); + if ( + Math.floor(this.timer.getSeconds() / 20) > + this.lastChartRenderingInstance + ) { + const delay = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() - 10) + .toDate() + .getTime(); + const delayedTime: number = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() + 30) + .toDate() + .getTime(); + this.lastChartLayout.xaxis.range = [delay, delayedTime]; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + this.lastChartRenderingInstance = newRenderingInstance; + } + + if (this.weightTrace.y.length > 0) { + const lastWeightData: number = + this.weightTrace.y[this.weightTrace.y.length - 1]; + if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } + } + if (this.realtimeFlowTrace.y.length > 0) { + const lastRealtimeFlowVal: number = + this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]; + if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } + } + } catch (ex) {} } - public initializeFlowChart(): void { + public initializeFlowChart(_wait: boolean = true): void { + let timeout = 1; + if (_wait === true) { + timeout = 1000; + } setTimeout(() => { this.graphSettings = this.uiHelper.cloneData(this.settings.graph.FILTER); if ( @@ -1432,7 +1460,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#cdc2ac', width: 2, }, - visible: this.graphSettings.weight ? true : 'legendonly', + visible: this.graphSettings.weight, }; this.flowPerSecondTrace = { x: [], @@ -1446,7 +1474,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#7F97A2', width: 2, }, - visible: this.graphSettings.calc_flow ? true : 'legendonly', + visible: this.graphSettings.calc_flow, }; this.realtimeFlowTrace = { @@ -1461,7 +1489,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#09485D', width: 2, }, - visible: this.graphSettings.realtime_flow ? true : 'legendonly', + visible: this.graphSettings.realtime_flow, }; this.pressureTrace = { @@ -1476,9 +1504,23 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { color: '#05C793', width: 2, }, - visible: this.graphSettings.pressure ? true : 'legendonly', + visible: this.graphSettings.pressure, }; + this.weightTraceNew = { + x: [], + y: [], + name: this.translate.instant('BREW_FLOW_WEIGHT'), + yaxis: 'y', + type: 'scattergl', + mode: 'lines', + line: { + shape: 'linear', + color: 'red', + width: 2, + }, + visible: this.graphSettings.weight, + }; const chartData = [ this.weightTrace, this.flowPerSecondTrace, @@ -1490,17 +1532,18 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { chartData.push(this.pressureTrace); } + //chartData.push(this.weightTraceNew); + Plotly.newPlot( 'flowProfileChart', chartData, this.lastChartLayout, this.getChartConfig() ); - }, 100); + }, timeout); } private getChartLayout() { - const xAxisVisible: boolean = true; const chartWidth: number = document.getElementById( 'canvasContainerBrew' ).offsetWidth; @@ -1524,20 +1567,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { let suggestedMaxFlow: number = 20; const suggestedMinWeight: number = 0; - let suggestedMaxWeight: number = 300; + let suggestedMaxWeight: number = 400; if ( this.data.getPreparation().style_type === PREPARATION_STYLE_TYPE.ESPRESSO ) { suggestedMaxFlow = 2.5; - suggestedMaxWeight = 30; - } - if (this.weightTrace.y.length > 0) { - const lastWeightData: number = - this.weightTrace.y[this.weightTrace.y.length - 1]; - if (lastWeightData > suggestedMaxWeight) { - //Scale a bit up - suggestedMaxWeight = lastWeightData * 1.5; - } + suggestedMaxWeight = 50; } const startRange = moment(new Date()).startOf('day').toDate().getTime(); @@ -1558,20 +1593,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { pad: 2, }, showlegend: false, - legend: { - x: 0, - y: 1.3, - orientation: 'h', - font: { - family: 'Karla', - size: 14, - color: '#000', - }, - }, + dragmode: false, xaxis: { tickformat: tickFormat, visible: true, - domain: [0.1, 0.9], + domain: [0, 1], fixedrange: true, type: 'date', range: [startRange, endRange], @@ -1581,6 +1607,10 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { titlefont: { color: '#cdc2ac' }, tickfont: { color: '#cdc2ac' }, fixedrange: true, + side: 'left', + position: 0.02, + rangemode: 'nonnegative', + range: [suggestedMinWeight, suggestedMaxWeight], }, yaxis2: { title: '', @@ -1589,8 +1619,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { anchor: 'x', overlaying: 'y', side: 'right', - position: 1, + position: 0.95, fixedrange: true, + showgrid: false, + rangemode: 'nonnegative', + range: [suggestedMinFlow, suggestedMaxFlow], }, }; const pressureDevice = this.bleManager.getPressureDevice(); @@ -1602,11 +1635,15 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { anchor: 'free', overlaying: 'y', side: 'right', + showgrid: false, position: 0.95, fixedrange: true, range: [0, 12], }; } + if (!window['layout']) { + window['layout'] = layout; + } return layout; } @@ -1614,7 +1651,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private getChartConfig() { const config = { displayModeBar: false, // this is the line that hides the bar. - responsive: true, }; return config; } From b0819a65e064ff32fd3503447ff2802d90a7a2bb Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 18 Jan 2023 19:43:48 +0100 Subject: [PATCH 016/129] Setting some more space --- src/components/brews/brew-brewing/brew-brewing.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index af3fcafe6..2aab2b83b 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1608,7 +1608,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { tickfont: { color: '#cdc2ac' }, fixedrange: true, side: 'left', - position: 0.02, + position: 0.05, rangemode: 'nonnegative', range: [suggestedMinWeight, suggestedMaxWeight], }, From 0670ba6cfa07b1d3d76e02b5f4f9e3af8de5a178 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Wed, 18 Jan 2023 20:54:45 +0100 Subject: [PATCH 017/129] changing layout for the new graph, and adding pressure element to the main view --- .../brew/brew-flow/brew-flow.component.html | 2 +- .../brew-brewing/brew-brewing.component.html | 60 ++++++++++--------- .../brew-brewing/brew-brewing.component.scss | 6 ++ .../brew-brewing/brew-brewing.component.ts | 26 +++++++- 4 files changed, 64 insertions(+), 30 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 5fe19de4d..0048f98fc 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -37,7 +37,7 @@
?g
- ?g
+ ?
{{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index d29522f6f..a9b20a2b4 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -254,10 +254,12 @@ {{"BREW_HEADER_WHILE_BREW" | translate }} - + - + + + - - +
+ {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}} +
+
+ - - - + + +
? g
({{data.getBrewRatio()}})
- {{"BREW_FLOW_WEIGHT" | translate}} +
- - +
? g/s
? g/s
- {{"BREW_FLOW_WEIGHT_PER_SECOND" | translate}} +
- - - - + + + +
?
+
+ + + +
+
- -
- - - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} - {{'BREW_PRESSURE_FLOW' | translate}} -
-
0 + dataVal?.y > 0 ) { lastFoundRightValue = dataVal.y; } else { - lastFoundRightValue = dataVal.y; } break; From 24086fd374c088eb3e38df6a22dfca4fe71d04bf Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Fri, 20 Jan 2023 21:25:32 +0100 Subject: [PATCH 020/129] #466 - Fixing that the number is not updated with wrong decimal limiter after input. Fixing graph on detail -> edit mode. Adding timeout for graph relayout because of tracing Timer just can be started, when its beeing resetted when a smart scale is connected --- ...everage-quantity-calculator.component.html | 2 +- .../brew-detail/brew-detail.component.html | 2 +- .../brew/brew-detail/brew-detail.component.ts | 16 ++ src/app/brew/brew-flow/brew-flow.component.ts | 19 +- src/assets/i18n/de.json | 2 + src/assets/i18n/en.json | 4 +- .../brew-brewing/brew-brewing.component.ts | 200 ++++++++++++++---- 7 files changed, 192 insertions(+), 53 deletions(-) diff --git a/src/app/brew/brew-beverage-quantity-calculator/brew-beverage-quantity-calculator.component.html b/src/app/brew/brew-beverage-quantity-calculator/brew-beverage-quantity-calculator.component.html index 062a56abc..005ddca39 100644 --- a/src/app/brew/brew-beverage-quantity-calculator/brew-beverage-quantity-calculator.component.html +++ b/src/app/brew/brew-beverage-quantity-calculator/brew-beverage-quantity-calculator.component.html @@ -13,7 +13,7 @@ {{"BREW_DATA_VESSEL_WEIGHT" | translate}} + inputmode="decimal" prevent-characters remove-empty-number type="text"> {{"CALCULATED_WEIGHT" | translate}} diff --git a/src/app/brew/brew-detail/brew-detail.component.html b/src/app/brew/brew-detail/brew-detail.component.html index 1e541d95a..2c069ae4e 100644 --- a/src/app/brew/brew-detail/brew-detail.component.html +++ b/src/app/brew/brew-detail/brew-detail.component.html @@ -289,7 +289,7 @@

{{data?.getFormattedTotalCoffeeTemperatureTime()}}

-
+
diff --git a/src/app/brew/brew-detail/brew-detail.component.ts b/src/app/brew/brew-detail/brew-detail.component.ts index 26aee503e..f6a784708 100644 --- a/src/app/brew/brew-detail/brew-detail.component.ts +++ b/src/app/brew/brew-detail/brew-detail.component.ts @@ -57,6 +57,7 @@ export class BrewDetailComponent implements OnInit { private maximizeFlowGraphIsShown: boolean = false; public lastChartLayout: any = undefined; + public editActive: boolean = false; constructor( private readonly modalController: ModalController, private readonly navParams: NavParams, @@ -145,7 +146,19 @@ export class BrewDetailComponent implements OnInit { public ngOnInit() {} public async edit() { + try { + Plotly.purge('flowProfileChart'); + } catch (ex) {} + this.editActive = true; + //Wait 50ms, so the dom will be new rendered and the id will be removed from the flowprofilechart + await new Promise(async (resolve) => { + setTimeout(() => { + resolve(undefined); + }, 50); + }); + const returningBrew: Brew = await this.uiBrewHelper.editBrew(this.data); + this.editActive = false; if (returningBrew) { this.data = returningBrew; await this.readFlowProfile(); @@ -199,6 +212,9 @@ export class BrewDetailComponent implements OnInit { public initializeFlowChart(): void { setTimeout(() => { + try { + Plotly.purge('flowProfileChart'); + } catch (ex) {} let graphSettings = this.settings.graph.FILTER; if ( this.data.getPreparation().style_type === diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index 346ee8ec4..b9b7c3c4d 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -28,7 +28,7 @@ declare var Plotly; templateUrl: './brew-flow.component.html', styleUrls: ['./brew-flow.component.scss'], }) -export class BrewFlowComponent implements AfterViewInit, OnDestroy { +export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { public static COMPONENT_ID: string = 'brew-flow'; public showBloomTimer: boolean = false; @@ -60,7 +60,7 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { public smartScaleAvgFlowPerSecondDetail: ElementRef; @ViewChild('pressureDetail', { read: ElementRef }) public pressureDetail: ElementRef; - + private disableHardwareBack; constructor( private readonly modalController: ModalController, private readonly screenOrientation: ScreenOrientation, @@ -71,7 +71,16 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { private readonly bleManager: CoffeeBluetoothDevicesService, private readonly platform: Platform ) {} - + public ngOnInit() { + try { + this.disableHardwareBack = this.platform.backButton.subscribeWithPriority( + 9999, + (processNextHandler) => { + this.dismiss(); + } + ); + } catch (ex) {} + } public async ngAfterViewInit() { this.settings = this.uiSettingsStorage.getSettings(); @@ -237,7 +246,9 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy { document .getElementById('canvasContainerBrew') .append(document.getElementById('flowProfileChart')); - + try { + this.disableHardwareBack.unsubscribe(); + } catch (ex) {} this.modalController.dismiss( { dismissed: true, diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 5a82207ed..6d977d271 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1317,4 +1317,6 @@ "BEAN_SORT_MIX": "Bohnenmischung", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter beim Erfassen einer Bohne angezeigt werden sollen.", "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen", + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzten!", + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 9c5c6b053..1fc759ac8 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1348,5 +1348,7 @@ "BEAN_DATA_PURCHASING_PRICE_TOOLTIP": "What was the purchasing price from the roaster for this bean", "BEAN_DATA_FOB_PRICE_TOOLTIP": "What was the free on board price when purchased by the roaster", "BEAN_PARAMETER_CUSTOMIZE_TITLE": "Customize your bean information which you want to use", - "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "A lot of bean information can be entered or used. Choose your own parameters you want to fill in, and also which shall be displayed" + "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "A lot of bean information can be entered or used. Choose your own parameters you want to fill in, and also which shall be displayed", + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Reset timer!", + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Because you've connected a bluetooth device, you need to reset your timer first before you can start" } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index fcf88d094..8e9e3d6c5 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -365,9 +365,13 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }); this.maximizeFlowGraphIsShown = true; + // will force rerender :D + this.lastChartRenderingInstance = -1; await modal.present(); await modal.onWillDismiss().then(async () => { this.maximizeFlowGraphIsShown = false; + // will force rerender :D + this.lastChartRenderingInstance = -1; // If responsive would be true, the add of the container would result into 0 width 0 height, therefore the hack this.updateChart(); @@ -668,6 +672,20 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } public async timerStartPressed(_event) { + if (this.data.brew_time > 0) { + const scale: BluetoothScale = this.bleManager.getScale(); + const pressureDevice: PressureDevice = + this.bleManager.getPressureDevice(); + if (scale || pressureDevice || !this.platform.is('cordova')) { + this.uiAlert.showMessage( + 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION', + 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE', + undefined, + true + ); + return; + } + } await this.timerStarted(_event); this.timer.startTimer(); } @@ -747,6 +765,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } this.startingFlowTime = Date.now(); + if (this.data.brew_time > 0) { + // IF brewtime has some seconds, we add this to the delay directly. + const startingDay = moment(new Date()).startOf('day'); + startingDay.add('seconds', this.data.brew_time); + this.startingFlowTime = startingDay.toDate().getTime(); + } this.updateChart(); if (scale) { @@ -865,9 +889,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } this.flow_profile_raw = new BrewFlow(); - try { - Plotly.purge('flowProfileChart'); - } catch (ex) {} + this.initializeFlowChart(false); // Give the buttons a bit of time, 100ms won't be an issue for user flow @@ -1420,44 +1442,59 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { ); } - const newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); - if ( - Math.floor(this.timer.getSeconds() / 20) > - this.lastChartRenderingInstance - ) { - const delay = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() - 10) - .toDate() - .getTime(); - const delayedTime: number = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() + 30) - .toDate() - .getTime(); - this.lastChartLayout.xaxis.range = [delay, delayedTime]; - Plotly.relayout('flowProfileChart', this.lastChartLayout); - this.lastChartRenderingInstance = newRenderingInstance; - } + setTimeout(() => { + /**Timeout is needed, because on mobile devices, the trace and the relayout bothers each other, which results into not refreshing the graph*/ + let newRenderingInstance = 0; + if (this.maximizeFlowGraphIsShown === true) { + newRenderingInstance = Math.floor(this.timer.getSeconds() / 40); + } else { + newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); + } + + if ( + newRenderingInstance > this.lastChartRenderingInstance || + this.lastChartRenderingInstance === -1 + ) { + let subtractTime: number = this.maximizeFlowGraphIsShown ? 20 : 10; + const addTime: number = this.maximizeFlowGraphIsShown ? 50 : 30; + if (this.data.brew_time <= 10) { + subtractTime = 0; + } - if (this.weightTrace.y.length > 0) { - const lastWeightData: number = - this.weightTrace.y[this.weightTrace.y.length - 1]; - if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { - //Scale a bit up - this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; + const delay = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() - subtractTime) + .toDate() + .getTime(); + const delayedTime: number = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() + addTime) + .toDate() + .getTime(); + this.lastChartLayout.xaxis.range = [delay, delayedTime]; Plotly.relayout('flowProfileChart', this.lastChartLayout); + this.lastChartRenderingInstance = newRenderingInstance; } - } - if (this.realtimeFlowTrace.y.length > 0) { - const lastRealtimeFlowVal: number = - this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]; - if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { - //Scale a bit up - this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; - Plotly.relayout('flowProfileChart', this.lastChartLayout); + + if (this.weightTrace.y.length > 0) { + const lastWeightData: number = + this.weightTrace.y[this.weightTrace.y.length - 1]; + if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } } - } + if (this.realtimeFlowTrace.y.length > 0) { + const lastRealtimeFlowVal: number = + this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]; + if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } + } + }, 25); } catch (ex) {} } @@ -1467,6 +1504,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { timeout = 1000; } setTimeout(() => { + try { + Plotly.purge('flowProfileChart'); + } catch (ex) {} this.graphSettings = this.uiHelper.cloneData(this.settings.graph.FILTER); if ( this.data.getPreparation().style_type === @@ -1550,6 +1590,70 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, visible: this.graphSettings.weight, }; + + if ( + this.flow_profile_raw.weight.length > 0 || + this.flow_profile_raw.pressureFlow.length > 0 + ) { + const startingDay = moment(new Date()).startOf('day'); + // IF brewtime has some seconds, we add this to the delay directly. + + let firstTimestamp; + if (this.flow_profile_raw.weight.length > 0) { + firstTimestamp = this.flow_profile_raw.weight[0].timestamp; + } else { + firstTimestamp = this.flow_profile_raw.pressureFlow[0].timestamp; + } + const delay = + moment(firstTimestamp, 'HH:mm:ss.SSS').toDate().getTime() - + startingDay.toDate().getTime(); + if (this.flow_profile_raw.weight.length > 0) { + for (const data of this.flow_profile_raw.weight) { + this.weightTrace.x.push( + new Date( + moment(data.timestamp, 'HH:mm:ss.SSS').toDate().getTime() - + delay + ) + ); + this.weightTrace.y.push(data.actual_weight); + } + for (const data of this.flow_profile_raw.waterFlow) { + this.flowPerSecondTrace.x.push( + new Date( + moment(data.timestamp, 'HH:mm:ss.SSS').toDate().getTime() - + delay + ) + ); + this.flowPerSecondTrace.y.push(data.value); + } + if (this.flow_profile_raw.realtimeFlow) { + for (const data of this.flow_profile_raw.realtimeFlow) { + this.realtimeFlowTrace.x.push( + new Date( + moment(data.timestamp, 'HH:mm:ss.SSS').toDate().getTime() - + delay + ) + ); + this.realtimeFlowTrace.y.push(data.flow_value); + } + } + } + if ( + this.flow_profile_raw.pressureFlow && + this.flow_profile_raw.pressureFlow.length > 0 + ) { + for (const data of this.flow_profile_raw.pressureFlow) { + this.pressureTrace.x.push( + new Date( + moment(data.timestamp, 'HH:mm:ss.SSS').toDate().getTime() - + delay + ) + ); + this.pressureTrace.y.push(data.actual_pressure); + } + } + } + const chartData = [ this.weightTrace, this.flowPerSecondTrace, @@ -1596,7 +1700,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { let suggestedMaxFlow: number = 20; const suggestedMinWeight: number = 0; - let suggestedMaxWeight: number = 400; + let suggestedMaxWeight: number = 250; + if ( this.data.getPreparation().style_type === PREPARATION_STYLE_TYPE.ESPRESSO ) { @@ -1637,7 +1742,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { tickfont: { color: '#cdc2ac' }, fixedrange: true, side: 'left', - position: 0.05, + position: 0.03, rangemode: 'nonnegative', range: [suggestedMinWeight, suggestedMaxWeight], }, @@ -1645,12 +1750,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { title: '', titlefont: { color: '#7F97A2' }, tickfont: { color: '#7F97A2' }, - anchor: 'x', + anchor: 'free', overlaying: 'y', side: 'right', - position: 0.95, - fixedrange: true, showgrid: false, + position: 0.97, + fixedrange: true, rangemode: 'nonnegative', range: [suggestedMinFlow, suggestedMaxFlow], }, @@ -1665,9 +1770,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { overlaying: 'y', side: 'right', showgrid: false, - position: 0.93, + position: 0.91, fixedrange: true, - range: [0, 12], + range: [0, 10], }; } if (!window['layout']) { @@ -1751,8 +1856,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private __setPressureFlow(_pressure: any) { // Nothing for storing etc. is done here actually - const actual: number = _pressure.actual; - const old: number = _pressure.old; + const actual: number = this.uiHelper.toFixedIfNecessary( + _pressure.actual, + 2 + ); + const old: number = this.uiHelper.toFixedIfNecessary(_pressure.old, 2); // If no smartscale is connected, the set pressure flow needs to be the master to set flowtime and flowtime seconds, else we just retrieve from the scale. const isSmartScaleConnected = this.smartScaleConnected(); From 63914ae82f2585a02575fc187e89da6617ccdf44 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Fri, 20 Jan 2023 21:35:08 +0100 Subject: [PATCH 021/129] #470 - Fixing right preparation method to start if it was just created --- .../brews/brew-brewing/brew-brewing.component.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 8e9e3d6c5..e225e1585 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -201,8 +201,13 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if (foundBrews.length > 0) { this.__loadBrew(foundBrews[0], false); } else { - // Fallback - this.__loadLastBrew(); + /** We start an empty new brew, and set the preparation method for it + * so when the next brew will come, data can or will be preset + * **/ + const newBrew = new Brew(); + newBrew.method_of_preparation = + this.loadSpecificLastPreparation.config.uuid; + this.__loadBrew(newBrew, false); } } else { this.__loadLastBrew(); From 4c5a81f59b6c1e378b295774ff6dbb53d580a88e Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Fri, 20 Jan 2023 21:59:01 +0100 Subject: [PATCH 022/129] #470 - Fixing right preparation method to start if it was just created --- src/app/brew/brew-flow/brew-flow.component.html | 11 +++++------ src/app/brew/brew-flow/brew-flow.component.scss | 5 ++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 0048f98fc..1b642a1b9 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -29,16 +29,15 @@
-
-
+
+
?g - ({{brew.getBrewRatio()}})
-
+
?g
-
+
?
-
+
{{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} Date: Fri, 20 Jan 2023 22:18:37 +0100 Subject: [PATCH 023/129] #471 - Added new button to directly set the preparation --- src/app/brew/brew.page.html | 4 ++++ src/assets/custom-ion-icons/beanconqueror-list-add.svg | 1 + 2 files changed, 5 insertions(+) create mode 100644 src/assets/custom-ion-icons/beanconqueror-list-add.svg diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index 167e03dac..5613470ce 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -3,7 +3,11 @@ + + + + diff --git a/src/assets/custom-ion-icons/beanconqueror-list-add.svg b/src/assets/custom-ion-icons/beanconqueror-list-add.svg new file mode 100644 index 000000000..8f05d09d1 --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-list-add.svg @@ -0,0 +1 @@ + From 69b075a62c5ef87c206196dd21dccb2fb732b5e2 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 22 Jan 2023 21:25:27 +0100 Subject: [PATCH 024/129] Fixing layout rendering just done once not multiple times --- README.md | 3 +++ .../brews/brew-brewing/brew-brewing.component.ts | 10 +++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9be54211b..1e468581b 100644 --- a/README.md +++ b/README.md @@ -231,3 +231,6 @@ cordova-plugin-file/src/android ContentFileSystem.java -> Temp fix for import ` String encodedPath = inputURL.uri.getEncodedPath(); String authorityAndPath = encodedPath.substring(encodedPath.indexOf(this.name) + 1 + this.name.length() + 2);` + +Fixing SocialSharing.java +-> https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin/pull/1202/commits diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index e225e1585..55ea13664 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1448,6 +1448,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } setTimeout(() => { + let newLayoutIsNeeded: boolean = false; /**Timeout is needed, because on mobile devices, the trace and the relayout bothers each other, which results into not refreshing the graph*/ let newRenderingInstance = 0; if (this.maximizeFlowGraphIsShown === true) { @@ -1477,7 +1478,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { .toDate() .getTime(); this.lastChartLayout.xaxis.range = [delay, delayedTime]; - Plotly.relayout('flowProfileChart', this.lastChartLayout); + newLayoutIsNeeded = true; this.lastChartRenderingInstance = newRenderingInstance; } @@ -1487,7 +1488,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { //Scale a bit up this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; - Plotly.relayout('flowProfileChart', this.lastChartLayout); + newLayoutIsNeeded = true; } } if (this.realtimeFlowTrace.y.length > 0) { @@ -1496,9 +1497,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { //Scale a bit up this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; - Plotly.relayout('flowProfileChart', this.lastChartLayout); + newLayoutIsNeeded = true; } } + if (newLayoutIsNeeded) { + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } }, 25); } catch (ex) {} } From 4a1c243495b03d38cea1e3e61da4a0e95454788c Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 22 Jan 2023 21:53:05 +0100 Subject: [PATCH 025/129] Fixing layout rendering just done once not multiple times --- .../brew-brewing/brew-brewing.component.ts | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 55ea13664..a9b3d1c58 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1407,9 +1407,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.pressureTrace.visible = !this.pressureTrace.visible; } } - public updateChart() { + public updateChart(_type: string = 'weight') { try { - if (this.lastChartLayout['yaxis4']) { + if (_type === 'weight') { Plotly.extendTraces( 'flowProfileChart', { @@ -1417,33 +1417,33 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { [this.weightTrace.x[this.weightTrace.x.length - 1]], [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], - [this.pressureTrace.x[this.pressureTrace.x.length - 1]], ], y: [ [this.weightTrace.y[this.weightTrace.y.length - 1]], [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], - [this.pressureTrace.y[this.pressureTrace.y.length - 1]], ], }, - [0, 1, 2, 3] + [0, 1, 2] ); } else { Plotly.extendTraces( 'flowProfileChart', { x: [ - [this.weightTrace.x[this.weightTrace.x.length - 1]], - [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], - [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], + [], + [], + [], + [this.pressureTrace.x[this.pressureTrace.x.length - 1]], ], y: [ - [this.weightTrace.y[this.weightTrace.y.length - 1]], - [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], - [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], + [], + [], + [], + [this.pressureTrace.y[this.pressureTrace.y.length - 1]], ], }, - [0, 1, 2] + [3] ); } @@ -1908,7 +1908,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { pressureObj.old ); - this.updateChart(); + this.updateChart('pressure'); if (!isSmartScaleConnected) { this.flowSecondTick++; } From d9dea1dabb7f915cb0764fd072da8860141090c1 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 28 Jan 2023 20:12:28 +0100 Subject: [PATCH 026/129] Fixing layout rendering just done once not multiple times --- README.md | 6 +- package-lock.json | 7298 +++++++++++++++------------------ package.json | 32 +- src/app/app-routing.module.ts | 1 - src/test.ts | 21 +- tsconfig.json | 6 +- 6 files changed, 3278 insertions(+), 4086 deletions(-) diff --git a/README.md b/README.md index 1e468581b..11db33644 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,11 @@ cordova-check-plugins ### NPM-Version -Don't use NPM V 7 right now, 6.14.11 works fine +npm-v -> 9.4.0 - works + +### NodeJS-Version + +node -v -> v16.15.0 -> works ### iOS-Version: diff --git a/package-lock.json b/package-lock.json index 6f85f3bd0..f27fc111f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,12 +8,12 @@ "name": "beanconqueror", "version": "2.0.0", "dependencies": { - "@angular/common": "^14.1.0", - "@angular/core": "^14.1.0", - "@angular/forms": "^14.1.0", - "@angular/platform-browser": "^14.1.0", - "@angular/platform-browser-dynamic": "^14.1.0", - "@angular/router": "^14.1.0", + "@angular/common": "^15.1.1", + "@angular/core": "^15.1.1", + "@angular/forms": "^15.1.1", + "@angular/platform-browser": "^15.1.1", + "@angular/platform-browser-dynamic": "^15.1.1", + "@angular/router": "^15.1.1", "@ionic-native/android-permissions": "^5.33.1", "@ionic-native/app-minimize": "^5.33.1", "@ionic-native/app-version": "^5.33.1", @@ -79,14 +79,14 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/architect": "^0.1401.0", - "@angular-devkit/build-angular": "^14.1.0", - "@angular-devkit/core": "^14.1.0", - "@angular-devkit/schematics": "^14.1.0", - "@angular/cli": "^14.1.0", - "@angular/compiler": "^14.1.0", - "@angular/compiler-cli": "^14.1.0", - "@angular/language-service": "^14.1.0", + "@angular-devkit/architect": "^0.1501.2", + "@angular-devkit/build-angular": "^15.1.2", + "@angular-devkit/core": "^15.1.2", + "@angular-devkit/schematics": "^15.1.2", + "@angular/cli": "^15.1.2", + "@angular/compiler": "^15.1.1", + "@angular/compiler-cli": "^15.1.1", + "@angular/language-service": "^15.1.1", "@ionic/angular-toolkit": "^5.0.3", "@types/cordova-plugin-ble-central": "^1.3.1", "@types/jasmine": "~3.6.0", @@ -140,7 +140,7 @@ "ts-node": "~8.3.0", "ts-proto": "^1.122.0", "tslint": "~6.1.0", - "typescript": "~4.7.4", + "typescript": "~4.9.4", "webpack-subresource-integrity": "^1.5.2" } }, @@ -158,111 +158,112 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.0.tgz", - "integrity": "sha512-dHgP2/5EXkJpdf6Y1QHQX2RP8xTli/CFZH3uNnTh+EuAib/kwu+Z6K3UttZWB5VGhAF1u/xf97Vly/UkXvjKAg==", + "version": "0.1501.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.2.tgz", + "integrity": "sha512-AfORVGLN0FBIUXO3FkfGOKu+Gz6oJjF8Bu8cPn27duiI0wszxGNY3fATKwbSg7JcKx1oQS/G7RjyC5OiTA6a0Q==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "15.1.2", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular-devkit/build-angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.0.tgz", - "integrity": "sha512-AtecSuDEPLYd3p7uFVKpoA0XNcq+NvVYFJK8h90BG+IRZtzEm7ZJeYdohXVeVfTO5GvpNFN1XoHxR5rxiXeBhg==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.2.tgz", + "integrity": "sha512-8udBKfHo3c/hOuh6VB11UKQZcqbolcNW2smtM9HJMm3fcykvyFEIitoCyl/tgraST+14/kA4aiINdl4EQ4BanQ==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/build-webpack": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@angular-devkit/architect": "0.1501.2", + "@angular-devkit/build-webpack": "0.1501.2", + "@angular-devkit/core": "15.1.2", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", - "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", - "@babel/template": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.7", + "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.0", + "@ngtools/webpack": "15.1.2", "ansi-colors": "4.1.3", - "babel-loader": "8.2.5", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "16.1.1", + "browserslist": "4.21.4", + "cacache": "17.0.4", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.1", - "esbuild-wasm": "0.14.49", + "css-loader": "6.7.3", + "esbuild-wasm": "0.16.17", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.6.1", - "minimatch": "5.1.0", + "loader-utils": "3.2.1", + "magic-string": "0.27.0", + "mini-css-extract-plugin": "2.7.2", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.14", - "postcss-import": "14.1.0", - "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", - "regenerator-runtime": "0.13.9", + "postcss": "8.4.21", + "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", - "sass-loader": "13.0.2", - "semver": "7.3.7", - "source-map-loader": "4.0.0", + "sass": "1.57.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "stylus": "0.58.1", - "stylus-loader": "7.0.0", - "terser": "5.14.2", + "terser": "5.16.1", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.0", - "webpack": "5.73.0", - "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "tslib": "2.4.1", + "webpack": "5.75.0", + "webpack-dev-middleware": "6.0.1", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.14.49" + "esbuild": "0.16.17" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0", - "@angular/localize": "^14.0.0", - "@angular/service-worker": "^14.0.0", + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", "karma": "^6.3.0", - "ng-packagr": "^14.0.0", + "ng-packagr": "^15.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.6.2 <4.8" + "typescript": ">=4.8.2 <5.0" }, "peerDependenciesMeta": { "@angular/localize": { "optional": true }, + "@angular/platform-server": { + "optional": true + }, "@angular/service-worker": { "optional": true }, @@ -280,17 +281,43 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", "dev": true, "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, "node_modules/@angular-devkit/build-angular/node_modules/agent-base": { @@ -339,9 +366,9 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", "dev": true, "funding": [ { @@ -354,8 +381,8 @@ } ], "dependencies": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -381,38 +408,33 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@angular-devkit/build-angular/node_modules/cacache/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" @@ -434,67 +456,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@angular-devkit/build-angular/node_modules/css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -512,6 +473,18 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -616,15 +589,27 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, + "node_modules/@angular-devkit/build-angular/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -633,16 +618,16 @@ "node": ">=10" } }, - "node_modules/@angular-devkit/build-angular/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/@angular-devkit/build-angular/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, "node_modules/@angular-devkit/build-angular/node_modules/ms": { @@ -682,516 +667,6 @@ "nice-napi": "^1.0.2" } }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-custom-properties": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", - "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", - "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "peerDependencies": { - "postcss": "^8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "dev": true, - "dependencies": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "peerDependencies": { - "postcss": "^8.0.3" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", @@ -1222,67 +697,10 @@ "node": ">=8.9.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1313,9 +731,9 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/source-map-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", - "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, "dependencies": { "abab": "^2.0.6", @@ -1344,15 +762,15 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "minipass": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@angular-devkit/build-angular/node_modules/strip-ansi": { @@ -1380,11 +798,35 @@ } }, "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", "dev": true }, + "node_modules/@angular-devkit/build-angular/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/webpack-subresource-integrity": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", @@ -1447,16 +889,16 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.0.tgz", - "integrity": "sha512-jKfnHal09mVnEapmNrAHXL/00LfafmfEUtlOPzQMgGJL7MWCeMcFthsbcOnGuzUerbiiquRk/KmLTERYjH+ZrQ==", + "version": "0.1501.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.2.tgz", + "integrity": "sha512-FzslFvjuAabwtz2wMTCeemYCJA4NqRECz+WEsEZbtwESBMmKdaqmpbdW9ypsepB2iC7eIbHK43R95XAM75utTw==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1401.0", + "@angular-devkit/architect": "0.1501.2", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -1466,19 +908,19 @@ } }, "node_modules/@angular-devkit/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.0.tgz", - "integrity": "sha512-Y2d/+nFmjjY4eatc3cwdDDAnpnhG3KTX2OVW7dXSUxW3eY5e3vdMlVUbFiKwvwAshlrJy85Y6RMvZSBN4VrpnA==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.2.tgz", + "integrity": "sha512-wkLZYvTZt30Ge6Z83Gxsr6mO1TIHCu3SImdE0zwW63EdU9o1NYkU74z1D9VUZ9Up7uHi1cHs/dssbxUuZ4eWOA==", "dev": true, "dependencies": { - "ajv": "8.11.0", + "ajv": "8.12.0", "ajv-formats": "2.1.1", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -1492,9 +934,9 @@ } }, "node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -1531,9 +973,9 @@ "dev": true }, "node_modules/@angular-devkit/core/node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "node_modules/@angular-devkit/core/node_modules/source-map": { @@ -1546,36 +988,36 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.0.tgz", - "integrity": "sha512-5QC01k9eznuQSiqxijKhVkAEmA8sioYuLhBzyffaPszSySH8kPMNxhAc8zJhBTNLumbS6iDaGkSqTQl5Kv9fOw==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.2.tgz", + "integrity": "sha512-HjJPm+4SS5TdAHHvdpXLv25wsvwVOn5RYs0A9MazTndlm80ct3PKeYUgakNDRFjRj8uORNlJMKmQIIhUSDjFsw==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", - "jsonc-parser": "3.1.0", - "magic-string": "0.26.2", + "@angular-devkit/core": "15.1.2", + "jsonc-parser": "3.2.0", + "magic-string": "0.27.0", "ora": "5.4.1", "rxjs": "6.6.7" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular-devkit/schematics/node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "node_modules/@angular-devkit/schematics/node_modules/magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { "node": ">=12" @@ -1597,53 +1039,51 @@ } }, "node_modules/@angular/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-W/t2PkGHu9r87po1ZXQRYU81VtjzNMuGsP5tmoW1pGuibK7Kj+25G+jrXK/WADTi+pjTMXHNXYn8PlMNAIrZ/w==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.2.tgz", + "integrity": "sha512-h42k410W6PPnz9KjX8dCtruMqf1mHgIf7UWrLa8icKpk03U2SIgoJzaXgY/spSHiMGIdDnY1dAYKWV0GQS4zEg==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "@schematics/angular": "14.1.0", + "@angular-devkit/architect": "0.1501.2", + "@angular-devkit/core": "15.1.2", + "@angular-devkit/schematics": "15.1.2", + "@schematics/angular": "15.1.2", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", - "debug": "4.3.4", - "ini": "3.0.0", + "ini": "3.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", - "npm-package-arg": "9.1.0", - "npm-pick-manifest": "7.0.1", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.1", + "pacote": "15.0.8", "resolve": "1.22.1", - "semver": "7.3.7", + "semver": "7.3.8", "symbol-observable": "4.0.0", - "uuid": "8.3.2", - "yargs": "17.5.1" + "yargs": "17.6.2" }, "bin": { "ng": "bin/ng.js" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, "node_modules/@angular/cli/node_modules/@schematics/angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.0.tgz", - "integrity": "sha512-lhqNZzA+iT3XwlwRU757mhYmd5WE9XB2OKFhosvvszou2zuNUJMDPR9P01ZVNCOa2fScOeCMg2q3ZDgGTBl96Q==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.2.tgz", + "integrity": "sha512-PcAbjbWvaW3yKvcGCqHrlHm4BTwGuqr58czCASc49Hy6tJba+dRblYatzB0D1tzdJOTsa684Ghg7knCN86fHeg==", "dev": true, "dependencies": { - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "jsonc-parser": "3.1.0" + "@angular-devkit/core": "15.1.2", + "@angular-devkit/schematics": "15.1.2", + "jsonc-parser": "3.2.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } @@ -1697,23 +1137,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@angular/cli/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@angular/cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1724,9 +1147,9 @@ } }, "node_modules/@angular/cli/node_modules/ini": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", - "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -1774,15 +1197,9 @@ } }, "node_modules/@angular/cli/node_modules/jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", - "dev": true - }, - "node_modules/@angular/cli/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "node_modules/@angular/cli/node_modules/open": { @@ -1812,9 +1229,9 @@ } }, "node_modules/@angular/cli/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1850,42 +1267,33 @@ "node": ">=8" } }, - "node_modules/@angular/cli/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@angular/common": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.0.tgz", - "integrity": "sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.1.1.tgz", + "integrity": "sha512-P4f2rK/YBQQT4clQrcQ9goLf53RS63Q1x2d1dvz7Syr3gcOUyxO7NZQ7Au5afzvbIKZ5Okd+X0+TCGV4q9wQjw==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "14.1.0", + "@angular/core": "15.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.0.tgz", - "integrity": "sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.1.1.tgz", + "integrity": "sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "14.1.0" + "@angular/core": "15.1.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -1894,19 +1302,19 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz", - "integrity": "sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz", + "integrity": "sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA==", "dev": true, "dependencies": { - "@babel/core": "^7.17.2", + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", + "magic-string": "^0.27.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", "tslib": "^2.3.0", "yargs": "^17.2.1" }, @@ -1916,29 +1324,29 @@ "ngcc": "bundles/ngcc/main-ngcc.js" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/compiler": "14.1.0", - "typescript": ">=4.6.2 <4.8" + "@angular/compiler": "15.1.1", + "typescript": ">=4.8.2 <5.0" } }, "node_modules/@angular/compiler-cli/node_modules/magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" }, "engines": { "node": ">=12" } }, "node_modules/@angular/compiler-cli/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1951,60 +1359,60 @@ } }, "node_modules/@angular/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.0.tgz", - "integrity": "sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.1.1.tgz", + "integrity": "sha512-nsz+IXdkQanAGhqA2vcwTrGGyw5zIm3TgtYQ/JqK185qkmlhsQfSRvdSPsFPhmIFYp9ngZVUbkhY3D4P3gDzIg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.11.4" + "zone.js": "~0.11.4 || ~0.12.0" } }, "node_modules/@angular/forms": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.0.tgz", - "integrity": "sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.1.1.tgz", + "integrity": "sha512-1c/oZD+eSbGzDCcmC+hOqkPH+AzLOiGHxII5QiOOj8so8M958UBrsFBwrnLz06d9OK5Z4IrR4UL2JJspZNbpjw==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0", + "@angular/common": "15.1.1", + "@angular/core": "15.1.1", + "@angular/platform-browser": "15.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-14.1.0.tgz", - "integrity": "sha512-ldL4xMDjXYZ93FCEIBVGipx9Qfgr7NuBNO+e25d+nWikXrUOnLfvF4UOL/TSUwSwqN4jxDI2KMNQIF6SecZfvQ==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.1.tgz", + "integrity": "sha512-Wjn1t5ZjEuEJ3i2xdBArFadq4Aq7h95owiI1AcrjJ8/jjSHzszbTcQ1qs+FMKuq37A3pcpgXx6myekftRuNBkw==", "dev": true, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" } }, "node_modules/@angular/platform-browser": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.0.tgz", - "integrity": "sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.1.1.tgz", + "integrity": "sha512-U1MXowvyigmMpffsnMQI6e9gX7tA6Su7unY0pjN5u9wRYJIkEbKuFyVijguQ83bt+JK3ZBHXD0dvskYnscGUzg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/animations": "14.1.0", - "@angular/common": "14.1.0", - "@angular/core": "14.1.0" + "@angular/animations": "15.1.1", + "@angular/common": "15.1.1", + "@angular/core": "15.1.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -2013,36 +1421,36 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz", - "integrity": "sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.1.tgz", + "integrity": "sha512-iCbvYduSGtyBWuQfTzm/MDZy7Rd5MNsjpknEtJ45nbjZzv9EL1tGo6qufaTgPXHP8Nbfcco/4UO9w84Gp5irLA==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/compiler": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0" + "@angular/common": "15.1.1", + "@angular/compiler": "15.1.1", + "@angular/core": "15.1.1", + "@angular/platform-browser": "15.1.1" } }, "node_modules/@angular/router": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.0.tgz", - "integrity": "sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.1.1.tgz", + "integrity": "sha512-5l1+6MzeJW01BeO8ZNfYe/TEVzxIHDKHWUrsmGE6oQW01LezG5LUjwR1T23YeR8G5zzRs/p+AU72wTn/aPGQHg==", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^14.15.0 || >=16.10.0" + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "14.1.0", - "@angular/core": "14.1.0", - "@angular/platform-browser": "14.1.0", + "@angular/common": "15.1.1", + "@angular/core": "15.1.1", + "@angular/platform-browser": "15.1.1", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -2065,30 +1473,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -2129,12 +1537,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.20.7", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -2182,14 +1590,15 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "engines": { @@ -2199,6 +1608,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -2208,6 +1626,12 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/@babel/helper-create-class-features-plugin": { "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", @@ -2230,13 +1654,13 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.2.1" }, "engines": { "node": ">=6.9.0" @@ -2246,15 +1670,13 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -2318,13 +1740,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -2343,12 +1765,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -2367,19 +1789,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -2398,9 +1820,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -2425,40 +1847,41 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -2476,10 +1899,19 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -2510,14 +1942,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", "dev": true, "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -2538,9 +1970,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2582,14 +2014,14 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -2729,16 +2161,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.7" }, "engines": { "node": ">=6.9.0" @@ -2894,12 +2326,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -3038,14 +2470,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -3070,12 +2502,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3085,17 +2517,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -3122,12 +2555,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3246,14 +2679,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3263,15 +2695,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3281,16 +2712,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", "dev": true, "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" }, "engines": { "node": ">=6.9.0" @@ -3316,13 +2746,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3363,12 +2793,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3424,16 +2854,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", - "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "engines": { @@ -3468,13 +2898,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" }, "engines": { "node": ">=6.9.0" @@ -3529,12 +2959,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -3560,29 +2990,29 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", - "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -3591,7 +3021,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -3604,41 +3034,41 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -3674,45 +3104,51 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "dev": true, "dependencies": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + }, "node_modules/@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -3720,34 +3156,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.9", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/traverse/node_modules/debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -3772,12 +3180,13 @@ "dev": true }, "node_modules/@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, "engines": { @@ -3802,256 +3211,365 @@ "node": ">=4.0.0" } }, - "node_modules/@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=10.0.0" } }, - "node_modules/@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": ">=12" } }, - "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=12" } }, - "node_modules/@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2", - "postcss-selector-parser": "^6.0.10" + "node": ">=12" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10.0.0" + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/@gar/promisify": { @@ -8274,18 +7792,18 @@ ] }, "node_modules/@ngtools/webpack": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.0.tgz", - "integrity": "sha512-d4U6ymDCXckVgfjYEv1Wjzd78ZSm0NKgq8mN6FdlrCupg02LPIODjeKyNr4c4zwMAOJeHkVNEZ+USoDEK3XSsw==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.2.tgz", + "integrity": "sha512-IxKPqyA5hiwUioAAptFaETF2TifH6cTGOc7qKYFxFgzK+llZtEBcNj3w9zrL5uCFnPHWDZqdIDhH3/WM4zBmkw==", "dev": true, "engines": { - "node": "^14.15.0 || >=16.10.0", + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^14.0.0", - "typescript": ">=4.6.2 <4.8", + "@angular/compiler-cli": "^15.0.0", + "typescript": ">=4.8.2 <5.0", "webpack": "^5.54.0" } }, @@ -8357,22 +7875,21 @@ } }, "node_modules/@npmcli/fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.1.tgz", - "integrity": "sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, "dependencies": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8385,29 +7902,29 @@ } }, "node_modules/@npmcli/git": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.1.tgz", - "integrity": "sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", + "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", "dev": true, "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" @@ -8426,9 +7943,9 @@ } }, "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -8453,34 +7970,34 @@ } }, "node_modules/@npmcli/git/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", + "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", "dev": true, "dependencies": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "index.js" + "installed-package-contents": "lib/index.js" }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/move-file": { @@ -8508,55 +8025,70 @@ } }, "node_modules/@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", "dev": true, "dependencies": { - "infer-owner": "^1.0.4" + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz", - "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", + "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@protobufjs/aspromise": { @@ -8859,21 +8391,21 @@ "dev": true }, "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", "dev": true, "dependencies": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.31", "@types/qs": "*", "@types/serve-static": "*" } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.32", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", "dev": true, "dependencies": { "@types/node": "*", @@ -8943,9 +8475,9 @@ } }, "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "node_modules/@types/minimatch": { @@ -9034,12 +8566,12 @@ } }, "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "dependencies": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, @@ -9085,9 +8617,9 @@ } }, "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", "dev": true, "dependencies": { "@types/node": "*" @@ -9645,16 +9177,16 @@ "dev": true }, "node_modules/are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/are-we-there-yet/node_modules/readable-stream": { @@ -9919,69 +9451,90 @@ "dev": true }, "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dev": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 8.9" + "node": ">= 14.15.0" }, "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "node_modules/babel-loader/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=8.9.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/babel-loader/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/babel-loader/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "ajv": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/babel-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/babel-loader/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "node_modules/babel-loader/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dev": true, "dependencies": { - "object.assign": "^4.1.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/babel-plugin-istanbul": { @@ -10001,13 +9554,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -10024,25 +9577,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -10296,9 +9849,9 @@ } }, "node_modules/bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", + "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", "dev": true, "dependencies": { "array-flatten": "^2.1.2", @@ -10384,9 +9937,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "funding": [ { @@ -10399,10 +9952,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.9" }, "bin": { "browserslist": "cli.js" @@ -10475,9 +10028,9 @@ } }, "node_modules/builtins/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -10624,9 +10177,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001369", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", - "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", "dev": true, "funding": [ { @@ -12431,28 +11984,18 @@ } }, "node_modules/core-js-compat": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.5.tgz", - "integrity": "sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", + "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", "dev": true, "dependencies": { - "browserslist": "^4.21.2", - "semver": "7.0.0" + "browserslist": "^4.21.4" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -12595,17 +12138,6 @@ "node": ">= 8" } }, - "node_modules/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, "node_modules/css-blank-pseudo": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", @@ -12743,19 +12275,19 @@ } }, "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" }, "engines": { "node": ">= 12.13.0" @@ -12769,9 +12301,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -13079,15 +12611,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cssdb": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", @@ -13580,9 +13103,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, "node_modules/elementtree": { @@ -13858,9 +13381,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", - "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", "dev": true, "hasInstallScript": true, "optional": true, @@ -13871,304 +13394,34 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.49", - "esbuild-android-arm64": "0.14.49", - "esbuild-darwin-64": "0.14.49", - "esbuild-darwin-arm64": "0.14.49", - "esbuild-freebsd-64": "0.14.49", - "esbuild-freebsd-arm64": "0.14.49", - "esbuild-linux-32": "0.14.49", - "esbuild-linux-64": "0.14.49", - "esbuild-linux-arm": "0.14.49", - "esbuild-linux-arm64": "0.14.49", - "esbuild-linux-mips64le": "0.14.49", - "esbuild-linux-ppc64le": "0.14.49", - "esbuild-linux-riscv64": "0.14.49", - "esbuild-linux-s390x": "0.14.49", - "esbuild-netbsd-64": "0.14.49", - "esbuild-openbsd-64": "0.14.49", - "esbuild-sunos-64": "0.14.49", - "esbuild-windows-32": "0.14.49", - "esbuild-windows-64": "0.14.49", - "esbuild-windows-arm64": "0.14.49" - } - }, - "node_modules/esbuild-android-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", - "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-android-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", - "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", - "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", - "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", - "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", - "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", - "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", - "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", - "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", - "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", - "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", - "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-linux-s390x": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", - "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-netbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", - "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-openbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", - "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-sunos-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", - "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" } }, "node_modules/esbuild-wasm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", - "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz", + "integrity": "sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q==", "dev": true, "bin": { "esbuild": "bin/esbuild" @@ -14177,54 +13430,6 @@ "node": ">=12" } }, - "node_modules/esbuild-windows-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", - "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", - "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/esbuild-windows-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", - "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -16138,15 +15343,15 @@ } }, "node_modules/ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", + "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", "dev": true, "dependencies": { "minimatch": "^5.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/ignore-walk/node_modules/brace-expansion": { @@ -16159,9 +15364,9 @@ } }, "node_modules/ignore-walk/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -16189,9 +15394,9 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, "node_modules/immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", "dev": true }, "node_modules/import-fresh": { @@ -17400,9 +16605,9 @@ "dev": true }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -17755,9 +16960,9 @@ } }, "node_modules/less-loader": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", - "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, "dependencies": { "klona": "^2.0.4" @@ -17805,9 +17010,9 @@ "optional": true }, "node_modules/less/node_modules/needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, "optional": true, "dependencies": { @@ -18165,9 +17370,9 @@ } }, "node_modules/loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true, "engines": { "node": ">= 12.13.0" @@ -18568,9 +17773,9 @@ "dev": true }, "node_modules/make-fetch-happen": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz", - "integrity": "sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "dependencies": { "agentkeepalive": "^4.2.1", @@ -18594,10 +17799,24 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, "dependencies": { "mkdirp": "^1.0.4", @@ -18638,9 +17857,9 @@ } }, "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, "dependencies": { "@npmcli/fs": "^2.1.0", @@ -18660,7 +17879,7 @@ "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^2.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -18684,9 +17903,9 @@ } }, "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -18730,18 +17949,18 @@ } }, "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" } }, "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -18825,6 +18044,33 @@ "node": "*" } }, + "node_modules/make-fetch-happen/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", @@ -18851,6 +18097,30 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -18992,9 +18262,9 @@ } }, "node_modules/memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", + "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", "dev": true, "dependencies": { "fs-monkey": "^1.0.3" @@ -19227,9 +18497,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", "dev": true, "dependencies": { "schema-utils": "^4.0.0" @@ -19246,9 +18516,9 @@ } }, "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -19381,9 +18651,9 @@ } }, "node_modules/minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, "dependencies": { "minipass": "^3.1.6", @@ -19688,16 +18958,16 @@ } }, "node_modules/node-gyp": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", - "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "dependencies": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -19708,7 +18978,7 @@ "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.22 || ^14.13 || >=16" + "node": "^12.13 || ^14.13 || >=16" } }, "node_modules/node-gyp-build": { @@ -19724,18 +18994,18 @@ } }, "node_modules/node-gyp/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, "dependencies": { - "abbrev": "1" + "abbrev": "^1.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/node-gyp/node_modules/rimraf": { @@ -19754,9 +19024,9 @@ } }, "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -19863,30 +19133,33 @@ } }, "node_modules/npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, "dependencies": { - "npm-normalize-package-bin": "^1.0.1" + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-install-checks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", - "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", + "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", "dev": true, "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -19899,51 +19172,54 @@ } }, "node_modules/npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", + "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/npm-package-arg": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", - "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-package-arg/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" } }, "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -19956,24 +19232,87 @@ } }, "node_modules/npm-packlist": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", - "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "dependencies": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^1.1.2", - "npm-normalize-package-bin": "^1.0.1" + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" }, "bin": { - "npm-packlist": "bin/index.js" + "semver": "bin/semver.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" + } + }, + "node_modules/npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm-registry-fetch/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/npm-packlist/node_modules/brace-expansion": { + "node_modules/npm-registry-fetch/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", @@ -19982,10 +19321,63 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm-packlist/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm-registry-fetch/node_modules/fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -20001,10 +19393,73 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-packlist/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -20013,52 +19468,89 @@ "node": ">=10" } }, - "node_modules/npm-pick-manifest": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", - "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, "dependencies": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" + "yallist": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" }, "engines": { - "node": ">=10" + "node": ">= 10" } }, - "node_modules/npm-registry-fetch": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz", - "integrity": "sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==", + "node_modules/npm-registry-fetch/node_modules/ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" + "minipass": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-run-path": { @@ -20262,24 +19754,6 @@ "node": ">=0.10.0" } }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -20728,51 +20202,34 @@ } }, "node_modules/pacote": { - "version": "13.6.1", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.1.tgz", - "integrity": "sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw==", - "dev": true, - "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", + "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "lib/bin.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/pacote/node_modules/@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/pacote/node_modules/brace-expansion": { @@ -20785,38 +20242,45 @@ } }, "node_modules/pacote/node_modules/cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/cacache/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "node_modules/pacote/node_modules/fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -20833,18 +20297,18 @@ } }, "node_modules/pacote/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" } }, "node_modules/pacote/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -20853,43 +20317,52 @@ "node": ">=10" } }, - "node_modules/pacote/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/pacote/node_modules/minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "yallist": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/pacote/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/pacote/node_modules/ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "minipass": "^4.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "node_modules/pacote/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, "dependencies": { - "minipass": "^3.1.1" + "imurmurhash": "^0.1.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/pako": { @@ -21214,9 +20687,9 @@ } }, "node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "funding": [ { "type": "opencollective", @@ -21291,21 +20764,6 @@ "postcss": "^8.2.2" } }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" - } - }, "node_modules/postcss-color-functional-notation": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", @@ -22310,14 +21768,14 @@ } }, "node_modules/postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", "dev": true, "dependencies": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", - "semver": "^7.3.7" + "semver": "^7.3.8" }, "engines": { "node": ">= 14.15.0" @@ -22332,9 +21790,9 @@ } }, "node_modules/postcss-loader/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -22781,25 +22239,6 @@ "postcss": "^8.2.15" } }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", - "dev": true, - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - } - }, "node_modules/postcss-ordered-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", @@ -23504,12 +22943,12 @@ } }, "node_modules/proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/process-nextick-args": { @@ -24136,31 +23575,40 @@ } }, "node_modules/read-package-json": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", - "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", + "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", "dev": true, "dependencies": { "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-package-json/node_modules/brace-expansion": { @@ -24173,9 +23621,9 @@ } }, "node_modules/read-package-json/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -24192,30 +23640,39 @@ } }, "node_modules/read-package-json/node_modules/hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "dependencies": { "lru-cache": "^7.5.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-package-json/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true, "engines": { "node": ">=12" } }, + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/read-package-json/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -24225,24 +23682,24 @@ } }, "node_modules/read-package-json/node_modules/normalize-package-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.0.tgz", - "integrity": "sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, "dependencies": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-package-json/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -24380,9 +23837,9 @@ "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { "regenerate": "^1.4.2" @@ -24442,32 +23899,32 @@ } }, "node_modules/regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { "node": ">=4" } }, "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "dependencies": { "jsesc": "~0.5.0" @@ -24854,9 +24311,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -24871,9 +24328,9 @@ } }, "node_modules/sass-loader": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", - "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", "dev": true, "dependencies": { "klona": "^2.0.4", @@ -24888,7 +24345,7 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" @@ -25788,17 +25245,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, "node_modules/source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", @@ -26610,70 +26056,6 @@ "node": ">=8" } }, - "node_modules/stylus": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", - "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", - "dev": true, - "dependencies": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - } - }, - "node_modules/stylus-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", - "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.11", - "klona": "^2.0.5", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/stylus/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/stylus/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", @@ -27006,9 +26388,9 @@ } }, "node_modules/terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.2", @@ -27538,9 +26920,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -27597,18 +26979,18 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, "engines": { "node": ">=4" @@ -27840,9 +27222,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "funding": [ { @@ -27956,15 +27338,15 @@ } }, "node_modules/validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, "dependencies": { "builtins": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/vary": { @@ -28068,9 +27450,9 @@ } }, "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -28112,9 +27494,9 @@ } }, "node_modules/webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -28122,11 +27504,11 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -28139,7 +27521,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -28159,32 +27541,32 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", + "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", "dev": true, "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^3.4.12", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 14.15.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -28252,9 +27634,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dev": true, "dependencies": { "@types/bonjour": "^3.5.9", @@ -28280,7 +27662,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -28307,9 +27689,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", @@ -28410,9 +27792,9 @@ } }, "node_modules/webpack-dev-server/node_modules/selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "dependencies": { "node-forge": "^1" @@ -28421,6 +27803,29 @@ "node": ">=10" } }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, "node_modules/webpack-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", @@ -28754,16 +28159,16 @@ } }, "node_modules/ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", + "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", "dev": true, "engines": { "node": ">=10.0.0" }, "peerDependencies": { "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "utf-8-validate": ">=5.0.2" }, "peerDependenciesMeta": { "bufferutil": { @@ -28871,32 +28276,67 @@ } }, "node_modules/yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "engines": { "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "engines": { "node": ">=12" } }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yargs/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -28958,94 +28398,112 @@ } }, "@angular-devkit/architect": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.0.tgz", - "integrity": "sha512-dHgP2/5EXkJpdf6Y1QHQX2RP8xTli/CFZH3uNnTh+EuAib/kwu+Z6K3UttZWB5VGhAF1u/xf97Vly/UkXvjKAg==", + "version": "0.1501.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.2.tgz", + "integrity": "sha512-AfORVGLN0FBIUXO3FkfGOKu+Gz6oJjF8Bu8cPn27duiI0wszxGNY3fATKwbSg7JcKx1oQS/G7RjyC5OiTA6a0Q==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", + "@angular-devkit/core": "15.1.2", "rxjs": "6.6.7" } }, "@angular-devkit/build-angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.0.tgz", - "integrity": "sha512-AtecSuDEPLYd3p7uFVKpoA0XNcq+NvVYFJK8h90BG+IRZtzEm7ZJeYdohXVeVfTO5GvpNFN1XoHxR5rxiXeBhg==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.2.tgz", + "integrity": "sha512-8udBKfHo3c/hOuh6VB11UKQZcqbolcNW2smtM9HJMm3fcykvyFEIitoCyl/tgraST+14/kA4aiINdl4EQ4BanQ==", "dev": true, "requires": { "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/build-webpack": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@babel/core": "7.18.6", - "@babel/generator": "7.18.7", + "@angular-devkit/architect": "0.1501.2", + "@angular-devkit/build-webpack": "0.1501.2", + "@angular-devkit/core": "15.1.2", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.7", "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.18.6", - "@babel/plugin-transform-async-to-generator": "7.18.6", - "@babel/plugin-transform-runtime": "7.18.6", - "@babel/preset-env": "7.18.6", - "@babel/runtime": "7.18.6", - "@babel/template": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.7", + "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "14.1.0", + "@ngtools/webpack": "15.1.2", "ansi-colors": "4.1.3", - "babel-loader": "8.2.5", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.9.1", - "cacache": "16.1.1", + "browserslist": "4.21.4", + "cacache": "17.0.4", + "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", "critters": "0.0.16", - "css-loader": "6.7.1", - "esbuild": "0.14.49", - "esbuild-wasm": "0.14.49", + "css-loader": "6.7.3", + "esbuild": "0.16.17", + "esbuild-wasm": "0.16.17", "glob": "8.0.3", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", "less": "4.1.3", - "less-loader": "11.0.0", + "less-loader": "11.1.0", "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.0", - "mini-css-extract-plugin": "2.6.1", - "minimatch": "5.1.0", + "loader-utils": "3.2.1", + "magic-string": "0.27.0", + "mini-css-extract-plugin": "2.7.2", "open": "8.4.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "6.0.1", "piscina": "3.2.0", - "postcss": "8.4.14", - "postcss-import": "14.1.0", - "postcss-loader": "7.0.1", - "postcss-preset-env": "7.7.2", - "regenerator-runtime": "0.13.9", + "postcss": "8.4.21", + "postcss-loader": "7.0.2", "resolve-url-loader": "5.0.0", "rxjs": "6.6.7", - "sass": "1.53.0", - "sass-loader": "13.0.2", - "semver": "7.3.7", - "source-map-loader": "4.0.0", + "sass": "1.57.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "stylus": "0.58.1", - "stylus-loader": "7.0.0", - "terser": "5.14.2", + "terser": "5.16.1", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.4.0", - "webpack": "5.73.0", - "webpack-dev-middleware": "5.3.3", - "webpack-dev-server": "4.9.3", + "tslib": "2.4.1", + "webpack": "5.75.0", + "webpack-dev-middleware": "6.0.1", + "webpack-dev-server": "4.11.1", "webpack-merge": "5.8.0", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { - "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "agent-base": { @@ -29079,13 +28537,13 @@ } }, "autoprefixer": { - "version": "10.4.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", - "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", "dev": true, "requires": { - "browserslist": "^4.20.3", - "caniuse-lite": "^1.0.30001335", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", @@ -29102,35 +28560,30 @@ } }, "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^3.0.0" }, "dependencies": { "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true } } @@ -29145,37 +28598,6 @@ "supports-color": "^7.1.0" } }, - "css-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "dev": true, - "requires": {} - }, - "cssdb": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", - "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", - "dev": true - }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -29185,6 +28607,15 @@ "ms": "2.1.2" } }, + "fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "requires": { + "minipass": "^4.0.0" + } + }, "glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -29264,25 +28695,37 @@ "dev": true }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } }, "ms": { "version": "2.1.2", @@ -29313,295 +28756,6 @@ "nice-napi": "^1.0.2" } }, - "postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-properties": { - "version": "12.1.8", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", - "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9" - } - }, - "postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "dev": true, - "requires": {} - }, - "postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "dev": true, - "requires": {} - }, - "postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "dev": true, - "requires": {} - }, - "postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", - "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "dev": true, - "requires": {} - }, - "postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "dev": true, - "requires": {} - }, - "postcss-nesting": { - "version": "10.1.10", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", - "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", - "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "dev": true, - "requires": {} - }, - "postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-preset-env": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", - "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", - "dev": true, - "requires": { - "@csstools/postcss-cascade-layers": "^1.0.4", - "@csstools/postcss-color-function": "^1.1.0", - "@csstools/postcss-font-format-keywords": "^1.0.0", - "@csstools/postcss-hwb-function": "^1.0.1", - "@csstools/postcss-ic-unit": "^1.0.0", - "@csstools/postcss-is-pseudo-class": "^2.0.6", - "@csstools/postcss-normalize-display-values": "^1.0.0", - "@csstools/postcss-oklab-function": "^1.1.0", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.1", - "@csstools/postcss-unset-value": "^1.0.1", - "autoprefixer": "^10.4.7", - "browserslist": "^4.21.0", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^6.6.3", - "postcss-attribute-case-insensitive": "^5.0.1", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.3", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.0", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.8", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.4", - "postcss-double-position-gradients": "^3.1.1", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.3", - "postcss-image-set-function": "^4.0.6", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.0", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.1.9", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.3", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.4", - "postcss-pseudo-class-any-link": "^7.1.5", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, - "postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "dev": true, - "requires": {} - }, - "postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.10" - } - }, "resolve-url-loader": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", @@ -29628,54 +28782,10 @@ } } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -29694,9 +28804,9 @@ "dev": true }, "source-map-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", - "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, "requires": { "abab": "^2.0.6", @@ -29715,12 +28825,12 @@ } }, "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "requires": { - "minipass": "^3.1.1" + "minipass": "^4.0.0" } }, "strip-ansi": { @@ -29742,11 +28852,29 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", "dev": true }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, "webpack-subresource-integrity": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", @@ -29778,32 +28906,32 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1401.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.0.tgz", - "integrity": "sha512-jKfnHal09mVnEapmNrAHXL/00LfafmfEUtlOPzQMgGJL7MWCeMcFthsbcOnGuzUerbiiquRk/KmLTERYjH+ZrQ==", + "version": "0.1501.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.2.tgz", + "integrity": "sha512-FzslFvjuAabwtz2wMTCeemYCJA4NqRECz+WEsEZbtwESBMmKdaqmpbdW9ypsepB2iC7eIbHK43R95XAM75utTw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1401.0", + "@angular-devkit/architect": "0.1501.2", "rxjs": "6.6.7" } }, "@angular-devkit/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.0.tgz", - "integrity": "sha512-Y2d/+nFmjjY4eatc3cwdDDAnpnhG3KTX2OVW7dXSUxW3eY5e3vdMlVUbFiKwvwAshlrJy85Y6RMvZSBN4VrpnA==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.2.tgz", + "integrity": "sha512-wkLZYvTZt30Ge6Z83Gxsr6mO1TIHCu3SImdE0zwW63EdU9o1NYkU74z1D9VUZ9Up7uHi1cHs/dssbxUuZ4eWOA==", "dev": true, "requires": { - "ajv": "8.11.0", + "ajv": "8.12.0", "ajv-formats": "2.1.1", - "jsonc-parser": "3.1.0", + "jsonc-parser": "3.2.0", "rxjs": "6.6.7", "source-map": "0.7.4" }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -29828,9 +28956,9 @@ "dev": true }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "source-map": { @@ -29842,31 +28970,31 @@ } }, "@angular-devkit/schematics": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.0.tgz", - "integrity": "sha512-5QC01k9eznuQSiqxijKhVkAEmA8sioYuLhBzyffaPszSySH8kPMNxhAc8zJhBTNLumbS6iDaGkSqTQl5Kv9fOw==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.2.tgz", + "integrity": "sha512-HjJPm+4SS5TdAHHvdpXLv25wsvwVOn5RYs0A9MazTndlm80ct3PKeYUgakNDRFjRj8uORNlJMKmQIIhUSDjFsw==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", - "jsonc-parser": "3.1.0", - "magic-string": "0.26.2", + "@angular-devkit/core": "15.1.2", + "jsonc-parser": "3.2.0", + "magic-string": "0.27.0", "ora": "5.4.1", "rxjs": "6.6.7" }, "dependencies": { "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" } } } @@ -29881,42 +29009,40 @@ } }, "@angular/cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.1.0.tgz", - "integrity": "sha512-W/t2PkGHu9r87po1ZXQRYU81VtjzNMuGsP5tmoW1pGuibK7Kj+25G+jrXK/WADTi+pjTMXHNXYn8PlMNAIrZ/w==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.2.tgz", + "integrity": "sha512-h42k410W6PPnz9KjX8dCtruMqf1mHgIf7UWrLa8icKpk03U2SIgoJzaXgY/spSHiMGIdDnY1dAYKWV0GQS4zEg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1401.0", - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "@schematics/angular": "14.1.0", + "@angular-devkit/architect": "0.1501.2", + "@angular-devkit/core": "15.1.2", + "@angular-devkit/schematics": "15.1.2", + "@schematics/angular": "15.1.2", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", - "debug": "4.3.4", - "ini": "3.0.0", + "ini": "3.0.1", "inquirer": "8.2.4", - "jsonc-parser": "3.1.0", - "npm-package-arg": "9.1.0", - "npm-pick-manifest": "7.0.1", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", "open": "8.4.0", "ora": "5.4.1", - "pacote": "13.6.1", + "pacote": "15.0.8", "resolve": "1.22.1", - "semver": "7.3.7", + "semver": "7.3.8", "symbol-observable": "4.0.0", - "uuid": "8.3.2", - "yargs": "17.5.1" + "yargs": "17.6.2" }, "dependencies": { "@schematics/angular": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.1.0.tgz", - "integrity": "sha512-lhqNZzA+iT3XwlwRU757mhYmd5WE9XB2OKFhosvvszou2zuNUJMDPR9P01ZVNCOa2fScOeCMg2q3ZDgGTBl96Q==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.2.tgz", + "integrity": "sha512-PcAbjbWvaW3yKvcGCqHrlHm4BTwGuqr58czCASc49Hy6tJba+dRblYatzB0D1tzdJOTsa684Ghg7knCN86fHeg==", "dev": true, "requires": { - "@angular-devkit/core": "14.1.0", - "@angular-devkit/schematics": "14.1.0", - "jsonc-parser": "3.1.0" + "@angular-devkit/core": "15.1.2", + "@angular-devkit/schematics": "15.1.2", + "jsonc-parser": "3.2.0" } }, "ansi-colors": { @@ -29950,15 +29076,6 @@ "supports-color": "^7.1.0" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -29966,9 +29083,9 @@ "dev": true }, "ini": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", - "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true }, "inquirer": { @@ -30001,15 +29118,9 @@ "dev": true }, "jsonc-parser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", - "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "open": { @@ -30033,9 +29144,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -30058,62 +29169,56 @@ "requires": { "has-flag": "^4.0.0" } - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true } } }, "@angular/common": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.0.tgz", - "integrity": "sha512-leethDtLbA3qySaOEBUto602DF0qH1maK9u2zHncrUFOpnHAYUEd7N9MFMdIYASurTnwOSglEoIDCML94qzImQ==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.1.1.tgz", + "integrity": "sha512-P4f2rK/YBQQT4clQrcQ9goLf53RS63Q1x2d1dvz7Syr3gcOUyxO7NZQ7Au5afzvbIKZ5Okd+X0+TCGV4q9wQjw==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.0.tgz", - "integrity": "sha512-aLbtpFDF3fp/DOEsWSdpszmoNZAb0To/zoKhHVmEReuUKkMtlPNd3+e6wkR2vrvR/cWgbKwdb7RQ1IQtGDu74A==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.1.1.tgz", + "integrity": "sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.0.tgz", - "integrity": "sha512-llJkDnv0+riTdRPdOJv/FToz4X9ZO1URnalW+tIe2RyfOzkEqM+VLD/x+3cVgnsaFKuoPxIjZEkMoppGwVB4kg==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz", + "integrity": "sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA==", "dev": true, "requires": { - "@babel/core": "^7.17.2", + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", "dependency-graph": "^0.11.0", - "magic-string": "^0.26.0", + "magic-string": "^0.27.0", "reflect-metadata": "^0.1.2", "semver": "^7.0.0", - "sourcemap-codec": "^1.4.8", "tslib": "^2.3.0", "yargs": "^17.2.1" }, "dependencies": { "magic-string": { - "version": "0.26.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.2.tgz", - "integrity": "sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, "requires": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -30122,47 +29227,47 @@ } }, "@angular/core": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.0.tgz", - "integrity": "sha512-3quEsHmQifJOQ2oij5K+cjGjmhsKsyZI1+OTHWNZ6IXeuYviZv4U/Cui9fUJ1RN3CZxH3NzWB3gB/5qYFQfOgg==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.1.1.tgz", + "integrity": "sha512-nsz+IXdkQanAGhqA2vcwTrGGyw5zIm3TgtYQ/JqK185qkmlhsQfSRvdSPsFPhmIFYp9ngZVUbkhY3D4P3gDzIg==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.0.tgz", - "integrity": "sha512-y7VQ2t+/ASEjzt8zXg4y5b03lMSPHmnhy4XzjDT14ZFrALaSxyhkSqoBfAksPkTeKmsFMnP/VgLboRsE8TLs0Q==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.1.1.tgz", + "integrity": "sha512-1c/oZD+eSbGzDCcmC+hOqkPH+AzLOiGHxII5QiOOj8so8M958UBrsFBwrnLz06d9OK5Z4IrR4UL2JJspZNbpjw==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-14.1.0.tgz", - "integrity": "sha512-ldL4xMDjXYZ93FCEIBVGipx9Qfgr7NuBNO+e25d+nWikXrUOnLfvF4UOL/TSUwSwqN4jxDI2KMNQIF6SecZfvQ==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.1.tgz", + "integrity": "sha512-Wjn1t5ZjEuEJ3i2xdBArFadq4Aq7h95owiI1AcrjJ8/jjSHzszbTcQ1qs+FMKuq37A3pcpgXx6myekftRuNBkw==", "dev": true }, "@angular/platform-browser": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.0.tgz", - "integrity": "sha512-axNXUSqxsP0QSdNskd1pFo2uMo1UNoFaSAB02eDWwLkWQ1pWel+T78HiQY2bNeI3elgzjwPTT4vCCDQKNVTNig==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.1.1.tgz", + "integrity": "sha512-U1MXowvyigmMpffsnMQI6e9gX7tA6Su7unY0pjN5u9wRYJIkEbKuFyVijguQ83bt+JK3ZBHXD0dvskYnscGUzg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.0.tgz", - "integrity": "sha512-0Lxz3HJ9qTOyMTp5Qud2tycP7wqe+tnHOSUqDywrbNRozTKGX0z3i+l0KMku3BtUbuMi3tJomqV914/dtbCvIw==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.1.tgz", + "integrity": "sha512-iCbvYduSGtyBWuQfTzm/MDZy7Rd5MNsjpknEtJ45nbjZzv9EL1tGo6qufaTgPXHP8Nbfcco/4UO9w84Gp5irLA==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.0.tgz", - "integrity": "sha512-WBC1E+d9RS8vy57zJ6LVtWT3AM12mEHY7SCMBRJNBcrmBYJwojxeV8IVkUoW4Ds910gG/w3LjIN0eNHg5qRtNA==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.1.1.tgz", + "integrity": "sha512-5l1+6MzeJW01BeO8ZNfYe/TEVzxIHDKHWUrsmGE6oQW01LezG5LUjwR1T23YeR8G5zzRs/p+AU72wTn/aPGQHg==", "requires": { "tslib": "^2.3.0" } @@ -30183,27 +29288,27 @@ } }, "@babel/compat-data": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", - "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", "dev": true }, "@babel/core": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", - "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -30235,12 +29340,12 @@ } }, "@babel/generator": { - "version": "7.18.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", - "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "dev": true, "requires": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.20.7", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -30278,22 +29383,38 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", - "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", + "@babel/compat-data": "^7.20.5", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", "semver": "^6.3.0" }, "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -30313,25 +29434,23 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", - "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" + "regexpu-core": "^5.2.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -30377,13 +29496,13 @@ } }, "@babel/helper-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", - "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { @@ -30396,12 +29515,12 @@ } }, "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.7" } }, "@babel/helper-module-imports": { @@ -30414,19 +29533,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", - "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" } }, "@babel/helper-optimise-call-expression": { @@ -30439,9 +29558,9 @@ } }, "@babel/helper-plugin-utils": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", - "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", "dev": true }, "@babel/helper-remap-async-to-generator": { @@ -30457,34 +29576,35 @@ } }, "@babel/helper-replace-supers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", - "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.20.2" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, "requires": { - "@babel/types": "^7.18.9" + "@babel/types": "^7.20.0" } }, "@babel/helper-split-export-declaration": { @@ -30496,10 +29616,16 @@ "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { @@ -30521,14 +29647,14 @@ } }, "@babel/helpers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", - "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" } }, "@babel/highlight": { @@ -30543,9 +29669,9 @@ } }, "@babel/parser": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.9.tgz", - "integrity": "sha512-9uJveS9eY9DJ0t64YbIBZICtJy8a5QrDEVdiLCG97fVLpDTpGX7t8mMSb6OWw6Lrnjqj4O8zwjELX3dhoMgiBg==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -30569,14 +29695,14 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", - "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, @@ -30662,16 +29788,16 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" + "@babel/plugin-transform-parameters": "^7.20.7" } }, "@babel/plugin-proposal-optional-catch-binding": { @@ -30773,12 +29899,12 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-syntax-json-strings": { @@ -30872,14 +29998,14 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" } }, "@babel/plugin-transform-block-scoped-functions": { @@ -30892,26 +30018,27 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-classes": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", - "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } @@ -30926,12 +30053,12 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", - "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-dotall-regex": { @@ -31002,39 +30129,36 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", - "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" } }, "@babel/plugin-transform-modules-umd": { @@ -31048,13 +30172,13 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", - "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-new-target": { @@ -31077,12 +30201,12 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-property-literals": { @@ -31114,16 +30238,16 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", - "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "dependencies": { @@ -31145,13 +30269,13 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", - "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" } }, "@babel/plugin-transform-sticky-regex": { @@ -31182,12 +30306,12 @@ } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.6.tgz", - "integrity": "sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-regex": { @@ -31201,29 +30325,29 @@ } }, "@babel/preset-env": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", - "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -31232,7 +30356,7 @@ "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-import-assertions": "^7.20.0", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -31245,41 +30369,41 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "dependencies": { @@ -31305,65 +30429,51 @@ } }, "@babel/runtime": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", - "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.4" + "regenerator-runtime": "^0.13.11" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "dev": true + } } }, "@babel/template": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", - "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, "@babel/traverse": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.9.tgz", - "integrity": "sha512-LcPAnujXGwBgv3/WHv01pHtb2tihcyW1XuL9wd7jqh1Z8AQkTd+QVjMrMijrln0T7ED3UXLIy36P9Ao7W75rYg==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.9", + "@babel/generator": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.9", - "@babel/types": "^7.18.9", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { - "@babel/generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.9.tgz", - "integrity": "sha512-wt5Naw6lJrL1/SGkipMiFxJjtyczUWTP38deiP1PO60HsBjDeKk08CGC3S8iVuvf0FmTdgKwU1KIXzSKL1G0Ug==", - "dev": true, - "requires": { - "@babel/types": "^7.18.9", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "debug": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", @@ -31382,12 +30492,13 @@ } }, "@babel/types": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.9.tgz", - "integrity": "sha512-WwMLAg2MvJmt/rKEVQBBhIVffMmnilX4oe0sRe7iPOHIGsqpruFHHdrfj4O1CMMtgMtCU4oPafZjDPCRgO57Wg==", + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } }, @@ -31403,129 +30514,165 @@ "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", "dev": true }, - "@csstools/postcss-cascade-layers": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", - "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" - } + "optional": true }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", "dev": true, - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" - } + "optional": true }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", "dev": true, - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } + "optional": true }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", "dev": true, - "requires": {} + "optional": true }, - "@csstools/selector-specificity": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", - "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", "dev": true, - "requires": {} + "optional": true }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "dev": true, + "optional": true }, "@gar/promisify": { "version": "1.1.3", @@ -34620,9 +33767,9 @@ } }, "@ngtools/webpack": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.0.tgz", - "integrity": "sha512-d4U6ymDCXckVgfjYEv1Wjzd78ZSm0NKgq8mN6FdlrCupg02LPIODjeKyNr4c4zwMAOJeHkVNEZ+USoDEK3XSsw==", + "version": "15.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.2.tgz", + "integrity": "sha512-IxKPqyA5hiwUioAAptFaETF2TifH6cTGOc7qKYFxFgzK+llZtEBcNj3w9zrL5uCFnPHWDZqdIDhH3/WM4zBmkw==", "dev": true, "requires": {} }, @@ -34680,19 +33827,18 @@ } }, "@npmcli/fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.1.tgz", - "integrity": "sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, "requires": { - "@gar/promisify": "^1.1.3", "semver": "^7.3.5" }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -34701,26 +33847,26 @@ } }, "@npmcli/git": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.1.tgz", - "integrity": "sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", + "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", "dev": true, "requires": { - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^3.0.0" }, "dependencies": { "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true }, "mkdirp": { @@ -34730,9 +33876,9 @@ "dev": true }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -34750,9 +33896,9 @@ } }, "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -34761,13 +33907,13 @@ } }, "@npmcli/installed-package-contents": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", - "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", + "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", "dev": true, "requires": { - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" } }, "@npmcli/move-file": { @@ -34788,37 +33934,48 @@ } }, "@npmcli/node-gyp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", - "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true }, "@npmcli/promise-spawn": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", - "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, "requires": { - "infer-owner": "^1.0.4" + "which": "^3.0.0" + }, + "dependencies": { + "which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "@npmcli/run-script": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-4.1.7.tgz", - "integrity": "sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", + "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", "dev": true, "requires": { - "@npmcli/node-gyp": "^2.0.0", - "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", "node-gyp": "^9.0.0", - "read-package-json-fast": "^2.0.3", - "which": "^2.0.2" + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" }, "dependencies": { "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -35087,21 +34244,21 @@ "dev": true }, "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", + "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", "dev": true, "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", + "@types/express-serve-static-core": "^4.17.31", "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.29", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.29.tgz", - "integrity": "sha512-uMd++6dMKS32EOuw1Uli3e3BPgdLIXmezcfHv7N4c1s3gkhikBplORPpMq3fuWkxncZN1reb16d5n8yhQ80x7Q==", + "version": "4.17.32", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", + "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", "dev": true, "requires": { "@types/node": "*", @@ -35171,9 +34328,9 @@ } }, "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", "dev": true }, "@types/minimatch": { @@ -35261,12 +34418,12 @@ } }, "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", "dev": true, "requires": { - "@types/mime": "^1", + "@types/mime": "*", "@types/node": "*" } }, @@ -35311,9 +34468,9 @@ } }, "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", "dev": true, "requires": { "@types/node": "*" @@ -35777,9 +34934,9 @@ "dev": true }, "are-we-there-yet": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz", - "integrity": "sha512-0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "dev": true, "requires": { "delegates": "^1.0.0", @@ -35987,54 +35144,65 @@ "dev": true }, "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dev": true, "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" }, "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" } }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "requires": { - "semver": "^6.0.0" + "ajv": "^8.0.0" } }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } } } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, "babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -36049,13 +35217,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "dependencies": { @@ -36068,22 +35236,22 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "bail": { @@ -36276,9 +35444,9 @@ } }, "bonjour-service": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", - "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", + "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", "dev": true, "requires": { "array-flatten": "^2.1.2", @@ -36354,15 +35522,15 @@ "dev": true }, "browserslist": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz", - "integrity": "sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001366", - "electron-to-chromium": "^1.4.188", + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.4" + "update-browserslist-db": "^1.0.9" } }, "browserstack": { @@ -36412,9 +35580,9 @@ }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -36526,9 +35694,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001369", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001369.tgz", - "integrity": "sha512-OY1SBHaodJc4wflDIKnlkdqWzJZd1Ls/2zbVJHBSv3AT7vgOJ58yAhd2CN4d57l2kPJrgMb7P9+N1Mhy4tNSQA==", + "version": "1.0.30001446", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", + "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", "dev": true }, "canonical-path": { @@ -37765,21 +36933,12 @@ "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==" }, "core-js-compat": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.23.5.tgz", - "integrity": "sha512-fHYozIFIxd+91IIbXJgWd/igXIc8Mf9is0fusswjnGIWVG96y2cwyUdlCkGOw6rMLHKAxg7xtCIVaHsyOUnJIg==", + "version": "3.27.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", + "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", "dev": true, "requires": { - "browserslist": "^4.21.2", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.21.4" } }, "core-util-is": { @@ -37889,25 +37048,6 @@ } } }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "css-blank-pseudo": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", @@ -38002,25 +37142,25 @@ } }, "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.7", + "postcss": "^8.4.19", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" + "semver": "^7.3.8" }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -38644,9 +37784,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.199", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz", - "integrity": "sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg==", + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, "elementtree": { @@ -38878,180 +38018,42 @@ } }, "esbuild": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", - "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", "dev": true, "optional": true, "requires": { - "esbuild-android-64": "0.14.49", - "esbuild-android-arm64": "0.14.49", - "esbuild-darwin-64": "0.14.49", - "esbuild-darwin-arm64": "0.14.49", - "esbuild-freebsd-64": "0.14.49", - "esbuild-freebsd-arm64": "0.14.49", - "esbuild-linux-32": "0.14.49", - "esbuild-linux-64": "0.14.49", - "esbuild-linux-arm": "0.14.49", - "esbuild-linux-arm64": "0.14.49", - "esbuild-linux-mips64le": "0.14.49", - "esbuild-linux-ppc64le": "0.14.49", - "esbuild-linux-riscv64": "0.14.49", - "esbuild-linux-s390x": "0.14.49", - "esbuild-netbsd-64": "0.14.49", - "esbuild-openbsd-64": "0.14.49", - "esbuild-sunos-64": "0.14.49", - "esbuild-windows-32": "0.14.49", - "esbuild-windows-64": "0.14.49", - "esbuild-windows-arm64": "0.14.49" - } - }, - "esbuild-android-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", - "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", - "dev": true, - "optional": true - }, - "esbuild-android-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", - "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", - "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", - "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", - "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", - "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", - "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", - "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", - "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", - "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", - "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", - "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", - "dev": true, - "optional": true - }, - "esbuild-linux-riscv64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", - "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-s390x": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", - "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", - "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", - "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", - "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", - "dev": true, - "optional": true + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } }, "esbuild-wasm": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", - "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz", + "integrity": "sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q==", "dev": true }, - "esbuild-windows-32": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", - "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", - "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.14.49", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", - "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", - "dev": true, - "optional": true - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -40486,9 +39488,9 @@ "dev": true }, "ignore-walk": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", - "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", + "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", "dev": true, "requires": { "minimatch": "^5.0.1" @@ -40504,9 +39506,9 @@ } }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -40527,9 +39529,9 @@ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" }, "immutable": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", - "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", + "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", "dev": true }, "import-fresh": { @@ -41439,9 +40441,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "jsonc-parser": { @@ -41751,9 +40753,9 @@ "optional": true }, "needle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", - "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", "dev": true, "optional": true, "requires": { @@ -41772,9 +40774,9 @@ } }, "less-loader": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", - "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", "dev": true, "requires": { "klona": "^2.0.4" @@ -42005,9 +41007,9 @@ "dev": true }, "loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true }, "localforage": { @@ -42323,9 +41325,9 @@ "dev": true }, "make-fetch-happen": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz", - "integrity": "sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, "requires": { "agentkeepalive": "^4.2.1", @@ -42346,10 +41348,20 @@ "ssri": "^9.0.0" }, "dependencies": { + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "dev": true, "requires": { "mkdirp": "^1.0.4", @@ -42381,9 +41393,9 @@ } }, "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, "requires": { "@npmcli/fs": "^2.1.0", @@ -42403,7 +41415,7 @@ "rimraf": "^3.0.2", "ssri": "^9.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" + "unique-filename": "^2.0.0" } }, "debug": { @@ -42416,9 +41428,9 @@ } }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -42450,15 +41462,15 @@ } }, "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -42520,6 +41532,26 @@ } } }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, "socks-proxy-agent": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", @@ -42539,6 +41571,24 @@ "requires": { "minipass": "^3.1.1" } + }, + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } } } }, @@ -42642,9 +41692,9 @@ } }, "memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", + "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", "dev": true, "requires": { "fs-monkey": "^1.0.3" @@ -42814,18 +41864,18 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", "dev": true, "requires": { "schema-utils": "^4.0.0" }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -42926,9 +41976,9 @@ } }, "minipass-fetch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", - "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dev": true, "requires": { "encoding": "^0.1.13", @@ -43172,16 +42222,16 @@ "dev": true }, "node-gyp": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.1.0.tgz", - "integrity": "sha512-HkmN0ZpQJU7FLbJauJTHkHlSVAXlNGDAzH/VYFZGDOnFyn/Na3GlNJfkudmufOdS6/jNFhy88ObzL7ERz9es1g==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", "dev": true, "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", "graceful-fs": "^4.2.6", "make-fetch-happen": "^10.0.3", - "nopt": "^5.0.0", + "nopt": "^6.0.0", "npmlog": "^6.0.0", "rimraf": "^3.0.2", "semver": "^7.3.5", @@ -43190,12 +42240,12 @@ }, "dependencies": { "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "^1.0.0" } }, "rimraf": { @@ -43208,9 +42258,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -43301,27 +42351,27 @@ "dev": true }, "npm-bundled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, "requires": { - "npm-normalize-package-bin": "^1.0.1" + "npm-normalize-package-bin": "^3.0.0" } }, "npm-install-checks": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", - "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", + "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", "dev": true, "requires": { "semver": "^7.1.1" }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -43330,44 +42380,44 @@ } }, "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", + "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", "dev": true }, "npm-package-arg": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.1.0.tgz", - "integrity": "sha512-4J0GL+u2Nh6OnhvUKXRr2ZMG4lR8qtLp+kv7UiV00Y+nGiSxtttCyIRHCt5L5BNkXQld/RceYItau3MDOoGiBw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, "requires": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" + "validate-npm-package-name": "^5.0.0" }, "dependencies": { "hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "requires": { "lru-cache": "^7.5.1" }, "dependencies": { "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true } } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -43376,17 +42426,67 @@ } }, "npm-packlist": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", - "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", "dev": true, "requires": { - "glob": "^8.0.1", - "ignore-walk": "^5.0.1", - "npm-bundled": "^1.1.2", - "npm-normalize-package-bin": "^1.0.1" + "ignore-walk": "^6.0.0" + } + }, + "npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "requires": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" }, "dependencies": { + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "requires": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -43396,10 +42496,49 @@ "balanced-match": "^1.0.0" } }, + "cacache": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", + "dev": true, + "requires": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "requires": { + "minipass": "^4.0.0" + } + }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -43409,55 +42548,133 @@ "once": "^1.3.0" } }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "lru-cache": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", + "dev": true + }, + "make-fetch-happen": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", + "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + } + }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } - } - } - }, - "npm-pick-manifest": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", - "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", - "dev": true, - "requires": { - "npm-install-checks": "^5.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^9.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + }, + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, "requires": { - "lru-cache": "^6.0.0" + "yallist": "^4.0.0" + } + }, + "minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", + "dev": true, + "requires": { + "minipass": "^4.0.0" + } + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" } } } }, - "npm-registry-fetch": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz", - "integrity": "sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==", - "dev": true, - "requires": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" - } - }, "npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -43609,18 +42826,6 @@ "isobject": "^3.0.0" } }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -43945,44 +43150,30 @@ } }, "pacote": { - "version": "13.6.1", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.6.1.tgz", - "integrity": "sha512-L+2BI1ougAPsFjXRyBhcKmfT016NscRFLv6Pz5EiNf1CCFJFU0pSKKQwsZTyAQB+sTuUL4TyFyp6J1Ork3dOqw==", - "dev": true, - "requires": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", + "version": "15.0.8", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", + "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", + "dev": true, + "requires": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11" }, "dependencies": { - "@npmcli/move-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", - "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -43993,83 +43184,97 @@ } }, "cacache": { - "version": "16.1.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", - "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", "dev": true, "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", "glob": "^8.0.1", - "infer-owner": "^1.0.4", "lru-cache": "^7.7.1", - "minipass": "^3.1.6", + "minipass": "^4.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", + "ssri": "^10.0.0", "tar": "^6.1.11", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - } + "unique-filename": "^3.0.0" + } + }, + "fs-minipass": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", + "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", + "dev": true, + "requires": { + "minipass": "^4.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "minipass": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", + "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", "dev": true, "requires": { - "glob": "^7.1.3" + "yallist": "^4.0.0" } }, "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", "dev": true, "requires": { - "minipass": "^3.1.1" + "minipass": "^4.0.0" + } + }, + "unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "requires": { + "unique-slug": "^4.0.0" + } + }, + "unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" } } } @@ -44328,9 +43533,9 @@ "dev": true }, "postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", "requires": { "nanoid": "^3.3.4", "picocolors": "^1.0.0", @@ -44388,15 +43593,6 @@ "postcss-value-parser": "^4.0.2" } }, - "postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, "postcss-color-functional-notation": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", @@ -45138,20 +44334,20 @@ } }, "postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.5", - "semver": "^7.3.7" + "semver": "^7.3.8" }, "dependencies": { "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -45449,12 +44645,6 @@ "postcss-value-parser": "^4.1.0" } }, - "postcss-opacity-percentage": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", - "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", - "dev": true - }, "postcss-ordered-values": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", @@ -45974,9 +45164,9 @@ "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" }, "proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true }, "process-nextick-args": { @@ -46480,15 +45670,15 @@ } }, "read-package-json": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", - "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", + "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", "dev": true, "requires": { "glob": "^8.0.1", - "json-parse-even-better-errors": "^2.3.1", - "normalize-package-data": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "dependencies": { "brace-expansion": { @@ -46501,9 +45691,9 @@ } }, "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -46514,47 +45704,53 @@ } }, "hosted-git-info": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.0.0.tgz", - "integrity": "sha512-rRnjWu0Bxj+nIfUOkz0695C0H6tRrN5iYIzYejb0tDEefe2AekHu/U5Kn9pEie5vsJqpNQU02az7TGSH3qpz4Q==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, "requires": { "lru-cache": "^7.5.1" }, "dependencies": { "lru-cache": { - "version": "7.13.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.1.tgz", - "integrity": "sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", + "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", "dev": true } } }, + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, "normalize-package-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.0.tgz", - "integrity": "sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", "dev": true, "requires": { - "hosted-git-info": "^5.0.0", + "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -46563,13 +45759,21 @@ } }, "read-package-json-fast": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", - "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, "requires": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "dependencies": { + "json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true + } } }, "read-pkg": { @@ -46675,9 +45879,9 @@ "dev": true }, "regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" @@ -46725,29 +45929,29 @@ } }, "regexpu-core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", - "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" + "unicode-match-property-value-ecmascript": "^2.1.0" } }, "regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -47039,9 +46243,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.53.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", - "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "version": "1.57.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", + "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -47050,9 +46254,9 @@ } }, "sass-loader": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", - "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -47768,16 +46972,6 @@ } } }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, "source-map-support": { "version": "0.5.10", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", @@ -48414,47 +47608,6 @@ "stylelint-config-recommended": "^3.0.0" } }, - "stylus": { - "version": "0.58.1", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", - "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", - "dev": true, - "requires": { - "css": "^3.0.0", - "debug": "^4.3.2", - "glob": "^7.1.6", - "sax": "~1.2.4", - "source-map": "^0.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "stylus-loader": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", - "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", - "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "klona": "^2.0.5", - "normalize-path": "^3.0.0" - } - }, "sugarss": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", @@ -48696,9 +47849,9 @@ } }, "terser": { - "version": "5.14.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", - "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -49113,9 +48266,9 @@ } }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "dev": true }, "ua-parser-js": { @@ -49146,15 +48299,15 @@ } }, "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "unified": { @@ -49321,9 +48474,9 @@ "dev": true }, "update-browserslist-db": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", - "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -49412,9 +48565,9 @@ } }, "validate-npm-package-name": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", - "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, "requires": { "builtins": "^5.0.0" @@ -49483,9 +48636,9 @@ "dev": true }, "watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -49521,9 +48674,9 @@ } }, "webpack": { - "version": "5.73.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", - "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "version": "5.75.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", + "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -49531,11 +48684,11 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -49548,7 +48701,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { @@ -49590,22 +48743,22 @@ } }, "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", + "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", "dev": true, "requires": { "colorette": "^2.0.10", - "memfs": "^3.4.3", + "memfs": "^3.4.12", "mime-types": "^2.1.31", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -49653,9 +48806,9 @@ } }, "webpack-dev-server": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", - "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -49681,7 +48834,7 @@ "p-retry": "^4.5.0", "rimraf": "^3.0.2", "schema-utils": "^4.0.0", - "selfsigned": "^2.0.1", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -49690,9 +48843,9 @@ }, "dependencies": { "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -49759,13 +48912,26 @@ } }, "selfsigned": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", - "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, "requires": { "node-forge": "^1" } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } } } }, @@ -49980,9 +49146,9 @@ } }, "ws": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", - "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", + "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", "dev": true, "requires": {} }, @@ -50061,20 +49227,46 @@ "dev": true }, "yargs": { - "version": "17.5.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", - "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "requires": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "yargs-parser": "^21.1.1" }, "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -50084,9 +49276,9 @@ } }, "yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, "yn": { diff --git a/package.json b/package.json index bf10f4a2f..c5578b03b 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,12 @@ }, "private": true, "dependencies": { - "@angular/common": "^14.1.0", - "@angular/core": "^14.1.0", - "@angular/forms": "^14.1.0", - "@angular/platform-browser": "^14.1.0", - "@angular/platform-browser-dynamic": "^14.1.0", - "@angular/router": "^14.1.0", + "@angular/common": "^15.1.1", + "@angular/core": "^15.1.1", + "@angular/forms": "^15.1.1", + "@angular/platform-browser": "^15.1.1", + "@angular/platform-browser-dynamic": "^15.1.1", + "@angular/router": "^15.1.1", "@ionic-native/android-permissions": "^5.33.1", "@ionic-native/app-minimize": "^5.33.1", "@ionic-native/app-version": "^5.33.1", @@ -86,14 +86,14 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/architect": "^0.1401.0", - "@angular-devkit/build-angular": "^14.1.0", - "@angular-devkit/core": "^14.1.0", - "@angular-devkit/schematics": "^14.1.0", - "@angular/cli": "^14.1.0", - "@angular/compiler": "^14.1.0", - "@angular/compiler-cli": "^14.1.0", - "@angular/language-service": "^14.1.0", + "@angular-devkit/architect": "^0.1501.2", + "@angular-devkit/build-angular": "^15.1.2", + "@angular-devkit/core": "^15.1.2", + "@angular-devkit/schematics": "^15.1.2", + "@angular/cli": "^15.1.2", + "@angular/compiler": "^15.1.1", + "@angular/compiler-cli": "^15.1.1", + "@angular/language-service": "^15.1.1", "@ionic/angular-toolkit": "^5.0.3", "@types/cordova-plugin-ble-central": "^1.3.1", "@types/jasmine": "~3.6.0", @@ -147,7 +147,7 @@ "ts-node": "~8.3.0", "ts-proto": "^1.122.0", "tslint": "~6.1.0", - "typescript": "~4.7.4", + "typescript": "~4.9.4", "webpack-subresource-integrity": "^1.5.2" }, "description": "Beanconqueror", @@ -249,4 +249,4 @@ "*.css": "stylelint --fix", "*.{ts,js,css,md}": "prettier --write" } -} +} \ No newline at end of file diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 09c8e7a53..ac3bfa4c1 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -133,7 +133,6 @@ const routes: Routes = [ imports: [ RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, - relativeLinkResolution: 'legacy', }), ], exports: [RouterModule], diff --git a/src/test.ts b/src/test.ts index 94a58e2bf..1886cdad9 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,20 +1,17 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files import 'zone.js/testing'; -import {getTestBed} from '@angular/core/testing'; -import {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '@angular/platform-browser-dynamic/testing'; - -declare const require: any; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting, +} from '@angular/platform-browser-dynamic/testing'; // First, initialize the Angular testing environment. getTestBed().initTestEnvironment( BrowserDynamicTestingModule, - platformBrowserDynamicTesting(), { - teardown: { destroyAfterEach: false } -} + platformBrowserDynamicTesting(), + { + teardown: { destroyAfterEach: false }, + } ); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// const context = require.context('./', true, /brew\.page\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/tsconfig.json b/tsconfig.json index 9cb0becb7..a6d19b780 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,11 +7,10 @@ "declaration": false, "module": "es2020", "moduleResolution": "node", - //https://stackoverflow.com/a/59424454/3747399 "emitDecoratorMetadata": false, "experimentalDecorators": true, "importHelpers": true, - "target": "es2020", + "target": "ES2022", "typeRoots": [ "node_modules/@types" ], @@ -20,6 +19,7 @@ "dom" ], "esModuleInterop": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "useDefineForClassFields": false } } From 530fdb3f12ce9e029448e5bd563df81dfbb6b28e Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 28 Jan 2023 20:49:29 +0100 Subject: [PATCH 027/129] #480 - Show display leftover weight --- src/assets/i18n/de.json | 2 +- src/assets/i18n/en.json | 4 ++-- src/assets/i18n/es.json | 2 +- src/assets/i18n/tr.json | 2 +- src/assets/i18n/zh.json | 2 +- .../bean-information/bean-information.component.html | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 6d977d271..9ce7e6db6 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -338,7 +338,7 @@ "TOAST_MILL_ARCHIVED_SUCCESSFULLY": "MÃŧhle archiviert", "TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY": "BrÃŧhmethode archiviert", "TOAST_WATER_ARCHIVED_SUCCESSFULLY": "Wasser archiviert", - "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g von {{gramTotal}}g", + "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g von {{gramTotal}}g ({{leftOver}}g)", "PREPARATION_TYPE_CUSTOM_PREPARATION": "Eigene BrÃŧhmethodik", "PREPARATION_TYPE_AEROPRESS": "Aeropress", "PREPARATION_TYPE_V60": "V60", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 1fc759ac8..c3584eab8 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -338,7 +338,7 @@ "TOAST_MILL_ARCHIVED_SUCCESSFULLY": "Grinder has been archived", "TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY": "Preparation method has been archived", "TOAST_WATER_ARCHIVED_SUCCESSFULLY": "Water has been archived", - "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g", + "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g ({{leftOver}}g)", "PREPARATION_TYPE_CUSTOM_PREPARATION": "Custom preparation method", "PREPARATION_TYPE_AEROPRESS": "Aeropress", "PREPARATION_TYPE_V60": "V60", @@ -1313,7 +1313,7 @@ "DOWNLOAD_JSON": "Download JSON", "NAV_BEAN_PARAMS": "Bean parameter", "BEAN_DATA_ROAST_NAME_TYPE": "Roasting type", - "ENABLE_BEAN_SORT_INFORMATION": "Enable sort information", + "ENABLE_BEAN_SORT_INFORMATION": "Enable variety information", "BEAN_SORT_MIX": "Bean mix", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Mark parameters to be shown when editing bean information.", "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Decide which parameter of your bean, should be displayed on the list view tiles", diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index ed8da1ad2..36f32a262 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -338,7 +338,7 @@ "TOAST_MILL_ARCHIVED_SUCCESSFULLY": "Molino archivado", "TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY": "MÊtodo archivado", "TOAST_WATER_ARCHIVED_SUCCESSFULLY": "Se ha archivado el agua", - "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g de {{gramTotal}}g", + "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g de {{gramTotal}}g ({{leftOver}}g)", "PREPARATION_TYPE_CUSTOM_PREPARATION": "MÊtodo de preparaciÃŗn personalizado", "PREPARATION_TYPE_AEROPRESS": "Aeropress", "PREPARATION_TYPE_V60": "V60", diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index 1decad91d..b71f7b1e7 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -338,7 +338,7 @@ "TOAST_MILL_ARCHIVED_SUCCESSFULLY": "ÖğÃŧtÃŧcÃŧ arşivlendi", "TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY": "HazÄąrlama metodu arşivlendi", "TOAST_WATER_ARCHIVED_SUCCESSFULLY": "Su arşivlendi", - "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g", + "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g ({{leftOver}}g)", "PREPARATION_TYPE_CUSTOM_PREPARATION": "Özel hazÄąrlama yÃļntemi", "PREPARATION_TYPE_AEROPRESS": "Aeropress", "PREPARATION_TYPE_V60": "V60", diff --git a/src/assets/i18n/zh.json b/src/assets/i18n/zh.json index 5a3c21c58..d0513f606 100644 --- a/src/assets/i18n/zh.json +++ b/src/assets/i18n/zh.json @@ -338,7 +338,7 @@ "TOAST_MILL_ARCHIVED_SUCCESSFULLY": "į ”įŖ¨æœēåˇ˛įģåŊ’æĄŖ", "TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY": "å†˛æŗĄå™¨å…ˇåˇ˛įģåŊ’æĄŖ", "TOAST_WATER_ARCHIVED_SUCCESSFULLY": "æ°´č´¨åˇ˛čĸĢįŧ–čž‘", - "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g", + "BEAN_WEIGHT_ALREADY_USED": "{{gramUsed}}g of {{gramTotal}}g ({{leftOver}}g)", "PREPARATION_TYPE_CUSTOM_PREPARATION": "č‡ĒåŽšäš‰å†˛æŗĄå™¨å…ˇ", "PREPARATION_TYPE_AEROPRESS": "įˆąäšåŽ‹", "PREPARATION_TYPE_V60": "V60æģ¤æ¯", diff --git a/src/components/bean-information/bean-information.component.html b/src/components/bean-information/bean-information.component.html index 726474590..ea94c6490 100644 --- a/src/components/bean-information/bean-information.component.html +++ b/src/components/bean-information/bean-information.component.html @@ -101,7 +101,7 @@ {{"BEANS_AMOUNT_USED" | translate}}
{{daysOld()}} + [innerHTML]="'BEAN_WEIGHT_ALREADY_USED' | translate: {gramUsed: getUsedWeightCount() | number : '.0-2', gramTotal: bean?.weight,leftOver: bean?.weight - getUsedWeightCount()}"> {{'BREW_DATA_FLAVOR' | translate}}
From 95bd31a81c0aeb5f325834eb95fef92a8c53590e Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 5 Feb 2023 21:32:06 +0100 Subject: [PATCH 028/129] #480 - fixing bean amout usage. Fixing typos, --- package.json | 2 +- src/app/app.scss | 4 +++- .../bean-modal-select/bean-modal-select.component.html | 8 ++++---- src/assets/i18n/de.json | 10 +++++----- .../green-bean-information.component.html | 2 +- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c5578b03b..b2f3ff570 100644 --- a/package.json +++ b/package.json @@ -249,4 +249,4 @@ "*.css": "stylelint --fix", "*.{ts,js,css,md}": "prettier --write" } -} \ No newline at end of file +} diff --git a/src/app/app.scss b/src/app/app.scss index 7e9d84590..2c63fbc53 100644 --- a/src/app/app.scss +++ b/src/app/app.scss @@ -358,7 +358,9 @@ ion-menu:host .menu-inner { .ion-no-padding-right { padding-right:0px; } - +.ion-no-padding-left { + padding-left:0px; +} ion-range { --bar-background: #CCCCCC; --bar-background-active: var(--ion-color-accent-secondary); diff --git a/src/app/beans/bean-modal-select/bean-modal-select.component.html b/src/app/beans/bean-modal-select/bean-modal-select.component.html index e5cee5ef2..9da5232ba 100644 --- a/src/app/beans/bean-modal-select/bean-modal-select.component.html +++ b/src/app/beans/bean-modal-select/bean-modal-select.component.html @@ -71,7 +71,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -131,7 +131,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -198,7 +198,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -258,7 +258,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 9ce7e6db6..3ea955e5d 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -268,7 +268,7 @@ "ADD_MILL": "MÃŧhle hinzufÃŧgen", "EDIT_MILL": "MÃŧhle editieren", "USE_FILTER": "Filter anwenden", - "RESET_FILTER": "Filter zurÃŧcksetzten", + "RESET_FILTER": "Filter zurÃŧcksetzen", "COFFEE_GRAMS_GRINDED": "Gramm gemahlen", "BEANS_USED": "Bohnen verwendet", "BREW_HEADER_BEFORE_BREW": "Vor der Zubereitung", @@ -790,7 +790,7 @@ "Definiere wieviele Millisekunden zwischen den Bluetooth befehlen gewartet werden soll", "", "BrÃŧhungen", - "ZurÃŧcksetzten der Bezugszeit-Daten", + "ZurÃŧcksetzen der Bezugszeit-Daten", "Bei verbundener Bluetooth-Waage, wird nun das letzte Bezugsgewicht in der Kachel angezeigt", "GrÃļßere Buttons bei der BrÃŧhmaximierung", "Herunterladen der BrÃŧhdaten als Excel oder JSON", @@ -981,7 +981,7 @@ "COULD_NOT_ACCESS_FILE": "Auf die ausgewählte Datei konnte nicht Zugegriffen werden", "WRONG_FILE_FORMAT": "Nicht unterstÃŧtztes Dateiformat ausgewählt", "SCAN_BEAN": "Packung einlesen", - "CLEAR": "ZurÃŧcksetzten", + "CLEAR": "ZurÃŧcksetzen", "BEAN_LOOKS_LIKE_CONSUMED": "Bohnenpackung scheint aufgebraucht zu sein, mÃļchtest du diese nun archivieren?", "CUPPING_1": "Fruchtnoten", "CUPPING_2": "Zitrone", @@ -1269,7 +1269,7 @@ "POPOVER_QR_CODE_REFRESH": "Daten neu laden", "BREW_FLOW_WEIGHT_REALTIME": "Fluss (Echtzeit)", "SMART_SCALE_STOP_TIMER_ON_BREW": "Waagenzeit bei neuer BrÃŧhung anhalten", - "SMART_SCALE_RESET_TIMER_ON_BREW": "Waagenzeit bei neuer BrÃŧhung zurÃŧcksetzten", + "SMART_SCALE_RESET_TIMER_ON_BREW": "Waagenzeit bei neuer BrÃŧhung zurÃŧcksetzen", "BREW_PRESSURE_FLOW": "Druck", "PAGE_SETTINGS_TAB_BLUETOOTH_SCALE_SHOW_GRAPHS_FILTER": "Anzeige der Graphen fÃŧr FilterbrÃŧhungen", "PAGE_SETTINGS_TAB_BLUETOOTH_SCALE_SHOW_GRAPHS_ESPRESSO": "Anzeige der Graphen fÃŧr EspressobrÃŧhungen", @@ -1317,6 +1317,6 @@ "BEAN_SORT_MIX": "Bohnenmischung", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter beim Erfassen einer Bohne angezeigt werden sollen.", "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen", - "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzten!", + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzen!", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck" } diff --git a/src/components/green-bean-information/green-bean-information.component.html b/src/components/green-bean-information/green-bean-information.component.html index 9609edd98..6189fc29f 100644 --- a/src/components/green-bean-information/green-bean-information.component.html +++ b/src/components/green-bean-information/green-bean-information.component.html @@ -50,7 +50,7 @@ {{"BEANS_AMOUNT_USED" | translate}}
- {{daysOld()}} + {{daysOld()}}
From 1ad66bda8346764db00a6a676b3e8489c1f2aab6 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 6 Feb 2023 19:58:26 +0100 Subject: [PATCH 029/129] #480 - fixing digits --- .../bean-modal-select/bean-modal-select.component.html | 8 ++++---- .../bean-information/bean-information.component.html | 2 +- .../green-bean-information.component.html | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/app/beans/bean-modal-select/bean-modal-select.component.html b/src/app/beans/bean-modal-select/bean-modal-select.component.html index 9da5232ba..f70236de7 100644 --- a/src/app/beans/bean-modal-select/bean-modal-select.component.html +++ b/src/app/beans/bean-modal-select/bean-modal-select.component.html @@ -71,7 +71,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -131,7 +131,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -198,7 +198,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

@@ -258,7 +258,7 @@
{{bean.name}}

{{"BEAN_DATA_ROASTER" | translate}}: {{bean.roaster}}

{{"BEAN_DATA_ROASTING_TYPE" | translate}}: {{"BEAN_ROASTING_TYPE_" + bean.bean_roasting_type | translate}}

- {{"BEANS_AMOUNT_USED" | translate}}:  + {{"BEANS_AMOUNT_USED" | translate}}: 

diff --git a/src/components/bean-information/bean-information.component.html b/src/components/bean-information/bean-information.component.html index ea94c6490..04c071acc 100644 --- a/src/components/bean-information/bean-information.component.html +++ b/src/components/bean-information/bean-information.component.html @@ -101,7 +101,7 @@ {{"BEANS_AMOUNT_USED" | translate}}
+ [innerHTML]="'BEAN_WEIGHT_ALREADY_USED' | translate: {gramUsed: getUsedWeightCount() | number : '.0-2', gramTotal: bean?.weight,leftOver: bean?.weight - getUsedWeightCount() | number : '.0-2'}"> {{'BREW_DATA_FLAVOR' | translate}}
diff --git a/src/components/green-bean-information/green-bean-information.component.html b/src/components/green-bean-information/green-bean-information.component.html index 6189fc29f..9c8c4546c 100644 --- a/src/components/green-bean-information/green-bean-information.component.html +++ b/src/components/green-bean-information/green-bean-information.component.html @@ -50,7 +50,7 @@
{{"BEANS_AMOUNT_USED" | translate}}
- {{daysOld()}} + {{daysOld()}}
From 5138de592d9ad5ad22ec525f8809bd6a5e6c2e96 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 6 Feb 2023 21:25:29 +0100 Subject: [PATCH 030/129] changing graph --- .../brew/brew-flow/brew-flow.component.html | 70 ++++++++++++++----- .../brew/brew-flow/brew-flow.component.scss | 10 ++- src/app/brew/brew-flow/brew-flow.component.ts | 4 ++ src/assets/i18n/de.json | 32 +++++++++ .../brew-brewing/brew-brewing.component.ts | 6 +- 5 files changed, 99 insertions(+), 23 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 1b642a1b9..d9c20a5c8 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -2,7 +2,7 @@ - +
{{'BREW_FLOW_WEIGHT' | translate}} @@ -17,8 +17,8 @@ class="pressure">{{'BREW_PRESSURE_FLOW' | translate}}
- - + + @@ -30,23 +30,59 @@
-
- ?g -
-
- ?g
-
- ?
-
- {{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} - {{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time, brew.brew_time_milliseconds, 'mm:ss.SSS')}} -
+ + + + + +
? g
+
+ + + +
+
+ + + +
? g/s
+
+ + + +
+
+ + + +
?
+
+ + + +
+
+ + + + {{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} + {{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time, brew.brew_time_milliseconds, 'mm:ss.SSS')}} + + + + + + + +
+
+
-
+
diff --git a/src/app/brew/brew-flow/brew-flow.component.scss b/src/app/brew/brew-flow/brew-flow.component.scss index 0dc5853ec..23e2e6e53 100644 --- a/src/app/brew/brew-flow/brew-flow.component.scss +++ b/src/app/brew/brew-flow/brew-flow.component.scss @@ -11,16 +11,17 @@ box-shadow:none; } #brewFlowContainer { - height:100%; + } #informationContainer { display:flex; font-size:24px; - margin-left:11px; + margin-left:5px; overflow:scroll; ion-icon { margin-right:2px; margin-left:5px; + margin-top:5px; } span { vertical-align:top; @@ -52,7 +53,7 @@ ion-card-header { color: #FFFFFF; background-color: var(--ion-color-accent) !important; - font-size: 16px; + font-size: 24px; padding: 4px; display: flex; justify-content: space-evenly; @@ -62,6 +63,9 @@ ion-card-content { color: #000000; padding: 0px 2px; + ion-icon{ + font-size:24px; + } } } diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index b9b7c3c4d..58c932708 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -61,6 +61,8 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { @ViewChild('pressureDetail', { read: ElementRef }) public pressureDetail: ElementRef; private disableHardwareBack; + + protected heightInformationBlock: number = 50; constructor( private readonly modalController: ModalController, private readonly screenOrientation: ScreenOrientation, @@ -150,6 +152,8 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { 'informationContainer' ).offsetHeight; + this.heightInformationBlock = informationContainerHeight; + this.brewComponent.lastChartLayout.height = flowHeight - informationContainerHeight; diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 3ea955e5d..cc4d8cd67 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1317,6 +1317,38 @@ "BEAN_SORT_MIX": "Bohnenmischung", "PAGE_MANAGE_BEAN_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter beim Erfassen einer Bohne angezeigt werden sollen.", "PAGE_BEAN_LIST_VIEW_CUSTOM_PARAMETERS_DESCRIPTION": "Entscheide welche Parameter der Bohne auf den Übersichtskacheln angezeigt werden sollen", + "BEAN_DATA_NAME_TOOLTIP": "Der Name der gekauften Kaffeepackung", + "BEAN_DATA_ROASTER_TOOLTIP": "Wer hat den Kaffee gerÃļstet?", + "BEAN_DATA_BUY_DATE_TOOLTIP": "Wann wurde die Packung gekauft", + "BEAN_DATA_ROASTING_DATE_TOOLTIP": "Wann wurde die Bohne gerÃļstet", + "BEAN_DATA_ROASTING_TYPE_TOOLTIP": "WofÃŧr wurde die Bohne gerÃļstet - Filter z.B.", + "BEAN_DATA_ROAST_NAME_TOOLTIP": "Welche Tiefe der RÃļstung haben die Bohnen Kaffee", + "BEAN_DATA_ROAST_NAME_TYPE_TOOLTIP": "Welcher RÃļsttyp (Cinnamon, New England...)", + "BREW_DATA_RATING_TOOLTIP": "Bewertung", + "BEAN_SORT_MIX_TOOLTIP": "Sind die Bohnen gemischt?", + "BEAN_DATA_WEIGHT_TOOLTIP": "Wieviel wiegen die Bohnen", + "BEAN_DATA_COST_TOOLTIP": "Wieviel haben die Bohnen gekostet", + "BEAN_DATA_AROMATICS_TOOLTIP": "Welche Aromen haben die Bohnen?", + "BEAN_DATA_CUPPING_POINTS_TOOLTIP": "Wieviel Cupping Points hat die Bohne", + "BEAN_DATA_DECAFFEINATED_TOOLTIP": "Ist die Bohne entkoffeiniert?", + "BEAN_DATA_URL_TOOLTIP": "Webseiten url zum Shop oder ähnliches", + "BEAN_DATA_EAN_TOOLTIP": "Die EAN/Artikel Nummer", + "NOTES_TOOLTIP": "Notizen", + "BREW_DATA_ATTACHMENTS_TOOLTIP": "Fotos hinzufÃŧgen?", + "ENABLE_BEAN_SORT_INFORMATION_TOOLTIP": "Tiefere Informationen zur Bohne, woher kommt sie, wann wurde sie geerntet usw.", + "BEAN_DATA_COUNTRY_TOOLTIP": "Herkunftsland der Bohne", + "BEAN_DATA_REGION_TOOLTIP": "Region der Bohne", + "BEAN_DATA_FARM_TOOLTIP": "Welche Farm hat die Bohne angebaut", + "BEAN_DATA_FARMER_TOOLTIP": "Welcher Farmer hat die Bohne angebaut", + "BEAN_DATA_ELEVATION_TOOLTIP": "In welcher AnbauhÃļhe wurde die Bohne angebaut", + "BEAN_DATA_PROCESSING_TOOLTIP": "Wie wurde die Bohne aufbereitet", + "BEAN_DATA_HARVEST_TIME_TOOLTIP": "Wann wurde die Bohne geerntet (Monat, Jahr?)", + "BEAN_DATA_PERCENTAGE_TOOLTIP": "Prozentualer Anteil der Bohne in der TÃŧte", + "BEAN_DATA_CERTIFICATION_TOOLTIP": "Welches Zertifikat hat die Bohne (Fair Trade z.B.)", + "BEAN_DATA_PURCHASING_PRICE_TOOLTIP": "Der Einkaufspreis der Rohbohne", + "BEAN_DATA_FOB_PRICE_TOOLTIP": "Der FOB Preis der Rohbohne", + "BEAN_PARAMETER_CUSTOMIZE_TITLE": "Individualisiere die Bohneninformationen, welche verwendet werden soll", + "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "Viele Informationen zur Bohne kÃļnnen eingetragen und verwendet werden. Individualisiere die Bohneninformationen, welche ausgefÃŧllt und verwendet werden sollen, sowie welche in der Listenansicht angezeigt werden sollen", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzen!", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck" } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index a9b3d1c58..559089fdc 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1452,7 +1452,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { /**Timeout is needed, because on mobile devices, the trace and the relayout bothers each other, which results into not refreshing the graph*/ let newRenderingInstance = 0; if (this.maximizeFlowGraphIsShown === true) { - newRenderingInstance = Math.floor(this.timer.getSeconds() / 40); + newRenderingInstance = Math.floor(this.timer.getSeconds() / 60); } else { newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); } @@ -1461,8 +1461,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { newRenderingInstance > this.lastChartRenderingInstance || this.lastChartRenderingInstance === -1 ) { - let subtractTime: number = this.maximizeFlowGraphIsShown ? 20 : 10; - const addTime: number = this.maximizeFlowGraphIsShown ? 50 : 30; + let subtractTime: number = this.maximizeFlowGraphIsShown ? 40 : 10; + const addTime: number = this.maximizeFlowGraphIsShown ? 70 : 30; if (this.data.brew_time <= 10) { subtractTime = 0; } From 9072df0cc016525ab94a31ff21ffd0d698d01ebe Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 12 Feb 2023 20:13:38 +0100 Subject: [PATCH 031/129] #487 - Make beans page as startup view --- src/app/app.component.ts | 3 ++ .../brew/brew-flow/brew-flow.component.html | 4 +-- src/app/settings/settings.page.html | 1 + .../brew-brewing/brew-brewing.component.ts | 30 ++++++++++++++----- src/enums/settings/startupView.ts | 1 + 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index c71eb4201..f2dd0de55 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -581,6 +581,9 @@ export class AppComponent implements AfterViewInit { await this.__trackNewBrew(); this.router.navigate(['/home/brews'], { replaceUrl: true }); break; + case STARTUP_VIEW_ENUM.BEANS_PAGE: + this.router.navigate(['/home/beans'], { replaceUrl: true }); + break; } } diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index d9c20a5c8..8d7b52f98 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -45,7 +45,7 @@ -
? g/s
+
? (?) g/s
@@ -62,7 +62,7 @@
- + {{"NAV_HOME" | translate}} {{"NAV_BREWS" | translate}} {{"ADD_BREW" | translate}} + {{"NAV_BEANS" | translate}} diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 559089fdc..de3e2103e 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -897,6 +897,21 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.initializeFlowChart(false); + // Give the buttons a bit of time, 100ms won't be an issue for user flow + await new Promise((resolve) => { + setTimeout(async () => { + await this.uiAlert.hideLoadingSpinner(); + resolve(undefined); + }, 200); + }); + } else if ( + this.flow_profile_raw?.weight.length > 0 || + this.flow_profile_raw?.pressureFlow.length > 0 + ) { + await this.uiAlert.showLoadingSpinner(); + //The pressure or weight went down and we need to reset the graph now still + this.flow_profile_raw = new BrewFlow(); + this.initializeFlowChart(false); // Give the buttons a bit of time, 100ms won't be an issue for user flow await new Promise((resolve) => { setTimeout(async () => { @@ -1675,13 +1690,14 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } //chartData.push(this.weightTraceNew); - - Plotly.newPlot( - 'flowProfileChart', - chartData, - this.lastChartLayout, - this.getChartConfig() - ); + try { + Plotly.newPlot( + 'flowProfileChart', + chartData, + this.lastChartLayout, + this.getChartConfig() + ); + } catch (ex) {} }, timeout); } diff --git a/src/enums/settings/startupView.ts b/src/enums/settings/startupView.ts index a996af093..0d7fab904 100755 --- a/src/enums/settings/startupView.ts +++ b/src/enums/settings/startupView.ts @@ -2,4 +2,5 @@ export enum STARTUP_VIEW_ENUM { HOME_PAGE = '0', BREW_PAGE = '1', ADD_BREW = '2', + BEANS_PAGE = '3', } From 89782086bef4df981aa8a0b0982c2c886c9825df Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 13 Feb 2023 21:12:12 +0100 Subject: [PATCH 032/129] Fixing rescaling of the graph --- src/app/brew/brew-flow/brew-flow.component.html | 2 +- .../brews/brew-brewing/brew-brewing.component.ts | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 8d7b52f98..9422058f9 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -82,7 +82,7 @@
-
+
diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index de3e2103e..42684ac7f 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -333,11 +333,13 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { @HostListener('window:orientationchange', ['$event']) public onOrientationChange() { if (this.smartScaleConnected() || this.pressureDeviceConnected()) { - this.lastChartLayout.height = 150; - this.lastChartLayout.width = document.getElementById( - 'canvasContainerBrew' - ).offsetWidth; - this.updateChart(); + setTimeout(() => { + this.lastChartLayout.height = 150; + this.lastChartLayout.width = document.getElementById( + 'canvasContainerBrew' + ).offsetWidth; + Plotly.relayout('flowProfileChart', this.lastChartLayout); + }, 50); } } From f99a2d58cddc9a970be94c87cd57b1c5b322032b Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 13 Feb 2023 21:23:48 +0100 Subject: [PATCH 033/129] #483 - Make brews filterable for graphs --- src/app/brew/brew-filter/brew-filter.component.html | 4 ++++ src/app/brew/brew.page.ts | 6 ++++++ src/assets/i18n/de.json | 3 ++- src/assets/i18n/en.json | 3 ++- src/classes/settings/settings.ts | 1 + src/interfaces/brew/iBrewPageFilter.ts | 5 +++-- src/services/uiUpdate.ts | 2 ++ 7 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/app/brew/brew-filter/brew-filter.component.html b/src/app/brew/brew-filter/brew-filter.component.html index e619fa59f..ba32a8718 100644 --- a/src/app/brew/brew-filter/brew-filter.component.html +++ b/src/app/brew/brew-filter/brew-filter.component.html @@ -43,6 +43,10 @@ {{"BREW_FILTER_JUST_FAVOURITE" | translate }}
+ + {{"BREW_FILTER_JUST_CHART_DATA" | translate }} + + {{"BREW_DATA_RATING" | translate }}  0 || checkingFilter.mill.length > 0 || checkingFilter.favourite || + checkingFilter.chart_data || didRatingFilterChanged || checkingFilterText !== '' ); @@ -292,6 +293,11 @@ export class BrewPage implements OnInit { if (filter.favourite) { brewsFilters = brewsFilters.filter((e) => e.favourite === true); } + if (filter.chart_data) { + brewsFilters = brewsFilters.filter( + (e) => e.flow_profile !== '' && e.flow_profile !== undefined + ); + } if (filter.rating) { brewsFilters = brewsFilters.filter( (e: Brew) => diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index cc4d8cd67..30a1224b6 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1350,5 +1350,6 @@ "BEAN_PARAMETER_CUSTOMIZE_TITLE": "Individualisiere die Bohneninformationen, welche verwendet werden soll", "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "Viele Informationen zur Bohne kÃļnnen eingetragen und verwendet werden. Individualisiere die Bohneninformationen, welche ausgefÃŧllt und verwendet werden sollen, sowie welche in der Listenansicht angezeigt werden sollen", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzen!", - "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck" + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck", + "BREW_FILTER_JUST_CHART_DATA": "Nur Graphen" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index c3584eab8..84b5a4f18 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1350,5 +1350,6 @@ "BEAN_PARAMETER_CUSTOMIZE_TITLE": "Customize your bean information which you want to use", "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "A lot of bean information can be entered or used. Choose your own parameters you want to fill in, and also which shall be displayed", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Reset timer!", - "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Because you've connected a bluetooth device, you need to reset your timer first before you can start" + "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Because you've connected a bluetooth device, you need to reset your timer first before you can start", + "BREW_FILTER_JUST_CHART_DATA": "Just graphs" } diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index 51aadcb66..fc43bfafc 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -135,6 +135,7 @@ export class Settings implements ISettings { method_of_preparation: [], method_of_preparation_tools: [], favourite: false, + chart_data: false, rating: { upper: upperRating, lower: -1, diff --git a/src/interfaces/brew/iBrewPageFilter.ts b/src/interfaces/brew/iBrewPageFilter.ts index 368841748..244cce0e8 100755 --- a/src/interfaces/brew/iBrewPageFilter.ts +++ b/src/interfaces/brew/iBrewPageFilter.ts @@ -5,8 +5,9 @@ export interface IBrewPageFilter { method_of_preparation: Array; method_of_preparation_tools: Array; favourite: boolean; + chart_data: boolean; rating: { - upper: number, - lower: number, + upper: number; + lower: number; }; } diff --git a/src/services/uiUpdate.ts b/src/services/uiUpdate.ts index 8f04314a0..1df5b12f7 100755 --- a/src/services/uiUpdate.ts +++ b/src/services/uiUpdate.ts @@ -489,6 +489,8 @@ export class UIUpdate { const settings_v9: any = this.uiSettingsStorage.getSettings(); settings_v9.bean_manage_parameters.activateAll(); settings_v9.bean_visible_list_view_parameters.activateAll(); + // Reset filter, because we got a new sort on beans + settings_v9.resetFilter(); await this.uiSettingsStorage.saveSettings(settings_v9); } break; From 70fa65c01ae854013a07a58d135c08bee18368e5 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Mon, 20 Feb 2023 20:57:50 +0100 Subject: [PATCH 034/129] #492 - Fixing wrong calculation #493 - Adding calculator to the brew --- .../brew/brew-flow/brew-flow.component.html | 2 +- src/app/brew/brew-flow/brew-flow.component.ts | 11 +++-- .../brew-ratio-calculator.component.html | 5 +++ .../brew-ratio-calculator.component.scss | 6 +++ .../brew-ratio-calculator.component.spec.ts | 24 +++++++++++ .../brew-ratio-calculator.component.ts | 39 ++++++++++++++++++ src/app/dashboard/dashboard.page.ts | 6 ++- .../helper-brew-ratio.component.html | 35 +--------------- .../helper-brew-ratio.component.scss | 22 ---------- .../helper-brew-ratio.component.ts | 30 ++------------ src/app/shared/shared.module.ts | 6 +++ .../beanconqueror-brew-ratio.svg | 1 + src/assets/i18n/de.json | 1 + src/assets/i18n/en.json | 3 +- .../brew-ratio-card.component.html | 35 ++++++++++++++++ .../brew-ratio-card.component.scss | 25 ++++++++++++ .../brew-ratio-card.component.spec.ts | 24 +++++++++++ .../brew-ratio-card.component.ts | 40 +++++++++++++++++++ .../brew-brewing/brew-brewing.component.html | 6 ++- .../brew-brewing/brew-brewing.component.ts | 26 ++++++++++++ src/data/tracking/brewTracking.ts | 20 +++++----- 21 files changed, 266 insertions(+), 101 deletions(-) create mode 100644 src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.html create mode 100644 src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.scss create mode 100644 src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.spec.ts create mode 100644 src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.ts create mode 100644 src/assets/custom-ion-icons/beanconqueror-brew-ratio.svg create mode 100644 src/components/brew-ratio-card/brew-ratio-card.component.html create mode 100644 src/components/brew-ratio-card/brew-ratio-card.component.scss create mode 100644 src/components/brew-ratio-card/brew-ratio-card.component.spec.ts create mode 100644 src/components/brew-ratio-card/brew-ratio-card.component.ts diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 9422058f9..e7c35bbea 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -29,7 +29,7 @@
-
+
diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index 58c932708..ffcae44bd 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -148,9 +148,14 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { public onOrientationChange() { setTimeout(() => { const flowHeight = document.getElementById('flowCard').offsetHeight; - const informationContainerHeight = document.getElementById( - 'informationContainer' - ).offsetHeight; + let informationContainerHeight = 0; + try { + informationContainerHeight = document.getElementById( + 'informationContainer' + ).offsetHeight; + } catch (ex) { + informationContainerHeight = 0; + } this.heightInformationBlock = informationContainerHeight; diff --git a/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.html b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.html new file mode 100644 index 000000000..bd1622ccf --- /dev/null +++ b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.html @@ -0,0 +1,5 @@ + + + + + diff --git a/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.scss b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.scss new file mode 100644 index 000000000..bf0adf9f7 --- /dev/null +++ b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.scss @@ -0,0 +1,6 @@ +:host { + ion-header { + height:40px; + background-color: #ffffff; + } +} diff --git a/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.spec.ts b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.spec.ts new file mode 100644 index 000000000..a02a56bf6 --- /dev/null +++ b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BrewRatioCalculatorComponent } from './brew-ratio-calculator.component'; + +describe('BrewRatioCalculatorComponent', () => { + let component: BrewRatioCalculatorComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BrewRatioCalculatorComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(BrewRatioCalculatorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.ts b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.ts new file mode 100644 index 000000000..3fe6d72de --- /dev/null +++ b/src/app/brew/brew-ratio-calculator/brew-ratio-calculator.component.ts @@ -0,0 +1,39 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { UIAnalytics } from '../../../services/uiAnalytics'; +import BREW_TRACKING from '../../../data/tracking/brewTracking'; +import { Brew } from '../../../classes/brew/brew'; + +@Component({ + selector: 'app-brew-ratio-calculator', + templateUrl: './brew-ratio-calculator.component.html', + styleUrls: ['./brew-ratio-calculator.component.scss'], +}) +export class BrewRatioCalculatorComponent implements OnInit { + public static COMPONENT_ID = 'brew-ratio-calculator'; + + @Input('grindWeight') public grindWeight: number = 0; + @Input('waterQuantity') public waterQuantity: number = 0; + constructor( + private readonly modalController: ModalController, + private readonly uiAnalytics: UIAnalytics + ) {} + + public ionViewWillEnter(): void { + this.uiAnalytics.trackEvent( + BREW_TRACKING.TITLE, + BREW_TRACKING.ACTIONS.RATIO_CALCULATION + ); + } + + public dismiss(): void { + this.modalController.dismiss( + { + dismissed: true, + }, + undefined, + BrewRatioCalculatorComponent.COMPONENT_ID + ); + } + public ngOnInit() {} +} diff --git a/src/app/dashboard/dashboard.page.ts b/src/app/dashboard/dashboard.page.ts index 88e4e0ce8..82d876e27 100644 --- a/src/app/dashboard/dashboard.page.ts +++ b/src/app/dashboard/dashboard.page.ts @@ -120,7 +120,11 @@ export class DashboardPage implements OnInit { _bean.config.uuid ); for (const brew of relatedBrews) { - usedWeightCount += brew.grind_weight; + if (brew?.bean_weight_in > 0) { + usedWeightCount += brew.bean_weight_in; + } else { + usedWeightCount += brew.grind_weight; + } } return usedWeightCount; } diff --git a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.html b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.html index 32ccfea39..859df6512 100644 --- a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.html +++ b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.html @@ -11,40 +11,7 @@ - - - - - - - {{getBrewRatio()}} - - - {{"PAGE_HELPER_BREW_RATIO_CALCULATED" | translate}} - - - - - - - - - - - {{"PAGE_HELPER_BREW_RATIO_GROUND_COFFEE" | translate}} - - - - - {{"PAGE_HELPER_BREW_RATIO_WATER" | translate}} - - - - - - + diff --git a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.scss b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.scss index 4bebfc7f5..6b67c96ca 100644 --- a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.scss +++ b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.scss @@ -1,27 +1,5 @@ :host { - .card-background { - background-color: var(--ion-color-accent) !important; - color: #ffffff; - } - - .small-card ion-card-content { - padding-top: 16px !important; - } - - ion-card { - background: #FFFFFF; - ion-item { - --background: white; - - ion-label { - font-family: 'Baloo', sans-serif; - font-size: 14px; - } - } - - - } ion-content { display: flex; flex-direction: column; diff --git a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.ts b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.ts index 66e30090e..cb68d6100 100644 --- a/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.ts +++ b/src/app/helper/helper-brew-ratio/helper-brew-ratio.component.ts @@ -1,4 +1,4 @@ -import {Component, OnInit} from '@angular/core'; +import { Component, OnInit } from '@angular/core'; @Component({ selector: 'helper-brew-ratio', @@ -6,31 +6,7 @@ import {Component, OnInit} from '@angular/core'; styleUrls: ['./helper-brew-ratio.component.scss'], }) export class HelperBrewRatioComponent implements OnInit { + constructor() {} - public brewRatio: any = { - water: 0, - ground_coffee: 0 - }; - - constructor() { - } - - public ngOnInit() { - } - - - public getBrewRatio() { - const grindWeight: number = this.brewRatio.ground_coffee; - const brewQuantity: number = this.brewRatio.water; - let ratio: string = '1 / '; - - if (brewQuantity > 0 && grindWeight > 0) { - ratio += (brewQuantity / grindWeight).toFixed(2); - } else { - ratio += '?'; - } - - return ratio; - } - + public ngOnInit() {} } diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index f9243129f..36a96c8a1 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -167,6 +167,8 @@ import { BeanAssociatedBrewsComponent } from '../beans/bean-associated-brews/bea import { BeanParameterPage } from '../bean-parameter/bean-parameter.page'; import { BeanListViewParameterComponent } from '../bean-parameter/bean-list-view-parameter/bean-list-view-parameter.component'; import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-parameter/bean-manage-parameter.component'; +import { BrewRatioCardComponent } from '../../components/brew-ratio-card/brew-ratio-card.component'; +import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew-ratio-calculator.component'; @NgModule({ declarations: [ @@ -236,6 +238,7 @@ import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-para MillAddComponent, BrewAddComponent, BrewBrixCalculatorComponent, + BrewRatioCalculatorComponent, BrewChoosePreparationToBrewComponent, BrewFlavorPickerComponent, BrewBeverageQuantityCalculatorComponent, @@ -308,6 +311,7 @@ import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-para RoastingMachinePage, RoastingMachinePopoverActionsComponent, WaterAddComponent, + BrewRatioCardComponent, ], imports: [ CommonModule, @@ -426,6 +430,7 @@ import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-para MillAddComponent, BrewAddComponent, BrewBrixCalculatorComponent, + BrewRatioCalculatorComponent, BrewChoosePreparationToBrewComponent, BrewFlavorPickerComponent, BrewBeverageQuantityCalculatorComponent, @@ -497,6 +502,7 @@ import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-para RoastingMachinePage, RoastingMachinePopoverActionsComponent, WaterAddComponent, + BrewRatioCardComponent, ], schemas: [CUSTOM_ELEMENTS_SCHEMA], }) diff --git a/src/assets/custom-ion-icons/beanconqueror-brew-ratio.svg b/src/assets/custom-ion-icons/beanconqueror-brew-ratio.svg new file mode 100644 index 000000000..ea3b4310b --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-brew-ratio.svg @@ -0,0 +1 @@ + diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 30a1224b6..afd07e776 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1342,6 +1342,7 @@ "BEAN_DATA_FARMER_TOOLTIP": "Welcher Farmer hat die Bohne angebaut", "BEAN_DATA_ELEVATION_TOOLTIP": "In welcher AnbauhÃļhe wurde die Bohne angebaut", "BEAN_DATA_PROCESSING_TOOLTIP": "Wie wurde die Bohne aufbereitet", + "BEAN_DATA_VARIETY_TOOLTIP": "Die Kaffee Varietät (SL28 z.B.)", "BEAN_DATA_HARVEST_TIME_TOOLTIP": "Wann wurde die Bohne geerntet (Monat, Jahr?)", "BEAN_DATA_PERCENTAGE_TOOLTIP": "Prozentualer Anteil der Bohne in der TÃŧte", "BEAN_DATA_CERTIFICATION_TOOLTIP": "Welches Zertifikat hat die Bohne (Fair Trade z.B.)", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 84b5a4f18..d38809720 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1335,13 +1335,14 @@ "BEAN_DATA_EAN_TOOLTIP": "The ean/article number", "NOTES_TOOLTIP": "Notes to take", "BREW_DATA_ATTACHMENTS_TOOLTIP": "Attach photos?", - "ENABLE_BEAN_SORT_INFORMATION_TOOLTIP": "Deeper information for the bean, where does they come from, when where they harvested", + "ENABLE_BEAN_SORT_INFORMATION_TOOLTIP": "Deeper information for the bean, where does they come from, when where they harvested, etc.", "BEAN_DATA_COUNTRY_TOOLTIP": "From which country does these beans come from", "BEAN_DATA_REGION_TOOLTIP": "From which region does these beans come from", "BEAN_DATA_FARM_TOOLTIP": "From which farm does these beans come from", "BEAN_DATA_FARMER_TOOLTIP": "From which farmer does these beans come from", "BEAN_DATA_ELEVATION_TOOLTIP": "In which elevation did these beans grow", "BEAN_DATA_PROCESSING_TOOLTIP": "How where these beans processed (natural, washed, etc.)", + "BEAN_DATA_VARIETY_TOOLTIP": "The coffee variety (SL28 e.g.)", "BEAN_DATA_HARVEST_TIME_TOOLTIP": "In which year/month where these beans harvested", "BEAN_DATA_PERCENTAGE_TOOLTIP": "How much percentage of these beans are in the bag", "BEAN_DATA_CERTIFICATION_TOOLTIP": "Which certificate has these beans (fairtrade e.g.) ", diff --git a/src/components/brew-ratio-card/brew-ratio-card.component.html b/src/components/brew-ratio-card/brew-ratio-card.component.html new file mode 100644 index 000000000..2a4734135 --- /dev/null +++ b/src/components/brew-ratio-card/brew-ratio-card.component.html @@ -0,0 +1,35 @@ + + + + + + + + {{getBrewRatio()}} + + + {{"PAGE_HELPER_BREW_RATIO_CALCULATED" | translate}} + + + + + + + + + + + {{"PAGE_HELPER_BREW_RATIO_GROUND_COFFEE" | translate}} + + + + + {{"PAGE_HELPER_BREW_RATIO_WATER" | translate}} + + + + + + diff --git a/src/components/brew-ratio-card/brew-ratio-card.component.scss b/src/components/brew-ratio-card/brew-ratio-card.component.scss new file mode 100644 index 000000000..50d6f52f7 --- /dev/null +++ b/src/components/brew-ratio-card/brew-ratio-card.component.scss @@ -0,0 +1,25 @@ +:host { + .card-background { + background-color: var(--ion-color-accent) !important; + color: #ffffff; + } + + .small-card ion-card-content { + padding-top: 16px !important; + } + + ion-card { + background: #FFFFFF; + + ion-item { + --background: white; + + ion-label { + font-family: 'Baloo', sans-serif; + font-size: 14px; + } + } + + + } +} diff --git a/src/components/brew-ratio-card/brew-ratio-card.component.spec.ts b/src/components/brew-ratio-card/brew-ratio-card.component.spec.ts new file mode 100644 index 000000000..c4504a4d1 --- /dev/null +++ b/src/components/brew-ratio-card/brew-ratio-card.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BrewRatioCardComponent } from './brew-ratio-card.component'; + +describe('BrewRatioCardComponent', () => { + let component: BrewRatioCardComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [BrewRatioCardComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(BrewRatioCardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/components/brew-ratio-card/brew-ratio-card.component.ts b/src/components/brew-ratio-card/brew-ratio-card.component.ts new file mode 100644 index 000000000..3d4cac188 --- /dev/null +++ b/src/components/brew-ratio-card/brew-ratio-card.component.ts @@ -0,0 +1,40 @@ +import { Component, Input, OnInit } from '@angular/core'; + +@Component({ + selector: 'brew-ratio-card', + templateUrl: './brew-ratio-card.component.html', + styleUrls: ['./brew-ratio-card.component.scss'], +}) +export class BrewRatioCardComponent implements OnInit { + public brewRatio: any = { + water: 0, + ground_coffee: 0, + }; + + @Input('water') public water: number = 0; + @Input('groundCoffee') public groundCoffee: number = 0; + constructor() {} + + public ngOnInit() { + if (this.water > 0) { + this.brewRatio.water = this.water; + } + if (this.groundCoffee > 0) { + this.brewRatio.ground_coffee = this.groundCoffee; + } + } + + public getBrewRatio() { + const grindWeight: number = this.brewRatio.ground_coffee; + const brewQuantity: number = this.brewRatio.water; + let ratio: string = '1 / '; + + if (brewQuantity > 0 && grindWeight > 0) { + ratio += (brewQuantity / grindWeight).toFixed(2); + } else { + ratio += '?'; + } + + return ratio; + } +} diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index a9b20a2b4..6df761a28 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -27,7 +27,11 @@ placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_GRIND_WEIGHT' | translate}}" prevent-characters remove-empty-number type="text" tabIndex="2"> - + + + diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 42684ac7f..d05c943e0 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -59,6 +59,7 @@ import { import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; import { IBrewGraphs } from '../../../interfaces/brew/iBrewGraphs'; +import { BrewRatioCalculatorComponent } from '../../../app/brew/brew-ratio-calculator/brew-ratio-calculator.component'; declare var cordova; declare var Plotly; @@ -1242,6 +1243,31 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { ); } + public async brewRatioCalculator() { + let waterQuantity: number = 0; + if ( + this.data.getPreparation().style_type === PREPARATION_STYLE_TYPE.ESPRESSO + ) { + waterQuantity = this.data.brew_beverage_quantity; + } else { + waterQuantity = this.data.brew_quantity; + } + const modal = await this.modalController.create({ + component: BrewRatioCalculatorComponent, + cssClass: 'popover-actions', + breakpoints: [0, 1], + initialBreakpoint: 1, + id: BrewRatioCalculatorComponent.COMPONENT_ID, + componentProps: { + grindWeight: this.data.grind_weight, + waterQuantity: waterQuantity, + }, + }); + await modal.present(); + + const { data } = await modal.onWillDismiss(); + } + public async calculateBrixToTds() { const modal = await this.modalController.create({ component: BrewBrixCalculatorComponent, diff --git a/src/data/tracking/brewTracking.ts b/src/data/tracking/brewTracking.ts index 7972bb700..019ad613c 100644 --- a/src/data/tracking/brewTracking.ts +++ b/src/data/tracking/brewTracking.ts @@ -1,25 +1,23 @@ export default { - - TITLE:'BREW', + TITLE: 'BREW', ACTIONS: { - - LONG_PRESS_ADD:'LONG_PRESS_ADD', + LONG_PRESS_ADD: 'LONG_PRESS_ADD', ADD: 'ADD', - ADD_FINISH:'ADD_FINISH', + ADD_FINISH: 'ADD_FINISH', EDIT: 'EDIT', - EDIT_FINISH:'EDIT_FINISH', + EDIT_FINISH: 'EDIT_FINISH', DETAIL: 'DETAIL', POPOVER_ACTIONS: 'POPOVER_ACTIONS', CUPPING: 'CUPPING', FAST_REPEAT: 'FAST_REPEAT', REPEAT: 'REPEAT', ADD_FAVOURITE: 'ADD_FAVOURITE', - REMOVE_FAVOURITE:'REMOVE_FAVOURITE', + REMOVE_FAVOURITE: 'REMOVE_FAVOURITE', SHOW_MAP: 'SHOW_MAP', DELETE: 'DELETE', PHOTO_VIEW: 'PHOTO_VIEW', SHARE: 'SHARE', - BRIX_CALCULATION: 'BRIX_CALCULATION' - } - -} + BRIX_CALCULATION: 'BRIX_CALCULATION', + RATIO_CALCULATION: 'RATIO_CALCULATION', + }, +}; From fc624001723a402e7ecc2f608098bb7f56f136a8 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 21 Feb 2023 20:17:57 +0100 Subject: [PATCH 035/129] #491 - Show confirmation popup when scale sends reset #468 - Customize repeat for general and for each preparation method Fixing update, bean list does not need to be displayed in whole. --- .../brew-parameter-routing.module.ts | 27 +-- .../brew-parameter/brew-parameter.page.html | 6 + src/app/brew-parameter/brew-parameter.page.ts | 20 +-- .../repeat-parameter.component.html | 19 ++ .../repeat-parameter.component.scss | 6 + .../repeat-parameter.component.spec.ts | 24 +++ .../repeat-parameter.component.ts | 22 +++ ...eparation-custom-parameters.component.html | 6 + src/app/shared/shared.module.ts | 6 + .../beanconqueror-repeat-round.svg | 1 + src/assets/i18n/de.json | 8 +- src/assets/i18n/en.json | 8 +- src/classes/parameter/repeatBrewParameter.ts | 61 +++++++ src/classes/preparation/preparation.ts | 135 +++++++------- src/classes/settings/settings.ts | 10 ++ .../brew-brewing/brew-brewing.component.ts | 150 +++++++++++----- .../repeat-custom-parameter.component.html | 165 ++++++++++++++++++ .../repeat-custom-parameter.component.scss | 6 + .../repeat-custom-parameter.component.spec.ts | 24 +++ .../repeat-custom-parameter.component.ts | 52 ++++++ src/interfaces/preparation/iPreparation.ts | 11 +- src/interfaces/settings/iSettings.ts | 1 + src/services/uiUpdate.ts | 1 - 23 files changed, 628 insertions(+), 141 deletions(-) create mode 100644 src/app/brew-parameter/repeat-parameter/repeat-parameter.component.html create mode 100644 src/app/brew-parameter/repeat-parameter/repeat-parameter.component.scss create mode 100644 src/app/brew-parameter/repeat-parameter/repeat-parameter.component.spec.ts create mode 100644 src/app/brew-parameter/repeat-parameter/repeat-parameter.component.ts create mode 100644 src/assets/custom-ion-icons/beanconqueror-repeat-round.svg create mode 100755 src/classes/parameter/repeatBrewParameter.ts create mode 100644 src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.html create mode 100644 src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.scss create mode 100644 src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.spec.ts create mode 100644 src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.ts diff --git a/src/app/brew-parameter/brew-parameter-routing.module.ts b/src/app/brew-parameter/brew-parameter-routing.module.ts index 33be54a77..9f23b0652 100644 --- a/src/app/brew-parameter/brew-parameter-routing.module.ts +++ b/src/app/brew-parameter/brew-parameter-routing.module.ts @@ -1,11 +1,12 @@ -import {NgModule} from '@angular/core'; -import {RouterModule, Routes} from '@angular/router'; +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; -import {BrewParameterPage} from './brew-parameter.page'; -import {ManageParameterComponent} from './manage-parameter/manage-parameter.component'; -import {SortParameterComponent} from './sort-parameter/sort-parameter.component'; -import {DefaultParameterComponent} from './default-parameter/default-parameter.component'; -import {ListViewParameterComponent} from './list-view-parameter/list-view-parameter.component'; +import { BrewParameterPage } from './brew-parameter.page'; +import { ManageParameterComponent } from './manage-parameter/manage-parameter.component'; +import { SortParameterComponent } from './sort-parameter/sort-parameter.component'; +import { DefaultParameterComponent } from './default-parameter/default-parameter.component'; +import { ListViewParameterComponent } from './list-view-parameter/list-view-parameter.component'; +import { RepeatParameterComponent } from './repeat-parameter/repeat-parameter.component'; const routes: Routes = [ { @@ -14,7 +15,7 @@ const routes: Routes = [ }, { path: 'manage', - component: ManageParameterComponent + component: ManageParameterComponent, }, { path: 'sort', @@ -27,13 +28,15 @@ const routes: Routes = [ { path: 'listview', component: ListViewParameterComponent, - } - + }, + { + path: 'repeat', + component: RepeatParameterComponent, + }, ]; @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule], }) -export class BrewParameterPageRoutingModule { -} +export class BrewParameterPageRoutingModule {} diff --git a/src/app/brew-parameter/brew-parameter.page.html b/src/app/brew-parameter/brew-parameter.page.html index 1fafb0510..4f26cf06e 100644 --- a/src/app/brew-parameter/brew-parameter.page.html +++ b/src/app/brew-parameter/brew-parameter.page.html @@ -27,6 +27,12 @@ {{"NAV_DEFAULT_PARAMETERS" | translate}} + + + + {{"NAV_REPEAT_PARAMETERS" | translate}} + + diff --git a/src/app/brew-parameter/brew-parameter.page.ts b/src/app/brew-parameter/brew-parameter.page.ts index a88e03349..185c90c2a 100644 --- a/src/app/brew-parameter/brew-parameter.page.ts +++ b/src/app/brew-parameter/brew-parameter.page.ts @@ -1,6 +1,6 @@ -import {Component, OnInit} from '@angular/core'; -import {NavController} from '@ionic/angular'; -import {Router} from '@angular/router'; +import { Component, OnInit } from '@angular/core'; +import { NavController } from '@ionic/angular'; +import { Router } from '@angular/router'; @Component({ selector: 'brew-parameter', @@ -8,17 +8,12 @@ import {Router} from '@angular/router'; styleUrls: ['./brew-parameter.page.scss'], }) export class BrewParameterPage implements OnInit { + constructor(public navCtrl: NavController, private readonly router: Router) {} - constructor(public navCtrl: NavController, - private readonly router: Router) { - } - - public ngOnInit() { - } + public ngOnInit() {} public openManageParameters(): void { this.router.navigate(['/brew-parameter/manage']); - } public openSortParameters(): void { @@ -28,10 +23,11 @@ export class BrewParameterPage implements OnInit { public openDefaultParameters(): void { this.router.navigateByUrl('/brew-parameter/default'); } + public openRepeatParameters(): void { + this.router.navigateByUrl('/brew-parameter/repeat'); + } public openListViewParameters(): void { this.router.navigateByUrl('/brew-parameter/listview'); } - - } diff --git a/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.html b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.html new file mode 100644 index 000000000..cb203e567 --- /dev/null +++ b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.html @@ -0,0 +1,19 @@ + + + + + + + + {{"NAV_REPEAT_PARAMETERS" | translate}} +

{{"PAGE_REPEAT_PARAMETERS_DESCRIPTION" | translate }}

+
+
+
+ + + + + + diff --git a/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.scss b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.scss new file mode 100644 index 000000000..adeeadc82 --- /dev/null +++ b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.scss @@ -0,0 +1,6 @@ +:host { + ion-item { + margin-left: 16px; + margin-right: 16px; + } +} diff --git a/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.spec.ts b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.spec.ts new file mode 100644 index 000000000..c56eb5db9 --- /dev/null +++ b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { RepeatParameterComponent } from './repeat-parameter.component'; + +describe('RepeatParameterComponent', () => { + let component: RepeatParameterComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RepeatParameterComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(RepeatParameterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.ts b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.ts new file mode 100644 index 000000000..77b0efbc5 --- /dev/null +++ b/src/app/brew-parameter/repeat-parameter/repeat-parameter.component.ts @@ -0,0 +1,22 @@ +import { Component, OnInit } from '@angular/core'; +import { Settings } from '../../../classes/settings/settings'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; + +@Component({ + selector: 'app-repeat-parameter', + templateUrl: './repeat-parameter.component.html', + styleUrls: ['./repeat-parameter.component.scss'], +}) +export class RepeatParameterComponent implements OnInit { + public settings: Settings; + + constructor(public uiSettingsStorage: UISettingsStorage) { + this.__initializeSettings(); + } + + public ngOnInit() {} + + private __initializeSettings(): void { + this.settings = this.uiSettingsStorage.getSettings(); + } +} diff --git a/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.html b/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.html index 14f39cb35..ba01c0abb 100644 --- a/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.html +++ b/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.html @@ -32,6 +32,9 @@ {{"CUSTOM_LIST_VIEW_PARAMETERS" | translate}} + + {{"CUSTOM_REPEAT_PARAMETERS" | translate}} +
@@ -47,6 +50,9 @@
+
+ +
diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 36a96c8a1..d52c6e6e4 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -169,6 +169,8 @@ import { BeanListViewParameterComponent } from '../bean-parameter/bean-list-view import { BeanManageParameterComponent } from '../bean-parameter/bean-manage-parameter/bean-manage-parameter.component'; import { BrewRatioCardComponent } from '../../components/brew-ratio-card/brew-ratio-card.component'; import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew-ratio-calculator.component'; +import { RepeatCustomParameterComponent } from '../../components/parameter/repeat-custom-parameter/repeat-custom-parameter.component'; +import { RepeatParameterComponent } from '../brew-parameter/repeat-parameter/repeat-parameter.component'; @NgModule({ declarations: [ @@ -210,6 +212,7 @@ import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew LicencesComponent, PrivacyComponent, DefaultParameterComponent, + RepeatParameterComponent, SortParameterComponent, ManageParameterComponent, BeanListViewParameterComponent, @@ -292,6 +295,7 @@ import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew PreparationPopoverActionsComponent, TimerComponent, DefaultCustomParameterComponent, + RepeatCustomParameterComponent, SortCustomParameterComponent, ManageCustomParameterComponent, BrewTimerComponent, @@ -404,6 +408,7 @@ import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew LicencesComponent, PrivacyComponent, DefaultParameterComponent, + RepeatParameterComponent, SortParameterComponent, ManageParameterComponent, BeanListViewParameterComponent, @@ -483,6 +488,7 @@ import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew PreparationPopoverActionsComponent, TimerComponent, DefaultCustomParameterComponent, + RepeatCustomParameterComponent, SortCustomParameterComponent, ManageCustomParameterComponent, BrewTimerComponent, diff --git a/src/assets/custom-ion-icons/beanconqueror-repeat-round.svg b/src/assets/custom-ion-icons/beanconqueror-repeat-round.svg new file mode 100644 index 000000000..48fc702a4 --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-repeat-round.svg @@ -0,0 +1 @@ + diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index afd07e776..b9ebbc9c2 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1352,5 +1352,11 @@ "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "Viele Informationen zur Bohne kÃļnnen eingetragen und verwendet werden. Individualisiere die Bohneninformationen, welche ausgefÃŧllt und verwendet werden sollen, sowie welche in der Listenansicht angezeigt werden sollen", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Timer zurÃŧcksetzen!", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Da du ein Bluetooth-Gerät verbunden hast, setzte bitte deinen Timer bevor du startest zurÃŧck", - "BREW_FILTER_JUST_CHART_DATA": "Nur Graphen" + "BREW_FILTER_JUST_CHART_DATA": "Nur Graphen", + "SCALE_RESET_TRIGGERED_DESCRIPTION": "Die Waage, mÃļchte den den App-Timer sowie die BrÃŧhgraphik zurÃŧcksetzten, mÃļchtest du das wirklich?", + "SCALE_RESET_TRIGGERED_TITLE": "ZurÃŧcksetzten?", + "NAV_REPEAT_PARAMETERS": "Wiederholung festlegen", + "PAGE_REPEAT_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter Ãŧbernommen werden sollen, wenn du eine BrÃŧhung wiederholst.", + "CUSTOM_REPEAT_PARAMETERS": "Wiederholen", + "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Individuelle Wiederholung aktivieren?" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index d38809720..729e0ad64 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1352,5 +1352,11 @@ "BEAN_PARAMETER_CUSTOMIZE_DESCRIPTION": "A lot of bean information can be entered or used. Choose your own parameters you want to fill in, and also which shall be displayed", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE": "Reset timer!", "BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION": "Because you've connected a bluetooth device, you need to reset your timer first before you can start", - "BREW_FILTER_JUST_CHART_DATA": "Just graphs" + "BREW_FILTER_JUST_CHART_DATA": "Just graphs", + "SCALE_RESET_TRIGGERED_DESCRIPTION": "The bluetooth scale, wants to reset the app-timer aswell as the brew graphic, do you realy want to procceed?", + "SCALE_RESET_TRIGGERED_TITLE": "Reset?", + "NAV_REPEAT_PARAMETERS": "Define repeat parameters", + "PAGE_REPEAT_PARAMETERS_DESCRIPTION": "Mark which parameters should be preset, when you repeat a specific brew", + "CUSTOM_REPEAT_PARAMETERS": "Repeat", + "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Activate customized repeat?" } diff --git a/src/classes/parameter/repeatBrewParameter.ts b/src/classes/parameter/repeatBrewParameter.ts new file mode 100755 index 000000000..b020d87e7 --- /dev/null +++ b/src/classes/parameter/repeatBrewParameter.ts @@ -0,0 +1,61 @@ +/** Interfacdes */ + +import { IBrewParameter } from '../../interfaces/parameter/iBrewParameter'; + +export class RepeatBrewParameter implements IBrewParameter { + public repeat_coffee_active: boolean; + + public brew_time: boolean; + public brew_temperature_time: boolean; + public grind_size: boolean; + public grind_weight: boolean; + public mill: boolean; + public mill_speed: boolean; + public mill_timer: boolean; + public pressure_profile: boolean; + public method_of_preparation: boolean; + public brew_quantity: boolean; + public bean_type: boolean; + public brew_temperature: boolean; + public note: boolean; + public coffee_type: boolean; + public coffee_concentration: boolean; + public coffee_first_drip_time: boolean; + public coffee_blooming_time: boolean; + public rating: boolean; + public tds: boolean; + public brew_beverage_quantity: boolean; + public method_of_preparation_tool: boolean; + public water: boolean; + public bean_weight_in: boolean; + public vessel: boolean; + constructor() { + this.bean_type = true; + this.brew_temperature_time = true; + this.brew_time = true; + this.grind_size = true; + this.grind_weight = true; + this.mill = true; + this.mill_timer = true; + this.method_of_preparation = true; + this.brew_quantity = true; + this.bean_type = true; + this.brew_temperature = true; + this.note = true; + this.coffee_type = true; + this.coffee_concentration = true; + this.coffee_first_drip_time = true; + this.coffee_blooming_time = true; + this.rating = true; + this.mill_speed = true; + this.pressure_profile = true; + this.tds = true; + this.brew_beverage_quantity = true; + this.method_of_preparation_tool = true; + this.water = true; + this.bean_weight_in = true; + this.vessel = true; + + this.repeat_coffee_active = true; + } +} diff --git a/src/classes/preparation/preparation.ts b/src/classes/preparation/preparation.ts index 3f88bb267..90c762dd3 100755 --- a/src/classes/preparation/preparation.ts +++ b/src/classes/preparation/preparation.ts @@ -1,16 +1,16 @@ /** Interfaces */ -import {IPreparation} from '../../interfaces/preparation/iPreparation'; +import { IPreparation } from '../../interfaces/preparation/iPreparation'; /** Classes */ -import {Config} from '../objectConfig/objectConfig'; -import {PREPARATION_TYPES} from '../../enums/preparations/preparationTypes'; -import {PREPARATION_STYLE_TYPE} from '../../enums/preparations/preparationStyleTypes'; -import {DefaultBrewParameter} from '../parameter/defaultBrewParameter'; -import {OrderBrewParameter} from '../parameter/orderBrewParameter'; -import {ManageBrewParameter} from '../parameter/manageBrewParameter'; -import {PreparationTool} from './preparationTool'; -import {UIHelper} from '../../services/uiHelper'; -import {ListViewBrewParameter} from '../parameter/listViewBrewParameter'; - +import { Config } from '../objectConfig/objectConfig'; +import { PREPARATION_TYPES } from '../../enums/preparations/preparationTypes'; +import { PREPARATION_STYLE_TYPE } from '../../enums/preparations/preparationStyleTypes'; +import { DefaultBrewParameter } from '../parameter/defaultBrewParameter'; +import { OrderBrewParameter } from '../parameter/orderBrewParameter'; +import { ManageBrewParameter } from '../parameter/manageBrewParameter'; +import { PreparationTool } from './preparationTool'; +import { UIHelper } from '../../services/uiHelper'; +import { ListViewBrewParameter } from '../parameter/listViewBrewParameter'; +import { RepeatBrewParameter } from '../parameter/repeatBrewParameter'; export class Preparation implements IPreparation { public name: string; @@ -23,6 +23,7 @@ export class Preparation implements IPreparation { public manage_parameters: ManageBrewParameter; public default_last_coffee_parameters: DefaultBrewParameter; public visible_list_view_parameters: ListViewBrewParameter; + public repeat_coffee_parameters: RepeatBrewParameter; public brew_order: OrderBrewParameter; public tools: Array; public attachments: Array; @@ -39,13 +40,18 @@ export class Preparation implements IPreparation { this.manage_parameters = new ManageBrewParameter(); this.default_last_coffee_parameters = new DefaultBrewParameter(); this.visible_list_view_parameters = new ListViewBrewParameter(); + this.repeat_coffee_parameters = new RepeatBrewParameter(); + this.repeat_coffee_parameters.repeat_coffee_active = false; + this.repeat_coffee_parameters.coffee_first_drip_time = false; + this.repeat_coffee_parameters.brew_beverage_quantity = false; + this.repeat_coffee_parameters.brew_quantity = false; + this.brew_order = new OrderBrewParameter(); this.tools = []; this.attachments = []; - } - public initializeByObject (preparationObj: IPreparation): void { + public initializeByObject(preparationObj: IPreparation): void { Object.assign(this, preparationObj); // We need to reassign brew order here, else the class would be dismissed. @@ -53,88 +59,90 @@ export class Preparation implements IPreparation { Object.assign(this.brew_order, preparationObj.brew_order); this.default_last_coffee_parameters = new DefaultBrewParameter(); - Object.assign(this.default_last_coffee_parameters, preparationObj.default_last_coffee_parameters); + Object.assign( + this.default_last_coffee_parameters, + preparationObj.default_last_coffee_parameters + ); } - public getPresetStyleType() { switch (this.type) { case PREPARATION_TYPES.CUSTOM_PREPARATION: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.PORTAFILTER: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.BIALETTI: - return PREPARATION_STYLE_TYPE.PERCOLATION; + return PREPARATION_STYLE_TYPE.PERCOLATION; case PREPARATION_TYPES.V60: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.CHEMEX: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.AEROPRESS: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.KALITA_WAVE: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.TURKISH: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.AEROPRESS_INVERTED: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.DRIPPER: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.DELTER_PRESS: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.COLD_BREW: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.BLUE_DRIPPER: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.FRENCH_PRESS: return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.GINA: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.KONO: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.CAFELAT: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.ORIGAMI: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.OREA: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.FLAIR: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.HAND_LEVER: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.COLD_DRIP: - return PREPARATION_STYLE_TYPE.PERCOLATION; + return PREPARATION_STYLE_TYPE.PERCOLATION; case PREPARATION_TYPES.APRIL_BREWER: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.ESPRO_BLOOM: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.FELLOW_STAGG: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.HSIAO_50: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.KARLSBADER_KANNE: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.MOCCA_MASTER: - return PREPARATION_STYLE_TYPE.PERCOLATION; + return PREPARATION_STYLE_TYPE.PERCOLATION; case PREPARATION_TYPES.SIPHON: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.CAFEC_FLOWER: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.DECEMBER_DRIPPER: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.DECENT_ESPRESSO: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.HARIO_SWITCH: - return PREPARATION_STYLE_TYPE.FULL_IMMERSION; + return PREPARATION_STYLE_TYPE.FULL_IMMERSION; case PREPARATION_TYPES.HARIO_WOODNECK: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.RATIO_SIX_COFFEE_BREWER: - return PREPARATION_STYLE_TYPE.PERCOLATION; + return PREPARATION_STYLE_TYPE.PERCOLATION; case PREPARATION_TYPES.ROK: - return PREPARATION_STYLE_TYPE.ESPRESSO; + return PREPARATION_STYLE_TYPE.ESPRESSO; case PREPARATION_TYPES.TORNADO_DUO: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; case PREPARATION_TYPES.TRICOLATE: - return PREPARATION_STYLE_TYPE.POUR_OVER; + return PREPARATION_STYLE_TYPE.POUR_OVER; default: return PREPARATION_STYLE_TYPE.POUR_OVER; } @@ -165,12 +173,12 @@ export class Preparation implements IPreparation { return 'beanconqueror-preparation-aeropress-inverted'; case PREPARATION_TYPES.DRIPPER: return 'beanconqueror-preparation-dripper'; - case PREPARATION_TYPES.DELTER_PRESS: + case PREPARATION_TYPES.DELTER_PRESS: return 'beanconqueror-preparation-delter-press'; case PREPARATION_TYPES.COLD_BREW: - return 'beanconqueror-preparation-cold-brew'; + return 'beanconqueror-preparation-cold-brew'; case PREPARATION_TYPES.BLUE_DRIPPER: - return 'beanconqueror-preparation-blue-dripper'; + return 'beanconqueror-preparation-blue-dripper'; case PREPARATION_TYPES.GINA: return 'beanconqueror-preparation-gina'; case PREPARATION_TYPES.KONO: @@ -253,33 +261,26 @@ export class Preparation implements IPreparation { public deleteTool(_tool: PreparationTool): boolean { const tool: PreparationTool = _tool as PreparationTool; - for(let i = 0; i < this.tools.length; i++){ - - if ( this.tools[i].config.uuid === tool.config.uuid) { - + for (let i = 0; i < this.tools.length; i++) { + if (this.tools[i].config.uuid === tool.config.uuid) { this.tools.splice(i, 1); return true; } - } return false; } public updateTool(_tool: PreparationTool): boolean { const tool: PreparationTool = _tool as PreparationTool; - for(let i = 0; i < this.tools.length; i++){ - - if ( this.tools[i].config.uuid === tool.config.uuid) { + for (let i = 0; i < this.tools.length; i++) { + if (this.tools[i].config.uuid === tool.config.uuid) { this.tools[i] = _tool; return true; } - } return false; } - public hasPhotos(): boolean { - return (this.attachments && this.attachments.length > 0); + return this.attachments && this.attachments.length > 0; } - } diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index fc43bfafc..44ae472c3 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -21,6 +21,7 @@ import { IBrewGraphs } from '../../interfaces/brew/iBrewGraphs'; import { BeanManageParameter } from '../parameter/beanManageParameter'; import { PressureType, ScaleType } from '../devices'; import { BeanListViewParameter } from '../parameter/beanListViewParameter'; +import { RepeatBrewParameter } from '../parameter/repeatBrewParameter'; export class Settings implements ISettings { public brew_view: BREW_VIEW_ENUM; @@ -30,6 +31,7 @@ export class Settings implements ISettings { public qr_scanner_information: boolean; public manage_parameters: ManageBrewParameter; public default_last_coffee_parameters: DefaultBrewParameter; + public repeat_coffee_parameters: RepeatBrewParameter; public visible_list_view_parameters: ListViewBrewParameter; public brew_order: OrderBrewParameter; @@ -161,6 +163,8 @@ export class Settings implements ISettings { this.manage_parameters = new ManageBrewParameter(); this.default_last_coffee_parameters = new DefaultBrewParameter(); this.visible_list_view_parameters = new ListViewBrewParameter(); + this.repeat_coffee_parameters = new RepeatBrewParameter(); + this.brew_order = new OrderBrewParameter(); this.bean_manage_parameters = new BeanManageParameter(); @@ -291,6 +295,12 @@ export class Settings implements ISettings { settingsObj.default_last_coffee_parameters ); + this.repeat_coffee_parameters = new RepeatBrewParameter(); + Object.assign( + this.repeat_coffee_parameters, + settingsObj.repeat_coffee_parameters + ); + this.bean_manage_parameters = new BeanManageParameter(); Object.assign( this.bean_manage_parameters, diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index d05c943e0..f86687642 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1330,8 +1330,20 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.checkChanges(); break; case SCALE_TIMER_COMMAND.RESET: - this.timer.reset(); - this.checkChanges(); + this.uiAlert + .showConfirm( + 'SCALE_RESET_TRIGGERED_DESCRIPTION', + 'SCALE_RESET_TRIGGERED_TITLE', + true + ) + .then( + () => { + this.timer.reset(); + this.checkChanges(); + }, + () => {} + ); + break; } } else { @@ -2334,7 +2346,16 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } let checkData: Settings | Preparation; + if ( + _template === true && + this.getPreparation().use_custom_parameters === true && + this.getPreparation().repeat_coffee_parameters.repeat_coffee_active === + true + ) { + checkData = this.getPreparation(); + } else if ( + _template === false && this.getPreparation().use_custom_parameters === true && this.getPreparation().manage_parameters.set_last_coffee_brew === true ) { @@ -2344,8 +2365,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } if ( - checkData.default_last_coffee_parameters.bean_type || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.bean_type) || + (_template === true && checkData.repeat_coffee_parameters.bean_type) ) { const brewBean: IBean = this.uiBeanStorage.getByUUID(brew.bean); if (!brewBean.finished) { @@ -2354,53 +2376,66 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } if ( - checkData.default_last_coffee_parameters.grind_size || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.grind_size) || + (_template === true && checkData.repeat_coffee_parameters.grind_size) ) { this.data.grind_size = brew.grind_size; } if ( - checkData.default_last_coffee_parameters.grind_weight || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.grind_weight) || + (_template === true && checkData.repeat_coffee_parameters.grind_weight) ) { this.data.grind_weight = brew.grind_weight; } - if (checkData.default_last_coffee_parameters.mill || _template === true) { + if ( + (_template === false && checkData.default_last_coffee_parameters.mill) || + (_template === true && checkData.repeat_coffee_parameters.mill) + ) { const brewMill: IMill = this.uiMillStorage.getByUUID(brew.mill); if (!brewMill.finished) { this.data.mill = brewMill.config.uuid; } } if ( - checkData.default_last_coffee_parameters.mill_timer || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.mill_timer) || + (_template === true && checkData.repeat_coffee_parameters.mill_timer) ) { this.data.mill_timer = brew.mill_timer; } if ( - checkData.default_last_coffee_parameters.mill_speed || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.mill_speed) || + (_template === true && checkData.repeat_coffee_parameters.mill_speed) ) { this.data.mill_speed = brew.mill_speed; } if ( - checkData.default_last_coffee_parameters.pressure_profile || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.pressure_profile) || + (_template === true && + checkData.repeat_coffee_parameters.pressure_profile) ) { this.data.pressure_profile = brew.pressure_profile; } if ( - checkData.default_last_coffee_parameters.brew_temperature || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.brew_temperature) || + (_template === true && + checkData.repeat_coffee_parameters.brew_temperature) ) { this.data.brew_temperature = brew.brew_temperature; } if (this.brewTemperatureTime) { if ( - checkData.default_last_coffee_parameters.brew_temperature_time || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.brew_temperature_time) || + (_template === true && + checkData.repeat_coffee_parameters.brew_temperature_time) ) { this.data.brew_temperature_time = brew.brew_temperature_time; if (this.settings.brew_milliseconds) { @@ -2418,8 +2453,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if (this.timer) { if ( - checkData.default_last_coffee_parameters.brew_time || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.brew_time) || + (_template === true && checkData.repeat_coffee_parameters.brew_time) ) { this.data.brew_time = brew.brew_time; if (this.settings.brew_milliseconds) { @@ -2435,27 +2471,33 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } if ( - checkData.default_last_coffee_parameters.brew_quantity || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.brew_quantity) || + (_template === true && checkData.repeat_coffee_parameters.brew_quantity) ) { this.data.brew_quantity = brew.brew_quantity; this.data.brew_quantity_type = brew.brew_quantity_type; } if ( - checkData.default_last_coffee_parameters.coffee_type || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.coffee_type) || + (_template === true && checkData.repeat_coffee_parameters.coffee_type) ) { this.data.coffee_type = brew.coffee_type; } if ( - checkData.default_last_coffee_parameters.coffee_concentration || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.coffee_concentration) || + (_template === true && + checkData.repeat_coffee_parameters.coffee_concentration) ) { this.data.coffee_concentration = brew.coffee_concentration; } if ( - checkData.default_last_coffee_parameters.coffee_first_drip_time || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.coffee_first_drip_time) || + (_template === true && + checkData.repeat_coffee_parameters.coffee_first_drip_time) ) { this.data.coffee_first_drip_time = brew.coffee_first_drip_time; if (this.settings.brew_milliseconds) { @@ -2473,8 +2515,10 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, 250); } if ( - checkData.default_last_coffee_parameters.coffee_blooming_time || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.coffee_blooming_time) || + (_template === true && + checkData.repeat_coffee_parameters.coffee_blooming_time) ) { this.data.coffee_blooming_time = brew.coffee_blooming_time; if (this.settings.brew_milliseconds) { @@ -2492,25 +2536,39 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }, 250); } - if (checkData.default_last_coffee_parameters.rating || _template === true) { + if ( + (_template === false && + checkData.default_last_coffee_parameters.rating) || + (_template === true && checkData.repeat_coffee_parameters.rating) + ) { this.data.rating = brew.rating; } - if (checkData.default_last_coffee_parameters.note || _template === true) { + if ( + (_template === false && checkData.default_last_coffee_parameters.note) || + (_template === true && checkData.repeat_coffee_parameters.note) + ) { this.data.note = brew.note; } - if (checkData.default_last_coffee_parameters.tds || _template === true) { + if ( + (_template === false && checkData.default_last_coffee_parameters.tds) || + (_template === true && checkData.repeat_coffee_parameters.tds) + ) { this.data.tds = brew.tds; } if ( - checkData.default_last_coffee_parameters.brew_beverage_quantity || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.brew_beverage_quantity) || + (_template === true && + checkData.repeat_coffee_parameters.brew_beverage_quantity) ) { this.data.brew_beverage_quantity = brew.brew_beverage_quantity; this.data.brew_beverage_quantity_type = brew.brew_beverage_quantity_type; } if ( - checkData.default_last_coffee_parameters.method_of_preparation_tool || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.method_of_preparation_tool) || + (_template === true && + checkData.repeat_coffee_parameters.method_of_preparation_tool) ) { const repeatTools = brew.method_of_preparation_tools; this.data.method_of_preparation_tools = []; @@ -2523,17 +2581,25 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } } - if (checkData.default_last_coffee_parameters.water || _template === true) { + if ( + (_template === false && checkData.default_last_coffee_parameters.water) || + (_template === true && checkData.repeat_coffee_parameters.water) + ) { this.data.water = brew.water; } - if (checkData.default_last_coffee_parameters.vessel || _template === true) { + if ( + (_template === false && + checkData.default_last_coffee_parameters.vessel) || + (_template === true && checkData.repeat_coffee_parameters.vessel) + ) { this.data.vessel_name = brew.vessel_name; this.data.vessel_weight = brew.vessel_weight; } if ( - checkData.default_last_coffee_parameters.bean_weight_in || - _template === true + (_template === false && + checkData.default_last_coffee_parameters.bean_weight_in) || + (_template === true && checkData.repeat_coffee_parameters.bean_weight_in) ) { this.data.bean_weight_in = brew.bean_weight_in; } diff --git a/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.html b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.html new file mode 100644 index 000000000..81706a200 --- /dev/null +++ b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.html @@ -0,0 +1,165 @@ + + + {{"CUSTOM_REPEAT_PARAMETERS_DESCRIPTION" | translate}} + + + + + + {{"SORT_PARAMETERS_BEFORE" | translate }} + + {{"BREW_DATA_BEAN_TYPE" | translate}} + + + + +

{{"BREW_DATA_BEAN_WEIGHT_IN" | translate}}

+

{{"BEAN_WEIGHT_IN_PLACEHOLDER" | translate}}

+
+ +
+ + +

{{"BREW_DATA_GRIND_WEIGHT" | translate}}

+

{{"GRIND_WEIGHT_PLACEHOLDER" | translate}}

+
+ +
+ + {{"BREW_DATA_MILL" | translate}} + + + + {{"BREW_DATA_GRIND_SIZE" | translate}} + + + + {{"BREW_DATA_MILL_TIMER" | translate}} + + + + {{"BREW_DATA_MILL_SPEED" | translate}} + + + + +

{{"BREW_DATA_PREPARATION_METHOD" | translate}}

+
+ +
+ + +

{{"BREW_DATA_PREPARATION_METHOD_TOOL" | translate}}

+

{{"PREPARATION_TOOLS_PLACEHOLDER" | translate}}

+
+ +
+ + {{"BREW_DATA_BREW_TEMPERATURE" | translate}} + + + + +

{{"BREW_DATA_WATER" | translate}}

+

{{"WATER_PLACEHOLDER" | translate}}

+
+ +
+ + +

{{"BREW_DATA_VESSEL" | translate}}

+

{{"VESSEL_PLACEHOLDER" | translate}}

+
+ +
+ + + {{"BREW_DATA_PRESSURE_PROFILE" | translate}} + + + +
+ + {{"SORT_PARAMETERS_MEANWHILE" | translate }} + + + {{"BREW_DATA_TEMPERATURE_TIME" | translate}} / {{"BREW_DATA_SURF_TIME" | translate}} + + + + {{"BREW_DATA_TIME" | translate}} + + + + +

{{"BREW_DATA_COFFEE_FIRST_DRIP_TIME" | translate}}

+

{{"BREW_DATA_COFFEE_FIRST_DRIP_TIME_TOOLTIP" | translate}}

+
+ +
+ + {{"BREW_DATA_COFFEE_BLOOMING_TIME" | translate}} + + +
+ + + {{"SORT_PARAMETERS_AFTER" | translate }} + + {{"BREW_DATA_COFFEE_TYPE" | translate}} + + + + {{"BREW_DATA_COFFEE_CONCENTRATION" | translate}} + + + + +

{{"BREW_DATA_BREW_QUANTITY" | translate}}

+

{{"BREW_DATA_BREW_QUANTITY_TOOLTIP" | translate}}

+
+ +
+ + {{"BREW_DATA_BREW_BEVERAGE_QUANTITY" | translate}} + + + + {{"BREW_DATA_TDS" | translate}} + + + + {{"BREW_DATA_RATING" | translate}} + + + + {{"BREW_DATA_NOTES" | translate}} + + + +
diff --git a/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.scss b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.scss new file mode 100644 index 000000000..33acdb169 --- /dev/null +++ b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.scss @@ -0,0 +1,6 @@ +:host { + ion-title{ + padding-left:0px; + } + +} diff --git a/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.spec.ts b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.spec.ts new file mode 100644 index 000000000..a2e30e568 --- /dev/null +++ b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { RepeatCustomParameterComponent } from './repeat-custom-parameter.component'; + +describe('RepeatCustomParameterComponent', () => { + let component: RepeatCustomParameterComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [RepeatCustomParameterComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(RepeatCustomParameterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.ts b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.ts new file mode 100644 index 000000000..d88813937 --- /dev/null +++ b/src/components/parameter/repeat-custom-parameter/repeat-custom-parameter.component.ts @@ -0,0 +1,52 @@ +import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; +import { Settings } from '../../../classes/settings/settings'; +import { Preparation } from '../../../classes/preparation/preparation'; +import { UISettingsStorage } from '../../../services/uiSettingsStorage'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; +import { UIAnalytics } from '../../../services/uiAnalytics'; +import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; + +@Component({ + selector: 'repeat-custom-parameter', + templateUrl: './repeat-custom-parameter.component.html', + styleUrls: ['./repeat-custom-parameter.component.scss'], +}) +export class RepeatCustomParameterComponent implements OnInit { + @Input() public data: Settings | Preparation; + constructor( + public uiSettingsStorage: UISettingsStorage, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiAnalytics: UIAnalytics, + private readonly changeDetectorRef: ChangeDetectorRef + ) {} + + public ngOnInit() {} + + public isPreparation() { + return this.data instanceof Preparation; + } + + public firstDripDisabled(): boolean { + if (this.isPreparation()) { + const prep: Preparation = this.data as Preparation; + return prep.style_type !== PREPARATION_STYLE_TYPE.ESPRESSO; + } + return false; + } + + public brewQuantityDisabled(): boolean { + if (this.isPreparation()) { + const prep: Preparation = this.data as Preparation; + return prep.style_type === PREPARATION_STYLE_TYPE.ESPRESSO; + } + return false; + } + public async save() { + this.changeDetectorRef.detectChanges(); + if (this.data instanceof Settings) { + await this.uiSettingsStorage.saveSettings(this.data as Settings); + } else { + await this.uiPreparationStorage.update(this.data as Preparation); + } + } +} diff --git a/src/interfaces/preparation/iPreparation.ts b/src/interfaces/preparation/iPreparation.ts index 29001992b..a94ce9e54 100755 --- a/src/interfaces/preparation/iPreparation.ts +++ b/src/interfaces/preparation/iPreparation.ts @@ -1,11 +1,11 @@ /** * Created by lars on 10/18/2017. */ -import {IConfig} from '../objectConfig/iObjectConfig'; -import {PREPARATION_STYLE_TYPE} from '../../enums/preparations/preparationStyleTypes'; -import {IBrewParameter} from '../parameter/iBrewParameter'; -import {IOrderBrewParameter} from '../parameter/iOrderBrewParameter'; -import {PreparationTool} from '../../classes/preparation/preparationTool'; +import { IConfig } from '../objectConfig/iObjectConfig'; +import { PREPARATION_STYLE_TYPE } from '../../enums/preparations/preparationStyleTypes'; +import { IBrewParameter } from '../parameter/iBrewParameter'; +import { IOrderBrewParameter } from '../parameter/iOrderBrewParameter'; +import { PreparationTool } from '../../classes/preparation/preparationTool'; export interface IPreparation { name: string; @@ -17,6 +17,7 @@ export interface IPreparation { manage_parameters: IBrewParameter; default_last_coffee_parameters: IBrewParameter; visible_list_view_parameters: IBrewParameter; + repeat_coffee_parameters: IBrewParameter; brew_order: IOrderBrewParameter; use_custom_parameters: boolean; attachments: Array; diff --git a/src/interfaces/settings/iSettings.ts b/src/interfaces/settings/iSettings.ts index 8c7381684..ba369655b 100755 --- a/src/interfaces/settings/iSettings.ts +++ b/src/interfaces/settings/iSettings.ts @@ -21,6 +21,7 @@ export interface ISettings { language: string; manage_parameters: IBrewParameter; default_last_coffee_parameters: IBrewParameter; + repeat_coffee_parameters: IBrewParameter; visible_list_view_parameters: IBrewParameter; brew_order: IOrderBrewParameter; diff --git a/src/services/uiUpdate.ts b/src/services/uiUpdate.ts index 1df5b12f7..3c037cee2 100755 --- a/src/services/uiUpdate.ts +++ b/src/services/uiUpdate.ts @@ -488,7 +488,6 @@ export class UIUpdate { // Already existing installation which has more then one bean. const settings_v9: any = this.uiSettingsStorage.getSettings(); settings_v9.bean_manage_parameters.activateAll(); - settings_v9.bean_visible_list_view_parameters.activateAll(); // Reset filter, because we got a new sort on beans settings_v9.resetFilter(); await this.uiSettingsStorage.saveSettings(settings_v9); From 9f26a8b25523f8edacbd6dd555840d2999292471 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Thu, 23 Feb 2023 20:48:15 +0100 Subject: [PATCH 036/129] #495,#461 - Make grind size numerical as feature toggle #494 - Export brew graphes, Android file system makes it hard, we need to export JSON as PNG and revert it then to JSON again, else its not possible to import --- src/app/settings/settings.page.html | 5 + src/app/settings/settings.page.ts | 238 +++++++++++++++++- src/assets/i18n/de.json | 4 +- src/assets/i18n/en.json | 4 +- src/classes/settings/settings.ts | 4 + .../brew-brewing/brew-brewing.component.html | 10 +- src/interfaces/settings/iSettings.ts | 1 + src/services/uiStorage.ts | 171 +++++++------ 8 files changed, 342 insertions(+), 95 deletions(-) diff --git a/src/app/settings/settings.page.html b/src/app/settings/settings.page.html index 0835596f9..f37ef8139 100644 --- a/src/app/settings/settings.page.html +++ b/src/app/settings/settings.page.html @@ -199,6 +199,11 @@

{{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

{{"PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE_DESCRIPTION" | translate}}

+ +

{{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE" | translate}}

+

{{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION" | translate}}

+ +
{{"PAGE_SETTINGS_CURRENCY" | translate}} ) { for (const entry of _storedData) { if (entry.flow_profile) { - await this._exportFile(entry.flow_profile); + await this._exportFlowProfileFile(entry.flow_profile); } } } + private async _exportFlowProfileFile(_filePath) { + let path: string; + let fileName: string; + path = this.file.dataDirectory; + fileName = _filePath; + if (fileName.startsWith('/')) { + fileName = fileName.slice(1); + } + let storageLocation: string = ''; + + switch (device.platform) { + case 'Android': + storageLocation = cordova.file.externalRootDirectory; + break; + case 'iOS': + storageLocation = cordova.file.documentsDirectory; + break; + } + try { + const fileSystem: any = await new Promise( + async (resolve) => + await window.resolveLocalFileSystemURL(storageLocation, resolve) + ); + + const directory: DirectoryEntry = await new Promise( + async (resolve) => + await fileSystem.getDirectory( + 'Download', + { + create: true, + exclusive: false, + }, + resolve + ) + ); + let exportDirectory: DirectoryEntry = await new Promise( + async (resolve) => + await directory.getDirectory( + 'Beanconqueror_export', + { + create: true, + exclusive: false, + }, + resolve + ) + ); + + let exportingFilename = ''; + const folders = fileName.split('/'); + for (let i = 0; i < folders.length; i++) { + const folderName = folders[i]; + if (folderName.indexOf('.') >= 0) { + // We found the filename woop + exportingFilename = folderName.trim(); + } else if (folderName !== '') { + // We found another folder, create it or just get it + path = path + folderName + '/'; + exportDirectory = await new Promise( + async (resolve) => + await exportDirectory.getDirectory( + folderName, + { + create: true, + exclusive: false, + }, + resolve + ) + ); + } + } + + await this.file.copyFile( + path, + exportingFilename, + exportDirectory.nativeURL, + exportingFilename.replace('.json', '.png') + ); + } catch (ex) {} + } private async _exportFile(_filePath) { let path: string; let fileName: string; @@ -839,14 +920,135 @@ export class SettingsPage implements OnInit { } } + private async _importFlowProfileFiles( + _storedData: Array, + _importPath: string + ) { + for (const entry of _storedData) { + if (entry.flow_profile) { + await this._importFileFlowProfile( + entry.flow_profile.replace('.json', '.png'), + _importPath + ); + } + } + } + private async _importFileFlowProfile(_filePath: string, _importPath: string) { + let path: string; + let fileName: string; + if (this.platform.is('ios') && this.platform.is('cordova')) { + path = this.file.documentsDirectory; + } else { + path = this.file.dataDirectory; + } + fileName = _filePath; + if (fileName.startsWith('/')) { + fileName = fileName.slice(1); + } + let addSubFolder = ''; + if (fileName.indexOf('/') > -1) { + //we still got a slash inside + const splittedFileName = fileName.split('/'); + fileName = splittedFileName[splittedFileName.length - 1]; + for (let i = 0; i < splittedFileName.length; i++) { + if (i + 1 === splittedFileName.length) { + //Ignore last one + } else { + addSubFolder += splittedFileName[i] + '/'; + } + } + } + let storageLocation: string = ''; + + switch (device.platform) { + case 'Android': + storageLocation = _importPath; + break; + case 'iOS': + storageLocation = cordova.file.documentsDirectory; + break; + } + + try { + await this.uiFileHelper.createFolder(_filePath); + } catch (ex) { + this.uiLog.error( + 'Settings - import file - We could not create folders ' + _filePath + ); + } + + try { + const fileExists: boolean = await this.file.checkFile( + storageLocation, + fileName + ); + + if (fileExists === true) { + this.uiLog.log( + 'File did exist and was copied - file:' + + storageLocation + + '' + + fileName + + ' to: ' + + path + + '' + + fileName + ); + + await this.file.copyFile( + storageLocation, + fileName, + path + addSubFolder, + fileName.replace('.png', '.json') + ); + } else { + this.uiLog.log( + 'File doesnt exist - file:' + + storageLocation + + '' + + fileName + + ' to: ' + + path + + addSubFolder + + '' + + fileName + ); + } + + try { + // extra catch because maybe file is not existing + // await this.file.removeFile(path, fileName); + } catch (ex) {} + } catch (ex) { + this.uiLog.error('Import file ' + ex.message); + } + } + private async _importFile(_filePath: string, _importPath: string) { let path: string; let fileName: string; - path = this.file.dataDirectory; + if (this.platform.is('ios') && this.platform.is('cordova')) { + path = this.file.documentsDirectory; + } else { + path = this.file.dataDirectory; + } fileName = _filePath; if (fileName.startsWith('/')) { fileName = fileName.slice(1); } + let addSubFolder = ''; + if (fileName.indexOf('/') > -1) { + //we still got a slash inside + const splittedFileName = fileName.split('/'); + fileName = splittedFileName[splittedFileName.length - 1]; + for (let i = 0; i < splittedFileName.length; i++) { + if (i + 1 === splittedFileName.length) { + //Ignore last one + } else { + addSubFolder += splittedFileName[i] + '/'; + } + } + } let storageLocation: string = ''; switch (device.platform) { @@ -858,11 +1060,20 @@ export class SettingsPage implements OnInit { break; } + try { + await this.uiFileHelper.createFolder(_filePath); + } catch (ex) { + this.uiLog.error( + 'Settings - import file - We could not create folders ' + _filePath + ); + } + try { const fileExists: boolean = await this.file.checkFile( storageLocation, fileName ); + if (fileExists === true) { this.uiLog.log( 'File did exist and was copied - file:' + @@ -874,7 +1085,13 @@ export class SettingsPage implements OnInit { '' + fileName ); - await this.file.copyFile(storageLocation, fileName, path, fileName); + + await this.file.copyFile( + storageLocation, + fileName, + path + addSubFolder, + fileName + ); } else { this.uiLog.log( 'File doesnt exist - file:' + @@ -883,6 +1100,7 @@ export class SettingsPage implements OnInit { fileName + ' to: ' + path + + addSubFolder + '' + fileName ); @@ -1033,6 +1251,8 @@ export class SettingsPage implements OnInit { if (_data.BACKUP === false) { this.__reinitializeStorages().then( async () => { + // Show loadingspinner again, because the reintializestorages hides it. + await this.uiAlert.showLoadingSpinner(); this.uiAnalytics.disableTracking(); this.__initializeSettings(); @@ -1059,6 +1279,16 @@ export class SettingsPage implements OnInit { await this._importFiles(greenBeanData, _importPath); await this._importFiles(roastingMachineData, _importPath); await this._importFiles(waterData, _importPath); + + /*** WAIT!!, before you try to understand whats going on here + After the latest file system changes of android, we can't copy .JSON Files, or other types, but .PNG, and .JPG works. + Thats why we exported all the raw-jsons as a .PNG Type (but with JSON-Data), and when reimporting them, we load the .PNG and save it as .JSON + Therefore we can transfer the brew history, else this would not be possible + */ + await this._importFlowProfileFiles( + brewsData, + _importPath + 'brews/' + ); } if ( diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index b9ebbc9c2..fc97b95e4 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1358,5 +1358,7 @@ "NAV_REPEAT_PARAMETERS": "Wiederholung festlegen", "PAGE_REPEAT_PARAMETERS_DESCRIPTION": "Lege fest, welche Parameter Ãŧbernommen werden sollen, wenn du eine BrÃŧhung wiederholst.", "CUSTOM_REPEAT_PARAMETERS": "Wiederholen", - "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Individuelle Wiederholung aktivieren?" + "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Individuelle Wiederholung aktivieren?", + "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE": "Numerische Tastatur fÃŧr Mahlgrad?", + "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION": "MÃļchtest du bei der Mahlgrad Einstellung nur die Numerische Tastatur angezeigt bekommen, anstatt der normalen?" } diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 729e0ad64..a7c7b8e50 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1358,5 +1358,7 @@ "NAV_REPEAT_PARAMETERS": "Define repeat parameters", "PAGE_REPEAT_PARAMETERS_DESCRIPTION": "Mark which parameters should be preset, when you repeat a specific brew", "CUSTOM_REPEAT_PARAMETERS": "Repeat", - "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Activate customized repeat?" + "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Activate customized repeat?", + "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE": "Numeric keyboard for grind setting?", + "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION": "Do you want have the numeric keyboard for the grind setting, instead of the usage of the whole keyboard?" } diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index 44ae472c3..b8e74808a 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -57,6 +57,8 @@ export class Settings implements ISettings { public show_archived_waters: boolean; public show_archived_brews_on_dashboard: boolean; + public use_numeric_keyboard_for_grind_size: boolean; + public welcome_page_showed: boolean; public track_caffeine_consumption: boolean; public brew_filter: { @@ -192,6 +194,8 @@ export class Settings implements ISettings { this.show_water_section = false; this.show_cupping_section = false; + this.use_numeric_keyboard_for_grind_size = false; + this.brew_filter = { OPEN: {} as IBrewPageFilter, ARCHIVED: {} as IBrewPageFilter, diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index 6df761a28..826f099b8 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -12,7 +12,11 @@ data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_GRIND_SIZE" | translate}} - + + {{"BREW_DATA_GRIND_WEIGHT" | translate}} - { + public async set(_key: string, _val: any): Promise { const promise = new Promise((resolve, reject) => { - this.storage.ready().then(async () => { - this.eventQueue.dispatch(new AppEvent(AppEventType.STORAGE_CHANGED, undefined)); - const data = await this.storage.set(_key, _val); - resolve(true); - }, (e) => { - reject(e); - }); + this.storage.ready().then( + async () => { + this.eventQueue.dispatch( + new AppEvent(AppEventType.STORAGE_CHANGED, undefined) + ); + const data = await this.storage.set(_key, _val); + resolve(true); + }, + (e) => { + reject(e); + } + ); }); return promise; } - public async get (_key): Promise { + public async get(_key): Promise { const promise = new Promise((resolve, reject) => { - this.storage.ready().then(async() => { - // We didn't wait here, maybe this will fix some issues :O? - const data = await this.storage.get(_key); - resolve(data); - },(e) => { - reject(e); - }); - + this.storage.ready().then( + async () => { + // We didn't wait here, maybe this will fix some issues :O? + const data = await this.storage.get(_key); + resolve(data); + }, + (e) => { + reject(e); + } + ); }); return promise; - } - - public async export (): Promise { - + public async export(): Promise { const promise = new Promise((resolve, reject) => { const exportObj = {}; - this.storage.forEach((_value, _key, _index) => { - - exportObj[_key] = _value; - - }) + this.storage + .forEach((_value, _key, _index) => { + exportObj[_key] = _value; + }) .then(() => { resolve(exportObj); }); @@ -68,92 +71,88 @@ export class UIStorage { public async hasData(): Promise { const promise: Promise = new Promise((resolve, reject) => { let hasData: boolean = false; - this.storage.forEach((_value, _key, _index) => { - if (_key === 'SETTINGS' || _key ==='VERSION') { - - //Settings and version will be set realy early... so we don't relay on those - } else { - hasData = true; - } - - }) - .then(() => { - if (hasData) { - resolve(true); + this.storage + .forEach((_value, _key, _index) => { + if (_key === 'SETTINGS' || _key === 'VERSION') { + //Settings and version will be set realy early... so we don't relay on those } else { + hasData = true; + } + }) + .then( + () => { + if (hasData) { + resolve(true); + } else { + resolve(false); + } + }, + () => { resolve(false); } - },() => { - resolve(false); - }); + ); }); return promise; - } - public async import (_data: any): Promise { - + public async import(_data: any): Promise { // Before we import, we do a saftey backup const promise = new Promise((resolve, reject) => { - - this.__safteyBackup() - .then((_backup) => { - - this.__importBackup(_data) - .then(() => { - // Successfully imported backup - resolve({BACKUP: false}); - }, () => { - this.__importBackup(_backup) - .then(() => { - resolve({BACKUP: true}); - }, () => { - reject({BACKUP: true}); - }); - }); + this.__safteyBackup().then((_backup) => { + this.__importBackup(_data).then( + () => { + // Successfully imported backup + resolve({ BACKUP: false }); + }, + () => { + this.__importBackup(_backup).then( + () => { + resolve({ BACKUP: true }); + }, + () => { + reject({ BACKUP: true }); + } + ); + } + ); }); - }); return promise; - } - private async __safteyBackup (): Promise { + private async __safteyBackup(): Promise { const promise = new Promise((resolve, reject) => { - this.export() - .then( - (_data) => { - resolve(_data); - }); + this.export().then((_data) => { + resolve(_data); + }); }); return promise; - } - private async __importBackup (_data): Promise { + private async __importBackup(_data): Promise { const promise = new Promise((resolve, reject) => { - const keysCount: number = Object.keys(_data).length; let finishedImport: number = 0; for (const key in _data) { if (_data.hasOwnProperty(key)) { - this.storage.set(key, _data[key]) - .then(() => { + this.storage.set(key, _data[key]).then( + () => { finishedImport++; if (keysCount === finishedImport) { resolve(undefined); } - }, () => { + }, + () => { reject(); - }); + } + ); } } }); return promise; } - } From fe9a0e35854a3b6abe4e6f2422b9d8aba6dc0383 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 25 Feb 2023 20:25:15 +0100 Subject: [PATCH 037/129] #463 - Supporting typeahead for beaninformation --- .../bean-sort-information.component.html | 91 +++++++++++++++++-- .../bean-sort-information.component.ts | 90 +++++++++++++++++- src/services/uiUpdate.ts | 22 ++++- 3 files changed, 191 insertions(+), 12 deletions(-) diff --git a/src/components/beans/bean-sort-information/bean-sort-information.component.html b/src/components/beans/bean-sort-information/bean-sort-information.component.html index 74cd216da..66c4a3768 100644 --- a/src/components/beans/bean-sort-information/bean-sort-information.component.html +++ b/src/components/beans/bean-sort-information/bean-sort-information.component.html @@ -11,32 +11,76 @@
{{"BEAN_DATA_COUNTRY" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_REGION" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_FARM" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_FARMER" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_ELEVATION" | translate}} {{"BEAN_DATA_VARIETY" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_PROCESSING" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_HARVEST_TIME" | translate}} {{"BEAN_DATA_CERTIFICATION" | translate}} - + + + + {{result}} + + + {{"BEAN_DATA_PURCHASING_PRICE" | translate}} (); public settings: Settings = undefined; + public typeaheadSearch = {}; + constructor( private readonly uiSettingsStorage: UISettingsStorage, - public readonly uiBeanHelper: UIBeanHelper + public readonly uiBeanHelper: UIBeanHelper, + private readonly uiBeanStorage: UIBeanStorage ) {} public ngOnInit() { @@ -42,4 +47,87 @@ export class BeanSortInformationComponent implements OnInit { } return false; } + + public onSearchChange(_type: string, event: any) { + if (!this.typeaheadSearch[_type + 'Focused']) { + return; + } + let actualSearchValue = event.target.value; + this.typeaheadSearch[_type + 'ResultsAvailable'] = false; + this.typeaheadSearch[_type + 'Results'] = []; + if (actualSearchValue === undefined || actualSearchValue === '') { + return; + } + + actualSearchValue = actualSearchValue.toLowerCase(); + const filteredEntries: Array = this.uiBeanStorage + .getAllEntries() + .filter((e) => + e.bean_information.find((be) => { + if (be && be.hasOwnProperty(_type)) { + return be[_type].toLowerCase().includes(actualSearchValue); + } + }) + ); + + for (const entry of filteredEntries) { + const beanInfoList = entry.bean_information.filter((be) => { + if (be && be.hasOwnProperty(_type)) { + return be[_type].toLowerCase().includes(actualSearchValue); + } + }); + + for (const beanInfoEntry of beanInfoList) { + if (beanInfoEntry && beanInfoEntry.hasOwnProperty(_type)) { + const splittedInfos = beanInfoEntry[_type] + .replace(/\s/g, '') + .split(/(?:,|; )+/); + this.typeaheadSearch[_type + 'Results'].push(...splittedInfos); + } + } + } + // Distinct values + this.typeaheadSearch[_type + 'Results'] = Array.from( + new Set(this.typeaheadSearch[_type + 'Results'].map((e) => e)) + ); + + if (this.typeaheadSearch[_type + 'Results'].length > 0) { + this.typeaheadSearch[_type + 'ResultsAvailable'] = true; + } else { + this.typeaheadSearch[_type + 'ResultsAvailable'] = false; + } + } + + public searchResultsAvailable(_type): boolean { + if (this.typeaheadSearch[_type + 'Results']) { + return this.typeaheadSearch[_type + 'Results'].length > 0; + } + return false; + } + + public getResults(_type: string) { + if (this.typeaheadSearch[_type + 'Results']) { + return this.typeaheadSearch[_type + 'Results']; + } + return []; + } + public onSearchLeave(_type: string) { + setTimeout(() => { + this.typeaheadSearch[_type + 'ResultsAvailable'] = false; + this.typeaheadSearch[_type + 'Results'] = []; + this.typeaheadSearch[_type + 'Focused'] = false; + }, 150); + } + public onSearchFocus(_type: string) { + this.typeaheadSearch[_type + 'Focused'] = true; + } + + public searchResultSelected( + _index: number, + _type: string, + selected: string + ): void { + this.data.bean_information[_index][_type] = selected; + this.onSearchLeave(_type); + } } diff --git a/src/services/uiUpdate.ts b/src/services/uiUpdate.ts index 3c037cee2..282b7c233 100755 --- a/src/services/uiUpdate.ts +++ b/src/services/uiUpdate.ts @@ -25,6 +25,7 @@ import { TranslateService } from '@ngx-translate/core'; import { UIStorage } from './uiStorage'; import { maxBy, keys } from 'lodash'; import { UIHelper } from './uiHelper'; +import { RepeatBrewParameter } from '../classes/parameter/repeatBrewParameter'; @Injectable({ providedIn: 'root', @@ -480,18 +481,31 @@ export class UIUpdate { break; case 'UPDATE_9': - const beansList: Array = this.uiBeanStorage.getAllEntries(); - if (beansList.length > 0) { + // Already existing installation which has more then one bean. + const settings_v9: Settings = this.uiSettingsStorage.getSettings(); + settings_v9.repeat_coffee_parameters = new RepeatBrewParameter(); + const beansListV9: Array = this.uiBeanStorage.getAllEntries(); + if (beansListV9.length > 0) { this.uiLog.info( 'Update 9 - We found more then zero beans, therefore its an existing instance, we need to update the beans, so the user will see all details again' ); - // Already existing installation which has more then one bean. - const settings_v9: any = this.uiSettingsStorage.getSettings(); + settings_v9.bean_manage_parameters.activateAll(); // Reset filter, because we got a new sort on beans settings_v9.resetFilter(); await this.uiSettingsStorage.saveSettings(settings_v9); } + const preparationListV9: Array = + this.uiPreparationStorage.getAllEntries(); + for (const prep of preparationListV9) { + prep.repeat_coffee_parameters = new RepeatBrewParameter(); + prep.repeat_coffee_parameters.repeat_coffee_active = false; + prep.repeat_coffee_parameters.coffee_first_drip_time = false; + prep.repeat_coffee_parameters.brew_beverage_quantity = false; + prep.repeat_coffee_parameters.brew_quantity = false; + await this.uiPreparationStorage.update(prep); + } + break; default: From d4924b11ea1fbcac14e0468dcc2adfdbd83abbe3 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 25 Feb 2023 20:44:26 +0100 Subject: [PATCH 038/129] Fixing repeating if the property doesn't exist, will result into no preselection --- src/components/brews/brew-brewing/brew-brewing.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index f86687642..352140757 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -2350,7 +2350,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { if ( _template === true && this.getPreparation().use_custom_parameters === true && - this.getPreparation().repeat_coffee_parameters.repeat_coffee_active === + this.getPreparation()?.repeat_coffee_parameters?.repeat_coffee_active === true ) { checkData = this.getPreparation(); From 0ed500cbe9c57df3dfa1515a0173d8700ff997b1 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 25 Feb 2023 21:32:33 +0100 Subject: [PATCH 039/129] Updating store text, and images for iPhone 6.7 inches --- .github/FUNDING.yml | 2 +- README.md | 35 +++++++++++++++--- .../ios/6.7-inch/de/bean_6.7_port.png | Bin 0 -> 738410 bytes .../ios/6.7-inch/de/brews_6.7_port.png | Bin 0 -> 711211 bytes .../ios/6.7-inch/de/grinder_6.7_port.png | Bin 0 -> 570342 bytes .../ios/6.7-inch/de/overview_6.7_port.png | Bin 0 -> 780388 bytes .../ios/6.7-inch/de/preparation_6.7_port.png | Bin 0 -> 703083 bytes .../en/port/1_overview_6.7_port_en.png | Bin 0 -> 731269 bytes .../6.7-inch/en/port/2_brews_6.7_port_en.png | Bin 0 -> 688687 bytes .../6.7-inch/en/port/3_bean_6.57_port_en.png | Bin 0 -> 684660 bytes .../en/port/4_preparation_6.7_port_en.png | Bin 0 -> 666701 bytes .../en/port/5_grinder_6.7_port_en.png | Bin 0 -> 528209 bytes 12 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 store_screens/ios/6.7-inch/de/bean_6.7_port.png create mode 100644 store_screens/ios/6.7-inch/de/brews_6.7_port.png create mode 100644 store_screens/ios/6.7-inch/de/grinder_6.7_port.png create mode 100644 store_screens/ios/6.7-inch/de/overview_6.7_port.png create mode 100644 store_screens/ios/6.7-inch/de/preparation_6.7_port.png create mode 100644 store_screens/ios/6.7-inch/en/port/1_overview_6.7_port_en.png create mode 100644 store_screens/ios/6.7-inch/en/port/2_brews_6.7_port_en.png create mode 100644 store_screens/ios/6.7-inch/en/port/3_bean_6.57_port_en.png create mode 100644 store_screens/ios/6.7-inch/en/port/4_preparation_6.7_port_en.png create mode 100644 store_screens/ios/6.7-inch/en/port/5_grinder_6.7_port_en.png diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 06092355e..09343aad0 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,3 @@ # These are supported funding model platforms - +github: [graphefruit] custom: ['https://www.paypal.me/LarsSaalbach'] diff --git a/README.md b/README.md index 11db33644..881444262 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,40 @@ # Beanconqueror -A cup of coffee is not the same anymore then back in the 80's, thats why I wanted to build a tool for the coffee community. +Beanconqueror - The Ultimate Coffee Companion -Coffee has been grown to like the new "black gold", more roasters and more tools outside are growing. +You’re a coffee afficiando, and so am I! +Beanconqueror is the product of our shared love of the drink in our cups and in our hearts. +Whether you're just starting out, or are an experienced barista, Beanconqueror will help you get the most out of your coffee. -Apart from the mechanical tools like grinders, portafilters etc, the app stores are pretty full of coffee apps. +Optimize your brews: +Beanconqueror offers a wide range of preparation methods, including V60, Aeropress, Espresso, Orea v3, Mokkamaster and more. +Each comes setup ready to go, or you can customize your preparation methods with just the parameters you want to use. +This way, you can get your perfect brew every time. -But none is taken care about the community needs are open source and neither grew up from the own coffee fascination like on my side. +Keep track of your beans: +Beanconqueror makes it easy to keep track of all your beans. +You can easily scan or import detailed information of roasted coffee from your favourite roasters, or even from your own roasting setup. +It’ll even keep track of your running total of beans so you know when you’re running low. -Thats why I build and maintain the Beanconqueror app for you, for me, for every coffee lover outside there. +Track your roasts: +Add all the details for your green beans, roast them in batches tracking the variables you need to to maintain consistency, and automatically transfer your finished roasts to use for brewing. -Download today, track your brews, change your recipes, to get the best tasting cup of coffee you've ever had. +Dedicated water section: +Beanconqueror also has a dedicated water section where you can add your custom waters to be used in the brew section. +Save all the key information for your water recipes, such as general hardness, sodium, calcium, magnesium, and more. + +Flexibility and Convenience: +Beanconqueror is available for both iOS and Android, so you can take it with you wherever you go. +It also supports several languages, including English, German, Spanish, Chinese, and Turkish, and more will be added in the future. Beanconqueror is also Open Source and free to use. + +Flow & Pressure Profiling: +Beanconqueror is compatible with a range of bluetooth scales and pressure profile devices, including Decent Scale, Acaia Scales, Felicita Scales, Hiroia Jimmy, Eureka Precisa, Skale2, Smart Espresso Profiler, and Pressensor. +It can even produce graphs to track your brew live and help you repeat your favourite brews more easily. + +Track your caffeine consume into Apple Health and have a look there. + +Whether you're looking to track your coffee journey, optimise your brews, or simply keep track of your coffee beans, Beanconqueror has everything you need to perfect your brew from green to cup. ##### Follow me diff --git a/store_screens/ios/6.7-inch/de/bean_6.7_port.png b/store_screens/ios/6.7-inch/de/bean_6.7_port.png new file mode 100644 index 0000000000000000000000000000000000000000..4d5790a9270c37a8da84ec6a6ca3e8f03a0e3673 GIT binary patch literal 738410 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%0AxeG+(bIiZ*`&uaDpH9r+F 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 z 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 z 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̒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�i?4f__J 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�_)ipC--;j?b&>kItiGzQu$qut0NFTY=z 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

$yY_Xj_{4DR`koQG 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

gTQsR0VHKIjwki3JeDfDdJ5WooV| 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ⅅ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

5r57<-<3a`QarQvhJ8f<5dhFzp_6 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

&R-*8It&(;rwo_$dlh)PodGK%mooH>)x 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 P@BaRzPoP7C>0~zOvC$r7f1d+7fRjeY-&|%tL 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

XlW%^uPOSJe%O-1je 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®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 z

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≷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 M}{Lc&F{R5P;tM&K7PL#1uMtdc(cHz=r`QhpY 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�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ⅆ>6HZ8JMj4&Mpwnp0;kFZ9cjl*O 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

Uv2OQYg-h29TS1UU~8XGyj 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%0Dgk*7kzpoaSSrwY7 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

svwIjLft+5S8Gz73Q4tkjyKrM!S5 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 z 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%0DfOK-_T>1QEdmL0 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�}fiDs`4xNm96=I0m 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'}9HeNgIDdspp`p{%@nW3yA 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 vM$8k}I3HQDr6g literal 0 HcmV?d00001 diff --git a/store_screens/ios/6.7-inch/de/preparation_6.7_port.png b/store_screens/ios/6.7-inch/de/preparation_6.7_port.png new file mode 100644 index 0000000000000000000000000000000000000000..32d0d3cba9b5c46f1e4d67ba6b3d1939eae07a13 GIT binary patch literal 703083 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 z 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ç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Ḍ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%0AepfNCM1tpn&dChU4d*#!|(M|+0 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 z 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�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

kIZP{#eo?AA}!atV?JMo;9w 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 literal 0 HcmV?d00001 diff --git a/store_screens/ios/6.7-inch/en/port/1_overview_6.7_port_en.png b/store_screens/ios/6.7-inch/en/port/1_overview_6.7_port_en.png new file mode 100644 index 0000000000000000000000000000000000000000..9f011ea0d65d4abfda581ba35f9bb294b6651ed1 GIT binary patch literal 731269 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 IUfE7mCu#~oA`rE64hbnXR#LR_|$UA)R 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%0DC9oeLHKYingVwiA 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%0AwlIdqE6#5^Y7@0>` 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
    vF@BrJ!9-G+ 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

    QYq?kp6D2L3%6iFg-T}`Wc)s0U38AD_F~8j< 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

    4T25k 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

    |Eiddkbb)^v@mm z*M6jmkj#6RHI_FOY&qtxb}V)rN;@aFbRN#N?_2DG-U7vW?S54z-~3>>UHFT%pLXf1 zE7xn^8=vUVUD<6bdIYa8TRZx&@pSY()csazWUVv7#`(q(!q@r5>PI(YXLr-pei_NZ z_+Ykrw|cuJhrE60|W4K*5;HQ#Y+T#Hpv!3gu?@5EJv{gpcb zasdJYUZnruaRXjfhB5GXV*NQ@dGYvI%o|pJhYyO2cZ*v27L`N=eq~R6t>aJ zxlVX8#X2P^7kWGSbaPcpaGTc#-@9F?&PDYN8?+*1&T!})qC^+$95VD|{@FR0u<)(? zFEoA}dneH@U05+%E?Te}7wyB`V2&aDt@NCua}|D{<$r9KI2vk7>#vdj|3QTglqyWt zfeWdckM=Ee+{d`vLhUJ6vhVV;<%TNqP>9`P;;J+qsu56|{&bVFtf!olQoCXmXotdo zsJY8uC`qi|)xRz7haL|Etu5=y{y(<9GAhbIixv^3q!FZHK)O?;yGsP5m69O@NvWY* zy1PN?ZU#Z5bLboz$$=Sa7~*l?dbi%X|7Xow-}=tC&)z5Y=@MeYzl?lyq_M0>8YM^? zI4C-$_;#TD$_yx0zdGCW*02+EnjqB#e3f*yf3Ufy?Bov4eCVVLR?;*4@tx>SN}U$I zQAAiDA8K#3@mRa!SPQ(JeVJQSX=NQs?w`%-pr`fUVQ%L*d!GITW{>SAiS2TzCc49VK4g|<`qC6t@}F0i!WN(FdLVXbtgaZ;U( z7&C2>-Ek`8R#p#m!{WQZ;SW7;=-7{lMr_yyN_p`;xcz1|jS8-bVVFv5I zyRNY}@G|klxO)&9Ey``aw_gRhU214A(b@s&p-%Svj89mAv3SOUO>%z7Vw{jElEsq1a&ZDCE^5MRGDYRKG4hwEuMRxI$_z*hV*l?0;RgI-IzUJz6 z)F%oNi!%A{BpYqE@-1)1JwEsk;KqiB&K4FkhRB7jbM0(j?sl4mHJ2vq3$Ecp7!p$V zlM_OlsvDaM=vnUwLxO+S_;ccY1g}VCxBFP%+og?&8_koTy-pP&I`stYp{CGMW!fU(j%Ds9-j%xfOW*W=8Y0d)XEXP%&7`y1-JSD&-^7wZ1alU0= zk6Qx7PuIIW-@%&0B%i8%bS$mE|>dKrJ8d;8MjE|i<%|&p;!L&Jl5{=nN zh59uD{gCN*`nYfC!dQzXZ*hB*Y8U+2`>S9L?rVKl6_!LXvU@5jK72FrXr`d1w+qEW4TbXf6ln~fGPT2)zfkN!B<75#>P1{rC(nNJJZNZt;PLf zgd%ynihZJ{ts5;p>%^{B$VGkSuQk(9LV*q+ti{0_GJBE-DXRn#fMbh z^CoiyDj&gMPRYN8z~4a4VA!7T@_|W5CrHELf5M<9W}rUI-g}3G?3JL$*t$MO!P>K( zc>;cCH5t`rJAR?H4}1@x-C)8i{hQBBl-r}Udf?rTk~EN=u{~AOXBS?!`g+$4QvmLm zi4lmbrRj_NRcY0I(~Q)cOpoyXi(IatS}hFyv+5NbDVPD$1i892kvGqE$9>hcGU4Lw z)tz0|NucvaSU5E`Ep22d#&0-aAYjWmMpiS(^U;lvIeV+MQ+{TPpK_pqPJZKT-L3>q zpG^KR#U_Qdg8)y+^$kCjr#M12ZEv*J)YQn3-ncuAAm3cpFYxeeZ&Bke+Zm5|SxWtj z&i)6-UB4qdy{d6xtAZHiT=_cOnT}t^$d4GgUc&`~v?)E@6G8}Wv#3S@I4`F@7=_r9 z%d*1B{w{^jUJbac<}?u$%s3=;4SVdHw*76;=A#ROh6P^wnhe8wv?;v&*E*3w5jjr7b(Y2`bUwd;P||3tyZb5f&B(+1#{fi|7ZN z6AbiR#1=S76s7%XZiijS3P1PXh@hDeex&m~v(NoGVr2aZeb)_I)~Ktk9WT)09|s^n zXt$Kj;^LT9JGWri{5O=iMDzcIc9ysR62|*#Mcg%Yl7gWA6s-F8HM&D%dpwKyh<uXIi4M=gE&$qxgsC3VM$o(!Hr^zzN=V{BkFBiK!dP2PqG|k_t*; z048?+uSVZ$cJJo-+?8*07N!@yGxtOZjA2laA4A-peG{zpm&S`1F9fj^w0P3+)|{!$ za`PCSye`~Y`p#W*X-fxU`_3GLS;ZwCp!CS{r>mIa#^%0IIzaO*W~AWJ1KY&N_6E<$2s#?Iky3xK!&G%8;gulJ{w38{^H5I0}SOVSIq9 z3S*r>KGA0TELgtTT*i_S;zDv%-zwEz)!2DKC$B{z-oyQ>>^|_*bo~)!Dh2=DyqMsk zXGCY^mGfE^0^Km>>T$Ci<(05+;z+sm6T+c&<+yWB75;HseuIi7W&Kr9ld(qP#PnU} zLERohmoNVG)~+9-!qO-CAGAH$Hg(wULR<9b-qY2Vk`c-d6X=&y*I3ND+uC@2(@wnO z=G;8Q@c~@C4(~sr^j~=O%?HD%t3qd3W`F1E&4kl@#3a9fQJrN5DWi0xvMf=^HK31$ z!Dc`Vu4~H)z%VRuFUx6xNh_J@9E1z_0%W+}M8AJNWpa41rpfXQA zl0wCk0f3pdHfNxZcRCrsbVRFGQQt(n3@tt%Pt~wvY9HGpTRWlUEY38n0!>D(a|Q=i zT$X)cIuxj)DlJB_U=`Z$cO_6K!H!`B9V%j%7+wsPuISMUgUkKmBOoHs;%G9FBG4K9 z{q6mT48gt5EXmIQdOob9$Kd3sa_RZJD8_{Gg2;a-ytWyf{xo%vU?cXHq}RJm3tXwS zP+shs`aH1QzghtMIfhf9_*iDxGEn*;&Ck^GnNB)3r@vNBVUNU*T>D2{J$bx})@q3o z#=XTjnOfp9`yv(_d^p^RWujy_RX*z1n)lnoUEx3ARG+}WtJbyP;q-kAVW`POb9+3# zu{kKd++8oO!n*Gtsl$yQ-B*ueX@I=B#kO2ye@yC93{IA&H22?0G*<4{4;eGsS^ncg zzxe#uib1n;?;IU<4ug=4f-!HEbAtp&GQ(-+3oPvj`5SLvQmXf2HAdWX);k;9EHG_* z{;kwVhmLV%hK8*!D?@YQ9VJN}>L$G#uq zSKsBw)K9Q1!Sff18A(^&nOboX{%iW1wn@?CbosIe<>Sxcm=i6t^_$n{MAzCd4foF6 z`7ecD=bn%Tg3H>J_f0Y=Iwd5ahYfByy5s=cp0_Od!wEiY#e3P*%sDz<{~VV>QPXv zbj{27QtjOqNaKyt-sR<+=;3vioh(P>K$573#)qE5#5s|CdKP}UOG`^)8oagTCUdaA z9H+4MYW*Z zSL3Lg?jHpLI*^ll6T!{F9PZhpNJ#fccOi?dAiyNBNHM%}F><^sxO5aE*gqcEL-e0b z(W9-c%$xRpInJ4mEe&Gb8KuuJ$PfL@8!ce!QtdENltUkt6RYuIXwR>cm8#5PXu??s z{|tI$BKfo8*nE6()cnqrEidlwzeC|lZoL*}kUKF%AXR!<|NV2#3jnUChxHfEypVJ% zr!TC|DjRXUBOU-pCXwAgEq^w`8`;{q1lZg-#>D)PieWW}G48{;E!biH)sJUq4ZT zeQE=P2|CKqe*rBOL5hLS<2CEQ1aIe0HXM~mY0uGg%|+wp>6Vie0({n`@+G?9A}Y?A zNshfg=Ti5~MC)hMB>aqt$-MaA%qr%*+tIvkuvR}Eb#ipvmkR_m0|8@6Y+J887;D)c zcjbJVE})6k{R2-W0oy;mlzLUx?dU*U$$u6h6(;-%hP$=OFcjWX{fA8bg&7$zVhMhR zafuivIG;th~9Rha;fw~>RE->?h^ZH?w zkL$5x)*hm2kLwXIKj9SIJE>TD*c;ew;q+fJ@Q9DxQ9kvZ>Qnz_X(@N;ZDeSsd3boZ zlt!;?#j~Nu1OCMq23HEn3Cr~Ne+WnkM#`I;`%_X=s|Wx74g7HUOImW^o8?~_*)5z6o3F`3xe3#lTUs=>!~-O zs&0KFoX@C3F4(cN`?=*8(DdMbx`!ZfVqNhTv%F~_%Xa{fAz;o^WAWyD=h4>1O^LR7BknQJ=(dm3q(nT zY`YiM&bk-t(Pak@SEP~*41}Xyt@_hXQ5&ac5wQt!@GIZ*rzZ>QeC^f-N%7!HeCiD) zwFJ}9(rS=1^ORy&1p}JWyDBU%JI}jJrCcTxR~rEq&Nkj}yFeF!vGMVA=8fTD7o+UF zc~PR!3Jyhjn?h~#gc3t6ne@nBQ=(9aGO5l253#edJi}D~^J0xRf`W-*3S^olggS5B z`AjE0?BMSxsq&QNApF!6Gy)oOqlrDVB%k$D??72g7c7wf6d~7>M7$K>P!nU#nv*oX zEozQvBK@V5_V?OJL7alz38)Vr%~NCU?iWH+q_z<#W6{~K;X8F6q%lP>Orp?OQ;Lb-Gp1v7 zs+!?4$9HfHoomqbu}_l})~x!A^Mj8yyP|&=eB)jkg&rTA@#DXRAuW7}v3Nz@OUx2P zC04tDKp=y}-LcNiSyp$M0Z;BiUr@K~i6JdZitx?|N90?Fw0oQJVBK=-ucHuEG+;_g zcFkAtNTa^}p*DM^VfIrx^zfSwN|h#)C4SuMBACE}T0iMDu{(mv zNb?G@$pML7v_iHn=i04KsAr0mmlu z%yr6Z>^Se0@)ghH_LhMbn9<|tuE!%WzV`Um<$6*?yCCkXWV$Qn$;~Y;h~DnF%bHfh z)rDgbW16n+dE#&9CDfwaM7MP4%d?`TA0h!p zn-{hRdhEL2Y;-t59&Y>}^3Kg4kaCG15*4}s2A4KVNC2KF>=OM5ImCLGSmy|GsO1@A zpBUyGO(3#4For*2vnTx;#;Kyid!N-i0V95vlnl=q}UM#9?UhAQ5>0r8B!og8t zbF;Y2B7lyJ`>oaQW%vs9ihXL z?M8f&on$Y2R{=+5R}!i4XnVF#+EXo!9LIg+Hr1V-_3692yKV&f)8*>fo|20yY1L*z z8uFgNb>_i#!PNhzS(efPSA6~~Bg?*{;K+eaTxDM7h1FE7-m#e1Lp~L672Cxoh!K1N zU0Mn2T~#%Q4s|m!KuaZ~&_bM0m;Oa46z&J9i2f1}(`}?%_R-Ku%exYc_4Ci$%|2jr za_vy0b_1`vCx9;hQCLidEq2_0xW@JC*hLTy1h3%dOlw>LOK!8#jnj^BpZW1O(6tk_yI^-BQv`oB&ETWG%}de;jxXq^YcJhho-k7@+iPLa z<)SgDrje6RC(dPJfkD_zUY}!rL-w}DXMgj*^5cxUOI8{e+CY#IpeVyQ^ zY-XVg!8n$tMv`Ta18UWX)I8$-TF%e9d>AiOeMn-)R?Q@#hvGt1e70F~O}}A4p@y=& zmlRo--dPoXKWV4SijL-WQuQ3|sp-By<~B^rnFP^qb)NOk-Qn{SDJ@|0lMfY*aO8p% zHwHY82ZVB%CI4NWLp>@lR!+*We#CP-2~$>s=o_l$Z%*{xGH@fKi!q3RFRMAy$J!eo zu-*qfXOm1OdVwmD__hyEIY0Y70qOFgVq9uo?rZcGL8d4u>*$C=Q`hdJtygSpZmG5 z8^m4NXC{T9cFtVQ%A6!5n#+QvE#J=L7f;UVYgiH4X*D+eB%&H69{ckr95kM4!C%EqN%_2vZ(=xo%a1&fUACSv4{M8L z@T|HjNpDcIIIimU1XXuT>H<8@d|te*tlGjkW#sB@mO-bV-wxD{hsR*HEjYs?by?%V zxFqE(8_Y*af-5a$uPzLx4!fti5{Axq&EM$!yA+Cul=eE|giSBQ>tG_E)wZc5F+M}R z+@CE4@Cv3$jPBvJX8ObwFL+^MgfIqWe+k&&?mUF7Z3p|pe$@{3liESNRr+Pf>{dEt z$2VKqox0?LHSdUTHvEeC9;HRhmPBaE4l7@NWf5nMDT>jL=TVlP{MlNFd$p|zN9OYo z+`{kcL`vWH0B4QudNCU+pr+4Gv^^L3pIlsy6uT|>PRYOtyYw}2E?!0tnM*ZWQ#|%i z2lQs}-Pg+ehy}C2IXWLwi>T2>l8EZW}?12?dx;+Aly8h<=!Zpkjm`(KSqCJ33 zElOWo62Ny}Vc{k~u{!I*NEeC#ve%93I^G)`SY)C()}?!ncfC*-7|KJXFqriGv+36U zMMWCW!lL(dK(MXbf9P*((`?iEGLP1n4k9M2WtxRRDoymfG)C#s4RYc)*7LDtrS43n zF^Sgz=lB3&V9`|S$Hk+!jOxdyg#P?03%AGcsD_Vnj;6fj&D%IxUePlv`GAR@tW`y? z+?ExnL=OB#PTRAiE|CrGE*MDqH z7BXyc*AspkzN+D*N-&cIEercbAn~>~cRqFB5fEifpSTi+vV6n*=Cx-{hxqk4T+qlQ zWs&|!fo=%!39x{ecawc_lh|vmj5Vqx@%=#`vS*6o8`El5lnJCBl5Qt8Z1BX0luQ9Z zYxLN0oir>4^nyLjHz66v)q>D3t4LPUuCD{PC&-1*CwJN*w2XC?-3NTK5$-0%+0EBH zR{I8MNoSF`io~(8v33p-Xd(3PX+df@lKs*G8;bMWJYM?gDNjm^EG;42CVbtYS^Prx z$7d5bHvAmZ+o6pg)PU-N8a6g&?2d{(HmReZ8IBM4XJN#%t?#W~H($%4QdaOb*b1VQ z$L7l3=?jP&e6mg1)FR?i9%Q`zdKt;fTrL11*P9Z-avg+p3Zj13JqS~_+4WKdnUL)s zbykPd|CuNxDrHX=zPMl`d@-T_eEGDork`KnYt^WU`C&JOv1v^+1knB2BmeDz??su@ zABlRZ>GmITCEikgK0l(3tcH)dc_9Os9mWS}erR+j;mDmQzFe_!G^7K`3E0QGT_vU< ziBcFX8m37rosDV@RHSy|iUr!?>z{Sie;E0%=^AGd6E^6PstyokA_`vdFZ4E$Wh0Nc2JQL4vnD~^_msC$%EzTGH_?%$R z=QCY&gF~j%j#*nI>O)FFW&AbbIr@5t_=k$w?*u(KQM00n3cjt;EQV%g&2I3vhjS5} z=n%_)4A)o&UycP)tc#<)xGgAP@L^zy!F;+I?|M6^&i(_9K#Oya;0YtSpw3OS5Yv!G zg3TSyyR-G_*N3%Q{GEe&SqeFy94skEJbW$QC3rX$7bMhKz-O&0&dasGe!1y3S5nOp zW+)$w&P#p^!nmO7d6yOtA=NA1_BQ8()m;D3tL9p1vKLCvWEV`@ye0h3!u{*fn2m2# z+Z%by2E95|+A9E)-eZl{3Q1?1o1Kp{shD-$QWqW~BXk-ER%z2z0~X$tW~M%_W)bOJ~k{-j=Qr^;LTfo2b#JBSH zek8mTBCUjv9p~QA&}VG?qkmVerp6iU+gGjwd))0-@d{5v3if)|cg76N-i~nWbBbf# z|90)w_BBPuKn-7{i)p9uNU^^2U(k>ipZJ_3jFix`Kcm2Te>nS5&hbNLq-0)27z zWR&RZ?U*>GRS%aPh0r8N1!3k_!vi?__08>xxwn^UH!Alyhl!q#uAF?6H8mwSU518+ z@8XlZrlqOLH`1_~@5m_Xg93f4X%kkKrK|XZ(sePa0yrVz4&(sRfbgWXv1v zMC;NiMqH0Nt)31>p#S)8FUCpiG&#tM#YHyE!-H2a+@ALAdsWp-r0MzFDS1*;mTdj` zRK0nl@*xAp4|wbr=YOx$pV{|dvRW66*=v?ZL#-em@YJZ1=dcci?gF=~_d$eQ-mZ-P ziy?315G2G^RAZv1LHgDgvB{{ZFVI6LKia^KiwuvSbL6HNeBn~s_F}TB>KWfIZxo&* zO0q9y8)fNt-_{dOTyWYdLq1pUtt~0xpR~M3B!2v-7eN1JSkPJJelCBta0s?M&yMsf z0(`tEEZP*c(9N}S?nb^U?tc7`l2`)b^5qMjf0r*bW%5@|6yH`%4DDPBSAPOG`HprB z^T3aoOD z+pQ%1zL8zeg@18~*D&%;dgU;zNuwT-OJ90i4zD9H8xN+>YuNSd>$J|Rlb1AKPNCRW zihHEaN^$!>DT8vqe*aeUcq|eP`|KSh^DQl}k*^SN1hRaQkwob0`y@q64m-utGPqR3Q^6?P(sGNr z?$a;+fJx>+Qepy)y+40K1>N@(cY3TyH^+(r6%zA%B<{HjKF6L>AH~(8)qtQ+`sQeR z3e-cs()WZ6qAkS|g9g%q6!wQWD~v9YZW#TNNM8yXDj~#y$}^`nUu5|l2hil6f`RBY zS-Spf_rlrd6rbe_ZUzkf3x z%%@{jZp^T_xS2dLq5sQc+7944VVi#22sJkiWM;WO^OY^0y1%%1iHnBVL^hnOg6IrN zp2cQGM7Q5BH61p0<$K7*BVnG3N9)})%WCf>u$2wz>y78rap_Un0Xw-%h4w~V$qE#b zkH%Gj_PJ7iiMbL!7Un<{@am7+e$*wtQ+pO1Gylgtr~+(S>8)s%C2Rgwr|Zq`-1>+_D)Z{76ihO36)HLH(>FnQ^< z6koYKkJr(egop4C`~2O|K?@XD?gWB58H&gW=kjy64nj=kAy&faam3C~;Dmn4Qj|2_ zRGRsQ%FjB#%l#!?QfJXV1nNCGvlI-+Ruo--jxNvXLo~RlQu;U3AK`@l3jV;08-!Jl zW1dfCWQ8UAdNjdx5?^kFptqJAPyS#a#4Rnl$;yxwTDI$?D``MZ)WnKFE98*6-`P7q z+)@JWUZ~*~*0Vz+2*0@#eM=6lRWps3!@^#MyrUxg>bWy~;dXc;q2P57xI4M>SNDTJ zvRa*=3=c+>E9NwYUmh$yLmJ*9%jh62QGaijYvLeeb^Vr&1sL}@JRsw~ zyym0)1A}0m#2we&15!}sis&%4o;sGt9H9P;y%!2ax3bIXPRz3l*p-*3@fw=%6V z+>a0CGVe29hO1yJKhene*j=avH%WauBRsYjAL8dC1>v!eT>}Slwx}>K9~qHsG&3J7 zXEfHjnTfb`R6527`nsiXzV7v?_^fx=>tgi*KzrhnX=n*MCX{Aw@kASnt8){6)IA;x zcSAgvhIsQ$vTrLRr?MHP^Tm7CT|^+TI-qOrbVkQ!nUpZ}V*SH|;ez z5`Hgp9Eng0lm=VIyBL0$B|FxjK`CJ+X{Gcz;eog5+a{$Q+-rb3U`=!M60c_Vy`>7k zj?L$?lAo9F>b{B z@lIt9 zwL^YUebe&qaSIh7=I#T_l>e#tOC91c!> zo=coMXU!e+yf`b>fzK)u5_jcdQ`a007J*`xjrz@`x_w#>s_ zMZ-N4C7C~(Z8|9|ylWB&f22SKY2vg>-3+CkkRB= z$N!!<&DO(6ueoBxy`y%`<5B>P#vJ09^|tF`@ba})<~Z-p=fP7!`R9`?d6RO#Nr2jO z7=A8wA=IJjJp%?IL93>I;>~Sfaj55qJvW~3cua6NKM8k70ON*@4ZSs{XxWQPikh{7 zdkR>8o0FuIOr6^+bal?k&ZFZidYbFrg->@;yVL<_SEh#Pw#yo6m?bS@{?cPU2NkJ0 z65MHe5-rfWJj)JfD|Z?l${Hj4bmaQj>;97^p`8PRc|nHWcQ$1T!Dl%k@OLGH+ zuee7iiuZvD=4Lu|G=vR;05EP_T}K+MUjJjc0Q$E9+;{#kz9li}UI8yW?K<7Yn+uBgrf zvV_)VZu7WR=t!~0>#<>9Way0xY%SOgRurc(?fkA7`U8to-L@shq~z(xsQreJKav?P zap%R0v&ZKM&+gJJPk&W&WfEdXm663(a*u_}IE5&ElzyrRr13^e%4UWZ-Q+?gADr*8 z(&=v8V_QA+-LtPzoJ+P*)#2iWVdg>U3b(JE>ar^k*aI-)84~ZPuDLGCya4W&H!|^2 z^^-=#yuBKM3Ntd5UoTV`ygwM}F5@XtKqBIxWV-`Vv0N_u#F%zLRN62Q*FQOVLsgw;Yyl% z34GG~kilVNI%*XIdoxHmD#!3bMF3I}@9Tnw1IBVHt2)jEhTg&d?wvo}p&nHIk#YW7 zT6w-4jy-%r_49*l5sf2h7YZhs;hbH7`J3&hPT#D0eIE%ee%7h&l*iD=<744G_r}Fg z%$pv`KFH(g&iyhvu!cW5@M2c#J`?f?z?R8Z(MlvR2 z3zW8AD}=Bb8xiZg_7CppAS^K5&xq)s=K*Q(fSz z`6)Y4e|lCiA=HkixQZw%@m=k+Lx{?DS^of1b!$Isq+v%F1T)Uz*b}QkozvkmbB0;$ zJ75H{9vz`bs>I5$l3B2sqp0zchZ_I#B9dTvywCsmIwgTM;=Rwplh;G@{wRlPCcW2u zRkT&fUG&{KA&1#`l2BcAl=FjS-?It$^&tHFN!0yIl!+3>^^=UO96qj2SV?F&GyRo| zv_e6r0&U|gGYb#tyn8m@RlqC({+>G-Y^+-ftaT zPyt?Gri6)Bg4ZGU85!qWp3ve4QntvNF1l`11$vZ2w5{s?=1w3+=A|}g^UAs=1ONyv$gNUw6GHPI zZAj32S+9qlJ=@T}i6|7DZf>t-UK@!T{;g$+U;d8cBv{j>=A*S*v;<6bV#!r>a-`80 z?H>L&{QM%#UjsVyu(8?uJ!1STQ3uZ$bz3#RhvaI4$A&5P8k~=9w7EDG$dnCbn(e77 z^BvSljLgK_kC@x87sPE*n7pXalISH5!q1+{v|2fR6gltw`9$sy=={|lF7h6X9dFdU zFAouo0Qa%#YP^j~A13o)jIW{tWd)hOG4{6{zKtKyZj z&2CEUOKJs=kr5ol-(E|$Q;9&|e@!<0qEP&`gK{BPw)|paECCx}hAevRdL#hlmqJ;S zZ(}Yq$EJm~JjShl?y7o7_v_%kRy!YT84XbG4J^4af4WV@Cp7)2a^F{KSC_-0Mw&pd-Jw1b%$%hY&8`oVVOS*;qKB~L&Wb| z-pd_c8FqTgkmmmBAaj)5!b*QL`ByI2B$D6grhe0PXst5FKGrAv0QqD>hK2A0FRyq> zKegv)u^+e3drgVi6-H$`&m*+A%)ZH+FtKM@rDWU=(ny-n-ox4g7Cn`scy6-O4 zra$-dC0H1m+f3sa(&J;Eh+*OC|dJF@|xYc8GKpeAY&`~vP4?}(y!xkAUR@J-&;HA`GN1J!my2G=uQpf@;E=>XejW8 zVI}b@lCDHY$%_|yNS_o?gfmkwg+TqT+;33k4{G;V-D$hIf=k@W^vAH5UxiX=eQ$v` z=bqhK1d>QWQ?QGk_2;8sad3(OPTRSz_|lammbhsGC`cD0UU8(p^c;BcU>x1)d)I&L zcHAE$$Ry)wY@SHu!GLr2X^;#eoR%dd(1VTGRY>?c0_ags(wPuw74nmZptA&=b+D4G zW(v|M@Dg)|{OIG^Is9s*lO0*#$&oXW#*+)o(h&S{1y8XTX8y4}md(~wXUm(uZXFyX z&5L7G&z={n7G2uZYPc+@&TtWdCINW2fZn>`H*WO9m|w@gba33<|IRa^$J}T#z2_5A z_3BETmHd8Lo__-PdNU7l+;J7M7||5z(rUgk(jM}cn$26Ic%wa`_PXX)58QV8pREy;FWw(B8dEoq=qTkM?$8)v;3&ERQYaOVKlkdv&V~h_lb^p+0zFo+mhn4b=qspiJR2<< zATEa*Eu7Lfec@CFO_%ci8HKU!{+PNJl?it{7o7$!zQEd-gvbfb zHv{_K1@xR!54T+rr+>bkySNQI7uigV&e557#+f!>=s ztc~NGFTX#&H%eaF@*$8^@qZN6)7|%R4;d$G4Iyyo+w_u+TZIoU|Lrb{^D)j zei)4>(|<^%=Bh2LJU%h5I(^b6h~?jS`EYanS>SUO2Rd%&T(bIiy5XAjy!%@oMUz$k z)5!x^8jm~~`OML;kj~_O(%q1J3c@r_8)lA5eFJ@YyRoSB)jBjb^Pv?o7ed5eOm=c; z2w|wLVr5^Lw6Uqh&Ah4Bq$uX;i4zy^;-+A_C zP@?zto8D4{aaJew-+PW>c&e}X7uJu%lamvrFWalX{(ALGKD}gCd>#0m1Z0k76QsBw zG+G^)1DeWXQ%K7VV4dk|Kvlbz2L1qXj((~ZPcoZOMKo$X(eC#iEk=#!p!Oe))RR`B z9anS_e>NP-1ZY;V82pcfgtnEOO@1@{#E}Rej{|-sl$B+cq zxB=rF-W@Qyh@8mO3p0#+BfnMM$8+g@dc}uCEwjXM2~!0v4`^PM6F7%kJ3L5zGk%PO-&*~0-iY#8b*Xo z!#A_BvOn`jXAAW9+zjD12)1g13N$n9qQ28p9s~^baLj)xqvGdaYJHli+i_i^i?V== zEpGn~*~znl&v%Ub1oVhwfhV4r%_t<;R(1I!MiEAMcIxX~5@i z5beN>qvSI^x~-5L(~g7LhKKI zk7k70@hLG!Iagg~5V=S5E14xW(*&)z`yPHOM-ESCk+J2LI#s&cN1rL)(^y0{9mmyB_l zULK}?8+rvcIzeZLEe;s`;Af_2*2{JbDSu};IMQi(RElbuUFk(B$yG#{S+>ZFFCxOA z@uOWm(P^apaVWfy?W1|^_-CzQBh48pQrFv`Zr&SZ&0Cv|`vqaFtd%}gBelO^cMaM= zZNHci{lv=nu3scw_t;spf!Sv4@(<7ddneqvndoEerB{0=tjhwY48u4< z8=ZUJyk)TYjLNe3Y=uH2{{%8oJ$g$Y?={rWXr?FZ#ZRA~K2{amfQz{klDlSHQY?aXBOxbqG6Z--ETqQ+k;SPj`;U*gak!19gSC5I(UVjF97l_Mk);~b)2!bin6mrp- zk;$_#;wVTmBmH%K*tVCWpTkmXA<)mpvOr;Gi+k3`kg5_MYfZ4vJ*|d zzh5I&+BUBSG@$zyu7nNXPv%yOJ{+E<+SlTrzeD&xw47@_9Gg$$CHPzu^t~{vs)fUC zCqH@di4qo&2N8P{Z(!ny64?S$xYonfgIHd^d^IM~Kb|^R_B%Zpf_eK&cH6Mng2+h= zvnRMEPN zbSBvE9>p?*z;)xXaJlFQ@Hd@^Uac-9Bq5unH^b0(cQW6X)PZ#h-v7exC5ibX`IEgm zVr5lvT4ySUja(<6eMCx*jo(pxJ+O9OX=elEp({l<~CYnhQak=RTw+QN`mm^aEwDa@~ zd*$L>F!iTb7Pg0|8imw5fJD{n> z`r<;+k2c069rfTx#`TaYIe&T56(^6bVyP1-6d_%a*jO%&Ggdi~J8mOd`-+qLgXMLS z#sNd<$^?D)XWQsw!fb0THYeKFN%;huL>||5iVU;I%Atu(o9kTih{5x*yv?$_JMKHp zrI3~{&=g>U;AWHurKY&ppLbOxj`F!;{rm~Jk$_J2D)8)%LdFZrgIm>NhQK$8SfY)$ zWTBB5y@kFv3p@{Emi&JPy6HePXVVeP%%ubIezvS%u$2x@B~z9+fbl-I4C90TP_>J% zibSzKQ={)QY{d%|>@20bu`jA#CdAw20rcg_EG`{(CwnR99F3WWZFVa`0!{&RCogy< z29(yD-@h#gm@gR}SjOy;k06w=F5NIJA{=aWBJ59YD*-v#u53>Qj65LB;`JzU}NmXgiFF*^+^r zKs3xIFMdcDYXDXV&Q9tJlxml~-g9T5&&|NDU#U>Mx;)9w0RLEQe0l4r1l#RsRbe}s zqWy%4WUi7DjC$ zVvO2kO)3ZEdhUINQx&{-Et zhZ+RC=?X_^lKwn8kjWR5S-FKX8`_a2_7r(L@wte63 z{G3%oN9gLQ?VG$JHp~A*)H}G>6?WU(O&W8@#@?}QJ87IW*kNNEjcwa@8{24X+fHK} z{qp|4^PY2E&tI_jT5~;f&N1$>S#Kj^ST&-!cYoR}@uI8rJUcxXZ0cQ!j{BHKX68t* znCi{iDp3eHW0ccV`M{g&7vlqPLGm-D`354)Yv4)L+-^PKQ|_`-=xJtgAx|eSFj&0Y zgZVDjyGpxslSZCoEr_a$TaPo?<;bo3C4qQ( zrt=&X0T;#mF}HW~vz)l4d;o{{p$L#A=7{R%)iu750m1MAU#x?Py=f$bADcBbHQ*)m^3 z0<2=B1Gw5DRFy=Xe4}~GYNRU$O$50p@EBbs=MC}yFRM)+EZK+og5=#Blot*u&-FA`>P@>8ln7s@j1@1L(Lyl?Fx|wpB6VQVz7gvnB8@iSqdR&T^2iUlY*yhTscr$4VL!JN=f6j7HMU9TC3}apGqW zwrHdm%Vmn_{_nn_2T!8sfVin^7E96YjLq)UZ-E2B0nL!a*5-Euo3T)_M06gi4VAf2 z^&w5}hbCXE;lJS1C&jLgl-gf zE4-(URE`Gp+0mbUVYat#fy)s9;t(@aBaOVV&)7egWf*T!uI2BLsuq7c6*tQ&VfCs7 z!DLc6qxM#cFVCE&A&3dvs)MBep$zcFV1xuz!)n1+uuW>7yz_{PPKOw?PdhBKHukD8 zY0%bH>>1ihV@%+4yS$Zz%Hy>$J~dVJpKVr#F2|fgyVt?DHip{`SX80JsV;2`ovv%m z#ifNf&d6A(EzV+c65N3lc{bI|S$=SD9lLqrZ;4DmH1`{_XbTIeI}&bgoDI}g4=hL= z2j8ZoRTEPzIfW$ZEWiu+bT<6d#Hf;E-kYffL_$;V2_NnOl>LxH%GcX7^`y5S?g;CJ zj&~2dIT#8UIS+axceJD2FSUQU_sdDl{;uj7&WLn9=YYb~xQWBogTt7a9D-RBXy1lJPGy*VE4UCC zqqqN&qj87AaYOVsb$Dn9OvI$SrBkh}BFIpSz_qpmg=GSm{d;A(^BK+`e^+GtOs^;O zttuomcALBG^_p%D66;d%aiYu{EL~sBe1PiT7A(TCv=qJ~ofPjhq}p{o2YSsoD_D+@ z1K&kHu5AQU|9NEGgJp7J>(4$Hv(EVcS-kfUg_DG$w7^rX2NA*r;M_7IBKXm4KlLX; zLo?eDcGdkY?#xeihCDaw9m8lGMzX+sAOIHpfCa_EbtT|Xj$)XP!>U8?LR^?fQ7470 zm)Q3Hc=Yyg#4b-4|OSv^h+HU@>%YqM0Gp^VBqTb;^E~kQ}f~L5dzx#`j3rSB1$H zPQ+9RJe0Z7pd>9OI&y!CO8n;GVg16-D1{OdpIkM3`N1;x@`YRRpJS`jz0 z)be2VPx`{bp1u$3zkoD+wt3I<>p7=9BX&lOB}^MPv8kYCPROzC+^Ym>^@|z5FpjXA zMy${KyrI095;?gAKixx1ncdS7nT?aX82RUv4&j4xE0U?wXEHi!pOoSAZY9IjxC%HV6*cgkdE9kNCgF(W@%ER1v_!sD{ytap{Mtggf zk9o8A1ak*P_C7W6ZePLAGef!f;V)+^7>!1MYSxzBY)clHaz1F!d!=sd-1U7xm!<8G zLf@9`*0G5bv5P&22jk^Z4{oobx0vx0%V%}1&z1$E|JO*=<1Ui-=Ch;_a|52H7m?Fu zzz7}|E3N;2x{y`*uW2@K)*?Z^XS--0{vmz$Q8%J)zem#j7FMCjlaUfF*f736J zcGYRdlWie*UYKQEw#(cU(Qg%B3{UDAeE%Euq#DV5$ zI!c#-bgLdVy{U(00KTF0^{@rb1t~loC(avtn;Do8i zyP@F3L^tQ$F;2wlo6fQUt3ZhZ)E}AWr#^Dhv6@4kLF~ixs67Y?*%I{&BCU`ip{~E) z|F>GY2KMN5Dwe4BC7VfXRmVduLGTs!6o6x)uh2fY4qp)Io zK|5v|3l%nnV`J{rMdW(_3c&gH(d{&D?y)2_0;10y7(E2$6 zo{;c)?eRXFoEMbpUu<_~pB=+CU}csd9BlDQQQvyu$WalM2nHk+p_Ys`D+CcywsdOs z=6Cx*5wfDRvOp^Su6XDU4${SU5+b71!7YY4+Mu}K>4#YbYnDHRkywS}{?OOM+r>@6 zsjWm2>D!xc={VSc-bGGv!D)q?T~18$;iQ8& zxz9Iqn%v<7gKeu>&|l?Ziw8niDx_QVRv>RPhrcBmgwZrCgw4Nc#Yar^tBaq6g!OPh z|64ArOh4TI9T03yjcPi0Uui=&L)v%Z0xdL?a)fLn9wtTxkf4k(lgos3^){LFx{UtI zMKBvF-AAA1FXm?8VGSXX6hj!PN4&=H4A*bB6A?D3d=Ll_g9}00h@bvcH5I(!DU8YC z2?eAP@6n;XUCT=M@5!_sO6X$2k)2-2zp|?NQg2t2A)frQZp>7 z7aK*-7Gi;++!?DUqLTh<1w9#3*(vIyY@1i9x*gMCpRx_nras14bBIpB4L@{0i3#{D zz*|?IvXgFgcS<)@k;ut+*?7N1&)>ATWu9(Qmjz;Ud^$wqg06^KI{t6~u$47G;$p@X z_4a+%k4eQ6xKa}TV>C$Y^H7vWdOP_BGy4YXItA@u&j=XC=z3L~>t9_W>)ol7dlXd0 zTqu`3d+ImZ+lGP;LSk+#_vTyC2bqSYR&QX|=2Z)1RMf*LsrvEYa25CQLhO(a4mG@9 zss2>!|D-5F;X`8V^}?-5wjE}1-XnufO2$)}!bwHRm=a}YGs*=PeNyFY z&1R>Byv?+1o+?f;L=I-`f%BwsF)lPP9r7QR+#f7x*qXm`=Oi%=eJi$xR#uMhHZ=4j zvOEkk64`k5`iJtmc&oy7`mNo)ZD<&nexUdxMB3FRv40Qe z8Gtbn2`65N8qNE5Z%}pCeM$f#D=pP8#hJ>%9ce9ih>;b}$m$?Bd}@mCOXGBk1wL|f z0cUNV?i0M_OMUCv<|NtC@9{(sXE7_qkAa$T*kgsfrVWgd^w9k*jrXhfnGsiBVuyba zqzjsE16tT=R!Zrm1*J!AcY+S<6XveA!&cu%!_2}oUIhROa4xrPuvTNAjD^&M zF#DFa4(Im-LBDlXZ?3sdPa;8nOG69!zsTl=T=<=8&T>XQ!BHlOA>PG;tN+#h3IKlO z+zlMg%+{8A5`Xd~x;`IPi>5-cF{@h!R?c$t5wnA%x0FZCk9|QF60*p9X_TO+)5Vll z`~pA%szJfZ>pI}jPAgPyfeKiz4>7l_A@a?pDN``BV}Yv-bp}d>EN(r|7+%ni&dwjc zcvVeet9F@LgY91Hqo+K!T{F&DCkfB%+mhq^HN)?*3)sifW!N}VuE)yNOHU5f_B+e2 zTgP!tsT9+S+AZ7S?gyQuCK7!0QtzoxoYOg<((f%2n1s>SV)|OoMYNg`s0pTDGp7TD ziIQ?Rq~@GV3;2&4huLBZ{8ETA$~3(Z(ojLr(xT%GK*qa7Tbn47lR}9N*}bkcP_8p& zMfhJfNcr&e?=u3zY{(0ZHy~g*pGI;r;CLD-sKQ@qRV5EIESux=Z_`cmz%6O3#_Yr) z@sCqk!jymfLzVlRc)#P#q(x`p`n(+WB*jW}cPjS53=g1+C9#?ezKJYV!~%M4;{IY_ zQB7MxPba|Gb+JIVtuWlAb5wF9EXXpBXJ;q9g^{?yO&Q$J)1>eECVD0EbT6wkfJ&<6 znl^$y{`Fi$&VoenO}CAPV_`8UJi&BVgG>nu4lJoc{2Ont4QvH0Q>=b z8yp;({h@&p)T_J8Pre(8Gc`-s06elf?hW!%i9qUdI8|?>G<4H6sfvsW{1MbZ_7}-t zWwDq6oR~YpgXUCiawFS=<|D*>f3Rs~9`?2%pr?oV>rv%ktTYewJJt|}ehK^T_~xK| z@j}k)CJWJ-5qtXJ2p`#O^q)8`(n;W-PZ>kSMqHM-D<#5B2Rn$tJmRIjOR%&{rcfm< zvR+<$D*U5^LiGTAkSRN*&o8gh{i>A_j5_=ES*XJa75(A&AV(L$?d9lobR{*kQF79@38xtF*Z_A% z61P+Q3EI`j4!GLoB`UmctjcrE?vpZj0ts|5ZIbdiL`p<_D&Mws`-}nmafY=5A7!kQ zWXQI%J!LjkB^m2O*0vQVfmQ3*!w9`^&?o2pYey!8Qz?=&__nGk+HtDh77wJk)lDOp zz8o9X|CE}xzreumY`Y~pd~){$NnWKQKbvi-NV6ntI6?$}T}`A3YPpK^u*CGzw*+Ub zlMgvQaZ!PZ;MOgl;paB$36dcAiIG}DGDtW)N^^6e-`D3GeLqINjW6;C?#RjuBdd3FYg_fviQVK>aq=d}eAQVPGp`kP7<> zv;6U*hBa?NereZb81;9kqY0Nt+$fp|vLD= zT*x~N>D+rpXpYv;qX{QW(xUf)o)O_}g4j5RSjle6B5HRA9U4Bbq!uj5gF__mQrs6y zuuzaeI-Ra$J4TL8r^(5GIz4F$(AW-qbY(r=)h$Ty^XSZvCO_0K`nubsV5QwLKK!~xS7-pa{5=3~yC9*`s;XgYp-uqcCSui1(a?uhtH5%xvy`B+` zGTxK_oUnrwDw9+>C>U9dktI4Ge+>AS69(}~p%C7xFwXy0s>7rwN3^r1FI^yhUR=Ds zfXN7PNqm3u(}U}jz#D3%S(WKq2&Hr=ephLn_=sc3r72B*luaG5C7o9Oq*^R1Hy5s? zJwaF)IuJiv^Uieq@jjFw>5Y?_EFGCUXT!i}__Xr^nV&6>_P<9>>~-^TqLXWKU#y|; zlct}rMxLLDD%$=V2u5!LFoOear`cO<#|V>#Tj#V`C~{Lm)>cPTG%rj7eCFX4bLz|(BXsn)m?&xGQ-PbA5fO*M(> zhHr^mVffC?Y^(L?@v(u4K2HBVNQj1PPMxTm(f(WUcM!iW3e zd{%O?IkWt~?uenNFLma{C%e?Cg*xBFxf&O5{IFrthLclHTBd# zF~91lIRV@ppZZLGj=zu9%X%4)Q|M+>@Q_{;YYU~klo{`(BZ(*W$u&i4*)w&CqT3Cp z4h_0qqvs;B%+;{(g3Fo-c_nAA$cG(X4#7|9E%qYfQ!ZqAr1oJorKpXpnH%w7ShN5Z zdG#8k^cz-mxy{17J+1HTE_p;@#^GD&kx6tnC;=GAeQjt9tc5AA#Kx=0Xl8MGaq>^| zY`6MofpJ=AMhfFR!$M(0g7Me;eL=X1X?pR-MXidG4?z6a;)pc)1lURF;iQI{USM<5&UTH^Zjff><>SH5=rU>Y zVZR7eb#4NoGh)pHL@x{m-&F9uWM$(VZycUfR&zmr!;~(XL#e04b@Ud#dB+8Txtuiw zVWs4Z;{9j}jS5Xeaz+%(qY!Ky{Fi)Vr@4c^i;ML@wo(tH;C}^FX;kT`3Y?xae^#5~ z&yevHnfu5i#kswq*x5vVUm2Idg$wnQi_6(%E!kL~k4<(&cG2iz*V2W!pigRO_WxlU zM82%#x3NyGK~-5i;TBhTlNK2k;c-0Cb&M6X_50Z@x8}Fueku+r~j!6{y(Q1X{S-HQ=3q% zP1%nH0Mv@1EBXemFxC<$96+P<5ql?mvCx_og zM}j06hr$9KMHOPYi6Vq=o5`%mMB(sxC|Iq%-U2G0a@IGJV{wtcgo%Ib3{A^$N>pSJKu4(31!JWCYG?|}*jO%(X3oqnvUr3xvUJ9};Z;C;QS-zruVdKDGn8H~On zh&LtqfCW}FLl1WA39W{Kn$O&)Nic#}R&R}bt>fy4GIAl#kA)~VD;A)$&JbDgL)su! zZW7*L4e^m!;FL8mY|W8G;i?#!@RY+W*jIz%%$@>u)Ok-__V&IW7mP<&%ZQ_wjO*Eb^$vXj%`(CU!yuKC~z$u4?i%&U8`zFf%E?Vsc-I~|=VEQ57+`2{3z38C`X3Pk?tDG_A>r+kqY*w2{W}7iF ze?ryB**)3wc%M$QzShsfK&5>gL3kh%YCZGI^dX0;_8=Me^v{LQJZrRoWR{36rK%Nm z-YNPb@{H)T9Z^X1B4ZN^J=38nEbIL?v;eRws|<$y2xQv!nw<#LR!qau^jSM2`qj&X zw#Ch^#A`zCTF!MTQ<4zVE}Ce34|^u)ODYama32|>eI1Rwp!wLuL}ddxiNBLm!~=c3 zk(U-awTHO%PEl1hK!zLS8)=?gP(0H69wN74cl|nrT`4-O6(vwy*^Sa@o^B zyTOj0hS{C9pXxs!&jN)&-D>={Oko$sYS?OZyki z>fDvJHAj#tGa9dNX_X4uws5c;+=OkrA+Q8*Ye71;>64N5{Y2`XTOY$W{CY(TY@ZN3)j?>E7g5$5f9{d~m#K-}uD1_iAm3e?XU%5l}nWyUcvUyy(-;20*i znb~cd<`erd_7#tR%zX5fMp4JqvaZ5 zYZ2FcEGbg-@%Wju!paq?+#u}+GBs+ei^!}FY z?07vX<+l90q~-PI_!Zbrs&Wr%e`P7LoQpzLr%l3DMD3qgol6>{{DvusE+i>;3YbR zBB&fK@(D}jg-OdIlUqJ=8Yvy#AuRl%&5I5{T*g4_O>jlzzxx$9s7W5kVT89amB1OB zq4hm_s_PH`aiy(wX^s(=&e?~{<7A1@{lN>pRzGFBh+jNY6Upj8JiL5ro*puCzCV9S zKIE!;vB`XsIm?j*hYwe}lG#P^NlaFTSBsk{c`Rj8@DbvgC?6Sal+DjYAFc+~R$cBw zpEs3kQ&^mQok%w0(keV&&T$F7Jts}WxBcb*-W;x+4TR2|kRk|0y%Khw{eXJP4`R2c zBv*`%?nAMCUgMZ3Q5u2T>~3!7b?iokgc>t2G_BYPjPs+2ob_6p)&K|b(uC01OEp_~ zBO^(FmCJB94?Kn>!;1A}ojNcBBGwx;z(`40M~A_krN;eU#<8S=JIf&9A7*YiVqVI| z6~46>mY2A-A7ekJuBJ@`AAhrJj9b#EvRT<$|3Y>{3g#*DPBrm}g1>0-5<;hNlZ}B` zN_8z-dHe>ICg*n$X|GB-0`=}zEIm-I*Ma#FDapCZbTe4Vcf818ff-@lF9g`numU=c zd;5|1bL~9^!>6O5mOh(21G5y{LJ^4TI;@qGxJ+)|P8MV(8nMxSHJtO##DvbONicNz z>@|7Od^1uGB0{Wdy`N#;hz#3P8bn>L6V446eph?_^UJ;RKtnXuHbufPMe=X7_R103 zY5-!y9g@tqhC})Hbqi?PP5Is4;<*JaTLutLnCPDUu6QO#fv8P>>?D-_Nvall%m? zhQv+`r*;YZ-R!t)lc=6%yv_jj3+axP3QW=qpJBvxTPGPB5ew{%)UYuK=v*00ZVg(} zbCdS;B3=OMUJQt0L%Q#Hw7!=D0%FLqC7;yXf*J@3v-AGG1@PmZrgowG^d~~3vPcZ! z=d)-c9V8S+2gLxncB=>;b!fTcO(hBto`p*?E`VCJ-p2GrEhBlVh2z|bvcRmZ7hC|S@~Ry-SP1?1U__TV(=g6YNnDuK2Xm(RSzPjk)qt12Z%hZEl2s}z)H>tGpVMx zCyN(ZRvmquQv=2l*r}`eKL#4a|HSh3hXsjm#9ehaNnRzpko|7`*DzKSvjv@x`9C6| zo@a4Cp6_gxob4HpQPFI4sE1qp-K@yF59Cv=LqU)(<)D+*nGPN8AzG0Xghnhjp%UAV z1I~R{ux!iVK0|9G8jp1U{zra1J2U&Y!f56@Y_e_fNhopl}PGI*qOq4 zs{eURR4>GT5xtc?od{7D&((S=0Q{1+4>G^NeaehbYSO0;Gx_m4XVgq3b5lpD1U8xv zoM6v2sx4gP@Lm^AT^iaJtJ#1-NFaFe(K{K$3dKX@v^J1=TF~x6zj_)R-O%LK@N(_i z$4~#Q7%xFY7d+{9^k}|lwg!0pPPd$r39j{slfNlSOLX!aZ?6V7bU?+&kl+*W+LBaN zA-Js1_wj|DGK9ifVYuS4Ai!NtK{rkbT<^fj_DXyHRzpV;g26h{ne=HDF7D`Cl!Rjl z;>I#TJUDo#biErk;X4`EFKi9re_nlmv7$Hz7hAI*y@*$}{S$&L`-1Dv$<-vWSqX+R zg!=ou0wzPmDTZ%t%ZZ{URA$DOi)GU9GW5ZNXYQ2>lze}16xL`v>(Wu_qSL5OL+wRQ z-<%JEhuW9jP?X+EKVF(;%;Kt?vEc!c5NDuEYRsC%yELGoGh*bf&*?DwW+GNodfgvg zx<1H3g*-4lmZvul?+24ypWPe1h^LB|E_ylD;0W!aol{Ve2WYFKd~YS z0;Jr)3yNi3;44ImW!ItPp;%^FEMA1DRuQsRS+ibfPa;SE;BT!wjE7vLhSFj4*8~)H zyTsKcA#&gT!c~oJo)La?EYKJ!-AaKY@QD;|NgZddZBafQ<8pU&ph7PW$?MvO>y(_7 zLLleaJV(SKIm49>Rb!^9%)YoVu14P-bXSZ9WY8F|YULWfP&y0#=XX?t{@F^@bPV2u$WbuW>Nr_oI!fH;t zGuipXlm{a|mhnyzj=1g#MYk9B*JLy2>9^q+Rx# zB!k!D+9)!u3iBPPpURPouag!z5ur!yGeU!HHj*PyU&XId-ugSe9<*O}GP_q&s!agm^wB(5 zxS38W5^Oow?IG^uD2aCKAJpC-uR^5;@gia`kQRa}4?g7lze=)I1h(U4Na0k-WDw6; zx`1SfBI-N!mHMmR+gy2j&APaXW1u`>Y)&NZ+sjyY@u#>&W#(sYk;(H&xePA(6%^D` zab)V;L8Qh$fqez3bq8mE`+Gm>B*{#{QJ^p$9NO2wug4efu@gt6;s)|iYvXqnZPP=k12k`WnP~l@!`FDc6k-P1)byOzFzm($83#^#Qq1XMgOCajxM+3g4XeANZutX_ zGRLZ<*FV@P&xONe146GBbO`M-K6BSU{p-cRcpJssj}i~{`OOPrqp`nAEB$#Qof*ogNDb$1P zd0Mo?=e*=uILP{;`X6K2Om2r_UZ%~?3-70ER%o^`*Ei|-S-q{KZ0yq}_`T@d+k#DR z&il_F_r_vR3QXNf29#HN-oK|yGl6uQ=Dg`9) z=ug@qC)uIXja1FJ-&j#__==8iQ0tEgM#@OH{?(C;x6CwpS9K2IomXc|RJXE-XE+!< zOnUPC0y*r~v3EsGC~Nkg{wH)Z*G=YRn&38PV)PbXzu$3x(MEzU+x?#X{p!;mthn`0 zjA>Z=@Jm{%yBr|G;;(>}!21{)%n2)#CO9KmeJ4P=_aC3UG{)Ja)PJHV--)FXicg`H zu0qKF3al8v=46Ap=qm62#{0~4dsFCc=uVu)tmIrA=RD+W{%MEIyA+6rAdgV952E>^ zpP+UO>g!Mr8-KdV3j2B6C%*3GWT7}@C)BQgh<;nCsHvtNOZ<}0%mRzS|0#_-s68dm zo5!h&FdJHBljE7XjM@TRv_)w@E_{M4nLZwt?v}c}vV5K%tina6D9|}6=Kq=saF$(P zR~4=O+(ba^3U|V}BP|lCz#56@&yc?t=~p(Y5Z#=YWP~=`G^VNjp&U9vpl;f1yOBb0 z=U4HL8+vK+@|>zq&dD^eg}S@>Q{NkHmo3qNJ^~BdA_@-|yZuG}`jE#IEyn98>x3Cx z-KFx`Z;VX|ea>&*WnVtln8eDu>1N`+bgb@z+ArcZ<5Vx&{Gf3jp0!O)x325W<_^l2 zW*4k9_AXmilC*2Yo0$av(G!Oezug4RW+ZY8;xEQ=*;?v|hPwr#qdjX^*R{X{8GH5v zVU5Md#?a5xkdRHvKlAMWkj1X=*>XD8cUG~5VVmu50 zuu88q-t~TM_swbGIvwi3_m$+IJmcil9N*;!Wd)MVSD4hrIup=Z@rC>F)GIIKPjBhK zmagZ+vAdPh+#rfm*@Z&Afl`C;GJ#poP^rNHf<2~~QA=eZtz?a7D_OBr4;Bav=Fj7g zAtC&z@_w`u^jb?yyQ~D?T79zvO>x=>ZV3(59AVQVUjy1qO5yesw-W5p6f25N8L;^0 z+;m(g#oZD+=Jf-i3JBFvzkUn4;_pW5+AC<#+;&dmmyRwD%eYA&erH=y#TIBDcj;Q* zqO_NT*QDkz!8)=g(TBWd&Lbc?H8gp=S*XWlLqQ~1m!}XZtDmTh3k}AoDXW1)o>O(Q zaNw0Wb4xm8{{ykRqr7n!oAnzZW;n?gcAT+;98F67$0#nUnc_jr$0xE#Hs}P|01izm z)Tj=gn6Q=8hulLlJd|TXG_!Q&Z#cYw{drpQD|OYcEsLAj&jLy7{cmC^;xS)G7>8oH zN*c$nru7ps2%;n)B*-%%nEyd*)9vuoJxAv~|}0lb7Ae-n!v9u!L* zE#=QjF2=)7zU;X5r-XEm%dyZI*t~PeA>4nCv_H;HNygvv+NFKn9Z+pO+(hBp1h$S2 z_Txq{2xXnbqe!AZK5Z~C(tqE*PtvLFmhpWa`$S*BhXmHui2GUn6(K4gWC3^HY|GMT zigTJIcCZd}UrdhEe%hEP?!I@JnU<2H3u2v0>0s|3jNve0URDeS5F!u4)oYmK4+)~? zA>HW;zzzvY8&!}V;6;k|HzX%(AJ^h;*U4ohGUWy%K9A3rvr~z^}$emu^#G5L9yhL`FT#_(FmYWVP+SzDTtq6^s z+>G9zM%d{L*+&oA;HK`psi$>2Jh83;6BE6dlwbD#y%@dRL{80qwo&DqhkZmo&J9eu z_;_+l{igx+U_7Hb#i(?d^kDAYeEx?w6G+M*|2b6IemSscQ)`hy1vxh5e28M zen){ZviIX9(!{V>ql9-s3ox37nlPf2QXL$~^UFI=d`kfTH_K)Kt zE{qi@AP|E~>sEFD7E<?TF^Q z@Z(+$zxwY4CD}=Jm!{O+JYf1mTe0^y1MKhmaEW(!DyRhBK3QAszW*-KpSz+~9Pmg` zniYNM;55dO2>05g)y5&?On)c-SWN0^ZfOBvn?@aQ6_3cKT?IHC*?-N>)P?(lSns-!bRV3K{^>szB$3vHfj&b#M7e*BlP^@kT zV6SxLmh?l49|r!z+&&d%rDmcH($t}ceJ8ANzo{fy1Sa?lF{f>+({chl&%Y+~qoiQh! z%4|qe{Scb&P-XBI+C{-&e7^@8*Y2}Bm|?WjT?8qO+t|XLW!8|tZ!7~D->P>fKOT_j zuaLvVAYRsD5Ccu?)mxwlLGVt-%l2z)k}f-+DL6g^zsGXau+6z^>KWkcU>gTL(YYJN;TepM>@TQi=ck{nBE>VHh zc3}OCLQt)0Xg#NusjlK!mqMh?)%|?OFf;3d^Nn+c=&wbN{2kNnP(&Qg5SaYzd(=%q zeFZAJZ_GLrN?gxrXYNVdvG+4Fj`O?s*oFQg^L=-?1u{yEIz|E6>+JNU|>m z8-af`yMRQ6y)L7_bKKH)(j7ToQ+p2p4qwW--JI{gDwVRH@3_6&5tNq$!79K-;8_-r zlft4Elc5SM{V=hR4=G(6N$;$sc<=aA3uQ;#6$dF=x&9LCvsj^qErC|en|2BX9=7&) z5Fgc!x#XU{f@1e{-i)Rjhv+y^zMrV#4p$L1{&3?_NRGtojxIdta&-1qOEcWTTQyMm zHVz{tlE1cY*n<&qjmL&K2RDm1mM&D5u72yl;jN|MLp%2L=bhRh#5lIsK7>_g^VYkt z(IH1)f~_WoFA}mZmA|!~yAI;aWw@L7^)nTEtt9!4Zc6)kG45jw3k)nQg`8}K(Re37 zkqWIR$2=kW$U+2iFToV3r^dTy#y(dEHE92DraD1N?4x!*bN}tCG(knL)y@bUTH~gR z5zVZy9V_IO>yxrA)X1FZVSFz2)XF1oSa2n$74XIV_2S)GqN+cvJ4&pjiSkrlg}y>2 z(RT*>PO|fnbC4_>5r?VRDFf~0x{p4NaoEEdd@@Yjt3Uji$i3)?I?E*FO#*805vA>`2|;P0pSg{=0Y*wB z!^^$dQc~%g&!!Arr!U=2vb^T^i(mMDZgA5>W8{eEXIdbHK6vZ zrY$+1$p61jECdEO3)D@b1fv4KMNqMpNo9%6MG*hjvwNA7Vc~@wgBW_$*BpBv&4}>t zHI(yIh;8$R?xqvrDP}Eowy9W?HZENo9D=5hQX)N~JIYF1l=8ez&K=J!z!jLqaBhY% z)>b_GuUgv4yk(Of{GhAZ2)$bt{g%!{ma&?=a{8U`oAfYQtTMvBYj7ZXxMH(O%K!xM z*iL}^`=AXtyE9>6O*D#uTcDHlQNEu#_&hV-Wt~jkmKC=b(NH%Xnuk~wlj@>bHu6@> zNVz4UXr{=WV&FNxE7>{Umts9?O5VIg7u>m1FqZc7=T=*(!(Tx-*=C>CQd5yAtu;;2 z?Rmxv=9XI!<-IJSQC-9Uv`&)798c>4qq({^J(<|mFUF&EmZ4U(Ern+DuQCMwccYC2 z*VE%??Q(yw?^AQFRItGp0zRO}HT`|oa#kyq4JxLi+1Apn(po3fz7rc^kO6iv0kDj5 zSRxgiS4w#_H{KCs^>ktE|&(M}-(>#s1mxmuQo7_wRJgd*MRL#Ln0nwWtg=5sGo~Xkb-O6NjrO=Ffz3=|Vz1FXFGhbwx zwXgOOJ`(S!c{b7{{Fac|2(fK2yhZvSe(Qgozc{a>-umUSPWumGp_Z2#fFTXCgW<&A zaU8Z=aFXB1uuW!QarQ-$aZ;69bqqP-;eTWWK#NF|78HG@6-x03E^c&EX)Fw(uVVLt zY`*RNxxZ(S{yT~a0yZ80E~e<@H~$6^1uG>`^ZjW%)P(?K{O0;ngOq4r1WyK26cC+D zq>yU-?jn1UbFJ+0NWQGo<-rj&3J)&bDd4M45B`O8170Qm9m0KI99p=Et9Vf%&Z6U4 zJFgx0N_X))EEr8;XDkr-ym>0B6SX!h+GbSO(n$kE8T%wb>zMO)^oP^v!p|bF^I({5;^!!Ym>&wY6~T9tNo5w%a4CA zT>s((U+%ZY7M=^8l|hUy4fM@=AX3H8n^mta&PrM zOy%m%7+2HPcYy2vl!eR5VN04g`lAy5)m0WQ{G0Z_Z=L=fMg8uwZdQS~ShQ0sgj*jI+!HB!6 z>H`Ff8&QfAaF7qVPN2+)KcGdRV7&SbJ8NMc)nCh^=Vff#S0~)zd~Df5;CnZ-RjU8K zVK>WHXIw1kpndpr3^z+pt_SKrXZsFq_;CmKpTZQzKsnH9_^2&IhW~UxW0ErSV2)+4 z@rtO=c?ABq@Jg|sVF7lh=J|j`R-gk4;-974(Obj!^y_;7)vNUBttkzI+$fs`&!Njt z^ctn*?E77v>>rSSA)KSoU_B1dd4Y)4YmOL%)8oGhk0^t3iS2L{M|+Wz>UKaQFE11A z#{q**rSplH&CtU*Hs*Dy{_L{*F#Fl zN108t)+749DHbF_RgngplgIR9p&B_F96^M@0|5)WA|)P{c=(e6s40eFLCqA*8y!v> zqO+Z8m|vTfeXQgJ{jd5|h;2dDMa5fW7qxQCy;1E^3|wp+Shly-qw6RqhiWOHK`&{`UIn=+a6;SWz9a3P>rA>!E|eMgYasSnz!m<h6^zaLYC#h*nWZ%7gVvZLFo>%Q1ISE{9A3BCm90k$dEenrK%eteU zFBDvwT5@MdxJOthZRN=2{U?k`Dk8L-VDQ!R?keAudJ&5LMSi2xlS{|ra>JKNyxZV9 z{KbgVK)2h1=2fkCo&aRuT|tOuipFP=YcDbAfzcG@8*cwir#zw_d`+=ggL??U>l0b$ zk^D4l2lEGQCIMc@-eo8N3&zYj%K;ay?71@aCif8bRQ`UC=zrQx1;1BEANX)8Q9GBd z{bj>8wc+yk@!C3rjla#3@E2Rr(+lToYsHOoQ5pDwB4SsTM$!zjBUO|PIo^k_f^S{@(hc}cz9 z$KMkrQ2A;!>u^G;h*}AJyTi($jA2#^yWZ)_YoqiNYQ->)dUDPQej}9`QOhhb^l}sIJ{`$5u zS0h<`@%eM1gP27LMM;cu9CdxD_l{<@BC^z<1sq*9cUgOB?!6S~0d@M8qFGP6zq%U+_25Q$DxXT&pBfxPPo zzwgabUcb10%O~_qs0-FpOxL-|k4d^572scw_L}16d2o^8VI^2i;-{-3bDu&1ZCTm&?iPF$$r?!Ru32h`-`qB<<9=BR) z6YtbJ5dHVqV)CvOi#j{J9tIP9cyRe@3A>dhs9!ZW$L2l@J+Vj48-hqsFj5aes>Pm%v6o>sfw1>5L>>HZ=zd<)X|Qu7^HNBaG` zd8!^m6nz)4hYcDg^)oQggd*zick_#S5KYl(BaR1@_d3(1dteEf{JKzUr6h8E%i|RKUXeK6yy$MQNZ=&Vw;YGeUzmc z>-uBSDQK{tB_seGR5fzL2BjTt7i7?jH>j_JO}DI^ zbDpwpJN#Sq`BIgi44tS}siVdV%-Bj1`*Zn;2<@J8+TZ_dy1FXY2XYaG)xA)mQf`?1_05xFHy$IF)Z%j!}>aFLCdN}oq z`$z5B57OTtv5fReaDEmla>*5uwC7S>n3BwKDQS-%A-)-yJr@&m9q40tHc##CG5)4| zIgmvl^OS_djX6zaKsK0e_$q5gTvnX*y&c|eaInJtW6EL&6P4~%`0{y*1;Y!m!VJ-& zJ^g8gI*+D#e!n(mlkB~+uw7a)^60XQr`+n&ORFoO@As8nQHwkhUS{#_36gP}ws#df z&zt`g_^bKQHCi%A5JFA4#ASS0bq{dj+Us9BzQB!~T8gkT9mba(e8R(-9++B|8X=H5 zWpNM1YMDoQ!XaZxc69l)V2+BbV>Km2H_&GNb+|Ncb-16P(rjaxV^V9?CPkj})Hdf0B*u4A9kx4D(^yY6jK-lVA4wuoV@pC_u``QC zc$Q1)xKGyY{H$@%bxc}1R~QoSQzB25nSX!@dPw&Cf!c%2Q#k3fS3o{Unh)JBsVK(* zBTTgM*_W6S($WG0vAg%JGGU2bV98HO@*OE?fJ$?ZI@k;M=7tc zH(|6~7zZJBjE4iK8lK-Q_Yc*_Q5Fzmg^!Y6VLrSCsvB`xcU(!cVuw=aP3#mSklGgQ*!+v$6jKYV(z5LBWflg(MJtYE zIf9M7>SEs1p#Z098jYzD5oiZ$xaMkW$zL^WgTT-UU#>U2g3k(bwpsDp{hsG|l^N*! zSLsi*$uzzwS_6p_w2x6mNb9~V!A{Icpxp!u-BDu}x8!87jUVy?60654PfY&;XuC4* zoDPX`!3uXaA;rho1^2l&SCEavMQb70EKy=|zIY_sF}w{6hyEJWWJ*>Z_fun8Kk}5V zxzr;vUK4cFB9{YzM%ci)(RchEnSOR>kBaP z8eUqd1;x(=$$Jeex>od>W$&4f6(~7cqg%HWuFOQWY@TMAX(kz(S5=1)AhK2ka42H z)s~;lL|;`4HhW&O?qVl)ZGWjb+A|)Uto9d(86;9=b3iGi!WO4$m6|8PgMoJ3dtZ&r zZDewyPpN&$7(rqwDL8TQ>RH(wCsS0#50Cjz%S)7Y69Md(u$N*UJ|U=-<0UCJi3M%H zV2HKOzd77q5Usbb^upV*;8B-%V+Hxv7j|wN!zFVcGGP$4j83(DN9cZY+4d+Lfp?{62`{RidL^oTOOv^9LH3gl<_$9^_1l!+IJl@8veB!(}}< zaL>>2TJ>qy7PuyABVv~S>u)mRfA`VZInOgFKK(rIy;ET2vDllT`QcGPrg%rT!qa3F z_p9tYneia2-nKF>QG&hMHb`I}d0QQpX292;vPVsW76$9TD77=8jb)OnFhIOhINY;4 z;u(LutgD2GT1#Ua(kDb=KKA$_ps~P}S3+aw+7fs;jfRuOL=A^Gn}AjhBCe%xwjEapwjC{xVikC znzi)5(`gn!7QN~+Tcn0NL-tG63?@h*2>54&F3@AxT~>j+0`i8Cr-O07K_AH|Ndaf= zH&X}szdrXf)Xl|ksj?)WM$NVRKojop$XSoJBRfz=zScjD(XN?!3ac0NL(TKWPD z9`0eJSGr!931fTdou(BLyegS}$o|f{w@M$e%ZX#vliqzAbKc2js=>#ZbLGNo7T@{3 z3Ty|nFV<-acbjfer~muQiOa7+QpUKX#n{0xx>iIknVz%PT*fnQ%wu(@SBBh*o%}*t z?#Vol>0*OkUa_ryj&=VVc1)?N+IRQaz00CX#iK;#5szfOYNQ&ptIK4*2X^*F)(v9lh{3 z75;-?+(H;-=%dBkxn*=UJh7eAua(g&*dnCFDK=)Ht5&D$fs^@t8~)QfWWjb2j51crBA>QPIV^WJKC@xk1T*B9TXu{!ak*oQ?=m<~vS8!%nV)2xuytR*Y z1z0uethZi{AjPy;{Amcfj(Xl`CZ$=M4Uo;xZOTswjLUvjwRA=dsgk7UEdP2*5!G3P zrG_6@!tp5x$yuCw9NemOxMrR5e_yiX&z4MIOIm~FM?IR*2KYBbOp0dm_ z`d|3@J}t*?_4$Ejt?e@-McIX*Lz768vHiW=Fe+^Ol%i!aBZ zNL{U?vqBn$1qOMF1ylM|l1{FZP9zHUHc(Gk&T+Q-@~&SS1HyQxlws}bAD8)k9|rAP zLKOQ(L=EQ5PBI}&m=3xhxtyI%S*kHZ43u=4sKlZVxjlS%u1ve}AU}1H6uu*_3*x_T zu0YD!W!f)sPF2KQv^}u&UMTgmB`si@^Nm*Yz5dIv`5yw?v!ZR7E^3c!7Ml&jH}y&v z1-p{%%~Zt8u~i(9TU~_?(t{t!dK38#teDt>%iLIH#hAm);miFxGhZsyP#4R@%?jzt z)fKY?A%hlP^*9yskPU{7_dzxVW^W%&RNIog&NJ$3nPC3PaVuGsR7MXpZ1Jk4=lTBE z6}wH&03t{C(eOfrkJmSrzD0+FmW*-g$AP`Too#P|F1Wh}*fYa@D&8X!{B zY}B8=^)GRCh3Viga*V&fOJ<{wl;}2RY9`;rS3)MQLUy`PiyQ-?j?%Q&b1z%H^x8T* zuBYSfY@ONEUboaXb+g0-0#s-C(&C)+YmpYD$2yxDKlE3K*kM@^~B+{yOugwfVEyuy;TsH;|s^ ziY@rHskRCXtD2anEK#rEaMjJqZPyO(twv>`ZsU1|$NFsqq_M#xUFfgK-G8X?J5k1# z;q6b2q=ujuSAuJsYl?12Ct=m(alu|^D>^hq&e3BY%*XDMq@%A?@`H=m!*wz(H*LFr zhNmVoa8aCd>}SjZmADmIpNT1>1vJ7Spy=1A1k7At;?&oeJ`+D{PBm;8%-kMV%h1Kp zA5Sl`n`leg-X4V8v%plQ@G)ktPSi}@V;ob!gw$)(j`J%2)oy_^$&CpfOU zO~D(8Zpa)<FH%ph$hvR5E`OZATVE@Czt@&Ui$jL*JWs zJm~lsm-YhVlYv{ON2c&F3Rj%;DO+p1vOx)s6Mc#FM~l7nlow9Ehn^e;ssdrl`W^r} zR=bn#_~$usvb=r$oJ38pR_P?7?)i8zDikJ`WUi%aLD$`#p}j<6RcNet+KaF2KjmOy z38`m?^QjJze^V3X%QPzmqhBUhnX4xS60ryp&JoTBx$CYSQY_J47AxJJ%WjonN%4fY z(2r^iCkjAK%xN?9;zlV2>=PU%eVC! z$tHKL)^qe!d`zOA^wp+9u_wMp2op$=mXh*YU0~ZolsxPG`vn&TMEBNy##aKqQb8EN z&zy+uVOm|*Eo3h&>93H=-xO0e!A0BfC&)3xzawN+6IK&gL}Mjpgrr4%nPSa>SRFUr z62s81$lcV{MHs{~5i9Z;=x6;5lnLcA?it@V=x!B9oS8brQ72O9n88efmotMA9Dwo2 zzQ`957`P4oMO1?5Zk2*92#yR1AmK@URDuK@Sc6>YNPbC(p_ z5LgvH*vQ|4n;q}18lW9aFrx-d|L=XjSL&|jO z*$ZfzGx0Tl`={qCprk8Mi}hNH2;OH#Q4mSa6nRNEr~z4>e76qVM^yic=eWc&E?$dS z$g%`8vc2Q@R}sIN#4hD=ZLjva=afsuH1yXO`^wG^i0Tvwqmn2)a5%Y4hB&B#+x#&> z_!vVcIDuRIi636R*OFJY?Ob$x<1e=3hQ2<^S+wZ%ThUdD`s%;5{qNvAA3p1NpfgWl zs8%s$?|zLx9X$!jUJxnq4Sok+E8jC3-e0}jE-FdEMF7+3LbX@iz3sgR2{P^7iHXb@ zTpE|zBRqw;tl3+O#&}+`C#fgjld30PHky4W4+#r^;D7oKQ^BKmqu{Y`bZ}6)YH*op z*NBF1dl)8~A)1pv!vGCeresw(|JBKoID_NQyXs9ZNmItjUA;+ABNlT<8~mfHK0G=9 z1~OfIjFnq0-oY-gQuX+Kj6tlXbO947J$Xql5)TDuvyCmfE*X8AGt}-uwUazAn)r%% zm~V5h6-4PI2z`3y7QOwz!`Y=vIB>okSEsDIy-qg|KKsHaK0QPnPGRw=NhvvsH?3B& zZa_|8cbl>Q2Yb^i)H&(TQqa@U4i8msA!8$>@tMp-(puB2K!JZ=oX=>gSbp@Zba#@r zpVv7cLIaKuR}BF1u({Jmi9Qfneo~dK#c*s@30hwH)X2Q}E+tkPjP(T%ZjJ$ye+|v3 zqno80Sv{kFZlhy0+{0pOwPvg}o7UcwqxBNXWm-Zgfndl(V=J_l?apPQ!|KdsB8RJ+ z;lFu@WYaI}7wRd(j(--2`R!(BR#{nDFpUar%(XWm(K_0lBYTNmcsjD%il$ zvz$92ZD)GJenZ!AxWC)o#r);7B#)1LN!8<|!PQKC9`aUW71^ta42}A0=*}wTTMR#r z1IB8id2r|m;`sRH-^)CG$!E*DtB~_5rq1LE8NF#cW45DM2nFhUocqR;3AkMk*-4YO zFB$@iX^M<>q97xTSLQ<-|_@BE`mPEtL-pDb*&kG0Yx;(%H z55gT~)xi^MR_yqy%S6EznP}BUVKHJwpzlstr|{p>>;#0uT{@*+T#$b8%tKJzTPXK zyM&`1>?PPKw@lvI5E`a685b69l~;13`#qk^338wir`}>8xr04nia4c{Jj&Y)O>Om_gc^&;%;^N<5)6H*k#x7OT?VY9JJNPIPM z@L~+d$rBgo&_+eOR9L_TEhY0d19PX38WVLsJ-KZzNTJ$??mB2MsEBWH9YdyRnc~o#c3939!=MevHsroy?qwydil==Msn>7>;2jWrKiPd{o27 z#D6$3Ud4qeT^M2+_uDvSe*D~!X{PjumVfflXla&CQ38LMETPLFj5wI+(QDK~s^ zcbXtamQt~uY}z4c&s0~MIt69)491-C1v#e}S7L#5*=k`5db$yAf+sK?Q)9)*MEPe9 znW0gJ(FvuKFO4xvI`ganjl4E(1Lw9-5lpHuZq27GEuEVG-jzv0AeizSVrizwdt8}# zYc^26>iMVhQ$wdtlChCvxM^{0pUy7zVza@AYE99&ygyV~bbI(wm;OZD6rmietI&Xa zqvE|M(VCkNsZcXdC_*F7Q#Z_UbR?>L42ejJ99pc~A^xjg;weJrWZb@Mht_h_Y2#XT zij@5mw&*@gFUOA^xy>GJUesT>pnYl)rdo3n(!p&V+aI?tuxb5eD*_X-5pAe%0_@~^ zmvn(Yb&96!d(K?Kr+9Z{bC*SDm<+^}F}mtOB~(opLQ8D>iG01nUA6eqHKO24-7@_N zoW4byak^iL5o}szdJ5hVH=8^OkCUFTOqTd6eh1|vlqM@|oAaql+BL?3er?bu;E7h} z_pM#H1zY8s+y9rjzO4K{RMmMu>cGBfu3Xh(n@|m7=p4kdpH$aZ?on6KJk~&p8mte) zfZ+5Bzw-re(i>w`wmG8*kBzyDbanFc5ZFC()Rha3`n=Woe6Uu(mYRK{ssuv^ndE5E ziV!kdu*KFnQ9Ep)${Oik7EGFxT7)5|SN759lVj1O?c?fUwi(75+cdLP0^OpPjV`^~O&F{MoKe%~ zUaA6E6M$PDRIReyTmf_?&E*rcF5cfjB7~Lx$94T1gL)wURvcPH3W<)jo;yyqFTM<1 zA1wv%Cq04c!#(tl9k-VlGsp7`>r|l|&>0(Gdzahe+tIPMoBJ+Z=p!ZI;`5UhjC7e> zf2d5`@*N%q2Y^Jb3jXn*${wJ~zGs8i5Uhm@YT@c56CGDCTuilvv`e@)$E_3%wvlkh z)l>n)+8^15UQEim1o_r*=PSq*=h}3!eoUg3-b7wgAlJlbTa|6)&~x0hm@`jyRP@Qd zzCI{nwU%I(h{tVGS_@A4-9K0jg^#kt*y9uB-nXHZ<1}_Dlbg^Z644%BGB_VC1@Mx^W_}cc*J^;}2-q}u%_XRD)Eh3hur-}F|ml0WV*zwo(&2-VK`ysVF| z(_7};uk?w}OUOfn70sQf##H~XXx!Xb+=TW4?A0p-uyXD#E9X6#e$59!AeM82e&`?_=btd~+Qw`5{s zaizO(D+#d0=RhKXd)IA3Xx*yFf37?F5z0lRb9U(wT?DBnO?;V8iS@a)Yb)v^ze!&aBYcgn*lU~q{( zqVZ32<1-Jf`h}nD(VGE>E3YYA?6zy|wdo)LVJqP}XT1zuCd~r&wCUQgz!|+Aop@+r zIBeQ_47oA@2%!q?a~~JM(8S%{9z^T4>r@uu-ALjE?qD9X-hl@BN>bbWlRrQrZa+hU z*DPNN_wzN)4MwH~Y+Ml|$NE%ua2jN-h>?W$!aSQ#7T`lo-uld*%P#MApv?2u{3E@+ ziZjm+Bnezs{^UeC#rK@S)eoJ`5k5WwWHwO|ZW~=2`$@|)R5L0U8OZSwR%ngz_zvYn zHMQNGo!+%g$ltX9Nb+-a#f(ssqbdi4NM$syfXPMJfcCK68hr3lZERs}EJS`dt z$IBwhC04*j6@9p&I`YR_)8W5n33UePPX{rjWkkD%ue}SeDKMW-%$qAO z?rol{7qjRmN%@RH2jGc;FLEQG|8fsK>C^*j=qZz~JPcM1t|on~{gD%@gzWpN@ z1bo~|e=FONQR&c~fiLOx?DdJA)vKoH#|az{W8zvy0D<*CsM>$VehkcC+2#pr7vqW> zf}mEDpqHhas<2w60_qw=k7KJ_tk;7^L=bgU&e+&EH0S|5+-x2fkfNsnODOFccHePm zJ>)F^ICOg?dex?!3#flOh(mB=t*)iT7`Zjk@MLHF%0pN`qbS78Qvj-8dVD>P;dIfQ zuv`Lft`tMCZ+mz_a$QqY3p%~v-vsOaFm3Cnu^B`fY>jYIvVd?Oe14kJ+3HZ5`089T~WGeK@h!n9MttF>5vqn9I|3{TH|K z)(Tv=HLi=I(qTc&WQ;{pU}mkTJT?jBFtZ@&}u5sW{Um#d^*RdoYEtN{Zx

    }@^b$uzPN2EIY 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≀bDpu3Q-! zt{#+o)k>FI$|vE5%wsKl2DfLu;OC}Jb$x9TP#E8_HyoP!IEB(XFkqP?;?XhN6uU;0 zx621NQ6lho*jV?>;d55M;|j06p2FGrkm9#?$??G&d)>ni_fHsY)tXJT`z-*@qD6)o zQF}88Hs=8K0d|}3+SXR;-_cagnoZC2f>Pnn#qGM;<+jWXWtmp&SQgGFK46r9d&byd zv6`X@Tp=xjCJVuql}f)P*a(YH5HH-5T^Efil7Ly4Fa_W!e~yB*X`cjpYk5j5p;Mthm7Ln`YC{qS2%Yb<>sxbhRO{ z%)k{{o|os|9sCstITlA=82Q#Lyo=YF_Xipv!9%YV0fyE?*(Q{BZ0yNisE@O(R7$C9 zgX<3Ql$AnDuOq-K*eJe0iwCjlI4C#v(|nRTMAM9BJ##0!zXh&@m#wf@z`EUGMgMpo zXt}Q9KFGit0&I7)Y`EWOI9@e1qt8~=*a*`1IMd+QRId<9s{Jr|kcCmiaimkU=-Upi z>tkzNHQ6dvCy0?k(VFUC)j{aT`RkhGmB7CIkx!I(en$HbTqGVeH@dOHem*V+9Z-m7 z(kDtE?&0cvfq}gC#By>s`SU|Ac8Ngh%4L98P4Z#Sj9BI?y&lVUSMr=w$t&y4#=g5g z$r-Ec7d5mn^MzjdVzT3`-w9|~eqniimxkF0&Le5oge;KS((86=Fic2JWMfJuMoD=CjiNn+i@d#iRja=L4iq<p zIq`>kH$Su3#y||o6%6ox|{%vFrF>0}Q2uhTU zPtA(R%mK)zEkj)BV*vTd)&k7~HRTZ>I zc@q3gUS?~au4G_7mfDMvap5l#`$37hvHq4xzR9Iqm3xglD?dWvMA&u7@$?d=w&3$P6a+vUh7X`d zfaux6o{zk1{Pw-of94IG{$vpTaZwifv?C2PFbFZw1is)s$a}+p6EOTUltWe-g98y= zRv*VPF;hNHWFsRYWd(elthyizAdYV4k9M~hq$cxl7-Wzkn3ot%=iXDP536}Nl>nWB z3WHusP>uo^qhsOFC7bG8jovpk&=b9llI}op8%vL=3Jce#KM$I7eWsj?Dxrj&!?AO* zQ6tj3M8#UxKgnL+DoP%tb47-r_G{mFxCPu&#UM}+d(hLX(ZpU%3Yx)`S@OCOBYC18 z)^GasQ6=iwqPvz00P#@cNECpiPC&Jc zjTERBo7q-{?gPNm8F#E?o?eV~QnE7iKI~LOKbmb&bQeRQtY{1Z58a|fNOw4YBr(zH zCO1>%fom_E*jY1bN(TceLw64wxtO ze0EgwF_*7O%q9vg_d}eR8md-}j8!NDUwK?aNwZ3Nkj<-0*lOF7E-2_H?Ym3TYMtEO z!>;wHFwyR)py$e<%rFnaO4q_*Qp$QEtICR zG*xZXWt3h&d}Z8mA%&X%vaiM@weM2Q8Ju~f^aoOfFE;%;aCxW5x==X3$fk9b_m=0> z7>lg-ZRUjKFF8+O7-*2lHct?F5FHFH**Y=6{$_t%RvgWfOg((iU%XU@^KLS6s@C|p z91?x%+zR^E&*Wp*Lb&Qx#2u(>Dihq=v_GGCOn)&i(QpP>t_+{pOGbOY?9{Ni#T5i` zerU&&i=8{@zIgagD8Cn$RiNv{g8;UX*%mM{!l5Xp_cl)+9d zGai$GV=idja3C4ruldG~dq}dq9PUP>l=>|wp!wVvuL8WRt*;`8fGS48YdDJJXkvJRFRd@YJ^Py@MTWCA%n zCVYwtwky$D5AKhih5%qxFal~>Amz!7Fol?&c7!nvO`b{y4>jgO`!$ zNv0ACsil0n4?RkG8@GjI%ZwF36$NUub1TFJlMGjH)`s*G1irh1#Kc*|g210Qq7srj~{n-@}Z1s^BnC zfk(}}TgaWe$syWtLnzm`Jczo@O87J4cVL3!RGofUcY&53l;=<;?kxj3Pj2F~pgZmwWm$eU|3c~U^2`2%myB&49~v%0)G6P}Zj z2)@m1MFezL>7v#iY&bz_gTXysRpQ4qc(0k=z9UoFJ=TllycMzNlQg)sk~bmuEm^VR zqmZ<#;8@~p_Z%l;D6Utp|5e4V#+hb#w%la=PcJjhg#e&!!87Iw%g3n5aRC=--;1A( z)-0B;MA*ZbrMTkp@j6MA8WHn26+DvSAToot?I2Sz8WpvZIvhv>5klWU-!q~_DJ%Ls zDK(eQ&Ue4^U5TDCkCOKOn7P@dfgF6R4y9fk6$FqCrcQTo`cz6rF3>K74CE7Cj9QPJ z*+f@6JxX~t5+?D{zvnCAUnDP$oz;qvZCftX107TOt#!vwAj`%$YW>}U0Af+^qCEI3 zbzj8&mlc`WOfo?x51;}yo%}OgJK59ZTkV~G0FTqioT#pS#{>Vmm@X^BBFVB6hPKVUQdi(sI%(vPW^Qjw&;dMn9-$q zYG`%Blnj&*NMLCC#d;fw>TCv+&HeLZ@Yk$B=uQ0lHAguk;*zfPAeut95(sW5Dw%PfUB1*V=zk0?-Y zI!e7WDQTrg*sWzdDs><|i;sYA%_S+r*%_?3=pbRxZ#qQ#!s1C~MWT_9UcLCKcST=j zPW^@KFL${O0jliB5=q}!1|Hr`SO2`_!gaz?$%dGps$~TG0Jk1^NmG0!L)O5Jp<&Nc zCcTD}x=q+x1j)37-`MUuGekKnc;(7`)MbHw<7O%EnuDm@cnE2HMm+kVQV_Rr_(q0a zZ{H->o64c9E*Mr3an~7$*^f6g(01-X_l-;r5vrz6_U1%52jP~7cpH2X8?5cI-dBU%YCnwQq*%eJ2XP+>ZsSZ|p< zO5**y5H~fcUXJ_Y*yEPRymFQ*UXuRL<$a~fB}a3#+w(~ySVJ>NoebE-Rf23c>^7s+V5c69;SdLk{i9A;!@a&B{r2f z#CX6>Dmx$o&rz(}L|ElqvNx2+LOytbAfS#1@ds0uVxP z@^VPUD@K2gcnj7LJ$+ePwAW% zgmQOi37P0_6{ZG6hLLuk-7|*;9N!vowL;z7UldXuud%j7I+A-o`3a8fAB_1f$8J7$ zS=z)DiTla2u(ZAvo)NithmX0wJF4nCjA@lnJWIoR?a5GB1R@qAn-cjvu_fU37}gK& z@pk6;V(do_Ny=xld^P41&smRe`=R<9G%;I9s7yJHm}MlkhCAHL`Lf_@EW$YaMXwov z*t(9Q&Y65cXjlVKf83JL=D$<_6_374viXR{QBY2O6#~2rK#C}I)WZpZ~xVAf94zUe;fsOZ) zjbJ3Z6~Qaaki;B1cNmbeUAiS-`*1Xkf*|Bczv~irSo3(khSSA)0o!uFhFADa3WLku zEoVqa^Tbfc_|+S2of zRRgd(PK45$M!zm^2~-=$+F zeBAx2kMs&H;)78#J)&RFVC3*>Hd=6|vp+dpWy?8lQnkwjIbWBZmhO3z6ld^wZYLyO0)4 ze3BDZYl15dpz$c(O88F<2Y->YnOQK=X{ElLWLsQav`78IAwPtIZR?JG7OhSbtUz%2 zUic?g@oUM7IJL#w4K%MWBqKf7indY%gk$oN`meeiE@|#~)cQ&ZJ+&86+iA^TA9ERq z;J10*bHyU1Q&o{NM$Q<@V>Jfc-GAG0-CQl|`_hf537@5&2r}ZR3`l6Fh2!}_()tzfc@ zwuE86xFTz#k#!zboaWu;yx(;*Q&%>JrwXg_WH&BfNFZQxY%V3N>Sas+C})wRH|nVJ z#hpJ(*4k=~&$b&3>T^ON$E=zN^=F@%kSE%ZnNnKAbSg0{21&flxWxC3f_?M-;aig=z+g2sS2D0n`xGCs7%aieqed39 z0Nyyt9=MYxG;0H3A_uFy0<|*gs;%+?V0U8u;~m~izH@v*6Tbg_ub&PmMPA@heQ?h^ z=(wC&)sx8^@pTP9nDN=;J^DRs>}VA{T$nEW$vrsdvivi|QTl8OA4Adu z-72gpP;0M-x>LE|=Vobq{{cd2uk`BH>+j8fb);_Q%BX9rrrn`zqj=qI*NEHi7s6UJ zwcc?Lf}xqmbeCX_l!ZG*c^A~b=-U%LVm-fAUpM^Qgp@f61t_@EGuJnPSC4=mHQt6@ zS}5MiW*ssMbzg?BJL;l?cZ!9{{K@AR&8@r%eXVFtEWfM{q`PwA&8pvt&_(|Wp^nxO zpz{hyJJgIA`US;k>PBe{&O7x85*)=VH@^~)8v0nJ%>~XnbZUBIn$86SC};#|?TyIm zjLmY{5CaLl6gwfUv#u9&ipQ}h*Yx#z|$!E4d6(wX|_PGEmnxmuF+XT9nnkt z^+;>59>uGw8zC6;{ZpJeCg>r~5E>=%#%4aTK!M!I=fXp=s4^b4758W2t;|Jzc7dq1 zLusku6h^+aJlj>h`?$tO%F1RPt~TJC4|-zo1$8#0Msj!J5FOwupBahl^17ocxH^sGU;9ouWAJ+nZvTX+t}OuZOQx z3RPXj(uC1=uHLTU(ME2K{7Xd-q+T~gYw79Dd}zFX#?VI6S$N`LqQ$--v$duB&yx0( zl5iAlt5??K9qP*&dox3&6MlwY7c*%-6*4N#d#V|A7956-el}aXpCFWt>I!l4oKX1X zZ03|{7Y1A8YO~vu!!YaV*qG-tYLb>yx73sL1u_=8kWQ=U#L0iwLC5!*G-8q5HYR*A zEmBNM0hWca#arFNSqy<$u@J!@PxKQNt}`D)KY%zT$agVIi)0cDdp~N&8Q>J4TPgmz z3euetXrv!Ve5@qDgE=zgnIfDd6*N__x=NvF&^`nhIH4PkwRZ8X4U4ip)etmLxlS&G zb&0)n(>ea;t<$ILk+w)P_~xWOMBTUyJlM$oXh__l^~#~*TOyPKHVhNjCUSgPJ0vto z{M2QeAu<#_fa3Q@u;FoHr@aLlpoK^t^EYM6m(nYb=#)ieId45lY!5J(_jvswayj)9 z_M6o3vQf?CaoP~k)_^Fe(qY=qgQ+re%zg6D^3TTm(e{@rTB)j24<2BtFH9a;iduy7 zsMWAy&&UE&YUiDaX@&i+s@Q?Mrz1?{?}NEt9wf^q2II5zH|LjE*2e&SQgcflt;s(q zgP~v>ec+c4(hV2y5LH|$bZh=9+QZ&-y(;{bTUD@YQs$5!etGD6u@k(R#JgnT!;b&) z`#Z2$03g5o%pjbqZ@_zSqv=L0P5)YZb)1{xugd~~Tc76P>CyB*c*RGfI_7I;COaH7 zxEBA=s4}Z@T#jZ`S+QH5+d5Mvsd2JuozX6Rk}1ukW~&c*$Lyp{TohVw(q#JN{^#-U zSBB$BkZ<$a0u$zBvh#SMqu|NcvM%{boip0jMU8@%JINthLCo8*qME6@!=YatwAv9i zsywV?5vzXp|3NU>qq&I^bem{0Zl*b9O#n0>IRsgWgQoLC5~Q#2#*Wvv9OT|Qna3Oc z#PGBb*pxaQLPGQ)#}OsOBTfUz?bt~h)>!;Fv;+Aj{NtfE7|R;KeVg%eYGktC$YbYu zqey{qb8DM(VGNM`IsVp86n!<_No=At@13^tn`#!r!WYK8xislEE){s2bvBw-S(ssE`d}wfVw$EXK`g(hVyn=+WhhwxXN9^d5VH3K)p$av*96gGs$lZR?mMS za{|6p$=LqJe8=|Z+*96a{VvY*@#S&8`$a*w?e9=?bIw6oUYHNC8#?MSB+R}11lh=H zDYL~#5)!;ZUT22s>r5&Xk zdhCq(O28?B6f@BkH`~{ZB3@KkmauKgAAt`x_T^s=n=acR0xH01^^ytIZ3oQ~qtbiw z@ak>F>h>ale_Xz+x6zlH*oqD!V$;3d|6om}B}aKNa54+^&4SNmKp@JfPF_k^RbCs_F*}vJvFr2fQH!8g zZiA*aSI$qm`ROM*SI}$1^fi@Sg76W`W~k>Kyauuk6K)cZi~&6)@GIZY>OF{Uknou1L-D z!-VLf>|IaXP5CwppqzO&2c+t;{u_i_Q-<^vK@P~Q_&2JPb*G3t^-b@`=;ppw_d?g4 z@IX(5%abe3+uNy+)P=!8-iGMX`NZk!Hxr8*hU z>USB;BY|HZ7e|R~`GlesQuKxr%(Ru1UM~jM+|l`X>c>nC&D^&9#l0YLoQ7$*@^A2S z*%joP?&UzQ;%EAw#0E852#JoPusbRRJ=wG;41YzP49nC+LYj6;?W{XHpIN)D3P;ev zxF{6+pK6BI_AD&b^7H4sd(>7Fys)>qqO$8AZ1_M`+O@C)RLdT+$oJ`Ya2d*L&Fyz@ zSIt=t4Q-`Jz9rA1CPIg*|K@A-%fA$ZURCL>v?wH{hdlB!St48BJMSf zEZf}qsFk1?97?e-_a%@lN?W>!fEDWW$MFN+%jDWywX8FfcxDWHcm+}Wy@+DrqS<^`v z*MRQ@sKmG_2eCM_?yUvjc+sjP7jjD-f{iQ7&Q#J?6qi$wGKrL3cd_s*cB{J)f4={B zHlY-7vC!F&-z|Oj9kM@h@E-l$^!H$S8X}wHRl4>LppKreQMER^`JL`oUR8UPG7Zs4 z8kPGZVB23D(&r$Mib8tk@ExsEXNIT8Pv~QNZ&211kLeeu%DmtTJ2M|>-jQ^HR zN&+x9xhsquaDm#Cav~yNy0Lr1odm@pgW~cEWwf0LMLfofOja9e++J= zT}TZ-rAN>WQ=U^#{^I84brIR;k-tUwnyezJJxZIe*5~@Bz?jr@J4a@7km7yUDVhKc z+YG6yMDk876Dfpe_(AZ)iS=D|2!tI@xQG>&p#vBXHcfT^3U*Dq#hntXin5<)$DD!* z1B{5ct=R~*liyCGw*(GzVZTRvl<9BM6qo7q$kQ2VGadpqLl8mS;(8A(0$O($FqR_* zN&*phw58H`@_kN|$F&AiiRwdK>nA0QnG4QKANxmW&OxLZF1U%tRS&;EQQ$q$3;-)V z_3$-vG5XgO74N3SYeV!vk0u$d#!f&7D4b?9hj|sQ#Qoq^ocL}7W5?}_I_d9ngvE+; zYD5Ad2ydEnyXFXu64j1KBeHM$`6~*nF&j7`DZjg}@M*r0F%2Xr=5EH&oi?3afmW^n z7S3J=-aj#u#Dp{}DzIsR)gJIS?ymW%iuH;+Q|EI{QYT6-GRqe4aIQ;#h|7Oiz7V$PE1~KbIWwrj}*ft4LO1S-xr=46#f- zGVL2pB`HZ)7#JNHQskyR#!C!_czzdWc;%BN#F=arnNOMj=4-XNYlpB1%p0_`FChK{C}Or6pfc`k|!dDym*8iq?hi ztY2t+Cy$!_#CKb`NaMi?htPVXjLe{!+($_Ggtxx(cooG?Ha>g308YU?@iq(-Ekr>hAs_KI|ixmm*+W~@G$ z!F(eLJ^0xqLa{nLH%~JZKnuKu5yeUOGo>W5iO^79edKrabMP1khyqF!IG((0lkwdF z6}o|1K;a-SpvpPzj>~86wOXgG^Zuf`ezUrZVh$ttQ7NWuTP&>8yzL8~zfV z0!I3rv;fHii6MNjD)LRQSzBFSAV@VP{ou)?+0S?UKbmmJCU)%L-k5)DJ5K3kEwU|2 zHTD|7-Tfvk!&EBzg5t+e-6PM;35ko!o<*8`fZl6lD0;=Xry)X!`OK*>aF9s)GI{_u zQn8=fE-%Zv$K=k33+ieQV@X=v4aN7r;5sAfj5jhwsnHMS%3oKMe;L+NDPNOPRrNhH z`uP4mmH_ ztX2_wZjVb~-ebB?EggB$Vs1aDueGf6j5!qvJPan^>MX`SYI~-$imlm*ykR6Iskdk@ zhrlA+?}J7yaC`1GCh~I9KHGq6mdfPL^cJ!#t~{a)uP}ES4PnU_0dc83L`6=rmR{Z) zYq$X!0k$A3V&6T^ODSiMR@vwI&vfP7Bt2hNy~XZ@3m4h2GS5ZHee))5b3!>o_X8qZ zPu4zE2N*c>{*r#=mEZhn{#5gEfu>z>n}U?;@3~RNMgl?M-UJr8W+{gm-e%eT1AOsX zh34(*5re2BFOw^kt{H71=U>BhqrN^K-ku-$#HO-Y-Yic!@MOH)?91@7E!6vk3_;Mv zFb3Un-l^@4B@fbXX%JEQ&n#OVo*S0n{Q3EdwEh=K1Th3e;eYz0z)T|k2J+&CiK@C= zsWw!$cGs`9wKdWzF33zsTg>>$*pbPk_j;H%M0OrOK3<4l%9|Mjq5Gq`L3%*R9ZDEx zR)U2DmxA<#%WjVuDE-1?23;5kHT~M7i6Tpzucs0~F11WYK&`uqiNWefCIRIi zDxL+I+L{c7U5``!k)Y^e9$&29I0}9^E?qFPh$*XZMnwm$4NvuvhDxw4kh z^+R8R%oPS?3kIWwBULYq@zb*_oz?#Oz`!+#d^z!q8eg}yUa|8UN!YHiN<4YB-2 z5bc7~$AJP_KOehl_GrcO(#MOvP+D}JL#%PyPgp<}Eye+>EPc#~HekbGYgK{Wn(h4f z0Q+i5{`CwTj(FT2D}zIV4GlJ!EIpd>matVQC+y6VvIASc29Ji^Oc=nZsm>nuT%w6fEoDpPCoPd)bu=ucGD z)SPXiQy5dW?P3=-w`ueErqsN%&QM4^p;z*_b2j<4-GcHgwGDRhCy}fH z#H_)cMy`}0rjSVrqy<7m20O`;K&eC+VjNIg%x>{Z);N}_z*>vT>xnqevP*Ead+K=3 zk%JAb)}^56X;u5(Rya)p_W*w&u|cehDkekI9;7;zSNt~u8Br1g#sJ;&l{FCD_hIVD z>2}X(6p1-zkqm>%!~L4`jq=vq7P(BR_SO;+QAO91zYl>>38+26ve4@z9ZVuHvg3Rx z#ANymWRUf&6azsG`I09Bqcdcc(;Xmjo%vSuDT`u?TDQ5wezJCUJ0jD;PLq*6fN^aw z3TOpPn6O*CHJ4Nua^_unMVV|!-j>k>j1cAi(T`J{Sxz7t%9^2#PK5(iE8S4*Ij^79WcvBtt6`B>iViCBhdCMmymZ~u&RLjyRNfVRS z&kuAaLfQmO;=Wu-;!U>Id-i~E?8><_2WX6M)HKzEl?}>U;8lK^|2Q%IFY|@+;qr6~5FSQ?kWvMAktr9>&>P&@SquqvEl=${vuBANen7 zkN*;@r~-vZ@o&}TU&;L)G;#u1FS}{!Yb;jxJIVLp+qSzkKQ}kK9UB2G7Rkb&w+j$$dzU<1o4<7nf4NzyI$E(kmzy&6;FD_F5Royor7a^qT9&8q~_RPDD~xT zd$^j03jS%rK|rT-h}J9Ht{U6`54m4;I@4WevsdUZ8kPulu%MW0x;%0n1L`V>@6MIn zecG+O&pHbORYd0(&(Xga5e>r@hw#ie&;TyjP;k9k;lNusV+~J#RnVvdv*frAB=hz4%?as z!^9oq#HTUzhd7>69hBjjy6vs>gxR03FBxKdl&%Nhz82|PuruufFE6TBJowo z3mQ8_e@)47e@}}_?z$dV>{nz4Syg_d;a{UE#qLSh{gkmioTHP9~yw`{0YU%zoa=(%ORCZ&G<#dD(=tl))Ygen^w);727x#UBeSCUiU!Q z?GO`2w4}-sLyFoIbG1?LB=NgtdB>pWY5F~b6ShwVqs-vPDK~E$4y+A4vgd^O;lr@O zj&=z-TepL9e7MmZjy8oO0n(|V4!27STB*o1z+)|wxXFdH*?*-H{Y$9FIPnHc&kZ@h z0m}-w`v;eBA%;+kEvM)!Jx#l2%^i!;euNS^$J^vbe^F;@|AJDflWwuApbsm;{h=KU zRWe-~p(-K}{@p&kb7-}4^)FtA>R$)v<6aLUo*fGP@l~i)om^O={;XuJkQ|c-=I`pf z>^=XLhx~=GO4EI$ zn2b4jbj`Z3TCTIjh2HL~{D+vHDw1AvxwhtpIz6rY@6YvxBDUqel->Fh!2ibl)!4wT zx4YZl+y0Um5Tl>@^^3mK+CH!CwsGk6WR=v2r_kGQZzW@T$+}PMAB}~pPW^7aMh3{i zdzXtiH%8mwn|3vq@F#H7D*v71kNCUC^vA=#)=XAs2CnO7@Qf6lIDrECM1eH3DJ7jT zN-!DPiq*nN460+MOrCeH_pQ&;hA}>%<&k$-R)>>~&Zo{`nydeaj76!h(2WxQixyih zOQa)qB-eGV;sOqi$GqA(^rxENCcxD%D!8c9&%bA*?`g^k%WCG zcTU~kBC)!!E1Ck5z7l3(8H?E;nQ0oE^h02|_U zZJlooxxUT~P|8z}y})lzm6z)BtAPK_lKhX!(LIge<(4iwPwmH4**2g=PazL;GUUpJx8OP5wtw=!O-<3-DD8Z`Sji0@i^+c{WJdivw5IKPJcU+|N0*PkHf}|wIDY`{Rr(N{=e6$-)O>o zp8o$m>F;yJf~T_oOH=+wI_&RrO(r3=tLn-kTl%gm(qH}y1pL46`2-^TBr)Sw^Lqby zrBQCS?cX;2zx3C?@^8hOO8-YL|A())jEXB-+I17OaT<5m;MTaihmeHe8r*_A0UBt6 zySs(p?(Xgov~dE#-MO9poqfi=W1MsU_MbIZubMS$zE$oY4RDY5pHpa8?F%jO?+9 zY%1RWzrE3aR*@m~uhuL$aZB6je*PhTdB4_4wMX45As`v3b?Ht=XR#8B0Z3q6v^ z0thkQKG~cc*@i}5Usp9W5P(3So{A2OL!Ml|WVGO$sHxReG7vw1&&Z6^@AW0r)R2&= znN^asv~($02mFv3cVOX(Y|y~y|3*d4$r!o2YdP;(f6>;)6kgFy!_t+~)fKC&t0UO& zON+jj{eLel3l&xtkc}$l{~Klon9@|_9leTcj}MJCEjSdbt)wSw&Ex}vlqA%@XJ&8= zymsf$xJEuqam1#0?(VSy{(I13J3T9@0<2n`nfx1Px!Td<=ZV z5@ECZ><#&}^SQNOJ=#UGz0N=Wuev`qB-nb@k>sQMfp@Zis+67j#=*ym_P;^;wSaJR ztdF`sOB;hNL{G0>bF-jVLgnEa7qUwYg^1NPH8>PXznfoX>m8p5Z8l*|T{vDe#J{Je zhz$IFY>SS_-e)1aZYCV6#=@|3 ztO&nbmwXm>Y&Hqe3d&X5Ldb5JQ#<@C-M*{{uvqDpc_)4hf1KufjsM9@LaY@3uuEBd zuH*@0Mrz!Q#JVAL&hG}Vxcw%~@b@A4>fs@baDl(VuE>k7%!z zl@*NEmIVpDozX2i|Ct1~2B^;Nxed%99n*jcmyH9Mr0EHZH88e=fl{H-pPKXT0YIeH z!(fxXO~%stItmO1xOwPq7&?u7%cs?0>TC+#FtVH$hclhn9-wbMk9bzRBsXRJEtgSu zGo9kYX-`qBVk86EcG9z1@<|=z1MnHvvkwyxFEsy%_!98yMwZ?~2nGEU8s-q5}kZDvv8(mT~Ll|9z@;2F8Z zrM0`?mMKJ(7^O2Re4C|A0-uALSaLD8Ds#k~&Sw%iMVzKNODM#xY%UMoHF39%z08Hm znAgY0RqKn%ZNgPm#}}Z>;I9sb4u28{Y}gGsFRF#cFHQlG;XmBH%-@YoPUx&_eHCgd zf1u$7fxzbdYwXUC9WRpYNFNRF-!n?h{!2B%n$M}SKGy?78YoX=bjIXi%*eezQ89@& zk%!fxI2DzZ!PC>o#$F~;6`%%JLtP`Wqr=1M=1hSP-y@d4B#yF$u4eep@ewfXN z6b?4F-z~qSFU_>n9hfXL9EKZ0>=dynjPiXNb+($XJ^4x zm9C@}pUo|bdo#-D_joxtlWU2CZSePwiD)zdKx?z=Ljre}vT(=txW%^FZXHF>uVUiA z$_B?|Vq%F3dBAJPRw1jbS>`o|QlT~qcZ5M;1M zEPh_J<$~-1m4}gH(Xi1(*V;F?c9VM&lMOLx3E4@9r+)R<*f%_?t-#?#eqTB`IE$|X zOw;KZ81TNe_PEPq^N}|bbKTw5l9tzMOl;IZP*R6}xBBL4a}En@@SSMhkkgktr!w>FMf8cUjw#ITFD`^v@C*8v&{jTXrRU6gn5%@(fzii5KYVg<#7NRnha zX5@a}dc}U9^DCk@wL{Q6Mk8bo9_45!V}~#WK}HmtxCii`CWzSUs8wcOACkpGCtq&} zfsU};BuSB9?g#uJq0zm8BEWt-CpS0V%c%de1G1TwYqOTDn3RG4bw9LsQv8+9ZUNCo zIX#``C!&ayr6inA_VTvwX&df(vggxovH=PP&Ri5~DbAh)v;|lJ1MRN1+&iaaWdP6s zu`>d>CMr8W1jmk0)*0@8uwr6Lixx z1Y?D~_R=QzuvE4Y@Qun4(Z6MmgvDF9o0pw0^gfT*gcnP#6iCSOJvNn{#Opqf#5@H#$Ft{o2i{3Ntaus%W?g6J z{6o#<9nhb@)1oioZx+(9YN}+#(zlBoy_-DFojk6u8^P>kOu@%J{w#NCjR`zJ!pDcnw9%H+&257?!#|$>NU(kk&7GONm z6RcWM-y&DY=We02P#Vf9m!4)%y4fsENlZmI^}RXP35T^iZL`f!vtJkNAU%wpS( z))Gv0NT6M(SH1vW?gqs}tWr03b@-+ugy=>9=oY zuvwA7u5}uVRG0SafW?kikk8||7Q<0_xuUQuY0O+z>UjG|fiFPj}X+ z^nEfdC#ouGtQ*49zEB8!l7RcecaNJd4($j)I!@q4A1s)zVJ=_9Lt0pgxf6K@zD_`tOqZ5_VBps%ht8P!l~7^h5X6Klh9JA zU%6_T|6<5#O1Y^()$z!#*2l$GP({9CN0R{MfZS>5-^C6TaX)9(bZzRo(lB1$qG7aK zydQ>@zMuY1L@D&Cgo8v^dZ(sx>aBBCUTK#ixZ40BuZ#35#9wsV-JRl~$<sqq#wF zv#hMG6H--631+$JlN$6qHy%&2R77N@OqS76LWY^rbYhHS1UQtsih;#4rfv<)wYDl+ zt+F`=6YZ>lb%uM^YkQZNGgi7p609ccF8dSXRV@uB+3qeF$33+QczGI-19tGk)s^kf zWX|io70Qrg1K-|}$W*Sk=O`b1^#hk10G;84hOu2YHC9N=82#cf&{9#M(6*T+%%TC?4Tcm7JZDcjZ&uZ5EJKPU>U`N#A-v z^e`=L_~m)o>Zhlx*;}`}WsLdlz^&7`{=p)M0mw1(Xnys(G9DL@4*=brmN^rAKx{3Ix)5gO1im|=9{#V;t!QAG;B|ensUxfcTFkpAvjlO@k z>OSgg0C@nTM3tRK}AmceIEJkg-vBRug6M-q@I!A57-&M=NbzZPj_}6OCbEZ z5C`mDi1sWYNG)bFA_y;{^7A6t8>ruYQ4|^eVrI!_6)dQ#mKNLgfs;lqFv+Z1VFb_r zXR_Q|y1z*TtLe*GP=b=)o{S)av0=|28;G9rF%qRX$I~6_-BaQMWSps9$MyWGz2ydd z%xO;B`B+C?DZ-8RKfa`+*Uoh4#@wKGx~C?YKN8ExAp8W&f=^DO7S4V>47|ShKV@$k z!cJdJeg0)vx(?CnLZK3~DRx*_ZQA)fpxa%7OxZCVFZC7+jh$U+-PKGmB~*(-2X$PFKrSho)Nk9x@|72!7@Rf@9vepRUfd zuM`PBa=botrh>3_Abr9dvsNncf@`GlJ^*EaBA(Jz5uX;EMOBi>XjE6TjD#tw*f;94 zGoGQck z3svbuE}lcnOJ2Klh>2ZH@*Z?!Xg9_xi_>Xb?;Awr@7MgYV&OWg2ywDV-%D}`gAf9l z>1ome+M1|#dA-*-l*bfyda_mUN67&@!L?rkEXD3%cM@~Nnid*zw@;|faCUE;l0BL7 zZH|vK({$Gx$5-q9@3m+X_(Ydh17@+0?U}oMfjRJB&3Icd?G-i>&?pA3JbNAS&scc_Ofqm2yD!tlj9oxy5Bzh<$Wjv-12)HZsmbC z9GY_NK4cPiRyjd{iR!ZUQHJvu_yUBE-**{+hCh??3@P0CdW+ANaz@;RgTqSS+|vbI zJs?^A2Q8UhdV0U&wRj?vPzYL2_#N~XCGoHdt#YMx3!eGK9yqT?!Km>jGkpcP-GCWH zX9|U6{a7ggO5{5%^VBD~tVS~&r58#CT{Ldn4;_zFOkmC)+tfOX1aohTP=tDd{&H@d zPB83N*&F+2sg_+e5Z~&%tr9#2h8$U#CIYziGYY0Qig^N%O}&)LyXFGxAon25)T@qS z>M10I(|K=)L}jxRA?!obVRt4!># z%oIBt2bdHm!m(hTUH(s{a=!8V9;AQ=nahCLpCv3{u4RB{&|Lo{Me#L=9~4S}!uT0! z4IXn9{##?wK36Sm7Tf)`G^Z3(g~LxQRh$G)cx2ej$&=24)tyAASj=NMyOHkP*t2x# zGqqmaf?WizV^j6kxQ;2#uOU)97v*c|70J?_V#?0s8@1wl7;Dr2wjFB+S93X4R?^mT zCs0gT_dUWP2H!>+o5IpVgDD6BWH?0@$&gTc^`Y`TDct@Q_yK&lH!J>B3xqTG)9VvT8hQO^R0lE=`B?)f zpnd^>X|eI6(NSZ(10NPAH0Kjm_0_z%7=JSIdA<{?Ho4i@`!KKM=T z=IrxS_XSMby25X1E@6Xp^oe4mPGlYC$n};LoZOn{9}z@NottK)OQSqPbV+!{d64DN z0)JV&qhWf?Tlp=LOLq77FC|ffAR_M8(h~FKqHqpI?PwbEZ;4VdF!+fFrOJLIh8U#d zU_H(&=4W_KTkd0*QQiGxgr<>%vkrbveIhHo-dQc7Ze~~pi75Ye?#SBLyOHk0}clPZJAO_%Iq8KX!(m0~}@8768>#P@L z-W#y(Jnpt-^oyKd2%qOAzFmSpsBLL^CuuaUBJMDxEfCt_;_AL6$&^5zEeB6yArSeV zJ3W|Bv{w@ME`h|G=}9Ic)hO4HdOReAT>;{~!aLR?OF>THVXmk{W9cP@9eI!ggs6Z; zA<&Z(3ZDDIb%Bytr>6^S-%ZJlT>a2D^194~tkY)Q=$Q=t%n{;#ul4o8D1z?|<8GLj zu^GmGNXWrsGM-!NNPO7zpfo;DdOFNK2+5HrkG*BlGT>5uKcoh+REv1p{&bPCIV{Sb+}F;fWsDO$~_- zK0(GO!fY5~nAm>~e0kcgPacJ2-calNb&f25^ZmIPz(m+PnEkYlU`O^B+Ud@+s_~dd z{sD`5BiUL7LBP)1&0Okuul(%1xO0)3>6DaM(Lhu5d_q#R@}26kP$-p1n}080?R@$% zSNeQgm?d_F8RH*pHefdLyB&yY{SW0OARR_=wtR)%boV!%W0e;>k{NO#jmgBcE>wf^ zl>RvE%JDGG$F6USLDrL*8d;vNAt#`XswP$tgAj2n+zQ>S7S*mF@xI6O68S@P3~uhA zs3j|O+Cx+fWM0A46p|inY!_0s*)xDkM{kOmE{dSQ1sF)&rBAPvAEX#^zxWYr5}|*m zta7^yFOpwVORVU*&ug$HFBl&yS1`c4=b_6oM>(lpkyj&9r4jT9T!6FPQBhR~w>DPT z7e$#Wv@>eaFqh2C!U$?uPlQ{&RC+N3(VSDi0zsAsiNX@0GE!9=;NQZH4k;xJ%~D32 z8zBw__YyRuNGD+xkpa6@wwtH0z_j&WC|?V?{B~ zFGkYeYQ9_SlZ|u97PN7Mw$ey;JZw2^4wgc7#Qy#zl?_o@W{$oK-u^hGC2Q26T#D8i zv6CK8C5T}1!AuR>^&LgVvV}fU0Zh${Qps%Ch%c@~Vp%6S_Z^W0?~X&J*T~UBhQz(J zC}44Eo+a=7Ryx6H!fyAPFbzp3AL|rmO1wG4ohC`$hJp9C-DNDUP-m(ndx$XisGB%b`za}l^sr}BoOA8s z?Cj#Pg{gXud~ws#3YJiSVa%K)EY@^Mi-XT$J*joZU~--E4P*oCEz89-;l(nP!d*FLfqE2%B+64pDjZpgB31_Z8B3pTN(o>d@Ieko53}iCJ z-GX`Be9&n{_?M@Tr0?576qo3=1f&vU!mIq$arTM?$hJaKFOr~Y4VUW`2j0q8DjaJm zQ~mhy=oF!ClK|H@robI)l1+pG=Dl+I*y!7nbyVnZAshi*WjkhJ%VLB3HXyM=v;7JN$YisVMMhGu8aM(<6vwL3%1(9`g8q~x3c_3jq zz#xtjrykiOp)1c>JKP(RN9pp5CGBfDn;_eauq_uVSJ(|)hYJ9la-n%q5M7D{+-Ub!>DTD7|FXhk#8E&R5HFT@r)XrKy>}slN zmhL{i2n;@VF0QvkTvm*v$`aPoQtbwN8I}d#gf@N>jNTn|k2Q7r5Ah-`*@YHJ@kDxX zjc?K!@scxxWGH$F7-eh!QmBWL@s5M)CYz8-1S|VRNc5m#mTfG74r(%{baqJi{z0*( zDb%J#uIfbvDQ24mFI)Xh`RWt^OC745jfj`DvFI}`uqU720cuafr{a(NeCK80K4f>7 z*ARrnlCzQ0N>a&{Sz1lz)M*OFFZI8^O^KP1%X6cDAlO=X!z2fmL*?LAoRSD8($ns0 z`$B?wDZ%>~MU!DV;P6Y-fn8>^=)okR}S6Vuc9U=K0N;Qw>m!**{%r-aTFV zFP3CNbyKO>6w#<73GEP!iMWB?Xyc;1Msn;1-15);Wnwpx7FMGvu9}np!@B9OR(29Y z7>ai?5^`PAquAWU$1$i9SCJl5O_D3{$G8xa2Q6=T_dl_3LYm!p!@_?TL`?59sek4G ztYgL&0zy)DG{sHGGS$kL%B6u?p&pn?iJz~lz~wWe>^KT z#kqEt;k|g~jn%v0e}LL99!Uv!Uf=Y4@Hi0k(SA6a6Ja45I*5@tpGZ$TF7_~9yqOPu zn&5q&?x+weD;4Q%+B6C}T8PZ*SVQuwU9U064?9 zY20Uly{Qa2QPy$iJ)H&7M{nVfmH31NHy*a^9;n|lRybvwb}vjk6^4)Bm zzIGn{Hwi4l2R9i1F!hTRk5_ zh7i9KjiD5VC>X8_se7b(QW-s}fuLDo`CT0NbI-~@?Nv>El|+q2k_-?$wRrs--C%>+ z9WZ>-kH(!&9!F~z>k`9?%e~p`e_E0HtOlv-jv$=Pi>hGPWzt0AMHj#O!(X%%N_FMn z|K$Ib{VJdB=j*-Ui;c%?Q1qAsmKnr~*fJpUGo9ZbknFGAFk`wH0_X}2`n2u$u>d`~ zbr6tOF!mdCG{WW+!u#a0Y{6&jO9MA3GpupN??ON^)dd27aa!yDntg$L&5vRcDfh?c zY}#SG4=(`qEx?&(1Q2^Ou4S0whGa(mLLHACY}ng6!+Lis{+bTyIaP6f8^6yF_2Q4v zYqEtS3|uZyflN)cvHN@6(p%>0LmX$ARic#fW<->vLYE;5!al6V)`-p8sxs4`r#!%9 zy*5TcdT4PBb_J4?g)xw(`CW|JCZ-|kr>Hu(^T?|M%9mQJCF6Gs^J~QyE<}E~G?30D z=6gf&$J*4|+_2kqiW@at}@ zUrZf6A1iEX5G>stE#Z>br8m;886%2qo}Ly&j7xo+Lb~pE+Iu#9`nt5rEwL(^^kzn4 z=yzi|*L#ut@#l!sh-hZZ&sFt3SrE}OU{OKrWRXJrkocGla%jl0L}bIN_+LS_H%Uo3 z15?>%6F$eSl@UX&Kd;}~GY~ZbETLRTsW)vi7PVG3Hfx{=>sT-|$2Wtp7o1dQV#8@v znciyF(SsY>b!B(m3>qF{qZL%o*)3B83rxyIz2{oBN{b4MT5O)L11bZapay%z(bK*0 zY+kY2P51uQ0#1Gt-!}(D^+%?lg5EDY;(f02W;_0t$Bvp{JN9J!=|`)kiy4*%cf#5cE-s*@?BSb8bEzcAX_;c&$JZ0Y88kQaUoR>Ck-|5NJ07$%`;4O8w! zD{y70*l=bZ!{kn4Mg0+u=7ibUWltm{jLcE)2R4a3fw%w!Rw=G*Fj2rzT2d0lgZeW( z;W6H789@bh1cL5Hc+I9HFJjWdp6sCtc+=Pizk|JYvoVi3M&ZZ60Ku%+RIS^+#O;*80Fg7bjmCBgg9*=8SW1-MTN}sZplNvWK zLo-&!SHG9r$uarepS*gO@kTzdBx+<%K3VJ=;U9?c%xwrQJNdtAYvoDuV&A7HHH@qY zHwJGv#Maqeh=(On+QD(-a93*B0dXA_KF#EdOA-VEWvDq+Mz3d0rKL>=4m+rL9K^Om ztu<0y->DU7)!9Rm8T?@>zRaYgyD-_on|_<*h0QT$rvqpPd?CwD7?dhi0t z@5{@fH#lJkfEWan7{(!)U*6Ig-aM<%;8x_$`?M5N%$`3R1W)BaPPoCyH=|r0xJ6Lm ztVIt@F;AL%Iu0%ZyoDIU3pW@&9Zi1`>I;KUnTUz?O{O!yyZCd^{A)iQ@@|LR8OcgK zi;0kuI~%d>sQziVSUkF)SA=3%dnj;{c9;C=FdS;xov*$*j71~$rY16OSiUGnVf3wF z$%B>ut73c>gJ2>7OMHf+uNqW#SN^G&jJ!tT;Vs(t_BcdV64Cb$5%RaE{XH}VEaAb` zo9T!04j#XPg)WY3Bs^}8?zhrr6gW@gvv0%902E;|v;}A>StG3kbR`x0xWlIo9l(-b z!5^jCJxDgS!55tcXA`N4KtFDg6G%?4GzQ{zTidgO!uq?@7TceAx>l~jpU(^D_`?-O z)2;Pp_Gt6-ldoP>>YAx>0IG>qiWg&R$upuwWb%Bd*=G51SmIB-0M3a}TUs+@QKGLm z!n=w-PiGAxZ43#x8vF0eh&b4y`Zblj*^#sX#=mo(Tp-9z#_Ft&NiW#i)bYHfbm znVn7L&Z>Ys2{Up4f`{e0Q>MRSZ4uL`<*u~I=`{i)w`USr`uj(^D!20q}$+AJY(qba)7j@!^SE`=kRL(>pJ&}_*U!|4=i%K`=E2N8h`+ZxN6GP4Nr9d#)q}9hA?KrYKGc&d4U@I#$6(RU&ZKE|M)~g zR&YjBqM@%DzQ2~QxzGx&j>vV&1l?bJHX7+T2065UC-|6GSa3lorWpEYYOp8$D-a*X z3R$#*1cGH`imIukEgL7MJYlmVH0C8gcIhAJLWg*=^ah3uKzTIC$Dd+73+N>IsfxM7 zGc=-wBz~Y$ASeFGH^cFjYglh~W&shfdkiTdPt7Gh z!aHZZ&Zt<`rKsx7oI)f&#Oajq=81RGcy0E!yK^r$yKiILI^@0zxG16o8!6w$IW-0& z_s{|bFPNrAK!U*`q4MEaVs}gzr!FjQ-0DX}{5yNiKG$hIChO5_4#T7TCHh9^bf$dS z*q=ca-#5P(1Rc>O5SfNpw9!+yp<;G>P3@OJ+rWS_H27f90c}B?L7}OVKT1%~B@Q>< zHad>wCna%Gw=;5-kxK_eEMX_q&9E?c+Vn)d)^ktWAt!?$em4?bO}Y3H`FKg?`t*G3 ziMzpp?@iIMmZ@#g$^dMom3A@JuBz07{6DbjyxBvjLWuA;zqzYrMS-1MN8k5x29)(q z4W&mPk<5uX{K5UQ!PQc7zJzizl(e!(PBVqcedc5@IIV;;ze-GC5(85Og*;S@)Mh{P2t=J zB6E#uSL8_9=+-pq4ZO&BjVpvnuo|Sb?%8;^()lNI!%8MXLSg&GQp}#61DjeuEmgLb+n=GNhdFscUEyL?!)RIQ!1d7c zU*2ioG-T&o-;2IX0Ehw>L%#dnP?!GQQH=H>B4qAYyC|^o@NiJ#4pe1+=uOYKPuafM zar_BwBmofrv@qA+p>DFPX@^DpgG4EiPfhMDeRTiO=&I#J&9S-TrmziPb@Z1@3%isSRB7* z49SV`@$;V6{FI%O2;D&sFH(-1L_@RU3MZ@9gOAYIxzuEvsMh2~U<`+NjK;?k+^1Ze zSZ968yh^d@rX>^+SZV`fEWN0%Cr8U71rn21ZGNL<)&9;$R`-N zN%swXCof@#GK)ueW^ag`W6yOj_?)4 z&pAT1e}~Q?FO|eeLp4*=-N2IvZ-5e=>1`%`3sF!errRjk>~DuT67dhW0E*mEWz_ED zzwwfnk{&`%*s`PAD|)9AO%fSxO65fDvLpb; z(4fky*1OM?SjTZwsd>Z)+Qt;xzU$@k;B``!GjlO^w8J@JYx`q!aDs~N+==D2V6`$h zVDnw;t4N~3z=1JY>5Tw`nBZ78c&*_Uqxk2Cm*#(wOb>8sG6CvK^N5Mg?)+aC0Ke&G zE$m+`C72L*GO7ugvt*cOEBQSaUvy)z?4U=;LA?TihIouF$hbhfFh)^296 zGR!umm^)wDF)CTx&z>oeSJwd^A)%|(oJ!SdY_haY|{ zyo}Zxj9B1GUx^qbRrfgp`}k+`10}m~xDV@5Y!<@($bikhe5K{vljo`Vn^8^ub~%6R z|Ll<^0GXU$#u2d1x1C4B<41)cYJ|U8@t;8Qyi%sL+>gq;;3jRtl6rwmlT`*>|OAMe5od$#M&8 zYc(Z5;Gix+E5{{}LTC{PPlK&*$=02iZ>Jq&6g;GW9c@hlgaxF(+z(Yt>i^(Tnhc%U zeV9;&CT0EdZFq!ax(`$RxYZ!{AJJ8DJtxG8snP?5QC%g7ID&P2>EXYV+qRn3eM6@} z+rUiXS!RBK>C{1Pc0OM+I`90zNt*%4pLZ_PwJ_gBeO=T8`E&=diJ;_5mryQ&wwxol z6{IUrNT=o&neiTDIxVcxf|QSqXJe?cUQCWO_@4vcZ&Og)KD0=!p8Yl*Jh((1q~WIm z6K_tHB=nSBg>aS9cosAaZyaK%ONrb$X%GfM`n}`H`AmxqBjJ0|qERF0PbM#LZflXS zB$ayZd0Mn=Z19qb8-53nI((5jZ2&vhd$TO|-&yl^e4dZ)o}=D&)v$A_H0G@s&UerZ zyI=b1ywmg3kMuN*&gcEpN#kpo%_FjB;yFf7S2r`dolip|49_2Ytt3NUxNjGNZG#2cz4zVD*WCRhgBgXC zEP3t|#pm}dz>fRD>^t-Z7en|Jz8_1^?c+lWHD)k>ALCspPRI*IJG?x6+5vSDbp5;n*cr zhQHq3F)iuR%iVsR%D$s=Z$9NU zNe@i%OUVqs?Zcczqd_?r>y44};POL7!rN?Dr-a7G))CN=${4mg?Zzf##b|=?-fFqI z>kY-8J!q+i5nVRYZv??U#^-^a&59)q4-ZH?-+c4$)L(Zy zLl#%~m+``b!%trxic>~ILS%KUUb?(nwJ9FFze-Fwn_UbE8h)lT!NPgnR4Zn*F&EeC*naj{FXjIpn$kWQ1_7 zOTpXL{nxMoJMYQgT9sl`#;`HPjb9u|HJ@rykoQbQu;l$Xy+(BaLDB$F zl#9?)Lt{m9EsGE91xjRjj6w{zzzaSFK4NEba($YIxIsizL9_Q(F0yv&`gAH5$+}KB z`t3JrG4?UC-`aVV+^nKP2UJ@>t*}eRhACu8V&Yhe!&kVB+~6YVgTJt>rZ_9eL?atj zo&Z5=)F06UDPm?HU#Jl|PbhI+tumGtX?_E+8AQ))sky(Jl>==QxmvnjdG{Je{N&-TK;r}lpO z;PJ-(i6n5oD*o)qC%&Av7>|oHK|1J`6zch)G|p+41%8E~@xI4u9WNhvpEB2y`3YT$ z*SMXg$Jb9St6m87oOM%4{M2QxwrOGe{Y?W~`M9jNg?vmZ@|ybN;-Ld9K=qghNPMtM z*xRrBK1Ez2xQ-hpi;A>2PwDVN)Oq=Mdy3cjdMqARro$|DcQ?Bg_d#r9>6QkuInFFx zB$IElzQI*)B!poYac}dN>^|7NHL7GbW9X@);vOxKZLz;(=$*O!#kM_@FMMSqVd>4s z2-e?9n~Te2h^Kw*vT~fs)j9RiKYweEzEDz)2Gz(A( zExD>#Kq~i&f_dkA$U%u;$FF~|QWXMZD6v3!re)BBHaA&fY^gDGoeWA(*TQfODx$%` z>|dSY0}M{JX|EgxEd}GB>jYCowx=JPqS#?J3_F;N5DXY$PS}v~!Tzyao(j(q&rtM? zh9)CqoSi+&fI#rN;&WBuDoo5kVtMu8+|+j^ibG)!eh>sXVSJJ#ohbTDhu#X5Rv0ix zrRfD=sZuz3E9P(_nwd##jZIGCjne2+37+}%Ne7&zw_AL&dZPECTagR?*3Ul>Ace!2xX-I=aCQ z9zRC9r5D4Xgqs&cJ6DmJrTnrpK(7hk*Rs(r0m5BAxRS>CqH(1i#bMWdzdT-+x%Zq% zCCxw2+(dM!FfmyVk<-t|hJVwY`*|Rvkt#eRi4MAYnonZdb{oQ+%o!>+AX;pEvVgj4 zg`}oR%Nd_y{;6X4{_*tX=5#K;T*33a)&Du!M5!hyGWzVrPa`je8mYNB4Ba!@C-BY$ zbE&dwBbmVeOP_`kI(hg}cyp^u94{7mp%9&A>g1Q-Mipim^DZ$WmFnuMgr*~}$|KPY zHw{#DrtlnFDTXFKmH8iwp7GJ>(D1V^jcRIVF|~yWc?Rr=%xBtgkuKS9aE|lb)b+%}<#cptQZ{J`^ZDO+*Z$J5DI; zI~qX=P5u;pK~}9xk#ug>Ck z8x6)8F8$VL?=Wf*gX!N2bkJcC8M%hH=&A*cGRsQA<*4$`O2)jeilvV)L6jMX767JmAI%J5~Orsq4G`O^!r;LUR3K)n##t)383@EjlCt<0lsP0#g)fYj`e zW?1s(-f~-%|4$n~`CKzXT&`b_@`-~+f>~~#7iU6Pj0DTYs+LqL{Z2(`WOP?Pob*0V zpYy{!QwBN$&SnVupf{GoDf^zF=QWr6g||G&@21x9upU&ElEwV8`T9ty;064#H;SEcnmaCjZPF7JlTQ!c|V>Rn9btbHm9|U5$T#E8DJ? zrR9NJKjIyu_qF=*$T<)!hIWmArS4T*T%>bMpe!Z@>iC`@6HD)aNnw2iR`Ezk$<*IB zrmFHj)8Ey5P|W3F8axVACI`b6`htGkwUHs_Qjn zBh@9rHgJnk!FJ*IzY_zLrKWx(7Gc@UBtY3^Sq^Rs?()3bFd!nx5dL!UWVGw=_(zWj zJd3NIaA_&%=97ijtu*A(%t$$aOyO$yauB{XNZEl_CjR(DNV6F7PDkX<&O>}?2qyEd z(|GK0u}91de0XUOvJv>RGUK|rrG+Qf{RP}dBR{Jdo4NC`#eF~OWYP_|tQ8)qti>`B z$Cw*29Ex=^U}|lxw_|M>Q|Aj0-?QP^DrV|a?abv_T(i&c#lTly*u!w%LE6leeIxMg zjSK>LbJxJ&VDEOd+AWzUZ>#JP&P@1Q4C65#8HU02gz5n~<`|dV5DwRg$;m;{v*Sg7 zl%872;S(;QVZ<Y#IR2b}-VzAU(?WA(nHO0!2FTkl} z{vRSn{sN-oB!P?NJp`5g$=BY)0{2TWp)omHVu*J9`pF(on@t`qj5Z3+~eTbTbtB0m7f`c?5X8#)7{#jA5$D-k~oaT!XrOP-7v=C zmUX4+r^U95u06~8L){NcL6;vMB6;E-+tVInlbh){l&}sO0>^m@2fY^*VZHn_lynXsonsqyyYQKS+c~`MkH2wZ9-;ZnISw` zZTaMLy-OLyNmsnHTe?`!`IL1P7!cF=E$8(=!N|YZZ5-yteZ~p9#z_P4PQsScKHpN8 z0NyfC8nl+7Y`hR<9eU`s=ZnGQZuY)kC}@HU zy@a={AfJ&#Q9&_^K7+}vcb-R1_u%~mIt@lNrU;tJzFzQ{Skq-8dfF>h&~eAm`1)BI zB-k2?*(CIj7JsrW0G)WpQFWs}Rjj>rGQ*IUL#*>&y1N)92NQZqw$C_QuyUD7## zf`D`k-3>C7pp=9nA*G1GP=mk_ihxKcNDN&=NeK9k*L7d_^ZcIweZL?0Fh9<7?{lxc z)?RzBd-{v=sy?Qvj2Yjcj+ktCr>2BeQ8;?N4=8FjI;pGKTr_WPLf zx9LLvNY?O;Oc%&NFg*$60maMA`RlNb#{!+&{^SyfSl5V9vy1jE+H7g-#q_r~EDqnN zX@G^Tfv4CH_60U{#xiW|#|URQiwQ!d^8R}pYq)mFx}Zkw7D!04;mNcLO1<{CKh`iySj=jeL+_{u^k2Ci%!HLC>hTKtlIEE zOtWyoi`R;X8ZhM7Dl?Nt;38}&c8o3K*Dvqu+j7*?`+b>;!jV_OzpY$W9jRVZB?(=C zISyR9IhjLs&naAU%~y(oWFsA9=^8qZN&=cXsY%*?L`wZRf8uU=7I;6!w=-bGZQl)h zPnHKYhQ_L%kL)djsFhW?cO@Doeri{!%BnODl5^%dXO=iQ$q*sVB5!t}7V$Pk! z8Eo9`l2Kj%%~BqDhtKiz+SUY;gy7FMk$xCkurN*@X!PIVp-Z zRKr5(gVLf?<^y%vT*H~DF<6^tgFZU)>*m`O5qdBcE*4i;82=jB>?}OrZJgy0^s=%1 zjS5Y+7C^OLBazI~2{G=F{^skuuRvu`vgQ2XFW==&LzT6~O|3#IOIAZ0On%=HmJ&?z z8`}|O#JAyiQ0B)x!9glp13K%=l_lm;CWLO2GGSYvy)TT(LkCPb^sTaSrEJNARJ(&_ zniNcF^7LJs;&h%%Bn&2k>i4?F7H>7=5HFj=n>YtZtcYw#V;NUpTr5*|=cq(UlPd;w zBFn;JkQT?HjC(1@3Hcw<%JGXG5!-{yUq9~0jbb`x)9%3dR2h~t@Uzb5Tca|le)FtK zBd-_MNfRuX+V+f5%OkhGeNQaKg)C%J0B%zBA$0N_x?L(#{oh%S-Z0eb9NoEK@q6;I zslarWDgKzf)hn`!YKmuQ{_UBHH7O*u&)J%m+F$aaWWhG?-EhcRR&^ftA(#7ge_v$A zJ9<*x(x0MR{$CaD@#4^CC$UnmN4rH@q)A>c7-YkK+WMLw@mH=De^VOb+%s%a0T3|l zW+ko=e|#a-)f8eD7B>BkS29BBz35aJNf3Hma%dq?ffK))S87_I7;i|s-V*!kET=T- zS`{kce>Y7|U2kW&Q@0o_R_(2Cc`*9EH|+}@8`}wJvORZD#-XElK|Az;Z>@*g4@4aL z$ZZ{B7;mu;Og8zz<&K*ye0~OR|zszRjI>V$i*h zOfq^We64lyV`HKWr!P~XZ*L9doqTf-^ogQoxY+w84X!);`ns?T`+My7!EXkK)Ej+i z6nH)=g_h5ml*}p0Wmk9FfPG7GluE*YLauP1l`;&X#>^;6vbu&QNn1#lT zHw)Z<=InY;n%$Nv2mYYar|iqo?GU`XNiZJ~2w*C$q^S7Ti$bJt zd}Q_*<;3Qe*(&#C{|_{w6DKO+dbRYo{a_U13g=CQN{~8*Eb$;+Y{bv+Zt;ZF?t0KW z2?x}QY16%;kyra^Qp{l6jvv4GS`TU7Gs{vAB_yk;`T3(<#Z_nE7&hhAEq2u>w>P2;5W{@}c@&B?Jy2KK7eB~+Nr+?94*{Q(-S zks+Os|C?+1kt(e7N7PZEXSV8@XyWZ|W`G{jwn}|;*$xUlmf!DUTna}_ZZWbiZ1uk4%2c6_mP`DVp?(R!goMKlOYR7Rpu~zb#`>xj5L*Gn7%ERZ`BMsImq1^d1 zxdH){Q*D)0ZZ2XUTtskK<(MW8Oy2)-1_{b?&5F|ygREKtV-;+2K8fGCL+h89zzr3< zxY5)mqr?Gfo$ZjAzN&LwyM94ak5-0ETB+avG?rd`FCR;%wT9zADmD1PJ}$-MY8eQK z`oihwFg$Kc|v_YXRLTpRDi1yw>9eXDVI`<%S)$MZ9qN7IikSq%-~_7o|Y;0kEX03$B&x80z(JJ3BsdNDVm8 zBQLFm=^^qTT4a4nTV_oeJs||CqyT1X$?trhlRLaCFqm_}VYv|)@A!m`Vn~DUF8h7H zBMhKj)P!g(y`d#dm;^Oe!j{ErosX{00@{*fBoefP%coz}?`5+jfDMN^}G?b?n{ z-J!ClMZ8Iq_%KsV&3%2v62(cgzT$MR((w(t*%mO^6}lVB#KjcQ{d?X!wL9`WVe3+h znMVOu-1QX3^ar6?!KBY$t?!R|6S^?9CHNG6nR*Cth%n@&IGFQ0q&2NvHF>TIO!}=uF6{wx%AZiGpv$>O2xla{ix?6A zfD2|SduirtnQc1wgVOc!okvh?E!Hx{?uBl*;T9%z`F^UF;51=&G}5^>@)9KF-21s< z+#BCp1&t30ItVz&PL?uupY=Cr*#B;4n&^C{b}m8mXUnsQ;fx-%h6@c|7P-JjIbO(? zhZDdTPlo&pihZmWdscpTcz2nQ#w!tp5Dq0LMS@AoNOK@Ro|K_~lF|sWar%*k@P{~5 zg(yI_0zFH94gW&eZwpQJ;W>6b(GtS{Q1t=;Litk4|C5I6W-C(s9rok_I~RiWmN9q2jpJooKr+dots&=NJf`w`0=c3 z|5)U;bpOezQnHZ)I@>RysH-A;B?C%P@^au}c|ePU7?ecgV1-9Uojtv(KmM(@C>H#L zh@WR6Lh?nnUOb&AP$*rHoJ6%73$-+j z>^<*iP8f=;J`mo>f-K)=ad%cr+1`%?`fa%SLY5kiGgW^vh2h7=frFmii?V|^2@g4* zZGPis);hefp(m+Ay#D#qo;f04T`Cfs*<_fio8J&G9(UkBgPH-!&62Q;DGm@wQP~UY z3x|nCnRhZPslLIvyx-GKZWt}tbqTrYF7{QE8H3_VjPG1UhBEL6_LvIo8{r-K`-N(o zH)Cy!4H(&x_8_CfqJ(w7llM~bm+g{cY06#JTcb5o4zu==V+tk~(=?cQ`RN~I_@25% z7Pu5dQf48R>92i0Vo2JWc;5KF*`S5VON8p%N0l;`rhQ&1;T*fi^yG!_xME4!_Z-RT zmbCRlcX3g}VzZEX13s6~5R$QcU*>&5ux3&~2K{5D(CRbn%2*tx|0vGGNRh(+=mrN= z9|}V%;Xr9Xr~h`+@@7S8s@c5viKK#iciRR7b=1;C3&44ez2lV!3(PfaY0T&BPw0U* z`9}AzppXV}=|(_;t5p>PsGwq&pr+`{$Ptk&H0e{xt&rp-1s3=DX_3vHx4MrV0JTM{ zjOVe$N4(a#9+TgXx**T`bghp#6Xc$*%-C*?F8X*r??sW4QS%dOfolcID%jSvkPY8j zm?rpS5pvfi7%hQrh6V7tE)iSqf)ttwQR6Fc)y+lJH zCqTyPH);!4R8NzH5e0CGlJ4h(D#D@5d4paPp3eqU?PaTp2aem2Kc?o!jlMLz{G7Q! zZJd^*XqoLG<$@dt%Ecp0g=}VZNz|OPHq-Bnx%oCCKYJA)(;UnDvHUpOxRcdj*8~VT zpObF_m`9f8mTph~K}BMuZ^n!|BT1Y?3I}}P9w(1fSK}W~DK*oE!t9^h@I7VJ)Ozuy zRkzHZB7p-HJryFwtkMf{SF!4hyh_ZSU`U|~Oq=3^IH9GA}2;qWGcPr;JlHz76y4&YhycDFlJHk)#Dlci@r)nJQYk8wm>jvR9PYW%6452vv_dXlH6R^`zgh)F zh`j<{UT6N^{>{JUBGe?$mALz6kDA;BVz*%YSc$xjg*2aA_E!&SCxRZ_0cL)4tV)HqixrdihrEYvf1WOkh zgYXO1pB`n}(`*i*CZmHi23E4h2d*0RzYs|SZso8#(>cHuePQbonNHE6KgP?>rnW3tBvm@&to zQZPuLZx90Jf~o_rzBhOc_&#vs1E`{8Wu=Ncrr+EcOSuVCu?P8mSoIOvS~Sjp_Ch%^ zZ`9bycWy(I*Pk7J^@Zpt5jcBM+ESYo#U-(0CZ~eylbWbfe&kssU#not-dBBIzpIF? z;o4FmBRBd|xYdCZYbH$gt8s@g2R(>x9>>F=}shF$!8PE`Uw${NfFBu^%;s;#)Zi$`g`Ybg-$!*%6+ZCMV-K_^$ zHSeu&_ZQZRdfEM*Wyd~!nqoTkV<@^ep^2D;m7QBoWIb`&+T8xlcZpKx=PN3GCw;X^ zq2T(6Fvvhk&(cAVK40m$m(|@KkgInPhBF-z^2<%h7h=kLvYULsjU;& zKbojVP{50Q?hF%M{i)kbCQClsZ)^7&E1O0|6}a9qLr>SHAS*}8 z!p}Qzpc$Q^}<)zyQe_jGgjt%27GIBAzmhISKyKI1%x165cC{#=;xa1|#9jpjNre5SsEg?_P4{d{LxT`i&4o4}V`jjNCbWX0+X-W&iZs z`<@W?u%tibH_!3doMnysK z2_r?+TKR*@w`{vY?(v*g{q)$MCH2p?|1s@N+JwQB`fVw^G36Vv6%2$nnfYc$iN;$Y ztS?;pS=6}Fsk0Q?Fd1etJRJGm@*7W`K_L_?+EkSVxoZ`5^;%cAd3D-$-WpvRU-M60 zJX2B=uPRe8E5`Y0R-(^IPo#6%}Q*Hn0HQXpuVzU+(OWElk2Qe>xz@4Fc! zzWtJww593(+oxSCKTD-85Q>1%-O#8yXVf$XzRVOerlI`)YIkw;{ z@0Eyk@qaMTzqlzlabx|cWuBE@jXe6+@)zgoZ`|l#Gx5KE_^48e8N*dY;yYmf!j}Hu zXa0vHkmML9i2iA^JOPcz0U1ISKFJmw9N5&dnnzjCe zUj5%5Vk$sJpX_qG6|IF8F9Ly%<=DXIds6=pZT`Up{@p<$7?-h=p7V}2{6eHL1!d~< z@hoPQ!zxmda6X9fKfe{zN_X>!vFZqgTkABYKPokw1~h#)!wL95j-p6{V9U@dYToX@ zJ-~!Z>Kn~gV$iEmvr(=aO{8tG0Kei)=M~}l#>TZ1S{?DTLV~O_UG0&boW326Q?PmDX zBEwAPSGQ~5)%A+v-HQMA8g`3{Z(VfQp}U>^{fl*t9`&Uo@M-GUh*I6 zfQ-apfW0?uLe)`w+h5zk|MalTI6x+EE~N`%ChuC_C?ItG`M-VL-;Lr1(^225_1`8p z##y5WHaJMS-(+qdRoBwt_usycDW;Y5ruPHCP|;QeT-3is@OMmJw<4ik@PASKKi_UZ z@&_RpN+>VH9T&&@{Ve|D3?o+o1%omX($P4J3i!yn5|t|Qq~k9p^FN07KO&pi+{~TF z|I;X8T!J)hln(CE|2CH~rpbSr^c%Ty0R07JXy7cHR3y8@?LSWu z&iEexX)*HVe8hhfQ;|Bs&RGCW!*FkegfU!9@%rok-}L-3m~cUnH^l#K41c6Zp^4M@ z-m|m+UrRUtvv|FJKgwSD-^Pg3IvFOMA0%G!2Y0=$uI7io|G&EbKXPV@Sy9FH>I?dn zy)9{VmVGlY@IPBwPZQWtWW{nx;mNQ*9XnZF{a=?2|5ro*TZfB8{+MC*c1uf(8P-P} z?>{&B$1n$DaDrY@KH;8zn2qJe-`e_*HuKl_{{$L!uhT~1y6mw@ys=QTs`lWh=a!=f_%ox&L&LGw(!oLW>({Ru3|^_gI^nIYt<<@>Ik?P$ zXS>WQYS+ctMEm09^`tA~Khy3F##@zmc92jc!gVTivG8GJSNv~h*CU8qO_v03%vi$iH2W^-)%Ukb*$d;bWCwd>k9lNI zs%w3jmZsYf4{Qkp5er}2@1FR0{4HJVgFl+_@%>}=1Zubl0kHSU6Na>ug99foFN1~n z77Y&%oAIex;fcn2H>&aDcZ?7b#&!ZcXF4f&OF0w6ru0U60!2FAOb{VAiup zVX>5Vs~-ouJ#z`ftF|o`7||B09V;EFK8^#8y=ou0*lE5o-RWw+>3FDKjCvwY^!0_0 zuiU3VYddNyzWr2Lwh_rk9v*_$-{dg&$BoQ${?O+BsAL+jQJ909*7^GD9e=TA1sCmm zB^dD0JDz>6b#5|u-J_r<)S?ra(yQMqX}K?>$)2VZRou%fM7zVf-ZvWI_WVTwz6V?19LdFNJvBga2%q99eJ{{mrOohq27DWJjbucr50I&cWztI{MYDn1Hp7 zx_V11uD;w}+%}_3G{8!Yq?6 zCIVMP0Jzy`1w=#=$nDuy@un7+Bbfx%l!%^o7Gfe16dVB$(ygK8?H7^>q)t6Jy6}y@V z0@9L_^dH;b?Y6&r6nd9WsHWNI_wuspTglomJUnSYUv_U>LRp0pWNLfCjph?oKHMN6 zARwj3GvlY&;x)BxKCW(#iN? z;H{^PZNh3#leW1j5jh#z#ILQ94|7f<)7a5T?p!luLEB%7AMfydB$lbyd8tMt)e0Q6 zQEgp}c*RA}`7KvZ)84>PpU~ck#B11GS?fi*&XlGI&}QT7aDevdhKM?7U-TfV5wm!xGCB)emGoN&`?WR zJ2G-$+fWq0dkFFH9{eT5EDDFHI_kT(TyL&u_0LT5f~BkCguZ1TW}Fhlb7JTTEVZ<> zd>{DmrB~K%aI7on{eI$7KrNTil*kKox$kNbjG=)D7y}@Ppf~<^`g61>CHGRWtd*a3 z*iyvrNXi=Hav_@zLQK545-yfojQp$6X1m#?qF`YVV}W1}(tMY%WUzZZ_=Rcl81hH)YStF3Jd+!_Xhi3O0&1{#!4(C7OpwLQ})ht zAUjH0tDovHASkFE4tC02XIO=7dF^KSI_?N3!DP6X>H4tR2>(amr5PClod$zS80pg* z+C&eSj0mZ-y;@ByeMy320jh=u)*+_Ea-tA$A-eH|WRA<0_6Bg?t9S#X8yKW$W?z?AQv9y!zjHpLFhB8wT1PE=NAMdfAmArDm~+!y;Qr>Uh4MEMvy3<<5ZC6f|;`oseNB+z5@ z>dI9;^e55ylYurWc@QmLI`QhP|2n50sUCG={Ii%*6v~zfK?eRgFer6Qa+MwY{JKSB zp=SVim!$BqN7*)IrQQ5||M?MP+CtYglNQC%09l|mZ0ydY=~7@aELD<=LsP+f6IlXq z-TrdETg)~dRe$RP*xCKz!yM{7fKE<=R=0F`;-94p$QixEqxa-IFM%1AEYH1-JsXIV z4=MNPnlAeE{bMIb#uz^r@7K>(+M)`>H8V%qjrWk>fo0fe z4+OD#=aXI8;I`bj{U((6fzP)uO|FUR$r(kWL>lSTCL^*TLy>l=S4GGRYz_Q)G4kMS zh?ARXigei8%DG!uIM(?d5dY?WyBV{`NDEkS zbt)#GYd}>|w6yOiGQnBa+gO(LfHfYw{YB(6Je=xN(Ka_P*m=-q|MGl%dAKFmY0yoz ziT`1d2E4!%(4oPc4L?1Q1)(s;P8HPllMfE*?$HEiR5VqKtEP%Nw3(ArlR2(|x*F)&bU(|;T=Twy8bm)j0zEC--V_7+~@>ZKUDA?d3$M4V(=rh?U#e)jd0 z{(T1Qfl)zAj?lU;(kwAeK3^Jgspf}s231YaEFb65)`yJC!om9sY%dO&XdlY3`vv&; zSi;cRZ1;@`th^42I6&Ce`-*-%L-*#AgTAcpI?HB80Uq!AtEvHH5n~@KM%VifE)W+b z!A-)`L;f}SAMGZptSI@Ec)B(3PO3e=zvQV=DM02wGQsgV2b)~gB~yR*flGLYNy*#I zrVdX^IYki;2lkbqs#j?hI)NtL*5jpL_5;En-Z&P!s73-I`JZOze}3xd+^s2jm6~J9 z0aDSn$ZlBrG#mNX*}jBpv+SezYaOf#g$mtdUW@$msOd?=4m zF$vr257S-VIAJ_mm1}X&>Y|23-j6OMFI?5j9>+cOgp|Kzs@{q* zxA}ALTh$Fmq=$FQxoW4mYyivujC*w5Epw`3nb7rfQ;KhmTfk9NU3zx)e znyEVRXr2V|QKiC}*L)9{H|4%^ z-^sT~c(G+Q-t=XtMeQo}z0NxTCWKJavs2y zKuwPQnVNT>Ka(!kht3fB#nLRv^EQh`bHMJN))~z(??Tdvi7jYzMkR}DGXngwJv0n_ znQ|nUXF*Pq>xH{zkm19hYnM(8(1L85*sDJJ0#bWnxYTgvnwZ*Kwlq`S^rdsd`J5yD z267(@DKai8yG8xf9gI5bdi~>rH3orz6lk5v5^(JQ~QV|)3#@N1oU_||3w4h^kiP5EsJona#AVgL- zkvLIDN&<`|_V^kokX3%vvhIkOhtQ6oiEiC&(#9RuSDHB!7=v79c+--vX^9Wc#>ensaNpb3&CV zo@VaGgc9|ALGbX)RFX$~y^p&p3wsJ#&q=hCTfy-d?5uxiy1EUzf_`Y2WayjkCMjGL zdnE@3y{db;>d}WwHMml(=J68$Q3~jon-dn+GZ=W_aa$D6qu zw`9pg0$WbNaGOB8%5Cyv-3P&mdahZtLhEZU@i_+2k{T~h-9e87xGH}sTR>T+pR-hg z2sKd;^_zo3{UpkTlHV7U=6i85f9%)%Q7&@)lqvJV;Hu04lWG!p{Z|xDW(t6jJ-A1? zEWC|OLACD0hP~%yjCn+8GYryHwzHd%I=IbsE}Mv&G37r1_h2WS1KG3P*hGmSWa?g$ zQcr@eHAoTyzN}*um)pYgZlg%YqyXYj83?f$`?FaqqxFQcnAke4H|P#UYLj&>k$96L zbFA(&AK4<4N8@ zQkd{5+3S#lsYrD9!>I%Hl2|?r;u+t@2~|Ris)~@PXLmO7uo)8 z{)-ya2s(gOp$mh*M`aI!JhsT0-N3J$4zF&lAmRYt$C5!zX5W&13L@5-S4mWP@S-@k zR9$f{WN4Jz<=tBFAqgjb)>8%D&hZCNa&l6M;Fo7He!#~G^~%@k47+Y|gl~@R1EGpw zPWcWlEpFZ{*b#V)9rB*hJ~+^NW}A`us{o!b3C=PM zqM^w;12-S0Fe;D*g*&_knpxSdILJAWd2BJBG)6Oz-*9he36wlM<2mnOPOHLYh#)ti zivOlD5G#Cw_#JE?;kY7hQmt$mdov3ky;tXP_miZ@_mKp^V0-&5`IX|`@ zwdUgZ4D))R{9sZ0nN)*{DB73>uF)($=d8f489xw<6m0!GehwsjL7z$*Q?~GhAvz zs5oHUXpPYQQk6Otr$B-41xD5=mmKLr)n_hHZZ*yXl9jg4UvQZY`MD!`aReAEZW~VP z=iJ5A!;0s{4=MxH(rFCR)@?HY?=il-Im!`>F|ipErKrZj)WCG{1+8SNN&CF(ZBrzN z*ypcKYFV$v4w=X_*-rKZW{55v8`>&X0u)e2CcocD`XAO8<=oVKPkR;J!+Dt+>KtG^ zZJ_^_&OWXET{~@%cF9H zS%@5%g%CbX()-}Nw=mz46&lx8!WZ}RjJ=Il;pRDyl`@~$iCXS~<76H1C6_P2iU-5^ zG(#j>NbUN7Tzt?q+%S}K!c94#gqi(G>viLn8;P=PP=wkpbWJ&)x>I>00L`(xk_n>H8l_pY@L|zK(5q`<5voT`wr}fO(*Upa-{V3{r~5zB zUXi1xyh89O$jLPsfi#;o@j)KO)D7LZ5(W|Zs?Ww*=4`%A;iv^uTqZ%f_7|v|G}M_9 z0l7Era@6TwX1#W^@Q{iN6UY_|kZ$Qc0p23JAZgXHcj0nc9`E}#J`ID(z9KGs^Y1t_ z{7>$=a65E|9jDI?JpLVZo$B1(kVmRnNYVki)Hfz~@AAjLd!q%bic|TZA_a?n{$6R^ zT~?M*Tw;qp)l`?MA=f>3S`S-246qnr0_p|o>WIYCq)IOk)ww%EsZbp+kT|_>q$U~m zt6zz(_l`<9h?8a~6{|hP=%B=$R&w<=e0>hPpy#BV`4bN$?!FTw?IYt%h^%UK8i>zd ze3^Tqm!3rjfvS>=@*fx56>E4$MIrq74iIVaXUaONC^Nw!c@<|1`M1Qqi6BM-TU^dG zfA+G~ZGQ4{v3I%qP={!aB|SJxW1J*R7p_7>r1>x}i3o;<-@+7`6j|82vc6L42(yyY zEcJ&FaV%uQH9Tuxhu@k#5J%+)vL^C|2rk_Qsq{f7k0Ldnb^R+m9-{`P^1pld{9dyb z=#XST5Qzj8AjXA|A3u%`cSK4cN0RBHfm{y4X@Yeo+MGC}SX zD3hz`OY12n;L?WS9*g}R*%29dav)Vc*h}NRC?;PH`1C8iI=eHV?Nw6_G4re_HS3kj z0fkk#k&2e`nYbca1#;qdo2q17I~F;K$HSh5el!u{3FVkUe2V3D-4F|{pQnitP#~5i zrzRE;HkT>s7PCGU*uf1MvNVo%LyD0c*fWqM>v5}xI~svLflVG3J{A^Oc6|1QpOzMt zgC=<)XRLre{`!^8B+y=Fe)^>(<-W&?_$D2q=?WY+#Fs``6)XXh1l=*Z3EVqf)*iITY{XKeK6nU*a|lEE;D z6bt75Q^=j#qDp5O_CCCQQV2QIn4hOiMTYC$2deoc?!<2O93@ZV@tpYrHs)aAFT}+V z#l6wg>YRzza6BjShsbzNe>}^qh7?FPlMqwjt^}~7ql5EUe*JFcwPuK$(+5XjZ{SO| zmSEf!c!8(~e|wE2wHvdjW!fXDHb+n z#e_l)V{Jzs>TH}o!|;~I@cBJ$d<1=;NJO0pUi`$z3oMKP(SdGT+V=d0b`hEt5HFR~D!eM$=&Q^A8y#e8U zZZ^15ALx`tQugtb!?p3D>$k)lMW6#sB84Vp2hpADON9YSqI*;20=Qxiw?>xC;ZCY= zmwOS`x>0S4 zLg|vhYA74-V3-N4c=Ctui<`af^EI%drOyOY?~i&h+T68%a|#T=NNSiBtHIziCWD!c6G{=v>BQ2NHw1xI?CB zwHt3sRBOW#VU$*uiitAtUztR7%PHZhhpg#Mt%>Q*u)BwRx;Ns?c+6Mg5ih_@vQ|Hm z6wAhfj(NB4gT!~~Zt++dG&d%mva|H*8R|-TK%OGgeV3IVt3Z7#y6-PoeW@uRdbk?$ArGY>pjQ9vUil>&3tZrL!)3 zg2ZPRF6D(SPG%@+mc4$;g80RTsJf8$(k5fPr)0B8{kz6!KCWsx?de(8#Dm4^?7n^y z-M;OZ`G#s1(F_r0StdEI+%fh9m6>5EjB!&xtA$BC-c5ryIC0nFUzjNb03~Xo>Vu3H z8F)b$lGnI6fRvyGrx?vNBQz;S{P2~HI=$?MTuVW}S4T^>I4)}k<>(|DSFu)}M(u;7 z!2JOV@pqHPE&_oxI-_g67}f{A>0;9}JGw_oX_49s&qdup`j1v-KcSvT1SO-LeT~W{ zMO7&Q7OEvy&JQdcU3XB=&Gf84;%GMGLD%g5QM52CVAyI zK2WziTwuRuE@UuKwnIX)nbHZnZFSNG(Bxp43`GN~&A#tLGo-yfGZCGw7*n^-Cj~Ix zqGtGr>1V{e4q!*mAEKJj8};m{9?*SL#SaD{5~}s(ajUVm_m8AeaaMXRG2$;+jL+V< zC@sxCOxhxR$R*h{d1oOWk&vF`JOMb;T zF}y0On`@r=lL>#3Fghiw7ddA6+Z;tZ3$;l!+cd`2H(w(ef$y*cjutQ^(~KGAzG`j& zgiWWtCG?4^#SmM3OiaFwZY==He2cF$e!e`(Rf(oDNn;rNwNlz3?K(wljUcy)A2 zCC@$$^LcH=z2$JCzyoiKDnE^^Dk^-=B?5CxGFjIjZ-{!};%|ZGpgZCKEYAn*^A*Pe zy@I=niE2#rAr)A<4@Ys4P6bQM(b6~BqnT*nR9*s6G_WP%*QT)17gP=5!jnL;@3`0f zTwl5dbh4CFQY9Q6O5j3QSn>2*NX^jP+~P*@pqB=kOk6J2A{UIBi8PJdasp7n`pq{! z*guS498bYVh5&dy;gp*!oE3&n4;^w`3x={MqY#46-W)KfDIzBD+8~0IY7B7*ajJW0 zk=Jwy@oGV!{VjLyqm!8@75C?L4v9qlkz=z@gYD9y_@~7}PJyh|EQZPeD3s4-_V`OY zv}YAqjkVO3Fo}P5F%oOOty(yz%M#Ow1)N)c1Ngo|SPMI90Nz~ae^LObO?WmokzhE< z%+YKYv04$}+uvesJxpc1D^;|?HJ)4@4qn?7+|22$1S1=~v8~oAV=9%%jR@9~CcTp6 ztl;;TVr+C|>EQd5YxmJnXbrouL>&|3f*J>mwz}cW=fHTE)pl^lcv~`&BP?^_3)Epn z9@RI#^!XOzN0FAo2AgcWyh#NkMvso@IogTtaAv*rMSxz@K{9;c`c(#7tjK)8&dQ za-rHxVZ3lY@aVPTk~U>xG>A|(*b9Tqu5ci4rgs+d$oJG6n5iM9##dEHUGT{Cy*{XFxcE`To z>iJIY1k0aZF^ipf{LLkiA;%kS0w>KFk)98sSW3b@cVaBqs|699Dm={q?pT1~HS_B0 z!h5f<#WqSBUP=sATic18ccop(j^ITp@A*S8wXZw5BLLLeUGmUZa#KondPE_Xr+hD7 z_o&^HNR!Lr7jkO4dAqq3N}w8hgvY`jE3D%kd+DSm;z!=hPezuqyQ_nV zVLOkabMW>{q7Vd4xiAe)!vNjK#?}VnlcE3FoHPH~oHO&W`?G0>fLuNdqr}xBz_sf& z`?g`sTyxZv_j9A#umV4L%K(Fn7k3Q|Ks{{~xxpwGWBUWCR~B$;jAM91SUUZ#Wm{&R zmkC*O+;gc@1PDyVDIKzShn)`2?pQ>%H7pPcx5%AKQA}*MzpV!8=QAm#tcy6!_cfOS z>X;cR#m^g)F}WD3%Ee~guxAQ6TUm8*46w-ahb$R!X)1|MJjT9KH}F#@)gLgros)Hp z8RuM$pV%85CX=lC3@boC{`43NE-Tp?H@=ORSJegRxE&(p_#Kw)WJKddR5E|a!)2@h z`Z_LMY-;~X@S?$&z^ZneZMy9e*!?%lGG<*fT9%`nVzw7WDUYF`xYfT#kMlElI%qd- z8py}JADwo3L$#S7MX<;|dDiSKIYg-tySS^rd$z09mbzKkwL00e^{nlOH;p=Or6DGU zRG>{|#4a3zQzP=!hVW#*!#N6QB(;uB)!3Fa3z(o)gFOMxSC8KIu^&5T?z};RxSo(^ z7z%9>6l<9M;_Mr9Yl5L%;X+SICR0NM)tHsXpEuC^a_}8_x-pLx#lVn<|Jdi#bKpu| zqo@+pj!bVvNw)z+M9V)Cc3el7VQlwXld+-^aJxP3b4FL~j7dEOg6dfes@Lb?`0InAmzs+*4?(4qnE}VNP1!b z@m)41q2nU8xs`Ps*$8b_sSSll^@f_;)`pfK-8L4hC}0N zH+#-5t)kqVRTA;pNtl$F^r)A)n%&hx=yH-YX2km$0!@SslWHTYLUOOqcnOuZpe{4U zwPh%#4kY`?;A7*rk0AFpS&68K7?&(m*7AHt*a${?%ryrO{f4;{TtOWYD^u0IgQrwk zmdsSm$8q7>5r_18Tq?85%$Zf0?K6@7hLK4@WObUVwMAVi26 z;o_&AZN_+BBa>zNw&#G_y{?VjP*XMBia@0T8KtNFN?M=iXPx|^J zrZ`-1d`TcI-J2cnm)oc~iN{+i*9j9f<5k)9jXq#ZrBgyFmctL+zjj-WhcVZNJT{d7 z9TNc)BSymZtMj*HetE@Gi)(URHi^&A`a|Y)hS~~q)7kFJ(z!oe(aw78l^6k>mksbM zseNKsIyn0+NuxmQNB(2&AA9K!fAz%KZ}^Z4phxMP@=)(*dTGA*ytU52Fk9!GVxFPW zU4HNKV^mRT@U)>(p=DoPpRm4*#Z?I7Uu~GD2Ua|XoUHF z8ydM)E+O^J2oTW9j)+0OLpZpzl!$~hy?D!jNZG)L4?NP2e@@#t{{Qjy)lqE*&)P+c zli(D0cXtc!?rz21in~K_C1XWNzR@(`_9hH?#?_j zkDTGN20%}Mk~)9*sJ{FIL4}xK{g0@sQV^sXfi+4DA`W3C2B(UBm3x^^EXva$&`qv8 zsO>}X>5=$0xNKWWbf;Uv1iK$RoYpfQNwT+aY5tp;2&*R!+l6 zI7}hIj&Lms)(#SydKG5(+jvLH3bXl=`)TQ4*w{V>kjZd`UwC{6-P@)}4+I|?c@0~++W8g-mOVytLT@?BZbgY!4=_kR47n%FQ$|S-rw< z`VAy2+be#$P7p8pyWp41eWcarw3$mWr)a*I!27mKmN8@bZ&Gwq@bWXowxJ(G%hkxr zdGp1*N5l*^cjp<4xgecthJ>;*YQ}-R7)dPj2M-!-!Y?`&m}FJ@`R5W?S`2=Px0^e6 znXZ>Y8p1s^rd0qbj<1G3`o*;S;0h}$d8Z7v5FTisCtHw|r>AG79zJ66%P;ua?_=nR z?|}|GsFczqQmA!FV{~1+tY$O9K7n%|)RNCHT{MrJcC8C2V)9M2Y~*=i0xdjieLEP@$7Sr{912DN+)sgCD)UGHr>Gs#uW?l$sWu* zrh@m0C?y)ezbx1Lww++m%vd58wYf@?YeBw{`L&z_R-rj%Ok}!#{NDREX+B{Bv?td| zlp@fYZx5_{YI^$MicE}_6jUXdJIgtWY($(0DZ^&kO0ot^QjSMB`4nYJh&6p_!X@Ct9Jq;(W!E%fgS@}YR?~5w zw2tGEMI)!ZxT zy7E6{96|;#N=-`#kh**H)2;goq69IL8@Cc&l@T=B)sUDZ9lsa>)$C=&@vvpvhKGlW zj$3h#-4{f4;$(ALasAq6-$vNa6InK;Cd<14dxoZA~HD%*|eI*N`9bzBg1uW$;A_YC&izuVTD6xRU z@3eOVg>^;|0MmKVXtv02jbsf>=9BxTDuc*^c#=!yie2#BhYa1Y(^jnN{X6BJ;bDwL zQ+T@GggdJwg^mwteL-`1f zg%}9FOA(wa$l$GQ+ICELz4!47Ou}be5ySGdIn7J2Dp_lXFz{+K(y=%ecJ0iz8`Aum z0<$G^pak)g-q8MrQB1~W{GlpB{OXp>0SMsI8xNhaxJsj(QlI?(rzN34nmspO*~+Rk zlrqf3UVPFn6m2MNN1wC)jAW^#SMd|$wk2KF!W&}4m7%ouA#K;^H&Yx#Fe7)}7ZW%Z z;$jykbdf-#ZsblAr2hH`mwWY!a21f)SL2oU5M$Q<@0f-mQzKL;F8qapsc$6q^=$aV zdl>v-HE&KjPqlcF8{KcH_fSdD>J*R0DB5ZnUKJSG$nZ=iA9de{zltuESG7X z^STf2AMwhkEj&w?>zcR2lE+9h$Exd(zZ~%*jG2Gu1HW(ibz^ppxeyv17J(tEtV+6& zR)RKZ6=-TzEt%*!cbt(y4Wb^}2z~VWPW|EM>6lQ5Cm=31i8N4eXim;Mq)wj7e0^%n zvJ=1e4G#7fL@Gfls$}c~uw|~T%|m_*<4@dzo!zchFUKXQZHyxCrwt|xRvRvHh5aun zE#BY53SfU2|FT-{PBMP7$dSPJ1&(${J9%rjfz*R(r+EjsqwZu(eht=VOjWd%-u3l5 z!*UZ^ih})>7%IVCZgle=8qhA4Z7ApR^9QxiyJxX*B5(?gi9BS@$D-B(%YwXPe33Odho1M+Vv{omD!s|8aI{D}6h+xU#ILKv??G^St`BGmc8=}2$3!>EE>yl9rD zZin^ZXHh`C=u+(jWUhH*w0||#x&2wanmhOa=@?JqT9>96f^AbXJMbM6y&7wYW%{Ek8C`i;yujn;I*Rm|>8)2rgc*vewAjU7 z0JRe^*W>t06p)Q3#Kr8XJT90DUwhQL$PoYNNbS;_*Vo}Uzo zz+>%iiz^v|0245QD9-r=VTqTq9Ld&B)2B{U$LymRMx#CzECa}?acG^)&%5QKoeyG$A&;1Pgd9mQZ@72==%~QuWGDInmlJ=raEP6u>(UL3gcA4R4F&n(0R);d_ z!ns-B_je&l{1+SF@A@85SvZ6vf7_~lRPfF`@b?jGufcVhUDBg*b)ZEMfV9yhk_=IQ zh}An8eyovoa40jz6S_v1YABb@uV?=hF`3Ks#&XrKLra2r;w&$Q zJJVEzSgxDw9uBR;tvjQeZe=O_wJ>iBz>?%ovQ4q*i#`v1t#!6z@=_CB+*aemJ1rm0 z1`76*O-*m70BV#%zx`Xh8-`LB|3%^_Fd5)B7VlexvP+ z)-AdXBIyrx*4o(#E5Ng&3XIk;G3WGzv+^U-`ysK`2#(AZHBKtGJF?Yo0186hBSbHf z3Wdkd=%j+y#r7+xVI;IFnQ@k*Y~OH9ecqLQ#H-eg8J%k$xvWtDcr++NE1-lta z7+##e_#g0M4t6|@*I#G5(=g(=DazbHBYps){1U1-q_ezvEdEEK4<}h4VYcO*&Ef6x ziuPOG?9QQe_&1R{b=Plbi;7*ZIu6o{R47q7LHfnVjS?oGRmg@H+EoUUv9>$(!gJ&h z9n)^b!}ijb7FEwIS!Ha7Kk@}$6d+V#1O2VV=?veB3B0nppm$7zaG`QNX)k3r*V#lz z&)8CJE~zh=hR{ZN1}Kc8br3h9hLK*RE-`kz4~NVhS;Z54HD6CPFD@Tcx7Zxv;oqB6 z+FOMrD?orZg&=cQciCvEa5}HFHqU`hXJ*aq(`CY$d_gpz|TN&X1L> zd12bINv4AkS>U+|Zw}?YQCro2+-n|ume|pQQoqG|BjsnYdFRvID>-pn?i?U3c|RXi@?JE()~F zY)1!t?5)L!f(GuXL=%~si%dOD2-`g?$(d8t+5?G|^IKxNd+`8YJti(8;qVD7uUx!B zupD#LVkQ6AhIgBRgky3%ANj_Nv{mM&aC}2>K=Ctd)YMO>je_;XK(*0u{C56)#yFI8arIKl+UyCpTjhUI9iPRBa<+nY zNZl~qSX>@dW_0bv6v5-QUb)WhtxDu2h+~d1G?Q%n^ zHE?vz#T_McIGl^z%2QaM(>=6QqxUKHbfQ2AoCw0_bjc!G0XTH_Y{s^>%_OE zgpS1)qa6}CxzuDhL6+Z-C*fx*blkS5hUMjr`^~I05Th+YP&f&IAn#_;;`k*?#r{tXd9P zC<;Vl-VyIHy}NtR8sTs8)AG++9Cfvi3C27UNph!(`8G^Zk1xWHyVSP3$?d|de`xR; z>Oc`nhonI4PgKrQ@IWzd*aB5)vATSQ7{KvedI-rSjnR{QAjiJYoesd7K)&+PykgEi z;QgW=W16IC8A|jY&BBR>1(B54#ra-sE6CXs@8Fh^fTt$M@Gc?&0AD zA7yhvGeTz}yvL5710%&^#~M@_$v9HTo;EwmFwIcWxB-ThntesDi}82OF>~US!v&469F-%A{PZ3`VKDzU$9ibv?a+7@h5Q`H>TG28kQohHoanzMe#g{?Zs~iv! zNAbeKGUUHN@8*xA3NgbOPFU`L0#|YH8A`j!gDk{@bR`Mit5FSwIQW^8uuCTA2ZRxF ze$vQh3)H>bm`P;NXOMZ4+*?N>!nLHj(-{{Pa$C5HsDr(-_%;o7$x5%k@4Xi=6VSEQ z(2ahV>lR_a$ehmKgr}BK5VEo+hLvB-dd@^!SGKYYY zEjC4p{V>x-1f*epX#UvxFGES_Go{!7ZJJUX-v~fENr<9Hj|`9Pg!*N{DL+!WrYwbjY`c)}6_8eR< zf%07k2wq`->H1l77rWD$KtK~M8_>Nzg+~Ukn|19B;T*8cMu{2##;}vs%r^xD5Db4B zi|Rm>zVvHt84XxmaXw01ep!kZvrqwYU`SLN&`Z=YW<2s$z_a{o+L5uM$$~3WNuCMY z3OSuqK;PMRa}iA#zO1y|>hS*VKP&zn37;E!|14ZIOSsxSet9xGv$B8skcWIWZf*99 zJ7D?6w3b_Hc-%e0%155(pW33C2?%c`JJ?U-2LPE_s86o#gN%Oa>n%G!m30qu77E)xTBYpDgit z92e}G#{42e#u!R5dKL2nzf4@ZmoeNl{`qznql?kCJ zVz5eCkz!%YcMcm`y?j7rI9MOcG$OvEhMX5_V2QucMi#7$`cM@H**86&&>ZXY{+rPL zzfPRc{7qDXLpf)q0Z)JhIlT5RdlBuRaLe}JL~^V(8157Z*{S| z>&i!oBiwkeNy}feUxtguo;m;RCI9CO+`YL6)w^$Gua@txQ@46ic-F`My3_wT&>1#> z2o@krC6pJCqjjgc4hKbpv<}C#KKFkO|Hm`#KyLy%M{uvIL`)Q=@xlDRC&Ih+HWBXu zfgjmtZw~9fO5{Jk^$kY_A?FDX87+1yDq)?*C%zv3pJV?j0U`2VS>mi7(;WPN#~sH9 zVTSu|Z}+}g!9SJffBhJSetYLcNuEd9|Nl7Ozn*CA?ymNKeagRo?5h{;djqlkoCrw% z_fP-pfA_7u38sxlm}Icl#>R$BNJ!}Xbnu@-HxWUoI8pq=K{!tU?GSp_(%efJe1EVKwTN>~xc$AmO-0mWz!07|mbKem=s3W^DlyJ^~F zG(5u(LM$xG&$$;2Irq{5Iui`sy?#3r*L!^beP#M0#ook+9@*2}CHY00#22bR66pA1(_^%SZ#DS5{Wmd!?nCnwkjN zq_FO8<^H$E4YVw^2&nNBWIQ}mk7h){-kS&USgo~27oRLardC>3kdcw*0GGP|VI3QH z>5!pCGhgp zmn2ar8LvBC90_{oXQ=OHXYY$NEgciG1C261enTE!-b{1e$r|=zTl}#X-c7Haukg&D zvZsfgD!GQ1!pAEBwN}s8en)7M&^$0#-xQ`D_fAQG- zpYYqc7u9OmR>2)-^b5Aa?|yA~!N^x`xY4 zOE2k-XJB3MfJWzx2iQDNFkrwz5Yn;DuilG^M)R=yoruFj{z?BoT^}#uU#%lF=+=_n z$N_8w=iwHOem3A*?@}dCnB_6m%#(!#ljVt-MN~1iJ6h3+!RXfA@W_7H(d*RDS27Th zJ-(2->E1Iu&8w{SAbifK@t@XwfBLm6}gZaFx#!ldC{&f%H-thEp9@?WaaP-o(U0UAT_x9r#kx#t|66 zuq*P4C<@u=nzP?}?^$Y;!MmRZgzz(TYHqrbZYPor;-!t>C`P6}NxU}p)O9rh_N=VA zQLaxOB^Z0=`~k*1ZPF6#(zlYIAVp^$wU$<{y$(h&XG_u--46RDo~~#2-6G;ExFPN%)@hJlpkvTL#2QV1k}e6I9v!gxG;9YuI*8lw(&GJf;#8ZY%!U42R4 z@^o~ZL%2CT9VXYIDejs;qfyR5lN_Y7mF5;WRcn3Td3|%)q8Lz$tlaB|FIIvLxL0kb zng&n!$nCEUoVg%+FRF#DmpQ!Q?jG&>PxHf4L-AY_y9^&HGqvAb(qg9ALXbiCFP9f}Hb*mBdAhW0c_y-q+z?yWf7wAc|N7=l^J8ge*gxU#*jA*ZjlyurwWOqsBHFWb z%M13dMNz+{=JVRMlhu+MyUf!|czAe}C0Cm0>iR(Rcn;NxV7Khu-8oT2NM`J0YVt5+ zR$Iz4UB;~VEusk_Qw#`HgT?tBCEOYnN*a>)_xI%$k7d1~cea?M6LV-#9PL77Q%*_pDL@=DJ~MJBsOaRY=Il5J^oSaRQ4jrdqJGSNXxLKVD~K#@cm(=ImhBF4i)cDm5cj;)*aIL&HL0ZT!7X zeC_4sXZaWIE95b|Zo<8KURWu{u+tnmZbOGJZ41X`&sKo+o_Nxx=^F#{oerssybMsMKaZuPAE6=@%c?nPdS?4 zjjpOA8&`XU+Z$wH>Gu-9FWK3RyfFYoeD;v`x86oE9?IHb4VSKln6n-8W2muhwQWw3 zk$I81r#0sa3zM>9StDD)e-fvXh`C|(jZHL`&lq9LhzzDA2L~f;%7+p<9v*(&w6R_z zhpy4AZf-tzM&O%^1=pw|sQo>A*P+9@_p%KsD=OL^lOVBh?!WbETI!zsGR8aTk49!} zpi$vlOUB95YP(k5S|smF6zpSev<>It6&dlsrQMB?^5HC*mfNO!|Z#0F=MV#HpRITf{CEXW+6sqCSJznp;(*SqttILziu|5-!wb_Tlb>t zjU2l$&0ykDGUdrH0whX#d@MJjdbG^U`o=%k4F+33-INKjG@y|0q?@&@w!5jLKS`+R zibXLlN$@#FgpZOqJ+(fHcxYXm^T%b1qRTZYQnm$UuCTALLC+_}XCKv*>UoCcLnx9?)-9N>Z2^aTljB9I zl81snlGuY4aiRUf6|)H+hrie5V9@zL&fT161im%`>zm0z0#jd5^ZakJRZ3wgXm41B z^G2EQLk=&#KUyKw%G9gTHyj`98payejNCD;rqJ$`0TK$?KOXo#V4Jt=jPfSP?rn3` z@HpUZhlpqJrmq^J@8rJZZN987tCm;*6KFAQ0&5_bTgeS7#>)WaibP@K$M~d=_xCj1 zHH+Qnv9*y4yr%~TXo>Dj8>f%r13NndVZddx^W&$s64nNS&w5x4bxiJ_Ur_V6oA5`z zz=SV^z)a;LO^bv(y&Tqm)`u&<2L~K(!h%mDQN*%yOv^uH;7haA^xiy;%n|Uv{ zuRwl*sn5`eD?`n!Y!rph-=3GHbj+G~=!{Iiz*^N_HAUQuB=osRir&g`E=AOp)d$KT zHbo_Uy8WXVZt%NV5-bUH1pG-d<26KvO55x&X4pKc4Y0n&i*=)g+IA7CVX3%_kC&xw zJX`I?c3it-6AW-Sj_!bu1DQj)Xo3h1cPb7$oG*SgpYP81a;Y^`@SAUEJ|5)8Z`+z{ zfVcHlyze#=a6SdJwEx86E3wA25VuMg!eJ6+o#eJ<7MOLBVl$mu;;Z}G-|k4lqtiwR zT)dy}ebT?1etmt7$k5{*0g;tq8c(-P{D~-mw_n5EqU(=`WnRDC zHU52`j7)qx`$s0$lY9d%U_)t*xp?KIciPWyM{d>-L)hRWu*Og?0sUs0MN$!K86b?V z03lPmQ^9f;=5ZU3K<=iNmLsT+N%oN;^u4wzj9S#KqhJ~E*h5@INo;tu(ZS*qyh z*RoK;Z}>jDvke+bSDO~n)@9W;fM}iTwF>ftdRpxM0towznGHF)>fLTEW9SAi?d)=G ztKPqR0bqoo3>@|~_MAW62jP=2Rnth~cz(EmWy8ib$W!qZJULNi{N73a@eH~0tt~hR z8@fHB0DNLqd~A>ob*DF~^hHS9g(+psR?#7+{GDpFN}s!wEw_d{df07sUTvgsk_15f zz%^?$RTb_xnAMHknauCEFG|5R%8GttQ9(ei2+3=WfyLV>EN6?|k_TLv5 zyU>RHk-a!sLm7#V-zw_}7xr+mBHVD9!)tq940)N73E++@YJQGfT%5-V|KMg*h1_WC z>6y;U=s(hRTK(xKAx4#lZPUIuEV2p89* zmicID1msdhzO`CIH7n!G_j36wt{ev+-N-KQIF1V#8!kovwJi)R==Fw}NTA49&MN5a zAf^}mRsqbQMX#)I4o^6IOH+CD&mp`H19<}wz9LC+2^RU@e(UbsJgv^-ssVS|uy-Zf z)miBisN)f+!qtBCvrt9QHpQu15}3*i`OLPo=e*k4F{{ZL@eye8@uP~xsv;09vJ^6x zc{)$UWThMR?$mceRz6Of{Hc>Oce7;7Pf}2)p=W;=_qbD?5i4@&T`n@QPzP?n!$s%0 z$`s|ap3K+hI8CYFHV|?R805q+JW~M1p09^zy#7*G6v)QxQb>rW`^&h_Q8K#D(L7-m+5o(gS=Jo+_b0RP4b4A_X6H(ZGk4u|4E=wk@+* zb^rwhbBY>`c+l6>Euw~kq9zdifZJYrDn)uF99FywIt*Z3u# zu52w4qR%nAATjevNJvUgOq4Uq-iAA*QL89o34`ZJXpKxtCR}!C`2$_Q zGf{%3J0Z0BiLSBJoslg&3V&)8IDMbRAf3K&NFyE0By~6<+8>WnSi3)BuI`aPBS^tz zB5#+SRBmQt@dI>m*Ymh1(jTAK!y{4I)kWVVZxh_fTf}g&PpV`sNsAVP5g$&Wu?+2V~ zww*NyR=+jsY;%8VB8sWD3}EWZ|0OvFm60_;wv3IRn_PQola*-;%_FA$kDQN$eP1T6 zHk^|Kbv30+g0LNGN}dvl;sb=(+dxb zP9+f%Jl5jv)lQMI4DG|gL8=?y%G44|+xZeX4_^vZrY+mJf>hztq)wt+CMjQe{my0< z<6EZrutEG;8|Emy0XX7h?3>A%@i44_b}59^3^(Si{QMp|Ke9nUJuD54)X5Whf6&W7 zH``cE9#026p8mt9+$dg>R51~vhUUPY1Z6*orQv-~CZuzMm?DAJK%`rXyOg93RS<(M zS&ifn>C5e31=9zb1V@1przH21L}SB+x3&uaJ$^SF*+;JS_R6ikaVY0y-efbUtL+Z4 z^6H<_g&(&VnCv-ip+X)g!dDrXRun%zGEb?o@ZPEC&Min9(O4GH-Y&wd^KgREC) z(M9sXuVg-G=#@?%M7ATX%U7?&^B!$aJxbZENKL7QNACHqxE;GNKuSo4?X$*m11WTm zhX?9roFK8vmaofygwlf1L*F(U5_oHo7z!{36m+tLGuQ_!93P35I6@Wr>5tPZo>E>< zotVM+7#=>L{aVywZHgxl3wR}izNakdjGf8AZlR!H0CDA4hgR~y;YSDJIbs^E_^IV(Xldm}RM&cfB;NUV*fC{d`6SlCV zrg)C_Yy7Q(rr|*G}QI-k;KS7`1F)eDNB7JMxjLfy` z1`{TG|8R;xb zo3)php}$7)S<4B;9-|`jC%K`)`Qj4WaCi*(vy7ki3rSdII|Y)2#%P;Xq4OXwOL}sn zF8#9oO8u-hrDVvLJ}N+nkQ&GBf(~pnstwwO3<_xJ;BTO;g}m>Mi<8UQ| z5&r1~J+QXwC{MRa{d7`t0?5cO^vT&6IaK7}IpOrCG@Y=ry_l(Eol}~XxHlamDKm)i z!&|-_BOyT;_x?`vZhQSX!+CQ{Q{T_b4+JMd(ayf^jvy|J9GAx*}{ zG|sOe7qSmWn)ja;?|GPq^}sVOS-0@+$G~{xUF_x$PBq~ozuUq*>NYj5;P)r}9;a{4 z6omp`Clen|1L^3#&qA5oAu+C{ zTJ&W|gA5(+CmbBGq`G(-KDC1Cw8ZQ$ z$$#))Op{8JDy#5;!Qw_kR=lY4n>;i;2hc*tdEf$YTT~e%FAsvsN)l(7I9g4 zS2e8&CI|jaDdBL*u!}E%1wL(3$9A%83*Y*ftH-WBUg$`%GY)AET@W*s3HrDjBCB(K z=6T@Cuv7T?j6gRfBp`Ubf_29D@Ya`GE?=7o+sK;N_r>g^(4ynbkdSCUy7(uQYmsKj z>U!MJ5eBjC$5nOs{R%y!T|e(@5RcPFyM0=ZQ-0&F5CC$wg|3Ir;CjP(|vRKj#GwD z(*GHg^%i-H$@+;r2}9Nd<1S)Q`_NrgL?G|QNF|CS!~*hBJO)XpB?Lj}j)7p6k+|?{ zAr>r|0S7w`t?%UR4GG=g&H{r>=XS$10aM5?%;uKu&8~VeL<+21G~6Y6d_+8!5)<}t zP4`bTx)uD(%APXSynxg7cFYb*=t+e{y1gVBR{yy{YY%EDpK2WmFsYDoha{2^_pO#e ziR#9#I3rfHH$4;XHx;utQ=ahwOQPD|E?#Ab$If8FIuCyolMGL~F^IqzLR*f`LZoc} zt)_;nVb%o2wIo^2!Ay$}144YH9C@=fL=6b$xFZ2NH{ zoy+iXY80R4w8nX0GIVoGZi9DU1BZ#;3H8oMUH0+n_ z(Tx)}<;!LVwE+E&htt{jAHT>$d)o&e8ujMg*sW;tlp*m+lHmvCS`;ZR!~40^FdViz z{|NtKLJjHSbddfwLb$myL~K*o7;5DyI-UpE|o)D{ry|;-Cai?~*(-XQ*%Z=uBe)x}^kdLIWtOupZp zUk@b&!NN2ij$x82w-TR2*PTL`!A+w?5LpM}ZRZklUJba1|97^qPwa0jTa4oHh7bBI z=pFh9RSen8%2Gu)siIswifDHlB?foJ3=9XQNj>|wE#Wvb02~eo0f|}$JGWdFptHhN zJyY1ToiAdHBtpF4(-!$7{~YZgvZGcd1G;wmmv{{9Mjs=Uy*#sj=%v^|m`j-3%cu|GdXxyTh z&=v6YC0@RrsZNj3qNAy-Jeo+OcT~Qfyr)%4jlxPrr36Dpm=Om1gS-RF>S(_ph5I|V zS5;SI4;de(*-%neR1hZljbJ2cI$4m8?b6!zI6v4R7PZ3qE#flELv-31t6|Tjlin^t=+oXq*9nbYF8lsM2ek~Ya z;n+dTOvW>Ttp!VY>Hs@3-1prOg-WJTrnKux@OxSfkM?x_xAX1Rb)AB2j(wJ8pRewe z?PE72J@s~o4N))Ou?f^p9N@Z2tgs4IV6k_&b{xk>xZ8tymfNXrrSY}ZwP|oS^(a#E zZmvQ8rDxx;3oj==C$Cd_$@%T+7)an1r*!;D$0-t=ZO4XC5hj1OOAv+@sk!h09uE8p z0UPKBSk8N!$3`_O8C;DXf0ogxeGaMF#!R2Uyu6>AAc)!Yk%xZbItBNyeKFRBjj-|@R-Vtp-O%?x!XPXCcB8GF_l>{?4 z3=a0x0V|$S2V2Hv5^suaR)>J&>c&8|vOepcK^|n1pBm1nAb#w?a;hJj{7RwgYySd>z0q<)n{lSta&J)_DV7W?+paafG_I0vc1cvvEGkwZdENgEY;xXdX>5_IfG3g*M2LlWq&TS+ry2y}9-P zXA;AO1Q)YZ+YC;1wVppf_QGj~z(0X~d&^4BUWlDZA}DRFyS!dimfu3K=pa~x8RgW1 z$v`KQD}x%kRpj9G*SZ^yeOEJ+Yj_NXrsyaHPIgG$MzTFAA6s((xr(cR$r1T#FlGzR z><2)=Q7+4fOqJDu)j}mKpPxeN1HIgg;$BVrJOjxZBB z5RUv1gwm=J{)x}(Et8aF+m;>Qg9onHbgY@X0F4Sn5S^~7{>mOs4>H#qAYZf_v$)Hz z8Q?8^3%%t=32zaLD~T;&AP|RoG=ea>;Fku%*e~fDi(U8S7Gqo%KGJhX3DxZrB}aX7 z#!f(8dt*=VSMwcN5xBf;r(vH@~HXEG{vQ zeq}h0u1R(P+paMyW5nXAsdau2%`CO0sYy@4crT7Ho{h~Vlj?@goCCD+$1OV14p9#D z!j=*D5v{U{nn5u3t=0|e+ecgRiLCJyiy~>LDV?^4f%}A`MRS>LeM22!IfQrO3MEz$ zkm;1;v?X=-PYmHdwjDy=zv(94BBOkYx>;gKI9v@0%T zH>@g1$daCr1=7i{RM9#joai@Nr7ud!31EYwPLrElJa;gZp<0Ph7fr@?O=QVrfB0{W zeLf(_@@NO3h)GtueFat~km(YSYh`P9DbOG_m98|XQQ^gSMGM(_bb2*|S|H=(kPI;s z6opQ5;L=s0w2&!?z8z*8Nm%$dyoF?({w9 zFM~sQggtymo1b4tMvZXR}&VN&;R#hYYu<8&qVMmA|N%z&pgUvtBYT@Szc0 zl-b0DWWJ5{2`c8ig>1(H1e!gqsX5WaXyY=$;^M{-^~LF?L)C)dyVI zmuY>`#bF_(GZ*K~1$wnmVt4%4WNa4;G#w-4w))qt*Bc`Fnf#q@N)5JOs>U)h`c0c= zfr*|Lj@gWvGO-9}F`#~h6;`RG^~ht1xF&_+1ssq62~Qa()doy8O|ETK6cozo^J3tF zD2XAgMINtPj*ifzG~R+dS|;b$qS(6lTP#qVQqy=U(}~i_bX?{G*Zq$>0$0uz1C4oF^e; zIe86u+TUi|!B-ODT%5ds2T7yJSV9KedP!&ZRC_?sGV-HYSdq0;QGl#{zt5;$ z9~IGSkt57+S1D2az;gB&nRJ(jI(-Cchq#6_E0*}F+GgXl?DGlx@7Kz&F zpxk<6A|6*2s_9pK~?7eBa;9$I2^vX&W-4hu2NR5~qEyx`!4+>sRIb#kaVm zM{F^ZCE|}dQ4+tVzi9s23Dqf7LMX$lc~X3<<1;1h_oN>#hjD|t$1~0S&FPej+n-cK zFfh~F^4lbn5&hI$C}h_-YJJn~hW~r+leU_Hpq4MZG9qY#^pW)hL%PZ|r z-tNZVZi`25VnSw%^Nq8nJ<3Qg+L(o38Dqo%vfvf-nbVo$?C81@CLYDD?ZQ{Jr{R4A zhmTK{o#+mj8Ev;Q64%pm)S9!6ZXv~01g8Cfe@OH^YbpC)fahTLWX5bENacC-h9q%V zDYvEne}uhdR9s!QHH=e8pm2wxDBK|s+}+(>f=fY=;O-8=CAdQ%Xs`sgKp?mThXj}4 z_Eoz3cK6#)-}{Ym{#1=~_SmwvthMKy3+>Y5g#uW|h0|i|Hp6l=9yIuER~k32;b&&0 zG*RqH#oPD``Z$!WZ<&M~%*}i<4^}gW3>W&gal6T@do#6qH>UsN(*)6+iU1s~aetK4 ztzVw$x{WrSFNZ%GrsKjt$OVJ2MlmtGb!`+wTh+8K`q^Bxq5ml&XwKumxVdKw;<1kGaYWJl}#K9755^6;cOqx2n?xN}9xSHa`(#chd4RF%A$+4$$ zNnB18t$FPCu_s!KQPZv-dGqJ3ZH@sroo++i3clVp|ZHRy)<~9ILzu}9nrBYmz(NXb9cug;pB;#5jAHg ziIb^QQj*Bx7|TxQ5YRC6f$qTIogM3|l_cs?e$KasJQ*|0_kt#9-h67FWDZfBQAEAN zr>?}rah>RQ1tPQD@;$7Bx%|&r_%TF|6R)3^O+aeQFJhQjJ5-H2AhWSh!Kd@AlGV=X{xxu>yqoLClkp7=0B?`h2nWtSv8boK;=i z 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¥ZVV^R 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

    0N-Jwg@uxvbYs#*XE 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

    %2& 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≪eXAc+qx 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

    sn* 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

      n_uKOZQs=Z z9E)mSt8q>1+dJ?E zm$F7j+ZYa(sM!byXX($Ao!3IA8s1d>JkG6}u@S}MtoIZjTKBiPskCd^GpF}q#y~)B@W|$Y;GhKV+TNKGYwEjFlHE#ydc;scJD5mQw$6}=K z0XVh_xBV!E$*z1V*-N||+tF9gGZQ`SdQfVM=2R9T-T z!UY^r=+Pr2{&V+&;FFcKlNg>W#mglM^=ivkN&@Sq9f8lFh%GfRQO4~=RLlJ_NQmdq zuPjB@1%r7~_aw^_MWJDi_x0YrapLbj9CQdCOg4$3`kk%Cd+vXuiyAC~wv)M|B}h?J zQzR1HWjCrJoaJrvJKT63xmo^CFZhKJ<`-tXNDxvw_nQ8AIimBO(;GqyVjf}DA?xb zK2w=sPV$KPruIaZ5cd)+D?1~AUl`f*c{z7g&4i;;(lCAkz{ zJbV>)rfZh&wPh83&1pcgHf2)JEl*cYNV#ixB+}OymkD=n#YtY_#q~~i8Qb&;taLul zwS!{ZsJ{?a=B7@fd!cYtUs5^nc~fdpabm6A+mM`=EIF?2@n%Gll9YcenwU32;FED( zbWT{N9rnN{hh^RU%6^}aF@XBkKEaj}XqV7(xRCK2-43_e<52oj{wX&<=RP` zltgI+Hk|Xtp1&=$0kF(Wk4&g7%YygT1C9?S9at`D3Nrjfg-ZDlp#T?fz#ArgY+kU*%@q6U#gza4IUZbl+-N#%X0jJUkLoVz$Y4|ndo_g9)Z zrs=3xgs2uEZPsb1IDy?}vz07dQI%|v_UJOw;`eKgfkbufUw|4i%oN8?>gQT4HuAC{ zdOQO(KPD1Q4b3WT&R)+PRAKJ%F3^EQ2FIjnd)L~m=*vWy-0{ytTvh$g4%doPRxp8- zgN#XR$4_31%j8MNDp2zOkFmD^ifdcKMuP+i4hila7#xC2fZ&=S1HlQN;4nDBA;<)G z2oQn|PJ+7+9^Bnwa0cg}oO924_r6zu)vKDCnxcxm*Y4HbtNZ(UcQXO$%A#WqBST#x zS)Eu#X!f+)0>v&b#=g>o>wUGk8~@t7X?xl(Tc;0aS8>U4QZu^dB5_tpy9n_OUOb!! z6|Nc&xvCUkk-UHK61ci^cf)X|bHK=gyW+z2MGS!Gj;%Z2Dn@79o9!aB(dANMr~9m< z@xR3kqY84*7PvjJMzo@S@-rbRUuXGn6K9f%6kOyJMzB2B;S;hoxiF!&(V8Nf9L!J= zdKY1K{4HL~jWzo_>RC!`9n@9~JSp^6n{=VA;^UYq20_)!LUU6E7K#8zTWLOBWk>Tk z@*c$xif|qP)=P=qr`tl)ti7|Px z#?@R*v9?m3oR_r;qB_E97X!(xYV}qiw@g`m^|>d&=a)UAnU~PIQ)rk0bJ%(& zNfv43ks5^bWQufZrgs4a#-6)WBk^Ml*F^EI4^l$?6R!slx>6u3Zr0ke-Wl*zu|BC9~)_jY7RKRfuJmQz%ObE$( zVA=`)^vD}4u}6;<>jJ+QEK8iXWn~!rq$@*2GK`Y8nTY1{irnVhT)3|;ILMhOOQXTZ zutyq`U7UQ1pUo!Zcf_}M?H2?uA{yTrf2(xeNoqOZG*nd;^c=aI|16L zRGp4NN%>1z;^xYMW>HW3n)MD)QCXbl$lqD6r@D3jQeqjWCwN$YbjOmW>DUZkK=kso z8kB2kXF>2UEH1U3DRB}Sm3;WB%`5~32BH!fx2JV>w4xvisRST--M-o zwHudMF&r^qiu=lWq_Jk}_buPA zhb;@#8@O~kv7CUi6oof*6{cNZ?B4yghy4Q(yUWxveQU8#eC6SA3VrVU`^wFNWZA&| zstn7>GkBUe%^?JXp&S=8A-J2PUY(lA=j-}?f8(cf9x>!b4W*w$J9uFKJLR! zf1JxHGRCMver&`{FYOGEUphG)GNYU|!Wvz0RUlv{rc0Q{m>lr^~&3ob%I z$4k~!9juh03Nx^-Bg%eVUkO{sx`T)yCv#@t)jlWxh9T(VB)74qd=X6k?aWneB1PP1 zLjl`XErR#aj}Go-Ak8E_ZtwQ|Qh6sI(R~9clj;ifxgq=I zwsMSxh;cOJO&C3lfOAa=Wy@vHH8#0PP8|0F2ac(mPY~_jbrtL?fnSbaxLaXZ z@1o&^38vv)f!VI(V0$*_RJYjUbAVwTdX#8maM)dKQL{^<(0LG@bTu+Bt*cEX5 zkl@G`P_gTL0o`;~59Amjpt_V0cksPWJ9*cdZ^(u|-ThQwG16Z^QT59h#zaE2n!f9Y zi}}>V0fFuL#oXevVt;L&j{M2O%UmB06y!Y%b}0 zIm5x*&v2o2jJN)$V-aA`EgofDUme#{fI%F5)85zBjJIIlmVH5oe1ZYEc7{YB>Y^b8 zAV|f@0)L{EPsmm4BD}q;&(1BAr%?X`AYJ6j*Ed% z*R%H+=__0mYmE`&k=%A`Ga&yI=;LOUp4O1Q4_j<3S5c-65vEb*G7>8Q7YnWh5lX)o z2v!ossdTrQ!Cr#XbrewoPL?J_BSDHj7(^iAIZur6n%BQ?h*~D#HKkWVJ#`HW z=CEtJMVXj&@=Q;reK55R25IxHy>cHTfH=&6UE*d>>_`PblsX!G`|5iQK8t6V^Sz34 zLDN65lsp2K5?#}yVezcoUcTvzbvemJSn!WnsP4&g1(-5p`)_P^A=IzE7$Jo2S94%2 zMScjA(P*1&R8D{>n=*e3U|eA+lr~xxH3fh69D6LK*^S5!wdb-3f>v3V>!iLN5Gqcj z`Srn1AYnIHiz?D6|0RJ+E=3@tG}O@d`p0@eBsMYHxqpQh#^E(?;lQ04vzslgTWSQK$8>D%1TZ}L!EoR{7HF;Nl3WTjn6K4IO0?fGX%W0^c5t+ z!2PLJEBDAq5A;?I)+sO~q7XzS=R0jdm4n)c7066QDhouTr=c2ua(WAw@1-rpt;gN2 ze5TRPph~#XI?1^aB6eXd#_)RstoAH38%lgQ`+QgGB7!WFxXaQ*mPMATXkf38!(gHg zyeCE1MECp@Kudl)c(CYA+r^36X`dg!tzv~{`q5UJ%0zq_ett&_SR(L-n0R$%8Bt~m zEZBHvIkE?d?sDr8QTCzhkOKuIl9Uaz*PM@5WC zyl-XM&!E`LxZJs3)fd~oOS&vvS1Cw$>PX>!68XXpydeNEOVr^GDfr!`T7l@#U0fo% zz<|10BZ3+5?sg#vpWwXBVcPAIM(Eq}TmOy27)YcUWT4Txc1n67fC^Y~?A<1*WC6C<96dskT=wP$|2 zWAfji;_iy6b|^_6H5Ag23GX;O1)v6Bmty(Sy3c`DJ~>THh4r?fT$Y^N<{P@$1XE4N z`6<)Q=vs4&oSA|fzP~4ZPYn0T%^%)S~a^faBl$TQ? z?wz#IS_%Ie4&Rw6)f<^uF6ec}2TS}h>)=b;rCog>qR7UOq5n-@oF&t(%bBajhme9$ z##{v;2SG}b8vx7Hv!c<8pZo%-ce0s@i-Am#8D`&|7ZBCfE`dw}GeZIKb_w>u9#3Ik5>cgbumMU23j$A(yNbHV2!83Xi(+^~{2NwatK2XKeb4)Yg zEtm%j$%+6tJaq`p*{~E7HQ``K45NECc47usxn9Pm->Y;qJXzT=(akpGkW{Y3pg!I2 zdD|&5+$Z(K$TumFPwtB6!?+xoAAje)L)#{mGVbL1-5#0CYD}xCww4-#li8^02HE|5 zm|(#Or-xuB8l$Sn+CcbT;z%sfJgH9|&%yCc>~3$d6y z$$Go}b-TcsBjH797Rp`(dIO1%6z$nvXkvb!KjW7FADmDGX^$tEW@%^wE9!NhLmHfb z2GOzNs+9MvjG1pWC~OZ2a8YD8+jE-kMYojwMV2abMs~5;|FJzKGo>NSy!cmc%NG!2 z&s5?(S~V)9EtG=m;{8Md;dmd)g?A06G=x0-6^0q@Co}+h<(-`C7ZBr-BdU^Nb^{m> z3 zrOalW^0g<3zSv?>ZLwE01>OT$J85U(;4PZ;1pU-6b|=iWx`>VEZlb_f)2`~1C&6Cx z)0TOw!8s?=RXSZ4n*3H%M2))Mi21eBrUB~6pHZbzUMS1D%tr!IwszlfVQ zWm+k5Vz*i4x+Ja>GYkY$&O@2`1yhV90QwdWv|5R;UjgXM#Gg*SADMm{<)e*2_3bBl{|{S(21vGh^$tfJo+vcOzlR!BSed6IQRoax-%oB z=89&Z6S}C7iM)x_&eTJ%MZOVGH}*t_lKc@!wN^&94r9gMHOF~_;;s>GDMExHl~7>F zAi?|1-|;oM7K*{UlwghEr_@vw262eavO7SGcL*b6#I_lv6M05grul>;IEajj3W84% zN1BYG2_6nWmX+9b8)KD+yuQm@2#;~=iCtNf^b|uC9cWNJp0e?y9L)2O^^3c3J7@e=5=Fvl-kl9+eY&px0wm|u>Vo(`T6;_NWp+})kR4Ro+X=PcJ0_h&c(@K7_12#=s= zjy;brsrg`0broeE5&lh4-t~1cJN)c8*4&8-pt7~aHtl9FHo|^wsw)5N7hOUL3Mn4i z^~S>5QGnVEXY@(PCi*o-tfobG2f9uI3oImSQzi_&la^@5+bSA!)>}Q`5NY)#Mx1I< z>2qmTEx@}>@%DH%&y=a3?+Lreidfe7-j3E-LA{$}?9+vDr-E@6>UDUo^QqWcnOv`! z1n17|nuL`|Y|7&wBB==VitLPM{qw@xFwoiUR;I{vY5f?ix`dpoer2CE!#okIY*cQ@ z99*3`YT0K39BxtkqEPb8SFyRr`(=noSK^5~Nk=sV6`#wO-ZxbjE-PfOid02QiJZ_W9f|H4E#(KV z`cB%=Edz1aI90{_E-G2KZ%h+`+EGe@uh6E#CPq}Mx*H8?R2Z?RNXkIRqhku_uebwe z-ywez5Bycc^%DKM7bWNt`A8JPv)Ut1m2@Ta9gc6qlYu$t5q4@14RN)ecUA17)R5@C zEa@f$ROrw!#$xC%UKS6%@r`j~lxDgR8+k@^?#QmzBAXlC<&74QaPpGCl}wGfTT+7g zjJl_aIw>f~OYZzGUqOM~Pf)5o@-ITPO$lL62AE7?JOKjqp9=$kQs^cc(MqWCJEVn9 zN(`xJw9#)7<3{zz`tmfDf?|Ew&Pb$HxHTgNH^?PS|GM z#_)^vq*w)-&H2kULWd%OfB;QUi+l%Y8~lb8a^Cxjo)&ODN3;2D44dY`_0WKohKeKQ zt6Fz6;VC}$ZaN}*#O5}oY)}c~-?OnuQ?_eA(9SS~GUO7&%sVI3U6&IwAIAh7AseE3>}Oi z;OFm&G&ZJ{5&2ePd2B?HoYggsG&_K?)b!=|dY_$_J%~%Zfzce8AXIyyb|%s3jZ`&y zs$Cw;W(=$LM7IZ>wb@dDwakq6U2(jEoX78OW1Dd@8C2>-3wz*6AwX=v0Lu=TmACW# zCHV;Zbf+{%%!vUz*WIh)WrxjNs#bwIw&g<@0hJ*@LH^=Bi;7sm&*KyCcMTgg??-s3 zG*8Ks7({S2PUY$=528NtL}99~)!X_X=2QHEssjWVD}=DSjr7GQrg{( zpKm_Zhrr)V?5hmtIuTWVV<`u(H@B(uO^U`x2%k3BM~i9H#$R`bG|_%JOccGmTL4Z> z_Oo}^yw`Pe60oEVq@$rP@osBO|Apq}aPb;2M>@+1Y{E;m-+1lj+2IA$<{#r3-JEBGeiK>%w z8}+*jzo1RtpZ-Hxxgig%&0WIxd)0L+ zUnj@UN6>gaef1=JPH`aE1Gd92+ly4GjN?H+TJc6~m5U_!SxcL`no1XqlVdDqEt`Om z9z7RSz1k(-22dN*Q%>GiXCjzeXpbZOu*GA%Pt4yTMXh%DxOd$ zEoE*7?AxxnK2uKBowKq15f6{NQg?Hw|K{~t*)Yp;umCQ)NtY!c?x4NBv+HruY(J#4 zxL9gcE`~Q<+?hC{kWi52k^ZTp01L>6u^p#=W>DhW@k<#C&Gn8=xxXI2i9q|hc{4Cr zfrY%*4A}JvEk;z+rTr;XLQGma+dh0Ht~CI zv9(Q6SvhF)8Q&;krZeh~tw5IdZ=3=I$lxhr;?y};AqqdP*}`Az?8GV;lAo$bJMB*m zIp6n8l3L%!E+~Qeka0@HMc9F6rIUeL`BT?Q7sbD3`&_Mey!BoNko4|te_3N6I`P6K zsn)mc$ickNy18g1n`IF6y${6~xX$dx9w%H+#owBnEa6$o^E23^)V1HWajMQ5*l9{d ztjZs`*q+$9Br*%Le5bjNdZ{-&9}t;sIQ=-}f{Wk}R7^4n`tT(80q=*^(ElX&Z6_}g z8N@7JaqVYs&JG$rKJ)J2Z+tx8^`4VGs+*zN=i&7n*)Z!55qoS~M)3rDvsTl`9896I zIxFfA^hmtbo{W0*1Oa~cFO7{TLn~EHCQ*07)_;q?j6ELyG^D|{PheRdMaFKy5sqar z%s(tEjmN(unN%s0_MC;ebL>hRTEShGqb!|=WUqbJ#Hne6!45j;zPxw{K@Tn`Rik{ z+IX^2vY_*N!!5yenN41VRK)}Xpr0$=p{&-&8##4doElXyt$uMxMM?WhFFq0?1S!}b z?aHHKQi{=aB}|A~f~i7EV*ft%H!v8?^qiNI76t4QF~NV+7`_Q z0!mIdJ>T9QdHEld=5OWvjQP?1&pK|Y+^vn^wXTc z+=I^tqRIwmgxCV`l{+%$)N~af1kH#GxiYtPF^Qsu@#kI147nBSbuqQ{a%~f=hj0u( z6fMtvTX=xm_H6Oo$J?${Cn?{c$OnZ7S^2PC25j}uIRuyOb9r0b4H`tq~; zgSYtIO)cu@OPw$UIxA(bGi78f6yl%Fn$V^f zx}9su!bC;FBsC=Dc4VNQX~`SpTCpFLWr=(Qkn`}w;K6zqBklXV92qkH#BD$_BtI+Q z)}^BB@=v>3Kf5#s7t@w6gLw8%5cM8F*J5i)iRcm@yYgbr|LW@|VMTl2z~()DnPtxL z8x0>!oA2{K{6BCZ{o*>o4!|!KW+TXRW`g-LN8up^eJ6&j*IF%ydj3yg!rx$ddVtg~ z7eN`lU(#d?M6=I8vljoaXZ!adxdSZz#71bNUP93Vruxsz!tR9d{)4#xRq62Gzth18 z2!05pZb<(hoZ$bt%wMAO*hKw!bq;lCFXl7Jah&X_kM_Cl=WCO*va)_pS_G}Rxi)6J_-nrc zIHW%RGWZhm{#zaAzl(1}V?+oDWr^R)lbx{b(8rBvZj{WEHTL*GeK{FxdpIez7YvQ< z?1kE~s3(eh%b7zk6!bqYeHn=#`1qI5kE<}P@l!h<0pTHjk2-+6^1s&Fw#EE4R6V^h zA-%*EvE=D{SDRNt0T5XiaY@PY;Vz%l%uMaD+!9w1sFx-a>%MiSzmU1nM*DnsxBqk; zyqw(naJ>xex(YhoUw+V}Uj@!Kdo%vF=_x8J7>-o?xWBesR;R|dFt8Mc-dyrj@69lm zJ(t@rS4&0d=;$vv^6YAd*G&h`O?&&=lqI;fTTG(G^~39b&V0l+HIX7uGy|_Bz4+fz zOL`3sG@irZ$t^7s@8PYaU25I`sO-v9!U~NmWK)rsL|4M7_`8;tme7r^pi>i{CKaWP z^sF=h-#DLz{iV|^bF5?ILMXaBcG4lr{6I_qm4&0D6&Wcdpjo_`LzDtb>1_2}s~&V@ zRA1hzm@g<;uBKG{@hA3(gr5Nnyv+VCK3?IY#rCMiERT?um$x_Z(|-Mx_4D&uUu1{?7ZeB7Lp#ztlP$!6#Bq)4|%DKb)04KlPmnW@G5J?KfC zBZqftef=yiQ_S)D><;V&dwm}K0{&ERVT^;6Gja^+k3E@mqZWcHVXfZVYW04HO7-4w zHEbm3gP92DnAD2`QD^RXR!u&qDPzSjl&b+VmIhpO^5p>}-SwhZrO; z1b}dkl3sM2I3Gguc{%Lb%R)Zo>*|<_f^ZY@hi%P(*)d1U{)HKSXH@lK;sALt6#}M5 z-_*H-Y?A6&*1de}ZM`3xn;gFH(ET4dWRI{IsucB}A*)_X97{?oEecYE! z=90K!{z%_@IY9OP+UL$gZp!JNZ63zkVC5hTIC<`LJe>J{vl2qkXkihaPnYEKe$q@$ zBu92zezQ0$y_`{2ec!LsTE|@X5?Y1Nu8kE!QGx7~^rwu314-h^QZq<&sWjW~eEL-K zq4iPc;pQki5f9-JJRgIMcNZ_L7q=G4`2IOzXBz(a(nas1xN;Qax=Ax0p_7%@*RXWH z&3LdRz}WAk*7NHaCg@iGxY1cM?wIXlw_x32f9 zho*m0AJX<{4DRTZkAWI`hCyJK=7jN7&bszYNp#dP%dNV@%8&(}t$}jCGjBcW7JZOm z7l%O<*)*o+c>q*gSisOd<~%WvMJ@4Nfm#UGB}Bx0BYQT3pqX^~1eQ6!<|TPGXxFN2 z-;XF3F6jyOn#y&i62rAid)iaebwe0%d~;!EAw8lB1|CX!ux6px{q*9T;(w>M@W+?D z;z0`a67q)`00|$i{U5!rck)J{b5OOK275z;w>AEED z4#eV4U%`)0SZMXG&5-mj^Ldyps7kplG(b#zj*5y&f-gUQ@`N|TH$}t%wR6-zUTF53 z{V-_us=qs22M@5&+~@l|?Dme0k;dC0n#Q`jIj{$b%P0q`*UEM_-(Dta*0Yb(?8XA8 zYM2ekm(``ypZ_}5ND9Mp0h=vIHl+%WI59QIW~ky$CR@B=eq$}G2elH6f<&_J0I#;`v{xuiA-jnfD+&oEg#t1@aoz3-{ zLv}(WA-1Ny51jN=AQHfkWx{hmeErwf)R50G#r$b9J( z3I<|tb-0{eoqVhlG_?@q%E1P07;IUT3Z7|Hb3^ZU<9^qcmT_o>; zdPI9^Kr1ut6wi%09@8(UZyqXUg3;HhLr)7&zb>;%Ix#G(_d0AnDtdwGRhi9SC%hwG zZ%}D?TQ37wXga_lsCn61Fq{%S{w-f+&#u$`^rr@yqSvtj4>-S3@t{rC2% zeB(n3J*_LfxuEcTc6WSVo2GG4wm12}J29=jMKhG#PSvS7@~ikvwBVrnKfzta3C3~D znW%&Lq9DQt?fVJWrbj(N9u9G_65w2A;qk-_oQusXPnMuJEYc!yM6irn zM*i!i_@p3fon=nUPk0**gCD<`=XnpzEcq%Y;5Ts^39)OQd<<7Xcv!CTW_LDJy5GLv zF*y)_FTj*;NlIJ`+lP>H+>T&`?-;2pr4%(W^d3+u)azq>LVm{8$B37(2Y>dL-P@!k2~0D#)(^G$q|M|d#}&WD?|afUla!&`i;cC~Jq}8( z9_?1Zc#jQ2=`^9$;z6PCWG-V2o@h)h{5$+(H2(SXrONxw89SCWhmRkP!>v>0T%z-L zsPe-uwk-@FdoK2!FMKsDX@=yo2t+^wRZd!EqYERxX&xbpR{9Y?Ht=fq=LsdstqJ2O z2ya+NHo87weCKZCwMg!%3}z|Y^0qLAV$T9FzSLDcUUh=1Y_D^DF8g~o0|A_=n%-}7 zkLxTuA6|cS2Wwr=Hd}#veu@EcDa9z03d6%oPbUG@@IUxL8!8*JPvOmR`J?8;P4Z(t z=uCSO?hQ?MXf1*FTsrTD(F`!?wT$eG6BvWBhyIDo5GM{9B74|B2(5wQN+bEZwHIm& z(aa;p0fbyaCzaD|u5R)DW0bqRZx`XveTNnf9)~)MfE$Z3cZ0ymqlaUV#bZlQl~x^5 z?h7+Q`_7A)-p(*QCR|_bhhE7?P_(2+?OmtjLw4GMxeD=zNudyo2q6E%ZRm*sr$Qdz;PO{x#8jE5Uj|lp z=XN1DSxOojy!|dNCJ8e`9tftMBZw+-CA2R;tkFU*Te$FiYdhhGWo(8AH+7Qp5I3U$ ze@zK(I4|Zin{mxXW;(Z{hkH{!-J+ODfy(cVTu#s76b#ujPbyn4oM`}*7S4B1X-nt9tRdPwbEx2fc3i~-UiDjh5oKPGs)st-& zE=(|mQhS#+Ri?05#xl1eQtKA>r9S~dfIDhM2bfM;;=1DQdin9qQ6|HtVC${eBbz%sI?l$3R;;P1kMun|GT4p1ptc{zV}fRhx#=f)6N*^m_XSGz z)%jzjY!5#?AC$a3$UD6kG*-^Y;PkEfOi4LM)nVd-1d6d&v8;0}%oQRdABnBy)@xH#(MQqyzuk-AW}Cp3=c zrw33t883f^B`!2Oab=ZQ23lrEsPuKlP>HTTI8n2!!RY?Uh3AM?M8`ThGL{exPq}O@ zulcf*9a_a1_Rnc9PL6a>2*SKP&CHta4)YAXSQfxH?_=j!_W1ts{)!l*<*OqDJ#>h) zb$x+-+m#5v?-?PIqfsK$`mU;?YezAT6Pn<1Wo2c>Z}X;lcP#VU=sxWlU8hiaclqt$ z2oc0HgxbO0iW#ERuJ)3zt0lkfm8}LS?LhO5r-j%^R{XCD9^Zx{db}AwtS>|1&N6Qx zBKL??q}kYyw$i4cr#GF8p-NWlC6dc>Kv4dBb1t5sW9obHuaU5!bU`RneRT}<;(Dc> zL3xdE+Ke~${WJglEsmk%I}Q6L6btL=3e+OM5N~>0%Pf)7F$jKHh2wra7RfrpFMXk5 zmA*PW^&PMf&>DB3nM7F>_qaIsUGGfP;H&%oUjMNfUl0@~p10XmB-lAgjwK0s;!xyM zYj4O^Yrnvnt@5a6KLKJalt|cti{AHlC!cqb69e(qe%x=gy%3`U%+8a*B$Fk>+6)<@XsRI85vD4uB(z4h+XEN6~m?+UISlMXQl z0~`DFrbJBNCTX&TL9YBcWi)J_CMiOBDyLNHHsvpCmTEF5g|0XCkUgBQw}x8WoNs6e zpWJW_*mz=4N;>f_HOqM6U7Yu^86V;8d4N*yj{ikkAb$$Vrq>OfvR;WJ$udFie=xH! z!o=e0rm2w0k#VG7z`kd`sd=iZuc;S!7}r*?(P3Dpyer0Zpx|Uy6={FpZ_WK10#Zp) zB!%lf;8Ke`FKdVzul+Rd<9U_|8hAW0ez2?S%Qd)we&K*TW%_OE%_!>KM$4szo0aG%up-YwEI-F6 zN~cW7yc3yz14Qi@sKRb?J<08Abkdu}Nz5aEAFF6q@oFP2yt-~9?uai-Zjn=t_c0X);ZHjMN2^ zm7zku2nA0aofJtZm6z-~BekSo@!h)Qz47MP9{MgEiv1oe^02r&Lv61!XRF2%OaoY7 z{?%t$LrYIfl{c1ta`+kXFSZ#lf8p_4uB{^AqWPn{+>Ez+vs>3P70lqe(6ec1v70u0 zAmA_FAfB)fj%&vZxK@i#zPsRhq^9}kA$XQ`hfts-fyXh@HDo*QB*d6Zqpx4K|3zdF z=RU=sbN?_#NHRU`bB1td9KNzBDm61*d-12&9VA5YQA&&pd6Kfi3vcE*!oxGv**vxOYJ7N=_#^QNua8y)XtMoYRtx(upVEPmqHUCZ=U(Q_Sg@bxL!`;aO@N2t z`}3f#=5)F#SaOB?%}^~=lzboTM4QSQjA_Nn707PiCaJ)B_W67rHl;;nh9eT_NifbkJVqhxKHrSelw4TrfazW?QIF4ahC=` z6wd9X=uzVG-Gh47us=Jbn~X2{xQb+Yd97}|vh|{_zUyCzc0V0~l3w`wXEdrRN}10p zE|?99$qJzH%ip~glm5Dwyld>rY@~o5s21^{pxo--A6Ys7j2(G?y|R;@f5%^G|)^g$+gzOAgW(IJV;7`49F0?loT?LQ{PK1=2{bFYtV{< z9%H>_y6`darD4fx`~oYjQgLSnm(dlKs8Ulg@`sn@bNHVqttjU$l)FZ+YUMDoHD!!rgGGIR=1oLT(t&(nD< z*JQ+Xk8?A`)MrYhz}^9l!X>w21!^BZ4s`Irs$n$nWobH4?_Y%wkc7{n(_bgAyIriX z%=>s>67xZ6MsH(RnV0Rc7=eS7(aL9rLu`XUUkraZ zY$=)>@ved>GY_tv^g;;%%j%uA()x{JiurE>$VJK%)Y^^OWnV!6Cc#Yc8=?S(33E%! z)4K+MOa-mj<2qTQZhVdPLH9fxA90Adc&90jhep|C6lMx+RK<_be(M={boOVdsI188 zd`Ts97{C2m4JqC8HRh-gx+zve?xd$%eK7Gg_uQuIrCU?s2yUoQ_=0Y5zeN2vz9~kc zS=wOEMXs!(y-=>j7U4y_(?E^BvoIhKGlVe0&BwGiH*w%Cw!`12+XN_(F_$xe4z|N=WoQW(by7IW4KBe*KonNlt~| zYlnZ~4g`3MU_g$UP~e*?Pmm4Y9^%h=ZDc7GJV{>ZCCA7lbL{Lmeq$cj5VkO_Pd^w* z*TZ4Y&b|7c!>!UuWBvY+dNvP}`_el1D++nuQI4f)*@6@NJVr4%Zl*A1;=82`wbmG!W-2U7`AW9UCr*$#W_2Nj`Hpna zpV2ZhD~<_MCkl8%$LY+~spM?`-jiE^ntmhNZdw{O7)hGST$vti-Q75U{w8GkF^*wrljy~wwE~pg;Iy{AYVd$(J@uJ{k35ar!*OpbSHT7BHRFd_ zW_E`?mj__6Vz<_I!yFFvL+?KctBLO)P`CvqKd?Y6VKTW$f+Zed2W2O^NWX}qX!MY$AVU{UW$1jzTTq6LnRDj`u#%7WB^6N zJ}2`0<)LVYZFyp&n*~yXhC429$hYtpYk{asVSMj4W0`dn5_He4bm>VAMxYr;&gXs7U-`gaN<`@U23bh5EzUc>V{n@_>KO)qbqsEd?LC~vvR zT}VPS&Bbho_c$6ZrVb(X2b1|A-eDn(FW1Wa)n7r_#(C1?cS4p((*lM;=rok&>&B9gB-X^ z%d$QzzAjuNe4i^RHr#KILxL$PjydTIi+cvAx4=42e5Of6L^?N7zu4QmFfV(1+otX# z0^`a04{bioW@PWK4!wRAW2$B)6xu6XZ4}o2O@HV}f4(F=G7OD0p)apad%k~~k5!z^ z(#gIOySIV9z8*QX#dpIU{$f@7T9XD`X4nXsYk9Bjs~eT)y)`g0a1tNymFfD@pq9B{ z?!}SQQt5wDrz_e7j>;R_vBuqQHVLP-UYZs!NSsEKWmh7YNCKz70S@r7%@@Ql<%yib zd>tSC!tGuf{DhJcc`da1>sCJ)C2_;w)m6kz%{zOV{di-k>X*fI06m9{6=6;rZC1vc zqKq)EKTu7|(#7MYm~0^MJ6))GL`s643O)UNxFI^260a8GSZidnMb9qwxSqg-#tKR%rRKk5S9SlRY3Gclt4B^oy&l z_eT$6WvoG~&JaaaVngseQ@GqR%o@@*kj#Z>{L)Mwc{DQ-LD~v-O23SX z>F;n*nF0+yQ1mz)#`)gVb%Z(=`Byf{%$Tjk7*>^ara6uDS%;f)Q?^PPwLHSoonZxh zga<9G<(WR>JwXet#?@5H-(?)lbJo$kdvqvU{mWGp3-hW$f6B3dNnV|emwnnIfxp?K z2F=^}eM#d6tWO8?sVBr&kSDIUVw!BtA2|FK5GzOv(z!JzU_$nTTdK3k&o_!8@mv6D}OD=%B_Zz5CpQIcmfMZ>a9 zgCf~D)tCM5wSi?kXiF%VAAIjoCL!IC^yBXcbaNkBsmto>PHZLQY(lEo4$6Y-t%84a zch!D+k8$!PLW)|fj%NLImC*YF`czJALY8?vP1A$B$F>8bX1* z{#?bc8P3Xz+5#>EFj;}4iu5ifW)OzU_&dA~vm+usx6yaEE7Pr!WXbPXyC%IorZq64 zxLbX7!ev6B*0&dBkJAon7`;~Q)HhCGdZs%#Eb!|X?%)%i?>J7m^immhDJm7Q5Hg6 zoRbST+%n<=UAiu3)u)uCc!K6jVZAY#07S4I17cXeKQ-Eq+id!WaGX&=?cjcWB+W&E z=o``z?NXjGuBz}PU>8wczsaE&!K1TiSkG+A6yA7HH15#zolNz_Qf|t+PR#dqh-}E` zHkx_3?!DXxGLQnSP^K~Krr|PDZx;6NUmIM1*TnCB`)+McBg{ zxQ@gI&77a^I7~`L-V~*`Ye2kJ8yfQ7n8tprY7Jqek%+Mo;XCO4v%Nq7Ek@^&x^_)JF_2Lt{V}c zWR-EJ47VsRk?#p^sij=mnuLoJ&A-GkcR;cfB0E$5e4v~nC5qfkI26;j_R)5Xa8+3^ zW-*a{Z#LTxux!VR&HSB|ve` zhVd!Z@SQnTbd2)-LHws4*$;sBKa{b2)t5FAWRj^*dmG$}O4-4Dr~nc1@MMUKX@$Fp zaGo=loY4O6Vj1SEvLx82=Cn*;QmjKWMN+)?WmG7Wk-q+iyF^GQ5=o9SZ1gNmFC~Ud z2V76ev5a?7icf%$oP%m33WIR1~F1vjHMa=~8WrN{fn=5C|Y95Gj!o zB!PhJ3W_wP_oxVn5F#}Y0w@Sb0z?Q9qzWOl&_W0ueQ$R6+2{H0vcJ#k9~kl>_c>?I z%r!ID%sF8nJvpCMn|^b}xZ`nNh>Sv|Ycd0<4W2c65z=1Fs z8FJCml}8^fQ}-X6t*JPVqwCi^SdNB=Wh!7JGK>pk6lxNlHI*S7Mo$lY(gzMCo+30= zJL*v`RtD0=V0-?7!&I{68E zQON(&5BX)AKkvUX{?Ln^+_3a`u2#W%ba2h^`)X}dvd?da{4g5gBk4Ma_@6S6cF*0| z;K~Z|JzQ5=_jO^@TfRPFngoAKKE;^tJ0!F`qkAfZQ_+DjY`peS=bZ5F zCr=(kMrbQ1IW#^ezgSn78H-H%B>I#;-e&chu?b`7}SZ-MlO5V`A4iARoj;D{j3WO-P5Iv2b-IkEmMcWtNfAUg(yp9Z7 zPTs)|ejdz@UiRvo|8(2g)9{+zK2S%}Yj!P`rIiq-f{!ZeAYtgmFn z-CpwW=^F56*Fg037iX;7{crwwh`W@pD5t@lOJiN#?dZZ%B|AGFE6_1gzpPr=;rrR> zE_OMUf&$fjxg1`~j{({=^59t;KJoj8V?wXr8e>fbuFMxL%mzruJA9kcI)3<8p`GYE zsr(NQ2GNEE#x-jTCElEk^R2(G5`Q5U51;;-dB__i_;m@Q9IE4$TPzx^2gaXe_PCVh39>Akd$M1jGX6RRQPmm2~K#veDk14XUl><(hx z(?feN&ieAMC_egy^*pQTvSQ;UPBHxIH>*OLL&g{35)Cz|tPo8i-f^WHGWWvVFcYN^x*}~lL|T?%dv+ZMw>ia&u(O{UpO($&IOq~={thx+F@h^Ua00YUT@t` zu9nb;Ru1L(-aZh)lkoiP&+T~rK?!Bo9T1oL@kg({RMOQ0(xLh8G95~9WA>QT$Tykq zzW?(nO{csE*H3g#w_q#H42O)N>E3OUFXLkL9aq>>53i zu=?^>%jI1cJ!zi|qQqAdAA!$(@0vR`-@InN`iWiKh!@#QQwBe5qf9*)JC`eM9-5{u za8Nh5Az=r5nc}g!FWl=%A`!OxiLPp4i;Z8g<9Y2j&F=f}ZG0fg4tD*pa^Oz?HFzRi zQBm=Xm)cxn#C*DDT{1+4?{Qe^>h?`6$u-T8mJ-s;OmGI3h>Eg5Ta*4L@6HQpYkt!HeMi z8l}3Au2KH15`A6epC5L)?R@y#x0qlN=26u=5v#twpWp5-&s4E&0&Z~nGhhO)ga*pT z9u+#4LN*#Z9;M%ltg<-%%}FCn^pTA8Y-2}qoxL!JKp=puo}?bPc6+4WIPO-qX!0W9 z@~?t?B32Li-S}hWkLn+}%80ps{nSGBH>28q(1B2yLFXvkW1b{a;UJOpt)x4|v?HW! zDALX)!7@Cf>PU@BV~?}!(2dee(pQQf=2VAMUK8qIoha>qiQyw-%FsP0i7Wk{DUK|& z*3(g+o(et*m8laSu~lxF)>FKxwDbJ#mp6B{dPiy;6ABVM5FMYvTM9ZS5^-2uEyG5^ zzESw&PXW2ILg$YY;T-|5*Pld)^)oZ&=lZo4eiLm@eiSJe{_YDz$nm<+!TYzn=bcWNJ}zEi2J92?e4( zD;V@MiWmIi>+z_l;H!^4DDHmbOCTf&-Rcb$Rha+$;iS{c3LpOod3HI5Y~Gh5M+sSx zIg)QNpY8K8|4|7{$BF;R&B08;<~tIXXPB9GMGeu&=T!@WqNM~^n&NAVqF)_APrRBX zskLYHJKky+Lz^#ssS|FtRfnClbc zfukTKVzxK;w}J+>=ZLYjNd>>bs^IULvi&PX>5SLnEl0`LYC3a_N0Lqrr$4w2C@Fo^ znZ0DgM169Pa6L$pRQp&XQaOt9wg>5EzH*Vy#yoSGinW^5JMuyIuiDyQFCf3ZkC>_U z+M!Zh3H1?UxxX=FG7w8 z0krv@+xuPlAW1(I=9x}=&9!AL(7()4LrYw!GksbzqJv6tLUGPd5IET)st#!GnhZ1`oGiv{rNUSTV1wu>&*U?_oU+wEsvMXwB0Ko$eRrJ2Avpg z6=$%#1LfdD8T9k;4J;G?K%<0-q%>O~=4`L(ZG=-#lz(vM}7n3 zZ^p+Tr2F_W_2tQ{)QvhjF^L|q-@WM%kjqu0zv?Mne3vWWrrC7zYD^LxS!1~$;eH7& zRequ8)Fk#l81+A*u)%Fjn6^G*2Tb_HLk%Yo2>GSNrC|E#pymE)!yBGMBumeJGIZ8e zUtiyHtsKb^XnIWXiZanI4mh<`RW;*HF7$k@=Df`*8A;&y&-4#2)#-I7s8(P$%hSCz za8#|Qt4rp?yWB;j^y%M%URy z@9MwRH-8tf0Ih`qpFy*)M-JMY-kVJz)(TKb&%~l!G)}7Wjl6%qpY?`)ghfdLZkPP~ z?tpf7Ox)FHHKQj@fon)y3=G`(WIsQBe@VWNRGttN{wVTtvI%VUZ5#|DweWin@E_#! ze}6juCI~3b4$s5PdXCF7bKm`v@@vAImaY-~t|Gu;o4*d={PDuk|o^!@8;CC4nmcbP>uXFKBpZBGZ*)j|F~)L&WYI~Xu#|1sj=nT=hQH`{Wy zU!wbsEd_ZW1+lR?&E;}K%l-*8|Be$kvg12+$oEvU;!QHrDdTvO$2&{QnR_F)_$lBoH`N zcJqhsRYn)93GF;&IX?LJ9o3W$nJ&3i+z+2=*a>W^f&#Fq>I?Blt~2Kohfob9mh_Gv z|Di+sF2Be2?DNSl_cc;F>^a$2dv5O>1?4=bHU3YF__{j;|CyK_33-_gnw@GKD!x&{ znHx@&4^c=~^2xWq@pt9u>D+lskII89PQ#V^;A97|?B3ApcQOb{v3Rcd=rnMI^>5Yz z{Hl1+2Kd*z)cAW}-jDqXL3XRe9mVVY-~#IttE>-vlRiw}D}Nv9YzWHu#o+f=MYy5% zGMKo>+HlT8$iE#>$r{&JZt;Uw1rk#yobvbhMBUH@|Kr2IUyf1yJ3qpqxqjC$1&Gr=EJY*}bNb#I7G(wPP?beLK5j0fR4l%`U}7yf;>;O9%@n zG}VsXMnq&szC~v?_KUgIBi?-#ZE^FqoxO)95CM&Hrj9=felqSpGO?=y{Lf>B?oNDP zg3Wf$Hp%WLFobqM4j1ND4U>IOJxg#cg#0w-W}2&_iXU0|qnqyk?hV?85-7( zVp@W7+9TQ9y2ZVGUmj-%Qyj3(KIq8J!v_X}&CWn;jkmBLl>WCP(_1i84lWCc_FmRLTmUF<%$H1S+dJ_WhYy<;dAM{+^t z;5DF=!rpVhE(babm!Sl0iaJ@Gb`L58YyISH^iMDW+7j1ZuU>U1`x4w*<6gMq*4%eb z%mwAIBpJtuI#hsLdXW_%M>nf-G3C%pHNB2zJp%)hxl>1wVZ47@G0^??D{$k`({m;z zb0lGg9RYF6?;F`&f)9wow3jL8kA%Q~q95L$_lP|<5cW@v2QE&F_yOC!=$nP?UG(D$ zf>qe&D>^ij_rjqxlQxdkFE5lQ4i?F;l$jKG?o0O4ZuBcuQ*K(J8mFMF>Uh4Y+ivar ztKG-;cSxHtoI7$sshb^RI<(q}Ky7^?e<@&Efl~LPOA7fr75WeFS@n)f43*&i-($*u zpsCw04};|DzA~F)n81Zd?9Fz}P+4Zo;r;9;vIigGDPUdJzYH?4$9GO0xra?7Xx;vN zyX`+|#($jQmh2ssc7K-6mR_4^&zguR&Ny*=d}^~RVeBN6piZt&c^`4ik--$X*p4Vj zygU6F3$^!xdn0A?RLHbaA{r_p9`O7c>X8lW23-=3c z)ZhN}U7XMA)s;2BSr;81DhF&h20#~h3%V3L44FEulu?&cWwWntm0KP0uzK6-1Ab`5 z(M~#Yh9kJQ==5lWIS53vU><>2VA4(d{&Vlz|H8cMFE0kIVY=TtYg1X7TF( zpUmVh+%Aa!VVC@up(}@952XalAA$o`d8TP829Um+2(uj2QHF3PQ%C|v4Jmor;SN%1QTcNl^XMeHuH z-U=Jo8HiDZ&^-LD%1&wu40#OPi+^mdQ&I7}``771(G)#}`%5We=VP?!c@D&`%C*%o z6c>Y!{Q0BOV8%4_c^W3&YW%#B=vsnU=B6p3GWtTqcXc||KclXb=FvH$ zLyxiz!zUv5h63#$$l?X~F9U@(yr-#WdB*z8`vsP)geIGDly`<#A70J8iYqa9I47uZ zz)yb$lf1?;?-P5hu@~mt%q%LYp!sFem<5nf{NsEaZN`rHbVzvyla5L5@+6wb#gxFC zRYy5~j658n2``OoobfG`(yV9c&@`60{@8&t0!`k{3#_30`I$DD&gX-##5Wp5M4Aaq8i?cfq&e3pNHBE^c*Ki6?QEd z*Oxto7#is)@?2g9WzP6HB~mYQ182ucU8q!v-P8`fOs_PA#GzOclu-wN@(&3J@`x_*+7!SNn2#ci%tt^tE6i{zrC zOdrT_dK+5R6CpnP5_RgwQ0#TyOv3Ao^xbJ*J_C_MQ`${7Qz%&+fgDRK^yu7s~dwlNlFPbzMn*O>8Gkrl0CSB&@Fm1_Wa%bF;hT#S`GUdrm2I6-1^1JCWAVW?Ur} zb6DBh@Fn#w}*BYtWZQ51+t_WND!qWzp5wsa7$@1OTLWQi%B=&)mg#|2zXkwXl zh3i@N$$m|J_FDDhB>Rdr4yLES4W)1A$)I%+xq(>wt#Jw;yLl4#(1Gp`sdZqyGoJcE zIdN`mBGxx_08Q&w#SsroX=XmTD^#+2g$)Dk7RRB7{M2J&TWKRj#d#hf!BrQP7hy zB@RPv+?npycfgw9AT@J9>CsW}bWFvXU%tP>c`H!Xz>;ytpvz4uw z${=`{%s_u(Qy!8Clr8<2Ow!l_aZNt8mC)HhHS)34rkF`2)+HZw{Audy1T^ zS6BEPnKTZdS7C0FS9n}srL0{}gP+v6&8GIa&4OMZZ_yja<0|tOdp#KRwzI&QS%_zv zwjwwaezcX#Tg;SmS2NeI?)QY2Sfrbet5(|)_og+0OG=%ePx{(w(I*a<(<@sna?j4R zl|Ai~cbKV@drUUZ`Cu@v3gv2#b0zwyN^VEWyHIS#Jz}*T*=n3?qi+`7wVc)`mfKt@ zrc&R<952H3tgWv3sVT1G3&9779W!L}!ZeO{+pS<|4^kx4XC@J2J5$#gLpZf@k9+d~ zu1}$|&3pA;&U1tdc`QiE!P7p*dZ^8x=j>imiqV_`zHfxhihf|MMsGelJzmzAo#tip zU=Ll-dI&(f2gdnQIYBcC?m|g2)Y4dO-dXg_m`?qu*AlxA9i-tlQc|E!$lr%UPsY;# z1%%F^Y(tS!)Kcr%Tmkw$dr)poh7-G~2aaeUN+~mop|k$E>S`GR^+C`ody?2=RPNbU zAHcBuau`!R-i%KbGu^M7V_{Q=3oVmdEPOI1|1%J~t5HtRBtP&0$upPTNn`otvqvkf z7>EajLFAf&Gf`u}!Q?(k+6s^BUUG`C7Nl<%hLEDpKfg93-Qkv#g6RCU0j}^{d}N60Em%%C_=2xh^=0!z@B?%X3gypZA(Im^gLV^?u#C7*hUNR18k>i4?cDX5JK_pi&#DT z`HYbDY3gsr=LD^84_3A%OHj|cGZa?*0)hFfS8M(!ES{_;Ng>-lGS z%yb%{cS3KLb=ghC4!?|ct24_+D)~U`NYKw(H@}s5dsuzOKTURmWUze;EXibOzR&B1 z)v-!=x|Nd-tA6~S5ps9*57>&XMS3wUiH&KS+N{;1=@8jYX-%o?k33KXnMT+E4JS4S z2n2yh_0ljmHXxkyMzs7E>jJps1XO8kv{ODP?D&j1gQ7k)tY+BiOr3GjBm8l+^nXW# z?hk<*dX!nWu2jkz^sP1pEs1~eRDR@^NyzOI80vR0>w(+NrM>3@x&I1zRAMec@YB;` z=$Ek~E3pv?CpH^ip~nE+&J^Qb7^mi++c0+gb6)V5xA8M|;~c~>4#_{x-`yvlf%k6P9F0Qf0xZI_^~4ihyP9WdZL&x1=Ne~Q{xl%q z0LrrTS55Ki%^--pwok_UA*W1%-S`{*BOdxbVxp>RJv9G1K?->un!mfs&XzsA0au`5 z97&1j30vyNjPl(Z5`6i1Q`^vSn|x*p0RX8MZ??$uMsLPE`X32d2=3~Oe0GEJG5p%E z5^hq+*#~DD?$!Aj15Bj}Go2SJJ?@MKatyo7=a&A~TxX=24AU*-X zpx!j>Hr1uSanP#wQKUC7Zp8*oy?8(;0Z)ros(UvYq;JZ#n{`RXq?4_}@^B}CfLu*+ zTrDvFz8LOoYXv^K%$Ptgf~P)$fjxRt%#W-$*YZ@o)ax}EVkcw9gQ`$~mteYUCF!u& zG>21Rg>x=CDez3d(R=1J1HKkR?k~jA=3Bix>)}$pp&qDo=ho~l4cpLW=M-AMO9nb` zTqTCM2RClRpth8JwYjt6mjC7cmbw2JinCfd81XqO%g z2H!#9@_b&W?42B~G>!8SQvrgeRlOw6g59hZy@mORDnqAWyLtChjMM;?wDANWn`2sK zQ6WGl4;qgMYB9U$%`;XAb*^!bULwbaLB}Jt>PLgPwhCq^nd7N$MV;LECRNi+f;8dr z_{Ke8E^smJ%t?5%6=O`)q>-?sll0P()T%x;$pUgqcW8bWMrIW`c9KqGzV0)XqjkkF z2o5d@Ou`)o$7JK@uTW9(@&! zJRN>W{^s)LF|k|xl)$;?udH7@gG|u@NXl7I+#KklH-`2(Bj# z83?Bo=Fh>B?U)M8;{FA*qAnGx{y?rSt3(Ip&Wkc1%*FSQkW{n4b`;mEMDGZ8?*h!g zgKV(GG8p*CoJ?HerFJyB6^*<7l2s5*w9g=6%)Ipma@luF-G~K4Plvc`zQCIc<|`D8 z!5sb5!fH-w8F(Rplx-H)V5GucTgdUv*O6sR+4f)0h|RUHxn9ou(3CNc$qX-@>652t zx9C(_l0@0>mw*l#X*JNq*Q$P!hSOB^TRg=F2Sdj))pW zKw$c~Wkj5tdPJ0`SMFjgZ9J``J1nM;v*w*|-4QsL8&#`Z$mEuiN^?_MbZjkB#%E4N zNzh!pF7bu@?Z2;*J3p88o!=l^99J!gzTkhj zZB1#S;76xVZ||S+N}hN~e;WjbKWOZ4z?!Cv6N5xs{Q)UuLc7mNjmR2+R92Oc*mrtf z7WxV&%P}%4t2y3Go)=sy$+`nk?>hfnw)B<7Ec@B=OUsn;lQU>`$7g;so6$?lAo=u1~WPHjtx}>FKT4N=5$im|*#a4QfW}2{RHd z=d*t<&ACB2iF_FkTU0IALCx5Rp$f?ECD${%II5A1yWqhl*`X;kGzBs-v1>m^+(cy8zYR^<>_HN4STN4 zULkW*6{+hzqqh1qH}#d5;)E^&Rh+=-Y^ccui4$@GQM%O@FbVb4veJf3+FhG8nV1Ce zj2?PHX0yAcl{I53W#d+6*YPmo^`Ps^-t4<;OOXufJMTMLNktsd0j@1LzlTvm`Z%-3 zgq^5obBFl2oH9f$6CP3RpOV62{&&_uISNHWZ>+>P~FE>)SG z>>g3Am!;8=NmQOed^*j|wsV-J%ivhL!-%H7aDm@}t0o4UlC9)9@|&lg@Pj%wT5*QG zUYf98VPDD7VoL@2Okwl2I?B?j9 zU`8c9+&JY)Sk0&kw-H&SqJj`=4FDU=uvSVr{l27hy8!w`zXZKl7HtqMT>W*Yz9_^eeh2F z8OR4p*)|wG&@A|Ta!Z`&RjnWY4jO+V$=8#=9CH`r&NV*1I=oTk(#|}(bK|R8yV%|| z*1T$<5HyoxTiJC^3P&vEBzooR#DlT4@kwZAJGIB3EC9;dr|_F6+D$w)LAMkFpHVI6`lK|0p`YCzs{)jvXzQqWZEl)f+%OsoX|$%CB{jgX6Gm#8v171AvcXWiGHXo_ zQ8gIrIfIcJ3gd|5hMjz=0jn@9HA%G~8u;X$e3#N#TGD!HmrS{)X;^|-b%6`(C*M0GaLcGDbJMeE zE1G|P2V4&i6~d`3Bi!OD+^LjEXm^Qsz8g#UvfK(8WS!0XUUzlgLp(PZoLam!jX0-` zk0@1gfvSh<8y6UWrYRgD@zy&EC3@#RP-T&<*Gm3S*GBr`0I9f}9i}-das!>xZuz5f z4wMD$qzxG)7@D+22?=EUf|XSxs@PbHN*uu}sHHY! zOJp$`%*aN>o+%*EH!7((LP!AHb)Uo7+b!4*-f_r%y-LnjTH;+x@}+7u)YNeNQ?nrn zWh3(JGHO}@zyN?NbG5REc`yTq4lFp|w@TGvwlDcwufLL!?1ynI>5RuW26wHrYhE2! z?tKS@G!FPyY;Io@JqAl7>)7TO>jVLyF!VTfurrJU?*C{lR~4rtODL?#?cyY`@V#7^ z!N4g7o!x;_?QN$lm~%4;@-yob=odr^@eEhhsZVi36$0p6Z^{bWb<+3F4 zipywR`BEgjs9k9`9=fnf2Aw3fKp-%%BrX@+dnb;`HSl1eyqc}Ys5M=zG}msZLP|}6 z{0u7~Gn|5qWy02c;{ut8r&wLttk+}iIi#z^+keJ;&=nCw`#n0yqbL5e269mdG&xiAqheRoNj;Y)X58O6%k>rEcE+UxtEby16qd&`X*=_?s2dAV-4~w9Z2TORpU-QqB5c(alq*IWP*#oM4H> zp1Th^ppr4|WC;^`7?0NL_B3rpZ=iQUwE(YUK+(&<$ktQHih#zc3{mu3S5B9dsvutl zK-m^TNJ&Xsv5m5|QVv+R#zUc`B0M)iFCPLW<|gr|dgN|RMBFc_H>~06G&aljJa1Ej zn3bj%2iwSuHr<=;j?>D#wF_`#9;<$eGb~YjVUQ4x;EZ7Zh>nBt!gYt$q}a7x%L~S< zi9}LoUOqA~9&k;`fzno=u{6`Hbp(LZyjJ59>k1cf6Sj%{5yfD~SxN$%9&K$_A-0 za`nI8ZpR~0#c927@-3`~=)GNeOx}!EHddd;>?^H5Qr(8N9QS){$MHisVr$;=$c+XOImp9-=WxH?1|r z3>@S-kOy5K&q3O*wI11dXOd%ADbyabEz11JJ<%sG9^W0IR zU;Z_^0l*@6E27Qp*A@tMQcRcAQXq+KlR*L46gbNNXrFVC!4JTLamz{=$?gB_&+N-o zo)7rDTiUrGn}SK4f%|3eZQ%`g(^QGisVUi3&&Ajl$j0|f%Dc)zi{*bfcjcdX+RjX_pSjE{G5^T<{`y;+Yg-FEKG0f``0s)nc>3Xj~37MFrMcwsD(BjNkHP zq6zBt+0nCrBIX;?i{?Ob9-#PIp%fXKY3aqZQnlyhsVmh2IAwxcF%T_la@5=9`jU#F z^0h5V8>70zMVL%RE}If%WY@$7XcNQNg-LGSic7GPgiLn_S=$5O!aETo%c_BxxAW{P za3PQombBJ=Js@MglSe3oN=A{)7Ii9R@O0A5NhQ zbPZH@khD--!%`~D=e{hRjNg2TP0Qywf8p3wtF>-Uc_=@Pt$cKWY)5~fH8$lq)JXt@ za$=OVR@#iux@mQFxiqJ=c}9K7TL*8^q-E(nbr+=Jp|jR|sw5l=wb(LQvuafbN~+sx z-V{=P3lmFT7s-#TZyvT%K0D&hMYL2z8KC zP4iEkpm!0?d)be23xiR-Dc4SqSBz#QL`JtqlM72YX{N;}s2H1KTD>Jj-eQigt^~H) zkBnjg0WrkRTFzB1=0bl=O4G(=TY;Fm0~e8D?69KyVLM{R{!QB)Z*AG#t#_@M?6ZFo z7o1;FVR2q49p`p=TyvE6c9h2->L2!6qxu15Ig;rAL%q-byyZJ2$nq%rJA9>>QWbBBnehGa|4Re#;X``)YCiIT3sHwLnSL~~x z^#Aa(04H$nY1?t3!`hJtp?B3mkSLRdyZ}!-HrXs7uUY3(|IhxJM`HP```aVa-^QNsu_v9XGMZ`BykErx4?wJ00EWCW-I7+V9YX0Yc z&IrI>sgUN0u8gU`c{8JLqXgM|yZ9_(0KCeTq9dNW{zz|9pXkv5?R{bHYN2c9YpoHx ztpaiRL&7J}Il=2XMrnm6IrvFWXVRLKx5zHQ1=xu$dwsAEm43ojE>t9lUyEuQxfKo2 z5-9a4G)BH@Dsl1Cwlix{+Nsku6G`Y?PMu&`9>wKqH81GBjv|;FHH)uaaD2O^cehU- zU4Z|zL;RXtM@3grGRa^DrqQksdcD2uH2E^7{LBK)7OkxHQ*`j7t+}d&o6a@gR(%Nt zgn`5-{htZ&ONaa7xr0(WXrQhX_+TfsIDjv(|E#>S{{w)GD%X6vrI(AE_-jH z!1gMAlr&eF>QSPem;JjnE32_6^Zwg#-#aG65n^#HV=6$0EL^Zf?sC8aI3O28y7)+YYL*GGj>PgnchyKjVT=D0e7~y! z5&^`4iY49=*bF-`@O^R2qKZ+Cnpo&U9P&tkft~?Sw9Clx&Vtwj%&Rx0hgznZl_C&< zCr6rm^JAH9)MUhN!6dQk_7Htog$+TArMWYSHfPLF1f?#pkWQc?UOj&4S-wWE)*1U){9jKP8|?ygiz$UGAd{l zV!Xvd{oa`7?DQK~fr5w9Oy8sK!v%)%0Kp3}+#>Oe~QcR)tcqSR9~uyBi%?gJadE3fv7V+HyU>d*haPQN+lo zp;3V0<|f-nPQdi30a7dcW-uU#$p^k)Z>Xld+7!g~b)(bu2r7gu2CwNZ7$=JX1?r+E zNe1XtkX9G5#;mlTx`Y^grd0`ZXBo(von~8hE`JZD`Qzisp?(Mlb4eV*1YmcnWQU|+ zpUnU=dgyUuY5Rcw`C0{b3@@gKPO14)_B&S5L$~m8@0Vw~atG&sD*!=U*sk#!?Rcmp zNDehMmC};4X6Bo(^`#=CKW9OQl)GBW!vl1y!E8K@fk^UoI`} z5h_-hoq$%UPXd?GC*Ukz{byg6#R3DUAe1yMAkKTCXNXjM1fp z)@e;sjG$tE=XOge0b=--({4?Dh2-lsT?$OupsYVIXu;xOl1FE=`v}JuAXjg8=nSi% zDS`5FfeM-C6ulS_qfA3wogLQzlLo3sCN<_d3w0Es6{1eQpb)G7n4g&O2f0wo2~pCcJifQdE$ zSF3uCXsumYiDFE(-R|!!1RhZp(o9Uh%hS$;_ zZZS-<-(*S6ZzJS@?*=gcyq){nDf{^Sm3{sbUP5?!XNgY6{kM0u%ET5gIGz#Qat|*= zRpAml3@3n6*ww)E2&z!ug&72N7po?k6_r~s$Cah~hf~*T+;iyowT`#$q_y*w9_9(@ zlND`NST{=}hu#Fx)!^J)aQp9USBo!W?#=g5_IOH8er-wnn6Ewc?r2*m`};G4()_-{ zK-J{d1RbHu^6+`{E?%oqnnl-g-ZM3k!ta;Y=8vOt`D(w!pL_0xLhoNbem_9H?*R z5j=Q{*oTm!85BS}09Jm+VAU6_vaoGbK#zGi>5f`Une>FI6qs97jxXzp?r%==5Nl-s zn2gT+Ii*_#v{h1({Jo@dBjZkrfbf!5!z+<=ZE-!NF+Pv?OCk`hAClBn>KSFeRo+Zs z;oF3Lj-JPFOa;T{fE`{myaOWY1>5WAOM4wVo3y12b|i77wL`y|?7jc= zME%pATqoyuV=)(d?{v(6x!^fcP{^WI*rS`JSN|DI0uk+(t1pDI?3^VqoF2{NCA_y=kIcJq6@)5=09w(b&&ykX5=vD?P71zy$s_n&V zq!4`CK%|rf6c;^4++MAdUZ<_3PQW(J7i1%nZ!Aapo@nAG0|+?j$I2wy_fi)oNthW5 z-n{v0<_!Z8BVuvO=r?)RjoVk;TS*WDcrda{jzYmC5-aSnaTnc}^X)UtVOkuGcB&tH<;B4Q0!lACJ$$UMS#kX< zi`2{{$Lc!|#iuBkZgR(P3m+jGPC`mMH09fd)h|M8Uvn?6H)*%kS0` z)RewWmPVPc*mBepfKnK7Vj8gi8eSrYvXcfxD@E zidcBVn*E50jK%ys69;;le6chQEaf%zEn-u)Pmetfy0-@9>ar|1=rW4y^*Z^Zb-O4rxc z2K|K+fAjt~0}Z(#$u|+FjT8KQ^}4gfmG2T_V$F@0xZ0&_IklNy|gVj8yN2--=z717H@WJ41=#l z770pr@u@S_Y=KGJT{$KY>cc4v+=)Hoa$`Ccp!VCtU!qCbN}5u;9N{SPbHRG2N88H$ zf}@V$S(VFl{dNnFp-aBE_dgrnquEzS9TOOH#=00fj~#UV)V(bM}vHE%%B zAGZamkoUKbJBArp6+4~1aW z+&DuOe6uvf~Ol*>Ua3JTys?yzc2R8qkGJ`Dc?Wxg!ne_d+cm0|BJ_| zL6i{L*Jj9UM90f~bFLXbC(h_tq7>*T>5aA!|H=pYE~`5x5b3YXm=rOSbyB0qzpXKY z|3$j7xNcjk;0w{@Pd2bs*4L~q%foDy>MtJHnR5tOnz>BsaW`YZcNbBrb)rxDD*Zr4 zo}Ih5Uzg4=?-y+&bnzmA005j6G>LIp-+yIY^5j<+>uX7?(Lep<{4YAx%I|;j<>Wiz z^&EX%E`U7A`*zl4-PgPkqX{|jb>Bl&WDVK#89raAbX(Q=^UZF+W53fdxT*6Sf2Y`H zD%>iPF(Nh%S3k0yehBjWMn0Ux!|e8)<~cA`R>v$d-Odo)40zw2r`;6wGk<=NkwnqF znDO&KMuM{HLqHd|k(qIhZmr) zSAD?0v);V|PUmj4#EA0^Df zsO-UCun5QIj?%l$#hr%lPVp8OO~KNaZXBCGw*|H_!^$+en>zDN19wsNRo}M2BK`2; z$6<{VM5&h^k;&dCVa|GE|OASZLS z!CU!b{r%ZpRR%+s(;rPuWV#r)ij*A7cP7vk#P*2rl*~a=hSx;yUYll1U#rGObWjr9 zZq;`9H0#pXWj=Wh7QR)NTJ($nzrkO9#ndExX}2smAuSO$~4^QNYz(%6OeWG`kajuc}bg*X%xnLcAtti#xQLi#=WKW}&Zb!hGq&zGVe0RcDvrFVw{ zsq>W{UkzlpVJi<8y%15=>>uvOeQt$sw33}?i>y+;{6q$Yd_7UuL%IDbsd0|H*!%-ta@Y_X27}MghjqwtfVPxTX>$yDA z-5WCQq`o<#`Ytv@{IPC^gyDvqm#)~0^2aSL7N5EKC@DipgYp;ibg=3D&qq_Qb(O6Hit^NijT(&yH+EJsJq>QQNouYL9wn0psX@yP3VHnZvWIxt>WN7yE=|y|Hax_x! zd7g#=oOTfT8!4l(eD&Y*KrE2|{qMGL;^p@+wQtD9wJsO= z{yRISZny};G@Jv6xk$B(3Y3WfAaVh5I9Oyq)HL&ZD_v{51=?$05A7fLSXKqYEUFxyuiK)`D5d@7 zsjoj+6Q$RmU`JgH>+}}gf_Be-xVMgj5v{dOYt^;S!U_c_-@SeRPB`CkQMx9RN@xyH zB{&nP5}Ju*Rxv2}eBf4aAgG&OM9C0tU;ntbBU(j}R7_Qrgs zp_!W2#l3qJB=_(0D94Qb`rL{a;WM_jEYNwX*105|BM`50S>6kqPjS>ah~xR$mV3<9 z;?VQ4R@3G!;F>fiT0TH>ren1$_}>$}x90W8mL@`r)=511_vJ^mx?z*A|4|!8|7F}Bz zr6{@(H`gdC=5@giwie}+qh;*@&^(w%rdvzkia`^fc^|&8u?P(D!d6SX!ZxX3VkMY` z-crwjIBkASJ6u?Byn?f|4Hm-Z>pro*XmQk(-Rj%a(dVtgoATnxQAbb zg@Qt< z4kKfw86y;xq7g^fE!AJVN3E3Yx`bg&t-t%$NiU4%a8ts{uY5+i_0|mUwlF40oh_l<$>{%fUe~0kkv-o~g_8KNQneX$@lGdlI6~Zz$ zVY}5jF8B3;?)!dbHiK4+eMd6;T1cU!M%=#3u0yNwSoes=j}<{7Ka~XGq1@?)kt#7)YuxAp~BdeVI661gHr-de;Ob29X^bOWXqR$w{vfCW7?&@K!T6%Fs)A> zZFN_9&O{82EEXvplsB+w>bs!X7%zdeZHuE5fQ4cipkhbuuqUK|ym2>0wE9Ijij7pL zpItv>Ec@9qV!Z8eUVie@kDkM})len-_u z;qh;_J_u1cJ!|zp_iPF|eJS^3_iVQy`wHT@g;4X$ttP9$-U=1B8g!{MSZ;4|hT$Z< z>VqJ`w36A~WZtt0N_oNdEI7wxhGYgGUS{RbmV5P>K~*uCnOiAG&Q&e{ObmA|yJYPK zOese(fS*h;FS0~uD#K!SDHfI^lDU04cA9S(3(4dVFmfRL8#!&AnjoE`5$H8DxJZqQ zYd-OU1no<4G1uhRpGutT0j1;1%&JU;9|E7`tu6J=!b!q%k)W=f9X}N=_5kl8JOR_v z+%QtWz_QoUmDr${a;3CR8nSqTB{PgvSi|eop0!YGvHT6&t$<`2=0cD|Zqnm)Pz=7^=ETsh4DVu2x5Fno|lGcXGvteK=!uUZDi}aHA ze@~kvU%Pkg6VON9mJh8If(b*!(WCm;+s;<~kOx$c62gc(w>B%711qu=|pYUg5NGtgX>aT`-dqDEJ2B8%|V zMJI&6eSwFmMV-6;i-DT&EN9WW4=#m%#`}u^*zrY&bK3`h1f3I9TT(J`zWzKc{{v(_%qGB=iLxM7#m?-;k>0$#?YFNDp{Wclx}g4P-# zQC>5RALBw8Sbzq@ZJg;0uiGF`Oq~qv4l9EB3Vz3JOpH|7h8d`lcV2P+*&~_&BZM-@ znDH|6jB)RoPyL9lAUW-td13hb$F~b|$l)%7LB%R^-ZPCzgItBA(6e*iwWAo@nn6>d z11G@jV{c(=>!YB0(mDsv5bzyfC|$x<^l=({L4WpiUo-X!?RVN57a~d(zWnTDn-Df; zHj~zRw!Q(0sCji7zqwT|@Tpo`!NxlF-7C2xMPpS(@nA`e`q3gOOjkIbC+*UaMbOUN zgTs^VRd<_E#4waeEhP!M7^M#rH*fZ8k&D13r58Gn?MX`lyoaY7{KE`@n5fS(B?iTo z#Bfv?!RGLp({MMQ6Fy#gPKMj!n=l!bzmh8t+$%X{H_urA50D7}^=2oj?#OCwVbkqlY+7YA+Qj?fbFJ4b`i!Z@V`qYAje`CR|A`KYAIc+3 zSSyjT5gmC;1ZtAZcJICe?+B&qv2(b*gp>bf(i80RHSfabA1q0vmXPZB!HI$>$o|{@ z(%b#ReOZs4TEqxccz0g(&HRkH#NP3v0c_>T>7%Q-=c1+w&ijs!k%y_HCgqXQ@k=ci zW-rD^$5JwUXHhU~puJiNp^dEl;;6ZKDL<(#c^1}Ix-wkn^cwmMs4PDc!f|U?!RZP> z?TADmq*S@#xdhKOD^f-kja{{!uX88=-ouik*U(+5a@Ng>X-`uPRj0klma2ty2_=#Z z$*27{HI>De&s#i9PI^ZoPf5fFmjTzc@qDgo=~MXv(>@E`PU*#JyrK8-XYNgJ2+kIN zF4QrDKxac<1m}(0^wehnU^)Yil6*(f#4_+a3ST6s>1!qkX_$-}V^_QWaOPiTALYDe zlIsaGf(cKz2n81aVL*Yxr^}!MFN*HoU`wU<9Zc<4MT|A z*2jZM*S}*=TaLwTfhd1bGI5V(Z55) zZqq3qZ&~uIouom+56rzg``P%3tor~qSuNOPIQ2pOl=F>;-g1Zww>|vo_M(z~qwm-g z7z?Pv-~%_qo**U@pAWsj=AQAK;8%D@vt&x{#~dhdxk+2BFBhtEyfPPxU*VtDn~NJb z8g?3Yhkag-Ed3*SDRT6_zGn`^$BNait$2^!z-8Dk{rO^6-(5hI23j8ZV{ej`{G)(@^I${cLF#Bh05n4v$>q!++K&S40?U#`1yxgT}=O*tI>k zT_;_^4bGQnezXhz)*k>X+aO)TJwDHDwEA{M;>A3pYfQDiyFRMti}bC_JNgNPlV^7n z{lJu(&(F-TsR&vn#59{z*5_LW2Os7r!akei;H&(MF{c$eNh{qCQkB`%*0A8~?kpOj z&ji4ivzVeokY?bZt@Sh%_f8$c$Fgv#GIh678+*5)VACVe5c7L`Ddm;iuLC;C!*B6bGwZL^jzG5qwKKbGohaQwsTtW+ZcW+ukSQ!9Bw-(`^U$+ zDr~dF@y+yqhD^Rgv(G9&Ue4Ee%Fr3U-rW z{3g(*so8G@_==^2>;cc zm35qjUhlezX`QE)%~xomEhJ3RP)Ulzf9F?;g+|$m+l*0PjgJAk`{E39QChU&vL^@7 zgT9(X-7la1&exD|DQz@w^2H_1c|$dFB67!bKwN4;LUZ-Hwl0bj@ddbm0!#_q51_mj}?fb}XwG|byt z|8@BYa7OtJuO6I*`|8vgs?6jGP0!AMQrKEwlKV1>RykJkDqv7M?hC3o9+L zSa@Tt)lG3J!(=Lm4CgnmElgs}J8*)6yL0nhZse#q@XgGdQ)TaVA1q&|O?_~_lNeFF zTyyCfCp_23U3kDM5Alvd5(Ap?y{nTSt*$6hGLK?&L7C_{-r$*_k*NUi8)e2EcRfwY zOq_mU%?N-_<)ik$&G5D+a`ay0CvYEinmpbSn!ELGf;H?9X(GK+7pO1CnkBZXwDY}P zMBDa@=|R%S%Rygja-{fo_}9Z-{-4z~JjGx%6*IZ7x_K?5!WL*I{@`tV#C1oz29yr_ zfq1g^u*uhr0t?OozMHZ42p9E#hOKC5bgSKWvKE z08Ll%6PIAccb+wIc~1Y0E?QpbmRaZk*ap=mrDM;%G~aP2t;LkXaX*w*3P6y(DQ4iXbsd(f`9<=9{n)pBdHvDd_5s^!g=`=N$op3-5< zbc>7a$!OcT<%!1P?T~qErx?$=KgT8ewqfLieT*SasNU|c_~M8cY_|N5f@vJX7)>4y zcZTwSaD-t4_>MW2ZLxQ;1?%K;tTndo%qs@_c&={#E=CD zIq#e^>F#JFyOmLECF1KL*=|M-viSiQ_tmx^f12*y=(M}}Y|#g}C$>g-Rv3c#j`*?T z;8X)AI6M4t)=fN90fe=!dH|<6a0l8dr>#d?PZY=QZ}0@r9Auw-)cclVPxL)Sfz}Pt zhHh}&np()59r%!Y`PWCLsm^3?n*EO$`KlZL;TK9RUY?6N-|TnXf-8S%2}>yUD@kw% z;YZhyt-9PhJ?>mgO>Qj)USVHilwLfT;~7TIym1{z1S)Yd(k}D;+xADxOEf{+ZuC8g zNktfouAlYU3WK=W(Dqw5TIz( z2Ryb4m8icKUCS*2R~&Gp?c#!8$2OuP7>MBC`QjoE-`YroVXj71u&foB7)ZtYj;yG_ zIv|Zp7Vm+Dwu$4VQQqRi2t-NJ54sANsswY$WSj!KKb zCzF=ax?4Rpm6qr?g^#n4}Gk6!S)tcBVq$Xw78hyj@=hVUE z_a+;p)aLvPH+@&^&&K@z{D+?hajae}&U(%qg1XnF&pw~{@+wC7$3fo6tzvydXn|J6 zsm=mL&S=Z>3Rb~4sN>Hp026|nw~pLrhDCb`#ibyl7i$uv_wb&1hA-nyDmR~rmWssQ zxXn!c_vX&wY$1&nvn#I#`nu39C=}SYc+}A{4gLe^*NR5*7KfTSs<&T`5dM9WCw+9b zj<3Z=Sn)|^BKsXJjcY;rd&;%m7ag9fKPr6YiXn`X-me#ne@>nH#x5PKJbgC2*1cUy zRB$Q|i$pjzzae1I8b{*dhGJvOV2)U=y}P|ExC_DAKdK*~5BGrC5u*qzfGXgcLeW9- z;Yf1<>F5W7douI0&-+~lf;nn)+&#yt!7CDtdVW0HAUECfH|}rsd_=uhW9b_}SSG;! zD{BhXG1blQN%@Ff_5vXWt;x&**FJ^tOHtDF-rgwbtaiXiGt@Nt+p(i6=~rW|kr?OhntELM@6?orl9P84I}>?fgEk)! z+6;9$N57JW_W-fN!r)`CfQ{Dqw1MvH1MJaAyBufOk#Mx?aFk#xyD0<6qx#9TtEX>}%-~@mv zhwa+MwXsE;UC&>*v8EO7w~?d;_YmIZS-*{>Ii7j0w>}6Ji@g5tLx3ioS9{!}ZJ}}f zDvP?S<&widEfdD+Zt<_!rdO8d#UrNYf5HC{uF*T3T*Jx0ezuPA-A8Hb7SpC+=D^Uv|Kfji^{3nNJ>g*&WtM}q#MFE(r5 zRmHYH&S{5F4Z zKBNcyI9=ARuj@4WsW2Gc^Z#oBlq9&~#CNPZ^RIngAyv`6&e{2}0DBJa$bHcUvTaRd zV%lVn&R_?EVhLI$*)J4_$f3of?T zS!`(&Bg?_Ao4-va*Zr3oZn{M~|IBXi!f17GS&|0S15GI`{u--8(aq_> zwZ1fY?kE-^puzbY2m#*rH~a=m0oUTy5(b&1&KSZeiT6n!_wlods=yg4(smtctEX8M zh00O~{Ndvk$KaJJn3>(n8cTiL?sA<-KlHjmAFWEZl6vD@aIZw(@(cQE{=J+m9eYAA z0}BBkS(@&8MFGv13WQwB0@!;lwu>5w9%_M8G8|{YDAla%^XK?LvjgE1<`rqp;r6*X z!8mqy|KW@)r{u}el&9Z+5N^wIIy;V>(=gQdFbm8-j+4o;ihF?AaOh+p7&A+7jE6?% zd}#6PVct?~G>vLzf-xS1IDPgkV%C|IaGc)~ke4084LSlCKG`kV2qhfLFDm0W;~X3O zr}iGtUTbB54)`Ww990AWLq?a)$A_Gmo z32D#xf$+wMIBUjC0E42=huyruloWX6O@cEA>7ryS~UXQ^CjHALXa>C zV!?blZLYjXtXki&EMF(sh@kyK4Xs9NFnk)qhTIt8tUdT*-D`YH0SL-&o05O{J5u>X z?iGgqp%Cp}^n!i~|BZj~y7o=}c7+h~dXN9|ewDv@TR^nzj|gpOTWHPx=>3ppAE!Ce zNuqy>?ur3^m(jbk?xXC(gb@b6Hz0ls7TV=Y)ZSrqLy<#T>@*SY!l`uQjXHO!_-vZ= zbPv)c`=h>Hn<~AYK!fr#qF&layQLBOWm=f&9S>dRsL%%W2LSxmvS6Rd)Xryf@yc6Y zAA*QWQ;#_4vC9d1jbGzke51Qc*&f@l#4U%G>0HWFF z_byB&J~qvAnQ_#@@#I3L<2sfM)%|HSNkOxpKlA2?g`Y^bO~1ozHi1;0!x@WvsKCcU z^dnrIQO@3K7yBWHW)45NZQf7P+`wBB+cSCZ#uh15P{y&^<6s_{!I3g>c(#47Tb_6g zq?q+(!g>%WS1p@V)Gf30j*$a4Sz8hNRI}2yIlaXXdAUGSTNR_l@D#8W6l|F$s*P6R zpxiLnQ)92+7X9NOo)_jKF;MpP9(SHF$b6>}OiFA5B-nzHxo z@H=|vKuy2C@zH9oB}@oZs{-gzJ2g4obNj4G2;#_u+9f+iAKqMeeG6#``LiQFBhJz@ z<}nrzsgkO9l$tL*V(ksnFIl1sFxG-FciEvjbYkYC0zYUL>{RsB)N7-msH6-JHB;&3 zWlSKWJNBMBSgN{a0>}`Y^Xu_%ZtAWpOC;yjuDvo_$Lo$)u;V%B@zLx7()IH{nc{0> z=7k9CB3S@e-aeV#fiztchai6yFxvp&ZBiULRqDM1V~_gb$-yahWZk+|l`*Z)!Q={| zdtkIlE#W61j2H%1n&-*rb%=|=*S!?TV$_M`6q_twm=liPQ#hVvxBbe?MQl7@2D$~S zuUQDvu%jhV4{R~*gPG{Nrg&+^d&BY9Cch8Rjwo^D)o=ezd$To_A-$r!>$N)KH2h?~ zP99e}D%`wxo(ga>Ei;p#Aw8%vwba-N`N1E#d}XVlKY1C2uuf67i-{ISLSx@5ro0xX ztRV&Nr!k`Skgss9G9c?-KgqDyR>F<8!J}UNqh3a=N;xOZX2X4cxhHWqScgx+b~`PV z8>)Pf(+Rlq=TS`{{5zPL)*8<-yr+Tmt<|*m!1J8qD}RE`9YiLA_L;vgg{>vuB5sG? zo!MS-d0D=#2-luE)rJFTe#jvzdJlN!cfdlqNA!C(*Bj*yx$&IsG0(38<|iuB_$h8w zr?2P_{7h2AltcBjI&Et%v39Kra4g(E*=TMA^Cs5l{M{9A1El{`4)5V5IQ^H)xXetg zbmU=XDQ?}IGvqPsC`1e*lJs#@al6Yg-ivn)t|01ySpgm_Jjc0Ox~&5@C^OwpJk$h_ z<}G&$*^IJ-dz~5pO_#Jpwp=%3j^D@i9_hlncMD;%-(Z6pdTw%1%@r7-zKZku*d65g` zP{_cyd^6%UH|TS71RQE<*D)k7+08u^?H1{=;TKtlDVC+veZT9mdlP2J=s9$1#FwD* zL&_rmZ-ILL88Lc-{#0~C7~yb6)&3N}+p=-2-FaVhd&8;FOyV6Iqy7yoMF(?WiK^{* z0OOZ7kw$SolmI@NC^N-+4IkT5C6)ZWZBc8>rPD+|-ED;VucJRo_#KnCCWK1S?5&`q zHSyP8gsOv84<@Ds72lsiOUGh3sH`MT#i9y{SMZ_u7hcQNixVDN`@J}+(4TC7a`uz= zTyZOz!64&x$DGA1IWX^%SBTBa5|3hQh~%!-@wRu^Ppn*IhUCjGKe_Aipq{SCYdO-v zpUoEIWGlSmZM9+<25emmS8h=s8km*9Dl*IZ{AYc0jU(dhP1HV0YuUdJ{kHp$GXh`~ zRA(sacn$485ale}A@ki56AB32v2tj8AVjrJjb=e`qdX=TMH8+W5@jr5csKq>3~IY& z7e`$UFb)+0!A3&VLQ>$|gghUIKCu68za|W9L6ibQrO^14z~0`zY8HU?jupHtaCiMV zhroSfU%e;|NQ<$?A+M6j*hI6N!=x9E#z!abjF6#DZ{r{fa*(6t2=0E zW;Nqt8s0I`KSC>^WH@l`QGrdOMzWuGWBZZwE}ACczyZv56ndiuymWwn%pmmkq?W8% zCmxWJ4)-2Ft`zB^84#(%NU2a$_-MIJixO8D$88t*%IY=IOW^E>$s-^+GI|O6L6ubj;p?e>^@O$D&{=xhj57fL}`L?w-E{?vcWLb%3qJ zefEml$M9fKBSBmcB)q+IhCkh1BwZxh6Hu*HT}tmg{icdkxOX4+T-LwP+V2h6D{n24 z5d0f`NWnW&PVo4TZ5iKsLwj)NTWX`bj%};fJOfc7=@Ba=^-~;iI+B#O0n0V$ds?EM z@?jBvHZpnnKTM#(TePx5RU_{;>;5u3t?ovmrb-N%8ID&F1IOok8NKdtH6X1*!KH3{ps!vKP^m?ofyZpFZ&jly=Jh z9e*P2Ap=}Px<2hRiE^fouXJ-I6%B}d5wUmvG<#~IAoZENVtcLv z-_2K_BS+tio%hN{@hPfsJX+eeMgfO(jgw8@)fw`MnI3COXy#YY30`HnGIK7Ct}635 zcp_2hs0QMomjYv3VPcpcKKi<~?NZ?z;TQ;x@}im~gn-0P&Hib6a02L0A;JQuGU(v=Hk;-{}3T zu4aXAKw8U)t-V=k<`Vv-{zwX2o}_&X8!K|0Mi+4&tm*Jy+Z5AOi9+K00DZZ!s)v-bcE|@4TK`%8sK5NxbvE-u4ZWn z4%)j;JVjC#jPu2d7;-j;R-OeH}qK1x+z%I zuzGWv{20rX{>BV^rh|Sc#A(n+<#(|D3Br}&k{}D=%;?k2@t|YCk{Ihh!FzN|s@N8d zoR7L4D~Q*-_7WZ=Lpf3amf6&f(gZbnoXf{w?eAk6IOuiiqx({%!Rqrj;-WdQ33}mn zsnmvDKo(gv?SLB#&0Kps_<*!!ld2yQ&Q35y=>&9Dv-3u2LuxoSj?;a3i8hS@9+>A5 zoKPR=On83S?(|ieQ6T8$D(kf1uL*79WkuM6>&YYJ+vE0I`a-)BN1GVj+MSHb5jhF6 zGYWp!Tiw7&l{_7@DHtOUWHp~*NWW2&QD}Xdy^+jk%;Y?*xJ^UvogToV!ZUz2L;NBz zWJv{-dv5JM(;7F1l`gk%?d=T#l)n_stoWT-;aUy%J=?^-$IeYKrR>6!}kp&{LxhF8M97Q^xzWEF$DAyPtsn780txgsbPo*{+=? zM8mLzT<_QaRu8L}BS>L_fzKo|DOG`8_2o}rK0VxZ`N+yEBUe|Mp8P_$d~j7R>CG3J zGC^C@TJ{@oovIv9ovRS~-up_;3d4vv3wy#lQKr@L?NK_v}4}<7(7|*?6F7R3*{|#@t_$*wUg9!n{sxy#fwL^*Ys7WY8*yYQUR6}- z<9{MNuRHu8n{Z4H?DkGA%ZJt#!it!U%q6=%A>xwbjA>cAT7_c|u*~bJT`6nJb$%3J zY!H4o^x#y@b#0|$^Gdp~l`ON}oSM%*W!Mn7WG>Y80UMHD6yFDx-LY`|ge0GRHedVz zOW^hJr4vv~5%jdD;&L2TZPCpO-EHnh28EDgiQQE655`6SM;g=IXUW0&`!G7@6`Pg2tE>y0;Cuc9A3pXkjT%+~_oq{ipTWTdeNDo;<`X9rV_=iHO6>N4v! zF`>2@n0u7H`J)$GwMmZdNW_;Tn(Lz%-ZP@1G7f(S8ERZ-x~R-Tve8_nG1bP#i=vp` zU7?jM2hR@Hlqxz$t`L`O`g)Icby1B2(>@s%6V%ny116^pCbSKTTKb+tZPzt!%`dOa zt4y}G|EMVVF2(K_Azbu=cXK(gW?KhGMyIPb6F039>Cm5xE&XeQupF_eVe`7k6+Wa8 z;wyw#e4~P~5h6ffK#|ur_Oyx2shcRZN>w>KrG2OfjsZErcM!31X;ZP0ZWD%KOdZJps{y}XZSvF zb0zH595*1q0YV)m_1p!fXp#uH-;Y`cSwl82Fs;p@r^#pKH(rz&)rCL&C2w*gRc2djzx+|*u*vWuRo~`4I?_g`q zS>Nf5NGR+Vo zDYstx=Kx%tZ{(4dlS=VEe`B2q+N}Y??j8Qa- zRVjk4;*(tI&3u;ctFlgmU}yGsXX*lNUyMgY6^)Av79>FJB$K|EIcbVetC{R5p?nU$ zL1YX(Y&*ruIt;Q|ymU8@4?tljeupnLM7!SyISQN_xpRC>MH}(y3PkH&baP~=HS>g;68nTt)4Dr zO;=MaB!xJJ8b~+U$#MqyYoa~$*;YB0T6$|5!E7T*#QZLqPx5`#6vL8poyUY1htrEzXD%TqVA?C#Yu>f5fp&h8<4E}!g;JdYDVh$6fZm;hW<@QrQWig)Ke zAZhwY4og|PIfv@E_`z6)Z(Fhe&|YXWXYYWK=o_V@CyjPG+rPnPtq-`Hdj9^*92&os zGcwdYL_Te(u}8E>vaBjje~WZKlFR&^6?)+Fm=+U22{&&_Js~1iHlBwt27r)@K3@ohP|s49o#jb;%Bc8dh2K}kRRFIdE&lLl z_OWu`&FxDnAZW*e{(IAWoJR{C{fxE3`}D>S}<3-Zrtb_?OgC zRoS~~?SFd$4GK}Fpf=&1ZI{og{~-nZyYsHxCE7?G;r1w;h4bo&2P`IT14#Hf9KiD> zwA)3c0Bo{mhhQbTD}Ga{8_H2l%gB%%i8`i?sSKl8!jNeeY+{vnGObj-4ASYUNH`_86g;U_NN_Tg3=c!IqXFeYf=N%4MWjSSzneY>= zP^KTd6ui57F2hsrD-8;9>i3qbU5}=|3Pz(Dz?6-XN~;zKoZD-hSbKkJDK|wr&!6S1 zt;!Ua$Ez1ntMVWCfc&0v2@JdnzrCll?Sl%`UoI}6s>xOhzekmLVVi_N@hNNh{#|vx zg&plD$}nZ}uI+i*x%UnFrU?uFM*FTP)C8LvOzJSMZztlPK|V2&z_TwM&6mIbg)qZaaGd6uA&543m$8+8OZs19SDkuNfJN z{Yj8Q>FYHj@P4VYb;vB%y%Q3Cq}W6c>{^{w!n9%&Z%FR z!`uBbG$pj6Co>E&9tU#{I{j!bl`c+SV$GR><+0*QZ!5FkP0#?4bj0#`BHiU)Ve&@ICWg@SKXpi}o?lY3emq7!A-0*Iy>68GOXB;Tv>HbmOk(nBB{=Twv@z>f?S z!E~mz*#bz_88ztHR%t}Xn7w3e8tA*0(6S<92!tKsfrt|zim#{|CA^Z^?(;j~jP`ad zbFAzTu<$}?&%A`;oxL}9Rd+rAnF>dw0xa1<=~YHYe(za_X)ng;z8o8(oe#%&xJGMA zT1^>XvSVMjS#kU_&u-QPf7}wygmy~FfAhX)lf5a>AA^Ioc13$4xfpBb9>W30-&&*@ z_5!JBjz0!u*EzLLtR_M5+;9hg{_HKX}l|t@u zUrF9d8XdqTL>-1s3C%*R2gCO{%37}>MMwVI)XPzGCLi;BcOSD*RP*e&eEvP?6K8X8 zT;xehb{ik(@bT=lm`lV@%Qx;0#ZxCP^`LpjS88F=$G@~Q<^Nqa0nU7bRxNkve@vEi zKg2HS*>OMeu~VE)!zkS_!5D^}*$5xIuZaQa#3>>>GxA|)6Z>_{{eN3^xiT?bAhD70 zap)jYx65L=SJiNHIJ)zn&k3D%kDjb;tHAM>@>yPCao?2`mg?A~AZJFP) z(fu8L^((1Ip4S~gGO4bR+q`T0MyM-SYWqWVq1ReQI(U82I>Xza6tK6t*fPpq>_!SJSA4_1F{qzQ={^qy^!SjR|^ zXMgkE>D|j`1gsH(2osHoC%ZN^TBlk47>1%FvRxpeD6;_8&%dSCB#5^h^cb%k#Oh?% zdyTQM9lnB><{TV)4QlB?_=ne*>T62i?}m+RI`uD%S0_jH*Ilt)$tijrsYSg2_8OC{ zDpWxizkfL8%*39+3(W>(Owj$g&EN3z&_ko76=C;0&@;eL8D_(sHQ z#8E;W8+%!1rX4YYberY|t1w_K3-A@Sg^j-=)bM;TKw8M}J%bxF|NQG~ke`4R1*f-H z^3tX-X{=w}PSX*d6O~NG*Oab=7~$wDT#AG=8u?~9C!{|4K;OY^Yu)pz<>}=OI&aua zt%7ZNsYXlISq!$N@P*TK$b@xOAKYHULlPo{YEm`waZ-M7p!0Q`Tnd1n((4Lg5bGi| zdR8zL6r}1PBB49@;yu3(>lFfdXF29m>3IFZ3qDMd%4GHNq2238#`tGmkX7?HLw_X| zs_n@cd99eUuyBu`~26V#pOX---<9lj7cmhF0r*I z;itmFlSAIQDL4B6v(;G4ekrczW8!3!V?+J56aKKL(M$Kq55;_UJXabdQ@qPu2W$>M z>P*+d;7ZVkr;}c|a$K8t+x+PCa3b*XU>NPXEbch$xer}LJGFK=OFmudl|!~OeXg~z zi!I!Up^45=o|-Tnu?hmHcQ-7@m8g*$!gTY(1P#?i6GUhNE>(ilKUW1aCcHI%WrCBS zd)@QlzWERJs{W{o27MPpWkx3fljR-S2fqtFMDXIg59ig%9T?h2QB2rLmk*jc6&Szx zr|%W50pz$4B+{*)JNowb-rM<>O0pmBglICOJL^o!#yvQQk*6$mq-O)sBCnGLFz-9w zk;}IGY2JmPwU&N%Crh#wFe$xtE-?tQ$`^!-jOE1l1LG5Tal^WqyB5a>D|t24!{`go z#5VY_s)UbYURxyi=oLmwt4mevsrPp%WgUB-qi+pOBPP2jDj0+r=K;$O(3qevrQYW? zddomxIEVRO{cIp4L3U^bl;_MM9=ZvcXiWeW0p8@ly{3Jb^)RM9UH=yl!xZpO)sDlD z`ybX#aybWpsp4d(3n^(+Qsnd<&$$lWcT5|50qPW0yjt~kH3F(Yz798=!0C8SBwUEW zA8$>T#9WqeBNI!#iAXq90iVb~9Y+JU5w~uVgCn1-VM~juV`a6R#B}wibC82adrvI6 z<{rdqOXx=Lnr#FL3M6Ao?sGCI+XlW$EK2K-ECI#y3c#YHkgKmiimWt}m7 ze+|VL|I!d18CaI)qHBMizda>|B+K>R>A^w)QMcVJ->Jfe5AMAzvwyrFp&9LebDy}s zl*DYEL=qNWvuO(wOn}c?R1Y-1t-8sW`TcA9jR||A7eT7bzIFkK4>|L<7qQiqMKbld zPPLg?DqUtpB+SUjB@NU3Zg%ixHitU4X{4iJtz5B!43%xVgZlQFLSr_*M#kgz`q6+Y-hL{wmF~x0+bT~Tr|MYejnaLUdG)g3_wk6o!v{>=R2X>71FnRw zKrCy8J>-|%u$Tfd$oJLadw}kL_nrrpsDl~aY$;~8fuMD^N?}i$x)ad`_2s|38OxbD zM*}lbW=%1%uW`b8MTTu>np0IP;W-TJxq>grpFh(?v~&MQO=PF|Pe2Us8wy=_{V1|N z{Q57@0kK!<3DZ?!tnfrwe_%_oiZo9(!Xy zL9lPSXl^^XfxAS*W`vI}2Y^U^Tg8Tl?-1#D{K1)ViD!0Z-&BxhAEWbGXzoO5q$(mj zHBCMlM@f3XfF)G8rXZEs)CfZQp-pq}ZZJBThHIySHscj#j#dfT%Oo0_zo?dKUu(lY z0w=Cg?_kT)?+0EfXb6cMx1lJc?vgsgb16@OY^VUE#V?Ha_D3JtF#bm1Uuvudf&Ru=RVKa z+P4x}tkr0B81rqV;HAC&k}z_Er(W-lbuRYam2bU!EoKDFz;iC5OnlW!j1d1{Ll$q5 z0Ze;ygwK@%W#N;B82LLO(e!Cz#m=D1utfT+0T~v>xQJdzTheR0XA84#tbbZj1#`<72TNYBT0wTr- zbedkyHpw59@-1u~{2o4Vr%C8a5l+BMXVNHb&-@TI?B{~DO$c&w)dXfSS|QS)8sM*8 z4T3Bp-i2-1c4dwUI>;-G#?bBguY+X!1sWyNb?>M3@A~L_Ad_8mZCe7+7u84?km5-% z*=cZS_~x*7EAK6%mH`>_v69oFk$rIZrI9Tl-aD7xSbjhK`8P<~J*vG?jgV91nCa_h zV|dP^0-sj6SS{~%e1-MEhfftX@&vcpNK1K!y08Mq5G6Cl#fA4m%TkveM4a0?H+ilI zxvLq*i|X4V-S`pCB*3>0F3tI;uv;%Rn;3WPI`eIti)d>Yc?mBNTL8K&ZceUJ#w;sV z|7}8Z;O8bF(wwm-xC@-P4Ho#1#&f&XgHN{8Pdvww3((b-enGOJ&LtT$h-MFC z9xX1Y-(YEqwyPqiZr0ZlC9sCoP*i6r_zt!o_+SuHks;3)rt5TP>BMM> z*?kRo>bv!~P8Z0PQPXh?q;25p%u?SA=C^rnEB(#K^&0R&HQ&p~4PTg--LGKQw>(!R zql>QFKvJp}>kwk#H*;VAKjOYII?`@yFzSwNb*zqU+wR!5t&VNmwku95c6U1I*hU8( zd#c|%^L_Wu-1p9(S!;eht7<*9YoD#Nb@mAc!YN>l1wJ+$T)O;ulg+u1NIoL?qs@pGvfm9c5DBMqrh1SPuvC1d>$lkPG$vCje1pq zNA`;@PM|5wM~sb<&H@j8KE?3!iDnzUgW(4CTvJA`D%so5-O@NlK<3wGkFGlBkq^bG ze9?w>3GhP8IZci$C|U7>&-Y!{Wk+Pr>4}*;=IVPWjy3W!RD4Rh_L(y+ z;``A8hkFWUy>g#(L1}^ipirwAZ?oD*R~|_n+TZRAZ`bcR3%-M^whzguxNBEy^}Uig2fDYnJ<(Q?Kc3fw z|C&}|ID+~uBZCmt`({;N2adV3{@cdDs>iRzhbN_Err(r9fx^3w&UVU8;yPEhi*3}j zZUw3xoToAOuVfBP0kn_(5}+_~{-raI(=R^mBLw^>@Gw=3DHcPNE^jv`!uS2do89=$ zaZOJ){0WH`-)Qv6fcNRX62bS?_p!W?)1Q;sl2P~uKj;{{Di^4`R8F3so`2Ki&?$?I zA0?H;%8dKrUY@Ua<)#wEXurN{sgx4$pYI1abCzr38pJl#UHl3 zAd06>FLMtks(M|6ga7`GpAxqp zy{_f~``b>Flg;MtHP6f66n1Ct)ECnc9>mY|6Lkf+61jKOCVS2__Biw~I7}H{d=+NH zI;B(m-~EkSMkBv-*4ae1AY}IuK6C3O7G5SHv3b%@Y5r^#dG*PQ3CoTAf8_x7*%dGOY(q8z>#jGA-6E#*XQ48ekCx zj?rJ>Lrx&`<%8+=3mvV`g#C=$*Ybu1IU2d!SJwA_E9hEvk=Z>vOZ5IYi)Zncad&iy z7DMU=zRT^?M!y*ExxtOJ>{-FD#0>FU;O8&Qp?IGS#5{vMvu>=!felwr1jlb<^tc9j zW2$u?-(R~0Y4d!bHfZ5-lz*e=OUKCMemG%vM?B&uN}xwKArH57jAEvuMjks_-j8{c zD%Bg2ZsYa*9E`ATSQO$E#1FT84xSg+Gr!`BskLz1(_=pQT$Ku)IfCgW#;~{tQ_kc< zWQv{)E-jnNKGIxHm^bUG#U$Z`s0;tvZd8~OYjj$9PLUT}uiq#x9)JF$$u>p1)NDnU zGklisCpl_)jS0a>1`NYv8$iMNf{D7xf_@_$XCkdaG3M3_%``?-@M9CUC!S9ta=-B; z+}+(EYxjzb=)HDO;w(;jJ|w@Sr+i-r%%XWF+wA!SuR6Nu(}CfdFZ;$}Qob*H+UEfi zjt!*R@6eWVPfT$a-`ug~RQ#^?7rlaFEV7d;0u}^-n{T`I$3eZ3IP4y0E4360DyFw* z%y}lR`}m@~w5=%*TiawS&^I2B1sDycMN}7q)PqLneZ9~)n$S0|<9Y2YcXI+C#gGsO zkNhQlD1X0gcO2)F+%A1!C_tarO_lm2w~*#As(B{0zQj}1K^eig(lDiz&uwBaR#%I zX7h*w9ykbJZ!Nrf5oHRA6!1B1)3$#(^0@A?dcB-YQb85(HO|ME4pHkNoO01j znz|Vrw+j&~7DZlbV|=~s#ZOaHa*?jb>?+Q#u2Nz5N%MlKX_(1PDHU>nEM*55@wQau zGdxOCks(7P;l`65n<|o~>NNFtg*1W|R2eK?q4v;L{{$=GLJHiysjW?e(eJ(#cP}wzZ%HCBY9g@iB9fKQ&+! z{9}TTEkjDwR-jtuw_C3;uU?mu6SQe}#}5(m5e?&4PN{aJW0R_f7Eyed+x6Z}fnT$h zbYu5z5afuQncT(eso8{EyqauEzA1;$-fwl3+1eH~2#c<>*ol(CQ4HW9Rze?tDSFyL z;$>l}7}E43sTI$Uw2V50t{bHs?rboP$@xO3new%RJ4(LdiozgDMM^KpTnI{3CN@5P zrNT{1jP>)JrGgi$xwHJ(B(q+;*q3BDBH>5tQ+9J31hLmZ9;l=Y#3Jcj9&T<_eQQx^ zes$c+Y};<~W@a-J+i)1Nnh)cq#B9yKn{63*>|IS1rlu#=b^BPz796KrW79gUXkEn4 zRpvOMGrkhKRFu(lT+dZ_S0c2qihZ(EFn}`9Zy^jQhh&Nu$$Eb}?fG_nR=PG;y_d#^ z<%rMG{<{ed|D6Uu$}2)P32H&MLq|)iQdY?Kx~Ay-urZoxKNtI6gkC1hi~|n)W^G2{ zwBuNVG&@Usy?naYgo^4V*aB=kz_oLQ!rGx)1L*N0DcO(e2qhp05#!}!K5Kd?hM)8@ zvxG?m%^Lgj$=BVuX5~RFzypdP5E3efn(r$x;IEg>VX~NUaX-nqqR5(~Sbik0;4RTx zytYsw=WAFB!ErZjtEm8xFAN|K?*IyIqu`twcOiB$N&6$1aZvzZ#x;dsA`mnY!JnIH z&MSPssOXm=^q7(EHb zeESJ?QX;0W5vnZw%p_>&?At}SQ9oG7BPZ3U&1CK5O)5|a!Y4kcpbVn!1UEVIpU4{e z&W9%84J`t>v+_t-f!W>g-l>yVbFNAHEd984+SX+DsI#AK&N0{4g8yIPZB~nQ*e$a7Ea4P z+Mfb!tNMprHbi9a4G}7pyIacAzQ9xTYkufZtHiO>;HmGqy?wyuzzTES+|Zbfou3(d z7#KsW19uw2Ny~i}6H{UCsu}wOy;<)DcGR2c`C&-Q>d?0eBih`Y)e^pC%w79j~Y@*(^)3x%ciCz z5u-tX6H9UNAw75X@$n~H+w7c=>{Id|5ouauoGKRC;Aq9QAGT6^`Zh3vrggTwXB0z& ziu=)j9$p2RV5uZ9q^rbzMLEDwG<=qXTUrj{5sxS#8Qq!p;`p4!IJ&WtSWqTs2oRI) z;$o9MGLd>I=R`*WW>GrdOKFVTbXNgcL$ zcx#@FfS_bw1<_`ds!S}RY$5g^jRp}(%-{;&Hn-G?h^;(o^JlWUlSH`R^6o}Yn4T`*+Ou?Y zQvEu=>^5=y_>va0wWs^U#4s{cAT}<*cO$dw*`bHsZgTE7C(NFCk+CWz!cpN_L^deO zp~1<)Nkk6M>r1$Tmz2|F%`?{-IL&jrjC@=Z&UoI(3laB~%rOpT$R_^bbv^ygM-8k!-*ol>u(^R`Lr13x+7$io|kDo@jDsx0(kTryd-i~f860OhGR16G%6SgFlxP5O5oB1~-`{Cmx z8}%=3O$-wX6BH?#y=~+oh9WZPy51xh#FtO%2gjK-sx)Pmt|}~serYs(8`Pe}H)F=bp}D6nH(M#um#pEoZ1(K{3Tv~`k{u_dWZ*Qz!@Cqp zYUL@{CNwtbE}g>(s__C`?(Vu(c2bWMDnEazK)6-eDXMzA*w5G^M?`|O4BN#%r0jU~%%Du*OJ8OYHrjD+_&GSN zI+^%Z5r!Q#T)4O<;xTS`3vhvG|7@VppPvzXlX~Q+ATM8f*qwG!Q@!wFVd>hiBsH(+ zca(Fq4G-Vt8V9q!^i@W+Pc3JSI82Vo(j~hLt}m`S!Tv9*cH`rh}bPx1SpM zR!Jq!^RxGjt!!aU1FQttiAqc`y2^CV{HsB8!c*PiYL3phXMMVAA(6+ARFpp%!C z)-THaY~t`2eDtfy7vVcg4vQVgVY0|N;v-^{`w;ce8JpA{0^_u4IuPMEzdMQBA1ddc z`QOfsRL?cBR93;;?wW|=6Pu8RRSq_sLNv?y%Fn{5S`AIr zw*9WHnW|hLb&aK2&G~V+qH}l^ZP!ro+Pt5aN9K%Y92bc=%zZhh8Q^2Ey7NE6z{4{I4wI4MDhLy0$f!<(lOAek6&OU_mqGmxTa#C<1WF ztzzP@SuZx3Zt0*p@RNE5;G9zhj1`PpTOs#t^2E zYzwplQuc_t$t|$O%Wo&byLS&z#4?zE!A;KGZ(uo zEj!BzSZV;D?lX?6PTKJ{32j}$ZmUcleddhn2RlBvj%=FDpWQ@_X4 z$ZcvyA$ee(I;dy^re2JbHlmMqvFblb6Jz5?#N%nIwY(^DY|p83%3# zKs7r%<2=4leyZ_pu_p~Tlci`Q0?}toeQXJwCWIJER%VZfW+zT=lHGX~_{zi}OX`@w zK#g7Rx)A{*&}v>Ek@onAn_9oRql$=#l=WFv-U>>z9Y)M?xb#WI#RTAf9haC*olXp{ zwYY^8wz~1M6Ecxp<*6@|P$VGSW;NDRv}3D!we~ugzhIG)>2CTB<8#7z3Q>AnUHWY7 z-f(Oz%XV5f?M@@8Cv1MZ&+R0cnOY#2oSE(xtKg%o#RJ@8jH*ddaYys`-so$ruM56F9q!Lm_lsKY^Yy62?i4Ut`w^>Tc10~H;Oe_gHK{%W#wN3JjU*9`J0T}W+)o} zu97n~(D9K3d|o(8n71V_e*$&XRIlh;i^sN3F;g?AtB=?ljebO(UM*;1*56ghsn;W| zgXW$(kSTAnaj-roR)Z+ST*^7|zLI-Y!53Z05cw5R&BL%W8PyE)5o=Z54$+*7(Dq9q zu&%lqSw6ONapa3<1;VCU-ZW=JX>swKsp{D>>(j6j_2*gGR28ry;?Nh98uPf26tV+S zF)A?R;_w|kzKXM?x! zwYvNjk7cMR7QqYLxT!u{`&Kv)sRduuZfa)O>px)Ej0ONE*WGcW63 z3g=_;)TE&qH^c}|oP#jHTu(RItE!O6wQh(BWNQ1x9T`vh;GnGooDQ5On`%-#Gbr6o z^3W^% zE8}$(vbRcUMZhoO+aQxwikpIe49J@2;br-REw$I!K__VwlF?;OZiKNoc1gy?2R*_g zfzJ>FAnQd7lptVjA~88KN-<_KnnFLccJZTOYt!X$ZoNKndtI}Rk|iTJi*k4?Tvys` znUpHlZ9)F^aB~&2RxBw$4DAH|ec%xwV}`RlRt4QgQc+8o~eRtpCI3H^i-#!(6(Z`QtJ61~{vi=V4_ z&d-FA^!)d?MJ73-w4!kgCGRhu`b9CvP>8cwR`VFW&)bUIZFx2$s4$ioDz&xg^10zB zu;M@ZUi;qLX&OB_NUR=sX9btFl*QHoueoSKzBVS3y(2XbUzaTBGALVC3al%5I5}0V%Je!d* zMJh`fr=kvv=Y0E!2%9bihGy49t(A;17=vkwY;R@v1K>rq_IU2&l77HFYALO#zJs!m zc!f2*TsH5(_v6AvNu~}OH^hmJpWUwU$y_{RUwaOYBK*6i@B`#dmr5CT<#fB6|4xd2 zk2mYu>)R}zfwtWb;$BWJ;i*D%3x7?`jMS$Z&b7Y#=F782F*?%qpZ{wX0Ch}{p@p=b ztKb+}O30?~vnZgJ86MM3j?Z~LXYK6U_hqZ7QL1>j*#6hkfVXV3Y4dZEGbnOAC#c9m zK)JvWj{D&`vV=BPDuxcxzBWo4^*J@CpF-b?FPJh64Og8K!5TgbmyAdgeUlo)LKfK+ zg=T>yvze8R{wPtx7K+U-=Uy)z=|yJ5Z~tlK3dUH#ydJTh^c_p-p|MzqnU;9ZS`j|o z6r{8V@tSg}sDH2TmE7({#X_jX07e-pn>;vm>aUbMNVTV1=jyu3%EdB8>6VY*{2~&) zM8{=4dn3jzqkN`wsmGK_o#|CyU{MaBl13Z_pt!HFXcz(8O@tKW*&OZGV^4i=qXt0H zX>^o=;VRbI*UqGXM5P!OW=b|If3v};5b7IlL6FnYj|zZ+VTv!R8~vpHor{O>LHjiM z)AV;gtmKR<%vQl&zs3&86KbJNJQCEa!Fxwxe?qbLjUmY5MsOH%q3t&ouL zf!S7*W4!~0*N=_5;iodtWCT?G{W7NhJn^eQ|pE zY@9}7n46ocn3(_}UH)PGs)X749cm*>@#MYLkIo29xDza5#P>=?>Y(u>f}EDl-iufKPBmT^lBhwNZ~*T@f%FnFf)$XX{avYc30i~#pE z^XuA4$k_QwIWbe1G#Dn*t?R=i5-m9G*Atr#!xFO&AWB6i}W!3_X5_51Di_DJCvgyO3jA8q7w#r*_lEsYYfefJjrP4QnHEg}1sAeMM$`K7W9OjA1$?5ec$z#xDdWki$Z$%R z^R4#7c6b12bo@_UCEVa0i#QATVbcBDFSb1zDy)6JcSBP0@Zkl{E+~{>Xh}|!d0PC@ z)Yx8>yEe<%$ghJQ#J4iyQcaCQcdjXbQ&N+Wl9=qwPd_|AFSL!o=Xr40;rL9_W&>MK zJ%D;2aAykl?*aaM;!-yxP99rE)Q^Bo5R0!O* z(=hO8fP9jTr*tDlmz55-El!U!>lX`kb`ts&afH+#b+T9OT!P#mjxXL-OI9IqUHQut z!a*+a)XrSZu#333=ktumwoYnehq_qVlk%E`Zu;*uGza#c9}$Klmy12?Sn-YuRX$Hy zb~TnR6tab%*=#bMb03m8CXKZ6b`1SR+#(Azi|>xnulU%ATZ)r)rO|Nhs8j93tW>My#8)M(LU-ZX6M${rY2*43@`m}3 ztRxSFZ3?5cFCnfsp+0{AhIeP4^)zjl$hI3!uyP)&K_Ye3MdB2*D7XQy~OHe83MJX2$w$w)6v; z2}cUaQ8n6g$5an}yqUfjG8kM3h62n9lGzwgb|#J+O^&mS4y$EvO@zR!>%nXu$D-DO zyco=<M^g8rOdVh`u6~hP6iSm3?FiiGPleVvr%k*@QQ=NhVtgL`1snQnOHt^Gf9Ebr{B?F;uD& zy-Zl*vqU6l6N6@`b|Hv{HDB49L=V3&7hlncE+#}b&IH#?E_!N}a^=QQ_|A9^NI+P# zNA%WN^kpR>598W$;}hIDSLP_-7 zY4BoN)&|BT_ARwmbdzwmq*OYNk_#C|C)Q-txa>uP5vqPf#x=srm9RGbI71nsr_9S< zuqo-4Hq39rjx5;UBupa@yJ03DqE@~&Ar^^{Nkpd04&VruW5}lUf^l1su&enaaE~k@ z*-^4vZGhp=2y)Hmy+Gs2W^>xO1a~AU;U%vCfVEgnX^jcbC??2@1{^C`VwZCtWBe#d z`2k1Y1q)zG-siqMl3CbNLUQ_THi4ghtPozVnLve=H=y`Qlx;mVI#q5cW-GY@Jx9or zh|@?7?nHZ_3#0!;O~M>Og440cs?npBq)N2n#n`fPjm58nSe31NJP=}`a37to1!E6$ zgEh^Il6PZ()Ij%L_vg=_b=to&Nk8o*C=t!0v*fyH@e1h|$&i~fo`y)YO4f|DM?VUJ z@{e0Ex?oUB3i0tsVdv?Jd$>2`F_xkhGWu-rE4HS7z?`r5>M~Ix>IfK1Jb}z9k6)*o z38>&0g=oD|lfVNxtCLKrYtz4@J_MomgNc$znj5WkI^w5NpiIcnimixuJ>lF`s3_sO z%Y=Rf58g(_wQfox?g~kK5Y7bSxkL2v4;B)sOe=pjwAA9G)q4j(LZU&S3?l5$*j4&` z!N?(;izI%sdA3H3p~axVk$H&;g4#ue+?b#!4(mg`M}a_uv{pY4HTBd*y%GY)W_Y_V&a6p_^v>TB$<*^OE?Z35amK_DLPj-!4bLZ7f@zN2NfD<1p;u4EH7~1gM;YEi$+YDq4+=6T(xjMtBs9oS1}AM!=G9L~ef3 zk`L46M<-O_iW~|K(f$F?sr$q@%SVo1H+rLrbr%CKNvNCbAKjU?R6y-dLlqF75Qvhi zCK5F;;E&2-Q?>{Eun_S%Hk3KhdA@bG&+N!2m6TW-3d(5WLDH9ph10wY(kc zo9rBff=q5~tP4J=8_G*;PPhB!bbD}N%dxkX1n;I3o>+%tlH#EQ5SbUAa^8f9WgfDQ z-D&;wLnx-ydiJ1=!%kN%v@77Hcvz!!n#2~@;m9P$WXdlk-nq;sChB?Gh?<%#TRx#l zH`x(0WT}7*Ej!VaYS0;#s`ns;qbP%Ojty%y!bLZUEIzWZPU`i{vLPxbSA#3}5ur_{-Fq z*TdHsN|!585n3VkgC%VpY?AAU*_P|?mzREf+= zO zEn))nQD#oamHBV)xsa$|vCx8p1?~kT*WznvPj&s{pY7T(=4{=C{2iAq`65R!{FqA! z`R*O^cxU$Ut_HYGDZ;6Rz2LRt;NYAE1w3bP1ue|W|mk2r-~`yKKsQ!_m!&1bqfP$bs<&g4H(DxR-#T-KgKAGsG>!PF>|ZWw68D&(|Cl* zS>DpA1+XA_uJKI)*7hzW07u5xdNQ6_|GmXmvh#bC4cy_1HEH|Xvf5fdHHOmw=b0XjH!w`$Si~-m62j3_7{h)%FCxBZ>fa%Z~&h8CkY(J!oIM_xmV6Y;6!Tq?d(rV?1nMH#a|@2=p6QZ0GhW5SBp z0G-Ux17406zpdYrPQ}rZ3m0=3Dd|ZYNuCWqXi3pcZs#ML+#W<4A4OwzNiNV_@vK1` z|Kf|^9a%f#j*nRIq~rbNhrFncwP>Zt|J&#L?ZeTpkD=blRM&6$n{Q_o@TkT?Lv*aH zs-*Cdg_0k)NmZ?ic1*5=gQ3)dA^ldkym9gbyewhc9zJFIktC7eDDwD+3;PDGcsm3z zaKkPZ*CnQv!Qo$hQqQ@_aUI%>+(Zr#JP)|qjDP-=f4%IKZ;^!!^v~xO@7Q^M>;m}| zToCymz+*>ky9+Ky7d*wCbX+js$ar<|nMmO?*Km!rSXmY9Es>0NE%oukJ()9^wwp25 z98O@!i9prRoTPdM1Kr5oVL?n@`^NiW^%YvzZB(vtL!Jw`f(a8NCJr9cIx|3eY#ag& z%ySdMJIYCR7QKnNk59QV#m@=)GkJ&*k5mc{K<|ykq+P$qEyVj-Gf9IYK>S|NFd>c} z366TFI&sL<$>=+f)DTLICI#$#lHBDh`Pu0yd+XKMr6F}qQj(DUV=8GZ9H!4XSJAJf zY|8J@1}j``)rduAp|%+~L>dth+~ipY`m#CGER}pDNKOM3s`sj9H2!aD!oN~$xyfkx z+1gvQ5rk8AD^LUlIjGP>%8#wDa@?{m@@{f1^||t$b6pwV*FYT~1cA+DD3x zbr`F*BZWnZx`z@Ra1##e%GQp?SVbj287&xt3l4Zk($)aD#!G6el$Z*&Aw{iq?JA4+|=s#-;vBsL-5Rh&WCQufAUXx zbXmLRYxr#g3KM*#HpS$@yoMwOiqPa~W-*oB2MP|+>3&Av5qvKK!8C_}1*LxD%kEN!FHMd2U0bK$q(=(SH6$cP3$CY0y1 zCiCcJ>`NynC5%I*OTs|~i|5EVF+Pd7XusBE+nZjm%O09ZA@xX__{c&VD$`O?L9RxF z3k`lsMKwZ?L;@?~NFNL&Tb5D!XcjZ6A`}CO$Ds}Ih0@4 zaib2)^H?EpyjnOXP>tsm6ci$eKP48q3Nyo}K4Pm!>UXH1?ilN;>tSoBEZ;{(06&_+ zQ9d`!!XB3MKJ-qhKWkxhGa<`Qqx+- zENm-ePm$5fE6dpP|Fan!g9Q50mFuznPtlZ>6s2opS3qJ!Ermqx4XS}rjbm)3GfYal zVmRoJi*&h9D%9q<7U@JUuC7#ta7EswnQ(f1cNZ4{j7g}i8Tk+zDuKk&-V)l`DUqwX z71cz3hK2LB8|Q+y+6K7t)Y*Y*P*sbVeflg`s5|M5X;JmaxL5qM6hsIGjNSoYfHR0A@Nq(65kTKxC`rGXy1PZ{%zac~O09Ng zIZS>BVQ)qsf~=*57}y-OLG-&sNBS2Hy(T#T6x-+m*NT#oFR34u-h}ARB5FOG&Tep5 zZXW8xtgm;O?r2phDLn%NduqjpMoDht9n@h*1^L7Ya?yIZY-CHHr>KAUlw1%7SP))b zkA)qrKMr2lmci-`_z`U;{JUEP@Y~wjF#XBL1e6G_b8J;n+YCBz>jJKWlRmX+`>t}O zZKsD$4A&!`G8shcy|~NJ6{3emTIznwe;w#7K-?XEGKC=*fUG11V-drO0_OtsDe^%p zJs`*RW5HHjVQ&oQS@#az>sliZsB;bUV-ZXPU;(kQtrL@apznczV0sC@Tfq z-4@mL!M;5Z01__cqncaiId)e9%#a;npTU@j zci~@Ya*#sdLBzbnd~8x_7L~RNMg1C*X=!PNY(p!H6*SaDENh>aUY&rMej*~Tr#hBO z1yNG;hnkMwP%n|({9oSW{}TEC3F@C854JERA#}rJ66{h0z_2tVSzAnQ+_4Ky$*LV} z^TaJVC)ix_7hA-AP6cC751(Aphzazt$M@ut#_o*2A^?y^{E5i_>v0(MmChKRRZ0p@ z6}y*=T-=s-^x{w(rEkfHL})3&BNWN2KKe0T5EdkC{%9Gq?#V;YlhB>bM#mO^H5~mD zq`%;jGebmxhWcOJIia-|W4{7Pw`jH*Y=3m?FNjU%-icotn?f<>}}QLJyVxrvGM0Ax!3l`d1b9 z->zB8`45+Vf4tfGx8(e9HU)k~4?PUrp#p?e!wG_q`NRJm6&;~^|Kfbm$mZ%Q{1q*1 z)T#Ji+upyYdPfZT8KeRRrF5|{#y`C0e-V#=roAs62-g?Qu_w2`U(X+3gIoj@ERtK( zF;@Mvp#3wXzm|2`_{T7tken{M{X1#+FLEWp{3%6OGdsU-VV}Gmgb1TVmUi!FMkVX9zEkM#mbUjq&eo4IW6S;z#y@uM6Wq z_(gJk;=c#pOZ`Xgi?V*u?*6yk{MUv5^~o3KkCDW&&wr`u>FMd8ME-k_N#Njz%t?i* z8w|zhp$@xFBmpi-mm(a|*b{#zy9z@6<3Mzy8l1fVc)0+f=rec3g zg*7`B{C_Y){Tgv#d|@uQ;|s8VaJ`f9tw0M<2rBaVTid@yE7}hW+_Q58A=3V<^{36j-;(N&k}Z`d!b$Lg!m(X+Fcl$D06_2iGD-s@e&9|o2g>{3JR(0TKA@fvwpaF!g&-fXk= zbZ-)dX1q`T6Ow_7(LzP?Tc^#6(XUz;2cXIy>I>B2wbEnoE$r7`!}hQ9%gf6vRIYbJ z7iUp>%Zw#YV%DGQ)e`wo_*mj@LAlWWMwkjwI|sY)($e9E761xX8W!+rCF?eSCn-ru zUl|t;4sJG-?&j)b>B}YZOoWge%K7(YIG4>EGeix|q!|Q<7r)L!Yip+)nz}JK zI5>cJcWL^oMv4=-0N{Mfd_rO(Zj(!sh`GdB(2NY!Gy-ZbnoVf%r|FdyYtQxP z&)vRPY_1+2p^wYU3F-Mnbq0Nef9e7W>FFNkMG2u`*5XL>dWTLzS(4C#N3B#UIq%{~ zk5{)OLPR<`2JnNT!Q1W7eVPF?N(QIh?yPHoSNV$CTI7z7M-u+QbS?vfi%YzJbxCqC z!41UoF$WY~{ilG}=cDP7{h+uAH3*;OtHzfvgH0(0F4xUQc4ic|cJ^WNJxbq&5=u(T zLu01s$lRTsou{a0W*K2RNWF;>f6TGmB=OQPlpgLWJed`}-OfifnwXgI#~>hwLEi@; z1w7xsqk8AXho#MULl&0S(zCI*`=Su*;ya_T_;^{-)W{rvC`>17qU2=MAa8pr#?VJu zyYO+etLy6R{p86({B0ZVhZuyJ#bF3R&)l3I|6MPD^7{UMe(~qx&%vc5DbLHv`0e+{ zi+7DN8am`^oA+`WxM;X&(XtUqkTQ0p_MH8dWVMK}(e|_c z1{O9Slb)nxg9ZhxZ;-grMi-UC-;Us2?RdmBO zV$2yy4C+R0FA1V!6BDrF;$~RI)s2_isVbjJ0ZfP! zFzOl*=|t@GM30WT37xN@MU|a0rMhJ*RjzCDyB(Z};YeVqs742?>khZyW(C8}H5dnr zA}&PMt9O5=I-cIGJ6_MMCm1MQZe$bEF&!M31B*A$!-?LXh>RQyIEAc#MiPUL#Bci!we-FMsAjv zf#f{f>UXCca+h=8+LAupDm;m8&FACDAy%v7`qB!x!m>&RI%)Oh!0INcw2_emCE|9| zHP&^+M*@8MafT0pVZ7#M>TZBFuLYQ{k%KQT>vnc_oDhj;qZd9*kHuSAd3i8BJ?q=w z2cNgU*9RcJqWcu8`FXx{p}Jr)r~p%BX!Ih3BPLGSPAuzUoo$VM`S^UEm|kYz-wg(@ z-?V6rEv{)@JS1v0NyQ6?kN1SHcB_THzCm8)CMVM;;Xv^GSX-5TGG%6=pu8FUvjLGp zu^A+M@RKb3>`C?0#g|F{lGNT_8_$SohRWaG_Z8WDQ$xbR27EMQIE;B$!&E7`M!}5z z0`;doc0sqA3eIW(FzvQf{`||MWv~JY{*3M3Q8;{~okb6ruDW@{zTjKA;}>h%@`;Hs z9!vn3BwM_)0_`vV$QsJetY!=F$Wibr8}MM6*aIL`1R(zSWKc@4NpbyFs1aD9G)8Wl zb}r7&q;zyOQeLT`qJMS?jBWZ#wMbPx8txFcHXYg_$*^wXVoIaC^tghQQe#s$L7Cfm z##$QHh@@O5pvb1KhA#B>;ti$FRX=^F;h|;t_r))={-WP5j6*Zc2;}{hHJzpjKFdYTi@+iv?2gPPRj93~gG)tnQlgI; zO&zgygNIS{c1ZTk#P6u#qGAU{1@vbo?KKC7i_i}p2gO6Vd3kJ2OpJ{0dvh1~FjRh5 z-HwMm1Q%7O(q@mw0?^SeEVffQKlVvIak2N~atuvJ!%n&ycSFqd=} zmY=k>brT@`w6jZH;OZOgOHlA@P=Z6ssZ}DU3RFNIVPq^>+D7>@~dg^w{@4kuA2`U?8nDN z?8#x***=-C@SI$y-_zOc9`bTkyXI)0{f($|;I=!JQ(x#63THE6zcVZx|kwW9P_ul#A!*+dPdpRuv;$7(S zabrUZn?p2*aR(+wj=#~A2*p)|zXc889W*BO-FGbhD9gdVa##uYt5^q@zM+q})bzQJ z3hOt&zd)z|cQd*9R3??>;iw=QbPC-~P?lIxRLQBM$?ZKp@! zM^i@zQIk&d9p9tO8xf{fQ} zZDXq)E}~N8Qt^N59uavGR(09P<0{iPp%h)}LBq;@SrkKyLtKS7=Hp~!#h|`35*9Y6 zrmtn&f*ftAct0^KdweVOi$7E8xYqrBT_;j^V=qqE1#uMAfX(1#;bNBS@H zoo;Hd0#VUPp69T`Q7Z(ZpXt3722ff*r1AnT-d-P82d)X<dukr3$V_eOb{^(usm$8kHYbcT=10yGfL1Yx$T(I2x*`|(YyGSV4P`GH zHn#Tg^~pt1arM~BgCFA7Ry(|(65?+nE3ZN*uldF&(n4-ePMSpcZI?6P!d^!4Akoqw zedS@T^8HGJdQO|3{m7yUyKV6gtF;*&K3C#r-z1D~+s#T26(@kQ!`dGaq>>-Y9gkvGHXc*1;7jz6`{Fw zXc-u!&N*@;#MOo0wB(EEJf}KJUTrg|i_VGF!BNo%J@Dx_B%~P2mLS5@Vg;Sylv^=J ztQv%2X<7)X*cK|9AC7&nknEb@0xGbdb0)$g!GA-bzuOcq%W0#VN8W|NE|oW$L1OK@ z_P}sIUeP=7XVx$8Ip4k*=4w9u)Xtb$J&-o5S>a4{o}QK@;TF%QNz_E9@E(D60LXG- z*oR6sQQ&iB@0BDFOu_sOE^u=k{wlNVKHwy{jRY%BOc)&n7h<4Iorve|W5bI;jVoP< z(Au5Tt)!w-mJyMd=)R_>MW84zAC`BX&eJ}NR)>Lg5RPD`FvB>eVVpwBiy3SNej7pm zRvdccw77Snw>lVOgrCCbL?US(dwBI?u?su+yo@Y?*DQFZ8A9E>ON^JXO9aUj^Y5C3CVHC)JoZDRz_ zt@+tOMQisa7(H^&LhrkrPf5* z*}3+-o@E?(yHqFtwyyFnEX;(_q5d#D_&N;sizpm=ZK^^Ph9nxx(B|E=Hi+jHpO;Or zmiEq2Q`;B{i%MYEu`Ey^#UcVh*<3{^vFNfxZy3T^a_`{t zo&4>PFVY0#9k-iBUQ1eBZ1r25!kL+=Fg-OPb=ImG#4)rk>oknVi9<#;0>P&z8&_yvlI3i_4Ac?Hw`Ve3c zdAQ8uI!}Ek#>TXBpJlGc9U{O_Iv^KuH|~1zOvY5dkua5&Rq897>i3yef1VYvHG@U% z$1`;Du@}}vrq9jJTKkhx9AY|E1SI4ou@nmni%n&D^0nUm4aRIpLP$)M0n6&&E9z_O z7%KXEx}IzL04mQCxx^iAM~nv!`YMWJu0y}!`9lTD^LUzr>p<{<6>Y)TlC9^6xTU58 zv7u#ud^zTVTw`5h$h=fKJU5iZ6r-vGeG!!^u5u*BIZ7?c)oDAPfdy@Btm-+yh^HK6 zu%<8byuH_9MV3LR=OI(73dRY>2cBaLM8-s1*Ga5{5{7Y@5{$wc6Q3h zmUWG}jG(w^=INPdj)%l&j=~dzb8G6F^qiKSf8pM7#i_|LmG`&sQgL^uCPu=HHpFJ8 z##H8Im2tz?9ND?~8uz!u%*;fXnjAIKC|z-?bMp#qjCsf9&;27?!)Ux-T$~m8I%8{* zEhX4vyxZPYfNW+F&2_dxqc&muWq#v4JXs*JQc^yRi!ANUT*ZbQ^BwCZlzB^<1J?va-MP>_|a?QH*f@wMu2g`xs0Q+xu}2j73@WAnPbZ3 z57;rlB>A5sqDDKI?8@#N|14He-ry<$F>u&5l!b-^vSmSSYc}jseU9WL}G_sfkHTQh{m<0uNFlS4y-(8TCan zg3E}XC_)GqlSBpH(fu?kFXg6gyx2Wm5eZ3F+bQBRiU{N0>xzHF;)n%jMy3|Wx_()C zd8n4kvaGD!NHqw=qtr`>>&5R8R*}2U_BK1Vt1|HCRX0e~$*`pRlKcg-2oj-G_b98V z5D6zYT^ao>z#tSLX^yU2bk{d^lX7fd(FEB#J3DQ0^k!#fL`vdHvSYj1xoTJHRjz~_ zrAo*_hH6MK+K7cVi&{w9ImP0e72!KIH5C?VSAB-6u0qK{P@Y0=(LYd0L56TXMefe=;(+t z7Wawt8_;5SQLa?ghQU$S<8LTqhxFa@01`#?M@#z1fL;ATdw+Bm9U_0WfjUkEyZQj*P=GukqQx#kY}3b zBu&_okfuVUDeV&Lnl%3Zz>IXgKqZtb}&k`1De`EO@H9o zW~@VDV2+)`&qQpis51QYJLwz_TvaF&ROQjHrG)z#LI3JZ#D48y=f zJsI~SuIYy(;0Sye0*p@(L9>ca+yDASc=qU*@bJOk!$^OZ#sl1n^Yy%EYMc-Oq+39` z@tjUgh>+8oigi_{))ocY6e`eM#oFd$9+Z~@;%Bh0J3PGiqsn|QtT0Y#?t-*Lcb%@y zv~rzK>24BWr#!Kb^6rE?^P(EGB!I1fmF`A9@1uOCU2H63z25ES>oYaZ(qd;Pzj0%TD6u6d- zE8FuV2KVHoE#x7Z%-xwX3xPBd5!qU3mXwugp1LJH8r<{mbQ-2BZ6l8m!HD$%%G8l6BDCq$9hxK zS)WWGskj?`WkCvnfxh0*)APbenA-ZL(AL%#)^(3@k$kk#cM3p<{nO2vnQP=d^b#D&b|89PaV z24T4-gxcCV>wkQ< zEth48=2ujaD|EO^8@XQm!#R zHlq8JuxVcH61f0o>Un|$E)@nwm@0lHc=I<%JX0-eETd1w&)q>Y>u->M8CkhfiLTgK zLLJA1xsj6_k=k@s?tGB8d%6h3c%GgOk~{HS*VZ@KeIZ{VPa)jn`xqemm=GhAO$7*B z#;ggoDQ!Hjaf~sI>!Vb{Sc7yg)>y&#SXx?P%0g@7QYlAE%T2i&;~n3_-yH!*;PePE zhc0WJeJxkxC%^t2p8obz80dMdXK_1}S8LAJ1{z8>?I743KwLdGNpL-8Tw@HW)_lv~ z*^~=!PnD-H$SJ;QYaflN8&cs-Y3%6leG&S5o*TirsWB=$OQAHhae*r|#3jVlisBc} z&P>|cWJw9`h6lR!{jN}@^$2UbTqzDunu|_RwBx@bNQ@-Z_)VBU#6JFh=ky74KI1U$iu!S0b0_ZHY!EXx z+ollniS8GbS>v|WMR*p_PIL_LC1xSt`Phf`4V9NUWJMeD%ffou<|}P%X->|_QdzVf zWUa^%ZOD@JCfXcjbC`3PvmqR@BK&X!E+PV~tLz!Oh=ubq9gBbyg~vj3u|DA8;vqY1 zz+9|SdTGuJ0ot4YG^*OPZ|#nyoN)ZUFGSyGrNaV`xOf=L5N#O85DL-4^6l$zNu4P| za5g-D_E@{}zl7&cAB&(G)IxP!t_@ouTZ+XLDPnd-#&FFYExLBK16p3)AR_3pNQ>*? z#?3q7%9U$cpw}Atkx*3okutHMAwz9XcUS0=L61@2-}@@e%uSj5uPk|$Qz|KynS~E= z-B`qd1!_AC`KsEwaP9i7@cj?}6mH%AR)+V{#9e%Uu!O9DoOX?XPOz3}AW17+hK z&?0=vaLUj<+4W`tydfpq-tLy_kRwCCCbX+g*RJ0VH}8C_c#j=MFdVfzt~Id;t2I;1 zy?psBynOLgv4>uZlzT0O)2J<8<(#AI<{G(y!Lq)#XzGE&qH;5A+S)IN%OdPbOUq3a z_2StRx!yh%VK^ouV>N0|xx=tHG)1Nsn8a9un5dSKapl^LaP5ZLq4Sy%oJM+xgo_uC zC^%U=LgA{ITZq-71NlF2^ z#Ebl6(F{3hZl7v9`te(b*mgeeQ*irx|M)Td^7G%6^yit{T|}3NozxV$_vhv48A%tm zQ6@x`b-1t=nc}QmO1Dely4wHFci&sQ&$Kk$sDA$p#rH-1N4r0H{80V-ap+V3#&vp0 zZd*Jvsi}%9slG-Z-_-N4v9Y4xvrSo7-_RC*Py(ZW{xAP6Toq{vQHb${YuZaaEB93g zh)>Ake399Z#i=4TGqX^39Dnf4&WIT8dj7}Lt|68e(SajxqRzCC|Edn1|ZJC zp6B$1&Uv9e$aA_NV{uc)cB;yiseZ@!M7*u7tu^)O43T<8p{~9;bn5wRmbw|Y>RG8! z`bGE-4D^Xy8MyNr9idHRXnRMek`FYfd?ltb zJX}M_U5iVoXLWLXT10BMxtUQe+>JNZmxYZCT0JwiNulQxmpN2Ms4=URg}bHYa=;b- z`mH;mU2(urY92PgF?dnIK7H~q{PjQn5?;t<5b_pf^7{IsDVR_%;Tnj#kqXj}qtF5( z3@a{$D_1o}3h%2TcrVq|nW4>hINsHt>~&>CzaLBgeL9*3Y~JpPo& zj>^J@94^O{iS-0yI_ro6Z4lv#&cR%|t}#4v`DXp1IE?x(8+r7vPf=>_!x{y}ezc*b z`AL6cK1a0)zRZgd!_3VVMq?q0Wp0~I`XaH5cUYTi9hQ>jcA_<||8t=bV4PyT!|P*? zSr@9(Ur1q`C`^KejExD3n)q`P6y1yXAqbeoFLjUJ&Amf}0t2i4`Ox*^{s0MwN(bY9 zO3FOk?jSzcJ!N5JZlzk-MJkpz%O4ggDBMtQw$(DJ002M$NklOwui5$%$t57#`|HOmEF)Fn#DZe139;tq#!##4> zSr!&j*h!&?S|Bf9uB9Snh%K|D@-1nXeqwA=2|J#PxEnT7s6y&Rlu9pz&%o%0fC1SkMNGQZ<6d^Cyo( zkIGu57)^CDI*2=`ue{&E33@?*q4Zl{j}oq^F^niIm(hk|Ye9jzQ9BMO$UJV;eSJMr zh1MBimQ@i2;pWEHA4OWuNJ%j?&@b|5OzppJ##61n-y-7=qH}m?(CV|XC3mg$RNYtZ z!@{3>bHvXDKch5+bVQB!@WDSseocj9C1pf;nPYM4aP^gPPX-OHY%2SL(y z+Am)*KO<%h!x7kI%tKno`WKE|J~8 zKER#tp2+HlVYGiPhj=<{+^HX7LKp_OwhnJT{G)fH%QH=_3 zK*9Qn!L=zvGd%+(tZ)#yZDWHBPYnLaiT?2FX}=UgkJa|KOaY1^2N9SlA~i2v#Nwek zGTuPU5eIN>ImpF*RG2QB;k3Q8E`wIF95r^Ker7CP)7S*jyf{CtF=SR{8&i3uk`$)k z4ADoRcnAjW6~E}_Y&M__ee~PC@ZfLvg1AZbpB&wTmkeejb`{e~|1oAUhD?o%n9w*Q z4piq3Ya?OB%8P-|vtjWR57jAd2Y+`29D&~>U?Ea8o}s)NkixF_B^z=ti~uYsEDaE7 z4NYzKA}%4yXr67x5j$68&@L0I=5t6P+&5A0#fq)?ng9KrKm0GuYj_h3YThF*;gH5d z2sOMfN<<7+Ro8_kC7r9OZL+lt-#2$%ZE&#Ju)7;2x|-KIYg}^#%EJ<^v6zQUk-tAy zeRv7qK9l*A*QPdASQl9KT@h}C!H5Vq#eCG<2~o)Shg&p<5tn+W{DdQc*aCYLeqgV` z?{{Okop?_FP-fdm(|QqA9_vQPKQ;m(33IjCj0Xi9a}b#vTWQ3EjMm#Kxvld^g2JXM zYdV{ASc~)DIgizp7kp4Z5-NywJDZ-|hZu=$nv;o{EYkeUMr@pbE9$4Ld2yeP!m6-I zo0`Si^=hR$&nXd=|`g(jM{v7|!-!Co#P843;w)tJjc(~4cqWaxU{12ZM0hDw6 zAFBXye~9DO9aS*;10(>7El2n}h4E&L|69qOMn8UL5B-__21i(CjVSv)+*6n4fT7I8luSIjvKXX2*4?tZC-*S?BI z3!HYT;&9VM$r$g{bKcPKV0a*s@ZL{@HgjRlx1gBVCEN5-;h&vEOjS+?W z1*M!UOmTrCcAmK9kYA!5brBoX&pKaRsnfix|1tej7qSRjY)O?XGg}LD-5b|vNMqbO ztL5s73IU?BSA7)MUQ~j(cgF_{UNU%-<+!(}OJviy430f>&%RVwCly??k;uen)L%&1Kt$S^Cl`lP7sNYKLdY&@1a1;Z2KjdDYP|Ksm}GsPyVv;3k;WvrB& zu@q8&to4aPJ@CzT#-1jwBHM)o(h@ExKNA#l<4h zGG&nPkWvTS>W78~luhj?z-42b8y_}%KQHm47Q0*QwTq&_Sc(T*~(Qg|0>T)^nU z7&O(3>Q4I(tGuX;=QNf*fA&a3qJqKe*~I<4xg|<6LyXG!K>di3T%@d{o!>^8=y5G( z6NcEY+#^;ZV(g(1AucClGBL?sYNLWO5Z8+XRdlt~*O2~xI0BBq=@4M9nbpR^;Okf6 zg~sL4k$!EuNs+7#0Z2C#;Dm8t-eYWw7;MsQ(1A@(Die{5Lex|^p>KGxGH-`UiI zbYrdqPu7VXw&?_!sh=T{sTXq#b&l7ueD6FD%7~&7GM2LAB>|}op~>9GI)e>xzC+B) z4bA&_3)$)rd_{Ot?XOTjJ zfRW)Lb7OoY5)QY-*K&zLO^9-i-SDQSmQboh9q|H-9a`c8zI-Nk+OFqvQQZjj`c7x( zjd1JEUAfC%x0qy*Xb=ee4{-$f1bKtI?7g3Vv_;;`^q7%NWJ}GJLJ#9Uj@bid`rn8a zNEpbT#}9uE_oeU}8S2+P%H`5{HQf33dnvcR5n)tggeHqu&SR&U_=#OFrF;}|`uxdn zA{F|>qlfoZuMClRO1vO75N@Bb3IVbPr4ljNAX>+CPn1&-k+>UPQ60eprBYNs+LCO@ z5h?SFh|{0tGSVjuiAM<0K$4SMxkf^|;?iBGSaM`hjqzcJepSXs-|OyB_P76(Tlj|B zZ&26hHnkV3GveJrM#Kwq-ff}JPPNFI@LfZnLPUaL-!Zjel5Pp(oM zS&T@+XLgHeuVpL(ULcI6&_K2Ju(LEHe5MnAjj-EIf%u4~}RmLk9@hsE1eS?qb+2M+@YQXaSWUJ=;bp;7(lx?I}t zXgt6zm<-2pf5A|Mc!cD8$n)}yumy?(De{x+Qf~V0m8)`#zji|;T$}n`kp`tehP4TY>Y3S!%>ZJm zvN^<>1aE;kZRntmE7J4Ne05$&v=$-si4r-fEaMs%Cq{?tXA-WIXkNN<{Z6=c^KP^u z`RmW&*~5Fyv2Ll^_tgRrnmbHP&nuiUJgSp}y3eFmc^(HR4tHKcX zXB2jEA|}*$SrC-k1cs0z^aSN4NgE*~G>zKkM~cduu5podD%Z-)kUBCYNBDl6?8nUi zYG@OO(XM$|52V;*v#Zy5?r)SX_?5%aXE)97lP`n#YJuD@(Ly<#*O! zB;-p|9nz$X5BqDX_-_902si?cz=t4kely~S+}+P{1RQ|~0WBU75V1(b*j$y7iJA(f z8N0D$kY#}wnZ`1YMXs=zV+WEt)lKPlu)0Mq@uXA#1>i@ z-hE0sv8ja)1WL9Rkz_B05Mc4eff4`$4wurto{3Ohm1zp2D_5^8-r%2%NI|K`0Rgc8 zgVhzI8xznz5eu1|HWb}vTMsZ+%aAUvS34*kfriKXp-Hu`{jrh>%W*X4g;S|%n-0B zg1{7o7kEyH?3tdJ4mBbY>O~|FNAb=#-&@Q;$cCtH5jDf25AuOsckaRYg99U4^i3Ga z3K?c`JTfKklV#CmPyKI%7Ykkyc2d02S0T1>1%-r)U0@(!+B>co8PxR> z7wa(*Gq1wcksC&+#C-(PY(g&PFP}dXarVltTP>2XMdT9gO#eVpiLnO(4IyJ{Mzt4h zu3OtdJvqP{Y6&sNQ+Vym70;*`YzwLXrM;i;hsGw!meCK>593_4~r-s zkXjD%m4rGqB5+a1MTg?yiM%wTOs=|*MJSI-N4Gohim%+#0HMZWQz)=Sk1riuNSu>?1F+6KcA1B;CV zjF;N_7R!8ni&h9uot5K)Wac3{NsmzitO z?rfNdx3?rT%}RK4OXJ?H+jmv&TEp$_vg#f(YH3Hp0HCa-yc2Tid;U!0mj1@r1);~d zYbDhE=zAo8;d$cOX=rFNTp*5V2qP||3elOY??NO(29uOvd`PiMCuc-ZJ{MNiB3^IX zckBlKk0am+9E$+M`ksg&6kg-wLz;^fYxVIjT1Pz7`eV!1JGGksJ34RL7|r}`p+g3G z!-!)2O;3*4_<;&8KVONLq%tP?5(Ch@p3RYc@(@A@mE3t8jN7QzATq~>390a0W$D$X zXB6gugmWb&6_Fcpd6f~Mv)bS#gY%kPp$Rp@JcipYW51DwBIztXvF2OIrFF$yFz*J9 z$7eq@N(yM!m8jR416e;n7P1+K`z~W5;ZMK`5)L)qn#e1@!`h5tnR%c2fprn{G~*?t zCZC~v%*~amTJza?9E|HEqG59qQk6186s~9vVNRjU;KSw^Wry%IS96X3;J2mnGv9Hf zWu+gKne#Xw1uA`y`q-wLHgnHxWcr9L8%LRxc3f%z?DiR)*S&O*qB#iRSjRm-(!9_VXP9M<96-aH24I+s;e= zg&}~^PHa9HL)_uIodfNE76x)Ru$@RPo^j8Ovy-yWxN`Mc_|rfA ziz$Fmvf*MGFD!tKUFt=VjHn3*2l`}~Ps?b<&{iPu#@5i>(jj82K?ZYyEm99dosp4h zzL?#wW8E8Ay zwwh%9zQ4HPO^eEW5iB*eb*AFMjdft4P_e&I1`TN8J!kG1807JRDvJ1a-CZw?bRxbR zJKa?x2Ox~D-@L8zwVJXgUbODt(JnzeI$Tq)De(Z=m`TJi)TgYiQVOC(Lg|M~H|~)6 z!kYyiWC@EuUKAgdBkCmFYcUGgsiqAM>ZUtEd{DP)5gMqrhKGlg>}6DoS0yRYLa{=1 ztr0naiV=LG<4s9vhazDIAwm)eRC>#6{Zbmrl|_qT3@cny6va)whQ1SF8!cA(UDx6l z`y{&h`~4f83&BI5+SFo|b~eLC{W-dJiq(Okk5VHZRS%vUJ6F#YMgeZ-#l_mGm*O$; zFjVChnx(`b#E9&;yk%{TvJRE!nv74B3dEW+1A>C+pbQXM!-J9QEu=Y$i{_SgOI&eP z$~MXmAszQM&Wl=6y+J=fI@hSb<>)*eC(vCq?H{ z?)@sf1si|2=TrtGpQFy9eZY`-h>&F5HL)LKSn)hSPD27SrVJ_`<>tnY#-0KrRm}}p z^@^YK#Pe}uhPZ_oZ)$GS^Cr@Jm}E7$@G7PtMw0q6N+1kW0}0?%K$IlAdgdS>%gRJ* zN>RiZfohMjkR$P4jI)#pH+EA`O64=HHtXqrrX&MHrXc0nXZ%VWGcn#Et1U*T6u789 zd3F>b)I#Sg>wN)0j}C@xN4?F(`&{QzcOd zw1*dPZj-nFn}3%dEkC&EDVqP-C|Z|d6S57wQ778ExKbGgM_|?qPl+?jU`Hd5%&Zw6xlQqDOO-P}lj}ptL_MVZUj(Y5u1z!;nJd9`FdYUnbaefQVhx{ zPK|BEYP|y27IOq-m`zt?{WQ6{;sT1X+$1CTrrc`DM2rhVqQT3e5|>vJpY%y3MPdtx zM%?XC3*iFXDgqFfI>?IS4i+LP>zZ2$94?ZoPe~i*mZd~`9lGmYhVQ1PY{3>U3MoS> z3tcVL^AuJm+L=}`Y%SJVu$l4=a_N|Z;Mo}JxYCwukxv4Z^;LG(30O_0-8V)z@!U`o zl8}LTcqkAHtd(eC2>3LeI>$Zbj4g^ zQN`ibSR?n1QwXT+oK$n|g;>c_+pvh+-jRD`YE1S;ccU$6cgWznh9+He zK;*4d2U0oUR#Z}2u67{fYouD_tix@|;+B|koX=}|YE<{zcgYnl1Qmb#pob+Kl>6Cv*^{F8 zo4ckYga}V;xA@$|cZg+hqAyWDz7MWe#{Dl+Mt-+LpMOZR#r32QaEZeQ_oeO9MTRL? zhn~}XQ;^WF8Hae8>vY12lnJE^?!l0vJfk`4zgwGYBC_KcgNn7J=i{LKZ=D}(lZ5A* z%+~e2Jz=>2mF|;j?o`XDR%8H@=^1jIdQ)`j0@=2+8zpXn%tYmzFT;*!k^T}9iwQT= zkCcPWljf#YbEzI39u`4Ap}sh3if2e)Q{(Ce;K7Uj2AN5H01mR6y6_qA@hkC8^nXa; zN~tYL>N6>2)9RWGKa?MOHtqRHJi&i<1RMcFAby^BhMCWq6JLuY?0)&!6nZP#2-{X% zS)OG`tTJtKR@F%HtG}TT9vtY>Trwr^2F89A%+X*65tOg_wpc_zB-WC`EG&ztL2ZsA z>nsOlw#^-lktpnjq-K2f=oe*4|5Yx~T}Ea>0zp((ij*wWygjc?Vahu`JY>Wh<=aze z5J*ABupoEcY^@<|gGOTw8-JGJR>Yf)$8V^k4=OrkX8vRCh!PX>Z&5KDQLsT0qO4;+ zz@sH!p)VMNA+F|8xrvx#?p3igXW`bXc~L*JaYXVBLNaWrZmiK*-;uq3uZT5)ZW%Sl z8Oj{3JJuBom$Krm0>K%#A?qshY|yyPSk0Wyd}>6Y%1*!HJFEq0Gm3*spSprO#2hMi zUT5CWVSWH*-E&);z-#JnwENubq}D+T=260Z*&Jq_OJXdVWks80n<8%UIG})h2bCcI zQFeZ}%`od1Q394N^&ixy=@|;?!bNBtKO6x^z!CUB1e_@RK;Zl|N8n>15Krms&NA7P zO*1t|Bm=)|VW8!K#pHshU>6q!7x8b_w2%%WY9OQ_Mb@;qThT(5*kLS^;ZE!@F*G_l8YX5GuT3$5rj?x* z70~W(sV%@*u*60;>t76STqz+KjJP>rL4#W(hB|7YQYm#tq!ySNk#dg3looT;JwAvv zH#L*ARTx21r2xiVAH=D(_ z6kQf`Cb~f4?F>%{9Eis9$_i63VKfmh$abUEKa7CgKkLn%-@42P|H3+y7YeiuwE;#2 z6*a}5+Lzk0M5f(QR5&`{6R0 z!KpItn;1u*^ud4K?+H})m;>li)opPL$4JE$8e{9|KJ>rXd(ZDSl5ER2XhHA29Ob1_ z+4gsC&${#N{m<{qTWj8%o@rOzRVArZDtVD|G@>U6lHl9F69_U10(2rJQamAn01}yD zc1A{=*l~=aor{QtSRGJ%(Jn+g8WSrPnE3PL`Q^E&l(IfkXs8Z1(-j0Ru}VgBIIO( zIxSLuA#Wz5Y|udhF@CUdkdp~7T4vY{Rwdi9QjjY2a<_YEqG~_A&)tG{e-T#*b zTzRHV-wAC(u&GP5;*krZn*mIs*5MiU#YHWja zV~jK{an;*)uT>RDERG@H)fp+LazxTGHfHC}U8+{~r&#BxO^JpenuHL9%-4B+hy2w| zHgcGNAZRx7osAjljFvieX3jB}D{5e^wDcn>TbeI~%chH$%_(H_L)E%f`hof~&RhAb z+Gx~VHZONUGcrMEGYT1*bMQaOeMM^%tyr`o(ds0?8FL`>33X;u9Sdk=3g$bAW%4Iq zgcoE*(@0chXhm$t;p$$gJ$}p)a0Jd40=u&SXA6rH-`ce3J@FOw3LXjp1Vc4l~pQH)ubFGy<(?K!mHFdwu& zB$**O+lNS8QY1Be3%0h_+rpVBw3yYU@^)(sLJNcdKIkC2@H4hNKW;+qqKKeqUWcRT zX#PO?ymXnJQxuWFLYwdVNswY_NOovfyQxWpXplCcgxvB4Hzr0z;f;QLmQ2{iw;LLM z?AUG*pt}oD)D?jYtw9zft+~fCQ;Jb%*?mvt>NFEZtqp1nq$Sw!J7h;Bdv>$W{H36$Mg%ma5(_3Ho#TLgoQk$IU5M3O`~(xH9oLF0)Okr z+43`0VL4>Ps`??MH4Eri*I2I##n~awfduXDlj))Y)!?^mS@*G^MHgA7Oqa%JI32_&~j6^E45Tr?qJV;nk2+MEe}%ejI=8 z*|jkv&dY2p+5D|zo0|YOkslmv@@9;iQN1vE9+OqTGrd0-x%o~}+>x_v3|xbF>oYUy z(QCJjNQ3Ai_}s)hxg3!!LtPja7{?$!dk3(hIB#AL;CQyzFN$kZ5fV>TA)pY(6;v1vLYBdX7X51RNbA_^Bb z=8e!K$}xT_QzAdmg@|o!>#+U;nTR5AYh;3^z4Imn8oI&sI!-Oa0HAf)Z&tbbeqim@YjV?ezdAOWqykG9t+G>2}vxv zZGkFti)jg`L_HpV`O>tpFu`~&bDG8f=l_=Q`9{77XC&y00lS#0K zyfmuVVa+w+T)W4#_0Y;8n%yA_dcM2)k|(v1l;hGpb2_y-(Ve=k*K>s{bRbXA@ctkgDKK z-@*Ks{J^6;fja^@#7)E#Q{{s0w*!yQ%xEUKV9h-Kt#?IQyktORy72>DbrE;Sj*@a>*_~l|yjw@5^VeH4-vjlhRZ&WH>s{^{!7RcOJ^CQXgQt2jHIpi6!wamact8i!6Rk*9v(gTmpw!J*~WRajoUhU!g;w$xp?`y<_MV$>)CuRa_;T;OLH~S*eDsHNo1Dh zMaD8T?U5NEkdSxKK*Jv&<2oC$Xy}!@RM_jjFvc*)Gfto(hF{j7fBaq%&VP~%mIn%A zG{J~w^H*=*NT{i=m5H;gFXTrR(`PnlmzETrSwtZuBV?M@m$6TUH_BIXue7VV22DS# zC<+>v+U3fEkq|5%>TE=)cwEzYoaPFFj@ioG3hI zfR8$Rf5?s+(UX%O!WKK+++#Dd6={cGt4j(}fhisuRvKq*kqYqvF@gpQi&IFAH!|aV zDc@Qz6$s$Df?8l&{7^pn@HL1@D;is9Xpw9uSv#-`5@0ZWSeNjG@ZG6%362p-nEheX zEFqg{ums+qteniH3#-c#j#M}0&rUkz9>S~%mdGwqt}|gcmQp&fOOYlEDi6#TZMRgy z63NVc%dSI6H4_i*)-Nv>Lwk3-h$m@0$~*~wMOlrovP-vr72pVDou)A%@2GjB`(!*697%qNNqwxpacg*hG}7yil~?e zS(LCvC`MpU8CW)@yhYA1-j6^VG%+ucCSS)Q3=(G`yYdCsGlhh zf@+|l7K49C1C`x<7DwA!psyd0Vvo|_ScMPBX_rg4^%)Av^zB_PqfRVV;`601)^D|N zvUkfSey)^pik_PPS@o`&d&r5rog)!}CsYsu}e2noGEk!m( z!bTjkVvhdT5pV>u2(TeWaEF&7+#cTlQD(dUkgJa;3S9Ea6tD}EWQ!~;;w^6U zm4ZcS9Kl+nRRO)wbcX0MnM#^;EBPztmITvU=0e7r{U+uxOqdr%P_oH|X5OM?NPGgL znUDB^`6~YM@Z;Ko&pZ)QU>u`3%L+wxF?TO2l>ES#8?P`5BmNTN)a2G#3Y$V=`Ob&jMgYX|Nf#3y|s zYSJ2b{>Ksc#0W4(@x1Xm$awXMtL?=LfrHJ84%sI|z#pzp2K`4V7&(tg-n7Fc7MKZw z7OkDqaKX15+Ewg&BVExKBxx8yMqmfq<&}VkPp!A|@%B)GHqf|Qk{JnRoR1&<63&gB zmtVdM7W4vvgoHrCZl`Ih={x>@@EzC4t~M3gPts`!;jN0^hoFsb6?~bku4&g)LKzEf zOr%L<8S~v|-j&K%+Yw56L3Wap?V^@RonVCN45l>5sR)p0Wo|b+u2jIzW47xn>yD@N1FvR1Zts67GxYL7n1fzU`jUedkI#00JiOBx{@g*sa(rBScAE8_PwoOgZd% zp`H0*e>pT&jwXA-Hs?`J7n@v5J7kM$dOb?Y8iJ^7>mK-bOoVJexhvP$n!BkR9B2jnBd zELYTuhfM4Kpe6W^S8hKuW;|~52oES zA^(F@6ECD8qm7mvj{bX0+owa?ENCv1H(DYr=Fk`+f75m(PyLH`a(k8hnyZ9Os`SYVqAwn0u7(L7_Q&?GF-X-g$TDHgKBCL(_IB; zQ&jOc;;T<4yrWldiDbzs-^ZF0o@;!ml_v3!UW1Yk`fPJ+zu5Ei zE{h0yD^p;i8bA8wt`VG&oJ28Z%xG)xwsJ3Ax~c$iUq}P;s?Beh`aXO7Q1!j9`o6Gv zi!li1hw;+JBIXbgqsSj?Y{Y3iLVK>D08wZWwrZZT25gXT%mPcTI8(iRgoA@MMjO;2JSQivt`hW5XUvErf$k0yO% zpNY(;EF2y#Czi7J%$`WE=}U-Tqg=AaMaDw-t4pO9U=kd&2$tIFlJ8Y5uFS8A)vX~z zu@QJWfaWZoGzJ_8WuE=Wz}Qyo9ao;LF_jWIi3!=VT4i3SK`Ta1(~plJiA^^f^HJAN z-yQ5L<^QLnWX;d0X=Rqw*F6&&0{zH7|!y>A1|MzihVn4e3W zKS&imv6_<$o-hE%JQ%jA#Fg2+eURnLbKeM9t)wAip>8wZnxMd{F0RMB+-haFzOhsV zq69n?A{+<}Zv6wL%2{kCSfQAeMz3-RavTfcIeWd4e0Y9;RD4)9dM}dOysx6-;&qpw z{TjsUw|XZXH&Eh=s1R)!N`L~4MuqudmK4_&Un*kKOv875Bj!zm zct({GRXQ0rUXcKoT6b{x*V?z#)byqw#wblV({#Z(Iq)Oq3fSB`YGu60%Kjz9G7brst4VOgbQFERnY=jI z4_I=WU6^))g%XZ-o+Q&y_DkjY==qV}?J+qpKPAs#2XMZv!C|%M`!FucXXjZ*9(w-^ zErl=Z5X!dhF!Ol%Jjp38L1`;9VU#xCUo)XG_vlAE5UL}*_&`lvciEdCz{M;vrj(iA zg7;!ChEMwXKuFq5*~6x*FIIz9c`{smAG4%yn807T5--$P3pD!1JtIf3Jpc3QPVPFv z#YT<#0J0KV-EN7c4Q~PpB;o*atSzj4X}*fFyHoKN=P6na>y(7BE%((FxMo$mDbJWf z#8|6nzbA=a^ZExe>()eYL7nhlrnWh^72Ik>KDH8i#U5XSzVPRd~BDSl-!VZ5FLg|;$1TC6Q#%s8nS}UI0oEctOZ{f6t~Uu z8$^p5K!%_<3854jm?>ipBE#H|*f6*kEc|Jls|O6TU~OpX&cQ2aL0o6AZ3ZjVJ3ZIe zgE)#G95*Ej3&@DO(Km6-VsPpo-{?J*N>-7c4=hxXV z^iLFNkOGtxs*Q{%x(D$61h2FbfnrKU1EF%vQo;r`o}(Y-JQ#7u?o(MeGF%Loj)LG> zjnWd9NsjWl6=uJ5EEvkZhh}6IOotjj1jS$}x^UkOF|DP2A5(EAqt!&GcsZyDX@c1-|%L5u~kaDDhKg>*Dqt z{*>p$iJEr#v#;*)xTiJIqXdsM2XzZzeWm%M(3HGadKC{>^11HU^0Hi0xMEA(v-1Ng zy4Fd!p|qRMOU-k8*+JrsdbCfaT;!e>ojQ!)M{Gy0oi+r9!-FH#iX$gQ5J`GkX)1RE zrsF6Wc@u1nduLPFS7gU{=y;r26Y&>23)vsmT9t3mNuNs;Q5O8>>14#HuxBt!{c;(8 zZo%`Uw(A+L`qT)wz4Z2LF>(l^+P6ZpYBPV(vP&)%Bh6cH0QWIt1o{>y`Ig&qb6r%90pt#dD zT4~?8KgZ8^)JlD=vjTqqtYazYzqz}1qOv^M5^f(?6H$C#a9R8NUgmb4=T;rxo%H+t zUaXDn=JVm^)>iK`=ubN2qSLzUa=+wNfcm|%$y3hnhxF@!(sGKZ<(V0)(Gpy1v$QUw zH`a%RfFhZ1jRJ4WSbWg{Kq# z0C$hA4##Lp1VldbLI$l;roOJLl2FuLf3?CT&x&Yv{g43x-ka0X|E$Hwd6 zKh>v3FKiuO5?Ed-<}xJnrxcLJ#*Wuf5`BawC3s>v0d)knjJnA&_kJKQ_F`J2)tb3l z1&%M?q8#elSiaWh>I5%X9Mu_Zg~&Kp$X5+IZ~2LK56rfsqYlAGh&o7z&=CLtT9Evs zlvG%W=}E=nT5KCU52oW-&{%Al4SlR1z6WzN~3^W2SjdcB?EYYlAV|my{C`k z)&RL0O25Rn`*0-RY&l(|Oxz(G^H1m_i?-ljH>`2V=%`8;VpE*W*&UVVL<*OR-WPOW ziXLQLGF8RoKp$xMPB@Vi{@=kFn38sgeWqmI-pNn$ zwgPVhGjRMD?@pOXPI_BaTQhzSRwg;lxu5&rcH*7R{{ccNp~dx$BNQjg1y7ADCeepr zkJ{EH!Be5rpqIMr5C$XOiy-@Q4bZKx-(&i22+phH>HeiGIAg7{^<48Aj3i=PwmTSm zkP~wCa~9N%xMe9Q-rR0}B>(N7r_&}_>z^66C7o0`6L{nI)>PU0_oF1n(;3+<4s7yO zH~uFlfFd(T_}Rj5UprZrG39-{gWb$|oNg@Gaqx+7R2c4v;$MVx7aQvi|I3lzT|y0L zuJS!49Cc>2l_+{_k-xrvH#fZ9e`QktW%x230Hc_bpN;daN^p!Tqdx@SAmhwlvFGD< zhTKMPFV$Ag*w6(hH}^GVWklfV39V@jh|GwP`}&_Ivu@ohM)@&BcUz}CB!kl-tf@e( zDeQ#S1x1^*jhqBU^!29tqPO#%=3TXu5D0GE4tRSE0KebuzpE`1DB-{+VZ_3@;r{MN zL_vryD_{2+Qyv^JJn%%m(?zTC3Igni%;GZxqn+Z06;BPAAPyPEfmsOG=Tv-psHWc zMjTM6oO>>f`^E(4upx&hM;ej()}82lI1e_3D)M$K?&Wn)VPbovob%m$Ixq&B ze+ekgN(WjJ_7Y`>Pa1G2OYOv85=@quys2G3+Qkm@3)f$H(x3KqC!*|e1n$p}E6`>s z$h%uCZ3zV@D7BH`Y~7D>0rxHHRtm0Kzdtc|jl`}REz1zN&73?VV`XE|h{_>i$w!uv z{cCI=`4+zGjS>92V5o9Cj*7w%wf{zUO4Efi7O9wKh->)&=YgMiF8@ zYXhc9EA<#i)12kWak~onNh;nz6|*G=y!838Nt_WWD7TLq_NRG~hy4Z%f54K8)T_l{ zF8u^quAhmet-iP%ZkvRNH>DyLI60wBPkxRF)=#GAwqz`HZ?5rdL-(32(o%mWEykNN zIIkUyNEQu%H`OMF*By&1)=2>TMy3AAdQH-8(b04rJLYED0MiC4NC-Xw52noz^&? zVF$4-z)p&2Ywv@(sk;AaM9pz_{Xk)UAWiyO}+z z_URMim?`A~GZJE_!X))v^|QjwSSc!e6SK2K*rprU6*#c=Jw|9`!+CNL!&x&XrQ{?S zCHI!#l|g@JBDg53H{Vvqs;A2;c=l5M1gR!al3SuPp|TJ6V^CxOpSSdgz2m_#Lwm>$ z`uHyR<9ekw%rj`gQ~C=B?V22#Gp1DZNZuwJb~~w+3V?%wbL(kwV{vL3=9UjJJ_2|; zXaV7KL~5v&l&>`~#*XHWq2EFhN&_xTd+ElfW9oR`YlDj2`19X_UNA$}rEo0dBnE7$ zc#yY2IOiW8k9lJ7ergj({vC^+>~pY5XmePJ4hw?7CuV*%a&8o3Oln_F*yeK>-Nt%-!CFfrrjN4o8iu;e}n`+8^B^3Y`$?c%@TzAWBH_w?#J{3?TQDYI>)*> zU5?{Qfk<>S8?|BEeX0{rx6_&LZ7jaVI>%O$y8Eq0@V1otMB%Ssma;)>NAVW1v08xf zU>*X3;1z?k!&Fl%hP>gX_K&v>X3l9Wo6Nueelh3jUgip&rb)o0;wNMfB(j1%Plmcd zl3A9&pFX%}X6B(tx%xltB#x*;6q)7JL4#1!)3=p9!Aa399KNc3vKc>bZ{=uptZOsY z(A5;E$H(x??uUCI^TiBY4|)GMQr$=>-D?do*098ut}T^cwV_|go$IlO;>>A%|3$^a zQJ&KO#{#%a2f^iA)RKB%C{c65Ppy)l9>%XlUb5hoQjhwVa+RlR86!=dp9h;ox-ro2&$tGc-Anbh{z zzG?p>yYVSLCqjk?GFMD2Fz{_mHebK5;4o&aPdJbsV(gG~TrT=gD@BxMP)B4a`C~aS z7%MnRS^TJ$*40zzOhB`QES!Pg4bPP_%X=u@emmjLz$$mt*M^06PLxpbkgn~36VpHD z^5H--Pcl2ppwLc~%F2`;=cjX{DL zHj?@64>s61IPepd#?t%=M#dOn#*dn(k{MqsQ8HikQ3+&sXXQjF*-L@bw46j+(HdN2 zyMFg6x_zxC_1>>%iw@7+7Imk89gR$FT61eRH`xSbjQh`td-%O1l&Em)`G!oh$8pfY z+z427-$Qm37wa#|&%TP-#@2r6)+g-AmW~l-9SM<^;1MTR4KKGSBJ)Omx8{do_iNH# zn^}szRT5js5bLBj$uY(i3MoUYKmn#7P&^q&ihMQ-#{_d_WoIUMtYr8uug?a5#^P>R z>i0~}i$0a=F2FId5JpR9J{`4zZOEJknhoEW!&vr>28e9up&E3IKORZ z>X7btmZ_-RAc>a7EBOqkEI@Z5aZ8 zt+;7EZ&2;*0FliaUJ3t?YMC@~dymK|sqg5blTJGX#1c5nyEHaU(>&%tE@b7n=?qX5 zvweiU-Ml5UyG%VfrvY4v(Ccmb#mn-C=-^ewKFdr}qlM`5$uT4s9LN0B1)CF9z_29UF9knEGsbMI1rM@1b|WdEBUJ?cSO)qQ@s#$FHPb!yQ zC;A=xtqf3Y&BbgJB*4XCPs>AqO9{8>0{{VNa@P&;5gxZoRo&)9`7b}U`8*1}Je;2^ zm)8Z-VXOH(M<%sNm#J!bND)9_$dlh2Dc*16FOEZ=WenwHcwk@d(l^1tN4%A?h94d> zNnZl)8`IWYK47+=&~(iN2Mj{fFLQp@JNiwp{pl;W0Y515|G9d-X{sWgLpuJe^L}k2i^g1d(R7Qkuo#4DQXRfe^{DUUytJSp?}`QI*HV^1{V%B5|+Sk ziO}Lp3%C0%P_P)Zn4|O_{*1hs?R+C@V7Wmp?4M?2CV+T)(-Mw$$9cm0L*_5e`30$F zwH_Bw4oNV(m#k1M6vTUDyI2#nm|V+#Sni0un|OJh`4Xy%4xSL58rQ(zpXiHkmaIQ` z=_dT-5ZBS3Tb7W%pU5j6Uq~S?<&AJcV}0^FUg{7zgnO!uRmXca+10Nkabrff>Ntg* zZf^6@n|7ULuYHh91~2aPfw{7cj$d;#Kj=}yZY3(mls?pEEtCyWnLGr%U5WNi-oG=0 zoHYLJSUi%yfb?5w;R;I_v>B5vxg4j~3Oa2JY_&PcV&dD`Byu)&z-hACT%E=}c~^Vj z_e%V&$5Ot$dgIBs-DQC%E7`yHKul!D=(Q*nGlv^?bYn*WDhIcLHik^p$;b=61?{%H z=oPJ;-ZsS&El3wY32rM)MKVw8r9)YzJvsAglnuC9WF3q4X$nxXIxe_r(|ewUAjCfu zVtt*qhZ{k3&HpQ$a0YoMyd`5dc)*Rv%^Az2n`^92QrC=FbV|2am_N}WgV@vK_UFcQ zUzV6cwYlc&!{YN+s8S69x1m{*uVl&IX|+G&se;4D$RUL@ee^k5`#|Y|DUGMGDOCS4 z(YeePD%rY1uu^0z8r6t`q*KmfsUJOBUk(?4@!@Z--_n8D;C=}5?dLq}Q>;`X9Qzl* z%-%`Pw*()>I<@tLXdr`hi%nc_QWu+1&koZQxqLE)!R-b!?ppJu~FG)r*+M0PoC5lP1&Y|4{6sN&cC;0s1g8O7qOKbJw{=rnv z-vDgrq#jIsExKNxk^VEpg%r5MP23`#z^{R+sw7f+lrsLtW21bF=&^WYHu;ev=Y+Dt zEwxlfUtM~Im2-tXh8bqnVE6iRs4k7>i+Q&G%nMTX<*!%Slk?OTI9uEK=K4YG900pZHxYeG-9^|-ciZAjE!+N z`0mOWqL6ap1Voze!`4C~n2C>K=9|}a=M5j8G4w8|Ahk8&^b%q*I2lSmX}Xj@hUa%f zdoa=8Uf+8{^3THf87kIQ6VgfkI7SD)j6~251yS4MT*lctlb9K5*7`vz=L%+C=|1d? zy^0)rG~m&gK;T0Sj0(*^Q)N*u_I(BA-RsSN)1gJeCkC8K37XU8llgf}Pakp3l6`WE z_?l>`q3I5Cq_n?~On;(g=Izm+MC-FKtAe1>copXcHBt~0-ss@Rs@&+m_@4imstVoZ z&x~@vyBUHI;5;&OQeBCy#t?`wUvsER2=YD&k8J-4`#DYqf?`Ps!g{)bus28l4GII+o)PtY92XpNt0Fx zAOACB#f!1wd%{X>*32IGeZwT4B{9-5g*eEHaTZ1a8NU3}`O<0fvP|;Gbc|fgLDNyJ zj1F?-d<&xRi|LqQyuwfJuidY9?=)nPo4_a=uBEQ$9nyu=6JgX@Fx$BBQUzbM%MIV( z&|rmaqkgmNLS*h&>#c)%fIfI)fH03?71&G^mSq!+HF#yU{cJy*vztS`!7!?~Xfp*z z2khUxc!1>zsZ-eDY(yGe$*|ItPS}Z|_!MOWtUHL?Ra|WZyRtP^?RpE?1U=m9gm85wavegHhDbe$>sRC zKuFXo`f3Jjf`+N0z3dKGBARpi1X;xw(Wvrr2AwZ=@mqTYo3<>)9fG_KcN#9S++&mW z8{%JOuoYJlK}hm4mhxed**)@9@dZ97_=VEzl$q>^n6=|9Hor58>W6=U*12S740&v_ zvsS<5Wjiw1$QCd4_z5YTSnVq4*jUDD)7-6_ZKn_qq0MJK#Uy zx%Gc8OlxPM1^o=;neC9_$=Q7<{!c)H&@$AztL9iIp_70sCQs;TK7tWq1U_<*fv8hB$1ayMF{?3<#+aXf&}HObWUWtdyi(H5kv(Vn_r ziyI=sn9Pu~+~yEWPnKr~k7nb0V)6{QFfMBOg^C)jO*+Qo%U7_U#eEbGH&wGkq(2{x z%sUci^j(IcVcas`ngP7=tuOh@H%6`L7V9EtD4wdN-D!Iuc^`iNc~hdf5j5v&!mv#g z_Subl`s=5c6W{J-i&Ci}EEQvu0oKFBI%UG7-pci@5t$o+ZCdZV59#PcH}IRm?QmiA zy&ZSLJ=n{3K1_myN|UQQ;rFj4k81tSMBI9|X=b02NOoxycMt4pq7J^?E*({U*1e^x zrIb3pNJqLy4H&~Dv9RQu%BmMIQE-&<;bwbnqH?Ciq>S>DJUAR|yK9V%O#WzJM;}ml z{$o?V;=68N^q#HoT@3lKC#gRy(K8Xr6zcgY$xPEisd9--GPH{7+vKjsb*XpQ~d)4Bs0oHOjt{osd6dyoeY} z-@4h1WrfL;4O4u5MoRV=-6&u-izH9j8oyuy5T>Y6U4-$U)I7PDYZE==S%B}`yWJML?R7l|g?d`u(eW6-FM62Y1S3&*+uNMg8 zO%f~zA6|wTZ5r_h^4D-Ski@T&-Z%t)v{{F%U?=@c@KB)d%FVI+@g2cd z>*gD~?a+`Fg@h7MEkLIDLiFvrGsZVa+xz99@NuuVgs?7TXz1ZN_C%OO&i!BOQ^G1ErUfOMj%i@q3)dqaq1-AAGkgVTAjxpdVsPR2^=ukNOV>h+5&d z$EXa~fE@V?7@a%gtJ6YyNo*p7cre8<PxP zoZmk$M?IsN#G5>RSh{9=y9$+VZ~MW4BxNh!qNgK}?!z2;BKv(OcgTeX8NCYd1Be)))Cv^SZ(5HqnfO$l-&8L}s*N{xu7cE2$N^`ekHc)gmni-m z4EmIfaVZTJH#NNqbkr{WBPwFy%g^_x%QyX$FD7AmSM_XK(&!w5iIhy9X(gFg#5{Z( z{Rt)M{q{i{#%YZflX=e9{HHM_dFjE6Ikroyg;yxw8X<^TwWjlVoq{XP;17b?FCg*Y zO|hPluZcJ+KE9>0+xMgO)(g+|KSlw~R-KY^!NMynzw&Cd66g|plR=DAU!Y1F{Hh-& zi732I>pW<`V0kcg30iK_`IKDPj?H`nrq&o< zhLq@RS#Pve=LpBYpji2JzuuLmCY+9kCr?X|pa0FT;XusTaCs$~n2H217c)H3v5%CE z^mR4bfQGSG1!JXEHb3rbtyn*OSz#bC@HZvWbdwR@R$7DvKt@jD49)FRR>GJWh3&^t z-_4TdbfL$bbbEy9LH)1Vt6A|!M@8|XAU@7AQ@;-#W3qF(j~|HmWmE=Ev|v?I^5=Ej zXsJzFAF~; zadby_7`L0vx+_wSsFV~fdatQP8%UAdjE@xDAI9R#1eCbLOd34-a@ZX;e3FG0e6CV2 ztyC9SSjJQ4)6svI=#tLXny)RT$I{aZ=q7|)N7Y5;cMU0)z} zz4T%!{iHPxR^&x@`+4tr1I;{a@?JR-7tNla)= zw1Tbl(+&{zu00yr&!l*>@QF&~z7L9NYx|g43aAPi9}~ACWh?_keaYN!WhnfaV3bIv z&m?sa82y#KO*cY9Ja(zVR~=3>$hfm%$UXZIPCBkDwWk_G%n=?(K~Pif5u3>}+z$XF zc9wY?AFIq+2RVX!rhjc0CWd3#Q^wM9n4Up5zlTPm{xSBMbjtj~(1{i`9||7ioU*6$ z>513pw`1mj)WSQ68gGZD+l?(6@x#+Wd%mu;k|+;_&iO`c=pa9W*K};jp313oMXRgEBy_OU4y$}G8bjTB{XNARWrt8VTr%WbqW&mY zhWr&Whdlc;`}~r(;}SQ5GVadl9SVF-nY)i*EtNu(#l%=ZJZe`zTynRQ*JLgXQBWEqwGC~92Qi>F&fte|*zP@knf^(aONb0bgG%#86%W#Yi) z6#uGJw?WSz&_{OuM(LkN3b`lCxWHwLH~nft8-Z#Bx>K*qlg!LI73EC~GqZRFbLv+a zZAZ+APfxW>BRQ3g9m``Vtonr94t8VNK#GdkVNDz8Ty72m{7pfv_*8Xmb@_f+ATiEI z^1ILQD|KTo(~T92q`C?G9RF}P1-awU6efsBI|^L>tn*OR7I|IX6h7+Y<>%tMe*9d> z52xHy!Fw)sZP5I!D*)&^6iyq#74eRRmGgiO9ui+AB)}tv|0*-rA?Xn^1)M^5-y>Fn zUe)8gKhff}%v5?ArS-!JnXNaD()q7;kL!XT&f=3s{flAfinFu?xp$}~4*qgm?S%2! zsX^sYcA!d4O=>e+5mfpG2HcCo`*QjNhG+-_XhA?l*SKa0y;iU)mLC;}@wehAB6H^`N91v`W-Kx*;A>8fyss5f zV|~3U$`Y&cUrDy(1cpgP1Rn3v-*01;@TpBWBS%DV0CAE+vgEexKjw9GaJ$ihM)Guuy&zEE6k<=lc0IW9s>R}$4F#|dvmDzdB=Zok zmobwCHs=m5IRRb85R3PM#Pnzi{w#T3c~jMQH8*>6j`x*(fK8GTIbphnYb61R0yR3I z4V%AH2}jN957HNs(XkOjosa7j4gV^nyK8(U4Ld-}Fjz%=S-&X{)J5TCJQ~0INN*qb zzn)VnHBX~J2p0JtQH~)dGqOe=+gh>s8+ny=JSMkM0uegXNc$8kO}lX23x`q{ zeU3TGTB;GzsS5cxg(*grCODiiVH&<)WdL4lMj?=r+hAA2?38CvrK>4{dO5Y5rqd7a zac1nliwZNJ3TE=lk2cAbQ0|UiV-wK0%jkN@*|~n1WbEV38i3z588b0SZI>2$$IOFD zL<7p-4HqPSO#=G;8$vccTJv89WO`|A4qjDtM;0AFgGY6xjGFjt-#!!Zei9bdAH429 zU#n(3%71?}dQXR>r}sL$>Mw65dsKB>U9EnC|8Q@DN(bk=jkkMaN^J>Wu@Ky#@ed6lK?WEtV z{ez3TGrIX{<+6Ma{^i=w%hXYvgp49so2wv|havd-bu8tP%3Q?w8o4=`J-arRAF;|a z&cPa8+c1geeY-7=VE4^qNNaXaFO0lOs$ApIeT#qTv93c}kZUf1)g>0b`S9{TX%OSzn@X1Rk7LalS_JdqF_d5Z`RCIg z;qCwJHF0%^_J@~&Id6+aaSlS?B2n|#rc2zEzN>@a`HC1+gl&KizoP-AZ)*g zLgu6x@wPKW#9NyO{?F9PVCa8Jnb6ApV*n{Uth_k9K^Fuo-zGy?*WBbZn1$uj(Jv2| z@f(#M^xz;Y7;Iea2njgQ*FOvou+cZ4Gm(>J<2`;~;^7eNM@+WTK@w%8q$rip@&&E- zqBzg##*yEX#@;c_>3N@;u@1{Zz2oKJgVX*FQGj4w;kyUb^x2*8709Mt`+NaE-sVtd z5J3nM7S}D~jEw<-sFb#x=ET$!-pp5#*eLw)I+(*#r;FyD;%7NpT}WWk>5uScB_T_%xY72Ku{XJx48ETEOZi3Tp=_5!B-*{L>=E z30s8Z9uJ|--H-Q|bC2_8ryB$4Gf4ulC6J9-dH6k{c~NR6kad#KoI$l;2d0o&k)k*N zn;}yKxp{$MTmWEphS6smowIlyV_rM5LBd6JAuMf-193<8=j7(MDce!J;s(Dnd{5JX zw-#TB35%JqOP(C{#|lU=2(fN2Cub&IC_5$8gW?t7fXW43VJZ-r4*%35^(6sgy+2PLHkY+U z7Z-y9e~hJkpXSkpU=kdPiOj`HS2@5HBv#fYJ;Qq|tP`?Q$v2V3&&lw7Enhu_PJTXD z=^16}2>1X+4#vI92rmrXan~F)sjSa%W>KyA`|kbJ!4XWHi=!2X6i6xuNt7ju$DMpl0yCybs&}WaL8;+i81!84W+ee8vN#GW_ zhwl+*TmA(^MtHLmpT}(3TVBL_BM?P+f8aD)=|XW3x-y@QxmiuxjSr_E+1}tq3mqs8_#B`n`Dte;F@yisM z?za3nBHqDP^d*C1QrtI$-!JPQN|Lm@_R>*lV=%iPJm;Ra)uVOFNlzG#?tUfI83s=%M7Zr2uxis?L_xG315i_AYU z@obMe;tyQ=z_bAf-S`F)9EoiixGT6wS() z1kAGL;(iec#d@$b80cFDT%!!UGGwlm>vVRRgP>!bVY*T(nBM3{q$^K5%i{lhE5oA? z!ovQT1i!W5p&ts{dN;4uLhgzH2Z*I{+hIndgwtZuHeYSqMc5kICO6@GRN@qxZ%moA zKmJYwo~q0SSk00LK-if25(#9HYtGu0>`0#Tt@vjsr_onS71`CrbPLl zFj!5J!JwO>SDDoVI{p0QV#hNKhO}8qS1G}FP&SJ`@jOU;1=e!qcWCrc%c^jV(#RWB zPifffszIy{|5tm_FT&rm{Ld}&%I`(hl9X7VY<&M$P~2*4leqRCQ9-;*^@w7x6@?$7 z>&d_ob7t)prSGsWr)gS>5sM9Jx#*RWxPUl);o*p1XxGZgzXkFJT8*+wlQlDdFDSB@ zf7I>kR50Rou?5y!wC+REqXb1^2a|5ZM9eVrB!@26a@|PXpJ#BS>zqfsLv(4|0Mbg( zC>+H8ivS{qUG!6maK(|?4e~X2sYq}8mPTIF-b|{UOh+wDai);jT(n5L-nPhfOcA^6 zJ4dH!OInBV=}c4qc9mRdf#)FY+0u8>T(4w`L8WI&UXL>T8cRjyp;ty`e+AijZ z8!Olt&8?z{&^8fH^18$zOGK>A)8(Sha%E(cGqRs*0j1hJvQrXZs2|S)N|qWQ<@v^? zS-CriW zC^^H8sD8qr$(|bT4exSrY4=FdAl^{%egy8f;vhCOc|FJ5?XySKw zCEnGeuRq4s0oGg$Ktny6Rq+j=8<6n?6JG>UM+3(?;r*+6k7UosP+k#p+qwV3AmN0; zXx-a^{D{yE_nzDyD3!_EM6T0k{$ZYfTv^1y_agQR721cDMZS&cOZ6baVd{!yDA=>`Fn*m%Yby($T=izF-Rnp>eeJP&~=U{kfcR}=$f`Jx^x)~}Q`)1xi@b{|jfa)rF65y5=k z?vPomn@c+URit4JZ|%yJj-)=z)8sDH+7#vGmTTLm1vEjk1x$!+8 zcn`y6NV~5~oVa;x(aH28rHEQlr?X?K>5Prw1_K2!O^e53be#OXW)jQ(C?ZX~9iM3$ zwJD{77}kkoa>WpP@}ocfVE}}w@WS4ebnW`?_w$0NsC!h;afZ^Aq5)%H;qXO)Tq;om>*S#K=V63#PbtL1u6G^)Lf zd1?1Hl~VhBMX9Rd1Q_?ch8A!cRhM2jPDJFZz3mRxZ`ufg=~&4*;I-b zOH%E3$M<`cLNqiRnNufj%%JO;1ZCW;OI+AgcS$;+*ScB!&2uEG(13V5cLpX;Gl6pK z)%*9Q884r!q0}3VLlLUHo2MAKctBdXUKN!i@<6UT#tcXTY%5~zIh(5HF#Q4{e>^$X z=%SKSI+9JqRQYQX?gZl7u&F?9hzACS_Jm zTv^HQSX-OKO`j(cJ;ZQ-%vU~U_lPR~S+>9ZKX$taW_cTEV=&Y|3OZ^{N(R^XP*rEC z)PpLaf^F@k68u>}(~x8oUEU)9r>;oKq?3%&S&~u1vHE4}Ysae7bF)aU`l(;_ORQ9a zn2y0Ja*&fJQ^l*{saNCg*4+A4Cx&?KhLPJgYKoM7XhPyQ8}{sM~wwKt_Fe${q=K39K3qH@&RxA$9NHgX0Y$g>cz z*Sb{%*6E3)G%lVqJy2FNM-EA=v#+OL*^PD%M!!^3IX7aJ-{>2MEq@y4ewnCB=c;ms zb=e&tuyhFGA(BER5whMX4w_F%=1GhAo#K&AG0PwBUHx_QW{i^@qBuLHWVzevB;_bK zC1jZ#0ZXj-A%c%*Y3U@GZ>;R!ulm%&vHD`Bw^vg=E<@WjI29hO)m7lu_8ynJj7U`0 zF3tG2Xv`e*DEqkOG~b7PGCoex=m@j7N}H+YFrFoi^c(;$oWImNcut!&cG&(`zt3oA zwaAZ`ndk7u8liBo{G-dfY-$gZxiXr#DPSY?7z+fd?=SJrj^%KWa>1~sI4=vGh_6+@ z82&#+2?YW)C@%VO%rJuLVhcbyN1AV3ul0&K5~qT>R&n$1ZM`N{hZ0%*eRd0)zP^1K z#R~kA92fj1`Hw6hYLb2Lx2zGqcRl76BoxN3qQqfHmCEjqzet_RP4SAZ&94Ir^!us; zs?l{$SNI89xELGwFBMosQo&!356Q~W!}iX(k|-AI4cjlOjM(fPY$H8qnS@kvv2-zHKWt^MZnVnAo!IanbwW3**+=AO|? zYf)@u#$rrC*~9KXUui{Z~&@atX+m6K(%# zc)O4M_U@wSO5pfQJnS?3-18&pNWMM5eH5IydHIf(y_c|wH?f&bS#XI$vYmH%QC&<~yI;q|8vzts3$MMDWdX?lUlFGUqgf9d7__TBy;!rnTd?JWr#E*_j<#Ua7n z-66QNNO34y+@TaN7J?I8OQE=HakoH`;!;Yn;-y83(|)=4?(X~UyLb2d3-ZtT9hsRk z&zyN?{^L*BT*PZr$eTBT=`|H3QN}_9XDi?;HShX1;NlXlm8+dNsR6kHsJ9$p0>=G$ zcQ`&P@3nSrMkiqS`7;TNZ2x}__^+>Q5dE>>M<2n|J;2!EpY;|-{MH_J{xa2dWL%jP z;+mn(M+#aE`^D=h^*{Cg3=00oamuBqaiQjLH~B2vux5hig=w^ zLwtU&*msv32dAQ0h^fIZUcIyb<23t#%Q1cSDx@r6*LQ7hLzewTq?x&-opt^B=KV>3 zBkup$LJuK;B`{ko=iS(h_YDOgh#UfXs6LJVh?(GbOgEqo^3qSt_pJ<<5l==>OQoKcvY;al@7biTDC)zB%b0 z|H5qjtn>TNJNjRu_W#Nb4Qd#PDybWrdIO?=pfQ_t&ra9OELH6kYI2pGLrTBZbHn`K z48fm6^})d&0K=V|K}|G8bCkbF$2WnSB@ML>K)ekc8o_zv??}jFaZN~ItbhNtaSiO_@KWq|md@uvm&szANQrPD_(QG3&={V^UI)MCyx0Fb@eIQO zSaxPPR8U!i+W2iS(qz^_tk|-2iz>#mg)oJQ*z*tGFHDYiHgwh#Kc8=byk(<0ZG48qWX632GCdju0v5)R&eTFcn&;_dsRDTM^D)5=6_QIuv95 z{@LW)-b77XTL%t>OS3>RPr%SvoP9acJT5L740f!G#s-wSjA{fv?>YC~I>|9a{O1RF zP<4KX3qR8;uX4x3$8UdX+Uh>Oy(2Q=jHJ!lqQ4AwVh}Lc@vdk1);}PCqLxQ`Np~2Ti9^M;xpe_u#3|{^3TN%WBMggAq<3~sQfRflcv_K zYam~dM;uLF=9hkP{_olZbg~x~1I9`WGVZumFAue{3i6XzPAgezF^y^Oy!{OBB3nQG z$DYaHg%!PuFItmWSPaHI3-U$id8J@~s{d#6(98Oa_ ztgW91zdM<{j|B7$+Pv&)>|&@HFqVEf{PauK9D$+F`#bEaU8TR#Lk|w19Ozw}MRLnx z4y-?qtJPpkqQee;9_aK~Q~|@@7XGuWb#6&N72td;o@UMNO((;gKy3fqw6yCV1m`h`r<6 ziQXpZ=W6px6FpOEFRhxwDnFy|TD$K&6n_bdG|#nwh~am~cjlds_GSNc;Qrl=JcT~$ z*@&BEsjjIZoIKN6o?W#%s)a(8YZ}&$+wgdP9|H9Mpo><1ye3TSJ7sts<7rbXJ|Dy9 z;^aoA(?)85i{bsgigE%>e^mGPs|W_m&D)@65w)QY$D4U~Hsj*9`QWA{eGrVuBO2<>Z=>=?qY@yIcVImvA~$WPyQQ|-w9&) zP+jEGC-mtPjjE5ALT&l zk^3L*8xd>#sP{9CwGDt#>RB!(9K#yK0H&71y#@`41yOulZ}?064epEqSRS8cXo!H!UkR zE9Xsnp4$F&E8aKxY2)!iU#veyVrG;d>Ioo?=%(9 zQ&Hd34@k0indYV4mNtEHb9MHG<6)}7r9Ft%u8!LscdsmMN@K5hyUTuBWAwu`^53BG z=?}jwxSu52*FCZG_!c7L9jv|*B$m-Flb^ay80dD{aUpK1eQD$rTB&jSMp|~EY&Fn7 zg~rA_ia7=&0zuzuAGvAFaL(fBgw z-&H0x=f3iNW%|Huic@yVohh*_Xx4ANY4loqb-Mi^@4_O)Tw+R+eS!OqE_B7h;`06? zu;t2ylKuIVmaBTNVdtCe3MrYgqw%Ek{4{RH;5}(mZRF%zeWcQLeo22#J=0n`%}?vG zuhST9?EN%WBD><_$pfT<6+<-OxS# z@22&a^JR~U(hNZ6xeT7oY9e?i$7$L@JERX1OKX&eJ9V=usnEMaTqKadWs&_~9`^=> z@sU+|=pPs%*iC?I@=5e9)Xc%{8$m*Bq?W$Rm3`YCtxu7MU(mhb-`UrHtSw9r`uc_= z&GGDTT-S(`D|%I2Gxd{VZHr>*822I-a**><37s|)650RdJpRaLcm!(eVVT<*z6zL( zT)kC3x64Y+u*#P)^_sJd=#LrDn?G>&7&`c$>*)hP@DdAUGj+S$T_OMi_f)m>}PD++Wf5D zkd>>sVg;>zgb;FbLm%!SdA=NU^(0|whDhl4U%XqS$Xa&AVaOR9JW3-|(t3lJpyhgI z&o;LM-6h%qB0JT+K;mbkg44fJPX5a%mvS4;Bu>=SN*HqN(5~=;YOYE4eYGjTAd8Y# zZAE`3hzeRzkWoky73kygd*#2*1$hU%fRU#K;vTe?H-S3igoC*UF&!z1AC>eJsugeU zmDue=Hdl`K)}8*B*aR~&3?RY#*suZ{PY)r+oIo1y;QQK-#gEv8TMDB8n8w`+QAp8$ zR{|8BB=LXN0!ZvLR$*|WtX2Eq!CgIx$lRncf!53l924LtXkkt}3U|LO`cZx5=HC0? zhfC}$BwA)e=GQze9gC|fte2uc{Q7}!X|}>prMxCJqp+FiNh&YWEhAjOzXu~1c5Mc< zTq?t4C6OeK2uu*KuDQQU#J&GpaMVXB-`9+{w4`7aEL~l@^}&N4tX$*~sGx5pKztmp_HS0S=ll8j0PF^z^Fo3njV_6yqKBiR>Khx2$_<Z9SOY~z`QMJ!9m%f~oN??-BCLEJeIZXvKEH2^(KT z&p5-xOY4Av=``aP)uF3II?3E=Y-wZqxa3*`k`~CGp6PX+2Xp=bB{DNH!}0bOw0f}{ zoRyo8ee;#MBK~otZ$jSe`^fcm8Ano)NHe`uM{*Xf`(R1buZI^tv`c+!iSR!=t4?Et zrCq8U%LE$NlxqTQ&v-eR%Bu3=W6Xg0_nomjeoou`u2ug8g4jo$xK&kWR`t4ooAfTY zZdKH??4H_@D5${BoAb&RzwBO-`Dn9Rb|H~*`AR?)X7&J`p#qZB$4QE;-D+K)%D8w7 zg+6_5=w2Wj{R`H9>QqQXo|!Q)ad*I1wRC@PW(0px2=!ugZo#tMMK}wnU}ANOf934n z?!YeNdVU-KliJGU=@;Y7q(ljLmDVi6#lblz~u)>a@ub=*IQCH_0SyD3mBP2jVQ>!PH{F9kc^2$*TLZOD{+8vEEF2Up*-@Iek z%<3$8M__=$bNA5wgCjy;frx}#=qJCUBvkI(wG=?})tugYz*b4cHU63GmmX8G4oI1nTvnq4L}E(?9Zi= zSlvF{)xS+B4Hx-!ogkjqZfy=Hn5le`TGL)4eBpBi?FkF}SmoK!(qg{1niiTb0Q*{;RN9^TxY9b zi*dzSf$CJ=!QDk3IP_ZwAFzi0u?j1WU%UM;WN+>@0FgqlTF(y_)^(`i_O{i_%kGKi zk6m?U7*IO2QJbTTGh+oR5x%}HCi=}tf@FuL9Y6Mo$#(*7lUJ6+8WK)hPX7Mlnp#>W z-6kd`F7k@fA9?O+hVBLqW3wrr^aN6`SLHj%>=Yl&u%y(xTe59&<4+4ajtT>|N051B z%h1EwA;0-7dcR)D_xBh$1COXgaN}?{KYtR1y4o9N-uNBknU5MY+y5D%>>E{ned?xE zywSXyXjnJWvMEYQPQL5XV`)QZ?V+_@=r~v5<-2O;v?vujB5}eK3nq%|Ryq%)Mzd2Q z`I_`OahogY=241=g7-1>xN#`}M<=9DL7v+E4;1*1YnB0AZA`!v_fg>Z z>7z6P_Wd1F8jMyJ`e;6%qK|nC|4w&y-Hs^&{&+3%E;}@!4 zmen+H`%X7Ur1LHp4+vD~kS+)B1 z?fNN^iXAx49c!##gVc#`C#2xXg@=x@R0itZt-Fk=ZpW5V<2P zlDGWkmFc_kt>ll*KYuQ)s#=<`0O9dVDkl(zs&GaHWfkNupl+LIWhGZM$|wpoY7jau zfSNW|ck>+SXYt6Hux4Iz%F3P?4ut_4@nki#^b38Xzkm))P>~N!o)0MFyuB|4=geiE zO0nxjy?Q(F{DUkluX*3kEJ|LrJ6CxsLLw7d^Uqe64n|B?1@K4*f1!PPnGysev-3}Q zYKbL2O0N3KSLp?21KUqASi_BnH)#!Z<7u}!PV%8>%;XbXZ!=pMO23$dt{7pf8$J!)(xexsOVqP`&P%Su$thn)L$FG9nh=Ll z&fyogx%|ntfmdHB^!tw(e#-PUx7t@dp#M`?Hxz+#4KUwV7S4+UXI&F1xe6MlnMztO zW}-Bzw^fm~GO#M&lrh#nM>n$FFMOVwfg*XtMS6RS8DBn-M9B1vI1N~C{FKN8O|bMP z%6Ja46R5pg?+bP~EIwGwN_DJG!vV(od*atQRC4Vd9$m}BdQv^AE#5ivMOUU`BfCvA zFrUe~LG0c{C6bG@m*(YFFGd+S%IdOUhX%h$bfNO&x7PE&!SkZ7f7h)3Q%Nw%lB=0S zu;zgav%3C5g)Aa@VES!~PJwH^{++5Y_!r+p;|6D1VaG~Q#iF2thVsG4 z&Y1EMfrs~UtR12ydcH}`=x9yS%?#C1vqgP7j!4&;2V*H zmX)Vp`)|@*uV+W#^dkR`}CgXL*p# zIyRa!VKD6I;_T0WY~O)A!<4*3-n*Yk^v_iX;P7*0Qh^@9TK+czOHG~vpCue4SJLjc zrlzJ4pWS&T2nz(YUWNzRj`klLP5pFWU1e~x@yJu57|d=xJZw$c1S(Em#Sb@XzAm;2 z*_1p7+VC?XTNF=Xix{Rn$umVZMNfE(pL-s*YbNtas_-VJkeU*Tk7Ohm(oJ+Ol0Re# zVa-(9+PJxejO@ycPmj^pQ`vbxI=9Xv)W`sGqzVAUl5w=0#F`BgGl zYg=zJFOLFthz8}pWSc*e%uUKZ*D`oYJ8Nd}CNtFUpI}0U40R&Z;W6Z=CGARDKHA5oXtqIO1_GkP)AzaW9ov5cTa48j(yQ0YCq z@?>bTGTiNuvY-v=q*_p#@{C< zn#lng%9e1^z2@;&>oTEhBcnn!|E$P5*6@ByiLSSe3@d!W%wLPm)$-XQGBFs(niIS! zp11-FMQRqSVM1xyEvw48F7QEdlRQcb6Lgbe_05bB#w1#`Z_3Wr^1oR3c3(`iOZU)a zri&KyU2ho*IK8=8k!IxJ!_83&G8kw7l}DcJ?^sb^Z;di8oE6-PbFSTjJvsW~^Y;$d zVrJZSqsy+7yXx>5NX;C^V5Ce$=om}(V9Wcl3l0BGeY)_Rp1xr1n2u@(PpD1E?Q~xA zb8_F`eVKt%*2JO+5dNeQdMk2SI#O5+w^W93d zyahvFni6O+Z}fiVZG!Ty`>xwAQ}`=>Lnpqe7i4>7!(s)~>YT)~%`USI>_bAf=jxq8 zjKZaY-%|*g9M;yX+jVTtM#EjjFmk_SQ76kAt;x;uv-0&yzzF^Mt$hpc#HnYfYIoUbTG~O_!4j+;7MpN z+yb;eLv9m6PBC!$Nz{EHcWL{@E@WN#lC6$~8j6^q8Z&c1Nat_K9sgBL^-Uq6_Gq_ zqMp`L@r@w?1114e0jNIM#xcSmLcE}sk3A0MD$aVc25MX~CzH$1tDj? z!Bc5@9hjN4kdL+z35K3bP4oUc>EudeL5qn~N#D&NAqFZcs)TtP{?zaE&HHe;6oi_Q zWlNX9Zv58&w;MX%MP2# zW0*w6^A9b%f~dWAW4eg3H$5_glEh8uG@Nte^Fi@65WaN3oDVM|55iY_*^Xf0_42sQ zDoooSKl-Q20*prZwX_f3-*o;nG~odTE??L<%%tokunBQ1-Uu>flm7xapFlQ2VRxjN z>A0Z0O| zZ(Ofwa&BZdfJo0;rPN0x2Ivoz*uS&ptOEw!TUzqpe@J|ZJ~}yX&~t7iXL;LPI;`oM zpgLHLVZhmMwqWOp0>{)5jpJ3qzWUCTXG51D=#73;il-Lse;ml2#*kzrR8v- z+VaZ{mmgjc=fqjODhV{6OHC!d-E-9mJIF9#z06h`8^{Z<-={YL5E(q6MU;j;YFD%7 zCyp@z7FG_XG~@k18!KX~N%`0pITSvxaD+-Tt~bwi^Lr(*Zg0GnYtnr%@VhG*zAiY% z6gOO3`-U!R*Nzm#ZoO+|ZNZ`tkl(9L7yu{rqK%EwN$QB>GJvZIbc_C24ppYb(~N{s1ruWR6rNJ1`g`+yGCZ24u8DK5Kfl|1`sGjPBgO;p_`TW_ zz0w_jM;UHs8o8{S5}eEo`2h-zX;ap281~$HAjy91jp@$^3ir_ViVv(WVW~RCvfr>k zhK`o^%SU2>8$w&)M!x3)EaLPM7-tjUeV>96{*i7P@id#O0~+s*O$r5(p;=<%lwmJT z_4f>V$&bYzilpctkF`2jC#znw;eMo_57P1;$VShOrddrnpI&Uihxz~}Sv73;ZUf#Q z(C-T&Y*MLnOyAS!;JFc$y5cdBd=(qqw3mo|5ra3sA(2^+igqBmFT2npJX2Bj9fnYO zqch*pj(Gr@d%}7pf|cZam8&UF>>gSa31C(bps$WGc66OaGzmy_sPuY-ZnAiOL-4ZZ>z4n zJfkPmx*25hFW9TVKN$*DDZvu(bDanWhqtm9mp-NveCS{u%=b??O0Wl`$}!VIr5+5d0lKF*dgEh~}ticO>MljeQ4BRp{>+V}CT=UqbuR~`S zB9I;>?||}H)R-@Fxrt3dyYx5z&RMzw#)xHqsJlB+xkTBNptM@+ml(bhp)%p9NWG1o z#>!PN7XLt-1%`lT7UvRr1T2kBQn{F8_|#Do&C!I(ESr9ao?Q=;MMR4#^WyD+L`GAA zs*1?&Xi)n|u_*~R>KH(cGN#XEp~XmWO_?meL9EvS`k4KQB8!F)Zm&ZFF66Jjt`TDU z++C#Z%je^2B;#yulF?8uieaYbN?|wg0jAZ%ugGaSViZ48O^g}TTltXXt|__rU5Da_ zIN?78w-(@m6#?5`p9uD@3wST~ELjC1MP=vdKC&56y(6g`8S|EU|ET4T>!)`vskrJq z9XkCT7Y|r=@8Y3x$F-pQMc3k*o-%2v4MJ+a&&-@ry055zTf99}u^G66HHL{ImM(0i zEj_9?80o^J*CD{f63GaEFt2+~)gOJVG^PK6ANmF*ti3j^s$`hiJDG=v zU82EnefLR?vZ`EdSPhmx*8nj3aU;Auh%UpTx;3DZw2=&{VQ_u>>K(Mb6AT16o;o33sXHhmT=| z);*BV@+`!ZsyO8A{X*XC3)d^^5nq)@{QXYs*VfWHmU--(EetD^=|+XwhO_jS zgM>}P*lgEAN=~P)red3O8#pm5M$o+G;w2suM)KCjvIg4FB=JP?@L4`c^-)P#H~1t5 zdD|pXJWWoW4-dbN;IpIIU3ytLI6KMk%9v!NSc!zVqR^ip*63??IUrts_5*cVj^;Pz zM391w*-R>h1PKX+w4T6j%GQy(qD_dIw-!E4#cvh$OyIb{P^{gAUEIFiE<_7j%f*Od zudfJX^pJ;~QY~A(cBIt+OO=tzD^waM=yo0+9=YOEyqpMwNexpI$SFRgtH1)$J%`yCjBaUdg1q{J5D2t-gc$Kfoj|*Eg;Ifi1vbZ zEEs4{Du5cE7|3*GmZyw(DzbByRobJmzmjLjtN9S znXd(oDHIO&ms^AWrEkP;>RyKRzoO&`W7@xN5s16>9Wm4$GE?V4}5Q_wJ0QXUh(B64Ozsb_%pF=r-~5+w+IS)f7ja$41SM!35gB)o(=ZacA1UB3DKF9_F_~)4|yY;T`%Z~?A?T(Z{F%xb2>q` z`9lF}?*|6B86O!&E{$~L)a+lSbE4t)4>D^kjyO=fr-&4i-fRsoobctGb!TN&T3&sN z?81k99t^XAKDv@T$?dSqNsYRbEhdEr&f5)xNb@;4unUQ4*6gvK&4vZ?2#7eMj{GV< z0>AU1YM{T;%Yg#1jW`>LZshP4cZ7Yd-%UI_tjUu&=Xe}e9YIm`^kEPJ1)Vz*DeTY* zxVO?-N`&pU@!X7ev9jtrDI|&jS`rd4O{w=x)7|8ogTofF`$w*cVh~~?J}Bdk8xBJ{ z_A`68c`b~cC;()y=ki@$_V$Eh9-s~^#2TKJVvLB!I6!SmIo-$Lnmwe{U=a}#`9viq zD**lZ1Fv1}_Ox+_Oia!Ne3!wEVPePc6LPcbqMcW#dCg!N?ETMBh_(c(X-XL46&T+z zlWZu3)BG(&BnVlm{HoFh`BJ6!+wS^STL_g6!8Sn@=I>vr!des?5XE*=97-Hx3AEE) zUrAEA#e@S+?ePU{(dGKMjXG+JKG+_sMvS7W(-x%}Pcaw4$`w=@k;NDlVS@1}y6OqX zsYTj~gtH~E(uh9AnNbF{_r>C>&+HN?Ws3m~bVZ+GZt>?(#Na3TZn|WTjF77RM^3j^ zdHjUBiJ%1r>;$uUHNGj;ruXNZs~+Z<6v6;C&o}y?<(%-X>$AdGZ8Xb71_=}htw{ug zKua(f!(p;&?0pby3O&_U_%xgU)emV~8um4cCpZ3(%kJRLuK_xeaDyLIGEB<11GhTa9ncl_MBwt_g5<%c->sCgjf_Ub6ko?_JE`1 z>!(74OBfMN-(XbhRXCdP9-`J(QGggSGd?dRKS!|T>8;HjfD6)WHdcy0!9)ykj^{6m#nU`? zo|#D0*k+!@oOci^25h2lCz`N?*D0UHL21PrQrP5e#jk!)0bxXmgRwGZ8G?8zDOcxS zOq;63P=+f{fb{2pZx%^r8efvRcPC7$h016Jup0@o@%mLv_`GBdukMUKWj2=@d6Tyn zxJ+P|F`uEAWsF&m@iOB4q+3DA5alD3Xi^X>U~zmnYjP3!q+6rIh^ovE%Mi<1K2}0+ zN`ehVw1Z+!M1mt1Kt8oXnKbs*g2YFRELq?sQT7e^F+8>B9~oo!5&#DJ;Ja_YK9NsP z`zE12DL-43N|>Jv0R|OjQ*4s8glxCX%yoZVE=|~P0PdyGkKa(gYkeB2lk={UR*jd` zOXh=4+T&P>*oRo*G#C>BtMHcQ4nsanoGKi?OPZ`qA+@&r4wcY2Duw>r2XrJFYg@LA;8(NRVi__@j-hy}Y*f_sfsGFhQefq9yjBfcgcX|z zgS|Fe5DTts^cF%SWZQCSiuMIyXQ)84h6}vU|N5 zX4MiX7$1dZWV=Qbc`Lg`M?FZ9%`%Wt+apQsz)q`SWT{WwqOwX}VgD@lqDpT^HJ}-7 zsUJ^~Qq5O@s^8AhO6N#t{4$NN?hRR@k1&)bZDoAYqOLz#!pL&md3G%8E(a!6iws68 zGs)8YF#agj7w6;aB)l*`Z-gUoH!(eFx=n%Dq>!e_EwF4O#<$)DAGM1A_=LjL2h(!9 zo;0e=yrxUBHq*}R7)min$b;nNku9jUX|4Gd^n2E_mcr`-eURTnp~-_rQVp4>|6LrMEvL@FzOuO$u1HHw?y10{WG-i zLx&-Go?qVs4jVkaaa4MoG5)IxAl_KRtgp2$sdKG!PZ0!X1){v704TiYW`8KgY$%K* zX^%cjXh6M*-c%q(gQ7zLJ2a&Dn5a6hll39{@+QO0t7+lxf&3h~X|Eh;sq$T0kxfjHkN|L7<9tYt+pxn2 znKa-~tuT6sP1dm2np*QcOQm8LrO>1>z=$H20#=>wJid0*g3z2B3=tj>LhbX*UM!{k z>(bdU0`-|sB9bwQmU!1NX+fV4Zz)YESyDtvH2Q&D?z4nrJ23yT&Av z*-qm+Uhva(0EV{9L>@nktrg}c&3a_TkxMPjc)j<%_#N(c3NrmU9!Tp7_tK{pdIF zj4Jy6Oz`^M@W|s60F5{L^`0wxp)RsB42(!loMi#F&yC;#u*D|Lea_eg`v4=kATuL< zaylweDhVUY@)c#L=oRubN!r~_!=ia4;rzs@>=mYP6*uQ+0rS!LMi&SLuWm8CJBEc03@*XFC>2 zQ;)X-$g80POdBnB6(Kg>8oBuqUkIVA^Aqy`Coe6z+|aumnMeHAEmHh= zj4mMJIZ&urPq3>cSg#?T z>_wv7gN=65{qi@nuC}NJV}DBTr3~8BmtVBMIX0pxXw!QQ+F9HZDkRsAM4$zO0c9nE zPfrxj*kEbC za@VG1K~~5=oz|ItyE%UF@cT(>>65&G&w{VcLv- zM6zP1-V0!l%lnvDUZGzMh?Sz`gJ5~wPn9kOO!EgN0$=khq=82?Z{LjZzhD_-+sLC3 zgv>MmyRBwoB@ix{gSkL~1nX#;lW7zvC?{1_CU#IT6pZUn6wIEh+obS|LW{)Xd=O@6GP-n8!dBNYkp4?w7azp=OSbIYHV1l2| zJr;LnXyQ}wo-HhL#qPVGR24HmL3j!ZNR{6P3M#WLR%pAWUuwVgeh zl=4jmSRw>pqan+x+R$G-BB@z(SDNC-9AdgUgl~f40QSE*lzz=PW<#Ipkm`L98wCu9 z{jwOtFHt>OLr^VdxEw2@A(4MxppdcgOb>$c5N9MF#aDTeD)Si_UFz&SS8IKhN^gLC z>@BZr$k_71v{Huj=JPC${$E|7#mOD$6v3pIeeaZ~|)EF-SkT^8w4+ZPC?fO$ie7{ND z2gdf>CtUr$AKsZrde>Sz?jP&R^#ziXkVb z;taWVpQyQN9(B7sBgY{_5mwf=mO%e(_SboNat0C>U+uh?Vu>aupIo1J%DxL#cEAhy>hA#D8dHiW{WrPl{- zrZau#J;78dU5l*>GlG)-Z@m9Z@eY#){+QpEE))-Ve$1kkxQ-XBEQ=MUI$kJ50%w?R zOS3^RlAd*o#O6QYq;gU9#oF7ohm4THh$`#L`K1onetzK85TM%~ECMhWVS}RhR5@&i zhAy7Zzo__BDNXY`y7_xiL?_N z5&OAIK{eVotM0GAgDgO=L81IO{X;MXrKdaP??FrjWYw8gutJr2)$DkQ_(6yGkuRjm zcY=@T?1Dnd;FMP8n!#MTSwyN-bP!c8m@$?=Zd6C_rB`T^>m=Gky{m z-Tsk-X#=^_2_#a%o-)Y=~iyEKwva zO=KJhQi2C*oadw-GRy{3P-dok(Rku%^IzcR>9w19H!=&n`I({|AH+l!Ae|Hd&81=$ zaRqV6z?EoH9ToS~dII(6?AK-ID1K%C3xx3_t2~=u+bH)hodE7%0E*-B7%dp=tRHBL zaA(Q(FAfSHDF*z!d>QqthmLV<{KJQN{URO5VY1R4l>wFfWTn}+@g!DqnP$3A{8SZ` zl^mgAv+Y(P7n+L1ReKRpeR~z+n+NuS;IXtH`~9tiKe4t^(V|EV!K}-CmiuX)#X?L7 z6;eOFb-nRm{hfDPQ+fVOn6L4ZFQbD&s2cOe@PR|0FXrU(!o0c@RL!vDAm=&$Vj3F= zaJZpTJ2pNHuCEUk(17DmFx;1AQ&Nd2<7BjsNbX}v$keK1bv;-Ik`^hdW`A91uvx|xV$ng|j4q;Z2363Kj_BUu^S7;oX|qXz)vL#iiU$WK z-XXQA(mn}}DT?~a0!cf!l&74G6f`kB{ntCI@LT9+Y?z9KU|ef}S@G1$%0HkjD|Xl` z`p-SNtHJt>nvH(uB|OCbBi$sdWDqMo?=Fv{FC{czjkN!MPghVY5)Ep)-Iu*11(G9{MM#BqS$>J>{Dw~F$Y`T!cc_|a})=YDiZvvPk$lDxXVmhWBdODastoKOlb?E*G%bQ=+Q9H|ipLOcxi&bR z(#+2w{}b+2ZRcWKURyml-G{h&MiX804o7%ciHN8wV|5&bn*5<>gA#YjnFJ@}D556Y zSfi=&f)kz|KRJ>EyJnmmU*trCmMg+0ZE24)yLQbWAFXWDGudeuck3(8HF1-y21kn? z+s0dx6FpNKUzlhHQ#Xqsbe)(}hz*LpDKRw_#EOpr+GSt&9fEC>6x;MBX!<=Gu||(p z$M#n#HF;Y_b$w!l*z3i0uCNEZpN$Yr+A}y*&|_mGoblc|n(md?E~T046{(6RvVbAR zF0i%jj#QKGoSLGG9IPGM3VVSCAD#~4rZuh3U2;3@%K*an8&iUN;9KIxlpD)>GI{00 zmBn)Y@^&RZ&8ZJm$A#PCy$_d=Ao7FO(Y@qowISSXG=FUlrEF#PBqw1+ilA5-PXw@Sc)H&czgV%`dx&lO@c5au@CkhIBVi9Q_b1XzNUl61Y5*vBBWZEh+L0j3K&7b3^#4Q$sbgMud`*rOx~ zDnnS_V@wRjj3cBK{hS>qHi!C}g2apczLhlTr{&J$QWOzKGSb3UJNYH=78asPOIbAd zM;x}-lFNmKeWBv`8W~s_^AE2k;)SX{upPx732csMU$JSA9Uxy*v}}OKm*PZDq-s%Sg?v%r@vN(=s1Xz=IK|*s z;SkW$W@u%5tW$Ys-FTUB=IQ;3;E3#sm;OQTtMP%Ujuab?vYNx#xB8D6xB3EW{!i>owkJjN0X+(bg8fEVltEn45hs zx6&upvsZdHE65(Vy*vf~AYvfv@_hP3h~1+f3a8_(+aCLS?e`dG- zn5dv6tyi%s2{+b?0uCWM9ncfvQFyNiC^B1GT#CN!fIel!$mM<0umrKHWB# zs%IsygZ2OM^_Ed_c1_lBLK58FrEv)EZr!*$1PugtcY?b^aBJKxXmD)^?iL8{?hwe= zx#gKz-#atE`>bmn>#9?`cI~43L3dERjn!DTwGO`C^9Vd*yMks$z3Fqw8FoxbsXJKiZ6cGQ(QX>gKAK}xT1}>MYL5m4tBXmndenzqF5}Vo`hfxR#E-Rx zM+8K;6uk64L$-DZ5$QmE^o?Pzy3JDn(gR9e9cuN4ZV==XfzrIOnu!B(LXMssjj3cY zau*-Si+u=@L`{#XUMV;~VFr*~W?h_svC}6$bd$E<1B<;pXAi3aF~B4rs`_}iMl+d-f!9O6Btv?w*RQj5ljrj!$q3$J zIgLb@JG0%%R!mh~iDPeyZszDSUDlPAfwpxEhK;s~?o`1rwu0GFZH>I2AHBR!Iwyn( zJ=>|JsMf_cH{^qZE9N|Q7(NA7i?(6`ewX$H?q>cHCM^dC3;jF=Fps-D7Q(+@;$A7G@D~7at#&etbZ9@kdR4=F#&C9Qn z@;nDVPgLUE82jf*u^DL$)MbP1NU12M?9lxpeUpSqk&05WxS%yX`E@cQE#X`Qq|lbt z!@V4q#f8^-oLKKfJMs$06Xuvkirti>Q%ww2Q_`ej!f6R}jN)rC9^hnv*aog+Sp-Or zlh}6BWXUc7< z2HOK3==Y|5DE{kK8PBH$g9XE@-RAH37am{)Q1{_opm=;PUgjPrqbosQEQA1J7Cl}y zR){aub(GEY@OFE?gnOxBfOK5{(W6(yCk1uIv6-| zNo4iapxZO+mX4^_)TOhmJp%Yfd$5BQy`zjMVPJ}~2*p3issV%$6Tc_BpM0dRdW0H; zIS3V)oE*I9#K~iYiP57?&(6kO7ascBvPeN}$iYUg0rXy!Uu@eLr#S%FLqFDl&|{3@oe;{03Zp0*W( zxHhIjYxX=-g!D4U6d z8u9V*6Fz8bz|F!MN}agBMU5PiF}nHseep|3Fr4Fkcx75x#Nlb~`hQsG^-E=gH$97^ z;qT4VmUu{wPvQReD#GB@hD<3 zVlI&$KBJ+p;|?8cGG&+llsn0ZxBuC)M)&QAUf2@!x{~wF#g1 z6Wnh?C3-q*GcQ@wDtJS80UW`22$}xgNjFZnO*an&+e*DZ?x}D@mgSL@YdnMlCx2Kj z9gGc`C&=B!s*_{d+wdVSNjkuw5Ty?TmM0`C$xamS4qePD0>viAC=&xSKmxA2yrFh2 zKmk!$4BuA~a5BTo9%G)zSy@_daYmkQGf+PZ9~eM+MKJ80LYy@UAOWN9I_BM>mfNge z$IM?dglsvi;56EMnkyOPlsEE}r(hGl&!)&pUcW6JOJ4G$zqS-KRfA=}1l^seW_Z?!x=kF5DJ==O-R$5TxdxsCkixHNFj+?Ae@Ill7)R4> z3&%JkdWyPq2pzS5;}H%E?x+8%qG7TpQ9UUd6Yjj~205kc!fHhyk~{srkFollF(p49 z;*c4Y5CTBpTA)h>S90kz9(9gu$LCJbm%~d{h45KC&{PZqjZkM9{#9Lsw@=twuF+Bbs=*wG3IjszI_RFo7xFS^$- z<&de;6$>|z4M|Q*4PE@M-r^v|Li@UP9Tv3d$lbrTH^EsGy;ZW?|8n8&opRvt6wM(? zDQCIjed=1v!b`dp&qPRZkhU`P^dhs{>l0Yt+4E(LRk6>FXFMHNA^NMw$-|FDQTo*_ z4B*GbjF~~j!A;`m1mX$!$5vK?73v;tgWgdH2pQ0s<~vNB=zQ)I-&lBdR`VC?$SVu) zfF=iD-!~eyMGoV6+(>)|C+nC7XY3Xav_{hQv7bmtSEH6rWT z*BK!SknQBb^|M7&=3%c*J@skvz2>bu9l17Q<17-sMB;ChLuq}dF%ve(GeK_tM`!3%4{-;pUGBWtr^lcZvqp3z#tj;I+m}G_CD!y-yJ|X-Ob(jUsKHaa$SHdhzG*5&)6t0mw5TG9 z@AzAi|H0pyXz>^U9$jv=BXWW$dg;E^byQpiRaRKu(`qiB8UHN&_DC1#f17_rR`5Qp#S}we*&8x z#V(TDGiNhe#C13!k@08nw z#Vx(NI{4?X|8uhcY4=b__wKIQ;-WU%(GiicTunp0IAmlTm5-0lYdh4Y zLJiNHF7w)h*H8JmTOC*=0ChdItez(`(OTy)q%4_aeg?N(9 z)ngs!k2yMCO=Sn)`s^G}vRKAllde`;yF;$tMT!3;UfEmbI)j$@wOW538;hCcx6z>Y z;4<$^W#e)ug~R9Yt-e?;+O@q>7{htr&1*aA{_L$dl)eyci}gwRys6c4l{n`6JzSbK zjr=c;zyB@)xpA*9SrguHNB)RvRT_G_oFIEJC2nnN!W)VNZGbsCg1=8W6!gisptxK!|0$8}ayS*cavfBFkNJrL3#lgD_Alj}x^5o>? z5iCR8kr4)QM@JdR@E9LDdExVWCg#u(Xr`J+gy;({E)xkIEe}uf7pwNmNM%($VnoEK z_tX~N%Jiww$FAIWV?RH|$d_nnrRWoN6t*bB7_JUT{Z(9IB4!je9U~(ei129dm)XL? zf^AL%$BeOo_IoClFs_Zd{0Ue756*smest45d~sv?E!#Ugwo2Z2NZ1bZ!dyj=(6X}H z7G5$6jv!V<6S)}K-anHxB(pLY+} z|FOV6yl>+fzb97EV5O!;e;&rb&{Wqmy?Y4k?cJYzawrjWqs;GO1zs;a9G-Rq61 zOmbXMA%oO00s@pjl%7O4K``u?9_?$!D3tkW@%}_a%UW(?2>?zx*(o*#2~W?WYu@M6 z?R!%Zm&S(>z61NKX(sa`IHpD7`xAEVHtZ)nTx_do_8I?4m9?TL;tHg_q`w%tP#tJa zn5PfjVWi_|_eB_@`%i9{=%3|-(2x9X7}`B9sIJ}I(*copz6!F`u0G@gvLIM4F0QcH z@rHc0xZQbfN+cC*Te%z#(XaLOn37Uqw#N%KhQS;8V)XG*l6u*P`^e@KxoBfdC;5_l z;-0382>@hCF9pTeu$*eGjk)i5`C19Dp*4hn6`)ZBI;Hq4806max>i1y96mBd_Z)Zl)w;AiW{K@g$kP zW$E(Ne3|^CRA^XlADnw{(hyqj;(qvU7q+HpEjmR!3w5jBHlvAKjsO|6VJoSkdsf}m zF=?EC2*Rg{i|34^s}d#g=JWJ4e59*3JM>T>2Dn=SeSU!_G9a=J-P%hy>`LvJam(y9`igAuG%KAM3x^d|n<>DVkmU!RU#07PS*D=+bJ}{KQE( zk(HyVLCziy=Ju7JHjCZG&^*Au1;!GnKKok?q`D z!23m&w?;}|Kggx1y|%Lsm!>G`TDs);-~h2hsHSfbQhH$LliEm~sM1D#Ra#YsbW)-i zc7?|Rm5`dD&{~j|9dT?G6jp+oKi*#WG=&4=L5xoE^pahmv6)`%aS0r?ZtO9P&qsUm z&zr+0IQ5N0#;G@}O?~qG0@DbBQt`X$DZM+e_Q*XC7%;7S3Klfc}lCB2lxj zBbtm%&8$CsYd^r@Hw?&T>A@@VQI}kG9($6Cd3ZMb&4-NA4qx#d$=H~|f`lR&H&pqD zF3w@5KyM4S_4HtPxXqX~Pl#}FLJ@PW0|iNjmt1_@M2;YGbJtT8JjB~e1l^3*oAdNb z^@n(vHJbXm5$VOUGRG)<(P4Y*Ggc=Ydq1ZitT6Kn3%&jK+8&SFj`tf+UBS72_nN@% ztJ)?(JY22?&oP|mj_M+A&c^IUUoq6gT78p`>K5H6Z0q+u4@CcXEVR(>Pzd4nR@C0a zwa3Tttiz0qTAz!^q6JN@1;1Knl8FGSxs+2`b&A6Iz$|BUJ;v{mZAu^rS*mNk(&z}n zec#=B=xOfDe)fvP^Yd;qMQLY+;Y+EHw!(?0x0gF=Ge1IM+xiZtgI%iTYMa9S=zYOD+aG-! z!UwmRW4$4y|cYcUy*B(qE z3CWAG<8m8=C5B5MowwQ6mdQg*rvyiUO9^24FPiPer4q@@ra>*xHgXpQVH;D=-*8oUxrMEUvbv(3^iXL( zB{&xjBzg%{?MIeG2KK>|5A0TguLub>S=WY)q#pLy2y5^2sY8`fa*h zCDI>gXs7E4`uZ%O@lc1y(J^HWwF(P}59Kqj$P~;B0O6Y}iY({4c+uUZeYL@w*K`Ag z@DeL(I%Dwe%n({%hkyuS>vzG74@%ag&D%Q@YO-#zAW`OF-sMTIPo!U7-bYJwi1=^R z$Bduc`uHPZe`CsNoK)mX?CRSS}au z6Z3%d`fv&|d#nG}RS=WDK3z%95RKjX*+UVwN)Z_CqPDO^-mx?9S(bITtC6OD(*A}acY~}OoqTI-LQFe)7Pe^OMe5EB@ zL&d~5v^et2ISLIb*P-EU_fYib@4Z`|H`#Q8k_$2Zrl)fPl6c3j)IgS`#QQweLVBUu#A_TEw!|>Y~=U#&Q4q( zmz0&EwS5PwZ{7KdEgl)U&`&3b@!{gGu>e_|P<$0*=U&vZ79Z%UDlL$Fiu8JMarUF- z5NmSbjGz{9;EFcx{qt?Y+(3`EYNSHWAztLRYE_(;NminSzj~)+1*@SshfhD;WKEUG{N>Jb{+RK_>ER-)$Ps&huT+CkaM|smm(=M4{Hd?VDlCamMHiWx0yHE&; zlkp6rGPMCSX=$bQr8}qg(&qZvy)`PEo_JddM%7Ao;zV!bB2{@a;UaIS6qitnp5dCo z(jqaU8h5^?BobWn``QrOcd`Tm0Xv)wGL7AQ+*c-aNe7^5&y+h*j6IAit$$eN*kaIG zmF}-tP<0-QaUKh9^xyr*Nx#7F&)Wh~OcAM2FN>5FY2aBQI3K(H)+C#HUZk8(TWq_e zg<1JzF3_9sBXGOK{f?VY%1jPf;k!nOFpkr^Hq=;aVQmsi_FpB#^+dq-q)^t!GtIPb zrad9sNS*$QkXx~ib?g#aXyzF0teHe`=x@}Nb60&p&vG{730qQ|F?-`UL~fV3y0o;u zZ6JEAg_=P@4O*gs$vTS%ZJJd!Qkh39%G;ECn9S^~HbJ5p)G8WGJ|u3@<#WO5^K>JU z{&Fk6L|n+u;TOvcWAe%VDD0_vwhJm)`3FGY75f7j1Tq)1?A%kl;sa9k77ETr0bnAK zE9`CHb64AOIv@MiL)6OgBvMV(uXj?UV{xM1QzqJ;pNj5#KKBD4(BH}WiVt6(%Jj&NZ0>fEBC(aGw;czHy&&13wPMx8M^HgBawHF(xwLEv+T@5)uFz-T2t=2=~ zii9*kgkmH(Nw-8#6|9f_5}XliwEH~+wWvoF&vw!pOXg}olZ+u z{JDb;cFhe#mF#^9>{frNA9R&e9RZF)OKt2d>ny@5SJumNCaj~tR0=KivWBD-;%g{}V9#IJ_nAaiS8q!ts5l0}0In>u5yx@~_e-*hAiCIRR-mE$Tx*5WHY z6BF@W?m)1ZJ@!{qY(Tg}(;^Nr(1m zz8XVm7vLLS$48^HGTtIkGg;uUpTHH+7sqv#t~}|8p2$Z?IZ-Xs&i&A|_B^;s@I0oa z(>BlP!${9q|FAQRfQb8K@A%xxmk~6dQnHR{UGyN`=z^aW0t#^oY^pe_tL};^W*g=& zRi?+OR&ta{05JpZrVy$j6w>J_rcp&Io1QISY)rG-6R|EHW=aA-GWpPS>_xHsHd0)} z0xQ?HQR;8a*EJabg&ftD@iV0?G4VoQ(sJKF;7jDr0KKB3o|UT_q|h)&~VH?^3x!8>h!|MWofcOwW$U7Pap*mVL;ZmO00CUNxFXE`psH8_V2mb?394 z%TG|X;yNyLDKJudOJ%?LcR z(exXb@97*N@(S~p^MCH(7E!fOcDq}dY?P^!^t7|FQtjxoqK8^x`9KtsoTQj5?g(gG zuj5m{BKYA%R#wd3;CTsIR(eITEK+?~nJWTy+q{H)y!@S6uCeEjEnX*~o(q=ji8eqU z^mI?CAuc4Y8ElKTdLJb9+&fSq`8hP%KrtzC^_QNpE`yCO=K{ZwmHOLXk@`}}=l$?K zkN{KQhTrpJ%Er=44Rd_bp;?x!k_nk=;SkrtOF$><o5LHW#d7gKBcx!3*ooIf1LF!v?F88dyU^1li*!tYa1C~ zvF0p&8%EVX%uU6oG(Rvq`!ykBA8vN(4T}{^W}ng}A)L9R%y3imn)A7DC!`+#1zXA^ z?y zQ$ojw3J1r>M(7?uy2%ioS=F~yWK^=7JOhb1a5cOHOjzmzKugGy2OfrRw0AY1Jhl68{U;T!jI~s zspQ%(wuFk&#@hGa=Rwyr3Bd!Zi%aYCxrDgXFUj*_&wYMH?7#1S_$O{?*kPo*6s&O* zCdoYg3y!fwiYDiaoMA%(TU+@U=`VrQyriq&3e+dz0Nq{+ys62W(sn5XG9HqsHO_b} znL(_K6`wTQ=Nh-*1zEGX|xqGxa71N zm6ZWG#Pt#eWlagT(Cc3M+}Fz~7A5#v2e;|eh79KB3kZg8h;lPVLuQv9m5YqY)8FZ& zQ`cF<%78%Zr`<-mS>`OGVxe13AAO{cMlm0>OOOM+P(}6UsJ14(v$_X{ zCiaMyp`U|;zkh}wOJ8z~YGPq5IUwMdi8{c=W6?*_*<;Z)CEMPgSZ;xYdvNC@E!_49 zypRvsq5v;t;Np*ItvF^RpT&p+;=d(3P#|KglDkuAC+P+s3GoguapWfCy1@ne*WzZP&| z7}t!dDeM_o5u^vUejgDNqZ;|S`Yxu1O_{UoLxa}rt1x?35g`s*IjL#lhVw675;NO+ z`0NS_wyMWG$u#~1VG0F0@2)1>PL4meq{Fjiu3M%p(_uau(84B^B2 zYj6*_Qmb(ea^mgi4f$mrC?NqKH$J~%X3Hx+k;5K8fSO)ij}}13qoJOaZ0C@VN;zcO z2J80YE%G{E1pR1gLa!bH8hD}ocVswKRhw#dB83S>aC)5nx;`FWec~B8CJ}Jd&Zb&d zYEY->vkCIY&xKMx#Y{7X|KvD`+1@&wi+cRf$X*U(5EFY#HeP*vti2K&YP2L<@JR%) zH~Bg|qrm1JhA-sJ%quEJhqS5lN<)KfZ{UI3S?0>K+!hMqd3LQK?phLrv8rBEAjGl~`T z4>pD79ER}kAnCz~C{9 zEUn(-wd~y9XMyIvqiQ^3iKjgry2ENZDYT+%S*1KZq)+1UeIX(5Bm;N$78X6HNgTNE zzrB$EBk9B1+(m(o~+wb;ckgnKEH6Ku5WPF|;`a`J^<< zZk7#QwcvZ09%0WbG}xiZ?$6_M=4C2@WBgdDUs6BRox5V#A$e?Rd_a)5KBODhryp?t zJxez(PD0T}oXP+e|Aecc6Xru%9`E8XFOJfiflUt)q(HdSrJN!u)Iqtv(P`ccWCs~C zum?NG%YK#K{ybQsiDd$9=0k8w_qcL2aXvvdifDR`9-*W11MKSzhE^Cw(FKD6R=S>? z-I-m){(mKhx~IfndCF(6KOOQvq5WR?P1t5Aq}K0Ml40VDVL_^?_QARk1xRSwgl>zl zB-J5iig078pa9g|fBhP^uHP>xa;-ozXHHGM35Hs6ydqz#6L3fG%~p=RhfqW*0jsN? zv(4-EuAY@5g1LNn`9{euT`*h4_9tn|^#0iq`_gPa03zv^K&POkDE+UpI5C!M28N?IhM*bVQ z(t=xSK#Gz*FTwESfexd%*9l4s;P0h8Cc~xn44?5)J(ifP z6eqCLX@vFykR$wD@5d4rx}LA!RS2jV=olOP3hEyAh?g!*{mIsJb?iufKwFp-PVp7; z*<~7`K4CVUSMu0PUdpWP5%u~uLuF=pEuUYaM1i6Nb;6IR%eH;RqqgxnnZ3QB-2|UX z#S`5v2tY};+C^j_?-_Sb&A{z9 zDsZ!s9}UO9dmza^3^PZ8)+vy$oY=rN^R64la4Q; zhoX(T9Jt7J8X$gA;Ky@gqkz}0C27#2DE{L{f`E#fxmj)^`jMNR=3bBZ_$9Ob6W6bQ zF%F=q$MX-ApDW45?K~{#eqE3GV_@L-;&uK0cHZoN$1+ECq!u;5WuQbN0)Bh;<5?vk zthorwg?_|-&gxBbX%jg+VR~@;fM@uY?b>v@xBM67r?X?ewp{}irfq9Y_8@Ex00Eg$ zJ5f%ghlJu7BO%*|q0O)SzHJ;?!p@rg(>fJ~@boe<_MF5i{8&&P5JS|#sca!Q+N<4Ebm&*7>r z!X_7PrXe8kZPjcTNMSHsJj)sgK?$$SQs?I^(it~wA$}QH|Gls=pK6%Ch4CPx*%J!B zZ2M+NNU^*yV|$bFeOsOC+bg*JsUL1GdDv-ZX$)Sb@U1#+ZijlSOPg^cQv{x(q%XAPTGzi0u&#d1oEKajw?Z+(9c7vUUy)5l61FLA zK)otP$bq4$$5@(oOjICW6=2EZsVse_gtN?BWUUFc4@l>dBSchPx{D%9Khjb(Va6-< zC?!dAIvw>u`iaaW%p%wm#DvNSzAUrig;JuT+N3>(SSl{08o>nGWUvTjS}svEIOU@B zytAu49$pKfDnV0X44fFm*0Nh4W6(ozHRvzLY7^l6?#!I${5T?mwXs!X2yrY;S#pG% zbd_e+3dgs0Dl#e#37v$bUvClCK#VB$(=vib=Twv2bBz|fvAuR>P0Qv4r}fzKq*Hd? zF(}2|NVe_&VRyu0!^B%xS*_mGynORF?_Xa3b#c}glbK6j)zSwcqxtSjYK~ctUSd2^ zQPRXRCMvxJGE1A01tSoEtd0;51_8JIqzr*IlwaLl$}i?WaUlxWtK1gSD-xcBn#uc{1fb%kJLSkl+2LFJPkWK8?dXzr zt6xK{c)Q8_D!FR`yZjRd>L=@7RUPD6LjDv!mrG2UK?z+>v?vfia5>a z*=xx7Y1h%?`7#~8$P)CLv)uWNb~i$#Q5OIy{QOhjFtip2~=J9sJJ*D9ysZ+4W{0O1mW5<`To%0o1HHqkYUUr#}yt>R_pE z;wxA34ykl(sR{Imj)>&n`?lSB?X_7}m+xK6E|eQ?(;uiQk*;gKzDJb`Rl!no1>Fl&}4q2sS2!c;^cOOsQNC6-@JKNzwosS zr`TBF>cDR-tW`fY0QTbzBjinSIPburOgoIbX0(+JC+%5kkTz3^aZ1pGT!+cFcD}6l z)}wR#n#cu76ZiNhp`%N#2z25FUT<02OnE@UwTqQJl@pCj-hmh!Mkf5nfQL(I_Txn;u*2GQ`Xmah1V#WI>nj%eLySZ`Xg$=Y>0lW?#p!N>#odfF=Cj0#va{v|^Q&mf z4LzRqfBth&R2G7}&k5hH2s&wW&qB>i46uo}n>~=YB|jtoMSg1`E{W2bvZLcXK1Fe7 zJEV;LDn2&(M`>j>SL+NzeXTB)PV)CUWVjfnLm(;_S0e+aKFXXaiF&E0P7wGdqtN7> zzfT zZB&dN&&l0)F+wP}txk;^1_B!Oe4v}lpYO#oyjqMcc{M5 z+MO{IAB&uEvHUx_?4IIZ_lW-Ia!r9GmSnM`O*n0H4_~8;K4&CcBK82U$+_TFOg-N- z6omoSnW{)svudO*?Psn$J*RKliZoPSA4XpwF*y9%Ej{C469zxHMqv9`S_*t|s#GL% zmW?SUf7AidD^n3uhG7>qlt-yC^#!Aj+f3otr#}70z%Lw|#tzYy>F9;QOjL|SQnAqz~3It!Q& zn!B2A2^n)x34U`$6_d6OGl+Wi3HR));nz1N@xri6keiW|x&c9x4u%H!C{DQ zub(D-^fI&Kk1l^bk_I50DzbnIDS`OeFR=q1<=3}H3tACce&$Iu^B;$zV(c``mn7Nn z5U-e%S3Aar3lJ_29HEq1zBzH8ee(UZ_Z61Rp?6-Vh`e3mcWf6s&rBRTu6vG2$ zij0n`Cj8@fz5@pI))a=5MA{#;`e&Y9=?_zXp0afmMor^GP5W52Yb0g}+m;$l-KV%A?+n$i@4wo!}62P;{s!5K* z*N+5vAMLEX*xQvk*A0LFa&38DuT#s!Cr6wRDbj4qR&geRcNLE3NbM2d_O%@^6` z|2*+qhknpqW5_{sim35R+syoY^|CCUgw!5EkyN8~HA(=?;Q+M&6-CRWPe@%Em$drZ zy-%I9WvdZ-5JBsCSecg6eK`OvIXv67G;QGO-!ex~=B)+gXJT>ydYE<`csEzX8w~$g zvdfyO(ZC4q3(unjRH|e6#|!xS{-BU^!dF!gw-W%fCOQKb2VjjLDH;42A=A|4cjQzF zME1j`PtjjLh7aIkxXO-c%o?=D;#=qruo&IIU8$?3eKtpzZ9R^)VKH#1YB&9*@DHBub+?aIGW!J%~c4 z`qUESMm*}0!TXY?RO=rK^{gu8uNI$mR&hq6wZbT#zShhqqnC0sM@i$>KLO94bFNO1 zdmDG%KRdV9x57DVV{dm_8;~87mrrK7qq*D%a!f0Q!NdbYb0=d!sKS zf73vJwg7%=Zaa2337=sFyozL*a^~FjaQGeT>HJMS3~j=*(dtbjgH`N)1Cs1khs#bV z|6+Cmj1t3HroO|v>is%WHi>Qg14_l03AwqIr-QJw-ac>ls_#bej;dw+5iVTCw`1uI zdzH7OR5SzgNf3DKtspymu0nk^f&GgRBrANwTZ5a7AgmTxtzebst>B zn%{l8*8Qe0a5z$x?6vp^UW|^Dx_tH^jZ6?m*-zE_ z17*HEYqz1ukuHy0UU^2Y@^;xWUBEk;3h?L06exv)0LQwfV6hFk;0IACVo0AH=Yrsz zwl0Qcd;M1%=a53*J3S4Nsa<{yO|>cNA^@OFBn2V!$KKuDKSrI5G{F7GH@<=dsavQE z0y%czZh&~U_7Z86@5vd2c$x;J<7~$|$T{RT*QGDTa20Y&*>QklFNhJCoV-4YM z&=BZQrN0`M<|IhCC2scK!ZM{rEe3D0%ZU|Jz$)^>3;SA!rD-pW^Nud^&`Jg80)A>? zM}!73aXiqLS%y{Qg~b-UaUwoD@pQm+qn_hW^d!bw=yS%Li{pqX9l?_<7gpmQWaJ|V zs_!p@Gsv>`H5nkxw5_Hu`oNAyFs?0mztqcj^g`tP@f7$jkb*yI*m`)KL~!Zo z1Oy$JP@utW4B_=wqjej-%W7rY?u+OpF#C-Xn?<~PpkKVH%4{WPlPeG9Zal=>Z z=**(Q`t242%?CiOn(N$9Xg#;toP9ztncaYDdePewo7Y5c8Y(e`vwl#cK$mz&>Hx_=lh!*ow4e~?ZwNAwS78*a5urr;B_0oVy_>X0U_Ai!&3vlAec3=E z2bR8Qu!M<8L&sVayu<@dQN%vNtxj?vYJ}8~>D9go#c@NvUIFKXypnWXZX=gidx~^= zXkkbi(f%3R<#kRpfBX5)&RisMd!7ra5Dg%FC~0 zvGi6uC}?QGLvdumxm0f=4#5=oKm4X%$74a*58pbiMwu(6mUV9 z-uQkB)H;fJ9?oOX zG6!)~Ca-a_@c~Reu3~$GNh>9>tQ9%ZSP8?y!G#4CSM}4L4LAz$2a;hj^CPfqQXPX` zK2MDV^!RLe%!Vin_C97Y8W!cMda5=F;Xix1M!!0Suy!l2F)}bn)M2}gi|}zY63UYb`E4i!PMyFOw z`%-C&n~Icv39e+>FgnHKLK5H{LmN0}BynF+D@levf~sTW)-AZq2@B~j6R(XAUyHQg znRvYSecdXB@-r&6Cd7G!yF1F5Le)!s*>>`v1~fh#@1UoGrhQQ;^SB9 zDc7Ruxo$HrD_xbCHzNjgJVQoattqDHGxXSvQf`CsBjuA8RjLck;wIQQIK|fure}BF zidk7|0IeslZ*#S#v)4U?gSeFL^b6vL?vI0K=+AH9XjRH3BBzfJRq>7@jIGuCel@uH z0T03+t^d7_(V}KYH*Z-MQ+MHssozRxAE;@qn#Yli^mU>$mwsQzGkl@&c|5?IA4U^D z&da24pFWa#4Gu*!#g~K!;=IK(Fvafe;Ff=l93#yDTXYC{!(4A8e`75jusr>Ady7hm zaL|HG;F^Z=&P`!Nq#w^sE(gORQeAosX*%lT78IvaG2a^6Xjp&N+GzODg_i4kArPfU z6>^{V0aHbq?OJ#4U7_gHX0JN_@fq3=)z6u_*gGZr{lWKggVenN<1rpHPfu-J&3Yij z*&&$oNE&(WXd=}t(skO)3&;CRk(cI;`8~tX4~D-CvSTRo(~rNcb1Vei;92{Pru1F_ z#mC2@b#yr*{e})^^7HeT!Z)w$=I48?XH{qEYz(zkO+sZ;km;*Y@bCXMd*1<{vvzvE zRPAB_zo;yrz|EYpQ>2^0V7y5O^~E?2cPI4V<+mJjfQoozbH3_~I6OLjcVfkyQ&cBS z{|fO-`n@91LBALAA~BDjU@;ZE%%fv1V$n{6k$*tc_B|MU_-&_HAOV%g@{c2ybPE4QmIKUhd=95CWFIzFnaWhT6?Zkc-gJ|pbpY*l_x zI;V=UfjGXAKZkBmg-a>_SUMpqEyQX36992o@$*~1hf7Oxp*CG>x|+&(J$v~Ss|Sbr z&kbY(=~&v?pXqJ>RHkYTV{zG15+eUN&`;!KroIv#+C$_?}*bZhQ8trL72AsnjAk z*#tSS&kjg3xo;vl!jBQ>u~TLqjyVC_D)XG9L*IN<(O?GD>+}+GfxKd+zD1`EJ{}z( z=V0MO0hTA%XJ@JzNiK4L9OijuKd1vph-PLSSaoyC$oWAXVX&~X9)%-^fO$*gL-_gt z6w|#;@U%Bgm@U(6!giZ0l#*Ayz zF_;%Sr@zZT%P6jvotJ{C$TNJRn8>|F64br+kB|;=09v?c`w&2Y38anM=_ALaaabXp z`OF=gUrdJK!kg!zude#(6GwRB3e!`#+gXb9#az^$tPrUxm2v!gwQFASttyn)6Jft( z;Jap@ct5SRw=PvbCi&Q(xvzD$Hmp%Ub=-h11K2_&F#$*9JW`=g@*)JuHetj?eujz5 z^7;m*MCr&sY79clE;f`^m#n7TlljEVje@=h_v`BDe1(SyaxpP7*3>?`CAp$k@KSvH z24uKx$Gy-saT1s(oP~*&QP}lF~cD;={-3B z3;QVEEIsy`kDT!)Dlc9Cr7x81$s6>cqXZj#!!8-mU9fn&_NYYcmw3E&EKD?CyT==YH6z! zRLmsZT`x$sTaid*`$MVLItI-{Oj1^KyC+i_k179(k=X;q3o?M% zOz;u{5x9w-kB`1dy;(%?7F=l`N4Z3Te)v z=m%0t_S3!=(`VW~7Dr=;cuCO|_y>unNfY#OI%#eT&Sk|{ZNXaYT1ER@EakK=^n&vMGygnOm{4JCyJg9cX+@Ayxl;ehemg}HDiTkv8eB5@t zrV-L`Tjd%T>^b zj<*bh;uv&uG8IVSO^xDDr3(`gjDCNF-NI=&&+OP*;2kQ*NOLWO8_a4!;*BB5jMVS& zk-lzc-l16{cy{QzW4J!g6ZGZvalTHKCc}Y;YaKF?4*7O+iE}=tLPJShBeY9ywHh;e zC}bXo0Y8bdT`8v;CuM5b;kg1jDYXEo%D+fHDR*kAZ>|J%9z-EzWB5OgFYWV`7-Hk5 zF)p#_vJb4GZ#9F#mW$4Ns|;J^AS9~|$b6oiE-f8fA}+cMOTITK#5i&7|% z7=FhR{@*Op6vpXl-Kdc3wqw0nyE_i6RVUS_rGLQ>-vNhg?D>cpFGhL5K?&a6>z+(5 zGo>Tk6m}zQ5gevmiNER1iWVJ%85^0U6Y-1UC#>ckvr0eHOD~D37>MkuCGH~asK?`M zM<&sXQ13<$1P-OX4*xh8jIE0A73*TB^ZSF$*qwafAW+5&@2k_2F)7NOY2vebVKH@O zHCxt%eA@M>(WqBq_cc0*hp2-4PeR>!dR6#AEgVj%h}#alG_sgkmR-si{MdRLg*7aCuh(eE+07&YO~ zcm8+b-yiv&ajtII)g_G8o{C-+Iw%G%J~x{kHEiJ$&MdYoPp5?WUtc_%lqMR7mv|fI zy2%xVGlxAr<~_?RTqWa1bU!~*7eQqPb4sLom1D4lC(MOExl8o&?pWAJuHPq*RsJ~q z9pBb}hGMXF^8DaGVnTh8x;nW}f6i$;CW^yXQU`&;5??>|;=W%z_4{K?PL?;&UAd^0 zP26hwJUpE_^i|b76)|07V!lb;4%#+=Lf@$pV*K)dE)ffr6?>GY@-WJW6Imhn8p0Ho z01p!Js22<2>=e1z^MpI_sn#E-95fGrd>f`v=TyjPeWuhsh7BZB$PNgwy>JatBHmhy7VTd#)1zQ&)?&>&Obks zM6rO7gD@?(c@z!!_r*lW4&F=9XFT2bKZ}JK=TsP;9PkBzru5~F*tA5X3Kae3_4CBM zNT?ou5LfWDmbJ36Dly>|L6Eh})aIGNln+5MfmwNe)#qQ*Sb1zbbQ9mK{ny296~vZl zd`h_ntdVlnM2O^z>Hf9D)LltHQA+t_TIgv{Srftj9%A8-?-?*~Z0{s5Y`XiG!tFUb zMDh3Y^oF;nY^tetE*9$xGC4S=ii-BOayPy~$1vVzx?%I%lV!h^ZWpn$)$}UXr4c)< zv`&ho$#e7Z@=A>_y5j=fCtKn)Tme!bApS7-3*5_X5#r%Zm+sqNolAL0Uc3xk2d(-V z{zaIAPnQ<{4AED4(p?D-zMvthqYhP8#;u_7sjiA~7o#`fZX|A7nx;tmUX`P@wkFlX znQXh*l-M46IeJ+wse@f2IqeOdK2kX5D}isx8TQX#jH0&DrQtT1mLYl7Z$<6vB<6y{ zwjdaHQhJvhzp}cY#7ugz`)plI1gfUkiv#P1j~dv!^89{$5K|DlD-nmZNqts%=0J|xZi_9kyxw_Ku z(`(T($xjyp1O2u0{RIgLOyd=bQ56sEKgRQ(b9QqvM`@UDFh$g}n&-y0v*uS-6DzJt zjPh>{20fnYR=MvuhPjF>xP7sl+GmF#%DZ-#8TG@F(6gy&Vy%WT5iD57k-^FGtMqOEvCO@@e_;pc3@l z1y$3UlEyt&+aoobc?yypf-JnY%h4-SCyMv2r;s`aht2ZO({WKpSeB>FMQUqVzE$JYE~(5q?8F~Q@TS>#@4M?Ii$YASI**@wH@2F3Gw<>4T?-?`v> z|Eu9=rR%Tp#@9H!Vest75>K{kp@Tpv;(W!p4lIo&1K(liT50?edRvgbtzR-!*5QqSg|_5QWf!I(>0~t)XN}(igEW*19gW+5};L>c3vBNdXciH5$jOniQ3SGe! zucTY^#<%M~>n&C!wRb&SeU2(g->m{E6P*Rk&6aC>pZ7o2f+)0~eYqj&?;<1IY(7`V zb_rJ{#WHW1zzm24o)*^r<{hkkz@ZG^HXA6QHX8jRzOgOFG0uD9+|PZ5seys!wzFX{bYvl#|b07olJ4Bcnw1^_sf-O!5(V{(F@FK(GcTLKRJ79=JrUWu)P3^~FrD3row_g$a(%bm;qXTh7>vFr(7bf-T4hu4b6RNf$ zGCsn6mdS6181bFsTLbUVKQCzQ8O#`Oem}H?rY}s}?8aNX$g+4G?*3KrBe*CJu@%;7 z#;poReJt9nr5+GQNV~h=V3GF;_VY8vqHoB3PcYnU9o;sHsMpU}nj9LAaJm|tJg0Z> zpfy092Y>bm$i6ck(NCzN=mO8?uYJBks+PIMm&eNdI79+sGaVbNtJy=LlO4RWKD*>Tr}si;cqz*wEi_wQ1T7Rd+Jp(K_lq~=2*Oz%D%u2T_aTI6W3;J3 zFsu9;C_9jfHxr>2O#Z4`x<#XI6s`BGRriNK{<;UCPmM590fvYy@+*;G4q1(eZ=;3< zA);#TBTQ=IaC3&)+^(hDkaSmEx(ejACJl-ZRn)iJ$1wpe2PrTkQzbP=7IZ>Lw4&@l z@R5qqnm$ZXp*1KV?{wL|BwUc%HL?puJtR@mIx#4QwitwN+8B6E^C`X1v1UILf;VJ= zYc!EEpAsqq;2Mzulf+l>_YxTT@eCkgy3LCN2To+1T3MKcHoZU8zCU?&QzjjazLwWWU4Qj;bIPd>nAghQ6YLi*S1dCB8M87Z<6lBtb3m-r*|>P}IB~#% z4-pO#F@%;H$XII`0&cvPI)?;6r45;sEUQt^9=bs>)@Nh8U#$*0E}T}qwDg>gfTEk4 zbYR}7B)8f7>alGeaPp?oOE5>dGp_{@!8M9*Sw2hbT=7^&TV2&0yU7}D(_b$1+Ud;98) z5N7Ls6ltymA7n4&I%8c-){~u`?%udl=h8RL?@NfKc$feDv)cs?-}U2Y6e!|1pyRsOPWd^3^$a=^ERi|cdk>_$141vznq+0Uwiz^=js7E zhF`z`Ot!!J_lSRq>8~x#@i#8b6YyD--w5a_!P1M()}9H!=-E8d4t|vr|F;dSAtE$0 zcA(B16#xDA-!u3#M4))2|F2%hY_q7_-i$o<7kWE6*bI4Qf80C=!e?T5J%WvmE~m-A zgP*@X_tzHimu3A+4oyJVjtc84`aP%va<@eyi1Ihb|AXY;yao;d(iv@IqGA1<{xgkt zXh3A2_rkh;<^SgO?;ZTF?_0*eh=y9$RtqouvE_;9L=>J<9dw=2!XGd4I|BIFX9{8IQ zEsRLXBag-5Kd}9WmJJ0SKQt}4(1jD>Kab@>1|#yQ{GFMZc@B*=F!)c*lLWR0zy#6$ zMX|c@p9Eq2M-ZGnQyc#z2&6xP2sL!3{3k&W{+VMGeAnqIHa0f9km7;GKg=~L60(W- zpJxgCC7tny$bVRvzn4s$OZ718|G6grRzH}ex={W>lLK&Z5aLu1zy5y?QY*cc(~k0I zLG*JBjQ;b2e2otTNkpqbHJ|IvI}*#FFu zUF6LDpBxhRp8=8ipGNDlGiEBl|yz!;u&_V2Pifza?6;JI#$()pNW( z2c?{sEkCkfZ^NiM_dhMjIpd#+TMoCb{^P{|C_#p$Ap4)i?`Z;k`+~TH_8Fb~|C+wf zE}+qG_sr$`FFs)&q*Q#{i{kX6q;q|}@pE_D&)Xm6L%%HTtmIi)tIDdXSeu%gm^CD# z4UeQof`l-8Vzr-CJgGmecdqwz>UajbMQ_;jL)JWb4E|D;9!wf>x$MFgb)QACN%6AQ zRvi<%nxSh|)FS-rto;VbP7-xelk29oFaIsi7TiD51DvwW{}HjHD56R(mK27)y?t>? zN=jo_TM{oX-|WNXMN*U+t^JEMNQg@wyd!`~L)0FT<^kHVI%hnVOVsH6@xFL|VF!J<@CPe=sJ1sFc^~P_4wa0$3wQ98>Voi4_wjU?N~SG1C;S8HoP5CHW1H z<$O}t&7vqb<@Wf}`^Bn=l_gYfgu_G`ZTWuHTG!A}X*?R;>P;RW-)AWTdlWoI&DlA% z@Z|cb>Zy6=lfHd!f(CDdxBcd+2dpghE5}7ep#X{!{0jYs2G#lBubw`D$$s z508E>pD(a8Ks!ywII*q2{=#{qna3;ZL!+6DwN~{xs%091dOOU@>8U6=^ zdPwu3I#L0fPHu}OX>2vip3zZPQzxOzT=o9TG1w{NO=suhQRPv@iHGa@?3M8<^euLf zqa*)^nB6VY|1!ljSbujk2jpAyH0$1@zAx)z=&D@q?sWPNw#7HGH&D$@BBnYPVs*8M zQQ%HAK{DP9EE}MCe|}EY`Ck2VW#+H*-`iU57bx1+&+p#e4!zIJ%94kb@T+IkC*;gF zEt<(~lhTl2@HphY9Tcq|Z5clI7;!tmasKW8pOezs3&h%wUz5#lVde8W8XOx~ z#`%XZi7s??UF0IT__$N?MYmOUP$TQI>WU0@Jl^{IlaWwFaXuEH`zK5CM^VN)%%g9| zc?EICap~#;f$U0BGDXUFl3Aq6pG^rz_*=(>iweSSWz{WY(~iIY{H0ru@S<|h!op&9 zw$CS~=FGsrh~A&4iIx8M`rlro8b6SW+R!3{?W7;(PJS8vG8kVFhIT}4zh@0?OR$lE zE5HF+y1Q#hebIoj8gVwaHxTbCM^_@>)^W|FqxWesQFn@@yy6#5l98o~kP}X(hrDH^ zujlMY6>LwakPWcN@ix&uA3RZ$I&kxUt^6j`X7S4xIWo0p6Oqz6V_Ob*ziLKIqQ^@ zONwM^o1c(y^(!i%?;R}l`Q=zASu-mL`Lxh+pr}Nk*g=XRx7qv%$*zX)-w!Y6=GnBr zvf-MNMX+HodR5ohbfss#`3hodH?!L)k&ZRg`PszhCZ|Pn5q;pVJ7~H2)Fn4|meW}L zo#gtufmu2_(~i>0(Gu!1dsO7i>Smw|1%Q7OKumUfgL_UJuYA`2%MZ7_{}Zi<46*eB zvZLS>`ZL$;YBe&G`T}is7K`;2=!FaUacUTn(V3`6Zd-71r%?(K<1VOABZXH#fK*V& zAwdD&gZmmS7xUP*`a!edii=SMv$2zIxVmR*;P$!iBXZEbBVJS%yyU9aWaE94h>IDI z7!m-cZjko2ug<%;n3yr?YUh2PNwo(d!FID=J^7saUE7&rPS~>=z}j0xw7bu&&KS`x zZ(z69MRRGbb zRIDzw)VE5jC8Y+64nQ&@OOUKh0^8YY*pD#30U6v%aYR`f=<6pZ%w@ZO z-c!9aQhCKZ1*;zQubm|DR=j6*$~$0BJ+{Y;HlQBPDX?Pde5zXCwT*7=HXL2;GZ<5F zRVWApLy2y+u323 zRq+=P8)XG(y#6GM?;{A6dPKowmr;f)iX?

      ZJn1qeK0#M*GoJap-d`=W7Rtw>VX? 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

      qvH*W(i^H1|IP4YJH|$U<^U@r)z93A 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 z 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 z zfK?PE%X#e#7)X7vM(S3sae8w0#%39PLW-3QaglK3B4-i+SsKB$DHnbm z`E_W5S*-k6l+}(R*ZzW5Y)$D-Ae~*}RDw5PfoLDHNFNFSqXLHlufhYo9eXzu$npjP z1cGU!9SzD52;e~aOZ!Lf?Nkg-r*Wej=k}^Dhid)N$5;g0m|KAjU@pfZulTBA$J6O* z7q*tZVsdqIo4QSgVhqLVXz5CTC|^$|a{MQ�_jiC+y_9qVn6;tdIuM3@SXX2Z^^` z;?gj6=?T{gnnD&fREK*2EF-YI?G%^k=C)bq? zCCv9&-uNnz%k0!*l?1A_V(Eq?-0@V>?<30KU?sK2Iw;96Xqt7VMFh=spG+X^byMp$FYPUUOJhqPl=K8EUsIQxrAa^rbS4 zQzq+HGzs4N3w3{@vJDw;mo?HAI?~weCUkV0DvXc96cf-10raOPHQJ>uQ!;y^CYeFd zP`sK$?AuWZlj^@%QCo^+zPWVtUEA5bN1f$JOSPMmI}($4#$l#u_=I~-)WH(Ek+dD$ zpnS6ze7b)u099{+?Z2hm?iK@;i+O>nN_^l@k|ZslQ2Gx(EE#}TBH*}Fy<8@^OFRD4 z4{m+oapGD$1B=?8!ln?p5iYqKc?M{QD?~Ztm#+cem&C!dUVCODA$~R1$<%0Uoq!@-N+p6*m0b+`*pHo z5>3@SzoSm)hy|SqP;HOR<9hb-D4QnsY`pR`_cW^>*_e2UAo^8Qf0fB*4bXPP>XN}T zT1CV+@kD#yu|lx4Q5*3y*P7?v`yjp(;oF2`6hAjsT$W z81=z!iL5(csO0j4LZS4+LVT1v^=kTJ(f=;Zdw6^KS*~aIa;JwaPn`j$a`|yY@@- z47j*X3`;4_ln^v9UEa8IOQ=kCa>10#)w!>f5*cjn8lw6hT!uQ$2xve06+^}iWWcwc zCT%hBPM_s3#Si>|t9VE3m2Gvst+=XPiavF3UxYuqm+4O+PXX01zlN&XHs&-O$K;C8 zJ`U4fZ>dMkvQK0m|SzY3*;hp`V&IW!7W(Lm0WXV|9+j5;> z?x-sTRc^=$`?bZ)l&!3>Zk8lkA;{7*gT<>sqUL0selY8It3TpVhq1vh2a zxlH%jBH_r$V{MlHj*r(JZa{D-=WgUpzMiCN3C+&n0ML0LxXn&3b=z~-jyDJM&)Hr8 zhXfgu6Av1BKZ6XZSnhU^nHegSC0xh>$y)#Yd|>!mS`M^eqj9TJdl|`A;7B!AUQS>$ z&42|HICrB`LqM}^ zofy6i^Xn)vN&J3ADIxdJ68f_a$>3xb=Qz~tVx!M4ku=kK5B7*+W=LrW3%_`aGk#pt zz*mr2cmb5`lTDe&?&~;IXFNdWP&Iw5?F8`kBrW@Y_ycz{=mK(k_Uh#t#bULy!`Cx1 zewHU0nZb=s&+hr`ch6^Up-7|bV9=R!f}NcHe;CcGmza|RC`m_&ql#M3z0~GhVU}iw zqs1h>FrK8*&JW5i!{rP{?A?mpNh&?G5S40rCrD{UmLMHydjMuYzY6mcRZ~dUl^0J^ z8q>-Wt)|yv7#lkG0#4RdtQRmyZTeh%<;9|R+CfYKw4;8ciw_uP(UjyqawY=PZ#GTb4P}W|LX4|T_6=#{&;ls{Z zsn}HiUb`LLR}om@IFO$eF&GDVJ5<-cZ;a9bffL?WKy^3%V?M_@P|1t^73cddsfxBh zXh@7TvXc(_qfXHBjin8EbX(mR&HFwn>U1fb8kI&BU{a_v0MVfYAU zEjR7Ib|+Z#1OC@Y6+jzU#jMkfbrz;B9#-k3r}T*e>F*l*7?A%DrLoB%`3w>U&FyVU z?~~=V9phgRHozP5N$1X=^TI0+t(6PTjVmJNb{aB2`h1?e@Eq{cPz0Ygr$dv>Y)-ty zqKt&yGj4e<>FH3TaRKh*d9y6Q(RR#iakLjGMkt%?J9+^l;;X#Rnn3Y^tGY ztr+MU0k!#9nkKW4%Fs;ilt1muvj_WuAAsJ?6l%~DRu$jAgzkz&p(jg5_;fQcsFe7JRX9{V-etHh@-o8iFBIzZtl+YfF; zy=uDVf*Pk)dXPmuDTQXSeV=IQ^6m=zQ?!i#^OV2R=%}}3n4KuGA<|u1JZqt$ohdvP zls)pxu9g0OI$r?I531WL34bf5Z7@Lj2^@$h&Ku-fLY}KrQc`}P+E-HSyfwEZ`n7)W zKLL>>B}$jfJdf_MRc0T+k;(FL;8=UEHIdTJF~gtkhU79LzL_?sV7m*zol@Mp(}$Mu z2|m1>I(Z;O}9Dncr$fxwZqMA>QqeKu%X zT3i;WyiiR>ZGWC`8p@0K7ZLfZ0{XHaug3F5$o07706*4+I5hU*ih-(QKZ<6k&wU9% z%)QmSxz?8{ox6G&e2$cJ77qj1p^$eIujS;&^6OSIYSd`_gVkwy_flU^yc#>!RW(nO zlo!n*XF)>MsS0_G;b&1xoIoZ9$nXg|wwnyyR0tAnCr`6W)=6dkWTq>Y>@r3yiVR67 zW9DS)(+K|GJob+JZAEUg;|tD;DrC03+`;7sY==T{|3;8_T7q_59u>)CPiL{>{`XGr){QXTEuJ^dNX2ky=J~pKPwjwj4uh^68XJ}G=94X0rpWR?bOiu8iz9zM> zrqX@wEdGW}@c)tZ?eR?i{ohVG_LvDPoTG9~uP1efO@(qGfE4hi-xp4+~}UcawLI{V;R@h>R`}J)1-w_k!n~SsQ3)3tS_S4%Mnp~uakDq{>OWD`>-hSE&1Jk z?x2-DLe@JVYY?~m7dA@=JV|<$LM+vr)xz5W&$pPnc8b<-?dr#T?D+KkY=JtzoiqbC zSBlSip?EzAprz(F+WRfcZ(`R_(P#SqKgL&AFL4f5*^7{Uhy=`7cw7HD5&o}#DQ>?x zFVtmoP9dy(zp*~g{jUu5UqGp$VBuEph^67-umGm zbj^H@|8K6Wd-?5$9eHMjlL0B2C;#J%{H-8Tubx)?xfrVPJ@#*e?!NWc{?3tw<^~`< zBKI{ovYvy@>UmqIvNC~P zQ&f~9rjZQ8%gYRNR1Az?1%kniw&$@mR#DcXz8_O1%ub}zAO14d$Vt{|4wz#Gh}*mPv;##ME^anr!oBVe!IMWw zc(N%8A5x`^Z%eX8Z7e-E88-nG3gPvvmigj+H^YL1&AaOjX<`Rf zgEPMVu&GV)L$RSJjOM}qk99z+Ch#eIVU0U$=06)Q|2|n*0+VbQjJ>lig{yDN8M|Oy z2Pktkb4mI)mF2OJgVOL+wE9aU1i zYq~o&e*O2ob1aH~^TuaSFaBT9`JWeRkyrl|PNa%>3UO_e8nHcmI2I}sn?>lb4CE=x zKRTJFQ7d5~*Uo{wkySQKWUm>x=3V^rWSXYWN#}!IBl`L4&*5H_2%fOiO4n~?vwv;g zJs~$xw7o%Bm8ocKxB84o{Dc4I>2^qWhs)b#dMG`v6(C?dNY+;E-@l6^1|<4OuNYh# z2Rn~qGZ{v4TSGouw?AXx4fR(utJ>XirFBNH2w@54tgI+MH%OKcpwYg0A$bAi?G2Ny z#fUhMZ*$QSOp09{Wx;A_r6@yvPcio@32zA0;-qJv#~st%bVf)y2#l_(#ce`!zkJ-h zn)fB@>3_Oa#;zciRFM0Ckqg46<E6;(z^x9T{VSw|8;X2d=_f~l?$s@**%q??VHmtHeSE^SOD#6aBX)X$;p*;Szi~+-?^3YAbfTrI=15Ne^g&iCm;ywSD>+=-+YMX26ko0&O5u($ILD*1#|7laun0ogs{(C=r zLFT}Zcl4R*N9K9?G6l;P`c&dMf>ae@a1f4nbizkbq}91mCqg~qW>*w>7}+g~CpkfX zku2;PYZ%I`uRFjXEZ>P?n8`H!=B@vo1N=>1G6dPI=0t;EyZ%`za$Re0D&%vy)~?-| zb%sEQn`!V$PW%vM|4W-7h3ZPH8RYdbg!>-$xlXO1--<0?|NbDGlm0iy_Femt)AL`Y z)oBK;(<;p(ua~wlU}QXW#bzqvsVZf9X5?O8K)l?g*(BpjRGSh0vRV^!@_>eeaW;X= zn=`Fy<)#Uy-ugF>TG4!72Hc(xWtB(h?_yuz0)xGeWK4bdcOPY*he zd9Z;yaf~YF81e1079$TAh*P~Vd6cmo)?ohT#sBl@|Mu}$FL7;e#XTeS-6D55f2Vr@ zf>*;=U3W)s=tHo|lFtMHRtF8g-`Ok%RY#e}kS6ZFDqY6la()R?=2rVCz3(7|caT6~ zWQv9;R#&$wTk3f@=L;3a(^u`YK{L*LEMujVIW@%Pq+4@wO0Mk9zOpmaAqsF#ME(O5Pcm z0v1T$77@#nIRT+OnBW(Ie}RG;g&|9{pzcZmhO@Z4;~IN@i0 zCy#aUn-C*ieC>e|%AI;|a4LoBbth~ugu_dBCcinvG(GWaAjAG{{dMB7i(C;`w*)8Z z?FH5RQEXqd?r&LMF8L2CM`ha89zf5A(&&PMSk5ZsU6CJmUJ5?-29pciyNmL@^R%bD z_~@flW0xBl(SHjXM&^2sCGTu~a34r$)xYY8Ky)ZUN^1L@lLY+LZ4cuabL;;8>zob4 zXKb$hHX8AQ1;YzJ`XYEj&C0hnCa-yKF4}vms0j`X3=rm8&JQfrv(ydoX95!{>di4cXcCJ?s&z_>TZ?JyBgBE=d0qo};4>ncdAurysgB3k_&s5N-!HM&SIw+$)4kkl z>zPTSY1D!nBZkQO?G6c3)**qS$W)CGSn-L+gC6Gh{zI2y)hq}N(c^!GS-^t^orAHR(=xX7=l8DP3qw~}CsVhV{@i*I zljx6>37@5O^gek83tf$KQK7~QQlOr?8UbsLiK;J7vTKVR|Gxe%l(Smqv^K?8C?fo7 z7yksru0Ti#f8bk20E`EU*6wW

      2P_guZM@(N`DFY(p_VcXxM`FGSB^ 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

      WSYX|Xo%>>MfW!w_+u%~oAk2(e_vu3 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 literal 0 HcmV?d00001 diff --git a/store_screens/ios/6.7-inch/en/port/5_grinder_6.7_port_en.png b/store_screens/ios/6.7-inch/en/port/5_grinder_6.7_port_en.png new file mode 100644 index 0000000000000000000000000000000000000000..a486ced03e2048b05dd31d553c8dc3165b3082c8 GIT binary patch literal 528209 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%0Dif7_vIsEo?O9Di4~Z+7vC<>m~}Hz`Lqyc`N~ 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 QwbRIO8btI7(eF|9qJ7 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

      R@z_ZmR54kZ)!;xKx$a5rhLjfF^h)N%NC2 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�ntK!6Nt~U9%28)!w63T2^K<)}xg7=U7EZuG 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 djE?v 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 Date: Tue, 28 Feb 2023 20:25:40 +0100 Subject: [PATCH 040/129] add: beans roast range filter (#499) * beans roast range filter * remove changes in formatting * remove changes in formatting --- src/app/beans/bean-filter/bean-filter.component.html | 11 ++++++++++- src/app/beans/bean-filter/bean-filter.component.ts | 1 - src/app/beans/beans.page.ts | 7 +++++++ src/classes/settings/settings.ts | 4 ++++ src/interfaces/bean/iBeanPageFilter.ts | 10 +++++++--- 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/app/beans/bean-filter/bean-filter.component.html b/src/app/beans/bean-filter/bean-filter.component.html index 78e03ede1..842ecae9a 100644 --- a/src/app/beans/bean-filter/bean-filter.component.html +++ b/src/app/beans/bean-filter/bean-filter.component.html @@ -42,7 +42,16 @@ - + + + + {{"BEAN_DATA_ROAST_NAME" | translate}} + + + + + + {{"BREW_DATA_RATING" | translate }} {{this.uiHelper.toFixedIfNecessary(filter.rating.lower,2)}} - {{this.uiHelper.toFixedIfNecessary(filter.rating.upper,2)}} diff --git a/src/app/beans/bean-filter/bean-filter.component.ts b/src/app/beans/bean-filter/bean-filter.component.ts index 6e9c8c4a6..63cec7b3f 100644 --- a/src/app/beans/bean-filter/bean-filter.component.ts +++ b/src/app/beans/bean-filter/bean-filter.component.ts @@ -12,7 +12,6 @@ import { UIBeanStorage } from '../../../services/uiBeanStorage'; import { UIMillStorage } from '../../../services/uiMillStorage'; import { IBeanPageFilter } from '../../../interfaces/bean/iBeanPageFilter'; import { BEAN_ROASTING_TYPE_ENUM } from '../../../enums/beans/beanRoastingType'; -import { Brew } from '../../../classes/brew/brew'; @Component({ selector: 'app-bean-filter', diff --git a/src/app/beans/beans.page.ts b/src/app/beans/beans.page.ts index d5920d998..3c93e58a7 100644 --- a/src/app/beans/beans.page.ts +++ b/src/app/beans/beans.page.ts @@ -382,6 +382,13 @@ export class BeansPage implements OnInit { filter.bean_roasting_type.includes(e.bean_roasting_type) === true ); } + + filterBeans = filterBeans.filter( + (e: Bean) => + e.roast_range >= filter.roast_range.lower && + e.roast_range <= filter.roast_range.upper + ); + if (filter.bean_roaster) { filterBeans = filterBeans.filter( (e: Bean) => filter.bean_roaster.includes(e.roaster) === true diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index b8e74808a..0d93dbcff 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -124,6 +124,10 @@ export class Settings implements ISettings { upper: upperRating, lower: 0, }, + roast_range: { + upper: 5, + lower: 0, + }, bean_roasting_type: [], roastingDateStart: '', roastingDateEnd: '', diff --git a/src/interfaces/bean/iBeanPageFilter.ts b/src/interfaces/bean/iBeanPageFilter.ts index 622b40b18..45fdfb891 100755 --- a/src/interfaces/bean/iBeanPageFilter.ts +++ b/src/interfaces/bean/iBeanPageFilter.ts @@ -1,11 +1,15 @@ -import {BEAN_ROASTING_TYPE_ENUM} from '../../enums/beans/beanRoastingType'; +import { BEAN_ROASTING_TYPE_ENUM } from '../../enums/beans/beanRoastingType'; export interface IBeanPageFilter { // Properties favourite: boolean; rating: { - upper: number, - lower: number, + upper: number; + lower: number; + }; + roast_range: { + upper: number; + lower: number; }; bean_roasting_type: Array; roastingDateStart: string; From 264191e255d10212dd94ce6d46ca86b2d3beb4b9 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 28 Feb 2023 20:29:42 +0100 Subject: [PATCH 041/129] #501 - Resetting filter, anyway, because we got a roast range --- src/services/uiUpdate.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/uiUpdate.ts b/src/services/uiUpdate.ts index 282b7c233..7105f986b 100755 --- a/src/services/uiUpdate.ts +++ b/src/services/uiUpdate.ts @@ -491,10 +491,10 @@ export class UIUpdate { ); settings_v9.bean_manage_parameters.activateAll(); - // Reset filter, because we got a new sort on beans - settings_v9.resetFilter(); - await this.uiSettingsStorage.saveSettings(settings_v9); } + // Reset filter, because we got a new sort on beans + settings_v9.resetFilter(); + await this.uiSettingsStorage.saveSettings(settings_v9); const preparationListV9: Array = this.uiPreparationStorage.getAllEntries(); for (const prep of preparationListV9) { From df28dac8e29b9f7a1ce87397451622709e25521d Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 28 Feb 2023 20:38:01 +0100 Subject: [PATCH 042/129] #112 - Fixing bean listview information for start --- src/classes/parameter/beanListViewParameter.ts | 6 +++--- .../bean-information/bean-information.component.html | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/classes/parameter/beanListViewParameter.ts b/src/classes/parameter/beanListViewParameter.ts index 3399e02c7..c95b7a050 100755 --- a/src/classes/parameter/beanListViewParameter.ts +++ b/src/classes/parameter/beanListViewParameter.ts @@ -45,15 +45,15 @@ export class BeanListViewParameter implements IBeanParameter { this.aromatics = true; this.note = true; this.roaster = true; - this.roast = false; + this.roast = true; this.roast_range = false; this.weight = true; this.cost = true; this.attachments = true; - this.url = true; + this.url = false; this.ean_article_number = false; this.cupping_points = false; - this.decaffeinated = true; + this.decaffeinated = false; this.bean_roasting_type = true; this.rating = true; diff --git a/src/components/bean-information/bean-information.component.html b/src/components/bean-information/bean-information.component.html index 04c071acc..f01d457fb 100644 --- a/src/components/bean-information/bean-information.component.html +++ b/src/components/bean-information/bean-information.component.html @@ -91,7 +91,7 @@
      {{brewCounts()}} - + {{"ROASTED_BEFORE" | translate}}
      {{daysOld()}} {{"DAY_OLD" | translate}} @@ -101,7 +101,7 @@ {{"BEANS_AMOUNT_USED" | translate}}
      + [innerHTML]="'BEAN_WEIGHT_ALREADY_USED' | translate: {gramUsed: getUsedWeightCount() | number : '.0-2', gramTotal: bean?.weight}">{{daysOld()}}
      {{'BREW_DATA_FLAVOR' | translate}}
      From c67c7aaa7a1b4eaa6bcb5a3f0821df2874e2d758 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 28 Feb 2023 20:58:23 +0100 Subject: [PATCH 043/129] #476 - adding .nvmrc file --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100755 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100755 index 000000000..7fd023741 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v16.15.0 From b325a0e1270d4b19afb08d4c9a4b9aff9c4a1861 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 28 Feb 2023 21:12:05 +0100 Subject: [PATCH 044/129] Fixing leftOverGrams, aswell as fixing rating console error --- .../beans/beans-detail/beans-detail.component.html | 2 +- .../beans/beans-detail/beans-detail.component.ts | 13 +++++++++---- .../bean-information.component.html | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/app/beans/beans-detail/beans-detail.component.html b/src/app/beans/beans-detail/beans-detail.component.html index c0169a774..a44e8498a 100644 --- a/src/app/beans/beans-detail/beans-detail.component.html +++ b/src/app/beans/beans-detail/beans-detail.component.html @@ -167,7 +167,7 @@

      {{"BREW_DATA_RATING" | translate }} {{data.rating}} - +
      diff --git a/src/app/beans/beans-detail/beans-detail.component.ts b/src/app/beans/beans-detail/beans-detail.component.ts index 68ef529f8..f766a8667 100644 --- a/src/app/beans/beans-detail/beans-detail.component.ts +++ b/src/app/beans/beans-detail/beans-detail.component.ts @@ -35,7 +35,7 @@ export class BeansDetailComponent implements OnInit { public settings: Settings = undefined; public bean_segment = 'general'; - + public maxBeanRating: number = 5; constructor( private readonly modalController: ModalController, private readonly navParams: NavParams, @@ -46,7 +46,7 @@ export class BeansDetailComponent implements OnInit { private readonly uiSettingsStorage: UISettingsStorage ) {} - public ionViewWillEnter() { + public ionViewDidEnter() { this.uiAnalytics.trackEvent( BEAN_TRACKING.TITLE, BEAN_TRACKING.ACTIONS.DETAIL @@ -57,11 +57,16 @@ export class BeansDetailComponent implements OnInit { const copy: IBean = this.uiHelper.copyData(this.bean); this.data.initializeByObject(copy); } - this.beanStars.setRating(this.data.roast_range); - this.beanRating.setRating(this.data.rating); + setTimeout(() => { + this.beanStars.setRating(this.data.roast_range); + if (this.hasCustomRatingRange() === false) { + this.beanRating.setRating(this.data.rating); + } + }, 150); } public ngOnInit() { this.settings = this.uiSettingsStorage.getSettings(); + this.maxBeanRating = this.settings.bean_rating; } public dismiss(): void { diff --git a/src/components/bean-information/bean-information.component.html b/src/components/bean-information/bean-information.component.html index f01d457fb..bc51d2695 100644 --- a/src/components/bean-information/bean-information.component.html +++ b/src/components/bean-information/bean-information.component.html @@ -101,7 +101,7 @@ {{"BEANS_AMOUNT_USED" | translate}}
      {{daysOld()}} + [innerHTML]="'BEAN_WEIGHT_ALREADY_USED' | translate: {gramUsed: getUsedWeightCount() | number : '.0-2', gramTotal: bean?.weight,leftOver: bean?.weight - getUsedWeightCount() | number : '.0-2'}">{{daysOld()}} {{'BREW_DATA_FLAVOR' | translate}}
      From 21dc16614b4eb9eeadf41e9b27041156225f9bd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Wed, 1 Mar 2023 02:19:04 +0100 Subject: [PATCH 045/129] brews & beans filtered count --- src/app/beans/beans.page.html | 2 +- src/app/brew/brew.page.html | 2 +- src/app/brew/brew.page.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index 6a533bc44..c4ba05817 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -21,7 +21,7 @@ - {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}} + {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}} ( {{ openBeans?.length }} / {{ beans.length }} ) diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index 5613470ce..e2703f90f 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -20,7 +20,7 @@ - {{"CURRENT" | translate }} + {{"CURRENT" | translate }} ( {{ openBrewsView?.length }} / {{ brews?.length }} ) diff --git a/src/app/brew/brew.page.ts b/src/app/brew/brew.page.ts index d4407f346..ed151b480 100644 --- a/src/app/brew/brew.page.ts +++ b/src/app/brew/brew.page.ts @@ -27,7 +27,7 @@ import { UIAnalytics } from '../../services/uiAnalytics'; styleUrls: ['./brew.page.scss'], }) export class BrewPage implements OnInit { - private brews: Array; + public brews: Array; public openBrewsView: Array = []; public archiveBrewsView: Array = []; From b50ea94d36c77f2d63a9734121390f1b44de38c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Wed, 1 Mar 2023 03:06:37 +0100 Subject: [PATCH 046/129] values styling & tabs css class --- src/app/app.scss | 15 +++++++++++++++ src/app/beans/beans.page.html | 14 ++++++++++---- src/app/brew/brew.page.html | 12 +++++++++--- src/app/mill/mill.page.html | 10 ++++++---- src/app/preparation/preparation.page.html | 9 ++++++--- 5 files changed, 46 insertions(+), 14 deletions(-) diff --git a/src/app/app.scss b/src/app/app.scss index 2c63fbc53..f2d072dbb 100644 --- a/src/app/app.scss +++ b/src/app/app.scss @@ -853,4 +853,19 @@ ion-menu:host .menu-inner { color: white !important; } +ion-segment.tabs { + display: flex; + flex-direction: row; + flex-grow: 1; + padding-top:0px; + + ion-segment-button{ + width: 100%; + + .value{ + font-size: 14px; + opacity: 0.8; + } + } +} \ No newline at end of file diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index c4ba05817..af354db53 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -19,13 +19,19 @@ - - - {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}} ( {{ openBeans?.length }} / {{ beans.length }} ) + + + + {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}} +
      + ( {{ openBeans?.length }} / {{ beans.length - finishedBeans?.length }} )
      - {{"TAB_ARCHIVE" | translate}} + + {{"TAB_ARCHIVE" | translate}} +
      + ( {{ finishedBeans?.length }} )
      diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index e2703f90f..01bd9ae3e 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -18,13 +18,19 @@ - + - {{"CURRENT" | translate }} ( {{ openBrewsView?.length }} / {{ brews?.length }} ) + + {{"CURRENT" | translate }} +
      + ( {{ openBrewsView?.length }} / {{ brews?.length - archiveBrewsView?.length }} )
      - {{"TAB_ARCHIVE" | translate }} + + {{"TAB_ARCHIVE" | translate }} +
      + ( {{ archiveBrewsView?.length }} )
      diff --git a/src/app/mill/mill.page.html b/src/app/mill/mill.page.html index 8e01d4929..efe99c02b 100644 --- a/src/app/mill/mill.page.html +++ b/src/app/mill/mill.page.html @@ -15,17 +15,19 @@ - + - {{"CURRENT" | translate }} + + {{"CURRENT" | translate }} - {{"TAB_ARCHIVE" | translate }} + + {{"TAB_ARCHIVE" | translate }} - +
      diff --git a/src/app/preparation/preparation.page.html b/src/app/preparation/preparation.page.html index d0836505d..19645a4d7 100644 --- a/src/app/preparation/preparation.page.html +++ b/src/app/preparation/preparation.page.html @@ -14,16 +14,19 @@ - + - {{"CURRENT" | translate }} + + {{"CURRENT" | translate }} - {{"TAB_ARCHIVE" | translate }} + + {{"TAB_ARCHIVE" | translate }} +
      From b6e5743ecdd2503cabbaa5d4e38c6787b745e5af Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Tue, 7 Mar 2023 20:14:54 +0100 Subject: [PATCH 047/129] #505 - Removing the listening to the button touches so long --- src/classes/devices/decentScale.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/classes/devices/decentScale.ts b/src/classes/devices/decentScale.ts index 4f478e389..fe2a158dd 100644 --- a/src/classes/devices/decentScale.ts +++ b/src/classes/devices/decentScale.ts @@ -221,8 +221,8 @@ export class DecentScale extends BluetoothScale { this.setWeight(newWeight, weightIsStable); } else if (uScaleData[1] === 0xaa && uScaleData[2] === 0x01) { // Tare button pressed. - this.tareEvent.emit(); - await this.tare(); + //this.tareEvent.emit(); + //await this.tare(); } else if (uScaleData[1] === 0xaa && uScaleData[2] === 0x02) { // Timer button pressed this.timerEvent.emit(null); From 39711f7223adb0393fd58b647fb86cae0d890442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Thu, 9 Mar 2023 14:33:33 +0100 Subject: [PATCH 048/129] change beans/brews count formatting if filter is active --- src/app/beans/beans.page.html | 5 ++++- src/app/brew/brew.page.html | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index af354db53..575bb8c90 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -24,7 +24,10 @@ {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}}
      - ( {{ openBeans?.length }} / {{ beans.length - finishedBeans?.length }} ) + + ( {{ openBeans?.length }} / {{ beans.length - finishedBeans?.length }} ) + + ( {{ openBeans?.length }} )
      diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index 01bd9ae3e..b5e8a8867 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -23,7 +23,10 @@ {{"CURRENT" | translate }}
      - ( {{ openBrewsView?.length }} / {{ brews?.length - archiveBrewsView?.length }} ) + ( {{ openBrewsView?.length }} / {{ brews?.length - archiveBrewsView?.length }} ) + + ( {{ openBrewsView?.length }} ) +
      From e561d0db8b0d5f0032563264359cf513b3d834dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Sat, 11 Mar 2023 16:37:11 +0100 Subject: [PATCH 049/129] functional beans page filtered count - add helper variables for archived & opened count - show simplified format ( total ) when tab is not active - when tab is active & there are any filters format like this ( shown / total ) --- src/app/beans/beans.page.html | 17 ++++++++++++----- src/app/beans/beans.page.ts | 11 ++++++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index 575bb8c90..dcce743e0 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -24,17 +24,24 @@ {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}}
      - - ( {{ openBeans?.length }} / {{ beans.length - finishedBeans?.length }} ) + + ( {{ openBeans?.length }} / {{ openBeansLength }} ) - ( {{ openBeans?.length }} ) + + ( {{ openBeansLength }} ) +
      {{"TAB_ARCHIVE" | translate}} -
      - ( {{ finishedBeans?.length }} ) +
      + + ( {{ finishedBeans?.length }} / {{ finishedBeansLength }} ) + + + ( {{ finishedBeansLength }} ) +
      diff --git a/src/app/beans/beans.page.ts b/src/app/beans/beans.page.ts index 3c93e58a7..30e117d41 100644 --- a/src/app/beans/beans.page.ts +++ b/src/app/beans/beans.page.ts @@ -49,6 +49,9 @@ export class BeansPage implements OnInit { public openBeans: Array = []; public finishedBeans: Array = []; + public finishedBeansLength: number = 0; + public openBeansLength: number = 0; + public openBeansSort: IBeanPageSort = { sort_after: BEAN_SORT_AFTER.UNKOWN, sort_order: BEAN_SORT_ORDER.UNKOWN, @@ -64,7 +67,7 @@ export class BeansPage implements OnInit { @ViewChild('beanContent', { read: ElementRef }) public beanContent: ElementRef; - public bean_segment: string = 'open'; + public bean_segment: 'open' | 'archiv' = 'open'; public archivedBeansSort: IBeanPageSort = { sort_after: BEAN_SORT_AFTER.UNKOWN, sort_order: BEAN_SORT_ORDER.UNKOWN, @@ -532,6 +535,12 @@ export class BeansPage implements OnInit { .getAllEntries() .sort((a, b) => a.name.localeCompare(b.name)); + this.openBeansLength = this.beans.reduce( + (n, e) => (!e.finished ? n + 1 : n), + 0 + ); + this.finishedBeansLength = this.beans.length - this.openBeansLength; + this.openBeans = []; this.finishedBeans = []; this.__initializeBeansView('open'); From 707687221c2da3c4136f9042af1885128fc97108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Sat, 11 Mar 2023 17:07:09 +0100 Subject: [PATCH 050/129] functional brews page counter --- src/app/brew/brew.page.html | 17 ++++++++++++----- src/app/brew/brew.page.ts | 11 ++++++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index b5e8a8867..dd5faaa8c 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -23,17 +23,24 @@ {{"CURRENT" | translate }}
      - ( {{ openBrewsView?.length }} / {{ brews?.length - archiveBrewsView?.length }} ) - - ( {{ openBrewsView?.length }} ) + + ( {{ openBrewsView?.length }} / {{ openBrewsLength }} ) + + ( {{ openBrewsLength }} ) +
      {{"TAB_ARCHIVE" | translate }} -
      - ( {{ archiveBrewsView?.length }} ) +
      + + ( {{ archiveBrewsView?.length }} / {{ archiveBrewsLength }} ) + + + ( {{ archiveBrewsLength }} ) +
      diff --git a/src/app/brew/brew.page.ts b/src/app/brew/brew.page.ts index ed151b480..d53f19d09 100644 --- a/src/app/brew/brew.page.ts +++ b/src/app/brew/brew.page.ts @@ -31,7 +31,10 @@ export class BrewPage implements OnInit { public openBrewsView: Array = []; public archiveBrewsView: Array = []; - public brew_segment: string = 'open'; + public openBrewsLength: number = 0; + public archiveBrewsLength: number = 0; + + public brew_segment: 'open' | 'archive' = 'open'; @ViewChild('openScroll', { read: AgVirtualSrollComponent, static: false }) public openScroll: AgVirtualSrollComponent; @@ -116,6 +119,12 @@ export class BrewPage implements OnInit { this.openBrewsView = []; this.archiveBrewsView = []; + this.openBrewsLength = this.brews.reduce( + (n, e) => (!e.getBean().finished ? n + 1 : n), + 0 + ); + this.archiveBrewsLength = this.brews.length - this.openBrewsLength; + this.__initializeBrewView('open'); this.__initializeBrewView('archiv'); } From 753f98bd30d0b24075033bc0be1defecf9d6c4f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kry=C5=A1tof=20Kr=C3=A1tk=C3=BD?= Date: Sat, 11 Mar 2023 17:14:34 +0100 Subject: [PATCH 051/129] fix typo --- src/app/beans/beans.page.html | 6 +++--- src/app/beans/beans.page.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index dcce743e0..c51cb76af 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -32,11 +32,11 @@ - + {{"TAB_ARCHIVE" | translate}}
      - + ( {{ finishedBeans?.length }} / {{ finishedBeansLength }} ) @@ -81,7 +81,7 @@
      -
      +
      diff --git a/src/app/beans/beans.page.ts b/src/app/beans/beans.page.ts index 30e117d41..15a26fa9f 100644 --- a/src/app/beans/beans.page.ts +++ b/src/app/beans/beans.page.ts @@ -67,7 +67,7 @@ export class BeansPage implements OnInit { @ViewChild('beanContent', { read: ElementRef }) public beanContent: ElementRef; - public bean_segment: 'open' | 'archiv' = 'open'; + public bean_segment: 'open' | 'archive' = 'open'; public archivedBeansSort: IBeanPageSort = { sort_after: BEAN_SORT_AFTER.UNKOWN, sort_order: BEAN_SORT_ORDER.UNKOWN, @@ -544,6 +544,6 @@ export class BeansPage implements OnInit { this.openBeans = []; this.finishedBeans = []; this.__initializeBeansView('open'); - this.__initializeBeansView('archiv'); + this.__initializeBeansView('archive'); } } From d2d84db2dd0945ebca323c4930cea336892b8bbf Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 19 Mar 2023 13:50:29 +0100 Subject: [PATCH 052/129] stashing --- config.xml | 2 + package-lock.json | 49311 ---------------- package.json | 6 +- .../brew-popover-actions.component.html | 2 +- ...reparation-connected-device.component.html | 46 + ...reparation-connected-device.component.scss | 0 ...aration-connected-device.component.spec.ts | 24 + .../preparation-connected-device.component.ts | 107 + ...preparation-custom-parameters.component.ts | 38 +- ...preparation-popover-actions.component.html | 8 + .../preparation-popover-actions.component.ts | 53 +- src/app/settings/settings.page.ts | 2 +- src/app/shared/shared.module.ts | 3 + src/assets/i18n/de.json | 12 +- src/classes/preparation/preparation.ts | 4 + .../connectedPreparationDevice.ts | 12 + src/classes/preparationDevice/index.ts | 22 + .../preparationDevice/preparationDevice.ts | 27 + .../preparationDevice/xenia/xeniaDevice.ts | 154 + .../brew-information.component.ts | 10 +- .../brew-brewing/brew-brewing.component.html | 6 +- .../brew-brewing/brew-brewing.component.ts | 3 + .../preparation-information-card.component.ts | 210 +- src/data/tracking/preparationTracking.ts | 11 +- src/enums/preparations/preparationAction.ts | 4 +- src/interfaces/preparation/iPreparation.ts | 2 + .../iConnectedPreparationDevice.ts | 6 + src/services/uiPreparationHelper.ts | 135 +- 28 files changed, 716 insertions(+), 49504 deletions(-) delete mode 100644 package-lock.json create mode 100644 src/app/preparation/preparation-connected-device/preparation-connected-device.component.html create mode 100644 src/app/preparation/preparation-connected-device/preparation-connected-device.component.scss create mode 100644 src/app/preparation/preparation-connected-device/preparation-connected-device.component.spec.ts create mode 100644 src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts create mode 100644 src/classes/preparationDevice/connectedPreparationDevice.ts create mode 100644 src/classes/preparationDevice/index.ts create mode 100644 src/classes/preparationDevice/preparationDevice.ts create mode 100644 src/classes/preparationDevice/xenia/xeniaDevice.ts create mode 100644 src/interfaces/preparationDevices/iConnectedPreparationDevice.ts diff --git a/config.xml b/config.xml index c0b17e191..bf695d6a2 100644 --- a/config.xml +++ b/config.xml @@ -28,6 +28,8 @@ + + diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index f27fc111f..000000000 --- a/package-lock.json +++ /dev/null @@ -1,49311 +0,0 @@ -{ - "name": "beanconqueror", - "version": "2.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "beanconqueror", - "version": "2.0.0", - "dependencies": { - "@angular/common": "^15.1.1", - "@angular/core": "^15.1.1", - "@angular/forms": "^15.1.1", - "@angular/platform-browser": "^15.1.1", - "@angular/platform-browser-dynamic": "^15.1.1", - "@angular/router": "^15.1.1", - "@ionic-native/android-permissions": "^5.33.1", - "@ionic-native/app-minimize": "^5.33.1", - "@ionic-native/app-version": "^5.33.1", - "@ionic-native/camera": "^5.33.1", - "@ionic-native/core": "^5.33.1", - "@ionic-native/deeplinks": "^5.33.1", - "@ionic-native/device": "^5.33.1", - "@ionic-native/file": "^5.33.1", - "@ionic-native/file-chooser": "^5.33.1", - "@ionic-native/file-path": "^5.33.1", - "@ionic-native/file-picker": "^5.33.1", - "@ionic-native/file-transfer": "^5.34.0", - "@ionic-native/geolocation": "^5.33.1", - "@ionic-native/globalization": "^5.33.1", - "@ionic-native/image-picker": "^5.33.1", - "@ionic-native/in-app-browser": "^5.33.1", - "@ionic-native/insomnia": "^5.33.1", - "@ionic-native/keyboard": "^5.33.1", - "@ionic-native/screen-orientation": "^5.36.0", - "@ionic-native/social-sharing": "^5.33.1", - "@ionic-native/splash-screen": "^5.33.1", - "@ionic-native/status-bar": "^5.33.1", - "@ionic-native/three-dee-touch": "^5.33.1", - "@ionic/angular": "^6.5.0", - "@ionic/cli": "^6.18.1", - "@ionic/storage": "^2.3.1", - "@ngx-translate/core": "^11.0.1", - "@ngx-translate/http-loader": "^4.0.0", - "ag-virtual-scroll": "^1.5.2", - "chart.js": "^3.9.1", - "chartjs-adapter-luxon": "^1.1.0", - "chartjs-plugin-annotation": "^1.3.0", - "chartjs-plugin-streaming": "^2.0.0", - "chartjs-plugin-zoom": "^1.2.0", - "cordova-android": "10.1.2", - "cordova-android-support-gradle-release": "^3.0.1", - "cordova-plugin-3dtouch": "^1.3.8", - "cordova-plugin-android-permissions": "1.1.2", - "cordova-plugin-appminimize": "^1.0.1", - "cordova-plugin-device": "^2.0.3", - "cordova-plugin-enable-multidex": "^0.2.0", - "cordova-plugin-filechooser": "^1.2.0", - "cordova-plugin-filepicker": "^1.1.6", - "cordova-plugin-globalization": "^1.11.0", - "cordova-plugin-ionic-keyboard": "^2.2.0", - "cordova-plugin-statusbar": "^2.4.3", - "core-js": "^3.19.3", - "currency-symbol-map": "^5.0.1", - "html-to-image": "^1.10.8", - "javascript-color-gradient": "^1.3.2", - "jsurl": "^0.1.5", - "lodash": "^4.17.21", - "long": "^5.2.0", - "luxon": "^2.3.0", - "lz-string": "^1.4.4", - "moment": "^2.29.1", - "ngx-gauge": "^6.0.0", - "ngx-stars": "^1.4.3", - "postcss": "^8.3.5", - "rxjs": "^6.6.6", - "tslib": "^2.0.0", - "xlsx": "^0.17.4", - "zone.js": "~0.11.4" - }, - "devDependencies": { - "@angular-devkit/architect": "^0.1501.2", - "@angular-devkit/build-angular": "^15.1.2", - "@angular-devkit/core": "^15.1.2", - "@angular-devkit/schematics": "^15.1.2", - "@angular/cli": "^15.1.2", - "@angular/compiler": "^15.1.1", - "@angular/compiler-cli": "^15.1.1", - "@angular/language-service": "^15.1.1", - "@ionic/angular-toolkit": "^5.0.3", - "@types/cordova-plugin-ble-central": "^1.3.1", - "@types/jasmine": "~3.6.0", - "@types/jasminewd2": "~2.0.8", - "@types/lodash": "^4.14.178", - "@types/node": "^12.20.5", - "@types/protobufjs": "^6.0.0", - "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", - "cordova-ios": "^6.2.0", - "cordova-plugin-add-swift-support": "^2.0.2", - "cordova-plugin-androidx": "^3.0.0", - "cordova-plugin-androidx-adapter": "^1.1.3", - "cordova-plugin-app-version": "^0.1.12", - "cordova-plugin-apprate": "^1.7.2", - "cordova-plugin-ble-central": "^1.5.2", - "cordova-plugin-camera": "^6.0.0", - "cordova-plugin-customurlscheme-ng": "^10.0.0", - "cordova-plugin-dialogs": "^2.0.2", - "cordova-plugin-file": "^7.0.0", - "cordova-plugin-file-transfer": "github:dpa99c/cordova-plugin-file-transfer", - "cordova-plugin-geolocation": "^4.1.0", - "cordova-plugin-health": "^2.0.0", - "cordova-plugin-inappbrowser": "^5.0.0", - "cordova-plugin-insomnia": "^4.3.0", - "cordova-plugin-ionic-webview": "^5.0.0", - "cordova-plugin-nativestorage": "^2.3.2", - "cordova-plugin-screen-orientation": "^3.0.2", - "cordova-plugin-simple-file-chooser": "^2.2.1", - "cordova-plugin-splashscreen": "^6.0.0", - "cordova-plugin-telerik-imagepicker": "^2.3.3", - "cordova-plugin-x-socialsharing": "^6.0.3", - "cordova-sqlite-storage": "^5.1.0", - "elliptic": ">=6.5.4", - "es6-promise-plugin": "^4.2.2", - "fttx-phonegap-plugin-barcodescanner": "github:fttx/phonegap-plugin-barcodescanner", - "husky": "^8.0.1", - "ionic-plugin-deeplinks": "^1.0.22", - "jasmine-core": "~3.6.0", - "jasmine-spec-reporter": "~5.0.0", - "karma": "^6.3.9", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~3.0.2", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", - "lint-staged": "^13.0.3", - "prettier": "^2.7.1", - "protractor": "~7.0.0", - "skwas-cordova-plugin-datetimepicker": "^2.1.2", - "stylelint": "^13.12.0", - "stylelint-config-standard": "^20.0.0", - "ts-node": "~8.3.0", - "ts-proto": "^1.122.0", - "tslint": "~6.1.0", - "typescript": "~4.9.4", - "webpack-subresource-integrity": "^1.5.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/architect": { - "version": "0.1501.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.2.tgz", - "integrity": "sha512-AfORVGLN0FBIUXO3FkfGOKu+Gz6oJjF8Bu8cPn27duiI0wszxGNY3fATKwbSg7JcKx1oQS/G7RjyC5OiTA6a0Q==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "15.1.2", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/build-angular": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.2.tgz", - "integrity": "sha512-8udBKfHo3c/hOuh6VB11UKQZcqbolcNW2smtM9HJMm3fcykvyFEIitoCyl/tgraST+14/kA4aiINdl4EQ4BanQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1501.2", - "@angular-devkit/build-webpack": "0.1501.2", - "@angular-devkit/core": "15.1.2", - "@babel/core": "7.20.12", - "@babel/generator": "7.20.7", - "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.20.7", - "@babel/plugin-transform-async-to-generator": "7.20.7", - "@babel/plugin-transform-runtime": "7.19.6", - "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.7", - "@babel/template": "7.20.7", - "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "15.1.2", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.13", - "babel-loader": "9.1.2", - "babel-plugin-istanbul": "6.1.1", - "browserslist": "4.21.4", - "cacache": "17.0.4", - "chokidar": "3.5.3", - "copy-webpack-plugin": "11.0.0", - "critters": "0.0.16", - "css-loader": "6.7.3", - "esbuild-wasm": "0.16.17", - "glob": "8.0.3", - "https-proxy-agent": "5.0.1", - "inquirer": "8.2.4", - "jsonc-parser": "3.2.0", - "karma-source-map-support": "1.4.0", - "less": "4.1.3", - "less-loader": "11.1.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.1", - "magic-string": "0.27.0", - "mini-css-extract-plugin": "2.7.2", - "open": "8.4.0", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.2.0", - "postcss": "8.4.21", - "postcss-loader": "7.0.2", - "resolve-url-loader": "5.0.0", - "rxjs": "6.6.7", - "sass": "1.57.1", - "sass-loader": "13.2.0", - "semver": "7.3.8", - "source-map-loader": "4.0.1", - "source-map-support": "0.5.21", - "terser": "5.16.1", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.4.1", - "webpack": "5.75.0", - "webpack-dev-middleware": "6.0.1", - "webpack-dev-server": "4.11.1", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "5.1.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "esbuild": "0.16.17" - }, - "peerDependencies": { - "@angular/compiler-cli": "^15.0.0", - "@angular/localize": "^15.0.0", - "@angular/platform-server": "^15.0.0", - "@angular/service-worker": "^15.0.0", - "karma": "^6.3.0", - "ng-packagr": "^15.0.0", - "protractor": "^7.0.0", - "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.8.2 <5.0" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "karma": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "protractor": { - "optional": true - }, - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/cacache/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/inquirer": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/inquirer/node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/piscina": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", - "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", - "dev": true, - "dependencies": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0" - }, - "optionalDependencies": { - "nice-napi": "^1.0.2" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "node_modules/@angular-devkit/build-angular/node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "dependencies": { - "typed-assert": "^1.0.8" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", - "webpack": "^5.12.0" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-optimizer": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz", - "integrity": "sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==", - "dev": true, - "dependencies": { - "source-map": "0.7.3", - "tslib": "2.3.0", - "typescript": "4.3.5" - }, - "bin": { - "build-optimizer": "src/build-optimizer/cli.js" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-optimizer/node_modules/typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1501.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.2.tgz", - "integrity": "sha512-FzslFvjuAabwtz2wMTCeemYCJA4NqRECz+WEsEZbtwESBMmKdaqmpbdW9ypsepB2iC7eIbHK43R95XAM75utTw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1501.2", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^4.0.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.2.tgz", - "integrity": "sha512-wkLZYvTZt30Ge6Z83Gxsr6mO1TIHCu3SImdE0zwW63EdU9o1NYkU74z1D9VUZ9Up7uHi1cHs/dssbxUuZ4eWOA==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "6.6.7", - "source-map": "0.7.4" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@angular-devkit/core/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@angular-devkit/core/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@angular-devkit/core/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@angular-devkit/schematics": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.2.tgz", - "integrity": "sha512-HjJPm+4SS5TdAHHvdpXLv25wsvwVOn5RYs0A9MazTndlm80ct3PKeYUgakNDRFjRj8uORNlJMKmQIIhUSDjFsw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "15.1.2", - "jsonc-parser": "3.2.0", - "magic-string": "0.27.0", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@angular-devkit/schematics/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular/animations": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.0.tgz", - "integrity": "sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw==", - "peer": true, - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.15.0 || >=16.10.0" - }, - "peerDependencies": { - "@angular/core": "14.1.0" - } - }, - "node_modules/@angular/cli": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.2.tgz", - "integrity": "sha512-h42k410W6PPnz9KjX8dCtruMqf1mHgIf7UWrLa8icKpk03U2SIgoJzaXgY/spSHiMGIdDnY1dAYKWV0GQS4zEg==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1501.2", - "@angular-devkit/core": "15.1.2", - "@angular-devkit/schematics": "15.1.2", - "@schematics/angular": "15.1.2", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "3.0.1", - "inquirer": "8.2.4", - "jsonc-parser": "3.2.0", - "npm-package-arg": "10.1.0", - "npm-pick-manifest": "8.0.1", - "open": "8.4.0", - "ora": "5.4.1", - "pacote": "15.0.8", - "resolve": "1.22.1", - "semver": "7.3.8", - "symbol-observable": "4.0.0", - "yargs": "17.6.2" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/@schematics/angular": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.2.tgz", - "integrity": "sha512-PcAbjbWvaW3yKvcGCqHrlHm4BTwGuqr58czCASc49Hy6tJba+dRblYatzB0D1tzdJOTsa684Ghg7knCN86fHeg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "15.1.2", - "@angular-devkit/schematics": "15.1.2", - "jsonc-parser": "3.2.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/cli/node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@angular/cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@angular/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular/cli/node_modules/ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", - "dev": true, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@angular/cli/node_modules/inquirer": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@angular/cli/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular/cli/node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/@angular/cli/node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular/cli/node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular/cli/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular/cli/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@angular/common": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.1.1.tgz", - "integrity": "sha512-P4f2rK/YBQQT4clQrcQ9goLf53RS63Q1x2d1dvz7Syr3gcOUyxO7NZQ7Au5afzvbIKZ5Okd+X0+TCGV4q9wQjw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/core": "15.1.1", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.1.1.tgz", - "integrity": "sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/core": "15.1.1" - }, - "peerDependenciesMeta": { - "@angular/core": { - "optional": true - } - } - }, - "node_modules/@angular/compiler-cli": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz", - "integrity": "sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA==", - "dev": true, - "dependencies": { - "@babel/core": "7.19.3", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.27.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "bin": { - "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/main-ngcc.js" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/compiler": "15.1.1", - "typescript": ">=4.8.2 <5.0" - } - }, - "node_modules/@angular/compiler-cli/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@angular/compiler-cli/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@angular/core": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.1.1.tgz", - "integrity": "sha512-nsz+IXdkQanAGhqA2vcwTrGGyw5zIm3TgtYQ/JqK185qkmlhsQfSRvdSPsFPhmIFYp9ngZVUbkhY3D4P3gDzIg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.11.4 || ~0.12.0" - } - }, - "node_modules/@angular/forms": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.1.1.tgz", - "integrity": "sha512-1c/oZD+eSbGzDCcmC+hOqkPH+AzLOiGHxII5QiOOj8so8M958UBrsFBwrnLz06d9OK5Z4IrR4UL2JJspZNbpjw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/common": "15.1.1", - "@angular/core": "15.1.1", - "@angular/platform-browser": "15.1.1", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/language-service": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.1.tgz", - "integrity": "sha512-Wjn1t5ZjEuEJ3i2xdBArFadq4Aq7h95owiI1AcrjJ8/jjSHzszbTcQ1qs+FMKuq37A3pcpgXx6myekftRuNBkw==", - "dev": true, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.1.1.tgz", - "integrity": "sha512-U1MXowvyigmMpffsnMQI6e9gX7tA6Su7unY0pjN5u9wRYJIkEbKuFyVijguQ83bt+JK3ZBHXD0dvskYnscGUzg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/animations": "15.1.1", - "@angular/common": "15.1.1", - "@angular/core": "15.1.1" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.1.tgz", - "integrity": "sha512-iCbvYduSGtyBWuQfTzm/MDZy7Rd5MNsjpknEtJ45nbjZzv9EL1tGo6qufaTgPXHP8Nbfcco/4UO9w84Gp5irLA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/common": "15.1.1", - "@angular/compiler": "15.1.1", - "@angular/core": "15.1.1", - "@angular/platform-browser": "15.1.1" - } - }, - "node_modules/@angular/router": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.1.1.tgz", - "integrity": "sha512-5l1+6MzeJW01BeO8ZNfYe/TEVzxIHDKHWUrsmGE6oQW01LezG5LUjwR1T23YeR8G5zzRs/p+AU72wTn/aPGQHg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/common": "15.1.1", - "@angular/core": "15.1.1", - "@angular/platform-browser": "15.1.1", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@assemblyscript/loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", - "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", - "dev": true - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", - "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.13", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", - "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.13", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "node_modules/@ionic-native/android-permissions": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.33.1.tgz", - "integrity": "sha512-IlyvC8KTwjKNZvVWYI6/sPPgFxgQscJPTBhv90qFH5QOt7DZQLoGviiQC6wXSvybEnbP3YvDdXTGKKrFbS9k4w==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/app-minimize": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/app-minimize/-/app-minimize-5.33.1.tgz", - "integrity": "sha512-RvMUP85BfZKQGwxz7uVJVb5BHbgkIy4U7mSsJRX3b7QzQDfxGZ2Ud9YY4rcpSUA3fGujJqHgtkvoaGknxugx1g==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/app-version": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-5.33.1.tgz", - "integrity": "sha512-Mx4zBq1RpMOrazPaN/B4ToJBxmOtzFVG5wGjeTSovVaOzFiz8Dct7H6hwVScifIABOEA0i2gtqtwuSylJzTGWA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/camera": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.33.1.tgz", - "integrity": "sha512-mu234nKCjVziPUFD4EYfz4XbCZqV4uKLQf1IEd4YtPAe9ooYt/1HLcvftK8+BNVfWm8JrDtWSmvvmHZalHxXuA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/core": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.33.1.tgz", - "integrity": "sha512-BmjQqMzm6JE2V9Kj07cTA27frm516KMAViSpRNi4MQxPm9lHp9mxBGFDa4pqS/C0G8lA2kVh40fEZA0nOH9w+g==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/deeplinks": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-5.33.1.tgz", - "integrity": "sha512-NMO1iT89+42I2ryeMJSpDN8mrISj6NikCr9/iPxA5oBQzxv4eYtJqK1Ns5p28B1d3WZuB107WKYWqe9Z/jyHRw==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/device": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-5.33.1.tgz", - "integrity": "sha512-TupgwI9ys7baznAMVl75/giPSN/tgaC/AKzB6gOObEMWr9tzdmYxywstmsyVPCFy8MvXRO7KKfdmxG/Lg5FrWg==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/file": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.33.1.tgz", - "integrity": "sha512-N6tvCmLBYnY+fDeEhI+7kYHuIVcZ/JtrhRIepJ9qpF82DTvMg0fXy5XToKZ5hqthbKAwci8//A8Etp0oBzjx+w==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/file-chooser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-chooser/-/file-chooser-5.33.1.tgz", - "integrity": "sha512-I5BfFkRnVlUs/EFFhaP2ou854gih+wSHNbDxa6X2rx0KEgoqSSl0KtAHkUwpKcpvss1ZlsQ65kcs5bR93yZuvA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/file-path": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-path/-/file-path-5.33.1.tgz", - "integrity": "sha512-hFnvWsou1XRtt/OlxzpJos6Xii54oxCpnF6/pM2zQGBVMGaNoBgRnBsL+GtlycJmQqp/tZJAy4JDcanflHaTtg==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/file-picker": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-picker/-/file-picker-5.33.1.tgz", - "integrity": "sha512-2xVzncPUMsEludy9olGp7Z2a3nLmIiY7PvAaWQvEO4/hbwPZRezJUpFZoNbQm1rrnic915oM+FxokUKI611Xzw==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/file-transfer": { - "version": "5.34.0", - "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-5.34.0.tgz", - "integrity": "sha512-6jmT7tlh3A+H9OW+wpWbCNK+AOuVBUF+74NSrbmbqYg5py/VzMROCJtU84pb0OnBsqnxVvXqwPmodLwYMNFXBg==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/geolocation": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.33.1.tgz", - "integrity": "sha512-eQhFxeefK3fjwVyLs94jThc2y9s5qfk7QKX6BGfJTkGf3IOyZyBmFSepHF4kAQ8x1E4pa9KhhH35bZc+5NjkZA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/globalization": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-5.33.1.tgz", - "integrity": "sha512-DNY1UP8VAEIDYeJjz1rvMEJoeO+GvpPwdO/YlODlASVi/H7s7ZwOMO5giFPz49KG6fw1VAvqqyWxHTngm8mG1w==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/image-picker": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/image-picker/-/image-picker-5.33.1.tgz", - "integrity": "sha512-18b5XYf6l0xu0AGGqsib1qgcMkxwssFMK5rz3Ih+DvLH0M9g+gPocofIpSko689KsBmAy/UDxJv8Nr81egPTJQ==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/in-app-browser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.33.1.tgz", - "integrity": "sha512-WDy4ogZdPPjM8WoE6cOx+odIMhW9Pupv2eIIW1KdSsNWCwV/WL+oqFquxDvvUoaNGWosyVvziYdPU4dk6pZN/A==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/insomnia": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/insomnia/-/insomnia-5.33.1.tgz", - "integrity": "sha512-6qgNdEg78/k3fHaEdHDxB4ftNBSCRKPjfXiOFlaj2YwODuYCP+AXtSTRxSBNO1lU6Aid/NuPLdTp98lKq4qTVg==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/keyboard": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-5.33.1.tgz", - "integrity": "sha512-IDNcF2iJ+ze2qPyPgWJ5TkwP5txS6uv9gan8LkxK3zTBKznQvRhznZHbx5fXluehYa1gQZp43BOoXc/PwpT7UA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/screen-orientation": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/screen-orientation/-/screen-orientation-5.36.0.tgz", - "integrity": "sha512-+VILGrCJO76Ta6Mudd6IKc66xDek1uw5OEovFWjGCqkg0OYHFIiJFZNx4NLhF5hA1UKN2fWE6qDJaSXR+1w1Rg==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/social-sharing": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/social-sharing/-/social-sharing-5.33.1.tgz", - "integrity": "sha512-tlBNgqESB0dxKoYY61DhTx+4oP25yAGpLynS8JZ3St0vD2VjfQ//2+uVxpo8G3E2A4mEcv7+TWQ1++STphXlRw==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/splash-screen": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.33.1.tgz", - "integrity": "sha512-tSrWkm+hIgc049bRHbUDRIxxNi201LFMxD9CL78h8XzJGb+FJkkxxfA6dsCI60zm2tPOeC42ronBqss99mxeEQ==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/status-bar": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.33.1.tgz", - "integrity": "sha512-fdmLSsPnZCZERjoxzeRTB1quxf7ntqD6xdt1zB0A9FaZ7zFgEq0+RibasWXqEi/oYzqNgN35rV0FvMyGXPzw3g==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic-native/three-dee-touch": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/three-dee-touch/-/three-dee-touch-5.33.1.tgz", - "integrity": "sha512-Ujh+kbCebCSIdAOmbEOdBCjVoRryjjYWsC1cG6Wj4j6KVZJcmO9BlENN8qskkWiLKwT2rbXrod0cfgAal8QGXA==", - "dependencies": { - "@types/cordova": "latest" - }, - "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" - } - }, - "node_modules/@ionic/angular": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.5.0.tgz", - "integrity": "sha512-zO9f3SKVFUlswxeEBu7bIfNbFJzQ6QoLrKTRpgzdbhKmDQp3+opKNYVXeGASaoycmxeJn2/ahmSzXJAPudoGmQ==", - "dependencies": { - "@ionic/core": "6.5.0", - "ionicons": "^6.1.1", - "jsonc-parser": "^3.0.0", - "tslib": "^2.0.0" - }, - "peerDependencies": { - "@angular/core": ">=12.0.0", - "@angular/forms": ">=12.0.0", - "@angular/router": ">=12.0.0", - "rxjs": ">=6.6.0", - "zone.js": ">=0.11.0" - } - }, - "node_modules/@ionic/angular-toolkit": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-5.0.3.tgz", - "integrity": "sha512-xHVvB0FPkvzQ52B74EN8g0IhMj+rPl7oAMAd89P0ajlV3bvRfFyDimgx7HJDhl99qf9a7EhxjB65Yf6M/b1tnw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": ">=0.1200.0 <0.1300", - "@angular-devkit/build-angular": "^12.0.0", - "@angular-devkit/core": "^12.1.1", - "@angular-devkit/schematics": "^12.0.0", - "@schematics/angular": "^12.0.0", - "cheerio": "1.0.0-rc.10", - "colorette": "1.1.0", - "copy-webpack-plugin": "^9.0.1", - "tapable": "^2.2.0", - "tslib": "^2.0.3", - "ws": "^7.0.1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@ampproject/remapping": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.0.1.tgz", - "integrity": "sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "1.0.0", - "sourcemap-codec": "1.4.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/architect": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.17.tgz", - "integrity": "sha512-uUQcHcLbPvr9adALQSLU1MTDduVUR2kZAHi2e7SmL9ioel84pPVXBoD0WpSBeUMKwPiDs3TQDaxDB49hl0nBSQ==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "12.2.17", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", - "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", - "dev": true, - "dependencies": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.17.tgz", - "integrity": "sha512-uc3HGHVQyatqQ/M53oxYBvhz0jx0hgdc7WT+L56GLHvgz7Ct2VEbpWaMfwHkFfE1F1iHkIgnTKHKWacJl1yQIg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "1.0.1", - "@angular-devkit/architect": "0.1202.17", - "@angular-devkit/build-optimizer": "0.1202.17", - "@angular-devkit/build-webpack": "0.1202.17", - "@angular-devkit/core": "12.2.17", - "@babel/core": "7.14.8", - "@babel/generator": "7.14.8", - "@babel/helper-annotate-as-pure": "7.14.5", - "@babel/plugin-proposal-async-generator-functions": "7.14.7", - "@babel/plugin-transform-async-to-generator": "7.14.5", - "@babel/plugin-transform-runtime": "7.14.5", - "@babel/preset-env": "7.14.8", - "@babel/runtime": "7.14.8", - "@babel/template": "7.14.5", - "@discoveryjs/json-ext": "0.5.3", - "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "12.2.17", - "ansi-colors": "4.1.1", - "babel-loader": "8.2.2", - "browserslist": "^4.9.1", - "cacache": "15.2.0", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "9.0.1", - "core-js": "3.16.0", - "critters": "0.0.12", - "css-loader": "6.2.0", - "css-minimizer-webpack-plugin": "3.0.2", - "esbuild-wasm": "0.13.8", - "find-cache-dir": "3.3.1", - "glob": "7.1.7", - "https-proxy-agent": "5.0.0", - "inquirer": "8.1.2", - "karma-source-map-support": "1.4.0", - "less": "4.1.1", - "less-loader": "10.0.1", - "license-webpack-plugin": "2.3.20", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "2.4.2", - "minimatch": "3.0.4", - "open": "8.2.1", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.1.0", - "postcss": "8.3.6", - "postcss-import": "14.0.2", - "postcss-loader": "6.1.1", - "postcss-preset-env": "6.7.0", - "regenerator-runtime": "0.13.9", - "resolve-url-loader": "4.0.0", - "rxjs": "6.6.7", - "sass": "1.36.0", - "sass-loader": "12.1.0", - "semver": "7.3.5", - "source-map-loader": "3.0.0", - "source-map-support": "0.5.19", - "style-loader": "3.2.1", - "stylus": "0.54.8", - "stylus-loader": "6.1.0", - "terser": "5.7.1", - "terser-webpack-plugin": "5.1.4", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.3.0", - "webpack": "5.50.0", - "webpack-dev-middleware": "5.0.0", - "webpack-dev-server": "3.11.3", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "1.5.2" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "esbuild": "0.13.8" - }, - "peerDependencies": { - "@angular/compiler-cli": "^12.0.0", - "@angular/localize": "^12.0.0", - "@angular/service-worker": "^12.0.0", - "karma": "^6.3.0", - "ng-packagr": "^12.0.0", - "protractor": "^7.0.0", - "tailwindcss": "^2.0.0", - "tslint": "^6.1.0", - "typescript": "~4.2.3 || ~4.3.2" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "karma": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "protractor": { - "optional": true - }, - "tailwindcss": { - "optional": true - }, - "tslint": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", - "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", - "dev": true, - "dependencies": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/copy-webpack-plugin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", - "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.5", - "glob-parent": "^6.0.0", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/esbuild": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz", - "integrity": "sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "optionalDependencies": { - "esbuild-android-arm64": "0.13.8", - "esbuild-darwin-64": "0.13.8", - "esbuild-darwin-arm64": "0.13.8", - "esbuild-freebsd-64": "0.13.8", - "esbuild-freebsd-arm64": "0.13.8", - "esbuild-linux-32": "0.13.8", - "esbuild-linux-64": "0.13.8", - "esbuild-linux-arm": "0.13.8", - "esbuild-linux-arm64": "0.13.8", - "esbuild-linux-mips64le": "0.13.8", - "esbuild-linux-ppc64le": "0.13.8", - "esbuild-netbsd-64": "0.13.8", - "esbuild-openbsd-64": "0.13.8", - "esbuild-sunos-64": "0.13.8", - "esbuild-windows-32": "0.13.8", - "esbuild-windows-64": "0.13.8", - "esbuild-windows-arm64": "0.13.8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-angular/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/build-webpack": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.17.tgz", - "integrity": "sha512-z7FW43DJ4p8UZwbFRmMrh2ohqhI2Wtdg3+FZiTnl4opb3zYheGiNxPlTuiyKjG21JUkGCdthkkBLCNfaUU0U/Q==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1202.17", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^3.1.4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/core": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.14.tgz", - "integrity": "sha512-C2pVuvZGULzaIu44ixQ4prJIBn/QLY/bjlyProXM8NOw5/92iNuGus11qZ4+xeiQgzfZxXN1eYyL2Mpo7PG5ug==", - "dev": true, - "dependencies": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular-devkit/schematics": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.14.tgz", - "integrity": "sha512-QS2IdV3c51CFpHlj1x7xEOQuoYJS2W1bDYLbZUcgfp7u/6M8pA1gz96F0zy4dO5775+MSakpl9314H9956irKw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "12.2.14", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular/compiler": { - "version": "12.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.16.tgz", - "integrity": "sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA==", - "dev": true, - "peer": true, - "dependencies": { - "tslib": "^2.2.0" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular/compiler-cli": { - "version": "12.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.16.tgz", - "integrity": "sha512-tlalh8SJvdCWbUPRUR5GamaP+wSc/GuCsoUZpSbcczGKgSlbaEVXUYtVXm8/wuT6Slk2sSEbRs7tXGF2i7qxVw==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/core": "^7.8.6", - "@babel/types": "^7.8.6", - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.2.0", - "yargs": "^17.0.0" - }, - "bin": { - "ivy-ngcc": "ngcc/main-ivy-ngcc.js", - "ng-xi18n": "src/extract_i18n.js", - "ngc": "src/main.js", - "ngcc": "ngcc/main-ngcc.js" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0" - }, - "peerDependencies": { - "@angular/compiler": "12.2.16", - "typescript": ">=4.2.3 <4.4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@angular/compiler-cli/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/core": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", - "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.8", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.8", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.14.8", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/generator": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", - "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", - "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/plugin-transform-runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", - "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/preset-env": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz", - "integrity": "sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.7", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.8", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.15.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/runtime": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", - "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", - "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/@ngtools/webpack": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.17.tgz", - "integrity": "sha512-uaS+2YZgPDW3VmUuwh4/yfIFV1KRVGWefc6xLWIqKRKs6mlRYs65m3ib9dX7CTS4kQMCbhxkxMbpBO2yXlzfvA==", - "dev": true, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^12.0.0", - "typescript": "~4.2.3 || ~4.3.2", - "webpack": "^5.30.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", - "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.4", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", - "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/copy-webpack-plugin": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", - "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/core-js": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz", - "integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/critters": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", - "integrity": "sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.1.3", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/critters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/critters/node_modules/postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "dependencies": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/del/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/del/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/del/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-android-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz", - "integrity": "sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-darwin-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz", - "integrity": "sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-darwin-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz", - "integrity": "sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-freebsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz", - "integrity": "sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-freebsd-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz", - "integrity": "sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-32": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz", - "integrity": "sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz", - "integrity": "sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-arm": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz", - "integrity": "sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz", - "integrity": "sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-mips64le": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz", - "integrity": "sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-linux-ppc64le": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz", - "integrity": "sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-netbsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz", - "integrity": "sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-openbsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz", - "integrity": "sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-sunos-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz", - "integrity": "sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-wasm": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz", - "integrity": "sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA==", - "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-windows-32": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz", - "integrity": "sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-windows-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz", - "integrity": "sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/esbuild-windows-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz", - "integrity": "sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@ionic/angular-toolkit/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/inquirer": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz", - "integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/inquirer/node_modules/rxjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", - "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", - "dev": true, - "dependencies": { - "tslib": "~2.1.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/inquirer/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/less": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", - "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^1.10.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "source-map": "~0.6.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/less-loader": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", - "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", - "dev": true, - "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/less/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/less/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/license-webpack-plugin": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz", - "integrity": "sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg==", - "dev": true, - "dependencies": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/micromatch/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/micromatch/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/mini-css-extract-plugin": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz", - "integrity": "sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA==", - "dev": true, - "dependencies": { - "schema-utils": "^3.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", - "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/postcss/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/postcss/node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/sass": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz", - "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/sass-loader": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", - "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0", - "sass": "^1.3.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/source-map-js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", - "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", - "dev": true, - "dependencies": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "bin": { - "stylus": "bin/stylus" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/stylus-loader": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.1.0.tgz", - "integrity": "sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.5", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "stylus": ">=0.52.4", - "webpack": "^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/stylus/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/stylus/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/stylus/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", - "dev": true, - "dependencies": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack": { - "version": "5.50.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz", - "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-middleware": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", - "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", - "dev": true, - "dependencies": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-middleware/node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", - "dev": true, - "dependencies": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack-dev-server/node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@ionic/angular-toolkit/node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/@ionic/cli": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@ionic/cli/-/cli-6.18.1.tgz", - "integrity": "sha512-EIV4zln0xpI2O4kADXZCBkLsX/NIkbqjTAJOlsH7BrsPLo20e3LULQiX9rxiX20YK7ssz/0Sae1s70XTsHnTaQ==", - "dependencies": { - "@ionic/cli-framework": "5.1.0", - "@ionic/cli-framework-output": "2.2.2", - "@ionic/cli-framework-prompts": "2.1.8", - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-network": "2.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-subprocess": "2.1.8", - "@ionic/utils-terminal": "2.3.1", - "chalk": "^4.0.0", - "debug": "^4.0.0", - "diff": "^4.0.1", - "elementtree": "^0.1.7", - "leek": "0.0.24", - "lodash": "^4.17.5", - "open": "^7.0.4", - "os-name": "^4.0.0", - "semver": "^7.1.1", - "split2": "^3.0.0", - "ssh-config": "^1.1.1", - "stream-combiner2": "^1.1.1", - "superagent": "^5.2.1", - "superagent-proxy": "^3.0.0", - "tar": "^6.0.1", - "tslib": "^2.0.1" - }, - "bin": { - "ionic": "bin/ionic" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/cli-framework": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-5.1.0.tgz", - "integrity": "sha512-Hb/P2zuHB3zQZN0qG7Lxda8IlP2mHisfb0KR+wc9cw2BSiH+rtXRd/A4JxndPznjWs00PHbWiEm0Ehas2pA/nw==", - "dependencies": { - "@ionic/cli-framework-output": "2.2.2", - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-object": "2.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-subprocess": "2.1.8", - "@ionic/utils-terminal": "2.3.1", - "chalk": "^4.0.0", - "debug": "^4.0.0", - "lodash": "^4.17.5", - "minimist": "^1.2.0", - "rimraf": "^3.0.0", - "tslib": "^2.0.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/cli-framework-output": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", - "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", - "dependencies": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/cli-framework-output/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/cli-framework-output/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/cli-framework-prompts": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-2.1.8.tgz", - "integrity": "sha512-DjO4lQsmvficsZbPmpGqSSx+F1BfgSTQBwRqL5bl9Dkh9rIZ/ckcJcKqCciVOw9kIY7WTeNFOTwj2vWrkFn7+Q==", - "dependencies": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "inquirer": "^7.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/cli-framework-prompts/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/cli-framework-prompts/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/cli-framework/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@ionic/cli-framework/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@ionic/cli-framework/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/cli-framework/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/cli-framework/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/cli-framework/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@ionic/cli-framework/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@ionic/cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@ionic/cli/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/cli/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/cli/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ionic/cli/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ionic/cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.5.0.tgz", - "integrity": "sha512-vefrnd1WYZJnjSXwsY1sn3HJpBDKPGnwtO2US55Qrjz0d9HyUwocHgVvkvLAAKZG+LGErJbVeV8aTmdYEydRgg==", - "dependencies": { - "@stencil/core": "^2.18.0", - "ionicons": "^6.1.1", - "tslib": "^2.1.0" - } - }, - "node_modules/@ionic/storage": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/storage/-/storage-2.3.1.tgz", - "integrity": "sha512-IdYKr6xRatumkhceVbjmySCrA20KKcojQN0MyS857D4OgvcDtQhG9mvTXtfX/tU2hxaFlN6WkUaQOy3oPFcJvA==", - "dependencies": { - "localforage": "1.7.1", - "localforage-cordovasqlitedriver": "1.7.0", - "tslib": "^1.10.0" - }, - "peerDependencies": { - "@angular/core": "*", - "rxjs": "*" - } - }, - "node_modules/@ionic/storage/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@ionic/utils-array": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", - "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", - "dependencies": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-array/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-array/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-fs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", - "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", - "dependencies": { - "debug": "^4.0.0", - "fs-extra": "^9.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-fs/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-fs/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@ionic/utils-fs/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@ionic/utils-fs/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-fs/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@ionic/utils-network": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-2.1.5.tgz", - "integrity": "sha512-HUQ1Ec4Mh2MXzzKdbbbDS6xYKwpFJ2XRY7SYXbaZT8+jiNahfHbsOfe62/p8bk41Yil7E9EagzGC2JvIFJh01w==", - "dependencies": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-network/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-network/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", - "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", - "dependencies": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-object/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-object/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-process": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", - "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", - "dependencies": { - "@ionic/utils-object": "2.1.5", - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "tree-kill": "^1.2.2", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-process/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-process/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-stream": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", - "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", - "dependencies": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-stream/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-stream/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-subprocess": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", - "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", - "dependencies": { - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-terminal": "2.3.1", - "cross-spawn": "^7.0.0", - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-subprocess/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-subprocess/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-terminal": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", - "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", - "dependencies": { - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "slice-ansi": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "tslib": "^2.0.1", - "untildify": "^4.0.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10.3.0" - } - }, - "node_modules/@ionic/utils-terminal/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@ionic/utils-terminal/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@ionic/utils-terminal/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@ionic/utils-terminal/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz", - "integrity": "sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", - "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", - "dev": true, - "dependencies": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.3", - "loader-utils": "^2.0.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.7.0" - } - }, - "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/@jsdevtools/coverage-istanbul-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@netflix/nerror": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", - "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==", - "dependencies": { - "assert-plus": "^1.0.0", - "extsprintf": "^1.4.0", - "lodash": "^4.17.15" - } - }, - "node_modules/@netflix/nerror/node_modules/extsprintf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", - "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/@ngtools/webpack": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.2.tgz", - "integrity": "sha512-IxKPqyA5hiwUioAAptFaETF2TifH6cTGOc7qKYFxFgzK+llZtEBcNj3w9zrL5uCFnPHWDZqdIDhH3/WM4zBmkw==", - "dev": true, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^15.0.0", - "typescript": ">=4.8.2 <5.0", - "webpack": "^5.54.0" - } - }, - "node_modules/@ngx-translate/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz", - "integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==", - "dependencies": { - "tslib": "^1.9.0" - }, - "peerDependencies": { - "@angular/core": ">=7.0.0", - "rxjs": ">=6.3.0" - } - }, - "node_modules/@ngx-translate/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@ngx-translate/http-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-4.0.0.tgz", - "integrity": "sha512-x8LumqydWD7eX9yQTAVeoCM9gFUIGVTUjZqbxdAUavAA3qVnk9wCQux7iHLPXpydl8vyQmLoPQR+fFU+DUDOMA==", - "dependencies": { - "tslib": "^1.9.0" - }, - "peerDependencies": { - "@angular/common": ">=7.0.0", - "@ngx-translate/core": ">=11.0.0", - "rxjs": ">=6.3.0" - } - }, - "node_modules/@ngx-translate/http-loader/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "dependencies": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/fs/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", - "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@npmcli/git/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", - "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", - "dev": true, - "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", - "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, - "dependencies": { - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", - "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "dev": true - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "dev": true - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dev": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "dev": true - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "dev": true - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "dev": true - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "dev": true - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "dev": true - }, - "node_modules/@schematics/angular": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.14.tgz", - "integrity": "sha512-TpcVNTKoo44eat4lpIfl7jyd/eBuvVgI8bBIGh621QWYfkfRZFuXF6QSB4hh44aoX8lqxxRNlmIsp/P4goiMFg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "12.2.14", - "@angular-devkit/schematics": "12.2.14", - "jsonc-parser": "3.0.0" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.14.tgz", - "integrity": "sha512-C2pVuvZGULzaIu44ixQ4prJIBn/QLY/bjlyProXM8NOw5/92iNuGus11qZ4+xeiQgzfZxXN1eYyL2Mpo7PG5ug==", - "dev": true, - "dependencies": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@schematics/angular/node_modules/@angular-devkit/schematics": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.14.tgz", - "integrity": "sha512-QS2IdV3c51CFpHlj1x7xEOQuoYJS2W1bDYLbZUcgfp7u/6M8pA1gz96F0zy4dO5775+MSakpl9314H9956irKw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "12.2.14", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.14.1 || >=14.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@schematics/angular/node_modules/ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@schematics/angular/node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/@schematics/angular/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/@stencil/core": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.22.1.tgz", - "integrity": "sha512-L4EsWLXYkg24BfrR3aS1df3BSkH0RFyza+Tu84MaYoF2csiKTJxDTZuFHSnJeF8UdgzV7CBfnsIEV6r3s0+h3g==", - "bin": { - "stencil": "bin/stencil" - }, - "engines": { - "node": ">=12.10.0", - "npm": ">=6.0.0" - } - }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", - "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", - "dev": true, - "dependencies": { - "@babel/core": ">=7.9.0" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", - "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", - "deprecated": "Use the original unforked package instead: postcss-markdown", - "dev": true, - "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "node_modules/@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", - "dev": true - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "node_modules/@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - }, - "node_modules/@types/cordova-plugin-ble-central": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.3.1.tgz", - "integrity": "sha512-zhn/2hVV/LIOyQr0sUptafphRCO3QxMpp3A1vKmRmJCyPbzC+9GLZvAFJ0/MUkgPf63dySTBL7c/MldMEnF+hw==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", - "dev": true - }, - "node_modules/@types/eslint": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz", - "integrity": "sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", - "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.31", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.32", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", - "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/jasmine": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.6.tgz", - "integrity": "sha512-kgl+oYOLCBt41iba8cetp+QPOqDAaTJnHtVPCE7JzYmda4juglRBLX35opVcANc7TLA/Lp0DEnajbUNnyxGC+Q==", - "dev": true - }, - "node_modules/@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", - "dev": true, - "dependencies": { - "@types/jasmine": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "dev": true - }, - "node_modules/@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "dev": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "node_modules/@types/node": { - "version": "12.20.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.5.tgz", - "integrity": "sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "node_modules/@types/object-hash": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", - "integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/protobufjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/protobufjs/-/protobufjs-6.0.0.tgz", - "integrity": "sha512-A27RDExpAf3rdDjIrHKiJK6x8kqqJ4CmoChwtipfhVAn1p7+wviQFFP7dppn8FslSbHtQeVPvi8wNKkDjSYjHw==", - "deprecated": "This is a stub types definition for protobufjs (https://github.com/dcodeIO/ProtoBuf.js). protobufjs provides its own type definitions, so you don't need @types/protobufjs installed!", - "dev": true, - "dependencies": { - "protobufjs": "*" - } - }, - "node_modules/@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", - "dev": true, - "dependencies": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", - "dev": true - }, - "node_modules/@types/webpack-sources": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz", - "integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@wisdomgarden/cordova-plugin-filepath": { - "version": "1.6.0-4", - "resolved": "git+ssh://git@github.com/wisdom-garden/cordova-plugin-filepath.git#50d756e125eb4c95a357bd11137b3eafbee199b0", - "integrity": "sha512-b9Op8wYpLnGddOMLAbChRlJYM7jz9AWEbWy8CWxIeIOgJflydZSIzsjBbqe9TQGTq+v9UoUOJsEP/jx5tmQvQg==", - "dev": true, - "license": "Apache 2.0" - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/adler-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", - "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", - "dependencies": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - }, - "bin": { - "adler32": "bin/adler32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true, - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/ag-virtual-scroll": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ag-virtual-scroll/-/ag-virtual-scroll-1.5.2.tgz", - "integrity": "sha512-n5z5gbh5DFfn9JxyOW1k7OR6KPp8tKrQwCgD0ICPGqT7BWdonxPxvi7kZsyC+2vl3ckr8fwKAIDGPs5Z+rnVKw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/animations": "^14.0.0", - "@angular/common": "^14.0.0", - "@angular/compiler": "^14.0.0", - "@angular/core": "^14.0.0" - } - }, - "node_modules/agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "dependencies": { - "es6-promisify": "^5.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/agentkeepalive/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agentkeepalive/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "node_modules/android-versions": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.8.1.tgz", - "integrity": "sha512-5a0YyylAk6pPM2Ezi0vWaPPNbS6tSNRs+micbgk5NpHEN5YW1ez+T94G5orysfwBEBDMHoxm5GNc5ZDUPgRrhw==", - "dependencies": { - "semver": "^5.7.1" - } - }, - "node_modules/android-versions/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "dependencies": { - "type-fest": "^0.11.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/ansi-styles/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/ansi-styles/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/arg": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz", - "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/autoprefixer/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "dev": true - }, - "node_modules/babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", - "dev": true, - "dependencies": { - "find-cache-dir": "^3.3.2", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-loader/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/babel-loader/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/babel-loader/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/babel-loader/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/big-integer": { - "version": "1.6.45", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.45.tgz", - "integrity": "sha512-nmb9E7oEtVJ7SmSCH/DeJobXyuRmaofkpoQSimMFu3HKJ5MADtM825SPLhDuWhZ6TElLAQtgJbQmBZuHIRlZoA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "blocking-proxy": "built/lib/bin.js" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour-service": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", - "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", - "dev": true, - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/bonjour-service/node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/bonjour-service/node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "node_modules/bplist-creator": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", - "dependencies": { - "stream-buffers": "2.2.x" - } - }, - "node_modules/bplist-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", - "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", - "dependencies": { - "big-integer": "1.6.x" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", - "dev": true, - "dependencies": { - "https-proxy-agent": "^2.2.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", - "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", - "dev": true, - "dependencies": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001446", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", - "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true, - "peer": true - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "node_modules/cfb": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz", - "integrity": "sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==", - "dependencies": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0", - "printj": "~1.3.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cfb/node_modules/adler-32": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz", - "integrity": "sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==", - "dependencies": { - "printj": "~1.2.2" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cfb/node_modules/adler-32/node_modules/printj": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz", - "integrity": "sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==", - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cfb/node_modules/printj": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz", - "integrity": "sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==", - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/chart.js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", - "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" - }, - "node_modules/chartjs-adapter-luxon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.1.0.tgz", - "integrity": "sha512-CS+xBWEyXYVLBZ3dSY/MwlSXhz8er4JjkApazY84ft/++oOLsmkt6TaXBCsUFudum7QdoYmpxiL/gSp20+emkw==", - "peerDependencies": { - "chart.js": "^3.0.0", - "luxon": "^1.0.0 || ^2.0.0" - } - }, - "node_modules/chartjs-plugin-annotation": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-annotation/-/chartjs-plugin-annotation-1.3.0.tgz", - "integrity": "sha512-TF2Y+ZYnz5TdSmyU1WIeWqXXcIS+3GfWkJOrdovd/JgdLzKxw7/paj01FVeAtTzfRPdc6dy/zQERoBdYSstYsw==", - "peerDependencies": { - "chart.js": "^3.1.0" - } - }, - "node_modules/chartjs-plugin-streaming": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-streaming/-/chartjs-plugin-streaming-2.0.0.tgz", - "integrity": "sha512-oBwHRmovGbPDS1h8PhpttnlKjI6eiJO13v4h+xz+mfbHhIc+iNF9xuMobCIFMKFH7rlVWi5TJAOIxoXyGElYYg==", - "peerDependencies": { - "chart.js": "^3.0.0" - } - }, - "node_modules/chartjs-plugin-zoom": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.2.0.tgz", - "integrity": "sha512-cLYKUHHx4bevuZQDpEKdjpvZ6HGu6NF8laTThgA0I9af+PV1N4qVTRZmyDNh0SAzsHZPtDOhuO3I7B4CF1lstw==", - "dependencies": { - "hammerjs": "^2.0.8" - }, - "peerDependencies": { - "chart.js": "^3.2.0" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dev": true, - "dependencies": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", - "dev": true, - "dependencies": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cheerio-select/node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/cheerio-select/node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/cheerio-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/cheerio/node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/cheerio/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "webpack": ">=4.0.1" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colord": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", - "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" - }, - "node_modules/copy-anything": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", - "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", - "dev": true, - "dependencies": { - "is-what": "^3.12.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cordova-android": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-10.1.2.tgz", - "integrity": "sha512-F28+NvgKO4ZhKFkqctCOh62mhVoNyUuRQh/F/nqp+Sti4ODv2rUa6UeW18khhdYTjlDeihHQsPqxvB7mI6fVYA==", - "dependencies": { - "android-versions": "^1.7.0", - "cordova-common": "^4.0.2", - "execa": "^5.1.1", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "is-path-inside": "^3.0.3", - "nopt": "^5.0.0", - "properties-parser": "^0.3.1", - "semver": "^7.3.5", - "untildify": "^4.0.0", - "which": "^2.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/cordova-android-support-gradle-release": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-3.0.1.tgz", - "integrity": "sha512-RSW55DkSckmqhX/kjj+a1YeVdy7s/AtlZn6Qa5XMQmmA4Iogq+IF2jvInZqzCF19DbI5YE95AP7VDbRk+DdDRw==", - "dependencies": { - "q": "^1.4.1", - "semver": "5.6.0" - } - }, - "node_modules/cordova-android/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cordova-android/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/cordova-android/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cordova-android/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cordova-android/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cordova-android/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cordova-common": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz", - "integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==", - "dependencies": { - "@netflix/nerror": "^1.1.3", - "ansi": "^0.3.1", - "bplist-parser": "^0.2.0", - "cross-spawn": "^7.0.1", - "elementtree": "^0.1.7", - "endent": "^1.4.1", - "fast-glob": "^3.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "plist": "^3.0.1", - "q": "^1.5.1", - "read-chunk": "^3.2.0", - "strip-bom": "^4.0.0", - "underscore": "^1.9.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/cordova-common/node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/cordova-common/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cordova-common/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/cordova-common/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cordova-ios": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz", - "integrity": "sha512-sLjZg2QBI1SpQVwfe0MSn89YNVkBGLW9Q1vcFJBsqKBrhvoEOJ5Ytq0gwqdhgTOGzlwJUfxC6OHM3jcsRjtYrw==", - "dev": true, - "dependencies": { - "cordova-common": "^4.0.2", - "fs-extra": "^9.1.0", - "ios-sim": "^8.0.2", - "nopt": "^5.0.0", - "plist": "^3.0.1", - "semver": "^7.3.4", - "unorm": "^1.6.0", - "which": "^2.0.2", - "xcode": "^3.0.1", - "xml-escape": "^1.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cordova-ios/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cordova-ios/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/cordova-ios/node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cordova-ios/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cordova-ios/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/cordova-ios/node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/cordova-ios/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cordova-ios/node_modules/xcode": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", - "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", - "dev": true, - "dependencies": { - "simple-plist": "^1.1.0", - "uuid": "^7.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/cordova-plugin-3dtouch": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/cordova-plugin-3dtouch/-/cordova-plugin-3dtouch-1.3.8.tgz", - "integrity": "sha512-xX19yf3L8aT+Qx/0tvPpZl0A6PLSzaUbqA8ODoMJSIErin6nXvgdtM1L9ldvgqdNtXX7eIZA7iYeBlC9fcd3pQ==", - "engines": [ - { - "name": "cordova", - "version": ">=3.5.0" - } - ] - }, - "node_modules/cordova-plugin-add-swift-support": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", - "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3", - "semver": "^6.0.0", - "xcode": "^2.0.0" - } - }, - "node_modules/cordova-plugin-add-swift-support/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/cordova-plugin-android-permissions": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.1.2.tgz", - "integrity": "sha512-vJd56gLaSgQnB/4+uUjyVwVAii5TszBPAgjVkGvM8658cP5rjiNFAWmoOYkjeSe1I6dJk+MGrh/GbPkn0a+2OA==", - "engines": [ - { - "name": "cordova", - "version": ">=5.0.0" - } - ] - }, - "node_modules/cordova-plugin-androidx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz", - "integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==", - "dev": true - }, - "node_modules/cordova-plugin-androidx-adapter": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz", - "integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==", - "dev": true, - "dependencies": { - "q": "^1.5.1", - "recursive-readdir": "^2.2.2" - } - }, - "node_modules/cordova-plugin-app-version": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.12.tgz", - "integrity": "sha512-P+0d9+h9HasanKuMd8tcEpuJJlsVmClie3Mbq16v3TV/VroDrgYB6Ea8Imkc/WjjMVSBCjWB+pji1LoupWlddA==", - "dev": true - }, - "node_modules/cordova-plugin-appminimize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-appminimize/-/cordova-plugin-appminimize-1.0.1.tgz", - "integrity": "sha512-UJZ5g8iFBP42EplS0gKwAQhwr9cUfur95o6w+2NW21pjbgioj1RVZddngy7dO++ABDpkd4HMPYnJw7DqMp5rww==" - }, - "node_modules/cordova-plugin-apprate": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-apprate/-/cordova-plugin-apprate-1.7.2.tgz", - "integrity": "sha512-kW92o//7EVr+heGRp3J6BUPE1w5zQaJdh3ZEdE5EBrr95yVarhJ8W9NN4CoMM+YlgF8flUqWD+vN+reBv+RZrg==", - "dev": true - }, - "node_modules/cordova-plugin-ble-central": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.5.2.tgz", - "integrity": "sha512-B6r1LBTU4kdsShWoFnlAn5oKYI0IGQiqLILcw4wlt9yXXiM+Srl46Nau1Vhwoh/6dAbilwvr7oblGT0AmBOjWw==", - "dev": true - }, - "node_modules/cordova-plugin-camera": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-6.0.0.tgz", - "integrity": "sha512-FTFKep8HZI/2HkX+Gc/dUACfZGV9+k9waXlgoEOKXOiPPR/1zBw29Mw+adcz4FQUpdWyAgYDxNiaPUnP0P+H2Q==", - "dev": true, - "engines": { - "cordovaDependencies": { - "3.0.0": { - "cordova-android": ">=6.3.0" - }, - "4.1.0": { - "cordova": ">=7.1.0", - "cordova-android": ">=6.3.0" - }, - "5.0.0": { - "cordova": ">=9.0.0", - "cordova-android": ">=9.0.0", - "cordova-ios": ">=5.1.0" - }, - "5.0.4-dev": { - "cordova": ">=9.0.0", - "cordova-android": "<10.0.0", - "cordova-ios": ">=5.1.0" - }, - "6.0.0": { - "cordova": ">=9.0.0", - "cordova-android": ">=10.0.0", - "cordova-ios": ">=5.1.0" - }, - "7.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-customurlscheme-ng": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-customurlscheme-ng/-/cordova-plugin-customurlscheme-ng-10.0.0.tgz", - "integrity": "sha512-XGoUioiF23HNk8BY/I1AQ1j9jsVTtjIqZFxmZGyXzLH+hEvagi2vixXvJB2GLh737jb1rhiJn+F02EJDgtTlvQ==", - "dev": true, - "engines": [ - { - "name": "cordova", - "version": ">=7.1.0" - } - ] - }, - "node_modules/cordova-plugin-device": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.3.tgz", - "integrity": "sha512-Jb3V72btxf3XHpkPQsGdyc8N6tVBYn1vsxSFj43fIz9vonJDUThYPCJJHqk6PX6N4dJw6I4FjxkpfCR4LDYMlw==", - "engines": { - "cordovaDependencies": { - "3.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-dialogs": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-dialogs/-/cordova-plugin-dialogs-2.0.2.tgz", - "integrity": "sha512-FUHI6eEVeoz2VkxbF0P56QlUQLGzXcvw3i4xuXyM9gEct6Y+FA3Xzgl2pJTZcTg5wRqLWzN08kgNoHPkom15pw==", - "dev": true, - "engines": { - "cordovaDependencies": { - "3.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-enable-multidex": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-enable-multidex/-/cordova-plugin-enable-multidex-0.2.0.tgz", - "integrity": "sha512-W/s8FpRdi3kTLtePdvauqKj1qqoxZDJWmEphvAmSmPwNTtfv3CxgnwFYc9aNmR9iDiJk3E0ME+9BRkbyz/4rXw==" - }, - "node_modules/cordova-plugin-file": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-7.0.0.tgz", - "integrity": "sha512-mSwy9GE5pHq2ZHhu/wYk/VhrwR5VLk+XQsk3+IiiFmDgcPsrVIyELkM2FZKX09cC6i+bJVTFVKUlwteSStj3ow==", - "dev": true, - "engines": { - "cordovaDependencies": { - "5.0.0": { - "cordova-android": ">=6.3.0" - }, - "7.0.0": { - "cordova-android": ">=10.0.0" - }, - "8.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-file-transfer": { - "version": "2.0.0-dev", - "resolved": "git+ssh://git@github.com/dpa99c/cordova-plugin-file-transfer.git#2cdb0403a81821e144998c8d9a00d338d6ece3ee", - "integrity": "sha512-nOOCSablnogiNuLYpMN+p5+D0km8xAGfzrh5+znfLLSKAwGTOiy/zB7nCgigVAGPW8JIeBsaR0zKMt0msClqzw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "cordovaDependencies": { - "3.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-filechooser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-filechooser/-/cordova-plugin-filechooser-1.2.0.tgz", - "integrity": "sha512-ycL9ML3wlRQ8wfK7vCG8gobv1f3VIdO52m0LA9mPSzLblbu0AXJs89yCRxZB87+08/V96qBxrmkxMsMmVYu5wA==" - }, - "node_modules/cordova-plugin-filepicker": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/cordova-plugin-filepicker/-/cordova-plugin-filepicker-1.1.6.tgz", - "integrity": "sha512-nUlnFj22HImuF/sjB61qdNyzg/9wFbx1808ADly7QN6jDK1DoN18qg8POOroPCNG355v7mbh/nohxnEYz57tHg==", - "engines": [ - { - "name": "cordova", - "version": ">=3.0.0" - } - ], - "dependencies": { - "q": "^1.5.1", - "xcode": "^2.0.0" - } - }, - "node_modules/cordova-plugin-geolocation": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-geolocation/-/cordova-plugin-geolocation-4.1.0.tgz", - "integrity": "sha512-y5io/P10xGMxSn2KEqfv/fExK47eA1pmSonJdmDqDsaSADV9JpgdPx0mUSA08+5pzma/OS9R0LoODeDPx7Jvjg==", - "dev": true, - "engines": { - "cordovaDependencies": { - "3.0.0": { - "cordova-android": ">=6.3.0" - }, - "5.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-globalization": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz", - "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=", - "engines": { - "cordovaDependencies": { - "2.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-health": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-health/-/cordova-plugin-health-2.0.0.tgz", - "integrity": "sha512-KIehXuSoDMiCxzrQzV/duON1EBNOlszcuzOZqjq67c1ScgvHMSzbRI9GSQ7w55AFTSZBMfeob7AuqGOJCGozbQ==", - "dev": true, - "engines": [ - { - "name": "cordova", - "version": ">=6.0.0" - } - ] - }, - "node_modules/cordova-plugin-inappbrowser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", - "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==", - "dev": true, - "engines": { - "cordovaDependencies": { - "0.2.3": { - "cordova": ">=3.1.0" - }, - "4.0.0": { - "cordova": ">=3.1.0", - "cordova-ios": ">=4.0.0" - }, - "5.0.0": { - "cordova": ">=9.0.0", - "cordova-android": ">=9.0.0", - "cordova-ios": ">=6.0.0" - }, - "6.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-insomnia": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-insomnia/-/cordova-plugin-insomnia-4.3.0.tgz", - "integrity": "sha1-gyoz9tdj8LgCc733YbNbZ4xDuVc=", - "dev": true, - "engines": [ - { - "name": "cordova", - "version": ">=3.0.0" - } - ] - }, - "node_modules/cordova-plugin-ionic-keyboard": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz", - "integrity": "sha512-yDUG+9ieKVRitq5mGlNxjaZh/MgEhFFIgTIPhqSbUaQ8UuZbawy5mhJAVClqY97q8/rcQtL6dCDa7x2sEtCLcA==" - }, - "node_modules/cordova-plugin-ionic-webview": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-5.0.0.tgz", - "integrity": "sha512-Wq0kCanxubK/JroTW4Mp5soayScnRyiY1eCkbwiz1Dyt1xHOiOW/v+1miqtBHtnZhcXw25TulCKAVJzkNBdmyg==", - "dev": true, - "engines": { - "cordovaDependencies": { - "2.0.0": { - "cordova-android": ">=6.4.0", - "cordova-ios": ">=4.0.0-dev" - }, - "3.1.0": { - "cordova": ">=7.1.0", - "cordova-android": ">=6.4.0", - "cordova-ios": ">=4.0.0-dev" - } - } - } - }, - "node_modules/cordova-plugin-nativestorage": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-nativestorage/-/cordova-plugin-nativestorage-2.3.2.tgz", - "integrity": "sha512-olg/BzYRk0NGbKQ5f7rf21RYQEyJI19CCZn6RpVMO9/kbRRFqae/6ixjDNy81dXSu2TQ42brjBddGe1Qpn5ViA==", - "dev": true - }, - "node_modules/cordova-plugin-screen-orientation": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.2.tgz", - "integrity": "sha512-2w6CMC+HGvbhogJetalwGurL2Fx8DQCCPy3wlSZHN1/W7WoQ5n9ujVozcoKrY4VaagK6bxrPFih+ElkO8Uqfzg==", - "dev": true, - "engines": { - "cordovaDependencies": { - "4.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-simple-file-chooser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-simple-file-chooser/-/cordova-plugin-simple-file-chooser-2.2.1.tgz", - "integrity": "sha512-uiDt8ynX6s/GInaZg4mi/gDgk0OLK//5lT/gunP5LHi898LOH0c5y6qnD0IS5ued5AYuETFRs63X2be3+3d5Wg==", - "dev": true - }, - "node_modules/cordova-plugin-splashscreen": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-6.0.0.tgz", - "integrity": "sha512-pm4ZtJKQY4bCGXVeIInbGrXilryTevYSKgfvoQJpW9UClOWKAxSsYf2/4G2u1vcn492svOSL42OSa2MhujBWEQ==", - "dev": true, - "engines": { - "cordovaDependencies": { - ">=4.0.0": { - "cordova-android": ">=3.6.0", - "cordova-windows": ">=4.4.0" - }, - "2.0.0": { - "cordova-android": ">=3.6.0" - }, - "7.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-statusbar": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.3.tgz", - "integrity": "sha512-ThmXzl6QIKWFXf4wWw7Q/zpB+VKkz3VM958+5A0sXD4jmR++u7KnGttLksXshVwWr6lvGwUebLYtIyXwS4Ovcg==", - "engines": { - "cordovaDependencies": { - "0.1.0": { - "cordova": ">=3.0.0" - }, - "3.0.0": { - "cordova": ">100" - } - } - } - }, - "node_modules/cordova-plugin-telerik-imagepicker": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-telerik-imagepicker/-/cordova-plugin-telerik-imagepicker-2.3.3.tgz", - "integrity": "sha512-eL16EIxDueDo+dky5lNuzC+bDbKHPLPDfd/mtNpaCTNoT6iZqFd9/qJwSMnidXqCeExJZkN4ACsEHmtUA+vQ7Q==", - "dev": true, - "engines": { - "name": "cordova", - "version": ">=3.5.0" - } - }, - "node_modules/cordova-plugin-x-socialsharing": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-x-socialsharing/-/cordova-plugin-x-socialsharing-6.0.3.tgz", - "integrity": "sha512-pnrE2CXsz4G0n0WoFDAasLS1VT3nIsNpddvXgfpiqX3wyOlSjO2NdF+sjYaTvs1B+f7z8EWbYCHpCrgBQiMLIg==", - "dev": true, - "engines": [ - { - "name": "cordova", - "version": ">=3.0.0" - } - ] - }, - "node_modules/cordova-sqlite-storage": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cordova-sqlite-storage/-/cordova-sqlite-storage-5.1.0.tgz", - "integrity": "sha512-UmHe9yQiYblDBToh3z91WHuD6ZgmCm3VX+1QFseYQs4WVQ3+ndj22qyGby/NV0uyCgok91gB1obLjLM+9vYJEw==", - "dev": true, - "dependencies": { - "cordova-sqlite-storage-dependencies": "3.0.0" - } - }, - "node_modules/cordova-sqlite-storage-dependencies": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-3.0.0.tgz", - "integrity": "sha512-A7gV5lQZc0oPrJ/a+lsZmMZr7vYou4MXyQFOY+b/dwuCMsagLT0EsL7oY54tqzpvjtzLfh0aZGGm9i8DMAIFSA==", - "dev": true - }, - "node_modules/core-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", - "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", - "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "dependencies": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - }, - "bin": { - "crc32": "bin/crc32.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/critters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/critters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/critters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/critters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dev": true, - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-blank-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-blank-pseudo/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/css-blank-pseudo/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-blank-pseudo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", - "dev": true, - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-has-pseudo/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-has-pseudo/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/css-has-pseudo/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/css-has-pseudo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", - "dev": true, - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "p-limit": "^3.0.2", - "postcss": "^8.3.5", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "dependencies": { - "css": "^2.0.0" - } - }, - "node_modules/css-parse/node_modules/css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "node_modules/css-parse/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-parse/node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-prefers-color-scheme/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/css-prefers-color-scheme/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-prefers-color-scheme/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-select": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.0.tgz", - "integrity": "sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.12.tgz", - "integrity": "sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^5.1.8", - "is-resolvable": "^1.1.0", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz", - "integrity": "sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.1", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.3", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.3", - "postcss-minify-params": "^5.0.2", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.3", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/currency-symbol-map": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-5.0.1.tgz", - "integrity": "sha512-2yHvoVBPIS9Dx7fjritu9l7UHWo4Z3D2oQnQj8AYwUee2j/PAcoHB4issCqwabfbipISZ/iG6vVYsfrAoks2eA==" - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - }, - "node_modules/date-format": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz", - "integrity": "sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/defaults/node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/degenerator": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz", - "integrity": "sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==", - "dependencies": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0", - "vm2": "^3.9.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dependencies": { - "readable-stream": "^2.0.2" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/elementtree": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", - "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", - "dependencies": { - "sax": "1.1.4" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/elementtree/node_modules/sax": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", - "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/endent": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", - "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", - "dependencies": { - "dedent": "^0.7.0", - "fast-json-parse": "^1.0.3", - "objectorarray": "^1.0.4" - } - }, - "node_modules/engine.io": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", - "dev": true, - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "node_modules/es6-promise-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/es6-promise-plugin/-/es6-promise-plugin-4.2.2.tgz", - "integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA==", - "dev": true - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "dependencies": { - "es6-promise": "^4.0.3" - } - }, - "node_modules/esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" - } - }, - "node_modules/esbuild-wasm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz", - "integrity": "sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q==", - "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "dev": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/execa/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "node_modules/express/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-cache-dir/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "deprecated": "flatten is deprecated in favor of utility frameworks such as lodash.", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/formidable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", - "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", - "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "dependencies": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/ftp/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/ftp/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/ftp/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/fttx-phonegap-plugin-barcodescanner": { - "version": "8.2.10", - "resolved": "git+ssh://git@github.com/fttx/phonegap-plugin-barcodescanner.git#92d7e25631760f2db02e9fb42769d30b5ccc325f", - "integrity": "sha512-6HpLlhDsv/fxLqji84VQjkGyUXJ2GMlKTIRh3CKe7j+x6vNq2Hflu/MDX9gXmNDJkHD/cILhyVaG92cxdme+3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "nopt": "^4.0.1", - "shelljs": "^0.8.3" - }, - "engines": { - "cordovaDependencies": { - "<7.0.0": { - "cordova-android": "<6.3.0" - }, - "7.0.0": { - "cordova-android": ">=6.3.0" - }, - "7.1.0": { - "cordova": ">=7.1.0", - "cordova-android": ">=6.3.0" - }, - "8.0.0": { - "cordova": ">=7.1.0", - "cordova-android": ">=6.3.0" - } - } - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", - "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", - "dependencies": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/get-uri/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/get-uri/node_modules/file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", - "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/get-uri/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-parent/node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", - "dev": true - }, - "node_modules/gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "node_modules/hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag/node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hdr-histogram-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.1.tgz", - "integrity": "sha512-uPZxl1dAFnjUFHWLZmt93vUUvtHeaBay9nVNHu38SdOjMSF/4KqJUqa1Seuj08ptU1rEb6AHvB41X8n/zFZ74Q==", - "dev": true, - "dependencies": { - "@assemblyscript/loader": "^0.10.1", - "base64-js": "^1.2.0", - "pako": "^1.0.3" - } - }, - "node_modules/hdr-histogram-percentiles-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", - "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", - "dev": true - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "dev": true - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/html-to-image": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.10.8.tgz", - "integrity": "sha512-t+JyFJwKDCp4ZwBp4iC/wqw0meQDDc77Qs8OFl5P7RGlIP3LQMvwpD7VXxqQfC7/TfC+GKYlFP6WDYfXTmXHfw==" - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", - "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "node_modules/immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.6.tgz", - "integrity": "sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/inquirer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/inquirer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/internal-ip/node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/internal-ip/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/internal-ip/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/internal-ip/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/internal-ip/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/internal-ip/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/internal-ip/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ionic-plugin-deeplinks": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/ionic-plugin-deeplinks/-/ionic-plugin-deeplinks-1.0.22.tgz", - "integrity": "sha512-tdRMp9OIoXn3W2YG83TfvT048DwY+PkwUNKHqcDymBrC/Pk1+5ZYrrKKYFVD2x75x5zaZN+JBIaBrabXt8bC4w==", - "dev": true, - "dependencies": { - "mkpath": ">=1.0.0", - "node-version-compare": ">=1.0.1", - "plist": ">=1.2.0", - "xml2js": ">=0.4" - } - }, - "node_modules/ionicons": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.1.tgz", - "integrity": "sha512-Qe6mx25DFNwA9UL1rhewI5StI3uD4+BqB2KdvLjyWhtvoUXwyAsmfHLZuDANAHQowIKtTt6BZCt5/g5NIQ635Q==", - "dependencies": { - "@stencil/core": "^2.18.0" - } - }, - "node_modules/ios-sim": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.2.tgz", - "integrity": "sha512-P7nEG771bfd+JoMRjnis1gpZOkjTUUxu+4Ek1Z+eoaEEoT9byllU9pxfQ8Df7hL3gSkIQxNwTSLhos2I8tWUQA==", - "dev": true, - "dependencies": { - "bplist-parser": "^0.0.6", - "nopt": "1.0.9", - "plist": "^3.0.1", - "simctl": "^2" - }, - "bin": { - "ios-sim": "bin/ios-sim" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ios-sim/node_modules/bplist-parser": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz", - "integrity": "sha512-fGeghPEH4Eytvf+Mi446aKcDqvkA/+eh6r7QGiZWMQG6TzqrnsToLP379XFfqRSZ41+676hhGIm++maNST1Apw==", - "dev": true - }, - "node_modules/ios-sim/node_modules/nopt": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz", - "integrity": "sha512-CmUZ3rzN0/4kRHum5pGRiGkhmBMzgtEDxrZVHqRJDSv8qK6s+wzaig/xeyB22Due5aZQeTiEZg/nrmMH2tapDQ==", - "dev": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "dependencies": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "bin": { - "jasmine": "bin/jasmine.js" - } - }, - "node_modules/jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", - "dev": true - }, - "node_modules/jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", - "dev": true, - "dependencies": { - "colors": "1.4.0" - } - }, - "node_modules/jasmine/node_modules/jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - }, - "node_modules/jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true, - "engines": { - "node": ">= 6.9.x" - } - }, - "node_modules/javascript-color-gradient": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/javascript-color-gradient/-/javascript-color-gradient-1.3.2.tgz", - "integrity": "sha512-P/VjoTPdfRmMOkfR65m1BQTlX/hYphZIj5u1Ntvpxf+9011uXjazbEOQ63g3EhlgzHYa2uwVU3RVgy3gJuLdlQ==" - }, - "node_modules/jest-worker": { - "version": "27.4.5", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz", - "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==" - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/jsprim/node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/jsurl": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/jsurl/-/jsurl-0.1.5.tgz", - "integrity": "sha512-HyrafsIRCa+VlJAsvuvxWUM0iMeZd6+2J4JngECGF0JTRi5moUFV/mLxgyYfDizGF4ofLLYRpvD/Kt1d9wlUUg==" - }, - "node_modules/jszip": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", - "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", - "dev": true, - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/karma": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz", - "integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==", - "dev": true, - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.4.1", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", - "dev": true, - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/mattlewis92" - } - }, - "node_modules/karma-jasmine": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", - "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", - "dev": true, - "dependencies": { - "jasmine-core": "^3.6.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "karma": "*" - } - }, - "node_modules/karma-jasmine-html-reporter": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz", - "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", - "dev": true, - "peerDependencies": { - "jasmine-core": ">=3.5", - "karma": ">=0.9", - "karma-jasmine": ">=1.1" - } - }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz", - "integrity": "sha512-DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ==", - "dev": true - }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "dependencies": { - "source-map-support": "^0.5.5" - } - }, - "node_modules/karma/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/karma/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/karma/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/karma/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/karma/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", - "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", - "dev": true - }, - "node_modules/leek": { - "version": "0.0.24", - "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz", - "integrity": "sha1-5ADlfw5g2O8r1NBo3EKKVDRdvNo=", - "dependencies": { - "debug": "^2.1.0", - "lodash.assign": "^3.2.0", - "rsvp": "^3.0.21" - } - }, - "node_modules/less": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", - "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", - "dev": true, - "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/less/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/less/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/less/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true - }, - "node_modules/less/node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", - "dev": true, - "optional": true, - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "dependencies": { - "webpack-sources": "^3.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } - } - }, - "node_modules/license-webpack-plugin/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "node_modules/lint-staged": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", - "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", - "dev": true, - "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.17", - "commander": "^9.3.0", - "debug": "^4.3.4", - "execa": "^6.1.0", - "lilconfig": "2.0.5", - "listr2": "^4.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.1.1" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/lint-staged/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/lint-staged/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/lint-staged/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/localforage": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", - "integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=", - "dependencies": { - "lie": "3.1.1" - } - }, - "node_modules/localforage-cordovasqlitedriver": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/localforage-cordovasqlitedriver/-/localforage-cordovasqlitedriver-1.7.0.tgz", - "integrity": "sha1-i5OVd1nuaI06WNW6fAR39sy1ODg=", - "dependencies": { - "localforage": ">=1.5.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dependencies": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "node_modules/lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "node_modules/lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" - }, - "node_modules/lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "dependencies": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "node_modules/lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "node_modules/lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "node_modules/lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "dependencies": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "node_modules/lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "node_modules/lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dependencies": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log4js": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", - "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", - "dev": true, - "dependencies": { - "date-format": "^4.0.10", - "debug": "^4.3.4", - "flatted": "^3.2.5", - "rfdc": "^1.3.0", - "streamroller": "^3.1.1" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/log4js/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/log4js/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "node_modules/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/luxon": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.0.tgz", - "integrity": "sha512-gv6jZCV+gGIrVKhO90yrsn8qXPKD8HYZJtrUDSfEbow8Tkw84T9OnCyJhWvnJIaIF/tBuiAjZuQHUt1LddX2mg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "node_modules/make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dev": true, - "dependencies": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/make-fetch-happen/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/make-fetch-happen/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/make-fetch-happen/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/make-fetch-happen/node_modules/ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, - "dependencies": { - "unique-slug": "^3.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "dependencies": { - "p-defer": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-obj": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", - "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.4.tgz", - "integrity": "sha512-jj891B5pV2r63n2kBTFh8cRI2uR9LQHsXG1zSDqfhXkIlDzrTcIlbB5+5aaYEkl8vOPIOPLf8VT7Ere1wWTMdw==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.1.tgz", - "integrity": "sha512-4qJtZ0qdyYeexAXoOZiU0uHIFVncJAmCkHkSluAsvDaVWODtPyNEo9I1ns0T4ulxu2EHRH5u/bt1cV0pdHCX+A==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "dev": true, - "dependencies": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/mem?sponsor=1" - } - }, - "node_modules/mem/node_modules/mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.1.tgz", - "integrity": "sha512-D/ttLdxo71msR4FF3VgSwK4blHfE3/vGByz1NCeE7/Dh8reQOKNJJjk5L10mLq9jxa+ZHzT1/HLgxljzbXE7Fw==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.0", - "resolve": "^1.17.0", - "semver": "^7.3.2", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "node_modules/merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/merge-source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromark": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.2.tgz", - "integrity": "sha512-IXuP76p2uj8uMg4FQc1cRE7lPCLsfAXuEfdjtdO55VRiFO1asrCSQ5g43NmPqFtRwzEnEhafRVzn2jg0UiKArQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/micromark/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", - "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", - "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", - "dev": true - }, - "node_modules/moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dev": true, - "optional": true, - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/needle/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/ngx-gauge": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ngx-gauge/-/ngx-gauge-6.0.0.tgz", - "integrity": "sha512-sXegk6qagd9QN1+kcydjDfPfdK2hh73+W2fIhhXuqBQCG3+5j8SdXEN0jog6eeD5LozRCU0LZgjtwovN6Nc4Bw==", - "dependencies": { - "tslib": "^2.0.0" - }, - "peerDependencies": { - "@angular/common": "^14.0.0", - "@angular/core": "^14.0.0" - } - }, - "node_modules/ngx-stars": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ngx-stars/-/ngx-stars-1.4.3.tgz", - "integrity": "sha512-aTdCCK+eXTADDQY2HQYgYdt0cg1Vtcxd3pV8t1uze0nnmhp5L+giLGJyehio7IWU08zl2578j7C0JGKIXagNwA==", - "dependencies": { - "tslib": "^1.9.0" - }, - "peerDependencies": { - "@angular/common": ">=2.0.0 < 9.0.0", - "@angular/core": ">=2.0.0 < 9.0.0" - } - }, - "node_modules/ngx-stars/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], - "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-gyp": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", - "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^12.13 || ^14.13 || >=16" - } - }, - "node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, - "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "node_modules/node-version-compare": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.3.tgz", - "integrity": "sha512-unO5GpBAh5YqeGULMLpmDT94oanSDMwtZB8KHTKCH/qrGv8bHN0mlDj9xQDAicCYXv2OLnzdi67lidCrcVotVw==", - "dev": true - }, - "node_modules/nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "dependencies": { - "abbrev": "1", - "osenv": "^0.1.4" - }, - "bin": { - "nopt": "bin/nopt.js" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", - "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", - "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", - "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg/node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/npm-package-arg/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-packlist": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", - "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", - "dev": true, - "dependencies": { - "ignore-walk": "^6.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", - "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", - "dev": true, - "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-registry-fetch": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", - "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", - "dev": true, - "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/npm-registry-fetch/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/npm-registry-fetch/node_modules/fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", - "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-registry-fetch/node_modules/minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", - "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/npm-registry-fetch/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch/node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/objectorarray": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz", - "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==" - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/open": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", - "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", - "dependencies": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pac-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz", - "integrity": "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^5.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pac-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/pac-proxy-agent/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pac-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/pac-resolver": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", - "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", - "dependencies": { - "degenerator": "^3.0.1", - "ip": "^1.1.5", - "netmask": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pacote": { - "version": "15.0.8", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", - "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", - "dev": true, - "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/pacote/node_modules/cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/pacote/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/pacote/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/pacote/node_modules/minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pacote/node_modules/ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "dependencies": { - "minipass": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pacote/node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module/node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/piscina": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.1.0.tgz", - "integrity": "sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg==", - "dev": true, - "dependencies": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0" - }, - "optionalDependencies": { - "nice-napi": "^1.0.2" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/plist": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", - "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", - "dependencies": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-functional-notation/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-color-functional-notation/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-functional-notation/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dev": true, - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-gray/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-color-gray/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-gray/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-hex-alpha/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-color-hex-alpha/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-hex-alpha/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dev": true, - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-mod-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-color-mod-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-mod-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-rebeccapurple/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-rebeccapurple/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-colormin": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.1.tgz", - "integrity": "sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-media/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-custom-media/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-media/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-properties/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-custom-properties/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-properties/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-custom-selectors/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-custom-selectors/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-custom-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-double-position-gradients/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-double-position-gradients/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-double-position-gradients/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-env-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-env-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-env-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-visible/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-focus-visible/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-visible/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-within/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-focus-within/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-within/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-font-variant/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-font-variant/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-font-variant/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-gap-properties/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-gap-properties/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-gap-properties/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", - "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", - "dev": true, - "dependencies": { - "htmlparser2": "^3.10.0" - }, - "peerDependencies": { - "postcss": ">=5.0.0", - "postcss-syntax": ">=0.36.0" - } - }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-image-set-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-image-set-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-image-set-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-initial/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-initial/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-initial/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dev": true, - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-lab-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-lab-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-lab-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-less": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", - "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-less/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-loader": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", - "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", - "dev": true, - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-logical/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-logical/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-logical/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-media-minmax/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-media-minmax/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-media-minmax/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz", - "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", - "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", - "dev": true, - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz", - "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-nesting/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-nesting/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-nesting/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz", - "integrity": "sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==", - "dev": true, - "dependencies": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-overflow-shorthand/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-overflow-shorthand/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-overflow-shorthand/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-page-break/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-page-break/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-page-break/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-place/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-place/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-place/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-preset-env/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-preset-env/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dev": true, - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", - "dev": true - }, - "node_modules/postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", - "dev": true, - "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-safe-parser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", - "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", - "dev": true, - "dependencies": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "node_modules/postcss-sass/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-sass/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-scss/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-scss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-matches/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-selector-matches/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-matches/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-not/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/postcss-selector-not/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-not/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-syntax": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", - "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "peerDependencies": { - "postcss": ">=5.0.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dev": true, - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss/node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", - "bin": { - "printj": "bin/printj.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/properties-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz", - "integrity": "sha512-AkSQxQAviJ89x4FIxOyHGfO3uund0gvYo7lfD0E+Gp7gFQKrTNgtoYQklu8EhrfHVZUzTwKGZx2r/KDSfnljcA==", - "dependencies": { - "string.prototype.codepointat": "^0.2.0" - }, - "engines": { - "node": ">= 0.3.1" - } - }, - "node_modules/protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/protobufjs/node_modules/@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - }, - "node_modules/protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", - "dev": true, - "dependencies": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, - "bin": { - "protractor": "bin/protractor", - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=10.13.x" - } - }, - "node_modules/protractor/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "dependencies": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/protractor/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/protractor/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/protractor/node_modules/webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "dependencies": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - }, - "bin": { - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/protractor/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "dependencies": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/protractor/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", - "integrity": "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==", - "dependencies": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/proxy-agent/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/proxy-agent/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-chunk": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", - "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", - "dependencies": { - "pify": "^4.0.1", - "with-open-file": "^0.1.6" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/read-package-json": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", - "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", - "dev": true, - "dependencies": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/read-package-json/node_modules/normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dev": true, - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/remark": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", - "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", - "dev": true, - "dependencies": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", - "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", - "dev": true, - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", - "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", - "dev": true, - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" - }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", - "engines": { - "node": "0.12.* || 4.* || 6.* || >= 7.*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sass": { - "version": "1.57.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", - "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/sass-loader": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", - "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", - "dev": true, - "dependencies": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "dependencies": { - "https-proxy-agent": "^2.2.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "node_modules/selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "dependencies": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/selenium-webdriver/node_modules/tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dev": true, - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "node_modules/set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simctl": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.3.tgz", - "integrity": "sha512-kKCak0yszxHae5eVWcmrjV3ouUGac3sjlhjdLWpyPu4eiQcWoHsCrqS34kkgzHN8Ystqkh/LFjzrldk/g3BYJg==", - "dev": true, - "dependencies": { - "shelljs": "^0.8.5", - "tail": "^0.4.0" - } - }, - "node_modules/simple-plist": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", - "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", - "dependencies": { - "bplist-creator": "0.1.0", - "bplist-parser": "0.3.1", - "plist": "^3.0.5" - } - }, - "node_modules/skwas-cordova-plugin-datetimepicker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/skwas-cordova-plugin-datetimepicker/-/skwas-cordova-plugin-datetimepicker-2.1.2.tgz", - "integrity": "sha512-0j/tDjheurvNIg26MVFFbi4RMK2jipYmX6nUq3AOcNtENY1hhLaLUsUM633bJgQmCJGM//gbQWmQX2eaCHK34A==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/socket.io": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", - "dev": true - }, - "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dev": true, - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://tidelift.com/funding/github/npm/sockjs-client" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sockjs-client/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/sockjs/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/socks-proxy-agent/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socks-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/socks/node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.0.tgz", - "integrity": "sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/source-map-loader/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy-transport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/spdy/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true, - "bin": { - "specificity": "bin/specificity" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "dependencies": { - "frac": "~1.1.2" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/ssh-config": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ssh-config/-/ssh-config-1.1.6.tgz", - "integrity": "sha512-ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==" - }, - "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/stream-buffers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dependencies": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "node_modules/streamroller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", - "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", - "dev": true, - "dependencies": { - "date-format": "^4.0.10", - "debug": "^4.3.4", - "fs-extra": "^10.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/streamroller/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/streamroller/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/streamroller/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/streamroller/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/streamroller/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.codepointat": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", - "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" - }, - "node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/stylelint": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.12.0.tgz", - "integrity": "sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw==", - "dev": true, - "dependencies": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^1.0.0", - "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.2", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.2", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.4", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.0.7", - "v8-compile-cache": "^2.2.0", - "write-file-atomic": "^3.0.3" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", - "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true, - "peerDependencies": { - "stylelint": ">=10.1.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", - "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", - "dev": true, - "dependencies": { - "stylelint-config-recommended": "^3.0.0" - }, - "peerDependencies": { - "stylelint": ">=10.1.0" - } - }, - "node_modules/stylelint/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/stylelint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/stylelint/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "node_modules/stylelint/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/stylelint/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylelint/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sugarss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", - "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/sugarss/node_modules/postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/sugarss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/superagent": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz", - "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==", - "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.2", - "debug": "^4.1.1", - "fast-safe-stringify": "^2.0.7", - "form-data": "^3.0.0", - "formidable": "^1.2.2", - "methods": "^1.1.2", - "mime": "^2.4.6", - "qs": "^6.9.4", - "readable-stream": "^3.6.0", - "semver": "^7.3.2" - }, - "engines": { - "node": ">= 7.0.0" - } - }, - "node_modules/superagent-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-3.0.0.tgz", - "integrity": "sha512-wAlRInOeDFyd9pyonrkJspdRAxdLrcsZ6aSnS+8+nu4x1aXbz6FWSTT9M6Ibze+eG60szlL7JA8wEIV7bPWuyQ==", - "dependencies": { - "debug": "^4.3.2", - "proxy-agent": "^5.0.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "superagent": ">= 0.15.4 || 1 || 2 || 3" - } - }, - "node_modules/superagent-proxy/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/superagent-proxy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/superagent/node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/superagent/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/superagent/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/superagent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/superagent/node_modules/qs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz", - "integrity": "sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/superagent/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/superagent/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "dependencies": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.1.tgz", - "integrity": "sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/tail": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz", - "integrity": "sha512-i5rOhX0PwkFSbjID14mmuoqrLUIqpJeBwg0esugSbb+6Y+dzgN/O3YZXzzPL7dnQJGbQLs8cwM8Zsak5kFJGcA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", - "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", - "dev": true, - "dependencies": { - "jest-worker": "^27.0.6", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/terser/node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "dev": true, - "dependencies": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - }, - "bin": { - "ts-node": "dist/bin.js" - }, - "engines": { - "node": ">=4.2.0" - }, - "peerDependencies": { - "typescript": ">=2.0" - } - }, - "node_modules/ts-poet": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", - "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } - }, - "node_modules/ts-proto": { - "version": "1.122.0", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.122.0.tgz", - "integrity": "sha512-TmPKmSxRJjnfrdyncOMfilJDXvyL0BGxM4nDyYgMDVT2EhYZV85J93qEJPBIufwUtDBY8N42UNgja8Z5ObF6IA==", - "dev": true, - "dependencies": { - "@types/object-hash": "^1.3.0", - "dataloader": "^1.4.0", - "object-hash": "^1.3.1", - "protobufjs": "^6.11.3", - "ts-poet": "^4.15.0", - "ts-proto-descriptors": "1.7.1" - }, - "bin": { - "protoc-gen-ts_proto": "protoc-gen-ts_proto" - } - }, - "node_modules/ts-proto-descriptors": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz", - "integrity": "sha512-oIKUh3K4Xts4v29USGLfUG+2mEk32MsqpgZAOUyUlkrcIdv34yE+k2oZ2Nzngm6cV/JgFdOxRCqeyvmWHuYAyw==", - "dev": true, - "dependencies": { - "long": "^4.0.0", - "protobufjs": "^6.8.8" - } - }, - "node_modules/ts-proto-descriptors/node_modules/@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - }, - "node_modules/ts-proto-descriptors/node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "node_modules/ts-proto-descriptors/node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, - "node_modules/ts-proto/node_modules/@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - }, - "node_modules/ts-proto/node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "node_modules/ts-proto/node_modules/protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - }, - "bin": { - "pbjs": "bin/pbjs", - "pbts": "bin/pbts" - } - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "node_modules/tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" - } - }, - "node_modules/tslint/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dev": true, - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", - "dev": true, - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/vm2": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.9.tgz", - "integrity": "sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==", - "dependencies": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" - }, - "bin": { - "vm2": "bin/vm2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "dependencies": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", - "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.12", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/webpack-dev-server/node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dev": true, - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-log/node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-subresource-integrity": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", - "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", - "dev": true, - "dependencies": { - "webpack-sources": "^1.3.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 2.21.0 < 5", - "webpack": ">= 1.12.11 < 6" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "node_modules/windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", - "dependencies": { - "execa": "^4.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/windows-release/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/windows-release/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/with-open-file": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", - "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", - "dependencies": { - "p-finally": "^1.0.0", - "p-try": "^2.1.0", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", - "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xcode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz", - "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==", - "dependencies": { - "simple-plist": "^1.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/xlsx": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.4.tgz", - "integrity": "sha512-9aKt8g9ZLP0CUdBX8L5xnoMDFwSiLI997eQnDThCaqQMYB9AEBIRzblSSNN/ICMGLYIHUO3VKaItcedZJ3ijIg==", - "dependencies": { - "adler-32": "~1.2.0", - "cfb": "^1.1.4", - "codepage": "~1.15.0", - "crc-32": "~1.2.0", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - }, - "bin": { - "xlsx": "bin/xlsx.njs" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/xml-escape": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz", - "integrity": "sha512-B/T4sDK8Z6aUh/qNr7mjKAwwncIljFuUP+DO/D5hloYFj+90O88z8Wf7oSucZTHxBAsC1/CTP4rtx/x1Uf72Mg==", - "dev": true - }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xml2js/node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=", - "engines": { - "node": "*" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", - "dependencies": { - "tslib": "^2.0.0" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@angular-devkit/architect": { - "version": "0.1501.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.2.tgz", - "integrity": "sha512-AfORVGLN0FBIUXO3FkfGOKu+Gz6oJjF8Bu8cPn27duiI0wszxGNY3fATKwbSg7JcKx1oQS/G7RjyC5OiTA6a0Q==", - "dev": true, - "requires": { - "@angular-devkit/core": "15.1.2", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/build-angular": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.1.2.tgz", - "integrity": "sha512-8udBKfHo3c/hOuh6VB11UKQZcqbolcNW2smtM9HJMm3fcykvyFEIitoCyl/tgraST+14/kA4aiINdl4EQ4BanQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.2.0", - "@angular-devkit/architect": "0.1501.2", - "@angular-devkit/build-webpack": "0.1501.2", - "@angular-devkit/core": "15.1.2", - "@babel/core": "7.20.12", - "@babel/generator": "7.20.7", - "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/plugin-proposal-async-generator-functions": "7.20.7", - "@babel/plugin-transform-async-to-generator": "7.20.7", - "@babel/plugin-transform-runtime": "7.19.6", - "@babel/preset-env": "7.20.2", - "@babel/runtime": "7.20.7", - "@babel/template": "7.20.7", - "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "15.1.2", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.13", - "babel-loader": "9.1.2", - "babel-plugin-istanbul": "6.1.1", - "browserslist": "4.21.4", - "cacache": "17.0.4", - "chokidar": "3.5.3", - "copy-webpack-plugin": "11.0.0", - "critters": "0.0.16", - "css-loader": "6.7.3", - "esbuild": "0.16.17", - "esbuild-wasm": "0.16.17", - "glob": "8.0.3", - "https-proxy-agent": "5.0.1", - "inquirer": "8.2.4", - "jsonc-parser": "3.2.0", - "karma-source-map-support": "1.4.0", - "less": "4.1.3", - "less-loader": "11.1.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.1", - "magic-string": "0.27.0", - "mini-css-extract-plugin": "2.7.2", - "open": "8.4.0", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.2.0", - "postcss": "8.4.21", - "postcss-loader": "7.0.2", - "resolve-url-loader": "5.0.0", - "rxjs": "6.6.7", - "sass": "1.57.1", - "sass-loader": "13.2.0", - "semver": "7.3.8", - "source-map-loader": "4.0.1", - "source-map-support": "0.5.21", - "terser": "5.16.1", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.4.1", - "webpack": "5.75.0", - "webpack-dev-middleware": "6.0.1", - "webpack-dev-server": "4.11.1", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "5.1.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "autoprefixer": { - "version": "10.4.13", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", - "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001426", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - } - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "inquirer": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "piscina": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", - "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", - "dev": true, - "requires": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0", - "nice-napi": "^1.0.2" - } - }, - "resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "source-map-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", - "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", - "dev": true, - "requires": { - "abab": "^2.0.6", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - } - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "requires": { - "unique-slug": "^4.0.0" - } - }, - "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "requires": { - "typed-assert": "^1.0.8" - } - } - } - }, - "@angular-devkit/build-optimizer": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.17.tgz", - "integrity": "sha512-1qWGWw7cCNADB4LZ/zjiSK0GLmr2kebYyNG0KutCE8GNVxv2h6w6dJP6t1C/BgskRuBPCAhvE+lEKN8ljSutag==", - "dev": true, - "requires": { - "source-map": "0.7.3", - "tslib": "2.3.0", - "typescript": "4.3.5" - }, - "dependencies": { - "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1501.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1501.2.tgz", - "integrity": "sha512-FzslFvjuAabwtz2wMTCeemYCJA4NqRECz+WEsEZbtwESBMmKdaqmpbdW9ypsepB2iC7eIbHK43R95XAM75utTw==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1501.2", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/core": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.2.tgz", - "integrity": "sha512-wkLZYvTZt30Ge6Z83Gxsr6mO1TIHCu3SImdE0zwW63EdU9o1NYkU74z1D9VUZ9Up7uHi1cHs/dssbxUuZ4eWOA==", - "dev": true, - "requires": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "6.6.7", - "source-map": "0.7.4" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - } - } - }, - "@angular-devkit/schematics": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.2.tgz", - "integrity": "sha512-HjJPm+4SS5TdAHHvdpXLv25wsvwVOn5RYs0A9MazTndlm80ct3PKeYUgakNDRFjRj8uORNlJMKmQIIhUSDjFsw==", - "dev": true, - "requires": { - "@angular-devkit/core": "15.1.2", - "jsonc-parser": "3.2.0", - "magic-string": "0.27.0", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "dependencies": { - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - } - } - }, - "@angular/animations": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.0.tgz", - "integrity": "sha512-OhEXi1u/M4QyltDCxSqo7YzF7ELgNDWNqbbM7vtWIcrc4c+Yiu1GXhW/GQRosF3WAuQVfdQzEI0VTeNoo98Kvw==", - "peer": true, - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/cli": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.1.2.tgz", - "integrity": "sha512-h42k410W6PPnz9KjX8dCtruMqf1mHgIf7UWrLa8icKpk03U2SIgoJzaXgY/spSHiMGIdDnY1dAYKWV0GQS4zEg==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1501.2", - "@angular-devkit/core": "15.1.2", - "@angular-devkit/schematics": "15.1.2", - "@schematics/angular": "15.1.2", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "3.0.1", - "inquirer": "8.2.4", - "jsonc-parser": "3.2.0", - "npm-package-arg": "10.1.0", - "npm-pick-manifest": "8.0.1", - "open": "8.4.0", - "ora": "5.4.1", - "pacote": "15.0.8", - "resolve": "1.22.1", - "semver": "7.3.8", - "symbol-observable": "4.0.0", - "yargs": "17.6.2" - }, - "dependencies": { - "@schematics/angular": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.2.tgz", - "integrity": "sha512-PcAbjbWvaW3yKvcGCqHrlHm4BTwGuqr58czCASc49Hy6tJba+dRblYatzB0D1tzdJOTsa684Ghg7knCN86fHeg==", - "dev": true, - "requires": { - "@angular-devkit/core": "15.1.2", - "@angular-devkit/schematics": "15.1.2", - "jsonc-parser": "3.2.0" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", - "dev": true - }, - "inquirer": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", - "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^7.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@angular/common": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.1.1.tgz", - "integrity": "sha512-P4f2rK/YBQQT4clQrcQ9goLf53RS63Q1x2d1dvz7Syr3gcOUyxO7NZQ7Au5afzvbIKZ5Okd+X0+TCGV4q9wQjw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.1.1.tgz", - "integrity": "sha512-A35iXLTTDEej4F2tm5t1flA+5Tv+jYAkQx+d0xvH6LDiWvsiDsOe5OjP8L2LD8dejwWl/JYUz2TH0JZcvw0uqA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler-cli": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.1.1.tgz", - "integrity": "sha512-sBYvh6Y08aKuZPAVwzT1YGVfG63xeXElEfAfq6No9FLUHDo83QB9fU7ovXnu1RJFJiVIy16DHjmTpAmgvlomGA==", - "dev": true, - "requires": { - "@babel/core": "7.19.3", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.27.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "dependencies": { - "magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@angular/core": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.1.1.tgz", - "integrity": "sha512-nsz+IXdkQanAGhqA2vcwTrGGyw5zIm3TgtYQ/JqK185qkmlhsQfSRvdSPsFPhmIFYp9ngZVUbkhY3D4P3gDzIg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/forms": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.1.1.tgz", - "integrity": "sha512-1c/oZD+eSbGzDCcmC+hOqkPH+AzLOiGHxII5QiOOj8so8M958UBrsFBwrnLz06d9OK5Z4IrR4UL2JJspZNbpjw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/language-service": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.1.1.tgz", - "integrity": "sha512-Wjn1t5ZjEuEJ3i2xdBArFadq4Aq7h95owiI1AcrjJ8/jjSHzszbTcQ1qs+FMKuq37A3pcpgXx6myekftRuNBkw==", - "dev": true - }, - "@angular/platform-browser": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.1.1.tgz", - "integrity": "sha512-U1MXowvyigmMpffsnMQI6e9gX7tA6Su7unY0pjN5u9wRYJIkEbKuFyVijguQ83bt+JK3ZBHXD0dvskYnscGUzg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.1.1.tgz", - "integrity": "sha512-iCbvYduSGtyBWuQfTzm/MDZy7Rd5MNsjpknEtJ45nbjZzv9EL1tGo6qufaTgPXHP8Nbfcco/4UO9w84Gp5irLA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/router": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.1.1.tgz", - "integrity": "sha512-5l1+6MzeJW01BeO8ZNfYe/TEVzxIHDKHWUrsmGE6oQW01LezG5LUjwR1T23YeR8G5zzRs/p+AU72wTn/aPGQHg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@assemblyscript/loader": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", - "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true - }, - "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", - "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.9.tgz", - "integrity": "sha512-cG2ru3TRAL6a60tfQflpEfs4ldiPwF6YW3zfJiRgmoFVIaC1vGnBBgatfec+ZUziPHkHSaXAuEck3Cdkf3eRpQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.18.9", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helpers": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", - "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.13", - "@babel/types": "^7.20.7" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", - "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - } - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", - "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.13", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true - }, - "@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true - }, - "@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", - "dev": true, - "optional": true - }, - "@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "@ionic-native/android-permissions": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.33.1.tgz", - "integrity": "sha512-IlyvC8KTwjKNZvVWYI6/sPPgFxgQscJPTBhv90qFH5QOt7DZQLoGviiQC6wXSvybEnbP3YvDdXTGKKrFbS9k4w==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/app-minimize": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/app-minimize/-/app-minimize-5.33.1.tgz", - "integrity": "sha512-RvMUP85BfZKQGwxz7uVJVb5BHbgkIy4U7mSsJRX3b7QzQDfxGZ2Ud9YY4rcpSUA3fGujJqHgtkvoaGknxugx1g==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/app-version": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-5.33.1.tgz", - "integrity": "sha512-Mx4zBq1RpMOrazPaN/B4ToJBxmOtzFVG5wGjeTSovVaOzFiz8Dct7H6hwVScifIABOEA0i2gtqtwuSylJzTGWA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/camera": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.33.1.tgz", - "integrity": "sha512-mu234nKCjVziPUFD4EYfz4XbCZqV4uKLQf1IEd4YtPAe9ooYt/1HLcvftK8+BNVfWm8JrDtWSmvvmHZalHxXuA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/core": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.33.1.tgz", - "integrity": "sha512-BmjQqMzm6JE2V9Kj07cTA27frm516KMAViSpRNi4MQxPm9lHp9mxBGFDa4pqS/C0G8lA2kVh40fEZA0nOH9w+g==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/deeplinks": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-5.33.1.tgz", - "integrity": "sha512-NMO1iT89+42I2ryeMJSpDN8mrISj6NikCr9/iPxA5oBQzxv4eYtJqK1Ns5p28B1d3WZuB107WKYWqe9Z/jyHRw==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/device": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-5.33.1.tgz", - "integrity": "sha512-TupgwI9ys7baznAMVl75/giPSN/tgaC/AKzB6gOObEMWr9tzdmYxywstmsyVPCFy8MvXRO7KKfdmxG/Lg5FrWg==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/file": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.33.1.tgz", - "integrity": "sha512-N6tvCmLBYnY+fDeEhI+7kYHuIVcZ/JtrhRIepJ9qpF82DTvMg0fXy5XToKZ5hqthbKAwci8//A8Etp0oBzjx+w==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/file-chooser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-chooser/-/file-chooser-5.33.1.tgz", - "integrity": "sha512-I5BfFkRnVlUs/EFFhaP2ou854gih+wSHNbDxa6X2rx0KEgoqSSl0KtAHkUwpKcpvss1ZlsQ65kcs5bR93yZuvA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/file-path": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-path/-/file-path-5.33.1.tgz", - "integrity": "sha512-hFnvWsou1XRtt/OlxzpJos6Xii54oxCpnF6/pM2zQGBVMGaNoBgRnBsL+GtlycJmQqp/tZJAy4JDcanflHaTtg==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/file-picker": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/file-picker/-/file-picker-5.33.1.tgz", - "integrity": "sha512-2xVzncPUMsEludy9olGp7Z2a3nLmIiY7PvAaWQvEO4/hbwPZRezJUpFZoNbQm1rrnic915oM+FxokUKI611Xzw==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/file-transfer": { - "version": "5.34.0", - "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-5.34.0.tgz", - "integrity": "sha512-6jmT7tlh3A+H9OW+wpWbCNK+AOuVBUF+74NSrbmbqYg5py/VzMROCJtU84pb0OnBsqnxVvXqwPmodLwYMNFXBg==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/geolocation": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.33.1.tgz", - "integrity": "sha512-eQhFxeefK3fjwVyLs94jThc2y9s5qfk7QKX6BGfJTkGf3IOyZyBmFSepHF4kAQ8x1E4pa9KhhH35bZc+5NjkZA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/globalization": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-5.33.1.tgz", - "integrity": "sha512-DNY1UP8VAEIDYeJjz1rvMEJoeO+GvpPwdO/YlODlASVi/H7s7ZwOMO5giFPz49KG6fw1VAvqqyWxHTngm8mG1w==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/image-picker": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/image-picker/-/image-picker-5.33.1.tgz", - "integrity": "sha512-18b5XYf6l0xu0AGGqsib1qgcMkxwssFMK5rz3Ih+DvLH0M9g+gPocofIpSko689KsBmAy/UDxJv8Nr81egPTJQ==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/in-app-browser": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.33.1.tgz", - "integrity": "sha512-WDy4ogZdPPjM8WoE6cOx+odIMhW9Pupv2eIIW1KdSsNWCwV/WL+oqFquxDvvUoaNGWosyVvziYdPU4dk6pZN/A==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/insomnia": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/insomnia/-/insomnia-5.33.1.tgz", - "integrity": "sha512-6qgNdEg78/k3fHaEdHDxB4ftNBSCRKPjfXiOFlaj2YwODuYCP+AXtSTRxSBNO1lU6Aid/NuPLdTp98lKq4qTVg==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/keyboard": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-5.33.1.tgz", - "integrity": "sha512-IDNcF2iJ+ze2qPyPgWJ5TkwP5txS6uv9gan8LkxK3zTBKznQvRhznZHbx5fXluehYa1gQZp43BOoXc/PwpT7UA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/screen-orientation": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/screen-orientation/-/screen-orientation-5.36.0.tgz", - "integrity": "sha512-+VILGrCJO76Ta6Mudd6IKc66xDek1uw5OEovFWjGCqkg0OYHFIiJFZNx4NLhF5hA1UKN2fWE6qDJaSXR+1w1Rg==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/social-sharing": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/social-sharing/-/social-sharing-5.33.1.tgz", - "integrity": "sha512-tlBNgqESB0dxKoYY61DhTx+4oP25yAGpLynS8JZ3St0vD2VjfQ//2+uVxpo8G3E2A4mEcv7+TWQ1++STphXlRw==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/splash-screen": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.33.1.tgz", - "integrity": "sha512-tSrWkm+hIgc049bRHbUDRIxxNi201LFMxD9CL78h8XzJGb+FJkkxxfA6dsCI60zm2tPOeC42ronBqss99mxeEQ==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/status-bar": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.33.1.tgz", - "integrity": "sha512-fdmLSsPnZCZERjoxzeRTB1quxf7ntqD6xdt1zB0A9FaZ7zFgEq0+RibasWXqEi/oYzqNgN35rV0FvMyGXPzw3g==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic-native/three-dee-touch": { - "version": "5.33.1", - "resolved": "https://registry.npmjs.org/@ionic-native/three-dee-touch/-/three-dee-touch-5.33.1.tgz", - "integrity": "sha512-Ujh+kbCebCSIdAOmbEOdBCjVoRryjjYWsC1cG6Wj4j6KVZJcmO9BlENN8qskkWiLKwT2rbXrod0cfgAal8QGXA==", - "requires": { - "@types/cordova": "latest" - } - }, - "@ionic/angular": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.5.0.tgz", - "integrity": "sha512-zO9f3SKVFUlswxeEBu7bIfNbFJzQ6QoLrKTRpgzdbhKmDQp3+opKNYVXeGASaoycmxeJn2/ahmSzXJAPudoGmQ==", - "requires": { - "@ionic/core": "6.5.0", - "ionicons": "^6.1.1", - "jsonc-parser": "^3.0.0", - "tslib": "^2.0.0" - } - }, - "@ionic/angular-toolkit": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-5.0.3.tgz", - "integrity": "sha512-xHVvB0FPkvzQ52B74EN8g0IhMj+rPl7oAMAd89P0ajlV3bvRfFyDimgx7HJDhl99qf9a7EhxjB65Yf6M/b1tnw==", - "dev": true, - "requires": { - "@angular-devkit/architect": ">=0.1200.0 <0.1300", - "@angular-devkit/build-angular": "^12.0.0", - "@angular-devkit/core": "^12.1.1", - "@angular-devkit/schematics": "^12.0.0", - "@schematics/angular": "^12.0.0", - "cheerio": "1.0.0-rc.10", - "colorette": "1.1.0", - "copy-webpack-plugin": "^9.0.1", - "tapable": "^2.2.0", - "tslib": "^2.0.3", - "ws": "^7.0.1" - }, - "dependencies": { - "@ampproject/remapping": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-1.0.1.tgz", - "integrity": "sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "1.0.0", - "sourcemap-codec": "1.4.8" - } - }, - "@angular-devkit/architect": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.17.tgz", - "integrity": "sha512-uUQcHcLbPvr9adALQSLU1MTDduVUR2kZAHi2e7SmL9ioel84pPVXBoD0WpSBeUMKwPiDs3TQDaxDB49hl0nBSQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.2.17", - "rxjs": "6.6.7" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", - "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", - "dev": true, - "requires": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - } - } - }, - "@angular-devkit/build-angular": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.17.tgz", - "integrity": "sha512-uc3HGHVQyatqQ/M53oxYBvhz0jx0hgdc7WT+L56GLHvgz7Ct2VEbpWaMfwHkFfE1F1iHkIgnTKHKWacJl1yQIg==", - "dev": true, - "requires": { - "@ampproject/remapping": "1.0.1", - "@angular-devkit/architect": "0.1202.17", - "@angular-devkit/build-optimizer": "0.1202.17", - "@angular-devkit/build-webpack": "0.1202.17", - "@angular-devkit/core": "12.2.17", - "@babel/core": "7.14.8", - "@babel/generator": "7.14.8", - "@babel/helper-annotate-as-pure": "7.14.5", - "@babel/plugin-proposal-async-generator-functions": "7.14.7", - "@babel/plugin-transform-async-to-generator": "7.14.5", - "@babel/plugin-transform-runtime": "7.14.5", - "@babel/preset-env": "7.14.8", - "@babel/runtime": "7.14.8", - "@babel/template": "7.14.5", - "@discoveryjs/json-ext": "0.5.3", - "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "12.2.17", - "ansi-colors": "4.1.1", - "babel-loader": "8.2.2", - "browserslist": "^4.9.1", - "cacache": "15.2.0", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.2", - "copy-webpack-plugin": "9.0.1", - "core-js": "3.16.0", - "critters": "0.0.12", - "css-loader": "6.2.0", - "css-minimizer-webpack-plugin": "3.0.2", - "esbuild": "0.13.8", - "esbuild-wasm": "0.13.8", - "find-cache-dir": "3.3.1", - "glob": "7.1.7", - "https-proxy-agent": "5.0.0", - "inquirer": "8.1.2", - "karma-source-map-support": "1.4.0", - "less": "4.1.1", - "less-loader": "10.0.1", - "license-webpack-plugin": "2.3.20", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "2.4.2", - "minimatch": "3.0.4", - "open": "8.2.1", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "6.0.1", - "piscina": "3.1.0", - "postcss": "8.3.6", - "postcss-import": "14.0.2", - "postcss-loader": "6.1.1", - "postcss-preset-env": "6.7.0", - "regenerator-runtime": "0.13.9", - "resolve-url-loader": "4.0.0", - "rxjs": "6.6.7", - "sass": "1.36.0", - "sass-loader": "12.1.0", - "semver": "7.3.5", - "source-map-loader": "3.0.0", - "source-map-support": "0.5.19", - "style-loader": "3.2.1", - "stylus": "0.54.8", - "stylus-loader": "6.1.0", - "terser": "5.7.1", - "terser-webpack-plugin": "5.1.4", - "text-table": "0.2.0", - "tree-kill": "1.2.2", - "tslib": "2.3.0", - "webpack": "5.50.0", - "webpack-dev-middleware": "5.0.0", - "webpack-dev-server": "3.11.3", - "webpack-merge": "5.8.0", - "webpack-subresource-integrity": "1.5.2" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.17.tgz", - "integrity": "sha512-PyOY7LGUPPd6rakxUYbfQN6zAdOCMCouVp5tERY1WTdMdEiuULOtHsPee8kNbh75pD59KbJNU+fwozPRMuIm5g==", - "dev": true, - "requires": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "dependencies": { - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "copy-webpack-plugin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", - "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", - "dev": true, - "requires": { - "fast-glob": "^3.2.5", - "glob-parent": "^6.0.0", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0" - } - }, - "esbuild": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz", - "integrity": "sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw==", - "dev": true, - "optional": true, - "requires": { - "esbuild-android-arm64": "0.13.8", - "esbuild-darwin-64": "0.13.8", - "esbuild-darwin-arm64": "0.13.8", - "esbuild-freebsd-64": "0.13.8", - "esbuild-freebsd-arm64": "0.13.8", - "esbuild-linux-32": "0.13.8", - "esbuild-linux-64": "0.13.8", - "esbuild-linux-arm": "0.13.8", - "esbuild-linux-arm64": "0.13.8", - "esbuild-linux-mips64le": "0.13.8", - "esbuild-linux-ppc64le": "0.13.8", - "esbuild-netbsd-64": "0.13.8", - "esbuild-openbsd-64": "0.13.8", - "esbuild-sunos-64": "0.13.8", - "esbuild-windows-32": "0.13.8", - "esbuild-windows-64": "0.13.8", - "esbuild-windows-arm64": "0.13.8" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1202.17", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.17.tgz", - "integrity": "sha512-z7FW43DJ4p8UZwbFRmMrh2ohqhI2Wtdg3+FZiTnl4opb3zYheGiNxPlTuiyKjG21JUkGCdthkkBLCNfaUU0U/Q==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1202.17", - "rxjs": "6.6.7" - } - }, - "@angular-devkit/core": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.14.tgz", - "integrity": "sha512-C2pVuvZGULzaIu44ixQ4prJIBn/QLY/bjlyProXM8NOw5/92iNuGus11qZ4+xeiQgzfZxXN1eYyL2Mpo7PG5ug==", - "dev": true, - "requires": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - }, - "@angular-devkit/schematics": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.14.tgz", - "integrity": "sha512-QS2IdV3c51CFpHlj1x7xEOQuoYJS2W1bDYLbZUcgfp7u/6M8pA1gz96F0zy4dO5775+MSakpl9314H9956irKw==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.2.14", - "ora": "5.4.1", - "rxjs": "6.6.7" - } - }, - "@angular/compiler": { - "version": "12.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.16.tgz", - "integrity": "sha512-nsYEw+yu8QyeqPf9nAmG419i1mtGM4v8+U+S3eQHQFXTgJzLymMykWHYu2ETdjUpNSLK6xcIQDBWtWnWSfJjAA==", - "dev": true, - "peer": true, - "requires": { - "tslib": "^2.2.0" - } - }, - "@angular/compiler-cli": { - "version": "12.2.16", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.16.tgz", - "integrity": "sha512-tlalh8SJvdCWbUPRUR5GamaP+wSc/GuCsoUZpSbcczGKgSlbaEVXUYtVXm8/wuT6Slk2sSEbRs7tXGF2i7qxVw==", - "dev": true, - "peer": true, - "requires": { - "@babel/core": "^7.8.6", - "@babel/types": "^7.8.6", - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.11.0", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^7.0.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.2.0", - "yargs": "^17.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true - } - } - }, - "@babel/core": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz", - "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.8", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.8", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.14.8", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.8", - "@babel/types": "^7.14.8", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz", - "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==", - "dev": true, - "requires": { - "@babel/types": "^7.14.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", - "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", - "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-env": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.8.tgz", - "integrity": "sha512-a9aOppDU93oArQ51H+B8M1vH+tayZbuBqzjOhntGetZVa+4tTu5jp+XTwqHGG2lxslqomPYVSjIxQkFwXzgnxg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.7", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.8", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.15.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/runtime": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz", - "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.3.tgz", - "integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==", - "dev": true - }, - "@ngtools/webpack": { - "version": "12.2.17", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.17.tgz", - "integrity": "sha512-uaS+2YZgPDW3VmUuwh4/yfIFV1KRVGWefc6xLWIqKRKs6mlRYs65m3ib9dX7CTS4kQMCbhxkxMbpBO2yXlzfvA==", - "dev": true, - "requires": {} - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", - "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.4", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", - "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.4" - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "colorette": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.1.0.tgz", - "integrity": "sha512-6S062WDQUXi6hOfkO/sBPVwE5ASXY4G2+b4atvhJfSsuUUhIaUKlkjLe9692Ipyt5/a+IPF5aVTu3V5gvXq5cg==", - "dev": true - }, - "copy-webpack-plugin": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", - "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", - "dev": true, - "requires": { - "fast-glob": "^3.2.7", - "glob-parent": "^6.0.1", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "core-js": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.0.tgz", - "integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==", - "dev": true - }, - "critters": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz", - "integrity": "sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.1.3", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "postcss": { - "version": "8.4.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", - "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", - "dev": true, - "requires": { - "nanoid": "^3.1.30", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.1" - } - } - } - }, - "css-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.2.0.tgz", - "integrity": "sha512-/rvHfYRjIpymZblf49w8jYcRo2y9gj6rV8UroHGmBxKrIyGLokpycyKzp9OkitvqT29ZSpzJ0Ic7SpnJX3sC8g==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "semver": "^7.3.5" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - } - } - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", - "dev": true - }, - "esbuild-android-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz", - "integrity": "sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA==", - "dev": true, - "optional": true - }, - "esbuild-darwin-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz", - "integrity": "sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng==", - "dev": true, - "optional": true - }, - "esbuild-darwin-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz", - "integrity": "sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz", - "integrity": "sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw==", - "dev": true, - "optional": true - }, - "esbuild-freebsd-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz", - "integrity": "sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng==", - "dev": true, - "optional": true - }, - "esbuild-linux-32": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz", - "integrity": "sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw==", - "dev": true, - "optional": true - }, - "esbuild-linux-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz", - "integrity": "sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz", - "integrity": "sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg==", - "dev": true, - "optional": true - }, - "esbuild-linux-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz", - "integrity": "sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ==", - "dev": true, - "optional": true - }, - "esbuild-linux-mips64le": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz", - "integrity": "sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA==", - "dev": true, - "optional": true - }, - "esbuild-linux-ppc64le": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz", - "integrity": "sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig==", - "dev": true, - "optional": true - }, - "esbuild-netbsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz", - "integrity": "sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q==", - "dev": true, - "optional": true - }, - "esbuild-openbsd-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz", - "integrity": "sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw==", - "dev": true, - "optional": true - }, - "esbuild-sunos-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz", - "integrity": "sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw==", - "dev": true, - "optional": true - }, - "esbuild-wasm": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz", - "integrity": "sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA==", - "dev": true - }, - "esbuild-windows-32": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz", - "integrity": "sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A==", - "dev": true, - "optional": true - }, - "esbuild-windows-64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz", - "integrity": "sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg==", - "dev": true, - "optional": true - }, - "esbuild-windows-arm64": { - "version": "0.13.8", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz", - "integrity": "sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg==", - "dev": true, - "optional": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inquirer": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.1.2.tgz", - "integrity": "sha512-DHLKJwLPNgkfwNmsuEUKSejJFbkv0FMO9SMiQbjI3n5NQuCrSIBqP66ggqyz2a6t2qEolKrMjhQ3+W/xXgUQ+Q==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.3.0", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "rxjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.4.0.tgz", - "integrity": "sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==", - "dev": true, - "requires": { - "tslib": "~2.1.0" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "less": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", - "integrity": "sha512-w09o8tZFPThBscl5d0Ggp3RcrKIouBoQscnOMgFH3n5V3kN/CXGHNfCkRPtxJk6nKryDXaV9aHLK55RXuH4sAw==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^2.5.2", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "less-loader": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-10.0.1.tgz", - "integrity": "sha512-Crln//HpW9M5CbtdfWm3IO66Cvx1WhZQvNybXgfB2dD/6Sav9ppw+IWqs/FQKPBFO4B6X0X28Z0WNznshgwUzA==", - "dev": true, - "requires": { - "klona": "^2.0.4" - } - }, - "license-webpack-plugin": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.20.tgz", - "integrity": "sha512-AHVueg9clOKACSHkhmEI+PCC9x8+qsQVuKECZD3ETxETK5h/PCv5/MUzyG1gm8OMcip/s1tcNxqo9Qb7WhjGsg==", - "dev": true, - "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - } - } - }, - "mini-css-extract-plugin": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz", - "integrity": "sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA==", - "dev": true, - "requires": { - "schema-utils": "^3.1.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "postcss": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", - "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", - "dev": true, - "requires": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "dependencies": { - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true - } - } - }, - "postcss-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", - "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.5" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "sass": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz", - "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", - "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "source-map-js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz", - "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", - "dev": true, - "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "stylus-loader": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-6.1.0.tgz", - "integrity": "sha512-qKO34QCsOtSJrXxQQmXsPeaVHh6hMumBAFIoJTcsSr2VzrA6o/CW9HCGR8spCjzJhN8oKQHdj/Ytx0wwXyElkw==", - "dev": true, - "requires": { - "fast-glob": "^3.2.5", - "klona": "^2.0.4", - "normalize-path": "^3.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "terser": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - } - }, - "terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", - "dev": true, - "requires": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", - "dev": true, - "peer": true - }, - "webpack": { - "version": "5.50.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz", - "integrity": "sha512-hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "webpack-sources": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", - "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", - "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", - "dev": true, - "requires": { - "colorette": "^1.2.2", - "mem": "^8.1.1", - "memfs": "^3.2.2", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-dev-server": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", - "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", - "dev": true, - "requires": { - "ansi-html-community": "0.0.8", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - } - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "requires": {} - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "@ionic/cli": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@ionic/cli/-/cli-6.18.1.tgz", - "integrity": "sha512-EIV4zln0xpI2O4kADXZCBkLsX/NIkbqjTAJOlsH7BrsPLo20e3LULQiX9rxiX20YK7ssz/0Sae1s70XTsHnTaQ==", - "requires": { - "@ionic/cli-framework": "5.1.0", - "@ionic/cli-framework-output": "2.2.2", - "@ionic/cli-framework-prompts": "2.1.8", - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-network": "2.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-subprocess": "2.1.8", - "@ionic/utils-terminal": "2.3.1", - "chalk": "^4.0.0", - "debug": "^4.0.0", - "diff": "^4.0.1", - "elementtree": "^0.1.7", - "leek": "0.0.24", - "lodash": "^4.17.5", - "open": "^7.0.4", - "os-name": "^4.0.0", - "semver": "^7.1.1", - "split2": "^3.0.0", - "ssh-config": "^1.1.1", - "stream-combiner2": "^1.1.1", - "superagent": "^5.2.1", - "superagent-proxy": "^3.0.0", - "tar": "^6.0.1", - "tslib": "^2.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@ionic/cli-framework": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-5.1.0.tgz", - "integrity": "sha512-Hb/P2zuHB3zQZN0qG7Lxda8IlP2mHisfb0KR+wc9cw2BSiH+rtXRd/A4JxndPznjWs00PHbWiEm0Ehas2pA/nw==", - "requires": { - "@ionic/cli-framework-output": "2.2.2", - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-object": "2.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-subprocess": "2.1.8", - "@ionic/utils-terminal": "2.3.1", - "chalk": "^4.0.0", - "debug": "^4.0.0", - "lodash": "^4.17.5", - "minimist": "^1.2.0", - "rimraf": "^3.0.0", - "tslib": "^2.0.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@ionic/cli-framework-output": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.2.tgz", - "integrity": "sha512-eQYkqIW1/tCwSC6Bd0gjse96U11lDX/ikf3jvsjX7a8z/zwSmGzCHRizb7xogV65Ey+1/zyAZR71cpDRQuFLBQ==", - "requires": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/cli-framework-prompts": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-2.1.8.tgz", - "integrity": "sha512-DjO4lQsmvficsZbPmpGqSSx+F1BfgSTQBwRqL5bl9Dkh9rIZ/ckcJcKqCciVOw9kIY7WTeNFOTwj2vWrkFn7+Q==", - "requires": { - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "inquirer": "^7.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.5.0.tgz", - "integrity": "sha512-vefrnd1WYZJnjSXwsY1sn3HJpBDKPGnwtO2US55Qrjz0d9HyUwocHgVvkvLAAKZG+LGErJbVeV8aTmdYEydRgg==", - "requires": { - "@stencil/core": "^2.18.0", - "ionicons": "^6.1.1", - "tslib": "^2.1.0" - } - }, - "@ionic/storage": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/storage/-/storage-2.3.1.tgz", - "integrity": "sha512-IdYKr6xRatumkhceVbjmySCrA20KKcojQN0MyS857D4OgvcDtQhG9mvTXtfX/tU2hxaFlN6WkUaQOy3oPFcJvA==", - "requires": { - "localforage": "1.7.1", - "localforage-cordovasqlitedriver": "1.7.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@ionic/utils-array": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", - "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", - "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-fs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.5.tgz", - "integrity": "sha512-a41bY2dHqWSEQQ/80CpbXSs8McyiCFf2DnIWWLukrhYWf46h4qi6M/8dxcMKrofRiqI/3F+cL3S2mOm9Zz/o2Q==", - "requires": { - "debug": "^4.0.0", - "fs-extra": "^9.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "@ionic/utils-network": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-2.1.5.tgz", - "integrity": "sha512-HUQ1Ec4Mh2MXzzKdbbbDS6xYKwpFJ2XRY7SYXbaZT8+jiNahfHbsOfe62/p8bk41Yil7E9EagzGC2JvIFJh01w==", - "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-object": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", - "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", - "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-process": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.8.tgz", - "integrity": "sha512-VBBoyTzi+m6tgKAItl+jiTQneGwTOsctcrTG4CsEgmVOVOEhUYkPhddXqzD+oC54hPDU9ROsd3I014P5CWEuhQ==", - "requires": { - "@ionic/utils-object": "2.1.5", - "@ionic/utils-terminal": "2.3.1", - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "tree-kill": "^1.2.2", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-stream": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", - "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", - "requires": { - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-subprocess": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.8.tgz", - "integrity": "sha512-pkmtf1LtXcEMPn6/cctREL2aZtZoy0+0Sl+nT0NIkOHIoBUcqrcfMWdctCSM4Mp6+2/hLWtgpHE3TOIibkWfIg==", - "requires": { - "@ionic/utils-array": "2.1.5", - "@ionic/utils-fs": "3.1.5", - "@ionic/utils-process": "2.1.8", - "@ionic/utils-stream": "3.1.5", - "@ionic/utils-terminal": "2.3.1", - "cross-spawn": "^7.0.0", - "debug": "^4.0.0", - "tslib": "^2.0.1" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@ionic/utils-terminal": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.1.tgz", - "integrity": "sha512-cglsSd2AckI3Ldtdfczeq64vIIDjtPspV5QJtky8f8uIdxkeOIGeRV7bCj1+BEf1hyo+ZuggQxLviHnbMZhiRw==", - "requires": { - "debug": "^4.0.0", - "signal-exit": "^3.0.3", - "slice-ansi": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "tslib": "^2.0.1", - "untildify": "^4.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - } - }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz", - "integrity": "sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "dependencies": { - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - } - } - }, - "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", - "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", - "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.3", - "loader-utils": "^2.0.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.7.0" - }, - "dependencies": { - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - } - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "@netflix/nerror": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", - "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==", - "requires": { - "assert-plus": "^1.0.0", - "extsprintf": "^1.4.0", - "lodash": "^4.17.15" - }, - "dependencies": { - "extsprintf": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", - "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" - } - } - }, - "@ngtools/webpack": { - "version": "15.1.2", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.1.2.tgz", - "integrity": "sha512-IxKPqyA5hiwUioAAptFaETF2TifH6cTGOc7qKYFxFgzK+llZtEBcNj3w9zrL5uCFnPHWDZqdIDhH3/WM4zBmkw==", - "dev": true, - "requires": {} - }, - "@ngx-translate/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz", - "integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@ngx-translate/http-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-4.0.0.tgz", - "integrity": "sha512-x8LumqydWD7eX9yQTAVeoCM9gFUIGVTUjZqbxdAUavAA3qVnk9wCQux7iHLPXpydl8vyQmLoPQR+fFU+DUDOMA==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" - } - }, - "@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, - "requires": { - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@npmcli/git": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", - "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@npmcli/installed-package-contents": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.1.tgz", - "integrity": "sha512-GIykAFdOVK31Q1/zAtT5MbxqQL2vyl9mvFJv+OGu01zxbhL3p0xc8gJjdNGX1mWmUT43aEKVO2L6V/2j4TOsAA==", - "dev": true, - "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - } - }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true - }, - "@npmcli/promise-spawn": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", - "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, - "requires": { - "which": "^3.0.0" - }, - "dependencies": { - "which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@npmcli/run-script": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", - "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", - "dev": true, - "requires": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, - "dependencies": { - "which": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", - "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "dev": true - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "dev": true - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "dev": true - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "dev": true - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "dev": true - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "dev": true - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "dev": true - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "dev": true - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "dev": true - }, - "@schematics/angular": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.14.tgz", - "integrity": "sha512-TpcVNTKoo44eat4lpIfl7jyd/eBuvVgI8bBIGh621QWYfkfRZFuXF6QSB4hh44aoX8lqxxRNlmIsp/P4goiMFg==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.2.14", - "@angular-devkit/schematics": "12.2.14", - "jsonc-parser": "3.0.0" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.14.tgz", - "integrity": "sha512-C2pVuvZGULzaIu44ixQ4prJIBn/QLY/bjlyProXM8NOw5/92iNuGus11qZ4+xeiQgzfZxXN1eYyL2Mpo7PG5ug==", - "dev": true, - "requires": { - "ajv": "8.6.2", - "ajv-formats": "2.1.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - } - }, - "@angular-devkit/schematics": { - "version": "12.2.14", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.14.tgz", - "integrity": "sha512-QS2IdV3c51CFpHlj1x7xEOQuoYJS2W1bDYLbZUcgfp7u/6M8pA1gz96F0zy4dO5775+MSakpl9314H9956irKw==", - "dev": true, - "requires": { - "@angular-devkit/core": "12.2.14", - "ora": "5.4.1", - "rxjs": "6.6.7" - } - }, - "ajv": { - "version": "8.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz", - "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "@stencil/core": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.22.1.tgz", - "integrity": "sha512-L4EsWLXYkg24BfrR3aS1df3BSkH0RFyza+Tu84MaYoF2csiKTJxDTZuFHSnJeF8UdgzV7CBfnsIEV6r3s0+h3g==" - }, - "@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", - "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", - "dev": true, - "requires": { - "@babel/core": ">=7.9.0" - } - }, - "@stylelint/postcss-markdown": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", - "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", - "dev": true, - "requires": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - } - }, - "@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", - "dev": true - }, - "@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", - "dev": true - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "@types/cordova": { - "version": "0.0.34", - "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz", - "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ=" - }, - "@types/cordova-plugin-ble-central": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.3.1.tgz", - "integrity": "sha512-zhn/2hVV/LIOyQr0sUptafphRCO3QxMpp3A1vKmRmJCyPbzC+9GLZvAFJ0/MUkgPf63dySTBL7c/MldMEnF+hw==", - "dev": true - }, - "@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", - "dev": true - }, - "@types/eslint": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.1.tgz", - "integrity": "sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "@types/express": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz", - "integrity": "sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.31", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.32", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz", - "integrity": "sha512-aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/jasmine": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.6.tgz", - "integrity": "sha512-kgl+oYOLCBt41iba8cetp+QPOqDAaTJnHtVPCE7JzYmda4juglRBLX35opVcANc7TLA/Lp0DEnajbUNnyxGC+Q==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", - "dev": true, - "requires": { - "@types/jasmine": "*" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", - "dev": true - }, - "@types/mdast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", - "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", - "dev": true, - "requires": { - "@types/unist": "*" - } - }, - "@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", - "dev": true - }, - "@types/node": { - "version": "12.20.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.5.tgz", - "integrity": "sha512-5Oy7tYZnu3a4pnJ//d4yVvOImExl4Vtwf0D40iKUlU+XlUsyV9iyFWyCFlwy489b72FMAik/EFwRkNLjjOdSPg==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", - "dev": true - }, - "@types/object-hash": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", - "integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/protobufjs": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@types/protobufjs/-/protobufjs-6.0.0.tgz", - "integrity": "sha512-A27RDExpAf3rdDjIrHKiJK6x8kqqJ4CmoChwtipfhVAn1p7+wviQFFP7dppn8FslSbHtQeVPvi8wNKkDjSYjHw==", - "dev": true, - "requires": { - "protobufjs": "*" - } - }, - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", - "dev": true, - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/unist": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", - "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", - "dev": true - }, - "@types/webpack-sources": { - "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz", - "integrity": "sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@wisdomgarden/cordova-plugin-filepath": { - "version": "git+ssh://git@github.com/wisdom-garden/cordova-plugin-filepath.git#50d756e125eb4c95a357bd11137b3eafbee199b0", - "integrity": "sha512-b9Op8wYpLnGddOMLAbChRlJYM7jz9AWEbWy8CWxIeIOgJflydZSIzsjBbqe9TQGTq+v9UoUOJsEP/jx5tmQvQg==", - "dev": true, - "from": "@wisdomgarden/cordova-plugin-filepath@git+https://github.com/wisdom-garden/cordova-plugin-filepath.git" - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "adler-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", - "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - } - }, - "adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true - }, - "ag-virtual-scroll": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ag-virtual-scroll/-/ag-virtual-scroll-1.5.2.tgz", - "integrity": "sha512-n5z5gbh5DFfn9JxyOW1k7OR6KPp8tKrQwCgD0ICPGqT7BWdonxPxvi7kZsyC+2vl3ckr8fwKAIDGPs5Z+rnVKw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "agentkeepalive": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", - "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "depd": "^1.1.2", - "humanize-ms": "^1.2.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz", - "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "ajv-formats": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.0.tgz", - "integrity": "sha512-USH2jBb+C/hIpwD2iRjp0pe0k+MvzG0mlSn/FIdCgQhUb9ALPRjt2KIQdfZDS9r0ZIeUAg7gOu9KL0PFqGqr5Q==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.0.tgz", - "integrity": "sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "android-versions": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.8.1.tgz", - "integrity": "sha512-5a0YyylAk6pPM2Ezi0vWaPPNbS6tSNRs+micbgk5NpHEN5YW1ez+T94G5orysfwBEBDMHoxm5GNc5ZDUPgRrhw==", - "requires": { - "semver": "^5.7.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "ansi": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", - "requires": { - "type-fest": "^0.11.0" - }, - "dependencies": { - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" - } - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - }, - "dependencies": { - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - } - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "arg": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.1.tgz", - "integrity": "sha512-SlmP3fEA88MBv0PypnXZ8ZfJhwmDeIE3SP71j37AiXQBXYosPV0x6uISAaHYSlSVhmHOVkomen0tbGk6Anlebw==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "requires": { - "tslib": "^2.0.1" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, - "async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", - "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", - "dev": true - }, - "babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.2", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big-integer": { - "version": "1.6.45", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.45.tgz", - "integrity": "sha512-nmb9E7oEtVJ7SmSCH/DeJobXyuRmaofkpoQSimMFu3HKJ5MADtM825SPLhDuWhZ6TElLAQtgJbQmBZuHIRlZoA==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "bonjour-service": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", - "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", - "dev": true, - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - }, - "dependencies": { - "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bplist-creator": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", - "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", - "requires": { - "stream-buffers": "2.2.x" - } - }, - "bplist-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", - "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", - "requires": { - "big-integer": "1.6.x" - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "requires": { - "semver": "^7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.2.0.tgz", - "integrity": "sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001446", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001446.tgz", - "integrity": "sha512-fEoga4PrImGcwUUGEol/PoFCSBnSkA9drgdkxXkJLsUBOnJ8rs3zDv6ApqYXGQFOyMPsjh79naWhF4DAxbF8rw==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true, - "peer": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "cfb": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.1.tgz", - "integrity": "sha512-wT2ScPAFGSVy7CY+aauMezZBnNrfnaLSrxHUHdea+Td/86vrk6ZquggV+ssBR88zNs0OnBkL2+lf9q0K+zVGzQ==", - "requires": { - "adler-32": "~1.3.0", - "crc-32": "~1.2.0", - "printj": "~1.3.0" - }, - "dependencies": { - "adler-32": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz", - "integrity": "sha512-f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==", - "requires": { - "printj": "~1.2.2" - }, - "dependencies": { - "printj": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz", - "integrity": "sha512-sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==" - } - } - }, - "printj": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz", - "integrity": "sha512-017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==" - } - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "chart.js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", - "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" - }, - "chartjs-adapter-luxon": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.1.0.tgz", - "integrity": "sha512-CS+xBWEyXYVLBZ3dSY/MwlSXhz8er4JjkApazY84ft/++oOLsmkt6TaXBCsUFudum7QdoYmpxiL/gSp20+emkw==", - "requires": {} - }, - "chartjs-plugin-annotation": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-annotation/-/chartjs-plugin-annotation-1.3.0.tgz", - "integrity": "sha512-TF2Y+ZYnz5TdSmyU1WIeWqXXcIS+3GfWkJOrdovd/JgdLzKxw7/paj01FVeAtTzfRPdc6dy/zQERoBdYSstYsw==", - "requires": {} - }, - "chartjs-plugin-streaming": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-streaming/-/chartjs-plugin-streaming-2.0.0.tgz", - "integrity": "sha512-oBwHRmovGbPDS1h8PhpttnlKjI6eiJO13v4h+xz+mfbHhIc+iNF9xuMobCIFMKFH7rlVWi5TJAOIxoXyGElYYg==", - "requires": {} - }, - "chartjs-plugin-zoom": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.2.0.tgz", - "integrity": "sha512-cLYKUHHx4bevuZQDpEKdjpvZ6HGu6NF8laTThgA0I9af+PV1N4qVTRZmyDNh0SAzsHZPtDOhuO3I7B4CF1lstw==", - "requires": { - "hammerjs": "^2.0.8" - } - }, - "cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dev": true, - "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - } - } - }, - "cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - } - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true - }, - "circular-dependency-plugin": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", - "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "requires": {} - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true - }, - "ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - } - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-regexp": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", - "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", - "dev": true, - "requires": { - "is-regexp": "^2.0.0" - } - }, - "codepage": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", - "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true - }, - "colord": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", - "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==", - "dev": true - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "requires": { - "safe-buffer": "5.2.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" - }, - "copy-anything": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", - "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", - "dev": true, - "requires": { - "is-what": "^3.12.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - } - } - }, - "cordova-android": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-10.1.2.tgz", - "integrity": "sha512-F28+NvgKO4ZhKFkqctCOh62mhVoNyUuRQh/F/nqp+Sti4ODv2rUa6UeW18khhdYTjlDeihHQsPqxvB7mI6fVYA==", - "requires": { - "android-versions": "^1.7.0", - "cordova-common": "^4.0.2", - "execa": "^5.1.1", - "fast-glob": "^3.2.7", - "fs-extra": "^10.0.0", - "is-path-inside": "^3.0.3", - "nopt": "^5.0.0", - "properties-parser": "^0.3.1", - "semver": "^7.3.5", - "untildify": "^4.0.0", - "which": "^2.0.2" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "cordova-android-support-gradle-release": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-3.0.1.tgz", - "integrity": "sha512-RSW55DkSckmqhX/kjj+a1YeVdy7s/AtlZn6Qa5XMQmmA4Iogq+IF2jvInZqzCF19DbI5YE95AP7VDbRk+DdDRw==", - "requires": { - "q": "^1.4.1", - "semver": "5.6.0" - } - }, - "cordova-common": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz", - "integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==", - "requires": { - "@netflix/nerror": "^1.1.3", - "ansi": "^0.3.1", - "bplist-parser": "^0.2.0", - "cross-spawn": "^7.0.1", - "elementtree": "^0.1.7", - "endent": "^1.4.1", - "fast-glob": "^3.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "plist": "^3.0.1", - "q": "^1.5.1", - "read-chunk": "^3.2.0", - "strip-bom": "^4.0.0", - "underscore": "^1.9.2" - }, - "dependencies": { - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "requires": { - "big-integer": "^1.6.44" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } - } - }, - "cordova-ios": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz", - "integrity": "sha512-sLjZg2QBI1SpQVwfe0MSn89YNVkBGLW9Q1vcFJBsqKBrhvoEOJ5Ytq0gwqdhgTOGzlwJUfxC6OHM3jcsRjtYrw==", - "dev": true, - "requires": { - "cordova-common": "^4.0.2", - "fs-extra": "^9.1.0", - "ios-sim": "^8.0.2", - "nopt": "^5.0.0", - "plist": "^3.0.1", - "semver": "^7.3.4", - "unorm": "^1.6.0", - "which": "^2.0.2", - "xcode": "^3.0.1", - "xml-escape": "^1.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "xcode": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", - "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", - "dev": true, - "requires": { - "simple-plist": "^1.1.0", - "uuid": "^7.0.3" - } - } - } - }, - "cordova-plugin-3dtouch": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/cordova-plugin-3dtouch/-/cordova-plugin-3dtouch-1.3.8.tgz", - "integrity": "sha512-xX19yf3L8aT+Qx/0tvPpZl0A6PLSzaUbqA8ODoMJSIErin6nXvgdtM1L9ldvgqdNtXX7eIZA7iYeBlC9fcd3pQ==" - }, - "cordova-plugin-add-swift-support": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", - "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", - "dev": true, - "requires": { - "glob": "^7.1.3", - "semver": "^6.0.0", - "xcode": "^2.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "cordova-plugin-android-permissions": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.1.2.tgz", - "integrity": "sha512-vJd56gLaSgQnB/4+uUjyVwVAii5TszBPAgjVkGvM8658cP5rjiNFAWmoOYkjeSe1I6dJk+MGrh/GbPkn0a+2OA==" - }, - "cordova-plugin-androidx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz", - "integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==", - "dev": true - }, - "cordova-plugin-androidx-adapter": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz", - "integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==", - "dev": true, - "requires": { - "q": "^1.5.1", - "recursive-readdir": "^2.2.2" - } - }, - "cordova-plugin-app-version": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.12.tgz", - "integrity": "sha512-P+0d9+h9HasanKuMd8tcEpuJJlsVmClie3Mbq16v3TV/VroDrgYB6Ea8Imkc/WjjMVSBCjWB+pji1LoupWlddA==", - "dev": true - }, - "cordova-plugin-appminimize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-appminimize/-/cordova-plugin-appminimize-1.0.1.tgz", - "integrity": "sha512-UJZ5g8iFBP42EplS0gKwAQhwr9cUfur95o6w+2NW21pjbgioj1RVZddngy7dO++ABDpkd4HMPYnJw7DqMp5rww==" - }, - "cordova-plugin-apprate": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-apprate/-/cordova-plugin-apprate-1.7.2.tgz", - "integrity": "sha512-kW92o//7EVr+heGRp3J6BUPE1w5zQaJdh3ZEdE5EBrr95yVarhJ8W9NN4CoMM+YlgF8flUqWD+vN+reBv+RZrg==", - "dev": true - }, - "cordova-plugin-ble-central": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.5.2.tgz", - "integrity": "sha512-B6r1LBTU4kdsShWoFnlAn5oKYI0IGQiqLILcw4wlt9yXXiM+Srl46Nau1Vhwoh/6dAbilwvr7oblGT0AmBOjWw==", - "dev": true - }, - "cordova-plugin-camera": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-6.0.0.tgz", - "integrity": "sha512-FTFKep8HZI/2HkX+Gc/dUACfZGV9+k9waXlgoEOKXOiPPR/1zBw29Mw+adcz4FQUpdWyAgYDxNiaPUnP0P+H2Q==", - "dev": true - }, - "cordova-plugin-customurlscheme-ng": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-customurlscheme-ng/-/cordova-plugin-customurlscheme-ng-10.0.0.tgz", - "integrity": "sha512-XGoUioiF23HNk8BY/I1AQ1j9jsVTtjIqZFxmZGyXzLH+hEvagi2vixXvJB2GLh737jb1rhiJn+F02EJDgtTlvQ==", - "dev": true - }, - "cordova-plugin-device": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.3.tgz", - "integrity": "sha512-Jb3V72btxf3XHpkPQsGdyc8N6tVBYn1vsxSFj43fIz9vonJDUThYPCJJHqk6PX6N4dJw6I4FjxkpfCR4LDYMlw==" - }, - "cordova-plugin-dialogs": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-dialogs/-/cordova-plugin-dialogs-2.0.2.tgz", - "integrity": "sha512-FUHI6eEVeoz2VkxbF0P56QlUQLGzXcvw3i4xuXyM9gEct6Y+FA3Xzgl2pJTZcTg5wRqLWzN08kgNoHPkom15pw==", - "dev": true - }, - "cordova-plugin-enable-multidex": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-enable-multidex/-/cordova-plugin-enable-multidex-0.2.0.tgz", - "integrity": "sha512-W/s8FpRdi3kTLtePdvauqKj1qqoxZDJWmEphvAmSmPwNTtfv3CxgnwFYc9aNmR9iDiJk3E0ME+9BRkbyz/4rXw==" - }, - "cordova-plugin-file": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-7.0.0.tgz", - "integrity": "sha512-mSwy9GE5pHq2ZHhu/wYk/VhrwR5VLk+XQsk3+IiiFmDgcPsrVIyELkM2FZKX09cC6i+bJVTFVKUlwteSStj3ow==", - "dev": true - }, - "cordova-plugin-file-transfer": { - "version": "git+ssh://git@github.com/dpa99c/cordova-plugin-file-transfer.git#2cdb0403a81821e144998c8d9a00d338d6ece3ee", - "integrity": "sha512-nOOCSablnogiNuLYpMN+p5+D0km8xAGfzrh5+znfLLSKAwGTOiy/zB7nCgigVAGPW8JIeBsaR0zKMt0msClqzw==", - "dev": true, - "from": "cordova-plugin-file-transfer@github:dpa99c/cordova-plugin-file-transfer" - }, - "cordova-plugin-filechooser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-filechooser/-/cordova-plugin-filechooser-1.2.0.tgz", - "integrity": "sha512-ycL9ML3wlRQ8wfK7vCG8gobv1f3VIdO52m0LA9mPSzLblbu0AXJs89yCRxZB87+08/V96qBxrmkxMsMmVYu5wA==" - }, - "cordova-plugin-filepicker": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/cordova-plugin-filepicker/-/cordova-plugin-filepicker-1.1.6.tgz", - "integrity": "sha512-nUlnFj22HImuF/sjB61qdNyzg/9wFbx1808ADly7QN6jDK1DoN18qg8POOroPCNG355v7mbh/nohxnEYz57tHg==", - "requires": { - "q": "^1.5.1", - "xcode": "^2.0.0" - } - }, - "cordova-plugin-geolocation": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-geolocation/-/cordova-plugin-geolocation-4.1.0.tgz", - "integrity": "sha512-y5io/P10xGMxSn2KEqfv/fExK47eA1pmSonJdmDqDsaSADV9JpgdPx0mUSA08+5pzma/OS9R0LoODeDPx7Jvjg==", - "dev": true - }, - "cordova-plugin-globalization": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz", - "integrity": "sha1-6sMVgQAphJOvowvolA5pj2HvvP4=" - }, - "cordova-plugin-health": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-health/-/cordova-plugin-health-2.0.0.tgz", - "integrity": "sha512-KIehXuSoDMiCxzrQzV/duON1EBNOlszcuzOZqjq67c1ScgvHMSzbRI9GSQ7w55AFTSZBMfeob7AuqGOJCGozbQ==", - "dev": true - }, - "cordova-plugin-inappbrowser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", - "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==", - "dev": true - }, - "cordova-plugin-insomnia": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-insomnia/-/cordova-plugin-insomnia-4.3.0.tgz", - "integrity": "sha1-gyoz9tdj8LgCc733YbNbZ4xDuVc=", - "dev": true - }, - "cordova-plugin-ionic-keyboard": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz", - "integrity": "sha512-yDUG+9ieKVRitq5mGlNxjaZh/MgEhFFIgTIPhqSbUaQ8UuZbawy5mhJAVClqY97q8/rcQtL6dCDa7x2sEtCLcA==" - }, - "cordova-plugin-ionic-webview": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-5.0.0.tgz", - "integrity": "sha512-Wq0kCanxubK/JroTW4Mp5soayScnRyiY1eCkbwiz1Dyt1xHOiOW/v+1miqtBHtnZhcXw25TulCKAVJzkNBdmyg==", - "dev": true - }, - "cordova-plugin-nativestorage": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-nativestorage/-/cordova-plugin-nativestorage-2.3.2.tgz", - "integrity": "sha512-olg/BzYRk0NGbKQ5f7rf21RYQEyJI19CCZn6RpVMO9/kbRRFqae/6ixjDNy81dXSu2TQ42brjBddGe1Qpn5ViA==", - "dev": true - }, - "cordova-plugin-screen-orientation": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.2.tgz", - "integrity": "sha512-2w6CMC+HGvbhogJetalwGurL2Fx8DQCCPy3wlSZHN1/W7WoQ5n9ujVozcoKrY4VaagK6bxrPFih+ElkO8Uqfzg==", - "dev": true - }, - "cordova-plugin-simple-file-chooser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-simple-file-chooser/-/cordova-plugin-simple-file-chooser-2.2.1.tgz", - "integrity": "sha512-uiDt8ynX6s/GInaZg4mi/gDgk0OLK//5lT/gunP5LHi898LOH0c5y6qnD0IS5ued5AYuETFRs63X2be3+3d5Wg==", - "dev": true - }, - "cordova-plugin-splashscreen": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-6.0.0.tgz", - "integrity": "sha512-pm4ZtJKQY4bCGXVeIInbGrXilryTevYSKgfvoQJpW9UClOWKAxSsYf2/4G2u1vcn492svOSL42OSa2MhujBWEQ==", - "dev": true - }, - "cordova-plugin-statusbar": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.3.tgz", - "integrity": "sha512-ThmXzl6QIKWFXf4wWw7Q/zpB+VKkz3VM958+5A0sXD4jmR++u7KnGttLksXshVwWr6lvGwUebLYtIyXwS4Ovcg==" - }, - "cordova-plugin-telerik-imagepicker": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-telerik-imagepicker/-/cordova-plugin-telerik-imagepicker-2.3.3.tgz", - "integrity": "sha512-eL16EIxDueDo+dky5lNuzC+bDbKHPLPDfd/mtNpaCTNoT6iZqFd9/qJwSMnidXqCeExJZkN4ACsEHmtUA+vQ7Q==", - "dev": true - }, - "cordova-plugin-x-socialsharing": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-x-socialsharing/-/cordova-plugin-x-socialsharing-6.0.3.tgz", - "integrity": "sha512-pnrE2CXsz4G0n0WoFDAasLS1VT3nIsNpddvXgfpiqX3wyOlSjO2NdF+sjYaTvs1B+f7z8EWbYCHpCrgBQiMLIg==", - "dev": true - }, - "cordova-sqlite-storage": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cordova-sqlite-storage/-/cordova-sqlite-storage-5.1.0.tgz", - "integrity": "sha512-UmHe9yQiYblDBToh3z91WHuD6ZgmCm3VX+1QFseYQs4WVQ3+ndj22qyGby/NV0uyCgok91gB1obLjLM+9vYJEw==", - "dev": true, - "requires": { - "cordova-sqlite-storage-dependencies": "3.0.0" - } - }, - "cordova-sqlite-storage-dependencies": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-3.0.0.tgz", - "integrity": "sha512-A7gV5lQZc0oPrJ/a+lsZmMZr7vYou4MXyQFOY+b/dwuCMsagLT0EsL7oY54tqzpvjtzLfh0aZGGm9i8DMAIFSA==", - "dev": true - }, - "core-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz", - "integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==" - }, - "core-js-compat": { - "version": "3.27.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz", - "integrity": "sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==", - "dev": true, - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "crc-32": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz", - "integrity": "sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==", - "requires": { - "exit-on-epipe": "~1.0.1", - "printj": "~1.1.0" - } - }, - "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-declaration-sorter": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", - "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", - "dev": true, - "requires": { - "timsort": "^0.3.0" - } - }, - "css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", - "dev": true, - "requires": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "p-limit": "^3.0.2", - "postcss": "^8.3.5", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", - "dev": true, - "requires": { - "css": "^2.0.0" - }, - "dependencies": { - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - } - } - }, - "css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-select": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.0.tgz", - "integrity": "sha512-6YVG6hsH9yIb/si3Th/is8Pex7qnVHO6t7q7U6TIUnkQASGbS8tnUDBftnPynLNnuUl/r2+PTd0ekiiq7R0zJw==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "dev": true - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - } - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "dev": true - }, - "cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.12.tgz", - "integrity": "sha512-U38V4x2iJ3ijPdeWqUrEr4eKBB5PbEKsNP5T8xcik2Au3LeMtiMHX0i2Hu9k51FcKofNZumbrcdC6+a521IUHg==", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.1.8", - "is-resolvable": "^1.1.0", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "dependencies": { - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - } - } - }, - "cssnano-preset-default": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.8.tgz", - "integrity": "sha512-zWMlP0+AMPBVE852SqTrP0DnhTcTA2C1wAF92TKZ3Va+aUVqLIhkqKlnJIXXdqXD7RN+S1ujuWmNpvrJBiM/vg==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.1", - "postcss-convert-values": "^5.0.2", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.4", - "postcss-merge-rules": "^5.0.3", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.3", - "postcss-minify-params": "^5.0.2", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.3", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.2", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.3", - "postcss-unique-selectors": "^5.0.2" - } - }, - "cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - } - }, - "currency-symbol-map": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-5.0.1.tgz", - "integrity": "sha512-2yHvoVBPIS9Dx7fjritu9l7UHWo4Z3D2oQnQj8AYwUee2j/PAcoHB4issCqwabfbipISZ/iG6vVYsfrAoks2eA==" - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" - }, - "dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - }, - "date-format": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.11.tgz", - "integrity": "sha512-VS20KRyorrbMCQmpdl2hg5KaOUsda1RbnsJg461FfrcyCUg+pkd0b40BSW4niQyTheww4DBXQnS7HwSrKkipLw==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - } - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "degenerator": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz", - "integrity": "sha512-LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==", - "requires": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0", - "vm2": "^3.9.3" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", - "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dev": true, - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "elementtree": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", - "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=", - "requires": { - "sax": "1.1.4" - }, - "dependencies": { - "sax": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", - "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk=" - } - } - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": { - "once": "^1.4.0" - } - }, - "endent": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", - "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", - "requires": { - "dedent": "^0.7.0", - "fast-json-parse": "^1.0.3", - "objectorarray": "^1.0.4" - } - }, - "engine.io": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", - "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", - "dev": true, - "requires": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.2.3" - }, - "dependencies": { - "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "dev": true, - "requires": {} - } - } - }, - "engine.io-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", - "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promise-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/es6-promise-plugin/-/es6-promise-plugin-4.2.2.tgz", - "integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, - "esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", - "dev": true, - "optional": true, - "requires": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" - } - }, - "esbuild-wasm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.16.17.tgz", - "integrity": "sha512-Tn7NuMqRcM+T/qCOxbQRq0qrwWl1sUWp6ARfJRakE8Bepew6zata4qrKgH2YqovNC5e/2fcTa7o+VL/FAOZC1Q==", - "dev": true - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true - }, - "eventemitter-asyncresource": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", - "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "eventsource": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", - "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - } - } - }, - "execall": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", - "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", - "dev": true, - "requires": { - "clone-regexp": "^2.1.0" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "exit-on-epipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", - "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", - "dev": true, - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.10.3", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - } - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "requires": { - "side-channel": "^1.0.4" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-json-parse": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figures": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz", - "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", - "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "formidable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", - "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==" - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true - }, - "frac": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", - "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "ftp": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", - "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=", - "requires": { - "readable-stream": "1.1.x", - "xregexp": "2.0.0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "fttx-phonegap-plugin-barcodescanner": { - "version": "git+ssh://git@github.com/fttx/phonegap-plugin-barcodescanner.git#92d7e25631760f2db02e9fb42769d30b5ccc325f", - "integrity": "sha512-6HpLlhDsv/fxLqji84VQjkGyUXJ2GMlKTIRh3CKe7j+x6vNq2Hflu/MDX9gXmNDJkHD/cILhyVaG92cxdme+3g==", - "dev": true, - "from": "fttx-phonegap-plugin-barcodescanner@github:fttx/phonegap-plugin-barcodescanner", - "requires": { - "nopt": "^4.0.1", - "shelljs": "^0.8.3" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true - }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", - "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", - "requires": { - "@tootallnate/once": "1", - "data-uri-to-buffer": "3", - "debug": "4", - "file-uri-to-path": "2", - "fs-extra": "^8.1.0", - "ftp": "^0.3.10" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "file-uri-to-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", - "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - }, - "dependencies": { - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - } - } - }, - "globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", - "dev": true - }, - "gonzales-pe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", - "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - }, - "dependencies": { - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true - } - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hdr-histogram-js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.1.tgz", - "integrity": "sha512-uPZxl1dAFnjUFHWLZmt93vUUvtHeaBay9nVNHu38SdOjMSF/4KqJUqa1Seuj08ptU1rEb6AHvB41X8n/zFZ74Q==", - "dev": true, - "requires": { - "@assemblyscript/loader": "^0.10.1", - "base64-js": "^1.2.0", - "pako": "^1.0.3" - } - }, - "hdr-histogram-percentiles-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", - "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hosted-git-info": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", - "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "dev": true - }, - "html-to-image": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.10.8.tgz", - "integrity": "sha512-t+JyFJwKDCp4ZwBp4iC/wqw0meQDDc77Qs8OFl5P7RGlIP3LQMvwpD7VXxqQfC7/TfC+GKYlFP6WDYfXTmXHfw==" - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - } - } - }, - "http-parser-js": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz", - "integrity": "sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "dependencies": { - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "husky": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.1.tgz", - "integrity": "sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true - }, - "ignore-walk": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.0.tgz", - "integrity": "sha512-bTf9UWe/UP1yxG3QUrj/KOvEhTAUWPcv+WvbFZ28LcqznXabp7Xu6o9y1JEC18+oqODuS7VhTpekV5XvFwsxJg==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "immutable": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.2.tgz", - "integrity": "sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==", - "dev": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.6.tgz", - "integrity": "sha512-IZUoxEjNjubzrmvzZU4lKP7OnYmX72XRl3sqkfJhBKweKi5rnGi5+IUdlj/H1M+Ip5JQ1WzaDMOBRY90Ajc5jg==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - } - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "ionic-plugin-deeplinks": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/ionic-plugin-deeplinks/-/ionic-plugin-deeplinks-1.0.22.tgz", - "integrity": "sha512-tdRMp9OIoXn3W2YG83TfvT048DwY+PkwUNKHqcDymBrC/Pk1+5ZYrrKKYFVD2x75x5zaZN+JBIaBrabXt8bC4w==", - "dev": true, - "requires": { - "mkpath": ">=1.0.0", - "node-version-compare": ">=1.0.1", - "plist": ">=1.2.0", - "xml2js": ">=0.4" - } - }, - "ionicons": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.1.tgz", - "integrity": "sha512-Qe6mx25DFNwA9UL1rhewI5StI3uD4+BqB2KdvLjyWhtvoUXwyAsmfHLZuDANAHQowIKtTt6BZCt5/g5NIQ635Q==", - "requires": { - "@stencil/core": "^2.18.0" - } - }, - "ios-sim": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.2.tgz", - "integrity": "sha512-P7nEG771bfd+JoMRjnis1gpZOkjTUUxu+4Ek1Z+eoaEEoT9byllU9pxfQ8Df7hL3gSkIQxNwTSLhos2I8tWUQA==", - "dev": true, - "requires": { - "bplist-parser": "^0.0.6", - "nopt": "1.0.9", - "plist": "^3.0.1", - "simctl": "^2" - }, - "dependencies": { - "bplist-parser": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz", - "integrity": "sha512-fGeghPEH4Eytvf+Mi446aKcDqvkA/+eh6r7QGiZWMQG6TzqrnsToLP379XFfqRSZ41+676hhGIm++maNST1Apw==", - "dev": true - }, - "nopt": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz", - "integrity": "sha512-CmUZ3rzN0/4kRHum5pGRiGkhmBMzgtEDxrZVHqRJDSv8qK6s+wzaig/xeyB22Due5aZQeTiEZg/nrmMH2tapDQ==", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "dev": true - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-core-module": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", - "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true - }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - }, - "dependencies": { - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - } - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", - "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", - "dev": true - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isbinaryfile": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz", - "integrity": "sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } - } - }, - "jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", - "dev": true - }, - "jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", - "dev": true, - "requires": { - "colors": "1.4.0" - } - }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, - "javascript-color-gradient": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/javascript-color-gradient/-/javascript-color-gradient-1.3.2.tgz", - "integrity": "sha512-P/VjoTPdfRmMOkfR65m1BQTlX/hYphZIj5u1Ntvpxf+9011uXjazbEOQ63g3EhlgzHYa2uwVU3RVgy3gJuLdlQ==" - }, - "jest-worker": { - "version": "27.4.5", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.5.tgz", - "integrity": "sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "dependencies": { - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - } - } - }, - "jsurl": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/jsurl/-/jsurl-0.1.5.tgz", - "integrity": "sha512-HyrafsIRCa+VlJAsvuvxWUM0iMeZd6+2J4JngECGF0JTRi5moUFV/mLxgyYfDizGF4ofLLYRpvD/Kt1d9wlUUg==" - }, - "jszip": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz", - "integrity": "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" - }, - "dependencies": { - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - } - } - }, - "karma": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.0.tgz", - "integrity": "sha512-s8m7z0IF5g/bS5ONT7wsOavhW4i4aFkzD4u4wgzAQWT4HGUeWI3i21cK2Yz6jndMAeHETp5XuNsRoyGJZXVd4w==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.4.1", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "dependencies": { - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true - } - } - }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", - "dev": true, - "requires": { - "which": "^1.2.1" - } - }, - "karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" - } - }, - "karma-jasmine": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", - "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", - "dev": true, - "requires": { - "jasmine-core": "^3.6.0" - }, - "dependencies": { - "jasmine-core": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz", - "integrity": "sha512-DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ==", - "dev": true - } - } - }, - "karma-jasmine-html-reporter": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz", - "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", - "dev": true, - "requires": {} - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "dev": true - }, - "known-css-properties": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", - "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", - "dev": true - }, - "leek": { - "version": "0.0.24", - "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz", - "integrity": "sha1-5ADlfw5g2O8r1NBo3EKKVDRdvNo=", - "requires": { - "debug": "^2.1.0", - "lodash.assign": "^3.2.0", - "rsvp": "^3.0.21" - } - }, - "less": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", - "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true - }, - "needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", - "dev": true, - "requires": { - "klona": "^2.0.4" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "requires": { - "webpack-sources": "^3.0.0" - }, - "dependencies": { - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - } - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "~3.0.5" - } - }, - "lilconfig": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", - "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", - "dev": true - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "lint-staged": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.0.3.tgz", - "integrity": "sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==", - "dev": true, - "requires": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.17", - "commander": "^9.3.0", - "debug": "^4.3.4", - "execa": "^6.1.0", - "lilconfig": "2.0.5", - "listr2": "^4.0.5", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.2", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.1.1" - }, - "dependencies": { - "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "execa": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", - "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^3.0.1", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - } - }, - "human-signals": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", - "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", - "dev": true - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - } - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - }, - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - }, - "yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", - "dev": true - } - } - }, - "listr2": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz", - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", - "dev": true, - "requires": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.5", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, - "rxjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - } - } - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "dev": true - }, - "localforage": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", - "integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=", - "requires": { - "lie": "3.1.1" - } - }, - "localforage-cordovasqlitedriver": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/localforage-cordovasqlitedriver/-/localforage-cordovasqlitedriver-1.7.0.tgz", - "integrity": "sha1-i5OVd1nuaI06WNW6fAR39sy1ODg=", - "requires": { - "localforage": ">=1.5.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "requires": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "log4js": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.5.2.tgz", - "integrity": "sha512-DXtpNtt+KDOMT7RHUDIur/WsSA3rntlUh9Zg4XCdV42wUuMmbFkl38+LZ92Z5QvQA7mD5kAVkLiBSEH/tvUB8A==", - "dev": true, - "requires": { - "date-format": "^4.0.10", - "debug": "^4.3.4", - "flatted": "^3.2.5", - "rfdc": "^1.3.0", - "streamroller": "^3.1.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "loglevel": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", - "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", - "dev": true - }, - "long": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.0.tgz", - "integrity": "sha512-9RTUNjK60eJbx3uz+TEGF7fUr29ZDxR5QzXcyDpeSfeH28S9ycINflOgOlppit5U+4kNTe83KQnMEerw7GmE8w==" - }, - "longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "luxon": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.3.0.tgz", - "integrity": "sha512-gv6jZCV+gGIrVKhO90yrsn8qXPKD8HYZJtrUDSfEbow8Tkw84T9OnCyJhWvnJIaIF/tBuiAjZuQHUt1LddX2mg==" - }, - "lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==" - }, - "macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==" - }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "make-fetch-happen": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", - "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", - "dev": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^16.1.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^2.0.3", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^9.0.0" - }, - "dependencies": { - "@npmcli/fs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", - "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", - "dev": true, - "requires": { - "@gar/promisify": "^1.1.3", - "semver": "^7.3.5" - } - }, - "@npmcli/move-file": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", - "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - } - }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", - "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", - "dev": true, - "requires": { - "@npmcli/fs": "^2.1.0", - "@npmcli/move-file": "^2.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "glob": "^8.0.1", - "infer-owner": "^1.0.4", - "lru-cache": "^7.7.1", - "minipass": "^3.1.6", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "mkdirp": "^1.0.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11", - "unique-filename": "^2.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "ssri": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", - "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "unique-filename": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", - "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", - "dev": true, - "requires": { - "unique-slug": "^3.0.0" - } - }, - "unique-slug": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", - "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "dev": true, - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-obj": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.0.tgz", - "integrity": "sha512-NAq0fCmZYGz9UFEQyndp7sisrow4GroyGeKluyKC/chuITZsPyOyC1UJZPJlVFImhXdROIP5xqouRLThT3BbpQ==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "mathml-tag-names": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", - "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", - "dev": true - }, - "mdast-util-from-markdown": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.4.tgz", - "integrity": "sha512-jj891B5pV2r63n2kBTFh8cRI2uR9LQHsXG1zSDqfhXkIlDzrTcIlbB5+5aaYEkl8vOPIOPLf8VT7Ere1wWTMdw==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "mdast-util-to-markdown": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.1.tgz", - "integrity": "sha512-4qJtZ0qdyYeexAXoOZiU0uHIFVncJAmCkHkSluAsvDaVWODtPyNEo9I1ns0T4ulxu2EHRH5u/bt1cV0pdHCX+A==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "dev": true - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz", - "integrity": "sha512-qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==", - "dev": true, - "requires": { - "map-age-cleaner": "^0.1.3", - "mimic-fn": "^3.1.0" - }, - "dependencies": { - "mimic-fn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz", - "integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==", - "dev": true - } - } - }, - "memfs": { - "version": "3.4.13", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", - "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", - "dev": true, - "requires": { - "fs-monkey": "^1.0.3" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "normalize-package-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.1.tgz", - "integrity": "sha512-D/ttLdxo71msR4FF3VgSwK4blHfE3/vGByz1NCeE7/Dh8reQOKNJJjk5L10mLq9jxa+ZHzT1/HLgxljzbXE7Fw==", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.0", - "resolve": "^1.17.0", - "semver": "^7.3.2", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yargs-parser": { - "version": "20.2.7", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", - "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", - "dev": true - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromark": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.2.tgz", - "integrity": "sha512-IXuP76p2uj8uMg4FQc1cRE7lPCLsfAXuEfdjtdO55VRiFO1asrCSQ5g43NmPqFtRwzEnEhafRVzn2jg0UiKArQ==", - "dev": true, - "requires": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", - "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "minipass": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", - "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", - "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "mkpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", - "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=", - "dev": true - }, - "moment": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", - "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dev": true, - "optional": true, - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "optional": true - } - } - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==" - }, - "ngx-gauge": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ngx-gauge/-/ngx-gauge-6.0.0.tgz", - "integrity": "sha512-sXegk6qagd9QN1+kcydjDfPfdK2hh73+W2fIhhXuqBQCG3+5j8SdXEN0jog6eeD5LozRCU0LZgjtwovN6Nc4Bw==", - "requires": { - "tslib": "^2.0.0" - } - }, - "ngx-stars": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/ngx-stars/-/ngx-stars-1.4.3.tgz", - "integrity": "sha512-aTdCCK+eXTADDQY2HQYgYdt0cg1Vtcxd3pV8t1uze0nnmhp5L+giLGJyehio7IWU08zl2578j7C0JGKIXagNwA==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "optional": true, - "requires": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-gyp": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", - "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, - "requires": { - "abbrev": "^1.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "dev": true, - "optional": true - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true - }, - "node-version-compare": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.3.tgz", - "integrity": "sha512-unO5GpBAh5YqeGULMLpmDT94oanSDMwtZB8KHTKCH/qrGv8bHN0mlDj9xQDAicCYXv2OLnzdi67lidCrcVotVw==", - "dev": true - }, - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dev": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^3.0.0" - } - }, - "npm-install-checks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", - "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", - "dev": true, - "requires": { - "semver": "^7.1.1" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "npm-normalize-package-bin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", - "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", - "dev": true - }, - "npm-package-arg": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", - "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", - "dev": true, - "requires": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "dependencies": { - "hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - } - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "npm-packlist": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", - "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", - "dev": true, - "requires": { - "ignore-walk": "^6.0.0" - } - }, - "npm-pick-manifest": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", - "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", - "dev": true, - "requires": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "npm-registry-fetch": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", - "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", - "dev": true, - "requires": { - "make-fetch-happen": "^11.0.0", - "minipass": "^4.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" - }, - "dependencies": { - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, - "make-fetch-happen": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz", - "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==", - "dev": true, - "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", - "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^4.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } - }, - "ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "requires": { - "unique-slug": "^4.0.0" - } - }, - "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "objectorarray": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz", - "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==" - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz", - "integrity": "sha512-rXILpcQlkF/QuFez2BJDf3GsqpjGKbkUUToAIGo9A0Q6ZkoSGogZJulrUdwRkrAsoQvoZsrjCYt8+zblOk7JQQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "dependencies": { - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - } - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "requires": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", - "requires": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", - "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "dependencies": { - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - } - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "pac-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz", - "integrity": "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==", - "requires": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4", - "get-uri": "3", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "5", - "pac-resolver": "^5.0.0", - "raw-body": "^2.2.0", - "socks-proxy-agent": "5" - }, - "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "pac-resolver": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.0.tgz", - "integrity": "sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA==", - "requires": { - "degenerator": "^3.0.1", - "ip": "^1.1.5", - "netmask": "^2.0.1" - } - }, - "pacote": { - "version": "15.0.8", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.0.8.tgz", - "integrity": "sha512-UlcumB/XS6xyyIMwg/WwMAyUmga+RivB5KgkRwA1hZNtrx+0Bt41KxHCvg1kr0pZ/ZeD8qjhW4fph6VaYRCbLw==", - "dev": true, - "requires": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^4.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "cacache": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", - "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, - "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^8.0.1", - "lru-cache": "^7.7.1", - "minipass": "^4.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - } - }, - "fs-minipass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.0.tgz", - "integrity": "sha512-EUojgQaSPy6sxcqcZgQv6TVF6jiKvurji3AxhAivs/Ep4O1UpS8TusaxpybfFHZ2skRhLqzk6WR8nqNYIMMDeA==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "minipass": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz", - "integrity": "sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "ssri": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", - "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, - "requires": { - "minipass": "^4.0.0" - } - }, - "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "requires": { - "unique-slug": "^4.0.0" - } - }, - "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - } - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", - "dev": true, - "requires": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - } - }, - "parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", - "dev": true, - "requires": { - "parse5": "^6.0.1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "piscina": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.1.0.tgz", - "integrity": "sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg==", - "dev": true, - "requires": { - "eventemitter-asyncresource": "^1.0.0", - "hdr-histogram-js": "^2.0.1", - "hdr-histogram-percentiles-obj": "^3.0.0", - "nice-napi": "^1.0.2" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "plist": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz", - "integrity": "sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==", - "requires": { - "base64-js": "^1.5.1", - "xmlbuilder": "^9.0.7" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true - }, - "postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "dependencies": { - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - } - } - }, - "postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dev": true, - "requires": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-colormin": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.1.tgz", - "integrity": "sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-convert-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", - "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, - "requires": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "dev": true, - "requires": {} - }, - "postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dev": true, - "requires": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", - "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", - "dev": true, - "requires": { - "htmlparser2": "^3.10.0" - } - }, - "postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-import": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.0.2.tgz", - "integrity": "sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - } - }, - "postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dev": true, - "requires": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-less": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", - "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-loader": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", - "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", - "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.8" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "postcss-merge-longhand": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.4.tgz", - "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - } - }, - "postcss-merge-rules": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.3.tgz", - "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-gradients": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", - "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", - "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-params": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.2.tgz", - "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.6", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-url": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.3.tgz", - "integrity": "sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==", - "dev": true, - "requires": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "requires": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dev": true, - "requires": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "dependencies": { - "cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "requires": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz", - "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dev": true, - "requires": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", - "dev": true - }, - "postcss-safe-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", - "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", - "dev": true, - "requires": { - "postcss": "^7.0.26" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-sass": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", - "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", - "dev": true, - "requires": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-scss": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", - "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", - "dev": true, - "requires": { - "postcss": "^7.0.6" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", - "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.7.0" - } - }, - "postcss-syntax": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", - "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", - "dev": true, - "requires": {} - }, - "postcss-unique-selectors": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.2.tgz", - "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, - "printj": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", - "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" - }, - "proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "properties-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz", - "integrity": "sha512-AkSQxQAviJ89x4FIxOyHGfO3uund0gvYo7lfD0E+Gp7gFQKrTNgtoYQklu8EhrfHVZUzTwKGZx2r/KDSfnljcA==", - "requires": { - "string.prototype.codepointat": "^0.2.0" - } - }, - "protobufjs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.0.0.tgz", - "integrity": "sha512-ffNIEm+quOcYtQvHdW406v1NQmZSuqVklxsXk076BtuFnlYZfigLU+JOMrTD8TUOyqHYbRI/fSVNvgd25YeN3w==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "dependencies": { - "@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - } - } - }, - "protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - } - } - }, - "proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", - "integrity": "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==", - "requires": { - "agent-base": "^6.0.0", - "debug": "4", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "lru-cache": "^5.1.1", - "pac-proxy-agent": "^5.0.0", - "proxy-from-env": "^1.0.0", - "socks-proxy-agent": "^5.0.0" - }, - "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - } - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "read-chunk": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", - "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", - "requires": { - "pify": "^4.0.1", - "with-open-file": "^0.1.6" - } - }, - "read-package-json": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", - "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", - "dev": true, - "requires": { - "glob": "^8.0.1", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, - "hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz", - "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==", - "dev": true - } - } - }, - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, - "requires": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, - "requires": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "dependencies": { - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - } - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dev": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", - "dev": true - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "remark": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", - "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", - "dev": true, - "requires": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - } - }, - "remark-parse": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", - "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", - "dev": true, - "requires": { - "mdast-util-from-markdown": "^0.8.0" - } - }, - "remark-stringify": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", - "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", - "dev": true, - "requires": { - "mdast-util-to-markdown": "^0.6.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", - "dev": true - } - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rsvp": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", - "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==" - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.57.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz", - "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", - "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", - "dev": true, - "requires": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" - } - }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.14", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", - "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "simctl": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.3.tgz", - "integrity": "sha512-kKCak0yszxHae5eVWcmrjV3ouUGac3sjlhjdLWpyPu4eiQcWoHsCrqS34kkgzHN8Ystqkh/LFjzrldk/g3BYJg==", - "dev": true, - "requires": { - "shelljs": "^0.8.5", - "tail": "^0.4.0" - } - }, - "simple-plist": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", - "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", - "requires": { - "bplist-creator": "0.1.0", - "bplist-parser": "0.3.1", - "plist": "^3.0.5" - } - }, - "skwas-cordova-plugin-datetimepicker": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/skwas-cordova-plugin-datetimepicker/-/skwas-cordova-plugin-datetimepicker-2.1.2.tgz", - "integrity": "sha512-0j/tDjheurvNIg26MVFFbi4RMK2jipYmX6nUq3AOcNtENY1hhLaLUsUM633bJgQmCJGM//gbQWmQX2eaCHK34A==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socket.io": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", - "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.2.0", - "socket.io-adapter": "~2.4.0", - "socket.io-parser": "~4.0.4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "socket.io-adapter": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", - "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", - "dev": true - }, - "socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dev": true, - "requires": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - } - } - }, - "sockjs-client": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", - "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "eventsource": "^2.0.2", - "faye-websocket": "^0.11.4", - "inherits": "^2.0.4", - "url-parse": "^1.5.10" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - } - } - }, - "socks": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", - "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "dependencies": { - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - } - } - }, - "socks-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", - "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", - "requires": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" - }, - "dependencies": { - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "dev": true - }, - "source-map-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.0.tgz", - "integrity": "sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw==", - "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "source-map-js": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "specificity": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", - "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "split2": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", - "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "requires": { - "readable-stream": "^3.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "ssf": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", - "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", - "requires": { - "frac": "~1.1.2" - } - }, - "ssh-config": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ssh-config/-/ssh-config-1.1.6.tgz", - "integrity": "sha512-ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==" - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-buffers": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", - "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==" - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "streamroller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.1.tgz", - "integrity": "sha512-iPhtd9unZ6zKdWgMeYGfSBuqCngyJy1B/GPi/lTpwGpa3bajuX30GjUVd0/Tn/Xhg0mr4DOSENozz9Y06qyonQ==", - "dev": true, - "requires": { - "date-format": "^4.0.10", - "debug": "^4.3.4", - "fs-extra": "^10.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "string.prototype.codepointat": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", - "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "style-loader": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.2.1.tgz", - "integrity": "sha512-1k9ZosJCRFaRbY6hH49JFlRB0fVSbmnyq1iTPjNxUmGVjBNEmwrrHPenhlp+Lgo51BojHSf6pl2FcqYaN3PfVg==", - "dev": true, - "requires": {} - }, - "style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - } - }, - "stylelint": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.12.0.tgz", - "integrity": "sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw==", - "dev": true, - "requires": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^1.0.0", - "chalk": "^4.1.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.2", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.2", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.4", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.0.7", - "v8-compile-cache": "^2.2.0", - "write-file-atomic": "^3.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "requires": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "stylelint-config-recommended": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", - "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", - "dev": true, - "requires": {} - }, - "stylelint-config-standard": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", - "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", - "dev": true, - "requires": { - "stylelint-config-recommended": "^3.0.0" - } - }, - "sugarss": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", - "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.36", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", - "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "superagent": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz", - "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==", - "requires": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.2", - "debug": "^4.1.1", - "fast-safe-stringify": "^2.0.7", - "form-data": "^3.0.0", - "formidable": "^1.2.2", - "methods": "^1.1.2", - "mime": "^2.4.6", - "qs": "^6.9.4", - "readable-stream": "^3.6.0", - "semver": "^7.3.2" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "qs": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.2.tgz", - "integrity": "sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "superagent-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-3.0.0.tgz", - "integrity": "sha512-wAlRInOeDFyd9pyonrkJspdRAxdLrcsZ6aSnS+8+nu4x1aXbz6FWSTT9M6Ibze+eG60szlL7JA8wEIV7bPWuyQ==", - "requires": { - "debug": "^4.3.2", - "proxy-agent": "^5.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - } - } - }, - "symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true - }, - "table": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", - "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", - "dev": true, - "requires": { - "ajv": "^7.0.2", - "lodash": "^4.17.20", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "ajv": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.1.tgz", - "integrity": "sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "tail": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz", - "integrity": "sha512-i5rOhX0PwkFSbjID14mmuoqrLUIqpJeBwg0esugSbb+6Y+dzgN/O3YZXzzPL7dnQJGbQLs8cwM8Zsak5kFJGcA==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - } - } - }, - "terser": { - "version": "5.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", - "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - } - } - }, - "terser-webpack-plugin": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", - "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", - "dev": true, - "requires": { - "jest-worker": "^27.0.6", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" - }, - "trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "dev": true - }, - "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - } - }, - "ts-poet": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.15.0.tgz", - "integrity": "sha512-sLLR8yQBvHzi9d4R1F4pd+AzQxBfzOSSjfxiJxQhkUoH5bL7RsAC6wgvtVUQdGqiCsyS9rT6/8X2FI7ipdir5g==", - "dev": true, - "requires": { - "lodash": "^4.17.15", - "prettier": "^2.5.1" - } - }, - "ts-proto": { - "version": "1.122.0", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.122.0.tgz", - "integrity": "sha512-TmPKmSxRJjnfrdyncOMfilJDXvyL0BGxM4nDyYgMDVT2EhYZV85J93qEJPBIufwUtDBY8N42UNgja8Z5ObF6IA==", - "dev": true, - "requires": { - "@types/object-hash": "^1.3.0", - "dataloader": "^1.4.0", - "object-hash": "^1.3.1", - "protobufjs": "^6.11.3", - "ts-poet": "^4.15.0", - "ts-proto-descriptors": "1.7.1" - }, - "dependencies": { - "@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - } - } - }, - "ts-proto-descriptors": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz", - "integrity": "sha512-oIKUh3K4Xts4v29USGLfUG+2mEk32MsqpgZAOUyUlkrcIdv34yE+k2oZ2Nzngm6cV/JgFdOxRCqeyvmWHuYAyw==", - "dev": true, - "requires": { - "long": "^4.0.0", - "protobufjs": "^6.8.8" - }, - "dependencies": { - "@types/node": { - "version": "18.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.5.tgz", - "integrity": "sha512-NcKK6Ts+9LqdHJaW6HQmgr7dT/i3GOHG+pt6BiWv++5SnjtRd4NXeiuN2kA153SjhXPR/AhHIPHPbrsbpUVOww==", - "dev": true - }, - "long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", - "dev": true - }, - "protobufjs": { - "version": "6.11.3", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", - "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", - "dev": true, - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/long": "^4.0.1", - "@types/node": ">=13.7.0", - "long": "^4.0.0" - } - } - } - }, - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", - "dev": true - }, - "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dev": true, - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true - } - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unist-util-find-all-after": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", - "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", - "dev": true, - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-is": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.4.tgz", - "integrity": "sha512-3dF39j/u423v4BBQrk1AQ2Ve1FxY5W3JKwXxVFzBODQ6WEvccguhgp802qQLKSnxPODE6WuRZtV+ohlUg4meBA==", - "dev": true - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "requires": { - "@types/unist": "^2.0.2" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - } - } - }, - "untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==" - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "requires": { - "builtins": "^5.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - } - } - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "vm2": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.9.tgz", - "integrity": "sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw==", - "requires": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" - } - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webpack": { - "version": "5.75.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz", - "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", - "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.12", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.1", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.4.2" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - } - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "dev": true, - "requires": { - "node-forge": "^1" - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "webpack-subresource-integrity": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", - "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", - "dev": true, - "requires": { - "webpack-sources": "^1.3.0" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", - "requires": { - "execa": "^4.0.2" - }, - "dependencies": { - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "with-open-file": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", - "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", - "requires": { - "p-finally": "^1.0.0", - "p-try": "^2.1.0", - "pify": "^4.0.1" - } - }, - "wmf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", - "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" - }, - "word": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", - "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz", - "integrity": "sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==", - "dev": true, - "requires": {} - }, - "xcode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz", - "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==", - "requires": { - "simple-plist": "^1.0.0", - "uuid": "^3.3.2" - } - }, - "xlsx": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.4.tgz", - "integrity": "sha512-9aKt8g9ZLP0CUdBX8L5xnoMDFwSiLI997eQnDThCaqQMYB9AEBIRzblSSNN/ICMGLYIHUO3VKaItcedZJ3ijIg==", - "requires": { - "adler-32": "~1.2.0", - "cfb": "^1.1.4", - "codepage": "~1.15.0", - "crc-32": "~1.2.0", - "ssf": "~0.11.2", - "wmf": "~1.0.1", - "word": "~0.3.0" - } - }, - "xml-escape": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz", - "integrity": "sha512-B/T4sDK8Z6aUh/qNr7mjKAwwncIljFuUP+DO/D5hloYFj+90O88z8Wf7oSucZTHxBAsC1/CTP4rtx/x1Uf72Mg==", - "dev": true - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "dependencies": { - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - } - } - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" - }, - "xregexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", - "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=" - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - } - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - }, - "zone.js": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz", - "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==", - "requires": { - "tslib": "^2.0.0" - } - }, - "zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "dev": true - } - } -} diff --git a/package.json b/package.json index b2f3ff570..8f510b99d 100644 --- a/package.json +++ b/package.json @@ -87,14 +87,14 @@ }, "devDependencies": { "@angular-devkit/architect": "^0.1501.2", - "@angular-devkit/build-angular": "^15.1.2", + "@angular-devkit/build-angular": "^0.1002.1", "@angular-devkit/core": "^15.1.2", "@angular-devkit/schematics": "^15.1.2", "@angular/cli": "^15.1.2", "@angular/compiler": "^15.1.1", "@angular/compiler-cli": "^15.1.1", "@angular/language-service": "^15.1.1", - "@ionic/angular-toolkit": "^5.0.3", + "@ionic/angular-toolkit": "^8.0.0", "@types/cordova-plugin-ble-central": "^1.3.1", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.8", @@ -140,7 +140,7 @@ "karma-jasmine-html-reporter": "^1.5.0", "lint-staged": "^13.0.3", "prettier": "^2.7.1", - "protractor": "~7.0.0", + "protractor": "^3.3.0", "skwas-cordova-plugin-datetimepicker": "^2.1.2", "stylelint": "^13.12.0", "stylelint-config-standard": "^20.0.0", diff --git a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html index 0a5a22ca1..0716e4f59 100644 --- a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html +++ b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html @@ -43,7 +43,7 @@ {{"POPOVER_BREWS_OPTION_DELETE" | translate}} - + {{"VISUALIZER" | translate}} diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html new file mode 100644 index 000000000..9e7f9fc22 --- /dev/null +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html @@ -0,0 +1,46 @@ + + + {{"PREPARATION_DEVICE_CONNECTION" | translate}} + + + + + + + + + + + {{"PREPARATION_DEVICE_CONNECTION" | translate}} + + {{"PAGE_SETTINGS_LANGUAGE" | translate}} + + {{"PREPARATION_DEVICE.TYPE.NONE" | translate}} + {{"PREPARATION_DEVICE.TYPE.XENIA" | translate}} + + + + + + + + + {{"PREPARATION_DEVICE_CONNECTION" | translate}} + + {{"PAGE_SETTINGS_LANGUAGE" | translate}} + + + + + + + + + get scripts + start script + + diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.scss b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.spec.ts b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.spec.ts new file mode 100644 index 000000000..d3167cd13 --- /dev/null +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { PreparationConnectedDeviceComponent } from './preparation-connected-device.component'; + +describe('PreparationConnectedDeviceComponent', () => { + let component: PreparationConnectedDeviceComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [PreparationConnectedDeviceComponent], + imports: [IonicModule.forRoot()], + }).compileComponents(); + + fixture = TestBed.createComponent(PreparationConnectedDeviceComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts new file mode 100644 index 000000000..06c43ba29 --- /dev/null +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts @@ -0,0 +1,107 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { Preparation } from '../../../classes/preparation/preparation'; +import { PREPARATION_TYPES } from '../../../enums/preparations/preparationTypes'; +import { IPreparation } from '../../../interfaces/preparation/iPreparation'; +import { ModalController, NavParams } from '@ionic/angular'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; +import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; +import { PreparationDeviceType } from '../../../classes/preparationDevice'; +import { ServerBrew } from '../../../classes/server/brew/brew'; +import { environment } from '../../../environments/environment'; +import { catchError, timeout } from 'rxjs/operators'; +import { of } from 'rxjs'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { UIPreparationHelper } from '../../../services/uiPreparationHelper'; +import { PreparationDevice } from '../../../classes/preparationDevice/preparationDevice'; +import { UIToast } from '../../../services/uiToast'; +import { UIAlert } from '../../../services/uiAlert'; +import { XeniaDevice } from '../../../classes/preparationDevice/xenia/xeniaDevice'; + +@Component({ + selector: 'app-preparation-connected-device', + templateUrl: './preparation-connected-device.component.html', + styleUrls: ['./preparation-connected-device.component.scss'], +}) +export class PreparationConnectedDeviceComponent implements OnInit { + public static COMPONENT_ID: string = 'preparation-connected-device'; + public data: Preparation = new Preparation(); + public PREPARATION_STYLE_TYPE = PREPARATION_STYLE_TYPE; + public preparationTypeEnum = PREPARATION_TYPES; + public segment: string = 'manage'; + public PREPARATION_DEVICE_TYPE = PreparationDeviceType; + @Input() private preparation: IPreparation; + + constructor( + private readonly navParams: NavParams, + private readonly modalController: ModalController, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiPreparationHelper: UIPreparationHelper, + private readonly uiToast: UIToast, + private readonly uiAlert: UIAlert + ) {} + + public ionViewWillEnter(): void { + if (this.preparation !== undefined) { + this.data.initializeByObject(this.preparation); + } + } + + public dismiss(): void { + this.modalController.dismiss( + { + dismissed: true, + }, + undefined, + PreparationConnectedDeviceComponent.COMPONENT_ID + ); + } + + public async save() { + await this.uiPreparationStorage.update(this.data); + } + + public checkURL(): void { + const connectedDevice: PreparationDevice = + this.uiPreparationHelper.getConnectedDevice(this.data); + if (connectedDevice) { + connectedDevice.deviceConnected().then( + () => { + this.uiToast.showInfoToastBottom( + 'PREPARATION_DEVICE.CONNECTION.SUCCESFULLY' + ); + }, + () => { + this.uiAlert.showMessage( + 'PREPARATION_DEVICE.CONNECTION.UNSUCCESFULLY', + undefined, + undefined, + true + ); + } + ); + } + } + public ngOnInit() {} + + public getScripts() { + const connectedDevice: XeniaDevice = + this.uiPreparationHelper.getConnectedDevice(this.data); + if (connectedDevice) { + connectedDevice.getScripts(); + } + } + public startScripts() { + const connectedDevice: XeniaDevice = + this.uiPreparationHelper.getConnectedDevice(this.data); + if (connectedDevice) { + connectedDevice.startScript(11); + } + } + public stopScript() { + const connectedDevice: XeniaDevice = + this.uiPreparationHelper.getConnectedDevice(this.data); + if (connectedDevice) { + connectedDevice.stopScript(); + } + } +} diff --git a/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.ts b/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.ts index 9df1e8484..bab0f2123 100644 --- a/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.ts +++ b/src/app/preparation/preparation-custom-parameters/preparation-custom-parameters.component.ts @@ -1,10 +1,10 @@ -import {Component, Input, OnInit} from '@angular/core'; -import {Preparation} from '../../../classes/preparation/preparation'; -import {PREPARATION_STYLE_TYPE} from '../../../enums/preparations/preparationStyleTypes'; -import {IPreparation} from '../../../interfaces/preparation/iPreparation'; -import {PREPARATION_TYPES} from '../../../enums/preparations/preparationTypes'; -import {ModalController, NavParams} from '@ionic/angular'; -import {UIPreparationStorage} from '../../../services/uiPreparationStorage'; +import { Component, Input, OnInit } from '@angular/core'; +import { Preparation } from '../../../classes/preparation/preparation'; +import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; +import { IPreparation } from '../../../interfaces/preparation/iPreparation'; +import { PREPARATION_TYPES } from '../../../enums/preparations/preparationTypes'; +import { ModalController, NavParams } from '@ionic/angular'; +import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; @Component({ selector: 'app-preparation-custom-parameters', @@ -16,14 +16,14 @@ export class PreparationCustomParametersComponent implements OnInit { public data: Preparation = new Preparation(); public PREPARATION_STYLE_TYPE = PREPARATION_STYLE_TYPE; public preparationTypeEnum = PREPARATION_TYPES; - public segment:string ='manage'; + public segment: string = 'manage'; @Input() private preparation: IPreparation; - constructor (private readonly navParams: NavParams, - private readonly modalController: ModalController, - private readonly uiPreparationStorage: UIPreparationStorage) { - - } + constructor( + private readonly navParams: NavParams, + private readonly modalController: ModalController, + private readonly uiPreparationStorage: UIPreparationStorage + ) {} public ionViewWillEnter(): void { if (this.preparation !== undefined) { @@ -31,11 +31,14 @@ export class PreparationCustomParametersComponent implements OnInit { } } - public dismiss(): void { - this.modalController.dismiss({ - dismissed: true - }, undefined, PreparationCustomParametersComponent.COMPONENT_ID); + this.modalController.dismiss( + { + dismissed: true, + }, + undefined, + PreparationCustomParametersComponent.COMPONENT_ID + ); } public async save() { @@ -43,5 +46,4 @@ export class PreparationCustomParametersComponent implements OnInit { } public ngOnInit() {} - } diff --git a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html index 100f2cf6d..0e1774161 100644 --- a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html +++ b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html @@ -22,6 +22,14 @@ {{"ARCHIVE" | translate}} + + + + {{"CONNECT_PORTAFILTER" | translate}} + + + + {{"CONNECT_PORTAFILTER" | translate}} diff --git a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.ts b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.ts index 0eceba20e..756a29071 100644 --- a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.ts +++ b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.ts @@ -1,9 +1,11 @@ -import {Component, OnInit} from '@angular/core'; -import {ModalController, NavParams} from '@ionic/angular'; -import {UIHelper} from '../../../services/uiHelper'; -import {Preparation} from '../../../classes/preparation/preparation'; -import {IPreparation} from '../../../interfaces/preparation/iPreparation'; -import {PREPARATION_ACTION} from '../../../enums/preparations/preparationAction'; +import { Component, OnInit } from '@angular/core'; +import { ModalController, NavParams } from '@ionic/angular'; +import { UIHelper } from '../../../services/uiHelper'; +import { Preparation } from '../../../classes/preparation/preparation'; +import { IPreparation } from '../../../interfaces/preparation/iPreparation'; +import { PREPARATION_ACTION } from '../../../enums/preparations/preparationAction'; +import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; +import { PreparationDeviceType } from '../../../classes/preparationDevice'; @Component({ selector: 'preparation-popover-actions', @@ -11,27 +13,34 @@ import {PREPARATION_ACTION} from '../../../enums/preparations/preparationAction' styleUrls: ['./preparation-popover-actions.component.scss'], }) export class PreparationPopoverActionsComponent implements OnInit { - public static COMPONENT_ID: string = 'preparation-popover-actions'; public data: Preparation = new Preparation(); - constructor(private readonly modalController: ModalController, - private readonly navParams: NavParams, - private readonly uiHelper: UIHelper) { + constructor( + private readonly modalController: ModalController, + private readonly navParams: NavParams, + private readonly uiHelper: UIHelper + ) { // Moved from ionViewDidEnter, because of Ionic issues with ion-range - const preparation: IPreparation = this.uiHelper.copyData(this.navParams.get('preparation')); + const preparation: IPreparation = this.uiHelper.copyData( + this.navParams.get('preparation') + ); this.data.initializeByObject(preparation); } - public ionViewDidEnter(): void { - } + public ionViewDidEnter(): void {} - public ngOnInit() { + public ngOnInit() {} + public isEspresso(): boolean { + return this.data.getPresetStyleType() === PREPARATION_STYLE_TYPE.ESPRESSO; + } + public isPortafilterConnected(): boolean { + return ( + this.data.connectedPreparationDevice.type !== PreparationDeviceType.NONE + ); } - - public hasPhotos(): boolean { return this.data.attachments.length > 0; @@ -41,9 +50,17 @@ export class PreparationPopoverActionsComponent implements OnInit { } public async choose(_type: string): Promise { - this.modalController.dismiss(undefined, _type, PreparationPopoverActionsComponent.COMPONENT_ID); + this.modalController.dismiss( + undefined, + _type, + PreparationPopoverActionsComponent.COMPONENT_ID + ); } public async dismiss() { - this.modalController.dismiss(undefined, undefined,PreparationPopoverActionsComponent.COMPONENT_ID); + this.modalController.dismiss( + undefined, + undefined, + PreparationPopoverActionsComponent.COMPONENT_ID + ); } } diff --git a/src/app/settings/settings.page.ts b/src/app/settings/settings.page.ts index 0d89068ad..d4a17565a 100644 --- a/src/app/settings/settings.page.ts +++ b/src/app/settings/settings.page.ts @@ -736,7 +736,7 @@ export class SettingsPage implements OnInit { } private async _exportFlowProfiles(_storedData: Array) { for (const entry of _storedData) { - if (entry.flow_profile) { + if (entry.flow_profile && entry.flow_profile.length) { await this._exportFlowProfileFile(entry.flow_profile); } } diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index d52c6e6e4..503b96c6b 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -171,6 +171,7 @@ import { BrewRatioCardComponent } from '../../components/brew-ratio-card/brew-ra import { BrewRatioCalculatorComponent } from '../brew/brew-ratio-calculator/brew-ratio-calculator.component'; import { RepeatCustomParameterComponent } from '../../components/parameter/repeat-custom-parameter/repeat-custom-parameter.component'; import { RepeatParameterComponent } from '../brew-parameter/repeat-parameter/repeat-parameter.component'; +import { PreparationConnectedDeviceComponent } from '../preparation/preparation-connected-device/preparation-connected-device.component'; @NgModule({ declarations: [ @@ -231,6 +232,7 @@ import { RepeatParameterComponent } from '../brew-parameter/repeat-parameter/rep ListViewCustomParameterComponent, ListViewParameterComponent, PreparationCustomParametersComponent, + PreparationConnectedDeviceComponent, MillPage, MillEditComponent, MillDetailComponent, @@ -425,6 +427,7 @@ import { RepeatParameterComponent } from '../brew-parameter/repeat-parameter/rep ListViewCustomParameterComponent, ListViewParameterComponent, PreparationCustomParametersComponent, + PreparationConnectedDeviceComponent, BrewFilterComponent, BeanFilterComponent, BeanSortComponent, diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index fc97b95e4..5fc3bd0a3 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1360,5 +1360,15 @@ "CUSTOM_REPEAT_PARAMETERS": "Wiederholen", "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Individuelle Wiederholung aktivieren?", "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE": "Numerische Tastatur fÃŧr Mahlgrad?", - "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION": "MÃļchtest du bei der Mahlgrad Einstellung nur die Numerische Tastatur angezeigt bekommen, anstatt der normalen?" + "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION": "MÃļchtest du bei der Mahlgrad Einstellung nur die Numerische Tastatur angezeigt bekommen, anstatt der normalen?", + "PREPARATION_DEVICE": { + "TYPE": { + "NONE": "None", + "XENIA": "Xenia" + }, + "CONNECTION": { + "UNSUCCESFULLY": "Verbindung zur Maschine konnte nicht hergestellt werden", + "SUCCESFULLY": "Verbindung zur Maschine konnte hergestellt werden" + } + } } diff --git a/src/classes/preparation/preparation.ts b/src/classes/preparation/preparation.ts index 90c762dd3..92a9f3c40 100755 --- a/src/classes/preparation/preparation.ts +++ b/src/classes/preparation/preparation.ts @@ -11,6 +11,7 @@ import { PreparationTool } from './preparationTool'; import { UIHelper } from '../../services/uiHelper'; import { ListViewBrewParameter } from '../parameter/listViewBrewParameter'; import { RepeatBrewParameter } from '../parameter/repeatBrewParameter'; +import { ConnectedPreparationDevice } from '../preparationDevice/connectedPreparationDevice'; export class Preparation implements IPreparation { public name: string; @@ -27,6 +28,7 @@ export class Preparation implements IPreparation { public brew_order: OrderBrewParameter; public tools: Array; public attachments: Array; + public connectedPreparationDevice: ConnectedPreparationDevice; constructor() { this.name = ''; @@ -49,6 +51,8 @@ export class Preparation implements IPreparation { this.brew_order = new OrderBrewParameter(); this.tools = []; this.attachments = []; + + this.connectedPreparationDevice = new ConnectedPreparationDevice(); } public initializeByObject(preparationObj: IPreparation): void { diff --git a/src/classes/preparationDevice/connectedPreparationDevice.ts b/src/classes/preparationDevice/connectedPreparationDevice.ts new file mode 100644 index 000000000..7a34c6985 --- /dev/null +++ b/src/classes/preparationDevice/connectedPreparationDevice.ts @@ -0,0 +1,12 @@ +import { PreparationDeviceType } from './index'; +import { IConnectedPreparationDevice } from '../../interfaces/preparationDevices/iConnectedPreparationDevice'; + +export class ConnectedPreparationDevice implements IConnectedPreparationDevice { + public type: PreparationDeviceType; + public url: string; + + constructor() { + this.type = PreparationDeviceType.NONE; + this.url = ''; + } +} diff --git a/src/classes/preparationDevice/index.ts b/src/classes/preparationDevice/index.ts new file mode 100644 index 000000000..36f271170 --- /dev/null +++ b/src/classes/preparationDevice/index.ts @@ -0,0 +1,22 @@ +import { XeniaDevice } from './xenia/xeniaDevice'; +import { PreparationDevice } from './preparationDevice'; +import { HttpClient } from '@angular/common/http'; +import { Preparation } from '../preparation/preparation'; + +export enum PreparationDeviceType { + NONE = 'NONE', + XENIA = 'XENIA', +} + +export function makePreparationDevice( + _type: PreparationDeviceType, + _http: HttpClient, + _preparation: Preparation +): XeniaDevice | null { + switch (_type) { + case PreparationDeviceType.XENIA: + return new XeniaDevice(_http, _preparation); + default: + return null; + } +} diff --git a/src/classes/preparationDevice/preparationDevice.ts b/src/classes/preparationDevice/preparationDevice.ts new file mode 100644 index 000000000..658dab367 --- /dev/null +++ b/src/classes/preparationDevice/preparationDevice.ts @@ -0,0 +1,27 @@ +import { Logger } from '../devices/common/logger'; +import { HttpClient } from '@angular/common/http'; +import { Preparation } from '../preparation/preparation'; + +export type TareEvent = undefined; + +export class PreparationDevice { + protected blueToothParentlogger: Logger; + + private preparation: Preparation; + + private http: HttpClient; + + constructor(protected _http: HttpClient, _preparation: Preparation) { + this.blueToothParentlogger = new Logger(); + this.preparation = _preparation; + this.http = _http; + } + + public getPreparation(): Preparation { + return this.preparation; + } + + public async deviceConnected(): Promise { + return null; + } +} diff --git a/src/classes/preparationDevice/xenia/xeniaDevice.ts b/src/classes/preparationDevice/xenia/xeniaDevice.ts new file mode 100644 index 000000000..afd7d71cb --- /dev/null +++ b/src/classes/preparationDevice/xenia/xeniaDevice.ts @@ -0,0 +1,154 @@ +import { PreparationDevice } from '../preparationDevice'; +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { catchError, timeout } from 'rxjs/operators'; +import { of } from 'rxjs'; +import { Preparation } from '../../preparation/preparation'; + +export class XeniaDevice extends PreparationDevice { + constructor(protected httpClient: HttpClient, _preparation: Preparation) { + super(httpClient, _preparation); + } + + public override async deviceConnected(): Promise { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'application/json', + Authorization: 'Basic ' + btoa('1:1#'), + }), + }; + const promise = new Promise((resolve, reject) => { + this.httpClient + .get( + this.getPreparation().connectedPreparationDevice.url + '/overview', + httpOptions + ) + .pipe( + timeout(10000), + catchError((e) => { + return of(null); + }) + ) + .toPromise() + .then((_data) => { + if (_data && 'MA_STATUS' in _data) { + resolve(true); + } else { + reject(); + } + }) + .catch((error) => { + reject(); + }); + }); + return promise; + } + + public getScripts() { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'application/json', + Authorization: 'Basic ' + btoa('1:1#'), + }), + }; + const promise = new Promise((resolve, reject) => { + this.httpClient + .get( + this.getPreparation().connectedPreparationDevice.url + + '/scripts_list', + httpOptions + ) + .pipe( + timeout(10000), + catchError((e) => { + return of(null); + }) + ) + .toPromise() + .then((_data) => { + console.log(_data); + if (_data) { + resolve(true); + } else { + reject(); + } + }) + .catch((error) => { + reject(); + }); + }); + return promise; + } + + public startScript(_id: any) { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'application/json', + Authorization: 'Basic ' + btoa('1:1#'), + }), + }; + const promise = new Promise((resolve, reject) => { + let data = {}; + data['ID'] = _id; + this.httpClient + .post( + this.getPreparation().connectedPreparationDevice.url + + '/execute_script', + data, + httpOptions + ) + .pipe( + timeout(10000), + catchError((e) => { + return of(null); + }) + ) + .toPromise() + .then((_data) => { + if (_data) { + resolve(true); + } else { + reject(); + } + }) + .catch((error) => { + reject(); + }); + }); + return promise; + } + + public stopScript() { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'application/json', + Authorization: 'Basic ' + btoa('1:1#'), + }), + }; + const promise = new Promise((resolve, reject) => { + this.httpClient + .get( + this.getPreparation().connectedPreparationDevice.url + '/stop_script', + httpOptions + ) + .pipe( + timeout(10000), + catchError((e) => { + return of(null); + }) + ) + .toPromise() + .then((_data) => { + console.log(_data); + if (_data) { + resolve(true); + } else { + reject(); + } + }) + .catch((error) => { + reject(); + }); + }); + return promise; + } +} diff --git a/src/components/brew-information/brew-information.component.ts b/src/components/brew-information/brew-information.component.ts index 5578002f4..8fcad968b 100644 --- a/src/components/brew-information/brew-information.component.ts +++ b/src/components/brew-information/brew-information.component.ts @@ -156,10 +156,14 @@ export class BrewInformationComponent implements OnInit { vS.mapPreparation(this.brew.getPreparation()); vS.mapMill(this.brew.getMill()); vS.brewFlow = await this.readFlowProfile(); - console.log(vS); - //console.log(JSON.stringify(t)); - this.saveTemplateAsFile('bla.json', vS); + try { + await this.uiHelper.exportJSON( + 'visualizer.json', + JSON.stringify(vS), + true + ); + } catch (ex) {} } public async fastRepeatBrew() { diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index 826f099b8..5521c5aa5 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -30,12 +30,12 @@ + tabIndex="1" type="text"> + slot="end" style="margin-left:0px;" tabIndex="2" tappable> - diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 352140757..9af99ddf7 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -167,6 +167,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { return this.data.getPreparation().tools.filter((e) => e.archived === false); } + @HostListener('keyboardDidShow', ['$event']) + public aa() {} + public getChoosenPreparationToolsWhichAreArchived() { const toolIds = this.data.method_of_preparation_tools; const tools: Array = []; diff --git a/src/components/preparation-information-card/preparation-information-card.component.ts b/src/components/preparation-information-card/preparation-information-card.component.ts index 08db3b0e3..cbf1c9188 100644 --- a/src/components/preparation-information-card/preparation-information-card.component.ts +++ b/src/components/preparation-information-card/preparation-information-card.component.ts @@ -1,20 +1,21 @@ -import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core'; -import {Settings} from '../../classes/settings/settings'; -import {UISettingsStorage} from '../../services/uiSettingsStorage'; -import {ModalController} from '@ionic/angular'; -import {Preparation} from '../../classes/preparation/preparation'; -import {PREPARATION_ACTION} from '../../enums/preparations/preparationAction'; -import {PreparationPopoverActionsComponent} from '../../app/preparation/preparation-popover-actions/preparation-popover-actions.component'; -import {Brew} from '../../classes/brew/brew'; -import {UIPreparationHelper} from '../../services/uiPreparationHelper'; -import {PreparationCustomParametersComponent} from '../../app/preparation/preparation-custom-parameters/preparation-custom-parameters.component'; -import {UIAlert} from '../../services/uiAlert'; -import {UIAnalytics} from '../../services/uiAnalytics'; -import {UIToast} from '../../services/uiToast'; -import {UIPreparationStorage} from '../../services/uiPreparationStorage'; -import {UIBrewStorage} from '../../services/uiBrewStorage'; -import {UIImage} from '../../services/uiImage'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { Settings } from '../../classes/settings/settings'; +import { UISettingsStorage } from '../../services/uiSettingsStorage'; +import { ModalController } from '@ionic/angular'; +import { Preparation } from '../../classes/preparation/preparation'; +import { PREPARATION_ACTION } from '../../enums/preparations/preparationAction'; +import { PreparationPopoverActionsComponent } from '../../app/preparation/preparation-popover-actions/preparation-popover-actions.component'; +import { Brew } from '../../classes/brew/brew'; +import { UIPreparationHelper } from '../../services/uiPreparationHelper'; +import { PreparationCustomParametersComponent } from '../../app/preparation/preparation-custom-parameters/preparation-custom-parameters.component'; +import { UIAlert } from '../../services/uiAlert'; +import { UIAnalytics } from '../../services/uiAnalytics'; +import { UIToast } from '../../services/uiToast'; +import { UIPreparationStorage } from '../../services/uiPreparationStorage'; +import { UIBrewStorage } from '../../services/uiBrewStorage'; +import { UIImage } from '../../services/uiImage'; import PREPARATION_TRACKING from '../../data/tracking/preparationTracking'; +import { PreparationConnectedDeviceComponent } from '../../app/preparation/preparation-connected-device/preparation-connected-device.component'; @Component({ selector: 'preparation-information-card', @@ -22,41 +23,37 @@ import PREPARATION_TRACKING from '../../data/tracking/preparationTracking'; styleUrls: ['./preparation-information-card.component.scss'], }) export class PreparationInformationCardComponent implements OnInit { - - @Input() public preparation: Preparation; - @Output() public preparationAction: EventEmitter = new EventEmitter(); + constructor( + private readonly uiSettingsStorage: UISettingsStorage, + private readonly modalController: ModalController, + private readonly uiPreparationHelper: UIPreparationHelper, + private readonly uiAlert: UIAlert, + private readonly uiAnalytics: UIAnalytics, + private readonly uiToast: UIToast, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly uiBrewStorage: UIBrewStorage, + private readonly uiImage: UIImage + ) {} - constructor(private readonly uiSettingsStorage: UISettingsStorage, - private readonly modalController: ModalController, - private readonly uiPreparationHelper: UIPreparationHelper, - private readonly uiAlert: UIAlert, - private readonly uiAnalytics: UIAnalytics, - private readonly uiToast: UIToast, - private readonly uiPreparationStorage: UIPreparationStorage, - private readonly uiBrewStorage: UIBrewStorage, - private readonly uiImage: UIImage) { - - } - - public ngOnInit() { - - - } - + public ngOnInit() {} public getBrewsCount(): number { - - const relatedBrews: Array = this.uiPreparationHelper.getAllBrewsForThisPreparation(this.preparation.config.uuid); + const relatedBrews: Array = + this.uiPreparationHelper.getAllBrewsForThisPreparation( + this.preparation.config.uuid + ); return relatedBrews.length; } public getWeightCount(): number { - - const relatedBrews: Array = this.uiPreparationHelper.getAllBrewsForThisPreparation(this.preparation.config.uuid); + const relatedBrews: Array = + this.uiPreparationHelper.getAllBrewsForThisPreparation( + this.preparation.config.uuid + ); let grindWeight: number = 0; for (const brew of relatedBrews) { grindWeight += brew.grind_weight; @@ -65,8 +62,10 @@ export class PreparationInformationCardComponent implements OnInit { } public getDrunkenQuantity(): number { - - const relatedBrews: Array = this.uiPreparationHelper.getAllBrewsForThisPreparation(this.preparation.config.uuid); + const relatedBrews: Array = + this.uiPreparationHelper.getAllBrewsForThisPreparation( + this.preparation.config.uuid + ); let drunkenQuantity: number = 0; for (const brew of relatedBrews) { if (brew.brew_beverage_quantity > 0) { @@ -74,20 +73,20 @@ export class PreparationInformationCardComponent implements OnInit { } else { drunkenQuantity += brew.brew_quantity; } - } return drunkenQuantity / 1000; } public getBeansCount(): number { - - const relatedBrews: Array = this.uiPreparationHelper.getAllBrewsForThisPreparation(this.preparation.config.uuid); + const relatedBrews: Array = + this.uiPreparationHelper.getAllBrewsForThisPreparation( + this.preparation.config.uuid + ); const distinctBeans = relatedBrews.filter((bean, i, arr) => { return arr.indexOf(arr.find((t) => t.bean === bean.bean)) === i; }); return distinctBeans.length; - } private async resetSettings() { @@ -97,17 +96,20 @@ export class PreparationInformationCardComponent implements OnInit { } public async show() { - await this.detail(); + await this.detail(); } public async showPreparationActions(event): Promise { event.stopPropagation(); event.stopImmediatePropagation(); - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.POPOVER_ACTIONS); + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.POPOVER_ACTIONS + ); const popover = await this.modalController.create({ component: PreparationPopoverActionsComponent, id: PreparationPopoverActionsComponent.COMPONENT_ID, - componentProps: {preparation: this.preparation}, + componentProps: { preparation: this.preparation }, cssClass: 'popover-actions', breakpoints: [0, 0.75, 1], initialBreakpoint: 0.75, @@ -116,12 +118,13 @@ export class PreparationInformationCardComponent implements OnInit { const data = await popover.onWillDismiss(); if (data.role !== undefined) { await this.internalPreparationAction(data.role as PREPARATION_ACTION); - this.preparationAction.emit([data.role as PREPARATION_ACTION, this.preparation]); + this.preparationAction.emit([ + data.role as PREPARATION_ACTION, + this.preparation, + ]); } } - - public async showPhoto(event) { event.stopPropagation(); event.stopImmediatePropagation(); @@ -129,12 +132,13 @@ export class PreparationInformationCardComponent implements OnInit { } private async viewPhotos() { - - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.PHOTO_VIEW); + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.PHOTO_VIEW + ); await this.uiImage.viewPhotos(this.preparation); } - public async internalPreparationAction(action: PREPARATION_ACTION) { switch (action) { case PREPARATION_ACTION.CUSTOM_PARAMETERS: @@ -147,12 +151,9 @@ export class PreparationInformationCardComponent implements OnInit { await this.repeatPreparation(); break; case PREPARATION_ACTION.DELETE: - try { await this.deletePreparation(); - }catch(ex) { - - } + } catch (ex) {} await this.uiAlert.hideLoadingSpinner(); break; case PREPARATION_ACTION.PHOTO_GALLERY: @@ -164,19 +165,41 @@ export class PreparationInformationCardComponent implements OnInit { case PREPARATION_ACTION.DETAIL: await this.detail(); break; + case PREPARATION_ACTION.CONNECT_DEVICE: + await this.connectDevice(); + break; + case PREPARATION_ACTION.EDIT_DEVICE_CONNECTION: + await this.connectDevice(); + break; + default: break; } } - - - public async customParameters() { - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.CUSTOM_PARAMETERS); - const modal = await this.modalController.create({component: PreparationCustomParametersComponent, - componentProps: {preparation: this.preparation}, - id: PreparationCustomParametersComponent.COMPONENT_ID + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.CUSTOM_PARAMETERS + ); + const modal = await this.modalController.create({ + component: PreparationCustomParametersComponent, + componentProps: { preparation: this.preparation }, + id: PreparationCustomParametersComponent.COMPONENT_ID, + }); + await modal.present(); + await modal.onWillDismiss(); + } + + public async connectDevice() { + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.CONNECT_DEVICE + ); + const modal = await this.modalController.create({ + component: PreparationConnectedDeviceComponent, + componentProps: { preparation: this.preparation }, + id: PreparationConnectedDeviceComponent.COMPONENT_ID, }); await modal.present(); await modal.onWillDismiss(); @@ -194,9 +217,14 @@ export class PreparationInformationCardComponent implements OnInit { } public async repeatPreparation() { - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.REPEAT); + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.REPEAT + ); await this.uiPreparationHelper.repeatPreparation(this.preparation); - this.uiToast.showInfoToast('TOAST_PREPARATION_METHOD_REPEATED_SUCCESSFULLY'); + this.uiToast.showInfoToast( + 'TOAST_PREPARATION_METHOD_REPEATED_SUCCESSFULLY' + ); } public async detail() { @@ -204,22 +232,31 @@ export class PreparationInformationCardComponent implements OnInit { } public async deletePreparation() { - await this.uiAlert.showConfirm('DELETE_PREPARATION_METHOD_QUESTION', 'SURE_QUESTION', true).then(async () => { - await this.uiAlert.showLoadingSpinner(); - // Yes - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.DELETE); - await this.__deletePreparation(); - this.uiToast.showInfoToast('TOAST_PREPARATION_DELETED_SUCCESSFULLY'); - await this.resetSettings(); - }, - () => { - // No - }); - + await this.uiAlert + .showConfirm('DELETE_PREPARATION_METHOD_QUESTION', 'SURE_QUESTION', true) + .then( + async () => { + await this.uiAlert.showLoadingSpinner(); + // Yes + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.DELETE + ); + await this.__deletePreparation(); + this.uiToast.showInfoToast('TOAST_PREPARATION_DELETED_SUCCESSFULLY'); + await this.resetSettings(); + }, + () => { + // No + } + ); } public async archive() { - this.uiAnalytics.trackEvent(PREPARATION_TRACKING.TITLE, PREPARATION_TRACKING.ACTIONS.ARCHIVE); + this.uiAnalytics.trackEvent( + PREPARATION_TRACKING.TITLE, + PREPARATION_TRACKING.ACTIONS.ARCHIVE + ); this.preparation.finished = true; await this.uiPreparationStorage.update(this.preparation); this.uiToast.showInfoToast('TOAST_PREPARATION_ARCHIVED_SUCCESSFULLY'); @@ -227,20 +264,19 @@ export class PreparationInformationCardComponent implements OnInit { } private async __deletePreparation() { - const brews: Array = this.uiBrewStorage.getAllEntries(); + const brews: Array = this.uiBrewStorage.getAllEntries(); const deletingBrewIndex: Array = []; for (let i = 0; i < brews.length; i++) { if (brews[i].method_of_preparation === this.preparation.config.uuid) { deletingBrewIndex.push(i); } } - for (let i = deletingBrewIndex.length; i--;) { - await this.uiBrewStorage.removeByUUID(brews[deletingBrewIndex[i]].config.uuid); + for (let i = deletingBrewIndex.length; i--; ) { + await this.uiBrewStorage.removeByUUID( + brews[deletingBrewIndex[i]].config.uuid + ); } await this.uiPreparationStorage.removeByObject(this.preparation); } - - - } diff --git a/src/data/tracking/preparationTracking.ts b/src/data/tracking/preparationTracking.ts index 434dfbec3..2eb91cd98 100644 --- a/src/data/tracking/preparationTracking.ts +++ b/src/data/tracking/preparationTracking.ts @@ -1,6 +1,5 @@ export default { - - TITLE:'PREPARATION', + TITLE: 'PREPARATION', ACTIONS: { ADD: 'ADD', ADD_FINISH: 'ADD_FINISH', @@ -17,7 +16,7 @@ export default { PHOTO_VIEW: 'PHOTO_VIEW', EDIT_TOOL: 'EDIT_TOOL', EDIT_TOOL_FINISH: 'EDIT_TOOL_FINISH', - TOOL_DELETED: 'TOOL_DELETED' - } - -} + TOOL_DELETED: 'TOOL_DELETED', + CONNECT_DEVICE: 'CONNECT_DEVICE', + }, +}; diff --git a/src/enums/preparations/preparationAction.ts b/src/enums/preparations/preparationAction.ts index cb29cfb97..7510118f5 100755 --- a/src/enums/preparations/preparationAction.ts +++ b/src/enums/preparations/preparationAction.ts @@ -5,5 +5,7 @@ export enum PREPARATION_ACTION { EDIT = 'EDIT', DELETE = 'DELETE', ARCHIVE = 'ARCHIVE', - PHOTO_GALLERY = 'PHOTO_GALLERY' + PHOTO_GALLERY = 'PHOTO_GALLERY', + CONNECT_DEVICE = 'CONNECT_DEVICE', + EDIT_DEVICE_CONNECTION = 'EDIT_DEVICE_CONNECTION', } diff --git a/src/interfaces/preparation/iPreparation.ts b/src/interfaces/preparation/iPreparation.ts index a94ce9e54..70ce8e9d5 100755 --- a/src/interfaces/preparation/iPreparation.ts +++ b/src/interfaces/preparation/iPreparation.ts @@ -6,6 +6,7 @@ import { PREPARATION_STYLE_TYPE } from '../../enums/preparations/preparationStyl import { IBrewParameter } from '../parameter/iBrewParameter'; import { IOrderBrewParameter } from '../parameter/iOrderBrewParameter'; import { PreparationTool } from '../../classes/preparation/preparationTool'; +import { IConnectedPreparationDevice } from '../preparationDevices/iConnectedPreparationDevice'; export interface IPreparation { name: string; @@ -21,4 +22,5 @@ export interface IPreparation { brew_order: IOrderBrewParameter; use_custom_parameters: boolean; attachments: Array; + connectedPreparationDevice: IConnectedPreparationDevice; } diff --git a/src/interfaces/preparationDevices/iConnectedPreparationDevice.ts b/src/interfaces/preparationDevices/iConnectedPreparationDevice.ts new file mode 100644 index 000000000..5ad4e7271 --- /dev/null +++ b/src/interfaces/preparationDevices/iConnectedPreparationDevice.ts @@ -0,0 +1,6 @@ +import { PreparationDeviceType } from '../../classes/preparationDevice'; + +export interface IConnectedPreparationDevice { + type: PreparationDeviceType; + url: string; +} diff --git a/src/services/uiPreparationHelper.ts b/src/services/uiPreparationHelper.ts index 9064a3176..4ba00dca1 100644 --- a/src/services/uiPreparationHelper.ts +++ b/src/services/uiPreparationHelper.ts @@ -1,35 +1,45 @@ /** Core */ -import {Injectable} from '@angular/core'; - -import {Brew} from '../classes/brew/brew'; -import {UIBrewStorage} from './uiBrewStorage'; -import PREPARATION_TRACKING from '../data/tracking/preparationTracking'; -import {PreparationAddComponent} from '../app/preparation/preparation-add/preparation-add.component'; -import {ModalController} from '@ionic/angular'; -import {PreparationEditComponent} from '../app/preparation/preparation-edit/preparation-edit.component'; -import {Preparation} from '../classes/preparation/preparation'; -import {PreparationDetailComponent} from '../app/preparation/preparation-detail/preparation-detail.component'; -import {PreparationTool} from '../classes/preparation/preparationTool'; -import {PreparationEditToolComponent} from '../app/preparation/preparation-edit-tool/preparation-edit-tool.component'; -import {UIHelper} from './uiHelper'; -import {Config} from '../classes/objectConfig/objectConfig'; -import {TranslateService} from '@ngx-translate/core'; -import {UIPreparationStorage} from './uiPreparationStorage'; +import { Injectable } from '@angular/core'; + +import { Brew } from '../classes/brew/brew'; +import { UIBrewStorage } from './uiBrewStorage'; + +import { PreparationAddComponent } from '../app/preparation/preparation-add/preparation-add.component'; +import { ModalController } from '@ionic/angular'; +import { PreparationEditComponent } from '../app/preparation/preparation-edit/preparation-edit.component'; +import { Preparation } from '../classes/preparation/preparation'; +import { PreparationDetailComponent } from '../app/preparation/preparation-detail/preparation-detail.component'; +import { PreparationTool } from '../classes/preparation/preparationTool'; +import { PreparationEditToolComponent } from '../app/preparation/preparation-edit-tool/preparation-edit-tool.component'; +import { UIHelper } from './uiHelper'; +import { Config } from '../classes/objectConfig/objectConfig'; +import { TranslateService } from '@ngx-translate/core'; +import { UIPreparationStorage } from './uiPreparationStorage'; +import { + makePreparationDevice, + PreparationDeviceType, +} from '../classes/preparationDevice'; +import { HttpClient } from '@angular/common/http'; +import { XeniaDevice } from '../classes/preparationDevice/xenia/xeniaDevice'; +import { PreparationDevice } from '../classes/preparationDevice/preparationDevice'; /** * Handles every helping functionalities */ @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class UIPreparationHelper { private allStoredBrews: Array = []; - constructor(private readonly uiBrewStorage: UIBrewStorage, - private readonly modalController: ModalController, - private readonly uiHelper: UIHelper, - private readonly translate: TranslateService, - private readonly uiPreparationStorage: UIPreparationStorage) { + constructor( + private readonly uiBrewStorage: UIBrewStorage, + private readonly modalController: ModalController, + private readonly uiHelper: UIHelper, + private readonly translate: TranslateService, + private readonly uiPreparationStorage: UIPreparationStorage, + private readonly httpClient: HttpClient + ) { this.uiBrewStorage.attachOnEvent().subscribe((_val) => { // If an brew is deleted, we need to reset our array for the next call. this.allStoredBrews = []; @@ -37,8 +47,6 @@ export class UIPreparationHelper { } public getAllBrewsForThisPreparation(_uuid: string): Array { - - if (this.allStoredBrews.length <= 0) { // Load just if needed, performance reasons this.allStoredBrews = this.uiBrewStorage.getAllEntries(); @@ -53,67 +61,92 @@ export class UIPreparationHelper { } } return brewsForPreparation; - } public async addPreparation(_hideToastMessage: boolean = false) { - const modal = await this.modalController.create({ component: PreparationAddComponent, showBackdrop: true, id: PreparationAddComponent.COMPONENT_ID, - componentProps: {hide_toast_message: _hideToastMessage} + componentProps: { hide_toast_message: _hideToastMessage }, }); await modal.present(); await modal.onWillDismiss(); } - public async editPreparation(_preparation: Preparation) { - const modal = await this.modalController.create({component: PreparationEditComponent, - componentProps: {preparation: _preparation}, - id: PreparationEditComponent.COMPONENT_ID + const modal = await this.modalController.create({ + component: PreparationEditComponent, + componentProps: { preparation: _preparation }, + id: PreparationEditComponent.COMPONENT_ID, }); await modal.present(); await modal.onWillDismiss(); } - public async editPreparationTool(_preparation: Preparation, _preparationTool: PreparationTool) { - const modal = await this.modalController.create({component: PreparationEditToolComponent, - componentProps: {preparation: _preparation, preparationTool:_preparationTool }, + public async editPreparationTool( + _preparation: Preparation, + _preparationTool: PreparationTool + ) { + const modal = await this.modalController.create({ + component: PreparationEditToolComponent, + componentProps: { + preparation: _preparation, + preparationTool: _preparationTool, + }, id: PreparationEditToolComponent.COMPONENT_ID, cssClass: 'popover-actions', breakpoints: [0, 0.5, 0.75, 1], initialBreakpoint: 0.75, - }); await modal.present(); await modal.onWillDismiss(); } public async detailPreparation(_preparation: Preparation) { - const modal = await this.modalController.create({component: PreparationDetailComponent, id:PreparationDetailComponent.COMPONENT_ID, componentProps: {preparation: _preparation}}); + const modal = await this.modalController.create({ + component: PreparationDetailComponent, + id: PreparationDetailComponent.COMPONENT_ID, + componentProps: { preparation: _preparation }, + }); await modal.present(); await modal.onWillDismiss(); } public async repeatPreparation(_preparation: Preparation) { - const clonedPreparation: Preparation = this.uiHelper.cloneData(_preparation); - // Reset the id and the timestamp, so we'll create a new one - clonedPreparation.config = new Config(); - clonedPreparation.name = this.translate.instant('COPY') + ' ' + clonedPreparation.name; - - const newTools: Array = this.uiHelper.cloneData(clonedPreparation.tools); - clonedPreparation.tools = []; - for (const tool of newTools) { - const newTool: PreparationTool = this.uiHelper.cloneData(tool); - clonedPreparation.addToolByObject(newTool); - } - - // No attachments. - clonedPreparation.attachments = []; - await this.uiPreparationStorage.add(clonedPreparation); + const clonedPreparation: Preparation = + this.uiHelper.cloneData(_preparation); + // Reset the id and the timestamp, so we'll create a new one + clonedPreparation.config = new Config(); + clonedPreparation.name = + this.translate.instant('COPY') + ' ' + clonedPreparation.name; + + const newTools: Array = this.uiHelper.cloneData( + clonedPreparation.tools + ); + clonedPreparation.tools = []; + for (const tool of newTools) { + const newTool: PreparationTool = this.uiHelper.cloneData(tool); + clonedPreparation.addToolByObject(newTool); + } + // No attachments. + clonedPreparation.attachments = []; + await this.uiPreparationStorage.add(clonedPreparation); } + public getConnectedDevice(_preparation: Preparation): XeniaDevice { + if ( + _preparation.connectedPreparationDevice.type !== + PreparationDeviceType.NONE && + _preparation.connectedPreparationDevice.url + ) { + return makePreparationDevice( + _preparation.connectedPreparationDevice.type, + this.httpClient, + _preparation + ); + } + return null; + } } From 1f61ed632aedaaacf434c7f803d3f7ede9fa3a41 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 19 Mar 2023 19:45:46 +0100 Subject: [PATCH 053/129] fixing package.lock --- package-lock.json | 13453 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 47 +- 2 files changed, 13475 insertions(+), 25 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..598898f2f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13453 @@ +{ + "name": "beanconqueror", + "version": "2.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "beanconqueror", + "version": "2.0.0", + "dependencies": { + "@angular/common": "^15.2.3", + "@angular/core": "^15.2.3", + "@angular/forms": "^15.2.3", + "@angular/platform-browser": "^15.2.3", + "@angular/platform-browser-dynamic": "^15.2.3", + "@angular/router": "^15.2.3", + "@ionic-native/android-permissions": "^5.33.1", + "@ionic-native/app-minimize": "^5.33.1", + "@ionic-native/app-version": "^5.33.1", + "@ionic-native/camera": "^5.33.1", + "@ionic-native/core": "^5.33.1", + "@ionic-native/deeplinks": "^5.33.1", + "@ionic-native/device": "^5.33.1", + "@ionic-native/file": "^5.33.1", + "@ionic-native/file-chooser": "^5.33.1", + "@ionic-native/file-path": "^5.33.1", + "@ionic-native/file-picker": "^5.33.1", + "@ionic-native/file-transfer": "^5.34.0", + "@ionic-native/geolocation": "^5.33.1", + "@ionic-native/globalization": "^5.33.1", + "@ionic-native/image-picker": "^5.33.1", + "@ionic-native/in-app-browser": "^5.33.1", + "@ionic-native/insomnia": "^5.33.1", + "@ionic-native/keyboard": "^5.33.1", + "@ionic-native/screen-orientation": "^5.36.0", + "@ionic-native/social-sharing": "^5.33.1", + "@ionic-native/splash-screen": "^5.33.1", + "@ionic-native/status-bar": "^5.33.1", + "@ionic-native/three-dee-touch": "^5.33.1", + "@ionic/angular": "^6.6.2", + "@ionic/cli": "^6.20.9", + "@ionic/storage": "^2.3.1", + "@ngx-translate/core": "^11.0.1", + "@ngx-translate/http-loader": "^4.0.0", + "ag-virtual-scroll": "^1.6.0", + "chart.js": "^3.9.1", + "chartjs-adapter-luxon": "^1.1.0", + "chartjs-plugin-annotation": "^1.3.0", + "chartjs-plugin-streaming": "^2.0.0", + "chartjs-plugin-zoom": "^1.2.0", + "cordova-android": "10.1.2", + "cordova-android-support-gradle-release": "^3.0.1", + "cordova-plugin-3dtouch": "^1.3.8", + "cordova-plugin-android-permissions": "1.1.2", + "cordova-plugin-appminimize": "^1.0.1", + "cordova-plugin-device": "^2.0.3", + "cordova-plugin-enable-multidex": "^0.2.0", + "cordova-plugin-filechooser": "^1.2.0", + "cordova-plugin-filepicker": "^1.1.6", + "cordova-plugin-globalization": "^1.11.0", + "cordova-plugin-ionic-keyboard": "^2.2.0", + "cordova-plugin-statusbar": "^2.4.3", + "core-js": "^3.29.1", + "currency-symbol-map": "^5.0.1", + "html-to-image": "^1.10.8", + "javascript-color-gradient": "^1.3.2", + "jsurl": "^0.1.5", + "lodash": "^4.17.21", + "long": "^5.2.0", + "luxon": "^2.3.0", + "lz-string": "^1.4.4", + "moment": "^2.29.1", + "ngx-gauge": "^7.0.0", + "ngx-stars": "^1.6.4", + "postcss": "^8.3.5", + "rxjs": "^6.6.6", + "tslib": "^2.0.0", + "xlsx": "^0.17.4", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/architect": "^0.1502.4", + "@angular-devkit/core": "^15.2.4", + "@angular-devkit/schematics": "^15.2.4", + "@angular/cli": "^15.2.4", + "@angular/compiler": "^15.2.3", + "@angular/compiler-cli": "^15.2.3", + "@angular/language-service": "^15.2.3", + "@ionic/angular-toolkit": "^8.0.0", + "@types/jasmine": "~3.6.0", + "@types/jasminewd2": "~2.0.8", + "@types/lodash": "^4.14.178", + "@types/node": "^12.20.5", + "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", + "cordova-ios": "^6.2.0", + "cordova-plugin-add-swift-support": "^2.0.2", + "cordova-plugin-androidx": "^3.0.0", + "cordova-plugin-androidx-adapter": "^1.1.3", + "cordova-plugin-app-version": "^0.1.12", + "cordova-plugin-apprate": "^1.7.2", + "cordova-plugin-ble-central": "^1.5.2", + "cordova-plugin-camera": "^6.0.0", + "cordova-plugin-customurlscheme-ng": "^10.0.0", + "cordova-plugin-dialogs": "^2.0.2", + "cordova-plugin-file": "^7.0.0", + "cordova-plugin-file-transfer": "github:dpa99c/cordova-plugin-file-transfer", + "cordova-plugin-geolocation": "^4.1.0", + "cordova-plugin-health": "^2.0.0", + "cordova-plugin-inappbrowser": "^5.0.0", + "cordova-plugin-insomnia": "^4.3.0", + "cordova-plugin-ionic-webview": "^5.0.0", + "cordova-plugin-nativestorage": "^2.3.2", + "cordova-plugin-screen-orientation": "^3.0.2", + "cordova-plugin-simple-file-chooser": "^2.2.1", + "cordova-plugin-splashscreen": "^6.0.0", + "cordova-plugin-telerik-imagepicker": "^2.3.3", + "cordova-plugin-x-socialsharing": "^6.0.3", + "cordova-sqlite-storage": "^5.1.0", + "elliptic": ">=6.5.4", + "es6-promise-plugin": "^4.2.2", + "fttx-phonegap-plugin-barcodescanner": "github:fttx/phonegap-plugin-barcodescanner", + "husky": "^8.0.1", + "ionic-plugin-deeplinks": "^1.0.22", + "jasmine-core": "~3.8.0", + "jasmine-spec-reporter": "~5.0.0", + "karma": "^6.3.9", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "^1.7.0", + "lint-staged": "^13.0.3", + "prettier": "^2.7.1", + "protractor": "^3.3.0", + "skwas-cordova-plugin-datetimepicker": "^2.1.2", + "stylelint": "^13.12.0", + "stylelint-config-standard": "^20.0.0", + "ts-node": "~8.3.0", + "ts-proto": "^1.122.0", + "tslint": "~6.1.0", + "typescript": "^4.9.4", + "webpack-subresource-integrity": "^1.5.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1502.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.4.tgz", + "integrity": "sha512-bDBcaRMBfXFfK9MpvfNO926F1rL0PEw+mveXxq3/SSql+1XP/hrc5TVGwnoim4g6DqsGmu9upS5DyJ6PnL/hHA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.2.4", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.4.tgz", + "integrity": "sha512-yl+0j1bMwJLKShsyCXw77tbJG8Sd21+itisPLL2MgEpLNAO252kr9zG4TLlFRJyKVftm2l1h78KjqvM5nbOXNg==", + "dev": true, + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.4.tgz", + "integrity": "sha512-/W7/vvn59PAVLzhcvD4/N/E8RDhub8ny1A7I96LTRjC5o+yvVV16YJ4YJzolrRrIEN01KmLVQJ9A58VCaweMgw==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.2.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.29.0", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-15.2.3.tgz", + "integrity": "sha512-65MTsTGAoJXtfSek6Scc3g9ZD6abs+QzcWjgFek0hFX2Lgc144lhEBBmTolFEjPFAS23hjdPQHztegIT92WPAA==", + "peer": true, + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.3" + } + }, + "node_modules/@angular/cli": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-15.2.4.tgz", + "integrity": "sha512-nQFnrt9aWwqkyhJMaZvjHXXuxeR1pZNcpZEzTA5nXtpVeNs8U7EBFCyJ+cYecFX0LHe36SoxXcbfnNEKHt3NVQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1502.4", + "@angular-devkit/core": "15.2.4", + "@angular-devkit/schematics": "15.2.4", + "@schematics/angular": "15.2.4", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "3.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.1", + "ora": "5.4.1", + "pacote": "15.1.0", + "resolve": "1.22.1", + "semver": "7.3.8", + "symbol-observable": "4.0.0", + "yargs": "17.6.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-15.2.3.tgz", + "integrity": "sha512-J68CSb57XadC2weHw7kmHjCdrHNgxPv8ZW6KlnmYvIRJrkKsZuCl+PvFe90VMDvHtlBnSnz8sjAPqoUxesMRNg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.3", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-15.2.3.tgz", + "integrity": "sha512-KdEb5vWptRON6lXhhu93DLog4ekfrlHD74bOWbGQ2F40mycXqLNigOxbDCYifIAeE0xmRxbyV9KBvS6LKLC9uA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "15.2.3" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.3.tgz", + "integrity": "sha512-n52yntOPnVeQdNq612YyQ1KW27+BZq1YIxtkST6Xmrv6rFuduLVtBLMl+CpZ3vONBzMI1fY6svck6fPb0x4kbQ==", + "dev": true, + "dependencies": { + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.27.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "15.2.3", + "typescript": ">=4.8.2 <5.0" + } + }, + "node_modules/@angular/compiler-cli/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/core": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-15.2.3.tgz", + "integrity": "sha512-e+d6upOqAyqE7MxxRthd1ZJILSKX+hXHCmujc48id8G3zhP0tD59iZ03KgUe8RMvXMlSBUhwOwDX39tr701eig==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4 || ~0.12.0 || ~0.13.0" + } + }, + "node_modules/@angular/forms": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-15.2.3.tgz", + "integrity": "sha512-+ZcmpmIah87JsPF2Nvh2QoklgW9hWXp4azMPrXsuxackZXKTl/xl8NY32WABQndbhVjtSj08SHCuKd0rPHvpGw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.3", + "@angular/core": "15.2.3", + "@angular/platform-browser": "15.2.3", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/language-service": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-15.2.3.tgz", + "integrity": "sha512-tveGFaPNp3UHoXtemQPiWfyHTwQyEQY+vuOJaht9lfzlZGLZw5KfAqkuC0b7hEIpuKBb4EWhkXi8HwQY2ErzGQ==", + "dev": true, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-15.2.3.tgz", + "integrity": "sha512-73EdTiw9jR/l/t9MBKD5slWcIiaE3bHQY4oCKzywMYu6ANci+WkCu7Ek2SGGq69M4+bKRo1/e/5XF4vvmNOBYQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "15.2.3", + "@angular/common": "15.2.3", + "@angular/core": "15.2.3" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-15.2.3.tgz", + "integrity": "sha512-HQ+xJzSa1O75s8Trcem8TnFu1rjbrzyRXfus/9Dpxam46ywIt1VuowSegz8K4hBaXnNFn53mZVpyK1hBtPq/bg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.3", + "@angular/compiler": "15.2.3", + "@angular/core": "15.2.3", + "@angular/platform-browser": "15.2.3" + } + }, + "node_modules/@angular/router": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-15.2.3.tgz", + "integrity": "sha512-rbgAANRKsx6KPg/oTubyMjGfvSTh+42vj2/fUsARtIqi+kwr1FK/NM/64b1cv+oGYdxZsUkSxNPv4lONjh/DZg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.2.3", + "@angular/core": "15.2.3", + "@angular/platform-browser": "15.2.3", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", + "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", + "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@ionic-native/android-permissions": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.36.0.tgz", + "integrity": "sha512-kwjDKOhQs9KPo47LxQbkmLJ30coZzeJewA2u7I8DFae2kyD3usvGAgjWoY+x4xPsaA1NZ3IZNklaQOH/csIW7w==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/app-minimize": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/app-minimize/-/app-minimize-5.36.0.tgz", + "integrity": "sha512-IogdrZpsRkpveAUb3iJZiN2OwcKu/hMuI61Z6Q+FMvY9jsM7qFYWAfub00xGOb2j8f9RVU2v2J8xSdzrGQ9NTQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/app-version": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-5.36.0.tgz", + "integrity": "sha512-eKgLcqBHO0IDs1oRP+kQ47sztIpq8cwnyp51EGpP5xD6unGUyx/GferOz7D6KkkZGR9QbJ6ZmsKt0ImrxT5JgQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/camera": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.36.0.tgz", + "integrity": "sha512-68hdPn0hA7yn4YNTgmLF32x/l7arFulboGhNiyFQ35/QxqrOmppf77p4xaPOyJtNyICKHLaiStC6w1eEAtl9MA==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/core": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.36.0.tgz", + "integrity": "sha512-lOrkktadlKYbYf1LrDyAtsu1JnQ0oCCdkOU7iHQ8oXnNOkMwobFfD2m62F1CoOr0u9LIkpYnZSPjng8lZbmbNw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/deeplinks": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-5.36.0.tgz", + "integrity": "sha512-JWW+ozeUTxTzSmQ/dA0FNvl26wpXIaPMat5p7kSydQeVR1Xgpt3vCNmYnzs81B5dbN9RkH+TuWuYQ7HVoJhsQw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/device": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/device/-/device-5.36.0.tgz", + "integrity": "sha512-0NYStYtwfgBEkiu2GXi4V03VIm4GKpHW8wLQCD8oqFv415JxWYBQ0IC+9zbe4tgSs4dCjppmxB2J0IzjSE7a/g==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/file": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file/-/file-5.36.0.tgz", + "integrity": "sha512-x7yZ4VdC8n8FNlpRmUFtohNlOZnExvoxZ/6oCvGsV+ec8TJXUsDK/BYi1g+lkPTCUY3EmQIeBOe4PLO6fRJ7qg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/file-chooser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-chooser/-/file-chooser-5.36.0.tgz", + "integrity": "sha512-e8uwc8a+5WTImeEJR1f81V4jYJCtPU8xtENsNR/KZIi1AAfB6Sk949UM+2mdKHAiG48NRqzIxh9x3mQX8MA4PQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/file-path": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-path/-/file-path-5.36.0.tgz", + "integrity": "sha512-zm7w8h15H9e210z7ZpfP07OD+9wl2B/0Sz87YJutkVAc1clVop3vElcy4IxGd6vqjMz5Xiw9k9AplbGdMPJIYQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/file-picker": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-picker/-/file-picker-5.36.0.tgz", + "integrity": "sha512-0diiPKLvOY+6NTqclki1ns6BzluX7dXbLKLOwSzMuGK84KUQtU1LVSKo0o88v/6P0a4mrNwOFf4XjHaA10oqHw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/file-transfer": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/file-transfer/-/file-transfer-5.36.0.tgz", + "integrity": "sha512-n4kwLiPMCGvLwNDaj66Va8NWvflRJzk69RBWQSAUmQ6Hf2gE87NxLCvuvH9YRwFbFcBgEciGWzlEiacVLxx9mg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/geolocation": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/geolocation/-/geolocation-5.36.0.tgz", + "integrity": "sha512-Fk7YXBn9/dOBGqtySSQgoCg7OLlmS8M6Y1Xa3hjgZBzFU0NPb9nnhVuMWI5Wp2qH/7cuzWRB7kEp4oN2tZ6fbw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/globalization": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/globalization/-/globalization-5.36.0.tgz", + "integrity": "sha512-eL41IdeMF03FbU9h+lPb/th4QqqCbV5wydTZSRp4grSPtxuv4tM5fvosWTKJeyZYf+xTwbIh1juixmLIAHEKfw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/image-picker": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/image-picker/-/image-picker-5.36.0.tgz", + "integrity": "sha512-6RzK9x3/lnYvCYHeAzZuYejUKIifSnFt79iP2DvSZZ+4bu+a72yvPXx3xtHZZZT4sp4+vgZZNRfBYAJAikx6uw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/in-app-browser": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/in-app-browser/-/in-app-browser-5.36.0.tgz", + "integrity": "sha512-tX/FBT0jpkgEefZ8iorv5eDKfgP/ExbYr1AWg6okORQ0dwLfXsD5KDJgKHN9GFZvyuLNeaLpC1mN7CvwvLvmgA==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/insomnia": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/insomnia/-/insomnia-5.36.0.tgz", + "integrity": "sha512-PATf1poxh+yjx5WjhxhEY/CsdlM0cFm3C86NMlwt6187QVRkNRue3TkHhU138gfkkFYXNxJfLcDCmfwvMLNQRg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/keyboard": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/keyboard/-/keyboard-5.36.0.tgz", + "integrity": "sha512-cx4jrSD65WdbMAmOLG0/MndzY1DtlXWLgeni3U16lstw5VmmlV8oyv2R2ok/NI2xneXlRDXjzpExuUNc8FL43Q==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/screen-orientation": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/screen-orientation/-/screen-orientation-5.36.0.tgz", + "integrity": "sha512-+VILGrCJO76Ta6Mudd6IKc66xDek1uw5OEovFWjGCqkg0OYHFIiJFZNx4NLhF5hA1UKN2fWE6qDJaSXR+1w1Rg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/social-sharing": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/social-sharing/-/social-sharing-5.36.0.tgz", + "integrity": "sha512-DTgEpSYJxgLri0Hry3PpohtVIyi5srMqfPhhGfqVHh20xtvC56sHMvm9xpRg9cH6xtfBCzJbB0S+aGBtrU9m8g==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/splash-screen": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.36.0.tgz", + "integrity": "sha512-BfNknY1rrGE8JRnCdKfL5wz8yFLhpPU5FRr8/LA3L+EncvPvcb9LGidePoeH3gVLMkolm2DI2a/rCelNrJ1Sxw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/status-bar": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.36.0.tgz", + "integrity": "sha512-OXC1z+4Iba4lo1dc2+0h4Gvpud3z0XQmEbw0ny9UflCuSkLqBxvmiNRU7CRQwPnT1KaGVXkaSokdwxO8H9IlNg==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/three-dee-touch": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/three-dee-touch/-/three-dee-touch-5.36.0.tgz", + "integrity": "sha512-PqpKBgI4s1lVHFVQhkqCC11wa+KJae/RUkeuIcivgAQO1EeZNCu+6bPQrxe1yxVlYNpj5CwbB/gjXbqxPXpJ0g==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic/angular": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-6.6.2.tgz", + "integrity": "sha512-u3Q+2v66wlpN+5klpvTschYafAfL+XSLpcA7aX7pDAxcladQlU3JmOuXeV6TS9kk63kuOXON+t+jTTnMtXn+sQ==", + "dependencies": { + "@ionic/core": "6.6.2", + "ionicons": "^6.1.3", + "jsonc-parser": "^3.0.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@angular/forms": ">=12.0.0", + "@angular/router": ">=12.0.0", + "rxjs": ">=6.6.0", + "zone.js": ">=0.11.0" + } + }, + "node_modules/@ionic/angular-toolkit": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-8.0.0.tgz", + "integrity": "sha512-IAAmU/0cHQkzxOaLdBUZ6NViroye4x5qRrelqRPSdoCSq4BIctw70j7VyH1F0RDFSQACry4h9ZDM3PAvqQ+PIg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "^15.0.0", + "@angular-devkit/schematics": "^15.0.0", + "@schematics/angular": "^15.0.0" + } + }, + "node_modules/@ionic/cli": { + "version": "6.20.9", + "resolved": "https://registry.npmjs.org/@ionic/cli/-/cli-6.20.9.tgz", + "integrity": "sha512-sItLCi7zXq1zARWIpZDinHhK8hvy+wzOx176QMOJV90BjDybkjGYu3rGu5TBjoqn104dRIZTC8rtCsnD/P3cQw==", + "dependencies": { + "@ionic/cli-framework": "5.1.3", + "@ionic/cli-framework-output": "2.2.5", + "@ionic/cli-framework-prompts": "2.1.10", + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.6", + "@ionic/utils-network": "2.1.5", + "@ionic/utils-process": "2.1.10", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-subprocess": "2.1.11", + "@ionic/utils-terminal": "2.3.3", + "chalk": "^4.0.0", + "debug": "^4.0.0", + "diff": "^4.0.1", + "elementtree": "^0.1.7", + "leek": "0.0.24", + "lodash": "^4.17.5", + "open": "^7.0.4", + "os-name": "^4.0.0", + "semver": "^7.1.1", + "split2": "^3.0.0", + "ssh-config": "^1.1.1", + "stream-combiner2": "^1.1.1", + "superagent": "^5.2.1", + "superagent-proxy": "^3.0.0", + "tar": "^6.0.1", + "tslib": "^2.0.1" + }, + "bin": { + "ionic": "bin/ionic" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/cli-framework": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-5.1.3.tgz", + "integrity": "sha512-T2KN/TurzNoAcc3iDt1KHU6GeEa7x9kXngMnu5xs+DzJv5HhBKjVOoo74b8rgVxdPx+dLOV8aLrorlyvsHR/tQ==", + "dependencies": { + "@ionic/cli-framework-output": "2.2.5", + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.6", + "@ionic/utils-object": "2.1.5", + "@ionic/utils-process": "2.1.10", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-subprocess": "2.1.11", + "@ionic/utils-terminal": "2.3.3", + "chalk": "^4.0.0", + "debug": "^4.0.0", + "lodash": "^4.17.5", + "minimist": "^1.2.0", + "rimraf": "^3.0.0", + "tslib": "^2.0.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.5.tgz", + "integrity": "sha512-YeDLTnTaE6V4IDUxT8GDIep0GuRIFaR7YZDLANMuuWJZDmnTku6DP+MmQoltBeLmVvz1BAAZgk41xzxdq6H2FQ==", + "dependencies": { + "@ionic/utils-terminal": "2.3.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/cli-framework-prompts": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-prompts/-/cli-framework-prompts-2.1.10.tgz", + "integrity": "sha512-h8HbA0teR0vWtGKB3ahzRbDq4yYaxfukgbOqhu9CAEJHosoFlBmDB8PbPnGFYxUg2J1MuCqeiN2ftJQYV/BO1w==", + "dependencies": { + "@ionic/utils-terminal": "2.3.3", + "debug": "^4.0.0", + "inquirer": "^7.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@ionic/cli-framework-prompts/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/cli-framework/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@ionic/cli-framework/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@ionic/cli-framework/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@ionic/cli-framework/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@ionic/cli-framework/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/cli-framework/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@ionic/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@ionic/cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@ionic/cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@ionic/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/cli/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ionic/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@ionic/core": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.6.2.tgz", + "integrity": "sha512-C3XblxE4OcGs+QWy2meWqNGB8sDZV8w0nUVwLy3AmWovi0CA0xPs2UthUSicUxpCism33pzQp6DiDVsq+G5VTQ==", + "dependencies": { + "@stencil/core": "^2.18.0", + "ionicons": "^6.1.3", + "tslib": "^2.1.0" + } + }, + "node_modules/@ionic/storage": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@ionic/storage/-/storage-2.3.1.tgz", + "integrity": "sha512-IdYKr6xRatumkhceVbjmySCrA20KKcojQN0MyS857D4OgvcDtQhG9mvTXtfX/tU2hxaFlN6WkUaQOy3oPFcJvA==", + "dependencies": { + "localforage": "1.7.1", + "localforage-cordovasqlitedriver": "1.7.0", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "@angular/core": "*", + "rxjs": "*" + } + }, + "node_modules/@ionic/storage/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.5.tgz", + "integrity": "sha512-HD72a71IQVBmQckDwmA8RxNVMTbxnaLbgFOl+dO5tbvW9CkkSFCv41h6fUuNsSEVgngfkn0i98HDuZC8mk+lTA==", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-fs": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.6.tgz", + "integrity": "sha512-eikrNkK89CfGPmexjTfSWl4EYqsPSBh0Ka7by4F0PLc1hJZYtJxUZV3X4r5ecA8ikjicUmcbU7zJmAjmqutG/w==", + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-network": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-network/-/utils-network-2.1.5.tgz", + "integrity": "sha512-HUQ1Ec4Mh2MXzzKdbbbDS6xYKwpFJ2XRY7SYXbaZT8+jiNahfHbsOfe62/p8bk41Yil7E9EagzGC2JvIFJh01w==", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-object": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.5.tgz", + "integrity": "sha512-XnYNSwfewUqxq+yjER1hxTKggftpNjFLJH0s37jcrNDwbzmbpFTQTVAp4ikNK4rd9DOebX/jbeZb8jfD86IYxw==", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-process": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.10.tgz", + "integrity": "sha512-mZ7JEowcuGQK+SKsJXi0liYTcXd2bNMR3nE0CyTROpMECUpJeAvvaBaPGZf5ERQUPeWBVuwqAqjUmIdxhz5bxw==", + "dependencies": { + "@ionic/utils-object": "2.1.5", + "@ionic/utils-terminal": "2.3.3", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-stream": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.5.tgz", + "integrity": "sha512-hkm46uHvEC05X/8PHgdJi4l4zv9VQDELZTM+Kz69odtO9zZYfnt8DkfXHJqJ+PxmtiE5mk/ehJWLnn/XAczTUw==", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-subprocess": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.11.tgz", + "integrity": "sha512-6zCDixNmZCbMCy5np8klSxOZF85kuDyzZSTTQKQP90ZtYNCcPYmuFSzaqDwApJT4r5L3MY3JrqK1gLkc6xiUPw==", + "dependencies": { + "@ionic/utils-array": "2.1.5", + "@ionic/utils-fs": "3.1.6", + "@ionic/utils-process": "2.1.10", + "@ionic/utils-stream": "3.1.5", + "@ionic/utils-terminal": "2.3.3", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@ionic/utils-terminal": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.3.tgz", + "integrity": "sha512-RnuSfNZ5fLEyX3R5mtcMY97cGD1A0NVBbarsSQ6yMMfRJ5YHU7hHVyUfvZeClbqkBC/pAqI/rYJuXKCT9YeMCQ==", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@netflix/nerror": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", + "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==", + "dependencies": { + "assert-plus": "^1.0.0", + "extsprintf": "^1.4.0", + "lodash": "^4.17.15" + } + }, + "node_modules/@ngx-translate/core": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz", + "integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==", + "dependencies": { + "tslib": "^1.9.0" + }, + "peerDependencies": { + "@angular/core": ">=7.0.0", + "rxjs": ">=6.3.0" + } + }, + "node_modules/@ngx-translate/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@ngx-translate/http-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@ngx-translate/http-loader/-/http-loader-4.0.0.tgz", + "integrity": "sha512-x8LumqydWD7eX9yQTAVeoCM9gFUIGVTUjZqbxdAUavAA3qVnk9wCQux7iHLPXpydl8vyQmLoPQR+fFU+DUDOMA==", + "dependencies": { + "tslib": "^1.9.0" + }, + "peerDependencies": { + "@angular/common": ">=7.0.0", + "@ngx-translate/core": ">=11.0.0", + "rxjs": ">=6.3.0" + } + }, + "node_modules/@ngx-translate/http-loader/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.3.tgz", + "integrity": "sha512-8cXNkDIbnXPVbhXMmQ7/bklCAjtmPaXfI9aEM4iH+xSuEHINLMHhlfESvVwdqmHJRJkR48vNJTSUvoF6GRPSFA==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@npmcli/git/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "dev": true, + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.0.tgz", + "integrity": "sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.0.tgz", + "integrity": "sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", + "dev": true + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", + "dev": true + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", + "dev": true + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", + "dev": true + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dev": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", + "dev": true + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", + "dev": true + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", + "dev": true + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", + "dev": true + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", + "dev": true + }, + "node_modules/@schematics/angular": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.4.tgz", + "integrity": "sha512-P9axwKDXEDrGXYcoCuhwv4guhvtIjDCvyZMsQw8IMpfAacTYajka+T3mZrzyTe96Uhu0JwcAW5iUlOZAJhPEdQ==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "15.2.4", + "@angular-devkit/schematics": "15.2.4", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", + "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true + }, + "node_modules/@stencil/core": { + "version": "2.22.3", + "resolved": "https://registry.npmjs.org/@stencil/core/-/core-2.22.3.tgz", + "integrity": "sha512-kmVA0M/HojwsfkeHsifvHVIYe4l5tin7J5+DLgtl8h6WWfiMClND5K3ifCXXI2ETDNKiEk21p6jql3Fx9o2rng==", + "bin": { + "stencil": "bin/stencil" + }, + "engines": { + "node": ">=12.10.0", + "npm": ">=6.0.0" + } + }, + "node_modules/@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "deprecated": "Use the original unforked package instead: postcss-markdown", + "dev": true, + "dependencies": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tufjs/models": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.0.tgz", + "integrity": "sha512-RRMu4uMxWnZlxaIBxahSb2IssFZiu188sndesZflWOe1cA/qUqtemSIoBWbuVKPvvdktapImWNnKpBcc+VrCQw==", + "dev": true, + "dependencies": { + "minimatch": "^6.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", + "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cordova": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-11.0.0.tgz", + "integrity": "sha512-AtBm1IAqqXsXszJe6XxuA2iXLhraNCj25p/FHRyikPeW0Z3YfgM6qzWb+VJglJTmZc5lqRNy84cYM/sQI5v6Vw==" + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.21.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz", + "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/fs-extra": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.2.tgz", + "integrity": "sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", + "integrity": "sha512-S6pvzQDvMZHrkBz2Mcn/8Du7cpr76PlRJBAoHnSDNbulULsH5dp0Gns+WRyNX5LHejz/ljxK4/vIHK/caHt6SQ==", + "dev": true + }, + "node_modules/@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", + "dev": true, + "dependencies": { + "@types/jasmine": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "dev": true + }, + "node_modules/@types/long": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", + "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==", + "dev": true + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/object-hash": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", + "integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==" + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@wisdomgarden/cordova-plugin-filepath": { + "version": "1.6.0-4", + "resolved": "git+ssh://git@github.com/wisdom-garden/cordova-plugin-filepath.git#50d756e125eb4c95a357bd11137b3eafbee199b0", + "dev": true, + "license": "Apache 2.0" + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adler-32": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", + "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", + "dependencies": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + }, + "bin": { + "adler32": "bin/adler32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/adm-zip": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "integrity": "sha512-QHVQ6ekddFaGr9r2hBUC4gPw2wLqMZioXojt9BydQPbSh8us7+Q5xcUCUq+hnh4zAdauV3wqoY0quApjKqrhbA==", + "dev": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/ag-virtual-scroll": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ag-virtual-scroll/-/ag-virtual-scroll-1.6.0.tgz", + "integrity": "sha512-nYHAdACKOi+82mhmPD5k1A3Jal2fAIvQy82kntGVgD2KUb+NZbu5V3USZtA5QHchwY4j5a2OAZoJotgBVgfAog==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^15.0.0", + "@angular/common": "^15.0.0", + "@angular/compiler": "^15.0.0", + "@angular/core": "^15.0.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/android-versions": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.8.1.tgz", + "integrity": "sha512-5a0YyylAk6pPM2Ezi0vWaPPNbS6tSNRs+micbgk5NpHEN5YW1ez+T94G5orysfwBEBDMHoxm5GNc5ZDUPgRrhw==", + "dependencies": { + "semver": "^5.7.1" + } + }, + "node_modules/android-versions/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/ansi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha512-iFY7JCgHbepc0b82yLaw4IMortylNb6wG4kL+4R0C3iv6i+RHGHux/yUX5BTiRvSX/shMnngjR1YyNMnXEFh5A==" + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/autoprefixer/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/autoprefixer/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", + "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^8.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001468", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz", + "integrity": "sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/case-anything": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/case-anything/-/case-anything-2.1.10.tgz", + "integrity": "sha512-JczJwVrCP0jPKh05McyVsuOg6AYosrB9XWZKbQzXeDAm2ClE/PJE/BcrrQrVyGYH7Jg8V/LDupmyL4kFlVsVFQ==", + "dev": true, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha512-ODLXH644w9C2fMPAm7bMDQ3GRvipZWZfKc+8As6hIadRIelE0n0xZuN38NS6kiK3KPEVrpymmQD8bvncAHWQkQ==", + "dev": true + }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cfb/node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/chart.js": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz", + "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==" + }, + "node_modules/chartjs-adapter-luxon": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/chartjs-adapter-luxon/-/chartjs-adapter-luxon-1.3.1.tgz", + "integrity": "sha512-yxHov3X8y+reIibl1o+j18xzrcdddCLqsXhriV2+aQ4hCR66IYFchlRXUvrJVoxglJ380pgytU7YWtoqdIgqhg==", + "peerDependencies": { + "chart.js": ">=3.0.0", + "luxon": ">=1.0.0" + } + }, + "node_modules/chartjs-plugin-annotation": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/chartjs-plugin-annotation/-/chartjs-plugin-annotation-1.4.0.tgz", + "integrity": "sha512-OC0eGoVvdxTtGGi8mV3Dr+G1YmMhtYYQWqGMb2uWcgcnyiBslaRKPofKwAYWPbh7ABnmQNsNDQLIKPH+XiaZLA==", + "peerDependencies": { + "chart.js": "^3.1.0" + } + }, + "node_modules/chartjs-plugin-streaming": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chartjs-plugin-streaming/-/chartjs-plugin-streaming-2.0.0.tgz", + "integrity": "sha512-oBwHRmovGbPDS1h8PhpttnlKjI6eiJO13v4h+xz+mfbHhIc+iNF9xuMobCIFMKFH7rlVWi5TJAOIxoXyGElYYg==", + "peerDependencies": { + "chart.js": "^3.0.0" + } + }, + "node_modules/chartjs-plugin-zoom": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-1.2.1.tgz", + "integrity": "sha512-2zbWvw2pljrtMLMXkKw1uxYzAne5PtjJiOZftcut4Lo3Ee8qUt95RpMKDWrZ+pBZxZKQKOD/etdU4pN2jxZUmg==", + "dependencies": { + "hammerjs": "^2.0.8" + }, + "peerDependencies": { + "chart.js": "^3.2.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.0.tgz", + "integrity": "sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/cordova-android": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-10.1.2.tgz", + "integrity": "sha512-F28+NvgKO4ZhKFkqctCOh62mhVoNyUuRQh/F/nqp+Sti4ODv2rUa6UeW18khhdYTjlDeihHQsPqxvB7mI6fVYA==", + "dependencies": { + "android-versions": "^1.7.0", + "cordova-common": "^4.0.2", + "execa": "^5.1.1", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "is-path-inside": "^3.0.3", + "nopt": "^5.0.0", + "properties-parser": "^0.3.1", + "semver": "^7.3.5", + "untildify": "^4.0.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/cordova-android-support-gradle-release": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-3.0.1.tgz", + "integrity": "sha512-RSW55DkSckmqhX/kjj+a1YeVdy7s/AtlZn6Qa5XMQmmA4Iogq+IF2jvInZqzCF19DbI5YE95AP7VDbRk+DdDRw==", + "dependencies": { + "q": "^1.4.1", + "semver": "5.6.0" + } + }, + "node_modules/cordova-android-support-gradle-release/node_modules/semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cordova-android/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cordova-common": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.1.0.tgz", + "integrity": "sha512-sYfOSfpYGQOmUDlsARUbpT/EvVKT/E+GI3zwTXt+C6DjZ7xs6ZQVHs3umHKSidjf9yVM2LLmvGFpGrGX7aGxug==", + "dependencies": { + "@netflix/nerror": "^1.1.3", + "ansi": "^0.3.1", + "bplist-parser": "^0.2.0", + "cross-spawn": "^7.0.1", + "elementtree": "^0.1.7", + "endent": "^1.4.1", + "fast-glob": "^3.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "plist": "^3.0.1", + "q": "^1.5.1", + "read-chunk": "^3.2.0", + "strip-bom": "^4.0.0", + "underscore": "^1.9.2" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/cordova-ios": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz", + "integrity": "sha512-sLjZg2QBI1SpQVwfe0MSn89YNVkBGLW9Q1vcFJBsqKBrhvoEOJ5Ytq0gwqdhgTOGzlwJUfxC6OHM3jcsRjtYrw==", + "dev": true, + "dependencies": { + "cordova-common": "^4.0.2", + "fs-extra": "^9.1.0", + "ios-sim": "^8.0.2", + "nopt": "^5.0.0", + "plist": "^3.0.1", + "semver": "^7.3.4", + "unorm": "^1.6.0", + "which": "^2.0.2", + "xcode": "^3.0.1", + "xml-escape": "^1.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cordova-plugin-3dtouch": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/cordova-plugin-3dtouch/-/cordova-plugin-3dtouch-1.3.8.tgz", + "integrity": "sha512-xX19yf3L8aT+Qx/0tvPpZl0A6PLSzaUbqA8ODoMJSIErin6nXvgdtM1L9ldvgqdNtXX7eIZA7iYeBlC9fcd3pQ==", + "engines": [ + { + "name": "cordova", + "version": ">=3.5.0" + } + ] + }, + "node_modules/cordova-plugin-add-swift-support": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", + "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "semver": "^6.0.0", + "xcode": "^2.0.0" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "dev": true, + "dependencies": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cordova-plugin-android-permissions": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.1.2.tgz", + "integrity": "sha512-vJd56gLaSgQnB/4+uUjyVwVAii5TszBPAgjVkGvM8658cP5rjiNFAWmoOYkjeSe1I6dJk+MGrh/GbPkn0a+2OA==", + "engines": [ + { + "name": "cordova", + "version": ">=5.0.0" + } + ] + }, + "node_modules/cordova-plugin-androidx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-androidx/-/cordova-plugin-androidx-3.0.0.tgz", + "integrity": "sha512-niMnhcxKsu4/oKTUbL0jRAnh6/cdoIVxRxJqj3uEyv8CVOlAj1sWhX+9b1XiAo9+bejAM9BbA21YK0mChfbVTA==", + "dev": true + }, + "node_modules/cordova-plugin-androidx-adapter": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-androidx-adapter/-/cordova-plugin-androidx-adapter-1.1.3.tgz", + "integrity": "sha512-W1SImn0cCCvOSTSfWWp5TnanIQrSuh2Bch+dcZXIzEn0km3Qb7VryeAqHhgBQYwwzC5Ollk1DtUAk/AJSojuZA==", + "dev": true, + "dependencies": { + "q": "^1.5.1", + "recursive-readdir": "^2.2.2" + } + }, + "node_modules/cordova-plugin-app-version": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.14.tgz", + "integrity": "sha512-HN6Yz6IIdRO+iMvCHN/qMe8/O4miOpHH/pDtWNjIYTjV3MzP+XdzFJoFnq2zxlNNXFz0Zn8REGQhFY77vV4AWQ==", + "dev": true + }, + "node_modules/cordova-plugin-appminimize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-appminimize/-/cordova-plugin-appminimize-1.0.1.tgz", + "integrity": "sha512-UJZ5g8iFBP42EplS0gKwAQhwr9cUfur95o6w+2NW21pjbgioj1RVZddngy7dO++ABDpkd4HMPYnJw7DqMp5rww==" + }, + "node_modules/cordova-plugin-apprate": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-apprate/-/cordova-plugin-apprate-1.7.2.tgz", + "integrity": "sha512-kW92o//7EVr+heGRp3J6BUPE1w5zQaJdh3ZEdE5EBrr95yVarhJ8W9NN4CoMM+YlgF8flUqWD+vN+reBv+RZrg==", + "dev": true + }, + "node_modules/cordova-plugin-ble-central": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.6.3.tgz", + "integrity": "sha512-de96U+74DMpjqtj4YgxhIHyUcX6egn1KyntAAgxiuxfndH4z0rYw2DU41DnC4C559zEnwaHq6YOxROu7+7BQrw==", + "dev": true + }, + "node_modules/cordova-plugin-camera": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-camera/-/cordova-plugin-camera-6.0.0.tgz", + "integrity": "sha512-FTFKep8HZI/2HkX+Gc/dUACfZGV9+k9waXlgoEOKXOiPPR/1zBw29Mw+adcz4FQUpdWyAgYDxNiaPUnP0P+H2Q==", + "dev": true, + "engines": { + "cordovaDependencies": { + "3.0.0": { + "cordova-android": ">=6.3.0" + }, + "4.1.0": { + "cordova": ">=7.1.0", + "cordova-android": ">=6.3.0" + }, + "5.0.0": { + "cordova": ">=9.0.0", + "cordova-android": ">=9.0.0", + "cordova-ios": ">=5.1.0" + }, + "5.0.4-dev": { + "cordova": ">=9.0.0", + "cordova-android": "<10.0.0", + "cordova-ios": ">=5.1.0" + }, + "6.0.0": { + "cordova": ">=9.0.0", + "cordova-android": ">=10.0.0", + "cordova-ios": ">=5.1.0" + }, + "7.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-customurlscheme-ng": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-customurlscheme-ng/-/cordova-plugin-customurlscheme-ng-10.0.0.tgz", + "integrity": "sha512-XGoUioiF23HNk8BY/I1AQ1j9jsVTtjIqZFxmZGyXzLH+hEvagi2vixXvJB2GLh737jb1rhiJn+F02EJDgtTlvQ==", + "dev": true, + "engines": [ + { + "name": "cordova", + "version": ">=7.1.0" + } + ] + }, + "node_modules/cordova-plugin-device": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.1.0.tgz", + "integrity": "sha512-FU0Lw1jZpuKOgG4v80LrfMAOIMCGfAVPumn7AwaX9S1iU/X3OPZUyoKUgP09q4bxL35IeNPkqNWVKYduAXZ1sg==", + "engines": { + "cordovaDependencies": { + "3.0.0": { + "cordova": ">100", + "cordova-electron": ">=3.0.0" + } + } + } + }, + "node_modules/cordova-plugin-dialogs": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-dialogs/-/cordova-plugin-dialogs-2.0.2.tgz", + "integrity": "sha512-FUHI6eEVeoz2VkxbF0P56QlUQLGzXcvw3i4xuXyM9gEct6Y+FA3Xzgl2pJTZcTg5wRqLWzN08kgNoHPkom15pw==", + "dev": true, + "engines": { + "cordovaDependencies": { + "3.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-enable-multidex": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-enable-multidex/-/cordova-plugin-enable-multidex-0.2.0.tgz", + "integrity": "sha512-W/s8FpRdi3kTLtePdvauqKj1qqoxZDJWmEphvAmSmPwNTtfv3CxgnwFYc9aNmR9iDiJk3E0ME+9BRkbyz/4rXw==" + }, + "node_modules/cordova-plugin-file": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-7.0.0.tgz", + "integrity": "sha512-mSwy9GE5pHq2ZHhu/wYk/VhrwR5VLk+XQsk3+IiiFmDgcPsrVIyELkM2FZKX09cC6i+bJVTFVKUlwteSStj3ow==", + "dev": true, + "engines": { + "cordovaDependencies": { + "5.0.0": { + "cordova-android": ">=6.3.0" + }, + "7.0.0": { + "cordova-android": ">=10.0.0" + }, + "8.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-file-transfer": { + "version": "2.0.0-dev", + "resolved": "git+ssh://git@github.com/dpa99c/cordova-plugin-file-transfer.git#2465f508adfadd5be4a8ea9ecd1ca01779164ea2", + "dev": true, + "license": "Apache-2.0", + "engines": { + "cordovaDependencies": { + "3.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-filechooser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-filechooser/-/cordova-plugin-filechooser-1.2.0.tgz", + "integrity": "sha512-ycL9ML3wlRQ8wfK7vCG8gobv1f3VIdO52m0LA9mPSzLblbu0AXJs89yCRxZB87+08/V96qBxrmkxMsMmVYu5wA==" + }, + "node_modules/cordova-plugin-filepicker": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/cordova-plugin-filepicker/-/cordova-plugin-filepicker-1.1.6.tgz", + "integrity": "sha512-nUlnFj22HImuF/sjB61qdNyzg/9wFbx1808ADly7QN6jDK1DoN18qg8POOroPCNG355v7mbh/nohxnEYz57tHg==", + "engines": [ + { + "name": "cordova", + "version": ">=3.0.0" + } + ], + "dependencies": { + "q": "^1.5.1", + "xcode": "^2.0.0" + } + }, + "node_modules/cordova-plugin-filepicker/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/cordova-plugin-filepicker/node_modules/xcode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", + "integrity": "sha512-uCrmPITrqTEzhn0TtT57fJaNaw8YJs1aCzs+P/QqxsDbvPZSv7XMPPwXrKvHtD6pLjBM/NaVwraWJm8q83Y4iQ==", + "dependencies": { + "simple-plist": "^1.0.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/cordova-plugin-geolocation": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-geolocation/-/cordova-plugin-geolocation-4.1.0.tgz", + "integrity": "sha512-y5io/P10xGMxSn2KEqfv/fExK47eA1pmSonJdmDqDsaSADV9JpgdPx0mUSA08+5pzma/OS9R0LoODeDPx7Jvjg==", + "dev": true, + "engines": { + "cordovaDependencies": { + "3.0.0": { + "cordova-android": ">=6.3.0" + }, + "5.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-globalization": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-globalization/-/cordova-plugin-globalization-1.11.0.tgz", + "integrity": "sha512-EnBlu3jSMn6zbAuwXLBcIQ31hYrRs1ZdQ0DO7v0nWPDWamCX6sFDRY2rWV2pJFaMfJyLv00o4+G1svCLRmizPw==", + "deprecated": "See https://github.com/apache/cordova-plugin-globalization#deprecation-notice for details.", + "engines": { + "cordovaDependencies": { + "2.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-health": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-health/-/cordova-plugin-health-2.1.0.tgz", + "integrity": "sha512-LbPJQ0sxE+J3mNSH7SrN2Um4ndMahFsSmrryolU1wJTo1LekdtaKu93z1VFBk5IsQ5xZ8vnp6/u7fYDnlGeWzQ==", + "dev": true, + "engines": [ + { + "name": "cordova", + "version": ">=6.0.0" + } + ] + }, + "node_modules/cordova-plugin-inappbrowser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-inappbrowser/-/cordova-plugin-inappbrowser-5.0.0.tgz", + "integrity": "sha512-MqnpmUQ/iy6hxtIGDdlIhy8aNi1pNanLATpbnkk7uCqW9YQ4rH/dGK9zESbZ50pUi2A2D2QMjBXNV175TJK5OQ==", + "dev": true, + "engines": { + "cordovaDependencies": { + "0.2.3": { + "cordova": ">=3.1.0" + }, + "4.0.0": { + "cordova": ">=3.1.0", + "cordova-ios": ">=4.0.0" + }, + "5.0.0": { + "cordova": ">=9.0.0", + "cordova-android": ">=9.0.0", + "cordova-ios": ">=6.0.0" + }, + "6.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-insomnia": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-insomnia/-/cordova-plugin-insomnia-4.3.0.tgz", + "integrity": "sha512-MdlRFsyfmf6Q/8+npDeVSTo487eyrp7vbuGO3SPbnqR94DXmFRJWLbZGwf34dMeH6GQL45baxozUwhLTPxrQwg==", + "dev": true, + "engines": [ + { + "name": "cordova", + "version": ">=3.0.0" + } + ] + }, + "node_modules/cordova-plugin-ionic-keyboard": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.2.0.tgz", + "integrity": "sha512-yDUG+9ieKVRitq5mGlNxjaZh/MgEhFFIgTIPhqSbUaQ8UuZbawy5mhJAVClqY97q8/rcQtL6dCDa7x2sEtCLcA==" + }, + "node_modules/cordova-plugin-ionic-webview": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-webview/-/cordova-plugin-ionic-webview-5.0.0.tgz", + "integrity": "sha512-Wq0kCanxubK/JroTW4Mp5soayScnRyiY1eCkbwiz1Dyt1xHOiOW/v+1miqtBHtnZhcXw25TulCKAVJzkNBdmyg==", + "dev": true, + "engines": { + "cordovaDependencies": { + "2.0.0": { + "cordova-android": ">=6.4.0", + "cordova-ios": ">=4.0.0-dev" + }, + "3.1.0": { + "cordova": ">=7.1.0", + "cordova-android": ">=6.4.0", + "cordova-ios": ">=4.0.0-dev" + } + } + } + }, + "node_modules/cordova-plugin-nativestorage": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-nativestorage/-/cordova-plugin-nativestorage-2.3.2.tgz", + "integrity": "sha512-olg/BzYRk0NGbKQ5f7rf21RYQEyJI19CCZn6RpVMO9/kbRRFqae/6ixjDNy81dXSu2TQ42brjBddGe1Qpn5ViA==", + "dev": true + }, + "node_modules/cordova-plugin-screen-orientation": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-screen-orientation/-/cordova-plugin-screen-orientation-3.0.3.tgz", + "integrity": "sha512-Dt8lO8BECZfE/pKbYQZ72Wr811fYMScxw7c9v/gJ3etOPCBrgl8xIHOOZu4nY2ehRyxFPtZi3VeGvIG+3DZoZQ==", + "dev": true, + "engines": { + "cordovaDependencies": { + "4.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-simple-file-chooser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-simple-file-chooser/-/cordova-plugin-simple-file-chooser-2.2.1.tgz", + "integrity": "sha512-uiDt8ynX6s/GInaZg4mi/gDgk0OLK//5lT/gunP5LHi898LOH0c5y6qnD0IS5ued5AYuETFRs63X2be3+3d5Wg==", + "dev": true + }, + "node_modules/cordova-plugin-splashscreen": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-6.0.2.tgz", + "integrity": "sha512-7JiUfnInir+SCOEgTJ+5/cHF3UFl69jp6cAQfHtJaaQt9Pli8D8yTJjU0HGlJCvryvsVs4Xlc7/sEJM7vLJgvg==", + "dev": true, + "engines": { + "cordovaDependencies": { + ">=4.0.0": { + "cordova-android": ">=3.6.0", + "cordova-windows": ">=4.4.0" + }, + "2.0.0": { + "cordova-android": ">=3.6.0" + }, + "6.0.2": { + "cordova-android": ">=3.6.0 <11.0.0", + "cordova-windows": ">=4.4.0" + }, + "7.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-statusbar": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.3.tgz", + "integrity": "sha512-ThmXzl6QIKWFXf4wWw7Q/zpB+VKkz3VM958+5A0sXD4jmR++u7KnGttLksXshVwWr6lvGwUebLYtIyXwS4Ovcg==", + "engines": { + "cordovaDependencies": { + "0.1.0": { + "cordova": ">=3.0.0" + }, + "3.0.0": { + "cordova": ">100" + } + } + } + }, + "node_modules/cordova-plugin-telerik-imagepicker": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/cordova-plugin-telerik-imagepicker/-/cordova-plugin-telerik-imagepicker-2.3.6.tgz", + "integrity": "sha512-guf+BHB7O3g1ll3++d+aOvTGHXwBmqdxBFJTCKKMIGqazlf+Sq3Bsd1tRRswPRxy1MZRlJIe6Arz4pdCCmOigA==", + "dev": true, + "engines": { + "name": "cordova", + "version": ">=3.5.0" + } + }, + "node_modules/cordova-plugin-x-socialsharing": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/cordova-plugin-x-socialsharing/-/cordova-plugin-x-socialsharing-6.0.4.tgz", + "integrity": "sha512-+ak6rN9i2xf/PARA/T3Hss09s0QhpFrOWvrYowy+PkCjGWx/ZVt9RkW+7yKemfyTXSgTp0YkyAAR4r6hPAfBGQ==", + "dev": true, + "engines": [ + { + "name": "cordova", + "version": ">=3.0.0" + } + ] + }, + "node_modules/cordova-sqlite-storage": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cordova-sqlite-storage/-/cordova-sqlite-storage-5.1.0.tgz", + "integrity": "sha512-UmHe9yQiYblDBToh3z91WHuD6ZgmCm3VX+1QFseYQs4WVQ3+ndj22qyGby/NV0uyCgok91gB1obLjLM+9vYJEw==", + "dev": true, + "dependencies": { + "cordova-sqlite-storage-dependencies": "3.0.0" + } + }, + "node_modules/cordova-sqlite-storage-dependencies": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-3.0.0.tgz", + "integrity": "sha512-A7gV5lQZc0oPrJ/a+lsZmMZr7vYou4MXyQFOY+b/dwuCMsagLT0EsL7oY54tqzpvjtzLfh0aZGGm9i8DMAIFSA==", + "dev": true + }, + "node_modules/core-js": { + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz", + "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cosmiconfig/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "dependencies": { + "boom": "2.x.x" + }, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/currency-symbol-map": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/currency-symbol-map/-/currency-symbol-map-5.1.0.tgz", + "integrity": "sha512-LO/lzYRw134LMDVnLyAf1dHE5tyO6axEFkR3TXjQIOmMkAM9YL6QsiUwuXzZAmFnuDJcs4hayOgyIYtViXFrLw==" + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/dataloader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", + "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/degenerator": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", + "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.8" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dprint-node": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz", + "integrity": "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==", + "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + } + }, + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", + "dependencies": { + "readable-stream": "^2.0.2" + } + }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/duplexer2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/duplexer2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.333", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz", + "integrity": "sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ==", + "dev": true + }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/endent": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", + "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", + "dependencies": { + "dedent": "^0.7.0", + "fast-json-parse": "^1.0.3", + "objectorarray": "^1.0.4" + } + }, + "node_modules/engine.io": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.1.tgz", + "integrity": "sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/enhanced-resolve": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", + "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "dev": true, + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true, + "peer": true + }, + "node_modules/es6-promise-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/es6-promise-plugin/-/es6-promise-plugin-4.2.2.tgz", + "integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", + "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extsprintf": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", + "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "peer": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", + "dev": true, + "engines": { + "node": ">= 4.9.1" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz", + "integrity": "sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "integrity": "sha512-M4Yhq2mLogpCtpUmfopFlTTuIe6mSCTgKvnlMhDj3NcgVhA1uS20jT0n+xunKPzpmL5w2erSVtp+SKiJf1TlWg==", + "dev": true, + "dependencies": { + "async": "^2.0.1", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz", + "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/ftp": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz", + "integrity": "sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==", + "dependencies": { + "readable-stream": "1.1.x", + "xregexp": "2.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ftp/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/ftp/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/ftp/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==" + }, + "node_modules/fttx-phonegap-plugin-barcodescanner": { + "version": "8.2.10", + "resolved": "git+ssh://git@github.com/fttx/phonegap-plugin-barcodescanner.git#92d7e25631760f2db02e9fb42769d30b5ccc325f", + "dev": true, + "license": "MIT", + "dependencies": { + "nopt": "^4.0.1", + "shelljs": "^0.8.3" + }, + "engines": { + "cordovaDependencies": { + "<7.0.0": { + "cordova-android": "<6.3.0" + }, + "7.0.0": { + "cordova-android": ">=6.3.0" + }, + "7.1.0": { + "cordova": ">=7.1.0", + "cordova-android": ">=6.3.0" + }, + "8.0.0": { + "cordova": ">=7.1.0", + "cordova-android": ">=6.3.0" + } + } + } + }, + "node_modules/fttx-phonegap-plugin-barcodescanner/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "dependencies": { + "is-property": "^1.0.2" + } + }, + "node_modules/generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", + "dev": true, + "dependencies": { + "is-property": "^1.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-3.0.2.tgz", + "integrity": "sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==", + "dependencies": { + "@tootallnate/once": "1", + "data-uri-to-buffer": "3", + "debug": "4", + "file-uri-to-path": "2", + "fs-extra": "^8.1.0", + "ftp": "^0.3.10" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/get-uri/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/get-uri/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/get-uri/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/get-uri/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha512-P6tFV+wCcUL3nbyTDAvveDySfbhy0XkDtAIfZP6HITjM2WUsiPna/Eg1Yy93SFXvahqoX+kt0n+6xlXKDXYowA==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + }, + "bin": { + "har-validator": "bin/har-validator" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/har-validator/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-validator/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-validator/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-validator/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/har-validator/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/har-validator/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", + "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "dependencies": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + }, + "engines": { + "node": ">=0.10.32" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dev": true, + "engines": { + "node": ">=0.10.40" + } + }, + "node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", + "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-to-image": { + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/html-to-image/-/html-to-image-1.11.11.tgz", + "integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==" + }, + "node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", + "dev": true, + "dependencies": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/http-signature/node_modules/assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.1.tgz", + "integrity": "sha512-/c8MxUAqpRccq+LyDOecwF+9KqajueJHh8fz7g3YqjMZt+NSfJzx05zrKiXwa2sKwFCzaiZ5qUVfRj0pmxixEA==", + "dev": true, + "dependencies": { + "minimatch": "^6.1.6" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", + "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", + "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ionic-plugin-deeplinks": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/ionic-plugin-deeplinks/-/ionic-plugin-deeplinks-1.0.24.tgz", + "integrity": "sha512-fdJonEWybxwSvt3+LzEMTqSPSVuzRxedhJSMTkHUrx/NkTAipkztzcCRj8CHvbQwQMlTUYrMO2fris9ZYytKow==", + "dev": true, + "dependencies": { + "mkpath": ">=1.0.0", + "node-version-compare": ">=1.0.1", + "plist": ">=1.2.0", + "xml2js": ">=0.4" + } + }, + "node_modules/ionicons": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-6.1.3.tgz", + "integrity": "sha512-ptzz38dd/Yq+PgjhXegh7yhb/SLIk1bvL9vQDtLv1aoSc7alO6mX2DIMgcKYzt9vrNWkRu1f9Jr78zIFFyOXqw==", + "dependencies": { + "@stencil/core": "^2.18.0" + } + }, + "node_modules/ios-sim": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.2.tgz", + "integrity": "sha512-P7nEG771bfd+JoMRjnis1gpZOkjTUUxu+4Ek1Z+eoaEEoT9byllU9pxfQ8Df7hL3gSkIQxNwTSLhos2I8tWUQA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.0.6", + "nopt": "1.0.9", + "plist": "^3.0.1", + "simctl": "^2" + }, + "bin": { + "ios-sim": "bin/ios-sim" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ios-sim/node_modules/bplist-parser": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz", + "integrity": "sha512-fGeghPEH4Eytvf+Mi446aKcDqvkA/+eh6r7QGiZWMQG6TzqrnsToLP379XFfqRSZ41+676hhGIm++maNST1Apw==", + "dev": true + }, + "node_modules/ios-sim/node_modules/nopt": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz", + "integrity": "sha512-CmUZ3rzN0/4kRHum5pGRiGkhmBMzgtEDxrZVHqRJDSv8qK6s+wzaig/xeyB22Due5aZQeTiEZg/nrmMH2tapDQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-my-ip-valid": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", + "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", + "dev": true + }, + "node_modules/is-my-json-valid": { + "version": "2.20.6", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", + "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", + "dev": true, + "dependencies": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^5.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", + "dev": true + }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.4.1.tgz", + "integrity": "sha512-U4wURlp+ivBS877MhCWCj2qTLrGftvV9qmGP3AcHxh5K7l9U28+h5Y1E1JUp91ynQ1EBcX6TC/ROdlaACVqdHQ==", + "dev": true, + "dependencies": { + "exit": "^0.1.2", + "glob": "^3.2.11", + "jasmine-core": "~2.4.0" + }, + "bin": { + "jasmine": "bin/jasmine.js" + } + }, + "node_modules/jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.8.0.tgz", + "integrity": "sha512-zl0nZWDrmbCiKns0NcjkFGYkVTGCPUgoHypTaj+G2AzaWus7QGoXARSlYsSle2VRpSdfJmM+hzmFKzQNhF2kHg==", + "dev": true + }, + "node_modules/jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "dev": true, + "dependencies": { + "colors": "1.4.0" + } + }, + "node_modules/jasmine/node_modules/glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g==", + "dev": true, + "dependencies": { + "inherits": "2", + "minimatch": "0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jasmine/node_modules/jasmine-core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.4.1.tgz", + "integrity": "sha512-je45tHvlelm8hbkQ+7CYTZx5pVxe5gQP0xUNagQ36jZOYJyVpQaoJPs3Fs45vswj+6TC0LgE0D1mZ2XGcHqJFw==", + "dev": true + }, + "node_modules/jasmine/node_modules/lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", + "dev": true + }, + "node_modules/jasmine/node_modules/minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA==", + "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", + "dev": true, + "dependencies": { + "lru-cache": "2", + "sigmund": "~1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jasminewd2": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.9.tgz", + "integrity": "sha512-APUA5Mki4lIepmqxwlykNK3rrT7O6tqsoNaVJGA4TMbjYlScKpAfP7qZSabigiq5bBeQ74FVuZ48CaipscaGcg==", + "dev": true + }, + "node_modules/javascript-color-gradient": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/javascript-color-gradient/-/javascript-color-gradient-1.3.2.tgz", + "integrity": "sha512-P/VjoTPdfRmMOkfR65m1BQTlX/hYphZIj5u1Ntvpxf+9011uXjazbEOQ63g3EhlgzHYa2uwVU3RVgy3gJuLdlQ==" + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsprim/node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/jsurl": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/jsurl/-/jsurl-0.1.5.tgz", + "integrity": "sha512-HyrafsIRCa+VlJAsvuvxWUM0iMeZd6+2J4JngECGF0JTRi5moUFV/mLxgyYfDizGF4ofLLYRpvD/Kt1d9wlUUg==" + }, + "node_modules/karma": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", + "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/mattlewis92" + } + }, + "node_modules/karma-jasmine": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz", + "integrity": "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g==", + "dev": true, + "dependencies": { + "jasmine-core": "^3.6.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "karma": "*" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.1" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, + "node_modules/leek": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz", + "integrity": "sha512-6PVFIYXxlYF0o6hrAsHtGpTmi06otkwNrMcmQ0K96SeSRHPREPa9J3nJZ1frliVH7XT0XFswoJFQoXsDukzGNQ==", + "dependencies": { + "debug": "^2.1.0", + "lodash.assign": "^3.2.0", + "rsvp": "^3.0.21" + } + }, + "node_modules/leek/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/leek/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lie": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", + "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/lint-staged": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.0.tgz", + "integrity": "sha512-GbyK5iWinax5Dfw5obm2g2ccUiZXNGtAS4mCbJ0Lv4rq6iEtfBSjOYdcbOtAIFtM114t0vdpViDDetjVTSd8Vw==", + "dev": true, + "dependencies": { + "chalk": "5.2.0", + "cli-truncate": "^3.1.0", + "commander": "^10.0.0", + "debug": "^4.3.4", + "execa": "^7.0.0", + "lilconfig": "2.1.0", + "listr2": "^5.0.7", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.3", + "pidtree": "^0.6.0", + "string-argv": "^0.3.1", + "yaml": "^2.2.1" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/lint-staged/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/lint-staged/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lint-staged/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/listr2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/listr2/node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/localforage": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", + "integrity": "sha512-Uaw3XBP/ROqum2wRzEuy6Q9W+0EwYJB5wJH9SXn3YK7+g/wJefJWgvK/SwK4f4MHrNxAfi8KWQG+QzOLRJICyQ==", + "dependencies": { + "lie": "3.1.1" + } + }, + "node_modules/localforage-cordovasqlitedriver": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/localforage-cordovasqlitedriver/-/localforage-cordovasqlitedriver-1.7.0.tgz", + "integrity": "sha512-aGyPzpsWfL9yJR0ckPF58GTKeoIskn0slqhNHBFtK0HV0bTWqqHnw30/foc0n6NnQGVTQAE07RsZMJyRMIu01g==", + "dependencies": { + "localforage": ">=1.5.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha512-t3N26QR2IdSN+gqSy9Ds9pBu/J1EAFEshKlUHpJG3rvyJOYgcELIxcIeKKfZk7sjOz11cFfzJRsyFry/JyabJQ==", + "dependencies": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha512-rFR6Vpm4HeCK1WPGvjZSJ+7yik8d8PVUdCJx5rT2pogG4Ve/2ZS7kfmO5l5T2o5V2mqlNIfSF5MZlr1+xOoYQQ==" + }, + "node_modules/lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha512-2wlI0JRAGX8WEf4Gm1p/mv/SZ+jLijpj0jyaE/AXeuQphzCgD8ZQW4oSpoN8JAopujOFGU3KMuq7qfHBWlGpjQ==" + }, + "node_modules/lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha512-LziVL7IDnJjQeeV95Wvhw6G28Z8Q6da87LWKOPWmzBLv4u6FAT/x5v00pyGW0u38UoogNF2JnD3bGgZZDaNEBw==", + "dependencies": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==" + }, + "node_modules/lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha512-De+ZbrMu6eThFti/CSzhRvTKMgQToLxbij58LMfM8JnYDNSOjkjTCIaa8ixglOeGh2nyPlakbt5bJWJ7gvpYlQ==" + }, + "node_modules/lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha512-/VVxzgGBmbphasTg51FrztxQJ/VgAUpol6zmJuSVSGcNg4g7FA4z7rQV8Ovr9V3vFBNWZhvKWHfpAytjTVUfFA==", + "dependencies": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" + }, + "node_modules/lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha512-JwObCrNJuT0Nnbuecmqr5DgtuBppuCvGD9lxjFpAzwnVtdGoDQ1zig+5W8k5/6Gcn0gZ3936HDAlGd28i7sOGQ==" + }, + "node_modules/lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha512-CuBsapFjcubOGMn3VD+24HOAPxM79tH+V6ivJL3CHYjtrawauDJHUk//Yew9Hvc6e9rbCrURGk8z6PC+8WJBfQ==", + "dependencies": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "node_modules/lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha512-L4/arjjuq4noiUJpt3yS6KIKDtJwNe2fIYgMqyYYKoeIfV1iEqvPwhCx23o+R9dzouGihDAPN1dTIRWa7zk8tw==" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-update/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/long": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", + "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + }, + "node_modules/longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/luxon": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.2.tgz", + "integrity": "sha512-Yg7/RDp4nedqmLgyH0LwgGRvMEKVzKbUdkBYyCosbHgJ+kaOUx0qzSiSatVc3DFygnirTPYnMM2P5dg2uH1WvA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/macos-release": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.1.tgz", + "integrity": "sha512-DXqXhEM7gW59OjZO8NIjBCz9AQ1BEMrfiOAl4AYByHCtVHRF4KoGNO8mqQeM8lRCtQe/UnJ4imO/d2HdkKsd+A==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/magic-string": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/make-fetch-happen/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dev": true, + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minipass": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", + "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz", + "integrity": "sha512-PbNHr7Y/9Y/2P5pKFv5XOGBfNQqZ+fdiHWcuf7swLACN5ZW5LU7J5tMU8LSBjpluAxAxKYGD9nnaIbdRy9+m1w==", + "dev": true + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/ngx-gauge": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ngx-gauge/-/ngx-gauge-7.0.0.tgz", + "integrity": "sha512-tWBxm6jNb6/j8jJmpUPExDsVtHCaoghTBIcan0dNBXAFunvbH009AX48QJP36HIiOM3OlsZ3DHp3GbIhUFzS+Q==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^15.0.0", + "@angular/core": "^15.0.0" + } + }, + "node_modules/ngx-stars": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ngx-stars/-/ngx-stars-1.6.4.tgz", + "integrity": "sha512-oLP/A43Eo/iPqe9dVOpwyrkNNTPtI7v78B6YgAdSRFGqsgXMiwEURjHKknj60vayYAui+eJcIJLLlBVHMMzYRQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/common": ">=2.0.0", + "@angular/core": ">=2.0.0" + } + }, + "node_modules/node-gyp": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dev": true, + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha512-TkCET/3rr9mUuRp+CpO7qfgT++aAxfDRaalQhwPFzI9BY/2rCDn6OfpZOVggi1AXfTPpfkTrg5f5WQx5G1uLxA==", + "deprecated": "Use uuid module instead", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/node-version-compare": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.3.tgz", + "integrity": "sha512-unO5GpBAh5YqeGULMLpmDT94oanSDMwtZB8KHTKCH/qrGv8bHN0mlDj9xQDAicCYXv2OLnzdi67lidCrcVotVw==", + "dev": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", + "dev": true + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.0.0.tgz", + "integrity": "sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.0.tgz", + "integrity": "sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz", + "integrity": "sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz", + "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/objectorarray": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", + "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", + "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", + "dev": true, + "dependencies": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "node_modules/optimist/node_modules/minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-name": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", + "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", + "dependencies": { + "macos-release": "^2.5.0", + "windows-release": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pac-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-5.0.0.tgz", + "integrity": "sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4", + "get-uri": "3", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "5", + "pac-resolver": "^5.0.0", + "raw-body": "^2.2.0", + "socks-proxy-agent": "5" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pac-proxy-agent/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pac-proxy-agent/node_modules/socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pac-resolver": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-5.0.1.tgz", + "integrity": "sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==", + "dependencies": { + "degenerator": "^3.0.2", + "ip": "^1.1.5", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/pac-resolver/node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" + }, + "node_modules/pacote": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.0.tgz", + "integrity": "sha512-FFcjtIl+BQNfeliSm7MZz5cpdohvUV1yjGnqgVM4UnVF7JslRY0ImXAygdaCDV0jjUADEWu4y5xsDV8brtrTLg==", + "dev": true, + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^4.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plist": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", + "integrity": "sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==", + "dependencies": { + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.10.0" + }, + "peerDependencies": { + "postcss": ">=5.0.0", + "postcss-syntax": ">=0.36.0" + } + }, + "node_modules/postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss-less/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-less/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.26" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-safe-parser/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-safe-parser/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-safe-parser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "dependencies": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "node_modules/postcss-sass/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-sass/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-sass/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-scss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/postcss-scss/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-scss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true, + "peerDependencies": { + "postcss": ">=5.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/printj": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", + "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==", + "bin": { + "printj": "bin/printj.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/properties-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz", + "integrity": "sha512-AkSQxQAviJ89x4FIxOyHGfO3uund0gvYo7lfD0E+Gp7gFQKrTNgtoYQklu8EhrfHVZUzTwKGZx2r/KDSfnljcA==", + "dependencies": { + "string.prototype.codepointat": "^0.2.0" + }, + "engines": { + "node": ">= 0.3.1" + } + }, + "node_modules/protobufjs": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.11.3.tgz", + "integrity": "sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/long": "^4.0.1", + "@types/node": ">=13.7.0", + "long": "^4.0.0" + }, + "bin": { + "pbjs": "bin/pbjs", + "pbts": "bin/pbts" + } + }, + "node_modules/protobufjs/node_modules/@types/node": { + "version": "18.15.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.3.tgz", + "integrity": "sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==", + "dev": true + }, + "node_modules/protobufjs/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "node_modules/protractor": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-3.3.0.tgz", + "integrity": "sha512-kQ1U59aUf/nqhe+ZykJrZP4nfdrFbJd59wE1c8YIBxW0swabJrGgGfgtKc7MepYl1l779pYi7VcsqiPgT05SvA==", + "deprecated": "We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular", + "dev": true, + "dependencies": { + "adm-zip": "0.4.7", + "chalk": "^1.1.3", + "glob": "~6.0", + "jasmine": "2.4.1", + "jasminewd2": "0.0.9", + "optimist": "~0.6.0", + "q": "1.4.1", + "request": "~2.67.0", + "saucelabs": "~1.0.1", + "selenium-webdriver": "2.52.0", + "source-map-support": "~0.4.0" + }, + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" + } + }, + "node_modules/protractor/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", + "dev": true, + "dependencies": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/protractor/node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", + "dev": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-5.0.0.tgz", + "integrity": "sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==", + "dependencies": { + "agent-base": "^6.0.0", + "debug": "4", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "lru-cache": "^5.1.1", + "pac-proxy-agent": "^5.0.0", + "proxy-from-env": "^1.0.0", + "socks-proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/proxy-agent/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-agent/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-agent/node_modules/socks-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz", + "integrity": "sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "4", + "socks": "^2.3.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-chunk": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", + "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", + "dependencies": { + "pify": "^4.0.1", + "with-open-file": "^0.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-package-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.0.tgz", + "integrity": "sha512-b/9jxWJ8EwogJPpv99ma+QwtqB7FSl3+V6UXS7Aaay8/5VwMY50oIFooY1UKXMWpfNCM6T/PoGqa5GD1g9xf9w==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/read-package-json/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "node_modules/remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "dependencies": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "^0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.67.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", + "integrity": "sha512-fzMRDWVEdMktE3foqvL4CBmC+AR8WvcP8pIPx6JSqqhWuPr+BxX9tKx4XiijfyeKtqqRMNpHDWqFMw4JlRPIJg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.6.0", + "bl": "~1.0.0", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc3", + "har-validator": "~2.0.2", + "hawk": "~3.1.0", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.0", + "qs": "~5.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/request/node_modules/bl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "integrity": "sha512-phbvN+yOk05EGoFcV/0S8N8ShnJqf6VCWRAw5he2gvRwBubFt/OzmcTNGqBt5b7Y4RK3YCgf6jrgGSR0Cwtsgw==", + "dev": true, + "dependencies": { + "readable-stream": "~2.0.5" + } + }, + "node_modules/request/node_modules/process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==", + "dev": true + }, + "node_modules/request/node_modules/qs": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "integrity": "sha512-sh/hmLUTLEiYFhSbRvkM4zj6fMWnbqQt9wrppR2LJA/U/u4xS2eWN8LBE1xc79ExYZJBVZYSMBv/INC7wpE+fw==", + "dev": true, + "engines": ">=0.10.40" + }, + "node_modules/request/node_modules/readable-stream": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/request/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rsvp": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", + "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==", + "engines": { + "node": "0.12.* || 4.* || 6.* || >= 7.*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saucelabs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz", + "integrity": "sha512-1oAWGuHhopgmdURx+g+tKUqORZumLPY+zOOBUFtkj8oPFHAwMVuS8rtvgTFTsJxWPNk6Fj2+iR0JFtdFNJCkhw==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/saucelabs/node_modules/agent-base": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", + "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==", + "dev": true, + "dependencies": { + "extend": "~3.0.0", + "semver": "~5.0.1" + } + }, + "node_modules/saucelabs/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/saucelabs/node_modules/https-proxy-agent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", + "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==", + "dev": true, + "dependencies": { + "agent-base": "2", + "debug": "2", + "extend": "3" + } + }, + "node_modules/saucelabs/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/saucelabs/node_modules/semver": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==" + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "peer": true + }, + "node_modules/selenium-webdriver": { + "version": "2.52.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.52.0.tgz", + "integrity": "sha512-W5zrIjmJSOqGLEuufas7OTzr/yPYoVMM9yWEzHyavY0KnfTfb8ue2fgilGjMfdCbcGAfqyvyrDNpdwubHlcXlQ==", + "dev": true, + "dependencies": { + "adm-zip": "0.4.4", + "rimraf": "^2.2.8", + "tmp": "0.0.24", + "ws": "^1.0.1", + "xml2js": "0.4.4" + }, + "engines": { + "node": ">= 4.2.x" + } + }, + "node_modules/selenium-webdriver/node_modules/adm-zip": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", + "integrity": "sha512-SYIiqLfr6QvmEM0yw89mD8ba2HjK+duf7oVPEw79+NPDqyQScAU8IgDPZzFt9CVdD2yaAuWJqFQGLkongB6cJQ==", + "dev": true, + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/selenium-webdriver/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/selenium-webdriver/node_modules/sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha512-8ip+qnRh7m8OEyvoM1JoSBzlrepp3ajVR8nqgrfTig+TewfyvTijl0am8/anFqgbcdz62ofEUKE1hHNDCdbeSQ==", + "dev": true + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.24", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", + "integrity": "sha512-z6TbUngjp7wMWIKNeUTuA24oRTW+HGCN7LlBgUPfNzCv5J/JsLsuF/qBh6tCUS2+ALGQ/4U5W4L4yUk7qIFWrg==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/selenium-webdriver/node_modules/xml2js": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", + "integrity": "sha512-9ERdxLOo4EazMDHAS/vsuZiTXIMur6ydcRfzGrFVJ4qM78zD3ohUgPJC7NYpGwd5rnS0ufSydMJClh6jyH+V0w==", + "dev": true, + "dependencies": { + "sax": "0.6.x", + "xmlbuilder": ">=1.0.0" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sigstore": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.1.1.tgz", + "integrity": "sha512-4hR3tPP1y59YWlaoAgAWFVZ7srTjNWOrrpkQXWu05qP0BvwFYyt3K3l848+IHo+mKhkOzGcNDf7ktASXLEPC+A==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.0.0" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/sigstore/node_modules/make-fetch-happen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz", + "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/simctl": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.3.tgz", + "integrity": "sha512-kKCak0yszxHae5eVWcmrjV3ouUGac3sjlhjdLWpyPu4eiQcWoHsCrqS34kkgzHN8Ystqkh/LFjzrldk/g3BYJg==", + "dev": true, + "dependencies": { + "shelljs": "^0.8.5", + "tail": "^0.4.0" + } + }, + "node_modules/simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "node_modules/simple-plist/node_modules/bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/skwas-cordova-plugin-datetimepicker": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/skwas-cordova-plugin-datetimepicker/-/skwas-cordova-plugin-datetimepicker-2.1.2.tgz", + "integrity": "sha512-0j/tDjheurvNIg26MVFFbi4RMK2jipYmX6nUq3AOcNtENY1hhLaLUsUM633bJgQmCJGM//gbQWmQX2eaCHK34A==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", + "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", + "dev": true, + "dependencies": { + "hoek": "2.x.x" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/socket.io": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", + "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.1", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, + "dependencies": { + "ws": "~8.11.0" + } + }, + "node_modules/socket.io-adapter/node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, + "node_modules/specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true, + "bin": { + "specificity": "bin/specificity" + } + }, + "node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ssh-config": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ssh-config/-/ssh-config-1.1.6.tgz", + "integrity": "sha512-ZPO9rECxzs5JIQ6G/2EfL1I9ho/BVZkx9HRKn8+0af7QgwAmumQ7XBFP1ggMyPMo+/tUbmv0HFdv4qifdO/9JA==" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", + "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", + "dependencies": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-combiner2/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/stream-combiner2/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/stream-combiner2/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/streamroller/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/streamroller/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/streamroller/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.codepointat": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + }, + "node_modules/stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "dependencies": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-recommended": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", + "dev": true, + "peerDependencies": { + "stylelint": ">=10.1.0" + } + }, + "node_modules/stylelint-config-standard": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz", + "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==", + "dev": true, + "dependencies": { + "stylelint-config-recommended": "^3.0.0" + }, + "peerDependencies": { + "stylelint": ">=10.1.0" + } + }, + "node_modules/stylelint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/stylelint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/stylelint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/stylelint/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/stylelint/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/sugarss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/sugarss/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/sugarss/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/superagent": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-5.3.1.tgz", + "integrity": "sha512-wjJ/MoTid2/RuGCOFtlacyGNxN9QLMgcpYLDQlWFIhhdJ93kNscFonGvrpAHSCVjRVj++DGCglocF7Aej1KHvQ==", + "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.2", + "debug": "^4.1.1", + "fast-safe-stringify": "^2.0.7", + "form-data": "^3.0.0", + "formidable": "^1.2.2", + "methods": "^1.1.2", + "mime": "^2.4.6", + "qs": "^6.9.4", + "readable-stream": "^3.6.0", + "semver": "^7.3.2" + }, + "engines": { + "node": ">= 7.0.0" + } + }, + "node_modules/superagent-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-3.0.0.tgz", + "integrity": "sha512-wAlRInOeDFyd9pyonrkJspdRAxdLrcsZ6aSnS+8+nu4x1aXbz6FWSTT9M6Ibze+eG60szlL7JA8wEIV7bPWuyQ==", + "dependencies": { + "debug": "^4.3.2", + "proxy-agent": "^5.0.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "superagent": ">= 0.15.4 || 1 || 2 || 3" + } + }, + "node_modules/superagent/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/tail": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz", + "integrity": "sha512-i5rOhX0PwkFSbjID14mmuoqrLUIqpJeBwg0esugSbb+6Y+dzgN/O3YZXzzPL7dnQJGbQLs8cwM8Zsak5kFJGcA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", + "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^4.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/terser": { + "version": "5.16.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", + "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", + "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/terser/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha512-Knz9Yr0hlBoWQgUKzOIvRg5adinizAf49i2gHRhj6cLjlM304zRw7uyiY22ADniDxnPHXfIeyQD0EAkgpIz0ow==", + "deprecated": "ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-node": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", + "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "dev": true, + "dependencies": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" + }, + "bin": { + "ts-node": "dist/bin.js" + }, + "engines": { + "node": ">=4.2.0" + }, + "peerDependencies": { + "typescript": ">=2.0" + } + }, + "node_modules/ts-node/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-node/node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/ts-poet": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz", + "integrity": "sha512-AjZEs4h2w4sDfwpHMxQKHrTlNh2wRbM5NRXmLz0RiH+yPGtSQFbe9hBpNocU8vqVNgfh0BIOiXR80xDz3kKxUQ==", + "dev": true, + "dependencies": { + "dprint-node": "^1.0.7" + } + }, + "node_modules/ts-proto": { + "version": "1.142.1", + "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.142.1.tgz", + "integrity": "sha512-J0W3OWrX/+xNVu+AdukLOjYrFDsinngQ9uh+/jnYwObd6VwCjc6sbBz8VFVbQgTSDGv3ysEagCbimkCXcvYDWQ==", + "dev": true, + "dependencies": { + "@types/object-hash": "^1.3.0", + "case-anything": "^2.1.10", + "dataloader": "^1.4.0", + "object-hash": "^1.3.1", + "protobufjs": "^6.11.3", + "ts-poet": "^6.4.1", + "ts-proto-descriptors": "1.7.1" + }, + "bin": { + "protoc-gen-ts_proto": "protoc-gen-ts_proto" + } + }, + "node_modules/ts-proto-descriptors": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz", + "integrity": "sha512-oIKUh3K4Xts4v29USGLfUG+2mEk32MsqpgZAOUyUlkrcIdv34yE+k2oZ2Nzngm6cV/JgFdOxRCqeyvmWHuYAyw==", + "dev": true, + "dependencies": { + "long": "^4.0.0", + "protobufjs": "^6.8.8" + } + }, + "node_modules/ts-proto-descriptors/node_modules/long": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tslint": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", + "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^4.0.1", + "glob": "^7.1.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.3", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.13.0", + "tsutils": "^2.29.0" + }, + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/tslint/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", + "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tuf-js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.1.tgz", + "integrity": "sha512-WTp382/PR96k0dI4GD5RdiRhgOU0rAC7+lnoih/5pZg3cyb3aNMqDozleEEWwyfT3+FOg7Qz9JU3n6A44tLSHw==", + "dev": true, + "dependencies": { + "@tufjs/models": "1.0.0", + "make-fetch-happen": "^11.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.3.tgz", + "integrity": "sha512-oPLh5m10lRNNZDjJ2kP8UpboUx2uFXVaVweVe/lWut4iHWcQEmfqSVJt2ihZsFI8HbpwyyocaXbCAWf0g1ukIA==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^4.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.1.tgz", + "integrity": "sha512-t9/wowtf7DYkwz8cfMSt0rMwiyNIBXf5CKZ3S5ZMqRqMYT0oLTp0x1WorMI9WTwvaPg21r1JbFxJMum8JrLGfw==", + "dev": true, + "dependencies": { + "minipass": "^4.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.34.tgz", + "integrity": "sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow==", + "dev": true + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unorm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", + "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vm2": { + "version": "3.9.14", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz", + "integrity": "sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webpack": { + "version": "5.76.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz", + "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.2.tgz", + "integrity": "sha512-GBWYBoyalbo5YClwWop9qe6Zclp8CIXYGIz12OPclJhIrSplDxs1Ls1JDMH8xBPPrg1T6ISaTW9Y6zOrwEiAzw==", + "dev": true, + "dependencies": { + "webpack-sources": "^1.3.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 2.21.0 < 5", + "webpack": ">= 1.12.11 < 6" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/webpack-subresource-integrity/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-subresource-integrity/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "peer": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/windows-release": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", + "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", + "dependencies": { + "execa": "^4.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/windows-release/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/windows-release/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/with-open-file": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", + "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", + "dependencies": { + "p-finally": "^1.0.0", + "p-try": "^2.1.0", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dev": true, + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "dev": true, + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xlsx": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", + "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", + "dependencies": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "crc-32": "~1.2.0", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xml-escape": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz", + "integrity": "sha512-B/T4sDK8Z6aUh/qNr7mjKAwwncIljFuUP+DO/D5hloYFj+90O88z8Wf7oSucZTHxBAsC1/CTP4rtx/x1Uf72Mg==", + "dev": true + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xregexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz", + "integrity": "sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==", + "engines": { + "node": "*" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", + "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/zone.js": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", + "integrity": "sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json index 8f510b99d..d33ca45d7 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,12 @@ }, "private": true, "dependencies": { - "@angular/common": "^15.1.1", - "@angular/core": "^15.1.1", - "@angular/forms": "^15.1.1", - "@angular/platform-browser": "^15.1.1", - "@angular/platform-browser-dynamic": "^15.1.1", - "@angular/router": "^15.1.1", + "@angular/common": "^15.2.3", + "@angular/core": "^15.2.3", + "@angular/forms": "^15.2.3", + "@angular/platform-browser": "^15.2.3", + "@angular/platform-browser-dynamic": "^15.2.3", + "@angular/router": "^15.2.3", "@ionic-native/android-permissions": "^5.33.1", "@ionic-native/app-minimize": "^5.33.1", "@ionic-native/app-version": "^5.33.1", @@ -44,12 +44,12 @@ "@ionic-native/splash-screen": "^5.33.1", "@ionic-native/status-bar": "^5.33.1", "@ionic-native/three-dee-touch": "^5.33.1", - "@ionic/angular": "^6.5.0", - "@ionic/cli": "^6.18.1", + "@ionic/angular": "^6.6.2", + "@ionic/cli": "^6.20.9", "@ionic/storage": "^2.3.1", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", - "ag-virtual-scroll": "^1.5.2", + "ag-virtual-scroll": "^1.6.0", "chart.js": "^3.9.1", "chartjs-adapter-luxon": "^1.1.0", "chartjs-plugin-annotation": "^1.3.0", @@ -67,7 +67,7 @@ "cordova-plugin-globalization": "^1.11.0", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-statusbar": "^2.4.3", - "core-js": "^3.19.3", + "core-js": "^3.29.1", "currency-symbol-map": "^5.0.1", "html-to-image": "^1.10.8", "javascript-color-gradient": "^1.3.2", @@ -77,8 +77,8 @@ "luxon": "^2.3.0", "lz-string": "^1.4.4", "moment": "^2.29.1", - "ngx-gauge": "^6.0.0", - "ngx-stars": "^1.4.3", + "ngx-gauge": "^7.0.0", + "ngx-stars": "^1.6.4", "postcss": "^8.3.5", "rxjs": "^6.6.6", "tslib": "^2.0.0", @@ -86,21 +86,18 @@ "zone.js": "~0.11.4" }, "devDependencies": { - "@angular-devkit/architect": "^0.1501.2", - "@angular-devkit/build-angular": "^0.1002.1", - "@angular-devkit/core": "^15.1.2", - "@angular-devkit/schematics": "^15.1.2", - "@angular/cli": "^15.1.2", - "@angular/compiler": "^15.1.1", - "@angular/compiler-cli": "^15.1.1", - "@angular/language-service": "^15.1.1", + "@angular-devkit/architect": "^0.1502.4", + "@angular-devkit/core": "^15.2.4", + "@angular-devkit/schematics": "^15.2.4", + "@angular/cli": "^15.2.4", + "@angular/compiler": "^15.2.3", + "@angular/compiler-cli": "^15.2.3", + "@angular/language-service": "^15.2.3", "@ionic/angular-toolkit": "^8.0.0", - "@types/cordova-plugin-ble-central": "^1.3.1", "@types/jasmine": "~3.6.0", "@types/jasminewd2": "~2.0.8", "@types/lodash": "^4.14.178", "@types/node": "^12.20.5", - "@types/protobufjs": "^6.0.0", "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", "cordova-ios": "^6.2.0", "cordova-plugin-add-swift-support": "^2.0.2", @@ -131,13 +128,13 @@ "fttx-phonegap-plugin-barcodescanner": "github:fttx/phonegap-plugin-barcodescanner", "husky": "^8.0.1", "ionic-plugin-deeplinks": "^1.0.22", - "jasmine-core": "~3.6.0", + "jasmine-core": "~3.8.0", "jasmine-spec-reporter": "~5.0.0", "karma": "^6.3.9", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", + "karma-jasmine-html-reporter": "^1.7.0", "lint-staged": "^13.0.3", "prettier": "^2.7.1", "protractor": "^3.3.0", @@ -147,7 +144,7 @@ "ts-node": "~8.3.0", "ts-proto": "^1.122.0", "tslint": "~6.1.0", - "typescript": "~4.9.4", + "typescript": "^4.9.4", "webpack-subresource-integrity": "^1.5.2" }, "description": "Beanconqueror", From e07ffcfa5d3b67c69e44489b8d3639079dad4fb1 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 19 Mar 2023 19:46:18 +0100 Subject: [PATCH 054/129] fixing nodejs version --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 7fd023741..e048c8ca1 100755 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v16.15.0 +v18.15.0 From d8a0a0f221d2c337d252310b5816493c6a9466c4 Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 19 Mar 2023 20:05:25 +0100 Subject: [PATCH 055/129] Fixing things... https://ionic.io/blog/updates-to-ionic-angular-toolkit --- angular.json | 4 +- package-lock.json | 7904 ++++++++++++++++++++++++++++++++++++--------- package.json | 3 +- 3 files changed, 6427 insertions(+), 1484 deletions(-) diff --git a/angular.json b/angular.json index aea092e36..fd76efa5f 100644 --- a/angular.json +++ b/angular.json @@ -137,7 +137,7 @@ } }, "ionic-cordova-build": { - "builder": "@ionic/angular-toolkit:cordova-build", + "builder": "@ionic/cordova-builders:cordova-build", "options": { "browserTarget": "app:build" }, @@ -148,7 +148,7 @@ } }, "ionic-cordova-serve": { - "builder": "@ionic/angular-toolkit:cordova-serve", + "builder": "@ionic/cordova-builders:cordova-serve", "options": { "cordovaBuildTarget": "app:ionic-cordova-build", "devServerTarget": "app:serve" diff --git a/package-lock.json b/package-lock.json index 598898f2f..b1ac3a8d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "@ionic-native/three-dee-touch": "^5.33.1", "@ionic/angular": "^6.6.2", "@ionic/cli": "^6.20.9", + "@ionic/cordova-builders": "^8.0.0", "@ionic/storage": "^2.3.1", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", @@ -130,7 +131,7 @@ "karma-jasmine-html-reporter": "^1.7.0", "lint-staged": "^13.0.3", "prettier": "^2.7.1", - "protractor": "^3.3.0", + "protractor": "^7.0.0", "skwas-cordova-plugin-datetimepicker": "^2.1.2", "stylelint": "^13.12.0", "stylelint-config-standard": "^20.0.0", @@ -145,7 +146,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -158,7 +158,6 @@ "version": "0.1502.4", "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1502.4.tgz", "integrity": "sha512-bDBcaRMBfXFfK9MpvfNO926F1rL0PEw+mveXxq3/SSql+1XP/hrc5TVGwnoim4g6DqsGmu9upS5DyJ6PnL/hHA==", - "dev": true, "dependencies": { "@angular-devkit/core": "15.2.4", "rxjs": "6.6.7" @@ -169,11 +168,374 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-devkit/build-angular": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-15.2.4.tgz", + "integrity": "sha512-wt0S4oz0vxuW0/Ak5X0vQ7s7TSPynmktVNJblu9SFRgwCD3kplV2B693F+M6t8eLzSy0UCSbZp9h3Ae8gLEiEw==", + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1502.4", + "@angular-devkit/build-webpack": "0.1502.4", + "@angular-devkit/core": "15.2.4", + "@babel/core": "7.20.12", + "@babel/generator": "7.20.14", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.19.6", + "@babel/preset-env": "7.20.2", + "@babel/runtime": "7.20.13", + "@babel/template": "7.20.7", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "15.2.4", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.13", + "babel-loader": "9.1.2", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "4.21.5", + "cacache": "17.0.4", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.3", + "esbuild-wasm": "0.17.8", + "glob": "8.1.0", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.29.0", + "mini-css-extract-plugin": "2.7.2", + "open": "8.4.1", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "piscina": "3.2.0", + "postcss": "8.4.21", + "postcss-loader": "7.0.2", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.58.1", + "sass-loader": "13.2.0", + "semver": "7.3.8", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.16.3", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.5.0", + "webpack": "5.76.1", + "webpack-dev-middleware": "6.0.1", + "webpack-dev-server": "4.11.1", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.17.8" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "@angular/localize": "^15.0.0", + "@angular/platform-server": "^15.0.0", + "@angular/service-worker": "^15.0.0", + "karma": "^6.3.0", + "ng-packagr": "^15.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.8.2 <5.0" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@babel/generator": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/globby": { + "version": "13.1.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", + "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/@angular-devkit/build-angular/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack": { + "version": "5.76.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.1.tgz", + "integrity": "sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.10.0", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1502.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1502.4.tgz", + "integrity": "sha512-Bs/pxcY3517QAVyAalDxJgjc93KWQos+dFdgEQrKxj/VTs1BTYnLbb2M8Y7MoxVnfH4S+qqxGe5B57T+TlB3Eg==", + "dependencies": { + "@angular-devkit/architect": "0.1502.4", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, "node_modules/@angular-devkit/core": { "version": "15.2.4", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.2.4.tgz", "integrity": "sha512-yl+0j1bMwJLKShsyCXw77tbJG8Sd21+itisPLL2MgEpLNAO252kr9zG4TLlFRJyKVftm2l1h78KjqvM5nbOXNg==", - "dev": true, "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -199,7 +561,6 @@ "version": "15.2.4", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.2.4.tgz", "integrity": "sha512-/W7/vvn59PAVLzhcvD4/N/E8RDhub8ny1A7I96LTRjC5o+yvVV16YJ4YJzolrRrIEN01KmLVQJ9A58VCaweMgw==", - "dev": true, "dependencies": { "@angular-devkit/core": "15.2.4", "jsonc-parser": "3.2.0", @@ -300,7 +661,6 @@ "version": "15.2.3", "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-15.2.3.tgz", "integrity": "sha512-n52yntOPnVeQdNq612YyQ1KW27+BZq1YIxtkST6Xmrv6rFuduLVtBLMl+CpZ3vONBzMI1fY6svck6fPb0x4kbQ==", - "dev": true, "dependencies": { "@babel/core": "7.19.3", "@jridgewell/sourcemap-codec": "^1.4.14", @@ -330,7 +690,6 @@ "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -434,11 +793,15 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==" + }, "node_modules/@babel/code-frame": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -450,7 +813,6 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -459,7 +821,6 @@ "version": "7.19.3", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", @@ -489,7 +850,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -498,7 +858,6 @@ "version": "7.21.3", "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", - "dev": true, "dependencies": { "@babel/types": "^7.21.3", "@jridgewell/gen-mapping": "^0.3.2", @@ -513,7 +872,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -523,15 +881,37 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" }, @@ -546,7 +926,66 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz", + "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz", + "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "bin": { "semver": "bin/semver.js" } @@ -555,7 +994,17 @@ "version": "7.18.9", "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dependencies": { + "@babel/types": "^7.18.6" + }, "engines": { "node": ">=6.9.0" } @@ -564,7 +1013,6 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dev": true, "dependencies": { "@babel/template": "^7.20.7", "@babel/types": "^7.21.0" @@ -577,7 +1025,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -585,11 +1032,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz", + "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==", + "dependencies": { + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -601,7 +1058,6 @@ "version": "7.21.2", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", @@ -616,11 +1072,62 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-simple-access": { "version": "7.20.2", "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, "dependencies": { "@babel/types": "^7.20.2" }, @@ -628,11 +1135,21 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, "dependencies": { "@babel/types": "^7.18.6" }, @@ -644,7 +1161,6 @@ "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -653,7 +1169,6 @@ "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -662,7 +1177,20 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", - "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, "engines": { "node": ">=6.9.0" } @@ -671,7 +1199,6 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "dev": true, "dependencies": { "@babel/template": "^7.20.7", "@babel/traverse": "^7.21.0", @@ -685,7 +1212,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -699,7 +1225,6 @@ "version": "7.21.3", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", - "dev": true, "bin": { "parser": "bin/babel-parser.js" }, @@ -707,135 +1232,1540 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "dev": true, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" } }, - "node_modules/@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", - "dev": true, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, "engines": { - "node": ">=0.1.90" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "node_modules/@ionic-native/android-permissions": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.36.0.tgz", - "integrity": "sha512-kwjDKOhQs9KPo47LxQbkmLJ30coZzeJewA2u7I8DFae2kyD3usvGAgjWoY+x4xPsaA1NZ3IZNklaQOH/csIW7w==", + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" + "@babel/core": "^7.12.0" } }, - "node_modules/@ionic-native/app-minimize": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/app-minimize/-/app-minimize-5.36.0.tgz", - "integrity": "sha512-IogdrZpsRkpveAUb3iJZiN2OwcKu/hMuI61Z6Q+FMvY9jsM7qFYWAfub00xGOb2j8f9RVU2v2J8xSdzrGQ9NTQ==", + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic-native/app-version": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-5.36.0.tgz", - "integrity": "sha512-eKgLcqBHO0IDs1oRP+kQ47sztIpq8cwnyp51EGpP5xD6unGUyx/GferOz7D6KkkZGR9QbJ6ZmsKt0ImrxT5JgQ==", + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic-native/camera": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.36.0.tgz", - "integrity": "sha512-68hdPn0hA7yn4YNTgmLF32x/l7arFulboGhNiyFQ35/QxqrOmppf77p4xaPOyJtNyICKHLaiStC6w1eEAtl9MA==", + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "@ionic-native/core": "^5.1.0", - "rxjs": "^5.5.0 || ^6.5.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic-native/core": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.36.0.tgz", - "integrity": "sha512-lOrkktadlKYbYf1LrDyAtsu1JnQ0oCCdkOU7iHQ8oXnNOkMwobFfD2m62F1CoOr0u9LIkpYnZSPjng8lZbmbNw==", + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { - "rxjs": "^5.5.0 || ^6.5.0" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@ionic-native/deeplinks": { - "version": "5.36.0", - "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-5.36.0.tgz", - "integrity": "sha512-JWW+ozeUTxTzSmQ/dA0FNvl26wpXIaPMat5p7kSydQeVR1Xgpt3vCNmYnzs81B5dbN9RkH+TuWuYQ7HVoJhsQw==", + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dependencies": { - "@types/cordova": "latest" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz", + "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz", + "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.6.tgz", + "integrity": "sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==", + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", + "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", + "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.3", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.3", + "@babel/types": "^7.21.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", + "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "devOptional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.8.tgz", + "integrity": "sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.8.tgz", + "integrity": "sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.8.tgz", + "integrity": "sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.8.tgz", + "integrity": "sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.8.tgz", + "integrity": "sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.8.tgz", + "integrity": "sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.8.tgz", + "integrity": "sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.8.tgz", + "integrity": "sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.8.tgz", + "integrity": "sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.8.tgz", + "integrity": "sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.8.tgz", + "integrity": "sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.8.tgz", + "integrity": "sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.8.tgz", + "integrity": "sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.8.tgz", + "integrity": "sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.8.tgz", + "integrity": "sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.8.tgz", + "integrity": "sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.8.tgz", + "integrity": "sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.8.tgz", + "integrity": "sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.8.tgz", + "integrity": "sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.8.tgz", + "integrity": "sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.8.tgz", + "integrity": "sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.8.tgz", + "integrity": "sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@ionic-native/android-permissions": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/android-permissions/-/android-permissions-5.36.0.tgz", + "integrity": "sha512-kwjDKOhQs9KPo47LxQbkmLJ30coZzeJewA2u7I8DFae2kyD3usvGAgjWoY+x4xPsaA1NZ3IZNklaQOH/csIW7w==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/app-minimize": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/app-minimize/-/app-minimize-5.36.0.tgz", + "integrity": "sha512-IogdrZpsRkpveAUb3iJZiN2OwcKu/hMuI61Z6Q+FMvY9jsM7qFYWAfub00xGOb2j8f9RVU2v2J8xSdzrGQ9NTQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/app-version": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-5.36.0.tgz", + "integrity": "sha512-eKgLcqBHO0IDs1oRP+kQ47sztIpq8cwnyp51EGpP5xD6unGUyx/GferOz7D6KkkZGR9QbJ6ZmsKt0ImrxT5JgQ==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/camera": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/camera/-/camera-5.36.0.tgz", + "integrity": "sha512-68hdPn0hA7yn4YNTgmLF32x/l7arFulboGhNiyFQ35/QxqrOmppf77p4xaPOyJtNyICKHLaiStC6w1eEAtl9MA==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "@ionic-native/core": "^5.1.0", + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/core": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.36.0.tgz", + "integrity": "sha512-lOrkktadlKYbYf1LrDyAtsu1JnQ0oCCdkOU7iHQ8oXnNOkMwobFfD2m62F1CoOr0u9LIkpYnZSPjng8lZbmbNw==", + "dependencies": { + "@types/cordova": "latest" + }, + "peerDependencies": { + "rxjs": "^5.5.0 || ^6.5.0" + } + }, + "node_modules/@ionic-native/deeplinks": { + "version": "5.36.0", + "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-5.36.0.tgz", + "integrity": "sha512-JWW+ozeUTxTzSmQ/dA0FNvl26wpXIaPMat5p7kSydQeVR1Xgpt3vCNmYnzs81B5dbN9RkH+TuWuYQ7HVoJhsQw==", + "dependencies": { + "@types/cordova": "latest" }, "peerDependencies": { "@ionic-native/core": "^5.1.0", @@ -1396,6 +3326,76 @@ "node": ">=8" } }, + "node_modules/@ionic/cordova-builders": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@ionic/cordova-builders/-/cordova-builders-8.0.0.tgz", + "integrity": "sha512-rNQQCVsy/crc83DW+fBK+XpSdGbIByZ1evDKO1hEysjL4Y+J0Ve7Phts0UNveh0GokXAFN4gzxUZRymoa8WL2Q==", + "dependencies": { + "@angular-devkit/architect": "^0.1500.0", + "@angular-devkit/build-angular": "^15.0.0", + "@angular-devkit/core": "^15.0.3", + "@angular-devkit/schematics": "^15.0.0", + "@schematics/angular": "^15.0.0", + "cheerio": "^1.0.0-rc.10", + "colorette": "^2.0.16", + "copy-webpack-plugin": "^9.0.1", + "ws": "^8.2.3" + } + }, + "node_modules/@ionic/cordova-builders/node_modules/@angular-devkit/architect": { + "version": "0.1500.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1500.5.tgz", + "integrity": "sha512-n1L3Q2d7HoWFRRqihu3BAUB5xZFfz8LqQoHpVNl6HN1ugtmvqDUDoKrpYVH9LCKCqfJW2Cxssy+FERiDsihIJQ==", + "dependencies": { + "@angular-devkit/core": "15.0.5", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@ionic/cordova-builders/node_modules/@angular-devkit/core": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.0.5.tgz", + "integrity": "sha512-SxLvbpqcQfb1qRykZjqRUG/8uC1FYpneyNV9S9YglXg4JhCFhfc9AnKxuu9Bm/O8V7FghOIlGWGglCdPHra0pw==", + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@ionic/cordova-builders/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, "node_modules/@ionic/core": { "version": "6.6.2", "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.6.2.tgz", @@ -1540,11 +3540,33 @@ "node": ">=10.3.0" } }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1557,7 +3579,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1566,7 +3587,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -1575,8 +3595,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "dev": true, - "peer": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1586,8 +3604,6 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1600,19 +3616,22 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.17", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, "node_modules/@netflix/nerror": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", @@ -1623,6 +3642,21 @@ "lodash": "^4.17.15" } }, + "node_modules/@ngtools/webpack": { + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-15.2.4.tgz", + "integrity": "sha512-cQ7MsRoGJgPOVnpvFgWhygeSe6zJ0ITiUhjmmuOgpNDfYkrgYxN3Ot/qvQefFei+oGZ1JJ9bRb8lcPKL/apoBQ==", + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^15.0.0", + "typescript": ">=4.8.2 <5.0", + "webpack": "^5.54.0" + } + }, "node_modules/@ngx-translate/core": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz", @@ -1694,7 +3728,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, "dependencies": { "semver": "^7.3.5" }, @@ -1935,7 +3968,6 @@ "version": "15.2.4", "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.2.4.tgz", "integrity": "sha512-P9axwKDXEDrGXYcoCuhwv4guhvtIjDCvyZMsQw8IMpfAacTYajka+T3mZrzyTe96Uhu0JwcAW5iUlOZAJhPEdQ==", - "dev": true, "dependencies": { "@angular-devkit/core": "15.2.4", "@angular-devkit/schematics": "15.2.4", @@ -1960,7 +3992,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true + "devOptional": true }, "node_modules/@stencil/core": { "version": "2.22.3", @@ -2024,15 +4056,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@tufjs/models/node_modules/minimatch": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", @@ -2048,11 +4071,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, "node_modules/@types/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true + "devOptional": true }, "node_modules/@types/cordova": { "version": "11.0.0", @@ -2063,7 +4120,7 @@ "version": "2.8.13", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", - "dev": true, + "devOptional": true, "dependencies": { "@types/node": "*" } @@ -2072,8 +4129,6 @@ "version": "8.21.2", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.2.tgz", "integrity": "sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw==", - "dev": true, - "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2083,8 +4138,6 @@ "version": "3.7.4", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "peer": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2093,9 +4146,28 @@ "node_modules/@types/estree": { "version": "0.0.51", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "dev": true, - "peer": true + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" + }, + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.33", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", + "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } }, "node_modules/@types/fs-extra": { "version": "8.1.2", @@ -2105,6 +4177,14 @@ "@types/node": "*" } }, + "node_modules/@types/http-proxy": { + "version": "1.17.10", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz", + "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/jasmine": { "version": "3.6.11", "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.11.tgz", @@ -2123,9 +4203,7 @@ "node_modules/@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true, - "peer": true + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "node_modules/@types/lodash": { "version": "4.14.191", @@ -2148,6 +4226,11 @@ "@types/unist": "*" } }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + }, "node_modules/@types/minimist": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", @@ -2174,26 +4257,83 @@ "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==", + "devOptional": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/selenium-webdriver": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.20.tgz", + "integrity": "sha512-6d8Q5fqS9DWOXEhMDiF6/2FjyHdmP/jSTAUyeQR7QwrFeNmYyzmvGxD5aLIHL445HjWgibs0eAig+KPnbaesXA==", + "devOptional": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } }, "node_modules/@types/slice-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==" }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", "dev": true }, + "node_modules/@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -2202,30 +4342,22 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true, - "peer": true + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true, - "peer": true + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true, - "peer": true + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -2235,16 +4367,12 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true, - "peer": true + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -2256,8 +4384,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "peer": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -2266,8 +4392,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "peer": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -2275,16 +4399,12 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true, - "peer": true + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -2300,8 +4420,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -2314,8 +4432,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -2327,8 +4443,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -2342,8 +4456,6 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "peer": true, "dependencies": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -2358,16 +4470,12 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "peer": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -2375,6 +4483,11 @@ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -2384,7 +4497,6 @@ "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -2408,8 +4520,6 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peer": true, "peerDependencies": { "acorn": "^8" } @@ -2422,6 +4532,31 @@ "node": ">=0.4.0" } }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/adler-32": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz", @@ -2438,12 +4573,12 @@ } }, "node_modules/adm-zip": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", - "integrity": "sha512-QHVQ6ekddFaGr9r2hBUC4gPw2wLqMZioXojt9BydQPbSh8us7+Q5xcUCUq+hnh4zAdauV3wqoY0quApjKqrhbA==", - "dev": true, + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", + "devOptional": true, "engines": { - "node": ">=0.3.0" + "node": ">=6.0" } }, "node_modules/ag-virtual-scroll": { @@ -2489,7 +4624,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -2502,7 +4636,6 @@ "version": "8.12.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2518,7 +4651,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, "dependencies": { "ajv": "^8.0.0" }, @@ -2531,6 +4663,17 @@ } } }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, "node_modules/android-versions": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.8.1.tgz", @@ -2556,7 +4699,6 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, "engines": { "node": ">=6" } @@ -2575,6 +4717,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -2587,7 +4740,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -2599,7 +4751,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2637,25 +4788,37 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -2664,7 +4827,7 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, + "devOptional": true, "dependencies": { "safer-buffer": "~2.1.0" } @@ -2696,15 +4859,6 @@ "node": ">=8" } }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -2719,66 +4873,125 @@ } }, "node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, + "version": "10.4.13", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz", + "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", + "browserslist": "^4.21.4", + "caniuse-lite": "^1.0.30001426", + "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" }, "bin": { "autoprefixer": "bin/autoprefixer" }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/autoprefixer/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "devOptional": true, + "engines": { + "node": "*" + } }, - "node_modules/autoprefixer/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "devOptional": true + }, + "node_modules/babel-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 14.15.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, - "node_modules/autoprefixer/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/aws-sign2": { + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha512-JnJpAS0p9RmixkOvW2XwDxxzs1bd4/VAGIl6Q0EC5YOo+p+hqIhtDhn/nmFnB/xUNXbLkpE2mOjgVIBRKD4xYw==", - "dev": true, - "engines": { - "node": "*" + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, "node_modules/bail": { @@ -2819,16 +5032,21 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, + "devOptional": true, "engines": { "node": "^4.5.0 || >= 5.9" } }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, + "devOptional": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -2841,11 +5059,18 @@ "node": ">=0.6" } }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, "engines": { "node": ">=8" } @@ -2854,13 +5079,27 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "devOptional": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" + } + }, "node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", @@ -2871,7 +5110,7 @@ "version": "1.20.2", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, + "devOptional": true, "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -2895,7 +5134,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "devOptional": true, "dependencies": { "ms": "2.0.0" } @@ -2904,21 +5143,24 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "devOptional": true }, - "node_modules/boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha512-KbiZEa9/vofNcVJXGwdWWn25reQ3V3dHBWbS07FTF3/TOehLnm9GEhJV4T6ZvGPkShRpmUqYwnaCrkj0mRnP6Q==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "dev": true, + "node_modules/bonjour-service": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.0.tgz", + "integrity": "sha512-LVRinRB3k1/K0XzZ2p58COnWvkQknIY6sf0zF2rpErvcJXpMBttEPQSxK+HEXSS9VmpZlDoDnQWv8ftJT20B0Q==", "dependencies": { - "hoek": "2.x.x" - }, - "engines": { - "node": ">=0.10.40" + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, "node_modules/bplist-creator": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", @@ -2939,12 +5181,11 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { @@ -2968,7 +5209,6 @@ "version": "4.21.5", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", - "dev": true, "funding": [ { "type": "opencollective", @@ -2992,11 +5232,53 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.1.tgz", + "integrity": "sha512-GxtFjpIaKdbAyzHfFDKixKO8IBT7wR3NjbzrGc78nNs/Ciys9wU3/nBtsqsWv5nDSrdI5tz0peKuzCPuNXNUiw==", + "devOptional": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + } + }, + "node_modules/browserstack/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "devOptional": true, + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/browserstack/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "devOptional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/browserstack/node_modules/https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "devOptional": true, + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, "funding": [ { "type": "github", @@ -3019,8 +5301,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtin-modules": { "version": "1.1.1", @@ -3052,7 +5333,6 @@ "version": "17.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.4.tgz", "integrity": "sha512-Z/nL3gU+zTUjz5pCA5vVjYM8pmaw2kxM7JEiE0fv3w77Wj+sFbi70CrBruUWH0uNcEdvLDixFpgA2JM4F4DBjA==", - "dev": true, "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", @@ -3069,58 +5349,17 @@ "unique-filename": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/cacache/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, "engines": { "node": ">=12" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -3137,7 +5376,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -3146,7 +5384,6 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, "engines": { "node": ">=6" } @@ -3172,7 +5409,6 @@ "version": "1.0.30001468", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz", "integrity": "sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -3197,10 +5433,10 @@ } }, "node_modules/caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha512-ODLXH644w9C2fMPAm7bMDQ3GRvipZWZfKc+8As6hIadRIelE0n0xZuN38NS6kiK3KPEVrpymmQD8bvncAHWQkQ==", - "dev": true + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "devOptional": true }, "node_modules/cfb": { "version": "1.2.2", @@ -3226,7 +5462,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3312,11 +5547,46 @@ "chart.js": "^3.2.0" } }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, "funding": [ { "type": "individual", @@ -3351,8 +5621,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true, "engines": { "node": ">=6.0" } @@ -3361,7 +5629,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, "engines": { "node": ">=6" } @@ -3381,7 +5648,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "dev": true, "engines": { "node": ">=6" }, @@ -3507,7 +5773,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -3521,11 +5786,23 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, "engines": { "node": ">=0.8" } }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/clone-regexp": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", @@ -3550,7 +5827,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -3558,8 +5834,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/color-support": { "version": "1.1.3", @@ -3573,8 +5848,7 @@ "node_modules/colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "dev": true + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" }, "node_modules/colors": { "version": "1.4.0", @@ -3605,11 +5879,70 @@ "node": ">=14" } }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3619,7 +5952,7 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, + "devOptional": true, "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", @@ -3630,11 +5963,19 @@ "node": ">= 0.10.0" } }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/connect/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "devOptional": true, "dependencies": { "ms": "2.0.0" } @@ -3643,7 +5984,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "devOptional": true }, "node_modules/console-control-strings": { "version": "1.1.0", @@ -3651,11 +5992,21 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/content-type": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -3663,23 +6014,117 @@ "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 0.6" } }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, "node_modules/cookiejar": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/cordova-android": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-10.1.2.tgz", @@ -3755,6 +6200,45 @@ "node": ">=10.0.0" } }, + "node_modules/cordova-common/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cordova-common/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cordova-common/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/cordova-ios": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz", @@ -3787,15 +6271,57 @@ } ] }, - "node_modules/cordova-plugin-add-swift-support": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", - "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", + "node_modules/cordova-plugin-add-swift-support": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-2.0.2.tgz", + "integrity": "sha512-K03WDnsD3GT+n7Od3BnS17D8rYnAFZbZjjQJa2r7qW8QLq8+h7hGbFaiF+w5+nUtyAqUNq+HT/d/MdqBGLNzxA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3", + "semver": "^6.0.0", + "xcode": "^2.0.0" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cordova-plugin-add-swift-support/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "glob": "^7.1.3", - "semver": "^6.0.0", - "xcode": "^2.0.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, "node_modules/cordova-plugin-add-swift-support/node_modules/semver": { @@ -3807,16 +6333,6 @@ "semver": "bin/semver.js" } }, - "node_modules/cordova-plugin-add-swift-support/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/cordova-plugin-add-swift-support/node_modules/xcode": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", @@ -4010,15 +6526,6 @@ "xcode": "^2.0.0" } }, - "node_modules/cordova-plugin-filepicker/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/cordova-plugin-filepicker/node_modules/xcode": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.1.0.tgz", @@ -4244,6 +6751,18 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-js-compat": { + "version": "3.29.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz", + "integrity": "sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==", + "dependencies": { + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -4253,7 +6772,7 @@ "version": "2.8.5", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, + "devOptional": true, "dependencies": { "object-assign": "^4", "vary": "^1" @@ -4266,7 +6785,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -4282,7 +6800,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } @@ -4298,6 +6815,159 @@ "node": ">=0.8" } }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/critters/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/critters/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/critters/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/critters/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/critters/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/critters/node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -4311,24 +6981,61 @@ "node": ">= 8" } }, - "node_modules/cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha512-FFN5KwpvvQTTS5hWPxrU8/QE4kQUc6uwZcrnlMBN82t1MgAtq8mnoDwINBly9Tdr02seeIIhtdF+UH1feBYGog==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "dev": true, + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dependencies": { - "boom": "2.x.x" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { - "node": ">=0.10.40" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { "cssesc": "bin/cssesc" }, @@ -4345,13 +7052,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true + "devOptional": true }, "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, + "devOptional": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -4377,7 +7084,7 @@ "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=4.0" } @@ -4402,7 +7109,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -4442,11 +7149,21 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, "dependencies": { "clone": "^1.0.2" }, @@ -4458,23 +7175,132 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, "engines": { "node": ">=8" } }, - "node_modules/degenerator": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", - "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "node_modules/degenerator": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz", + "integrity": "sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==", + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.8" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", + "devOptional": true, + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "devOptional": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/del/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", + "devOptional": true, + "dependencies": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/del/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "devOptional": true, "dependencies": { - "ast-types": "^0.13.2", - "escodegen": "^1.8.1", - "esprima": "^4.0.0", - "vm2": "^3.9.8" + "glob": "^7.1.3" }, - "engines": { - "node": ">= 6" + "bin": { + "rimraf": "bin.js" } }, "node_modules/delayed-stream": { @@ -4503,7 +7329,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", - "dev": true, "engines": { "node": ">= 0.6.0" } @@ -4512,7 +7337,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -4530,11 +7354,16 @@ "node": ">=0.10" } }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true + "devOptional": true }, "node_modules/diff": { "version": "4.0.2", @@ -4548,7 +7377,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, "dependencies": { "path-type": "^4.0.0" }, @@ -4556,11 +7384,27 @@ "node": ">=8" } }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, + "devOptional": true, "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", @@ -4569,20 +7413,22 @@ } }, "node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/dom-serializer/node_modules/domelementtype": { + "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, "funding": [ { "type": "github", @@ -4590,38 +7436,31 @@ } ] }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dependencies": { - "domelementtype": "1" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, "node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/dprint-node": { @@ -4678,7 +7517,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, + "devOptional": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -4687,14 +7526,12 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/electron-to-chromium": { "version": "1.4.333", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz", - "integrity": "sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ==", - "dev": true + "integrity": "sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ==" }, "node_modules/elementtree": { "version": "0.1.7", @@ -4727,11 +7564,18 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -4781,7 +7625,7 @@ "version": "6.4.1", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.1.tgz", "integrity": "sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==", - "dev": true, + "devOptional": true, "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", @@ -4802,7 +7646,7 @@ "version": "5.0.6", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10.0.0" } @@ -4811,7 +7655,7 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10.0.0" }, @@ -4832,8 +7676,6 @@ "version": "5.12.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", - "dev": true, - "peer": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -4846,13 +7688,18 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "dev": true + "devOptional": true }, "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/env-paths": { "version": "2.2.1", @@ -4869,11 +7716,22 @@ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -4881,9 +7739,13 @@ "node_modules/es-module-lexer": { "version": "0.9.3", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true, - "peer": true + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "devOptional": true }, "node_modules/es6-promise-plugin": { "version": "4.2.2", @@ -4891,11 +7753,67 @@ "integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA==", "dev": true }, + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==", + "devOptional": true, + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/esbuild": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.8.tgz", + "integrity": "sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==", + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.8", + "@esbuild/android-arm64": "0.17.8", + "@esbuild/android-x64": "0.17.8", + "@esbuild/darwin-arm64": "0.17.8", + "@esbuild/darwin-x64": "0.17.8", + "@esbuild/freebsd-arm64": "0.17.8", + "@esbuild/freebsd-x64": "0.17.8", + "@esbuild/linux-arm": "0.17.8", + "@esbuild/linux-arm64": "0.17.8", + "@esbuild/linux-ia32": "0.17.8", + "@esbuild/linux-loong64": "0.17.8", + "@esbuild/linux-mips64el": "0.17.8", + "@esbuild/linux-ppc64": "0.17.8", + "@esbuild/linux-riscv64": "0.17.8", + "@esbuild/linux-s390x": "0.17.8", + "@esbuild/linux-x64": "0.17.8", + "@esbuild/netbsd-x64": "0.17.8", + "@esbuild/openbsd-x64": "0.17.8", + "@esbuild/sunos-x64": "0.17.8", + "@esbuild/win32-arm64": "0.17.8", + "@esbuild/win32-ia32": "0.17.8", + "@esbuild/win32-x64": "0.17.8" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.17.8", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.8.tgz", + "integrity": "sha512-zCmpxv95E0FuCmvdw1K836UHnj4EdiQnFfjTby35y3LAjRPtXMj3sbHDRHjbD8Mqg5lTwq3knacr/1qIFU51CQ==", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -4903,8 +7821,7 @@ "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { "version": "1.0.5", @@ -4948,8 +7865,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "peer": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -4974,8 +7889,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "peer": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -4987,8 +7900,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true, "engines": { "node": ">=4.0" } @@ -5009,18 +7920,28 @@ "node": ">=0.10.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==" + }, "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, "engines": { "node": ">=0.8.x" } @@ -5063,7 +7984,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 0.8.0" } @@ -5076,11 +7997,140 @@ "node": ">=0.8" } }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "devOptional": true }, "node_modules/external-editor": { "version": "3.1.0", @@ -5106,8 +8156,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.2.12", @@ -5132,9 +8181,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "peer": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -5163,6 +8210,17 @@ "reusify": "^1.0.4" } }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", @@ -5212,7 +8270,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, + "devOptional": true, "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -5230,7 +8288,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "devOptional": true, "dependencies": { "ms": "2.0.0" } @@ -5239,13 +8297,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true + "devOptional": true }, "node_modules/finalhandler/node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, + "devOptional": true, "dependencies": { "ee-first": "1.1.1" }, @@ -5253,11 +8311,26 @@ "node": ">= 0.8" } }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -5283,13 +8356,12 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "devOptional": true }, "node_modules/follow-redirects": { "version": "1.15.2", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "dev": true, "funding": [ { "type": "individual", @@ -5309,23 +8381,22 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, + "devOptional": true, "engines": { "node": "*" } }, "node_modules/form-data": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", - "integrity": "sha512-M4Yhq2mLogpCtpUmfopFlTTuIe6mSCTgKvnlMhDj3NcgVhA1uS20jT0n+xunKPzpmL5w2erSVtp+SKiJf1TlWg==", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dependencies": { - "async": "^2.0.1", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.11" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 0.10" + "node": ">= 6" } }, "node_modules/formidable": { @@ -5337,6 +8408,14 @@ "url": "https://ko-fi.com/tunnckoCore/commissions" } }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/frac": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz", @@ -5345,6 +8424,26 @@ "node": ">=0.8" } }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -5363,7 +8462,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.1.tgz", "integrity": "sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==", - "dev": true, "dependencies": { "minipass": "^4.0.0" }, @@ -5371,6 +8469,11 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5380,7 +8483,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -5488,29 +8590,10 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/generate-function": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", - "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", - "dev": true, - "dependencies": { - "is-property": "^1.0.2" - } - }, - "node_modules/generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==", - "dev": true, - "dependencies": { - "is-property": "^1.0.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -5519,7 +8602,6 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -5537,6 +8619,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stdin": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", @@ -5617,25 +8707,24 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, + "devOptional": true, "dependencies": { "assert-plus": "^1.0.0" } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -5655,9 +8744,7 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "peer": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/global-modules": { "version": "2.0.0", @@ -5707,7 +8794,6 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, "engines": { "node": ">=4" } @@ -5716,7 +8802,6 @@ "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -5766,85 +8851,55 @@ "node": ">=0.8.0" } }, - "node_modules/har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha512-P6tFV+wCcUL3nbyTDAvveDySfbhy0XkDtAIfZP6HITjM2WUsiPna/Eg1Yy93SFXvahqoX+kt0n+6xlXKDXYowA==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" - }, - "bin": { - "har-validator": "bin/har-validator" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/har-validator/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, - "node_modules/har-validator/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "devOptional": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/har-validator/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "devOptional": true, "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/har-validator/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/har-validator/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "devOptional": true, "dependencies": { - "ansi-regex": "^2.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/har-validator/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "devOptional": true }, "node_modules/hard-rejection": { "version": "2.1.0", @@ -5870,7 +8925,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -5882,7 +8937,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -5891,7 +8946,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -5923,22 +8977,21 @@ "minimalistic-assert": "^1.0.1" } }, - "node_modules/hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha512-X8xbmTc1cbPXcQV4WkLcRMALuyoxhfpFATmyuCxJPOAvrDS4DNnsTAOmKUxMTOWU6TzrTOkxPKwIx5ZOpJVSrg==", - "deprecated": "This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "dev": true, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dependencies": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - }, - "engines": { - "node": ">=0.10.32" + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==" + }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -5950,16 +9003,6 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha512-V6Yw1rIcYV/4JsnggjBU0l4Kr+EXhpwqXRusENU1Xx6ro00IHPHYNynCuBTOZAPlr3AAmLvchH9I7N/VUdvOwQ==", - "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", - "dev": true, - "engines": { - "node": ">=0.10.40" - } - }, "node_modules/hosted-git-info": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", @@ -5981,6 +9024,49 @@ "node": ">=12" } }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -6005,17 +9091,21 @@ "integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==" }, "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", + "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "entities": "^4.3.0" } }, "node_modules/http-cache-semantics": { @@ -6024,6 +9114,11 @@ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -6047,11 +9142,15 @@ "node": ">= 0.8" } }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -6075,13 +9174,47 @@ "node": ">= 6" } }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha512-iUn0NcRULlDGtqNLN1Jxmzayk8ogm7NToldASyZBpM2qggbphjXzNOiw3piN8tgz+e/DRs6X5gAzFwTI6BCRcg==", - "dev": true, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "devOptional": true, "dependencies": { - "assert-plus": "^0.2.0", + "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" }, @@ -6090,15 +9223,6 @@ "npm": ">=1.3.7" } }, - "node_modules/http-signature/node_modules/assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha512-u1L0ZLywRziOVjUhRxI0Qg9G+4RnFB9H/Rq40YWn0dieDgO7vAYeJz6jKAO6t/aruzlDFLAPkQTT87e+f8Imaw==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, "node_modules/https-proxy-agent": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", @@ -6154,11 +9278,21 @@ "node": ">=0.10.0" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, "funding": [ { "type": "github", @@ -6178,30 +9312,20 @@ "version": "5.2.4", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, "engines": { "node": ">= 4" } }, "node_modules/ignore-walk": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.1.tgz", - "integrity": "sha512-/c8MxUAqpRccq+LyDOecwF+9KqajueJHh8fz7g3YqjMZt+NSfJzx05zrKiXwa2sKwFCzaiZ5qUVfRj0pmxixEA==", - "dev": true, - "dependencies": { - "minimatch": "^6.1.6" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.1.tgz", + "integrity": "sha512-/c8MxUAqpRccq+LyDOecwF+9KqajueJHh8fz7g3YqjMZt+NSfJzx05zrKiXwa2sKwFCzaiZ5qUVfRj0pmxixEA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "minimatch": "^6.1.6" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/ignore-walk/node_modules/minimatch": { @@ -6219,16 +9343,32 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6244,7 +9384,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -6270,7 +9409,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, "engines": { "node": ">=8" } @@ -6308,7 +9446,6 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", - "dev": true, "dependencies": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -6334,7 +9471,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -6349,7 +9485,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -6365,7 +9500,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -6376,14 +9510,12 @@ "node_modules/inquirer/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/inquirer/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -6392,7 +9524,6 @@ "version": "7.8.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, "dependencies": { "tslib": "^2.1.0" } @@ -6401,7 +9532,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -6482,6 +9612,14 @@ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "engines": { + "node": ">= 10" + } + }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -6509,14 +9647,12 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6551,7 +9687,6 @@ "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -6624,7 +9759,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, "engines": { "node": ">=8" } @@ -6635,25 +9769,6 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "node_modules/is-my-ip-valid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz", - "integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==", - "dev": true - }, - "node_modules/is-my-json-valid": { - "version": "2.20.6", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz", - "integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==", - "dev": true, - "dependencies": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^5.0.0", - "xtend": "^4.0.0" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -6662,6 +9777,39 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "devOptional": true, + "dependencies": { + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-in-cwd/node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "devOptional": true, + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -6679,11 +9827,16 @@ "node": ">=0.10.0" } }, - "node_modules/is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==", - "dev": true + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } }, "node_modules/is-regexp": { "version": "2.1.0", @@ -6714,7 +9867,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, "engines": { "node": ">=10" }, @@ -6722,6 +9874,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -6742,7 +9899,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 8.0.0" }, @@ -6755,21 +9912,51 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true + "devOptional": true }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", @@ -6821,6 +10008,36 @@ "node": ">=6" } }, + "node_modules/istanbul-lib-source-maps/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", @@ -6843,6 +10060,18 @@ "node": ">=6" } }, + "node_modules/istanbul-lib-source-maps/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -6887,14 +10116,14 @@ } }, "node_modules/jasmine": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.4.1.tgz", - "integrity": "sha512-U4wURlp+ivBS877MhCWCj2qTLrGftvV9qmGP3AcHxh5K7l9U28+h5Y1E1JUp91ynQ1EBcX6TC/ROdlaACVqdHQ==", - "dev": true, + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha512-KbdGQTf5jbZgltoHs31XGiChAPumMSY64OZMWLNYnEnMfG5uwGBhffePwuskexjT+/Jea/gU3qAU8344hNohSw==", + "devOptional": true, "dependencies": { "exit": "^0.1.2", - "glob": "^3.2.11", - "jasmine-core": "~2.4.0" + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" }, "bin": { "jasmine": "bin/jasmine.js" @@ -6915,50 +10144,62 @@ "colors": "1.4.0" } }, + "node_modules/jasmine/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/jasmine/node_modules/glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha512-hVb0zwEZwC1FXSKRPFTeOtN7AArJcJlI6ULGLtrstaswKNlrTJqAA+1lYlSUop4vjA423xlBzqfVS3iWGlqJ+g==", - "dev": true, + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", "inherits": "2", - "minimatch": "0.3" + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/jasmine/node_modules/jasmine-core": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.4.1.tgz", - "integrity": "sha512-je45tHvlelm8hbkQ+7CYTZx5pVxe5gQP0xUNagQ36jZOYJyVpQaoJPs3Fs45vswj+6TC0LgE0D1mZ2XGcHqJFw==", - "dev": true - }, - "node_modules/jasmine/node_modules/lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha512-WpibWJ60c3AgAz8a2iYErDrcT2C7OmKnsWhIcHOjkUHFjkXncJhtLxNSqUmxRxRunpb5I8Vprd7aNSd2NtksJQ==", - "dev": true + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==", + "devOptional": true }, "node_modules/jasmine/node_modules/minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha512-WFX1jI1AaxNTZVOHLBVazwTWKaQjoykSzCBNXB72vDTCzopQGtyP91tKdFK5cv1+qMwPyiTu1HqUriqplI8pcA==", - "deprecated": "Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue", - "dev": true, + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, "dependencies": { - "lru-cache": "2", - "sigmund": "~1.0.0" + "brace-expansion": "^1.1.7" }, "engines": { "node": "*" } }, "node_modules/jasminewd2": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-0.0.9.tgz", - "integrity": "sha512-APUA5Mki4lIepmqxwlykNK3rrT7O6tqsoNaVJGA4TMbjYlScKpAfP7qZSabigiq5bBeQ74FVuZ48CaipscaGcg==", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha512-Rn0nZe4rfDhzA63Al3ZGh0E+JTmM6ESZYXJGKuqKGZObsAB9fwXPD03GjtIEvJBDOhN94T5MzbwZSqzFHSQPzg==", + "devOptional": true, + "engines": { + "node": ">= 6.9.x" + } }, "node_modules/javascript-color-gradient": { "version": "1.3.2", @@ -6969,8 +10210,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "peer": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -6984,8 +10223,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, "engines": { "node": ">=8" } @@ -6994,8 +10231,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7009,14 +10244,12 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -7029,13 +10262,12 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true + "devOptional": true }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, "bin": { "jsesc": "bin/jsesc" }, @@ -7044,37 +10276,31 @@ } }, "node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true + "devOptional": true }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true + "devOptional": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -7107,20 +10333,11 @@ "node >= 0.2.0" ] }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jsprim": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, + "devOptional": true, "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -7135,7 +10352,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, + "devOptional": true, "engines": [ "node >=0.6.0" ] @@ -7145,11 +10362,62 @@ "resolved": "https://registry.npmjs.org/jsurl/-/jsurl-0.1.5.tgz", "integrity": "sha512-HyrafsIRCa+VlJAsvuvxWUM0iMeZd6+2J4JngECGF0JTRi5moUFV/mLxgyYfDizGF4ofLLYRpvD/Kt1d9wlUUg==" }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "devOptional": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "devOptional": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "devOptional": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "devOptional": true + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "devOptional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/karma": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.1.tgz", "integrity": "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==", - "dev": true, + "devOptional": true, "dependencies": { "@colors/colors": "1.5.0", "body-parser": "^1.19.0", @@ -7220,6 +10488,28 @@ "url": "https://github.com/sponsors/mattlewis92" } }, + "node_modules/karma-coverage-istanbul-reporter/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma-coverage-istanbul-reporter/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/karma-jasmine": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.2.tgz", @@ -7246,22 +10536,72 @@ "karma-jasmine": ">=1.1" } }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/karma/node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, + "devOptional": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, + "node_modules/karma/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/karma/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/karma/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -7270,7 +10610,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, + "devOptional": true, "dependencies": { "rimraf": "^3.0.0" }, @@ -7282,7 +10622,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "devOptional": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -7300,11 +10640,18 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, "node_modules/known-css-properties": { "version": "0.21.0", "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", @@ -7334,6 +10681,93 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -7346,6 +10780,22 @@ "node": ">= 0.8.0" } }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, "node_modules/lie": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", @@ -7366,8 +10816,7 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/lint-staged": { "version": "13.2.0", @@ -7624,12 +11073,18 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "peer": true, "engines": { "node": ">=6.11.5" } }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/localforage": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", @@ -7650,7 +11105,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -7712,6 +11166,11 @@ "lodash.keys": "^3.0.0" } }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, "node_modules/lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", @@ -7747,7 +11206,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -7763,7 +11221,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -7778,7 +11235,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7794,7 +11250,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -7805,14 +11260,12 @@ "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -7821,7 +11274,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -7898,7 +11350,7 @@ "version": "6.9.1", "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, + "devOptional": true, "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", @@ -7964,7 +11416,6 @@ "version": "0.29.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", - "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -7976,7 +11427,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, "dependencies": { "semver": "^6.0.0" }, @@ -7991,7 +11441,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { "semver": "bin/semver.js" } @@ -8042,15 +11491,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/make-fetch-happen/node_modules/cacache": { "version": "16.1.3", "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", @@ -8092,25 +11532,6 @@ "node": ">= 8" } }, - "node_modules/make-fetch-happen/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/make-fetch-happen/node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -8120,18 +11541,6 @@ "node": ">=12" } }, - "node_modules/make-fetch-happen/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-fetch-happen/node_modules/minipass": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", @@ -8269,11 +11678,21 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, "engines": { "node": ">= 0.6" } }, + "node_modules/memfs": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz", + "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==", + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/meow": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", @@ -8357,6 +11776,11 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -8457,11 +11881,28 @@ "node": ">=4" } }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz", + "integrity": "sha512-EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", @@ -8470,14 +11911,14 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, "node_modules/minimist": { @@ -8514,7 +11955,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8526,7 +11966,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8537,8 +11976,7 @@ "node_modules/minipass-collect/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-fetch": { "version": "2.1.2", @@ -8579,7 +12017,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8591,7 +12028,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8602,8 +12038,7 @@ "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-json-stream": { "version": "1.0.1", @@ -8637,7 +12072,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, "dependencies": { "minipass": "^3.0.0" }, @@ -8649,7 +12083,6 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -8660,8 +12093,7 @@ "node_modules/minipass-pipeline/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/minipass-sized": { "version": "1.0.3", @@ -8725,7 +12157,7 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, + "devOptional": true, "dependencies": { "minimist": "^1.2.6" }, @@ -8752,27 +12184,82 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=0.10.0" } }, + "node_modules/needle/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -8780,9 +12267,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "peer": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/netmask": { "version": "2.0.2", @@ -8816,6 +12301,34 @@ "@angular/core": ">=2.0.0" } }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "optional": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-gyp": { "version": "9.3.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", @@ -8840,6 +12353,59 @@ "node": "^12.13 || ^14.13 || >=16" } }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", @@ -8858,18 +12424,7 @@ "node_modules/node-releases": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "dev": true - }, - "node_modules/node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha512-TkCET/3rr9mUuRp+CpO7qfgT++aAxfDRaalQhwPFzI9BY/2rCDn6OfpZOVggi1AXfTPpfkTrg5f5WQx5G1uLxA==", - "deprecated": "Use uuid module instead", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" }, "node_modules/node-version-compare": { "version": "1.0.3", @@ -8910,7 +12465,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8919,7 +12473,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -9101,6 +12654,17 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", @@ -9108,10 +12672,10 @@ "dev": true }, "node_modules/oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha512-VlF07iu3VV3+BTXj43Nmp6Irt/G7j/NgEctUS6IweH1RGhURjjCc2NWtzXFPXXWWfc7hgbXQdtiQu2LGp6MxUg==", - "dev": true, + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "devOptional": true, "engines": { "node": "*" } @@ -9120,7 +12684,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -9147,11 +12711,15 @@ "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==" }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, "dependencies": { "ee-first": "1.1.1" }, @@ -9159,6 +12727,14 @@ "node": ">= 0.8" } }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -9185,7 +12761,6 @@ "version": "8.4.1", "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", - "dev": true, "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -9198,22 +12773,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==", - "dev": true, - "dependencies": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "node_modules/optimist/node_modules/minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw==", - "dev": true - }, "node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -9230,20 +12789,10 @@ "node": ">= 0.8.0" } }, - "node_modules/options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha512-bOj3L1ypm++N+n7CEbbe473A414AB7z+amKYshRb//iuL3MpdDCLhPnw6aVTdKB9g5ZRVHIEp8eUln6L2NUStg==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, "dependencies": { "bl": "^4.1.0", "chalk": "^4.1.0", @@ -9266,7 +12815,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -9281,7 +12829,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -9297,7 +12844,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -9308,14 +12854,12 @@ "node_modules/ora/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/ora/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -9324,7 +12868,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -9386,7 +12929,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -9401,7 +12943,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -9413,7 +12954,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -9424,6 +12964,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -9535,11 +13095,15 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -9569,7 +13133,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -9583,17 +13146,65 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -9602,7 +13213,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -9615,6 +13225,12 @@ "node": ">=0.10.0" } }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "devOptional": true + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -9626,18 +13242,27 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "devOptional": true + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -9678,7 +13303,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -9687,7 +13312,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, + "devOptional": true, "dependencies": { "pinkie": "^2.0.0" }, @@ -9695,6 +13320,30 @@ "node": ">=0.10.0" } }, + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/plist": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.6.tgz", @@ -9722,25 +13371,101 @@ } ], "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.10.0" + }, + "peerDependencies": { + "postcss": ">=5.0.0", + "postcss-syntax": ">=0.36.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-html/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" } }, - "node_modules/postcss-html": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", - "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "node_modules/postcss-html/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, "dependencies": { - "htmlparser2": "^3.10.0" - }, - "peerDependencies": { - "postcss": ">=5.0.0", - "postcss-syntax": ">=0.36.0" + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/postcss-html/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" } }, "node_modules/postcss-less": { @@ -9787,12 +13512,88 @@ "node": ">=0.10.0" } }, + "node_modules/postcss-loader": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.2.tgz", + "integrity": "sha512-fUJzV/QH7NXUAqV8dWJ9Lg4aTkDCezpTS5HgJ2DvqznexTbSTxgi/dTECvTZ15BwKTtk8G/bqI/QTu2HPd3ZCg==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, "node_modules/postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", @@ -9933,7 +13734,6 @@ "version": "6.0.11", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9954,8 +13754,7 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/prelude-ls": { "version": "1.1.2", @@ -9980,6 +13779,17 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/printj": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz", @@ -10008,8 +13818,7 @@ "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, "node_modules/promise-retry": { "version": "2.0.1", @@ -10074,34 +13883,41 @@ "dev": true }, "node_modules/protractor": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-3.3.0.tgz", - "integrity": "sha512-kQ1U59aUf/nqhe+ZykJrZP4nfdrFbJd59wE1c8YIBxW0swabJrGgGfgtKc7MepYl1l779pYi7VcsqiPgT05SvA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", "deprecated": "We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular", - "dev": true, + "devOptional": true, "dependencies": { - "adm-zip": "0.4.7", + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", "chalk": "^1.1.3", - "glob": "~6.0", - "jasmine": "2.4.1", - "jasminewd2": "0.0.9", - "optimist": "~0.6.0", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", "q": "1.4.1", - "request": "~2.67.0", - "saucelabs": "~1.0.1", - "selenium-webdriver": "2.52.0", - "source-map-support": "~0.4.0" + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" }, "bin": { "protractor": "bin/protractor", "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=10.13.x" } }, "node_modules/protractor/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -10110,16 +13926,26 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/protractor/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/protractor/node_modules/chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, + "devOptional": true, "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -10131,51 +13957,246 @@ "node": ">=0.10.0" } }, + "node_modules/protractor/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "devOptional": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "devOptional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "devOptional": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/protractor/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "devOptional": true + }, "node_modules/protractor/node_modules/glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", - "dev": true, + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, "dependencies": { + "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "2 || 3", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" }, "engines": { - "node": "*" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/protractor/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/protractor/node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", + "devOptional": true, + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/protractor/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "devOptional": true, + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "devOptional": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "devOptional": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/protractor/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "devOptional": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "devOptional": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "devOptional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "devOptional": true + }, + "node_modules/protractor/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "devOptional": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "node_modules/protractor/node_modules/q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha512-/CdEdaw49VZVmyIDGUQKDDT53c7qBkO6g5CefWz91Ae+l4+cRtcDYwMTXh6me4O8TMldeGHG3N2Bl84V78Ywbg==", - "dev": true, + "node_modules/protractor/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "devOptional": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=6" } }, - "node_modules/protractor/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "ansi-regex": "^2.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/protractor/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { - "node": ">=0.8.0" + "node": ">= 0.10" } }, "node_modules/proxy-agent": { @@ -10235,6 +14256,18 @@ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "optional": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "devOptional": true + }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -10248,7 +14281,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, "engines": { "node": ">=6" } @@ -10266,7 +14298,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.9" } @@ -10317,8 +14349,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "peer": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -10327,7 +14357,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -10386,44 +14415,22 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/read-pkg": { @@ -10520,7 +14527,6 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -10552,6 +14558,28 @@ "node": ">=6.0.0" } }, + "node_modules/recursive-readdir/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/recursive-readdir/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -10568,8 +14596,76 @@ "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } }, "node_modules/remark": { "version": "13.0.0", @@ -10622,84 +14718,64 @@ } }, "node_modules/request": { - "version": "2.67.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.67.0.tgz", - "integrity": "sha512-fzMRDWVEdMktE3foqvL4CBmC+AR8WvcP8pIPx6JSqqhWuPr+BxX9tKx4XiijfyeKtqqRMNpHDWqFMw4JlRPIJg==", + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, + "devOptional": true, "dependencies": { - "aws-sign2": "~0.6.0", - "bl": "~1.0.0", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~1.0.0-rc3", - "har-validator": "~2.0.2", - "hawk": "~3.1.0", - "http-signature": "~1.1.0", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "node-uuid": "~1.4.7", - "oauth-sign": "~0.8.0", - "qs": "~5.2.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.2.0", - "tunnel-agent": "~0.4.1" + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "engines": { - "node": ">=0.8.0" + "node": ">= 6" } }, - "node_modules/request/node_modules/bl": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz", - "integrity": "sha512-phbvN+yOk05EGoFcV/0S8N8ShnJqf6VCWRAw5he2gvRwBubFt/OzmcTNGqBt5b7Y4RK3YCgf6jrgGSR0Cwtsgw==", - "dev": true, + "node_modules/request/node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "devOptional": true, "dependencies": { - "readable-stream": "~2.0.5" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "node_modules/request/node_modules/process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==", - "dev": true - }, "node_modules/request/node_modules/qs": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", - "integrity": "sha512-sh/hmLUTLEiYFhSbRvkM4zj6fMWnbqQt9wrppR2LJA/U/u4xS2eWN8LBE1xc79ExYZJBVZYSMBv/INC7wpE+fw==", - "dev": true, - "engines": ">=0.10.40" - }, - "node_modules/request/node_modules/readable-stream": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "devOptional": true, + "engines": { + "node": ">=0.6" } }, - "node_modules/request/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -10708,22 +14784,25 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "devOptional": true + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -10740,11 +14819,46 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, "engines": { "node": ">=8" } }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -10779,7 +14893,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true + "devOptional": true }, "node_modules/rimraf": { "version": "3.0.2", @@ -10795,6 +14909,45 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", @@ -10873,61 +15026,103 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "node_modules/sass": { + "version": "1.58.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.1.tgz", + "integrity": "sha512-bnINi6nPXbP1XNRaranMFEBZWUfdW/AF16Ql5+ypRxfTvCRTTKrLsMIakyDcayUt2t/RZotmL4kgJwNH5xO+bg==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.0.tgz", + "integrity": "sha512-JWEp48djQA4nbZxmgC02/Wh0eroSUutulROUusYJO9P9zltRbNN80JCBHqRGzjd4cmZCa/r88xgfkjGD0TXsHg==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, "node_modules/saucelabs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.0.1.tgz", - "integrity": "sha512-1oAWGuHhopgmdURx+g+tKUqORZumLPY+zOOBUFtkj8oPFHAwMVuS8rtvgTFTsJxWPNk6Fj2+iR0JFtdFNJCkhw==", - "dev": true, + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "devOptional": true, "dependencies": { - "https-proxy-agent": "^1.0.0" + "https-proxy-agent": "^2.2.1" }, "engines": { "node": "*" } }, "node_modules/saucelabs/node_modules/agent-base": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", - "integrity": "sha512-oDtZV740o3fr5oJtPLOsgH2hl2TRPscNXIx4VzzBwVlXVkv8RHm7XXqGAYg8t20+Gwu6LNDnx8HRMGqVGPZ8Vw==", - "dev": true, + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "devOptional": true, "dependencies": { - "extend": "~3.0.0", - "semver": "~5.0.1" + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" } }, "node_modules/saucelabs/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "devOptional": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/saucelabs/node_modules/https-proxy-agent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", - "integrity": "sha512-OZhm7//JDnQthMVqlPAfkZyPO2fMhfHY6gY+jZcX8rLfFiGtHiIQrfD80WvCDHNMQ77Ak3r5CiPRDD2rNzo2OQ==", - "dev": true, + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "devOptional": true, "dependencies": { - "agent-base": "2", - "debug": "2", - "extend": "3" - } - }, - "node_modules/saucelabs/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/saucelabs/node_modules/semver": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", - "integrity": "sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==", - "dev": true, - "bin": { - "semver": "bin/semver" + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" } }, "node_modules/sax": { @@ -10936,88 +15131,90 @@ "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==" }, "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "peer": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "devOptional": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 6.9.0" } }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" + "node_modules/selenium-webdriver/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/selenium-webdriver": { - "version": "2.52.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.52.0.tgz", - "integrity": "sha512-W5zrIjmJSOqGLEuufas7OTzr/yPYoVMM9yWEzHyavY0KnfTfb8ue2fgilGjMfdCbcGAfqyvyrDNpdwubHlcXlQ==", - "dev": true, + "node_modules/selenium-webdriver/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, "dependencies": { - "adm-zip": "0.4.4", - "rimraf": "^2.2.8", - "tmp": "0.0.24", - "ws": "^1.0.1", - "xml2js": "0.4.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 4.2.x" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/selenium-webdriver/node_modules/adm-zip": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz", - "integrity": "sha512-SYIiqLfr6QvmEM0yw89mD8ba2HjK+duf7oVPEw79+NPDqyQScAU8IgDPZzFt9CVdD2yaAuWJqFQGLkongB6cJQ==", - "dev": true, + "node_modules/selenium-webdriver/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=0.3.0" + "node": "*" } }, "node_modules/selenium-webdriver/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, + "devOptional": true, "dependencies": { "glob": "^7.1.3" }, @@ -11025,29 +15222,27 @@ "rimraf": "bin.js" } }, - "node_modules/selenium-webdriver/node_modules/sax": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", - "integrity": "sha512-8ip+qnRh7m8OEyvoM1JoSBzlrepp3ajVR8nqgrfTig+TewfyvTijl0am8/anFqgbcdz62ofEUKE1hHNDCdbeSQ==", - "dev": true - }, "node_modules/selenium-webdriver/node_modules/tmp": { - "version": "0.0.24", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz", - "integrity": "sha512-z6TbUngjp7wMWIKNeUTuA24oRTW+HGCN7LlBgUPfNzCv5J/JsLsuF/qBh6tCUS2+ALGQ/4U5W4L4yUk7qIFWrg==", - "dev": true, + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha512-HXdTB7lvMwcb55XFfrTM8CPr/IYREk4hVBFaQ4b/6nInrluSL86hfHm7vu0luYKCfyBZp2trCjpc8caC3vVM3w==", + "devOptional": true, + "dependencies": { + "os-tmpdir": "~1.0.1" + }, "engines": { "node": ">=0.4.0" } }, - "node_modules/selenium-webdriver/node_modules/xml2js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz", - "integrity": "sha512-9ERdxLOo4EazMDHAS/vsuZiTXIMur6ydcRfzGrFVJ4qM78zD3ohUgPJC7NYpGwd5rnS0ufSydMJClh6jyH+V0w==", - "dev": true, + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dependencies": { - "sax": "0.6.x", - "xmlbuilder": ">=1.0.0" + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver": { @@ -11080,27 +15275,178 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/serialize-javascript": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "peer": true, "dependencies": { "randombytes": "^2.1.0" } }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true + "devOptional": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "devOptional": true }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -11120,21 +15466,63 @@ "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shelljs/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/shelljs/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/shelljs/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=4" + "node": "*" } }, "node_modules/side-channel": { @@ -11150,12 +15538,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", - "dev": true - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -11271,7 +15653,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -11331,24 +15712,11 @@ "npm": ">= 3.0.0" } }, - "node_modules/sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha512-7bgVOAnPj3XjrKY577S+puCKGCRlUrcrEdsMeRXlg9Ghf5df/xNi6sONUa43WrHUd3TjJBF7O04jYoiY0FVa0A==", - "deprecated": "This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.", - "dev": true, - "dependencies": { - "hoek": "2.x.x" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/socket.io": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", - "dev": true, + "devOptional": true, "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", @@ -11365,7 +15733,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", - "dev": true, + "devOptional": true, "dependencies": { "ws": "~8.11.0" } @@ -11374,7 +15742,7 @@ "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10.0.0" }, @@ -11395,7 +15763,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", - "dev": true, + "devOptional": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1" @@ -11404,6 +15772,24 @@ "node": ">=10.0.0" } }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/socks": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", @@ -11441,7 +15827,6 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, "engines": { "node": ">= 8" } @@ -11454,20 +15839,50 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { - "source-map": "^0.5.6" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "node_modules/source-map-support/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" } @@ -11504,6 +15919,34 @@ "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, "node_modules/specificity": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", @@ -11524,8 +15967,7 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/ssf": { "version": "0.11.2", @@ -11547,7 +15989,7 @@ "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, + "devOptional": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -11572,7 +16014,6 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.1.tgz", "integrity": "sha512-WVy6di9DlPOeBWEjMScpNipeSX2jIZBGEn5Uuo8Q7aIuFEuDX0pw8RxcOjlD1TWP4obi24ki7m/13+nFpcbXrw==", - "dev": true, "dependencies": { "minipass": "^4.0.0" }, @@ -11584,7 +16025,6 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -11637,7 +16077,7 @@ "version": "3.1.5", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, + "devOptional": true, "dependencies": { "date-format": "^4.0.14", "debug": "^4.3.4", @@ -11651,7 +16091,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, + "devOptional": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -11665,7 +16105,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, + "devOptional": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -11674,7 +16114,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, + "devOptional": true, "engines": { "node": ">= 4.0.0" } @@ -11714,12 +16154,6 @@ "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" }, - "node_modules/stringstream": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", - "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", - "dev": true - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -11867,6 +16301,28 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/stylelint/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", @@ -12038,24 +16494,10 @@ "superagent": ">= 0.15.4 || 1 || 2 || 3" } }, - "node_modules/superagent/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -12067,7 +16509,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -12119,8 +16560,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -12180,11 +16619,9 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/terser": { - "version": "5.16.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", - "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", - "dev": true, - "peer": true, + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.3.tgz", + "integrity": "sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==", "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -12202,8 +16639,6 @@ "version": "5.3.7", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz", "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==", - "dev": true, - "peer": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "jest-worker": "^27.4.5", @@ -12233,39 +16668,145 @@ } } }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.16.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.6.tgz", + "integrity": "sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "peer": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "peer": true, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -12281,7 +16822,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -12306,13 +16846,16 @@ } }, "node_modules/tough-cookie": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", - "integrity": "sha512-Knz9Yr0hlBoWQgUKzOIvRg5adinizAf49i2gHRhj6cLjlM304zRw7uyiY22ADniDxnPHXfIeyQD0EAkgpIz0ow==", - "deprecated": "ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130", - "dev": true, + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "devOptional": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8" } }, "node_modules/tree-kill": { @@ -12364,25 +16907,6 @@ "typescript": ">=2.0" } }, - "node_modules/ts-node/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ts-node/node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/ts-poet": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.4.1.tgz", @@ -12462,12 +16986,54 @@ "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" } }, + "node_modules/tslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/tslint/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, + "node_modules/tslint/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/tslint/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -12567,10 +17133,13 @@ } }, "node_modules/tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha512-e0IoVDWx8SDHc/hwFTqJDQ7CCDTEeGhmcT9jkWJjoGQSpgBz20nAMr80E3Tpk7PatJ1b37DQDgJR3CNSzcMOZQ==", - "dev": true, + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "devOptional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, "engines": { "node": "*" } @@ -12579,7 +17148,7 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true + "devOptional": true }, "node_modules/type-check": { "version": "0.3.2", @@ -12607,7 +17176,6 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -12616,6 +17184,11 @@ "node": ">= 0.6" } }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==" + }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -12628,7 +17201,6 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -12641,7 +17213,7 @@ "version": "0.7.34", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.34.tgz", "integrity": "sha512-cJMeh/eOILyGu0ejgTKB95yKT3zOenSe9UGE3vj6WfiOwgGYnmATUsnDixMFvdU+rNMvWih83hrUP8VwhF9yXQ==", - "dev": true, + "devOptional": true, "funding": [ { "type": "opencollective", @@ -12656,17 +17228,47 @@ "node": "*" } }, - "node_modules/ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha512-QMpnpVtYaWEeY+MwKDN/UdKlE/LsFZXM5lO1u7GaZzNgmIbGixHEmVMIKT+vqYOALu3m5GYQy9kz4Xu4IVn7Ow==", - "dev": true - }, "node_modules/underscore": { "version": "1.13.6", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, "node_modules/unified": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", @@ -12698,7 +17300,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, "dependencies": { "unique-slug": "^4.0.0" }, @@ -12710,7 +17311,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, "dependencies": { "imurmurhash": "^0.1.4" }, @@ -12791,7 +17391,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -12817,7 +17416,6 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -12831,18 +17429,17 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, "engines": { "node": ">= 0.4.0" } }, "node_modules/uuid": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", - "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", - "dev": true, + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "bin": { - "uuid": "dist/bin/uuid" + "uuid": "bin/uuid" } }, "node_modules/v8-compile-cache": { @@ -12877,7 +17474,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, "engines": { "node": ">= 0.8" } @@ -12886,7 +17482,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, + "devOptional": true, "engines": [ "node >=0.6.0" ], @@ -12896,88 +17492,254 @@ "extsprintf": "^1.2.0" } }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vm2": { + "version": "3.9.14", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz", + "integrity": "sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "devOptional": true, + "dependencies": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager": { + "version": "12.1.9", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", + "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", + "devOptional": true, + "dependencies": { + "adm-zip": "^0.5.2", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "bin": { + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/webdriver-manager/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/webdriver-manager/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "devOptional": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webdriver-manager/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, + "node_modules/webdriver-manager/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "devOptional": true + }, + "node_modules/webdriver-manager/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" + "brace-expansion": "^1.1.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "*" } }, - "node_modules/vm2": { - "version": "3.9.14", - "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz", - "integrity": "sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==", + "node_modules/webdriver-manager/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "devOptional": true, "dependencies": { - "acorn": "^8.7.0", - "acorn-walk": "^8.2.0" + "glob": "^7.1.3" }, "bin": { - "vm2": "bin/vm2" - }, - "engines": { - "node": ">=6.0" + "rimraf": "bin.js" } }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/webdriver-manager/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "devOptional": true, + "bin": { + "semver": "bin/semver" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "peer": true, + "node_modules/webdriver-manager/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "devOptional": true, "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" + "node_modules/webdriver-manager/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "devOptional": true, + "engines": { + "node": ">=0.8.0" } }, "node_modules/webpack": { "version": "5.76.2", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.2.tgz", "integrity": "sha512-Th05ggRm23rVzEOlX8y67NkYCHa9nTNcwHPBhdg+lKG+mtiW7XgggjAeeLnADAe7mLjJ6LUNfgHAuRRh+Z6J7w==", - "dev": true, "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -13021,12 +17783,120 @@ } } }, + "node_modules/webpack-dev-middleware": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.1.tgz", + "integrity": "sha512-PZPZ6jFinmqVPJZbisfggDiC+2EeGZ1ZByyMP5sOFJcPPWSexalISz+cvm+j+oYPT7FIJyxT76esjnw9DhE5sw==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", + "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "peer": true, "engines": { "node": ">=10.13.0" } @@ -13071,13 +17941,76 @@ "source-map": "~0.6.1" } }, - "node_modules/webpack/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "peer": true }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -13092,6 +18025,12 @@ "node": ">= 8" } }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "devOptional": true + }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -13101,6 +18040,11 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + }, "node_modules/windows-release": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", @@ -13196,15 +18140,6 @@ "node": ">=0.10.0" } }, - "node_modules/wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -13268,13 +18203,23 @@ } }, "node_modules/ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "dev": true, - "dependencies": { - "options": ">=0.0.5", - "ultron": "1.0.x" + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/xcode": { @@ -13290,6 +18235,15 @@ "node": ">=10.0.0" } }, + "node_modules/xcode/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/xlsx": { "version": "0.17.5", "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.17.5.tgz", @@ -13320,7 +18274,7 @@ "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, + "devOptional": true, "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" @@ -13333,7 +18287,7 @@ "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, + "devOptional": true, "engines": { "node": ">=4.0" } @@ -13354,20 +18308,10 @@ "node": "*" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -13390,7 +18334,6 @@ "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -13408,7 +18351,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, + "devOptional": true, "engines": { "node": ">=10" } @@ -13417,7 +18360,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "engines": { "node": ">=12" } diff --git a/package.json b/package.json index d33ca45d7..8dd9e5334 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "@ionic-native/three-dee-touch": "^5.33.1", "@ionic/angular": "^6.6.2", "@ionic/cli": "^6.20.9", + "@ionic/cordova-builders": "^8.0.0", "@ionic/storage": "^2.3.1", "@ngx-translate/core": "^11.0.1", "@ngx-translate/http-loader": "^4.0.0", @@ -137,7 +138,7 @@ "karma-jasmine-html-reporter": "^1.7.0", "lint-staged": "^13.0.3", "prettier": "^2.7.1", - "protractor": "^3.3.0", + "protractor": "^7.0.0", "skwas-cordova-plugin-datetimepicker": "^2.1.2", "stylelint": "^13.12.0", "stylelint-config-standard": "^20.0.0", From 15a10a607c4dff088445f05cb9eafb2c250fc63f Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sun, 19 Mar 2023 20:14:56 +0100 Subject: [PATCH 056/129] Fixing ios building, missing splashscreen --- .../ios/splash/Default@2x~universal~anyany.png | Bin 0 -> 192133 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/ios/splash/Default@2x~universal~anyany.png diff --git a/resources/ios/splash/Default@2x~universal~anyany.png b/resources/ios/splash/Default@2x~universal~anyany.png new file mode 100644 index 0000000000000000000000000000000000000000..6fafc9d03cb0c93c7841bb655736446a6804f826 GIT binary patch literal 192133 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 literal 0 HcmV?d00001 From eb9a515e680f8b55fecbc1dc3dbf135aee70399c Mon Sep 17 00:00:00 2001 From: Graphefruit Date: Sat, 8 Apr 2023 21:18:57 +0200 Subject: [PATCH 057/129] saftey commit, first xenia adds --- config.xml | 1 + package-lock.json | 13 + package.json | 4 + src/app/brew/brew-add/brew-add.component.html | 2 +- src/app/brew/brew-add/brew-add.component.ts | 12 + .../brew/brew-edit/brew-edit.component.html | 2 +- src/app/brew/brew-edit/brew-edit.component.ts | 12 +- src/app/brew/brew-flow/brew-flow.component.ts | 30 +- ...reparation-connected-device.component.html | 2 + .../preparation-connected-device.component.ts | 14 +- src/app/settings/settings.page.html | 5 + src/assets/i18n/de.json | 10 + src/classes/preparationDevice/index.ts | 2 +- .../preparationDevice/xenia/xeniaDevice.ts | 191 +++---- .../brew-brewing/brew-brewing.component.html | 38 ++ .../brew-brewing/brew-brewing.component.ts | 471 ++++++++++-------- src/services/uiPreparationHelper.ts | 2 +- 17 files changed, 481 insertions(+), 330 deletions(-) diff --git a/config.xml b/config.xml index bf695d6a2..57c57c93a 100644 --- a/config.xml +++ b/config.xml @@ -28,6 +28,7 @@ + diff --git a/package-lock.json b/package-lock.json index b1ac3a8d2..87bec76ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -95,6 +95,7 @@ "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", "cordova-ios": "^6.2.0", "cordova-plugin-add-swift-support": "^2.0.2", + "cordova-plugin-advanced-http": "^3.3.1", "cordova-plugin-androidx": "^3.0.0", "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", @@ -6346,6 +6347,18 @@ "node": ">=6.0.0" } }, + "node_modules/cordova-plugin-advanced-http": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-3.3.1.tgz", + "integrity": "sha512-hESuB3mxIHCUrzb5lm7juda6PSNcC5N8Invizj5wGV2rSldCapiNxMTEpzKR1UVPDDP2XOtBzO0SAYS+3+g/ig==", + "dev": true, + "engines": [ + { + "name": "cordova", + "version": ">=4.0.0" + } + ] + }, "node_modules/cordova-plugin-android-permissions": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.1.2.tgz", diff --git a/package.json b/package.json index 8dd9e5334..427e28b48 100644 --- a/package.json +++ b/package.json @@ -102,6 +102,7 @@ "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", "cordova-ios": "^6.2.0", "cordova-plugin-add-swift-support": "^2.0.2", + "cordova-plugin-advanced-http": "^3.3.1", "cordova-plugin-androidx": "^3.0.0", "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", @@ -228,6 +229,9 @@ }, "cordova-plugin-file": { "ANDROIDX_WEBKIT_VERSION": "1.4.0" + }, + "cordova-plugin-advanced-http": { + "ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1" } }, "platforms": [ diff --git a/src/app/brew/brew-add/brew-add.component.html b/src/app/brew/brew-add/brew-add.component.html index 1db409206..697af4e23 100644 --- a/src/app/brew/brew-add/brew-add.component.html +++ b/src/app/brew/brew-add/brew-add.component.html @@ -16,7 +16,7 @@ - + !e.finished) .sort((a, b) => a.name.localeCompare(b.name))[0].config.uuid; + + window.addEventListener('keyboardWillShow', (event) => { + // Describe your logic which will be run each time when keyboard is about to be shown. + this.showFooter = false; + }); + + window.addEventListener('keyboardWillHide', () => { + // Describe your logic which will be run each time when keyboard is about to be closed. + this.showFooter = true; + }); } public ionViewDidEnter(): void { diff --git a/src/app/brew/brew-edit/brew-edit.component.html b/src/app/brew/brew-edit/brew-edit.component.html index 9121ed8d5..78ea2f02e 100644 --- a/src/app/brew/brew-edit/brew-edit.component.html +++ b/src/app/brew/brew-edit/brew-edit.component.html @@ -17,7 +17,7 @@ - + { + // Describe your logic which will be run each time when keyboard is about to be shown. + this.showFooter = false; + }); + + window.addEventListener('keyboardWillHide', () => { + // Describe your logic which will be run each time when keyboard is about to be closed. + this.showFooter = true; + }); } public ionViewDidEnter(): void { diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index ffcae44bd..1ef2a02f6 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -147,24 +147,26 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { @HostListener('window:orientationchange', ['$event']) public onOrientationChange() { setTimeout(() => { - const flowHeight = document.getElementById('flowCard').offsetHeight; - let informationContainerHeight = 0; try { - informationContainerHeight = document.getElementById( - 'informationContainer' - ).offsetHeight; - } catch (ex) { - informationContainerHeight = 0; - } + const flowHeight = document.getElementById('flowCard').offsetHeight; + let informationContainerHeight = 0; + try { + informationContainerHeight = document.getElementById( + 'informationContainer' + ).offsetHeight; + } catch (ex) { + informationContainerHeight = 0; + } - this.heightInformationBlock = informationContainerHeight; + this.heightInformationBlock = informationContainerHeight; - this.brewComponent.lastChartLayout.height = - flowHeight - informationContainerHeight; + this.brewComponent.lastChartLayout.height = + flowHeight - informationContainerHeight; - this.brewComponent.lastChartLayout.width = - document.getElementById('brewFlowContainer').offsetWidth; - Plotly.relayout('flowProfileChart', this.brewComponent.lastChartLayout); + this.brewComponent.lastChartLayout.width = + document.getElementById('brewFlowContainer').offsetWidth; + Plotly.relayout('flowProfileChart', this.brewComponent.lastChartLayout); + } catch (ex) {} }, 50); } diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html index 9e7f9fc22..83ba66b86 100644 --- a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html @@ -42,5 +42,7 @@ get scripts start script + + stop script diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts index 06c43ba29..df982c434 100644 --- a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts @@ -29,7 +29,9 @@ export class PreparationConnectedDeviceComponent implements OnInit { public preparationTypeEnum = PREPARATION_TYPES; public segment: string = 'manage'; public PREPARATION_DEVICE_TYPE = PreparationDeviceType; - @Input() private preparation: IPreparation; + @Input() public preparation: IPreparation; + + public scriptid: number = 11; constructor( private readonly navParams: NavParams, @@ -85,21 +87,21 @@ export class PreparationConnectedDeviceComponent implements OnInit { public getScripts() { const connectedDevice: XeniaDevice = - this.uiPreparationHelper.getConnectedDevice(this.data); + this.uiPreparationHelper.getConnectedDevice(this.data) as XeniaDevice; if (connectedDevice) { connectedDevice.getScripts(); } } - public startScripts() { + public startScript() { const connectedDevice: XeniaDevice = - this.uiPreparationHelper.getConnectedDevice(this.data); + this.uiPreparationHelper.getConnectedDevice(this.data) as XeniaDevice; if (connectedDevice) { - connectedDevice.startScript(11); + connectedDevice.startScript(this.scriptid); } } public stopScript() { const connectedDevice: XeniaDevice = - this.uiPreparationHelper.getConnectedDevice(this.data); + this.uiPreparationHelper.getConnectedDevice(this.data) as XeniaDevice; if (connectedDevice) { connectedDevice.stopScript(); } diff --git a/src/app/settings/settings.page.html b/src/app/settings/settings.page.html index f37ef8139..451f650c9 100644 --- a/src/app/settings/settings.page.html +++ b/src/app/settings/settings.page.html @@ -441,6 +441,11 @@

      {{"SMART_SCALE_COMMAND_DELAY" | translate}}

      {{"DISCONNECT" | translate}}

      + +

      {{"PRESSURE_STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      + +

      {{"PRESSURE_THRESHOLD_ACTIVE" | translate}}

      { - const httpOptions = { - headers: new HttpHeaders({ - 'Content-Type': 'application/json', - Authorization: 'Basic ' + btoa('1:1#'), - }), - }; const promise = new Promise((resolve, reject) => { - this.httpClient - .get( - this.getPreparation().connectedPreparationDevice.url + '/overview', - httpOptions - ) - .pipe( - timeout(10000), - catchError((e) => { - return of(null); - }) - ) - .toPromise() - .then((_data) => { - if (_data && 'MA_STATUS' in _data) { - resolve(true); - } else { + const options = { + method: 'get', + }; + cordova.plugin.http.sendRequest( + this.getPreparation().connectedPreparationDevice.url + '/overview', + options, + (response) => { + try { + const parsedJSON = JSON.parse(response.data); + if (parsedJSON && 'MA_STATUS' in parsedJSON) { + resolve(true); + } else { + reject(); + } + } catch (e) { reject(); } - }) - .catch((error) => { + }, + (response) => { + // prints 403 reject(); - }); + } + ); }); return promise; } public getScripts() { - const httpOptions = { - headers: new HttpHeaders({ - 'Content-Type': 'application/json', - Authorization: 'Basic ' + btoa('1:1#'), - }), - }; const promise = new Promise((resolve, reject) => { - this.httpClient - .get( - this.getPreparation().connectedPreparationDevice.url + - '/scripts_list', - httpOptions - ) - .pipe( - timeout(10000), - catchError((e) => { - return of(null); - }) - ) - .toPromise() - .then((_data) => { - console.log(_data); - if (_data) { - resolve(true); - } else { + const options = { + method: 'get', + }; + cordova.plugin.http.sendRequest( + this.getPreparation().connectedPreparationDevice.url + '/scripts_list', + options, + (response) => { + try { + const parsedJSON = JSON.parse(response.data); + console.log(parsedJSON); + resolve(parsedJSON); + } catch (e) { reject(); } - }) - .catch((error) => { + }, + (response) => { + // prints 403 reject(); - }); + } + ); }); return promise; } public startScript(_id: any) { - const httpOptions = { - headers: new HttpHeaders({ - 'Content-Type': 'application/json', - Authorization: 'Basic ' + btoa('1:1#'), - }), - }; const promise = new Promise((resolve, reject) => { - let data = {}; - data['ID'] = _id; - this.httpClient - .post( - this.getPreparation().connectedPreparationDevice.url + - '/execute_script', - data, - httpOptions - ) - .pipe( - timeout(10000), - catchError((e) => { - return of(null); - }) - ) - .toPromise() - .then((_data) => { - if (_data) { - resolve(true); - } else { + const options = { + method: 'post', + data: { ID: _id }, + }; + + cordova.plugin.http.sendRequest( + this.getPreparation().connectedPreparationDevice.url + + '/execute_script', + options, + (response) => { + try { + const parsedJSON = JSON.parse(response.data); + console.log(parsedJSON); + resolve(parsedJSON); + } catch (e) { reject(); } - }) - .catch((error) => { + }, + (response) => { + // prints 403 reject(); - }); + } + ); }); return promise; } public stopScript() { - const httpOptions = { - headers: new HttpHeaders({ - 'Content-Type': 'application/json', - Authorization: 'Basic ' + btoa('1:1#'), - }), - }; const promise = new Promise((resolve, reject) => { - this.httpClient - .get( - this.getPreparation().connectedPreparationDevice.url + '/stop_script', - httpOptions - ) - .pipe( - timeout(10000), - catchError((e) => { - return of(null); - }) - ) - .toPromise() - .then((_data) => { - console.log(_data); - if (_data) { - resolve(true); - } else { + const options = { + method: 'get', + }; + + cordova.plugin.http.sendRequest( + this.getPreparation().connectedPreparationDevice.url + '/stop_script', + options, + (response) => { + try { + const parsedJSON = JSON.parse(response.data); + console.log(parsedJSON); + resolve(parsedJSON); + } catch (e) { reject(); } - }) - .catch((error) => { + }, + (response) => { + // prints 403 reject(); - }); + } + ); }); return promise; } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index 5521c5aa5..046344b25 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -255,6 +255,44 @@
      + + + {{"PREPARATION_DEVICE.TYPE_XENIA.TITLE" | translate }} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.PRESS_START_SCRIPT" | translate}} + + + + + {{"PREPARATION_DEVICE.TYPE_XENIA.FIRST_DRIP_SCRIPT" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} + + + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_AT_WEIGHT" | translate}} + + + + + diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 9af99ddf7..868931ef8 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -60,6 +60,9 @@ import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice import { BluetoothScale, SCALE_TIMER_COMMAND } from '../../../classes/devices'; import { IBrewGraphs } from '../../../interfaces/brew/iBrewGraphs'; import { BrewRatioCalculatorComponent } from '../../../app/brew/brew-ratio-calculator/brew-ratio-calculator.component'; +import { PreparationDevice } from '../../../classes/preparationDevice/preparationDevice'; +import { UIPreparationHelper } from '../../../services/uiPreparationHelper'; +import { XeniaDevice } from '../../../classes/preparationDevice/xenia/xeniaDevice'; declare var cordova; declare var Plotly; @@ -143,6 +146,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { public lastChartRenderingInstance: number = 0; public graphSettings: IBrewGraphs = undefined; + public preparationDevice: XeniaDevice = undefined; + constructor( private readonly platform: Platform, private readonly uiSettingsStorage: UISettingsStorage, @@ -160,16 +165,14 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { private readonly uiExcel: UIExcel, private readonly uiFileHelper: UIFileHelper, private readonly screenOrientation: ScreenOrientation, - private readonly uiAlert: UIAlert + private readonly uiAlert: UIAlert, + private readonly uiPreparationHelper: UIPreparationHelper ) {} public getActivePreparationTools() { return this.data.getPreparation().tools.filter((e) => e.archived === false); } - @HostListener('keyboardDidShow', ['$event']) - public aa() {} - public getChoosenPreparationToolsWhichAreArchived() { const toolIds = this.data.method_of_preparation_tools; const tools: Array = []; @@ -287,6 +290,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.initializeFlowChart(); } + this.instancePreparationDevice(); + this.bluetoothSubscription = this.bleManager .attachOnEvent() .subscribe((_type) => { @@ -333,6 +338,19 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { }); } + public resetPreparationTools() { + if (this.preparationMethodHasBeenFocused === true) { + this.data.method_of_preparation_tools = []; + this.preparationMethodHasBeenFocused = false; + + this.instancePreparationDevice(); + + if (this.timer.isTimerRunning() === false) { + this.initializeFlowChart(); + } + } + } + @HostListener('window:resize') @HostListener('window:orientationchange', ['$event']) public onOrientationChange() { @@ -438,13 +456,35 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.preparationMethodHasBeenFocused = true; } - public resetPreparationTools() { - if (this.preparationMethodHasBeenFocused === true) { - this.data.method_of_preparation_tools = []; - this.preparationMethodHasBeenFocused = false; - if (this.timer.isTimerRunning() === false) { - this.initializeFlowChart(); - } + public attachToScaleWeightChange() { + const scale: BluetoothScale = this.bleManager.getScale(); + if (scale) { + this.deattachToWeightChange(); + + this.scaleFlowSubscription = scale.flowChange.subscribe((_val) => { + if ( + this.preparationDeviceConnected() && + this.preparationDevice.scriptAtWeightReachedId > -1 && + this.preparationDevice.scriptAtWeightReachedNumber > 0 + ) { + const weight: number = this.uiHelper.toFixedIfNecessary( + _val.actual, + 1 + ); + if (weight >= this.preparationDevice.scriptAtWeightReachedNumber) { + if (this.preparationDevice.scriptAtWeightReachedId > 0) { + this.preparationDevice.startScript( + this.preparationDevice.scriptAtWeightReachedId + ); + } else { + // Instant stop! + this.preparationDevice.stopScript(); + this.timer.pauseTimer(); + } + } + } + this.__setFlowProfile(_val); + }); } } @@ -476,33 +516,17 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } - public attachToScaleWeightChange() { - const scale: BluetoothScale = this.bleManager.getScale(); - if (scale) { - this.deattachToWeightChange(); - - this.scaleFlowSubscription = scale.flowChange.subscribe((_val) => { - this.__setFlowProfile(_val); - }); - } - } - - public attachToFlowChange() { - const scale: BluetoothScale = this.bleManager.getScale(); - if (scale) { - this.deattachToFlowChange(); - - this.scaleFlowChangeSubscription = scale.flowChange.subscribe((_val) => { - this.setActualSmartInformation(); - }); - } - } - public attachToPressureChange() { const pressureDevice: PressureDevice = this.bleManager.getPressureDevice(); if (pressureDevice) { this.deattachToPressureChange(); + const isEspressoBrew: boolean = + this.data.getPreparation().style_type === + PREPARATION_STYLE_TYPE.ESPRESSO; + if (!isEspressoBrew) { + return; + } this.pressureDeviceSubscription = pressureDevice.pressureChange.subscribe( (_val) => { const actual: number = _val.actual; @@ -527,6 +551,38 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } + public attachToFlowChange() { + const scale: BluetoothScale = this.bleManager.getScale(); + if (scale) { + this.deattachToFlowChange(); + + this.scaleFlowChangeSubscription = scale.flowChange.subscribe((_val) => { + this.setActualSmartInformation(); + }); + } + } + + public setCoffeeDripTime($event): void { + this.data.coffee_first_drip_time = this.getTime(); + if (this.settings.brew_milliseconds) { + this.data.coffee_first_drip_time_milliseconds = + this.timer.getMilliseconds(); + } + this.brewFirstDripTime.setTime( + this.data.coffee_first_drip_time, + this.data.coffee_first_drip_time_milliseconds + ); + + if ( + this.preparationDeviceConnected() && + this.preparationDevice.scriptAtFirstDripId > -1 + ) { + this.preparationDevice.startScript( + this.preparationDevice.scriptAtFirstDripId + ); + } + } + public bluetoothScaleSetGrindWeight() { this.data.grind_weight = this.getActualBluetoothWeight(); this.checkChanges(); @@ -644,63 +700,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { return 0; } - public setCoffeeDripTime($event): void { - this.data.coffee_first_drip_time = this.getTime(); - if (this.settings.brew_milliseconds) { - this.data.coffee_first_drip_time_milliseconds = - this.timer.getMilliseconds(); - } - this.brewFirstDripTime.setTime( - this.data.coffee_first_drip_time, - this.data.coffee_first_drip_time_milliseconds - ); - } - - public setCoffeeBloomingTime($event): void { - this.data.coffee_blooming_time = this.getTime(); - if (this.settings.brew_milliseconds) { - this.data.coffee_blooming_time_milliseconds = - this.timer.getMilliseconds(); - } - this.brewCoffeeBloomingTime.setTime( - this.data.coffee_blooming_time, - this.data.coffee_blooming_time_milliseconds - ); - } - - public brewTimeTicked(_event): void { - if (this.timer) { - this.data.brew_time = this.timer.getSeconds(); - if (this.settings.brew_milliseconds) { - this.data.brew_time_milliseconds = this.timer.getMilliseconds(); - } - } else { - this.data.brew_time = 0; - if (this.settings.brew_milliseconds) { - this.data.brew_time_milliseconds = 0; - } - } - } - - public async timerStartPressed(_event) { - if (this.data.brew_time > 0) { - const scale: BluetoothScale = this.bleManager.getScale(); - const pressureDevice: PressureDevice = - this.bleManager.getPressureDevice(); - if (scale || pressureDevice || !this.platform.is('cordova')) { - this.uiAlert.showMessage( - 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION', - 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE', - undefined, - true - ); - return; - } - } - await this.timerStarted(_event); - this.timer.startTimer(); - } - public async timerStarted(_event) { const scale: BluetoothScale = this.bleManager.getScale(); const pressureDevice: PressureDevice = this.bleManager.getPressureDevice(); @@ -792,6 +791,79 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.attachToPressureChange(); } } + if (this.preparationDeviceConnected()) { + if (this.preparationDevice.scriptStartId > -1) { + this.preparationDevice.startScript( + this.preparationDevice.scriptStartId + ); + } + } + } + + public setCoffeeBloomingTime($event): void { + this.data.coffee_blooming_time = this.getTime(); + if (this.settings.brew_milliseconds) { + this.data.coffee_blooming_time_milliseconds = + this.timer.getMilliseconds(); + } + this.brewCoffeeBloomingTime.setTime( + this.data.coffee_blooming_time, + this.data.coffee_blooming_time_milliseconds + ); + } + + public brewTimeTicked(_event): void { + if (this.timer) { + this.data.brew_time = this.timer.getSeconds(); + if (this.settings.brew_milliseconds) { + this.data.brew_time_milliseconds = this.timer.getMilliseconds(); + } + } else { + this.data.brew_time = 0; + if (this.settings.brew_milliseconds) { + this.data.brew_time_milliseconds = 0; + } + } + } + + public async timerStartPressed(_event) { + if (this.data.brew_time > 0) { + const scale: BluetoothScale = this.bleManager.getScale(); + const pressureDevice: PressureDevice = + this.bleManager.getPressureDevice(); + if (scale || pressureDevice || !this.platform.is('cordova')) { + this.uiAlert.showMessage( + 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_DESCRIPTION', + 'BREW_CANT_START_BECAUSE_TIMER_NOT_RESETTED_TITLE', + undefined, + true + ); + return; + } + } + await this.timerStarted(_event); + this.timer.startTimer(); + } + + public coffeeFirstDripTimeChanged(_event): void { + if (this.brewFirstDripTime) { + this.data.coffee_first_drip_time = this.brewFirstDripTime.getSeconds(); + if (this.settings.brew_milliseconds) { + this.data.coffee_first_drip_time_milliseconds = + this.brewFirstDripTime.getMilliseconds(); + } + } else { + this.data.coffee_first_drip_time = 0; + this.data.coffee_first_drip_time_milliseconds = 0; + } + if (!this.smartScaleConnected() && this.preparationDeviceConnected()) { + //If scale is not connected but the device, we can now choose that still the script is executed if existing. + if (this.preparationDevice.scriptAtFirstDripId > -1) { + this.preparationDevice.startScript( + this.preparationDevice.scriptAtFirstDripId + ); + } + } } public async timerResumedPressed(_event) { @@ -954,17 +1026,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } - public coffeeFirstDripTimeChanged(_event): void { - if (this.brewFirstDripTime) { - this.data.coffee_first_drip_time = this.brewFirstDripTime.getSeconds(); - if (this.settings.brew_milliseconds) { - this.data.coffee_first_drip_time_milliseconds = - this.brewFirstDripTime.getMilliseconds(); - } - } else { - this.data.coffee_first_drip_time = 0; - this.data.coffee_first_drip_time_milliseconds = 0; + public preparationDeviceConnected(): boolean { + if (this.preparationDevice) { + return true; } + return false; } public getPreparation(): Preparation { @@ -1004,6 +1070,106 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { return this.uiBrewHelper.showSectionAfterBrew(this.getPreparation()); } + public updateChart(_type: string = 'weight') { + try { + if (_type === 'weight') { + Plotly.extendTraces( + 'flowProfileChart', + { + x: [ + [this.weightTrace.x[this.weightTrace.x.length - 1]], + [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], + [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], + ], + y: [ + [this.weightTrace.y[this.weightTrace.y.length - 1]], + [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], + [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], + ], + }, + [0, 1, 2] + ); + } else { + Plotly.extendTraces( + 'flowProfileChart', + { + x: [ + [], + [], + [], + [this.pressureTrace.x[this.pressureTrace.x.length - 1]], + ], + y: [ + [], + [], + [], + [this.pressureTrace.y[this.pressureTrace.y.length - 1]], + ], + }, + [0, 1, 2, 3] + ); + } + + setTimeout(() => { + let newLayoutIsNeeded: boolean = false; + /**Timeout is needed, because on mobile devices, the trace and the relayout bothers each other, which results into not refreshing the graph*/ + let newRenderingInstance = 0; + if (this.maximizeFlowGraphIsShown === true) { + newRenderingInstance = Math.floor(this.timer.getSeconds() / 60); + } else { + newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); + } + + if ( + newRenderingInstance > this.lastChartRenderingInstance || + this.lastChartRenderingInstance === -1 + ) { + let subtractTime: number = this.maximizeFlowGraphIsShown ? 40 : 10; + const addTime: number = this.maximizeFlowGraphIsShown ? 70 : 30; + if (this.data.brew_time <= 10) { + subtractTime = 0; + } + + const delay = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() - subtractTime) + .toDate() + .getTime(); + const delayedTime: number = moment(new Date()) + .startOf('day') + .add('seconds', this.timer.getSeconds() + addTime) + .toDate() + .getTime(); + this.lastChartLayout.xaxis.range = [delay, delayedTime]; + newLayoutIsNeeded = true; + this.lastChartRenderingInstance = newRenderingInstance; + } + + if (this.weightTrace.y.length > 0) { + const lastWeightData: number = + this.weightTrace.y[this.weightTrace.y.length - 1]; + if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; + newLayoutIsNeeded = true; + } + } + if (this.realtimeFlowTrace.y.length > 0) { + const lastRealtimeFlowVal: number = + this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]; + if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { + //Scale a bit up + this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; + newLayoutIsNeeded = true; + } + } + if (newLayoutIsNeeded) { + Plotly.relayout('flowProfileChart', this.lastChartLayout); + } + }, 25); + } catch (ex) {} + } + public showSectionWhileBrew(): boolean { return this.uiBrewHelper.showSectionWhileBrew(this.getPreparation()); } @@ -1465,104 +1631,15 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.pressureTrace.visible = !this.pressureTrace.visible; } } - public updateChart(_type: string = 'weight') { - try { - if (_type === 'weight') { - Plotly.extendTraces( - 'flowProfileChart', - { - x: [ - [this.weightTrace.x[this.weightTrace.x.length - 1]], - [this.flowPerSecondTrace.x[this.flowPerSecondTrace.x.length - 1]], - [this.realtimeFlowTrace.x[this.realtimeFlowTrace.x.length - 1]], - ], - y: [ - [this.weightTrace.y[this.weightTrace.y.length - 1]], - [this.flowPerSecondTrace.y[this.flowPerSecondTrace.y.length - 1]], - [this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]], - ], - }, - [0, 1, 2] - ); - } else { - Plotly.extendTraces( - 'flowProfileChart', - { - x: [ - [], - [], - [], - [this.pressureTrace.x[this.pressureTrace.x.length - 1]], - ], - y: [ - [], - [], - [], - [this.pressureTrace.y[this.pressureTrace.y.length - 1]], - ], - }, - [3] - ); - } - setTimeout(() => { - let newLayoutIsNeeded: boolean = false; - /**Timeout is needed, because on mobile devices, the trace and the relayout bothers each other, which results into not refreshing the graph*/ - let newRenderingInstance = 0; - if (this.maximizeFlowGraphIsShown === true) { - newRenderingInstance = Math.floor(this.timer.getSeconds() / 60); - } else { - newRenderingInstance = Math.floor(this.timer.getSeconds() / 20); - } - - if ( - newRenderingInstance > this.lastChartRenderingInstance || - this.lastChartRenderingInstance === -1 - ) { - let subtractTime: number = this.maximizeFlowGraphIsShown ? 40 : 10; - const addTime: number = this.maximizeFlowGraphIsShown ? 70 : 30; - if (this.data.brew_time <= 10) { - subtractTime = 0; - } - - const delay = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() - subtractTime) - .toDate() - .getTime(); - const delayedTime: number = moment(new Date()) - .startOf('day') - .add('seconds', this.timer.getSeconds() + addTime) - .toDate() - .getTime(); - this.lastChartLayout.xaxis.range = [delay, delayedTime]; - newLayoutIsNeeded = true; - this.lastChartRenderingInstance = newRenderingInstance; - } - - if (this.weightTrace.y.length > 0) { - const lastWeightData: number = - this.weightTrace.y[this.weightTrace.y.length - 1]; - if (lastWeightData > this.lastChartLayout.yaxis.range[1]) { - //Scale a bit up - this.lastChartLayout.yaxis.range[1] = lastWeightData * 1.5; - newLayoutIsNeeded = true; - } - } - if (this.realtimeFlowTrace.y.length > 0) { - const lastRealtimeFlowVal: number = - this.realtimeFlowTrace.y[this.realtimeFlowTrace.y.length - 1]; - if (lastRealtimeFlowVal > this.lastChartLayout.yaxis2.range[1]) { - //Scale a bit up - this.lastChartLayout.yaxis2.range[1] = lastRealtimeFlowVal * 1.5; - newLayoutIsNeeded = true; - } - } - if (newLayoutIsNeeded) { - Plotly.relayout('flowProfileChart', this.lastChartLayout); - } - }, 25); - } catch (ex) {} + private instancePreparationDevice() { + const connectedDevice: PreparationDevice = + this.uiPreparationHelper.getConnectedDevice(this.data.getPreparation()); + if (connectedDevice) { + this.preparationDevice = connectedDevice as XeniaDevice; + } else { + this.preparationDevice = undefined; + } } public initializeFlowChart(_wait: boolean = true): void { diff --git a/src/services/uiPreparationHelper.ts b/src/services/uiPreparationHelper.ts index 4ba00dca1..be3756656 100644 --- a/src/services/uiPreparationHelper.ts +++ b/src/services/uiPreparationHelper.ts @@ -135,7 +135,7 @@ export class UIPreparationHelper { await this.uiPreparationStorage.add(clonedPreparation); } - public getConnectedDevice(_preparation: Preparation): XeniaDevice { + public getConnectedDevice(_preparation: Preparation): PreparationDevice { if ( _preparation.connectedPreparationDevice.type !== PreparationDeviceType.NONE && From d06e9cedb6d5fe0399c9913995ff53940b707970 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 8 Apr 2023 21:46:32 +0200 Subject: [PATCH 058/129] Update angular.json --- angular.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/angular.json b/angular.json index fd76efa5f..3a97c2494 100644 --- a/angular.json +++ b/angular.json @@ -187,7 +187,8 @@ "cli": { "schematicCollections": [ "@ionic/angular-toolkit" - ] + ], + "analytics": false }, "schematics": { "@ionic/angular-toolkit:component": { From fb597ee5ed999d25127056ae3a07216e21652a29 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sun, 9 Apr 2023 21:14:45 +0200 Subject: [PATCH 059/129] update --- package-lock.json | 44 ++++++++++++++++++++++++++++++++++++-------- package.json | 4 ++-- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87bec76ad..ed4851b11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,6 @@ "chartjs-plugin-annotation": "^1.3.0", "chartjs-plugin-streaming": "^2.0.0", "chartjs-plugin-zoom": "^1.2.0", - "cordova-android": "10.1.2", "cordova-android-support-gradle-release": "^3.0.1", "cordova-plugin-3dtouch": "^1.3.8", "cordova-plugin-android-permissions": "1.1.2", @@ -93,6 +92,7 @@ "@types/lodash": "^4.14.178", "@types/node": "^12.20.5", "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", + "cordova-android": "^10.1.2", "cordova-ios": "^6.2.0", "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-advanced-http": "^3.3.1", @@ -3637,6 +3637,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz", "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==", + "dev": true, "dependencies": { "assert-plus": "^1.0.0", "extsprintf": "^1.4.0", @@ -4492,7 +4493,8 @@ "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "node_modules/accepts": { "version": "1.3.8", @@ -4679,6 +4681,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.8.1.tgz", "integrity": "sha512-5a0YyylAk6pPM2Ezi0vWaPPNbS6tSNRs+micbgk5NpHEN5YW1ez+T94G5orysfwBEBDMHoxm5GNc5ZDUPgRrhw==", + "dev": true, "dependencies": { "semver": "^5.7.1" } @@ -4687,6 +4690,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, "bin": { "semver": "bin/semver" } @@ -4694,7 +4698,8 @@ "node_modules/ansi": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", - "integrity": "sha512-iFY7JCgHbepc0b82yLaw4IMortylNb6wG4kL+4R0C3iv6i+RHGHux/yUX5BTiRvSX/shMnngjR1YyNMnXEFh5A==" + "integrity": "sha512-iFY7JCgHbepc0b82yLaw4IMortylNb6wG4kL+4R0C3iv6i+RHGHux/yUX5BTiRvSX/shMnngjR1YyNMnXEFh5A==", + "dev": true }, "node_modules/ansi-colors": { "version": "4.1.3", @@ -4837,6 +4842,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "devOptional": true, "engines": { "node": ">=0.8" } @@ -5174,6 +5180,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, "dependencies": { "big-integer": "^1.6.44" }, @@ -6130,6 +6137,7 @@ "version": "10.1.2", "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-10.1.2.tgz", "integrity": "sha512-F28+NvgKO4ZhKFkqctCOh62mhVoNyUuRQh/F/nqp+Sti4ODv2rUa6UeW18khhdYTjlDeihHQsPqxvB7mI6fVYA==", + "dev": true, "dependencies": { "android-versions": "^1.7.0", "cordova-common": "^4.0.2", @@ -6168,6 +6176,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -6181,6 +6190,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.1.0.tgz", "integrity": "sha512-sYfOSfpYGQOmUDlsARUbpT/EvVKT/E+GI3zwTXt+C6DjZ7xs6ZQVHs3umHKSidjf9yVM2LLmvGFpGrGX7aGxug==", + "dev": true, "dependencies": { "@netflix/nerror": "^1.1.3", "ansi": "^0.3.1", @@ -6205,6 +6215,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6214,6 +6225,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6233,6 +6245,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -7155,7 +7168,8 @@ "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true }, "node_modules/deep-is": { "version": "0.1.4", @@ -7628,6 +7642,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz", "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==", + "dev": true, "dependencies": { "dedent": "^0.7.0", "fast-json-parse": "^1.0.3", @@ -8162,6 +8177,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz", "integrity": "sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==", + "devOptional": true, "engines": [ "node >=0.6.0" ] @@ -8189,7 +8205,8 @@ "node_modules/fast-json-parse": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", - "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==" + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", + "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", @@ -9827,6 +9844,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -12449,6 +12467,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, "dependencies": { "abbrev": "1" }, @@ -12722,7 +12741,8 @@ "node_modules/objectorarray": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", - "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==" + "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==", + "dev": true }, "node_modules/obuf": { "version": "1.1.2", @@ -12934,6 +12954,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, "engines": { "node": ">=4" } @@ -13308,6 +13329,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "devOptional": true, "engines": { "node": ">=6" } @@ -13850,6 +13872,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.3.1.tgz", "integrity": "sha512-AkSQxQAviJ89x4FIxOyHGfO3uund0gvYo7lfD0E+Gp7gFQKrTNgtoYQklu8EhrfHVZUzTwKGZx2r/KDSfnljcA==", + "dev": true, "dependencies": { "string.prototype.codepointat": "^0.2.0" }, @@ -14392,6 +14415,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", + "dev": true, "dependencies": { "pify": "^4.0.1", "with-open-file": "^0.1.6" @@ -16165,7 +16189,8 @@ "node_modules/string.prototype.codepointat": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", - "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" + "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==", + "dev": true }, "node_modules/strip-ansi": { "version": "6.0.1", @@ -16182,6 +16207,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, "engines": { "node": ">=8" } @@ -17244,7 +17270,8 @@ "node_modules/underscore": { "version": "1.13.6", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -18120,6 +18147,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", + "dev": true, "dependencies": { "p-finally": "^1.0.0", "p-try": "^2.1.0", diff --git a/package.json b/package.json index 427e28b48..0bb677e60 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,6 @@ "chartjs-plugin-annotation": "^1.3.0", "chartjs-plugin-streaming": "^2.0.0", "chartjs-plugin-zoom": "^1.2.0", - "cordova-android": "10.1.2", "cordova-android-support-gradle-release": "^3.0.1", "cordova-plugin-3dtouch": "^1.3.8", "cordova-plugin-android-permissions": "1.1.2", @@ -100,6 +99,7 @@ "@types/lodash": "^4.14.178", "@types/node": "^12.20.5", "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", + "cordova-android": "^10.1.2", "cordova-ios": "^6.2.0", "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-advanced-http": "^3.3.1", @@ -251,4 +251,4 @@ "*.css": "stylelint --fix", "*.{ts,js,css,md}": "prettier --write" } -} +} \ No newline at end of file From 0f59ffb771a9abd2a4cb1ecb8211e7ac10cd26ab Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Tue, 11 Apr 2023 21:09:11 +0200 Subject: [PATCH 060/129] #503 --- .../preparation-popover-actions.component.html | 10 +++------- src/assets/i18n/de.json | 4 +++- .../brews/brew-brewing/brew-brewing.component.html | 14 +++++++++++--- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html index 0e1774161..e8a95e95d 100644 --- a/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html +++ b/src/app/preparation/preparation-popover-actions/preparation-popover-actions.component.html @@ -23,13 +23,9 @@ {{"ARCHIVE" | translate}}
      - - - {{"CONNECT_PORTAFILTER" | translate}} - - - - {{"CONNECT_PORTAFILTER" | translate}} + + + {{"DEVICE_CONNECTION" | translate}} diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 4e003af67..7ece96014 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1380,5 +1380,7 @@ "SCRIPT_LIST_GENERAL_1": "Espresso, 25 Sekunden", "SCRIPT_LIST_GENERAL_2": "Espresso, Endlos" } - } + }, + "DEVICE_CONNECTION": "Geräteverbindung", + "PREPARATION_DEVICE_CONNECTION": "Geräteverbindung" } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index 046344b25..ec32dfe15 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -287,9 +287,17 @@ inputmode="decimal" prevent-characters remove-empty-number tabIndex="1" type="text"> - + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} + From 630679571ffffd8476f3302e76c76853b2530f3b Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Thu, 13 Apr 2023 21:24:01 +0200 Subject: [PATCH 061/129] Changed sponsoring to kofi --- src/app/app.component.ts | 4 +--- src/data/tracking/linkTracking.ts | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index f2dd0de55..5a3fd557b 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -896,8 +896,6 @@ export class AppComponent implements AfterViewInit { LINK_TRACKING.TITLE, LINK_TRACKING.ACTIONS.BUY_ME_A_COFFEE ); - this.uiHelper.openExternalWebpage( - 'https://www.buymeacoffee.com/beanconqueror' - ); + this.uiHelper.openExternalWebpage('https://ko-fi.com/beanconqueror'); } } diff --git a/src/data/tracking/linkTracking.ts b/src/data/tracking/linkTracking.ts index 37c63376d..2c761d3ac 100644 --- a/src/data/tracking/linkTracking.ts +++ b/src/data/tracking/linkTracking.ts @@ -7,6 +7,7 @@ export default { INSTAGRAM: 'INSTAGRAM', FACEBOOK: 'FACEBOOK', BUY_ME_A_COFFEE: 'BUY_ME_A_COFFEE', + KOFI: 'KOFI', GITHUB_SPONSOR: 'GITHUB_SPONSOR', WEBSITE: 'WEBSITE', }, From dd5b40071f057641e924918df56d946f94b00b0c Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Thu, 13 Apr 2023 22:44:11 +0200 Subject: [PATCH 062/129] #519 - Support visualizer on hand export --- .../brew/brew-detail/brew-detail.component.ts | 6 +- .../brew-popover-actions.component.html | 4 +- .../beanconqueror-visualizer.svg | 6 + src/assets/i18n/de.json | 3 +- .../brew-information.component.ts | 2 +- .../android-platform.service.ts | 271 +++++++++++------- src/services/uiFileHelper.ts | 2 +- src/services/uiHelper.ts | 2 +- 8 files changed, 178 insertions(+), 118 deletions(-) create mode 100644 src/assets/custom-ion-icons/beanconqueror-visualizer.svg diff --git a/src/app/brew/brew-detail/brew-detail.component.ts b/src/app/brew/brew-detail/brew-detail.component.ts index f6a784708..9f88e3b69 100644 --- a/src/app/brew/brew-detail/brew-detail.component.ts +++ b/src/app/brew/brew-detail/brew-detail.component.ts @@ -515,7 +515,11 @@ export class BrewDetailComponent implements OnInit { 'Beanconqueror_Flowprofile_JSON_' + moment().format('HH_mm_ss_DD_MM_YYYY').toString() + '.json'; - await this.uiHelper.exportJSON(filename, JSON.stringify(jsonParsed)); + await this.uiHelper.exportJSON( + filename, + JSON.stringify(jsonParsed), + true + ); if (this.platform.is('android')) { const alert = await this.alertCtrl.create({ header: this.translate.instant('DOWNLOADED'), diff --git a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html index 0716e4f59..8d2eb1979 100644 --- a/src/app/brew/brew-popover-actions/brew-popover-actions.component.html +++ b/src/app/brew/brew-popover-actions/brew-popover-actions.component.html @@ -44,8 +44,8 @@ {{"POPOVER_BREWS_OPTION_DELETE" | translate}} - - {{"VISUALIZER" | translate}} + + {{"MANUAL_EXPORT_TO_VISUALIZER" | translate}} diff --git a/src/assets/custom-ion-icons/beanconqueror-visualizer.svg b/src/assets/custom-ion-icons/beanconqueror-visualizer.svg new file mode 100644 index 000000000..e1031833f --- /dev/null +++ b/src/assets/custom-ion-icons/beanconqueror-visualizer.svg @@ -0,0 +1,6 @@ + + + + diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 7ece96014..55da6be4e 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1382,5 +1382,6 @@ } }, "DEVICE_CONNECTION": "Geräteverbindung", - "PREPARATION_DEVICE_CONNECTION": "Geräteverbindung" + "PREPARATION_DEVICE_CONNECTION": "Geräteverbindung", + "MANUAL_EXPORT_TO_VISUALIZER": "Exportieren zu Visualizer" } diff --git a/src/components/brew-information/brew-information.component.ts b/src/components/brew-information/brew-information.component.ts index 8fcad968b..bb2f9892b 100644 --- a/src/components/brew-information/brew-information.component.ts +++ b/src/components/brew-information/brew-information.component.ts @@ -159,7 +159,7 @@ export class BrewInformationComponent implements OnInit { try { await this.uiHelper.exportJSON( - 'visualizer.json', + this.brew.config.uuid + '_visualizer.json', JSON.stringify(vS), true ); diff --git a/src/services/androidPlatform/android-platform.service.ts b/src/services/androidPlatform/android-platform.service.ts index 932a4c599..39f7b1601 100644 --- a/src/services/androidPlatform/android-platform.service.ts +++ b/src/services/androidPlatform/android-platform.service.ts @@ -1,52 +1,56 @@ import { Injectable } from '@angular/core'; -import {UIStorage} from '../uiStorage'; -import {UILog} from '../uiLog'; -import {UIFileHelper} from '../uiFileHelper'; -import {EventQueueService} from '../queueService/queue-service.service'; -import {Platform} from '@ionic/angular'; -import {AppEventType} from '../../enums/appEvent/appEvent'; -import {debounceTime} from 'rxjs/operators'; -import {FileEntry} from '@ionic-native/file'; -import {UIHelper} from '../uiHelper'; +import { UIStorage } from '../uiStorage'; +import { UILog } from '../uiLog'; +import { UIFileHelper } from '../uiFileHelper'; +import { EventQueueService } from '../queueService/queue-service.service'; +import { Platform } from '@ionic/angular'; +import { AppEventType } from '../../enums/appEvent/appEvent'; +import { debounceTime } from 'rxjs/operators'; +import { FileEntry } from '@ionic-native/file'; +import { UIHelper } from '../uiHelper'; import moment from 'moment'; -import {AndroidPermissions} from '@ionic-native/android-permissions/ngx'; -import {UIAlert} from '../uiAlert'; -import {UISettingsStorage} from '../uiSettingsStorage'; -import {UIBrewStorage} from '../uiBrewStorage'; +import { AndroidPermissions } from '@ionic-native/android-permissions/ngx'; +import { UIAlert } from '../uiAlert'; +import { UISettingsStorage } from '../uiSettingsStorage'; +import { UIBrewStorage } from '../uiBrewStorage'; @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class AndroidPlatformService { - - - constructor(private readonly uiStorage: UIStorage, - private readonly uiLog: UILog, - private readonly uiFileHelper: UIFileHelper, - private readonly eventQueue: EventQueueService, - private readonly platform: Platform, - private readonly uiHelper: UIHelper, - private readonly androidPermissions: AndroidPermissions, - private readonly uiAlert: UIAlert, - private readonly uiSettingsStorage: UISettingsStorage, - private readonly uiBrewStorage: UIBrewStorage) { - + constructor( + private readonly uiStorage: UIStorage, + private readonly uiLog: UILog, + private readonly uiFileHelper: UIFileHelper, + private readonly eventQueue: EventQueueService, + private readonly platform: Platform, + private readonly uiHelper: UIHelper, + private readonly androidPermissions: AndroidPermissions, + private readonly uiAlert: UIAlert, + private readonly uiSettingsStorage: UISettingsStorage, + private readonly uiBrewStorage: UIBrewStorage + ) { if (this.platform.is('cordova') && this.platform.is('android')) { - this.uiHelper.isBeanconqurorAppReady().then(() => { - // Delete on startup old json backup files - this.uiFileHelper.deleteJSONBackupsOlderThenSevenDays().then(() => { - - }, () => {}); - },() => {}); - this.eventQueue.on(AppEventType.STORAGE_CHANGED).pipe( - // Wait for 3 seconds before we call the the debounce - debounceTime(3000) - ).subscribe((event) =>{ - - this.__saveBeanconquerorDump(); - this.__saveAutomaticBeanconquerorDump(); - } ); + this.uiHelper.isBeanconqurorAppReady().then( + () => { + // Delete on startup old json backup files + this.uiFileHelper.deleteJSONBackupsOlderThenSevenDays().then( + () => {}, + () => {} + ); + }, + () => {} + ); + this.eventQueue + .on(AppEventType.STORAGE_CHANGED) + .pipe( + // Wait for 3 seconds before we call the the debounce + debounceTime(3000) + ) + .subscribe((event) => { + this.__saveBeanconquerorDump(); + this.__saveAutomaticBeanconquerorDump(); + }); } - } private getAutomatedBackupFilename(): string { @@ -56,103 +60,153 @@ export class AndroidPlatformService { private __saveBeanconquerorDump() { this.uiLog.log('android-Platform - Start to export JSON file'); this.uiStorage.export().then((_data) => { - this.uiFileHelper.saveJSONFile('Beanconqueror.json', JSON.stringify(_data)).then(async () => { - this.uiLog.log('android-Platform - JSON file successfully saved'); - }, () => { - this.uiLog.error('android-Platform - JSON file could not be saved'); - }); + this.uiFileHelper + .saveJSONFile('Beanconqueror.json', JSON.stringify(_data)) + .then( + async () => { + this.uiLog.log('android-Platform - JSON file successfully saved'); + }, + () => { + this.uiLog.error('android-Platform - JSON file could not be saved'); + } + ); }); } private __saveAutomaticBeanconquerorDump() { - - const settings = this.uiSettingsStorage.getSettings(); const welcomePagedShowed: boolean = settings.welcome_page_showed; const brewsAdded: boolean = this.uiBrewStorage.getAllEntries().length > 0; - if (welcomePagedShowed === true && brewsAdded ===true) { + if (welcomePagedShowed === true && brewsAdded === true) { //Just save the dumps after we showed the welcome page, else we ask user for permission and save automatically. this.uiLog.log('Android-Platform - Start to export JSON file'); this.uiStorage.export().then((_data) => { - - this.uiHelper.exportJSON('Beanconqueror_automatic_export_' + this.getAutomatedBackupFilename() + '.json', JSON.stringify(_data)).then(async (_fileEntry: FileEntry) => { - this.uiLog.log('Android-Platform - JSON file successfully saved'); - }, () => { - this.uiLog.error('Android-Platform - JSON file could not be saved'); - }); + this.uiHelper + .exportJSON( + 'Beanconqueror_automatic_export_' + + this.getAutomatedBackupFilename() + + '.json', + JSON.stringify(_data), + false + ) + .then( + async (_fileEntry: FileEntry) => { + this.uiLog.log('Android-Platform - JSON file successfully saved'); + }, + () => { + this.uiLog.error( + 'Android-Platform - JSON file could not be saved' + ); + } + ); }); } - } - private requestExternalStorageAccess() { const promise = new Promise((resolve, reject) => { - this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE).then((_status) => { - if (_status.hasPermission) { - resolve(undefined); - } else { - reject(); - } - }, () => { - reject(); - }); + this.androidPermissions + .requestPermission( + this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE + ) + .then( + (_status) => { + if (_status.hasPermission) { + resolve(undefined); + } else { + reject(); + } + }, + () => { + reject(); + } + ); }); return promise; } public async checkHasExternalStorage() { const promise = new Promise((resolve, reject) => { - this.androidPermissions.hasPermission(this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE).then(async (_status) => { - if (_status.hasPermission === false) { - await this.uiAlert.showMessage('ANDROID_FILE_ACCESS_NEEDED_DESCRIPTION','ANDROID_FILE_ACCESS_NEEDED_TITLE',undefined,true); - this.requestExternalStorageAccess().then( () => { - resolve(undefined); - }, () => { + this.androidPermissions + .hasPermission( + this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE + ) + .then( + async (_status) => { + if (_status.hasPermission === false) { + await this.uiAlert.showMessage( + 'ANDROID_FILE_ACCESS_NEEDED_DESCRIPTION', + 'ANDROID_FILE_ACCESS_NEEDED_TITLE', + undefined, + true + ); + this.requestExternalStorageAccess().then( + () => { + resolve(undefined); + }, + () => { + reject(); + } + ); + } else { + resolve(undefined); + } + }, + () => { reject(); - }); - } else { - resolve(undefined); - } - }, () => { - reject(); - }); + } + ); }); return promise; } - public async checkAndroidBackup() { try { - const promise = new Promise(async(resolve, reject) => { + const promise = new Promise(async (resolve, reject) => { if (this.platform.is('cordova') && this.platform.is('android')) { - this.uiLog.log('android-Platform - Check Android Backup'); const hasData = await this.uiStorage.hasData(); - this.uiLog.log('android-Platform - Check Android Backup - Has data ' + hasData); + this.uiLog.log( + 'android-Platform - Check Android Backup - Has data ' + hasData + ); if (!hasData) { - this.uiLog.log('android-Platform - Check Android Backup - No data are stored yet inside the app, so we try to find a backup file'); + this.uiLog.log( + 'android-Platform - Check Android Backup - No data are stored yet inside the app, so we try to find a backup file' + ); // If we don't got any data, we check now if there is a Beanconqueror.json saved. - this.uiFileHelper.getJSONFile('Beanconqueror.json').then(async (_json) => { - await this.uiAlert.showLoadingSpinner(); - this.uiLog.log('android-Platform - We found a backup, try to import'); - this.uiStorage.import(_json).then(async () => { - this.uiLog.log('android-Platform sucessfully imported Backup'); - setTimeout(() => { - this.uiAlert.hideLoadingSpinner(); - },150); + this.uiFileHelper.getJSONFile('Beanconqueror.json').then( + async (_json) => { + await this.uiAlert.showLoadingSpinner(); + this.uiLog.log( + 'android-Platform - We found a backup, try to import' + ); + this.uiStorage.import(_json).then( + async () => { + this.uiLog.log( + 'android-Platform sucessfully imported Backup' + ); + setTimeout(() => { + this.uiAlert.hideLoadingSpinner(); + }, 150); + resolve(null); + }, + () => { + this.uiLog.error( + 'android-Platform could not import Backup' + ); + setTimeout(() => { + this.uiAlert.hideLoadingSpinner(); + }, 150); + resolve(null); + } + ); + }, + () => { + this.uiLog.log( + 'android-Platform - Check Android Backup - We couldnt retrieve any file' + ); resolve(null); - },() => { - this.uiLog.error('android-Platform could not import Backup'); - setTimeout(() => { - this.uiAlert.hideLoadingSpinner(); - },150); - resolve(null); - - }); - }, () => { - this.uiLog.log('android-Platform - Check Android Backup - We couldnt retrieve any file'); - resolve(null); - }); + } + ); } else { resolve(null); } @@ -161,11 +215,6 @@ export class AndroidPlatformService { } }); return promise; - }catch(ex) { - - } - - + } catch (ex) {} } - } diff --git a/src/services/uiFileHelper.ts b/src/services/uiFileHelper.ts index 555986fa2..4b2c6d58d 100644 --- a/src/services/uiFileHelper.ts +++ b/src/services/uiFileHelper.ts @@ -311,7 +311,7 @@ export class UIFileHelper extends InstanceClass { fileEntry.createWriter( (writer) => { writer.onwriteend = () => { - if (this.platform.is('ios') && _share === true) { + if (_share === true) { this.socialSharing.share( undefined, undefined, diff --git a/src/services/uiHelper.ts b/src/services/uiHelper.ts index 6d213a66a..4b65197de 100755 --- a/src/services/uiHelper.ts +++ b/src/services/uiHelper.ts @@ -247,7 +247,7 @@ export class UIHelper { public async exportJSON( fileName: string, jsonContent: string, - _share: boolean = true + _share: boolean = false ): Promise { const promise = new Promise(async (resolve, reject) => { // Fixed umlaut issue From 4839e9c55e82e51d8d7e272ef300d663394d2568 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Thu, 13 Apr 2023 22:52:20 +0200 Subject: [PATCH 063/129] Added discord link --- src/app/app.component.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 5a3fd557b..5f4e6ca7e 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -849,9 +849,7 @@ export class AppComponent implements AfterViewInit { LINK_TRACKING.TITLE, LINK_TRACKING.ACTIONS.DISCORD ); - this.uiHelper.openExternalWebpage( - 'https://discordapp.com/users/205027003106066432' - ); + this.uiHelper.openExternalWebpage('https://discord.gg/vDzA5dZjG8'); } public openInstagram() { From 76088a52d50a5ddfbb2270e80c7cdb23f9ed89df Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 15 Apr 2023 21:43:49 +0200 Subject: [PATCH 064/129] #511 Added flavors to bottom by brews --- src/assets/i18n/de.json | 4 ++-- .../brew-information/brew-information.component.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 55da6be4e..1853a6252 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -102,7 +102,7 @@ "BEAN_DATA_HARVEST_TIME": "Ernte", "BEAN_DATA_PERCENTAGE": "Prozentualer Anteil", "BEAN_DATA_CERTIFICATION": "Bohnenzertifikat", - "BEAN_DATA_ROASTING_TYPE": "RÃļsttyp", + "BEAN_DATA_ROASTING_TYPE": "RÃļstkategorie", "BEAN_DATA_DECAFFEINATED": "Entkoffeiniert", "BEAN_DATA_URL": "Webseite", "BEAN_DATA_EAN": "EAN / Artikelnummer", @@ -399,7 +399,7 @@ "BEAN_DATA_BUY_DATE": "Wann wurde die Bohne gekauft?", "BEAN_DATA_PERCENTAGE": "FÃŧge den prozentualen Anteil hinzu", "BEAN_DATA_CERTIFICATION": "FÃŧge das Bohnenzertifikat hinzu (Fairtrade, Bio)", - "BEAN_DATA_ROASTING_TYPE": "FÃŧge den RÃļsttyp hinzu", + "BEAN_DATA_ROASTING_TYPE": "FÃŧge den RÃļstkategorie hinzu", "BEAN_DATA_DECAFFEINATED": "Ist der Kaffee Entkoffeiniert", "BEAN_DATA_URL": "FÃŧge die Webseite hinzu", "BEAN_DATA_EAN": "FÃŧge die EAN oder Artikelnummer hinzu", diff --git a/src/components/brew-information/brew-information.component.html b/src/components/brew-information/brew-information.component.html index 8400e778e..6a304edda 100644 --- a/src/components/brew-information/brew-information.component.html +++ b/src/components/brew-information/brew-information.component.html @@ -97,10 +97,6 @@ {{'BREW_DATA_TDS_EY' | translate}}
      {{brew?.tds}}, %{{brew?.getExtractionYield()}} - - {{'BREW_DATA_FLAVOR' | translate}}
      - {{getCuppedBrewFlavors()}} -
      @@ -175,6 +171,10 @@ {{brew?.getPreparationToolName(uuid)}}
      + + {{'BREW_DATA_FLAVOR' | translate}}
      + {{getCuppedBrewFlavors()}} +
      From ded30264c44b6a5bb6b214f8145114f5b72647ed Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 15 Apr 2023 21:55:38 +0200 Subject: [PATCH 065/129] #507 - Wrapping check changes in set timeout so values should be updated --- .../brews/brew-brewing/brew-brewing.component.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/brews/brew-brewing/brew-brewing.component.ts b/src/components/brews/brew-brewing/brew-brewing.component.ts index 868931ef8..a52f99580 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.ts +++ b/src/components/brews/brew-brewing/brew-brewing.component.ts @@ -1607,8 +1607,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } private checkChanges() { - this.changeDetectorRef.detectChanges(); - window.getComputedStyle(window.document.getElementsByTagName('body')[0]); + // #507 Wrapping check changes in set timeout so all values get checked + setTimeout(() => { + this.changeDetectorRef.detectChanges(); + window.getComputedStyle(window.document.getElementsByTagName('body')[0]); + }, 15); } private getActualBluetoothWeight() { From 7e20f3a42083ba1d46291d861a7fec47fd23d6b8 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 15 Apr 2023 22:06:09 +0200 Subject: [PATCH 066/129] #515 - Fixing rounding issues on water --- .../water-information-card.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/water-information-card/water-information-card.component.html b/src/components/water-information-card/water-information-card.component.html index 578ce100a..294fffabf 100644 --- a/src/components/water-information-card/water-information-card.component.html +++ b/src/components/water-information-card/water-information-card.component.html @@ -30,7 +30,7 @@ {{"WATER_SECTION.AMOUNT" | translate}}
      - {{getAmount()}} + {{getAmount() | number : '.0-2'}}
      From 8cad0b069d803c46e2adec1d258a0f5a43a6f6a3 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 15 Apr 2023 22:13:13 +0200 Subject: [PATCH 067/129] #500 Fixing translations --- src/app/beans/bean-filter/bean-filter.component.html | 2 +- src/app/brew/brew-filter/brew-filter.component.html | 2 +- src/assets/i18n/de.json | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/beans/bean-filter/bean-filter.component.html b/src/app/beans/bean-filter/bean-filter.component.html index 842ecae9a..393757352 100644 --- a/src/app/beans/bean-filter/bean-filter.component.html +++ b/src/app/beans/bean-filter/bean-filter.component.html @@ -2,7 +2,7 @@ - {{"BREW_FILTER_JUST_FAVOURITE" | translate }} + {{"ONLY_FAVOURITES" | translate }} diff --git a/src/app/brew/brew-filter/brew-filter.component.html b/src/app/brew/brew-filter/brew-filter.component.html index ba32a8718..557eac7e2 100644 --- a/src/app/brew/brew-filter/brew-filter.component.html +++ b/src/app/brew/brew-filter/brew-filter.component.html @@ -40,7 +40,7 @@ - {{"BREW_FILTER_JUST_FAVOURITE" | translate }} + {{"ONLY_FAVOURITES" | translate }} diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 1853a6252..39e4605fa 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1383,5 +1383,6 @@ }, "DEVICE_CONNECTION": "Geräteverbindung", "PREPARATION_DEVICE_CONNECTION": "Geräteverbindung", - "MANUAL_EXPORT_TO_VISUALIZER": "Exportieren zu Visualizer" + "MANUAL_EXPORT_TO_VISUALIZER": "Exportieren zu Visualizer", + "ONLY_FAVOURITES": "Nur Favoriten" } From f87d374a56c87bdd7bd3876e35b2cf50bd2fe909 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 15 Apr 2023 23:03:59 +0200 Subject: [PATCH 068/129] Updating plugin for ble --- package-lock.json | 2 +- package.json | 14 +- .../coffee-bluetooth-devices.service.ts | 133 ++++++++++-------- 3 files changed, 85 insertions(+), 64 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed4851b11..f00538f38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", "cordova-plugin-apprate": "^1.7.2", - "cordova-plugin-ble-central": "^1.5.2", + "cordova-plugin-ble-central": "^1.6.3", "cordova-plugin-camera": "^6.0.0", "cordova-plugin-customurlscheme-ng": "^10.0.0", "cordova-plugin-dialogs": "^2.0.2", diff --git a/package.json b/package.json index 0bb677e60..aca894a81 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", "cordova-plugin-apprate": "^1.7.2", - "cordova-plugin-ble-central": "^1.5.2", + "cordova-plugin-ble-central": "^1.6.3", "cordova-plugin-camera": "^6.0.0", "cordova-plugin-customurlscheme-ng": "^10.0.0", "cordova-plugin-dialogs": "^2.0.2", @@ -221,17 +221,17 @@ "cordova-plugin-camera": { "ANDROIDX_CORE_VERSION": "1.6.+" }, - "cordova-plugin-ble-central": { - "BLUETOOTH_USAGE_DESCRIPTION": "Bluetooth access needed to connect smartscales", - "IOS_INIT_ON_LOAD": "false", - "ACCESS_BACKGROUND_LOCATION": "false", - "BLUETOOTH_RESTORE_STATE": "false" - }, "cordova-plugin-file": { "ANDROIDX_WEBKIT_VERSION": "1.4.0" }, "cordova-plugin-advanced-http": { "ANDROIDBLACKLISTSECURESOCKETPROTOCOLS": "SSLv3,TLSv1" + }, + "cordova-plugin-ble-central": { + "BLUETOOTH_USAGE_DESCRIPTION": "Bluetooth access needed to connect smartscales", + "IOS_INIT_ON_LOAD": "false", + "ACCESS_BACKGROUND_LOCATION": "false", + "BLUETOOTH_RESTORE_STATE": "false" } }, "platforms": [ diff --git a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts index c2fce6d21..119578cb2 100644 --- a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts +++ b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts @@ -223,18 +223,21 @@ export class CoffeeBluetoothDevicesService { ble.startScan( [], - async (device: any) => { - this.logger.log('Pressure devices found ' + JSON.stringify(device)); + async (devicePressure: any) => { + this.logger.log( + 'Pressure devices found ' + JSON.stringify(devicePressure) + ); if ( - PrsPressure.test(device) || - PopsiclePressure.test(device) || - TransducerDirectPressure.test(device) + PrsPressure.test(devicePressure) || + PopsiclePressure.test(devicePressure) || + TransducerDirectPressure.test(devicePressure) ) { // We found all needed devices. - devices.push(device); + devices.push(devicePressure); this.logger.log( - 'Supported pressure devices found ' + JSON.stringify(device) + 'Supported pressure devices found ' + + JSON.stringify(devicePressure) ); clearTimeout(timeoutVar); timeoutVar = null; @@ -343,35 +346,35 @@ export class CoffeeBluetoothDevicesService { this.logger.log('BleManager - Start looping through devices'); const devices: Array = await this.scanDevices(); this.logger.log('BleManager - Ended looping through devices'); - for (const device of devices) { - if (DecentScale.test(device)) { + for (const deviceScale of devices) { + if (DecentScale.test(deviceScale)) { this.logger.log('BleManager - We found a decent scale'); - resolve({ id: device.id, type: ScaleType.DECENT }); + resolve({ id: deviceScale.id, type: ScaleType.DECENT }); return; } - if (LunarScale.test(device)) { + if (LunarScale.test(deviceScale)) { this.logger.log('BleManager - We found a lunar/acaia scale'); - resolve({ id: device.id, type: ScaleType.LUNAR }); + resolve({ id: deviceScale.id, type: ScaleType.LUNAR }); return; } - if (JimmyScale.test(device)) { + if (JimmyScale.test(deviceScale)) { this.logger.log('BleManager - We found a jimmy scale'); - resolve({ id: device.id, type: ScaleType.JIMMY }); + resolve({ id: deviceScale.id, type: ScaleType.JIMMY }); return; } - if (FelicitaScale.test(device)) { + if (FelicitaScale.test(deviceScale)) { this.logger.log('BleManager - We found a felicita scale'); - resolve({ id: device.id, type: ScaleType.FELICITA }); + resolve({ id: deviceScale.id, type: ScaleType.FELICITA }); return; } - if (EurekaPrecisaScale.test(device)) { + if (EurekaPrecisaScale.test(deviceScale)) { this.logger.log('BleManager - We found a eureka scale'); - resolve({ id: device.id, type: ScaleType.EUREKAPRECISA }); + resolve({ id: deviceScale.id, type: ScaleType.EUREKAPRECISA }); return; } - if (SkaleScale.test(device)) { + if (SkaleScale.test(deviceScale)) { this.logger.log('BleManager - We found a skale scale'); - resolve({ id: device.id, type: ScaleType.SKALE }); + resolve({ id: deviceScale.id, type: ScaleType.SKALE }); return; } } @@ -386,34 +389,46 @@ export class CoffeeBluetoothDevicesService { const devices: Array = await this.scanDevices(); this.logger.log('BleManager - Loop through devices'); const supportedDevices: Array<{ id: string; type: ScaleType }> = []; - for (const device of devices) { - if (DecentScale.test(device)) { + for (const deviceScale of devices) { + if (DecentScale.test(deviceScale)) { this.logger.log('BleManager - We found a decent scale'); - supportedDevices.push({ id: device.id, type: ScaleType.DECENT }); + supportedDevices.push({ + id: deviceScale.id, + type: ScaleType.DECENT, + }); } - if (LunarScale.test(device)) { + if (LunarScale.test(deviceScale)) { this.logger.log('BleManager - We found a lunar/acaia scale'); - supportedDevices.push({ id: device.id, type: ScaleType.LUNAR }); + supportedDevices.push({ + id: deviceScale.id, + type: ScaleType.LUNAR, + }); } - if (JimmyScale.test(device)) { + if (JimmyScale.test(deviceScale)) { this.logger.log('BleManager - We found a jimmy scale'); - supportedDevices.push({ id: device.id, type: ScaleType.JIMMY }); + supportedDevices.push({ + id: deviceScale.id, + type: ScaleType.JIMMY, + }); } - if (FelicitaScale.test(device)) { + if (FelicitaScale.test(deviceScale)) { this.logger.log('BleManager - We found a felicita scale'); - supportedDevices.push({ id: device.id, type: ScaleType.FELICITA }); + supportedDevices.push({ + id: deviceScale.id, + type: ScaleType.FELICITA, + }); } - if (EurekaPrecisaScale.test(device)) { + if (EurekaPrecisaScale.test(deviceScale)) { this.logger.log('BleManager - We found a eureka scale'); supportedDevices.push({ - id: device.id, + id: deviceScale.id, type: ScaleType.EUREKAPRECISA, }); } - if (SkaleScale.test(device)) { + if (SkaleScale.test(deviceScale)) { this.logger.log('BleManager - We found a skale scale'); supportedDevices.push({ - id: device.id, + id: deviceScale.id, type: ScaleType.SKALE, }); } @@ -429,28 +444,34 @@ export class CoffeeBluetoothDevicesService { const devices: Array = await this.scanPressureDevices(); this.logger.log('BleManager - Loop through pressure devices'); const supportedDevices: Array<{ id: string; type: PressureType }> = []; - for (const device of devices) { - if (PrsPressure.test(device)) { + for (const devicePressure of devices) { + if (PrsPressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a PRS Direct pressure device ' + - JSON.stringify(device) + JSON.stringify(devicePressure) ); - supportedDevices.push({ id: device.id, type: PressureType.PRS }); - } else if (PopsiclePressure.test(device)) { + supportedDevices.push({ + id: devicePressure.id, + type: PressureType.PRS, + }); + } else if (PopsiclePressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a popsicle pressure device ' + - JSON.stringify(device) + JSON.stringify(devicePressure) ); supportedDevices.push({ - id: device.id, + id: devicePressure.id, type: PressureType.POPSICLE, }); - } else if (TransducerDirectPressure.test(device)) { + } else if (TransducerDirectPressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a Transducer Direct pressure device ' + - JSON.stringify(device) + JSON.stringify(devicePressure) ); - supportedDevices.push({ id: device.id, type: PressureType.DIRECT }); + supportedDevices.push({ + id: devicePressure.id, + type: PressureType.DIRECT, + }); } } resolve(supportedDevices); @@ -463,27 +484,27 @@ export class CoffeeBluetoothDevicesService { async (resolve, reject) => { const devices: Array = await this.scanPressureDevices(); this.logger.log('BleManager - Loop through pressure devices'); - for (const device of devices) { - if (PopsiclePressure.test(device)) { + for (const devicePressure of devices) { + if (PopsiclePressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a popsicle pressure device ' ); - resolve({ id: device.id, type: PressureType.POPSICLE }); + resolve({ id: devicePressure.id, type: PressureType.POPSICLE }); return; - } else if (TransducerDirectPressure.test(device)) { + } else if (TransducerDirectPressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a Transducer Direct pressure device ' ); - resolve({ id: device.id, type: PressureType.DIRECT }); + resolve({ id: devicePressure.id, type: PressureType.DIRECT }); return; } else { } - if (PrsPressure.test(device)) { + if (PrsPressure.test(devicePressure)) { this.logger.log( 'BleManager - We found a PRS Direct pressure device ' ); - resolve({ id: device.id, type: PressureType.PRS }); + resolve({ id: devicePressure.id, type: PressureType.PRS }); return; } } @@ -501,7 +522,7 @@ export class CoffeeBluetoothDevicesService { ble.disconnect( deviceId, () => { - //Success + // Success setTimeout(() => { this.autoConnectScale( deviceType, @@ -528,7 +549,7 @@ export class CoffeeBluetoothDevicesService { ble.disconnect( deviceId, () => { - //Success + // Success setTimeout(() => { this.autoConnectPressureDevice( pressureType, @@ -631,8 +652,8 @@ export class CoffeeBluetoothDevicesService { if (device !== null && device.platform === 'iOS') { // We just need to scan, then we can auto connect for iOS (lol) this.logger.log('Try to find scale on iOS'); - const device = await this.tryToFindScale(); - if (device === undefined) { + const deviceScale = await this.tryToFindScale(); + if (deviceScale === undefined) { this.logger.log('Scale not found, retry'); // Try every 11 seconds, because the search algorythm goes 10 seconds at all. const intV = setInterval(async () => { @@ -658,8 +679,8 @@ export class CoffeeBluetoothDevicesService { if (device !== null && device.platform === 'iOS') { // We just need to scan, then we can auto connect for iOS (lol) this.logger.log('Try to find pressure on iOS'); - const device = await this.tryToFindPressureDevice(); - if (device === undefined) { + const devicePressure = await this.tryToFindPressureDevice(); + if (devicePressure === undefined) { this.logger.log('Pressure device not found, retry'); // Try every 61 seconds, because the search algorythm goes 60 seconds at all. const intV = setInterval(async () => { From 4baca549fbe67c3888c1d2ec5e47997e130c4b06 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Thu, 20 Apr 2023 19:55:04 +0200 Subject: [PATCH 069/129] #503 - Changes to xenia connection + some more translations + changing ble behavior --- config.xml | 3 + package-lock.json | 8 +- package.json | 6 +- src/app/beans/beans.page.html | 6 +- .../brew/brew-detail/brew-detail.component.ts | 5 +- src/app/brew/brew-flow/brew-flow.component.ts | 14 +++- src/app/brew/brew.page.html | 8 +- src/app/brew/brew.page.ts | 9 +-- ...reparation-connected-device.component.html | 24 +++--- .../preparation-connected-device.component.ts | 17 +++-- src/assets/i18n/de.json | 12 ++- src/assets/i18n/en.json | 4 +- src/assets/i18n/es.json | 4 +- src/assets/i18n/tr.json | 4 +- src/assets/i18n/zh.json | 4 +- .../preparationDevice/xenia/xeniaDevice.ts | 14 ++++ .../brew-timer/brew-timer.component.ts | 2 +- .../brew-brewing/brew-brewing.component.html | 55 +++++++++----- .../brew-brewing/brew-brewing.component.ts | 67 +++++++++++------ ...reparation-information-card.component.html | 5 +- .../preparation-information-card.component.ts | 7 ++ .../preparation-overlay.directive.ts | 73 ++++++++----------- .../coffee-bluetooth-devices.service.ts | 28 ++++--- src/services/uiBrewHelper.ts | 4 +- 24 files changed, 231 insertions(+), 152 deletions(-) diff --git a/config.xml b/config.xml index 57c57c93a..111fb490c 100644 --- a/config.xml +++ b/config.xml @@ -234,6 +234,9 @@ The app needs photo library access, so that you can choose from already taken pictures from coffee beans, coffee bags, your own coffee brews etc. This pictures are stored inside the app. + + Location is used when enabled in settings, default off. Used for track your location where you brewed your coffee. + diff --git a/package-lock.json b/package-lock.json index f00538f38..01aa1c197 100644 --- a/package-lock.json +++ b/package-lock.json @@ -93,7 +93,7 @@ "@types/node": "^12.20.5", "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", "cordova-android": "^10.1.2", - "cordova-ios": "^6.2.0", + "cordova-ios": "^6.3.0", "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-advanced-http": "^3.3.1", "cordova-plugin-androidx": "^3.0.0", @@ -6254,9 +6254,9 @@ } }, "node_modules/cordova-ios": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.2.0.tgz", - "integrity": "sha512-sLjZg2QBI1SpQVwfe0MSn89YNVkBGLW9Q1vcFJBsqKBrhvoEOJ5Ytq0gwqdhgTOGzlwJUfxC6OHM3jcsRjtYrw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-6.3.0.tgz", + "integrity": "sha512-BZybgFzc7D0HmhkTYurFrRXiWgvYohmT7bwQsLPhf+VdiDjwGXbiSWgg3uP9MChvacCNcGXXUl2NhOaNC9UVaA==", "dev": true, "dependencies": { "cordova-common": "^4.0.2", diff --git a/package.json b/package.json index aca894a81..4a0155f43 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@types/node": "^12.20.5", "@wisdomgarden/cordova-plugin-filepath": "git+https://github.com/wisdom-garden/cordova-plugin-filepath.git", "cordova-android": "^10.1.2", - "cordova-ios": "^6.2.0", + "cordova-ios": "^6.3.0", "cordova-plugin-add-swift-support": "^2.0.2", "cordova-plugin-advanced-http": "^3.3.1", "cordova-plugin-androidx": "^3.0.0", @@ -235,8 +235,8 @@ } }, "platforms": [ - "ios", - "android" + "android", + "ios" ] }, "platforms": [ diff --git a/src/app/beans/beans.page.html b/src/app/beans/beans.page.html index c51cb76af..133fe0e53 100644 --- a/src/app/beans/beans.page.html +++ b/src/app/beans/beans.page.html @@ -24,7 +24,7 @@ {{"PAGE_BEANS_LIST_OBTAINABLE" | translate}}
      - + ( {{ openBeans?.length }} / {{ openBeansLength }} ) @@ -35,8 +35,8 @@ {{"TAB_ARCHIVE" | translate}} -
      - +
      + ( {{ finishedBeans?.length }} / {{ finishedBeansLength }} ) diff --git a/src/app/brew/brew-detail/brew-detail.component.ts b/src/app/brew/brew-detail/brew-detail.component.ts index 9f88e3b69..c83a90067 100644 --- a/src/app/brew/brew-detail/brew-detail.component.ts +++ b/src/app/brew/brew-detail/brew-detail.component.ts @@ -520,7 +520,8 @@ export class BrewDetailComponent implements OnInit { JSON.stringify(jsonParsed), true ); - if (this.platform.is('android')) { + // No popup needed anymore, because we share the file now + /*if (this.platform.is('android')) { const alert = await this.alertCtrl.create({ header: this.translate.instant('DOWNLOADED'), subHeader: this.translate.instant('FILE_DOWNLOADED_SUCCESSFULLY', { @@ -529,7 +530,7 @@ export class BrewDetailComponent implements OnInit { buttons: ['OK'], }); await alert.present(); - } + }*/ } } public async downloadFlowProfile() { diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index 1ef2a02f6..e08248cf8 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -211,6 +211,18 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { public setCoffeeDripTime(): void { this.brew.coffee_first_drip_time = this.brew.brew_time; + // Run first drip script + if ( + !this.brewComponent.smartScaleConnected() && + this.brewComponent.preparationDeviceConnected() + ) { + // If scale is not connected but the device, we can now choose that still the script is executed if existing. + if (this.brewComponent.preparationDevice.scriptAtFirstDripId > 0) { + this.brewComponent.preparationDevice.startScript( + this.brewComponent.preparationDevice.scriptAtFirstDripId + ); + } + } this.showDripTimer = false; } @@ -225,7 +237,7 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { const avgFlowEl = this.smartScaleAvgFlowPerSecondDetail.nativeElement; weightEl.textContent = _val.scaleWeight; flowEl.textContent = _val.smoothedWeight; - avgFlowEl.textContent = _val.avgFlow; + avgFlowEl.textContent = 'Ø ' + _val.avgFlow; } public setActualPressureInformation(_val: any) { diff --git a/src/app/brew/brew.page.html b/src/app/brew/brew.page.html index dd5faaa8c..48a0a48ee 100644 --- a/src/app/brew/brew.page.html +++ b/src/app/brew/brew.page.html @@ -21,9 +21,9 @@ - {{"CURRENT" | translate }} + {{"CURRENT" | translate }}
      - + ( {{ openBrewsView?.length }} / {{ openBrewsLength }} ) @@ -34,8 +34,8 @@ {{"TAB_ARCHIVE" | translate }} -
      - +
      + ( {{ archiveBrewsView?.length }} / {{ archiveBrewsLength }} ) diff --git a/src/app/brew/brew.page.ts b/src/app/brew/brew.page.ts index d53f19d09..439d566f7 100644 --- a/src/app/brew/brew.page.ts +++ b/src/app/brew/brew.page.ts @@ -119,12 +119,6 @@ export class BrewPage implements OnInit { this.openBrewsView = []; this.archiveBrewsView = []; - this.openBrewsLength = this.brews.reduce( - (n, e) => (!e.getBean().finished ? n + 1 : n), - 0 - ); - this.archiveBrewsLength = this.brews.length - this.openBrewsLength; - this.__initializeBrewView('open'); this.__initializeBrewView('archiv'); } @@ -255,6 +249,9 @@ export class BrewPage implements OnInit { e.getMill().finished === !isOpen && e.getPreparation().finished === !isOpen ); + + this.openBrewsLength = brewsFilters.length; + this.archiveBrewsLength = this.brews.length - this.openBrewsLength; } else { brewsFilters = brewsCopy.filter( (e) => diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html index 83ba66b86..ed1b43cf6 100644 --- a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.html @@ -11,9 +11,8 @@ - {{"PREPARATION_DEVICE_CONNECTION" | translate}} - {{"PAGE_SETTINGS_LANGUAGE" | translate}} + {{"PREPARATION_DEVICE.CHOOSE_DEVICE" | translate}} @@ -21,28 +20,23 @@ {{"PREPARATION_DEVICE.TYPE.XENIA" | translate}} - - - - - - - {{"PREPARATION_DEVICE_CONNECTION" | translate}} - - {{"PAGE_SETTINGS_LANGUAGE" | translate}} - + {{"PREPARATION_DEVICE.URL" | translate}} + - + - get scripts + + + diff --git a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts index df982c434..449feb781 100644 --- a/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts +++ b/src/app/preparation/preparation-connected-device/preparation-connected-device.component.ts @@ -6,11 +6,6 @@ import { ModalController, NavParams } from '@ionic/angular'; import { UIPreparationStorage } from '../../../services/uiPreparationStorage'; import { PREPARATION_STYLE_TYPE } from '../../../enums/preparations/preparationStyleTypes'; import { PreparationDeviceType } from '../../../classes/preparationDevice'; -import { ServerBrew } from '../../../classes/server/brew/brew'; -import { environment } from '../../../environments/environment'; -import { catchError, timeout } from 'rxjs/operators'; -import { of } from 'rxjs'; -import { HttpClient, HttpHeaders } from '@angular/common/http'; import { UIPreparationHelper } from '../../../services/uiPreparationHelper'; import { PreparationDevice } from '../../../classes/preparationDevice/preparationDevice'; import { UIToast } from '../../../services/uiToast'; @@ -59,6 +54,18 @@ export class PreparationConnectedDeviceComponent implements OnInit { } public async save() { + if ( + this.data.connectedPreparationDevice.type === PreparationDeviceType.XENIA + ) { + if (this.data.connectedPreparationDevice.url === '') { + this.data.connectedPreparationDevice.url = 'http://xenia.local'; + } else { + if (this.data.connectedPreparationDevice.url.endsWith('/') === true) { + this.data.connectedPreparationDevice.url = + this.data.connectedPreparationDevice.url.slice(0, -1); + } + } + } await this.uiPreparationStorage.update(this.data); } diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 39e4605fa..f4e2c9063 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1190,7 +1190,7 @@ "LOCATION": "Um Bluetooth-Waagen zu finden, muss der Standort freigegeben werden", "BLUETOOTH": "Um Bluetooth-Waagen zu finden, muss Bluetooth freigegeben werden" }, - "INFORMATION_DESCRIPTION": "UnterstÃŧtze Waagen sind: Decent Scale sowie Acaia Scales, Felicita Scales, Hiroia Jimmy und Eureka Precisa. Achtung: Falls die Eureka Precisa einen negativen Wert bekommt, stoppt der Timer automatisch" + "INFORMATION_DESCRIPTION": "UnterstÃŧtze Waagen sind: Decent Scale sowie Acaia Scales, Felicita Scales, Hiroia Jimmy, Skale 2 und Eureka Precisa. Achtung: Falls die Eureka Precisa einen negativen Wert bekommt, stoppt der Timer automatisch" }, "QR": { "WRONG_QRCODE_DESCRIPTION": "Falscher QR-Code oder falscher Inhalt", @@ -1290,7 +1290,7 @@ "CONNECTED_SUCCESSFULLY": "Druckgerät verbunden", "DISCONNECTED_SUCCESSFULLY": "Druckgerät getrennt", "DISCONNECTED_UNPLANNED": "Druckgerät ungeplant getrennt", - "INFORMATION_DESCRIPTION": "UnterstÃŧtze Druckgeräte sind Popsicle", + "INFORMATION_DESCRIPTION": "UnterstÃŧtze Druckgeräte sind Popsicle, Pressensor, Smart Espresso Profiler ", "BLUETOOTH_SCAN_RUNNING": "Druckgeräte werden fÃŧr 60 Sekunden versucht zu finden, bitte warten", "BLUETOOTH_NOT_ENABLED": "Bluetooth ist nicht aktiviert, bitte aktiviere dies in den Einstellungen", "REQUEST_PERMISSION": { @@ -1367,6 +1367,8 @@ "NONE": "None", "XENIA": "Xenia" }, + "URL": "Url", + "CHOOSE_DEVICE": "Gerät auswählen", "CONNECTION": { "UNSUCCESFULLY": "Verbindung zur Maschine konnte nicht hergestellt werden", "SUCCESFULLY": "Verbindung zur Maschine konnte hergestellt werden" @@ -1375,10 +1377,12 @@ "TITLE": "Xenia Maschine", "PRESS_START_SCRIPT": "Script beim Start ausfÃŧhren", "FIRST_DRIP_SCRIPT": "Script beim ersten Tropfen ausfÃŧhren", - "SCRIPT_AT_WEIGHT": "Script bei Gewichtserreichung ausfÃŧhren", + "SCRIPT_AT_WEIGHT": "Gewicht fÃŧr ScriptausfÃŧhrung", "SCRIPT_LIST_GENERAL_0": "Nichts", "SCRIPT_LIST_GENERAL_1": "Espresso, 25 Sekunden", - "SCRIPT_LIST_GENERAL_2": "Espresso, Endlos" + "SCRIPT_LIST_GENERAL_2": "Espresso, Endlos", + "SCRIPT_LIST_GENERAL_STOP": "Bezug stoppen", + "CHOOSE_SCRIPT_AT_WEIGHT": "Script auswählen fÃŧr Gewichtserreichung" } }, "DEVICE_CONNECTION": "Geräteverbindung", diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index a7c7b8e50..5023a0480 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -1190,7 +1190,7 @@ "LOCATION": "To find bluetooth scales, the app needs access to the location.", "BLUETOOTH": "To find bluetooth scales, the app needs access to bluetooth" }, - "INFORMATION_DESCRIPTION": "Supported scales are: Decent Scale, Acaia Scales, Felicita Scales, Hiroia Jimmy and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" + "INFORMATION_DESCRIPTION": "Supported scales are: Decent Scale, Acaia Scales, Felicita Scales, Hiroia Jimmy, Skale 2 and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" }, "QR": { "WRONG_QRCODE_DESCRIPTION": "Wrong qr code or wrong content", @@ -1290,7 +1290,7 @@ "CONNECTED_SUCCESSFULLY": "Pressure device connected", "DISCONNECTED_SUCCESSFULLY": "Pressure device disconnected", "DISCONNECTED_UNPLANNED": "Pressure device disconnected unplanned", - "INFORMATION_DESCRIPTION": "Supported devices are: Popsicle", + "INFORMATION_DESCRIPTION": "Supported devices are: Popsicle, Pressensor, Smart Espresso Profiler", "BLUETOOTH_SCAN_RUNNING": "Pressure device will be searched for 60 seconds, please wait", "BLUETOOTH_NOT_ENABLED": "Bluetooth not activated, please activate to work properly", "REQUEST_PERMISSION": { diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 36f32a262..493f9818f 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -1190,7 +1190,7 @@ "LOCATION": "Para encontrar bÃĄsculas bluetooth, la aplicaciÃŗn necesita acceder a la ubicaciÃŗn.", "BLUETOOTH": "Para encontrar bÃĄsculas bluetooth, la aplicaciÃŗn necesita acceso al bluetooth" }, - "INFORMATION_DESCRIPTION": "BÃĄsculas compatibles: Decent, Acaia, Felicita, Hiroia Jimmy y Eureka Precise. AtenciÃŗn: Si la bÃĄscula Eureka Precise recibe un valor negativo, el temporizador se detiene" + "INFORMATION_DESCRIPTION": "BÃĄsculas compatibles: Decent, Acaia, Felicita, Hiroia Jimmy, Skale 2 y Eureka Precise. AtenciÃŗn: Si la bÃĄscula Eureka Precise recibe un valor negativo, el temporizador se detiene" }, "QR": { "WRONG_QRCODE_DESCRIPTION": "CÃŗdigo QR incorrecto o contenido incorrecto", @@ -1290,7 +1290,7 @@ "CONNECTED_SUCCESSFULLY": "Dispositivo presiÃŗn conectado", "DISCONNECTED_SUCCESSFULLY": "Dispositivo de presiÃŗn desconectado", "DISCONNECTED_UNPLANNED": "DesconexiÃŗn no planificada del dispositivo de presiÃŗn", - "INFORMATION_DESCRIPTION": "Dispositivos soportados: Popsicle", + "INFORMATION_DESCRIPTION": "Dispositivos soportados: Popsicle, Pressensor, Smart Espresso Profiler", "BLUETOOTH_SCAN_RUNNING": "Se buscarÃĄ el dispositivo de presiÃŗn durante 60 segundos, espere", "BLUETOOTH_NOT_ENABLED": "Bluetooth desactivado, actívelo para que funcione correctamente", "REQUEST_PERMISSION": { diff --git a/src/assets/i18n/tr.json b/src/assets/i18n/tr.json index b71f7b1e7..260d5af4f 100644 --- a/src/assets/i18n/tr.json +++ b/src/assets/i18n/tr.json @@ -1190,7 +1190,7 @@ "LOCATION": "Bluetooth ile terazisiyi bulmak için uygulamanÄąn konuma erişmesi gerekiyor.", "BLUETOOTH": "Bluetooth ile terazisiyi bulmak için uygulamanÄąn bluetooth erişimi gerekiyor." }, - "INFORMATION_DESCRIPTION": "Desteklenen tartÄąlar: Decent TartÄą, Acaia TartÄą, Felicita TartÄą, Hiroia Jimmy and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" + "INFORMATION_DESCRIPTION": "Desteklenen tartÄąlar: Decent TartÄą, Acaia TartÄą, Felicita TartÄą, Hiroia Jimmy, Skale 2 and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" }, "QR":{ "WRONG_QRCODE_DESCRIPTION": "YanlÄąÅŸ qr kodu veya yanlÄąÅŸ içerik", @@ -1290,7 +1290,7 @@ "CONNECTED_SUCCESSFULLY": "BasÄąnç cihazÄą bağlÄą", "DISCONNECTED_SUCCESSFULLY": "BasÄąnç cihazÄą bağlantÄąsÄą kesildi", "DISCONNECTED_UNPLANNED": "BasÄąnç cihazÄąnÄąn bağlantÄąsÄą beklenmeyen bir şekilde kesildi ", - "INFORMATION_DESCRIPTION": "Desteklenen cihazlar şunlardÄąr: Popsicle", + "INFORMATION_DESCRIPTION": "Desteklenen cihazlar şunlardÄąr: Popsicle, Pressensor, Smart Espresso Profiler", "BLUETOOTH_SCAN_RUNNING": "BasÄąnç cihazÄą 60 saniye aranacak, lÃŧtfen bekleyin", "BLUETOOTH_NOT_ENABLED": "Bluetooth aktif değil, lÃŧtfen dÃŧzgÃŧn çalÄąÅŸmasÄą için etkinleştirin", "REQUEST_PERMISSION": { diff --git a/src/assets/i18n/zh.json b/src/assets/i18n/zh.json index d0513f606..de14fccf8 100644 --- a/src/assets/i18n/zh.json +++ b/src/assets/i18n/zh.json @@ -1189,7 +1189,7 @@ "LOCATION": "čŊ¯äģļ需čĻäŊįŊŽæƒé™æĨ搜į´ĸį”ĩ子į§¤", "BLUETOOTH": "čŊ¯äģļ需čĻč“į‰™æƒé™æĨ搜į´ĸį”ĩ子į§¤" }, - "INFORMATION_DESCRIPTION": "支持įš„į”ĩ子į§¤: Decent į”ĩ子į§¤, Acaia į”ĩ子į§¤, Felicita į”ĩ子į§¤äģĨ及 Hiroia Jimmy and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" + "INFORMATION_DESCRIPTION": "支持įš„į”ĩ子į§¤: Decent į”ĩ子į§¤, Acaia į”ĩ子į§¤, Felicita į”ĩ子į§¤äģĨ及 Hiroia Jimmy, Skale 2 and Eureka Precisa. Care: If the Eureka Precisa recieves a negative value, the timer stops" }, "QR": { "WRONG_QRCODE_DESCRIPTION": "é”™č¯¯įš„äēŒįģ´į æˆ–é”™č¯¯įš„内厚", @@ -1288,7 +1288,7 @@ "CONNECTED_SUCCESSFULLY": "压åŧēčŽžå¤‡åˇ˛čŋžæŽĨ", "DISCONNECTED_SUCCESSFULLY": "压åŧēčŽžå¤‡æœĒčŋžæŽĨ", "DISCONNECTED_UNPLANNED": "压åŧēčŽžå¤‡æ„å¤–æ–­åŧ€čŋžæŽĨ", - "INFORMATION_DESCRIPTION": "æ”¯æŒčŽžå¤‡īŧšPopsicle", + "INFORMATION_DESCRIPTION": "æ”¯æŒčŽžå¤‡īŧšPopsicle, Pressensor, Smart Espresso Profiler", "BLUETOOTH_SCAN_RUNNING": "压åŧēčŽžå¤‡æœį´ĸ将äŧščŠąč´š60į§’īŧŒį¨į­‰", "BLUETOOTH_NOT_ENABLED": "蓝į‰™æœĒåŧ€å¯īŧŒč¯ˇåŧ€å¯äģĨæ­Ŗ常åˇĨäŊœ", "REQUEST_PERMISSION": { diff --git a/src/classes/preparationDevice/xenia/xeniaDevice.ts b/src/classes/preparationDevice/xenia/xeniaDevice.ts index 1c816f16c..440683e2e 100644 --- a/src/classes/preparationDevice/xenia/xeniaDevice.ts +++ b/src/classes/preparationDevice/xenia/xeniaDevice.ts @@ -10,6 +10,8 @@ export class XeniaDevice extends PreparationDevice { public scriptAtWeightReachedId: number = 0; public scriptAtWeightReachedNumber: number = 0; + public scriptList: Array<{ INDEX: number; TITLE: string }> = []; + constructor(protected httpClient: HttpClient, _preparation: Preparation) { super(httpClient, _preparation); if (typeof cordova !== 'undefined') { @@ -71,6 +73,18 @@ export class XeniaDevice extends PreparationDevice { return promise; } + public mapScriptsAndSaveTemp(_serverRespList: any) { + this.scriptList = []; + for (let i = 0; i < _serverRespList.index_list.length; i++) { + const addIndex = _serverRespList.index_list[i]; + const addTitle = _serverRespList.title_list[i]; + this.scriptList.push({ + TITLE: addTitle, + INDEX: addIndex, + }); + } + } + public startScript(_id: any) { const promise = new Promise((resolve, reject) => { const options = { diff --git a/src/components/brew-timer/brew-timer.component.ts b/src/components/brew-timer/brew-timer.component.ts index 795ebf262..7439612f4 100644 --- a/src/components/brew-timer/brew-timer.component.ts +++ b/src/components/brew-timer/brew-timer.component.ts @@ -200,9 +200,9 @@ export class BrewTimerComponent implements OnInit, OnDestroy { } public pauseTimer(): void { + this.timer.runTimer = false; this.pausedTimer = moment(new Date()); this.timerPaused.emit(); - this.timer.runTimer = false; this.timerPaused.emit(); this.changeEvent(); } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index ec32dfe15..b5dbda460 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -263,9 +263,23 @@ {{"PREPARATION_DEVICE.TYPE_XENIA.PRESS_START_SCRIPT" | translate}} + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} + + + {{script.TITLE}} +
      - + {{"PREPARATION_DEVICE.TYPE_XENIA.FIRST_DRIP_SCRIPT" | translate}} @@ -278,27 +292,32 @@ {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} + + {{script.TITLE}} + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_AT_WEIGHT" | translate}} + + + - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_AT_WEIGHT" | translate}} - - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} - - + {{"PREPARATION_DEVICE.TYPE_XENIA.CHOOSE_SCRIPT_AT_WEIGHT" | translate}} + + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_STOP" | translate}} + + + {{script.TITLE}} + + { + // Wait for 150ms, so we get the new preparation + if (this.preparationMethodHasBeenFocused === true) { + this.data.method_of_preparation_tools = []; + this.preparationMethodHasBeenFocused = false; - this.instancePreparationDevice(); + this.instancePreparationDevice(); - if (this.timer.isTimerRunning() === false) { - this.initializeFlowChart(); + if (this.timer.isTimerRunning() === false) { + this.initializeFlowChart(); + } } - } + }, 150); } @HostListener('window:resize') @@ -463,8 +466,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.scaleFlowSubscription = scale.flowChange.subscribe((_val) => { if ( + this.timer.isTimerRunning() && this.preparationDeviceConnected() && - this.preparationDevice.scriptAtWeightReachedId > -1 && this.preparationDevice.scriptAtWeightReachedNumber > 0 ) { const weight: number = this.uiHelper.toFixedIfNecessary( @@ -479,8 +482,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } else { // Instant stop! this.preparationDevice.stopScript(); - this.timer.pauseTimer(); } + this.timer.pauseTimer(); } } this.__setFlowProfile(_val); @@ -792,7 +795,7 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } if (this.preparationDeviceConnected()) { - if (this.preparationDevice.scriptStartId > -1) { + if (this.preparationDevice.scriptStartId > 0) { this.preparationDevice.startScript( this.preparationDevice.scriptStartId ); @@ -857,8 +860,8 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.data.coffee_first_drip_time_milliseconds = 0; } if (!this.smartScaleConnected() && this.preparationDeviceConnected()) { - //If scale is not connected but the device, we can now choose that still the script is executed if existing. - if (this.preparationDevice.scriptAtFirstDripId > -1) { + // If scale is not connected but the device, we can now choose that still the script is executed if existing. + if (this.preparationDevice.scriptAtFirstDripId > 0) { this.preparationDevice.startScript( this.preparationDevice.scriptAtFirstDripId ); @@ -918,6 +921,10 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } this.updateChart(); } + if (this.preparationDeviceConnected()) { + //If we press pause, stop scripts. + this.preparationDevice.stopScript(); + } if (!this.platform.is('cordova')) { window.clearInterval(this.graphTimerTest); } @@ -934,6 +941,12 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { const scale: BluetoothScale = this.bleManager.getScale(); const pressureDevice: PressureDevice = this.bleManager.getPressureDevice(); + if (this.preparationDeviceConnected()) { + //If users rests, we reset also drip time, else the script would not recognize it. + this.data.coffee_first_drip_time = 0; + this.data.coffee_first_drip_time_milliseconds = 0; + } + if (scale || pressureDevice) { await this.uiAlert.showLoadingSpinner(); if (scale) { @@ -1248,9 +1261,9 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { avgFlowEl.textContent = 'Ø ' + avgFlow + ' g/s'; this.brewFlowGraphSubject.next({ - scaleWeight: actualScaleWeight + ' g', - smoothedWeight: actualSmoothedWeightPerSecond + ' g/s', - avgFlow: 'Ø ' + avgFlow, + scaleWeight: actualScaleWeight, + smoothedWeight: actualSmoothedWeightPerSecond, + avgFlow: avgFlow, }); } catch (ex) {} } @@ -1635,11 +1648,15 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { } } - private instancePreparationDevice() { + private async instancePreparationDevice() { const connectedDevice: PreparationDevice = this.uiPreparationHelper.getConnectedDevice(this.data.getPreparation()); if (connectedDevice) { this.preparationDevice = connectedDevice as XeniaDevice; + try { + const xeniaScripts = await this.preparationDevice.getScripts(); + this.preparationDevice.mapScriptsAndSaveTemp(xeniaScripts); + } catch (ex) {} } else { this.preparationDevice = undefined; } @@ -2452,9 +2469,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { checkData.default_last_coffee_parameters.bean_type) || (_template === true && checkData.repeat_coffee_parameters.bean_type) ) { - const brewBean: IBean = this.uiBeanStorage.getByUUID(brew.bean); - if (!brewBean.finished) { - this.data.bean = brewBean.config.uuid; + if (brew.bean) { + const brewBean: IBean = this.uiBeanStorage.getByUUID(brew.bean); + if (!brewBean.finished) { + this.data.bean = brewBean.config.uuid; + } } } @@ -2477,9 +2496,11 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { (_template === false && checkData.default_last_coffee_parameters.mill) || (_template === true && checkData.repeat_coffee_parameters.mill) ) { - const brewMill: IMill = this.uiMillStorage.getByUUID(brew.mill); - if (!brewMill.finished) { - this.data.mill = brewMill.config.uuid; + if (brew.mill) { + const brewMill: IMill = this.uiMillStorage.getByUUID(brew.mill); + if (!brewMill.finished) { + this.data.mill = brewMill.config.uuid; + } } } if ( @@ -2689,4 +2710,6 @@ export class BrewBrewingComponent implements OnInit, AfterViewInit { this.data.flow_profile = ''; } + + protected readonly undefined = undefined; } diff --git a/src/components/preparation-information-card/preparation-information-card.component.html b/src/components/preparation-information-card/preparation-information-card.component.html index d1f8377d8..c3edcdfb4 100644 --- a/src/components/preparation-information-card/preparation-information-card.component.html +++ b/src/components/preparation-information-card/preparation-information-card.component.html @@ -3,7 +3,10 @@ -
      {{preparation.name}}
      +
      + + {{preparation.name}}
      {{"PREPARATION_PARAMETERS_CUSTOMIZED" | translate}}
      diff --git a/src/components/preparation-information-card/preparation-information-card.component.ts b/src/components/preparation-information-card/preparation-information-card.component.ts index cbf1c9188..5838cb746 100644 --- a/src/components/preparation-information-card/preparation-information-card.component.ts +++ b/src/components/preparation-information-card/preparation-information-card.component.ts @@ -16,6 +16,7 @@ import { UIBrewStorage } from '../../services/uiBrewStorage'; import { UIImage } from '../../services/uiImage'; import PREPARATION_TRACKING from '../../data/tracking/preparationTracking'; import { PreparationConnectedDeviceComponent } from '../../app/preparation/preparation-connected-device/preparation-connected-device.component'; +import { PreparationDeviceType } from '../../classes/preparationDevice'; @Component({ selector: 'preparation-information-card', @@ -279,4 +280,10 @@ export class PreparationInformationCardComponent implements OnInit { await this.uiPreparationStorage.removeByObject(this.preparation); } + public preparationHasDeviceConnection() { + return ( + this.preparation?.connectedPreparationDevice.type !== + PreparationDeviceType.NONE + ); + } } diff --git a/src/directive/preparation-overlay.directive.ts b/src/directive/preparation-overlay.directive.ts index c02766547..07d47c291 100644 --- a/src/directive/preparation-overlay.directive.ts +++ b/src/directive/preparation-overlay.directive.ts @@ -1,59 +1,61 @@ -import {Directive, ElementRef, EventEmitter, HostListener, Input, Output} from '@angular/core'; -import {NgModel} from '@angular/forms'; -import {ModalController} from '@ionic/angular'; -import {UIPreparationStorage} from '../services/uiPreparationStorage'; -import {Preparation} from '../classes/preparation/preparation'; -import {PreparationModalSelectComponent} from '../app/preparation/preparation-modal-select/preparation-modal-select.component'; +import { + Directive, + ElementRef, + EventEmitter, + HostListener, + Input, + Output, +} from '@angular/core'; +import { NgModel } from '@angular/forms'; +import { ModalController } from '@ionic/angular'; +import { UIPreparationStorage } from '../services/uiPreparationStorage'; +import { Preparation } from '../classes/preparation/preparation'; +import { PreparationModalSelectComponent } from '../app/preparation/preparation-modal-select/preparation-modal-select.component'; @Directive({ selector: '[ngModel][preparation-overlay]', }) export class PreparationOverlayDirective { - @Output() public ngModelChange = new EventEmitter(); @Input('multiple') public multipleSelect: boolean; @Input('show-finished') public showFinished: boolean = true; - private oldModelValue:any = undefined; - constructor(private readonly model: NgModel, - private readonly modalController: ModalController, - private el: ElementRef, - private uiPreparationStorage: UIPreparationStorage) { - - - } + private oldModelValue: any = undefined; + constructor( + private readonly model: NgModel, + private readonly modalController: ModalController, + private el: ElementRef, + private uiPreparationStorage: UIPreparationStorage + ) {} @HostListener('click', ['$event', '$event.target']) public async click(_event, _target) { - _event.cancelBubble = true; _event.preventDefault(); _event.stopImmediatePropagation(); _event.stopPropagation(); - let selectedValues: Array = []; - if (typeof (this.model.control.value) === 'string') { + if (typeof this.model.control.value === 'string') { selectedValues.push(this.model.control.value); } else { - if (this.model && this.model.control.value) { selectedValues = [...this.model.control.value]; } } const modal = await this.modalController.create({ component: PreparationModalSelectComponent, - componentProps: - { - multiple: this.multipleSelect, - selectedValues: selectedValues, - showFinished: this.showFinished - }, + componentProps: { + multiple: this.multipleSelect, + selectedValues: selectedValues, + showFinished: this.showFinished, + }, id: PreparationModalSelectComponent.COMPONENT_ID, - showBackdrop: true + showBackdrop: true, }); await modal.present(); - const {data} = await modal.onWillDismiss(); + const { data } = await modal.onWillDismiss(); if (data !== undefined) { + debugger; if (this.multipleSelect) { this.model.control.setValue(data.selected_values); this.model.viewToModelUpdate(data.selected_values); @@ -67,33 +69,23 @@ export class PreparationOverlayDirective { } _event.target.selectedText = data.selected_text; } - - } public ngDoCheck(): void { - try { - if (this.oldModelValue !== this.model.model){ + if (this.oldModelValue !== this.model.model) { this.oldModelValue = this.model.model; this.__generateOutputText(this.model.model); } - } - catch (ex){ - - } - - + } catch (ex) {} } - private __generateOutputText(_uuid: string | Array) { - if (!_uuid) { return; } let generatedText: string = ''; - if (typeof (_uuid) === 'string') { + if (typeof _uuid === 'string') { const obj: Preparation = this.uiPreparationStorage.getByUUID(_uuid); generatedText = this.__generateTextByObj(obj); } else { @@ -110,5 +102,4 @@ export class PreparationOverlayDirective { const generatedText: string = `${_obj.name}`; return generatedText; } - } diff --git a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts index 119578cb2..540e63c85 100644 --- a/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts +++ b/src/services/coffeeBluetoothDevices/coffee-bluetooth-devices.service.ts @@ -174,22 +174,25 @@ export class CoffeeBluetoothDevicesService { resolve(devices); }; - ble.startScan( + ble.startScanWithOptions( [], - async (device: any) => { - this.logger.log('Device found ' + JSON.stringify(device)); + { reportDuplicates: true }, + async (scanDevice: any) => { + this.logger.log('Device found ' + JSON.stringify(scanDevice)); if ( - DecentScale.test(device) || - LunarScale.test(device) || - JimmyScale.test(device) || - FelicitaScale.test(device) || - EurekaPrecisaScale.test(device) || - SkaleScale.test(device) + DecentScale.test(scanDevice) || + LunarScale.test(scanDevice) || + JimmyScale.test(scanDevice) || + FelicitaScale.test(scanDevice) || + EurekaPrecisaScale.test(scanDevice) || + SkaleScale.test(scanDevice) ) { // We found all needed devices. - devices.push(device); + devices.push(scanDevice); - this.logger.log('Supported Scale found ' + JSON.stringify(device)); + this.logger.log( + 'Supported Scale found ' + JSON.stringify(scanDevice) + ); clearTimeout(timeoutVar); timeoutVar = null; await stopScanningAndResolve(); @@ -221,8 +224,9 @@ export class CoffeeBluetoothDevicesService { resolve(devices); }; - ble.startScan( + ble.startScanWithOptions( [], + { reportDuplicates: true }, async (devicePressure: any) => { this.logger.log( 'Pressure devices found ' + JSON.stringify(devicePressure) diff --git a/src/services/uiBrewHelper.ts b/src/services/uiBrewHelper.ts index 1be1749b1..0c102550b 100644 --- a/src/services/uiBrewHelper.ts +++ b/src/services/uiBrewHelper.ts @@ -516,7 +516,7 @@ export class UIBrewHelper { if (this.canBrewIfNotShowMessage()) { const preparationCount = this.uiPreparationStorage.getAllEntries().length; - let initalBreakpoint = 0.2; + let initalBreakpoint = 0.35; if (preparationCount > 10) { initalBreakpoint = 1; } else if (preparationCount > 6) { @@ -534,7 +534,7 @@ export class UIBrewHelper { id: BrewChoosePreparationToBrewComponent.COMPONENT_ID, cssClass: 'popover-actions', backdropDismiss: false, - breakpoints: [0, 0.2, 0.5, 0.75, 1], + breakpoints: [0, 0.35, 0.5, 0.75, 1], initialBreakpoint: initalBreakpoint, }); await modal.present(); From c80fd9c4048bf3974a5f323a87b49fa16398cc62 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Thu, 20 Apr 2023 21:46:59 +0200 Subject: [PATCH 070/129] Adding new inspectable webview --- config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/config.xml b/config.xml index 111fb490c..3b1c85671 100644 --- a/config.xml +++ b/config.xml @@ -88,6 +88,7 @@ + From 0661ce4968fb152a99749a2002c4c44ac0c3d0fa Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sat, 22 Apr 2023 20:29:05 +0200 Subject: [PATCH 071/129] Rollbackble --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 01aa1c197..002dff8d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -100,7 +100,7 @@ "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", "cordova-plugin-apprate": "^1.7.2", - "cordova-plugin-ble-central": "^1.6.3", + "cordova-plugin-ble-central": "^1.5.2", "cordova-plugin-camera": "^6.0.0", "cordova-plugin-customurlscheme-ng": "^10.0.0", "cordova-plugin-dialogs": "^2.0.2", @@ -6417,9 +6417,9 @@ "dev": true }, "node_modules/cordova-plugin-ble-central": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.6.3.tgz", - "integrity": "sha512-de96U+74DMpjqtj4YgxhIHyUcX6egn1KyntAAgxiuxfndH4z0rYw2DU41DnC4C559zEnwaHq6YOxROu7+7BQrw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-ble-central/-/cordova-plugin-ble-central-1.5.2.tgz", + "integrity": "sha512-B6r1LBTU4kdsShWoFnlAn5oKYI0IGQiqLILcw4wlt9yXXiM+Srl46Nau1Vhwoh/6dAbilwvr7oblGT0AmBOjWw==", "dev": true }, "node_modules/cordova-plugin-camera": { diff --git a/package.json b/package.json index 4a0155f43..3c1de8470 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-app-version": "^0.1.12", "cordova-plugin-apprate": "^1.7.2", - "cordova-plugin-ble-central": "^1.6.3", + "cordova-plugin-ble-central": "^1.5.2", "cordova-plugin-camera": "^6.0.0", "cordova-plugin-customurlscheme-ng": "^10.0.0", "cordova-plugin-dialogs": "^2.0.2", From 205e419e5f31c549f18d55beec01e882d17f4132 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sun, 23 Apr 2023 21:18:54 +0200 Subject: [PATCH 072/129] Fixing bluetooth autoconnection on startup to be much faster, special on android, on iOS its working after pause and reopen the ap, after the iOS doesn't need to find the scales again --- src/app/app.component.ts | 46 ++++++++++++++++++++++++++++++++++++---- src/services/uiExcel.ts | 8 ++++--- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 5f4e6ca7e..dbed2cfb5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -78,6 +78,10 @@ declare var window; encapsulation: ViewEncapsulation.None, }) export class AppComponent implements AfterViewInit { + private bluetoothConnectionState = { + SCALE: false, + PRESSURE: false, + }; public toggleAbout: boolean = false; public registerBackFunction: any; @ViewChild(IonRouterOutlet, { static: false }) @@ -657,9 +661,29 @@ export class AppComponent implements AfterViewInit { const settings = this.uiSettingsStorage.getSettings(); const scale_id: string = settings.scale_id; const scale_type: ScaleType = settings.scale_type; + let isIOS = this.platform.is('ios'); + if (this.bluetoothConnectionState.SCALE === true) { + // We already connected to pressure before + // We don't need to search again + isIOS = false; + } this.uiLog.log(`Connect smartscale? ${scale_id}`); if (scale_id !== undefined && scale_id !== '') { - this.bleManager.autoConnectScale(scale_type, scale_id, true); + this.bleManager.autoConnectScale( + scale_type, + scale_id, + isIOS, + () => { + if (isIOS) { + this.bluetoothConnectionState.SCALE = true; + } + }, + () => { + if (isIOS) { + this.bluetoothConnectionState.SCALE = false; + } + } + ); } else { this.uiLog.log('Smartscale not connected, dont try to connect'); } @@ -669,12 +693,28 @@ export class AppComponent implements AfterViewInit { const settings = this.uiSettingsStorage.getSettings(); const pressure_id: string = settings.pressure_id; const pressure_type: PressureType = settings.pressure_type; + let isIOS = this.platform.is('ios'); + if (this.bluetoothConnectionState.PRESSURE === true) { + // We already connected to pressure before + // We don't need to search again + isIOS = false; + } this.uiLog.log(`Connect pressure device? ${pressure_id}`); if (pressure_id !== undefined && pressure_id !== '') { this.bleManager.autoConnectPressureDevice( pressure_type, pressure_id, - true + isIOS, + () => { + if (isIOS) { + this.bluetoothConnectionState.PRESSURE = true; + } + }, + () => { + if (isIOS) { + this.bluetoothConnectionState.PRESSURE = false; + } + } ); } else { this.uiLog.log('Pressure device not connected, dont try to connect'); @@ -699,8 +739,6 @@ export class AppComponent implements AfterViewInit { this.bleManager.disconnect(settings.pressure_id, false); } } - - /// Add pressure profile. }); } private __attachOnDeviceResume() { diff --git a/src/services/uiExcel.ts b/src/services/uiExcel.ts index 382ef2f3f..a190c08bf 100755 --- a/src/services/uiExcel.ts +++ b/src/services/uiExcel.ts @@ -438,10 +438,12 @@ export class UIExcel { try { const downloadFile: FileEntry = await this.uiFileHelper.downloadFile( filename, - blob + blob, + true ); await this.uiAlert.hideLoadingSpinner(); - if (this.platform.is('android')) { + // We share directly, so we don'T download into download folders. + /**if (this.platform.is('android')) { const alert = await this.alertCtrl.create({ header: this.translate.instant('DOWNLOADED'), subHeader: this.translate.instant('FILE_DOWNLOADED_SUCCESSFULLY', { @@ -450,7 +452,7 @@ export class UIExcel { buttons: ['OK'], }); await alert.present(); - } + }**/ } catch (ex) {} } catch (e) { if (e.message.match(/It was determined/)) { From ecefddf6618cd8b65cb485771bd202dd7cd93d11 Mon Sep 17 00:00:00 2001 From: Lars Saalbach Date: Sun, 23 Apr 2023 21:28:27 +0200 Subject: [PATCH 073/129] Fixing that chips are not displayed when scale is not attached --- src/app/brew/brew-flow/brew-flow.component.html | 6 +++--- src/app/brew/brew-flow/brew-flow.component.ts | 10 ++++++++++ .../brews/brew-brewing/brew-brewing.component.html | 6 +++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index e7c35bbea..4e13e3ed4 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -4,12 +4,12 @@
      - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}}
      - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} {{'BREW_PRESSURE_FLOW' | translate}}
      From f7c7d54a217431c51c87128a563aa2e5a044f04f Mon Sep 17 00:00:00 2001 From: Myles Gray Date: Mon, 24 Apr 2023 19:33:50 +0100 Subject: [PATCH 074/129] Implements ETI temperature sensor support, some UI updates and bug fixes for graphing and flow exports. (#526) * Initial pass at temperature sensor implementation * Debugging graphing with temp probe * Debugging more graphing and colours * Fixing graphs * Fixing grpahs * Fixing that also just temperature can be displayed * Fix pressure or temperature only traces not being saved to JSON, or recalled. * Fix auto-reconnect for temperature devices on iOS --------- Co-authored-by: Grapehfruit --- resources/ios/splash/Default-1792h~iphone.png | Bin 0 -> 69097 bytes resources/ios/splash/Default-2436h.png | Bin 0 -> 104305 bytes resources/ios/splash/Default-2688h~iphone.png | Bin 0 -> 118277 bytes .../ios/splash/Default-568h@2x~iphone.png | Bin 0 -> 44892 bytes resources/ios/splash/Default-667h.png | Bin 0 -> 52457 bytes resources/ios/splash/Default-736h.png | Bin 0 -> 104278 bytes .../splash/Default-Landscape-1792h~iphone.png | Bin 0 -> 78534 bytes .../ios/splash/Default-Landscape-2436h.png | Bin 0 -> 119032 bytes .../splash/Default-Landscape-2688h~iphone.png | Bin 0 -> 135124 bytes .../ios/splash/Default-Landscape-736h.png | Bin 0 -> 108262 bytes .../ios/splash/Default-Landscape@2x~ipad.png | Bin 0 -> 101684 bytes .../ios/splash/Default-Landscape@~ipadpro.png | Bin 0 -> 89216 bytes .../ios/splash/Default-Landscape~ipad.png | Bin 0 -> 42080 bytes .../ios/splash/Default-Portrait@2x~ipad.png | Bin 0 -> 99392 bytes .../ios/splash/Default-Portrait@~ipadpro.png | Bin 0 -> 89274 bytes .../ios/splash/Default-Portrait~ipad.png | Bin 0 -> 41693 bytes resources/ios/splash/Default@2x~iphone.png | Bin 0 -> 37598 bytes resources/ios/splash/Default~iphone.png | Bin 0 -> 16207 bytes src/app/app.component.ts | 70 +- src/app/brew/brew-add/brew-add.component.html | 16 +- src/app/brew/brew-add/brew-add.component.ts | 6 +- .../brew-detail/brew-detail.component.html | 287 +- .../brew-detail/brew-detail.component.scss | 72 +- .../brew/brew-detail/brew-detail.component.ts | 85 +- .../brew/brew-edit/brew-edit.component.html | 16 +- src/app/brew/brew-edit/brew-edit.component.ts | 6 +- .../brew/brew-flow/brew-flow.component.html | 113 +- .../brew/brew-flow/brew-flow.component.scss | 146 +- src/app/brew/brew-flow/brew-flow.component.ts | 30 +- ...s-popover-bluetooth-actions.component.html | 6 +- ...ngs-popover-bluetooth-actions.component.ts | 26 + src/app/settings/settings.page.html | 401 ++- src/app/settings/settings.page.ts | 110 +- .../BeanconquerorFlowTestDataFourth.json | 2867 +++++++++++++++++ .../beanconqueror-pressure.svg | 13 +- src/assets/i18n/en.json | 34 +- src/classes/brew/brewFlow.ts | 14 +- src/classes/devices/etiTemperature.ts | 96 + src/classes/devices/index.ts | 18 + .../devices/temperatureBluetoothDevice.ts | 118 + src/classes/settings/settings.ts | 9 +- .../brew-brewing/brew-brewing.component.html | 635 ++-- .../brew-brewing/brew-brewing.component.scss | 74 +- .../brew-brewing/brew-brewing.component.ts | 331 +- src/enums/appEvent/appEvent.ts | 3 +- src/interfaces/brew/iBrewGraphs.ts | 3 +- .../coffee-bluetooth-devices.service.ts | 253 +- src/services/uiExcel.ts | 48 +- src/services/uiUpdate.ts | 4 + 49 files changed, 5080 insertions(+), 830 deletions(-) create mode 100644 resources/ios/splash/Default-1792h~iphone.png create mode 100644 resources/ios/splash/Default-2436h.png create mode 100644 resources/ios/splash/Default-2688h~iphone.png create mode 100644 resources/ios/splash/Default-568h@2x~iphone.png create mode 100644 resources/ios/splash/Default-667h.png create mode 100644 resources/ios/splash/Default-736h.png create mode 100644 resources/ios/splash/Default-Landscape-1792h~iphone.png create mode 100644 resources/ios/splash/Default-Landscape-2436h.png create mode 100644 resources/ios/splash/Default-Landscape-2688h~iphone.png create mode 100644 resources/ios/splash/Default-Landscape-736h.png create mode 100644 resources/ios/splash/Default-Landscape@2x~ipad.png create mode 100644 resources/ios/splash/Default-Landscape@~ipadpro.png create mode 100644 resources/ios/splash/Default-Landscape~ipad.png create mode 100644 resources/ios/splash/Default-Portrait@2x~ipad.png create mode 100644 resources/ios/splash/Default-Portrait@~ipadpro.png create mode 100644 resources/ios/splash/Default-Portrait~ipad.png create mode 100644 resources/ios/splash/Default@2x~iphone.png create mode 100644 resources/ios/splash/Default~iphone.png create mode 100644 src/assets/BeanconquerorFlowTestDataFourth.json create mode 100644 src/classes/devices/etiTemperature.ts create mode 100644 src/classes/devices/temperatureBluetoothDevice.ts diff --git a/resources/ios/splash/Default-1792h~iphone.png b/resources/ios/splash/Default-1792h~iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7f1d007bd0171e3b905ac6c7e2c18f5db25a1b GIT binary patch literal 69097 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%0ASIR%bZ4oN) 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

      &jDfr_{hf_~}G4K;V`8g>Cw~3S@UqI#d zSh3n-uPb`~M@35KB^O}2(cAtbI`_(MW=mqvr8qkaLC}T3e$esH)*x;MS1lnR?a!$# z&pb)pGjXgJds&YwvjhH+f75$Uv%m9b8LQ&4PrtjhLlUH^tt=4Rh%qqLeDN~zGC3pd zyU@YX=mXD*ygAzP#C=Bt;F)2+E?~uzOcCG6?6ZQ$FzQb}32KpPxn5ni+M2nGtZVN9h=c%&&%%1Ht0IXluYloFG`?Fy4 z&Pb2`PXDHqPJQEo0&`*Lu@{D#iHr8^(Q7M5_@t^xhcE<^6#@az`Vo3ZHxce3YJR-D zDm(yz=2Zz2`&9Z*Tv7!$Kc29XF>&sWN5kg6N{>^4LCY+c=|MJRTGu`9dah|Y_a9w` zj#SoO^UC~u&C*G0^$+>1mn^5;=Cj8!y|LN2EmP0h6`3h1m2a8{}-i$mVoxR%LtPBt!D#YbK=E5nA`3&C8Q3>3;ZSw4d<9qdG^x zJ+O0R`4Cc5f0vVC53d$v2;sBR2 z39GY=%|AHQVIEzA>NFb>4#sD6;*_+i;QoCJUU^A>$oG%{$;3SIgn;hIsGR6%YD(!2 zZ>ZN8$Bv>SZut$V^L^^l$)*;PQB(Wa7dZy_EXQpkg~M|q#oG+UNRO|#ukQvIX(9<; zP_YdjsHFW*VC5|JjzS@VgL%Q}Wiw1IZTAds^zmc0$VyU3Tj4OmDC*yTqZC*abouTPG z?SZxQA{2e5KXKMinh(BBn^|RG1KnS!Ejg@RFF`7BVo%nB0XAgw%8JGgVda_w)ZEu@ zcp&Bn2R`Thb%(Nj{!JKeLi!u6sb~vEMl4pq86vpdfHcZ}J#_FhsQzoZ>U?hk~-@q1&UBI;_K*WsWl7NF~L9@8io z_;%Ns6@!L&WoiLu+$G_WXm0oXc77nG{`}q2hF>S3u{T=!?9Wfqy$@IAEuXDW@HG;r zg#~#Fww>GDorFqpJ}S5OSMTf8$bQo;=)GpKGCp#WBx#-;vrL`#0^y^<^zRLuL_ zP*T*~otSWjP3i}Chg`)YTQIl3#G1Zn?@lfMOzmLBA$|RI35SP-7rBg+IoO#_Xl(M5 zHU{81?=R8{9Q??vwg$RAQWk87jv`8actNw!Q{k1BFo{xmXW18LYGpXdpLq`Jgvb>J zrMQd_{vn4XoS33E$s!ECtzou~()~mrVxoA&^Qkr;pe ziR*L?!pS@~6}|f(`wgKREtDcX*WB~sbf>svNv)X!=@F^En*q1!&-GEq+vhe24;i^F zN(Pgxx=qXLx?RSsYUjQt?d_Va;>ju7uv%4X?pK1+kY&BK(aq*?isX>71$D#~m|NWs z(OLr}RN@azK!A-eaWNuxEwsI};hWC9ZD;sg=>3sWT2aPMq^N$m$WD8|)l6vzxJPwHx zFohc)Ag*}9831176~Dci$G3AY$XHTTIiuy=nR5{_l9Q8!E61Lkd_2A-2#O^50~kgJ zU>^k)FeHs*O95nbrb{3zck-apr~@!M9SWlT+5fy&U-70_sED&MT*=yM)rsf;;)1sP zXwiZfhZg)M2$?7Cd}0K?tzYC<14x?Bo)?M?Z><1pzF79Ic+NUFEFTCLeEi)MpsTCLY77r9{CTjb;r;6|~jB^d& zcCCpzf7dYQ)|>@;9I=X7~eY`K-EPA+s7Ef99@VEH`{rd>-I_^yXuEOgTKj6?ypnFVXE7-hAGR{7Ar_ua zW^n*`Q1@sXG-ElV&WLdMhs^oXFgf1|n<-dX;^h*5sXS7rt?sPus+i4R8hJlNeyO4JSQU7)E6xfXB?I>zZfjrDtf)gtYx^ ziGYDfgB|;2Jk$DY&M$-!Zxi1VNqoj_2jRMdf9XdekKgY#E^+v6Q{vI~Mj%<(>rzJ$8?91K zv$lj%B$HDYz0?uG<1Ac`0zG9IRJj@SJ&@^2f!KVVMc(v*^0-FFdk3Yyk;49jSvwed z`EDx@IEtjioq2)sPY~qMk9`Ag(iSpxqdA+*IFhCz<&|j>8<|M7WA;lv$(p2andRofh-0> zX)Rr75c)j3OtUUzXI^?srY>+xn| z_=L0N6P1HQLmGT_Vy~_7KIHcn<}LM;SjebHCH=!UPgF{sjf@u2NKo6VD5QyS>F--A zpqcLr>t1Y3wV?z8X?ZDz3llmB$_S(@+gD?f96iTW%Y#FMx+jY99nGBbG4b^>-Jd+o zqFyDVo-oc(G#Hv6$shm3Jls)&Fdr!SY}@Rm&OSqiJV4lf-{J_XlUA`#PUaJ-)6`)e ztjPIdcV6{n?cfst3A|zL=07N+LMbCJ6fGl3oBMO=gq2omf(+P;F5A!A7=9^o9=vb4 z)bC@tJMRnV(thAvkqie@v6mi?lDTSQHGwPzUw5kb@Ph5<+g#5$N@8;*vxR6)9~RjV zcJ@?U2}iuJf&UG=JV!1~*cdS>#f8iq`9bU?X|h;bXchVv@zL$hR72*RCV7=(X>h_@ zsytP1?$Beudn)GWhp-0t3u~XFpsQ-bNRLPX&WdPtQe{-<^hDP@{bc9-`kIwpM7YR8 zI-N+hF>Cz6OPctNMVQF!ZnkB!eXpewf&U}9Lj7olvSQmKy4>?~_}i)p*4_&MxyWvT zjiqYkZIL_!r063@3$#-fL6wF!KYplxr5-9Z_9@X(M#FLG3Lv9tP+>J1dN!!MPPpTD z#=7$@r0cR%hdRW@CTgnQi&tQE{K+B+1nO|4AMI3i2x+Uos>FI4`11662IEYb)xLG;C465cKu4OpRn8{!(ie^-v6em)1`nZCbAI~uX>m#_iwhA&UvMDfxYlq# zelV#jNA8O+@Dvcf6h^l^E%fVX)DYcwfKKW#zJg-8CM)Y&bTd&<^`FzJS&@3_omHUby!>S?I`_!0zXSrg)CC6*C=-7&ShV+G1Y&^9DmkUXK%z2mjy?!f8C-S)VTZQp zOP66{NanSv5d3N!r)xU)^N%sfn*l+^*4Kx@YI70x3!;#f&R0S|i&<*EmFm85lURy)(TNaW3~6b7#Sk{k>U{d^e&8iCNqgK@s^HkLafO}X1U zdn3MND77QSYz@W=GG5p7zTP)@>nE>3pbs)rEesqJu;XQE=~7ru{C;GvV&_N4$Znd? z%lnu)dZ?WAVpjW2u>OpKpy9%~O*_=;1P)O^eTlq6AZ=Z!O@%2u%_{jUvJg zd^Gnk4+1`)ii#Knqu7B_`F&OPn_g`VY%L&O*Ofp^!P58nPdV6&ddleH>pWMCs#`GMvoAWHPsx#& zR=c`S!o>nN${Rork=xnJm`pFVLS2>dbT(7BHwTJ=a(Opm@OOM7*}Pu{UX;0#;)--z z?8@Xx?9R{D;Uix6019bG`|~FsLg*bfu*JXWn39)zc4qOivjyaS0Fd=X5-q!v%#4LW9ht8$`oW?XO*2UO|YQ zBi*4z+-PcMEK|qT7dUv6>gA(1&x;~L>!la_Pd*?$42q#u`oUm|V=~Bv2z3-SMw>-M zn6|4CoPh01wqaQKwqH&yFCt$Q@I0Yh|q4|lsX@0{F<9cEBG z_{`}R5+E-+JG4{Cm>{hm7vUHUHt6SP?4eZ6DRr-QGaw3`qdLg>y;0cK4-KuCt`ThY7ai&l zuV#i{&iSa7YvD}4ju&sq12zlZ^Yx|RDimHi+}~g!Ss^}zEb9tu=i*oech`1jZ1w7( zSxjo@CQL!2X*VQ=IDl}%Irj8v*HWj&I1A9E>#J}|lw}SJc46;qs^)>DFiLD&qin-p z-$xX3$9GPy8l=?9IO8gPJ#&8|Hfln^h$9IRfZ=ilTb4Xmz#6HxWZsLD(tAK0ssHZORu4s}L%{9Ob zsuw0>oyR07yhgjb}m=e+ITQ#%`S~is}8~h}`R$b$@ zStb8y%_(q_Pmi9iUJ4jxmncB&GpU1{^rl$nPkYF!{YVu8p+105Dk{4^mKmMp`3(8W ztuQjyp#lC=SBT9}7_esI{_|5PJ?n!htZ8>|WQiy^79NrOLi2-6Eiy1^vUKRgc+H~b zmtS&@O!l^28K|Xv7`bp%-NM&1)!?eSZc_UOk+qJm=B4MD%A48MKjB!a2X0ltRNM2i zR*b~i8pf5A{=wRfT*pC-dI#_i=;pH1OwLo4S#BoIJ@E^L_Ka)ecTC@}sst*@3DFDZ z;m2Db*ABe;?rvOsxZL&!3@zwGDV6NS*Cdshi)LmX0l8n`Wpe|5@gWs@q5MIO(7#px z4%6Qy@mF&G?`a9b=;kyCLN$@v=Q5-p%Rntz<- zl($m~-T~=e1-zR`Uclo~h`sQFpv{1LWBK>TzXS4jG5i&TznbB%R{U!b{#wKTH>_cv ajC0+c>qo(LqkwG#sjIwvTB!6U;Qs)y5++{& literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-2436h.png b/resources/ios/splash/Default-2436h.png new file mode 100644 index 0000000000000000000000000000000000000000..9926a1306806c2f3f1b04e8f807a09f1f248964b GIT binary patch literal 104305 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

      4%v|5J~ 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%0D@G@->4#;z#-DA;OM0R8 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ⅅymIz6$E% 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%0AwDPgX=AJ2 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-568h@2x~iphone.png b/resources/ios/splash/Default-568h@2x~iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..ae21ed5f04c777a5b19d96911fe7ac580680becc GIT binary patch literal 44892 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�PqLuN*AJZx$zPj}=|jql{hy&- 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-667h.png b/resources/ios/splash/Default-667h.png new file mode 100644 index 0000000000000000000000000000000000000000..6d02069b8b0f3407f5ea81b3af56e0bd76248e9f GIT binary patch literal 52457 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 E58aue82|tP literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-736h.png b/resources/ios/splash/Default-736h.png new file mode 100644 index 0000000000000000000000000000000000000000..f56f41352271e71f4b7b2bdf4e03a541f933c888 GIT binary patch literal 104278 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%0DG+>dSX(J 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 PgIvF=cO~bNRp37XG8LeV literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape-1792h~iphone.png b/resources/ios/splash/Default-Landscape-1792h~iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..9f06cada8138ab338950e6bd7674e7ee258eb7cc GIT binary patch literal 78534 zcmeFZ_g7Qh6FwRcRIp1`nhgPIqV%dLB3%LL5T%Gn@11}R=_U1sK)d1huq%p*hXQ|uSnK_Jj6orm|0L7-#6 z;}O;4M}eB<9I9iWM;~r-o`yA8R|DJsAgINAOMe?5mG5veGr2W5PfFS-SkpEc-=zm!FpK}2H&s+X4E`a_Q zDE}G3|FH1?kA;wLNCu6FeZ0Rrt*A@>$Gp_uf{ugy8hpHP@C=NxH~+yM^Oex|?+)kL zW?{Yr>KER13h`vD!-cJ~cJFVk3k+1dhRUvuaT}=Ab><0J+oKbEE1W3>qb=bMtCO`d z0iJl%z0t(pfofkp*|l-AJ?aE5-w9p57pk`vp^;wuY>?&h;pDd30JUqpxy@CuqD&b> z)>Yrv^EKh#4e-RBRZ%F9b$3O?mX&BE8Q}YpPJu@{4(6bpjWD6kv5wncy{D^R*lYyI zN@ZL;wN-e(jrwQcrl)afo{EeaI`?eJg8uJGLm}4;1tm&O=f24aaFv%;simsgNCZ8i z6uj&0W+8K1K3q+q_OEnISwgo1>L9hkwR=p0w*Zx*`ONuCrP*1|V~1o@aU7tUQ^!|( zG5fc2#WrDV&9>Gf9lJH)jk}F(1cH z)dOu>kHU$%s!mRgyhQJcmjQD!h~)e|C4ZQMTL4&&s6rX9V^4CL{Px0T&#;s-lRvug z#MaHOL9|v*Dk(SnVr5aAY(hQ!*^h(f!_Bn*JPTrqY->z$u8~zrPn#UCpyNhukc#r9 zdlK38dK^Jwznuo$pF8!t@{x>L+(J1E55~f&kNDS!b+)Rdr{DQIR6T8YPHM7j9pCPy zO1xa3Y*deXRdZd?)qu?`&*V@gqe6hbf8fWoixbl~^^?O@6y!Qb-Z@oFcU#W&r_Wd_ z?r zhF=CTgF;g~3b*lg*QtY)UW2Bpsk$W`Yem4)vA0v^3gz`V^BJ46;OGI#3BiKTf%Qo( ztZjpvFc?hBt^Q7AZ`iDBM`^S%Qmjer{({hptjlP897n3ddo#=MQ zOTcWPTn=EiN-GL_IBVN=vPwL_!$yD)ktN{DZGisuWaSNh&yHjNv_F4o&RP9BmylbM z7aHAr(+6@2j)+H`-aUDE(9c%^>3wiP7J_k$nCj5bTK&0B_;c+xs@R+u($D(1)tU(P zKJrLHR0rG7YQL8Oi6}=QYvgM3=vcifPUVNy9JKFt!E?IcseuouH;7AE%Ff)~;j1$mdY-r* zc={!+w6f*mN@r)5){uj1+oqcaYNWgE{w3h;J9%u8pbwN7WS5hAU`K7|Tt&d2&|E`` zQpmc}3)%(4?-}g;0)X4-oKHQ0lQ?5FD$@Vody~h3_c(Ij<`m>wJ8X4n4b(q8uSokluBu8HSR5`8%5s><&K`s(4C|+5Xm`+>(~=Dk~0KZe%e#*^3iqlzrBMd zpod#{fRZT)MwbI#LG)lOz%=qZ;K)^V z)>#g?EUtn2DR&OYtI5l`$Mq?!9tR9-jcPPa>bE0j6(R&I6uEvE#1iRIpj@0X>FF{ikd3f? zRB=C_Mw6ff@69-~L&`3DX>w-|`PZ$-CE1gA6V}pL%MbyFmb0h~K+ul^7EZTHw{Xin zz#-PNU)U&0X16c95#^(Oy(~1Ra!6~t$Htp|9?L4MtvgyilKHpG5)ve!U9Xd*m-67Q->a?e+P&Ti)Nv;)HKRCNA?O& z$8rOQ1X*m?A5UXi>2$&@05Pj0Paqp-gQ=N33cNA(`w-Z1ezKA^zP=8@4d||zlJe6U zrx!lwpUp7%-WM!hTW)7%w>LBy35@<1AtR-r2jZ(c=^k~ZR>q^gy*|)a4o2BWd(v11 zI9Afb&l@z=)-;U_Q6!`k}Nk8uf??Wa83GrPER@1;C^ z4h}%H%ZIrH?jOLpkcTTNZUd)RTzx6Mk8O4~2SRGq4@g!Ey;1e4(rL8pQ^K!6drX=? z7Y2F!P*z^`04Tk9{W(O4xYY>X%)>q!1yeVr7*T3y(=F#zdd} zx6Jp$Bk}&V+T0>a_Es#dG+6GHoVwM6>hP>@UaphtoZMx5pr0h8G9>q1 zkQ(R8dEWi*a=|>QLOEUb>RyKBA_5LyP`nA)AwRQ#fs8wtY~a1@Vl!Q9uXI1!x1SFl zwJdyBA^bLS;@0OYmw>VV?c$Pub&_S4NAV;PUP6ci#GiQ13m_L?VJ=1_xxe<{JHW`u z*Vh2CTuy{61pwMuBV$f!Cg(e^p2$c;*;Y9|Sj9G!wPCn`fgp+@h$ZsKUwPwd$GXFC z>r!x#neS?-qLgz4a|d_4zIc1LR0eC8*;H2!Cmo#sXF9uwUMyOaF1I$8XCMO;J~d>T zyeG076Hd8(YP8XOzAvG~wYl&99bo#%aA9C0Ut%F~1=`^g8JfSpXSn$&9xIOu2cP#F zUiHS}ROJ6+f?8rCfx#e(CWs}H_JQ^N@?M>-eGi-fR2qeISnQ5rp8Hq-T)552A517Nx%IaFMggRiVqP*d+L zep%^l(6rZSnw-W2Z=f15@a6YJ zc0ef(YoEwpBStdh@BW(RuRq#&iMcQLY*THiJIA89!zJJZcRWRa6WGn*@!8q-6Ffp( z1n@I7@`*3YooPMlYUObY1*wbk2C);k5gu^KKU2CR3{0;a2RT>qtfS{URIX8uo=N9m zv?HaOj+7dzK5oYz+8ZniwYNK(G7v3&lA^nVk! z*ohr*C2HOu1^lmD<3lP(?iMsIw?TgEU1{9hIrI4{maOYX*;RlA-?hnzi)GQ>dI)v zds!Z~=S~0H0^i{lN|fm}vI-qp9k*jC^cq9Z?yLixsp!gj>J{UI@plazU!P63zsOJ! zySTuU#F~6Udx^H691Fc&p(TxP^{lwc*OomTww2w7&tgq>So>Opt$02?yGoN^ z2v~o!I$oYjyW_kl?oOi{Iacp~c>O;db!eLUkXTq2Xciw?$r5J#2nG zh#V6|+I4^==$sipOCUC0e{iPxie1yvCtm-d4pL`iw?mJ+dB&468BQQFCud5jr{^=03nhw%Nzih+7BD}aJv z*J}=4b-(qY#y7(m?A#VO){!nY;Y|VhL=>hHG`!W zqLLX~xFG5(zTKgap?owq*zctBRtB%%hzu!6xsPrTa8jKz${W^KAydB>5s>4rKkbWF zRTfksEUvCZ+XZQ=26kK^b)Dkr$iS8NXwEoa6-tB+*~O>cMsYK*{Sw3O8zq%+ifx^J zhNHV(cZAOYA=}fB+VhWRB z6hpkjHWVErMz-M+I?Z?1_kr4Zz3Zowr121?i?Kt|YuEoax*RW6$IQ*C4mH@_R05J+ zAx7Bpmdw^%v_scDg-&q@Li8Ot%=l!>)EkKzm_<4>I3)CU1FC~#K}hJH^eSIlEUI4~ z#fHVysN7I@w&?h{EPC@W__ z(C>c#99{HMv$`o~3kX*E4!*RRO;^O`;;GZJA+lq=$VVQa91(djXE~hk|J}NPopzjU8 zvIu*WPNxl*7ffnz;&0ULly1l z(3_`O7OOW|1b<$#@U5)mrR(a26eNZ3(@SJlQnl@8j$qPXgT-2%z7U($-}VRoWaIh> zcmFF+qeKb1BM`T)b2B8>-f8mcC%+1JXs_XEZ>N;U?K?y}ab&$^8xUK&;sn|G#U#Gi3ka6TWw`Xvf?kHn?$iW1_xQ>pNO7ksBqKE@8)8I2dtKFQ+ z{fFszFvlGFH^R5W1zElAXr;SVwLpwztF!&| zwp#XCx+Kn01{)|kGx4=o!RTe~k=en}DSUW6x)c`2^g$5Y(@M z#LD&gcQ`s_eW1(_Ddcbt5(yVoR z5h5ja8WGVABVpf1S1x4PJ1dh@Ls0&Z?wh{))b%~ff~S3@1TJ^v)`3WQ~A`bBj`sJ zmwKF)wx|F2IjOzS{-6!h@m(Xw*urjWP`%6~BHF8%_`ajn=d7xj^;cQz;_XcY>Cg|y z-&N?ODjai?`O%vf1-tpgzx?#9YC00(5%$azIa3YJ(zKDCUdlLFG$4(0Ik!*wCU);` z=nY6@Z?3#rLbSvd{?G8EPnI< zz6;=BzqI&8W+|~7@Z%`wZpY^pZqk(foxl0{FwLQF4k7DHG{9?Lr~-$JBItWNFZ4~K zuy#>|T`^`e)GtoD@wk=sIL@=PA2$PY?d!chU8zRv(?CpAgYACdCkvQ?DU^?)!NJcZ zc*%}QiIJ95wu+Kj8chtZBY+)8=G_CaTteRX3U--s1~P)L z2*rKOL}Hid@J&z6(!AU1+zEo`eT9U0w}?ow$;S0@UMvzEoQcj;T?@Q<_hyU6%%HmE zS)jUs(Ab_ojNfx}kIC}qEDq`pX4=77*KE|o9rYtN(4=i)5uO5CpIUkEeH+2o_(}UI zj*dDg)fO2vn*#1Yq4DVk+G)EitIL>fIcDlYdQ4TEj`Xeo< zqwbFb@d=hxan_2-^B`Bjj^kOoZ2Ed%5WA=$!s};8?Dyk8zCAno=l;{+8PCVhW<0yv zATiTO4KaX3=-2iv{II)7d#Tmxr?NLrsAOxMyKR@)xv%EQ{A0qk)WgjUOz|fL-W$V9 zL8Dftn5X1Ozpg@Jdih3b8>E5FeqI176u--s*`SAn;lR?NacvL^E2=&fSJ=r%wiDu^ zZy%E(e_^Uv9Ehrznr5ol8?bg*21B50(HPv3r#lf*uoh-8a<@lGG!H%x>I5?Xp`U=PcTVMYFk*-vY^?~mirehDYbNOo(sJ>Y7 ziytip8H>=^iw-)dta89ksn}26t84$NeY7*@m`5z8TwT}>@fDn|UGKqj1gjt6km7{2)nL0ZJ3I$;bNA!u#D+Mcj5 zG$z4hh44^OYII=HN1l)`&9J1~enhqUzhM5%b_WpYVi8b0@F@)WS{O|3dy%05!%5Mw z7lk`J-U$!cZ~nj$wjmUcoRGhPgiQvqP-bfq**>Fvtdkn;5z~=0adGIF4foZ9Z07Nm z`%}W8^aC^2*yv$eTVaL;4pBvEe-ZrF&6enV5j{}hptW6C9BY< z*qLBnl^-#(=+Ut4?8MTu%g9!cIcgVVpR@NG^4>RsF6}*Y2FcMTt)hYmqV7t7q{3!B zWr#ns2??%-Ngq4JS|^)17wtrtrHOo3rByE5HPKgjL+(O@R(l-m7g;+t(pljnd+8Iq zGiOKVRXIJS8N-jgyB^~csvrkw?@lDcBsfiGqoB^MaWo&N}6Q4ytF zQN@s&&Jb|s5-A^a&tm4^ZZfgQPK}7QvYt8fUIvqwx)$ur?j=;f6o)D?&*QyHVaVsv zp}#iM?)B;YERl=Y>2zuBTF6N(lv?G(2vD{ZcfJ!-^YNKa&TY&J(V?r#?rQYQO=|mK zh7muxg&}e@Z+j(UXAw-;`h#xoYH25ys}B-JYl01W@t4&OYXm^4Ap6kenHp^X-K-zY z+s+t$UM>%lDZS)J;?9YGCJptjnyn|-229V6R<2I$O{HoRa-cNd?EX&$a6^^lQ11b0 zhNODq%7Mk^XxZBqkWh=9I$|q{!B$QMcA+!3bb|@04 zmV3rRkSlx&WQvn~u$4G9b<*%zv~F#ue2ZhtbKH_k4+)T=CA z^Ql5iWSL%6VggXoZpT|^xzYuf4j~I5cj6GaUqXDGfflFxE>*?&%a@QrvA0QbCkoqR z$#yZ16>Rw(JeqEqMaW+t;U*hd--Z~6$v?L^**HB@zlcnX9TNYgCsv8>w7Q`Mq5DIgXSm_x;T z&l}N;_z!Lnz}nhNzQ(f6Q#=~+fk*8)pl2H8<~39=rKtv3hXpJ^?GLUhv}2$NF5wBL zTCL^mQK@=S9xi)d_f)>YdWoO%bU{GDC34aLh@m`{F}blCA)Xd8;>*r8N2AL#sNDq= zZi9qihj*Q~({nE-LH+er13KY^oowlt4ioVEm^NafwUnYv-vRc_OdW&DNGmLVsg=%o z6hekTIHBX=_avm&S?d=EtO-@2?~>&o+cJDi9<0T zW-6iNyxkQ=N+CXJ=*%TL4Ce>rWrw5Bq?$@GGFsv;^1gg(HWmvOH9kEX_P)9NW+!LwQaAn0M_Z4};q<=1g9L zN}R-Nw35_2+tIqSPy1A)1XT--g3;BS_vMS1npZHN6S zl`hP4tAc>B-t_kO-IUG}Ai=vTwZuU(c6W01wbL|cnml*WL z(6V86NiohmvJm4uaU#O~nRKfgyVujd6Xb=Uo#JHN{W97q`xcUDPT{Y|c}JT!+k>VD z5!g?kU&o#ET4Y5n+yJN=QX8!#FGcM@1}I034fqEK$mpL@oXc3X(w~-=q&4hSSQGM9 z%8N$xfwzUVTJ@5W6g(A0xb=f>nDypL{x+I~yurjt&-n%SGYFidYPay zqkV>RDsuDNFirvJD_Z&cn|8O!K8=mMdO(hQ#v>?{1jR+@^lzf8j=gK`LTRkN;;398 zQ^0i5rqk##^j>;7%7nfqM2O9YaNj1jRQ!-#yZ2U9ZGoOWv!jt?bvklRr@O>3_G5bP zSvYNJJ45C9LvE&~4xi5*#PkTD!9%y)57aeEfW-X2zAVZ7;9lTXp6x*W#+uI~#ld9A zQth+#HyJ_r9pE7ORXWJ!J#!_UwB2mIWOJArW_RwPNhA+-CYm%Yfa#b)4cbK>v7f$r z#9{piY|8$C_!O`L*{6-+2ap?ApW@hB^W@n^*S(<-O&bzkBhe)3WiD040ZhOfA%qGA zc3SE;81$RZ$9GW{%8RwJ;S4%A0j^OuUs*kOJSZ4{Shwsa`&4=@Hu;u8KEk(KICotKNOYW$GNQ{>8zVKL z%xPdW&|6wtAf}T!-Dv_tRad4y9*<1r7^V1{Mi@*AEGjK8>GcbCZS~{Iv+o6${~r(b z8C6WZXFdenMFDzRrCAdJpB5kL(_vRTkTK-+>x`Eu2&V-wh;RLN1AoI?dtNJTZ5@pRLsb%G2q2fWBx14(V|1NAK+)SWJ`!%{ z`?5!XazEktXrrt%AiZ@9WaVCHfgH>3wP6lKdiy zk>v-WhXMC6$4D}zLFzrr!KOKMl}!@d`{%a|>J(HZms-MQ&n{EoNnKLVNH9q{SdSpG z1~D3FV}@Y00M}*+?#UczQPGdWTu?U@ED-Pv>Za4b40Q@jh)hlLd`JpuqJ0CWitO!* z(4W|a*5&y5)h^&)x&1){Nx;V_nZo*$Ylx$ZBgca@o4sk+iWgm5kHHEE0~VWMt?sDu zVm^}$X1Ag|=G7LaAMWuwAHTrbh`7OVeuK~eXKml1yj5CaAGoY_zy$5TqjbYoW7zn! zi-$*Sfm*1&k+P9NXeC)ixe&HBVJkBIQmtIGeR+?cQ(b}mXK{m4lVKM|-`7N`Iq;hw zUd?^EY`5XY+otg2?UIrmu7zF`e!F8g!jqPLpU@NmyP+Od=qjuV8MXheWGo@Caxs=y zIy=U+Ozb;<;OzS?QGds`JUzQ*0L!2lX@npPe+(j`7U47`sn4J zuCt$mD7}S*WEao&SLn$Ycv@dVf-B$H1X%27njpkT5ubV&X4Ze=eo)ibtr1JnnDFOX;2NDoMjI`FdXtk6K}3DR`RV-mK>p$e{t z86PoNaaB)Tk2v%j_kdd^pHW402kQJmhqfaT*`@YJmjpkol3l~`dEjTjWjAjFv1Dcw zEWlMr3u2I&o44ZCN&BC1>?C;oNdhX6F808RzI9fLZ7kr%O#!rB&Xp-|nc3z+bVaDa z5i^Z6&MYD26$NiP8gjOf5yT*X=hmztOG0`j*NqC#)R#6hW|<7Exvx&WQK6t>lkAcX z8Y|{7xQ~gE?z_x3gT7>DRZb?at#`Y6ksi3_%iKL-3fEh1U3;JwtgT9Ets%9$r+0GH zfd$*vSB2Wvo3G?GuM`I@ua{I2_y10qcO(beW`>6?3Z$c^tfl`<3dtXIkOTA zs}w|^)^NsXE~$Q7u&g&Lm#~vIuTkN7>skN_aEHP9fQqU8>=cvbUI-;&8tZQ%&`?Zx z5y<|nrf)b;t;xP^Y`DUYE<*Y_YhGDT-uw`Sb-k&!;3uH!9jXjYugimX`94uKT58mV zCaWui8#K<_1=~O6o^o#9u@6%x=Z_-%ee2ZBfxh}QaEYLw@OP3z+|Yj2wO9B2=j`5L z+kiTg>;QBJ1RiaRNgoM$hOZ~gGNg{R(%5df+;ClvEU7v^s+=Hq^ZIzda>AVANeZ)_ zzr8BN1+U4XiZtpyK03_wm<~K+GkPwZv8zCb5e^e=RUBhHfI<%sA=glXE-FOZZB{&y`BFj!fZMsq)`~*0J}+vYtGMUFQ`o z7Mau?RI*Yg5_lPd`B){fj^;w$g~gwJeUC}1seO+RnvcQ7$I%n!T=~;aNaL?DsA?JX z^W>=1q(aWr(`2P$xel`kx zDE8*>f)L^|C9j*OH$GRTHdV;T+(^eP0=*1V8}d*73aHUVSH5M^xJO(KKImGrW8)uy zcnK}>Tl+>4Yv~+p2wAGguAIudE+!72xav;>VwZLv5WCQm6i=ryif7NcxI=0+`DSlE zS%Cml4HHmkx2y4LyI44716P}ty&;!0>Op(a zZp>cc4&f5kinp`tb5Z{B?uWf)AWqs5zRT;glpj0m<6PqWx?iMU=_0 zn5|#MJXt`xQ(y8S2DeAD(UUxF>o?w{8D}VQE_~mKU>7o45N%Q0Nthn^;nQ*Mgq?sI zqq=!v^^6E=#RzXgy|4=pqOPHT(sQCm^4Av99Y$#wZnVzjqlnG+GMR;ZF)Tf3O=#<5 z@LDY`!kv6)ywcnDutl>QqKm$25K$$>w$NMBV^OjoVBpWY?YK8Th)cgc`h&$+qh-4wdOSJ%=o4+=TqF+^F7TR%+MjGKH! zbvz0=zk*0^0c{C_OzsD*e_0`5Vq4ARw+>~o%yqAJPw@=6 zT@3F@+ArM5v^TTrk~`tGw4eTU-7c@~OQT)!>!(>?^^)cioY(&poJ(4LWBtUf^f<(I z85v6!LGYtB{O$!`gv%;5)r|&!M_Vq1rWFK<#D}Sll+qh#7HpK3#&1VpfYPwQVS-c< z%5ZnL2^b~QOKOOCN*ggAg;u`)&Tf?afhF6xRHs`fj{)R%g+$b5{M$QQxqB-y$i$AM z(-NpmSyl_6QY^E)oO~w2<$?CXxs75D0<8O>xD;brxuZa zcj@!U@tab>g#rE(_=|SFgUe5kJQW+IHlQKxV#j`%5?r*y6*?JnoAP?H1rKkprRlA* z2JtdKzZ_J9$i2>_Z8IsIr-(FCwUc8T(_VIdBracG#JF|H0OVcFtn4cE&;v&>PRWrjNv%ovhg_f5#SayP5N~V{AS{BXnV!d$?hJjWG{UWhrNofz@lF#ANr_ib&zK z7ZL-!Fj0H^7`0a|Prrx-n1*PdYcChIZDb$)ka#74X)6q~ResBr{g&&~i_~@BvfIad zvUU(FxpLT*d9vys?b?AY=e5loKXMa`tW{FhU$D!h(m>TmlYp^m=-nSpoi?P4^V;gr z3o>6`?whV1OlyPyzW(r2FLE{#_!?&(;zLLa4nGe67#_;F087xlwfOAWMJ?&f;X(w2 z_$g8X^t#|=p^ye8JM+zwWYG>yggCS*1HJ$QHQc{SexbJweb4#%^|hzfXx_)Ct3}ve zoVoB~6nU4uxrG)g4((yxpR z(v_T0#?c(l3p7zhzx3!?95EMUo_&>uX0|U8Y(#zH^jv-5_slOan&#gmePs2S`Dw6S zO7KSZ#RPb?=QraO;NZcx+YcLfX0GJZ6Z-Pf1N)xzpRb58M7@jIEFY6;IQVzt1rSmH z?f)cobnO&&#M)fTMIDs_O3{Vnov@r(KtM*mfp{V)M){QqW`&^Wh=+gl7BY93o0~ll zV}+-zHPBH7+px{wI(G&*yc&yGWDQq#;MC+0ok}Y1))L?4x2eXJwc9j4@<3=cDf+RW z__aG+UAivVp1G=cUC5YT`3BTiikwd3pY-w{8q!h3ri!qxNf=zj!9sZF z3M##FhWt4F3e&_j(n&xtz~{$FmP^1_-JM2Dk%`}7JKuC9X-miVF~)gXTq0*i<$l6c zD?#JROMLm;X*GlMlq7sUUM)H%h1*ltKF;ZBm#4|!c5ZnUHgSXV8*k9O14A-BeL8oB zYN~v@0%d7i$f4OUwcSWIXtNRhDqTzXZpqsXlUbqeSv`qlr+sIl0q)GkW)!F~9s1IS z{qN5fkP_=C>4#>Epo`G4Y>@1yQ$Er%F#dwU+x>f?;mMp2#Oe|drarXz%->6B-!Exd zX>*oZ)54cWzB%-ZAoN4|ZnSKMOwI-mDLHpKnS_homKy&)3)>w?+kcc7dgF%0wM*{l z=G-H313A3#FNke!Qg(8!A7Q%|n#)4Ta|zsa+Y-fqc7)S8~oGW2YlRpci_d ze6Cxx9fekM9!d)dB^qAYSbAfu?pELscuLq(#(mc_YGzVX4dXfI53u zz3tt18m{!CVi!@Le>3VK)8uKnb=HikNxX+JUxoMiej8>%^6s~@9BlP)Xb5vw*Znle z&!GqXr4YtFOrwmgMlxWHL&!aqTuK|%!{tDy@^}xvGG&H4J}^iL%Zryu*}$DK4LCTf zCi+lrnSy<^T5tUMRL9a^(|~u4_-0eM-fMX#(Qj?%AJ2RkdXjT-CL#G5)ic784Hjmk z+bg+bazmHGFR174^yTfRMB1Ze<5b8e)zF|q-PEhKB3s-;Kg;OLRQ}QCNAXcely6%S z)sv2pg&_Q%#v#}DZ>1R6YEnih{lh&LRo>W2j~cX5!pT8N5X@H^p57a=*?6;*$HkD^ zj!uDWp)Gbd$r3yLRZhK|i2650z`Zm9Cyi#oVZ;a82fvgzLTD^}IY*2rvJ+m=lf0>p zn}MGzL=H@=Z(o?*u`stTN<8=PrYRtNGRtA9H?ljwh14#*w^xA7AB2=~Ie)(yP`5~_ zLmO_QO_#kcpibe>n3&j%c<4&E!t#;dbd{LCuN})k_+?G#DRiFR_4z!rQc=vJIzQ)< z!ZI#SUNRA+T-`?{H8UE(5#u8JD853*SDN$V1Q$Fq*Hv^MBg8ND@f7Ti_CV(64%1LI zofKw&KlVr1y)$R>wQZ#9iq{wStr`azEw`y^$696W+H&)u6uxc|J)MVZ^{LRR zQGzcTH;~&cI^BAGpzs5^ZRM?AN!na)J`RRidj3c5Mz@NQmbuYTYLCT7`C0rz`1+}B zW7hP^hDRg(an;}MSuggkm_H{}`nQOp(eK%~G|Q#uo~3T}Xl7teB2gC1*ZD^uisbLU zAI!<=X-dnzH1c@zt!bl=a#m&XnOL%=>EgvFh`8`wr*e78&(#hpOYU`-wU&!9%Kz{N z+<>`r*pKvbX*Uqrf37k_`eAIqP|{>pmv{*Kj(`4WwEA3tIMZ12=m5Kb8ebtOIju+T zlcEhmCUD48^ZOk-*4(0_M`8PD{FVdT;^o2M>Dvzm5SfD2m{+YUaa2P4;xA8iuJEgc z%PEk8a7I8MzjmG69}R#;#$sOz>1dY=?bJA)v&i7oJ;Od2ZydR+&zx;{W^ZgLKn3+s z@suNAT9POoxsP7#R+^S<=SvQOnH0f!_gS38 zG~wC6PtE%(lXOL%cM%@&Hy|wBWLcE?trJ($?Fh!vVu@z`wX%f9#Qgl0)UGY*N2`+{ znUOZ-^Y6#1uXswHBF|M|uj_VN zt)*pC-%#i5;+|-ke<$5N)e=JLDR!8a3n(mpUzvP5mKN*paF6YYQ~BP0s+ReIoDAE4 zO7fEU7iDb(ao)ytx*ql(5s28RDke+FKHFj`m zXUJ@4O!g7$XZgGB;k}7#c82D+9Nw(nd^;C8SB7(o7{gs$n)ySpN5vhSzK)H8^xoDZMH#o{g!L%Dm#I1UZ;}tKA2cLJjKAhuBHNeFg9^~ycgq`eJF_-?n z;q%VshTq5GK~r&Wi5*0hQ$&UW+|GFBXYXLciCZcDbDv=2Dv2gva{QVaMMWKgDu(pJ7kE96qqwbWi;lDFhm9s!#7H`0CdEmWh6?K_-f$jUj+j-gyadW8~WCR71F*iRrTP% z68F<;X71A(B!o>8JqksVtm5Z&v*lNcz+VPbyS7RmnLNHUm~7mo4|TKm-rHC=XscM{ zR4RZyw&oLhG+RFRK#ekURlYyL)$-+7|Mq@t^KzNc7ue3XQn|N#^|3sq`Vp!adCQB@ON08YX|*mdaBF z8S=V;OG~VKxbF;$hfGHw?RF^{iY+LP%3pQqbh^tE4||Wz7rp;6vhuiT2(y*=ySBNS z3h!U$vU4V{x2s@8=oO~hW_{^S6<>%#klaliXEd3%5-f!>sV2YBJ+uAQI^AKI^K*VE zlMnNcB8luq6)>M|;ZYlAuazsYNfy$x?_QZbun^IZ?7pit?}rFBa85oGGZ_8+mVq|= zqa|PGxbeZnyGl}q$~Wu>mkA#^Ol%@PqJ-CsKFNe=RR}Y6df{91@9Hh}%da>l%Cr7f zTdt;H#6boNi+2qg7TbPPoRqM``<;tq15B)B<@nc=DI9NeboCNWe$q`?RyE3rC0u(3 zhNbyP$j$8=TgkqNIbG4I(=MqgPrf#sFkhM;oZJO-owvT4(?BhkoYPV2?P}qRD|g)1 z`(yf_pd$%UAfQD*Rr$g*(jOUoH$k{i;M1myl$t?Jy8Yq@3=2C{z3cJ}`qM^C#@yYe z!o<%Pz*JiUrsa>3In434+qa*%hA{cC{|KV^=vpW;ZK4OxKZ+PvF%f4nFplKDUu8xo z5$KkA)xKR`S@ecywu@^Nk&*W{2fmDE;A;96uE$}WT3QtknL5|Mg$9dhj+BVqIhJ;0 z?%HOY{5`Ood9&~&57X~gFd8>dcT5hKI6BE?~Rk-6)?0-ci zgiD!xe=lkH&ijU53hwV^T?^hDFnJiwpKN)SuQ$CJSv({D5~9`ulO|3`rS3Z4YcSQj zMf^kH&cBtL29Q{`tN9GU#r5+^Ir5H61#k_*`GK|%TJGSa$6S$I%B-J1eAp6G8F-Xc zgPiX*<-f6_%+SpG%kjwB{u3VTf(rO@?9zV%^XkR=oJyLebNuH=Qj*=wKhgn50M!Ec^5r4zfgDEIw>0`+aYhOPLQp>tV$YG)Ore>M zysK0%XF0e)ruklG;$2(2D+1_ZSC^HXab8LvrY+ZSq>@F{^H|+MoFAr2Bq@G(SV$9P zoE87t;P`QF0e(Qq#{gk)4W5@PUOZ}|)2tzHLx$$tG zf7UEs`NsIJN(UvJcq^PC(d%4_59*4;8IZSz;!Pq?>w<2;G5eKmt08hXS*ETi*M=(j zt9sPn_Vk6Px}60$o22htOWfY6cgUR4F8q2gKJkfBgTY*&kQ}C4Sbk>*LumgzNGaF& z1Zkn))kirfBb;Gb#?|vd`+-IPOGWueYnO%9tXaf&>np#cx$4>6lH4J;?=Sd&7Mbo^ zX=*7eGJ;9EOEDE6Z+&yTsSo<)O{rfFtif4J$0!Xq(wAzXVofb-R0WR}CafI&Pn7?6 z4t5Rl(&K$gFnzR~O-SypX^NpFm-FI5g*&J6j!N_{eMJX!<9t6c+i2J>azs~1m{pO1 zLw^rK-6)pTVX`}Iac2Nw9HZ@aIxRASu=v~N3_IPMi_t} zJnL9lZ`Y7PT@hlcf0b9u$MRV%>G3&E{~E5w+3cb>q2pthh#2KB4mU3QqJ_J~+B^JS zH2MEgrqh~F6g?m;dOj;o&FZS)wpA+I6{~)pcweLLj%V==L~$aP3sWZdVjDiQmnM(mnZtOIYO5uAAz4ITsBR#SRQ!L@ z^_5{!ZSUJNBZ!niN=q}OAV`NGEgjM*-AE|XqXN=7fb>WYNOyBoq`Rb%8ithanRlb- z{678PeO-KJ?`N-B&;8u7wiZ&+=}ppeYN{^f_8V1-I=`#$Q3Pk9sSVJ3t~FZ)JYkxv zj_Sdg2B)OsLC%PgjFA0uJzofi?>KF8Vqm@p6-xSD_~^;#)g{^4)n+|CY=nU*S8KDs zS7DOtISJ-;Wx6?=RSYA7Q~Tjd?%O+&c1{ceU$H_#(zfU!_LQU3)|u zsq6chrCe;J7*kfupITN2{|{kSS*SwdvWeGYmoRftX?dW{Dz%qS=w z5Qh7`O&bG>5|7+(>~8zS8+GPfXIw_}w=_3t{=%f&qh_*x2^p@nGXSwNa#1E|T^0v( zD*_3|JvqQ!gvEg>_0L~f^lcVvAYaW86wT%+gLm)|jx-dXi3&e-=tYJR5oL+S%NDpv z%XonA^Y*s2?|u7zraNG7ZuNU0WqJLL(u2g5!>gv+f3mVsj#j_@P!X;30BR*RQ?F_0 zJ}iHjNKN|*0>`|1kddk)fIR3RJu+HVss8{P+c8!i9M>mDi|Hd3r$`uK18fZ1KuX%N z!;LE}KjdQEGxP*0Csz4%X$*0gT6;7;D*hY*ST>htHP{S2)a!`0b^pn^@w}Zu)8QoW zYHL)wOLcyA-e=d`J9ABX0vtGqf6#R@q`Q@l$&;H;yC5&^*VHC%i=#;`)!Qs`iP`Ufo zbKTF%Fis$?QG2D1Psm>Hv>>f&TpfeQ$_FSAw$URWE_KoVTSI0rDqZtW+0YvsMy%v> z@}N}Ky~ajhid7IRpE_SojGoE@#@~^Hg6(}NUp~FUM0?iBD%LPd>;2fkj~BR)rJFZ@ zkA#MwHhMEF!fnUcRVj5Ym>W(q2uq%~gnF<*rI)K@gdCVK3$#Qgsk|3Uv zgW{Bm#@q@Hx~BOwU?@_tRQO{+1FBUA`NL1BzO1KWoBQH3{Yv$4y0Y%lkyBFb#C-`} zKKXQ7+!8)I8klb_bGBJdm1B3@hJBLoaf9>;cMRL@GuRr&>(;6ZCZp*6BofW14qkIM zdRCE2|N7?^52!Qc=tg8Z3aauh11Cn!XsELIeAe=EjW^2F3%YIGJTB zpBPyi4aCOKkt_(h|B>`XLGqxxDtKieZG=!0jraD|?UNg{%D)~dYJJzBXCgm62*i9A zKe9K1yxAYRWB-E^tBS(>PF4v_J-iZc^5K;~Q$k6-dFPw%TcL3ELkB)-*E73EGuKS3 z_!>84GiX^GHZpOvk%|VXmt3Y-A{Q^jxg zB79?4Hf;T_d1U@>R#S$TI*5%oMK&)*aoxFrvpX_!1i!sKN<6RJKhrGluz{lD z7q&~t$cr?bDuzOTR?8fI&^fj)0r|~Nzjz%!@L+^uWV=$rv{I{y%71s;n960WMK(X45a~BOM(Zhbtb0cq?no2k)9SC{{*<(^W-Y{+#u6Nq0 z-D&^l6Ns#n;2Ko{S3BY_IjH)%#qc!yh<=#WTsyTBndP6m}?@ z%2Iw`Lv%9ykY~R2J;^0|5oBm?B}*S-Cfb;?W1^9L{#B5G&Ly4B6snOA6%*U|^-2mgWDox&Cu!wefo%Q)_9KT4e-Ckf90v$(NoF z8`O(z^*KuiBmfGFGUU$fxdy{$tGJXuDYNlN(PUY}~XO7d9~nWjSd?cUC}Qrtqku zg$9W< zfXWtZ3K1ps0y@klhxUew4fi(jVXfGB-mUiUAJWGBkKW9xaE7l^C;zB^6F@d~c!^H% zVmWIpNv)$C6f4ZbWZpHkK0}4A&Q7h!!KtZOv}66|nI893S}q4Mt7>6V+Xhj}q7;re z_Xk(!kLEo^nWs7anV9sjN#9TSu|Nu-d>tKAo^f5W&^>nzF?DAfcDmfdloQ#F4;!NNn9zl>~b7SJrS4K%VH*L1moz+D#t;yFKI!!EFSgqyHEgVn&5gcn7!3 zxOw5N5&8_*AKQH)xSF-!aCOMHbb0iqv_lkwGM8UyH^dHy&S#_^G_%77%2H6rz?$8$ zbG@Tt#-E^~&XDih5Y2O=$V?Sr#a5SZo{6n}X?57)15wF?l1v6E{ExqE-zbEyMou+F zo3;52Z@M{JTkf2ZF(%au=F}W`Fj>_o6(1donH0t6Q6^KB6qn?NzmM?b5s#}}I=&{l z$movo>ZSo{nbF-3A zblVnv-Y6Z8M*)1Sv_DxUELH}rJzw?8^3RvUyqC17t5_c2LE86qtXVD$*NMVFLDv`- zxL!O2{~4$9G+j7ackHxuB#x5;@3<$R%THJcviN(@*@M*g-o8j;ch0zs;ytsSCVaKl zhI#T_nERf)QW_B#v5{JLn|i*T`3Wx}x|C+ni&m9qfqzAE%QE$MH=Zm6^Fp3L^TLAy z1}K8c@y};Y_(Wi(u9tc{;v%mGock`_Jb8TB=ekuXkY?Myv!zQKThbpk2;-4Cttu@c zj9|NqBl9?Iy^iO0ZPB`!cRh?R(NBMKIs}f*7Drws5S6`Vl#D-iUZi)AD4~b~gkY+p zP2aur1V1mdx*mVxT4tW(6uu__$dvZokScL@GwWPWbK;#Wy9-#(;6d~!aipD}MJXiR zi%;OWS+T{DHCH#)2IGbqHa~4GyQ$tFM_CQ0e7_ok1;sO*u1gZ6 zG8TYpT0kFetg9fhI6)Pn`k0g?NCqdNv7;(1+~Z=;mrTl*Wc*W?wAR||3l){aERh#D zWg-DuH$BNRh)v~z2}#HFNzpeP1S9y9LP=feNLHohdrk-U6YduB~-oCP*kS<$QJIfLAqu&1=+=DGsVEIJr>pS9X6L$791DA?t@OVEdSwHBq zh(*$iN0iaW@n%KMvz4(sy5vVv()zg=xJQS%@N8NBfxTh}?W>;H&Hg0o$9&!<`^dYl^Tz376kM82ZmYsB2L0@r&l zO$r*4%T6SN$)W8USlK@+oq1iTOE6AR3kZNOwQo0IaZgui2)m#1f(L;n zGln}6qSw<@`O{SNn5$^^>Z9R;^t?Jx+OOk0X&&ccsZ98BrwOODZ~6`@uW*0xGs*8C z&91`!VvYX}+G)0>P1C z)KkUbRzn&5j7t5&#=9~2a`c$vkp6KH+r~3+QRVvbiQTuAxFUe<2u zRqdXlp(DlpJW$^EpJHM)PWhaXH?@uW<^bT{cb`|K#UUXui3E1}*1aLdd!bDd46j2A zhp)BB4sntPrt_|10?ydNX1&Rw^_rC(+{@WUAw!M$oky*mof z(&M@r<4ca67CvtadQ`w1Q4yq0>F$*P1>xaaXJGt=KwAC5{;vCUMCT6+_^A1GZi^6V zJpOX??JScIO{L)Kq^3%NnC$tHu7K{KBNwt3KyWrv#?rR)I%#g~Q87C1vGhDezGuTjBfn)Oc+=Cjshv$HN zUP7chl78i7Vd8RhrIwhyjxlk4$?awocuD8 zmOSqMV?Z6;SOS8x>R6hVa8?|4@h52=owyjXf)cZAf9#U`Z<=U1()>z`RGE6A|v#*Zvfm}|7Bg2BX)Uy?avVzkqn%wVJvHst)&M>*2 zpE-qnIZ7P1-DE)7I2=GNfa?S9zdPx%jkod9Yc2J`OyMmpmj)}Vjv zjKcUw1T8MFP@izE1o--?lcT9fkMS}h3G!77vey;Vla%r*o^JacOh2?yo6?Zn*HE^W z3Oo*qzwJz3R?=nIvR~G@@Vv8FNy?Dd#gyeocbKTWOQj##^1>GTIkhav2-_-qN9Iqp zKsPD>j4|oaT45DCyl$i!uK6=MAWl{p4OjD`W2{Ff*@HkjF@LhF%d8jx`;?l&u$RS3 zF(qlI8Mxs3=<*|T) z>5&T!WfeeBpUCJFq;GrT5WbQfwz$l~7Ly{M-ke98Hze?KU=@OHqU@LCgu6m7KjePdL zd@EYkU(w$if2OSDRwkNZ(fh?JkFA^i=>nVj{#p16ZOlhfXMDWJ;es<~W6W?b#zdF- zdX+o7^SRN-k2iKU{7`OOOCt|XS-NfQt88x1ABpvNh%Yo}14EWIBNyw*VUM&{t7l7$ z(t+Fi3T`Y!XmWwvV%M~VnkVCt^_Hn=#*!~C{rRoK{=xmzO$%~b zhJOa^hA0gKenUFk7aoReb3M_y{?b$`_Kh0DZn$D&WCJrfGKw=CBXgZscV2s*pJd(iLu*ut z#$SLk0ko-?Y=PumcmSe_*yh9LPO22FRX#e@ry#uxJC`OT1Ha`Ff5ItjZ*8bZp>rX8 zrge!S-fuq1e5<1pq@TQM$fH!_ziR;JRF;~De`hL~7U@o=rg};_!i4<24~<({c27)K zw|X*_b{H>3Y4}DtZKSPCdL^@l1C?F5Udb_tWWQoxv->#P^lB8MBHpSBf9;Q{zM@+m zk2Z|=OJXV5zi@5JTV8fAybEi|Q2o$$aVa+#7xUyrCJmu!3kQpJ_o({;a z?8{H4WKwhfqk-X<%RClIc-w$np@zNOExH_?A&kA~=Al0dR1i>BhF4groH_R(RN)Qk zRGRXj0FBR&K925Jd|Ou-a>yCW8adJEGBU&v*YZryd{B2blUYTn4_!4|ePjob8^80m5z!NoV+wa7l7jx;-%183( zF{2bU%CA_&5JMZyU5KVKn3sO9Ar(?>y-fC^FMBHcORkni!y>4WdcA-^#%UlH7Vjy! zv;Bms7p1v(tf!kF2TKIBiNIcxaN~yoLx)$7NMQisAX(El31DJCZ-%#&!Z5c5Rw1dMs&y!>Xr_jK6mj%`~{?oc{!8Cu>#tiB8C9 zOxBf}7rrJd?&-C?H~Suze*;>e2Fd3;y9bqF59KN8N{EM%qBlZ1bV;g>B!%;y6hi@1 z+s&i1usu3C{D=ZgtsjgAdgJA#)f2bv`Qkv9?tQO03y7gcQ0ZcQqnfGPmK$S2?iRV<@K)3Ka}u^% zim}1q@UqD;J||qvw@dw&44nt=fArJ8l%3A-JdxjCVe|%}&KS+{u?k3qRc26g#E3x; z)ab|{Bag9XMPTc&)ksQ&K1AVcQ2V0S-WR;)av5c@#*DizfzP4bVrQ-))^cgfIa?dw z^QJVvM{<+H2(!y4y#%K`%a2MpamUHXWQ9sqBzSlii z5p6uHy!Su2rmNC-oFCn45Am%V_cvq)B`!3ik{53ZHPEij%kTlrEqCUivW!=(?*t;3 zB86shAk@1?;m3Y66x~(b^+0cEs@Rqh2NB)y{=bH-3Hj5Ik#?@1+#Nz(GiPcfvbZ4| zgrm?mQ-jw+~;4J&ATud9a<<;3m6UtZg<8ap~~0M6?g240~O zi1Q+#7%JLb=IY#_?7Xq1>lwqCuhwEKpnx;n*-C6C~d@@U45$U-Z@r4 zt~FDVW=pi3bMY6|&-^ysBdfL`ebI;ie?HxPl@Bd>YvCTplrVXAWCM3X(O?#WSt^0U z?_8;%w+TZ6h+u^6JPEB8(5r$=%y&kH*uhC`ZuT};@S)CmA2d&9@JqU!mK6P6b#)Sx z9?P#^l|5&@Br<*<=l(of=CFD91n2ey&va+PKuBqJQLo$K1HNEtLyTxW5l7p^W&zJe zO@GRy{&NbLLbtS`X1a#B3ShwvWtnH>ig^xSHrbVve=ZQ&@R=`fvCG_i4;t$UOA7Jz6tqK*qs4X5W2cB8c7gh|?}m4iS2J{aO*ceC zZU9C(XT7*;KD7mLuSD3ir8E_}(+7~rvpc&=NTpjcga<6iG5so`<;HD;)ohV`^^A~~|5%b2-C1IjCqoAXtD*Fi_t0vrKnOtUD3q90<_ek5WL^+Ceuo4m zwnl(213Vyb-Te1eh8(jkN7UlU4oqF#^!L{itI@a7QSLD#pn0$=&4Vu^gnK%!IpYfs zI2NY9jxd}gE9=s6=79_`P^NMgJ95@@jrX4J*`UaK<}rES0OIDeGL~2y+6#F#&mq=e z4^A`>%?H}0?is3!1aTCM91Ey3@W_yZ3>{9po>RpFY#l&xj$}y%)c~=!tV?8b|tHVQAa#mzlWKENY7d zBI22g8r)mOa6O zKOdJYE_ccuC=lMW(8sI$S)HWbyD<9Xtf4aX$lB63(BoCrAcN*9Me zI3a~$vdPwZQ5yZ)CgDyS#1l7}e8>gx0& zC~O^a!*2)Bb+v6g3+RNnTnc7{|3^7E#c-uc=mr8-f40DL%GBeI1@vX3JdpBv~y(=o=Pe&xHnX9{@9U_Br38?RRV zveyIkt(^Yb*>aOZ?|3kcB+i!xslNIw{bVfn>|&iHou@aO-i(H~4G5R5k0429dC|(4 z6gG0eNOe7?dpMAflKmg4{EUSX^}oi$|0a|GyQ&iN<`387sr4?L-Doc z+NG_-hj^~zK`)2LN6Bhkc4~#VGZ=Z!s6b7h2O5rk-Vuk@L*~_O*dY55q&_>1)ysC0SQXhUUhVgEH!^z_M{>u7qO5yWI8iG6vJmd!?CL0x%I>%(cYfv46MFj| zN=1VyevpgdPA}>Qo{++YP-JH%5o^T$&)>8>e3`E`^)IEue{$rJy~dY;gM$CVhp@k{ zKzk11eZY&W<jG%u$H1y*c_K)l_;ab{ywiLjR zNgfnC_lq#QcA}eMP>brRl;b#WCruj_@_YrsBGB@B}Ze$Fl~8|J5qNO z^_}+c-%^6=#r|EF?%zr_#~(RxSGexB{R4>bP#NpAi`CBBBgiGn+3-NtG)JG6eZ(kL*6;kbccD zUJl}Z<`E6zR>`sL*WT|nWIZ5z7f)69JQ*aI`2` zv~!ycda8xSwJc4EB@0Usso{Q{&GAow_Ad)@%YG=EpjmZ246R&A zZoYl0Wg_*uDyxqD-2-=&O~u_Jx)|f&G2f&81`fxmsWXK` z^DR49a#oQvhI#UX?kkefm|c>Vt9p&)`6DUMR}q1H2ha@hq?8_?@;90Ag}^aw4Mi{B zJh_?N_(C66gl_m)vU<=L3TyKQUG(zA%?R0{5z$|8hCx#4vfum4j5&sK5|>+{>%d(=ts!4rQt$Lqb})$6~U8S!d}F{<}=5nsH^i1<^GzO~NI-Zq&8Ocj=@ z0>G(K2I)w)6Mo#T790)Ulh1&mN4M64II$Nh10}8x8A-kj)kfT=Fq;lykgfzp!h2z< z7{7;3{J@M}??k=I`cdad4~5@;o~;WwtaMr?M2#R07xfjP2`Vfbs+B3>-15~Nd2EIb z!FWDlK`BZ;xIB4X8NEU9U%P;HfMO&TH+4i~Flj6c?N)xu*)M6!hCLSsbL1^-IB<1r zhA&S-!BH{BoUA=d>TyU3MG1O}qP=@GK|fW*YjvE`T_W+#*?YV=AzE>vAr0{3sTuyg z24#tAL%8{Pbj9RRPKr*RxuyA2j+hM6xMqf(JD)u5B4S5T+A%{N37u#MecILZFv_ym zysPE0eL%1m{^~`-eXhae>P(6vrWo9ud5^Dy5kCd9fDjS&L@co?-hbY*#f`tXm0+4C z!Zou-%m4Ej7SI{ii6udU+5x(;V>ezMw^P81aNupn^b^Tuu)w@s>42=H7%GLt%F~3$ zd1UKioYS@GBoyk1^)pM|vlS;s!TXO(Rw54f5po`i5t*4mVkGPy1NQOOj>=w()+{N4Fah3{~ZklIHF*P{$vx>o9N5*Ka=#FzYjq zI7y?TDHR77UYV+IhMC2?qxFqh5N~L?`Mo2B+vH`G}2 zTE#@VT|ne3HBA*C-8}vp8(7sZ5u*^*>Q&avng96asbMeRBz~RuF3}xXko|sq z*;7B8>TeT6F#MT&)Svj0qOE;DaDwRKKvrObyH#n&&*E_qBYdvyCy?}2Wg2!r`GnVS ztY9MSQsh^{9S%&Lr~^UlXrPL;3@>hK)82DtwBV}o>lQNSZQmApqcZNs}^K!nU5WSg?ZT&UcU+4-m7xq{;bqkvaY zxRtln#hH*#w3wMZ1z*Lf>$b_^YqhYmTZj2HqJ|qkof3`yhn!95{(J0i+wwF1A8*MZ zxwBY6gv;;o{O-u);2@g!+WbR^KZiX&gseCh-G%LrzIT-_h)0Y&kd#~0Y2WnZ(Zj{l z95@dqbJk8BnX<5Z;2OS|u;$H8mnjZ3o`d_aY32cm-{FRxfve5Mrx2Z~c45F0U(gs^LDCxcP@N zd*^Xcn@Mp+b6esvS0#x1peUo;3cW)qOJ!uQJnubL{swbeRSMN*_pwVTB(DUieu&ax z{ds#bO?tZ`G$71-?TW-XygKe`%+K@(pqfCO_CU~!?TY`2kvqhH8Fxer+na36*Ah-X;{nlE8J2hv!T^^yY3;7?br@{98ri4Pu>*jEhHapx8rx&Z{U0(Atj zz?hTSiob+IfD-%r=V78=hG34}wi+~;?&p&0(b<1ATzku3YL%>7*mY(%S<^qx66b{+ zFc9lnX|1B=sQz<@T6@veQ=DZ; z0>9puM{mbW(U8kV4kD%$V9&Y$a2#kLK>*B3&#YzsX05I)dC4=Ro(YNW$)1bLfgY3P zX{nCO`^>Ns;@KvFgyIe2W33#D!#U7H6pYLw_FnZ_7bWO8p>U@cVPDZ=ypvt=YWE)d z%|^$wO7>@Y(#9XYq@PEUy^lv}a1uHw>55qb))vZ&;pa*XzzAq#S#G^koi#aK*1+QM z6%%E#t<-X_g!`TSps42B%T5b7lk_*LQq562bDaE5v`kJ3Ae9j&5Iinxc46g(srCj6>yXd!|B)6SPkQJeT6bNtkEbkuz`0bUJ z`1vCqQ*@tuQ4-7j-rSkI2DrOb+Fe)fHzHJ>OW!lQMVx!o?iJi)8g7UM+}xVRqjC|Q zbAijr1NbK+Tn(9OTAz#MEfNymgw$A?<2(GUds%vR+T9-+J$$|!GT)i8c2-oqPg(ZQS2nh-JB)0ZwRKd{Cnd|O0n^&riNA7}S~j#97l3pvuhoN-1s$u! zUjdnI-%_htTsz;CA-2BXxQ4-!Y*KAk84ow@uOv3#K5IZFK-v80=%yP(k8k?)B4su^ zU8dW9XB;4=_*6B_6eSog&nZV@wB|B6a}F$HYOETwBG_XhYWipf-<`L{O*RQAWG2Vf zNb4v(E0ohI>2WN-+aJEbJ`p9N@7%4MV`<7V;rcsu3Qj>~<<|GN)}YD1u5+EC`KLa* z37eYWpMWD1unlr-)TNLeFW;IL?)A{@mJR@N9I4mIR#nA-mw*Iq^sY2tz+7L zZV$&iN`f)r-@>A*)R3ld}H}N`kO| zz6P_t<8-$2M(_kfgE}YVnfAUTx$|Z@2rJizYCL&YZ|RYlWdmw>N+=hq0OOR=c3jJL zo!3Wc-`4R2g7p9rmi6W}`0^=fR~I#qOH?ctxPQR>Soy$<=`E}EkC0Iy|2no;-*I~X z0@;`MdRaKMc3`q>9T;0YSs#U1oZyBp3(_?)brLO`F~!>`&;$;SNN_kRnJG5sliYU7 z1(Fb+z#ziWiR`HMbP5~@Mm8@iN`>^*zY?Qw)^1jW?;SA5NCKTadu!*cItOsC_3?IE z_g7roVmB%!#K`HGRx04>f>QbvQ+{8rLGqljFzuT!f8Q1ibK_4&;QDPj6u0hZf(t`o zr{ry#fGJrPbUWV+*7E~}jRlb* z|B30GsYN0PXGQQuAH-5rL=$M=8a>lj;)xmJPrS<5wdDBQPBI>VA`AfzW0FhRsbNXY zqbfd>dN2R?`6?k}wZX%8Z_9lc}1i4zq|m$num5F7qUtLI6jQs`}C zuJhasH8CaO(u~g^yYYK_ zfR(qXw5wnuU(Dy|>w_5IR6O7Q;Eu}jK#Vd#DGdV$0XWo~tDU$cYG043F3yPPV|^cB zwwyYkdzbfmcy5kWyUx!Ea8!-9%&?9fmh00tJ&O7BsXXAA9qGRrKHcU8I69frKbgHVy)bBk^!1VIt~+PmLNNnJ+4pmD^7^UX6sBCBO=j`eig^#CxP` zhzbYqi#@bup<{SzEo14|IW*Pch`jV8n|Thl;a~+i>0> z7qK4St52LxWdLrSXM9|LB%_Eaj`|Bnvl3vzMZYmDU2pp#?Fe{20CWA}>2#8|QK^Kv ze!qF$%V+r<+KH=oBgQxO{rJ5S<&)*9_a~xgi;x@$fIRzt2{5-06HJWKMFW#22aK8d zk-?qAm%ne%HJPdikp~0H+3iG1le^lVI&A*w@Z=omCi_~w@k6f&*+tpb%e1F;Ag5I{ zLDJ)Bq_Qgdh20buN%ci$> z%z7rF`FP&lW9x$8t}BH{$b(>(*4fqk2E!sX<=T|o1E+<$W(GogX|EJ!|APX$V*j;4 zJ(2{;(u{!nO?#VmYl|h0eNSRgbDmYN259~Jc0B+4J+}U3l%aO6EH%2O?oRkafHk2+ zLXPqTS4k3tcMYGISF{m-Y=6@2t?(OqEH4lWkW_Z?BqP3^?Y;c2a^?et2mwS026p2) zB;1YXGPCq4t`;j{`z2WcLHm#R(ZjVf%cE3O>18+8mhoji%ZJ<&~eXDs(Xp+|GR;_{%=)&X;FVp+1os;im$vEHr;V9p>Uxwp$kGRT6fpJ-7SN;h{sYAgp*x_V zgFr$9PWFFaFsS{_pEq1D1Noh8iTh$t*#WRv7ky!_e$M>$=CTbZ_-q)6s9vZ+qOI{o z_QV;_i{@Fufmr-inG2mDdzJ7KYO+;_40KR z$nWOAdiwQ4cmCxQ&m=*vW^d|2PMqC{i%C*@YDeD~?L94qJ%P~u2%2eNDh&zj zz>7<}QU%I#7a9=WgG;_uS5x&mSqP7cOh6FM7V2rb$xXN~X#WQUxKHido)4Ud=jlBi zdSy8WBxHqvlRZBFY`|~NA9=RnxA*k__`m9uFy}fCT0YQf*(l_S!*jz65T4nI-v9wF zFo5h4t2r2X;AEx3p5|7i_G|P+7!r6L3iv}pP3w@n>TqHKUnpas&^D#KJBY#iIaZ4@ zBpDTd4VTs*OS4C|mOW8M+2>|n>X3&SsXdj22i6~b`u_!UKoMS%{iPxKK*eR^CfC4U zN40~h@h%1r2+I@8_wCb;wSa1vG`Vo@^zG-?SYk9nft!(;H-H2Hv5u9i@d8i&-;-V{ z?T@%nGLYls`=tILNvOqulGqOO5m=Bs=!SI!!0ASO6xKdF<7iAyV+m`suq9}B0&Jhp z{_m2+IJndCf;RuAddR=;RHEv{Rki?a;i$E zu`U8%Qi{D}cO5P%&_BI}Z(zd&_AZ_#l}VoLFIYdjQRS7vjPtC|1sTb-aO2Z1bh%0%e)3fO>6; zZvevoiHF|>iR}&C$$Av7ej54t6Rsun4U7ep_{S5rdm5!u8KcubE>e`7m-Ptu#h=0T z$msuGTpF9jw7ekiWvM^J3a=G$Fy@p_J5c`+*9yNrFp2#->kFKQ7D{HG1xSPBw47nz zf0_qUNP>H<_H0venn?g0?Ffl&liK0IZ?~LhW7We8#aXFHUto~2wv8E`+YBo@^+*D( zI2vu16d$6pT*n>h|M%`-Ie)WOfHd?4`9l=HeJNqgBvW2E{_C|XjPdVEq*6k$^nK>w`af@4)rOBm^RB*7 zgRpAAJ_jtKKb|J29roi05R6cVf{Q}m0SU-(L$S24`B5?inzrWcE$-&+z-cxVfQR_N zNg1L-^4p&vMKaFiCf=>H=Qf|&Ukuy~)M_MAmhtxo-5H>g2d1dUDj+fA`J?C9wuCea z&6hu37PZoH^;|f}x8;=as6fiE%qsj^e0z6nLG$-F^;Oe1rm`y5`L~|mvnma^p*M9n zlD0_Qm94QWrgh>hfKu4BelTFnF!`x?z%a(~`_sz$_op=*211?aa0o&;CC|(JNA{FZ zrxS5Y#&fr*+LsdQSIo&?W{SB76Lo`jt9J|{C!1zo_M_m$lO{R-pUiCMUY7#vj!5J` z#D-P!IoOH=m}BoMv#xj931h&yiBrD%TEACZIV_Uc<6&Y6Fj>gJajuXhCI(QDlckhp zRyVJk&P+kn=OW3?!b&{+x6a>~s)Ew0fnK@-R`1UcYNn{F~YnuYcARC>HK-?`*gcW$>8~ zjplzG^C<{VbxG8e^9D;cyJc+j?jzCq(3<%M<(N$efb}+xDeDN-+vU{mTxa`y-?y$~ zVOi9Be&Sio&RqW5jP;m-;nO>+rK8{CO&q>(=O=Br`*^mcnn}29Yr(?YdWCP-lx^Ss zG{2=ga!+y?&|1r~yh25NwF6_OcV=^c6j|`wHrp5#ajoxtpsq+VtFF^RMW7^idOcg} zFPe`$ms2MDi`iq4SHDd8rPYL8Lr=)t+Ne1RkTtdO(+u;UZA+pKH|)hetUqU@|ART+vEXhnQ^QqAjl+8EAk{Y;lONzI$6R~(=F+n2u8*sqD0oZYn5@bPQq zGOcoM$Zy;HByKKMkgP#JI+}EI593f$qFttUl;^#)Igv`>Gi{<_T4tWolJrKh{;SWn zUq{yPYYW=`I+fMIb;l9g!+sJ6Br^B--1qR@P%)-#xpdMbB1^~B7nANYGcNC%DV;|d zV^o+^q28=$V+@t^&%+TM%CDKFor6a}6CEQdXnzOllDg_fo zPMqO{3Xt*`<@OI%lIWNUbAq@@bCOp;SV|UDd8?WQ>>+%m;uf%=b9l)g3u{r536KyQ zyvCyOz@AO@a7lLqE1bzoH>0qM%2}U3Vo}~%c%_c7d31*;d}Q5z**V8Cqu4TOtNb_R zUYXc*aA>{v;}rMXE_q+nBGy+J%;1+7L@EY?VM~`kBI3WK_eAa;k?m?=0!EgQ@LKoB z)-EPW$tNy|kufF4J~L^d)_EWbi)C zb}!b6XC3Rs1sa9hJ3NiArPRJ8^r>MiT1O`P$UTy(4;6vCG;IEuS0fOzbmiTeuh~;c zWig;$nxSZ0%bR~m%Bbthnm|8Sc5hQdTsUd1pJ#30YxAC(4@HjG!GMm|Y=Bss2d?#( zEDdz=n&wD6(n7L>ckv{dUEVi_Vv}b+F#FW7XFmnr>T^582&HCQi(y;a8mMtnUXloO zkg#P7BVYApdhgh|m)5&jaJb*i%*c0k2Pac-meT!GTba~g*jH`I3H5Ik1dO`2cT4>S z(!IarcYaZ;wtqR*Sy{ls8qd3BCQtS5pu;z^Ov8<^?Rl9gpk*#ec02OecgMh6*C^fk zTd6C;Tx{40?Xhbek8&nocbu4O>v?dj zo}?^QaRm&se5+AOVaA5R_b-U{nkYX^YFq0=UJFV+r2UYQTb}1wPGMGj`H^g#Qe&h> zZf3nN$vkgx-Fg&Q-n+oxum$&J3XiGcso!8;UlhhuR6?^4FJkdIT}+hug6zofc=_7@ zqv|c=qU^r!;cJF&kd#JLQW|L(LK<3`JA)Q-fOMB&OUZQ#o~7Y9g~0RYBqBimw}|&il1Cyx2@+;`NG6k8zGDIcOHtH zeNG{<+{e?6JH~&8-cowgo6eap**bF>5y@{ZW_{}x%pZ-Kun8B$Sp4mF(ZtpQEjqnAOpSYb0pKjvGs7D)g9N(%Q zuWnTs-!!hBXEt+1y}*ax`sgyq9KO?`>8ah>pLtO(x-p>L^}A>vmq4e zeobkJt^V!CG*OR0iLZRIE^S8bl`yySVZde5^jnqKP_vumTxG?LtKJ-;-(Ey@DSOpIlQHiTd+J>)lO5H)lS%NdZ&3nIMX`-wa1E0WJ-c&#w9`Q!J%W-L@b@G@ZAn79{0(*_+4usA?JUdZVeFyMbi z8l8a%;Qw7)L*(%QgjEMY>YUBOZyg0Rfs@_WF~%S7dTNLS9r*VX)-jGJ{h!muAk7OO zQ~bTg_f8j*Sp}yi$dPVFaGJk!Ow>Z}vOZby?D)`8?ceNstm8=q1 zR(z-#o?X4XKZZAD8i+yZGiO4+~_Qdcp#3B?C8Zx9K^kgG0sj^D`B#lIC*v}Yw!buC!%Qre_C8GAa zWex9x&wExkpP#jjXqD~yY`e`Q={%WBWLp|xs?v~Tm5 z7`sNR&9#(`Fv(B<8-HVG4WaQy=kQ8^2yxmQOoib!mS%Cu!(68*z z#j!w}O|%1$iMyrLI8(ohi>ti-h>soH!oPc2pjxrJ$Bb*6C!goNyPusbft5Y5PM{{oAV!9Lr*-R_Mkb`KIdpNG#N)-_i^8m#H;yua%t)xR zx-LxI$x7=OF&H{R>zcT>m?Q;#aYYN>b`clc(OnxOrKG-8Q8t)BxIyqjl zkMY?Kx_qBo;4_L$<`Y!0^Q6OOovHHMaTJU{xW0Y~&`v=6u5Fl6=5w30Q76$%Ofd;` z=9!r?E}hh?`qP1<4m+14@dPWS&khExg3=SFPnbEJ zZjh<*2%;z7RIifAEGa-gVRx;?pe^cszQIsA4T(fruIO zOu}HFslC7M@IRNmi3gTIH~{lO6ND;T!mMO}E<#RG+Zx}JgysCPedYpwizg-&JlC&Z zT=uILlQ|6u2dM^JU}8{++B6S_79mrP>j|Rna=g->KQ5Qwci;>ECQI`w_i_E#iqSWo^g)ge8Ze4?zyDyCsa7s~J>e%njW0|xOe{+P4ns>a2S;gv& zc3z=_u^|L3DNEZ0S?W4lIE?G~$f8@wTWX~xwK?H7Zz7LS;-(hOGMRZTH~J1qo=wjd z8AdD|?eD5by6~A!p!a9KN`X&avXwq`p40LBY%6s%u45T%s55bLjJVqRsf=N46qpiitM!RO2Wx2+L*DCbufFHD%_Qd6Am zd}+MSNz0bxP01;fDR4hG;j9S4sKK5>ZEwEx=IF&9O-mw!e&`LVq6hfHV52v8I0KKu zq&u&Rw~#^RK7`gUvymJy0R|{e-7~K*P!*_j4EYutq~I~8mY*_c)JfceZsJj28w}@1?nR3$;+L7zyS;unSO`V@PMts#i zsHkLn@lkX!(4dp_KFg-7Q2{fv`9)S<+l_T-rR(CCW!98XhhJ=2lqnaC1J63d>1lr! zZw8Fov|W=^Ngt6=W#C!rWL5@?UNO68lwJE4m6W4=S;KsCIy-r~dw(kTK{B{_J+N+R zoJp6X|y4^Fp`L+(V&wOo=n~D*4JR8`U1N^d|k^uMu3q9HH)r0K#UM^!Yoi>xBsu%=$5Q6 z4d_}mNG+mk68r!!I{$0r${z=4!@6#JuaPNp-!y+{5cRba8*sz~O=C<|AmQseNusui zVgS^b5I|}_NiaOQWN@AXkJ%Qtxnfk(gzA>!VR$npyUjcQov2-5HM22jjnv{YCzQ~O z3R&R+rYnyWLR5~G38Y8kj{TsGr{oxG-mI%qByWlWS3H2BNl5u-z|&Dod2Bj$IXU?> zg^_}7q#dgYO^4VW!d=aef-3BY(@!O2JN08%ZfHxqElR${$;wOF!ozfFk1F!zH&wlM zACF1^sy!e;d_^xM*k~!bkClvcI02%i=6AFe;dKQ=P}KA_RZDfdi(V;I$avr{Sz4fs zx3u5O$lq@jqw$ryo4Vy=JFVrhj+!Y=_4V_chJhs-L3|lp%hdAu6P?|vbC_#Oc?yH*z`jTl9FF_X>GU*>gR$h!+@UbgibD+qHrs)158kgCzj zc_(&f^ksk?!Ss0c7-u3t&|6y_Q)ziPz;gj5a&V$8~B^^*7>@jl#OmK@Db}9dTaJN-}s)9<)yyi z62q^$eje10VCKgKnyiZxO5~86J3>Y+QDtu!`r}syz3XBPLTkpF`LFmFsZ^mJP#o9J z^K^PqO%xbNkc})>?i11bZ87su8lTReJo7FWlR92(MzY3t<<~(LKnk|gTgBSU%AaOg zA93jL(1??gx^`-|KioW($bAp5tB8ENNW-`2)pwXqbhHhcT)bV_jX=C$T!={OSU4>| zg>jRSVJBp~y3Cn8MnsD0^Ixd3@*M4`ox~)uq{8sL#;y&Phm%l?Lq4e+_%C6PhU-IS zewpuv<8{h8eoUVEEjuZxiv;1k93EfIhtzJZvh)H+<|cV;rI8oM?)wofZVvA$1$Ygo zHU<{bD3MH)%+J@#(JcE0S)8dmeB42smxUj1^tQrg4bnm-+pbr6vge-SIZf!P!~G$9 znqRVdIi{v1$Z+0W&(sK);x%3BtiLx?vDizO*!GN&i90rf*DE(oEN?)Od=nb8&tZ7% z8ga!3p-E*>Ne=jHD65Fn(spB+24Zgv-~G2o>VaZG3yo&}(K}jsN$c#B@?|^VzQq#! z%8;#mC-BKK3Hq2sGk)yCEqk&jjOHG-^Zu5ezw{fb*8IvGhQ`INuvEP0nztV;az}ap za^d*?OVtK224xS&^&y-#Hx_?qiLE8#F!g#{3Svw z(xc%y>|2&4YM@Ww zI_*yxyYNR~$)ReNzyuhYUYNIDMh1~^zMh!K;({NU*P|_6TQ{Z|;NabnKjP5&#k#6Z zHfnf}KShfYZ8*ioe{u>eKSY>%Z(V|%mf@q9`j6uxAF7;8FJE^xF+CpS2>2hEek3if zYZR=TaAMO*F{f2xud55=pO+Y03>GPc@@wrPZRxz&xeT&TNtS(NE_&=3Lpu93qqDmq z(zbm*sqMOYet1{+BldLDv3R6k_3!B`y<37-*`{#Q0DYc z1{^xml4LcW>3J=#~N$pm^S5H#k0zrwZXsU&*y*Pb5g?o1JOO2^Ia^ zZaXjiwO74}(NdOOJ#7Onl0~ag^G@_D&fty!tQFK zkis@p(6~M}v98&p+YBRCy39-O`6dg*2{d3QOE%> zx*2q-ccbKt>k0-3T~>*Cpm&!wjb8{k6*t}0p%-ydy4K?ji(nN$P7PLwkQFza)crWA z!_|Ha(CKjxHq*QCcb#N&@LKqPGroE^6uWYs@tgt}17H3R))L}=mP9SZ8cM*o{)XO% z^B{zMzve`KSB49M%HVT29TR2amuw&@pfS@fMld1iAyDiTF#$Fj=O0cKBw9~ylC&g@ z;neWoj0ix>ac^Az^I;TmlhEN-${Dp>M-)HUSs-xg_*yT`pe&FRbZijw_ z&l9qRgTaix^E-MVgf2@NCMc7wmgF2Rs(|b~pKIZ3(M4`Yid&G*W2M24XATuHsea?> zBAe=5mVsZCEah+K>fyWgiJlQXm_rdcp->R-Sop`fu|3E@0Yz0PS@>`DK=1s7nI_|D zzs%Zd9x!x$HFJ&3Uix0e;QA9eJ@!x0dS{%2$;sCF8BA~kuRx%+RkVw zhp;x`>5+ns;jm`n8F4>@{o1my%R`Ck2W7@Ww7b5^efB>Mj+-maInqK9UOLmJn5DvA zd_}qGAMzrJWh>kT3lvnYsubc}{TSxwI$46XCQWI#5hqKa+7zsbKHm|aLi@u!p$JsI zf%TTckx}dHyjX~p!L(_PSd8SQuxx)2Vq);(m~*;=srllh!m2m21~-A&WRJV1->2_k zX}6~t#kA%f&#PnW@pc9`MyS1RQ5TeL9y`qEtQ!F~V;VoNic^fNCrj-!#cDJf1h)q( zHc1zFPNPjhr(;P{*$*{#?3u2_KWrF9+@5*BTcB+XhkX}O_Jeu-LYR~CROyT6)^|rU ztJTYmuJ`sNV;j`ILGAO_sE40VI~Dh33LCH=|EZryoWNHETaVU#@o00lXGz5qm3d7J z=##hHR$MDqy9<0HU%+zo^ZiXY6pU}JuEEIqu%pYdH~0vbq+N<_dIbF@k+(fSo+}3j zL6gs0TEx~BK}#wqz(EMQm-jFxqN9nnH0DW^(mPv^7^jEVJU;5bBp;XfFbW?KE1-`@ zz1)>&aZP|z!QMkWTRwmo=RV*_(VA;nc?GI&mqsd`_4ncu?z^C|&m6QB{!~_^tc!r) z)iU_ZiX)$K;0KED5>k+C->$aCl2Z|rl@o??af9TvrQh01zV&adnQy|kCpdT4BA7U6 z(>vbY7aO_?gfwnfDsnW4p=877EY7s_R7JYl{PH!!7xUTzl+fQ__!{)Se1n)tGNklb z+~F7*-Bz_&N7$d@9g1R!5j9GB_YXt5so+zp`KQE^PUi0CL>$DY`MI@IBX>JIUC(ZR zx}L51br3~DhaCrrzPC9do;boL?;U84qY``aJN-oWBM##xlP$?HEf_i zEY1MlX45s+WOQM zrhew14&X0BRWT-;!lFwK>0<*;c8g?YeD8&%%uQHmE3H#nawQCL}xiTw>G zlHMRP;P>C(;-8OX->l5NvVN;*bIh|JB*_R^zqkbU$oYUu8)n7gHxOY*fB)8z;zv2! zL2Y#YwbjMeDJUcUQ645}Jswt(5Z%^&$nd5f-30l`mF+5jM(rIwKursfVcSH4iI#Qs zLcC4rQKF5oeYua#Q)_AEWge%sa%&&&_JFs*)P!QzffYLWT~$?2Zk45aqAF6=hIxKq z^Rq^Md{XnR<q#usEuZPT4d}4 zQhzBSGtHxF?r5YUg)LV>;nlrc#0j?<#~((jgzy;f|KsAOU@d0!GPI! zG(Rp)?IXJtd-vMtqmSg3Zh8XZ`_4mxbB@s^j7#rwhJS6BajUfY#isD5y_D{PtOFW}pI{(pc^EL^wY zyDTsO$A#GA@x~ax+0E3F(%~Yg4B6|&g|K@<=n*p=m$<|DK?LA5LPYIVp+Y9IY~FDQ zrZe0q!DA)PLCo&)%)!S2p4|~Ho|j*Dw#d}D(wzo*b* zRpu#S<3Yg4DpcQQpTtOimoK}piLPM)O*)(AKj=K{#tR2-jXevDz(k65EvyjGmui?EPaYoEB+BcT8EN5DpUE6c z*u|<58ypkJ=sWnNPd%~rvbJ8md%ul0yh51V?DSW6T!B#4S&Fp!6l$^U1Oi?X+msw0{0SjTLD#f`E^XlrG7=MF6e3& z2q4<#Rj|-5+RXq`3-U~sV&nJDShCo@mQk43|cg%bjAtrfXTooFGncNj;yq3 z_^Vu_Ht;*o4IG*#`kA^r+y!>S2RzqD=F~^$^aVfKh&s<{N03p-PMR>IWYik#OH12x zkyGh_Z{jS%RJ#p=TF272q=i>d@62nIa+8!Bvo-6~1*nHip>tUvzOvj8@0b&i=W4WXdkV(BD4h@Kmb5`|9%heM6opbX zz#zVN7E$7$Qi7{-ysV8LuniGeMy5O)w$fW6h5BKM4SKUAL`$6C9P*OtjcYbw9ZB$? z;WpC-VDSJsqU-MV6V{B-2u~Fiyhb90-(8sJ%{ZXrl+@~i0aj5=o%+sQR+=u zP1eX-_d$BSY8ek&zR;3p-{?uZcGhN$rA0r594>{8e2qx5=I3Wgi=~-_w4NY62mq-y z+8>k?s4~3r9}u$;3%@{d+KfCFHrgo(R2i9q7ZCqqtphr$^))|~0r*{6&n*cXXz29R z2iSC_s;U~?C77}*%tfX<(8N{LDMWozGI!3K+XQ-2X%0gfFp+synB26=!7IS~pO)g(?K$4{Lv=_c9_++YcDK2d`{%j(@O``+ zf1@D=0uWLl03p}aDIK!b-FTDU7DLmhxJVhk^;&k5zbEv@Dwg!-sYqOhKJrPz8KbZtlEbUr>-}H*wyNGN_H&QSU?Z$4=wV% z+re+N2_uGbRBJFODrsQ$Y=K>zlTLN9|4?Buc^muvIJX9FXLj8^!x#F>? zY+-CAt*p&>9LAgc;#l%QP;h-&r9J30lW-bjVgQ)Tk#f9XJ&-7BHk`(YuH?`{dS#m= zVzsADr9kt^wfVUqQG8zTtITKzQXqM;X~Nt!>Qi7Nj~4%z+>5-89AVv*WQFT_r1fEc z_Ay6M%UTpkV{G2_@6pO5I;0;*1{;JP;CBG_!Z1ClmOW#@kuzcz_=!QEP)JW#mpW_G<7K86bHzF~ z`Jysg(-Wc)4-GSkUap^Jhc|vtL}ly~E@cM?r?JIR_Fbqo)w+-`jt`Ck5#)+R0|BFR zpNs$k)M4d~5HC`^!*#87LiY~AijR9=;RL2W2wfyKQxlLk)2cV0lR>3vI#_zN^rE z&~!I$C!0M&sI3+8e;b+VU4K7L;ZG4q+DtPuvhfeBq@h(a@ww{`w=RlA4j^aov%nizP+ME-4j1(7=Sw8D6^8iG+{ey_#+5CVIX;c%uN#N#x# z#ts+p#Qt@pjB0jnY%7Q|+%T$xR?=SUzv5CuK19UyC|{tvrS^Fr7x-a!+dV(Ku~9xT zp`%zl0pm*WlW)RZ5MN+lG=+6WMY_+-kkcS{O%6;Zse7DfkO8P_n2N{ALQ(JR2koxy z#zk(|I$ubOvDRj5M-Xr!=!|SG`}P|%shXm16G7eO3M`xURGnwY0OO&dlX(x_!dFZa z^4={)>HO>Rif$piygwG>nfe|$*ZD?qj(Wj@1u4YoT%zfQeMFXMsHKGj zljpdphR&{%^H9Nqdso9+Fcslkn!>SNXS(FEOC`PGeDU$#b$n7&5)Wq2?K!yd)&NtJ zOKrpZt?){{f^B=3mFBZ=YP&2b*g&M&%olP+5S5l$e!O4NOTJ+X0D;}Izz==MdoQkr z-EvjX=;{TG7##uB03=0ie?$LD3E3&qNU!Nkfvf?RH54h|Mz_{?)!ae!u(| zIRExtgS?yl!DYgxZsvMT0S+n-V+-H5b1VK(A`*@?Sk5B#F?u5v` z&=E6IqvLl$FE~{SbTaZ$5UVQib&v)N!|YWvH6Dj34{KJH-x@9LhU zNzfTClU0XTQsrUkFHiUq8UC1Iyk|K0R2UQ1HmgpRbiuQDkS?uweBGudmBjbH@Y=BT zW0q*9Zd`qpvfl6kP?DdL7YDq!xZmlPov*2%wlXm5{aYSKwgu+I+?S-qgATMrZ~*en z<>~pR*nF#8Fsvs-WT&RjTZsVZYOb5U&eY0oj65h-c6pBq)7B~TUcGIVz#uyR3P{24 zSDt=l`;lg!Jby6%6N{`RsEnvbC*sSZS%X?(28Wt?Tg~su6;XBQ>q~DW*hz)+?M)Q@ zczz(7gEcl`HeMfkKVuX0ccArYV%g zRSBxQ8q-gYr|(G+@6fYYL??+|?wV_3ra5^%k8rOj|0yyKGVz(~D5dDH2_3U}0yOW{ zM;8-jX};Ac7_;Dsc;NocKF7$srE)v?SszUg06`oqE9Q&*uNWt3=I~E@A~cVG6tU|> z(7k$I)GaHUdtlc8rlNn#p6KvV5lFe4Mo4$E`*brBg3Ap{XO+bExC)c^cIP?{Ox&I` zU)H}6fBYQ#Z=+MAk>Fp*KmF!}rkEWrnxa?Rgmgo$k@M#{ek_MMs{{m^i9|I@^ZLgQ zlELFc6Gz|kJBo+RM^6Iy12yWycGH&!bvWS_AsfW4P_vFq$q4sw7=LIuyOmX||sVi>9&1}r*^*lTlKNIzl zSxHrbr@ZK;W9v}8;nPS)g#i>*zibR`z{2nm}6EQWWF z?N_@DZogb(O$Mv;37LT=EH!bvV%~}iw}L4Eb}KL=A5x7)gs++O!l(;>ZQ0bS5?HlN`@JXf5PZcX3 zecsZZz5m#l3)J#+B*jU6$VNGIM>l<|NQN{UIb$0X=%TrX{S^6?I`b=(DkLm`c~vEf z8Vk|fFd_$%e*;u&oDEL*T$HWl!!I|YVR(O?Jwh?;T0)FPAToYj2(k)7X7dr>#%f#M z&yR_2uDqkp_Q$-oo^PoFo9^0+ z>Q+*1wgoz1naFB8fPxVHgu19j_J7M*u%X<)`PdNasq&N_Rdbe-EK>YCTw!P(@R`l1 zW&fv2z@sJ4x2MxFbSZG!rGt_Oj?Bp}6}%yAUz}sfIil{h-hLYh8mdH9#u6l{ z?=2ou>AIw&CRi35(5@EUxv7o)y%;HR8otKiZoL|mxoe<`4IrTbX*yL+u)a*QS0eRJ zPGwLg(*##>Rn2eNV;%BIZigxia4d_q#V)wmH{Xf;aqCq#kd|OH@WLh`#kyDNkB$J! zPvbD!lu%a-t*lafJUR?Dr=$zl&$#;kSc_;vPufAf$SIV+17@2o^7Yyv#zX zCpIOTMHBLP2}j?ELxFwAzP_r$=X1awv(m;G-;K@ztOXLaIT3fx3P0l&ATi!}4_Uc> z$KMOvQ7BP%M4c(>N9Q%d_T)9RpFc`VXw{qf2gA^JYyqCMZ`wo5s> zpURxl4Dg_Y%OMx>qD^;WH}NmcMNyLV-8w|qq-5-13)R?^zEY}QnKEX5YK6J-1f6V> zVqpK~odDWH7ci8L3pp-(=c=9{UmQ$}Vb0U&_MqZa*zgJ!1_A@)4Y#JfR0tfS=`iBJ z-So11V3B8?dy&ypP&@Za&|=&5)t(NwaJ6$(qFaSPpdw{e#GKpHV0t>|0V%1(*RgZU zR{~oFo$jcI?8rrHx0M)IlIHqeEBumOwZa!7)Ibm3jz+zLE=%9ozX>NxglbLl zgL0$#yE8w88*_{DS!P*2{KtQoBU<1;W>WY(o1s?S?oB?D30e$Z<@&?AFh5Nl`RlMP zB%vCT6a^~SRZ!OeB8R&*H|hOhm>7Zm!w@gMZy@`fhPY@;euj!QMs&|pcRM>3`?P`Y z*7}U!uy(P~(%#T|KJd?wKPdrs+q!tAT?~fgCd6BUTTQVjPST^aUoJEXNoeaH z-O#`&*mJ_nWX~SY(fUzLUQ#hW>}@sO(XctVAR3 z_h7jMhIc*Ur21BN-Za|-dG64QlnyP6*GxGs*BV}qY*3_TEY96!y{|ONllWA;Ta<3s zdx4IkF=7ekfTOF$+Y<7mj~GTudq0KB@DdjqmC&BJ)BPLiaEm-r4|Y-D7bWOiNr#fABFKB$#;SH zzjPvPi=T4;k((zf>t|i3S_NQ!lKT7$)wlcC0n6~PT>uk3paLNEyKA#2SM z)1ch(uPkZ2O%ZMd$^Pf`B=7(5^8c-ud?;)j%cLO^ub=p)R`&r6>m2iz z+<4bK5g}eeA7T!=838elz%0pzN#8%7L%+mgT*9@`tTh*#B>Md_HOYr$b|#s){gvH? zp%NSl63qykd~@<2kH3{~MFsf&#|Rf4x?9W2uaELtv|$9L6YH{MT#qi|G*c&9|u-MUSukgPWuXL=1-Uu_szT#S9#5 zQwLoixku(HJDxUdHZ%$!ac?^j^rwmd2a7qp4KH0VfqHvZPbH)T_diI=m7+DSpPks? zm*TZ*2+K-d1vXl2p1LbS29zJ%?Af%%`N#BH+V`K4`P&PEa6;%>#XO^T7T0Yxu+2CK zbB(cE*6(>e^_sc*m&^}5b|KIU(xs3Es3#pwf&x;|(9vwu1GO!wf@f_%E~#FB=eo7q z2cq`XUnj494Ahnv>9G4`ugM+XBexXUv{-X!9s*}h6jb|UQV0I^a#$(Cx4>9(fYaE6 z@+kDim4@R0TA<>N`rTgWNG%}6&Odm}|0vUbOhqf;d|dGkc-iRX|%->z&O zGcr)G{b}v8RvOny3bWnsGOaQWjIWH^dg@=eb4>=gkOPfw7et{0lvx>a_Rbzm4m0=~ zS1ul$05%bD<)^bdxbcM2hWKvuUR$^%155^O7Fi{;cYwFtV~=jGczlkcHpd9KBm%y3 z8a8cT7{qUu`z{~diRW7YdM)wJ_+ks^@j0#cfwv{qsQ;-CCq@6sIMGj_*p1(Zq?-E| zJs;%pOP&#G=G)P_ckoPcrQz+ZX~IOEKnIvuzPkSBT>B4g5+9ImbV~&E(Z{SlW2o*% zn*b$eF#?sI`j!$EOrdAVTW0MyP*?g}@%o$RjoJu9b?26%lnw`KkW!_DswMUuqx8<& zO&Joh%1rn>rXZU6f}smms025GtWbr6Z|+&dGuoIY7u-yKqI-5cQs!ODEs^0+?(p`!pUMO`PL_ zfd&2;W5M%cu`r4FUKd!Kdw^^7jEAgHkU0uf&=mXJD2L(KwrekWgNIZBfF<;xa%t=k z?df8eQ+544I?!=0SYs1dx4)*$I~?A0_03_zc%85w(Ky2Of%Rk+bkAaauu_K)_i;_ztd|9A;pn=mV6 z`x8aF?O4K2q=As)&^)>pB4Q2%8bG|F%kco zOh>prI~k!xXM^;*eo0!}`w^op86%8H;iw#B02g47T45PQ6fd2<#m+#}BAWLiXHNlL z+QwoznV8}NWnSTE@#q%4kF&wPyG71A|BR?y%wx**-aP=fIj@}T6t_9>p3b60a6~6AQA(n5SiS8=!QA5t}&Gq=kO{I(6@&y zz8XLPC&x+)w&LLQow0!O3=tdfT1^=I4%aqDc03c*@Y@t6QHu+-l1>av5mLf59uJ#+ z@TW+qkvR$9r~o-xc&FURh{{1IL2I$i&p0rJGw#f3efsA2t9j^*sA4kc)%f+%g@eE4 z;>qqpF6!t2jfQzH>Jp-{lXCwd;Xupt+3*5`69qBAxKz~(l#pgF5^kRG0qsjAndGpt zM!J}ITTxV4GAa!HPw7C~G&yXGqfmAsKQY)Gh0_L~NWBVdk=suvrYI!o0(cXONW6t?Aji;_a z<0oXeZLPlfP=4Co087pQ|9)U>d5ruoM8^gi5?m{<6c_-rSlJRF2YHHukScwJ%K z%b_$y!M?IrD}}E>fgBIZ>D2u!Wsp9M8tIq{yb{0VP1aPqnwv!#*($>1RkPq&wOoS& zG?VMcY7&b376Y_df8^qMTX}$XPUatrY014#r-=1OMF&*AsElU*9Doe`vK}m=D)JT$Cx!|de7|kwJSuQ43 z#Llvtk_|u#PR%9?<=GB%z3m}$x|huB=TsT5u<1FznTdsLp=@3jj}QEZH(3vZ{w?<3 zSR|Kr1j==K{5LQ&Nm8gFFcS%7XVkgkZvPc;^Dn)B8WEKqlp>}DlWBUW%H>H}A-fy4 z`eJ+7WOk%L8H>qdF(H+guxS;r$<$ows>QKKK8d%Iwy*ja<`qhKi@^8WiZ0)1wAcc? z5f7f&7d07C08R4dO{_RGv+?B(J-8*Z$RsSkE@H7lo(VrQZbAP(XRj<2Lv{1D@^Fx* z^36&}>Y4^83ea`#hwyD9^6DmDfw#BONVPmQM0^TirZV&VjtFiv*x^FG=NO8C=^z(x z(=!)|;l}YSu}N)2Rl)`sFW7xdW4Q?D>n+^gpw)r7=9=y)S{g&n?aEj@F#$pJ@%e&I z>I!=br|re=;nV?A$=oCB_llrc#N{{|TY}Y=e{uc)tuvSr$0Y9+07HF|fwT+Cy5}H9 zP^q?Dh`S1wVi8jH_AD*g?d7BQ7v?)VV(?GGqtQptGsJ{m(xuuLc~}SJgyA z*oV_7_YvrhmKMrJ63R1vf2P^HryAwVoDYabPpXS@5Pi#AJ^tT#k<>F;Nxh2zzVdcl zt)CfH*Xk~*lA;MIIf>SYT1UY5B|4dVEEq5$wkt5k9;qYHMN zo80EGgZ$ytpkD}6K)};m0g$M@Gd;F!GOt&n8;ben$J&ATM0)GGJJ$XCtrU;zJJTwI z=Oe_c?p`C#PugvoMV(ni3X{RW=iNNY?L2LJH_S_|({-*wyv9cLZLV@*7vRHUoLr!A zK;mpHIO^u;0_T5;g!R8fl6wY1wx7}KX{dW`59W=b2m1Udvhms)110#0a}bqe1$>8T zbbg<|0k%IUyWT!r&KJ8Ao5FvMUSy@s1Zr+pKw{3m3`xSroNe{`>#+6mJQGQP$zfBj zTj`)1PT!_(w2PatekilpZ`#0g>qp20D&OZc3|X!i&`7M*NpfMW@2>bh;IR6+gK*xV zcwn)*v_~A>5TjJejjJh{({2y?`|hFc94*o4~l<~ z4gRIE@w(`^x=r6Ewau-9L3%I%V*2=ov>5g{?@4#;?)HLD_bt22JH}rXZch^Ds$&z~ z(0eTtd+E2%?!<#-j<9AGEJbmSwv*i6Pi^K4%qs&+h^vKJ7vF6MykYf{4Z#2{Y#x_)!^5Ch$}W$@J?iW} zGe3ImO(9|ZR8&K3kdKd6i&qcQ_e~gdl~Rwn0)*)jw1yw~6BXt`s)*{B&KNlHlWG}W zzj3_veJ*cb*)am$q=Humaqq3yQ-GIW)7H9dzd4KL=d7#cAT#FAC(TZ!kFl++h69Y4 zcNBx0br&p?hsX2p5emuFIu9(3jY!a)`Pbzqa5X{zs}b$_9{utguQohlV>uFptQ&dS za0`Hz2>(2M!9^d+hCkYEomm>?kF01$N+JiFAL&y}#Q zZ2KPH-}`=l>^S!4p551d#d)3Q z`OGViL_V(CH1mDxq*D+)A1(dnIaQlEo%+M@OJ4Qx>3O9@=9z$-wJcKh&j~OV(8C}r|J*H5ve0a`nRWQ{buqGy0ig?Po}*(gF-n~jd1*{ zI10q8S@nhLlyHIHpC(q=A2`Y`)dfnv+=tZwy50dz{ue;(CQW-(tI{%A4Y!mQ(RXQd z?nm&EexJ@zir13zs7>e8lif|ra-08eY>WPDY&EEV%Db0eK99eeO+szL$G-W1EX2WN-d2GcVyk`VkVuh$^E$p^YJ?~WQY z&FjC2hc)9lDw6=FzgPc53KP}d!ZrW&Iz_VY?UW$!8tvB5sDR#t0K=#FWm--vIV4YX zmrWjt@|BEZFUn^vp^M;KXWBvrq{87Bz~Y{RwV~}-_SlF01a!@vy_l#G%XMZ7WFPJ5 z!dK|cVDtbj+MWRuy{WM=o^xCjI|J$~gex<-{t>}goBRj4nzjRnAc6|uBz2M+7J_n0xI51vFv_AE$Tt?YhU8m>C3vcA*Yl(N2}4F^h5ea z9oZl7ROD=bCUMlPFe5WyEHQSKB2{KB`5>E%lAE}?lDEblxJow=xnpB$lwk!Dzt>X& zpvq(9KqQuB>vVW35Zhkds4|WT|q=n&qzLqp+H_SpjWKsjd&?3?TbV?SX&SbbEhrHoXw? zPKh`SB|u#+a?p%c$pRpVVyjC4Rd^XJ(vHfuHQ}-7t>-Fa5PJ4?;%N~q;mmWI^H$G~ zA>_+`kE`P&pl-&wL7oeoKa00D*5fxMsY{(iawesC9FuARNp8087SmVPlvy2uU;HK( zRv5qfT}$Fnfmvs6BR5XpK+qnplg?!i6J={s+h;ZFAM6s_Yvs4hX@Gjfjm40;p(NXh zv2JtPVi@2ldgE>XXbLxv3U8BFi2;Bj6VYffs4T`Ewd%ixUSbo5V{Pq|QY9-r2 zsN0;IZ^`qrkukW!swktYVD5!70|`*W(_iN;0t*h#4cqaJtz&lItlq^QkWu4){Z3V# zAII05*7sDYPWB}|NN1NSQ`{MqTR;EHo{u{E^sf}yMRXCG73Xdg&(zU-1f=V;J~No0 z8&j-9&J-{2B%~_T(DA5XN*Pi{aH46{rE(0nnw0)B=_?fBAs{qBb^gmyS$rjW0KE6_ zDfEG+u?wF{g@ve&9~|Y~%_XD613+RQ$0MEEJfVwvdhqRV&{LydKdazkT=Jinfj1qUoPNzaXF+Exc~``05Q!4~4dG(z_G6y-;dUfGg1*Og!`e z@*A+$>k!W)rU(9AJ74BN3iVc?0wd75)9g8SYOXyiwCwxBD&Gi7_I}4e;c+lXa0<9k z9Px4)YN&#>X!|`~*VJEmywIo~jqh2A&pp00Ui%J*8ivLF3!MH})*;u0Zyz*hQ4-Sx zW5?-8WS<5v-y^g?D0TF6ABzxC=D>W<@}~l7s_Zm5|oU&!5Dsk?L1`QaMD#%m$Jn+#buEhmC%a(WVx^_z; ztU$@;FV!gXps#6{-by?>N0xr3!D)0$%_o5~Kfq^4WSFyM!pAOT>?E@JPy6>lI;n^W zTh!4s!wpHU+lI5(Nm@ZsRQVr7YqrubiA&ScLU$Jx7*BFQEzbRfWVqi{%OPQj>*3*f0#4dEK4GEITxk-P#Gi{Ro; z*kRorxD_|N^i4H)IeD3eW0X?c^~rkh88ylJ@yj~P9k1ROz9nWl0OHnb!U8GhpXf}d zeN(mL;6>*Zjg>=}Nb^&9>nXvH$0<%luV}IxDd!K1j#-l?fBu_h|EpOf_u8|YyZEp_ zpWCZBWRp^+NS4Y{mLQ|UVN79|swd5|x^3aUbF*2yy2hMmI&4l5Kzj!VqK_&si5Gx( zYVDgJs(c|AYkXgH0`FS+e&_$k1xRHenf!6~BSqa--ZJU0&dZXuVgx9Xbll7r4CQ7Gd>a1nx?WpYTXG zxiw9C#zV3BNghtW)_fGos-jn#Wqe%L$TTGC$-0SDB(y3-jOwYKL zaVd}kovscA#kVu}4ZdC290X@B**M1U{_B=Ext}@|)UWQFZ{Fp*?yu^a6>#MJZ_xk8 z@3?&X4h0LhxdLU+(puG9#GQWS{+DQ8`p!7F5dcKPc5)$YD5 z(1dqNo%z|}`*_tLG!=`pTfOhjE!wQ#!K2eFSLP>%nbwlbP02>D;V_{ov=g;4z))sW zB#&gSfbdksTg5JelRW3e6P_B+y@rxL8lcgLRF~U|CUT`X&6e)oDvu{rx-96EAw5Ii z%7?i|rk~NyYh&LXh%!KqWMaGf@KdJr@u=O2%(2o(A&hsP9o)SQJ3Z&W0h5~20s0}m z0+)PMT>L~q++34mSNW%TYD1q5&d7IbWI_i^r8c``f!17$fl5t#1t8ZS1N~xloqpi( z%tjaMt6*D6)3Jvw24#4r=qX53JG!#fKfvQa;A=P61A4Dim@fH7POdObcr2fjld0F+ z@Bi{bkpH%NB1<|LY*GT0+pm>w)kPc|I0kw_YTUaT! z^F4R(_dBqTpP-c7ia1YfKK}XK1Gb?~3yip#)8(MMpYXh~m`5fMnDm0&sCP6#IQ5}m z^C#{1{gk_)_B=v7?8n+krEXRwv?L?iXoD~gB{%|q@ieyt3YK$mGGgCWSz2K~1hQ92 zaM8|t_KL3~ya>^&OR7Vc^rb7$$Y)im5U(NE?iV^fbjM8Wa8tBS4VP<(5ao zU90hugI2$jM@1*+|K#30ymBow?MgB|1^U3KZ|@yPBo|^i(p8g%a#ns{^b(sVVYXUqg8Pj2{c#v-@7DDl5V&zCHq%e~em?#&N5V}Py{9!{ z@W+eeuX3I`hXiKPvjc@TBZ0M=p26wqp6Zd_n!@IA$?C4k-_zdPURpVnuB6m>pARpUp>K{7x8Ny2#{Ukg>C79`gbVlQ*yav6~~dF8hxH&e7Vf|VDbFE zm*44OQx(=vJT$GEBud9@8}mE0rJ~NvkcX#9N>P9+a#8a4>7TwI%7tS2LQPo3IeQw6 z0(zE&Rqwb3G)}lx8r5v-#rduRULva&-F)6P9?s>cYq42R11aMQHA`w0;w+QWVn3C1boxzuErtdplc|Tg88QD>e327WSP%45rEa{98ebrUzL)V_Bdakn z&liL^WLWL9c@K+x8SEPewFqu+*P}z;%evE4raM_`bKG~n@p^=+xT??q7}Nu@%f;Hf zdXq{j{o~qEMFZCJm8SM_y+yqTB3Rm%7XAhMP*C{%+h2m3$SL8CW0DWt`?(j8a2A@g zckh4Q1xr`P|5l5F*)M3;L7`qrEwFX*66X;h{;5(HL=bp?1pjJzzEQ1Gs^?AeN?3WP z2Jj6FRX${ew!DwCK#||#nJ>6J+nlJ?RcQ)}Nez`D6i*BQ2UH8>xO8UrxRht?@^AVD z-mvvKr0C>Z738;J@lQ8A>GhYm5n-RdYI_qm8{GCVjZ4jy*YxP5>VK|E)+fBy4S8nB zgSeCrRrU@nl{7s4kO}Tbomct{LVondmXI{jyIX{OtkELF_0#fAJyFXQ;MpD9cknyi zEZb1AX@Mmv-YUQPzOdGs&NZ*>{_gb& zn_MkF+A@Wd&H*mgxDt9AK#L|R$aT6zI#1eHbBM%?rJym6ZJ9*M|#*yr`wjr6GJ$LcG$B$H5oMBzHy({ahOETlKF+!Kz3gFB^8x^ezq` zMP(P%8Ec?~;8|7n5qJB-R54HO7sF>eUO%nym6(R^T87x%DiMw8sZcrGS$)L1Q}*5c z=q|`Lbuu$W85S+t25m>67O(lMjO;r&2q|qG%F0;KYi}2wyuX+`)h3o3PN~_V)R8iJ z`D@+QdBSYRzkvO}?CWocc)}XasNeroI%ljxT=V?~WTrlYTEZmYxl!w=x|VVng4-8} z9G#y3RBAo9a{DlTdl249SqJ#)ut7#k>9Q{Z&XOV_AFY;8gko~LV&yIqA|$us*6Gb! z&VDrI6BtC_bgg3>C){2V3P=lPG}?ppk zy2Yu^RMni>c}@NI=(M*V*!fNg@xKMPA{Sm=G>T62nG0Z$e6EmltVZt*djYJbvm^F7 znRYtvMj1|LJoM$L5_3MiQ8*js!N}z~9qfKih_8?FsQ*qS5Py8{>@$_DPKK%3#{sf5 z?^J&_Akyb^){Jv5UR7CAeCxyL^;p(7%HPDo11{Eem6qfR{-}&v12}r2d3Vu%++?=; z$o>n)Yun0?-t2D7_c+%z`CB*i8|3BOsQm8ElVP~Rx?R3X)pi~9;8x_F=-^nI=Fb9=zund|*!$+#}f z8ZRNpwngzsPOvxcITu8a(Pnz;ht{m~Vh%pYzIi%2;M%?CzjbsrYj6F#BL0uBNS+Z5 zzpv;Wm9IlhoQe0J<9-h$x@?Z>$C}9LIrM9+4riBWTSdl9Cb+XK#xh zdgf0y+#^M(%l6-Vf5#KFA~Yn~3sSnBFBq&4IL*jS20Bw-WtoP@@6N&i;*IdD6emwv zLsh`$?N;9ewRavJNdCp-e}u*WUa z3z+NKa(7&B=iIxG?M~ei{JYFG*PNyYXT|vXoy}h4t$gEBJCSC=Kxm!HZC!qnvv$dd zz8~50vR}IEC|^+0Ud%MOX7D8ukxTV?@#K>pqu$1In2MK4=0sfvU}f7GL~HD`tkqy&DOKXl6_47Gy|gj=!j+cLk*o}n}^A6VNI=3wp&BNHzR z7b@n+&{@s8N9kx_N|V61{pJ8Sf?0DFr23lI&84LjcXV{WM|wQi)~7f?o;)Ao^$ePD zmK^deCfOrhEu6vchXOeyU`AAY{_q$|wVuc|qk;@62xXjD^vfJCy98>Ms8VOuek+FI zSl`e++3A}|d0sq3NI1R}jFy+0;uiIe`6BlL^PXIKEyYTGwzOCp&49T^BV;U2A88}0 z?7ID=CWx2AEivQGvPKRW6{CQaQamYWJ)-;4i#|iClr9#PslyX@T={P1u2m)M99Ejj z6KGZAi~laks`!GEr!zGQH??h0H&JR=QeGwL0R`3Zr!mAZ5x+X6ofAe77Voda9K8gc zJoTek^qxX9#S((Jq1+zkeW>DLsW!?hhMI4{eQ&_F%H@B9&g9bn5J&QFhawoJH0u76 za2mzZVyrXx4hW)X!o{Ig%f%K?kZvCy`r|wZ9^MQk8XD2>!q$|+gZAa9h%3-f9;cdM z;F+(G$T!`%NEhk#$TG~SktTd-BB7u6iH^dg~rz93_s(OmAqd%qCmAuRT#;0lfp*~&lXHg z@&b0@<8uTXQ7iZvj7KH(Mx;h7W5ZUVFk6b6FI}z#GyYX2aY8!3xdXI5VfQNKywCa` znD+a__UbUsiS^;}C)8y`2;Lwg=2e}lAX4xteB=-Ju!WvZw-yCrn=~!AkUF-~_V-IZ zsC6$-cgu#hr)KDz&ku9mvOa|*JzZHJbgCPq(;-!UEo{B6{U-NG^R^6M&e1LN;QgR4 zo2t^5ja-YN{p#|8h(%k(qa>$SvGi{mteOUohOaN)jJZ-*TMFHlzt7Vr8hAN?ZEM`A z&NxFuU8`1?UGKv^{Y}u2k7BWD#3KC`%=x~k1E^x|DWK;9WCOB+X@9D|TUr%~>}3;I zx67>rM|IMO6WrIP>vz-S%;@cwQ#@99wK+7`8e`}S{}ZlZ|F_oomi2_XbeK>H$f;l= zHPtCiOJ6dAj1&4{(ic>#r(W6hKkhy6*;V|Dcse6?U<|r1A)sF6d=Jgz)5(@UTX(5& zRQSmTAQDck1Y7al%c(Ml-bzTnGOPy_OdhVKoVwXJq_|H~Zni^d||3b|bpeOMSbC-y4 z@^T7QFUM%odc!NMc;f}2&F|Mrok`$R(wE!HdNMs^ku3jXO zeXa1?so~F&<%f#!?3nt|`oZ%%(U0>yyF7ar0#&o$RqBhu@`qopM*s{(f$Y#*n2L#r z!Ej@WKO(cpC0JX`QFf8NY?J5^s4qC`xQ^xb`5)S3`}kjm&-*(ROQawRf{|pVxce<= z1SWla;9L6I&;1QzljP6^RN_JS;HMX8PXG8$=K>F;LGojeQod9UL4N=);HX?QA{;!l z(-cfr(3FLqL;5LPn}XZmet>+G`MIzC+S|(R)sVQw`Xp7b`Ooi-3k^H?m9T9{F;iug zUN-@!!y?bw-@RIXTmKPxPerz{c?m+bsy^4B)rS+PoDmA5lmu; zVmQbRGNjZ+V4lG7R=3U^>4x0Q9|GWwC_zk-GcqVWhVT)>;0xXXHGc@=n8)tQ%BLAA z+x+f>B)4R$SPMbxpqS4$-oPJ@B8%sd<~USS>l!!H&sP)>_YBeOxk?WM0U)(Fdx*Dgi@oNy+HGOUezFtS_ z@F=I-j~1xATV)9#7UcJf95{x5|48tsa^Rh`aXaMz*gG^3n{|thrqg0NDzA~>p1d_p z$bHFBF=SEEpq9!ZzO(^u5c9cwrqMArp_I9*ZiNCq)R=d#{Xi~UL1X7Oz;LsV<9AbD zv6eom(GVH4jZ?U@t2xL^#kpzKj`o!_cZQ{%s|zA;MrYdX?d)i4tq1I9A!VHwfGv zgXENf`4Y(4_-h6Bt8+ywasHeDnd)tAPd4-7u;{kMd`SlKefc@wz5H_C@1kEtBN4HA zaZ?xBxNw=YcWKj4N50!AUeLdzUk_9I0DADQ&|Mq@QSRTwCMh5{PUA_t(Cs z=Lc}*q7@rqH+!Ut-EyF)a^U^7%R*Ix&TTLJrl!UUs=lc0=nd?Mbc_mTZ~XcfcdcXn zw}e+j!=L%cI}QWc)AU?qLVe(#%caI5gCv6b8W`i+%5nEFe+P|hqSCY74s<9Z*-0IW z^qr$}GVL1aXpSr*h2n5w;=%iOjw?giA5qir@LXvOcOAYe92@$V86bC+nNI6fpw($A zs&W0i%km(Tf>=_ttCKnzOiJY3M*roo3?Ix{8A(8f=dS&z1iSrTjt>jkr@oo3d;sKf znK+$pp$N{x8RwD9%-gw#kgd}!}h>~wYx!j|$MdvW8P|IVl(I`}MHN}c~b zy!wtH4<>|>MAGt6aEs^lu?wrAce9;AxbF+$EFhe^l$z?1H$dE1x()8ef3%7cXxh-- zgE^1~R4EGX-;yYXl6iCsB$o5>)gXtfmU#R?W(q#z6wgSoEl#6jz2l?$;5ewpXZiM& zh`}6Evf8z@-8>Zjr?t2@R0?J3fQvkz@O+Vv6d-4HH_8YB<>OD^>(^j1WM~^0T@sq1 zLBbglB!~!~I%-#08ApBHL6DXLw)i^y-Mi&tDcjV^p_?ZfDPvX}Qgxp|xtGU!?ykD7 z!4UYi)Q^bEKa6Z#6}FsJ5wm%8$^}H@E-~1iGzrZ^hShJybU=;yM!AumM4{)#QI}8Q zc#^d1ZSw64F7s1&$VwE%`dVcwn1ij+S^ZX61vvmy(!K$@s}=6>wnt?*$Xd25`qO%_ z9p4ZOd-(z8keM}B%CN0((SLR|E=F`2U5@9NMu3pO=Sso#dZ$I+oan>D8poByk<{5Am6?Zicum#oDBjNu} zbL(Q4;4V%6du-d56-wtD7fGrN?OTdJ-;kD<;*^9BhG!zUUx88)>7_26zuqLC1$5a6 z#4peG4ReGs^Zh3h(S(_`4TUGtkOK;;0D>o3up!@o^7_LyboU z4+F(}#%LQd72&?-QKqhnHd8gn(boJ)khSY(%kkI%^#*NjGqcRC4%q*INzE zL02}vO0~Ij6m%W)~msy{(B8;9=JyqE~jaIw^8b0Y`F=y}{1j=X|xC zIeW;mvKSnn3wnD9bSqA*l(io|zxm{GfK?1G_^v^HRCCIbF^guo1S;CaS~j+Sc`v!R zJx6eUx-4rRgZWJd?7|k0c1I+n%WZDn=sOD=p&Z7gZHDfp{R!N3XmFt4e6W}TqI%3* zW~%fzr6)GWXDBU40E46v@bdz*$nke9&%Fb$&VLuG#}9T^(~9eBVZ2_+t3R zZIHzPa=Zgw(>pR{{`)7hW;QP#iRmQYc-~#Wk@Rkv zVne8_w+G>?y~%$;MxS-I<_=Jk*OQ}p z$Ovq@HDpyy1*c`)|7j+nF)3QH_k-~6=#kBEkKzr|tL#!8V_Z+2gD?IJMy*mQ)*tZI z1j$C3|M-4h`7p+YS8>=6#Q*a{BfkXPN-S+)VMyXi`});rc*~}DIfaSg>lV(b(Rfkf z7tWT~yjStws1}DHeSON3r@2C^3cZe3JprUR*=?@q2Kj{#?tL$c#%0PU$C7jL zw9W8Qv`vVF_aytqaMhiEWEmsjpc3&fxn-U44k7sb*qgFKe}z$#nwj+@4J4h6Og@<^ zeEF@j1cdzO{tN$Z`gsOA5JH+vAuycoDAkfd_Snw$cAh;&>C7)owCR>VFCZmxGp4u# zn$r#-{BaCN=l9q9V2e1t^}fFr8!CJSO5j#9rWYLz{S1bj&l|Wm6;XYl!V7uloH{`w z?_0H(1Kck!JdbdfH4r>u70I_i@}0$b(4gggnI9+lfOSh#HbS6I;r4JkRl}3I=2eD^ zYzrAzrN-X|F(@gf1c~r&dip~tZVj@AwM5WHWlM@)$(nZdsfd`EQ#i5TMB8v4@|1$i zs#mGZTNbn(Nm_5en#}5E?}5_@v(ZO(-3~=-tFpejprYoNUX1erbPvgy^naR)T~J?; zRMBv~+2Frtj+4Jxv%xWHHENSxw}w=@>Gu{OBSnKIaf}t6gy(ng#MDfsdmwf+?8*e& zeE^J&k9o;EhJY_>_;bIt!mA_cL6K`F3Ayv~6DX%EZ23!-tclU3u^)R6So@YXTmDLB z)a@giecvYdWtTq*W~UPOh%ImyFikUC3`vlXI2J#X1(jtWwoVIDNuS_VG}qLT!-OgG z#`{oGW!KgjaZ7hA^cyh$d??xk&7$6y-T27OjyZaVyHJ-+M)m{t$RycXYrRAB^=h_M z@$*1Yf>NwS`^UXMS%NxK5BNV=u9qSRz*BKz+b8blVE`Y2$09mTMFrR@~ku&TS8z zDPoV%Q#Ay5*m|_ILvcM7O776HiS*&L`HDSudmspA-D0gCBQX1AjS!7{S7TIwweL7G z;GC@qav*{rSxVF8W;x4AwQ3Hpxjw56jHBsLnCvaNh7isVtJ>Y>><_RTQ%Jl1nMnG4 zp4JY^fT`k}-G9AH40-;gy7~)|1qPW`f+i3E5AgWDiarYR50~T0w|f^}kyvYC7MLHI z%By&i+#&O#C)uW>4}I{7`1UHaK8b=Ea+SL_Di4#W1&ZLda+f^zaS`vIY1aRdI9bWZ zv9cC_B}`rUO>fQnR+od$QKT8wNI{In-=P(GHqo~U^T@dkVFwq^>D3T`;I)eqqUE+k z&w0_GGURA>dSK-EBy^?`M(P?f`e{B8qMz6CM3*t7 z*n|iV@Lk|FcrEI8-j|vhu%amCxxy=%@(r7P)#~M7>-L@P*i+J=_>QK{@chZ--Z)jc>J_E#;*+tqT_e17 zlcuZIvqWN0)y_!m4EnnK$mZ16t+>jwovyyU_V%<2>E9( zuG(~7Z`?m{9uRdC$TGvWW+>sWvC!ge4r&vH(@kJ*iT8Y1$i6>LjpYO;>sXu>tn9Tp zyRfP_kG=F$LZ->rzATg!k>Ej)O&~{X$_mNbOG#SAnecReRz6Nk)Z(N&nV+Y-;7#ZR1h$)APtY%-LP@Xp^LehfmEq)`ds7vF3Kcu8`d z5{g<53RY@QL0Jrk9^BiEz&@~lw3P_&>n%wY%CQz4&9HrC_aiRz{4Wva2%ANOCAxfm;4M^a_%w<=tl zdyqoLIZzaEjt>)D%ykdESt8eQXypjSK+kbXZQ|9ITu>UfamvzCnpIKJvsdX`ZRmk5 zC4b+D=A0ZQjX^l;>$Sdpv?$JKL7Z@`+#u!Z@GV2^j$|K{6)KuJ<r?*>PY$KxZ&x(;n}NLz3JJlIJ)U65;zmSU!5uQvcaz57Sf|Is7W+$eFc5KVd?*( zcqXWpPh~Q76>qN{DB&t)jN8r!=*4) zK=SN#--1ttYb5rzM;o9k5I~2}M zib8+B=3ueCBq7)J#J@yc4}lF_L3c>B*(&!{($5VO3CIO|3$#H7K~RXaZaZ~$S{$wP8 za5)*+av3!|jw6kgbP;Z{GiF&2v@+Asqa3IIJ$c4@vgO#x=ie)-bII!u^yl!Iip_D2 zs28e!fcc5zo!sm2-j!%WE}nsrk4jnJ))N$ZW6z8=(x66d-UhE@13!2cd7;ZGFb5aR zPMsge@aOm8r*2ALm>Jo?u8fzLFUdH+o{{^pVRAYX*9b2HiHwKy0-~mY9XRH$!eP4{`j@1Uf+VqF}=TReu=kH9idW_6+N3Xcmd}gTd zKVpE0-XdWknWJv>Z-the!e36qamfeZyS;IE4)h*M3^$5xOox0jPCi(2}U0IJtkY&b_lGzN}7L_j(62zrp3FR)bi+(5U zuHzt1@J@0rk|%6UHstS9-uK>B{So!47+O)OXv$0B#I*!15_b>`t0ZJh5*mt>=n{}t zTSzmc#cpk)DJb6G*qcJBX6{w4MmZ1~78e?VM!OD1Qq7|`KA$fFKxR5XrTnUp7`I`s z6;tNB_~XQ@Z734xH;FZ5^w{b)zWwKyA7Qyf>?Bv@vNKfuJ;D+$YFD~@2|7voXaMwi%E<&rlBUpFV zxotEw;Fhhs#%IztxTAL$lp1+w*w5|@!C-#hvQDjCVD{F5-vgcYI-aadaZfyWD1}sIRS54$jbrKk1Yw zF}-wne*GB>G3;oYG4A->>SfR9gcU`F*ZFP{k(2)D+^6Z#-X|dmVsSKT)#i+~V6`ca zsEuM?ENroqT*JoA7`4q=hQf%JZZlYvbeS(BFL57-HRrOy`NSE)U)u<=;q#0YVfVjf z9a#sKt|qeYp~SaOji}(`_jl(rIU-SvNd&Ti8{jWihA{zfz7Z;oC52;Hck|m>X1folG3tJ=cb9AppQ^0^I+DQ<5d#7;I5C^E79| ztuQeAWON~tVmJF@YOy1cw#uVQIOB$c*2W$t1gjvy7I$Wg4WAvCn8muUZdokmG)+?n z92jhlVo$F>JH^>|1vTw;1X%C=fwxAkUAM-ki*_7id6!m9=Ff{F`!iS13jC&a(2RMp z+o)4^$ooqW1^`(98^QyHa18uxm7pyLF%~4Vdzt%u_|O5YMa#4VSDLy4jkYGlF@+0U z6vOI&^ezvD*H)bNExCZ}X!T_oCh zCu8Zkdu!(OLaiCY%r-u1Hp-+=o=w9F$}VUh{VwL9 zqg_pdmvzBvFL2}A9!egtW5THUxR#tw0PorV|3^;?llxaZcYev=-z!CKEJ%{HZLjgB zB+&L*^d{VbreXdfjwH+GVkxs)IUd+KQ?hdPy?8rdlC}*7;NUA8Wq;!6B|!f81pV%j z)fBT$R2Rb1A)zQ1&a_Pkif$-kAcjpPwV}C%_fRpm_moCIB4PC%g6Nv7%Q1ceNsVIi zhCS?8%x1C}u8ugj7i3M6Mw|RP0j=MO5DWq*@%`6MFG(TmxBpv7#XS=vadX~mZNTI%@pCDK_dIc4q)S)QMZrB%H&KEZl zs0BRw08jzIkrqIfEuv4v5I29>{4TXKz%Eu=|2$ZTdO|{zQEc zv872uS6dk%j{|SqGI-;rbCeJGF@ab5iOhXd{@yO^Cw|<-ec)tsvFs1M5_-;7Sr9x} zSK)ZLQ6(3#(|RUUL@4-OCe9%yR2Yi4p~Kz8s6 zA*CD!zE1|1f5P6czh?@(7x@2J;ChI;2S_);)wn5~$U}O4^fjGqaaE1Phl;c{+cBT^ z_VH3}m<_bqJIhAXA4UNhFGgCP_|ts{Z=HWD-Y8I^#L@mr{{WcZ2r@zY)9(60M3cHq zFJjz&j%**_&*4b;_3h1xhRu~I*hDOx^%9|T)?E|nCbss$%%)ib9%(zM)>@c)-R1y1 z%e{eLZF9-OxbfQL^KT7Vc`IFb?y08lrxMxzkDnp*FZ`Dr)*qf`S>-?@xz7BwUMgYM zGG%=#A`xvjRj}XEx#W_xV^iU$wlqz(&NOv<0)q&NW0Js6Msa>;6FU_gghD>Z%K6#M zm~^(wMGwrP81BPl-xZ+fi}~7C%g(JUCEA;M zq9Sn+9|Dyzqtf@3crDVBH12?ro=AguWL)wNS_VlWv_)&YGl<9mQl_DSp4F=dXtaMX zKL)IM(7+?)!l_&kGn9s4@l9l#w1zO=VZEn^m7>I$ekwV2RVs+~Z*kjU4{>X}6E-s= z@etPh3%##oG`4}deI!L}Q)(YryS{)2|Ki1lvc2B{@%xX=BZD$wXte1H+-Do97*x7k zN&jB<{{v#$u@X90um}dP&m|lrN$vf5K}jIH$FDyr2i@2A&V{EJWdcYg)iBM~UQy2* z1KLq_a6vG?z!gz207{stPERIulY%z>ZG~w0OH4a>mHItYV5BHDOciXg!5R_G>bCQ- z16}6YhCZM|EWzCsk9_-v#ST#PtqYI)SaS)>4b0F6aWNmE^rvF;$)@MdGgx_X*C z0xi+>j45A`ga-hIq#z84I=v<`2S+7Ld^md==`+v=t@6zy$H)C);Lr8>mU({#l@SVHK_s)xEusgf4l@cYsgK%X$0{{WCo4{xu%6ZCsD~=S* z&m!BDDWPwBp{ku<9vywpHX%EIv6f(b@*`gC`>eOv?wR1e0*S`e(yVLG);xu`$o*z7 zTcK)c9M*!W$Q*no@#yn#Hs4v-GS^+bvhCCku=jnAVG<)&oKWA;z&0E)nYk*u(?r?@F_!FAWG{X=&`D2lk`@V1DcG z(HJmNL}KX!Yvc>?z+@C+9N)OH(t7O6+n!De=W5xmsdK|p3TZ*?AiHbM=s|(=#Gp)J z`m+!e!E@@c2i3Yo+?ZW(m-3D{jXR3N5_Xjvh{2}WKAagAw%i{5B6Dav7%aSl#Y-+)9qG@FflbH{*l24s`do-bi<7O(K0121 z{9#)z`QpNtoAFV4aN*~2i4o||6C>l}^5AI@`iSB42sfym>_*nhR=N}nM4XL`5$t@JF|81wtR$?OlNj+=R;uJF;59F=vnSyir z#3t!W`-rDbZOn7DZ70}xBDV6R#hWMvo`(VV;rF$7jJ`fS*d2~(BBj_;u$lEX3fKNN z0G_h5WOUK%6s(>Be|C(fBE_S}SCoAJIMNMVtq)KGNO^g(qaL7!+W zy^IQ7QnYVm)HRKBN0g!dAwWFQx zh()o}Pi6-@SN^$I^nVY}hzrt}CCgnu+S`*C(MhVRu6FeF{rLU4Z3%JfzB-dK$KHHD zJUzCfe-aHP4bqokOmU(SiudnfVb;1pVs z*=BqF=}FeBERA4O5@rC91+xYqzzd<)Q_YLxinb`SyDOTQs(xDrJCKd)0G}@E>TXWT zQFXYrL(|>W%YUbjVqOxx$lx4X$9RBIfe1N|o+4nyOI<^O2atl)a) zOZ+4HmZe9D0b+ITeQd*d0Zr&xYG1FItKjVMsoFQ@gD?1pgq|daqSvwR&ig3aIP|@f z^s}){G4~U_GOvk#W0`|CV>w?hm)8OJ0vo*46^F+Kc6nI{g>f#{ScjI81&OIk_*SLt ztR+-i@+GBmgs~uZtWsQ@OqF}}xlgD2&b!yw;ZTiSx|l@p za!tsHwk3r!S>poYtylJwc8#w1n)S}>$0qf;`fr*m%Fw|Ya{aa<;lPrjv%tAjPecfA z;b?X$Q4N!{RDkMDP7on_ul+8!DREwg-GlgJZ|y$oScMpz{rHE<2dO9V{sqIp@a&wa{-wlzS| zy=ZiF6F!m+HtBmXnY_~=VA-_T`2*#S(+*M!FsnjtHMw#eU?m`6@0b|}c96E6r1#bc z^Ex9dpFV-<-dnjdDN*PxW_<70z^^jv1%%(06yEyLP8Rq?A@19zVwcBERG*#R$tEqo zsS~w_Dqd17!mbuw#-&}iGGKP`oB*$l(3rFm5GN%D4W zY8#rr%zaSqbjHxtq8>Q#f639mKb4e;*sX$3K?C_4JI zPk}{4jXs)wChLmYao|LQz?)G609XwK=eGQ(&XKEgYDN2Vx}uDw#cU~|7>lCZj;zY^ z{hRlsx;Ys=DdpL(<1AQ1+%_+fy4PGo(sipoo;KqM{jQJIJ94iyT9Rm)N?U7eR+Y3#;SWl;qbHf)mB+m`3e8($m>|5SA z$a{Y8ab`gj5=;1_5KG!fX_gp!?dnsn*RJGX_&f%~huw)hlyuUFg%6T9>P;rJ$!I*r zcYE^s?Wka=XpnG{j-O;MVLMN3eS718L3;PhC89s+7iK@_o}51oSg>N(M$4yvp{XN+ zhut|w(e}|>gTn3jul5bcb1{4EJ3A5NU$SDcxpcphPt6rpa>k_HHC@aO)xit>irZ>K z;=D32XmD}xGC262y?%Lo7_lHRaVK*jd1q2n70O}wPAjQ{YAMNO zbntzq4ai`_|7J;xW#B?+m1 zi(q=*tq)2Or8m9!W*mQ2B9~NDjV+Lnv{`jLYorJnGi;SZ_8aZtOm;WSQVzQan?>M= zW_P~Ulp=NRTXs^}TxPu-Rp#U)xrKe@VtHExtS6?M#*&rS&J)$p{ukhvSEeEh$^y2g zqyzRH_R=cua$!OXE$`G?6Bjq(1Ql`sxS<06+mb_P$vfj)1o|Yy`xt+!+beRH$G#iQ zWt<;>X+yPl8d0=wqLrALpiSao*jio+OX9RVg`GyIok}S){`+lXK|0ImTgLBTu9WD_ ztsFe@yUlLTwDp*4=uMf9N+zsnBR=cL$E-z-uCV3bC^K$6?+o0csbPf!-XOIccLEd2 zIt&y-Dqb_};mTA)Yf-niRry-Q#3gCQ>Llq1%b`p=(3`GDuVxZ;2)27*DZJk1{QD0S z003n(Fq$27imAqi*l^WNMp(wu<+p}nx?A7UXr`)Px^WjvqGePpPP}% zB};Z=xyl#}vtam~xBLBm{)Ep@ou51&=A83e5Hb{V(K+<;9=>i$4b7=OOWNpu0xW5$<&XFG4PP?Oas0S0sXzmxU6W zchlDgZ&`^LTb*t8SOk^W01juQVcKinw!WURZ-Di6-`}-9NG?O$vmtC$%XSZx&qOpo z;SZj(QrJbdZsMfs=qjYXyJsqao>hP^e^YA?{4UdsX2~38&FzP;2;7nd);2>qL8t*Y z%*z5CeP18NDw)|=P?GLL2#i{wX^6N3UW%e7I!c@VI$5iyK?-{4 z5`Dkw_YoyI<>{0Z*e)tHo>i{|8t~~>l=eEox0u)TN{vmW-p+(>s-yzR5|0B)6Ph_B zB-}8Q8fRC!`G;4lxa0l?6&T%WCI9wRqjrvThsW3m=+tczPqKX*{Rck7&~+-x-l-1^ z9pYP-B%{cWCvGrp_bAiQ&jkPt8c06~obm5CTH$g&bREB|#a!JN5aQ1C3sOoJz zGVz=!z<4&1R$F*t=%i9}idNhDvX$QSyn5SH0%+B(;>-#2w8G`30-ZT8E49_=N*z`d zD0Id_wcfJ!E~QWHgBB4P?o*#UGv}k;p}D4z9DQmeZ^8c>`0BPz)SL?*_MPAR6cC8N zznhU+<&*;!??Elo`b5AD;;}2rf+A8uQyC#-q9dVMevwpeB@dlI1*j_)c5p?IRTwW2 zXwQluM_)M{4xhRf#4nFkZ~SfV5IOLY8SJU*fM715_A>o1u0luZm11WNIN7>J=bhIh z*q{}fW+LawxD(7Di7xg@OXT{bK9DC#rEuN$?@Myqu+iDKc=5wZ6Jv3jO-VT^W~vk- zY9>o2V2*lAMIN1&j5ZiqrF!b2`|+h$C)FpIAn2TB5E72yH)UwVJtr z73h?NFm_wpeZD7q3Q3-=mr}4xmQtiBsKZ|yj`yt^%WT{PZrRr}zk+Vf!gJO^Z6Q>3 z9&li6BY3YjuWJpoh1*&#he-QpDRgXi{?g;hPj{s)M$a9C8Gls~DQt;n)hP^)V2)JQ z>+2yXrg{ii?n8BD#niMtY$|n?&+rheFP7?>w@q21hd%_Dnt_&JTkC!PJx|7ZaH(%2 zuYZYi7rEr6&TeicO?NFaUOG(Rr=E0UYR_4jl#)g?1?AMJI@~rfE%Sqdx)(L3 z)zkXg9r&i;C7x|gK(S$TvtPy;705OOajkQ)A083({Z}g*`%x?9BNVK=BBw7dDv@U( zo@%%!3*Mr1=$D4Wgur$#On+eI$o+zl9gQBzept%VuZ}Al_ktYdWd|RGzf6njJmA~J zLNZ2`qt*v0D|I(c#SkL{61F^t5dSaYjCu7@Zg6b&*%$KNO9>j?ZtnAY2cl5B5U5$N z3nf7=Y$H;d6W`|yg)X;AY-wb&`i6YE%Lo98kRs^W#o0)2L#d6()n1}^6mBDn9~BSF z_0oWcT3?XExHt8Aw)Pk;&9)_eFXH#+Z|$pS3nnE!J0Yx)0YiqY2hF*0y@R24^er(9 zE2|`2H(P69ZlknrkoHdfUmtf*2S_uI3nTK)_OBt}?Oa50#oV9GA?Hyu7PM+YE9G@p zN%W;$WO?mejm#zlOji_S{kqTFA6$44M=&&OYh-GlZIG0HrlRUa0VnDs_z-)pawW{6 z3dAg-F*azJj~(*U_Erh#cOGK-J6{tns-ol`J<{=|8;cuwTm_|iZREniIyY!>-Z~)K zsxvoXK9Nfc`Tcd_?=ag;EYfeqeq4l)ve3?8mA}6!C6xJrXI6#c;Pyfyad2Y@yv!Pc z;%9wc=3O9XjYixECuPZLN*R{dsI{{oLk|iD&G4Xvio2<0m~G~MiOqyJNvO-VFkK1f zYOCz#kcS;u98H5-4`a0rI8bxw7#l3OpAd3&hWtaKT{E|xMd;tOHh7ceW&IiZ0kdC7 zNOm{$EP$l+TNTBKZ*cdekk)c!D6Y3hww^5;NHK@-*_?y$*)hGOK>eq%_FlI$QzT#n z{>k9kfxfK5jSN)6{fdx@$;K-%A6yiVJgEsLH5@qtSU2M8f>(@pL!xJ* z0H)OEzl->1i6XMD*?@$ z0-Xd4%`DN5z%+z^3W(k989U^K@6qAtYWiHC*n5h4N+IfEE@^6}2*?1efe(27vt>m^ z?gY>_17z6Q1-3EW&XV*-#T;HvKHM}X&j)xzqJtGDBaiTVj38@^F8?_Wtn;6{-Empn zR@|AGk}13sM{KVNeANs`n!yuedMWZ$F6+j83^NZ8wh;>54IP3o6Go1lXz1)G2U`wo z#AyiInPE3fH_nZt`@UrbU+;#m zfW$AJ=Or}gh^P&cVVpqMrzi~5Rqy4#`@})b68i~v1ss`#ffUHYugsM86!Ny9I|1kq z(|ZpV#wLCz6WffUf-cVumKmj;zK0QZVM#<(H$P!a*se{XwM9owm8Yp)_uulDNYJ;c;HWyQUmczyYP-$KFC!&-2M>~`{GTCLOM zTS*Luw;h^A0JFkgL?0@-74?~D6!q$$B&PfrxWqV?bI5N%`*YW$JMQCtkL?1z-3#Y7 zHeg8%UVU1@V#miKQVgx{6vc26lKi0oQ26taOwqTw;vLtw&GzR9l%mbpKw-d}soQf1>hCf7K)>gHFHw7_;9aEc$1xl`jgqAxxKJL?=`3^B6&F@>y^mL>F&(# zB~v9SrlVY8+FTMnTS>dqxf=_X5=sZmAGgcxkU_{aZ``Po+iX-4-~O=v|R5o$Gel;Z6l{E!?Xc!@oOPe%jy)LJPMx zlCq2O*{XPgcN_J5u_K|^{Skt*LhjInfKCCK$3FBV+6UN+o$z$L{sh`9U()O$AWA3P02{*NEq9kZ*Q@U0syFq>X#WPEmrCKBfX8PpXZZ zZLsYg&<~z&d1QpS?yfSrc0uK9DFWR8odm>zN3|KEI$${$jn3U(Ko*L^!^HiaYC>+& z7&I;ua2>8Df^o+PB)BTWb%yq8Hy`LzrOq<4@Bzp$LWSx&B+6I_=(5Kp6)|TUDm6u1 zM&4_=n=ON|73@#1G+O_-ihRKwtub=f)pt2pE-kvt#utGakWWKhPS=p2^j{DJ+t@^S zbIBIfF~ctWzlmaIuK84&f7xQoZB!yHGT)b54Kh@pb}6t^ToULh2y#7F6Np>>Da5AJcVmUFO3!Qm#-qcGMR>vH>lZ03*(9Xn~jhA-+KkC{lf{2)^raH zrQhGdm(8v1t8+5yr92U9HC0w@8?i&r;1D?$Lm*Rw46zmpvmkLq>4I!yQo##T+5kC%_)IhJ*~bvw+5dgJ9jQ@zWU~ zHZ7Qt?}!FAB+7sGmwP-Fb$y}?(~B-04e?;#~%R& rij6ZbbMoobuB>giC(0Ye`pkv&I> literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape-2436h.png b/resources/ios/splash/Default-Landscape-2436h.png new file mode 100644 index 0000000000000000000000000000000000000000..35ed012abd874bc066d3825312f45d82194ed779 GIT binary patch literal 119032 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%0A(u-LUpqPV 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 K5$26 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape-2688h~iphone.png b/resources/ios/splash/Default-Landscape-2688h~iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..5cb2c40931a207de1549779b28b5632c7187cdf5 GIT binary patch literal 135124 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape-736h.png b/resources/ios/splash/Default-Landscape-736h.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3d78249b5ef74f0264534e74e3729ce1660340 GIT binary patch literal 108262 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Μ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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape@~ipadpro.png b/resources/ios/splash/Default-Landscape@~ipadpro.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb85ea928237e00e99404d74b3393fc85221171 GIT binary patch literal 89216 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Landscape~ipad.png b/resources/ios/splash/Default-Landscape~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4eff719a675a30d4e8c361a558a92bd54612df GIT binary patch literal 42080 zcmeGDcUKeN_XZ44D2gCOr6}D3ND)*7q@#$4R8c@Wf`D|TLx9AB1q1}7cN7pQp|=1* zklv+)9+47iLQNnc$vu32_p|Po@ci@5S|PJoXU?42XP0YVd!J862HLF5yvzUquwKDU+%LQM8;X&iHH34!&ClvAroZF3 zbomr#Bc|HW&&15kjK#6g1T$z+ZSkN4H!@ao0dJd8IY>JLJ{|y!@RY16!T&CSA7RG} z1V0P_By0ABxZ$gx2FCzt=!;(yBUKV|rzXZX(){^v1|#qd96 z_@6TTFE;+C1ONYtjl$Q%$eRk-nxE{%1v+pYerF&6Ja}O;JowZ4kJP)Wq;g$$Ch-68 zsksFaf|lm#|IynLkH)nLAUvz z@==mk-TFd39X(^Go&D2ZYP^MH==|kjK47GKcMOJquz}ck?fXj6!m!!lKGb4MeW3nI zfJ}aO$vIT&ziG~YE;;ryoCmmEH96m6MC)bJ4Y?~r@Lz(FCr&7hXlQ==U|z7)-8SvC zdS}lq+N!yw7@QM$!UgV)-+Rp0z-u38A4V|e{SB*`K?OhYHt?)v4tu;I292OhXoZcR zp%oo*soMARemu=|H%H?|2Rz!u`P58P;Da4cTX|Kc+(E6|dv>PBQ%XdFs5ApLg?NnJ z#m|BAW7j2YUpu2!WfD?gntc_K(gx$lX|yoQRGqwotEcQ7jBAZl3hx}NVb(=d@(l!J!%yZE$Q{ zJM7>mY;IH1G=R1zr$0?9vzl^p9sQSO7h@17X4@d__wEBoY%S?rlV6n z)AaSs@NCv9)z3#>W1!n(An|p1umU(PJM0pu28H|7@I!VH?4o}Wz3MDwo$3yZe16rm zxMUNx-F)`H`OJ=m&^V_~!?Bt@aG}*HtKFbjU!kFTw%~MdQZ%^KLVNvl zuw=iEskuRuC*%IFdmqh-K#D|&Giu`E(#%b$ci>21{{rabym@FuX`vhK-)tXspRv`Y z^A&|l&kxP=HR=nPvw?$*P~eVU^(lZg85f&VV)-m(KpSSkz;rB}3_rCSlM= zeN#K$h6F%!q?h^K@{}z=$4E(b6|pC=D#s(;py|8 z2{01qcpJDUrpH_My_)t(#%E2q&ms!FnDb`!d=@a(jscuZKT+n9~ zk&dP5PnAt>CVo!PWVzq{y1vbkwsFq~`hxmE$MTj%bZNS8 zg3EO~o_=!^t6QBCq+xns(1@Wt;kv?p;J)6;zTZ7HzFx4z8hllj?~eD8OWP%pXR@-Uq<(&5K8ibwA%A_>YwV!W@Oo(sr z;9>KeS5ORhMFUN{;@MN4-P@~?oym58?~^RtxL?0#39fGXItk$lQZ*RPs(<8d=#jAD zQ0V;%ZLDJ}e@C9S7bQhrW=R>z%hU59X6m`_)_~tcJ$FjJo+~9$kF@2Hax|}eGj9`l zbLm@vqxW<`A8J4BoaF}`df8)_k|L0r_Qj6!V@~wJkcP1K;Jo;{pW+=j^z(-z2W~j! zKpey^o*Abgjf1vNo?JbQ5$gGNGC)KfAG@yR=WrZ?t3lIc;y}3!2go=+3F?HQT5SvV zr?qIStg?>8s@D}b@}Q$jtyBIN+lg(}$6Ic9P*-w39a8_``m;iP-9&Yp-PagSuxMU< zt=5qW5$YwJvQ0~&Gb5CIN!O!Y&#p3u3?telj;bfn;uIxST3_N}g-4ID`4rwKBS?PXyIm0=-)ta>;Sh8+sNfJH!VfiJkYUC-c$ui%F;&er0Zv7+E z<>*bxNKv-0evuuz;|V_F6l>XItAFzzeD|$UTH|z5QPlx4jn|8ZYDT!0^mg~XZVz!& zzuc3VDjlV_jgwxM^b36R`nz=0UD*@7T|ILpj_VUPqNnQ`V0ouN2YdH7Z%CHYI~<3m z*QO*siCFq2boYMm4n#mN)|2PRqIg;>d+N$wh#A%x2zcBAM)BXL6J2*?t&NS{o7Ea%k$Ois*%Y~k4~kAPt0I-!#IG)G z4PA{{r0%!K+RGg*paZ*g?2ZBvf4I3-e(w0u&cyiLGO3VN=*i2_sen!eR8#~=7OVtB z_?c~czJd3g0K#I=MsD_lz4! z!*=JtqB#0vxt%0XHk;@-O;vAD7STps*|Mi^g(S~4f4YFqQ|)c*XDkwDVp3o%ri1~w zeM*Xp@^jKhh7<*yTgtA37k20$%);JT(ciA9K1%>3c>xAi2*AM++yCc3@4ZIKvbffc zvT;CZ2Dl9N>5Y>YOUJ=~5aP(q62=+Q%u{aveVUa;U_b`?$<033XqJ5ifO{_ArTdq{T)% zC`nJbrRUFfXv`hp@ub!Xav*i)>1h4y!?|1;Oj5VUTwEc66lOSYn|2Y7JV0wk(lWhh zS{BWulP){9w5$-C&g1SG6~lpz2XU3kNnMjAEK7Tdhu)f)wjnmAGZ!_u81HH^vS$pY zlWQ8(F@47(yUIrg2x~m131O{@1JN-2*urN&r_e@&_*$0kPM(17a#o-3{kBwHwWIZ{ z@2io6-7*4}z2SvzOB03|U2nX+(`=|U3uI&aw({8(V&6e(Z#r9)J`;!ZL7Of5KGWZ8 zROf21OBCKCL{;DtaUcjr3&(!n#89tfQFk3(Xb7|K`?l1ppM)AOi(zS3(QKk=ORS=G z+ftYxqf+oaxn?BY=x^urVv2)v88;w z1=|i<-5NAoY+Ggu z2r9IexiO*sQCP-a(|>VmiXdQqJNuij+s^x2lo47yw~QK|Gn*glo_@psUK<&YO8|xW0tL^+fnD}>RREp zCy8HnAHVO7eMRpWRJ&YJ?5wL;?)iS^XD&y}A>}h?z284G5EOf>y&cDvk?sP=x(ctj z3>whr0b*u^YHdc9z1vPJXRQc(;*~PArf#}hPl#H=vQsY$HM?4e*F?g|5ql>Q)H`a> zO)bUmX4zsQJ-=c@(;Wf7!?Flk7s5}zrBz!0`BcIDBtY`>`vA=SgE^5qZZ?diJ<>vv zP3hrIGHNm`NSJ-19X~DTOEI}2L(1UACEdM)ib8%HH5*SyQ%5GFT~^4cV>$MK0H3L4 z4`!Wa9oqprV@8e1e@Ga9Vje$XEm{*i;_|tGadkr`wMT)K_G~-{wjzFidQA$>lNn!_ zV-ARQu*b4e)Jve#bcwIzTPi&JuZZUqnxDPCv~Z#sME|D4wPVjiEq^y6wdhqpoK*yR-mlXHPX}awt6Gy$HUHBXLH@>_B zm$2W?<J$BATHhoXXTmY17YLoyB9zD@}^A8cRB{B~u$&OW9;?DN{*MtMUg zA2l-*n<^*?0CFI}|KZ$78@AXI?i8m=f?z)Pz)J`hf#}>D-t68?&2#nid4}NJEZ5#JCM}$YagY9dAs>S`y z=D#y*-f++UMG)L}`){%t9hw7t-&eX9J`O&&J_XD$?+Eqw7h#uXw%^93)M(x$xPNJb zDs+F^%kVzjxKZ!3-oVMF7Il!ZcJ*{qcoBEDCp&(rCra0Oac?-(+n2`OJ(1xWCF}74 ze>|jiAy_8TkQIKhhEOsu|-(frK3-`6jRE3Kbx?JBK9fhtl8fF#D7NY zEPPLV49Tgcd0d!-}%f#VN7cY#a-{u*_&aMi)0X-S!0 zBgXXD4yhPgV(4X*eE90T(8;bH9KKU)TS%GV#o8WYGD*jm$tYzKn7jYB0f%zFYPT&( z-L#wydN!+Iy)?7PPIEsbl(UXIx12j+@`Af%Y$0dR z;gh&((Pf6KKERg=ErO?wCoU@OZ>3kJf=k7}I>Aaj-E5ZB}RWvStt(1N9sbseg?CYWWe*Eg?=Bf^tjtP;D+dMth zEMg97VdfpH%~?@QRBvIk)(F7hJEd<8R(jsoegb)S&5fZVyt?G@3w+|PQ(FT+lWd@lEQ(lvwt`y z2U|M{M$e5>j|>|Y~S7y2@5y-hcS)2i6 z$B1v$lxBLAX3C^*m5Aq7bENNUvSZc8htd0fLMgj6J15XL{$DSEgN&r`bt27pd_YJn zX@EaUf?0BhWY0BKTZ!nYk@L}?FGe_bba~!{>KUdi@S5%2hH8KIna$l^j_}v&Smhkc zxxu9tda0AmJt3j;eoFa-!=E=wJ2MG4YlNC_F8p}|ovTAQlBa@p{(2gWCieuh%@Tch zmWlY~JKD9?wVxOcJ^aRb{DmbC)%Xdj(HEYvh# zPoiBltB`oPkC`0UJh*?Hl=f{5S>@Nbaa4Zs<0%SG2tFXwrnXmK5@C?#{#q>^bgRj#GA_aS4l#i#jaYVF08@=3i&Dm4CM|qY`QQ% zzebvEcQI!pQ!NhGxE4l5;zjV=Z<#*;VeP2QZ>njDsrDw3hEPIlx=^oz0V{KUOjT)* zmyM!kCg)-TG~FNEagIc4+|`k@%4u(=m@kr2rz@hxclZf%_z%tO!PVCE7l?|lFp2)S zMm(jB9Pr$1&EC2G1NS!JP;!vG5sKQc%)Qw9$3-(kBOK&rI0lckF?gSbYxk{>Ej9Cb z-0QcGQS+5J*zr>C`7ZC3R!Ga^D#PWPcx{UM&Hcml(FJZR9_DyB$ZA1FORzUPw40ndwJ! zRPtx6EfaaQVSJ~=7JNlR6##U=%qS_7H0>R*R>qzvp0wOUeoj|NEXsK9j z>vJ0`A}pP{WS^l;tT;`fj^<=MAIx`rxV#qZ7@y!AvQz1Xpu}So6)jdY@l7MfQ~ac&%%OAZQO=Q)(hxw zsgU5vaRE(eZ;Fm42(0c@| z6&Rm{DCN!4oMTaL5q(CFe%NB_LPUSog^eedkS!OQVPe|c`n)fg^+IR5%vo@MTN^Hw zRC4%QAXBCUdEW*U58$KL-EfH7U^$f3LRF_9<&VpHfHii6@7=w0lu&T8Ba_nGJ5c&M z=PSQM*gN*+F2V_1FV%^a1397Un@ib{aJ4MrOc09DTtEu@fY}}DJCViF5*oIj?so3i z&Sx$F-T;!JKTgg>m3{U6m9Ib16TFWJO)x_o+0HaQaS9vm^R1Ox-}57mt#@zoc8S4g zl~oasj@B*qV?B6N%>j!toY3&&xUAFP6pbq?DPO8ZkH@2)qKkQTp_@~-YtOV&&XT(a6q ztSh+@=pi4s*rN8jQXN}W=g;N~2nv&L33ATNHZr>1rW40Tr^j^tC(`9z67AsG?_F}# zNEqwXdduhD6uC2*tzJaBp`p8jd71PAX#?k;4+U*M&ti3172~n!^nu zaWG>j)UEwj9H9;EXhWnGqbrKFSrqGCN@rA3Eefwe`mqwBQJgc#3)JF72jvEd3g9u5xi_`}m2EGQkfzdhb3Bu1_&{pyqQVbNfKHE8c|>4h};Ua0XGuNtON z$CC~1a}8SO^qB1ASU*dT?w6NzgrCb)lqa4(u}&eV2M|ie_G!B2YN5#+lXXu91l5J> zYfICJiuhrAAC)?&WvQ)-$jMrfG!D(S#HX*r)so)x5)$M5)d4360Q_Tw07mRb%cK}W zqcZxg8?6_bC$HswQ=xmce^;W~FGJj3-R;W4bhD%oW#8~d60jl#pD)4qI6?SHzg#WM zro%%L-UG8~-ERh>9KDrUA-R#EC`(qLp?UjZ;k?fD&>`Q%hPt;BXEr~1RoQ&D$Rsbx z_%@Qx*Ht*JlMv^YDFSevqTAaIB-&e~L?GAP=q5U?9LMRTL(xi)4-(ozDEfSCLrCw@ zN>dO2BP%ig*!T-b-3)u7Op+JHikO*|I-%&ajTkJn1m^1fW{G}KA=@_irW@8$_f$yf z$LVM7OO>5>7q(Er9)ikym3!9fjyr$Z@()1ssN$cjo#Z@P^4lJLW`3Q@=Zt1VRTF|m zFkvOQFKxYQFtR+Nj1DlfJy~$TPJxc>*e@nniD)d z_4;o=+)qzktzD%Cg(QbU*~?ClCxN;x-$2;^X)LNapB}ij=*xW2V}5xF=iw&$<`1T_ z^zVDbzf?p&(GNyC>ueabnU64wryScfsmbQGj8q8kuH1cjnxy>nT8ig>X=fGUqgzh% ztI1otGX%=4S=!~8v*O}xUg5Q>j(4t>F`Z-~oMyVV7>}i#A9f#vacdkvLFnJrKJp=S z5W08hBR~i`-K4I7$c#zVnzzY9v>$E1olZxSi!T7mXc-B=Y3*6I>pR5Oh3#hSvU91= zk4i@Slj7qGS-mRfZ-7mf|G;o&gh-{SUL`hf8f<6P>lk>XFBFpzTiZH;0_2HtFUxSM zt^FX~`KcWNSr%cRBfIYNyHPIpco6Nd=S&=I^tTw2_qE!Ljyag7UeOcsVg0A{>`TaK z%gvIqZKS8Szjv-UHGq{B|J}%Bfqjr}XN^DXF=Z%-3~+89Gw%?842t9F$O!Ui2t(nWBBx^vjVA4}z~38YKPuHa#~V8fMG zlEAv6gdpIX@c2W3`Yt8fk1dj!ML+x7F9YAF!<~(2-l_>y+i9@M*C-6iDBb*#heCTp z(73O)jNz`j>P9uK@Ef`7yLTz5Wv5%%Ak9a_q5(m|oaB_pUF!`67)JFLi`@@*N~uGF zO?PQOhcN$%r>c;A*tkZ1Riu0I`8gau>SM_{%0NO>)W7t1F^jEV=i?4{?R11@W!4UV z?#R86fuBpmY7Nl+uoHrV)qk_YoA8?_fwqRPZnHH+*QP&e5S9-1mr66x$h#Tx&Cfp3 zc%k^+Ro~zyUN3|kaX_@rk79gp+ct5#0go`-nC&Mvwij^^;(X4mZ(l;}C8@b(kG=|@ zyF7d27sEL)D^A?coHYGt3DR4V*1hfsDL=)Qxc`z-SyL6YwbTC7D+?P59^4QOU_ERvMNndUcE1 z47Cn57+*5dRLPR;Z9CWJO;5bt8(ca=9FfE|Xu{3y|FWLH@0YYBd;hlCk^>`9?xgkg zL%`8gh}WEbozXCcRU8HI&*=U zMQ92&D*$EBI(5_d3K8UdWuedOm1#+i+;A$gZCxf@6UdUBzGi#aR4nwx?k)gQ4-PNU z!8cf1K=M`!9&VlbE|tzg_KIi~$N^EwSsAlQNTR@J&t;VIHIctjh>|u!y1} z;^!e%M5>MVK_=bj+)?PIm{%r2(u@8$0%I3|I$FoZ_F6O~Y?`itB@o)wXu|(Kt5cdg zMqpwM>NrUaoedilEKogx#~{6g;6n+)89Rb*4Nb^bIsS);73di#f2>0}dUhJ}@DA0X z=tB0O6m!O5+4D7yAkr1}e~PY3Kp8#LY`cc00O~$`s_*6Ycl_dN{2Sv=WUyRe#glqP8>Y6g9L6oNT@)5B!ve2Kt7c~4%0$~ngqQP^kWPc$bG_y)T{L$co zAa;DLGW~?lob-VOzk1k9g|(o|EbI0KI?r4X3#0R@H)^#;?JWxyrWd5v6`5cHf|0Z5 zvZbo(WUc`ZQg1%Ztan$|9|h@Jj&)XAa6S)qHB>7#7^ADe*Z!$Qd9@lNqB z=oKP<=4LN{Y5L%;h3<*UU%q3QhTs}=1^g|Q;&q6IXH6eS;R2(wpgE*RJjIi5Vcfw6 zo7}!kD$1?nx-$u8ast4K24LhXj{TH1)D20rC1vb+92ok9PiHPS*BDyrJp7@45l;4h zboZPKZ3?C>_rMpEnh%pv5kvX9U*pMVQ;@yf*Fc-|aNTQMISo&ssK<>c$K^W3d_`Tb zs{mU!3M(7|IX>WN_~NIk4650itkaq@7qKa=BvRhU zat}3U(`^a8sOTi$8Ylj?|LI=+{taJuUZV+cm?eIaaVI?f!VQ+^_=%>AucJZkOf#-r z*`%hRFX?NzdRituY05VW<%#@(WPQ4@>e}&ru<)1m@6wYD$D+6j7B@V@(IQw()1y+5 zn7jZ;p7c-b7HYN@8KF^}AbPZ_SUu8;stb{*o_1~HVH#r@$t{ENx}L#jp-U(4?|COe zMnAO8o_@Jx*6+CHjDJvMM*C}dRLklSe|v>etLMdVjcTaRFOi0#+~pp-3w!tdU4C4R zxAE_raIiTbpIsxk;j+`gPL>CAtt|YupyQ~g zzkA@!j>kSEmF|oBUY{0pedX0LJoec-?ZBn%nZiNZ`h^%p+Z>+`FmM8{Cy&iyh87!! z?|I}*fdwIHwsXk4P64hL9~b=~!(1u>QWKFlQ3>3Iz~vi8M1bHtOD{B$TsJ4hxb+?= zf;P&$O>GkG2UW($VB^A>Yc|v--{1w4?t^VhMa5sPq}qT9Gr1ZZ#_K{$jX0*ex@}#u z_O$S2EzgVtlZOviHEhvIfR$pvOlm9b8;v`x0oGU>n;|g1n&5-y3c{NNhq{v`n#D`C z{aLui#|PWA{OYo$DNH>7b~{2nn292fPm<-!BBiJ$DG((Q+k&li{94^c(ZTS-)!wJA zh$NBY{Z;|@+n^pHwVXa>Q@TmpxGRPI?WCBfqMskK=b6AmdsGRi{RipYO5Mquukdr+ zFLee9-eEo0yZP0h{<#mcmSKhk0Cqy6Ob=d2WTB{c@5SF!W}4WuR!~%)oD$sLiotYM z;N+@s7#Uz?#%P>%{Sps*aWoSk!AqwS%0Iaxo#_NTw^nq^uj^c6%ev+GWz}EkFo1VT zOIWN|f&lx>2DH}Bw>BJUg&hR!msd?@rpR%mMj$Fr`i7XB4YW6s@Kh>DTK7}-k0zto zvQ!0$Pjj8Gl!4j|pE~yM7XyZ$>@AkhoYwD^9^8YuQD~-qggv8OfYC)-Rh%TEMlR2d}e(Iu=dKb6Vz13xyiOf_2zeH z>i72TFgp9c8I*rZIDDjlux9Fiu;SS;uYHoszuYTI3#G98LD1Q|rB%Gp-~ z$zaB&u_+9qzgS7&YF$8O>pIN`%+*qV<8Bs4jR9p60g$aU#%%IjjN5JvK8%Pn2l{P7 zY~nV|f#o$K{9_Sj-$N8mpkFy0pn-&<#Zipw$k5)MvT=%7PvUCl7m~eZ}61OM8?bF;GUcq?^ zCBHY4J3C$3(!_bE^ZUXL>_X?9Q%%dyN%byL`?)2woR1@I+{8%*8!dE;^|aseof&uf zE@@B~g277nM@>Sa)!MK9_$3RPQ1e;0(54^GNLOpRzihx>@?>+lFKk4@-(isMpy^8E zp_$MAbSmSQtEezcp=m0{#2K)|NaN?MmVMo?;!%5zdm%(2Z~I2vn`~8%_dU(?su|I= zYUtBmz<-cW94$F}(ynANeQGu2{lZ1yB~M&I^v0_i$e#SpND-z88~sV*D5F)0RxTdb zgaqnX+>u@ABCJK1>$76$fLobe#8H&);tKVe_x6+bGtEIJg6fSjU}E8T+c0*TIk=67 zSg%rcZBi*Iv#gbB!4jC^SZ2S>G*WCtzVre{Z%s0?_*JrCbv+CKRRE|4sjH8gIND2; zk0&hL33x%@qKi!GE;hiM>C(4=3-;x1NjCNBm|<<1q~hAK&kfN3!Flf^>>Y3S8L-bo zTi1NYkuuHIlF4|zc!{sV@1^0$zAagZ|L_%D3QrB&EG849NA@5uge^t)k|bTk6Ig(~ zfav^(!|_`Qa}n=>>KpVL2-oSsg;^WJf@ZI$N@FAe!*UOdtA<@FQ!pI^xqSRurZCbt zezB{$-+O!SS$B7XyA#`2&ZICAOL{JWZzd}|%7b{d8Ha6X)Xy!K*Qdm91#aSW)!{OjN|DWmSY+1}+0{h*@Zkb5J=v(x?T^G__WvE~nd%-lc zA7vKe44KgGH4BpwpzZ(U7gQc9evP&Pls{YB}8@+{i+&m~ouUqvK#djR6=V9E?kOtN4Y8&;PeMQ?CoJ;<$_Mp_3P-K7$n9zc| z26jPyRKT5pGsg6d(!3QMdLP72iz)QZC&WAc`QX(nGd2obH|5Cg1@6}z)P`)W31up> z*xfIXAD4m;dBew=EOd?U#y33TGKok@nWIwWgRNjM-d4% z59fm@g#ut7_d4cFjEQS!=@f6(bgSZ4qZX_!^;suCH4NtV2qjr=ic|s zJyW$ZYj;CkEuFfa{i*oiXP!InMBxA@<;=qR)Kk+iN^JT>gGPk}^4u|iKm`{M$Ut5? zO>=fi&&`^3?{_u%&62Fqdx5*WnzZK7-3TwZ9ijxiPYsH}X&;rC`6s@UeQ*4RUOD^0 zbp1eW=WErrJA<#uRL2W^$9v&N4mGm0=i~#63 z+b}Yr+!~e{j9aZfHaUpiMe%p z#fE1!&jrlQ3LODntEJ3Y%K{JtbBAeZh3B8i@+Sot#>Bh;Zi`hw?2089!$Ob6MDQ?Q zg(fsLVmp-SbE+f>{&!Gby%EO9^(>`Eq!o5p)jttjuMzS%$6cVZ6Uk;VX_AFYO>}OI zfTd&aftREGdMXQWUQmJzA_+9+5B3ehayWr%pJ%IK8k5~afnqMja_}d5EZZa|M z+)MaWf+^kxT2xu=p6)87JHc;2A&pz^4|{d87&yPpjoC{*6evY#sH0;>>j~N_=mkfi+k9)exG8 zEBI(D;fnqR_W^yEtW#vaO)J!o(G+H}KmPY-P#am|ZpB3JO2~v>PPx{ z^?QG`i9XDKEMz_x-DViFw5GFjg1ieB7){{NAaicmk}9pxbj^R1A>SW7o1;ju09Ai0 z$4j-j-&xeHaqW-!-0z*8Hh&azX0CKVX~tJq#iOU7A0MLpZ+(pR%Cx17hBg^kXa~)k zvCtq7jTylZ)$*gwBlTFBZu)zD$!#sji&mVGy6%0{usH|z7*sr8vrAE_dn-kDOkTvQ z?x3~z=JONX0CRW3}kD7E_tl^(`gq1BH5B|suDr zMehEZld<@><~i1{p>vgu$8125tC}mDJmkT#ud)^-!P2yYz=nkW`JT+m;rAIV+s76d zKFs23J7JkBv$IK`U5A-+c~Nz$>1uK9POgBGHIU%^kI2!4m`h zZ-i{NcHi{t2#DAiO0J$paj#mqcQQ-wk*5NUSb`|T9`kR{!A67p7DG(6P4vd>m0+zf z?H)QE>zi8Ks|!&ZPB?_wPMhqd;``z2@uEr&+h8z0&1Aj90rh_~wl|c?RUWo|PqECS zI%W7J^?9n5O6XIt)Nxfz*1!9;NB45Ns6N#ueXuR-|JMr;b|KboAOYIRfR~B_tNHgc zBxQ~}y#7D=Evx_7np)pF3%9ARU=VKL(Kx5$PDMBq=w1;1?cM|v+r^pZZrm;1r!+(u}Tfs$I-uac|jqa9& zpd`ALn%BJdS9V>02|#B|Z>Tvu4{+;iYe>Ch%TAdRM9GDsVjdq%x7ScDVaPYiCBNpW+Y>5EO@U!&0GAZOGJJdy2A(XcNkoUQ2bEvRADqFx4$pTQ=xu%>*Oh&kS3M)(7{il4W9&`fRpieYuBd1=4$Y< zlj5nAh(Ih8S01iSb#u0MO8||wDo1y~3fS@NaPr4m(J+oslT>6Mt)yfEJ<8%kTolqE1W{ z?<)}X_s`I#Z6EZ1{U~Rn%s(`FT1k47HM{p>-}%fN@vUmMBn#i=w*m(DP5`I!4|B-X zUlX7O@3qdIOwH~jPYw@`gH1yfU=dar2R2l^>X7!{@kXSIx^iVf%C!9T_$1<|Ms0w< zAm>9Fx&LR?Rz|n?d?f&ur<+}N-h&0Fdmt0!9tqOE zuu=EWju`ndfMm7N>fDqzMr00tt!4?kc@ci%yhY;&MAfuIgrHBLye4LA?`Wvbj|aXh z_9tWj?d8ZU3IZmVe&Gij_M|f^P?hq5ys=x4l1{Arc|GRS*)_RvG94RZb^pw_n7b=# zlW3XL&g%=W2LGK$qu<@?WcQ2=6j*}V7GsB&&c>gF%`2ip`{GWp3hoH1ZmAyA=q4bp zZ9Db`lp zEYv6|n1`-!Uz+|$9{PD^E!0OxH`8g8?&bF#BrsF|^2Z+toJgGQ-`J?0xqy5u5`;VN zEYMhOI_vtdpuLGZ)*^YWq^V=h#u5>}cbxkUQ!M*yg2UQf$KLUvwA@n)GL8a@EroUS zPs{7FZTJzCG&N|OpC>;fp+B--`w3P0!`y|;k$;_iL}pftZQoBam%lk>ou3_bGHLKU z?m`Ur{A~a2zVYyH&{Vp~^xj9anyPfgbAVDu-pKo|($RMBC9C{hlrs)ZE#6(F*2@cy z=6@g^jgwRCGGSCh%HqGmwnvB@6?|k5>_|giI?bu|bf^GM@QmAXROoUvBPcq#W6HIh z_SPI(u+Hh4@z5IQ2;=~Nw<2_IuC~>>$pKrI%v)oYuvl)yk&T*E9uItg;ROlA)(svG zipq-obSrvru*J0Z-w*-*ijOYDoOBZohPJb*T|09ni(8}=?>0^fmkc!n_I!09?ir;5;}ne|;4*r=Y&Fjz$wEe0cl2hLZ@w&0?4`*~sDLDeuT zyb0|mf31K`ozU)TJY9E#H;Cz{oOm%VG4!*Ac0n)trj+fL`eG}bsJGn$;I?KdMHG_7 zY>%vEPL)Pp-H$Hb!CxLu0#vXd|GXU>_I!%N{Pwoxh=N9>x3yCCuTPl{9=HM|-ArS! z4RaRvSEbU5bVDM=_x+oJ6GL++(9)S-(~BkJvWP$Q5VGSAP#Dn$r(geSwQ91*$hK{E zS|P8l?nf(ltWLw@B1rSx0s?*4-?-$O4gC^`G;A-kiaedA zuc?9JXrTrab7(lzxs#iHtOgl=L?R(lt6(NY@Dl5kA5^G(u(5xXkOKJv^|Vdk{xjEE zQQ(s#&uRrL?WbqSQoB)GUV5I)^V7ua=#Xo+yz?Kg&-~-ZpF1o@Y*SiVk&TzegGRCF zS1RINNpBjpMXRo3D<)`Ef?H8nojv2Za-7-Wpy6ue8HrshP!(>0-qwa5o`wa>nfx|l zwb5Q*ca`IwFZ1+2pXy{?d%|>mp|ay<{+Q(-oEJ>Omg&0q@an0TJt?O+vcRVPF7&iw z25&0cQT3rxT*IxnMLg@ zA47Q8CcxL-DjntKbwYy(_C?j_6!UH8rO#Hjf@cFKMSyzeA_d?hmHbI+D$}nHRv@3? zJcA>Tg>R2m`}meY1o0R1S6E+J5M_AD2!JpnVN#%)UE`V@-6(c_T#s-~K*nqYeZTKY z;S=EHyxoeA{_)!x%^qh;tiTS=N|y0Scq+nWK3^FEo=Q5m?mYG>1IWBU7c$kwuX@*# zAs9hL(n>CBRPtoS3*wIu#}S`I$InLuPrnh^@Mp&C5aTQqV>aSbzY{IFrKR`ba<}~} z8SS#hJ}usO~~k0rG9Ke_${$pjAP4VOQRM9+t&?@d0MRGkFR4?n4|@XG63 z{bLNabQ)nbfu^x$fHFr$uAUkqUAU-mTvC0fK$9SA@5@dz2(pF)3<&ujvLaGF*#gz1+OwZs zQ+edLY1^aUld%H9K@xRFqF|~U>d_iGFZf-q4VeCcZ?Ouw)lgO;e34MuPLV!*6 zpe4y?d>P}j_q12uCeaPDeY|6`1lqP*=+|{l`-D>vU*(o1jQ`i;T9FtpL`{-m$ib8> zx?>%W?&p5(zbz!m5J&@?C)-dqvDR&*u6psdbPhY(#{(wFOca0(@RagVmMb0xTKIEL z!1+1|i9S#>({47v6ezP0oVk4gM9a-h){Zo%OEibt-y4Ru&DSNC6XIgYUDtfZu?~l?OA5hYtf~hy7(3SenwL19x=JtFzc_WGZ zrhD6=7(VnPldN+ny0Si)rrcJ_ekev0i`0Xe2D#L<2MC4kuv5R4{|_2s zEy2FYIL2g<<&8X2S|uxuF@a>2_U{5u~SlpJb} zvqt?tOudIc)o=Vh{yJvLC@LZ2T}CBjXHy|rm6fgREt`WQDv2n2kA{(P?0pUM zaU5kF931;_j&siU^!YwM-{0>)IOl%8?&r9!>v`S6AyC^iW<{tT1!l89Z>CgGmoy>y z^z@?I&5tp0gyEC%-Hl>9?|A8TGfe74yYed zl9G(zrDe{aV9GG*b+6@b0`xXxsB^W9ZXW9Kg|$OD{3q3ppq|5Q*aj&($o@(7TIh=; ziHnbpVR#~3N?C_Ll?U6H;EyM2?*~1PvYT|waQ2EqY~@RT#tgwBeWz^Jh%h|?CwoPR zY!rkv^~6CpNp^4ls`PZqi!kDG@v?T_7yZ2(V*2k3mir>mz+aC4xkl6;iSQKH_hs)d zKc_LzC^3bh+GY2D3$328ektQKcjPb9u|lXA7wazbZ?AziZHIq-yC6+snL^yk^#AW7 zU0zPs4Vv8flXF{Nb!t&&`8-%2hwWCR;l6sc&0&Wl_M!zx@vQxx1(osMN5(?M{ zJz^yFZOlzPZu+kR>EMYH92|QR;Z$ucj18_<)UFOuy%cup_sa8k*8>EuSUc5eqO2h0 zbVRJ~GnRSOHF(wnZ(TUsoljc@{<9i{!_J3!Au*a}!%;g-Y*s(*G}G zUv+s$tLi1z!^gj+ahQ{)UHX+D+aH`seBr&Ac*=*onHtkzL&LP7SQSgeiCMx}fPyRp zMN~{xZm8fvWmgTX?mscZ_EN8E$Au;b_zp}Zs`;xrf7+xtw^Ry_|LRC~=^(;2imAT8 z;jUyAjC5E{7y_M49S&eDGP*|VrxMAKCJ}Ap74y~Uvr_ba#DCflagxOwBGAE|`Cr!> z$3j{%!fHY%hc)!O-NpliW&Yhyw$#G*YS z7kvI4QY)C7GMB6`53*U%cMV>o(o&qx*=+3QcCYVcbBLm_!)$h5=lvw^qihfB&Ozq zUeW7oXC926xzn9h_TZzY`~Y{@ii*$-n}J4tDqw$d8=%8fU!k8(fotSk0Eun+|mJ5IdJaU>k) zuU=V6Y_3RZZaq;{^HH|rC%opK>;L{7wldjSw9(UPZrE!*)=Js1P9 ziVpMj{Pih7x?tywLn^SHNbO1*F%XF+g9rL}s;Px11N(K61J9H?TpoQ22MlD93yle` z_0_n~XhEa%6`;QPWP3T#tEjOljt1p@PnXk?MCUu6*~g)O1@TY;`#FFvZ%Yknn$6n+c!^L@#c!QbbgKh`UqwyJkl9} z>QOh(5K(B4UQgGNbIQR)-|gLVg|4Q^%c2gA`V1a?3~f`_b1Jh41NwhjJFCL6b3D*i zcv}-|%>13lNJ}rU*VfBHMHdnbo6Mi+V%oUZbv0QGFJJ$IH&BxJ7yp}Jq3G_IoNs=Y z)f-$9#!osuQvU6Ev{UjvZ{NDVwh;lH5)2s{29@Wj&$Oe?utB+s4q^I7; zS>)V06KM3|!u+i~a7_icyDJW^}!OJhn zkdM*IZBZrjE#c+Ip0DybuvQD-UzJ8JHVU>(s4s4i42bo7LLTk`=g&7~ifiNzq2NO6 zv7{u%iJ096xLS~^9yI@M!46j5ZA{uM=|p*dZtBL(WM-s8lbUw=?6y;Z1oc-OP+qlLG{^h&a@TJL5qIafVVpWhQy?j(fzM^&3ve9|ZqEa>b zvr4_$3|;?m-OY^_$H_Oem9(~I_}IYBs|dbuBvW}hCel5rT&?pcNX}ux(~-Pf-2Kw% zS*e}b4%D;D^^~l~vo|B*B8rOq5P?A2VmoML?y6CqKl?Z~ zqgG1wwr2_CI`jJ$ihXm9YNvbWskm{gcMv`y^l{TNjxg+%&KFw3R2?jO`{*IDs1g~c zj&Ea$9rpYtzn=h?lE|OtKpe#eS}pQ0^p7n!`tAK|Off>hQ?6_#$ zFoD}oZ3e5>=ACb;Q!I-jQn;X&*76si)$b_aZN%DPmENVQTfZ01Y;B*y=1Hn$gID$^BUev78e0g&+VfjxcYdwLY`d7iXc{d+m#n!Psdp6!~8Tc6|eigF) zNpT{XQ+ZhA&GLYiap8s>esU! zFPaPXFyL6AQR0{m&f6Tvg>DHHYi7j3rFpxeA-9`#yVO>obF+q0?x ziR*39`W3C~?Iq>1NyLJ~`=q&D%mc@OzBIobnI#(;*)!LA7B$44oe{t1RZ}Ya=Nt*< zos?dkjDZC)Z=hhM6;&)CAZ*7b~PL+ll|p#>LK<9aeb zd{Xfl`%W#YEv>tg@Rh+WFtOpna}sJ;UU_R|w62V*vKsQ|?ZEvJSS6ez=w>=a(NMDb z%AV!)%VJtR))1yype>yWZXb$sFZZ|QASivApiNt4^Un3aLY4xYN*OeWQ|J_LJWtI1 zkpgH?Ya`GnpjjSKP}5PAbq1UiXv+8)!;uSIF^yx1{$y)Cc$_)cpOYQC+_j;nol9%*PdL|ZMN0- zoOITBjkB9m@H5I;mwh$46p|z3$)@A=IQs!I-g94Ks~76{P(p=W{Nlkg({u*E*zZ%< zNpYb2NH$tJdvit|~T~matE6Z!Q-AhYW)mm|j6TKUqg^s9c zZA7kA?Pmn^6*}J5`YB2N8MiUNA}Co@D$qr_+`tOi?OF46gghUBuHgdg&9VW%*ggln zU-oq|x&-35GvgeG7DCJHfMTgs88Q}ky?7ICTHQcSxJ^C!l9#>xRr(fM?fM$-lkFql zLZlqsW>m9#Q+cG~D8JhIt%WCRwT5l0M;5n}i1EU<0pZ3QaL+|(JKfC6UA=1CHn-jq zmXy%XzhHPTv%&0G@OPVAO9EebAdqV~%DZHwun4$8Mn%>wD;3ur4*m!PD2DdsB6cB*qw0+R&X~w;UYW$H!Hqn(Ci4DH}(EGec(zr zk8+-E7IYSAAKslHiOlybz$9;1RlkhIe*HOE9;srI>^|C>%-Gz$Bp@3MGe=yV%RLr| z-7h57AZ;U7HBy~Ad^pY8zB!EJxluyCS{TJI{F1{6k&Xfq<)C03bJJzra1hTz=KqZF z#N0R2lZhlRh7_CE3CoFY&OJ3}ClA}?#`oP=FHj&n+?J+$9Q7}dWivGFwuwGZgs+tS zV^p$S6~Uo%MlX81nW8Mta^9EKjasP&($Sc(3qFX{Rfs$)sSKyKma#mG9HqF50Ltl| zbX}sLj1#pWM9=cUY8Gxa<=oby511fF~1^4Cr zq~w}A%{X7uix<`fk7sbiVD{DCs{s`Sp+>`(_XTchZA0P-@IDLpGi5y3P1Z(Y6y@ z3_FNiORDo=%1S%q2jA$~V)@vny$Ge+3Q*9Hp}!#o=~XaHiecelN;yK~+V!?6$ff8l z(BnY{&7BA>*|q_g^1$1$o)rh}5)#DQm2&v9%s(Y>CL=q&YCW$1=PXqflp7U_lmRQw zBxx9TBJT*!c%RQUJrX?kHSn^`&4(Xi;F1!bISv>{Cj00(Z6%AkzvNeqgny_xs~LM% z@fbnN(#Oe@4ABa7sMb)I1EN{vu`w^S-0DmrhQA`;Y`Si{;cRs1PVoo&kpkS!ON_(? zdA%YzmQO*|XYV4lfGPFEaANfZ5g;YiT#u!~rG!Jf!BGojO=#5vf>wSg)h}Q=bOYFNB8>G?HXR}qdX`|ObRANM$EdPk2~_=Xqx z(un`t?vDzZ^(@hO(Xb_c8C+~ZSaK{scAdU`qJpKMpFQob?Btt7rL#qLhu3LiMzTV< zzLnMIJ~M=^D9f@J#`0Iz5^|Fmf8PK}&Z~V(SnqtVon0%cnjAG^4H|3B&YNjfQf6+< z{?-JyXZN+?7s>kzbxj^gdNbjlWcWv~Zqar6>s5&2g{7l{GDEt>`A_t}_iK^_ch0c@ zMXarYR~r(EYi-%uH;0-KFZ~XMdG>zNkK_OB*`9Tvr-pJC;jbHhLkmJgA*4e%HjRqv zBg0QP-1kX^gX1BEie>wGEMQ|=n>=670PjD9bY^Qh&8L%aP~sLCGm(o7=a)N#yxHT>jSvMZ+-Z zH6mc^Z)+Z|MU)UNv8yoB`r=hWzO<}o02uznnZ9c7J@dqRJ=)M|yHCnFsw8JAK6Bb4 zis0<;$C>d15n2lNNGX=&0<8Y#O`1xb{cIO5w-NWzH;>jfr$5_zF3#dYU7EELw1#p5 zzwdIqwMI1>unuRko!$veO0zqAbhXuRdE8}@E7|)Qs0fQps-R5>NAjt5QWZI_ud7ze zqx_`9FL7@9A}pECLnO8708RCO_jM)8;ckeZNfilbsqdI$cA&oB zl_|qvzCw5u84MoL9Y7jdS-p@??YvLmC4!n(m%1Y1r}2U9Tg`QUQjvyqMSDHmIFVyS z)JVG_ox`(uPN184G(+a-B<|~rL14DIF0`KdTi#sBGRc>s-WKf1_0H90MBrOSRG{N#c==spVGPt?0#*K3lBeBUH0J0zIWUXd$-3!fL$$W!J0 zP(?efZO;O=2IPU-Ljxd?h3=2Ih7;#~y*_ik^P=+DfLLkt1X`_07}yg7HeV{Y_=LT9 z@k_E|rq;n@hm3@}Dx*-NR5Ke63n{xhEU90tr*k&4^rX}>a#`zG@;C|xY;q5CfHP4? zKgyS6jKsS*o8C06P}^1t)iUHy(0@e(6pZ*kWewM+%S?m^4a~{NQdHkF0MQZuT7h9o zA$g^~5l{col(A+pq4{eF4mH?$w#$%ihVUEvN#)xJo{CB%^~FLW-IAlt;irn(2ludL z++7Xaa}TWPrgiBw;p}T;25&=y{ZKJy(1`Nf(iC zmq3hcgTpfRq$nF|*(W|6Cg@^ktQGk)Xus@EmQgrA+cw$(zQ76mL2Qf{Ur5G{r!Qlq zh=;@7YQGVacR>!M>`L2=IbTg^ajh}cP_jV%0>x&VTuD2x{x}9;>9GXubcewuQnC$gn69;{K3R>KLQb=2%Aa|q1nWVa+o&2;zfmG}!ykXY%5B_JM5&m& zqeQY)FB~Ea02gCu9Zc^$2VZG$^}FwY2c}HIgs~=cvHe5cSxpS0ltV#pi?N8q`{K-Y zGW?^NV27}EI9vp$5oOl9&U~^Rgkl|II_YU&aJ~iTC|?5oDj*k55X@%VZiF1cZ>&&> zS8*;mz3IESW>K%jI(K47x#yz%6=~}~N~q2BM{F)!h1x9#*$z`Z> zck2jB2DI1|mO7{ma)_<{VvQ`Z00(-z({1hdaUhRph`Om(8BQG+1CiEXPw`JGP zY1(Gitr2pC;7k13LU8c;W!!$2=gn_2Vo}fyXA5kwG!Pp>4w5mU<-Hb-anM zJ(P7C9^(Ioh&AN>^ECSM_(_KSpgknthS87uukk1MAe>IXQvK5lzS*{*UX4gdz6j{A zHNd_-|GB@O+O}nXF8f%A*;2)`W>ZQFOEoy5vZj{#L(y}7?JigplkY0n_|gh}xY?%X zRZQzmDrdAnm4{hLK?B>18k}aQ2*AasO}E%z^8SE9Gs~tmbk*tj>J$eh!U!-;Bwh=G zk~UMwn?jg^b85}B%%KC>@{wPX)~9ciQ?xxOg-uO)y=?Y)<~u6`&bwM>bFK8qCsQA5 z1hHt+NXnJNzJzv$#mSfT0lF`~4EeD{i}Iu{2wnn!vs!e3+t(rB zy;)OLeRrSYXi8N*lXK8-UpX^i%W4osSm2bPfB2nl%q6;~AVTgL(@vOF_P$4-vL(|Z z(+Sax54aq8u4_l>G6(fp@NNFwOUK+$62$)mQp*XPJPJJQ*_%{U&JNn!_RPHJ0w>wt z6kN#H31SZBmH_!}?P+J9dTdXJZdcQ{XO6gEWQle}DSl;&Dq+@4CN0}Y5XC3;=@#D* z=NX0eukw|!8hg>LNz$Kj*~`ryo3XfUwQ=MS(Q6dC&?E3(_DzhbMJn;79`f}IzP0OQRP<|HhPGsicH)vPQE$;d94_ zKfUUakm)8%5q;n_9`|{hk1|XjPkNghFuR*nDc>Q_e&ut?b6rn)$7k#;(ZlTLz@HnJ z+z|mUkgI!-fQ}iRYWs4kHxMF~pWngea9nWM;`!#+q@sYL>`9xG!+zrL68%o5ui?qR zxD53A9zes$>H++3u>E9eZG+=uBujMJXV<>ogRiOH8)22fhH7ZiPJhW@QL*dardX{M zeLhA}mF+*J1|HqtGH!a-`T< z&YkYB&cOd~&fv%ZMG)Hz)@Iw5hk$veXe%OAAMiTwPT7jj5dl7bkD>8@S+3SY?^*2o zw^x>y`{%}oDY&CFUBzJqlvx|ns|p&~EeEk%#M z?rq=86}rV*qBwF~t<&8=vQhx~hc0cX>a)i))NP zoICN>sm%-xLx3Gjte(|jiiDV+B|;=f)bEidJSDP^8*fvazfp;=qBh#m&gi`7b-vCo zo5@41QMbf~()Y#QcQRolVhc&T2_+}bo@zS83}p(WS8zl6dGFVz0zR5eL8He9Z$17* z9X{cKa^1Z|>GZx6XyVc_p?3D|Ur_9k&NJnmp2>|k8jUcMy>aQjx}j22cjsoRoqJ}z zXuEP>(+mrcFI{-xk5WYhC0oup6jmrZN|@7ib*^?K+drD`{$Z!zo-us35F0*<$grYy zrk_21cEsYz7rauut)PajcLr?@4O#kZ)cIwDQ()=lEbq+lXAYwPEx<>*g0oN2ZDDPRa}THSrbq#gx5fPA&Q_#iXj5=}W0r$JVgW;stw*tM+q z-DfSVMVZ4vwDU1Lp{~`OQc*@DJ&+1Z#%L0m*u6*cT}ZF8BHCM?j#Gzw6sRa}yDxv@ zcCU?Ind3OdCT$|JK?v{ZAZXq~v#j`?M2w0V+IsbVbL3ANjXS%F*MN*vau|77xi(i$ zNWlMU-5-DU*RjS$`PJiyil$G>d=!7{){ROjDI`O*%8|aSajBvuYXuN!!C<}nWUAIM z{DWtv8rg}ezH~XhtZmKPy5PsRia)Z3i88Tg}qU)*-(ReBR48I@&hPCro zh^9>^Q58HZ-&{p~b=*wCs3o0jziKlAoG2QHDF$H@A*F1JN}sJ?dNA4*<3$RFC-OOa zMQ(T3K#MOK1!#mz3p%G#@}##SlYp!>&6~2jfLp zDLqcVds{`sxs$5H+P5h~A+cM4W4-GUeFGC~sy$AK+Za_u3K#vT$n}%@2=dyqAhmZf zN*>{vyYFq4f930gSN3tDGSqscj7I5_-b2x!^r9pJO(XTS6JwCxUDi>bvXTMR^aY<3 zC3Cqx`a)QsC|J%kTa4CLZ9LD^TLb6qS@l_o0P{-%!<(XMA64-7?IRU@NT^vDe-@RD zvtI?D(+48*d5q2arqkL>5%+NNuz=m+N0M&zX~i{!?S>dA8Hx={p7$v$LUCc24A3a~us zPN);HVY)+ECne-C_zj&J5~xNJPMQ)!RP-X`Db(nxlH`)QZ>PP#$-zm~1Lf%amJ^!)Kk(-3wR^yVFJC~c&3JG4n4AJk5GN!>37sy_n(XOL$ z2oZCT6XSRC!suCsy57I4^N!8IKbl=u@7`>6aG|z0++jmkpZZmAWcSNF1b!CkH|Ohv zB^A5($gWWBzAj3{e|;8(ka^iEE)_WPE8XH`Cx1NBMJ{%}HQOL!_lXktZdrzOpHeV? zFLgVq`Nbr+d^PYc`EdR>eYrJg4jL|4RVXKnQ}S1)#wAyJQ(r)YHu

      d|u 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Portrait@2x~ipad.png b/resources/ios/splash/Default-Portrait@2x~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..617f1478c15d79e7b8f653c1f201551a5e423f56 GIT binary patch literal 99392 zcmeFZ`9D-|_&+{GL`6lCY{jb(lCp&%$(G%ay|QI5I}@W-2$3a}v2TO1?_;#svP^`r zk9`@-*k(q?%zTe}zdzs4Kk)tG`*?I756=1FzR$VN^SfZ>@Gp+~s|WvZ_=f|4z`wBhuNwTr;U5l% z2>c71|LVa%9RA^Oh`_(F`L7=Q!{HwehY0+C9X7|JC}DAUB{G^`rwo3El&JWi5NSQT zr=Y0%^wF=F7>WGGpXo9WY_73hYv29PSf8NJ%#_XdD_)KH*d1v`;){^Eu(BG`nhNx; z>}{vq)X|+VTNjsC@AFGWt3vC+?vsDmmW%)Ay7f8h|G9o5#Q1-%{|*0# z4CtQ{{8NH|N&xz&1poh6f=?S=XRy5=Ko?>p6~@TtNK1b!tKqem4*lUZ_N8_4mcUtG zPpCqs*CdkXuOFnH0)f=d4KP2U!dje{$DIf2Htg~$TJGWzf_k38S!OB93B|K4CJ;Y+ zadv`^(-;1tPPF7guza2}`HgZ|qUVJMY@RaVjoJL<0L3!Ti{eSo#_M@I~saQ2oRjK3{!}#b}2u9_#8>xZ1E1AtJw?sjRCa6eo50M@~0|xV1T; zij9A8K@9&kkiQJPik5|W!HG@#VI~~fURDV$^yYV$Or8)e#2TL(=x*2~RI;R+#0Q#2 zFyA#Y5<5`?8MtpR5fek~ZC1s!e!~VewDcQ$1Hb@>nl^x5IOh!V?Ru3~OUj!@x1!Rk z{hGVmTG+g`us2+Y*)Wo87ux3@&orb$^|E50c|BRR=VFVCFiw0K%0;9KwuE8XIC{!k zF}~L_>|dN@->x#yo{6cdeLtOSma?E@3rW2(OtI71tbUr~&-v$>Z$+3uAWld9Xd2Ch zC{dhb;Jf zx*};URz*fnh`C(2W}!T?Y;N{+?4YXDpv2LGxC$4F5T*WabzOlQSO&lIfqH4lTvYfC zIXp?lKPj(~9@h1_I{_X%@wnet(U_;xHvy6b9)>K-M;}BAtV5gGSF`N)y!WYh;;^}l zF`p6@0z0$9v}(@jf<<1B$`6NC|8Flq!LHkLd_shYz3q%F*XD7?`@(QwS^DqE)RsEOfq-9ip{tt zhWYrQ-nZ9wR4OL_26L}uf%9^87%fIMtjyT0JKFCHdU=t#3!|LRe!wBM_LRHg%-H=4 zOFtdvtVFk_X9a>2(+ZC;)D);WeX*U??IKg|B82|PHGLdF{%2Ozfr>SyuvWEr(+0Au zrn`}=J(ZMGdm<#pTy?5yTx`28ur0ho_jafu;c{mC?*Y|GT^(k|IN!?L#i!4`>gIoE z$emy;Atww0*aC;pabQ{1Sn9~e_Cw}edYUvzm2P|PoYE5^rp@EOjW!9NNb2o&jHH-1 zLyKSY$OE~>d(XYv=BcVsblsxB|HP|VQNW$XGDX)z2NzLJ97x?6qHIEXvWOxN8Gm~x zr#p;o0G}M7sy?FEN)23W|60ubVeF-P4Vzmb!fShK+#+Ca9P>Zoi~!+q=4)lSw>8`^ zO3~gPgPO1*jD1b=*5maYc1+JE#}MjRv&F*^oILjw*QA1U(ra>FR&DX9P;1!VCJs)I zLzFJS(|?Eb?RgcJCja;fHSwGK^?vWn`%FR$D>&6^V6|J$B~n zH2Rt`~@v@4loCAJ$idc7Jz=`&i9F`bX(Vi8MjRpaKBQ#=y3cQiXeW$ zL`!`bxxF`Y)3p#mQkqQjI{()M|1<{VzLUE+c5p*(P|v^XQciCiqR^d-)~o+eY>%aB zPrxlg>9W8Wy~Kj)yPnq=AUwRx;{9916v6!_=;2@4mstVSFLs!+A&WirG{5kR)rXk) z*f85bD{y;hv#|2$^_gJ-ZSRwzu4p?Q6Win^^i590U+qx~Ka~D>Z_l0uUtRLjWa2@I zy)9o;JGiF2`^&lN|5%M8RO_VHKVe3ZGo4!!DSiIuscO@QGbhZ!M1PZbnDzGc zI7>kw@k3I4y$JLF(aj6az_Tg?bzaW$IK-U;TLm=+2>SR$sFGQqrJ4zt0X*k4u*R(7Fh1&8T;tK$ZNiz%<*oo73A%<`bEs z=)fjBV3A?!>{j^N@@Ei8f$Q*&bBMb7MoGX@x=_a{R8yt`);`6b4Z`7D4SIuc&6?8% zjq~wDUMJDNbNbW(TcNQheo;Eb38L zlg}XJz_7YTFpIPM+>?{9W?Mj-bqNbP8ZSFs{@R6Cf`A%4e|Yu)9(0zDh!WKG8dINi znYc=0X&UMJ0?fI=!ziL_;8Vio2v2@9=7#M^4*;YGj#rm}nf$|~g38Sd_YcNH_Mc|K znl3LQ%GnvpG7^DUd$r1w-t%W&!+&Z4FFg5-n=Zk&5mLSXa1pi{-E`rd`sxc1H{*Am zu*Ij=tUtB41P|{Ue(g4(meaCy|1F%muW=NH3$DoWRe`BfN!WjAp$rq^@B#DpU0L-3 zTo|nnFlb2*X;GsCj^~V0EDk@XK&=9d^G*UE8jCxIU8ce$5AO;BWkmv-n7$`YOIe!A z+%xP?o&NH0DZD1(vZ&p5*@Yy)3u9g2|NCx-7Oym)oo3h^O_#S#rw))Vk1$)GY|nJK z9eyW})yNXxc=qQ>KtBL^jqV=4oG0wZj+e|1JX`jQ#;fWh*EPcT-NqRHY-mnAFtGX~ z;RKBEM@UIPNK5tb7X8Q+z#*Bqyau)Ff*yhoZw3P0W&`x;tV}eGGz)X;55;6>t|q^f znZEF3L-7IboC0|D)gac)3d>5V0Yn52ro%l@unieO0Ev!PQDg`S+yi)h_i1Z}E|L`Y3wO0Y|`>q?amdh7qwMf`X@)MLLC)6F`S-opx!pXE#fU|=)S!8M!N{J7*$ zaHtr|qCuiYbW8l1?wt9aeYj|F$0MCMdoc@+(v)bEo%;Z&) zi@@+}+QjZlAHsxJ!&8qO#|>+-qNcMt+sTSP0s4stjeeCEQf19g_MH2VlGE}&)KoQT zk8o6XVm_=g@R9xKt(7y8=@a&|X#Ok5a2yGtrr@OSh0?ni!3(`xw`LiglBH0%oC%Qh zDQqH>gXuKhXLa8J{hHFa)}ngIOuf7z*U0#x;IW6tgTK+D04pe*b>2Pyv3_utlvITK zR(->x%0O#Dl_u4la;eT@b7lEh&xFL%o%!zxNa9uMX9wJe^&DJ3GZd05&vtP4A#A*} z&WTbuRq4>v)DGZ8ts0goCja6X2QaiC=d_rUQT}(NsrMJ>iaX3;b-okO(-h)mpU0#t zid9Owm8UKEB$%ZLSP5n`p$F@xoJUJv9Q5wWv(MqFVm(UP^pdeX$2DuQ4u||7eO>VG zGz>02>1BxS?qyr26|K7!_T2lBEIaNQi+wTDs!*n68w^GUFbum&{rD1!NB_cf)tCt7 z!{jZAE8~@}HeemAYnD=k$arh?`cL8T5Knx~(yJ~CcfJ1exx8zXYOkBlXc{NuUW>u_ z%^QPy`u=%l$tk*)Pg}T_z=;VjwDwnjL|qSl#D1&?xsDAvv~GU_`it)a`%AORthQz2 zZeX8K> zpP}QCaGATqF?(t}L;l?YHxX#GyE$5XFTE`cnxzVQO_PgYEPK%U%)l)#+$uG5>{wCx zBWfpys4ETY>ibPY~w3&PcUUK*=ZJRi1kZN#NLon^hfnWMFBkXvgeu*HCvsUTyx5dcps(_kgtz zZjScE!=k@`3>LVdlQ*-^MPL$j) zA?7HrrMWa6TyCe}bSjnqJnP5{2BMW&lMwfD4_>fZ!lL1DIvZm1+XWT^No{67)nmhm z?}5eH34hz@cLJo%=DXM-^X}*C{gu!5jUrQ3&CF>ECg#)|RyP}wCXL3@>=Ua9# zR0!#urHpTV$wwKRS-GB+>}HmI)t+JXcYjFWJ5uIAuF?*z>fD~-%Lt`^Ti$FaDnFXsl z7MsAadD_l3PKe?}lsjx#lYWBzzb+-nW*|2;UBJGpG5Cxl^&s-}nVWY=-j>fZfzzD#+QK5e(_0ncrCf7GK9gmqkI4NnO(Q=YG17qO7yM_Gw>4O+Cb2Khm|m!HukD& z8sAmEN+BTXOPmvy@&yw=%?CA9hqi32qCFj@M-MbDES^qOq2kW4(G5==@jzOahKvBd z0TsUqc$kIReE7n~=%l_iQ!r2J_!EO0*hQ_ex*9j;%r%E`@Yu924wDcDKYMSYYuKo=5)OBC@QT+||`0 ziCbYXGYLN8lDn4Nj|wMnXJfn|-jYT-3ywG2^mY}>{CcY9qS|YQ^!BieVz*M{f(scN7?M}>bE?FuNOx)c|sw5Oh6MF*OW$mG>d~9@@1@m!y(UAmA0@b?KaDOnKA>4l> z_q!gD9ReI?O_>F0T>H#hkXk8|QO8`u?KsMxyx@@eXa!XDB*X~vC}hXevAGeUGSdLd7Oam(^*}0+-k!O|Pn-`m8^<&#L1`u9rkiDJul{ zz#1}1#}ul@N3PWa;sOj0OjL)5R&}y0=~b$OKRX|!-fqgi=J&%|nEN;=bw>Lhx~wwb zv0y`(^g5Pn&RS@G&*C(;Gi(U&@*vQXv}JvlAzco7=NAj4udKIn`Yan)5WT&{@U;YNf2xReZ3x~m4C8-lL zejjCf*=0GpQu(77=6K-os?sVF;Lr&TuRECcyUeEVKo7QVG+cu+N`M$oF#($hd2~d% zy6JnUymmrePZA5yT+RPYi(w4|29a?`@M2u#8p}@;`lQn z<~j`}FS@h*pV$v2kJlgrn`4(ZXo1J@|JP5T5#hYxIE(OIu_EhhvS*2 zrqHhtXvDzlWn{jDr;lH9HQff;r{AF5T7$~H!p~GR`02hdOH$qr=8tCjn@xwST?82X z2PBxkWri1W1~GCLA7S~uNAH#pug+>N4ooYFria=G8%)tw366c2QS)O1S5U{w8`y+? zFCm?lmIE!1ah4CO5$>lmdkaol2N)dO$p#1OC6m@?3*Ptk&}+}qhdll0Ue|YtJPW84 znvfu!YPh{6fzg34!K5{C`+|ysO}7azuqm-}T zwq`HM3(XdFH>|b+H>&&CP;T6?JjMAH%dit%G^FdqaXr-T*C!xPJUsp=$hRP#ZnIPR z#G#XU+3-MNlhm~-(5yE$jQrX~1dpmq^Emn} zctgGtx(2QE7vW*JO^WGv)mNatRiUB4{7 zcNX1v6KyWsN|9ET5NtVM;oZb6<MecBwx+<5TnyRgkV@Q*J9 ztsg_8#^$W=YXGA09>0{e*6y}-^WtM`P^MS!x4ou1C+ho*%13H}ksDb3WW-rD)hPNa z5G|UHU?C=YH=_R|pgp+gs3V|2)=V$Dh+y*p3wdim5ZDy7Oge26unROKO*7VzVsf45 zUOYQHItdZ!KL17ZlH-mPEn=YN3*~&)i*BI8x1B5F6GaF3x5Go|{h=kSAa|K-R()M{ zv8|$OTw>bHAlknVzF!&Vkr+LG7BAH5LC%SyF&`2ulJ`iGa4Gxdt-xSHn@i~^-Pza- z$r!Z7o4UV|t}l1QzuI8u@ zPgC!UI<}*OY|lHr*d3XLYiH@zQ%LLeFn~R!zGj^2V3DR9*T(W+#isPWf2V1>@Z*J8 zf*k!;*GR4Q2EwS<=HZ!H;qa#-_*IMGDgC(B^j|MQe;6f@nh;PwJ2_)}0U;j3dA$v0 zFB`Xm6zN(}>96$q&QiHHS2sUWDb~24r9+Yt>r}X65$lz}&))JuM#Vm`*C&8{hb;A` zm>cBgJN?~TYx!#dFQcPWY=Wt5duQ^gHRhkZ5{x}VAifAbhUt+9x7O-!f2yDlAuoLs>%CRnsm+Ltl=+s1j+&Yehvs~pggk&WlXFj z|F8D1%N3ud=a<0M4GFIr=e$wZvPYQWoBqrbCT&dc?}t7-w}gU%-{pFPhf2$9Pp(Tv zEWS&!E(mN;P1#u0xKeiXiM{+RP{M2UFRj8Uo%+93k3@qVT)8D8NAol}Ff^4^nRUV$ z+Uxq^r0&Z2y*Iu9(VQJR0`2@>hSbHn(7~wwB5{upu3K=EevxTd;-9jLJf99^TzC`;r#A zrz8!LO3%SPgGlvK4Ol=ciw$T6-LUBMPU|l#LU(Uf25Zafe3CJ%H1z2A3^!|%B*fHd zh%uFC7~&a#PMgTL|F^wX`?w?ZX2`-q+phhgdw_Q#7ky{oWG9uqqLM<%3aLd~?$tTJ zLh$wjvDN{=KrtYx5O2S+wA+P^>pQcu*Bh|(72cl$Rhc}7AE;+2P3&10J`bMl+?z@U z?Ds;ZS7nL){2Ne48(pBX+TP;#nmwitvFE*eK!3RlB}ymkQm^noYZ$lJ{}5euxhuAx zP>(xf!CDTGLXnh!Oh*A53B_VenC@~JQ_$meW=;vsI;s0urGm3`?*Dt&xYKj2oC+VM zZcqh#c$-p4P0{ofmidiQ6@bZEs@$EEC$6~=z9M-UOL!+t@3w4JLe6=vXR+lx{qW{| zn~^o>$y3rDD-iQjZ;*e}VwHdr)7uqX?+E8eM^8`(51r_i;&pwE$TMzxV9^1UrmM@n z!xP3RUnloKJE~a5z=5(5R~M24=}0qXSs0 z!{a%yQ(h@TPnFa*cji1k`;IX~>q{Tx03GTU;gNo=Q=B#)-C`a;IDFoTMDbp}=;F?v zvv{`wUC}N3GxuXk!-rn|eayT_{5~WmE&SRCaWe*w}usMA)9v z+XzS8Tx$4T<&2}}y`-FLgHakPRlVs89_N!zEKt=rTbBwCYT+)e&t}tg*ZoUw* z9=--;;Ig?TYIr`z+=U4==j18dkp}PR0>aOdia%)I`HvAK^lp^>0ls!~-!k~)X~Dr+ zwAMHrU{P1=)+?P3K$gxDG>SyxSahBS@%T!z_d7S-mAyGMxWIzJCN5*9|Fo!6pW~=v zeq2Y1-x!1cq8n%qnjS$+;6CCh`Mf!5-ryL+8nR-`%)u)$uhLEoT1%8;rzZink-p--#X;>6iE?qiiHrKaV7b>q;Rt9{&- z3WFpmSMJjybhqfFqR)+cNEaH1+!*a+RZBWMgIU&%V)Cj$Rj#$ttwsV601=j8mvQJF z_`EnBQ0zfR%~wi5ALI35g?*rAPO8Er6VQ6UeDwiN(QkBej9T zxjPBy->@ti$k2yz(68OC^rYB)45iQc z(a`bp z8#wo$gx4;oh7}1qzG+;#LmzL*EkBhRhtwqg>iAWaS<>F6V&3lVHSRu0cAC=4k?}H^ zx}1A+Df9eX?YoyxZ8t*& zzgeRj+fbK*IENlqZlh9bDIjwBzHsX$YgSHi&+x-mJ)l6;LHsGEbRD#LYy1!+t#z@#vqo0 z;vhTh@d2s@dL<5Q?Bl@)Ifx45D6dZ+KFuox`zguMr(7?g#%R?oo>5lJ<%d3K z6L0S~o;Xa>v52rzDWB`clsqaLJ*^$ePg&3!76;u9@AHJsBShbi@u>CE>PXDx-X}}E z(p~wvbt3||U{7&U*Y|4BwQgW`Tqr$8ALc?{&yuevZBSq#i}%5Zt5&42kHW3V!jq2l zo*AFHL4)A;7mymLh}tAj7AI5Tstr)>HX9)^vQl3>-aG=T0Kb-3b?k`Z4Y_bePBP)htw-~nQ}*-N(DeDWewBpO?R4e(P{@y{ouQYMXLd8( z+0~vlNeN$V8lWn+0~o;%(ddm2vJru+7{qzxk#Pr+usOz2)Z*pQvnmikup#>n&yPsV zw{J}r-CM6t_~54l8vO8?6P@>x4NZpg_FjcHU zq=KtA`D_pDWeQ!=oxR7|3lS{j1Zmu}Hiut>!_^FUz};^{?mU%EFON+0KYY$@FObHnHHREiH}LLm5wOrJ|9&n^U%lD5IjDb?2e zfC+Ts1W_Q)*xve*e3?jhMLqF!U08;cHZtv|?xXBCol&XZoEG9P5#bi}8&<+vNT+0 zAnSHvTmku9FlHNBT9!zWm-Sb-;?4>zOA|{!3qy3c{oZ{T(wvNW0*4~P&QJRFIL8g) zOkv0{gP79u^8Qm&a8hy@5V%pN;z^6I}+_ICmHOm{a&U;AguyBLTko+8mYRHk3f`yV?^>ree?uA};cM zNgu;()4A@9kKNVeHeL$d%a>ZLb6%{bx(wNY((iI4^7YG#_6}WdJAQJ5)Psx@~+_=(seNlMpl}B+u+ty>E|LcxNxz8H}6nkBs7iju<^*%+Fp!|)i zM(IxPCOD(qxK@gyK8%4Ef(iJl61%40lWB9a6klo*eCOxQ{4(;LQ2Ur1UXvp7dP>6_ z@kgd!!AWi7u-J~JuM_02t`b$izW&M&6o>9MN83O|<96?jJUBaJ2H!l8h!AnWxv8we zg6UrC8KvvC^ZZmex+X;S0i|a}#=Ava%om+>b-ZV#MAX=a)bSMPC3!&9_z=o)_q=d; zsHmFnYtjS3shL-9RN1UIb*&D8tz zL0?KKJMS9UyGa@{0*T9uDlcy91xjDaY}l-c_I8S5Fpmu6%g$Q-WaYydY~zSqY@T@b zc_jK}yD3kt){mCn==r@=MUst5S~X4lZxR-27V`a-g~O)A8&6uMDm%AbR6;P&l%eP5iHjfFGoVUlYPn zN^~3bD9R^SisDGZj&Z2HN|}=25S)WxS^7=YH}90^a{&9>hiw>lo9V`d&h(|+@61n+ zZm6PG2?=zJKD>-2{KA^hr8Q|Oa?h=8`PypREuvj-e zjTYei$tbS%z?`vgSPlJb@g&3TVCHaYaH+t=uaV})6P}1?brm7z=FhgW91*i<3mjdx ztcBhpXYK_sEb`17!qET7A9}v6`b!9LlT@0ytSAhHtGGF>(Xv&CoT)KcF7_Wlu=(+I z6W~U=Xr+3kmi_KWY=T0^sD+l_8*RHw;u`~@!+ECWtDHAY6}U7&6qv)hED~Z*#GUl` z<>_t)<&srfd0XM(r3~qZa1TNR1G$+#%9f!lj`$6qON~R$gBv9x$R+(VZ{3`7qrTJn zCe>mg-R*rJyUH?B++1_4AVb)OZyLS}x35{4e6%0OG~tWcbW{TGAPX%KZ(nrx7~JvBuPO-NUUWz^fgV-gc7;C=IOg> z2yoAmp!gi#uK!^*kBLKZi#de}i2H5?>l@Uo0(~B@B!F=5UJ%daC_=7wU)%jS&djPP zdixqIhlq(>_~o|+)70Xov-qXldD2^R!!6jSvE9IorF`@- zjr+rXmpS&oVgAs*;v|q8IQ$mR+`^Z(z5j$Clv^+sa%L8bbj&I7j!J;uWq;CYN)kGI zytKn#h2tjFR;8dM5jTNUWRi0t-aKMm6J^XtDeiUcl>?I=J-hO*U@F(YD=-8GBD=4Q zY*pjDZEZ_4h)An}5ev;%x1Wz;M;dS)$P%IHx|ibRMxKa9i0aEK_oNTNCWBB`{36 zmYuS8f!tyfYcEXR&2Qb%?+`p%u}NqVXw&H@RtX#5Iaza7jYhjL@eL>neO(>B1kLRq zlApL5eiXqR9hha}S=s0`N-o=ib7niNczNcGt&6}Xywj5i0+`ry(mP=o!RR5$_%(@p zw>{sb(VsobV_(;Dzy`RnPP^yb1=`)#aFyT34jLq(uvcFnR@2UxcKjv{b*swT9tC2` zr9*(8kYJ-PB|?VXUHV#TF#Emw`iYb!@{eKUQGgt4B~rc1I*Xm}8?NoUr89!~8S9-P z$P3%?HgTkhdk|07lIY^YDvR0e=>Gst@7U&RdJ^a}_t7Av@_j|1+Jhh0JUafhsFsVq z9$~doN$oZ))ra+3(u)c7(bPGmTmtbpuu^^?ABA4hsJ)t=4UagL ze~#c<-ceXOS8VsvjXBRQV$@meqcG5trj~mNKq#Cls7I_x0zSzZTw#`nHpLyh6H#p5 zv$ouyf!!+EBiKH%Rs4CSniRUwV9s;D7jD5kCT$0^?CVPtu}HZSTn*7lr+;4KB|jfB ze|_nOM!0_&XDc=X#NTkf&1K6Td2i)E`vU@d2rMejcFD@R&k)$ua6j!DzfCAmwIAMI z`jPGG6Fen<$P4fflj*L6Z^>Dc{t}tvOAf$)trW-%uIlFfpXNt^;%@l~<%;a}gU1Qn0YxqTZM!|P&$ zj<&q_?0auf>Sm@r`_cF5BCBG(Lj!iPm7f=MZZ2r<2ea+fI`6a#_$8a}c1WoKZ^1WE zP4?Xi?usP=UYw3R*Jrte%&5RvrKEU2}rhycyu_O;UGj>tg~ ze??)iz~nTgtfSKlavO717tfJ-Z`^VI4(2+^aMO?J;!fF>EziP<(ERV;a|Q1TWr{Pa`8YK6>Pm!MG3;|H}Rze}2~8Vk3AaO>ep0Daci z_SCy&R%QoX+6E(12&mnX<5V(ke$B8Q&vlc6b2F|{(2dpS6}P^XMSua`EO1vm{AE=~ zC(*QNe(Lqe`zy5c2)AhS5b!tu-Wwqe5f0Cba*lxPnN@8c_;cs>!i}rqA;tp}BSU+X zd`u2X)4j^}t+*9m6>?R%Ju3$~lHS%?qK94yJ=W9fKfd3%#+RM8{&J97ocg=iBJAEE zXJiKH_4j*%#q^REq#za&?uD6yBAM!+T+HgafAo=ZFXX%yiI$C%CtUP#?^9Vl*kQfh zzT)dmG;IG5g_q3?`GEiu=_x^L>EZLGrtJe9qOtf%HaCkuDnGoFXZ@tof-~8?y@YSW4E%=+U z)=|*L?Tn_*5;;Cd+aufe8LDPHO!87`SH~Ul4~dJC*=BJYB+#RU*^^^`L!!81e6MR9 zB`Wt_m>P1_m{P;ElB8(h`lJOJN@ESOgR(UA&IK|EIn1K43FWR?7shH#VlR6n%0>iq z{hoX3qvRTK!Ei(mIXFlymZTZyO|7ehx|7b?TkJV9$;~;<&3Zdp_uL5eu-T1qmz|#h znp9Wi%|)0tWW8!BKMZayowqPQEdTf&QsCb$ncue`1-`KD;|7TY>@T7lTqAwRJzk?X zNN2EX^w@PO0RiHh8#^Af*hD8;s(JQ$xYzKst_WTZ>8X{AE~A(sxUp|qs~OqCws5w4 zb+17=${HYh3W#a;pc)r3^)AH7@OKs#J%40e5ewv6N`jD8xcwWVXXOeKPk}2Dtm9B( zFM?Iayy3K(0x*4oDir%20^TI7Yt zgdMXs-$3+cD}iMisDL0%xzmS&s`HqmLp>lt+3k)y355BegQHyr;LDo76-{g*4||`H zAjiwfu43n&Nv@Y%h_**|V6S{F9u_ObMYP`P>}>Fr%$#$rZ8x5I(PT7nFmf*aYwQqG z4-UoG01ODwo3$dO9+RYm+4kL7-ZAvNW@Bt#(ot61s9P*9xC%~5;?jP&5gMwRZ?BMV z&F^WmS5p!YgW3x6OxO3O^Aj(4JKI&aOB!L%tRA>O{wZN+){j!*(}zB*T?%z7O}i#P z4Usq=cB@>!EH5L8rLO9oOjwWwJOw`?E!l^)Kh&&w-EHLdYKwlQgJvSurI|{3ScvI} z<^GkIUwlz$Nf=NAE1+S3^&tuNWZ0aGFSP9CH41KGkNkc6isim>hxfsF0t)ozfDkPp zTW;-J7`BRn(?5TIMrwih)zn#UWjyUYrQ|Rz!E|4-9&z<|ZuC`x;E4Wn6afgjU5LNy zI(~cz;HKM#(p^FaZ7a_jR`sbvt&6|w9CbA`9 zPfNcZb@6+E4?PhB82c*8o+q~F?v2zN4fOHH&%V$KWB)~i+vk`;61!r09CgMTZsY3G z8YZVyNzU=c+}93Ss-%U*u#+1}py%i9cW8Jw1aWN};FM~MSly+o5i%o{9#J+2{%`?7 zSX^mT*NGD+l)^X3jk;`tT}X<2_aUKHGqUvDMo=*DcESA{f=WH+~KIrVk-vzkIL6X zoNaw?2r_=G>t+cU;ybds=gcX`hDP{?tr4Bu`VY z^8*v!{-8{Y?5jS^#(LTF-v?)g705kT3$qsskV->SWMc@=R{03 zsC6oO>S~n0h(IYjdCK7tS3Y0qT;%%ZUQ1j>v#*N&={m^|N#L~7`(vu6BWpZf9^dgB z_JYf!*hNo#sz&2Nq~(amif?V0x%U&d-CT>Rk?tsVWkHObm*K5e+k z{3cXYHTdG_%90bns2(YYzucNStK3MC@mhB(Qx@xiW?J(%jJwv%RH+0uhj|Yz8N7b# zMxxCP+y)a;u`Z*Sr3tLNnPlZ7Z10e;hIPl_L35#+AxP`&|Mmjtl`HJbk6BW&s;I67A><5|sK;qocArQ4DG4aQMy*vrZne+!6$$u5tt zcu>Q3_{#(S{580{w?Pl20e&W1oO9#1Q!T){)`Y}0vG?h-_iumi$ge0P+!SkXjQW4r zddsjVyRLuuoPnV`q#FV02Bn5Zr4;FwR9Zlq8Cn`a329V7X{5VL%AmWI?q=paxvu+( zMlIWslJ&U%GMdtsSbVt zGL!PzU2%BLf_@RD2O3rXvUBCf#vn-0vyDQ6)$k;R)K)b~Ix83LJZ|I#O&EIa;BeebXNluvp>sHcyu7@XP zm-zYbray4se_u6c^=m^spl9r5aJI_#9fy?Ijm-uQaA@XO-Cn%DMtfb|>l__phskL4 zg?{4d%byPnk1nLhezh8FV*q|QIkwhXe@_H__CD88S?hWW?pL=Cq#2Um{RL9j%cHk@ za&`hp5@P6fZF>0GJ23RrSBWas2*N(bQ9Cf-krCQPo8cK8pcNMPAY>5F2oTItA7KpQv3FhiNd zW8L)O@n`yC_q1o2imFFOP*Pkd zK5^?&urXVeA-H~gHR3zjTwFnEe$R^6Z-?>`L1GVM&ZBYqZ-})Sh&a3=Q#H2P|%(H`q~famIGri8Bh4?pq`gN?H^m#j6{$0H3c@WsvN7A8BYEJds%;_gJX6=Rv5!UubLQEPZaV$ z;)cz`g;KH|JV;agI0bqLSp1I8ZWeHhULKf7xwkwNZtWjbN>b-YvQCVAh}mA(J*N~) z#}(za068-yA?ae6vL+|7rc{=<0pFE)7vP2sW7+TFkog@5-Z#p*Q6R`UW$3u5c zr`F}yp5L%v;5F1Xb;_lqa1YJNgxu?Rp|IW>wAV^yve2Zh(}GqcivL1V<4-n=GmU#v zFSNgk(%pFmp}4D{HDTo@R~@rmr4Ip`yNmGLKdo#gm5uiS`Xptn6{tf)PWHUA7FZV# z=Y7S1+Vb$S>&vwRA{_-5n><4UguF-t>2H9|fhYIgP0q6?2dkFv+xPxnfz{d4X35yEK5wGyxbeav z%o;L?Heh)5_uSS{4sQz=7_!9!X5*Rs^!HncF1K7nxoyuqSL(}Il?%-T3-I9OkOtp_ zLU#4(@AK-+BsiGRAd3-Z2ogTZb&j2f%Ay+8OXiqDPY$A6we7Es-}`2X-HdUnjgx}D*W;R>-4RODBEAjmncw^9ZG7o>O$Ndxl9qu zY5BWGv{ZSLKgJUId^d^3c14=2Igp69iyNrs0gR%Pa_gBHvt*lGQfTt^iU7$!xC}#t z%R+o3>P(wPv2VxJQdJ_hMH+)j;2xzBIdjggdn&;mj*msQ?ng#y*lX>)7K!wKU#w5$ zTX{b>EZTqgntnW3=&<@*H7URFg17r}eH^#}`IwHyc(&4;mhI$(FYp-QC7N4aO8RZw zt!3R{XWuXGW9fF5tN(#);XS|=KeKCe#W8;IC|S;kJnD*T%iQ86FJaev42PV?=Ke)` zu*7h%(xE>fxBzBwPtFy<<3H*f?5Pwd|Jh_3yoN9L1rP+~65`t){ZMO~z*b2BulNggY zUY}#I9!&o<;7LRW_qN>oRNZ80@6l&wh*jf*S?rIRER+~zYDQ1QoHwkthO9c+1m(UT zwzsP}a(_QRWD$6kkHZsOaO1oFBKuCj2gB1pr85sEI7d!X5DVj@a%gZp7kDM6j z|3rX`w*9DH+bOj2!%@9Nf_P`u_O#Ex7Jox`NYIx`{AATdoc^VKKgFk#ZjR7atP05~ z1@ej(g9F0{2cyMIQiRPh9)Sow6hT3tB57NsZuB30C_#0;w@rU;8hNUub!7896m4g3 z=nzj=J{ZUC3Clm1vz=Lc5bf$7c3#pdZ?kS=Uq^>MBuvLFh6yZX^pCz{!Y`Xo8T{kL9Km}CGBW~@9)zOZZ~&HBblYFXVrZ^|$Y zYf65eL~!JxXUBql&8bVC>XibO$~bHLKt%sIFZz=1o9&duOqz}DcNl<5Eq5+8P5fqM zh>7E#O@NxD@RmKraMdfOt0!TmdRP8+^*kdxbe=5RFycD3I z!oG`yeM{n}$>@CNkVxL4uem1{UDxGpCf)LI{CMK^)}zX5(h);l593Xk#Up8$ybbIb z<(j1Q0e9J_V!k1(vk?!-O9t`);gykZD}Cupak>y>@A1j^4HAdfT6pq6o!d!pXPM%^ zmlm@Gi3vdEtr8Fhu#Gkj&@25WuYqNmZPD zC6yDCSw#317|put5?{a$jFuCV0#^_dquqf^h?+)Ftmx&MxmBk*1%7gX)O=p`Cu1Fj zUkmrL{eeci2lCa~DII1}XK8h7%>ylb`CYbc57l^WRpBeml4JddxvXTIn`QyRQ$4=U zEU+f^l20ZL^f|;Z#W{7TH%MQ%}4a8gczM<3c$#RRhG4NOe#O!WF-r*n( zXBrCv?2-vdm<(WoPS+8OVk?}vH07+1{ivR0Oyc&Z2UgGU?o^0|#(0?OEQ&nl2-=&C zB&mZxJpV|YQx3ZvgGqDv4}W;%ez=gA-wGZ&btW{6x8^k-9+8u!LSjq#GgntOlY>-S zi54`LB7a?R7M9n?xK1`lEE88sqhsHwLS5MY*SS;nbAvm;`Nir{o4TbQ%)(aD;&=;T zV(#p^{WjQcc*C~q&8PYo8ygd|^X%5>q9u2M)CO-Ix{U4Sl{vvwQ-q-V;y-;nu zbNoWJDEX(A6h$+zyJL?1gt396M0EQzQyT@2SzkI7|2^;u5^4OfB>mha^19aA^^j>| zdD*3>op7&On@v1b?;OQ6L!_U!*BTK0XuF{T&mv9a6T<=^R?E6{aN}*?eWSF-4Nw3N z9GrPh^-IV#;@APTX5jGW&@jdNRL87926=+6_iPRwF56z>5Ks0i@fnZ&GZitRmb}5YSB!0Rgv)>GsnfS@1cPBR=FZv|?G#U% zVgB^e7t7|YZd+;HNtPgB5bPY}2AmB*o8|;e(M2U3VsV(SSZpCUEpNuc(&Tgx(-4Na36>3 z;eGu0a+>lw#FrISOq*A0irxI0^FQ(Urn(jc=KZ~7M^2JI3E1_vdRjP!h|{71o29jyD^I(4od7#U(eX0nnNV?7(9 z@KlR)o*nD>USSP0iRl27dk`VJQ^k=js-G3Tl>qY8*krPZuhC9VnRq6fs5t0*;LN0~ z-PQenkQ$shM&_TJhk40lAml*lB~@)$r0BGXWP8c$Cq#UXpC% zhCcjj&SLosFS(k}W!%WE10RprDUTbFqJ${u*Hv;OfpH20Rg|CB%^lkT9K>UP^aWh% zi@Wntju|`pBmnKQcUtbUfVgS5+F8f*>L5~_%e1#AI};G&LwZxT71ca&%dRf*x&rT) zhc2Knn8bE%sHm$`xp%S0vP47KL^prjBJLxbQS4aAC)9amZin$}R@ z9Ytd@3a3kcgEX}j7d7jwtex^vFD}$3SD;S_9*>W;j49>=j$6i0$Y^GuNM|BK&(G`K zx)gvyK&>##*ddFGa%zU6ZKcMeE5Pc1P{on&#bqiIf0gwLy&LL%U17tDI{CF!cH*u%@+rKRp~En zpo3S-Rw07{-%1cI=hXSJS0tyyufkteq*ZlZpy;BjCU@%pi)b2e>1{U)gUtTx1r zv>sP$Zbb1rm%p~eSXF}}Gmx!Gv^L3hGTGlhlc#^az`ww3iwYpJoC0j)ypKQs2s_{nys0B7 zpCpL!Ha$CQz6)uKT69=H2*Im!bqq1=ppDXI2mW(rCW&r;q=k%_DK@=Cw5jp1mpP{0 z#LuHWB|1d+u3XeH7bpCl?<(1@S-rR;p+{g$DbHeB)GrIA3yb+0Bqc%IB4$7eClW=Bbv2xFVU@d_EHqHCdsq zWy-QTqYE-e=YBv-v>4kuH(B-860$RKB*^$H>vdqr_b{X{Kae^xnGW`+f1A}z&~2;2 zNRS1h&E@=_G2;T_4p5U+oJ`6Wt|F7Y&XwpB7%)%bJ*U-RTe_am;I4$9;+fR)!~i&W zvbKRS)i}$JeocEiLEPpwuT{R?x?)h>OYfGsZ+YiJz)1DxbWF}u0}*?UDsZ`C=%DXA zTd;Ve@c8u`;@=xRZAsVO${}u^N=R$_;rNKGUCyW*y&_jpuzZb0JCTN2CmC;44;jCm z*WV1Ojl}=i+q0TFY=Z2+xk1O5+Ua7{{}tMn94J0o!f|p|{8*JoL$o)4A_Aq`n+h3F z;A%{Pd5Nqri=gNo%wl9H%4s22q?mi2c3Z(oXb#fyyw6Ycu6AlaihWgF*|b< zb>d?0cL>mK4dm1u^S_(>Zrv5A`AG6pZ+JP1 zo=QMC(46FdPA0J$z)T_vMOmKD%`n;vjFf}tQfZiyLqXMt+hnQ|^LpbNM;_mF=P4%K zIHgkrfvh)ARYiTz4q;UY-C*@5DaU?fW6eLZ8fPr^cwjX@cZu4Shxx5X>#`7KFqKsM z;0SsEt8pWnPJCa?)8a0ql*&p2Q4w_Plsy*LY9^hpF!{=^9gB+-kM{66<>~X6Vi+p& zCl@PELvHkfGbevE%0znmTYSXzZwv+_!V5*WYbng1TxQ|w!SPYBPt zdvP^{u_qx7J#ItQm9NubgWe z{+vkKz)0k zhGyRe#oN9pARAuh8dL|;pdZyD!GzkmcN~#qxy`IeQ(^lu`bDnKAi!JKzjg4AbVGZ8 z{80EgGv5R1Jgq&OW`c6E;JJ?&4$R&QkA#c^?nV=iY^ojv#j;8AGFLE zSqzS=wpt4N9?0$OB2~wfU9WuE*-cNw1kntxOOq<%su@zYvmfE@RvrBT*EH!@Z#`X? z{`iV}JFW)5Az{N`R-^>>VE<2bHEo+5zl5&`7eU=@*g6OT8XAj4SoW4#_Oq{&=4{a4 zyQAP0H2d>^(cdN~0*0xADYcIq?#4{Mp8?!nNw_tyT-Hl%j?NWiTMor%w;vxc2|?QE z51Fns)M?Hjj<0Ws2IBACpw{AXw>BQsoWwt0yw2~)EN9csroz`c47*Y1<6-^+%@u@P z`eo5=*Bgbf;R6$88NnnXAI1-hJ*y6UCKlxK?jP_5VES&PoA@xZ%`%O>aX3dsjKXhcTsfZ7PTSr@qOGQZQnEGV%aa=`E zdpm)aU$qf2V5O%<&m|~2o}!2vVpogAK}PqA3kyY%Ua9XJbcWJgm=KDb6HcJ*yTdV& zXCeRHMX&xL=~&F@{aM3+=&6H3OSJpVKGuHbg$$;^2S=|d^dTN#1}ndwId~eP?_Pqm z^}i$qk^cbld_x!TIxE#BYv38s;iG0=Nh@#IMQlGT3`Ip$UKzR` z8F775x>UUOsoFZQow`oVjC(B_B>NpE_2Gu``JL97E^!5mA_e>J<5=Qk$-RAvSKpb| z#xMf{TyiS8u*nqTzq#jSlG+}Bo5y2&(?8W&6OD}vLWr2=pYos`*;N_`;@L(b0JRQ9@PQ(64ki8C*7ymTV4 z@sdi=jkSk)SP!2SFNCxJf{8DIYoEc(&v*-n7TM7=^zg2j)hmr0LhZb>S6mv+K>V{^ zj2v=+ET@Qn!eU{JmfjGk3y=x62~1}L7LUqlc0rkjLm%)El_)QEuZj^0Gf0+*Q_f?; zb+py^=3?K-7%jcwB$z5Q{MK{y$4|jL$+*>)0jrz*4N8iIhhcp>X2IR0oHvI4gImUM zDAE%2sPyJPFozqG|Id72x}6WtB6byzw}!FO6Rr4^Cq8YXH-F=QB|jT4hAx^5+}P3& zUJqWcm!_`C1b`$H#30(<-gM744I3>e+ioznSO%;%Q`voYnyG*|uK0W9rv-@i-)>AD z+XzAzSeG*N_$K?X-@FZR;1P5!v3b>+c7cj0qxZY>gts(Hgc-egudtPzPy>cL_*2~! zKS#-4Kr14sMdHI92v`pI42?WsV0Y&)jTegKxG7L5?>_DZrP|-*9wVIT9owh$YpbnF z2E@%bJ+}wy#?9!zhF)fc3T{7Ma`$u0nc)d(6yE@01xm|Bo0|92D#+u z82=997zSRRMX@#Gxtot$hU;=h6v`3XVG{zLLRCt@qP4hf-hyWI^9`Bikxu0Aao?tS)tV$A2UGXI zLF~UrAv7;E&^6%#?G9*HX8gu)dqxW1 zJ!x6K8d;hT($HSpuz{c7VVGCY1zxK?TY>ZBOp5(#bJ&~!wFy;~66Enj$00g^$mdF2 zf$|bXXN~q#TtBrTk;UpqT)-jBLtf<1=5bOk0Z{R+y2GjH9w^;pUt0C%n%+sW5&$1H z{N)c>Y`5_Ck}mC8HC4z#0?~S}Qsp@s?>Q(2 z3f#xN-t5+?(G+Sian+9AM=bbgwD6MwF}IBPe_#Hn1VrlYp3m_1J)`h%?HovT>zbw-wLX)CzS0ezalRXUNHK*c4M+dopEePitkrNK8T1 zb}Zi&CvQi1w08E$YjGsxG?S5`?2kfDg{k74kf59Z3iHy^J_euP#8#B4z7klgP?h4? z{tn`9=`BQ6KRP#FpvM-+kE8xGIWCa=|MbH}rcZv2>FmLS$)Bjjfk2NdJaBjr6x>mN zMGb+YykBLJU!P_pKv83mK}7C~hxcYzgiE?%Ebh1)rN{Ecbg z^n3w1s&~HpUHIHb$MVUbJpLyOP)ISRbu9nhza8BxA-_Epl0fPeeqvb2-7@r*v0*wr zXV0mOpChEPQ3z9h;BIDq$G0Z>2#FybDIc$VQ<&OmAY< zl-;R@r3+C1U${caQp@E%^^{QK%qq8!?v3dIeMK2Z?j=L&3MBz?-2ge3l zO&p#~P=&xXdVtS}x&6Zi!L%{8Ae+$qU86EE*OEy{TNKkw3^pzm0MY41;C!=T1@Yq=e|?|BBFB3 zxSe=Z^J?8&??^*@Q^|&Q*29JU`W`E?risjMwoyMCy7Pv%4YLO=xE4|tBPrMcf{HAUX0h^tu8gbr4uVpLs)R~w4YFHP4Q$vd zSpTT&=V-YASMy`ER*m7QoF2W$vrp}@aDj*l^baaX9m%592<|%iYR^^zx{liW)r-LV z-b(HVIrn{t+RMOHdBTi}pL&WVNq7|ralqLYq8#RR3x|PVM=V~26zE64SdqgVi8Po0 z@zyEoir)n@vl@dhXSD@w1%`{%)J3#*kekL&o-zT|Ux7M861)-_(|E#D%aS%y7!Y?n zNs^rA6bB$NQPulNqi3hF{gi-~l(EX#haUFEEJcN$2YRB58KWO?B0a7Rt#hc@Lm49m z&)pMJNHIR22`|dquvE$T^!YNys2!7#<0pLT&OJBo4ED_V^JTv!TD_ zsUbhoLOp>!4rjKTTMm>mg6SfuSR`by@LUSuAiwd}*2Nhj6dRqJCy)`y79s7T-oH{{ zvnB(IA-5I$rtW!b<9O)}_bnjQ$I{_j@ z&c5jOOF8Ou)RnK|{CxG`rLDRVir{{}!g-et1g!VuI~xrC0S@ z&S-3LM9AvF18ad#%Gio#D!kx#PK5RnbEj(jh%R6lG_otKUpl+{++1asSWJbM^VbJ7 zk>Fb>jDUS_h!Y*Aj-Uul{rp2-3rDIxGg9fZm&l@9zN?(ev`9ZygCshuq1ADJ zHeSo@4koTs*d8z)hd$;MS6sa(V5^!$A4vAeAa{1P8@ODf%3- z*y4t%d-V?+xgbFlvF_>LwzxM_HD8=q~DCVm3J>dG( zn-wJWLO(}RfN=BsQ7%XU&7^nUaZ}EF1w<7GzFn0VT-0xkz@P$3!!9Z$KX8BAHxQO8 z2q$geAA^i0rJ$?`1(8WS1cB&6f}}oKdu$^#7%vF^fFh#OI_q~`i%(0S@=2;+J=jmXAp;ETEm-u@;?|c+wF-JU;`t5Og&C$TQh%qzrOK_` zzau*So@d)vlIA7B`qYWNi_EJ-w4pwa66UsWBNVxy>bQR0RHX4BqDjBqHSK!cL@JmY zD8~Q4?MWWBR8w>srvU@l+cD8-k2)r|*(FCrI60&o&teTN8)7a??h8qkDh~$eI(IYI zctOgR%N)TI(9Dc(!>U^rimmL}@yH3&>A3W9^+I!S$up!4h{qFg7S*5t)X9h>?0&!P1^RpBIyj|3kHQGj)*bw_ zF|9ZXfC0bMwoY7Mp5Yai4Kmrrg#`1(W|_u|1)Psz##?GUEcGVVFpoc{FV4F)x5Qrc zth@@c7d4Au2V#hBnb<$QxLod5Z!g4*q^9=AcCz_W;{uo@0CQq#3GTK6=R=o}V5){V z8i)ltW^V{2kPG-0?cm4zn}IPACuf0P+-d9iI_Jo@?_(U*FJg-E;3&_Y*AiTkO@sq+ zPAOld9>wMDq178|_o6vZAqMLN5(@q~hkERy^RZ(#OGVSz%#bXJWUkZaC2dbIfz0Mu zIO9iMqRX{(u@npkgOJJHINPPkPV2d?kZh*(fe+JF$$n@yx7djh9$J-UsXeX)eK!kY ztSY#0LDcd#ix$qw9P6B7{TmS@AvTDG2OJ9gdya!|{tKB)Y5uQ989J0`p+X^9vgl>4V!JbdiE76sE-Nf$-S3-9i|I;cHw*Pdda88 z`(TOB)kaJgGWn5^BrtYaV|My}LZgce1=9~*$S23k*bmb2N@|u+B>AW8Sv*R^rG2h= zd|>k}+64Gh-2a39#g;u3$bLLq9}=Ucx_ACIvG)~Jc6~4~$V0+X_SMw~s*wk`I7s32 zV?b;q>I7TH5FHF&P)he-KO1QH`W_xTSaPy>Xa5bL*w4b=^NjE_JXjV|71%-)I!LHi zwQcqE{HQx!J)5Up^*Q?ZvOV#UBe&D0*xhhOJHpQ;ZW`;uOKt%$6Umx(USk2rJci9i zO0#C~uLJb|8O%Mj|8R8VwW7=3w>y#VYCi+WkIka6MB-BHRzq_71}NP8R$pxXg~D$2 zf0;&@AS#Qd`?Rx<{E(y|09?R%n2#e1I4VxTw}w>D`V%Uw?yfRTcl4pt&34~i$o-Ve z1Iqo$OyrvGJo+Wj-q}QLe-C_w3qFsL)67bawQ%y-uTpOj2a4QhEco7nFfbj&k<-~= zCXff(I9lE;NuNcu+_6Ock%?ETy5EeW06J>ZKc&0H>|e~q-1*e1>uaWPeW4iRFJ281 zY>c>)$!Y%k)>Xa2w?l726N>bd|Nl7<0>)pR761eG_E9XZz!a&BjGL8I5}*zT86Skt z(H`Z}+Zm&U9=N_9DuK3bXo8;gcE)LE!VvOtoHJV^wI2nb7YS_}=qK5_Pq)i33H5sI zr?C1cO%h(Cxfg47jz^_->=v@T>b}3IDY_;1)96zrO#2CI)%$z}#EAO~xpBO-ElDUK zw~?Lj-Zkjrk5$dL`%@j09yO8@V~&TZ_@tnWj|rXOCGEgS7AxMz4Y4 zGwHRV?Ns%m9E0Ajq{5uJ{mV6xzp3niHVpV5p8bzm#O=5FTCR?G2&V4@QqA}5idJR> zO8?*lL~xD}GoZGLE=yV*%*XDAQ_&y zs_M@VT{WNp8l;Q{2d}BH@USEsroq=LV?9#PfqqA9PeS)a|6V7OR3OBDC(r4M_KXdH zXWbS5vt4G1>)$ThBpAI(qd_~1!T2#wZ`E5@1xnx}#@GMT!2q9i=1Xl*Nzk*VCI=qr zEI!esFfo&2g05?TU}%&4xP}a}YSk~X^2rQXCn|=filY=KFOSZiQX&Hd0RN`TUV1Xf zwjPiQ&E+v!+J0&W=3gAuP&#+pMi0Owj1b*M$IUr&;ZS67{&mslKp$epDEn{xda$=% zQ1_`dxs#0w`6(~JMY|j&)a4A{T7B>LC{^K`LD|jTr60%@I$9yqSv6Z3_ z(8kCmQ=?c2CFw_O!xCzHlbTj`od3{5S5_`QCoL|&(tqQsA1J4Avh{nn?OX{hM84Y% zQy41Y@=jzDutgWK0XQ4#;p^9u-s9TryZz4~7O`hy_kYCwadZ;paWGMBD6<=v2j>;m zhTz$Bl(Tt6j?DTAWYPNd)SUWKU8NZi#|_=T|GHKpZRw`02!JoGI_)_ur9OkeHIQF$ z1^?5mHEyqI4)jxTmA+OQvDoF4nRft>dhqGtmUcP~o?WtLhz>sHQ~zRutebdqY<}19 zy9@r$D{uriqT?+$>xeD3M$k!ph!Achc_Z_S6)29EzER)ks5e2vB2^K<&+irF{y1}~ zGTn?4nEMXuZQzrQ5AivcdZ38-2jP=`0?>9b$(hq#OqI$_2G9E+f@uIAw# z-5+DF#Udn=M?UWKV>~nvGzUmZw_d2?n@G3xTOVelWyv|>N+Z_8X%9YlY^m;ueJX5g zE3-KeKAZNQ1u~Em8Kl^XlIn@PY!o9<1K!jaqCzP0UqP@Pbvv>wtokC~NQ@ZS z(12U609o!wY09rU0)?7AMSReGZt(AQj3gwXf|Rqk4mRA?_WP;Ij`9TIH)M9ER#W~u z3C9APW*ZCx?7x@mOuMV;`l6mE6nvJrFd);2o>Z7FN9qY@4!0DPaiNvl23>RyuvpVo zJ<*{4gJ9bkGD0@v0$88EouiV|8To9c)6;L_M_L&vaY8WGr_t1{!x`^fbMGBI`SpPe zzqOG_;nc4@yspeldMp$K0|}|*RoiyHtjI4Dy@=M0G5j|&e#oIY4|&x$G^Z8`=D+NF zqd;o#f9)*FHr&Js2ExGz+8r)O6JV`3GRsfRjN-ayR>l-1Y3{J zdL;b;IA6jy6HTJicQ@a-Em02u8O&6b$K4Y zm@y+=NIXesqv8vppq~Zw^|aVJCWn=PFL-SM!Wo8}1Szv7hRR42`Wzvp>seElt6AB? zI#Qz8vt>~hVE^D$H^tedMp)jt9&qhqh2(s!xBM;qdo5I$bAwdb>nY7&p4vg7=<9_& z$d7_EVICF-lg4*<1#Elmx-#E>AW!E8!0ghB*z0PUAKg$Zna!b~_g!*XI?hGEj?3{% z%_O0q_a{Hq%&SbG-ppTLt)sF{gEPHio9rFDB{YbTYVw~iVScNsgE@)|G_T{zPPSUK zVmr{!T^Vsw7(r$C)>X$`2kc;t{O+aqgpMUa2I%nKLD-8Zev4@1)0zu2(& ztuPiG3uZ>HuHEiADBXJouuoM%k+{Iaf_9gDW+3Bo%tl=wl99288QpSO01C>pLaN13 z*DI8{D|*qk@bDy9xB?rXf_(LFW(k-f!}(|iyjD*A{t$IEi4WIqF}XJg;@Av|F~E~%hV1+L#wj?(N)6+jY^YV#qT6DSV4jPn0mr}p!E$#eC)Az>TT zwwdn2t`>_7vzoENi_JyvrWS0iCs){p8!PvdT^VT%9bcGSSm_&+gRSI;V~~OwE>h{L z^DC=qvCSQcp6AZP)kkZwNet{E@)qm#w7Cn^5N@_K_k7 zB-;^FL;q-5+7kK=5o{DdW$|(oAl#vevWrhQ2|j_7(L*2RzJc=0BMdsB987upiC&p0@1e8 ztGhG6Sm1nkGXS0_zZ5!?*X}}n`~{XwH^4A|CMH#KJv`J*#G)ZZWqExak0wYeN1E*& z82DEQ>hc3&aCzw_$I_n}KpXBRD2V=e)r|>ROo;QB^BYZ)VWJyHycK`NV3( zqM64VonyqJ_|DEzx(cWoI`mS?EH4X~gm{?T!vKFqJ%~EP8RVS*1CbbKz^6fk4<(?7#a^6_ zzhn)w_F6?yIACo%wYgLSz`n?hQ8KAUh;v~(;>e2O?G5*Qf?ui+$KTsz|To>-7rc2E>J z**)bLPnD42z#L|pYjZTMV~D$(w$xEw8j>Tk>&kOqJu0kvFOt0@+S+X^$yZsg@h&UC zh|L2L9G9eWBr`E|B?r}Q!HRaW#Ur6pFf$b+O$??fhr>GXqg(C2Te;r+Y?98+t$7v` zl$*0JyYHQw5E>kL|4iS@Y0Dr+As~zqCXnq()678uWfyuR9{x3S@x6%Yj)r6GijgWE zI|cnN|8^9Wv#eUHfWuH1N1z_irqF;Qo5+~G zbMeoIGjUpPHkh6Y0FS>yYy(k<{Tco2wjG%*P=tNO2Ig4zZgZ@UUKu*&rT4h9wo%xK zEG}d&{d`qHBlsOv;3xSGNbr45eyb67&e{**00u#0x+(aGfe))MA+xVOFX|;uSr^GJ z4WQ$v7E`~(b-5`m@~g!XJ)hrI_9|7Jy5TM4Z^0nu#$SBmDa4lkc+aMCt1js^EV1Ky z(oJ*cwN=^=HE!eQ7i_JX?1KlX6?Q~w*7rHXN_@;?P6W7GvtjandPdSz7e|8P)D9G` z!#mDJ*tZp~8_A7IWH-t%CZlhH`(**QVj^=3rvOTsW`NIs zQx@AZ?Q5`KC<1DsahvIaTt^=!o_##ueQkTs>V<7H>gesH_52BM$Sec2IYk~h@pOEV zG7Q3QTdx~^Z8vzS?2mHomAIMSHKT@d&L!$a;O}TnI2OqC&_BjMB#%)8!R%X1Z?LAS6pwpvgI&A zJgsga&jOj?HcP1<=VHV#XKHd2DjTf8{C{hUa}n{URzNEEzFgLYb}hw}8Sv*5N1LKJ z>@@op9H0uG!7LsMAk(sMCcLG2)TWN z>-wgcrraOI*B`*`rIsgTfT#{c`yI{>WtyO*MT5kpeTX^!bTdu>z*{>hq!KPHwD`yO zHbw0BjHE#Edaz-FC82MUzNUqB0eQ`|bN(n9j)9RtgUBLn8P6yfj>1(=IeAc&6_TZn z)5hy*`=e?hMCLjDzMZuA_5EZsa>iPA2@O(not17L;qot{MkGroM%>W8lCS3#f*f21 z7CL{K-Iy!l&s4z2su`NFoaM!69VmEQ2X<{9xqZX~HX;8xcNX!t-9Y;x@F!q;kXHMv zE@Tv39I=VKMNgxcsYwe~p8FRoR(-7clS`M?|5m8p+@C-WaY!{O_1&-%l1Pret~mZ9 zUU%8+xQT6H2L)ua441nuA%b+wUjb?(V1MqDJcJo{`jL*I&g&Lchn;5Vj-{X?eZS_e zt_$BQcdjRG@3IXaMOmFn3={I1OwQV{Z`m&p-vk2o_mXHC1~IAJ9jylA4<1aFJ6~V8 zS9C1*cRu>IGBCkjTk!SXkj|uzVdJB)NUh3TGy)~#Gg!=*kZT`ISha>i|F1*v?>`E* zJtjuK2XxO!0qVbZ@qo1ng*KOQVs$_}9XXLmNfO9V-bQmL;6!VE#U+w3;WzOjXoi52 zNG={c{<^pKk+}euY$fcuj2-tj@;6803j$8);)ERj5Hdww*d9y$OzR%->B=dbEEX3i z;d*n&JS0eVOZ2?z)DM=p^yV~Qm1MJ4mkgp3@~(C)AqhSEu{m!s|M~p2gK>9S0ACMn zdf&Wy!(ip$h3B+aahT-CZtaB`3ESTBRHvuwWA4vAqfWXLm*ONooQ3ofwDyQ;o4)GZ zPNl)1N-v*izsDp(>mS`LT;5($O-r6G714XLR{WqZ<4Rrw`JYW8$A6@5It5hwg|2b) zrVPNHG!l#k_cf}t0}f3cSlj-Fm6p37A}o8rVJm=m{1w=D1L=lE=8=T9?{CmHGr{DN ztisKk7-S}GBkID|+&6#SY1;;p%`giLrRCTIJfsJ@1iTN6!S?9%l%I?xFlvWqGpDN% z6Wn=1dA*v#3K^E6<}v-sfpCy5>-Hh64w8*mDAqsW)JS9N8IJ|_k5}}#`J%b)i}}bm zUbe)>qHg}~`E_0&)bF*(ls*hejSMCp{&KGQRn*+!ByZ87c+D+ybfR5N3)_zrFrsxZ zY{e_)7ZMx)AGmwx_DAv1YmC+C^+&pxfTp+Sy8;EzX&6q&HrjlQbG}+s8^A#g!N4$d z@IvcF7q=d~iDmy_AwQ}acujNiHNW|C4rA`ZleH~m06LzKtdFrj=(^Ku#9VoR_TKUOwp^@Yy``_d zh;}bk6%;n!U!Dkzi7C}+sx^4edP>37m~CV2WB?}gXF*H>pX}esPuid*0aj0~&oAL` z2Y=Tk{nv=GFut8OlO%`4FGgsiay|>nGjtSj;ZA=qQ*^TB$}kis)a0X{L7^{K33y>oKWd?2N^6EavuS$r(lI~uECT}@N43#)ToQxlMFt%dLa2;@fytdy*moRW} z4EFgaeFa2Wfqi#y&6INee>{WyTN%niu}|)kr(9iGDWLtoRkq>>2c@6gHYLC`mcI#W z5wu(h6vYAQ;f^x7AaGsm^CRGf8{mh|9>0?46V*>Y&$pb#!nr|@T<;Q4r8IJXfc%nK zfwo!q$<`7N2rDinn94z~IIVVhHSQ;|9N z2PY%Xol-OD0sqeXt9jw#J1L>zwN120@|yN5J=)mn5?q&?BcbJ+goG2slndQ6$~o}| z0uEh$2Hjm?ApVUMB6VuRb&FkW<*3Dd<)q@Oej-!sYG_0gDbZXO<`er=H%j_7NF15% zYtvs0HH$F=Vl!~6ex(W8C=*y}{7`lDF`H}lK5TVo1_z`?D(O&n(#4)(%3>yX7dIKCibGcL z6%&|7li(>3ge-OlQ{^Hsu4E&{8}N|*3GRPM-r1ShLIE~Z1ydvkCKA(oZYpQ;V|DnF z@Y}}e56ocv;5Om$We$9|*HrV)bTCqvUf&iHLW52X%euorK>QVtvPS5oF^T}&rr1+y zzpc?L=9wxBpiIdAJht1nD$;r7;M7`ad#cl6N$-`U^xiIYHSg<{Udr8_MwF~xE*Z`0 zQ0P61K#y2YCl_MTXT`VL*95+}D*v!X(sp6!MNH{kN~)IWbf)$&E4nc5EEcn(aMpP3 zxwjq{p&ZwQC+zGWT{>Pl+gXEmXf$qvfVNsBo{Lb%Q zlsn_hr9xs=?p2Qyq@odPXW5+u_n0Zu5amoF&FAhoa@19y1TX@@Ndizd!^C}R&!@1^YC6wMeQ;5`y9 zsZY;}zg70alWo4`Z&3L3)A8P0VdiNuOyJn_d2xxV_xJ1(UI(S`1qm1qpN?2@(=#dX zoHU3(ZB>OeCtlYb9I8jp*oDCm4t$uzMDi=nJNZ=dLF7u(Ld zt9q{J^w;!Hz|GUwHy9sTlc}Sr;&qh+#T&(Ah|TEC<-F&3HMh42pNheHxJT{oljr`v z1JwP|G4)T!<@QFXieqc(eGXpW{BPw={6EZxiC4CVZKZtb1ZJ_Vy=Y~I^X&vy?S&^sx2+da?(TKjiVQ}^p zb=15lo&hQ@{M5r{x#SA_@Ire04n~dGw-t>@0ki7A(ycp?pPo^y$P8~~vTxr`gl30g z?ATcxM13s?F?|KBKBX%?75QnlFGnT(QFU37|GGsGbB2ulM)23wyAeDUh2Bi5z7HLs z-uA@gXc3ucQcXo2#s9#Vx$9{6HP_(7a0km462|gq(p+kXpj7jZZ%+DFc)N_4E5bHb zChU}gVDa&1q(!o$c=_9AcN|FgT5XM|c?hXKw$!>TKGDDhmy(g-$`XxyadiBsv|iN6 z8!Ibzz5kD`vyQ5w4cqdHedw1TnGINf5kb+fb#DoK8fs5pOH(CFVeF|D<&H`h);Sv&gaw^`S5(%DCiuF(E!X6mU-Hg=4~>$r!b=$F$t2?6 z5;!o9G9HW3>j^2Af6obG^5Gei@C(=|^fyXX$!uZl~>j z5YLT^6)$^|kBVrrB*ZYu*<07VKFf8EISfn`WL10y0arjJK^ZC7F4(mHeikgsh4)!~ zA8}GC!aN-}ZFl2?d*){scnmjoP&E+;-#<$!Y4;!R3mMq5W;xAw=kg@Oy$`N&6RjO^ zgrm-jqBM=UM;W>DMpi)wI(w5R?$Ew%jc1&NT)tjg!RG%}jfwtIjjs`tT5l^rtMq>$ z*M19bK=2hEsI2SgEsbk}f&C`Gp=_H^!$IT?#l|4>uF3`d;YJ!h!oN=u6sAx(1HEzQ zi5VRF-8(H!k^+hf-ARF&BnAp1RTKhX__fy>t4f?Su4+agrEe_VJ~+>o zU$|1>{zijoSeH52kp( zSGbN{y4t8QU71&zSd?ManeTlEu-K-ly&Qe zXVL}(D^0HhguZR|H?bOtV{s5dk_r9MoF7C9Oi)g5{75AG?R(Z$U=X&0Ni>KQ!ObLY^J37uHh@2Jf8$KC?!pGavRS`#4dOFZ%^jx0pDh z^lxVl$>?W2zB5@Q_Mh4m_iP(&QtMy%AFmYJkwpr)K)jvCWYZD7<;5nUXG$dq4racMsZ z3}r*=hfFbZPe13@xMq4sJ?E3%KlK|J9{J#V%opN?u8erTN`;+j|*oW*f z*x^6of*;)E6Ji0E!N{x8mGi~oa(cLQiVLm;!!9O&E{HH_2Q4Loepqd&T{tMa&jEKh zwi#mGv({-dZImY?aH)SRb1ILT>0&GMqvmo_#^2;KU;%SAfZu)7OOW5@jAYszraiVK z#IYQCFJD7vFKhr#)4%_hG$YGE0a{yNq4rROr}iM7MBD%1>+)?hWpI_&hO|C| zjRzY^t$LKj0M~DUmLjAW_z+jQPj|vQu8-WWztZC3&g()}rZaS! zs-=O99%-Oe+^l?wybc%=-$MbLxYf=*uC=8P!jJ;J8fD`DO5eYi750CICF%gXx~?%` zN9Y89FTxj+_AhqnYM;q{StA`E1I!Sch5g9TA%?v1k_`@_{SgH3>NYH#8_N;K5YfTZ z+}ObdEu^Zj@n`@(B~u*i9g6+Um~kP{5nHI7)8g!5lkXA38*7uusILOUH~H9reHsW6 z`P?@>`Co6Q46}L&3gGRcz!Tua7k*$npZ}6=X3u)yG5kfxdyExmPA(EfNCqhb1`L!C zt(bOsY{fDml%`$&@l*Iu*s2f$T#zr`UsEs&2nhjdNWS4V({cYhEPT#8mKL?zZPO({J z4p3ZYHGYpV#GqI{fyv(FgC4}rwx$=FS)^!52fdj7NyCv(h@rACKK-vZ5(^x%y?$ve z1T_Jh6!sWlC~vHEDMS6MOg^a3vn#UApd-=Dt65|x4c8n*gBr=mjokMbSg1$ahI-Ya zbt=q47LQFZQv?P5xNY(r3h{wCAfoxJyjYOw!Iota zha$eE+xOCG{PzX_y@Y=F%T&sNCH{5MXDGn70*=5|I!7=tl#szh0CybJ{`ze3=-7& zFc}%`zbCL@>N7)?J!X8y{fd*Qn-F^F`vi75y_|_reOUI40gNC}h4I^;2SoS40pAGKs#Ia<8Q(C~y(8HzB?y*kp@4Tb+8)4fu0@W(l)DAeg!QeEkDoc(D zo}l9L6vPuYp^P0nRFECyf;oDASqm44*kB*8K?^0BNkGrC@D`E}6QIS7mCF9F1peou z{Fj&r#bsp6$dl$Aj|4O`F=$C&X_Bnt2h~2%$^dETwcs6ejQne#x-iC@dPSo*q1P zHUDY?X0cQOD>bg(5e`w3h5T1EFKwf`({5oSv&ciK!;urOu>bFg0RKFZkY7Y>nI;dl zxJ5u2*Wn$H;g$^ku_h~kWq$n3NwqANbh?avSu zSoJ&b_RPV=kYC8LTd*9BI~X3U_rVC|LN#`${C~@4f0fB zmK=@^1&M9*gHvQ@E1z^jGY0=(+qc#I821VN;Qbd%iBnD}jIiMMp-r@L923HdmZR-? z;KWRdBfJ_PG0QqyjspAgN|I$HtM^c2L?0V0P`?oX8NwaZCD_Nd656leYKcje1Y2kRq-+ce8 z28_ttJ+md`Hff36$yigTXxp$~GoUR9oYKRI@{hC z7Y9k^o3>NrkiQ`ysUPOS&6#>AagRnGHUo8Yu;t){(7elRpoAns;eV4vUK8!0!0&** z=cuxO(ayORqJ6eV*`EpgrI6~)FGw(Xf}0eCSXKS&y3N_Uw3F-vZ1*o|Hqae5j;;=7 zSQ$rp368?{^x_j(DcnZ}r)m58LMa9gl4?!{s=5gU7Ix-R>m8DgXuaCnYzOkIM%wJG zrmG?z;Y6jh;_G|lzs>(f$bUPR+_pKA%a^p_TIFqMIeG7;wd<7F=1k(VOebWQ;K{N; z%~Qb)4Jr7?m5s|7e6r*J6LaLsZQLMtSj9&elmF>})K_x+LWj)|utd=Mpet|C#h{3>GM2*}3rG~*1HH-(F--7sqLrqnFi`a%T|;K_!~m8N1r4CV zw0DEo_1fFEsZO2%VA5F~qY>>BYgGB0wm3{VaoZ^Gw*9zd5HAX3CLQw~zU!d^4xuKV zC}`-{pQPqe3N8zZGwNM%TudY*il5QR8){(Iy;+W8d+c4X8YDvfEY_p&(|dxsouR^( zLNXKYdR%{#3R@DYfEn_2A(Cr9lg^V(CA%t~u=H4{9p_+}Qv668^4b1G-fHtZy9_waf{S8Ri!lfn<} zp>5};o^{oMD~t1@-Fc?!+OkD`3ip!W;h(4uqjC-oi*Q#O8)vX_ne|uS>gKeo;0`ZJ zZ5huD#-`f0t`UyAk$12rd@VdFKUT}z5KJLcyn0Q;<TDR5BuimgjJHP~mrg z=HOc7!TM#hOKUK3_Mudpq-ns|_Cv7;h+XLbqpj9$j~sxKPjy3{|p6WdypkPvb>)U z)!=`9MiIy>bO$^~VZs&cLbkv4B_oJeP0{$UOBAGjFl01e1ToukZs-a#5mFE0>K1`r zYe=LBfZ4t?h_Aj+B6d%13Li?5Yh;pkL)nxBC;i;f zi~Qt7jmXhFj~~m}vF{aDv`ik{6tE{1z7E0-OctS{Z*$n+3B+~!$*Sqb19g5khf<0@ z)g@d-O3-no8?7&aU0I&T+d8^vq+cJWc_ft3%j0!tq_R*G-uvKWhHL;I-%9a(XH+K) zNB63&W(&V>DAVG6MIuZ%N{0UTLDUvc0?2?0#4J*Gpb&T`9!Dg~)+%7Zhr15;MFt=VQ}=<}Texy`nvgoDycll$ve z=)_8#smv>0htevGjcBQDi?cfvrekh7WU|BJtMy3-hTQ4S@)P*&8H3BU?qhV3=#4)} z6f1d<($9wthZQqW*5ObItc(aPxnxfZ>K11s?A$s;M2pdVGcZ73JLIglmI zbRWvO&#{>W<$Moj*P8|Cp1t#7SuXSJ5E?jFWVxcoc9t9b8JE0wV12pN>ehZp7aEK_ zycDF?Ulop#=@*WwX$!t$QID5(GZjxlX~ieTNCf^CuhgL(n9N`z92V>inF@c(n;rIN z5v_4iU^u1mi2>CIX6WH1T5Li{(#RDdS@0d^aB>WgJ_m6lT*2RRS&=4&1jNSyY^?>S zGhQll{PbNVL0e@^gQ99T;G-3wP*z9n*|KCtf6mE79O(mDKXv6 zntTY6dd3U9o?g}t;IFyC;cI*Dj5nOz&0VoJQ=7cI&RhNhY!n)XG3A4iguHxLDS@=@ z7DPAW@iLb5`+C92`4LFw)r3$47P-zw$XMsr+VrK+?cqDm0IrwC{a+mUH|k4oR>$m= z3U}KrZLYc{N|OWK*=~}*Nw4tcvy2=aPsHpZ302fuS~x9;Ir?I;p%ne!)Pq9DmxIkr zv3q_#B)dp0BiAD{Uf$6~Qw$5RqwEvBrl99i7mViM(#vu#!QH-lf2Z%i_(UG|MjfWl-0kVRyZ~V?OC}*aBNE#p2;21mFGn>f;^D zpVLJg6oYxORo>;1pH*V4{5gp#iB?CJs=|GKAC&g3akTbxSq?63=``_c6^NbFNG#i> zHKGN#{I1GcqWkTq*K1P6;jdG3MO8`3)=QHxl2$<-pVHL0ia@R(6oAyz^ScTwoj=8y z2Lxn61`(^`f+Wum+bGKpL!qwa@W_LaRi*oTtyY=1;AdYt{1=Qe z^^$_|*OrDW2O;-U4+wT?{|;mt!guk(Bn=ZV^$DK-UJ=B-oIY`A1~bPCLmq%utX_QI zfUg)U65dSQNH59Z%gOAw0DX7e5q)TXlBxWDdqOujYV7xxJuX`Q*oSau%8B&-E6JcD zzJ5yN1I(;ZYLWWVm_z~T3PHz@N(NeSz}8>2rz8Cf((NI+QG_jSZ#FAzmzb_aPh?3{7hpoTDra<_QF7(ZBHFm`>6ek)Y-ABPF6R@F8H5@&7RS&9SmKxyHLh_%Hi^tY2DoDgXMhpb7H@+ z*vRfI4GxE^))SqpsGICH1L6B6u&%{FYA&PQb~drprqi=# z-d&eZ4gEQta@lg*ZcVpXPMr3T;W-h8CFMVpJ?pDeIb99BZ?f7suyrPQGGPt|;SRa{ zN&wr?ePaj)!vQv&NfrUM)stFfz~f~69~Qu)EDiwu_89xb?eJWwokA}RLV(`wqq9D! z(tWaODla_#)BDub>kkXYI+-lqk|U*z?8j^8(6vc*O%G<8ykBf~6G-}-s)t+s-QUuw zUb%o7?<~g-I(h~;c!FKPAlYzqYu#aRJbxEXRp9{X-IH%A@r8NawcgUKab zzFS+)ZKD(f1^n7lkO9Ht_30RWC!fVW>0buIB5P8JVf$ONcotvnZPLf3tz;GGr>dNf zl~(hC#Uy)5%G^2+j+^mdw^byCewaZ0d9(lW$;_3`{jiE4i`I8E=7R-7pYKyF#$Rr) z>xtGc+AEPXR(VsD$|5!P)bRo~((3_NxfP_Q=L?LgbgKa>FHMauX_*tp-C<>M)k$Hu ze&5qof}iRnWvIL^M2Z?v{+U7?hLZ-jeK1R=->i!6sOTKK`f?Uit!t@sfdLb6PVq4B z49=p>sZnZbXbrj(j_Xpps~}0=8>I)8zy`=laNz~jSyPu^n^!Z^zG!WbL z$NH5eDKS>5YD>DRKW8N_N6?4XVhdryrK&PRaV#`+V!|0vb;4B z=Y00nlP6sr%B+Rj3N_3G|C$yZalVQpPtDtB&>8e!Xal0qwiPgd8`Q*62^sVPj6{!? z!AYzu1`|TLdM!9#p<&FR1z%na~z&SM*V2cRk@AYf}QZOY`m{l%~N@tq~sFYVXGy zo7#g^D!f>)R_kRZcc?;GUiO&}hm$%=Px=^B6DX(*#Z=Mexg}Zcw5hk3o7XL<DT588CjD)z z=FZ~Z^vKVfVkSK2EZT;a!;*J<&SFe0A0ujul>4d{`$A(v>oz_fuK*5uadf*BeDOI3 z{+zWhyJE8=mOB@*`+Ik4Z|lt|yxVR3R#xA=*6~DK5PxlYwbNmI*&g{5Vwd(qOV_zp z$|*dB#vONk=ivJyw@pmc4P#Pqo$b6G?cj3U5fx{ZsX#P+h-@{_zl`h^_325!^>{9Q ze{@N@g{P1uDK&iaIgD&}N&8`Rrl!{)-{D5(viH=7P##3+KIPhE3KG~3 zC-J*o#(cz%Nt7%0L*6ktT+xF3+tK%VYMCbWlN8bGmp>;IUTGX1KBcM^=)%!h+L8rR zh&YP6`!cIKmxJNMmN|vB?GwLgge{jD^tCKHda)YxTeX4j z&)DExc-BjZ<_n8dfWcU%Y#?i(9Imu}{e%?IOK*(105C;{4MwH^u=e((lj?Nc(Y_I! zesNJ{eQuhXS(vK%$p_y(e|RY@d9rfk>B|Z#vl1!Nn@?t>=ocos{?9h5a06Vr?s+C0 zWG17t6;X^!B?clN1fC;I1EC!AI&Hczm3cKU*>rH~=i^l> zbQ^rW)GZauyhDZbSUT|c?l@EOpI*A#6AuMcDJ7z#c(-mWrk{N!zFAe!elL^48oT=X*4sv+B$( zfK7B3ps&+b>zMiz{`y%Tg(~)NXt|oq;Mq?D6g}^YvxEii>_)G)suqdNEEXst=A@s9 zVPnKiL>{O{Ie1i_>)uY+E(?r@%&x754HCa!m&AExTXARm|u-b-^;<^`+$5 zQ%d`s`VdtV#)7!)YhymsrkCG+Pv%-soW9dTq-YM?<;KsAkEPRT#2T4y3-=7(7Vhrt ze?A@}!s8;1duY4x?N%?SL{VyJYo&!u$3WavnTw_I^5DQ{5-;Pt{QKvg-2RD)o202? zMle|iD(TR%b#|s2i9@*vW)fHpR5Q$=m3+7p$t-I5)h$~W5?;4^nQ z)ck{Lro{@--Grg6ZWSWGe+(FAf+z)CN>E%>$;fTLS9Nvj=PbE&DlLccQ{(8G`r$|2 zq!Ctwt}Jbg(+HF@s^1>&47oC`cxr<9-Su(B1*Os7?i)MBi%n0SgP~44y)QhC8@!cL zB@n0~VO%LWq{O1yE{n$rCZg!e4;=Z_`VRw-`Yz21j#$z{{%DlaryQAQwfgWeHs!Ur z(6;UeER_Lozv;OzYX^&DNwPlFuz~$>6wf=LwiLv{qlS@|_P@UK+OKU?ka2nIaNDpW zJox*vEAXz;pY}ks^*~epgQP&}PVHBC)*~1Y`l66`x+enzfZY?3CwizX_+XmtI9EKz z$9OZ}>BZ0E*)pQ9yfMuWo!8RYc~w@{-X>Zp^UTNL?JFJ)*X!x4x+RC5j*)%O&%Bt| zp#dI>8=n?Za@nuK#>Ap}Qlz$Uf~CfD!rIiubW_AGei(MppnDby(-|jr~TL3q>O z(*<4rN=kkxBVPgYp~vK(L|sVlzrlnLL<53QX(B?5{+}H?4lp?M9zUY#%94T4neC0O za_2~^SSo4v_JbB{F;^?}d57-lkp~7NFGq}o zjK8%%Y<}g1uCnSuR?DfHXY;(^Sv)@e!-8=}!})^2!>_rslc9qS`yx|#&_kAEuk z)zs0eunOWI+2+z~|6w!Q(&AGM5eu_;mqd@4T_$_+HdGLQm${ThB;?w%6cF(z@_fg!0Fw5OX6Ay_o-5}?+>`2N* z?=mb;wB02p;L^>ZtV)yX0`2_sXj^~O^{@@qW!@;4_w2UVSnbrv>(-8$`h)$=M1#Fp z%g_Ug#2~+Xn5$^|G@rHRe5PC-Pyh1@K*dB5lGi|)k($b=5b2`=m5q!y!MpEW`FWx| z{ye4Pm6c)OA;aRkTOTp;b#!es6(UHRG3rVpOz&vK)`S5Pgl;K)4-joeDBPXDJt&6_ z7?E(R0wGv%=2b{F8wDmD5R?9TKnP6YKV*offd1(ijqI94(G1+Act}!mEVJEgK@Nqh zA`2ilVLMmp5NV~M&HRNHlv4F>yOZHxB94u#{$mfQgeLV!;ac5lwq_eYPl`XMf5B3j zbyHaA7U+^@;lqneZ+3UWJ0(LPm=0EyQl+bTni#~|VcAdV)DVgqI_1uIXEtw9TdMMx zT^KRR=TSoGl4_5Iq?xN@75{Yjt~*jes$C^p_qGKqjOotg?%LUS5<+2!X_#8y$UWVh z%aqSsFveZPmcB0aJ0Fo`yNK;9Rh%rZj)(xUUHjb7t=o&u?e$GVmV-~3#9U*pW&PcE zh44j{my+%C1v_EvW{b~XsAa7@IqoN4Hk}!}#PfP}Vej+vsC7Dz{#I{Ig2aSgdayHS zed7=qFcLypdfj$@O);3v_~9lQ2FIZ!3s2X+xJIqh27SXX%j5*MIN>+KkCL068{~lj zEI_>vL5o>^oHJ&ADsvAokFY?buccCe8V`9@ypk`}M1YJC8JgVbFIn9c!*|2Xr;^YYs{pMlgomDp{!*xF8CW&cdSKZI}___!qFtk zO9ck6O>e5|EvK)L_UAQB8x+N7E_6-PwI@Eo0hE~V30Ch|-t+9OP@&}OwL#_qJz?!1 z&LY?({uhsyq}pwaT|`FNA%rsCIIpGMFDq4`hydtHJGfSnV~QI&i1Iz3n)|bMZ0{Vb z99V_0MP0(53klv=Vm3W(d6ker0p(EdjvimR`JJHlHe)PLc60mHcAN9Q(8BPIP8t&P z3TxE)N;R6sEgh(P2UaP`KrozhO6^8BEJjG>s=`#I66{mn=5G4 z&d;kxk)UOinF;8+RrxXz{}G>3&?@@BJ>`;o=)74y8y`+9D~L8#uVW?eJ3(hG(k!_v z2Q8<(N4-5fLKi2JeS@K?0+%7cga=DM63XO+EIo!=@#2K8r^0@_p#t{E158TA=dyts z(C9OW5brv9VnplAo@NRyswi(iQOZCShfb9fucECMk)*@dqRPQ@?#EteM&k=9g5i%2 zmnU%_DsL9#qd?VsoK&YDb>-K+I~wC&f5LXs2@yPSAa0OyU$E7r3XZ;xK!gt1=ogok z-v@mkTvW3TmqW~18@(*Z>{F!0hY9?Srg%?Hy(J(pfd(xZ?`8<#|5%Z!C|e^chel`S zq(Ji%=QG>W zQq3s?VnncWB4=cE&}(N{{`Xc|uH-{vWPI>5n?Jw!IxEnX<_c`s^Ox!XlaAfV5v~s& zZxSe5=!9q8T&-@ms9sr2t^U5@pFYzL%-hNPQ#aM@Un!BdS1$j4|H=FQi}DlksIkgP zYr-M|dgtkq{V7p{`N{jEG5ohQ{MU&H6`}{|zce@=-7n~6^)Gq0rebt;95@^>=M97B zI=_6RJb$L<&$c*_{2gDO2oSW=BM9(X>^AIe5P*82?PO!6G1$-9%?Nu%!;m~ovJ{77 z#1Qn*sIF#0)2^ia+Z6cCcbk{cTLnhQ;nr_TxdR4Bx(5rKIcL$HVJ;D!I>RyzYVLi= z5RG$?LnQ07@_@nV?lt>ReE9YcCuRjl2q$J@B{G8MU6XwKk5sHP6_!;j+*M>VD>+CH&-ecfs7nFEHL+BRTOq z_8(!EVFh^ic!`)d?=BLR@#hq@i5XE=Ch~+AM+t>OJIK{6&bdxT!guAREs6S3AVE$` zX2_yo^<$nG?EbWm1Ak1(5xvG-tGDMH$+hOZDfCAteVT?dM%u#^{`|{+t}DI-PfAB6 zKaFryQHOlq8e8lz@ixs#%ZlB?dcE+&$K@&gQ;&zQvn{`16^C9EqCca!jPTk7*ti_h|!U!>C36FRhm-~g}w;mbt9eyt?h>7OhCUL#bh zVZ#}_*9OLwS88Q(x88_#UP zl@XO_^G@Z?G92xJ7W>Ia>yQY|MUHQ=@#le7M%J^sJzis>gmHetQ(FhA&}%Hh;?{4~ z_LSCi2?e%~yIScP&bIjdWO{5xbCfS7i?0$C<-%nY6K_bs-?4NjYH{hS^}ugFMofTG zkQ=i<>_GpU=e!RfmIm-_P`cXO5Y0&21G|`5Z{7lAI&uV<{3eW0uhO>wwGtk@0C_OR zFF&#*8U~}dN_no~YBi)+;;+mK_(EOXWx->!MRv?AiKKi>)PTz!m9%z2o5`d<-Kz_Q z^_tm~n4aWMWtoSNZ^VBE?J~`dwmlPYF%lp5~1!tO<)(7 zBQrela_FYx4_b*PoO6MtVKN;ntYUOU#-?mN^39*%IGa%W2f=Ak&vod}IsEUq*%PE> z?*gxGF;z_uos=|j`q71y^BY9E&(yONaXxZq$y&;ZkA0SIDBOw2+Ac&X- zPQYFOr;&7Z2%IjrMG;29z%e7N44~h{JFWIl57&6+HF_2klO`{6r`d~mhjo1P$N8kh zOMe-$$wK9_Mv?l9Y+6+3OwQx-Fp0=q^3@xv=eAG2!lZ`>{@JcMR_U|tPacTX1~yAAMJ z4p=Q4Oy#`^uFEvEtGFnF>p6DV=O;a&dc{X$uGxD zWflw~X{ECh;h5T(Sj>xViRrdA*3Kkb>p4vG((3(9Lc{zTanzfxXp4Xh4h=CFuI|{6 zlZ#gl#IL1&F^sEB#FlV>3iR1t#uX?1mR9;&Y^eKG;qkE+lSSsEufz8ljNNnpmR&HU z;MK8P+};-}%xbQuAq}6oOVsA^TY_k~xd2CY^g2Fvf*|TW^g`qnSN!F;7N(gBp2`_H z!X7@rA>(C;so7@z=#9%YCXr1b9~Wdv0buyuAu)rGckvwy7?zd4$`Ae3rkO{IDSEQ@ z`dCJ%%68O&IuJ~VcKAuD5j+ouLhw<-0gli#ULbZ{N&AXY)Cc3W8JV@lQ%R?(%ttvY z3|iyQ4V4Pyt~q;2Qdy|<8uFex_u`K_nw0F66|aAoei`&+xztKK7Sbun-V0=}rTJr= zlE00Xf1z8hhR}Ej!F?h=0@(FQALx*6_aSzl{4B2UuE)Y)wk#bM4u&QZ<|^`2$%WWn z7~(XN%AvtN3!og?4d_O)&|Y%JmGw6`Sgzu_M?e%XhRpja1pCk+?4*e2w^WhcKR?X> z4zkKRe;-n?QgK_G?CpxuGfJbnUY-+|CiSW;m5@r*pQLV?AOB-IOqNdtDBZzH?XolB zl5alRfezM%_c(pY0gdD$|h+*0Db^5N>;1 zo$C^JIOEn~8qE7PFWAwE#8mgKKjv7(1&dC>hO%=gb%x-odAFy=&~W*oqWkF8-KWyi zSUd!|@3}zoyQ!vRh#~{A`Q!x40vn6?P+B5^))1!(j+6|4A=4zj;M9|8)xoSQ9P=?e zqoi5?*rP2EKwFUp_blv`G_COP@~Pie4+}o*bOgsmmHBVAzV+_{ipBG7zt^KlH{JPJ zK{+=q6*dv0jTXf&g%rX05GMdSA|(moEQkhrG=-UBKO%%HD`FW*AOBJnzRwAWUd z*4M7SDF=M`!0yS1fCdY{z#iT%4~U&2Q5Zc=jM&v=U_Wh>ULDJLJC!4oV2C>h-{$(6 zr=2Khe0frlzw+gA)X@$Z7@;hKaSC=Q2>?AkxBsaA=N_;n5gd(l#uyOdSAuZ78J6Lu z?H_q?zu-4gh{`3d#C^;x>OjP))Q?vC;~7#sA0B+)l6mfygjXyeHyd^Q>jUhe=2Tt? zx5}+?F18q(I9)@_F!_hhN@WM*ubL9R$>>!Q=j0oZ?MWPsMeow}$&;(ipa3@-%?4)i zE?6p#+@$`p!$m}+3Sd((gp-b|x>NF?$fxbl#Ei0pTaw=L;^OQ>(Y)sC0P+z_E&e20 zoKxX$oaaQq5;Ksy@j00$4(qzh64%=ViW8##=AGORCk@UBAP9d-Z-0d=GWn2Gyv8u? z%gGx(O9yV~`)uWePDM!2?GSO2-IxO7xL0iIr-ZHOcV|*Yk6N=nrsOT_4#!=Y&EAdn zs6Lz43kvkw@4vYzyC#!zoW@}OzJ+O87;*5fm+eA+YaP8g$nQ%#$C!J+KYC>bxfgGg z<>%pqlr5pO)NVC3?~9}qGpByBlX(k`yl0MdffbVZ-RNmOma4l!ew!!jV3C`>dT`{C zEu}mo`Ffq1Ng*Hlhei8(Yf}2>=`<{cn3SQnyiu2Stp4D2 zy77_YhpJ^g2^7D~yC_BA&weD1=4*GpEs7x%TL2X;{Vj1R1IDerrNU-$h-MCL5@(>n zjpSm}_C3#Cd-w8+)(@Tm1Bq^e-(}ib;dm^*=(V5FW|}O%%DA9$Oejs7EB&FAj?>Iy zt0a0T<-9D>N3M#tlsl)wI`D4I$VqY->T>BD_l3rhE_&%lYo#=ie1)g=)Ae%b=g+%V z&u$9u3`u(mcY5#kyCp;!%schO3WuCx>e{}palTV00)%$@f|I2!9tH6!14d-~NE2;R2CX~q6NLuZ%uz|ROyU63E%_okrbxDwU zZdVPZJ-_siW|PG$?SAxBU-3qrbn)Qj^+JDW5ouoAo8NnYRPVCUc*a*Oix(wh+FV;H z;GnCOJQYZ0?0)Ym2_UiYE4PRltcBS(6ES4z;nZ76-K&Gl=3Dq-o-4JI1Egj| z$_K5{l?=p$8tSg8NXJ*uUpRs;C<1_E+!vX+2a4ulJ&3)WdV;W`FKF>gGic)Cj{JXS znXAhJ!FcL{;EuuukJ&J)?{`Jm+heRR`aCQLt@}HKnhJZGT7%oF8>-XyqLe&|Q3hO} z%ZRK|I$#|R1?lvmpa|`L3C^m3Gkp$^?3WGu{4*}gztu!ahWCBvXqaUuid|kEt~H0I ze;)erLk|43FM#o8&h^%I{ENO{UtVICgqAoJK_*A<0*_vnZkz9sOl#^Qkhuvb5BbLz z#V$xR19fwJkJp^09gc6!!ru>MvtR<#H4V%V+5BzKF^Q({>-9Qp6=Wh9y!$4&RpNQC z_Jk~@#z$T_?|;ze=R^NBSV-W2vSNRVXKa{21dw}Gyu<|X=RfKMZR{JXQ|&Z+?Bq3W zTIa^Wkc*jjNe^lw1FWi-IWNZo6fPZKpTA?;o1FXhuB=8ZV*smHUFG&2bc^%9X``rmhuGam?&XO+eNX=%lLF~q9&#APjg6e8+P`}1NR|0>nz@FF(-VD z#I9;Ih(a)nYBYb>T2IBen384c1FNuJ_ z48S$7*6v<);u&4&S3LbUA+F9lL=_sX<%wBi^!K?G>@g7+*=#|m*`+%l0l{?JRD)q5 zm5;{dQsmwhL=S*!dOLVx$VKbPjQ$;OH}O3Md!ZHVqm81d+Q6$78D=YuOwm!x{?QQ? zV53c5R$i@wq4VnxueLc7N{)MP!X{k|U`z^_S?Kd-^QzbtNwOM9US0gR_CrNh?*+`@ zj6}q^R!!!a02QQJnklWi=wjcxX=;o5|Az&Twp`i8to9sc$UMyNAaIo#!Xa8&mqA41 z2cvf)@3C`DAH_*RIA0#-4+5m+IhIlkPPHGZh=A7f;DuI!WPf+;H#W*$^$Rb?d#sW3 zPCP$SfDLx_;|ZM{+Wt-bS@!p6Qus~LHtz{9JH#mR793vZc>Wo=|1C1zI#s)J;Q)&f zSJK6EA`u6Lwgo6h5J~}PpSZICTKxGZ8QdPz&et#J@2(%CTUBNi zhJMOR0eTg2^`4@} z%&X&!1%6B`dh(PwnvaRGcN33lc}w}eC?W0@DG-SXuPXdhq$pARZu6g&l>Xn9bcMbN z>>6jDbLF5P?UNOE#e9{k-cf#xrb2iA7Db-O?1Wv00$C-qqXHExmgoS{PDv`vrH3}tAsgzyx8{$X!=m%pON z=ZJOB<)AM(SeeC|wN|ku-}&81-X`w$LDJy2LwD-7cN;&AKZRgij)f`XJDY|z&3<@! z7d!?*8&boi1XrBOmG*9bk5C!59hB{1YKYcbPB>qo_{p1d+H*#L%x>%C+~|k4eu<@_ zPe3uncoEfGI!ffD$#)vh$4aLW7j;g%G!)akA4`EMADvyd)L^PI=Cj=XPHIL>_`L#f z*s<)@rdCl$grbl#;9SbFSO0Z8U`#mu7v{In)q_twNd=$D?-$l!2sH(mtdm!6rHdD4 zLauHVpU$Jl5do~bZlUOjKhEMP7i~W0ECyB3$DfK<%c=7p+KoPQTVN|L!r$UliI>72 zVF4(vwF+gEaiQm?I5mBx!ClE zW7iU~ACZ~GT(GVsA^NoM^Pm+fsKE%v|NEv7V*jX3cYr-%l(n`MS`nHLj@+{+h5s~b zlx)sGv0wpopykv@tnqi#^yVM2)~Me?uQ#iZ&Tg3%auH$$HmnpJu&6^v1G$ils7yaI!&AC_^Jig zAuwzrV@Ls>Yx8s=K*qlLQ|^4EyK){Hezs`3kjQ6KxeWRzV@K@Md zpOPmMl{!Kg1FR*pskXs}jRCCG z0O-3O_%`>ojOx!~J9uJ}R{*^w3;g#DTAHAse5fiYEaFhw{QDfmX4L!Q`YRen?u*CP zNCZ(TWjsjmG-w#X2unpgJMt6&QtfwX%b$&cOrSvdP$k>56&!UuBI5w=>d+xko{(^T z=0Ku_b27c4*UuT00WnS>z$xD6WI4QdeMPN{7u2)DcQPzJXOXwX#&|j@<3?{_7dsxS zdpXk$slb|OE0w-eS>pc&OciF_#-=hww zDkFgSBt~B>+T-HpEru|iy^yR1?EY8Thf1;+Am~tiP^R*z$ojqC1Uj0D$xIE+k}FG! zoj?DQmnUH~`+H>7panS6SP0yCz4hstDi{G=H~Cg>w>*W;x~vwZN`0d1==HmJqXY0i z9qtV#&8<;pmQ|8Br5E;Or}sKRF!!D;y=A3&4qu?FtZ9W2R91mfGS*q)7%^ak)QnBU znL*{Ox;(qMuMppu% zt#yGiuMgffBQx+I`r1?kTilbyA29*zb%1pqXP4!Lfm;Yx9m5csfuy&Ht{UgP`a>cP z%B8Mlw7ez6-E&5w?(^_;GwjV6snSGx;fQYDd(2_7R#nM#Aw^_^>fetzHr7lPb-sF$XW z2l+K>9j*~Jv`HWuBG&}3HPjfw?iB;=$tT45N4>QUPL|;1&G*st+@ZV8=!qv&Ze*LC z3wkKzQ}9=<{)lshuLpR;wilwj<@=o+g^@YX?N+wnq#Jwo-T>aeecoeVP-5q}IVIm| zm}ut7AYq=k48;k~19mIR11M5qk70}SGW^-?SW5AGLNVkjzQ2 z=JJw^kkpIS^7EqONwkaNnH}utnA_r+7;Inw)0VjbPT28~%Iyp*w zko~2TdJF$whk6Rz=wA6H6e(x+lyp3DW5aSi5M%?BtXQ!$^t53?ds{F7L*f-M4vi;9 zi1D`UvnJGm`@*7IeVugt@#}iX%CFRM*koRL=^26o6l+)Mf4dGY=GiNG zzz1iv#Pu8Rh+#VR#0IX_uphSByXfmqxFL46TdRW0?duQrc-p;-a%sSA)B�kq!pS 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%0D$T1FdJkjaZyKWeC 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 I?>_p!0EsgFRsaA1 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Portrait@~ipadpro.png b/resources/ios/splash/Default-Portrait@~ipadpro.png new file mode 100644 index 0000000000000000000000000000000000000000..d5b9c3c4c957230d3a88f9f4f41b35bac66d3a34 GIT binary patch literal 89274 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%0AGMVcMMPwja*V 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 RaSvI_sS}1eIse$)`Y+4)Fya6J literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default-Portrait~ipad.png b/resources/ios/splash/Default-Portrait~ipad.png new file mode 100644 index 0000000000000000000000000000000000000000..7e2ccd7c60c821ba4768074f420c67d8fc00d05a GIT binary patch literal 41693 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 literal 0 HcmV?d00001 diff --git a/resources/ios/splash/Default@2x~iphone.png b/resources/ios/splash/Default@2x~iphone.png new file mode 100644 index 0000000000000000000000000000000000000000..1f89f0f4c97adbfe0ae7573db2741dffe9f5160f GIT binary patch literal 37598 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 eXb { + if (isIOS) { + this.bluetoothConnectionState.TEMPERATURE = true; + } + }, + () => { + if (isIOS) { + this.bluetoothConnectionState.TEMPERATURE = false; + } + } + ); + } else { + this.uiLog.log('Temperature device not connected, dont try to connect'); + } + } + private __attachOnDevicePause() { this.platform.pause.subscribe(async () => { const settings: Settings = this.uiSettingsStorage.getSettings(); @@ -739,6 +792,16 @@ export class AppComponent implements AfterViewInit { this.bleManager.disconnect(settings.pressure_id, false); } } + + if (settings.temperature_stay_connected === false) { + const temperature_id: string = settings.temperature_id; + if (temperature_id !== undefined && temperature_id !== '') { + // Don't show message on device pause. + this.bleManager.disconnect(settings.temperature_id, false); + } + } + + /// Add pressure profile. }); } private __attachOnDeviceResume() { @@ -750,6 +813,9 @@ export class AppComponent implements AfterViewInit { if (settings.pressure_stay_connected === false) { this.__connectPressureDevice(); } + if (settings.temperature_stay_connected === false) { + this.__connectTemperatureDevice(); + } }); } diff --git a/src/app/brew/brew-add/brew-add.component.html b/src/app/brew/brew-add/brew-add.component.html index 697af4e23..4c23a27b3 100644 --- a/src/app/brew/brew-add/brew-add.component.html +++ b/src/app/brew/brew-add/brew-add.component.html @@ -7,24 +7,26 @@ - + - + - {{"CANCEL" | translate}} + {{"CANCEL" | + translate}} - {{"SAVE" | translate}} + {{"SAVE" + | translate}} - + \ No newline at end of file diff --git a/src/app/brew/brew-add/brew-add.component.ts b/src/app/brew/brew-add/brew-add.component.ts index 372865fba..63bd0a825 100644 --- a/src/app/brew/brew-add/brew-add.component.ts +++ b/src/app/brew/brew-add/brew-add.component.ts @@ -200,7 +200,11 @@ export class BrewAddComponent implements OnInit { this.uiBrewHelper.cleanInvisibleBrewData(this.data); const addedBrewObj: Brew = await this.uiBrewStorage.add(this.data); - if (this.brewBrewing.flow_profile_raw.weight.length > 0) { + if ( + this.brewBrewing.flow_profile_raw.weight.length > 0 || + this.brewBrewing.flow_profile_raw.pressureFlow.length > 0 || + this.brewBrewing.flow_profile_raw.temperatureFlow.length > 0 + ) { const savedPath = this.brewBrewing.saveFlowProfile( addedBrewObj.config.uuid ); diff --git a/src/app/brew/brew-detail/brew-detail.component.html b/src/app/brew/brew-detail/brew-detail.component.html index 2c069ae4e..1e68ce2cb 100644 --- a/src/app/brew/brew-detail/brew-detail.component.html +++ b/src/app/brew/brew-detail/brew-detail.component.html @@ -15,16 +15,15 @@ - + - - {{"BREW_HEADER_BEFORE_BREW" | translate }} - - + {{"BREW_HEADER_BEFORE_BREW" | translate }} + + @@ -32,11 +31,9 @@

      {{"BREW_DATA_GRIND_SIZE" | translate}}:

      {{data.grind_size}}

      - @@ -44,11 +41,9 @@

      {{"BREW_DATA_GRIND_WEIGHT" | translate}}:

      {{data.grind_weight}}

      - @@ -56,66 +51,55 @@

      {{"BREW_DATA_BREW_TEMPERATURE" | translate}}:

      {{data.brew_temperature}}

      - + data.getPreparation().use_custom_parameters)" detail="true" (click)="detailPreparation()">

      {{"BREW_DATA_PREPARATION_METHOD" | translate}}:

      {{data.getPreparation().name}}

      - + data.getPreparation().use_custom_parameters)" detail="true" (click)="detailBean()">

      {{"BREW_DATA_BEAN_TYPE" | translate}}:

      {{data.getBean().name}}

      - -1" [style.order]="uiBrewHelper.fieldOrder(settings.brew_order.before.bean_type, data.getPreparation().brew_order.before.bean_type, data.getPreparation().use_custom_parameters)"> - -

      {{"BREW_INFORMATION_BEAN_AGE" | translate}}:

      -

      {{data.getCalculatedBeanAge()}}

      -
      -
      - +

      {{data.getCalculatedBeanAge()}}

      + +
      + - -

      {{"BREW_INFORMATION_BREW_RATIO" | translate}}:

      -

      {{data.getBrewRatio()}}

      -
      -
      - +

      {{data.getBrewRatio()}}

      + +
      + + data.getPreparation().use_custom_parameters)" detail="true" (click)="detailMill()">

      {{"BREW_DATA_MILL" | translate}}:

      {{data.getMill().name}}

      - @@ -123,11 +107,9 @@

      {{"BREW_DATA_MILL_SPEED" | translate}}:

      {{data.mill_speed}}

      - @@ -135,38 +117,32 @@

      {{"BREW_DATA_MILL_TIMER" | translate}}:

      {{data.mill_timer}}

      - - -

      {{"BREW_DATA_PRESSURE_PROFILE" | translate}}:

      -

      {{data.pressure_profile}}

      -
      -
      + +

      {{"BREW_DATA_PRESSURE_PROFILE" | translate}}:

      +

      {{data.pressure_profile}}

      +
      + + data.getPreparation().use_custom_parameters)" lines="inset">

      {{"BREW_DATA_PREPARATION_METHOD_TOOL" | translate}}:

      -
      {{data.getPreparationToolName(uuid)}}
      +
      {{data.getPreparationToolName(uuid)}}
      @@ -176,9 +152,7 @@

      {{data.bean_weight_in}}

      @@ -193,9 +167,7 @@

      {{data.vessel_weight}}

      @@ -205,18 +177,17 @@

      {{data.getWater().name}}

      - + - - {{"BREW_HEADER_WHILE_BREW" | translate }} + + {{"BREW_HEADER_WHILE_BREW" | translate }} - + - @@ -224,8 +195,7 @@

      {{'BREW_DATA_TEMPERATURE_TIME' | translate}} / {{'BREW_DATA_SURF_TIME' | tra

      {{data?.getFormattedTotalCoffeeTemperatureTime()}}

      - @@ -234,7 +204,7 @@

      {{data?.getFormattedTotalCoffeeTemperatureTime()}}

      - +
      {{this.uiHelper.toFixedIfNecessary(getAvgFlow(),2)}} g/s
      @@ -250,8 +220,10 @@

      {{data?.getFormattedTotalCoffeeTemperatureTime()}}

      - {{"DOWNLOAD_XLSX" | translate}} - {{"DOWNLOAD_JSON" | translate}} + {{"DOWNLOAD_XLSX" | translate}} + {{"DOWNLOAD_JSON" | translate}} @@ -265,7 +237,7 @@

      {{data?.getFormattedTotalCoffeeTemperatureTime()}}

      - + @@ -275,15 +247,21 @@

      {{data?.getFormattedTotalCoffeeTemperatureTime()}}

      + data.getPreparation().use_custom_parameters)" class="ion-padding-bottom-half" lines="none">
      - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} - {{'BREW_PRESSURE_FLOW' | translate}} + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_PRESSURE_FLOW' | translate}} + {{'BREW_TEMPERATURE_REALTIME' | + translate}}
      - @@ -305,11 +281,11 @@

      {{'BREW_DATA_TIME' | translate}}:

      {{data.getFormattedBrewTime()}}

      - @@ -317,11 +293,9 @@

      {{'BREW_DATA_CALCULATED_COFFEE_BREW_TIME' | translate}}:

      {{data.getFormattedCoffeeBrewTime()}}

      - @@ -329,11 +303,11 @@

      {{"BREW_DATA_COFFEE_BLOOMING_TIME" | translate}}:

      {{data?.getFormattedTotalCoffeeBloomingTime()}}

      - @@ -343,15 +317,16 @@

      {{data?.getFormattedTotalCoffeeFirstDripTime()}}

      - - - {{"BREW_HEADER_AFTER_BREW" | translate }} - - + + {{"BREW_HEADER_AFTER_BREW" | translate }} + + @@ -359,11 +334,9 @@

      {{"BREW_DATA_BREW_QUANTITY" | translate}}:

      {{data.brew_quantity}} ({{data.getBrewQuantityTypeName()}})

      - @@ -372,11 +345,9 @@

      {{"BREW_DATA_COFFEE_TYPE" | translate}}

      {{data.coffee_type}}

      - @@ -384,11 +355,9 @@

      {{"BREW_DATA_COFFEE_CONCENTRATION" | translate}}:

      {{data.coffee_concentration}}

      - @@ -399,9 +368,7 @@

      {{data.rating}}

      @@ -412,9 +379,7 @@

      {{data.brew_beverage_quantity}} ({{data.getBrewBeverageQuantityTypeName @@ -426,9 +391,7 @@

      {{data.tds}}

      @@ -438,33 +401,29 @@

      {{data.getExtractionYield()}}

      - -

      {{"BREW_DATA_NOTES" | translate }}:

      -
      {{data.note}}
      -
      -
      + +

      {{"BREW_DATA_NOTES" | translate }}:

      +
      {{data.note}}
      +
      +
      -
      0" - - [style.order]="uiBrewHelper.fieldOrder(settings.brew_order.after.attachments, + data.getPreparation().use_custom_parameters) && data?.attachments?.length>0" [style.order]="uiBrewHelper.fieldOrder(settings.brew_order.after.attachments, data.getPreparation().brew_order.after.attachments, data.getPreparation().use_custom_parameters)"> - -
      + +

      - + {{"BREW_HEADER_CUPPING" | translate }} -
      +
      @@ -474,22 +433,26 @@

      {{"BREW_DATA_NOTES" | translate }}:

      - + {{"CUSTOM_FLAVORS_AROMAS" | translate }} - + {{customFlavor}} - + {{"PREDEFINED_FLAVORS_AROMAS" | translate }} - + {{'CUPPING_' + item.key | translate}} @@ -500,8 +463,8 @@

      {{"BREW_DATA_NOTES" | translate }}:

      - {{"CLOSE" | translate}} + {{"CLOSE" | + translate}} diff --git a/src/app/brew/brew-detail/brew-detail.component.scss b/src/app/brew/brew-detail/brew-detail.component.scss index e83d3cc6c..a0a9a3aef 100644 --- a/src/app/brew/brew-detail/brew-detail.component.scss +++ b/src/app/brew/brew-detail/brew-detail.component.scss @@ -7,19 +7,19 @@ } - ion-card - { + ion-card { div.last-item { - margin-bottom:16px; + margin-bottom: 16px; /*Last one*/ - order:10000; + order: 10000; } } ion-card.flow-profile { - margin:0px; + margin: 0px; + ion-card-header { color: #FFFFFF; background-color: var(--ion-color-accent) !important; @@ -38,23 +38,83 @@ } } + + ion-card.flow-profile.temperature-card { + ion-card-header { + background-color: #CC3311 !important; + } + + ion-icon { + color: #CC3311 !important; + } + } + + ion-card.flow-profile.pressure-card { + ion-card-header { + background-color: #05C793 !important; + } + + ion-icon { + color: #05C793 !important; + } + + ion-icon>div.icon-inner>svg.s-ion-icon>g { + fill: #05C793 !important; + } + } + + ion-card.flow-profile.flow-card { + ion-card-header { + background-color: #09485D !important; + } + + ion-icon { + color: #09485D !important; + } + } + + ion-card.flow-profile.weight-card { + ion-card-header { + background-color: #cdc2ac !important; + } + + ion-icon { + color: #cdc2ac !important; + } + } + ion-chip.weight { --background: #cdc2ac; --color: black; } + ion-chip.flowcalculated { --background: #7F97A2; --color: white; } + ion-chip.chip-outline { - --color:black!important; + --color: black !important; } + ion-chip.flowreal { --background: #09485D; --color: white; } + ion-chip.pressure { --background: #05C793; --color: black; } + + ion-chip.temperature { + --background: #CC3311; + --color: white; + } + + .brew-information-panel { + ion-icon { + font-size: 30px; + } + } } diff --git a/src/app/brew/brew-detail/brew-detail.component.ts b/src/app/brew/brew-detail/brew-detail.component.ts index c83a90067..c9c2895fe 100644 --- a/src/app/brew/brew-detail/brew-detail.component.ts +++ b/src/app/brew/brew-detail/brew-detail.component.ts @@ -29,7 +29,7 @@ import { SocialSharing } from '@ionic-native/social-sharing/ngx'; import { BrewFlowComponent } from '../brew-flow/brew-flow.component'; import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx'; import moment from 'moment'; -import BeanconquerorFlowTestDataDummy from '../../../assets/BeanconquerorFlowTestData.json'; +import BeanconquerorFlowTestDataDummy from '../../../assets/BeanconquerorFlowTestDataFourth.json'; import { UILog } from '../../../services/uiLog'; declare var Plotly; @Component({ @@ -54,6 +54,7 @@ export class BrewDetailComponent implements OnInit { private flowPerSecondTrace: any; private realtimeFlowTrace: any; private pressureTrace: any; + private temperatureTrace: any; private maximizeFlowGraphIsShown: boolean = false; public lastChartLayout: any = undefined; @@ -198,6 +199,8 @@ export class BrewDetailComponent implements OnInit { this.realtimeFlowTrace.visible = !this.realtimeFlowTrace.visible; } else if (_type === 'pressure') { this.pressureTrace.visible = !this.pressureTrace.visible; + } else if (_type === 'temperature') { + this.temperatureTrace.visible = !this.temperatureTrace.visible; } Plotly.relayout('flowProfileChart', this.lastChartLayout); @@ -281,14 +284,34 @@ export class BrewDetailComponent implements OnInit { }, visible: graphSettings.pressure, }; + + this.temperatureTrace = { + x: [], + y: [], + name: this.translate.instant('BREW_TEMPERATURE_REALTIME'), + yaxis: 'y5', + type: 'scattergl', + mode: 'lines', + line: { + shape: 'linear', + color: '#CC3311', + width: 2, + }, + visible: graphSettings.temperature, + }; + const startingDay = moment(new Date()).startOf('day'); // IF brewtime has some seconds, we add this to the delay directly. let firstTimestamp; if (this.flow_profile_raw.weight.length > 0) { firstTimestamp = this.flow_profile_raw.weight[0].timestamp; - } else { + } else if (this.flow_profile_raw.pressureFlow.length > 0) { firstTimestamp = this.flow_profile_raw.pressureFlow[0].timestamp; + } else if (this.flow_profile_raw.temperatureFlow.length > 0) { + firstTimestamp = this.flow_profile_raw.temperatureFlow[0].timestamp; + } else { + firstTimestamp = 0; } const delay = moment(firstTimestamp, 'HH:mm:ss.SSS').toDate().getTime() - @@ -335,6 +358,19 @@ export class BrewDetailComponent implements OnInit { this.pressureTrace.y.push(data.actual_pressure); } } + if ( + this.flow_profile_raw.temperatureFlow && + this.flow_profile_raw.temperatureFlow.length > 0 + ) { + for (const data of this.flow_profile_raw.temperatureFlow) { + this.temperatureTrace.x.push( + new Date( + moment(data.timestamp, 'HH:mm:ss.SSS').toDate().getTime() - delay + ) + ); + this.temperatureTrace.y.push(data.actual_temperature); + } + } const chartData = [ this.weightTrace, this.flowPerSecondTrace, @@ -342,9 +378,10 @@ export class BrewDetailComponent implements OnInit { ]; const layout = this.getChartLayout(); - if (layout['yaxis4']) { - chartData.push(this.pressureTrace); - } + + chartData.push(this.pressureTrace); + + chartData.push(this.temperatureTrace); Plotly.newPlot( 'flowProfileChart', @@ -489,19 +526,31 @@ export class BrewDetailComponent implements OnInit { }, }; - if (this.flow_profile_raw.pressureFlow.length > 0) { - layout['yaxis4'] = { - title: '', - titlefont: { color: '#05C793' }, - tickfont: { color: '#05C793' }, - anchor: 'free', - overlaying: 'y', - side: 'right', - showgrid: false, - position: 0.93, - range: [0, 12], - }; - } + layout['yaxis4'] = { + title: '', + titlefont: { color: '#05C793' }, + tickfont: { color: '#05C793' }, + anchor: 'free', + overlaying: 'y', + side: 'right', + showgrid: false, + position: 0.93, + range: [0, 12], + }; + + layout['yaxis5'] = { + title: '', + titlefont: { color: '#CC3311' }, + tickfont: { color: '#CC3311' }, + anchor: 'free', + overlaying: 'y', + side: 'right', + showgrid: false, + position: 0.8, + fixedrange: true, + range: [0, 100], + }; + this.lastChartLayout = layout; return layout; } diff --git a/src/app/brew/brew-edit/brew-edit.component.html b/src/app/brew/brew-edit/brew-edit.component.html index 78ea2f02e..799dcc8c7 100644 --- a/src/app/brew/brew-edit/brew-edit.component.html +++ b/src/app/brew/brew-edit/brew-edit.component.html @@ -7,7 +7,8 @@ - + @@ -17,16 +18,15 @@ - + - {{"CANCEL" | translate}} + {{"CANCEL" | + translate}} - {{"SAVE" | translate}} + {{"SAVE" | + translate}} - - + \ No newline at end of file diff --git a/src/app/brew/brew-edit/brew-edit.component.ts b/src/app/brew/brew-edit/brew-edit.component.ts index c8862799c..b798cabed 100644 --- a/src/app/brew/brew-edit/brew-edit.component.ts +++ b/src/app/brew/brew-edit/brew-edit.component.ts @@ -107,7 +107,11 @@ export class BrewEditComponent implements OnInit { } this.uiBrewHelper.cleanInvisibleBrewData(this.data); - if (this.brewBrewing.flow_profile_raw.weight.length > 0) { + if ( + this.brewBrewing.flow_profile_raw.weight.length > 0 || + this.brewBrewing.flow_profile_raw.pressureFlow.length > 0 || + this.brewBrewing.flow_profile_raw.temperatureFlow.length > 0 + ) { const savedPath = this.brewBrewing.saveFlowProfile(this.data.config.uuid); this.data.flow_profile = savedPath; } diff --git a/src/app/brew/brew-flow/brew-flow.component.html b/src/app/brew/brew-flow/brew-flow.component.html index 4e13e3ed4..69e9829c1 100644 --- a/src/app/brew/brew-flow/brew-flow.component.html +++ b/src/app/brew/brew-flow/brew-flow.component.html @@ -4,17 +4,20 @@
      - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | + translate}} {{'BREW_PRESSURE_FLOW' | translate}} + [outline]="!brewComponent.pressureTrace?.visible" class="pressure">{{'BREW_PRESSURE_FLOW' | + translate}} + {{'BREW_TEMPERATURE_REALTIME' | + translate}}
      @@ -29,11 +32,13 @@
      -
      +
      - - + +
      ? g
      @@ -42,33 +47,64 @@
      - - + + -
      ? (?) g/s
      +
      ? g/s
      - - + + -
      ?
      +
      ? g/s
      +
      + + + +
      +
      + + + +
      ? bar
      - - + + + +
      ? °C
      +
      + + + +
      +
      + + - {{this.uiHelper.formatSeconds(brew.brew_time, 'mm:ss')}} + {{this.uiHelper.formatSeconds(brew.brew_time, + 'mm:ss')}} {{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time, brew.brew_time_milliseconds, 'mm:ss.SSS')}} + *ngIf="settings?.brew_milliseconds === true">{{this.uiHelper.formatSecondsAndMilliseconds(brew.brew_time, + brew.brew_time_milliseconds, 'mm:ss.SSS')}} @@ -82,49 +118,50 @@
      -
      +
      + *ngIf="brewComponent.timer.timer.runTimer && brewComponent.timer.timer.hasStarted && !brewComponent.timer.timer.hasFinished && showBloomTimer" + class="big-icon-only" fill="clear" tappable> + *ngIf="brewComponent.timer.timer.runTimer && brewComponent.timer.timer.hasStarted && !brewComponent.timer.timer.hasFinished && showDripTimer" + class="big-icon-only" fill="clear" tappable> + *ngIf="brewComponent.timer.timer.runTimer && brewComponent.timer.timer.hasStarted && !brewComponent.timer.timer.hasFinished" + class="big-icon-only" fill="clear" tappable> + *ngIf="(!brewComponent.timer.timer.hasStarted || !brewComponent.timer.timer.runTimer && brewComponent.timer.timer.hasStarted && !brewComponent.timer.timer.hasFinished) && brewComponent.timer.getSeconds()>0" + class="big-icon-only" fill="clear" tappable> + *ngIf="!brewComponent.timer.timer.runTimer && brewComponent.timer.timer.hasStarted && !brewComponent.timer.timer.hasFinished" + class="big-icon-only" fill="clear" tappable> + tappable> + tappable>
      -
      + \ No newline at end of file diff --git a/src/app/brew/brew-flow/brew-flow.component.scss b/src/app/brew/brew-flow/brew-flow.component.scss index 23e2e6e53..e40e5d8fa 100644 --- a/src/app/brew/brew-flow/brew-flow.component.scss +++ b/src/app/brew/brew-flow/brew-flow.component.scss @@ -1,42 +1,48 @@ :host { - ion-header{ - background-color:#ffffff; + ion-header { + background-color: #ffffff; } - ion-toolbar{ - height:0px!important; - padding-top:25px!important; + + ion-toolbar { + height: 0px !important; + padding-top: 25px !important; } + ion-footer { background: #FFFFFF; - box-shadow:none; + box-shadow: none; } - #brewFlowContainer { + #brewFlowContainer {} + + #informationContainer { + display: flex; + font-size: 24px; + margin-left: 5px; + overflow: scroll; + + ion-icon { + margin-right: 2px; + margin-left: 5px; + margin-top: 5px; + } + + span { + vertical-align: top; + } } -#informationContainer { - display:flex; - font-size:24px; - margin-left:5px; - overflow:scroll; - ion-icon { - margin-right:2px; - margin-left:5px; - margin-top:5px; - } - span { - vertical-align:top; - } -} ion-label { color: #938F89; - display:block; + display: block; position: relative; top: 5px; } + ion-text { - display:block; + display: block; } + .flow-icon-buttons { ion-button { @@ -49,49 +55,121 @@ } ion-card.flow-profile { - margin:0px; + margin: 0px; + ion-card-header { color: #FFFFFF; background-color: var(--ion-color-accent) !important; - font-size: 24px; - padding: 4px; + font-size: 20px; + padding: 2px; display: flex; justify-content: space-evenly; flex-direction: column; } + @media (max-width: 480px) { + ion-card-header { + min-height:50px; + height:50px; + } + } ion-card-content { color: #000000; padding: 0px 2px; - ion-icon{ - font-size:24px; + + ion-icon { + font-size: 24px; } } } + ion-card.flow-profile.temperature-card { + ion-card-header { + background-color: #CC3311 !important; + } + + ion-icon { + color: #CC3311 !important; + } + } + + ion-card.flow-profile.pressure-card { + ion-card-header { + background-color: #05C793 !important; + } + + ion-icon { + color: #05C793 !important; + } + + ion-icon>div.icon-inner>svg.s-ion-icon>g { + fill: #05C793 !important; + } + } + + ion-card.flow-profile.flow-card { + ion-card-header { + background-color: #09485D !important; + } + + ion-icon { + color: #09485D !important; + } + } + + ion-card.flow-profile.flow-avg-card { + ion-card-header { + background-color: #7F97A2 !important; + } + + ion-icon { + color: #7F97A2 !important; + } + } + + ion-card.flow-profile.weight-card { + ion-card-header { + background-color: #cdc2ac !important; + } + + ion-icon { + color: #cdc2ac !important; + } + } + ion-chip.weight { --background: #cdc2ac; --color: black; - margin-right:0px; - margin-left:10px; + margin-right: 0px; + margin-left: 10px; } + ion-chip.flowcalculated { --background: #7F97A2; --color: white; - margin-right:0px; + margin-right: 0px; } + ion-chip.chip-outline { - --color:black!important; + --color: black !important; } + ion-chip.flowreal { --background: #09485D; --color: white; - margin-right:0px; + margin-right: 0px; } + ion-chip.pressure { --background: #05C793; --color: black; - margin-right:0px; + margin-right: 0px; + } + + ion-chip.temperature { + --background: #CC3311; + --color: white; + margin-right: 0px; } } diff --git a/src/app/brew/brew-flow/brew-flow.component.ts b/src/app/brew/brew-flow/brew-flow.component.ts index f20574e2b..8f707bcd0 100644 --- a/src/app/brew/brew-flow/brew-flow.component.ts +++ b/src/app/brew/brew-flow/brew-flow.component.ts @@ -21,6 +21,7 @@ import { Settings } from '../../../classes/settings/settings'; import { BrewBrewingComponent } from '../../../components/brews/brew-brewing/brew-brewing.component'; import { TranslateService } from '@ngx-translate/core'; import { PressureDevice } from '../../../classes/devices/pressureBluetoothDevice'; +import { TemperatureDevice } from 'src/classes/devices/temperatureBluetoothDevice'; import { CoffeeBluetoothDevicesService } from '../../../services/coffeeBluetoothDevices/coffee-bluetooth-devices.service'; import { BluetoothScale } from '../../../classes/devices'; declare var Plotly; @@ -39,12 +40,14 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { @Input() public flowChartEl: any; @Input() private brewFlowGraphEvent: EventEmitter; @Input() private brewPressureGraphEvent: EventEmitter; + @Input() private brewTemperatureGraphEvent: EventEmitter; @Input() public brew: Brew; @Input() public brewComponent: BrewBrewingComponent; @Input() public isDetail: boolean = false; private brewFlowGraphSubscription: Subscription; private brewPressureGraphSubscription: Subscription; + private brewTemperatureGraphSubscription: Subscription; public settings: Settings; @@ -61,6 +64,8 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { public smartScaleAvgFlowPerSecondDetail: ElementRef; @ViewChild('pressureDetail', { read: ElementRef }) public pressureDetail: ElementRef; + @ViewChild('temperatureDetail', { read: ElementRef }) + public temperatureDetail: ElementRef; private disableHardwareBack; protected heightInformationBlock: number = 50; @@ -118,6 +123,10 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { this.brewPressureGraphEvent.subscribe((_val) => { this.setActualPressureInformation(_val); }); + this.brewTemperatureGraphSubscription = + this.brewTemperatureGraphEvent.subscribe((_val) => { + this.setActualTemperatureInformation(_val); + }); const settings: Settings = this.uiSettingsStorage.getSettings(); @@ -180,14 +189,24 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { return !!pressureDevice; } - public smartScaleConnected() { + public temperatureDeviceConnected() { if (!this.platform.is('cordova')) { return true; } + const temperatureDevice: TemperatureDevice = + this.bleManager.getTemperatureDevice(); + return !!temperatureDevice; + } + + public smartScaleConnected() { + if (!this.platform.is('cordova')) { + return true; + } const scale: BluetoothScale = this.bleManager.getScale(); return !!scale; } + public async startTimer() { await this.brewComponent.timerStartPressed(undefined); @@ -255,6 +274,11 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { pressureEl.textContent = _val.pressure; } + public setActualTemperatureInformation(_val: any) { + const temperatureEl = this.temperatureDetail.nativeElement; + temperatureEl.textContent = _val.temperature; + } + public async ngOnDestroy() { if (this.brewFlowGraphSubscription) { this.brewFlowGraphSubscription.unsubscribe(); @@ -264,6 +288,10 @@ export class BrewFlowComponent implements AfterViewInit, OnDestroy, OnInit { this.brewPressureGraphSubscription.unsubscribe(); this.brewPressureGraphSubscription = undefined; } + if (this.brewTemperatureGraphSubscription) { + this.brewTemperatureGraphSubscription.unsubscribe(); + this.brewTemperatureGraphSubscription = undefined; + } } public resetPressure() { diff --git a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.html b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.html index 745f59313..db60c30d7 100644 --- a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.html +++ b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.html @@ -10,5 +10,9 @@ {{"POPOVER_BLUETOOTH_ACTION_RECONNECT_PRESSURE_DEVICE" | translate}} + + + {{"POPOVER_BLUETOOTH_ACTION_RECONNECT_TEMPERATURE_DEVICE" | translate}} + - + \ No newline at end of file diff --git a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts index f9025ad40..f5b7e5e4d 100644 --- a/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts +++ b/src/app/settings/settings-popover-bluetooth-actions/settings-popover-bluetooth-actions.component.ts @@ -82,6 +82,32 @@ export class SettingsPopoverBluetoothActionsComponent implements OnInit { this.uiAlert.hideLoadingSpinner(); }, 60000); } + public reconnectTemperatureDevice() { + let timeoutVar: any = null; + const temperatureId = this.settings.temperature_id; + const temperatureType = this.settings.temperature_type; + if (temperatureId && temperatureType) { + this.uiAlert.showLoadingSpinner(); + this.bluetoothService.reconnectTemperatureDevice( + temperatureType, + temperatureId, + () => { + this.uiAlert.hideLoadingSpinner(); + clearTimeout(timeoutVar); + timeoutVar = null; + }, + () => { + this.uiAlert.hideLoadingSpinner(); + clearTimeout(timeoutVar); + timeoutVar = null; + } + ); + } + + timeoutVar = setTimeout(async () => { + this.uiAlert.hideLoadingSpinner(); + }, 60000); + } public async choose(_type: string): Promise {} } diff --git a/src/app/settings/settings.page.html b/src/app/settings/settings.page.html index 451f650c9..88e6f1d11 100644 --- a/src/app/settings/settings.page.html +++ b/src/app/settings/settings.page.html @@ -4,7 +4,7 @@ - {{"NAV_SETTINGS" | translate}} + {{"NAV_SETTINGS" | translate}} @@ -14,14 +14,18 @@ {{"PAGE_SETTINGS_TAB_GENERAL" | translate }} - + {{"PAGE_SETTINGS_TAB_BLUETOOTH_SCALE" | translate }} - + {{"PAGE_SETTINGS_TAB_BLUETOOTH_PRESSURE" | translate }} + + {{"PAGE_SETTINGS_TAB_BLUETOOTH_TEMPERATURE" | translate }} + +
      @@ -51,8 +55,8 @@ {{"PAGE_SETTINGS_LANGUAGE" | translate}} + cancelText="{{'CANCEL'| translate }}" cancelText="{{'CANCEL'| translate }}" + okText="{{'CHOOSE'| translate }}" okText="{{'CHOOSE'| translate }}"> {{"PAGE_SETTINGS_LANGUAGE_GERMAN" | translate}} {{"PAGE_SETTINGS_LANGUAGE_ENGLISH" | translate}} {{"PAGE_SETTINGS_LANGUAGE_SPANISH" | translate}} @@ -63,7 +67,7 @@ {{"PAGE_SETTINGS_STARTUP_VIEW" | translate}} + cancelText="{{'CANCEL'| translate }}" okText="{{'CHOOSE'| translate }}"> {{"NAV_HOME" | translate}} {{"NAV_BREWS" | translate}} {{"ADD_BREW" | translate}} @@ -75,10 +79,11 @@

      {{"PAGE_SETTINGS_IMAGE_QUALITY" | translate}}

      + tooltip='{{"PAGE_SETTINGS_IMAGE_QUALITY_TOOLTIP" | translate}}'>
      - + {{settings.image_quality}}% @@ -87,10 +92,11 @@

      {{"PAGE_SETTINGS_IMAGE_QUALITY" | translate}}

      {{"PAGE_SETTINGS_BREW_RATING" | translate}}

      + tooltip='{{"PAGE_SETTINGS_BREW_RATING_TOOLTIP" | translate}}'>
      - - + + {{settings.brew_rating}} @@ -98,17 +104,17 @@

      {{"PAGE_SETTINGS_BREW_RATING" | translate}}

      {{"PAGE_SETTINGS_BREW_RATING_STEPS" | translate}} + cancelText="{{'CANCEL'| translate }}" okText="{{'CHOOSE'| translate }}"> 1 - + 0.75 - + 0.5 - + 0.25 @@ -121,10 +127,11 @@

      {{"PAGE_SETTINGS_BREW_RATING" | translate}}

      {{"PAGE_SETTINGS_BEAN_RATING" | translate}}

      + tooltip='{{"PAGE_SETTINGS_BEAN_RATING_TOOLTIP" | translate}}'>
      - - + + {{settings.bean_rating}} @@ -133,17 +140,17 @@

      {{"PAGE_SETTINGS_BEAN_RATING" | translate}}

      {{"PAGE_SETTINGS_BEAN_RATING_STEPS" | translate}} + cancelText="{{'CANCEL'| translate }}" okText="{{'CHOOSE'| translate }}"> 1 - + 0.75 - + 0.5 - + 0.25 @@ -152,71 +159,87 @@

      {{"PAGE_SETTINGS_BEAN_RATING" | translate}}

      - +

      {{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

      - +
      {{"PAGE_SETTINGS_WAKE_LOCK" | translate}} - + -

      {{"PAGE_SETTINGS_TRACK_BREW_COORDINATES" | translate}}

      -

      {{"PAGE_SETTINGS_TRACK_BREW_COORDINATES_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_TRACK_BREW_COORDINATES" | translate}}

      +

      {{"PAGE_SETTINGS_TRACK_BREW_COORDINATES_DESCRIPTION" | translate}}

      +
      +
      -

      {{"PAGE_SETTINGS_FAST_REPEAT" | translate}}

      -

      {{"PAGE_SETTINGS_FAST_REPEAT_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_FAST_REPEAT" | translate}}

      +

      {{"PAGE_SETTINGS_FAST_REPEAT_DESCRIPTION" | translate}}

      +
      +
      -

      {{"PAGE_SETTINGS_BREW_ENABLE_MILLISECONDS" | translate}}

      -

      {{"PAGE_SETTINGS_BREW_ENABLE_MILLISECONDS_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_BREW_ENABLE_MILLISECONDS" | translate}}

      +

      {{"PAGE_SETTINGS_BREW_ENABLE_MILLISECONDS_DESCRIPTION" | translate}}

      +
      +
      -

      {{"PAGE_SETTINGS_BREW_MILLISECONDS_DECIMAL_PLACES_DESCRIPTION" | translate}}

      + +

      {{"PAGE_SETTINGS_BREW_MILLISECONDS_DECIMAL_PLACES_DESCRIPTION" | translate}}

      +
      + cancelText="{{'CANCEL'| translate }}" okText="{{'CHOOSE'| translate }}"> 3 - - 2 + + 2 - + 1
      -

      {{"PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE" | translate}}

      -

      {{"PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE" | translate}}

      +

      {{"PAGE_SETTINGS_BREW_DISPLAY_BEAN_IMAGE_DESCRIPTION" | translate}}

      +
      +
      -

      {{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE" | translate}}

      -

      {{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE" | translate}}

      +

      {{"PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION" | translate}}

      +
      +
      {{"PAGE_SETTINGS_CURRENCY" | translate}} + cancelText="{{'CANCEL'| translate }}" okText="{{'CHOOSE'| translate }}"> {{key}} ({{currencies[key]}}) -

      {{"PAGE_SETTINGS_TRACK_CAFFEINE_CONSUMPTION" | translate}}

      -

      {{"PAGE_SETTINGS_TRACK_CAFFEINE_CONSUMPTION_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_TRACK_CAFFEINE_CONSUMPTION" | translate}}

      +

      {{"PAGE_SETTINGS_TRACK_CAFFEINE_CONSUMPTION_DESCRIPTION" | translate}}

      +
      +
      @@ -225,20 +248,18 @@

      {{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

      {{"PAGE_SETTINGS_MANAGE_SECTIONS" | translate}} - + {{"PAGE_SETTINGS_SHOW_ROASTING_SECTION" | translate}} - + {{"PAGE_SETTINGS_SHOW_WATER_SECTION" | translate}} + [(ngModel)]="settings.show_water_section"> - + {{"PAGE_SETTINGS_SHOW_CUPPING_SECTION" | translate}} - + @@ -249,33 +270,32 @@

      {{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

      {{"PAGE_SETTINGS_MANAGE_ARCHIVE" | translate}} {{"PAGE_SETTINGS_SHOW_ARCHIVED_BEANS" | translate}} - + {{"PAGE_SETTINGS_SHOW_ARCHIVED_GREEN_BEANS" | translate}} - + {{"PAGE_SETTINGS_SHOW_ARCHIVED_BREWS" | translate}} - + -

      {{"PAGE_SETTINGS_HIDE_ARCHIVED_BREWS_DASHBOARD" | translate}}

      -

      {{"PAGE_SETTINGS_HIDE_ARCHIVED_BREWS_DASHBOARD_DESCRIPTION" | translate}}

      - + +

      {{"PAGE_SETTINGS_HIDE_ARCHIVED_BREWS_DASHBOARD" | translate}}

      +

      {{"PAGE_SETTINGS_HIDE_ARCHIVED_BREWS_DASHBOARD_DESCRIPTION" | translate}}

      +
      +
      {{"PAGE_SETTINGS_SHOW_ARCHIVED_PREPARATIONS" | translate}} + [(ngModel)]="settings.show_archived_preparations"> {{"PAGE_SETTINGS_SHOW_ARCHIVED_MILLS" | translate}} - + @@ -290,54 +310,75 @@

      {{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

      {{"PAGE_SETTINGS_TAB_BLUETOOTH_SCALE" | translate }} - -

      {{"CONNECT" | translate}}

      + + +

      {{"CONNECT" | translate}}

      +
      - -

      {{"RETRY_CONNECT" | translate}}

      + + +

      {{"RETRY_CONNECT" | translate}}

      +
      - -

      {{"DISCONNECT" | translate}}

      + + +

      {{"DISCONNECT" | translate}}

      +
      -

      {{"SMART_SCALE_STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      - + +

      {{"SMART_SCALE_STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      +
      +
      -

      {{"SMART_SCALE_TARE_ON_BREW" | translate}}

      - + +

      {{"SMART_SCALE_TARE_ON_BREW" | translate}}

      +
      +
      -

      {{"SMART_SCALE_STOP_TIMER_ON_BREW" | translate}}

      - + +

      {{"SMART_SCALE_STOP_TIMER_ON_BREW" | translate}}

      +
      +
      -

      {{"SMART_SCALE_RESET_TIMER_ON_BREW" | translate}}

      - + +

      {{"SMART_SCALE_RESET_TIMER_ON_BREW" | translate}}

      +
      +
      -

      {{"SMART_SCALE_TARE_ON_START_TIMER" | translate}}

      - + +

      {{"SMART_SCALE_TARE_ON_START_TIMER" | translate}}

      +
      +
      -

      {{"SMART_SCALE_MAXIMIZE_ON_START_TIMER" | translate}}

      + +

      {{"SMART_SCALE_MAXIMIZE_ON_START_TIMER" | translate}}

      +
      + [(ngModel)]="settings.bluetooth_scale_maximize_on_start_timer" slot="end">
      -

      {{"IGNORE_NEGATIVE_VALUES" | translate}}

      - + +

      {{"IGNORE_NEGATIVE_VALUES" | translate}}

      +
      +
      @@ -345,8 +386,8 @@

      {{"PAGE_SETTINGS_ANALYTICS_INFORMATION" | translate}}

      {{"IGNORE_ANOMALY_VALUES" | translate}}

      {{"IGNORE_ANOMALY_VALUES_TOOLTIP" | translate}}

      - +
      @@ -355,23 +396,26 @@

      {{"IGNORE_ANOMALY_VALUES" | translate}}

      {{"SMART_SCALE_COMMAND_DELAY" | translate}}

      + tooltip='{{"SMART_SCALE_COMMAND_DELAY_TOOLTIP" | translate}}'>
      - + {{settings.bluetooth_command_delay}} ms -

      {{"SMART_SCALE_LOG" | translate}}

      - + +

      {{"SMART_SCALE_LOG" | translate}}

      +
      +
      -

      {{"SCALE.INFORMATION_DESCRIPTION" | translate}}

      + +

      {{"SCALE.INFORMATION_DESCRIPTION" | translate}}

      @@ -383,18 +427,17 @@

      {{"SMART_SCALE_COMMAND_DELAY" | translate}}

      {{"BREW_FLOW_WEIGHT" | translate}} - + {{"BREW_FLOW_WEIGHT_PER_SECOND" | translate}} + [(ngModel)]="settings.graph.FILTER.calc_flow"> {{"BREW_FLOW_WEIGHT_REALTIME" | translate}} + [(ngModel)]="settings.graph.FILTER.realtime_flow"> @@ -406,18 +449,17 @@

      {{"SMART_SCALE_COMMAND_DELAY" | translate}}

      {{"BREW_FLOW_WEIGHT" | translate}} - + {{"BREW_FLOW_WEIGHT_PER_SECOND" | translate}} + [(ngModel)]="settings.graph.ESPRESSO.calc_flow"> {{"BREW_FLOW_WEIGHT_REALTIME" | translate}} + [(ngModel)]="settings.graph.ESPRESSO.realtime_flow"> @@ -429,60 +471,141 @@

      {{"SMART_SCALE_COMMAND_DELAY" | translate}}

      {{"PAGE_SETTINGS_TAB_BLUETOOTH_PRESSURE" | translate }} - -

      {{"CONNECT" | translate}}

      + + +

      {{"CONNECT" | translate}}

      +
      - -

      {{"RETRY_CONNECT" | translate}}

      + + +

      {{"RETRY_CONNECT" | translate}}

      +
      - -

      {{"DISCONNECT" | translate}}

      + + +

      {{"DISCONNECT" | translate}}

      +
      -

      {{"PRESSURE_STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      - + +

      {{"PRESSURE.STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      +
      +
      -

      {{"PRESSURE_THRESHOLD_ACTIVE" | translate}}

      - + +

      {{"PRESSURE_THRESHOLD_ACTIVE" | translate}}

      +
      +
      -

      {{"PRESSURE_THRESHOLD_BAR" | translate}}

      - - {{this.uiHelper.toFixedIfNecessary(settings.pressure_threshold_bar,1)}} + +

      {{"PRESSURE_THRESHOLD_BAR" | translate}}

      +
      + + {{this.uiHelper.toFixedIfNecessary(settings.pressure_threshold_bar,1)}}
      -

      {{"SMART_SCALE_MAXIMIZE_ON_START_TIMER" | translate}}

      + +

      {{"SMART_SCALE_MAXIMIZE_ON_START_TIMER" | translate}}

      +
      + [(ngModel)]="settings.bluetooth_scale_maximize_on_start_timer" slot="end">
      -

      {{"PRESSURE_LOG" | translate}}

      - + +

      {{"PRESSURE_LOG" | translate}}

      +
      +
      -

      {{"PRESSURE.INFORMATION_DESCRIPTION" | translate}}

      + +

      {{"PRESSURE.INFORMATION_DESCRIPTION" | translate}}

      -
      - - - - +
      + + + + {{"PAGE_SETTINGS_TAB_BLUETOOTH_TEMPERATURE" | translate }} + + + + +

      {{"CONNECT" | translate}}

      +
      + +
      + + +

      {{"RETRY_CONNECT" | translate}}

      +
      + +
      + + +

      {{"DISCONNECT" | translate}}

      +
      + +
      + + +

      {{"TEMPERATURE.STAY_CONNECTED_ON_APP_MINIMIZE" | translate}}

      +
      + +
      + + +

      {{"TEMPERATURE.THRESHOLD_ACTIVE" | translate}}

      +
      + +
      + + +

      {{"TEMPERATURE.THRESHOLD_TEMP" | translate}}

      +
      + + {{this.uiHelper.toFixedIfNecessary(settings.temperature_threshold_temp,1)}} + +
      + + +

      {{"TEMPERATURE.LOG" | translate}}

      +
      + +
      +
      + + +

      {{"TEMPERATURE.INFORMATION_DESCRIPTION" | translate}}

      +
      +
      - +
      +
      +
      + \ No newline at end of file diff --git a/src/app/settings/settings.page.ts b/src/app/settings/settings.page.ts index d4a17565a..94282ba20 100644 --- a/src/app/settings/settings.page.ts +++ b/src/app/settings/settings.page.ts @@ -172,6 +172,78 @@ export class SettingsPage implements OnInit { public async ngOnInit() {} + public async findAndConnectTemperatureDevice(_retry: boolean = false) { + const hasLocationPermission: boolean = + await this.bleManager.hasLocationPermission(); + if (!hasLocationPermission) { + await this.uiAlert.showMessage( + 'TEMPERATURE.REQUEST_PERMISSION.LOCATION', + undefined, + undefined, + true + ); + await this.bleManager.requestLocationPermissions(); + } + + const hasBluetoothPermission: boolean = + await this.bleManager.hasBluetoothPermission(); + if (!hasBluetoothPermission) { + await this.uiAlert.showMessage( + 'TEMPERATURE.REQUEST_PERMISSION.BLUETOOTH', + undefined, + undefined, + true + ); + await this.bleManager.requestBluetoothPermissions(); + } + + const bleEnabled: boolean = await this.bleManager.isBleEnabled(); + if (bleEnabled === false) { + await this.uiAlert.showMessage( + 'TEMPERATURE.BLUETOOTH_NOT_ENABLED', + undefined, + undefined, + true + ); + return; + } + + await this.uiAlert.showLoadingSpinner( + 'TEMPERATURE.BLUETOOTH_SCAN_RUNNING', + true + ); + + const temperatureDevice = + await this.bleManager.tryToFindTemperatureDevice(); + await this.uiAlert.hideLoadingSpinner(); + if (temperatureDevice) { + try { + // We don't need to retry for iOS, because we just did scan before. + + // NEVER!!! Await here, else the bluetooth logic will get broken. + this.bleManager.autoConnectTemperatureDevice( + temperatureDevice.type, + temperatureDevice.id, + false + ); + } catch (ex) {} + + this.settings.temperature_id = temperatureDevice.id; + this.settings.temperature_type = temperatureDevice.type; + + //this.uiAnalytics.trackEvent(SETTINGS_TRACKING.TITLE, SETTINGS_TRACKING.ACTIONS.SCALE.CATEGORY,scale.type); + + await this.saveSettings(); + } else { + this.uiAlert.showMessage( + 'TEMPERATURE.CONNECTION_NOT_ESTABLISHED', + undefined, + undefined, + true + ); + } + } + public async findAndConnectPressureDevice(_retry: boolean = false) { const hasLocationPermission: boolean = await this.bleManager.hasLocationPermission(); @@ -360,6 +432,32 @@ export class SettingsPage implements OnInit { } } + public async disconnectTemperatureDevice() { + this.eventQueue.dispatch( + new AppEvent( + AppEventType.BLUETOOTH_TEMPERATURE_DEVICE_DISCONNECT, + undefined + ) + ); + let disconnected: boolean = true; + + //if scale is connected, we try to disconnect, if scale is not connected, we just forget scale :) + if ( + this.settings.temperature_id !== '' && + this.bleManager.getTemperatureDevice() + ) { + disconnected = await this.bleManager.disconnectTemperatureDevice( + this.settings.temperature_id + ); + } + + if (disconnected) { + this.settings.temperature_id = ''; + this.settings.temperature_type = null; + await this.saveSettings(); + } + } + public async disconnectScale() { this.eventQueue.dispatch( new AppEvent(AppEventType.BLUETOOTH_SCALE_DISCONNECT, undefined) @@ -401,15 +499,24 @@ export class SettingsPage implements OnInit { } } + public async retryConnectTemperatureDevice() { + await this.findAndConnectTemperatureDevice(true); + } + public async retryConnectPressureDevice() { await this.findAndConnectPressureDevice(true); } + public async retryConnectScale() { if (this.isScaleConnected() === false) { await this.findAndConnectScale(true); } } + public isTemperatureDeviceConnected(): boolean { + return this.bleManager.temperatureDevice !== null; + } + public isScaleConnected(): boolean { return this.bleManager.getScale() !== null; } @@ -513,7 +620,8 @@ export class SettingsPage implements OnInit { public async toggleLog() { if ( this.settings.scale_log === true || - this.settings.pressure_log === true + this.settings.pressure_log === true || + this.settings.temperature_log === true ) { Logger.enableLog(); } else { diff --git a/src/assets/BeanconquerorFlowTestDataFourth.json b/src/assets/BeanconquerorFlowTestDataFourth.json new file mode 100644 index 000000000..3ab5a3964 --- /dev/null +++ b/src/assets/BeanconquerorFlowTestDataFourth.json @@ -0,0 +1,2867 @@ +{ + "weight": [ + { + "timestamp": "21:46:13.547", + "brew_time": "0.0", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:13.759", + "brew_time": "0.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:13.851", + "brew_time": "0.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:15.743", + "brew_time": "0.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:15.977", + "brew_time": "0.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.069", + "brew_time": "0.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.158", + "brew_time": "0.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.279", + "brew_time": "0.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.369", + "brew_time": "0.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.459", + "brew_time": "0.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.548", + "brew_time": "0.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.670", + "brew_time": "0.11", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.758", + "brew_time": "0.12", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:16.877", + "brew_time": "1.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.011", + "brew_time": "1.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.058", + "brew_time": "1.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.177", + "brew_time": "1.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.270", + "brew_time": "1.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.411", + "brew_time": "1.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.478", + "brew_time": "1.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.599", + "brew_time": "1.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.689", + "brew_time": "1.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.808", + "brew_time": "1.10", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:17.898", + "brew_time": "2.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.018", + "brew_time": "2.2", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.108", + "brew_time": "2.3", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.228", + "brew_time": "2.4", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.319", + "brew_time": "2.5", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.438", + "brew_time": "2.6", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.530", + "brew_time": "2.7", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.648", + "brew_time": "2.8", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.768", + "brew_time": "2.9", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.856", + "brew_time": "3.1", + "actual_weight": 0, + "old_weight": 0, + "actual_smoothed_weight": 0, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:18.979", + "brew_time": "3.2", + "actual_weight": 0.7, + "old_weight": 0, + "actual_smoothed_weight": 0.2, + "old_smoothed_weight": 0 + }, + { + "timestamp": "21:46:19.068", + "brew_time": "3.3", + "actual_weight": 2.7, + "old_weight": 0.7, + "actual_smoothed_weight": 1, + "old_smoothed_weight": 0.2 + }, + { + "timestamp": "21:46:19.159", + "brew_time": "3.4", + "actual_weight": 3.1, + "old_weight": 2.7, + "actual_smoothed_weight": 1.6, + "old_smoothed_weight": 1 + }, + { + "timestamp": "21:46:19.280", + "brew_time": "3.5", + "actual_weight": 4.2, + "old_weight": 3.1, + "actual_smoothed_weight": 2.4, + "old_smoothed_weight": 1.6 + }, + { + "timestamp": "21:46:19.370", + "brew_time": "3.6", + "actual_weight": 6.2, + "old_weight": 4.2, + "actual_smoothed_weight": 3.5, + "old_smoothed_weight": 2.4 + }, + { + "timestamp": "21:46:19.488", + "brew_time": "3.7", + "actual_weight": 7, + "old_weight": 6.2, + "actual_smoothed_weight": 4.6, + "old_smoothed_weight": 3.5 + }, + { + "timestamp": "21:46:19.581", + "brew_time": "3.8", + "actual_weight": 7.3, + "old_weight": 7, + "actual_smoothed_weight": 5.4, + "old_smoothed_weight": 4.6 + }, + { + "timestamp": "21:46:19.716", + "brew_time": "3.9", + "actual_weight": 0, + "old_weight": 7.3, + "actual_smoothed_weight": 6, + "old_smoothed_weight": 5.4 + }, + { + "timestamp": "21:46:19.786", + "brew_time": "4.1", + "actual_weight": 0, + "old_weight": 7.3, + "actual_smoothed_weight": 6.7, + "old_smoothed_weight": 6 + }, + { + "timestamp": "21:46:19.908", + "brew_time": "4.2", + "actual_weight": 0, + "old_weight": 8.2, + "actual_smoothed_weight": 7.5, + "old_smoothed_weight": 6.7 + }, + { + "timestamp": "21:46:20.000", + "brew_time": "4.3", + "actual_weight": 0, + "old_weight": 9.4, + "actual_smoothed_weight": 8, + "old_smoothed_weight": 7.5 + }, + { + "timestamp": "21:46:20.118", + "brew_time": "4.4", + "actual_weight": 0, + "old_weight": 9.3, + "actual_smoothed_weight": 8.7, + "old_smoothed_weight": 8 + }, + { + "timestamp": "21:46:20.209", + "brew_time": "4.5", + "actual_weight": 0, + "old_weight": 10.4, + "actual_smoothed_weight": 10, + "old_smoothed_weight": 8.7 + }, + { + "timestamp": "21:46:20.300", + "brew_time": "4.6", + "actual_weight": 0, + "old_weight": 12.8, + "actual_smoothed_weight": 10.9, + "old_smoothed_weight": 10 + }, + { + "timestamp": "21:46:20.418", + "brew_time": "4.7", + "actual_weight": 0, + "old_weight": 13.2, + "actual_smoothed_weight": 11.3, + "old_smoothed_weight": 10.9 + }, + { + "timestamp": "21:46:20.511", + "brew_time": "4.8", + "actual_weight": 0, + "old_weight": 12.2, + "actual_smoothed_weight": 11.3, + "old_smoothed_weight": 11.3 + }, + { + "timestamp": "21:46:20.658", + "brew_time": "4.9", + "actual_weight": 0, + "old_weight": 11.3, + "actual_smoothed_weight": 11.6, + "old_smoothed_weight": 11.3 + }, + { + "timestamp": "21:46:20.717", + "brew_time": "4.10", + "actual_weight": 0, + "old_weight": 12.2, + "actual_smoothed_weight": 12.3, + "old_smoothed_weight": 11.6 + }, + { + "timestamp": "21:46:20.837", + "brew_time": "5.1", + "actual_weight": 0, + "old_weight": 13.9, + "actual_smoothed_weight": 12.8, + "old_smoothed_weight": 12.3 + }, + { + "timestamp": "21:46:20.930", + "brew_time": "5.2", + "actual_weight": 0, + "old_weight": 14.1, + "actual_smoothed_weight": 13.4, + "old_smoothed_weight": 12.8 + }, + { + "timestamp": "21:46:21.048", + "brew_time": "5.3", + "actual_weight": 0, + "old_weight": 14.8, + "actual_smoothed_weight": 14.1, + "old_smoothed_weight": 13.4 + }, + { + "timestamp": "21:46:21.140", + "brew_time": "5.4", + "actual_weight": 0, + "old_weight": 15.7, + "actual_smoothed_weight": 14.9, + "old_smoothed_weight": 14.1 + }, + { + "timestamp": "21:46:21.258", + "brew_time": "5.5", + "actual_weight": 0, + "old_weight": 16.6, + "actual_smoothed_weight": 15.6, + "old_smoothed_weight": 14.9 + }, + { + "timestamp": "21:46:21.350", + "brew_time": "5.6", + "actual_weight": 0, + "old_weight": 17.4, + "actual_smoothed_weight": 16.3, + "old_smoothed_weight": 15.6 + }, + { + "timestamp": "21:46:21.468", + "brew_time": "5.7", + "actual_weight": 0, + "old_weight": 17.9, + "actual_smoothed_weight": 16.7, + "old_smoothed_weight": 16.3 + }, + { + "timestamp": "21:46:21.558", + "brew_time": "5.8", + "actual_weight": 0, + "old_weight": 17.6, + "actual_smoothed_weight": 16.7, + "old_smoothed_weight": 16.7 + }, + { + "timestamp": "21:46:21.680", + "brew_time": "5.9", + "actual_weight": 0, + "old_weight": 16.6, + "actual_smoothed_weight": 16.3, + "old_smoothed_weight": 16.7 + }, + { + "timestamp": "21:46:21.767", + "brew_time": "5.10", + "actual_weight": 0, + "old_weight": 15.4, + "actual_smoothed_weight": 16.3, + "old_smoothed_weight": 16.3 + }, + { + "timestamp": "21:46:21.858", + "brew_time": "6.1", + "actual_weight": 0, + "old_weight": 16.4, + "actual_smoothed_weight": 16.5, + "old_smoothed_weight": 16.3 + }, + { + "timestamp": "21:46:21.978", + "brew_time": "6.2", + "actual_weight": 0, + "old_weight": 17, + "actual_smoothed_weight": 17, + "old_smoothed_weight": 16.5 + }, + { + "timestamp": "21:46:22.070", + "brew_time": "6.3", + "actual_weight": 0, + "old_weight": 18, + "actual_smoothed_weight": 17.5, + "old_smoothed_weight": 17 + }, + { + "timestamp": "21:46:22.188", + "brew_time": "6.4", + "actual_weight": 0, + "old_weight": 18.7, + "actual_smoothed_weight": 18.4, + "old_smoothed_weight": 17.5 + }, + { + "timestamp": "21:46:22.281", + "brew_time": "6.5", + "actual_weight": 0, + "old_weight": 20.4, + "actual_smoothed_weight": 19.6, + "old_smoothed_weight": 18.4 + }, + { + "timestamp": "21:46:22.370", + "brew_time": "6.6", + "actual_weight": 0, + "old_weight": 22.6, + "actual_smoothed_weight": 21.2, + "old_smoothed_weight": 19.6 + }, + { + "timestamp": "21:46:22.488", + "brew_time": "6.7", + "actual_weight": 0, + "old_weight": 24.9, + "actual_smoothed_weight": 22, + "old_smoothed_weight": 21.2 + }, + { + "timestamp": "21:46:22.581", + "brew_time": "6.8", + "actual_weight": 0, + "old_weight": 23.9, + "actual_smoothed_weight": 22.6, + "old_smoothed_weight": 22 + }, + { + "timestamp": "21:46:22.697", + "brew_time": "6.9", + "actual_weight": 0, + "old_weight": 23.8, + "actual_smoothed_weight": 23.2, + "old_smoothed_weight": 22.6 + }, + { + "timestamp": "21:46:22.787", + "brew_time": "6.10", + "actual_weight": 0, + "old_weight": 24.8, + "actual_smoothed_weight": 23.8, + "old_smoothed_weight": 23.2 + }, + { + "timestamp": "21:46:22.908", + "brew_time": "7.1", + "actual_weight": 0, + "old_weight": 25.1, + "actual_smoothed_weight": 24.1, + "old_smoothed_weight": 23.8 + }, + { + "timestamp": "21:46:22.997", + "brew_time": "7.2", + "actual_weight": 0, + "old_weight": 24.8, + "actual_smoothed_weight": 24.3, + "old_smoothed_weight": 24.1 + }, + { + "timestamp": "21:46:23.089", + "brew_time": "7.3", + "actual_weight": 0, + "old_weight": 24.9, + "actual_smoothed_weight": 24.6, + "old_smoothed_weight": 24.3 + }, + { + "timestamp": "21:46:23.209", + "brew_time": "7.4", + "actual_weight": 0, + "old_weight": 25.4, + "actual_smoothed_weight": 25.2, + "old_smoothed_weight": 24.6 + }, + { + "timestamp": "21:46:23.301", + "brew_time": "7.5", + "actual_weight": 0, + "old_weight": 26.6, + "actual_smoothed_weight": 25.6, + "old_smoothed_weight": 25.2 + }, + { + "timestamp": "21:46:23.418", + "brew_time": "7.6", + "actual_weight": 0, + "old_weight": 26.5, + "actual_smoothed_weight": 25.6, + "old_smoothed_weight": 25.6 + }, + { + "timestamp": "21:46:23.511", + "brew_time": "7.7", + "actual_weight": 0, + "old_weight": 25.5, + "actual_smoothed_weight": 25.3, + "old_smoothed_weight": 25.6 + }, + { + "timestamp": "21:46:23.628", + "brew_time": "7.8", + "actual_weight": 0, + "old_weight": 24.7, + "actual_smoothed_weight": 25.2, + "old_smoothed_weight": 25.3 + }, + { + "timestamp": "21:46:23.718", + "brew_time": "7.9", + "actual_weight": 0, + "old_weight": 24.9, + "actual_smoothed_weight": 25.2, + "old_smoothed_weight": 25.2 + }, + { + "timestamp": "21:46:23.809", + "brew_time": "7.10", + "actual_weight": 0, + "old_weight": 25.1, + "actual_smoothed_weight": 25.1, + "old_smoothed_weight": 25.2 + }, + { + "timestamp": "21:46:23.929", + "brew_time": "8.1", + "actual_weight": 0, + "old_weight": 24.8, + "actual_smoothed_weight": 25.6, + "old_smoothed_weight": 25.1 + }, + { + "timestamp": "21:46:24.059", + "brew_time": "8.2", + "actual_weight": 0, + "old_weight": 26.8, + "actual_smoothed_weight": 26.7, + "old_smoothed_weight": 25.6 + }, + { + "timestamp": "21:46:24.117", + "brew_time": "8.3", + "actual_weight": 0, + "old_weight": 29.4, + "actual_smoothed_weight": 28.2, + "old_smoothed_weight": 26.7 + }, + { + "timestamp": "21:46:24.230", + "brew_time": "8.4", + "actual_weight": 0, + "old_weight": 31.7, + "actual_smoothed_weight": 29.6, + "old_smoothed_weight": 28.2 + }, + { + "timestamp": "21:46:24.348", + "brew_time": "8.5", + "actual_weight": 0, + "old_weight": 32.8, + "actual_smoothed_weight": 30.2, + "old_smoothed_weight": 29.6 + }, + { + "timestamp": "21:46:24.468", + "brew_time": "8.6", + "actual_weight": 0, + "old_weight": 31.8, + "actual_smoothed_weight": 30.6, + "old_smoothed_weight": 30.2 + }, + { + "timestamp": "21:46:24.565", + "brew_time": "8.7", + "actual_weight": 0, + "old_weight": 31.3, + "actual_smoothed_weight": 31.2, + "old_smoothed_weight": 30.6 + }, + { + "timestamp": "21:46:24.709", + "brew_time": "8.8", + "actual_weight": 0, + "old_weight": 32.7, + "actual_smoothed_weight": 32, + "old_smoothed_weight": 31.2 + }, + { + "timestamp": "21:46:24.767", + "brew_time": "8.9", + "actual_weight": 0, + "old_weight": 33.8, + "actual_smoothed_weight": 32.8, + "old_smoothed_weight": 32 + }, + { + "timestamp": "21:46:24.859", + "brew_time": "9.1", + "actual_weight": 0, + "old_weight": 34.8, + "actual_smoothed_weight": 33.8, + "old_smoothed_weight": 32.8 + }, + { + "timestamp": "21:46:24.978", + "brew_time": "9.2", + "actual_weight": 0, + "old_weight": 36.2, + "actual_smoothed_weight": 34.9, + "old_smoothed_weight": 33.8 + }, + { + "timestamp": "21:46:25.098", + "brew_time": "9.3", + "actual_weight": 0, + "old_weight": 37.5, + "actual_smoothed_weight": 36, + "old_smoothed_weight": 34.9 + }, + { + "timestamp": "21:46:25.190", + "brew_time": "9.4", + "actual_weight": 0, + "old_weight": 38.5, + "actual_smoothed_weight": 36.6, + "old_smoothed_weight": 36 + }, + { + "timestamp": "21:46:25.308", + "brew_time": "9.5", + "actual_weight": 0, + "old_weight": 38.2, + "actual_smoothed_weight": 37.1, + "old_smoothed_weight": 36.6 + }, + { + "timestamp": "21:46:25.398", + "brew_time": "9.6", + "actual_weight": 0, + "old_weight": 38.2, + "actual_smoothed_weight": 37.2, + "old_smoothed_weight": 37.1 + }, + { + "timestamp": "21:46:25.491", + "brew_time": "9.7", + "actual_weight": 0, + "old_weight": 37.4, + "actual_smoothed_weight": 37.3, + "old_smoothed_weight": 37.2 + }, + { + "timestamp": "21:46:25.608", + "brew_time": "9.8", + "actual_weight": 0, + "old_weight": 37.5, + "actual_smoothed_weight": 37.5, + "old_smoothed_weight": 37.3 + }, + { + "timestamp": "21:46:25.699", + "brew_time": "9.9", + "actual_weight": 0, + "old_weight": 38, + "actual_smoothed_weight": 37.7, + "old_smoothed_weight": 37.5 + }, + { + "timestamp": "21:46:25.818", + "brew_time": "9.10", + "actual_weight": 0, + "old_weight": 38.1, + "actual_smoothed_weight": 38.1, + "old_smoothed_weight": 37.7 + }, + { + "timestamp": "21:46:25.908", + "brew_time": "10.1", + "actual_weight": 0, + "old_weight": 39.2, + "actual_smoothed_weight": 39, + "old_smoothed_weight": 38.1 + }, + { + "timestamp": "21:46:26.028", + "brew_time": "10.2", + "actual_weight": 0, + "old_weight": 41.1, + "actual_smoothed_weight": 40.1, + "old_smoothed_weight": 39 + }, + { + "timestamp": "21:46:26.121", + "brew_time": "10.3", + "actual_weight": 0, + "old_weight": 42.5, + "actual_smoothed_weight": 41.1, + "old_smoothed_weight": 40.1 + }, + { + "timestamp": "21:46:26.238", + "brew_time": "10.4", + "actual_weight": 0, + "old_weight": 43.4, + "actual_smoothed_weight": 41.8, + "old_smoothed_weight": 41.1 + }, + { + "timestamp": "21:46:26.358", + "brew_time": "10.5", + "actual_weight": 0, + "old_weight": 43.4, + "actual_smoothed_weight": 42.6, + "old_smoothed_weight": 41.8 + }, + { + "timestamp": "21:46:26.448", + "brew_time": "10.6", + "actual_weight": 0, + "old_weight": 44.5, + "actual_smoothed_weight": 43.7, + "old_smoothed_weight": 42.6 + }, + { + "timestamp": "21:46:26.569", + "brew_time": "10.7", + "actual_weight": 0, + "old_weight": 46.4, + "actual_smoothed_weight": 44.6, + "old_smoothed_weight": 43.7 + }, + { + "timestamp": "21:46:26.660", + "brew_time": "10.8", + "actual_weight": 0, + "old_weight": 46.6, + "actual_smoothed_weight": 45.1, + "old_smoothed_weight": 44.6 + }, + { + "timestamp": "21:46:26.777", + "brew_time": "10.9", + "actual_weight": 0, + "old_weight": 46.3, + "actual_smoothed_weight": 45.6, + "old_smoothed_weight": 45.1 + }, + { + "timestamp": "21:46:26.898", + "brew_time": "11.1", + "actual_weight": 0, + "old_weight": 46.8, + "actual_smoothed_weight": 46.3, + "old_smoothed_weight": 45.6 + }, + { + "timestamp": "21:46:26.990", + "brew_time": "11.2", + "actual_weight": 0, + "old_weight": 47.9, + "actual_smoothed_weight": 46.7, + "old_smoothed_weight": 46.3 + }, + { + "timestamp": "21:46:27.108", + "brew_time": "11.3", + "actual_weight": 0, + "old_weight": 47.7, + "actual_smoothed_weight": 46.8, + "old_smoothed_weight": 46.7 + }, + { + "timestamp": "21:46:27.200", + "brew_time": "11.4", + "actual_weight": 0, + "old_weight": 47, + "actual_smoothed_weight": 48.1, + "old_smoothed_weight": 46.8 + }, + { + "timestamp": "21:46:27.318", + "brew_time": "11.5", + "actual_weight": 0, + "old_weight": 51, + "actual_smoothed_weight": 48.8, + "old_smoothed_weight": 48.1 + }, + { + "timestamp": "21:46:27.438", + "brew_time": "11.6", + "actual_weight": 0, + "old_weight": 50.5, + "actual_smoothed_weight": 49.3, + "old_smoothed_weight": 48.8 + }, + { + "timestamp": "21:46:27.528", + "brew_time": "11.7", + "actual_weight": 0, + "old_weight": 50.5, + "actual_smoothed_weight": 49.6, + "old_smoothed_weight": 49.3 + }, + { + "timestamp": "21:46:27.621", + "brew_time": "11.8", + "actual_weight": 0, + "old_weight": 50.3, + "actual_smoothed_weight": 50.4, + "old_smoothed_weight": 49.6 + }, + { + "timestamp": "21:46:27.738", + "brew_time": "11.9", + "actual_weight": 0, + "old_weight": 52.1, + "actual_smoothed_weight": 50.8, + "old_smoothed_weight": 50.4 + }, + { + "timestamp": "21:46:27.858", + "brew_time": "11.10", + "actual_weight": 0, + "old_weight": 51.8, + "actual_smoothed_weight": 50.9, + "old_smoothed_weight": 50.8 + }, + { + "timestamp": "21:46:27.947", + "brew_time": "12.1", + "actual_weight": 0, + "old_weight": 51.1, + "actual_smoothed_weight": 51.5, + "old_smoothed_weight": 50.9 + }, + { + "timestamp": "21:46:28.039", + "brew_time": "12.2", + "actual_weight": 0, + "old_weight": 53, + "actual_smoothed_weight": 52.5, + "old_smoothed_weight": 51.5 + }, + { + "timestamp": "21:46:28.158", + "brew_time": "12.3", + "actual_weight": 0, + "old_weight": 54.8, + "actual_smoothed_weight": 53.3, + "old_smoothed_weight": 52.5 + }, + { + "timestamp": "21:46:28.249", + "brew_time": "12.4", + "actual_weight": 0, + "old_weight": 55, + "actual_smoothed_weight": 53.5, + "old_smoothed_weight": 53.3 + }, + { + "timestamp": "21:46:28.368", + "brew_time": "12.5", + "actual_weight": 0, + "old_weight": 54.1, + "actual_smoothed_weight": 53.8, + "old_smoothed_weight": 53.5 + }, + { + "timestamp": "21:46:28.459", + "brew_time": "12.6", + "actual_weight": 0, + "old_weight": 54.6, + "actual_smoothed_weight": 54.8, + "old_smoothed_weight": 53.8 + }, + { + "timestamp": "21:46:28.579", + "brew_time": "12.7", + "actual_weight": 0, + "old_weight": 57, + "actual_smoothed_weight": 56.5, + "old_smoothed_weight": 54.8 + }, + { + "timestamp": "21:46:28.670", + "brew_time": "12.8", + "actual_weight": 0, + "old_weight": 60.5, + "actual_smoothed_weight": 58.2, + "old_smoothed_weight": 56.5 + }, + { + "timestamp": "21:46:28.788", + "brew_time": "12.9", + "actual_weight": 0, + "old_weight": 62.1, + "actual_smoothed_weight": 59.6, + "old_smoothed_weight": 58.2 + }, + { + "timestamp": "21:46:28.878", + "brew_time": "12.10", + "actual_weight": 0, + "old_weight": 62.7, + "actual_smoothed_weight": 61.2, + "old_smoothed_weight": 59.6 + }, + { + "timestamp": "21:46:28.968", + "brew_time": "13.1", + "actual_weight": 0, + "old_weight": 65, + "actual_smoothed_weight": 62.8, + "old_smoothed_weight": 61.2 + }, + { + "timestamp": "21:46:29.089", + "brew_time": "13.2", + "actual_weight": 0, + "old_weight": 66.4, + "actual_smoothed_weight": 63.8, + "old_smoothed_weight": 62.8 + }, + { + "timestamp": "21:46:29.180", + "brew_time": "13.3", + "actual_weight": 0, + "old_weight": 66.2, + "actual_smoothed_weight": 64.7, + "old_smoothed_weight": 63.8 + }, + { + "timestamp": "21:46:29.298", + "brew_time": "13.4", + "actual_weight": 0, + "old_weight": 66.9, + "actual_smoothed_weight": 65.5, + "old_smoothed_weight": 64.7 + }, + { + "timestamp": "21:46:29.391", + "brew_time": "13.5", + "actual_weight": 0, + "old_weight": 67.4, + "actual_smoothed_weight": 65.7, + "old_smoothed_weight": 65.5 + }, + { + "timestamp": "21:46:29.508", + "brew_time": "13.6", + "actual_weight": 0, + "old_weight": 66.2, + "actual_smoothed_weight": 65.3, + "old_smoothed_weight": 65.7 + }, + { + "timestamp": "21:46:29.600", + "brew_time": "13.7", + "actual_weight": 0, + "old_weight": 64.5, + "actual_smoothed_weight": 64.6, + "old_smoothed_weight": 65.3 + }, + { + "timestamp": "21:46:29.719", + "brew_time": "13.8", + "actual_weight": 0, + "old_weight": 63, + "actual_smoothed_weight": 64.2, + "old_smoothed_weight": 64.6 + } + ], + "waterFlow": [ + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "0", + "timestamp": "21:46:16.759", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "1", + "timestamp": "21:46:17.809", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "2", + "timestamp": "21:46:18.768", + "value": 0 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "3", + "timestamp": "21:46:19.716", + "value": 8.11111111111111 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "4", + "timestamp": "21:46:20.717", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "5", + "timestamp": "21:46:21.767", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "6", + "timestamp": "21:46:22.787", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "7", + "timestamp": "21:46:23.809", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "8", + "timestamp": "21:46:24.767", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "9", + "timestamp": "21:46:25.818", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "10", + "timestamp": "21:46:26.777", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "11", + "timestamp": "21:46:27.858", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "12", + "timestamp": "21:46:28.879", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + }, + { + "brew_time": "13", + "timestamp": "21:46:29.837", + "value": 0 + } + ], + "realtimeFlow": [ + { + "brew_time": "0.0", + "timestamp": "21:46:13.547", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.1", + "timestamp": "21:46:13.759", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.2", + "timestamp": "21:46:13.851", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.3", + "timestamp": "21:46:15.743", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.4", + "timestamp": "21:46:15.977", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.5", + "timestamp": "21:46:16.069", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.6", + "timestamp": "21:46:16.158", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.7", + "timestamp": "21:46:16.279", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.8", + "timestamp": "21:46:16.370", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.9", + "timestamp": "21:46:16.460", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.10", + "timestamp": "21:46:16.549", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.11", + "timestamp": "21:46:16.670", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "0.12", + "timestamp": "21:46:16.792", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.1", + "timestamp": "21:46:16.877", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.2", + "timestamp": "21:46:17.011", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.3", + "timestamp": "21:46:17.058", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.4", + "timestamp": "21:46:17.177", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.5", + "timestamp": "21:46:17.270", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.6", + "timestamp": "21:46:17.411", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.7", + "timestamp": "21:46:17.478", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.8", + "timestamp": "21:46:17.599", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.9", + "timestamp": "21:46:17.689", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "1.10", + "timestamp": "21:46:17.836", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.1", + "timestamp": "21:46:17.898", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.2", + "timestamp": "21:46:18.018", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.3", + "timestamp": "21:46:18.108", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.4", + "timestamp": "21:46:18.228", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.5", + "timestamp": "21:46:18.319", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.6", + "timestamp": "21:46:18.438", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.7", + "timestamp": "21:46:18.530", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.8", + "timestamp": "21:46:18.648", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "2.9", + "timestamp": "21:46:18.798", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.1", + "timestamp": "21:46:18.856", + "smoothed_weight": 0, + "flow_value": 0 + }, + { + "brew_time": "3.2", + "timestamp": "21:46:18.979", + "smoothed_weight": 0.06999999999999999, + "flow_value": 0.7 + }, + { + "brew_time": "3.3", + "timestamp": "21:46:19.068", + "smoothed_weight": 0.333, + "flow_value": 2.63 + }, + { + "brew_time": "3.4", + "timestamp": "21:46:19.159", + "smoothed_weight": 0.6097000000000001, + "flow_value": 2.7670000000000012 + }, + { + "brew_time": "3.5", + "timestamp": "21:46:19.280", + "smoothed_weight": 0.9687300000000002, + "flow_value": 3.590300000000001 + }, + { + "brew_time": "3.6", + "timestamp": "21:46:19.370", + "smoothed_weight": 1.4918570000000004, + "flow_value": 5.231270000000002 + }, + { + "brew_time": "3.7", + "timestamp": "21:46:19.488", + "smoothed_weight": 2.0426713000000003, + "flow_value": 5.508142999999999 + }, + { + "brew_time": "3.8", + "timestamp": "21:46:19.581", + "smoothed_weight": 2.56840417, + "flow_value": 5.257328699999997 + }, + { + "brew_time": "3.9", + "timestamp": "21:46:19.730", + "smoothed_weight": 3.041563753, + "flow_value": 4.731595830000002 + }, + { + "brew_time": "4.1", + "timestamp": "21:46:19.786", + "smoothed_weight": 3.5574073777, + "flow_value": 5.158436247 + }, + { + "brew_time": "4.2", + "timestamp": "21:46:19.908", + "smoothed_weight": 4.14166663993, + "flow_value": 5.842592622300002 + }, + { + "brew_time": "4.3", + "timestamp": "21:46:20.000", + "smoothed_weight": 4.657499975937, + "flow_value": 5.158333360069998 + }, + { + "brew_time": "4.4", + "timestamp": "21:46:20.118", + "smoothed_weight": 5.2317499783433, + "flow_value": 5.742500024063002 + }, + { + "brew_time": "4.5", + "timestamp": "21:46:20.210", + "smoothed_weight": 5.988574980508971, + "flow_value": 7.568250021656704 + }, + { + "brew_time": "4.6", + "timestamp": "21:46:20.300", + "smoothed_weight": 6.709717482458074, + "flow_value": 7.211425019491031 + }, + { + "brew_time": "4.7", + "timestamp": "21:46:20.418", + "smoothed_weight": 7.258745734212266, + "flow_value": 5.4902825175419245 + }, + { + "brew_time": "4.8", + "timestamp": "21:46:20.511", + "smoothed_weight": 7.66287116079104, + "flow_value": 4.041254265787737 + }, + { + "brew_time": "4.9", + "timestamp": "21:46:20.658", + "smoothed_weight": 8.116584044711937, + "flow_value": 4.537128839208968 + }, + { + "brew_time": "4.10", + "timestamp": "21:46:20.735", + "smoothed_weight": 8.694925640240744, + "flow_value": 5.783415955288067 + }, + { + "brew_time": "5.1", + "timestamp": "21:46:20.837", + "smoothed_weight": 9.235433076216669, + "flow_value": 5.405074359759254 + }, + { + "brew_time": "5.2", + "timestamp": "21:46:20.931", + "smoothed_weight": 9.791889768595002, + "flow_value": 5.564566923783332 + }, + { + "brew_time": "5.3", + "timestamp": "21:46:21.048", + "smoothed_weight": 10.382700791735502, + "flow_value": 5.908110231404997 + }, + { + "brew_time": "5.4", + "timestamp": "21:46:21.140", + "smoothed_weight": 11.004430712561952, + "flow_value": 6.2172992082644996 + }, + { + "brew_time": "5.5", + "timestamp": "21:46:21.258", + "smoothed_weight": 11.643987641305758, + "flow_value": 6.395569287438061 + }, + { + "brew_time": "5.6", + "timestamp": "21:46:21.350", + "smoothed_weight": 12.269588877175181, + "flow_value": 6.256012358694232 + }, + { + "brew_time": "5.7", + "timestamp": "21:46:21.468", + "smoothed_weight": 12.802629989457664, + "flow_value": 5.330411122824827 + }, + { + "brew_time": "5.8", + "timestamp": "21:46:21.558", + "smoothed_weight": 13.182366990511898, + "flow_value": 3.7973700105423447 + }, + { + "brew_time": "5.9", + "timestamp": "21:46:21.680", + "smoothed_weight": 13.40413029146071, + "flow_value": 2.217633009488118 + }, + { + "brew_time": "5.10", + "timestamp": "21:46:21.781", + "smoothed_weight": 13.70371726231464, + "flow_value": 2.9958697085393027 + }, + { + "brew_time": "6.1", + "timestamp": "21:46:21.858", + "smoothed_weight": 14.033345536083178, + "flow_value": 3.296282737685381 + }, + { + "brew_time": "6.2", + "timestamp": "21:46:21.978", + "smoothed_weight": 14.430010982474862, + "flow_value": 3.966654463916832 + }, + { + "brew_time": "6.3", + "timestamp": "21:46:22.070", + "smoothed_weight": 14.857009884227377, + "flow_value": 4.269989017525155 + }, + { + "brew_time": "6.4", + "timestamp": "21:46:22.188", + "smoothed_weight": 15.411308895804641, + "flow_value": 5.542990115772639 + }, + { + "brew_time": "6.5", + "timestamp": "21:46:22.281", + "smoothed_weight": 16.130178006224178, + "flow_value": 7.188691104195364 + }, + { + "brew_time": "6.6", + "timestamp": "21:46:22.370", + "smoothed_weight": 17.00716020560176, + "flow_value": 8.769821993775828 + }, + { + "brew_time": "6.7", + "timestamp": "21:46:22.488", + "smoothed_weight": 17.696444185041585, + "flow_value": 6.892839794398249 + }, + { + "brew_time": "6.8", + "timestamp": "21:46:22.581", + "smoothed_weight": 18.306799766537427, + "flow_value": 6.103555814958419 + }, + { + "brew_time": "6.9", + "timestamp": "21:46:22.697", + "smoothed_weight": 18.956119789883687, + "flow_value": 6.493200233462595 + }, + { + "brew_time": "6.10", + "timestamp": "21:46:22.814", + "smoothed_weight": 19.57050781089532, + "flow_value": 6.14388021011635 + }, + { + "brew_time": "7.1", + "timestamp": "21:46:22.908", + "smoothed_weight": 20.09345702980579, + "flow_value": 5.22949218910469 + }, + { + "brew_time": "7.2", + "timestamp": "21:46:22.998", + "smoothed_weight": 20.57411132682521, + "flow_value": 4.806542970194201 + }, + { + "brew_time": "7.3", + "timestamp": "21:46:23.089", + "smoothed_weight": 21.05670019414269, + "flow_value": 4.825888673174781 + }, + { + "brew_time": "7.4", + "timestamp": "21:46:23.209", + "smoothed_weight": 21.61103017472842, + "flow_value": 5.543299805857309 + }, + { + "brew_time": "7.5", + "timestamp": "21:46:23.301", + "smoothed_weight": 22.09992715725558, + "flow_value": 4.888969825271587 + }, + { + "brew_time": "7.6", + "timestamp": "21:46:23.418", + "smoothed_weight": 22.43993444153002, + "flow_value": 3.4000728427444216 + }, + { + "brew_time": "7.7", + "timestamp": "21:46:23.511", + "smoothed_weight": 22.665940997377017, + "flow_value": 2.260065558469968 + }, + { + "brew_time": "7.8", + "timestamp": "21:46:23.628", + "smoothed_weight": 22.889346897639314, + "flow_value": 2.2340590026229634 + }, + { + "brew_time": "7.9", + "timestamp": "21:46:23.718", + "smoothed_weight": 23.110412207875385, + "flow_value": 2.210653102360709 + }, + { + "brew_time": "7.10", + "timestamp": "21:46:23.823", + "smoothed_weight": 23.279370987087848, + "flow_value": 1.6895877921246338 + }, + { + "brew_time": "8.1", + "timestamp": "21:46:23.929", + "smoothed_weight": 23.631433888379064, + "flow_value": 3.52062901291216 + }, + { + "brew_time": "8.2", + "timestamp": "21:46:24.059", + "smoothed_weight": 24.20829049954116, + "flow_value": 5.768566111620963 + }, + { + "brew_time": "8.3", + "timestamp": "21:46:24.117", + "smoothed_weight": 24.957461449587043, + "flow_value": 7.491709500458832 + }, + { + "brew_time": "8.4", + "timestamp": "21:46:24.230", + "smoothed_weight": 25.74171530462834, + "flow_value": 7.842538550412961 + }, + { + "brew_time": "8.5", + "timestamp": "21:46:24.348", + "smoothed_weight": 26.347543774165505, + "flow_value": 6.058284695371654 + }, + { + "brew_time": "8.6", + "timestamp": "21:46:24.468", + "smoothed_weight": 26.842789396748955, + "flow_value": 4.952456225834503 + }, + { + "brew_time": "8.7", + "timestamp": "21:46:24.565", + "smoothed_weight": 27.42851045707406, + "flow_value": 5.857210603251062 + }, + { + "brew_time": "8.8", + "timestamp": "21:46:24.709", + "smoothed_weight": 28.065659411366656, + "flow_value": 6.37148954292595 + }, + { + "brew_time": "8.9", + "timestamp": "21:46:24.785", + "smoothed_weight": 28.739093470229992, + "flow_value": 6.7343405886333585 + }, + { + "brew_time": "9.1", + "timestamp": "21:46:24.859", + "smoothed_weight": 29.485184123206995, + "flow_value": 7.460906529770028 + }, + { + "brew_time": "9.2", + "timestamp": "21:46:24.978", + "smoothed_weight": 30.286665710886297, + "flow_value": 8.014815876793016 + }, + { + "brew_time": "9.3", + "timestamp": "21:46:25.098", + "smoothed_weight": 31.10799913979767, + "flow_value": 8.213334289113732 + }, + { + "brew_time": "9.4", + "timestamp": "21:46:25.190", + "smoothed_weight": 31.817199225817905, + "flow_value": 7.092000860202354 + }, + { + "brew_time": "9.5", + "timestamp": "21:46:25.308", + "smoothed_weight": 32.45547930323612, + "flow_value": 6.382800774182122 + }, + { + "brew_time": "9.6", + "timestamp": "21:46:25.398", + "smoothed_weight": 32.94993137291251, + "flow_value": 4.944520696763917 + }, + { + "brew_time": "9.7", + "timestamp": "21:46:25.491", + "smoothed_weight": 33.40493823562126, + "flow_value": 4.550068627087498 + }, + { + "brew_time": "9.8", + "timestamp": "21:46:25.608", + "smoothed_weight": 33.864444412059136, + "flow_value": 4.5950617643787695 + }, + { + "brew_time": "9.9", + "timestamp": "21:46:25.700", + "smoothed_weight": 34.28799997085322, + "flow_value": 4.235555587940851 + }, + { + "brew_time": "9.10", + "timestamp": "21:46:25.833", + "smoothed_weight": 34.7791999737679, + "flow_value": 4.91200002914681 + }, + { + "brew_time": "10.1", + "timestamp": "21:46:25.908", + "smoothed_weight": 35.411279976391114, + "flow_value": 6.320800026232121 + }, + { + "brew_time": "10.2", + "timestamp": "21:46:26.028", + "smoothed_weight": 36.120151978752006, + "flow_value": 7.088720023608914 + }, + { + "brew_time": "10.3", + "timestamp": "21:46:26.121", + "smoothed_weight": 36.8481367808768, + "flow_value": 7.279848021247943 + }, + { + "brew_time": "10.4", + "timestamp": "21:46:26.238", + "smoothed_weight": 37.503323102789125, + "flow_value": 6.551863219123248 + }, + { + "brew_time": "10.5", + "timestamp": "21:46:26.358", + "smoothed_weight": 38.202990792510214, + "flow_value": 6.9966768972108895 + }, + { + "brew_time": "10.6", + "timestamp": "21:46:26.448", + "smoothed_weight": 39.02269171325919, + "flow_value": 8.197009207489785 + }, + { + "brew_time": "10.7", + "timestamp": "21:46:26.569", + "smoothed_weight": 39.78042254193328, + "flow_value": 7.577308286740845 + }, + { + "brew_time": "10.8", + "timestamp": "21:46:26.660", + "smoothed_weight": 40.43238028773995, + "flow_value": 6.519577458066763 + }, + { + "brew_time": "10.9", + "timestamp": "21:46:26.792", + "smoothed_weight": 41.06914225896596, + "flow_value": 6.36761971226008 + }, + { + "brew_time": "11.1", + "timestamp": "21:46:26.898", + "smoothed_weight": 41.752228033069365, + "flow_value": 6.830857741034038 + }, + { + "brew_time": "11.2", + "timestamp": "21:46:26.991", + "smoothed_weight": 42.34700522976243, + "flow_value": 5.9477719669306595 + }, + { + "brew_time": "11.3", + "timestamp": "21:46:27.108", + "smoothed_weight": 42.81230470678619, + "flow_value": 4.652994770237626 + }, + { + "brew_time": "11.4", + "timestamp": "21:46:27.200", + "smoothed_weight": 43.63107423610758, + "flow_value": 8.187695293213864 + }, + { + "brew_time": "11.5", + "timestamp": "21:46:27.318", + "smoothed_weight": 44.31796681249682, + "flow_value": 6.868925763892406 + }, + { + "brew_time": "11.6", + "timestamp": "21:46:27.438", + "smoothed_weight": 44.93617013124714, + "flow_value": 6.18203318750318 + }, + { + "brew_time": "11.7", + "timestamp": "21:46:27.528", + "smoothed_weight": 45.47255311812243, + "flow_value": 5.363829868752887 + }, + { + "brew_time": "11.8", + "timestamp": "21:46:27.621", + "smoothed_weight": 46.135297806310184, + "flow_value": 6.6274468818775745 + }, + { + "brew_time": "11.9", + "timestamp": "21:46:27.738", + "smoothed_weight": 46.701768025679165, + "flow_value": 5.664702193689806 + }, + { + "brew_time": "11.10", + "timestamp": "21:46:27.875", + "smoothed_weight": 47.14159122311125, + "flow_value": 4.3982319743208365 + }, + { + "brew_time": "12.1", + "timestamp": "21:46:27.947", + "smoothed_weight": 47.72743210080013, + "flow_value": 5.858408776888808 + }, + { + "brew_time": "12.2", + "timestamp": "21:46:28.039", + "smoothed_weight": 48.434688890720125, + "flow_value": 7.072567899199953 + }, + { + "brew_time": "12.3", + "timestamp": "21:46:28.159", + "smoothed_weight": 49.09122000164811, + "flow_value": 6.565311109279861 + }, + { + "brew_time": "12.4", + "timestamp": "21:46:28.249", + "smoothed_weight": 49.59209800148331, + "flow_value": 5.008779998351969 + }, + { + "brew_time": "12.5", + "timestamp": "21:46:28.368", + "smoothed_weight": 50.09288820133498, + "flow_value": 5.007901998516715 + }, + { + "brew_time": "12.6", + "timestamp": "21:46:28.459", + "smoothed_weight": 50.78359938120148, + "flow_value": 6.907111798665042 + }, + { + "brew_time": "12.7", + "timestamp": "21:46:28.579", + "smoothed_weight": 51.75523944308134, + "flow_value": 9.71640061879853 + }, + { + "brew_time": "12.8", + "timestamp": "21:46:28.670", + "smoothed_weight": 52.789715498773205, + "flow_value": 10.344760556918686 + }, + { + "brew_time": "12.9", + "timestamp": "21:46:28.788", + "smoothed_weight": 53.78074394889589, + "flow_value": 9.91028450122684 + }, + { + "brew_time": "12.10", + "timestamp": "21:46:28.905", + "smoothed_weight": 54.9026695540063, + "flow_value": 11.219256051104125 + }, + { + "brew_time": "13.1", + "timestamp": "21:46:28.968", + "smoothed_weight": 56.052402598605674, + "flow_value": 11.497330445993725 + }, + { + "brew_time": "13.2", + "timestamp": "21:46:29.089", + "smoothed_weight": 57.067162338745106, + "flow_value": 10.147597401394322 + }, + { + "brew_time": "13.3", + "timestamp": "21:46:29.180", + "smoothed_weight": 58.0504461048706, + "flow_value": 9.832837661254956 + }, + { + "brew_time": "13.4", + "timestamp": "21:46:29.298", + "smoothed_weight": 58.985401494383545, + "flow_value": 9.349553895129432 + }, + { + "brew_time": "13.5", + "timestamp": "21:46:29.391", + "smoothed_weight": 59.706861344945196, + "flow_value": 7.214598505616507 + }, + { + "brew_time": "13.6", + "timestamp": "21:46:29.508", + "smoothed_weight": 60.18617521045068, + "flow_value": 4.793138655054818 + }, + { + "brew_time": "13.7", + "timestamp": "21:46:29.600", + "smoothed_weight": 60.46755768940561, + "flow_value": 2.813824789549315 + }, + { + "brew_time": "13.8", + "timestamp": "21:46:29.719", + "smoothed_weight": 60.730801920465055, + "flow_value": 2.632442310594456 + }, + { + "brew_time": "13.9", + "timestamp": "21:46:29.850", + "smoothed_weight": 60.78772172841855, + "flow_value": 0.5691980795349849 + }, + { + "brew_time": "14.1", + "timestamp": "21:46:29.898", + "smoothed_weight": 60.658949555576704, + "flow_value": -1.2877217284184894 + }, + { + "brew_time": "14.2", + "timestamp": "21:46:30.019", + "smoothed_weight": 60.433054600019034, + "flow_value": -2.258949555576706 + }, + { + "brew_time": "14.3", + "timestamp": "21:46:30.110", + "smoothed_weight": 60.20974914001713, + "flow_value": -2.233054600019031 + }, + { + "brew_time": "14.4", + "timestamp": "21:46:30.228", + "smoothed_weight": 60.08877422601542, + "flow_value": -1.2097491400171378 + }, + { + "brew_time": "14.5", + "timestamp": "21:46:30.320", + "smoothed_weight": 60.08989680341387, + "flow_value": 0.011225773984548937 + }, + { + "brew_time": "14.6", + "timestamp": "21:46:30.438", + "smoothed_weight": 60.25090712307249, + "flow_value": 1.6101031965861523 + }, + { + "brew_time": "14.7", + "timestamp": "21:46:30.530", + "smoothed_weight": 60.37581641076524, + "flow_value": 1.24909287692752 + }, + { + "brew_time": "14.8", + "timestamp": "21:46:30.649", + "smoothed_weight": 60.47823476968872, + "flow_value": 1.024183589234795 + }, + { + "brew_time": "14.9", + "timestamp": "21:46:30.745", + "smoothed_weight": 60.84041129271985, + "flow_value": 3.6217652303113113 + } + ], + "pressureFlow": [ + { + "timestamp": "21:46:13.600", + "brew_time": "0.1", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:16.571", + "brew_time": "0.11", + "actual_pressure": 9, + "old_pressure": 6 + }, + { + "timestamp": "21:46:17.651", + "brew_time": "1.9", + "actual_pressure": 2, + "old_pressure": 6 + }, + { + "timestamp": "21:46:18.596", + "brew_time": "2.8", + "actual_pressure": 3, + "old_pressure": 6 + }, + { + "timestamp": "21:46:19.676", + "brew_time": "3.9", + "actual_pressure": 4, + "old_pressure": 6 + }, + { + "timestamp": "21:46:20.621", + "brew_time": "4.9", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:21.701", + "brew_time": "5.10", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:22.646", + "brew_time": "6.9", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:23.733", + "brew_time": "7.10", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:24.672", + "brew_time": "8.8", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:25.750", + "brew_time": "9.10", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:26.702", + "brew_time": "10.9", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:27.775", + "brew_time": "11.10", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:28.721", + "brew_time": "12.9", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:29.801", + "brew_time": "13.9", + "actual_pressure": 7, + "old_pressure": 6 + }, + { + "timestamp": "21:46:30.748", + "brew_time": "14.10", + "actual_pressure": 1, + "old_pressure": 6 + } + ], + "temperatureFlow": [ + { + "timestamp": "21:46:13.600", + "brew_time": "0.1", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:16.571", + "brew_time": "0.11", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:17.651", + "brew_time": "1.9", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:18.596", + "brew_time": "2.8", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:19.676", + "brew_time": "3.9", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:20.621", + "brew_time": "4.9", + "actual_temperature": 23.6, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:21.701", + "brew_time": "5.10", + "actual_temperature": 23.5, + "old_temperature": 23.6 + }, + { + "timestamp": "21:46:22.646", + "brew_time": "6.9", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:23.733", + "brew_time": "7.10", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:24.672", + "brew_time": "8.8", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:25.750", + "brew_time": "9.10", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:26.702", + "brew_time": "10.9", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:27.775", + "brew_time": "11.10", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:28.721", + "brew_time": "12.9", + "actual_temperature": 90, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:29.801", + "brew_time": "13.9", + "actual_temperature": 23.5, + "old_temperature": 23.5 + }, + { + "timestamp": "21:46:30.748", + "brew_time": "14.10", + "actual_temperature": 70, + "old_temperature": 23.5 + } + ] +} diff --git a/src/assets/custom-ion-icons/beanconqueror-pressure.svg b/src/assets/custom-ion-icons/beanconqueror-pressure.svg index afb7e7f6a..af0373fea 100644 --- a/src/assets/custom-ion-icons/beanconqueror-pressure.svg +++ b/src/assets/custom-ion-icons/beanconqueror-pressure.svg @@ -1 +1,12 @@ - + + + + + + + + \ No newline at end of file diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 5023a0480..fa76484ce 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -816,6 +816,15 @@ "Update to Ionic 6.4.0", "Smaller bug fixes" ] + }, + "6.4.0": { + "TITLE": "Version 6.4.0: What's new?", + "DESCRIPTION": [ + "Bluetooth thermometers", + "Support for ETI Ltd thermometers (ThermaQ Blue, BlueTherm, etc) - Sensors - Thanks to Myles", + "Autostart timer on a specific temperature - editable in settings", + "Display name of temperature device and mac-address on connect" + ] } }, "CUSTOM_PARAMETERS": "Customize parameter", @@ -1206,7 +1215,7 @@ "IMAGES_GETTING_DOWNLOADED": "Images getting downloaded" }, "RETRY_CONNECT": "Retry connection", - "SMART_SCALE_STAY_CONNECTED_ON_APP_MINIMIZE": "Let scale connected even when app is minimized/inactive", + "SMART_SCALE_STAY_CONNECTED_ON_APP_MINIMIZE": "Keep scale connected even when app is in the background", "BREW_FLOW_WEIGHT": "Weight", "BREW_FLOW_WEIGHT_PER_SECOND": "Flow (Calc.)", "ROAST_TYPE_UNKNOWN": "Unknown", @@ -1271,9 +1280,11 @@ "SMART_SCALE_STOP_TIMER_ON_BREW": "Stop scale timer on new brew", "SMART_SCALE_RESET_TIMER_ON_BREW": "Reset scale timer on new brew", "BREW_PRESSURE_FLOW": "Pressure", + "BREW_TEMPERATURE_REALTIME": "Temperature", "PAGE_SETTINGS_TAB_BLUETOOTH_SCALE_SHOW_GRAPHS_FILTER": "Show graphs for filter", "PAGE_SETTINGS_TAB_BLUETOOTH_SCALE_SHOW_GRAPHS_ESPRESSO": "Show graphs for espresso", "PAGE_SETTINGS_TAB_BLUETOOTH_PRESSURE": "Pressure device", + "PAGE_SETTINGS_TAB_BLUETOOTH_TEMPERATURE": "Temperature device", "PRESSURE_LOG": "Activate logfiles for pressure device", "PRESSURE_THRESHOLD_ACTIVE": "Start timer with predefined pressure", "PRESSURE_THRESHOLD_BAR": "Threshold pressure", @@ -1290,6 +1301,7 @@ "CONNECTED_SUCCESSFULLY": "Pressure device connected", "DISCONNECTED_SUCCESSFULLY": "Pressure device disconnected", "DISCONNECTED_UNPLANNED": "Pressure device disconnected unplanned", + "STAY_CONNECTED_ON_APP_MINIMIZE": "Keep scale connected even when app is in the background", "INFORMATION_DESCRIPTION": "Supported devices are: Popsicle, Pressensor, Smart Espresso Profiler", "BLUETOOTH_SCAN_RUNNING": "Pressure device will be searched for 60 seconds, please wait", "BLUETOOTH_NOT_ENABLED": "Bluetooth not activated, please activate to work properly", @@ -1298,8 +1310,26 @@ "BLUETOOTH": "To find pressure devices, the app needs access to bluetooth" } }, + "TEMPERATURE": { + "CONNECTION_NOT_ESTABLISHED": "Temperature device not found found or connection could not be established", + "CONNECTED_SUCCESSFULLY": "Temperature device connected", + "DISCONNECTED_SUCCESSFULLY": "Temperature device disconnected", + "DISCONNECTED_UNPLANNED": "Temperature device disconnected unplanned", + "STAY_CONNECTED_ON_APP_MINIMIZE": "Keep thermometer connected even when app is in the background", + "INFORMATION_DESCRIPTION": "Supported devices are: ETI Ltd Thermometers (ThermaQ Blue, BlueTherm, etc)", + "BLUETOOTH_SCAN_RUNNING": "Temperature device will be searched for 60 seconds, please wait", + "BLUETOOTH_NOT_ENABLED": "Bluetooth not activated, please activate to work properly", + "REQUEST_PERMISSION": { + "LOCATION": "To find temperature devices, the app needs access to the location.", + "BLUETOOTH": "To find temperature devices, the app needs access to bluetooth" + }, + "LOG": "Activate logfiles for temperature device", + "THRESHOLD_ACTIVE": "Start timer with predefined temperature", + "THRESHOLD_TEMP": "Threshold temperature" + }, "POPOVER_BLUETOOTH_ACTION_RECONNECT_SCALE": "Reconnect scale", "POPOVER_BLUETOOTH_ACTION_RECONNECT_PRESSURE_DEVICE": "Reconnect pressure device", + "POPOVER_BLUETOOTH_ACTION_RECONNECT_TEMPERATURE_DEVICE": "Reconnect temperature device", "POPOVER_SHOW_BREWS": "Show brews", "LAST_USED_GRIND_SIZE_SETTING": "Last grind setting", "LAST_USED_BEAN": "Last bean", @@ -1361,4 +1391,4 @@ "CUSTOM_REPEAT_PARAMETERS_DESCRIPTION": "Activate customized repeat?", "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE": "Numeric keyboard for grind setting?", "PAGE_SETTINGS_USE_NUERMIC_KEYBOARD_FOR_GRIND_SIZE_DESCRIPTION": "Do you want have the numeric keyboard for the grind setting, instead of the usage of the whole keyboard?" -} +} \ No newline at end of file diff --git a/src/classes/brew/brewFlow.ts b/src/classes/brew/brewFlow.ts index df0da32f2..0c1924672 100755 --- a/src/classes/brew/brewFlow.ts +++ b/src/classes/brew/brewFlow.ts @@ -1,21 +1,20 @@ - export class BrewFlow { public weight: Array; public waterFlow: Array; public realtimeFlow: Array; public pressureFlow: Array; + public temperatureFlow: Array; constructor() { this.weight = []; this.waterFlow = []; this.realtimeFlow = []; this.pressureFlow = []; + this.temperatureFlow = []; } - } export interface IBrewWeightFlow { - timestamp: string; brew_time: string; actual_weight: number; @@ -23,13 +22,11 @@ export interface IBrewWeightFlow { actual_smoothed_weight: number; old_smoothed_weight: number; calculated_real_flow: number; - } export interface IBrewWaterFlow { value: number; brew_time: string; timestamp: string; - } export interface IBrewRealtimeWaterFlow { flow_value: number; @@ -50,3 +47,10 @@ export interface IBrewPressureFlow { brew_time: string; timestamp: string; } + +export interface IBrewTemperatureFlow { + actual_temperature: number; + old_temperature: number; + brew_time: string; + timestamp: string; +} diff --git a/src/classes/devices/etiTemperature.ts b/src/classes/devices/etiTemperature.ts new file mode 100644 index 000000000..9e56c02ed --- /dev/null +++ b/src/classes/devices/etiTemperature.ts @@ -0,0 +1,96 @@ +import { PeripheralData } from './ble.types'; +import { Logger } from './common/logger'; + +import { + Temperature, + TemperatureDevice, + fahrenheitToCelcius, + celciusToFahrenheit, +} from './temperatureBluetoothDevice'; + +declare var ble: any; + +export class ETITemperature extends TemperatureDevice { + public static DEVICE_NAME = 'THERMAQBLUE'; + public static TEMPERATURE_SERVICE_UUID = + '45544942-4c55-4554-4845-524db87ad700'; + public static TEMPERATURE_CHANNEL_1_TEMP_CHAR_UUID = + '45544942-4c55-4554-4845-524db87ad701'; + public static TEMPERATURE_CHANNEL_2_TEMP_CHAR_UUID = + '45544942-4c55-4554-4845-524db87ad703'; + public static TEMPERATURE_CHANNEL_1_CONFIG_CHAR_UUID = + '45544942-4C55-4554-4845-524DB87AD707'; + public static TEMPERATURE_CHANNEL_2_CONFIG_CHAR_UUID = + '45544942-4c55-4554-4845-524db87ad708'; + public static TEMPERATURE_DEVICE_CONFIG_CHAR_UUID = + '45544942-4c55-4554-4845-524db87ad709'; + public static TEMPERATURE_TRIM_CHAR_UUID = + '45544942-4c55-4554-4845-524db87ad70a'; + + private logger: Logger; + + constructor(data: PeripheralData) { + super(data); + this.connect(); + this.logger = new Logger('ETITemperatureSensor'); + } + + public static test(device: any): boolean { + return ( + device && + device.name && + device.name.toUpperCase().includes(ETITemperature.DEVICE_NAME) + ); + } + + public connect() { + this.attachNotification(); + } + + public disconnect() { + this.deattachNotification(); + } + + private attachNotification() { + ble.startNotification( + this.device_id, + ETITemperature.TEMPERATURE_SERVICE_UUID, + ETITemperature.TEMPERATURE_CHANNEL_1_TEMP_CHAR_UUID, + + async (_data: any) => { + this.parseStatusUpdate(new Float32Array(_data)); + }, + + (_data: any) => {} + ); + } + + /** + * ETI Temperature data is a Little Endian IEEE 754 encoded float + * @param temperatureRawStatus The raw byte array retreived from BLE. + */ + private parseStatusUpdate(temperatureRawStatus: Float32Array) { + this.logger.log( + 'temperatureRawStatus received is: ' + temperatureRawStatus + ); + + var temperatureString = temperatureRawStatus.toString(); + let temperature: any = 0.0; + // Temperature precision of a K-type thermocouple is ~0.75% or +-0.5C at 0-100C + // therefore rounding to 1 significant figure is sufficient + temperature = parseFloat(temperatureString).toFixed(1); + this.logger.log('temperature is: ' + temperature); + + this.setTemperature(temperature, temperatureRawStatus); + } + + private deattachNotification() { + ble.stopNotification( + this.device_id, + ETITemperature.TEMPERATURE_SERVICE_UUID, + ETITemperature.TEMPERATURE_CHANNEL_1_TEMP_CHAR_UUID, + (e: any) => {}, + (e: any) => {} + ); + } +} diff --git a/src/classes/devices/index.ts b/src/classes/devices/index.ts index 594bd98af..c85d549a7 100644 --- a/src/classes/devices/index.ts +++ b/src/classes/devices/index.ts @@ -10,6 +10,8 @@ import { TransducerDirectPressure } from './transducerDirectPressure'; import { EurekaPrecisaScale } from './eurekaPrecisaScale'; import { PrsPressure } from './prsPressure'; import { SkaleScale } from './skale'; +import { TemperatureDevice } from './temperatureBluetoothDevice'; +import { ETITemperature } from './etiTemperature'; export { BluetoothScale, SCALE_TIMER_COMMAND } from './bluetoothDevice'; export enum ScaleType { @@ -27,6 +29,10 @@ export enum PressureType { PRS = 'PRS', } +export enum TemperatureType { + ETI = 'ETI', +} + export function makeDevice( type: ScaleType, data: PeripheralData @@ -64,3 +70,15 @@ export function makePressureDevice( return null; } } + +export function makeTemperatureDevice( + type: TemperatureType, + data: PeripheralData +): TemperatureDevice | null { + switch (type) { + case TemperatureType.ETI: + return new ETITemperature(data); + default: + return null; + } +} diff --git a/src/classes/devices/temperatureBluetoothDevice.ts b/src/classes/devices/temperatureBluetoothDevice.ts new file mode 100644 index 000000000..604864216 --- /dev/null +++ b/src/classes/devices/temperatureBluetoothDevice.ts @@ -0,0 +1,118 @@ +import { PeripheralData } from './ble.types'; +import { EventEmitter } from '@angular/core'; +import { Logger } from './common/logger'; +import { to128bitUUID } from './common/util'; + +declare var ble: any; + +export interface Temperature { + actual: number; + old: number; +} + +export interface TemperatureChangeEvent extends Temperature { + date: Date; +} + +const UPDATE_EVERY_MS = 1000 / 10; + +export abstract class TemperatureDevice { + public static BATTERY_SERVICE_UUID = to128bitUUID('180F'); + public static BATTERY_CHAR_UUID = to128bitUUID('2A19'); + + public device_id: string; + public device_name: string; + public batteryLevel: number; + public temperatureChange: EventEmitter = + new EventEmitter(); + protected temperature: Temperature; + protected temperatureParentLogger: Logger; + + private lastTemperatureSetTime: number = 0; + + protected constructor(data: PeripheralData) { + this.device_id = data.id; + try { + this.device_name = data.name; + } catch (ex) {} + this.temperature = { + actual: 0, + old: 0, + }; + this.temperatureParentLogger = new Logger(); + } + + public abstract connect(): void; + public abstract disconnect(): void; + + public getTemperature() { + return this.temperature.actual; + } + + public getOldTemperature() { + return this.temperature.old; + } + + /** + * getBattery returns the battery level of the device + * + * @return a promise resolving to a number from 0 to 100 representing available battery percentage + */ + public getBattery(): Promise { + return new Promise((resolve, reject) => { + ble.read( + this.device_id, + TemperatureDevice.BATTERY_SERVICE_UUID, + TemperatureDevice.BATTERY_CHAR_UUID, + (buffer: ArrayBuffer) => { + const data = new Uint8Array(buffer); + resolve(data[0]); + }, + (err: unknown) => { + if (!(err instanceof Error)) { + err = new Error(JSON.stringify(err)); + } + reject(err); + } + ); + }); + } + + protected setTemperature(_newTemperature: number, _rawData: any) { + if (Date.now() - this.lastTemperatureSetTime < UPDATE_EVERY_MS) { + return; + } + this.lastTemperatureSetTime = Date.now(); + + this.temperatureParentLogger.log( + 'Bluetooth Temperature Device - New temperature recieved ' + + _newTemperature + + ' - raw data ' + + JSON.stringify(_rawData) + ); + + this.temperature.actual = _newTemperature; + const actualDate = new Date(); + try { + this.temperatureParentLogger.log( + 'Bluetooth Pressure Device - Are subscriptions existing? ' + + this.temperatureChange?.observers?.length + ); + } catch (ex) {} + this.temperatureChange.emit({ + actual: this.temperature.actual, + old: this.temperature.old, + date: actualDate, + }); + + this.temperature.old = _newTemperature; + } +} + +export function fahrenheitToCelcius(temp: number) { + return (temp - 32) * (5 / 9); +} + +export function celciusToFahrenheit(temp: number) { + return temp * (9 / 5) + 32; +} diff --git a/src/classes/settings/settings.ts b/src/classes/settings/settings.ts index 0d93dbcff..339daa81e 100755 --- a/src/classes/settings/settings.ts +++ b/src/classes/settings/settings.ts @@ -19,7 +19,7 @@ import { IBeanPageFilter } from '../../interfaces/bean/iBeanPageFilter'; import { IBrewGraphs } from '../../interfaces/brew/iBrewGraphs'; import { BeanManageParameter } from '../parameter/beanManageParameter'; -import { PressureType, ScaleType } from '../devices'; +import { TemperatureType, PressureType, ScaleType } from '../devices'; import { BeanListViewParameter } from '../parameter/beanListViewParameter'; import { RepeatBrewParameter } from '../parameter/repeatBrewParameter'; @@ -113,6 +113,12 @@ export class Settings implements ISettings { public pressure_threshold_bar: number; public pressure_stay_connected: boolean; + public temperature_id: string; + public temperature_type: TemperatureType; + public temperature_log: boolean; + public temperature_threshold_active: boolean; + public temperature_threshold_temp: number; + public temperature_stay_connected: boolean; public currency: string; public brew_display_bean_image: boolean; @@ -157,6 +163,7 @@ export class Settings implements ISettings { calc_flow: true, realtime_flow: true, pressure: true, + temperature: true, } as IBrewGraphs; } diff --git a/src/components/brews/brew-brewing/brew-brewing.component.html b/src/components/brews/brew-brewing/brew-brewing.component.html index 3dea85d94..7a3265e4d 100644 --- a/src/components/brews/brew-brewing/brew-brewing.component.html +++ b/src/components/brews/brew-brewing/brew-brewing.component.html @@ -1,155 +1,121 @@ - + {{"BREW_HEADER_BEFORE_BREW" | translate }} + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_GRIND_SIZE" | translate}} - + - + + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_GRIND_WEIGHT" | translate}} - - + + - + {{"BREW_DATA_BREW_TEMPERATURE" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_BREW_TEMPERATURE' | translate}}" prevent-characters + remove-empty-number type="text"> + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_PREPARATION_METHOD" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_PREPARATION_METHOD' | translate}}" [show-finished]="false" + preparation-overlay (ionFocus)="preparationMethodFocused()" (ionChange)="resetPreparationTools();"> + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_BEAN_TYPE" | translate}} - + - + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_MILL" | translate}} - + + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_MILL_SPEED" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_MILL_SPEED' | translate}}" prevent-characters remove-empty-number + type="text"> + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_MILL_TIMER" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_MILL_TIMER' | translate}}" prevent-characters remove-empty-number + type="text"> + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_PRESSURE_PROFILE" | translate}} - + - + data.getPreparation().use_custom_parameters)" lines="none" + style="margin-top: 5px;margin-bottom: 5px;"> - + {{result}} @@ -157,97 +123,78 @@ + [disabled]="getActivePreparationTools().length <= 0" [style.order]="uiBrewHelper.fieldOrder(settings.brew_order.before.method_of_preparation_tool, + data.getPreparation().brew_order.before.method_of_preparation_tool, + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_PREPARATION_METHOD_TOOL" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_PREPARATION_METHOD' | translate}}" [show-finished]="true" + multiple="true" [preparation-id]="data.method_of_preparation" preparation-tool-overlay> - - + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_WATER" | translate}} - + + data.getPreparation().use_custom_parameters)" lines="inset"> {{"BREW_DATA_BEAN_WEIGHT_IN" | translate}} - + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_BEAN_WEIGHT_IN' | translate}}" prevent-characters remove-empty-number + type="text"> + + data.getPreparation().use_custom_parameters)" lines="inset"> - + {{"BREW_DATA_VESSEL_NAME" | translate}} - + {{"BREW_DATA_VESSEL_WEIGHT" | translate}} + placeholder="{{'BREW_DATA_VESSEL_WEIGHT' | translate}}" prevent-characters remove-empty-number + type="text"> - + data.getPreparation().use_custom_parameters)" lines="none" + style="margin-top: 5px;margin-bottom: 5px;"> - + {{result.name}} - {{result.weight}} @@ -262,27 +209,28 @@ {{"PREPARATION_DEVICE.TYPE_XENIA.PRESS_START_SCRIPT" | translate}} - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} - - - {{script.TITLE}} - + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_PREPARATION_METHOD' | translate}}"> + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_1" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_2" | translate}} + + + {{script.TITLE}} + - - {{"PREPARATION_DEVICE.TYPE_XENIA.FIRST_DRIP_SCRIPT" | translate}} + {{"PREPARATION_DEVICE.TYPE_XENIA.FIRST_DRIP_SCRIPT" | translate}} + placeholder="{{'BREW.PLACE_HOLDER.BREW_DATA_PREPARATION_METHOD' | translate}}"> {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_0" | translate}} @@ -297,75 +245,73 @@ - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_AT_WEIGHT" | translate}} - - - - {{"PREPARATION_DEVICE.TYPE_XENIA.CHOOSE_SCRIPT_AT_WEIGHT" | translate}} - - - - {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_STOP" | translate}} - - - {{script.TITLE}} - - + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_AT_WEIGHT" | translate}} + + + + {{"PREPARATION_DEVICE.TYPE_XENIA.CHOOSE_SCRIPT_AT_WEIGHT" | translate}} + + + {{"PREPARATION_DEVICE.TYPE_XENIA.SCRIPT_LIST_GENERAL_STOP" | translate}} + + + {{script.TITLE}} + + - + {{"BREW_HEADER_WHILE_BREW" | translate }} - - - - - - + + + + + + - + data.getPreparation().use_custom_parameters)" lines="inset"> + + data.getPreparation().use_custom_parameters)" class="ion-padding-bottom-half" lines="none">
      - {{'BREW_FLOW_WEIGHT' | translate}} - {{'BREW_FLOW_WEIGHT_PER_SECOND' | translate}} - {{'BREW_FLOW_WEIGHT_REALTIME' | translate}} - {{'BREW_PRESSURE_FLOW' | translate}} + {{'BREW_FLOW_WEIGHT' | translate}} + {{'BREW_FLOW_WEIGHT_PER_SECOND' | + translate}} + {{'BREW_FLOW_WEIGHT_REALTIME' | + translate}} + {{'BREW_PRESSURE_FLOW' | translate}} + {{'BREW_TEMPERATURE_REALTIME' | + translate}}
      - - - + +
      ? g
      ({{data.getBrewRatio()}})
      @@ -374,10 +320,10 @@
      -
      - - - + + + +
      ? g/s
      ? g/s
      @@ -386,22 +332,31 @@
      - - + + -
      ?
      +
      ? bar
      + + + +
      ? °C
      +
      + + + +
      +
      - @@ -412,41 +367,29 @@ - + + label="{{'BREW_DATA_TIME' | translate}}"> - + data.getPreparation().use_custom_parameters)" lines="full"> {{'BREW_DATA_CALCULATED_COFFEE_BREW_TIME' | translate}}: {{data.getFormattedCoffeeBrewTime()}} @@ -454,34 +397,26 @@ - + data.getPreparation().use_custom_parameters)" lines="inset"> + - - + data.getPreparation().use_custom_parameters)" lines="inset"> +

      @R432H>#}sTh9Pj+QD*j7u4$EdB#-{h?-T& z>4MW_uHR-twy}P8TijFa7eOw6#i(dwC#IVNkIhfDZ*PBK{<8j!hPhhbtS=-!Z}gV5 zZ6!b2@#@{L2o$L>R_zh`oup<>1I?t5HTZZ$DH!DrCh0@olkGh=iNJck_Be+lAU(Z5 z+qV)7XO3sbI@2umcC*-;w*q>CxampN_D5fRosi%R!@u^k343~)GOWx|iYdG-my^Lx z>!@U8d%VA8eD3ldX$f793wxw_YO$ZbM=+5y0o7`gBD?RpuUo!Haj`1uUhNU5B8-q)Ew$%vMbJRx zXlL02RR!9oVP?9qoXi!rdw+~cup-%vg{KRX!TLq=O%fXSY+H1W{4LB2sd2$_upki3LLIE6G`bNlSEplb zVnAmeGiBZ9(|t{~^t!ZF41|$Hc%|I}mtg~-=c#mte}iC2=YfQz_%6e4%NnXC$YsJz zSn+u@3y~&V`_pr;P9IAfej57XHj0dri+ac}@@h2A_gM6Kaz7;eIQ4V(Ixcvwx3h)x z4nh3*bz>3}i;5c;J&6Tu4|}={7tkscbfln$vnIRc!^Y-q!Ulg!m zvjC6th@1(my4qPS9SGDpwj-=r7|`@grb86P2b}VIgU2;c<#$vP$w35%Z!#N_1gvOq zX~2l}w6FA&ngYBu$0Wd)uRh6l9r++-gPAWc9n-TE35Qx0TFJ>J>$%Z1g{-pk`mCgX z1#f*(zq-;=L(Jta!?CV>;mRL&7i-gqP|OSXhhc^8Act}imne5n{Ge-Lu+jevDD7#tr3*c;yV zOqev3pno~(D+8$lscfrB@bKlEkE3&*so!pcC4+xb=zbGFU4zsA+c(Pt3`2|;81sl$ zId1EAYiy+>Qw&lnoF?7^nJD3Iq~+9d2P*c|;8w)x8R`#~5TXV#9(aQ$JTB2xha!vS{>$nBf`U z-avFl955Ce>1OgjCPZI+mM|I6QEpP4yu`W0wEv2v1bZ`^%zvEV6+as18bW^&Un+U^ z;R4o#x|M-RMji7024Bl$hhWIa=rrXbUhI!d#qe-Wzsc^@vU}v@tbbb2Vcl*ls;v{@ zb+p)E*QbbE;=f6|u10djfqF}(MR+{`GdssJa+ zLQ;2`+MG*VB;Wz4LWsc{U)8Tt@V2GH>Wi4SL@Rjfq=y5jKO60ZC^~X|Jt;Q!m9Jk^ zRH?f?G0iziY|UlcCU6wxBq5G(q*1!Vv<�&vwyIl&Lmn&bPhp&B_~74!Hi{aW(V9 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 JE;e+z{y&57&=ddw literal 0 HcmV?d00001 diff --git a/store_screens/ios/6.7-inch/en/port/4_preparation_6.7_port_en.png b/store_screens/ios/6.7-inch/en/port/4_preparation_6.7_port_en.png new file mode 100644 index 0000000000000000000000000000000000000000..d1de0db7a605d3454d8591b5ee96b86c3d0dc886 GIT binary patch literal 666701 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 z�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 -Y-;V!8GR+9W5|(>N`60?!KKOuDmz z_GkC`4jX$dJRvZA1Ak&>p__xkuyK2XM8KXekk@xTHYDUd^bF};S!iYTt<@HpQvG%f zmaSv!lq(5p5BY!h6;?67$Qf-mHee|JPi=`lY*#Ncu?CTHlr!tks_j1vX!}gsUl5;k z4{5L0Rnh$nkJvy@IGPfVZrBRr^yNW_?^e6*`N;Q)@N+XXu?Dq z>Du_Ywq(9y%sbQ!yh?l9WfHxey>W|=>K(iox*8r^$Hmk^|MNVm$9!ArpyoK^?<&FR zI+(cfq`S==$nvxYStoe@(|puHmd0hL6^jT^LN@xhvvNPa73&`xBtFj2rZ=b3IOAPT zP6@`>G~xOX8QB;Fe{Z{{nvFC~J3ar*=yt!@$W_F~nX3x^-j` zdTJWYeb*|x(Os@&YjKrZ@cL46so*uYy!{WRHc^ToHI>x%7i#IaMmA7Q)hIjO1aNea9!6fMP!5 zMeyegThGF;t0m8F!ndA=lw-E;`X}pIQ6*~gf#ZfcXIc_qpy&+RhO+=mUrIcJ;9QJ3 zRg+qAr46vF?^0Q;oIaV?Q%bC=S0r*(NV=WN&N_-^NkKvHT*ygxt6Y zHHCQ)WM9VeX<{NFLuFQZ7DiGX#mALPUnWv~roR7uS_dJ&kQj&=?|46ZVePf_JcsZM zHQe->V+fW%Wb4HV=5D%O2MeTzXOC)r4HdzD2Zs+hDQxcZA3kBj6Bzc(5{5yMj1aVX zbjdmgWe0^Bn`-Qjq3=UyHtphas5fQB#s;Th-7xGQ9Z4QdI%0qPHUa$WFDgDva#^b? z^@Ic-43U-iL>Lup#+BxHjYz96??SuvwMG}cM(kJh2b|6ic7$jCfs`4TYHYEQ!Qkcm z>lprn*9+n2l(XoHL}oHcIZ@Z46u%$W`G-v+e$H^thPi=Vk_F-Vl-A^Bv4vxs)OZ9_ zWV>(eLye~4=Afm28KE-a0jkW( zFaf)Ca+Ev~Y{{U$4~WSCzad!3O>hqDCib4aZ3b%aplA)Y^zy$=3@h>psMbS`_NWy(>@icGZ|keQ3nW7`!XotyVfi{ROvA3;_I>S*+G-k!_FjAf=V zk%l6tx%Ye9NcrfkEBKnr!e*#Dh!#ksAthFfSVNzNcNfhg7&o!FwuVRlh4*$p*y1`( zG!v}AdGy2ECZ%EftzPJPE4$Y0EUc#Lxw!VpC7pLfEO)-p%j3_N^CSuhoA;-zqq4 ze{GCw7YEfn*Xp}2>l`)i{0*g%nU5GgsQChncoblXQY&+odesf-h7dM$1@}Q?wR1YJ zmRW1*p0x5@icg%2^B=G1vvtENv}t~@&WU{R9G>?xwouK)AmORFe2v^gx4(7EKGfiv zGfQ8oe0+=zg<>l~DY7E(YyQ{%DI)L1=WJ-r5I>-kMU#Dqj1@TNEfakv5>|R7T!uG* zPAv_#Rc*D3CF2F=itRHdr7QtgQQE7jao)6We;!lrk3JqDZ@G+(92KiA7>px2|Ju9Uj?9B{Q0&zQQ z^bd|l(Rsg+db{O&=4pw9!b$H1vElHw3oTsxj=Kvb?9&)2%6y)x2EQhTJ@SK&=MO!e z3J#l&N7`Ip&T4QV;;}3E$BOsLEVaOw^B8+XRNh6jMWaakPCWU@b+QL2cTh5OV_Pk4 zCXmQ>)HKD69!zoL?96GX4;LbZn9C~a@4V#iAvbY&Yu_S)xkp<^4UiaX5QF9UGzNQC z2Ca4iUKwHES0y2*=Yvxs=Zmr-Ms9O0r)yc8D^G`uD?$`;X}n!R$8`hUCUK(6ah8b> z7^G;dH2qOAicF*7dqpRXj2MHeF4;j@nb=C{rn46DL)pn7i&fhAtCpY@($!$CykOv1 z@3HfOQQo0RE|;Rwg%_LlP)AaE38aQ=kq%`8U~7AA!4B*C*F#>P3naxTe{xg1-4=37 zysc<9&gV3u#j24DY#w4`=GN^LZ0t&g^#$e#|0B|$G@@LAIjo%eMiv{C)=kWdmM>^l z)D4i*qY@HEK$Vxe7sTvwXMBy!$Dmh_o8ev=e<6eQ>8(IzL6mqnXwC5`bYDdaYpvCj zQ@8al(afZS@o=-o;ZC_z4j{Rs-g5PIkIbaJeQT#uufp`L1*ITJSWT=?cHV)nU%iej z`z&5}gnZqXQ0U&vz{haH|4D+xeVXMo*oi;B54ESXchpwJqk-vJrKLr9f+rP&wn8`o zd9CSHxgxz!>3?jJgZN*eW0S+qXkVP9#MkapSH>fIyiPKvIAgMRp5+hBkK8(yS6$gi zW*ivF-rY}3;t)ORC1w>!M|$;&XHrzhzz^y?7M-l<&jv)BXj6?&EQKicyqJe(v)2aA zDIm94tmRzQST&@FiOFd2)3Can+dQ0U`m-J(?GHgRCL8gZh1={u4S<%^7DiDYTjbj+ zuF1YQzaP>e5UwHv^Lh{d$HC&wdfgYBzCFcO{$)4&o94h5ySH7&N%tRkwMQA5_pyeb zHy$*}jdKSrz2zJ8A9C%IWTqI0yWSuBQ?d^P{_sCP;)dTce-#t?Lmln|%QDHdxJP>fIT-a&>YQDF^0;S8<40_)6LRDE1_fzul8w zsx0Yl=8c$5X?;dTUwzTCSt64E8dq(gUwrgl0sE0V&LJV z0}op-8-t(B*K%Fme}L`+%C8G|CV&3;m7m<{gd^~q;JNW=-+E@$6^{91!6!NXtKa+R zb@UX332b}h1C}W796xbHTbdaTbZ1LuIYugDqlD^P0)8s^Os!Jqssv`5S2PsHLD;Tr z>ZUofG{rc_JN$4i8)xC>UBQ=>;Ll)=N66P0LiM?_@-y)a=1~DqSYN@BQ4J(89=^Q8 zU!LVcu?+V32Br2J2lnHdG5X;_TGJEwt%vHqLur7Rwd|PWHQcP0 ze4n#y_T{^)wV`e^%c#teb2lfx_oo(7tsyUYxh8M(P~Coax4v4ffqD_Ee=Q#2OQ3G| zZ!%X=1FLBnJqQgAxE@oe{D`@HBfIMZ3hP%U{w}zHBkGCV-v)W##(kp5xod|k92$i;~583;BRD-5u zZSgLf6;SFs?%+jc?Y%m=`1T20?Y%zJyFB-;wRKS$g;~l z97C5_LT!oOjXFXXd^sSjE)PJSXvy3G9Iu6;{=6WdCml__y!^nbI?BUSt%b??-btoT z?ZyMOHVJwsVM24k;Ah-*NA2tUHgQrXC6CRqd#sjFF9dX@#;J)j#R^6i=(qJuH(YGy zuYMVHnjB0z5*=g-dsup!2H%*y@#y-wQo|q$xEitXu+&1}&$Jycpvsx5Q6s_SQD@_B z?ec9Lojw8Cxdbj!5jeT&vT5PaSb#8W*;jS<^`+9kOFWd+5cYlRVn1s2O9gdIZ1;SmedO zZy^+0?4sCzrAF7JgPSH77DG;xHT>%bbO#k?-3$8#p%L(WsHk|=?>n4Q&ztAUg*5Y! z!}sn-lP$RB6>~vc9f_J(myvH{@%FVsV6$K8m9nOLDYGq)rtQC2Uob{5FBV#Bvb4AM zA5R^I2Oh-;ue|bIk@Gk3{1Bm?_c%w=C19GI_rQK!^_#{<2I7t#mPvXnc21uMw;9AO9WRIjv;-DRLSWZyGR_M(-ildBTDA+T<~Qn_}Gcks+G@CX&2 zgNLA9#Y z6TT`h;f({V03kMS0hJ$3wJZ)PV6%CHv|MGn_3-T))&P#ahf}aO5v$|gj&GmJnu0Ah zAu4pdp$R{TSZVBhN5emc^TBJRJu6F4WyEP;!@FZC?X$MpV)CpUZkIX?pu=;vYQU)# z7ak88suM9kEQer_OGP$sa+h`9G+B^v>0qBsH;1>UHTQ|7Ahld;e}rO;;r1JOJ80C6 ztf7u)3r_NUcAES_r{F}tMr+MG?s61vEWj>{>-5Dl9QfD9a;MMLkyz_Z{dLjuyzvyR zZm{NJXBvYzRR+Yf?hSOYbd;yXTbm&UWT4m_*awRU&cu&|(s@mVNynZ@m5;Lh8m zEzu9lhgV`F06#9_nMlDhfHO9$JGD!`OU6T*D>c>lmHkFLTZFHovU$iX=i`pPeqc+I zRhC0QBd{oDINI-o^?1CVReT+0jxo0Wkxe|R z&`Rf$oupo3bm&*+a{O@OT{f+@S9U5pY%<#rbENC@1aAx+T!{hA<9hB@0>9VjGfk5hYQaj6Y)RTN)xF|HEg8`v6y5D4RzgA8sT+U~%hQWwk!YT}jTQ1aac`N*a zWw_b&1)wM}ZC5__0sQ>%!cJYT78`7dzs0bYtU;8bdgbV*1|8sU3obT4A~4&*dde)k!=&%Tzy2-W{H-AZDM=8BB`BUXTR8bk&kxOL*YM07fO|jIPPu^qS?!s4{S&DJU%5=P zzNYKso+ou%H*JsxcGi)YP0a*IGi$qdpGh13uEuGRp0l9wALk~`M(^>L39k~0J)TT% zz=D1|XrUPsslu{F#(SiWCsk_1nlj_@Dp2>$jSXhaEUh)Diq=nmR)S#t`FXwPcKtb& z`Qs_%{MgOSK1HU9|B76g@L`9~S0peJGG{%dBdsQh*qei0Xp~CD>mM8Gp+U6?|IZhn z*Czku;S)R*^Y29Drrsm0t#-p+!<_0mCa&Jn>`GhnQOxHRDZR82mR81J{vg!_CjSs! zU{pg?3Y%nz6pLh4@t71(Iy7l=LyZSm+SuYj`k0bM=tcrpaKcsKb|BuThhdD`kv1I3 zoy~Y8l=A7#jR2O>A>Xe)*VoxSsdd@CvaUXMT0d(wcbu1@re5JY2Fxjk8_q7Wazopx zt5LAVpz6D?nh>iss3yKngqPdtpe(p*Or}e}UTTy~7ec>Zrt)7Fz_O5rKvA&)%SdUo znVD%z>BC1!pYsjtwd0?Me4U5{#OYz`6^WcgRm$f`D#t3#8Z`1|w(yQ}Q{VfkQ)`vU zhs;y+cSFa$E7N1^H{0XJI<@j)L+-uz;hv*bI$&&_8O4)Vmd@cHcAoD3Gmeq-Cm9|d z95|gG>?ugetNY1Hg}Mhp|8+US!4l>7z6K|$RHxSkKA0r{_+Hv7o_-yu)CKaLMEgOi z%lh(9=V5X>M3Nj#!qU`xYwR>z=WX>{qQe5O7`?IQI07bcG-Nd_38vx`W}PAe@V_p9 zB(+B2B@ZdsbeCD;WsNZ2$77lN(m(6 zR#*wL>lc3eHhXvctGQ};8C=uZdFWk8;BZ@`;&$T4Vm`}0PJ<> z6G^YQAC&io77Nx_XTDiWH*^PCe^oe)wDKP{V*WD3YUk~Cny}zS<#W@gL3DV+q*X#1 zZ8rw6%p)j;W{&C1mYzANGk}N54{M$*Nl`&dJw{6TE8E1oA3xynj5GOyC;i*1b<)IM z#72A6JA0}Oq*Jz1#9*-n?eVOPMf>wiRBX zQC0yRTr%OOrn93h{Ky-11_A#If$CIx5igM3_~l|7=`My`$A6;TU|*yCsbKYYl7(UA z6dR5(8`;Eu4ewV!OMbR+z5{uDyK2Se6%1Wbn#jzvJ_#GgnHeK%Qk~o{Qm6%m@vklh z>cZN82e1paJ@>S_;E2TCLz;ljXTj?3`K_vSzz^ z?c+jC_Hb?b^m$5Y{T&jEc&bWcmyuZ!*{N>Jb`tYo0`oHCY*d*`5y$*Tg16TFVJPBM zG<<~$Qq_rmskw@Z@(h2vB?z*A(Co~Dr#^#CM88uEP6R%Yh4Ti!C-!@@EP=iDc-eGT zTz|jT?n!3$BiE;)sib*8-sJS@EYXMgg(B~;-uHu}?FuVnb92F9d1zdX3s}y)Nd-VRQL)jCabqF`GXhf6b#>3}Tu9E*ChZQJ390P(pZ}nb{o~&4g5B>4z8&Og>`>CR zT^iTc*b^?#-~EKh3mwadUA~K%wRC3*tRY?Rd5etln!FteDA=)oX8}`lhOIo~OLt*8 zAdFG&~lhG8bL7{;MgNFnm>?d7Y z!9b415&I`9)7r`cWMVU<*e*n@M1D)B+?sd1f66zof+OxExt2(F;^~g_57ld6#m@pS>m+hA z0kYiS+{(L3@5mN0Fr;6~#O`TDKKixou^c%WpX%?Fn3`76Q;LaPdes--apiKj8XV-o-Q#xS}9F67MpZ^-aDCV`?N`mQxcF=#5LNnxvQhbf&jBdh4WfNlW9ZaRZrIs)iwYjy&{E`^ElGoN)W8 zFqghI_pEeMakM!?%Gppt9G!G3Re-uY7%jS2t$}iiF4DUFnctY~a$fRYLsxgJmtcxs zZzljJK;!zM#a=%7i?SlIl zVbS_X4Hpce-pG$})6_Ul1Baovrw1Jx7m|EAKWT9y-UyM}z1}(Vl=_WK5(v%|1ca7! zh-x!A_mc&A>UaC^<~^09_19Sn4{4Mmiz`IvmH%t5cC)NtVHt9LXEx%NzT4vS6I+m1 zLr90+-QZRJXObT31v%+|&ffnWL5f055p_v+gj?D~K7r?nNkHq8L1@;PyP=EAfQdmx zF`+N(RMaRQk|(j+K0YRjT1Y|x$kkc zsKy$3a}j6zS}+hC@FGNQtGT=LdCX^O^Bq=#r9zqaa=fy^R3unXkzyKU>TT-%!)&C( z>52U={@FgXGZ6QaBsxHQ6=lU?b86P%`T>aAfgp?DVBfSNY+ya~!5N{@#ib4Pws7zc zQuRtmw)(2qJ60Cfu%ZkERt+6kC41`^i~%FR>KLq>1SwuTg#-ml1Rw|D!t?jREo^?P z%mgU^_$5N(wj53TXk7;Iprkug-r4A zwBtT{2q^lN3csMTn?p_%0_5~Xln?8_z@I|lDU9jH%(%$%p#)`4=bqyH^}4u~QPB@t|MdB=d3cJPUK(XLNL%-4b0nfag%1$57 zpIz+xT3T0jkE6WmPG7aU+-o;G9T%k@%!SvBGR5HDdOxN9LQhR~D)}R`{dO`igrb*R zh)N?OqJkW1ov^;|Ez?JMZ`m6}pz!^Hjgx*@hW}x#o*;1Pw|5`aNg_5dti3`Pk^@VZeeiPr)EGto|Etbcx;y2evJY58%ghunB`Ya(`<;)_r z;{8$-&Rj`Uww7b^)7QIjw+Xv?Yr=A?G@0+www4iC`#j{waxynT;rkH&*me4_m6}N` zPGY(x_O!xTdc}}LVDXV;lF?j3G|hzV$yu;aQgTXY;wTW{^Iij??xV-l`m)_yD~d(R z`{;Vb6^U0Ll`Xf!Itd6ZM~_k*QgM6{BMkQv$IDVaKR#-g;ke%GNWJ;JSOw#t;ZUG{ z^?l%eKZKy%C4C5aP+RjV-_rFPRHiZ^?Ayqp&S zfh@~Lh||;H7mOS2$~`>Zw7I3`YtSG%Wjp%i#hX9R$aC>IS&Jp$`w0$@WLgkw zwlL;-4R*w^gb5xXXldzvJSTqlD8Dd~3W{u)6vgqT#V(l zPhV~fa=)j=_w@9X<&XGq7T{^Auw(~uaKG%VcVlpH3(+1=tKR!8vWT*oMkaAZi(!pN z;S&ul`~eX1ma+@NcXhyKJtNJ4*IF(VdU`sA=}*&Y%_0M0TmZuK7OMJ7NjvGZs^uM* zwvHYcy2(?COuOaitk0WnFhi}!)I>o@i@|rpPwH$bG|H$2#|2$caFm=BYM!AqArW}WKeQM0n>z(Z$DrL z1o=PCuLvHfdf;#~B;SiE@| zm5WCgwPnE=1y)8dtWY>ZnKpMT$-4`g=5hB#h2HkHiRvCDQJBa_MsE;OO`aKx<)EKM zD%iBVpI-YH@N#x?e0V0}w|?^3VW^JYy^y^)tm^_g?{QIp#S1JROOw5IO%<5`!WBL+ zz&<50dQXG(gH{^RUPZP>K6yMS_vLH6T`H9lpwhn;%*T8tQHo4H64oR)Gxh( z^Vw{s$s!COi;7jrIr3f3)C%2Eo}5wy>+NlBm?A=oz{}y^dyhexaV$bjtTZLH5NFs} zsE#`u_lsl!Op?=deLpw$mpVh@&p@jm93Tn#!1)!DNf3-n9n#&*1wD(^(9<(6nA~-f z5aO1W3K1*5PbXCOuPRyRsxRn`m?N%L#nh%{e`%SQmg&e2lE`#}r|# zs$b<&cx>>idCx8_q#-0hwR?7_MS{7H!mh8KTIg8mN$Ir4Wrm?``hVx>|HcdlL{oIDG}d^`AURbX)^ub7svn>le^W;O)OB5B&})Sk{(KD{>#XbQzNPv|-eH)Jh=P^TBH)HEG!dCg+e5yg5%t&3<{K^<4tXH76t0whL!|!eFg$SEu}KD zypN&G6uMykwv$5{;LTyxy(ql2$>j9Jl6rU&&DL!tB%$~BrHVU zpNkav;;AK@b=xSN7PQ^osC;SqAZ+@LUx6;-`B`vtF#nMX*&prClUuugv2`u(eFFnm zLwyi&lU?XA2REGqauH;Pk}f$Yj+@(PKufgyj|VvMWH5Q z!hJ?NW?^toR$MTFN)0u5ao0z%*P);U%_*Z?u08 z$<QLLg$+Re?(gpgrnPHWS*g89XVH!Lqp?|F}9=Gc)P zcM+i^bvqYB@2QJ~xt4Wf=Km0Ds0+YI|-KE`Yq^ zE$P?G6{@89sQrI@eRWh^%d&SuNEn>Kotc5)?(VL^-GT=V?(Py8+=9D%fZ*;fK@xnh z1ot2xdF$SL&b#ZK@2|ZWx^_#|uI{e-RaK#+qR8B58$ptZtWHx3@JoHbO<<^zXrMH9 z05v!u@LrvrJFlVyfB)=Gr~$R) zx7BsYXIO_YDVri1^h8+>Vi0YUse@WVBDXTAv+bSCAoA-;Y!*zivq+W028i4_*e?~@Xk>*^u+Vvv-jd73y`(;ObNT;e~w!U(YUcmYt)p@h!f_xj8VufXp?8I zi26zVocc-#?P>SvVQu4=wUx<1u&X{$tj-03yrE*aW@NsixuXk29e0kIf32Ue`ep== z!ZX0Qbs6#$FmoX`TiMiP5MWw1F3(A>FtNAIj;Rv%5n+G0+1};@XQk*}GOtL_OlZm( z^ycc9+@)A2bo}*eRyy^LZEc3Y(t?7%0WsEisk8HesomZIvTXML1_d*XQN2)VeeI;L zFJjQ87irp^hWwk}^7xy{6Ad6Jj1e^er#U~zMFqUR#Zm`3jDKgHRqU&#h+r8(MwL8z z%LK>3VsSaR%kqVCDuM4y2uHPE(cyTdMNbX86wh|oMSFR@KE-v-YXcTc?rGeSn8ShJ z-l7>b<@x%)5v`TJsOk3N>x?u|f+jS&zn>L8iVL5GY~Q-v=7aB89*1Tr{Cp3xWDpLh z@#@x$CIh=7EisX$2Z8D2Q)v=IXFiRV1|2&838s zi)k^SlK_&hXrGAyUgJ@6)ZFGBb>v6vx6hRd&UQ2J$78U@ammOa?~96y`s*uog+J+~ zQEtgq$trt-z1;y~KO1CLqU)Ad*0gg_0MyZj*69TTu6YLL!OJ<;V^?x)r;qJxJLSh# z_^N!YYH0%r;~$~|9i*|4;t?3?LdSx*R@jM>*ga|46hSnqTk zlpb5j4BFj`sN27bFuoK^t`m{&B17zZ<9jVB9_j4b#+4V{sd?fT>X7RxR><5rW!HmJ zuLbleMWUF;+E}`}Q%_CJOopijNPl&bO!p_FKuULuee%RGK#I*mKkk*s*7|l9>@ckM zqt1AVkobR<321}#Hp z!v!hOlSwp98u#ugxJF*{p_EIUTIUnIv&Z>e3!LFlH~5#DvB!rsM605Bdwu=(G%hTy zg8F>&Hjhh{ZcWnQA6YC`hcq>x1_&M*7??xvoD`c@Ez?DHOwQWrQ5U{t1~oa9S;Njh zh{;$*06vW6A>)iuXqqjo-0&&W{ThPuq`i|eo%f2_=ZB6M&3NAZ3`Jyx`Vh=k8weoB z?l7JHD#wG=d{sM2_hyCBRZHHcVc)KJ(qflZY(XI+c-a~I`_a+AuykB+h!_^RX)tAY z3tsR(ylR*H;fB=9YK59VY_%LhxcKpX^t2(ydNYfAc}o!bh)fLKy;1W1Nx;xN)SOEE zs4WdH-xkR#Bj1QcTw*ZOn~AcWzdRa43iJg^y12c?w}t#`0U3`egNCVBNeKf!Qxb@*Jgc;hO3wIvNfZKCCrchcESsOC&qsi^# z@ZT&1v~bV`P`9jx*=-Pi+o#5m?ekRkO`l#J(M^C~y;~$2X}-^(vhBmi61OqyzT?4M zg~3KtMeHJn$vb%2jR~HDGUGB`ax4V^>rls)o4t5yp`4So{&s4^!+@mO=3Srn@ci)4 z2Ki;9v>6QDcMiyGQc31S=INJ_yF^}re0dR|eXp&*97pn?0eWzxGLQ+5AsUm6&Xi7HPH zDg1^YBRz$2FP3M#1dm9kQc(O=4u0F|_UCUgofL8i#?GihfqtWWZv^pIdesl%JzO*H zMA*tfElyTx0C7Z`Ibgu+PCv3%-m!-3+j9#^=c+1(adHwu z&8kqnH0j;Z2HZ`2(JDEeEG9!iL{&CR2q6bev{ORlP1nH3qpT{H>63wsL9(_ zQ92i(IirT??nJ3fKVRRjb`VY2Un$WI4bxb?6U7!?&TEgH zz{Mdz&{`<-W+RQf$J<~F!7=G{^{onWpreh=55OKFP1mw3gHg)I5JLVt}PJ)wdqesfxj@C(86RxmZPN;x5s6$Q@2gyh8P@x#c3{7I`v>@T}JB{?6Tw%BPqQ<10 zyqtGy%>?h{^Yt_L1b?^RTak}@TW7z{U+LlVskPF0Qj41@Ug4fo(j_SUJ0p8RPggHe;n7s0Z= zzC{v)0zR-dd7ZV09LQ#c>oTONs8QQ~@r|GGbo&%Ydc{LL6H0V8mfr9;1+Gc80oV9_r>rH?hvo2}U{(H|oAYy}Ew@9eCZ@W*SFfIhY zTn%@dbUDlt=~L_{$z^?sGe2rag!4tY6#H+K?c$Wtal)yQ9X{urt6nqa+p6Qz*+YSs z@A8ZoTv!o9OT?X`Vcih?G^3&~CAp)q??a^n-hRf6q$ckQw4x&L%G14=8r0mZ8G0=} zLtrJEN03_RPqzJq))mF^6(;smcx!jV0_d3eJ4NL_+p?}UCL?ooB_^B*CT63b2=WWkc3m8Q{P0EEIX@1@8vE0+5UUdf-DA z4Q3{XLFFdRa_P(R5aUoCgS!a^8hccQZYDW zNrD`Aal3jZN5c<;!ouBQYOHNv2)hrYZN=1witb+HFV66MT@0UyQ?LYz9tf*#;MHlv z|HMgS%x73;$c_*o98^UT@8u4w_&MKPR;AI-?#oi!WJEPX_!g5%r=-Or4Ywe$<>UUr zrNcXjC4Ls%XSSx|6|HRVbVvL4ukAp1_LSLXOGJ2z;Fs|o?sHxNu@ax69&-{9jV z@hAY)&ae<SQtVy zMQHFOmiDJN%+`7_BOz0}Mg?EO)+Hu;>x=z{13WTd4$!egrO??(THm{$AyXhtQ!`|wS67Rq-P(T@ah+vo>K|;-7v%GU>aIR_FuIx zfhxVKtk-Ji=R(d=4s_Uv??CZ3^2^+#0pIjPJYn;5!|bYr+zge)5lG(j`__&LV*JWJ-NQ`!7Si`^?oSvqAE9zY7$KpB+*0WCo5zfZnXr7X+$W_Oj+n#`oljhFNZQK z#o^PI72pyM>`oXqw1EN)M-#o?J%Ym!!sg7O9s9klMPk8G>{a5d3Xvxy#3>6!wAvc+ zG&48BP}ygNF7+-2c?O9bgp3Gz{r=Mx26usyH`PNUYa_l!vW9rqSolyh`wS>I1+Ors zw5;1uTg+o|{Em0*@I2zoioA9rB2z*-h`5KCpa-GzV`?;PXNNGLkyaHNa?1$~j?|%> zaccJCR#T&U7ww>*nmv7^yq>UBQV~C66SMCb)5x|Fmi<(^&Wuz7*#rtXXGfit6BhYm zhGyDWSl)}_=b1%hOS8MCaNy!sBbLO7S7QuMw!JoyAK&lX$n{N&?POM1L4pooOs4u_ zUA*qW?IA>6F}8ves}f_*d;5*P=X7A4Z=)3wh=oY-07QBbwShtjhPvQldsOP-0Fwg<_pQ@;(B9p;V;#$%vfv#QS# zMmxQ*#dvY3brmINioR2)6D|3nlTSG{@1d6>vLR8WA<&?*S3($><|UP#<(2`pkW1>S zKs=dXc-{OZ&}lhJ=OKE`V|N#?@MArMRVrAMRM|XAK{a-rO=^gZB)oRVNLaJ*d8Jy%<%yCdp;UwgdjUS7 zN9K)jnU0o%)gzl0rP+7jM|{%@=FF~PN}l92iW*k*ZpOjJPGu4U z(6Td3M~kak`*ukAKwzIJ02<1KR=`e#D)w*!wPB15UUHzCX(n?LqPRiU0cZ>a zYmW5VqiPU3oxPeBdNhLvxOma8MX=Qerx~zA93?(wQc+pVxrtjFpudibmEh?q9toVm zsJ&T07b2JrS}?#3p*7ZshCv9!;0K2^yX$)hKD;A^B`%h+v!II3O9>R*vx!Su9MtcJ zb{o(XmfDs_+V%`Hno?4*Z~1f9_@+gavad3mP2ebp8-00RL50hSp}l1D)nI5W+syNZ zu)yc7VQ#*ET@mddN?4L=x`w^)^Lx-R&j<(7Go*<}8U+7w(#kCt=pB`Q2#+Y5KQ-_{ z1v!6j?=8gLX)IA64}bVZ6#mS=fi+w3o}4~{dU9gWTQB%CjP2*mX5d&a2mk)veV!~d z(1p{jdaVV^?n9*&l!xmaP1Uf$;nWGSlzVCoM=(0rL3SIwE!26OjQ>^p;CD~p`|)#G z^6P0@bq<2Ll^-L^K{S`+D?&8yJp<-nJ>}RN2&uClait#;IuUw3m-#5|>CpouHF9iZ zhTD_#O1O%K=IdMAYRH`OezDDcEc~0r%L@JsjHEjuEeK+klyrZhlsbyV9e@9ZY@=@c z-EUKU^26K%EXNk-)AU4YyO7oaT&GFL0wO%vVl{D4mYPko z0Er*`o_*kllR%2T-8Zm&46Rf`Ou(xIW%d^g`x}4_$qP++)KeihiJ~;F<9nNQ->+a? z37x8iB0(hH0Q(MaA4z0e$)WzD3Id1PtO#EcZ5oP!kSu zJ}0u0jz#k+13LCkMDQi11#zm%Kec`MfZfPL1LZPh7cs9g_{sohuCSaj+e0yU=b>&3 z9*se0IprrC&Vp|s#6z-!#E1>h!NyZb#J1y`QyiIzDu+s0^Dsmck4H_*?8l1uP8DPd z3SvYfxDENd?-;dhijgI|Trj_maM;zE+YF$JQ$fo?{1x7~Rs(#!Bldn9vFh4;@;Ifk zNhZT~0=v}?l8K>ABIAr;PCE16vBuU`$utV`cS?tSkIw8*Y72G|9%J0XzY|(IsRKw1 zBj-P$o500qH%$B8jk!gi-q+tkDxz%KP0%bpkbooky6vYjgM~wbO^;ZzxVM{qpK)E} zXE!rD)~*glhe1it=_dbjdVQ1xNoiE@Q$pubXm|^#9@ni`9=iuD- zuojSDYq(^z2a~C0GUuEn1n3YvE)e|6w-3|+G7#jm6BkZZ;sHj#Uy7z^qcwD7gRC>- zQM`aFcCxes0+V6fSOH(F7EC^vL`E_W4x5N~8Pkr#M*m&yAtm4si(JDD)BvUw%H0TxV4K;bbm;t=B? zsp~VYUT*AbiKoSM+cvjfK%1S`}Zm2J&O~Bjco>2 zV5mh7f?9Jd92{mi&oCyni|0+=#PEb9)7ZV9GN+7mptFVohQDLlb_;E)r-d!bVI}5> z!t>|(;u^s-Op#!2GcSJbbbh;Co;_*l8#{tdjqt)Uhm{i~J?#w>e)UUa;k7}-uuKn$ z|7G=mjwdFeFX}*5iZip$fHHx1PKP`s+bJ@=Cl#xe@`p7lcfq_vl9Ccv?AZs63Sgdx#QoXgVnCj-~lmF{}?7B3qZE2#Uz0-f)y9}lNW{wJk&qa_#9n3e4nb% z*ygdtLR12M#T)1bFBD*;rzdPnM)uKZxj;;Em??Wq;oOulnvqi*iQ3H$k7&l}shzeM7F6kKjBiz7KHb4Wm9UDDVih+vp3d6Di zy@*yxTsBA=4YDH&%25tu2Gts~6~pB=?$D99W4?B3zYW7u4s9yn;nHYV+;a+O$Y6|& z6HAEb=<+Mz5lfB>NG9&1dfc39?n5Ug4Bl=ph0`5Xy0R-zjy;RO@(|_B-H`D|2@K9L z8@?veR5pz7sNp?-H4kGrP0N<>BBTNMVvHmrFIhS`h-5n3D=U`*9ITKyN9}VVl(Um@ z>+m@u$Y`Ar7hJZvlly*W9PwK4TOZ{tH;f-YSM#jqy?S|XCwtL&i<6OmJZBDrI8|x{ zgLMXw>zK?t7>79BL=@?7(duxYe4`No(hxaavT031@?q#xYKo;N>qJI@OZcQb`&~1s z>iy(v)?5adj16|O2&kN9wZ(Pi(W2^=`cxqj=byqsiii~KCn2rmV2mPOba%_i zS-}wPq(|!hHyBAL0UVM%HBU}nog}UZj(KD>JrS8>zJq^Vpf;`ak;sp$i(kMR0i7Ar z?UltYxqD1_y^%-Ei;nL0>A-7Lq%(-ho0p0sAV+tr*iI;@3Uv0aG>kt`-oKv5G7z6N zevEU&1LByM8J^r)A`G(R&V3nLL}I$Vi&>!a20qrnlJ`BF{AZTh)%}+WB+P8E*V_Jw zd2hqZwg)6oGJtN0`Vg((X7d3-eu~1zS)~1JL4| zI45?ysi^aw(^|yiu_A2RR~JlB5%>%;O$qiDI5UKCit8k=)$-D)T`VBhd?^zdv9Q20 zW`wNAH@>+}?uC`3?cO@oG`+(j$KcW&e)@~$e{hoAc>s_u=_hXw@t549^R9W!A$(Ee zok|7RM>+O-9OS{`9X=eP%+p!n4w2!*_N(GdcG&>purLPOAqR+iwm|2@&X|5a0DWTI zHoMmE@DEPpUvQB>5AT<7O(`zETgVvqO<#DGZ){J0Xj-wz;M+c4xs)4vqX5GPdl&7N zztHYlf7!a(C94&2u#xhJIXQK8C!eq7=cgC=+j{T6Z#Q_(1fRbo__v-w+1$fJ!7K-H6_~^4dje$*zbV{0MAsw>;+8 zeEsFy|Fy3FS>@lNMsy#Wt1})p?IWK7(`(pA4|uQytEbdklE3reKkfhZ<8P_w_dl4x z-2VF?eDQU8;R(_KBmt$qWK|WAn?yq_=Napy6#e~`yV6S;xzx@eEv1L z|NU^4=xT}4-;gOKdp;hO9(~gzpo~{48c)43{CoF*ADV+RMwbe!fPjFhsp+#F7ru4; zc|=DPl$gWgv8v4pZO@6W{ zU^(oc#5`N#MRv&k{{Ge7&wk%-w?EQ*{NweC=8O2a2ysWLoE4MpwSQXpKa3?N{lihx zhrE*^*Uy@(|Fmet0dt~89#V~2YL^o~;gl9<0q}M#{B@Wb<5s^-z8qj+`_G@Q3d$d*Rfx6m z{xj2_2hnvc{Aa)ctttEe#H#Y}*v+oGEGzGo zVq{XwZ}`5)EG+iID|Eo~nE&5;zxb_3{k$riUArRXp8oY;3F{32-+h@{p%H5;u-?tx(Fs{)PX~J^c(9mPes9T&FN* zB`ked`lH^+C^43>iO+8~&bdiCGs3(Tzmr|}Z2Cu< zd7$u1T5|H<+nDN47aQ2mgd6Mbdo98kMa9Lx#d)1g1;qY|c{dAyX2{$Z$$O(69%Xmt z)sB6AJKuYSjjNu&q-W*B2$wxec)xlarb{&W3j{DF z-KOl^T>-6Q?X9e5jucW@CyWsKTsM#gKBBuWSup(&pnIAJaw7ry&P|T3cLq>+kjBq> zj|c+#HU}@mTCZ;1BfbjTh0v4Gwta*>9{t6YLDHAom-F-LUj3~1we}Z4yPQ8ER37qK zNl8gvzkhIb(=6jxFMz=(1V!(J{9ut{WnmUufC4l)YwL33=WIX~m6aj$mmIomm$9_e zLe*o4JPH$IV<-e?w~?=Qf(o9i`b;gZkVr~}C0R&PGccj6C(VO9b3mpR7GWqm$5s~b zd-;D#5t5ld8N>hklVPVG@M9TSur~U5!quzEx!De ztig(0Ps#+X<5@N>xzqNnlQKJwY-O7n(e`m8{r^K7}&bm4qM`eJ{ z7YL?(CmBWhD+!!Z`UpP8CchPJODIsw!6Q;lm*_`!}M$`XB|4(7qYin$X{TnO z*4NJt%);=nmvi;fhkDc$=lrZ>CJ6=X7k(~f6j~@M4$Xnzw~|Vh$~zXZRvBjAipdN;JtGZrNXYA4VNq@muVsRl;rw@HTMu6yjwgkByr3aAluY^^q_pMM zqE4fwIiF7^2y7lCG60W3ZRyG#mNa$dMNu{5qoZF0X{f1Z2H01QRx9ndDweYA^Yv$7 zuHN4C(P*e45|=K}0eLg^n7e0W(d$5)>sriRx5PEu-lm>&OR&5mQWO+gL+yB&E)~0uA{*-ervjjbf<1*ckN+pvz z`nm93px!&8WL!Lj;BlY~zG%e4JE$PI5uGsZD;UXRB7ffw;S;ar*vJAfQGjaQ(Jf`L zb0;;Io`~xTL-$MX?0%^X$wW*^D}S}<&?wV8z7ChlD@{_zo}PQXRORo`^SVa2;Yp@= zT-&UgNtQG_Kc2h!KkB~_P;gUsS~!0GniG<|1Cu{<3rKD{z{av`vJLm!2mJJZ zk?{#Qo^XWznNw+CK(e=>ff0lRjs$r;J47k)rOfFFAg+!SMxxusf@)fN#3Q40Kh>S` z80Ve=z8}WXhYG*X)Uo4$TSFyC6=GsSiUvG^)LXob*|F@DHrF)|ZL17xomrBvP5+$> zVBB7(^_%zj_;@hlrS@8w>k5Wiguj^eD?bh|MVo?4ojDyY-aL-_htGhaCT4#A3i=r_ z4+(AVC2!hHK_|w!g@rWEo*!qQIGZtIKmR)Z0}AMAKG1Q>`x6dK!_L7GMa;-j+1j9{ z8L^}rI5P`J}n!<=!JDlETIW`wBlv_vp#6ZC=>Vj*8vLic@+;s~CnGR-XrR_EM=$ki1{^cP*t6w<-+DX6%l zI_3&c^AnVdS>uH-Vx`bt4he@x3Hd%uo@}3r0S~YsgTOrtm&gv&M_bUh@#0Jvny7$I z5G>Pj8?n5v1RhJ7$wwB=S(rNC`MgCHzMS+8k+OJcmbc zFnZvy1tUpHdb<`@n9E%*?zYExnE#m%F~C(Kj8%16ud&k$%lGM*keK~70(n36B>OuT zfC(W>=@+F{oZkkL475kM3 zPpNe;NLTJ~1AD=5&sI^T#jng$*CJtby~a(gjPy*>e6eCl*jbJ@$y)@`Fo6XYr&(6N zdADXd;beV76R_fUaebDQCL?6xnR14x^Lp2s5OZ+4Z62~})yo{&&v>{6P%btS*u^H> z<&M{K(jDSx*^YEpLIr|xMo3F*OIz0m@(={ygP;r*4t~NdmO{{PyQGhKCtpQ6zXbZQ z{z5Iz_r!S^l_Y>G(9HN@p+pw;_4?@W{2lcKDuj}GQF!G|@s#J(7QAOhf(Z8O6g&;H z4;XIKKMOxuC_l%S6_x<{@4{0AuYa# zAk1pSbYTgVs5*}mLEqgRq$N#?a#G99u#ZiZI-6@43{6u6n2MT2^8`j%sk>CBrP$$} zz>6XaxwJsOr{Fo+PUN|Sc%V?$WVuTDUn1I~G)&e}Tv!Yr8%lc4boWo(e{Ukl=cz4G zI1l%hYHDmpL_c~UG-xA3)IPW$=ula~#~DiGQR;KBK1_S3re&jpxMH4s6VJgqD6kdk77HjR^bsxu4$4Jf{G#-{=lPFt%}* z_elZ&T6yUN4KSRjI~#GxtLi>lVp{SdK0W8;feQ=hYTa%`Y-zoj`hm;)qaE$x;X7o7 zQl8KL{d={;=?W{&kKx4QUws&}!jy;g&(=MfBUb|ZJ;=+=&5M44!Qp5V2O2^p76I95@%RQLh4}q0qXMAZ{>+48@N@EhfS_kP`C7)0*TLa!`+?L>xz7@p+4E}}vPkWDNkGWuy+!ry9r zN^2<3%+F7&b)!zGHcjAX=Qet2vHYVA=`+c3;WT?mP=!lN_0UxP2N__w*+S7Swjgr% z@E?=JvwcF`O+T^eVsFns%js1-La{uuy^D(sLU+Eg=%f&P{ZM&DHA+?f;rer0M zod>TlEsTbBUjyk)G}spGd0c9PQ)|t!|6U6Pt8!8(F*klnKLB&*s^9SnRGZFPy`Q zS+#v1f7Xt*wu-J~a2e|eo-w=8FfyXLxWvqG_TfzwyA){yzFY0LVII~uY&U&%E#|a6 zBCCpI&hMz@3t&12y&u&N)wwh_3-p%5 zhl@--2~y}|=+w%6QOIUJ`iZ2nBO@+*YQ}`Q%{^MsCI#o+#j5PxV*s%qycUxd0;rsu zISZc%QPtDV_=EgAgog6aH=a9~>pnwsY-P{hqC<;ym_2w8k_8w*|rj-%_G#$sSUkErBgu)d7B121NKs#2|nzw{-)*43&XA3%HDgrvg=58(rHM+kK{Sh`^^btr*NkZ zCEuc=nQuJu?2n2b9%Q63KV0)p02iufo9^&shw7_baG9nf{3>ub8PBl+>`}|w`l?up zGP+2Er#GQJ;95rJ0OiRkB}~&-Majzna#56;FA2{~X>$QiD;UAUT)NI?X=adB@HUVw z1WSr@V+oUb?90XgOz3vvyU;m?KcIiR`@UsA7(;{-lN#q*k;suvB9Uj$6_)jNx8tFD zy)IAHnvJNtGkRo;BA%f&iRyg1g8nuYy4E_$5#b3b0hucMDO%6EsBRZi>V7j_SzB4$ zW?L)EGB$mER``0$t z-xHj#XnSj>zlFeySdV$bm7#c>ktTzL9Wa+A428>PJ1;CgLWcx^`!_`VKClX_AC!w} zg5ober+uDnN6u}kng;OPuK-^Zme(^ibox-S7J&3xJjGthQjTR?@RPcg32hC(QFk=< zy0I~lwau}Qwwz8CO)a+Hd^EQ4wTgs&AN1&=3>ViXNE;JKDn3mrbaeZ$<$KU|Q)utL zYj&=;6~GZJ%rYGyUEq^kRYzmUZma@ap|_OjJi1XPsqH}PPsgPl34*g_rxE?w$hln4 zx^$?%!djsI9aB+8HIaH~I#r(0Eh95+E1jw0^PQo!vG^PNik5}jmDMlfnjeLP^;nhm z5R}J|xN#<>(t66#Rlvqa^QA^Qv81cWO4A}jxlo1AxKUf2J(-y^+M{HCS>v-$=Qm7*5BTy zYZNLliX;mQ8mJkiz1`@n(=&1$4G6AQv#MD%!Ga3|``L|5J#jn3tB8pTT$p==e(F*d z1I&GoLaM|(c3!LERC5gxAL@|DDACaj+vyX?htvf)LAG+pQdbS zu=BmM8QHschN>7S4O>&rOw!Mz^(5&*?4Jf;cYK~RrqvE zm}AJ;jnyRuT3aRG8friS=;;{i=B5*JYVABw2e~NL6ipFr-rAx^aXdy`$)$Y+BChNO zx-x6W7;u9Eoq{RG8dY+zVbo*7qIg-O-vJ9%jLl z7Jw_I!<$=s(ConApjj(V;VtN#5_>kVsxaZL|9?KpibX1Q&_%=_KIGS!wbMchU6 z*hZXQE&U2B9_cI%FxBGm8n+hL&r4f78$97kGdH3tWOTru+rnC08`h=NCp|!78)y?4 z_nbWK2FB(aHZ@|J&{eda6T#Cf>FMDi@{0yJMu8zWx0VG34K1|e2jgw-z0o!vyjH{l z>m8?*(+E3*D@`I{t&FMBQfgE=e&?~H{h5-DL(w+V2Ms4PMM4@&iK#W7gCMv{k^aKB zFrm|&htGNoB7#9=sC`V!sd*lqKEGwV<&J2W$9_+NvZHsIo^hgwXRmHKQLbE8MB*#c zTxUgOFT9>@o$FZe?5NZ67C!h%EvGkoaarXFt~Wi)U9B=*jBpv)d$; zc15K=Q0V>HjZ`Gs3$B_zN4dlmgm)5c9_=sm&E#?Xn+i9(SLi@ki(#=w)}b-DW@Xjr zvCnC*X5`!(jqKTojZQWzHatx=ncL+~!DVIKKysGCed^lS8?ySp#r z+uamzhOOriKDd~e!(i{G7!>r8;}tFZY{|rHsA`rYb z^o9?y=*Ja)tn4~_8Xg=u9N2ebK%y-=8qK<%zi|945vnDL9oZbvOqakzBo0TJA4icW z_fVEx~bX0IBM#P$n)|R85prZBggPMnXrgrRYs1U=MNLwyoIPxbT1<$XC2@QLoC zF%VydhW-d#jwLv7r6GNej8dS|4gMYOjdK-yp6GZBJ*x`@Mg9=o|D*QPiwEp0sjnc1rc^x39tACEh{xgV7)~q+YFG1_tSPw}xg# zTa`1UW21B^pOM}$Pd$OX_YP2)4Eb@2B*4FH(#I0Y$0?R*Yg7CxA_=YM63QfTp0+34 zKh?;XER62F&6Q$6mX$Yr4f*~kOGVRFOK$CI&cpa$!Z z_#9c(n}ZLXhde_8B!nSt_DNi5g{%le@GUsMIJSivmg7oGI^j{j5z#1b@8;be^;$bi` zbrBKIsIdUT`H&nzi{-5sZyA7@5lTjok)`tI%T;ZTO_i>Fm(??WQAY9xu4zrQmr~XS z*TalbelB`%YVGF)8m(48TyLUuWI%Vv)Y@#mf^(R3p&(Fj=5AIpnI+6945sX=s6joq zPfqF84?&7>Sjt(acDcNSGI4)K@~emaZJ|aaMcS7ERDbpFZEu3s{`i#q~d@*=KVr+Y2fr z3~H`^+ICw2G^m65tuzhoVc*j`D0y|9q{tO6T}%-(S2ZsOso2qM()Sr{g=U z%*9^i1jzecJNwn-@I3T{21R|dK}EGg({}Llm*lWEjJeBEJkK|ykQ`F!*&$E$6GJ=^Me*E{}ij|gaa;|dd=?r1N%|Cu?@zf;RA8DtQ;w+&d+Et zsr4wJ5$V}|SPmJ%0oSYvT1x8seO5lnuSjraA_2hzgWS!T%-SQ2H=8r)G_U4?ZWO7_ zc@INQ!m%0&=b%-2G!-Hk#Vm||FGrkpaiV-5Ja0v|RKt1B4-2^rZ%Lo#9jlLc1P6j9 zbpv^J7`8KPvcMixIGB@e_bhCJ+*1psl>-W*l9&_abw=7MMEGLOFp(m;B-1Hb#gLl; zq@e?J*iRtl%b{rLMEWFh0-9=JR#RHkOtqIYhZ_LzxA4zlW3pYO8cn4QIb<3c{MnP_ zT~5Rzui+vPsQPeYub4ap7fn8P%gvclZ#*KBN7!7m)e(ef1fn{_3pX7dTb zI8;NG#fo7WZoUAa`Q1m9>OCXH@~PC{sK|r7(t-Yubmf?J@?R$-XYa_-H1&j5~xu41%n+d4g?oEpp4Z zeD+j5;@(2{^T+Ulvw`$O?zHIHf+pnT3yg|&;4ug)yVY3u^VaQkcEgnRL!ibL1r=4I zxE`V-KP%hu9i;C-`)NNKYCJ!`aUUYL0sEER^Bh?a!z{k8qzD+oy6IIVG356kHt6s+ zZ{8BK)$RZ<7JPgof}bWXn~HUG;TOsYu+-<|`VyS+V8lzt=yIn_t=g zQ|Gqs&;IjbNldWw^jZr<2^1=?tKyd-#C1uvoJ5t8p?*EOu^gkj@$)unhOs;%Q;$m1 zAbX!~DAq#hG5)wtYU5XiCPdkc^ldyY|4FHpPjFvKGwG8Z5K)C_B1@o})hymrkz;zJHAEodun~$ zi4sSVd%G9axx$b|%xiXTwtDflobDGMia2VZKJQBDd{{E>t$Z6P5im+Itv{r!a<{wuJDrH^wYg#oz-)Yu@z-^AV4Uff99UPnqo?-^47iWp;rkB z$;o2&CXYlHt3YVlA&m;d;X9;1R03iWsz@gO$UHAN{;J{SMJy-njHeNa$zw^or5)zW zghu~YuZVOom?x81>sJ>sp5!gteVg=_+VeO^l?* zdHR;!H9mE%;l0cfv&8s_Nsfua(w%FhhJZBljVoer#y}3yQG=)$c zJgEVYXJ7gi$LP6^-!_DpswS7(Xi-B#jP!e4<>2}dKI>s4mVd6OE1^RVEaDwlE@Woon zJW{shcQRgEtluY(WE+h`ZRnqmd$))3!iCZhlRx~W~Z{r%VQT!hm2_@D$rPB(){ zHB5hNLyok1vU4Ejbiz3=Z9QoqO1=qel3Ioad!>;m(?rZZB-jwh1??b>W0zGJ}yk znDuqYkJeug{tS;E-d9kH_aX`V)D{s}s;f9anHtJxUP-Nlj?AF5V&NGDS>RL{5+y!0 zUYcJt%}U6&Kkxn)o;-XII^Vwv(_@Q4R=~mqKarIZ+VgaeG`NJz%rvGbA#@cNnz=6; zjs)>Qz^oKTXo$sxA*5YzH_>+g3is~*8eWT_?dojPhF~QWNolgQQW|9y^&*aPMWn2T z`6+3H^~!8p%4SftoX~?iN|)Lw6ZXtg(SN7$8X{8AO96zKYgRV5!SN6Ev`Ug zvr+kq98*2EQVq6N2QW)mn6*Ri>N?T6phGoX*WfF*&+sjHeu3@Y5Gf*asS>Q z3Uu(NX)R7qN=s^L#qcRnbl4neKyv!Kv@$PZp)br%gfLK)A??E&5tqXv!y*UO5Dt~n zip;=A9seQF?jtcT_}`KZKt#r9GXm+fU4C}CHUiA2CA9~QHZCFL?IG3_wBECQNPeP5Gwusnh(#OgnNJfp*igHj!znZ6bl zmZn7D%k+N~0xzg;J<9*$%nIMfKa7Dj5x;EsAl<7J5%fITa2oed9xjG<&F4~?Sf4p}J~WFg zM3dR(Yf>Ax78eh*t=}jA4JMGz98N$Ig3E*Zf2zOl89_NSKB2i6LP>?l`Qj781j0>b zVzX0Wa(FDPsE`4zA$>jFT34nt=AwW==gwUemW7E;_I^iUat%NIOr2T0(V#&qm^J$^ zt)Xw;ya?G^!&*h?-`2s$nKS3jHNm{db2NgukIg^rwRE`E`n00{jU#YG5U@F=xHKsBk41FkLy6R zqwS3jw(`xr0|zo3KH0T)ec~Ql#P}zg^W=kOuvx0;u$1*TPVu@BEe}{T*P7;ty=G6KR_aOEob=hdiMp5>G>-cq}?sjMt)s4KPx>J9>66-59uzR-2bE9^; z9&!_(%b4bJSVeoRs02Z4{i?jcW?5RQTsM<9DfvJ$oBD@qsWk`rF4%|7_Hqd-NYZ70rLSX*;f1b)r#8-$ps{+*w~I5YDVwKIKSm zHPi21>rU==f!e8jlo?nvCP~((_R0To1RR0g5OAV!H+1|rN8no{pocjRQnYdKR|iRe zpD$GIdC+}H!sOUA{zO`!g*PSw2S0UZ&q?d+;$>-%G=~B`fQ?wwW)^=`m=bq)wHqN- zrr;fztU{zj0w7{cnwb@2hS(wBR^*Si(S*!nPSiDq=9bfD+GxJ&B$%Kz7v(QMUJ@43 zRKr{re`09=yq2~dB&88cYAl;&^B0$RxC0JaQ4kyN+uj;U*8cvj33qk%(!#n{t@30} zD-%9~YGg^93LzRH26I2!i{=~}JOpw;C>xL&?PHO6fBgF2(zF!uA!p*{@*8&fdXvb? zb7uOBZ$?hW7iC(Be>;f3u8wviH_=3VB!U2k*9ekVrHxZp*RVkpqCM3vZ8AuN7f&DQ z{$cqfD-UNc)LH(RL*v)a1W(n+e1=JA?f%eV+JeQxyhJYqqsVVdq~$j*X6e<-=K<39 zney%HRYb(fywKWuK3tGyW}UQw2ol3)fK3M{{o^7o21H9(8wjTK#)OPP2*O z)EIM;^OvrKI+;B0KVqXvdyz1$dBS{PEan!lSt8g^gyGgXVolQc!Q=*$TpOotjMH}O z%hi=d-CLqS7xLez@d1IfcOg=k>Hj!!A2|1mu!AJLFOu;2)5kK^?y*2J^h?vpX7fuI z1@OV_S>&xYevmdpGLs#Zb{?km5IE@~xfv^%yF)-@GHl~SWn#+PBaE5Lkp9EEm$`E3 z`gIZPwc(`7!Mqrvo%Mu1p4W*y=E?oNAB@DqU?Dk_TgzO>JbhK4hAQXwi}3qFfkBh9ySvLG1^+3+_O<3DYi(uK327PMHq&AVSjcGnbkbh@l#a?Ic}Vk%J{*?z z^1HTIBG98Km5eDgtTB;4>_ofJVjWapJkqn^o(@OezJ4VFc~Z}U3#J);?dEOy%an$( z#tnT4smMSF+o-Sf!ILB42y7t0S^#M?IX+@qfn#z9ff*})rn7i<>lp-f!8}6qnRjFv z)Zc46w>bRD#kiSE__|V?-*7s4`8$h=iKcffqy}_r`6F^QXUP zD+j;w0&Le|DxR$a-q=!x`WxOf+fsCpgmnR>^Bm8XtYpvRSZhvovA$6~ko_1lthuz; zv@!J@O=K0-N#9cjnRTc64}_sO`@$7Y}k<}NpD6bs-GAy<`PKn zRwrrF;@-!|Ze18w9~|qi1nxJ=R;#EdN5B#I?g;2XXwOrgb*hX#oOzh)K^F-G zQMAnM>&ewo;$g}C$qTc6)?&?uwo9ZRWFEe=@(S|8IT3`I&HnPwf0r-0CKEE_oDk^H zxaty-*YUnh59ej`WmYC)0IeMo4*@p4m{?+J*W1%=T7mh6d1k)$&wu?-nbKV_GJ!xB zaS#;lMO%vC4zFK5muBEyna|!2-O|c=E-fX5KFFVX`7Mkhv!dmNa3>*Cr=|o5fQUkq za7x;3jZJ54gL^?F)S0vAO+yY+#XvR5Av*Qu^cVkR1o6N}7$jb&ND?&V9^Suenp}`y zS48&Rxc!3&vFjohYwgq+;R(|k2ouOAw8Wmv9G8uLyYe7_1ExX*D8QE>Bo@Lb_&}Du z5eeEOGtuJmDv^Yj!Y$!`OXi*}t!GStq|+&bd*)3Gu}kE^8*8s={8f}2$qIH5f0+If zfB?L@g+qFJRyck3V))m;|IhG`fBj#=s zjExtFoHwst%4gsQkt5^Ms?0E-fHfl5ibPB&&z&7A^6~4WD)A-#N1zf2T*%cY8Y7Ua zSt5Y0T)q~5`p3W9*n;>q5>EAHep?V4k?oidKYR3-+yXq&oazmkFS1NKu1LNe8C#Hr zY?O$ajc-b{csn%~`+K|8?u^iK>Rh-c6L_N4o<4KV{2NA_9^t0{*;tH;pyD0^d^{Jy z{9a?s=7IW`xd`z~KVhCv9Z9T1_yC3cd>~>PljC7&02fLP`I5||fBfa&%%2^>QSzjo zOdUzgSNex}4zb91crH>NjZ`+vj2AX-)?s$Xe*R%B&@MDeA+#d%B;E;JLa-sehs3L@ z`(G+^Sek`$yP!4~7H|NOs|}~F(fy3~u%)7+ z+SViH$ysSJmTJvR4z$CD3ax1R;laIMO*<3f@U=)^>cZxk>sbTo1HRkWxZG0D_|K@F zGFcZf@#ghQEBA@&Oi-eVa@;6f(Lu)zk(6gQ>dQL80f61Rr+FHe=I@Tc-v6G>Y(jF#8)=3WDiBhE-sMU~&vPRsIgpTiWzR>}4wc69pFB%+;M*cOp{%S@2eHK) z>k8z}iprm#7wM#DIK&NWDP==)+WKQnunJi_@O=j<2iax^3c8+hqJ!j*eIKt~tjEA$ z{;Ks%m{psNNYxr=q#y0I|MU<~$a`vpVFebE{Kf$~hl0XGuQ(w$Es972OEd#nz`<-| z$&y7u^hbicQ$1sXj&|}wt}@(Bh=_CMHl7iY%(||&a^0d#VJ206mIAdw($dcnQK|IYt;oDtq(Nrkkg`h!EFh0Gy!7N9(+WK zq#ak_LSe+XF&rhkMm~K%j!`NN9^gdZ@vP4k!O2{KkjC$)r|*kEB#V6CI(X@OL%?Ut z-f;SESNUZ6ZqR@8f_b1J{O}%;Z}Pz>-&$w^m6a{iC_bI^0@Ju*cRW35&ynGJ+L%zvwn?@GbMp6Rr_P7nTBF=EM z4>5ts9)8W@XmyNFG@=M@K+qC4$(&f0loXh`*+HVgn;PF2xQdAHrcAn=*WmjuTBZH%hJ55(1!e?NY5Y5 zWErvp-)A4wN8F+|1~Zc(s0gOJm<7Li@lrxumJxS9{``+{TevhewOZZcd}uGiR*f)$ zz{IB=LfG@C4-^pKk&%RG<(zD3HLMVfIDtlcv-8~(VWc)U6`Lj@5k+s@`oRK7ShvQ7 z=p8}J0*y#J62FoJA%TDdcM`v2=F{8TEi>uY%6~jm)>KQ2ti=cl{3Q~!Vbl7dxlome7$fA;4@Bzj zeBWl8umkc@N#GsEk&RqyZ=@LuNj^O#yhIK{kU^NQ$R`dOuNOq%-TConkt1i!Z)H3_ zcC1M94-8_x;x;fgF>6M{@0m0SA=sCe7c|cl7(zbie*F30tei+ImyF0jg0}EFb!I-) zD_9UgWr!X;@pL@&N~;utt)xuzxx9QsTaW(7S0Fw>@ufL7G#qLh6c9rJP%ew;VcrpF zCmt`96ekV@n0EyJU_5|f$Gc&}=KcG(b{Jq0y*1wAgnyvEzHY+~lCZa@UF(eeXSSS? z|H(Vyr=S02#AGy&6QIO5>%Ha#q+PmU)7{k(vih<$PVmhrlOomO;3?Wx;_H;nlKGg@ z_+w*GsR+`nr{_ex#uZI^XTF;+#SYvy+_M9cZq3a?5z!oq-1^}c z&F_mA^d%;H*@zODKueh?N5B!-1p%9%tP5H%M-{oaPlt%ixtJj1pcInAp0&DeRxSu8 zBr{D)s~hqpTmDsf9z%dd~duJB6EnnL*9+N_0eU46Bn=Zvy4 zSp;hj2wEe!bRF1Ry=jA0OZ}A4f{e@ATzUQin~1E%e4A&PsuO2mWUc0@!JvI<<>@-)R&}V=9Xyb??BHF$aSd(S zl=L0tfHz|wADR$`aGa4m7X41!sRP=oSa@(fSaC1)r#^#F{`PbC3jRB!7mc1yS-5h<^~P3GFj_mdWE{Nf+J4FVhM+qWssOZfr>oGAPP@V@q~ zES@GDeC>if|CB%gjUY5h*s7v!(*CZ^9*8eXpBYhP0#YP)*z=G|LlVXh+IXxK%beug z#f#zcl}O`@@AaHC0w)rnmZYj5v;nOaVbBn2L>geWi7>ETf^bAQz$}6jJhbs*O(T1F zn=pqE^-;Tvhd!htrY#U32!q=th)hTeG{M-65~+1kC!SLiLn3qDn@L=`PQDSus0YcM zVk6+`g(*l*ZdNGO#vcL`(h-d&go51?!V+3_ZEs#%8JPJ_$rt0P3nzu$rEpQEl#Put z#ZLGMOU?_NAR!21VyDFti12sU_Uft392N0dCVh}>Z154{!DvN-&7uyuvjqb|6)=s4 z2&CTThbXxKeMayh(sZMUqj?cFn8RAT5=0@pc7!b=-7U$fxqdd{5|c}aIQlal56M|0 zPGM>cL5I05_#tF+LJVPI9j$B3yjyL6)ah0~pzTmnT4^T35RHv8-7b}80&CPKN%$1% zdm_1>6w%t=a8e|Qv?fIE4)pbD^VDU8HRG;G8yCxCyL`50oRIApdl0k`E&a+5AC(X- zXpwQUZ+>@lFSsL!LUcgrKy=P%V@BW1Xns|ns1s3pM;e&_kBFqpGPSJUmRQ?b4f|Vl zq2*u)&M^)PBK6U{>lJx~)-D^t3YmE|GzhaMnH26qP$(JGS1i=fBl(OPI6~{3&|z6>Ak_KE&vSOV>=h2ND-8zPkDb zt9y%xVjK6mp1NCKvfohW@&af5YyasRjjjKmz4!XABT3Rc1Cr1nNP+?c2?C&2sk5r9 zy60hD=4oah_GusXAKg7?r_XfPbXRv(WoD7dq}H0Cgdzli{eI@xa2A|blJ4Y1 zM0mI~_i#7=+{`@u@MYYcnMTe0k(pa~^5CxgmhHPgs_zz)0!XP+-y+91j%qRA_{gzw zlgggHbu9pf>d)cy@|Qtn+4@*fD(mw@QU$R5vcTudmwu9j?QQj=#cXu^V)pyr|D&V{ zzq2x#S?3kp^4{K}!bo23=oX8tKYe{9CS9-J4+I$gzfE1TWeJgu_#Gnos!H9+Bk;GSyhS%oy)|A)_f9F2 zW-bQIVgr)&7G7)Kmvkg*w(w5@NK?7=-_xf}_}SPde~PdFHC$*1ryXU4&d@0E9$`Zk zEeGC_FPa)Hx0Mv2onyXvEAvWeZ=M3htM|>Pn^I^11#D1MI<*GR24t0z z*Z~v>%m83bkak1*1t~rzJ7XX<(UzxC?%)d8p~GOd7RF*WmNkhUkZmmDAjyIxkKSm~ z)Q%cVmOuj37_-4?1M*<{P%~jt=OBl2`k~*^2Vr8&23&7Ye=860Wv&DUkA<)OU}^+t z0aO_Hs5Ef&WAD@EQTl_l9Cq8VgN3cb2U>7no0O!K)R}KeP5OY;8L3B~7{I`EkdBxu z%X618-#xM|2Pj}nOqIMm-?`F35S-w9`_@hE>Oaf+b$-LK5lNUy@@r&t+!#*iyXyNB zfnYLP1y%u+0sdge@8EBTvU@lGE|mz`8d4pwH;1}#yFeR&EmR!`4yk-I^8$UPnkgoK zPBiBPy*23fUQ`(rck1CxGEt*U^HJ?C*XJ`ZC4WQ0q;MI$l0!)7u zP;(>D5bBA!HAYe^Dq94w5Kz_G$);RLidp$2afuY6sZbvtw#7tI|Ey3H^S19&^fYI5 zduvj2&(!{JBw5Re&_@K6axet_p-a*nIQo?JD>||@3+*DXPu~In>fzyGvl9sLJR!-H zJF?*k0EzUjH6{I0=}=D=s4|me-!tC;z&wrxm_Efdj(q7GNE{v;WsDG*)!D1Q`$kf# zQ>I#v6s#>G6dO9DPL0IobDefQEp_b!Ln9`^dtOp#sQP2Ov>NTatN{4*J(%`+A?HR1 zN*F4&rmVF+L^S;;zN)2PX|qCOB59KkbVnWgo$RgtS>x%%iznKIxMQmH$J7T$I>$sO z7Ga{L=viJwkZ`$Zw2#%18@WK2*Jg+FnP@YmZ>DcxzX5-v$4{6vU?q@{_@srsDmD#{ zA3tTlFp|gb-cH&9K%8dIII>>{I(5pP)JD~%te+`A?30DVOa5-A1Tde#q7;z#;@970 zKmPHbbVB)=l|D)taUNe-;VKvCz2Syil~#I46!_FBz#PiFG@uRG!$(Fe>^$!0gIyKI8)(s)QZ zo|c7E*-`PP9*j-cSf14;svj!TM0%DLsWYze$e2&~P=@f=YhuAx{=|8yM4H>fa+Eexq0@o;m zm7BWj#z0}k#d-PsYM!}2;T?Q>pn+vh`IWxU_m%;f$XU5GXLo6B(5p>tHvUbRfkr7g z(u5zTEc9(OC{RIWvzcewl@@I#O^>JO)^9wKIn@M9JtdqK^|GeLx?F?jJK(m@b>_ ztPla@Ks0^}fs7($!Onc(#g#=@`)j4F%SKop+^xlO2+CKIX{K!Hj~upn_Z zrxR~c6UMl|-kKB>zyWG09AW@7)+I&~1d@O3!c}sXMKs`-crF88Y8?z={ap28@;)fQ z0!bWf=G~RV(K{K&=AaOOI3%0`gB?miz2Q4xKqy-~hKjY*$?hR_l{eL@=%5+4fgTBz z#1d!>>XCa|D}!|A`MQeZm>DYdXuKP!f4$|Tk}1zOr7Qs;eT<)zH; zB!y?vT>=TQ-F9$jT!7X!sR_R{`(Tv&^_#Z_C~&X^ATB$$FzPL;1E7WeWXK2P9SmHj zn94(kjtGbv&F;k-fh2n;|2Lx-a;1%|1dGW3NpwZl|Y z4-T3^`VQc+e^0*wSVtt0KtJhL-qjpsr%s0iz@cW06xXABw@sy<14WRQgZ}-fAFJ)^ zccO{f3P33I9aNXtH5Qdret5_hPEiz7y(q^0gN~JDhZ(7jS%Je%+I5D>1Y`yLnvlxw z6SY769l9e~85q&(C8B%rGiKL5J{BfA$VGJHROOcwFLlcF8`b}Cc2;28H&TfQQ0o%Y zO1Ysm{b{97@txb3hPpNhIVEuOunQ zslpt_a`~sf>N~tGdxAgNfgMPp0LGyXh*YO46L(M zVe?=}>cYcXh%?r*_^alS>_z?g=&?~VBXIlXHKXxcjU6up5_6(7;|Sn*D}B7$pjIU# zD1}t;Ev3&%@z_*+C+Y122M(L$Ii@E#X_;{%^qX?$K^lWaz54{IO4QMqXM);xm8{dN zM1jwq0?sS&?EnM~?jOp=PMp)2)Fkk#NAvpC?CGPswh=QcjS0r>0QLodC2UmGMJiZ0rfKQnsX7I;>3KPKV~r zZt)6$ZAj#?(U*52O&xS1={Dwbcr|#}DV?s&#usxfpecUTi}1!{Y4Qlye2T@-aoH)i zIm$1v$~PuyPk3L-3b@8bI~(1ARMu6mi#9eliT1lR?_y68Qz$+38?^x^ zCDU*6#~k3azyrZ59=ksX?(2PGLebYxhQ93T%ys>6`W{IaF&VpK5s11gwy$2ikhIvN2Lj;Uo9f(?M~}qV zo)n0<&(vy%wb&({A~i|!j3?`eG}$4`jX2c@FA-&7(|S43?)@0^K)_AooWeZ2x0j%CLljGMIC z-J6%~zz!Jt7pois+yDST07*naR4<;IlqMhv5>-P(!=@5RpMXh=UEH29yVMQIKWM`V zeC)!)^o@~KYhePVzZDx<#$ zGy*(*`|7pze*hjc)LqIu?&ooF=v_D#GlYSL0Ib+SM6!%~q>|N8BXwmCm%u3edr5FS)Zr)gZK{7Q2q=6b{(AmCHb(Uw@U54=KfVI;<~v|P z>fZp1MemZ{dn^9nQVAuB)fCt zr|jkPC$d?1+3bD-=Bh7Rn>Y0J0ht@vCslI* zLl%8Cn!rkJ(#b67buzM@a4pakm2&8fy8g8KlSz9oM-o6@-x^ow%#Z%|Oa~0zymr+N z%0XJOL*Mb~v*+y4sbd0tk$R5%JMnl%lF|GjfGWhr`W?Wp7G{2%M+rve)WC!%@6;SjY#E~4Ibw2z!$C_-&S(gH{Pysv$>hEJsiX`Spqj_W^`Z+ ze3r&P8w0{%P=(W4NwvaFX`~hS)zkzJ7l1>9}{yheuvDsM!5_;l3W-*ry zG!NRG*7>GewxN;KX2Xp!jnJX)%u7wpl%WDGJmCsgXkcTWuFMO|wlOKdN@YiiuwUio z*9{LZ-URh>+lZ=^p4xGj_^qZsRE;$^i~h{f96$m;NgD@zSA0Dc36-gkT5WG?4KGX` zLOn=Qf&uEAfNQ%oH}>`IvGs>Z4OYpIcz~e9WAm1^1LdB4r}O<9aF3?yC6Pjrw{1M=?4s@VSyV|Mo>>ZFmy<2uot9ydq4|F4knSxuqIdo z&2$&ygvB>Y+cqsQu{(n;KftCw0dDL(x&we4JAN|zN>VBx7C%V(>^IrZc_>>nI%Q3O z%}W6(d$srA1f9IysM=Eees-h1AKq-*qiP{pt4#~#d0yB{IYgZZDN+;e0Vg~g@PDZwq z7zGxh>Po)?z(7S32_*VaJr2f+lYwRgta&Orfm~ zC>?-evHlgS>2Cn4X$$%sbwT=zK0;qax)mUWzKfKg?b_?RvoZ;MMxrtFCxAkMg32G- zqkf92Ha)$suO}N6h&gybYUYyiuy0S_$?9)Pr4cCU-+?jBDo<^v(rbZ+jXpLR+R$GX z;AlW2-PjyOm-P%PxQW|3;!TKKBQHn!NDL)+;ewy^-~8J__& z0h%F{yv+ex&=(oclS>r%(kMW`XU^=?oZY3l5}?peJ#P|#0`N1VZ?ai)FW(9Os?9ak z=oinOe0OH#23a09;D{PrpaI}uvm~d<6HpL!*FEB?dL*UBILVw;tL(gQYC<); zO`C?nw27uQn-{SC$Na{oawxW5*bN2QSRFzDKB2vU$pZ0?q=N=}yMlwohSYCaG4j`zuY%%E+6 zt$>>~+L`jh!;=Q!T#%lm>}@i&qXSx`)e(dT0>B!Q+Zf#g9YS31ue3MdAdht(9neIFA$~w6cBGMvVbuyKMHpvLoN=%nNK_XDGTMOwEL5Y3(Eux{fwIUmBmYN_ znhG9=7jPmicHSP|ziZ<9OtRRa8#+8J;7ULbl4*xzH%$v+)MHy)%K)S?S{13W!UR(PhP^A1^4pnqVXpe>OhXg^9y2z zq{687x~@~QQ5QyjXpIW40&%K|M`Vsj_0#qQ} z{n5K7$%)-RPGd&>yhUm4*(<3ofwkC8M1m3~H~xOsluDhA&&vQ|l?(MIz(=GB0S{Z+ zI!)sA%4ONER9#7rvT%q9z%wTa)35mEp*u`J-zFzW(${ET)L8cp?#+e|k4PdFm9b!( zDSUHrZ+B)}ekLj z!;B|g`Rc{;YvqvZf1@;66nZ^80T#GO`C(Q7dxCt^cLdnq0azDUeDd^JlbA&sRiv=C zVqvFdDbv#$JJ6XnL(uaVfRHGlKILlPvII^bI;KBrKcl&R7M zP!9lYP}}nQ)O)2LJ(u((s>c8M=RfJx>R$vtzA?!n4pA8$(^xe$EbzC}Hb7{5KwO5l zVDD9CDXiVYNt62etiLk8u*rdBFntp6mrWtQ`LH;Q=7)L*KIDE(zr@sn`<^wcclyP#i)eY1bD#R8cT+TkLkdYF`fASwIt;^ z#eARfA@yeA;}&J#)ue+evamU5o5kWWna`NVkTAz-2B|sLRm$5A<fR_1!~ zKY(pW-@#{^Jw@?As7jOfdK_gYEmVDbnM*_$`u)_@E;Dh&rZ)B*1K$@4Oq_K)`=-?Q zHDSYpn3}gtsPvdE#a`<}^qUQ(z3#%K20{Ps7Yrr?$ua<=K}iS#GT9=y#1w?OmLE*oMU$p6r?vyh?s0hn zh8aa_4OP!@66i&qh3|A*<4miK#7UY%K}{`P?)vs znzlnoP`SNw<&rTUEV41?4MPbTp&vVz0IoYvH}T6r>TL`w^r2iR`STO3$3VV25J# z3V6dob5xf&*G>0KYx*f zD9)InaHJQ*SQCKgIe}G3*kN0SwuR9HsD^=u8IHP@m8a+r;1diSfGM;>!fr_h(UGvT zw8iWKj9FV0B~a+cR|2S}O%yFoP|Y!wPth9C6PtT14uVuEi!*=^NkFL$*?a-uIH}XB zAE>YY{I~x!P=o_*9;*M}5ZwS#k(i{dTUsTNTUdsYr}e|o8R2!1bPNk8z8y(`svOUy z?)jJh_&2G0Ub1g{PWf{R^9M=h(f?S8Avpn!V07tQJR{+U6q$kk`d;Z*$0aq{t+LTh zR(BGz0+0hAMp(iC#7*XrGNZ+Kbbw|NhJ0vcLZ2 z-?Tw-$G$_p6+m%Lp(gED6ECc7gE|<8{WRNnrq9d{9)f1{?@;drZ6xUQaM|~K^zeaw z!+eX3$z3`qivyS#lafmmNE8rnA)p1-+0oTGtC7YF0PLv7SCR{`8Hw@%82 z-kX+}mK6Nfia-W~S7{8ZHy>!v>|pJsIkQ!BzDu+939OaObyCD&dzv0nNjVnMiXmbh0ySsu!BD0htB_2*EVe>xw2w7Nn$!4K~z!kr3M} zDKwYwRt@FlQu!u%Q7Ql#!9zZBCiuIPR zINS;=B0~5Cg0z;7OA8E7NQ=G+96;dfE>V~w*$aYTbpd{Xc5i3eWE*(gLm#q zQjp!}hyAu#=kS6z6S5uo?s@iB>Z%<4ff_OC06d^B4ESbr7X#nchRR5r0Zn_PQap%_ zNu|vpDo7`B`tC~|w(#W99Z4oV$sW(Xm94&)QhR-EQluQf(IV;4*3shzN@2vBzGtAb zXdl$4gQOvgg0L{~o$MNPr$4JLks>sP+?ax}5TZW(Ho_*54B!T3q^$I3KuovgX=z*Q ztt}t%pbPz;9eL~&a2d!eYLmrpci zaRv1@Lcyp4cI#Z~`(L055d%_6Yfx>YuW{=23L&e| zh=nrcB98SD5#RcW(lro{MeI5qi8bfa1x+bvtYBurqeYS6)!#0C3d2svI4O4+< zGv>Wi!)Q!;0gF8PAmzHR@8hXVQ2<&33LrK6_|ZcP_eQoqk!ogM0bu9w9yWPg-D{mi zPQeoeK06BV9S5*V5?cDEkXYwi`mm@C8kuK#_f{GmdS1|mLyM%fIcTh!vvJ=(QiWo8 z5zpA#-l9#i{n9=e&rY5DHaq|IkJ*utae+U92cZlbb;LD*M`Mv~4ylZox?t0Q@oHY$ zD2$OlA2BXgb0HidR3`pAP^E+POcGBjy8u>40<7Foo#xlxne2wm#v;iHY2ZP<; zWsQ+G^R3HPA@vQwF6z>4;z8gG`zgDCPBt&eFOZ$`Z>$cK-Bpp1G>3LoGxCbT6OSnWJ|xHk1+RiqcLN&54M3J{CW=F>Dja1uAhFJpW8{E2 znY3V%tf*?sKy&D>LrC;K8xk1Y-YTh{gLd!?s*qEYQzrfM;NBfc0ZO{_=`)i!B%L0q zR16pcz1x5z-z_b-XOJWX{3TB$567fdh>FlVsV}~e`XTN3K$3G0)UMB-J#$4yo?!fOmCsAV@d?nA78CmS;_!76}4QzvaLNuV1w$092Tj>hc@e|3i&=K`JLO z{-{Z#;t6xjsjmh!S4${*XDqk1ePFz~^>4&kaqlPo97VS_ft~{`du43?m;oEmio;*r zh9Rfeq87|TsFs6qC-`iP~r6*0ZtL0 z{?!3(V1Ttt4xRbYr;s?K?4GuAu2sB^y;rhYj#&9^kp);z`BXL-{-q_^l@S@ z)Cxre-&hG69*f}#^<%(&RN?u?QSZNZ_g9@J{WQCN{Wp`a;~U@|fGuscILjK?DXn^z z>Ihv-%}im;;Jo@VlCntNy%7kHdT;wK*?!b_RBdP^ZHuRImv0L-WBMH@M$#Af19pdVkR;T&XPa%65?H5y znf?MJrIf*l&L#?DqbgA{SFtj@*G!$_GqzHGKwvhE4XDy)6Vhz~By0@rL)nool$~O2 zKAU|-m7h(h*{NwAfELuho225q9!DFo4Fx~T$;JcPxW=ZRnVhHr_STz^m!0rPEcPt* zg}DZxT>Xd5TH1nnCd`wy=Q-$3y3m995#AUHNcdLf%6h(^ddr`}ZJq+oA8$UTl)}fN zKmrOs7UfgEi2_w900XvU2OpGF{R~b%YOfd|B_w& z`dgDMBOHteJL;$qm8GZx;2Ibq*e(52c>y1hDsy_os^4B7;s9769X2F}-i&LD`9Xz< z11?a7yd+h@KmE%;>i~kkWOr}fw07duVI<4|36XxvF9Jvx#)$<3fFY86v@>+Y&e&7g zX8TF%w*UM;|DWvI6-iP_4N;}Fa-izN3AUsUXowmnQi&L~e)aOD0UwVgefQ|$eNzj9 znFLg<p*-WFVN=zFQ?zVu>QnB9(=3Rg?{IKzH*_oARuiEpueHIm4i3<4c`Z2 zDE23@`+DxeH+C4wt(#Z$E!?(4oKBoLZMF*OlJ;$@40ffgasfPMk=ANp7@#?A-YGy3 zAnm34JGMcw|B0#_>i*T1i}Y6xEqS7E^Wpvb_Ps1<0oAGRg3TEEXkS07@X`1eic;5K z#vjHx+uTtd-iqw4`n`E7@P6V=cKf%>stff}yU;Lnd4;of(!JLFS(^lFcj>SvKmC}+ zH8ww|-pJOMgb)uNZp#jjoYFVcV)j=7KI{Ds>#9Twlqm2SQJ_t{%zn+$j3sOkzL8|_ za~(WpW*syS#V-FHF&3HQTjk@lK~$Tb`t}C)9>_*doY8!9Qua|LNvN^A(T?01`#NNn zW}#afx|%2X-qFbLvPQ+Kn0=TB1QhB9i99x4uwe{H$fi`Dx2c%WI$tp7GKXO!Z+iNj z>H_!)u<4YnFG1=GxRtf2{F+mc6ontggovGNTy@m1FOPgEB;?q<>C%Q_;CW=4LWfd0 z-SgpVKC9AUPLu$E%H6BejR9z(MxaTluhmSbb^zM5NgKqSOPJ;0U_kML@734EvjtX$ zzFeQ9Z1kUYOML0al_>CeQXm0^pFq2=FbAJNSyK@kLxHe3 z1xP?rEL(C=(YGx;GgxqU4-Ua$aJRwTg9nG;ZbN_&+=EMC@DN;rJHb6z zaDrQK=bPXC>Q%k>>fTrTkFL{IJ#}RFnbUi(wRQ$Yu;0*ILR4@@lfJOmbdRD4A;o2r!cOr{ z)0DYSYi?4{_pq}17!kqU(v=L^#R%O@2aZ*%^%#<-Hvh;*;mNh3iQ&HXtrO!8&==Lw zFCuKWIsI%5a(-ku@ij<}kL;gPoHyK1)ojxYCMhe(d#^^RfmINB<5!5U!35h1R5<+N zW1XKoi(4xr#1W-+VWU9NxDN!0m)EeuCgO5h0Tx3e)e+G;tj<>2mZNm4+fp}uMP0h_3xc}*~f+% zOS)AhrM*uoy?8i#Q9`3^Voj(3GE)gIC@ctAteXT@Y6PWK8Vl5*h4QkN{=SAW&XH-O*eV`W8!za5~}%MDpYU4RAzZ&1nX zN3crGB9FAoP0Ww4kB2_cEC^P}^|%is@Xn}&kV>>AZ8eP)`gnVm#mD_jG`y>)JF1&8 z_AdOPLGj7HUB&^6Kjg=pqmd0+o-!F>;~!K?=Kf9fMk5sAcMi4vK-mNa-S8bwMjT<` zfU7u^?mTg%Hzt=w#wMyo+$W7@@T%7#w?%7U`*$HfUYd>5@De%84YBaik|oEu|IRE^ zp1_*?BpywzlAuz+Ea-YH>T_~0<=p4#A6Ug*A-`aJ3i3mqy+@tNvPwc#?`vnQ3cHC_ zfjV5kl*I40e_UPr0My6>IlQkq`3aBhGIcJRH(I318Iv{W`u*hJ6)nT4cKS+~C+K_8 zM%t74=2=M4RIbx~{UbX}R^H9$3 z=WaXsO>wsW7U>WW53f54_Sz8K8a!hOomSYc1G+$yQe}{kMA_Wk*1s9J_4uMBsH)7Z zCQZ==q3fkCGCo5@u6*p5nP(e=N@;AX^-kw26vnN8GucmS46A$fk z<>CWntwv((NaNd{nMNjcmvkEz28-%5##u zQKGZbTslyK5fNj2%$#>R^H}5dEm%LCK|M#14TYuMwn>+cX603VmM$z-^rj(m+T2J2RP9|TZ!8X za8*=`lh*Jayv z-MP7Au!`q?m~#G6LF~6p3xrYTQKkF|uQ&TvC-klEa;hVT_Aon7u?p>oS~M1GtT$P> z2Ht0Dl$m-h4CLSNm$u<&!$&RE;9@s`V%H4^y`2)?Yz2k$2&hyyCI|-6Sop+I7OJW~ zzH-O?&E+8OIA$W9=q!{&vyGL~;rIlugRv=;OR|xcGB}K1ZY3!#>DB!hCpfp1fZ8o1 zozzz*=!Q2eDO{b4!LgxESjbn5Md?l(0{eVmMbUay8uGk%JW_1--6=H^AzNO4=md_8 ze+y34h{MK9d}i}nfn;juz%f6WAczB<;vML*CyUtj!(oIQwYU_gIFnamC9 zjeMRJ4SemSafdvM?N9$2H~(;urcrF?DND}~fl-e5r3$X2W43n8Dv$`?J(Y?4wUNOQ zX*p4%A0u_MWGnx8_u0LWLHco-Hl&q@n$*tthv~_ced&xSW6l&ziu<}xUTm4w_@E4- z!ECDJsqg}Wk2qHkx6>aLV+4lPP;@8ou=zfH%-&91?R2&P@CZm$Oo;epn z3aX3@6<1o1-OVS=sbjll$4zYQK3PhV7I*(YNNI@2gLdggF=`}*&06EKazvj8Py)BI zX9>%}-chy#Pe6hm5=7+wQT$K6^feIqEJwZ1SG56N3MfkLI5Y$0H53y)!(EGbM>En( zBc%{5^F*|tU(1N_sxCS4f&jt_@v%183F2IjL2$}5fB8@2=8q(IQo&_}mWzIWjR_)8 zJqu6EaxGH>frMz>99)mktVNPA!p~TXy_<83G(Y=LdkfooC7G0!({QZy(kL2t#1&6y z3?YVw8y;FmFhyaDloFWMJ6CL*sEcpl8P+tT5lR2MD)$QPm=Nf+xl`LXiP}s*n4y65 z0FRobyaxeAMXRj3OCUSTkF%U9*PXRdX)d8wp~(d&N_n#MeK3hFf&^ky!Dl}+CJY3k z;6&jgs?g4|$HG>uGMnUtH6J}f?-PXQh$ewFYHR(HkbRjc;;u%HcaZl=6La2kOyxsG z@Ha+LQTZFke02(o5Fa87Hw>X8SCKQ&xHvUvT%HuME|DYtoYA`JOwwDUiAghC0R%t% zi7Z{O2al^AhTE&<$Q$9iHoRkb|B)$r(h`7*?gU8oD5xc(w%m%cLPz+Eq}E#Tp1=|z zo}$3`R}|u0wI9cH@(Y@;bL9Cis@1+uN95hh4k|&e)RVLzZP=B@YbbK)$I31*B0h)# zPw=}jWnERK``&$*MZ;AYLtTy4Uqz;+1<-sHhHn8k&vK60A_6}Qs6#HUG=F<^EDQ?h zRIVU7MUKZyI;MOA7|bT3z8NBMm+anJ>yfEj@>y3y2!7a!Dql&6mq_AUrw!eN2CAiN zK+f7?PbNQz5O^RYDF3Tn;IHvXpv3z$N5$%gP9|e8HqCU0Od_J8P~!YMa1WP~B(jF| zi^s)1%4wiNL^+_NfQeSm5FILu5n=6l$v=rj^phtw9$YxB_OG+1#G)QLG@s_L3oM*8t2VE5jK@%LyH@VXF6aI3=&QRLuK~ z4}FN(v%{fpe(VlO;}`60hP5TT``gEig+*c=aHY_d$PaGuc|)nW7&wv6+o!O(hGSQY zDgYj!N8F}HeG*v`B1uN4h<6j5%5hj;t&uheSmeGG6k8lz0#aKT<@A8!uIFosy8Mub znAH>sYmuPcLZTKXl?t3e;z2B!i;ygU8^TJD3sSOxfVorK)O@YNcZdKTQ+wK;r~$~u_;?i1A*n;EQRF1rA9oDb`En&~ z)El4#cazesLYprHjFMK$=%sY&l(A`w$RqJ&-IOR4V-s%@@l-9g`oVCj$K4VqSAsS{ zWCGP>&Gu*6%{cM}L>e>_DR$%VJpx-;nkCBYy&g)&pLRE0Fj2_Fk0Vb*9bF&`_CX>^ zQGz5y|Iwt6VlXQ06xFJra+!(-uN$%3MGAvSMFN8^R>In7dyW&hPDF^Z;=suuByUoK zplB?iFJVGd-=z;&PbwPv;BoS0+Ldq-7<30_|2JdC&e0O)t&uR6^qov6L<6#p&61XR%Dt=VrekMLd`5P1UH{dN@o5P@agBiGZkgzr?;y*KI4{ zFb=Xby1QXkKhTfw>J)LOWHtbI(oWznStcPRX%1!@4MV3Pdl{ zTZtM+KCI?IQ4z)S*FNjDP@FXyn}9@+PEF}F>!VaZ!=!mk3z1bwO?q( zTmn?KNAHF`mg0`|RVvOOW(beEAjG_1Gd<(?og4IC(VZz_AxjWa;Xs`kuOVw&4Xa;t zK}TfDKMvbq)PNdkVn7I1B2Q^Msmzk>Ci&~hg7Q+avcw7_s>2XM0CHm}wGmwsU<;4Mh4cPp>Mz83@SA=r-c?a1^q@Y>q9A*$4a~4&W9ZAJP4OA!JdP6_nQ?m!T(+VAc^+#B zED@oHEwyFf0}u=Z%T?cZKQ=X0)i2p-`DJATZZ_~W|60E|T8h`(QoX@6x#U@m^lscAxEK~j#=oc$?F zi`DKGS9-x{1HO;|DfEqMSR zp>NC+ZM0UTcC&n%>}(=+L>eLAJa2CnEi)qi1Sm3!Ur7W>DOiEih#u|tC=R$WfCIN zk%hN)x*I^PaP>SIzs2Ez>1w!zb`NRCHKI-oc3FA+=stuqannL4|62+$IBLQ!aNqU zGZ8iv1Q4+Uv`b2!G_-t#53Z*B+88N){<;fZA+{pe9VdlTY|sbcHSXx+17>dP zl|iT>kMPnO`m1&L2`CIfVDGID-cC;Mo5lpE=*oTyZl^mIHYOB{Q!i7B2-MY=ob_V# zq8o&LEK5Ofz~zIOK^hfj^2$nUVleFjj&{9{761|Y9IxNCU6^F+O_1^8N7U%Lv1Z&V zq0(ue1N+p+*l+cuYj?hq0{369DxbBMB&-~)p~3LlbG$+55=Z6*HrH``latG#j41Rh zBA&jBFg+opECM07r}78f^+VoJnX)je?m!Ki-KZ2*P|lqGoR4NbWBavVCjwOFahQp~ ziTxQZ@LkzUH*}>L#s`@vxn*vr^!2n`JmjZs+#c;3Gsyi)&)|Tr7o-5e(WZW&{tHtH zJPKrk(0F9=v36)LKW(%@ousm$bqbmDZp!a-qN~h?ZSb87#ee4YlNe(wJCHWI5_M2a zT%50ol`l#Nz=I%}cc#g@c%~YmgoNj6HR+^&R)z{hA7p0uv z1ad}oit*r@qkuFE*xe!Z^=@+HNDp6OvvQncc<_90%$xk==XWgKiw~ycpfkh=gu`0e zG5N^Q&@Ee%4}vvlRcI{4w&N$l1d3Ku?z39p>e|%Vkv_ZrjH)<8#h0e0Mv`?KkIhkH zaOu?z%5YQb-hyzs>iwoJAdO^Yv3o9@z>=4S7qUf?K+4-<_HS!A@H~xe9pRlj-f1B? z;j2iEzJU@i;-5J)JISA$VJiM=1tgN+(g>-NKaE6K9_GDXgmo%AWHTHNEB9mnoovHl zIPW@d%ZP;znRl+>mA0qPajNi`dAz~%!>Wk5xPvbhp3Ox;W1+u&UQ>K6WX)4qW zvIeflv1Frl>q~pZm10^#%?V_Ar6Ng>%*HdcZo`R!IXR`jML&MODenB?`YlTDtwuh> zw0ZD1!;^|WPbEpZYvqr78UOS_Z-sge%?=fd&0Rbz_!8nx0`(&eCVs@VJf90=rvGWDR-o_7GtAdbzg!WZ_?5> z7t3HSYPsM8eo2lI?D{tb5Yog>3ybGq?~ys-Vf4n>ut+L2$we2|>eSqUvxdVjhkGvi z9M<~ux_v#A+Lk#(@!oGBk22nyTg`f4*nR)>mla&?A_oLXfI~O^__)<%<-9j5OPH!C zw*~7TgxG?c5zAnejj4t8XByWH!`~0H`LgK?pu>;9e7n4#YbhBOsnja3wIh={8?-M= zO2#MF#d0&EbrM7UM_e2(D${a9M$i$WRJ)ZWo|iK673TsQ?*?~i0PNQ?9i)WE0-#HP z&c}7Mjcu4@+G+rnQk~1#aVRFWn8OBw2OE>DM6jpCqCQNj2^Mz~zYoTs9QNj;yR>vy-fa5TjgB@WjxON}-|$AU^lawB$MQq zoTS5PE6Rz`aC(RS9bT4#zdyUjQEtzyyAEMa02zbnJ`h0?*7I&QwN8RIG8BL}e>2wQgIRfLqHBCWGc+hQ>Yl&B#AL%ACyy27ku`#96#fYB+>tneCnI)rpJb(&+2 ze)kGVZdZrd+%$KAGd&rc`RL~t`jW-@3v|u7ogdUrhQ1Lkj>{aT_#fj#7HMm^AQ@k> zM&3keskMe9r*1z#COfc-TpPJY;LS^!aBr(V;N}fTmywIS1Uk;K3Ig`RWMuvW;Kgi* znL?sFgT*ZL_Yv$)OF)URBJ3nk3^V-}T$?IYti@*tEGc;3>QiP`aIERbN$%pHE!3X>pAUTLCxv@Sk zl_eVNG$E@822Pqh31`m>j00(#U0zsmHqsuJbP+Vo6q6TWLB;X$|_dN&JQPi=9lvt-Q)N1obq$&=_Cb4$O{Di&~F zBm7`)Vg595<)KLfD?Dbh`u(D*w?Ab=WkZ(aGp&3B(x z5yHqq{Oe6KX%42!4{dG+x(5~po4JX5cuCIY>Fc@3x{eY5?j?L^mE7fRSR!`0-J1>UStJ=$04kH6ky8BRY1YQ})s&z|&F&uKj-@4180IehOwF4JdlpAz z8NiO=;h(MG9vDnRj$>ziMG4K$aE0oPd4at(9oSGd@^=ZAvaSDEBZLcUIAi5lQq|XO zTS)B7Wrbqf*>Acs&t-1eIa;a( zD)ZpVr)}-yJfid}4PF$>$sQ2*sPx^wKDS|$EAvHAouV@Ds4W0%&|Yb;eOWMK$(UrI z{}%WAtKKp+82@mWhK}{-inez}q8L>yD>M6wvVdDUfbrH|gT_=On2h1YUHPZ@>Ck^_3~;wooXWQXTveo71p@)(b1_9 zmBhip(Fh=OUtpo2J<-rx{Bva2&2q`gy*kVi)BIfF5b-wO&6VTG_2(WKYSJ%M3}y^W zfF2}2Fv-U6MTLp3dDMG-Cp80y+uibg+*w&YCeT}>`1$m4J*w8BHbu$hPYY|!siODm zgsQe?hu8M!?pR=`aa$Et8N0UG2zD-DQiJx8;Msi4zLc?%4y$o&H9Dqa;52V_Y1O#P zrYl-e`r4~`IlKt~kVnd_Ly78L7aS$HFEDgAH&JOo8VQLgmOOC>M zrymps)off~?%_I&taH!=K-bg?5!wj0mmCZ;Pb^8S0j1g5t@mJlPxgp9mc>_M#kOFFN+dO$Dr)>KJU-2glt?&uwOEV41Q+V9 zzcdR<3A%hvK+gJp=8EinV;!bxPI@gJJwo5u?jsU3!R1r6h4S1LFAaoq;Sp2)6v=9N@T`?G_XL~7dF z)dTIEWL#s?;R87$`;!8$TRZl@8<6X6(T>~vo&}7LU#=Ejr%;!hovlFUt61eyXzG6p zumMmWswp3hM`0S_{3$6#d5>v_4)o=;h_aD^t>c4jY%-sc<3|hpULsi|$eep@$0Hxd zTOitrS((J@ovKy|-bIhsn>%D?Tesm)3=&N^`QD-&lB-~@tIhMO_4a?2nRMn)ox#@? zOPBq5wAsv%7Waya{{HYFI_)#TmU1{zBqNB<%sx=8>I^A6vjMn{-~EUg6wvkLu8qz< znD&ue#%BJe$1kA%ozwTCwRg$34ctA9C^srgu#9|k^pnBeuUc@%MLSD3t%6gs+F_fm zn(35545bc~+7}ue#}sgjX{#{cQtMV@X2p=5LZNf9af+!}_F58GDnjPNlseHc5Vq(4 z8oUhcO<%SP6u2_70b+qu6Tw-_1~m3y024WO(i55oWL7J2%#rX{IHK^SY5FlO9WHiP zZw?Pz)cwJ*0P9igxQJAcr{;MXA0nSVjpi?dQQtmBoJ-rH_ZzukvTJYK3w>L3pBnV~ z?83}TtBp}~uCEZGU+?32#z%De=dRjndVUCfc1!Y0;=5}!$^uDwJW2MAR6pV1L2sZD zAGfhh@Vp8V`e^0e#0!d&FLMBD&?c<7~e}7 zPtU8Ht{z6{q=v2t@;(7E`O7Vpo8__~PG7%?H7IurI^rsY`ehp0+W>y_nSsE4Y(O&P z<)TJFJ}{AO-u@2jmxZ>)_Fmt(HhnPw$)Imqpz4e<`PlA1I7t*RHZ>MCj)Zv0j<^|G zO_(A+Le72ux_%#=8tL@f{~wS?@u~@&^7a zY~bpf)zX27nd0)_fO>d(i?VKA&de)H+9>LU3|5V(X8$RKg@0gA{WMC`qE?J;P|3c@ zyTU~o%>mg9IFOW&=uwBi7s7;d5qXSKK9?)@n${goo6=2dlC6>oZtDQZFFGB8GPaBF zu;{}8&#|@d7ntZC9YGF>6$s2LY;A!7o)8q8!>Y>kI@`j@DrKM4&V4SNi_dplY-hHK z-6M5*FJGP3LyH(Q!*_5FS{f(-zk-2DW#^#Ov2j&f{K->z_1!*t4>^jYx%dWxe0)w`5eJ}_er!cydNS(O1q&|yAJ)pz zE34Hv{qonsGsT!#SPAH?q?Ejb`xm}_o20_$axp|CV5hUp ztcHvhvllo>VO+oNNMaqQtfW1h(=ue7F_=3zrF!XLyiSHLz;nOHespieB_ws^+Ha|a zoR?AfXMEflgyxgI%;2zcd!|%;`>+1^$QIM5ewZ@jA6yowyxfGk`zaTUZX*s&pI^O$Jx^IUf!qih>I)@ zCEHmF$+s#RD+ovTw8+^?Uf@B$nup=V>$<#c0g)tHy!VVj>bo~y5HOP{9jTqBs=yfxLkVL98wb zD&*&sNV>+;fL;YGE_{t#(K6)(sPscWzarxL&mfkz>)VyOBC^8>sawWti4_0ow=pjO z?{am0^bK_I*TCl!Y#_7F>Rri^7kIGDNe_#ixmB0w``Ng|SU>iG(>{K$u6i0*Y#c=f zpIDGl#r3UWnd^mW{ z-f$XsLH;>aAVzd>una;giSYXNr&55A&wPFxIgk=+Jea-AquYsRa} z+<|@H!FY$!hf2sr`7e>1a@+W-fxmAKXxh}qIp>nbDWPEcn+-$7$h*`4L#u|Wg&pGV zin_Rg&uJ!nR^Lni&?e9fd||=QKLUJcYoML{Ox2VCwBOwPa%;LweMRm|`{yEd7qgs_ z&YY%>SvA+P>gE8)xy9`C%_f;<@PjzG@B{~c|3`o-#o(-zG9QO`lwVls&{x0w5$vfY zG!J@(5P(i;*_Dvk3}DMG<8k8_W&*QC$hb}x?&CB<#Dj2X(rB7%6F?+4OMa!lWkTco z40?xV_#M>GEtlVR-t8;uRMet*)P0qduX^?~Hi;R7Y1#rBva`=E^5ql0O(xWE2gDak zEn%;vn^P8}Dn@U|Si1IQdiukUcEEY8Jw8JJN2{(32DLIISs|wE&t zc_5}j{0HoWRs1j9_9{Fge;P2yRyT{r85@EMvH<`wVntag9aR9}Qv=oCq2D_-5A;xk z&EH4Tspdsz`}=k`eP^%cG=wK%sT(5C=FA5HF)>^8^Q7s7Q6Uginy8B3qyDY_41O(> z^zDQ6xkAF;(lI=WAAhM)wkj>XjwbB#{5`o$Ju76cE)#Cd4b{K5H64X$cF3f$m8t)^g*yFTw?#3Ykfa zh&d8q@W=Hv|4u_reCv(=zx8A&FORR!Az5?BKhf6>*6BG13yflr4&}0CR^So}OZU}X zNwEC@?e&nN*_zr*VUCAb`#&Gv@uztjhlgv0-)SKz%out~6_OoL6Iq8nVwao9JJlmL zvK(6lB|1W-FLR3&h`O|b+n!q-#hR8+DIOl10L`~N$tL6uWVlD#qiP#-%! z|6;+~+(6<+>9ycs%&ZpP82a-?hkSeA{o}_fslOG~ENquEv9MX25~P`mr?I3(e&i2D zf1Ut~84|7Ze=%LYSRq9FVFZ7QlLa?v6h*8{8YPUocgw;UO)Mv!#ChNG`WUg2KUzs< z?`n-;EskJ|6AX!lAyPGfc4R$D6|5DcDJ6E99O=ddJdwqgk+)TbVEa^RXvjM|t^{lK z_mHRVahLDy_XhGlY3VPDD-({y1n0@YRvX_R*p2{p*pM%V$=>!FnQ=;KQQ!h9L4d~t zdOHY>*==|0vzQ_)=V-6%rV#mvtey&qTNjM(R%O%lZG$1PN1Nj2_1{pR# z2MKuRaetpg#0m>@=3%rWp<^_G{RVv1IQqlniuLH6YZ45yiTa$X8ecb|OzEpvV3f}I za7o<7jZ z5q$@m95tJAjO3S|g$-zwn*S~bu4k6C``!XV8@7T>3 zzjeAq{CN#5Qj1OOeG)Yw#yyCGf-n)pim+xFs!f^E!oy?`eA+uQXO@DT#^r z27)4L)}QYJM#-~4U)?P^wD7O8=Q&(UJq_2~0IH)0LNU>Onn zB-)>7j#l(Issl#r2-G$M0+*lf% z4}6C|%hu`@yKiHyNDQ&fsMR2U1m++6WqVfyIK6y-<7a+N@;`6W-^#RU2=#<)r-RYe%zj~E zQqSgyJK#AZkd1C21&-NXx=GSJ|I;SsW5jfL5@Q*Daa_tJ*SAKvkB1#mLzM1|C6m45 zgz!OM0Vzsjh6rC!Lx%1mhA{zT;FdDt0u^;mt4AnoM@Ukg+=QWk)5$5K7Ij!al6}_@ z3tdL|qY;!+l(|F{LQduR!z9~wwHP5a_MfxlCVQ0mXGDDb^ERk1AQQ65osW5LU_`*iPcADfK;^FSuFjdj`=p6uJeoL9LCO6wm1;_u%)RDO@zZ%DvU{|I z3-i)EybRS9={PloWTg40e@I!cOYMX2u|z|LIP6i&kH?L|GVqr+iVb6ES^y*?WFXVx zduOiZ{!Qj7N^Qw{ldOCKWU2u^HZbIppvsM);ML#E>3s!D@d*sh3usPRW~r79WhF4j zjgzHd8h#rW<~T#cmRa+V<16hAvQRZ2G#@i)?=?qeDK)pnkO$TbcuNha)bWmi@=Yv7 z`X$kqOth-toqsbG>WMcaRPwv@>V1WMu?CmaLxSfYQC5uEv$_{k%4D|-&l?f;Eg+J4 zGH}`ahq))Sc5{YYHz(1cg^#8mSC0b5vJ%xa=Gn>I-ya^{cZexCvA74_Z~nDUN1-AU zPaz)AE(6HEMdNzE8~E}?zHGc^)LvxD(i~u#3!aO)pe5ap_kq5JAkrX(hcl~)+Anjk ziL_ntYRFxk5}fx%%|M(;SLN{O)3W-x?qQBzdO?pywb_eBVT@Sh%y00)rK=Y7^UQ32 zOW#=xy;rFvQQk+SQ=uFQ>QgojEFK3g8MFX!3Jyb6f7R4iM)WzMGQ;HqKBtMABPI!c zqH5qAV=}SkjTgtXL*7SYSN${(YZQF`(J(b-8Fr!Ra;PArk-kIaidsTiGdPM&XH?mB zZsI;QjH@_&5vR%YK(RrI;Z%IrK)jBFa(_;#0Y6ux;xx|=`$$oT4N{Ioh8gW^2l@nJ zPfg6nST5t*7-&U?X{9llR8p^3EYEjN3x84VAVJ^1OhrWz+po7^l9;IVtoEkoBw~h| zL`vAbo8AIFtXNKZ-!ixr3Qw0>T(sR!=$g(oj;^C6=UGT;C}=Jagtt5!*?Hz1^RdW* z5`#%ldIfdMO)jF6B>wHM0DRE5ALQrNJdO6Do}XvoK@>2!_Iz3zk3|>j#XPW4uC~(y z7HDj58^`O^BB)xxWJRq1I>Jnw)sv>W%@dxR@%$c+kU3+%*c=gTn}sW~v|PX1dVE4_ z`=?Z2)Wh%*L6k2&wyq>N&fV&DWpP!~O3upg?Y^^#Vc=;CUsZCGcpV83=nX>Z-HHhl zZi2%wY`FpSbs3FX&bEMB+D{d%k&)e!T;J+7OvbsYWJg!S4{}ZRuw#0D@uC~jnsWMw6&5@!{vm!Su!lJeqfHhGHa7w7oIjjSw1Nh4VJpn4e*psx;V z2!&9CGeF8p*$IY<0LkJ?=Mt#`eV|PIGW%;ig;8Re>6EwES*No*6{rDt0^#-9{q-5X zwATxWw?_zzN)Zx9;MWjCVJ;Mx$Dg)wjxkDAef`#XFC0*4BcpiDPcFh>L)@LyI$Ijm ztf?S^P?5>q?nRHckNgbO)l+D=A-;4vk$tTEj=bSOE7@)o|4OazPLF7AxMvnn2H zYt0=dAL^NNPI;!KMnF*>;Ej@^eFP*lr}0sd(ohGpS9Ge%Eb|vZ_hl7WOJ5b-p+az1 z$PDNn+{L+^mdfNuC68NOa)mQ2Wp@z)D_d?eU0!b@B)V(>RL@@~#*M%F7U4`4jSM!6CN!@vQAd%N5*Yi0sJp5pDqSE({~^}4 z=(G2ntlhOUJ^%%0ED*AqfiUc1IGLvPz3XFPxUaBXuZ>={9h`fL5Q4c8yDYHn$)NCa zlar;*Cbi}tvoK1h2H180Fy7Lp6@4)1~=1$azj3s^^u?iS)!waDKM7a#KX`*4l^|i8bM!mz;WN(EDQkCefbkvz8* z8rFx5Tx$=>i*sY`688aXEspJcFoF#%{c)I=CxKd5UHo8;ykowjhOq(<1iL>W$UM>D z*K0Pj_C8Q=gd8&o1J-)_+`5(2i2xPwDgevn6i2M>jSRaU8pU5p$rR<0uT3&vk{T!q z(s+>bouG7$fI}}OOZ?Uprh+_Yf3M2dXJYb>_wsck8b;Y9U#Le-Gkv~hxZm$3{6i3=!Bp(!*eiajUDJ{|! zpRbIHuhD{F>~8(78km&80#Bk=!6Zq_kb>=#<4PA>QCzPz=i)VoBe;u)-U{`dx|-)@ z;OwxN4j521OVp*MIk+x!sRc%Ju~ZuV7`H{NnXyw?sj` zspY~shs9#nsl@ho{Fa5&N4%Hmyj_dwC?xJ|As>K>7Q^iRD~%jnqHPhrlL-gTof~Qb zBoXU5ojx>DeGRX{`VHa&3c4w_U%b(5JB+2J_%k)jI;BiQr)47sqFNszYEWcD132tF z^o+14;+PN5nWa(RJZ(g|9_@lM=n9Y|i-H-)8EbGKL%%Ng_q4rD=05MuCNl#FGA61X zfE+Bth)=#akpGrbY=x8b!+;T>A5$N?uaH@r*zA)#rU$L6UX=&|AQRn;C#PAX>zX*Z z{g%9V89#zh&w>cWC*`+z_$>6{{nUS5Qt8+)x;g&3FVqDg*buk%-)eomZqc~GqhVJ4 z68{%|?rB0#+CuFA_~Cv*yNRGF7)`LcbM2;DB9fp^6COyjC}LjP@SGW%HUCtyzlS9pLisVFF(&ksOtb@3OD%_X|VEx=Jqf zFMltbz{Mv~ujOgYR26~oUKOQl*Wpq2`0ES!0uhREaf~}Y7JzF{)XidQy|xKb4N%98 zYtUv87*knJoEYzkO(ksEgbhrr@mYa%hsS;Brtjv46={a79W&a#_d%dWlFmv^k|hSF zZ{3nR_yMHl5EBszj_i`ZMvR@dP_B)qO4QVyk4quMx~HJnd~oGpZ#10va%D{KM?69X zy9C97v33VMi%n`f-o$PE1=5lam!uHi;2z`)UN{gzezKJE<^F)Ja|FZ%B7K*s>D%A9 zF1dgtkxPfRRP)pKr2cBsHcv4-YDyQd&Vc(#O&@c&EOeYlga%}z_(_&abP@cqv7Q)-P~ayNakU&)LBf|T*W{R!YC=V7?78H} z3%}xN`WDSPZ=zAqE%A^YXMzc%VbArSo`WT)11dCv`EXLx=+wwZ3n^m2x(@*VudwMd z+$fZK!qL&cp5*%b8c$PAJsP#MCGTs;SCjG-C1=*<;;Xnr>1s5(uj`!d!oj5-0{W)} z0gfz^B0!Z(<&U=7aQ>i3Ly*R%3Ww%~b^)Mmw5;Rm=5|!jGe4Nbc+FX)*W2i*R3l1f z@P8kcY$$sHR52$FDuPfp)nrGL)zh1eX@pfYH9b^J#)rjTdqw_6bXQU30rClG#GlNe zG?q;Fya?3TY2R8n>SVgEO8mgv%2!u_#J@7qWWplhwOHtHFaxq%MLM_l3V3YuTqPwa zFmoC>*cB=A&evywiwPmD;3rOn1gZ=(pdIU=ndgvrrLOW!b(kSHqTEvdx;b9SzaG_7 zQ?OO|{ikAB*<(aa z&YkR+lh;Jt5i8FCku(VU_| zB)Re@cjwbdPMU+^N$>ipCX^&! zX3bc92Zx7s+TRmt`)fQvsLl2KTBiSNI{(irbvkHsssN^Y<7RB(@sp{*)#FOJ79TFF zD;o+Rl8(L@wu<8VKcD#DTN(gB68=OA*YLy{ws55Q&s=$+IE6S(@Mgwsu3oQB-v8-( z|99(w8PGJnyzC&T5X7xjmLT_^al9MRA0{rSDK2IJM(En5nliv=`Ms%e2uZgzQlzb9z=lDD_>AEDs?-kP#Neq8TN+mf3l z0)(D2eS@jH`Z&+d&Sv>F3#JJmcoA_Wc40H4*zYivZi?vZ)55Z_zZz!_DbN~?@WH=x z{yW=9DTP++ZZ|p>EBR$8ok<|QPNI(95$tymTC3ni7)#9~!|sJJaO6Im`xBm|;;gL? z-Jb3(6ne5@%Fk~R6sJ7>_dWg3U9fU!A%8`+`p?0$)qK&Qs^f*bRh!W(?rjg`zO60G zriO+q?wF*DA7LQH!Wyi%&OSKeIoQ6ulgBkP5GqFn|0aM`4CQ-Wo_-&>r#UE&MiD-J zChofBI`UI^3iMUyHTjP#{`Ur7IF74rN280&fUd1QNz0c!+nmVjt4}Tu*~~Rw|5-U> zg_Trz2pq#nyyd<_LjSE+*5d4^|Hls}gF4l&MFXowJf_y|FQqxYSIYK`C0vT&cw`a_sB#-ZXBOZwc!+2KpD5>1Ixmm2S)%r zMQwL<0sQy)2RTwcW#u5H3oM+UYWhEHF7Pc-jNn(by5Gd(z`|4pX4Ll#7K}c#H)#-rIK{!_6Fr7JF#*oaqO!|2)>4U0$Da&9CXl;19)|MWv{V z1fSjho9_#FKPiBP|M;`((XV|`qBEh-Z?WBs;Z-oVFyJZrDQ0GJZ`1ABh@f=2EzlQx zl;8W_cJ1%8=*Opt=L?H%u74eomz7<1;~r;k>Ys)u_S@X*aW^j5DkKa4{ z!xrv@UEY^%Ig6+ab;z$4F>&012uU|&s z3l%unj9{?uzU^s#JwP~^At%yH;>Yy^VFbIfi)XUO`yh(RzJXvj!PC_N3(>r;OUGg^xy|jG{#&l#xY>8DoEMjT zVwfR}ez%vtDX(!Ec=P`G*sm<&2n1S_oZo)rTR!$%tAWw19F7YDBzq^v@4FML ziC_LruD4N7{u$Em@(Bqre87JkxNV=nR%#!btj<$=qA1<8xU}~pQJ086vv)5hQe{X; z6D+oEOWke2`JuBn6OdL%&_%!;P5g+%adtlZxF>V}7`Q0-z7vBA-08p8*o!wYd($rV zaczC}_V!=nOxs&{Io^FLiJWvMEc~_aFXUafEmXa;=e9qnO7=}CIIu>8D8wgbw|Abm z0-tgp|IThN_4UKIWc`pKLWRsHN_`*G-)|+b@y*2EQ%s(1y9S^6J$Mv57Q5Dlq^I1wH>}_tl-d~}nBpB}~vxXMAs#k+(MwiWK4})u$U)vu;)(iT%I!)ettx5{16$;?vI)ZB6*bF$o0 zGE-Kw#>|yA)6^g}C37KjUyw!xDpMv+F*iaIQdC4#WD)<*ncp%q_J?ygyu*9<-tS#L z_jBQ$FBWL0+uCKCn`ESMoC3x~k_Zz%iY?MkDpbJEk z{8{#AezvD&FzZsrtyvsxWQ=!2Bs6?#DedcMq3{=;CX9@+hC@(%e^l70hb(y#tjh=X zAMRCHVqoSk8sjV=gx_w~$Dn2BllR-O2CyM=$egeeoMIVS%E^e$i0z<3MaV$&gF)6C zcI&nhuJiqr6&AZY@C)^lFmX|*)J_gMicx1uk!6#7h8-qd2F5|xC$w3vWp>Ncn?LO$ zyJx{9>675p`JD-+G`xQLaI1hVMa|113yy(vpx|~{B&3NW!fJAU^*INYaw%a*7fb@gSoA`}Gm5k=vn6%MW z5lENMrDJq9sE`3@3;k%QuDj@v)2j#cooS5tvZ4xM#9wxPrh`rK@8PKscrb18$O0Rc zJUIwdEk>rsluGRwcK(3A^x=lsst9qkeB7h+E?*eLVTyrfAkY>g>v@~h2`YpwOVEW> zd?*rLCM(A$Gbtia^|vg=jM#&Y00pP$lNV%lI}jAnn0P6yE75Mukb#z!640oM^=K&i7Je44Ko_mY@ez zrb^HGynn6pKLmr;h`ZTt^?>??VPxl9OWLT!yi7o%MP9g9EQO<*X>t&g$^TTGVG4y1 zc?1_MN=$yv1t{w2Qj#_Ay%ozcNtKDbkJcANW7-qw3B|`w!Rz~xmkNiucb}DIZFZoj zK}EV}uJn6XKl1)=e|@9jxU#e;)O5|++E%m3(fo6783n)iUB}}8bs0oul)++RX|t}; zpZLHQS)V&QX+aO2o?`mFJ6Yz@4Q6~rQ|28Z+r}dM+%vN<$$mpfF zP(8j;D!SU4UdPSHux*Lai@-6of z;uS2BSYHllqWX`Khz-yBH@_-+=kz*|Be{1edFAGg$B@;C)nCsZ@SpmStlIZTMNC_h zw$>Y~Le{GnSy+_OB4e?x6X=3ht?e0%7D>9kxKhwEvH(tlTECd8d8-H1n8ya5+y|C^ zWy{dxMT7;)qKrIy4B!GVHIa5bb(9j+y^YDHhJC?&-A7vQ$pqR`?OIETB zUtmIntGg7Yby)<8*Mx=vR@Cc0Aj6d^loWr67^aWnB_Q$kRe{+);G% z9NHnf;3^8+n3I+uh_;YQ5%0eW z*hiEKMp(ne1U?H4ZLU=p!TK!N7FT1m60luU(E`IXAm3H#3}Gvi&#q+G0w8gw40m;0 zg#Z*YKqWf%DeNNCEHQIPnNYyKOcoUkWgp%u)cigzXgi&#KHXLWYVb{vrJUZeAq{Gr!FEaW)iF* zdeqWVN6ttU$r8SFp_Cj{3`X4wa>4W34lL>3s0ySV*M3{bR#~ zZ8yS5iPu?nvTpyH;dhD$ORED@g;D-0G8B58p&F6Gel7*RlU&*+ttRR9p+PsLyK7IW zPfaEB;d3iHTOO_xnGCU#hU(NAdB+at$?rkO*YPjiW!72x*F|&v;T=F19-apo`=mcU zc<8s=&FfVvD0Ow?Ez;3Ym>gYQS?if)ZrS;>5rjt6jS#;(?QxJc7HuOR*_>Ke?0yHO zP&HQZc}hIrjbnH}4h|BO-3Ky~BC2}-YDmO8jRgBMywjel;v~aKO}P_!HdRM{?Mz?f zv^|Q|O&G{(Fd@%FI!YhJsuh02bxH=dl5e0(C)X(i`)LVz+Hy&0w~tJV@v6C zD1}A(H}dgp88DgQ?c}h`JZUPm|7E47Vu$qPzBUz?tK&WsL07vCp^HG1 zVOlIq^K00qy4K*4+3Ld3s%GPQ84M#p@0$*~j>tab>g<&yGkUldR$N$g=W%dxsQIO^ zr-NR|XlPGavGP^zI_1)?;aS|JE%DsX?3h}anLcK2>emsE)zjjJn6T3pKKJnnihDYl zKnRvLm#o22p(q8&D{=Sw=A#`%$lZFpRNB4DmLAkw^JJ&hTC279MAW;F&fNgYGr`iEyAu{rHdB*UO)MTg*3Tb-R8mwp=k-t!q| z!{K+8U2B6v4QpyHgQa&qc!dLR~&f5piZnf1K+*a1vaO;aXmFKD>O55{ALGu(a?pf_ajoM7bJ<#sJ3vXWp z_?6H^tPM2f&7AyN7q1l?GOBJHO2=&GWYm%ISyD*Whro)*zP?5t=_Bjbs6O7X^Tk#p zQf>5NEeP}jIhZfxCk>AXr}RO_e++YNHZdX^z==buUNs7j$%a~J9!`35#n;snbn0n} zDhxwRb;d_LYUjt|bYOHvNdyftQUZn9)x|I^wE{7WAIzR(y7>JSz^b}!I}_2K+bOYD1CUp(E)uN9ftuw=Vg zGBm`=X&(lwu3)K%cWPVExiE@N5X8iI*kwfHPRie#`{ejd9g_0|;56=Nu8=Pf9ijRQ zSwQ0e#uJJ;TCXLO8RN)a{0-=>fK&ZM^c>!(+7c?IExE(ZVM>dR+_tb^`^`8tTYo z(aZDNleBs%iun=}))x)NhX3o}ygfIUes!kKaY|{Zea}P9k|`Hn9DD6OyqcE92a@7D zr%=oY6!QCmZnrw!JT3CW+0l6u+a^xP9GL(6ww#NYZ?O*e(=R+W7RKwjFk2RCINk_1 zR>q>7;6-dA#MZjE+aSDTLd$%j>2d1bn=4kW`{_R~eESO(UIo$;Ddz}US=N%#z>#L? zwYSs|+a)Y%7kALURTS9+hw(XS;P<)ZW4k1YUD_Slll#DqVP!N`nq$!?wB%Y{C`XdF zqx$8VQ%deJ@R`vCd-9?Tvz~>iHkA2k^oK z`Aj3(E4;If>DsKnn?F3}D*2E?HWtMW73dukKajsI$oP$*b7^brDg7IzvXd)TuHJ0* z-xt-*XY(Se8^e_|)U(=VZm>u6Y9`Q(!v_d6d8u=_Ye;^kldy&4JyaJ!4ln5w;$=2E zO``tGX}c4CHeQv#{+^~<>a~GH*{=qZCEO=E5L1QSacniV24L`90JJ1Tfsbs8%utcE z^;nBO*Qv)Yl!_Oii&x7q3j-*7yz>jaBcETm63udIh~^d|)@#ULe7f!@{T*?%nM(&J zE-Mw*s4h;^m|59md48Q-W*hm$@A=2)^f=~osX-XFUnN&f*m~WPFLh3zsNZvXv^qB+ z#@;k8SNNO=S-CZS*7uDfiUz^RQe0;V@#lmI+~Uji^hBAuCd>NS#|CHhn5WP(sV zRfv9_R*pmVEwm1o)3yXN>KrCe!={ZHW{J&q#2IhIRIA2qSz{w#mCt+qW4FD)I-n!= zNsZIpehq5!j5~XzyW|NWwpH0fy^9+-P_y`=z=1WV9zQ{we>p{St8JQ)uyWM$sV+HE zwr7=T&qKH+R@kTo*6kVOM5*!TTuS;S7Xuo2T0)&NR+CG%E8!9h{&ep;e zs!Tf!%JtF?QR<-qb36E^=MX9ORY5`tF8qa#<=l;16KVxbC>{EQ=L8MWM1+Ki4X9{F z!`o>-YLhKR>>G`@qwl7fJEF@6*%!S*yi8OH`xCP!keTU%ENYKb+>K|nJ(8jv z{1Bk35bfQ}CSlZ3i^a4^_#k(Pd)`M{S5;i67cMeL=cERpeiYB6n8G4(8ly>SH*q!D zpo~`csnAnYhsyx5P58yvy?wga-9(*9QFlNNH+XG$Ec|J%39Z%8B7u7@g*PTtr4@ak z(a;QEGrvoai~t`_IlO^ZJeb|zNPHdcbBJ25yL+1`U~mCGn(4_gFze}sn%zisPN{Yw zOY84)nYe~yx@n0pdOoygxDSTPA%B`Q!ZMl|*LQHI-WSxO(o}bG?}i|7s@_=yy^csY z%EvYe+s3vFiBX_Yg>>%h0K9<_NoIU(sy2ycbS})9WWYm*CgEWG@L*4S@51CRt}0ek zM?FG~nKZ#mg`EcFDF$Mnv}A*qfRVHq=%sP&1Y~X12zxkFl`DYvmkB`J$SD~N=R*3# zVb7|;m^4;YW7+#&_npP}9{t*oNzbArVB4qJgqh>b@P|$IuXp84QXH!&(r(Xi>@P?) z0fzCes<#l~P)2ETeM-yZee-cI?(U)`rJ5Q?rfOT|MflL21G~1}l)wMtK}|g}`b6WS z=_pEKG%KYUz{uyKy^B7n1rvkq6Y|Nwh@rK>ZnA}+r>!e|e2naOhael1elJ%1{1?Dk zf*ysfzlXWiKXGvhF09!_&`X~|_xvnO*{sHoWrK?gJNRxSe(SS~K6Kj4@TBYx+k+6s zAzTa6G;nMDcE2ES#LS9LEXcu?c^zbj8nfkcB9ojpzoem`MgpBoSPSj}6Bo_=jcJv) zgXgQxC{=r$V;C;96p$m@yRh=rnK$~+6rC{oD+XGvh+9}wZ_b^Wb6+6n-FFB#9I6aA zo}7GzQmJRk z`MBOYxPcs{nQehZ*Rwg1jocpN6Ua^Jm?Nd5Tj#58NiGNX9Nf@l`GZ-8m*iudmTRw^ zS4c(#K~sZx#nGg}a9V8&x?yZ*erYAHPl&04w=voR0%A*$va>tb0buo`pK8KOxDlf; zaZ|r973iRW^xhk%1|u70dQr>?_-L)C*+EMqS}mD)F2@KfGO5Xs^sU?{pU!G198XT3 zK+kp#7*v1aS6k=;y>qyV*p3_Y6PaV(LPB}PG*ihKEEM`7cLE&=>YI!b!umw+)7PMf z!G(GdKAn*gNvUUF9F;d!4G@n&Yd&%6z`D$6>7J1?Q#;y-nBD6c9qVUCy)>jQ+Mch| zH({=uHX1mJ;j-CHJYB=RJqesdU}@;c$(e_4cK=u>r0T!plo&Pacn>UnA$3V7^LZyHqhsDGaL0L zX$XruG2k0j4Y4l{m%1h~w{tNWxP5?mWk=Kr=&%AIAK@n-GAyjT!=d*JpA4$oQ^t{@ zAcirqFTkOM8!)|)+nWm^7IkuSW5VhQE+o=rhs5ItzEtbk!LHPMg<509_M&`A&T(eG znb!-c=U~g2-05 zwVUL0CroR08`opdsrDrjMC6$^^5MSJ8{OO0xo<^6RXU!|h5JI_4KjLrn! z>plNr7k}~$*>kICr|v>VC+Tr#xa2J%cVcuXbk|p;8Ft4QR)j8V_+-(f==Ypn2-VG) zAQkYTq%`|dLVau_(e#)fyLYom{EEb8S530e5Q3WjePCdq(&?)BVd!&bXpv=jq|f2m zUl4Hk=PNqtlgUC?+y4@TKdHi(-c^osVn6r9CLWJRIFTzwtMxHBofBGybCZ*0XO2} zb77{()Y1RrQGdQmIk1_JoIS2gTI0pP)5Vc`(rU-O`xB3oGy~sfPqs(Vn|LS!DlL4Z z_q38b;=t^RPP+H0>!XQhvbWwL0IKNTQ|9qILjKFn{w;Oi7i6cwq^)7bWC0oq?%0CE zD0_WVd&Ip^?0xfue>}rhQH`WES-OA2nQ;w!K0eQamPIhp>-is7`s3XT@0-$(TweZ( zTnl};QBl=Nt(s2lmfM8RjV=EFh}e<=;pYI^1u8dEGBiC9!D`BXBRER|Zrr!h??=O@ z$!GE+%os`gZ2sYR;PB=4Z}#h6qN~n>(M9%E8gJqZ_ixaa;jM@VXKMD&g5PRcget86 z8>#!l(3m||c~fgnS8W2$ZaikEG*;X-Yn}J1d1LFIWp=*#dDT~Ag<&&q{lw;qj}`jM ztXx{k?7DlJCEW87`~MlQKOCKN27tlO-@H_pTLR!KV)ZGdo=6>&t$)YerE@R5UM1;> z?<}1A97+}GKZ?)_+2`!}d5wVeZRK-()7mF&%`N{30U$4H&7*$L!^&Z}d=C3-Z`K_k zev2xaKbzp`KuW}fne1Pt$Hc)Z@i>}iz(k=k`%UvsE8(osSVQ>Kc-)C~-&yXPE35Wz zu+3MC-aB;7qD-S=xyxW{Bz`krZ(Q3=n^h0Eu{AzG^T^uo2(ogvN^I^9rik>FqQ-)O z-;5cvSFk5{%(Vx0$xV2EEdOh#mizOKKg`rvgx}4IKAPXX3p13>}SiJ37oI$0R*oW_u#rea^sHpj8N>7(vb~gE@pXpnpFaTE4{Vc(?F*n^1Fq6Z}LTvSA z6R=9uZIyJ_R`E$i)d3E7yz2Kw|eySpeauvmv!Fhpv^Z z#X`m(>K)thJa5}F-)e37*5?1h*Hi&=vGl=4!wA*=8`eg2bQi2m16ctQqSkn-EW2iN zOe`Rs$u#7qd^Z|@R_^*u%N+3sURVN);PbO0so(#2^H0w6w|@O$xpP*;l`q9g!eKY* znePbM&4H7EgkkJTgWLw0U{(lHt@4FO_AJZboU>MSsg#Q!IcAQvhwT@B1+Kwcna^!L zuz@RtORe*!diy>scPLHi>{aVJ1wWu6j=(qvolVmARr~{w|2)(W0+#cz38iMSO!H4? z6ISq(O4w$N9L-ZoO(*%M0^k>RuYVl0%xPb~u0pg45TvU{+3oKbfxoo?c?IG`y}kmD znQ4)VoKAKeU*@cc)hp5dyx^+6&M~X|%L)6PO{%}G6OL|=@2GsJskZXbp?`4JKMrpI z`89C*#CP)N<{RCWe&dz)FXR|t;Dqi=+q^vN0B+@Pyr*elX0Y+QzBo$;oGT%2vHjb4 z`KRR$?p937vzi0Kp05(UJ&Da5i1$Gzl9NAythW29eFy#(wgPi~olkXL+U*~us3-m2UlE*f8g#S{l zsh;^#etLcLOomNZe_km;#f@+#-2O_mIR5X>h}a9nQ{z_Pj->>Qb9mOiP0Kmcf{4{<-OU|A4tK-++?BI)3;wi|XDSBr!bKH%p~@?F)0dI9m8&z8jAdK z)cNWy6Ct5M zIU%8kPlSXv1h*c}2noT@2?@>J6%x`;5)wM}Ag%VMuAt(Hi?xxfiHXn|L3xMJ&s+8j zZ55QZ2>yh&91;4~o1i3gZHvTz%D1+h`m4=PLPDV)LfigoV=K6R`&<=#ztQ}8-THdV ze|voW)8DOs{^j-7zstYOe(Z6K$OXUjj=TH%KG0THMj#MM2sI^$ zkDIcJmX?&D-Z8t4eF~C3W{g*x6Z@p;W@bGu>vcBX2cJYS&L8Gd9URU{FtNxYL=D(z> z0D$KAq~BHjMXIa(O;g`#?$2rYV*ZzK;(=#(|Cd|&t`;QxRdKLGgm z8=oJ$x$m^`V>kDmgMIj8H}@S9-LdyaXyCh;!jI6vcMkT#k2upmB49t_Oy3!fA3@9S z9PH5_LCb$cynjT%zcU;^BH-US*u6iFQ~nX(_;H-_U&Ha^IORL5v2DkX^5z9IG#Ol8aI+q2_m#O$LI|*v-mr|Vd)R9Kfy^eqcyNPLQHM+{7hMP z_h?TyF^*q+cE9FG@fYOAT8&eVd2V>};LYJamYZ3$B9XT$cEeAf8=a>&VtwK517}g- zzM~iJChqW^?LC>GYzcCC11D6=? z@?98FKd5wPFM=FmJgPB4@%Qb?>Oo!L`;WINM~P+fKg|$O7YZHf1M8TjHFAoM2gT$g zBiiERTC!p&>Uju;=G=_)#Fxfsul=#z??AWIH{>Icr{v5+G%4Mw685!zVO*xp(P-e( z)0>val*RK>YAGw%?1f{r01|!3w+KB{u+~dWiH=B0l?uf9o~a_ z4YCZIQNarxON&!^r5Zr=kp{R){<|Rw^6H>J%_FxpL|8J3P_STpp$gML;#MB$NNgSB zceOgVzcO^1ZlAsxJs^R0>vot8yuH~h&)43gwfcO>{0N_<>e{gSw7bO~F`584mDtjL zpd-s%4p0lH?b|B68m1gPjdNaqB&@D?8^LmR=Iod^{VD!LkpILJ&B;heOSMW?DhyKbe_7vKSt!oeEE# zd~uJIg^X#Sv3$Bx;+N|AJg?m(H)||Sj}fCjO#AZNAAaeK2jC>K+CH%DvY-VwWVej| zYa@zFV*GQjG$p(8Qw_{0h`Qd`hN$>npXeR_Mjt!%nou;B`_{Uo8re4l2}+f6kSKS%-bScxA@FI$4cs zb|Oh*dOS&&*DxP23ghM!+1JT=lRV9VWCEh z0FDd|{FJVZ00*9_pzN7@rT1H4(~x2QEuic{W!og2`B}!C^VgMcPm%nN+ubp#6KpY^fPU9{s0H!{pbMgwv6sHk`PnNv%(jc}K(73C^-ON@Sk-u>T?nbe!TFfvHGb{E`#xATl_KGt19!E?`Wu}X0j@eV5B&)qT3;Iibg=P;9I}1tPXmCnXvBiA;PnQkzFQ-qib*y>Vc6Zs_VgJM z))31q`oe*xh=YpHpC+G@)UL2%?g;Q11Sx*QYbD5EZg2IyyytK_0OD{z7biYgZ&fET zl0|qZt_5{CYg1c68iTAgGxIOAh4q#}A4hAJW!%+w6p!Alc9X%m^$%KQ z*T~Tt_ziWFu@U%~lg0@e2p{IQCl?y- z-DZ1TN;PFv%PO(sNpTb~u!Bed8a+UiSL*$Vb3f2!Zp3}YlccFPy+Ip(}P`h40LB<^Dei8n3vYWqE@Mt6cM z!@eZR!cID`NiW|fyUlN@6r`DbGr*#PT(41sJ+HdFETWKWbQ$Etd6fby#i+?>V9&i1 zf4O+CxC-lj7z+(W$aTw1-p3Htf3ny@A1=4TE)_AJt2J;YtzRMfbeyy(U*0SY9jrZ7>`;Ha z#l(JeUqM(VcU{<~hcSFCbK2m~33%j|Z~@~ju*EFto&p3z;IT62FAmkPV~+;8Hb1IA z`3HMu&jjls?v0m})bSgL&P)zgY!Xj|AcMj)q&BDKrU4!Thrmr|gk_16gM1c0pZ+MS zwK=58n1D3TrAa^y6TNNnWHcY#=##i>mTCnxWDSoAAjCHdFQt6L=wrUI07_)D9~ga# z1~9|^l1`9%cWNkWTOf1(aHyo;x+w&j-*9}eXs_lK>Az+I<^G!T zzX>x=Jc@3s)-{p7Luh95TmT$BHR%JbU=$#{(I z!XM@K4oN>cqDsm$51v-DpUbqJ`All6kB;-Z2_ynbu2^uD!c+yC)DgM@oyBN%{D%G zHf=|+XtPXx!8*sLTO0X=ltu%3Yv)Hvg@4jnn0FnYDLwj~>r~uI?5;caD{fq<5sqv1=9fmk?`3iJXQJ zs`fMZ?!eWV;iiktjm5<;Ea&@|&@Sv{m&1qZQ{lz!!aEk`;1KuQt#yjeXm@5)i2aoy z3`JA$?0Pn0=>04()uRaQ9YgU z5FK>)mf`{Px@E}#U8Y@Iwym4`Cp#)78d#X8?`D_4BsjVlkiJ;gE6S7_Fg$dWz)@-1 z6xecFCII1mwp+FQw808rfFA*;E6)Hqs|%^q)GwNguODY2^(z~Alss)Js7@gS1kB%2 z49jij{JcVK!3My}H@j5*$A1qxN660^6~Jn%ReaJBP5-OAfs3zog^^9p13S9bZR-Q6 z>2+`h*{eeUG*cJmdb4Tf6MZL5YTp^voHdJ~*Vv~ok1B*p=~)(8pQgcg7DQH`G(L!~ zBX@Q4sQ^M>LqHsOT?=fAvO(Fg@mcb?m0avdweBoPi4H64$2ELvyF%c z<}a5zcY}wkw8r6{e#PH-Q znz0n)bew$i=xE|e8#B*>)B&ww42m!Q!X*U9+X{1hre1oB0g30BaYN?Mv<_-nv|^3T zMUw!Sxu}&g-pCn@O4)RO#RZV6*k|x4)EqNgYj=@z-z&YMs{Sk+ zYNj5@)trT9$ONzUSl9Sm-rZiycQ9aiw5NI+4nPaR=rT{Uh}OXjPT~jr&a1!D(=u^# zU&em|izF1=*EPxZ} ztb)$G6Q0LGunSTQk63%652CQh$ttYW!(6^q3KR2uX|l!T78qJ+UE>*i%g09JwQX2? zvq{SvkVd~}z5NPf!{uqUQq|+_BG2y)KM(xartF;|P0BWAxu49-7?lpRFe>8OVEu1K z1}?r4=YHj?u*cg}koZwK8|$#b18j@1$Jc)GWjGjhTYjo!0~Ic8-C#w?#^|b=3c4B= z0#<8LEIft|_U#dU0p9$8uNmto`;8Tm$vxE)ohoj?l9n_C(vmc%51^wPl1t`3UmAXv zdRyf@ikw!x2%xrf+LTZBT#o1~w~~ae-&@K7WFFM(TWNcL-tuS2#1klVVZf?IHm39Q z6@KrjxR79EGsuCn;ZNS#JvO`W{=R##Nvg(4I*yT{Yh~EFI;)m)&28AqYoNwf&P4AYPHE+wwHa^t4UMkw$7$>K(GbWtq z`7m>HBC(Yxyc;q|cu5;QCq1Xx&jadu1Vwg$lQMTc5+Hc!I#$dyyipXGZ-X*SH$H$G z@JDAKSr8?oAlK7XwOsLO2VkjF3!l8E&U&X2+ws@#5_)AJ{u%!4Ey5nghq2Wd0<<~TCv+csL zmh3UWb~jnKuOE1&W*ULfdi0v5(MdDUBYHZwyeq+dF1Y%0(ns`aPwNy|wSC|PPj*3q zk>(AI{Pp2ibzb?qQAcBFQ>V?B#k;#PzTqDqZ!~-4;&MG65SZQ_W#en~m$T-R#X67< z*!mmFW)Y3F97$X*dIse>Iv&V{>&;q{158==sQQi*U-S)9L6@3+S=YDC&zRJjVCtE< z?XgB;t*uX>&V!i-@I5l9iCwDtFu!f1YX||8wf+72uUr$!844Y1X z%1NheT-u=U6)ew!_J1HPYv0-Vl^&qalsR{5yQp+ptN#Vbpv7a*Pe#h_#f{T;j%IVQ zt#3heb9-ZoTNy7QwYY=U`6Njl=?xQe@{rqUb^myM?5st@?X-S%v|F4tU25xg*LwGv zFS@Rwt>rPn-jcqH_iT82%qd2z(xn0kAJTG?8Jafn8Cl*bexNUfHu2V)JUUt|F>0(@ ziYv>5sOtx)mCo5c-Yy!xHB@GAw>D*XDa|9IR2uTLo#O3dv_UC4W4+w9+r*bedSC@U`3 zSsPG`8UKpCX~9wT8q$YO-Ruq*D~rruE{UFut5gPa9Hh1iVhtmbsW(NVy_gZ*A>0bh|P*R-l&<|MofFo>qJZa|d3q!$YLL zecRU&>@MsXhBO7kEqi;;A3Y9TfD@W83QHxmy`Z+7MhAflCK3;1+mlKPGj>@VM*8nb;&&=OlXZxzX! zACOn7S%14;j$1GACojpLr}B$6~!n`4Yb1f3Pd3i;Z& zw48{0oA;2>xj{UlwW4YiY?zSAijf?Cm8q6v78U?=r4UyA&r2{(4iBpDD)YMF>);qt zl>;I#j-s74S0Bnc^}iRMtia%8#Z;9$oqMmH@>bOFTSb`su2z%}=rsY{5o3|;!b*-x+ozmE+`b@1*HSf-}B_?w0EXF5y&~?}jSICz!9;@B9DmA3M-Q}?E z=2zL2ORMD>@Y~pB3p6OOytwcRSwm^y+$Il!J7C4*A-by0c1kA?yeVLOkY4&?kTtQ( zapM~E!%(i4eASXHVjVo7vpf-@6se$GcP?hO!a7Z4NZn=|OL{2J=x7MLV9YD9AEKBr zQjCC6JHwIm2H7iQgrfsP&gGMvS4JZooU~6NQQocPg2NSC!gD3?;98(P&2|v997wR< zJ#*+WOIn(62L=`xz>m=R($5om|vQYDK2TRB}jly+pS z+%2<3utVR7^Pe?#B%i27xayfzND((UXCxG~tRIilo=p}3Na9&)TXar})y1{MgxmDB zx(2`9FXEA!>(J|(o)dV)vS!3j$s(X+XgO&HLrl*JlLVkoHLHXbc?##ZL zHs;_f>zQBY0k~q2AC?uPU%GhFaQPGg2x zBA1SU_TMy|VsGSAQf|;bi($9oC1oz&WgYn3*Yw-N59X(D9Lmps5GkXh9fD#r%2g|$ox z;``aEv12s^ykzVP-d;@n0v^g$P1W`AjYKX+&mS06_tu|aFJV)?pJOtZ(G*i>(rHpZ zTteS35u1HRS^d(c@Nfx#DcLbh9aPu)nj3na2=LepUW$-0^A3#T4z~i65w!{&BGmZg zEj(|DH8C1lQ~yl#^N^GzH?U&Dm9lCCZF@>}Ju7`Uw_&Nsr0o6VAeJp}5z}S|snKH0 zcjMd1UxN%lI&+#NpJ8?A>`q)*W3=X(?gGn3-xaf=&3Mbn*M_4397X6tCE@%|LBOJo5AV>(E(^sXl#C*(@a!&o_?pZw@vYx8;1`U9ZFoRI@T);1hG@AR19lV9$Z(q^sa~j6hkkh}-?V@k+lT(#)I{Si znhei)i{yDCQAoa(!Ez1_9p#uFY$-=^y&s9_UT_zn9>%~S$GxG_f$p1KV|-&Iiu?v` zG0gn(o-_GT_=@YN<&W1lL>*8jg;!R)yK6MbTpkcV)f2IjVmr;DL{-<4qomZdA=36z zS%y*V4uJvnQZUF_+j9W4xd*9|>SxbzBDuUPbjyZ=2}L&L4bvrJ6D<<7BhbLKB)zY5 zS4N{VI^etWt@!bTsG%82hsB|^vyZR1%7z$`-G_9LbX{D{$1iVYi0pe7Q!4KrGTjP8jY<)w z*J#D9?|O^OfY>jm%?+T4=m>!;Qd=1pFMVJ!3TrJ-aSmFJaQGFC7Cri1@b<9qQew)_$-r&2d4pyw;evmQHDnJ{E?kJZ|7DtTv z*ucb=D5((dD;KcK1L(G!+6E~Ocnj(I`QC)1h1x_DfJ0wDzaW>fu3}RajXXEk5P+c{ zAd;5F_e9g{F_831W%xq!OMnNXdbU?QWCjW~CeQo#L^w!70y{jqK8M@GB@5iRudWX{ z@al|HH$HqudPjK#lox@>=NEd5tP+6r%e6fz%xt~Z>j<=?Coq9(67>?{D1#vTUfvCy ze_xnIIv5PkKk|zp{wN}vZ$ARt=DDM<(=eww8&`jd-oT+((*{A# z_{cny>HH(1#5iAf2)e+EbPHGkmnWE&Dt%7ji=u3LW#+GV^t{>`z5;8 zW-*AB2Dz`ZUph7TLBkEbt)9_wWSfhH5n%OEnOY9hE6JqOK@lB}z|w-d9z;libt^IW zBg?m7TS@-SE>K<#F8XHj(KIdaZ>yaxMq`qDO0$d$ZpH8H92nLN%un>Z3QU11hOkh$!$8hQ!m^(SdOmL;fA4_4FQZ5KU}s8vBdz89 z0g^tA(lq;ip?G`a&F(@LanQfQ_}oNmMOqDP6;FA0fvX>kV>KCRj;&n)2N@O_YEM4wIC47&$r@w6 zTY08)gLo?}(IHq(qda$V$|%c8@OC-nMv-vYxIcKaEt40()YN)!gy`3*kTvGo6y+uq z51f1rZhJ!7*C^albIAU1CXaJ6zK(dgW3th=c2MeZ)ky-5@o4KL#%fethHcG!MSdjm zei??JPhP5%+>ay{VVdg^B+0%OlW_gV<-0q!f5fM)R3=+&M>|xWkh?CPY4m$o*MrvR zhMJo&XjDhj01L-LL02jh?=RmoUG4PAvBRWgg5}!_M|g4#%UD`3=q|;k3}MBbPd-m6 z7T3`ZrMsG~hz2djloMEA=6lMf%L*onpT!hem*yM*N=W8zY;G|SZWZNIC6N0?x;;%+4GCq@5&^eVhrfW_ zeo3ASvvh=evpQ3MNsh!WNRBLWu+_1&^!9M<2>FP$S;~^h zIN-eEI{t}WuF5+D#W};n=e7*PNg@4JWF%(*I<}Aq*xATo)B*Gt$73ipmM~qn?g3Iz zp2HJ(XLrpy)g)%}C1NZVP))tB=ksCX1dmDojasPV%jg9HWy=hS{p$2ZU#m(i(hq4$rdE`WN3~;j%Fx7xPhgOgR9M2uJ z0o*UHnOm-2{C#CI+O9ZkIA*HyIE_EBXZU3{w77er2g6R$L0*xL%LMf8^rer0a-#*w z7csbFi}!bVjm9F&2;RZlGCuyK?$%la7~6X&4HYu#OL9>`w!E{PhUp;dbydbkauCfq z7OO{&_;#2OTD!|X!B#2{xlHTGFEbY5n5tr>DpKI8M+3cq-Hwe5f%|bCC1ut>x2CYK zYah3y#s+r+Fu+i=_;44I_r8Sj8B`LbHP|WW2wF)gVuU)P^(-<%k$LYFb^@gE4X7@eV%ip z)pt}?@Fc@tg}tLE`;Q!LtH}mHs5JF7s0Tis{S?LKRCDubP9H+HX7R~VbzB`Tj-W(e|rc-S}RT&LhBs?(2U*yWUu@;bdRzpMjZiv~ok+b)ecgmn>e zRR^vpxH#1pK?*S3q>Z6YB%F<$0s3CGclB$#)mC*4-(Rv0QsP`@9z8O42W5t$BK?fe z?E?jtO(cxNOK2Yk?wtFWnLk>~njcHEVvYK_L{r2M!(hCrn9bSN6|7|0z)IO;jeDWM zoc#>-iuK>qV%A3;dFQ2*b!+n)nKSC{p+Hz4uu!$2y-7<=zBK^2c@duo(9uuGI+l?N zTOZIO^$?l_alr9z3*L3SLpF7Dg9@cs;iT(Xc&!+OML@cOcU_n!cl@RRlamqw&92jx zJ|?>SpOrlWXRYSF7`I%U_1?`24A$A=b?!8D?0Lakb4=P8w)@2pe$NYH>0B#XFXsNI zMJpiBbEVsX_R8*l~)Di(;p8%FM5Nta_}=E zUryW0Weo>DuA^U3wo_G>P8NGs6RBd+TD51&SpUBU)z&DQj-2d)>^jNb$W;{vD4G-tjv zV#Ko~c$d|m(c3agsGD<#pzLOWtqAwpJ#d4Wk_~{VtZ0NlHE4><@#!R$;b(2D%vyl$-s`W-d=0!nzxUsM@?mRVd&J_ z8$)yy65zcKfM#`(Ty|Z701*r0aOu7&#!Wv}U%FO||f1etz>Zt_8Rk$R09gL{nR5O%G42XYUVOP*kVRjh<$&QkWq%^vdA!R)5^btr+X>GdStwq4!#hkdQ&b z@<;ftiAmH_TiPUe-BN!ok7Gef3O*-u+lR-dHbIov;kvaC1}*1G(#zbK%Rw_%`VT!6 zQq#B@&S);jh2*jVE8ows4`qfI;OkF`<(0$oAEUgVtrFJQZMAZigRcdIDRHaqW4yPg(F&H)!114n zQj-?Xl<>Kn5P684;{&=G%%RKXaGV{E-oF7V{xWTRsA*LTgt4|NW?9tdjJ+^DENoXS zV^LG*2gXz{jTom+S`u&f1i}HmP1`u1Uwg#ntqz`4u+%-$=T;b5 zwB|7?udKFpdBbw&Cy_+$?FWDA-u5U;mY-bG%6$33TfowOxj_@=q3kCQ}-{} z8IiwD(f@u(=g862wUI=9d2;Zl2-vNSH(FzNn312~=&cDosno*fX3*^#%|LINrJ{O! z6ZsStbfXUVs;#0cQ$r`Xr7*1(bVa8zQpe@-1DnXq470b^80_kktrL1OA+UMO*rMy_ z#fL#dFc$2ZTFJlCG7Nq zOndwKBb5^}ay=)y%dEa`vR72!#2?6#Oz|7|85q$MXRFv^!0O6<>$<-JtWz*y-O+hi zO#mH!4|+TPdJRYHW%{ksOk&T;^gd`op%n2vCT2wmVOc>0Z$pF+i*`p@VQ1k>cmxiT z2zKi_#7e;60HMe2)1#WZSXC2qyq7Gur^qY%<0b0XAuEW5QH6o4l5s0w%dN%rE=JP$ z#u#na0;)aNUPSFkvcV&i?;vY(t^*G;2_)^#9$q!qQEvpaUiWYjHVfb#TgpW(;?s!U ze7WN7dn8A7wJIs<`ESY)BtP@b`84BH(P05%=c)!Y%-&l2@@9CbVLW!Mb#yaTc@xKX zr!*Fl!Qds#?3k`tNb!ARy?QoM3(MP#KtIpg6Zm!+W^y*E^lsLZCXhqW^|X-9Hul{o zT%Y1M4Q$`Gvj*joMJw!{>&Nv|s61>a(ZjPZP3}kwvmmARivlyZ+dS z*&#!XVymWVuR9n;c`4FKQzRjD*(fix_2I?Gs^gikhptW`E+M9ZuuaHrLz1){%6T{yT<6csT<=aiPwY(WmXB32V_$-Wa0W<8G3-6sN};) zaLTJLN6VjlH@6Qe2QfeRw{pe~2unWrvOyy~#F7=eaw`Wf@w*I;ET=Jv%K<)nUJ`vJh#aEcbY*yM$_leRqCu=t;#m}W zx)N=Cu!}gez1;(%dolz0sf~R!?Ot-EOn;Ma*D)<+nFO^;>EB<99#2XV1!}S0g5vHO z;h`fqZs2dlb(D`t|IN?Ui<_{?7Y2Jk&)of1qe?_#E-!RrXIGq=-!3MD)NGp*mK1dbwI5agnH0iUE3YuueVc)Zp9{0U>W6UM5`%79xinM_y6bY2a z!Gl3c4Vwe}Fz1Y5FE#DAc(i@})SR=2{?6d3ckabH5@==cB|i9TItsAjZYXB;BtxWVE_HZm6~2Tt6J;w9;TFLv4^01NAl$H|*a(UzB5m7Nc< z^xO6|X5<&e$0xYHoRdGQ1>)@#N1g9Gv^^pLGq@|#u5SSm~Q+p zNUG!uExq3oI^bly;|p+c+QB)BMDg=oN_92timfn2Agk?!`_I2W{h)T~!rR5eKCc%j zg5*p>(ioo}>l$5gB)Tq}PU}ceiVStD+%IMECZy4h9N%bX)_$*e*zT-^iF#*w;Lbs* z8obRhP~dJ?`#hy5YZeB-&MA=&;mYI`(8x-nKaGGvkhwI%dF#0ed%~(m@^xEmG%XXj zV#S_nA+&616vanCSaQ%_b%nCZV$bRUE4`0!3yoe+`vHZ;Ox&Ujlpuv^L3FRPs+U_h zlOMd!ug>DE%A-YMeiIp6*aw>^RKvxa{idTUalaAMdxNy7EW>Yzl^f7(SdERCNOa>u z@CyU-j4K4ak*LJ{lH$+z-it}w9O>4xFd1?-eZxc1*3<$d6l`<~2u(K9hUo*2* zI*sh~*OI%bTU99PX2-c3W19xopHFvX)G~CrO)_#A%*nu}kxu>F6_Gvg9l%8vEM>R^1J8V{<7GT5S4l4%>PS0R& zK^$CzIDx!zLsGlYkZIl4zPw!|Ya@i=B~F6U>X+6~{GcE%4wp!EvVdeJ8%q(7kbxe( z@7BpNA^QxaHQmeKSs2U39gLv1G!Aclo6tvIT-IERS^j9y3IuL*#1l!T_*EKhiCI{Dg-?tdj#*f3wj`a=d%$lRv@=M`X{EHeI zG12toYI;I_39+4*vl~CyCP;EtG=-_hJ$a`axbj}H@;3AE<%UW><3ExFj)GK3r!&EsZkU1EPO z%CJi1k*auiI2&ID=jF2I@;O9`Ui85(hhG^%G*GYm%2;Jl79!I@#T|DW4=cq_k3=K~ zh`E2P1q4ydQ5l1|EsunydUY>W?>`PEJZ;g&ym89fe*;XYLv4;)t+;-&UwX{vbXTvl zWK*^;KlJjo6ipNWAPmP*np6d~v4T z$0m8D+SLEuK+OEfR)!3UGmMLj^O?E7_GKZqo<9fitPZqGf7?z1{wMAr;Z4I9DQ!or!+J))xr5*__K)DC>EP1IS%g>x^%d`|pEHV8&C z(@^|SptRw1|6aI*<)^n3@7gzOXKxT400n0(O;J?NByeT3@U%+9CPF4sSdG31_!SCNY_1IG>e2hmqWHMaNo_Tt< zLy#L%sHp;J$ylminRuQRjTg3F^~`zje!0Nz$bj3x=KE>iQD`f5YXa{SZye^>7H|n2 zjz-aySGF&t`32?_M{QkB@#l&lnlWYM714ll_KUNreip&5=9Atwu7q29PIX18FvLyr zd$7d#iXfdp-GToML%Gw{jSsvKedIIkn%LxF(IRn(dR-=Leq~v0&ZD)cma>W+=5=Ip zk2VBT%(BSPse7DvT`d4@1)Cv7nKM4kE{B@SGu8?P@6C{70Y@=|j-|u>l+5tF?10e* zUX5APVkaDK2SBV%GTei$^nk4U6Y#&&wt}1|&UGGo= zI92oMn=&?(F{qtfE|CAG8o7yeKUqpNTgBkK(ffyBg5*`!sIyxK>&Bzny`)${9`}gt zfaa)w-Y=BLVy?|9oJ*Tukz;N0nhoa}wJypv4$1u;?8W@!w#LY)$|zu7?D?W@bW2x` zaXm9O5nC9bx>(I&gwMuQk(XYIre)My>I-b2bKa59^(zJRvH>@6EqxGXwStf7&(YTCYu(k$? zUX@vJ@h0Lex_)DBT>ySR8_kygPBx7#fmvRWPCKW@?9lzd;xX)&CK4O4v&U}H&U6ey zhp^+ss*DlFu>dz;9G4Yi?yxo@X}iW*?;qni6Va0=<)sruwZzG{*AegDmh&E0t)!0d zZOUDn4)fP4*V{1o$YbnR>n8RvpC8H~U&nbt3FIOjPI4ASBq4}9E60=#c@Kx0t# z9P*%4rr9MfH~UaC0Ji}sy-NvCbB3&}OuhCJ=hE}{LHqe!v!D&NOz{3uyE(<0Y;J%y z*1>z%iYb5Qrfe!{cr&RY5FXj(Ak~cznoAyIXKJ#WbMHew27U6}6A#j%(qaI*`gUa= zI;Lx6Z~#9+-_00pRWrgoKRslUwL9{1263erfJ-L$M zG$+uPuOF8(-8MCObK^!!JVJv~t>jQW$sgTa*u+JL@Z#1(QEZ>MOCSic;3Bguv0ha! zQi8CmF}A7~ydfI73(vk6bRH?^w|a|MeP8hMk}ll#Yzj~@ln1aM)UY+l(1y-Qm_ho;mZ_J|8U2WO$O-$bR@lHf0;iCefuMaFX^L_qLn2 z2%<2XZ0@MsPMcX-mLrFjjk3pCeC1-?=ExBLMHeJ`A(K!yw#l4Z&+4OpPDKl?&mndRv0?&f$_(CAo=h@OdwEOjxpzqgX)kt?xew}0exA?vQ8?Up z(|Ao>LdWH1+D5zBL@R%BTJE$1q4wHCaG=9rH<)8hLv!C}w{ON32cNn!>f;>r)j+20 z(ltD4Wb~+KNPQ2G%as1rjmyAkn7u=F(RdHIZeFW7^6XG)8)^66&5|?8e{t^j^A?!TDmMB3 z97M>r_MHbDc37KmYsPWga#PBJF34pDy4csdwKV0dJse?HslLNMb~TC%k9;(2u*u-f zMzFtp1V#(q3PD0CHo$K2Zef#Y5xz)b#&FgGFO?p-PhN1?p%c^ngi`{}H?TNfNokPO zE6@3P2)kJb?`)rflU{H1Qu!+6bqWRmUmlbkE!rajZuM$h$Yaok273L1gsJR}1(~!% zS%yGy)XI3Dk2}Ov^o1-+!#>5j&1a%FNP9!Uft^z5Eb1sDliGkV1`^!gs__}bt{o2* z2T(MK!tCZ!OoK9SwHuhOmncjL(0otY;BPFuk$wS5fC8oq91kgL26&Aoi8gLb$O8{% zxpj3_7hYOSXxUoG5#sL~YW!w^7q_~vu&zI{VNVU4ASEjn+E%ac&p^=8DaQ_M%}1if z27^%WEd}TW4{NX4PY$&Fa08PQn~y}f&>*@qq8Yb2nLBA>(h({(DZFYa`Yy^@pf^ajLM4ht4z^NzRZ@>D7*B)nvaBkOWG&Pmb1b;F znVon?aQ?&Uu#SbrTa*R#Wt-7wMJAtt!J+j7FsxHX3)+Hojz_t>@H?*ueYFQpI~ z^!3-mfMFP_NlGwmPhIUrbE5)F@rrgHcq9W3HCMrQm)tYix;kHgjPk!&~JT_l^^JR^9MSCAlkr_QLY zisjAVuMKB0>U2V-%sPC$?W=+xi+bpof6G7bs?62PttDHiGV~by3z79Jwd*s&{NuS- z{SotVA`2m0PGu}=_QuyW)uu$c^3yPgZZE_Axs`1xr*69fR^F&u4w4+)D4gwl_ zK!?<0>Q&3YnScrir(tgUn#Ec;nuk+9uQ!<)ANHy;^~9~(sW=jCmi&JJz(7C0|DV0< z0F0{2+J_QI?;(&tNN7pu(yJg%MPX4g?=ur6M@guXWis~Z@wgh zhYp7Zl+~e|^#k?%n`_GEjq4CK{5wgE-EZTom*cxIKL@79r{$+5i{%mk^XxMwwqK)x zbv3o?+NV3{6NdHg!AGA^>(_t(@w^0ExtQR)I>CJQpD@k7bo5xY|5}&p?BC=~Lt*)H z&D0waaBK%$Rs_hO?|D$VMMbNbzwfGBEBA zAHMB`1naEXJSRDb=)ts{pnH?*cxKXyTF_~!$+{#_bU#-nH_fpv9Cz5)qnz5N_*bk0*F z85Fo!DPWB5i?wHsb~S1W6c^Lcw(X|LO6TBj@Q`5=8roiggc`$PzIicUT@%ZrU%)G{ zd9FEh2vPPP!s%?J1Of0MNXYvpFjK#tRlT3jl6fJ+F!`Drph0mv{DhV2wwNZD?|=HW zihM?f#*xHmcgK$(g;v@M*|g(eg|8LMdMZsqfP~LH`G`CMli@z_4aLo#xoSg86Vqn` z47)`}%iZ@qBrp7TmI636fx(fw*EJ8Bx0K{0dGocGE42OAmZfXW{Sk49Zdk45|dg(9sqkcJd>tDs|E`nRs7(A_f2Su!UoTYjADq zu8l2fHT48=_Ypvwn3Eh=ItfFq5CGS{-*@TU)GnQa=5)A3Mn+;z*d9tSS9{a9KHj8B^XGB{CkVl4a<+G?g0!4KM~L7kMZNqc(;>A`*Dvay%TkDCw4%!i(ksOavP zyYQ6;Z71HRR$Ogq&HawFz8nDcG=Pvad*|4*PT}x#`{|eSLGL1Ex@UdADgS132{PPt z%XB$(=%8FZ=^AKm)2FdXdxvJGwV^L*qWT8}*+

    ~x#!*jgz#>yY0p1`x6gu1FhV5-WY@w_7&41eh{l=6U) zsAH4aW&a(P+*KX9n7SG+{TG~Y$+;5suxX|WSJZQZ_fyXk=WL%O(b9|>G; z?&`@2sqnYh?h!5cGn&)ElaKG-Q+D_t5Ein+0|bbG=D>Yh4XS-xxSkk*7ccD^?qmG8 zP?LFzWLwV^nF%YtUXeBGd3(oKU^ZuW$6T+qy+s5K*O^)B2|hG{W&yaDXk$|v{)LHNc8rjXa#RScIUa@fx}jpA38{c>BIf5S;Ip* z81fX<*oP%NZE99{10H*sHruM0?}WMJo(0JpfAjgeuyz*D=G4tw8L2Vgu6KyRTJU|K zhWn}-_+A}4d$|%^F@hqm7?{IId!zIn6mVtTedto>0daO#T)7LFKPZEY$Hu9k2y0=l zixuAD8MjU5kMO!yy7CfwdRe55{AmuZYr&U#Swe$Wy2cq#k-&UBN1M~sY^b5oIry^X zl+M8m17u_r%dRaeUDUvDziYoi3~w!KRldu%QE*wF$oW(#eQp&}u_W8Jz$W}6Le_Z- z0m))sOy`b7+o3#DAo#FhOfFqv+w(ggE9V1?Nz{7AbjN8gHf9k1T}_^cq^M|~v#1MV zRd?yvCpyVAu6GTsTgaqMx|qvc)vm7r6j zUGGaGBD;eriCdjZ9*F(A(mC+4tl^Q-r*UO9**2jFKRVz*xcv)V$@ZiRABJS-hU;BFUCe*JJVjbimdL@(?5?K4PlC)$8p4EKe~DQV6RN3 z_Et~Nmd*Qpt~kKn*PS)+E?pruN(Jf;dw-#&F!B-}}Qv8=i{(6dL zzn{mo9TyGuSm63tBYFi|WTpuhd+rKr%jSOr>R`&ynK)+!da-BHu7`}~-J03op>9L) zr_EEt`^+GV10*H8aCCY)+(C;$p_&Y;(*319z(~j@=(6xYs3d1(ZE_`uPRR0J{C7;e zG;iPi=pl2>Zm@_AVCMK5r7R+9MnqIj9Tgr+f8>5fd){e)S53%Hpakf_-Jme!%yYB1 zkEi2*J>n|LSnk3&Jorkfrh}dCEwbt}c_jZtIALyBL=l(g`SbfryF`sLqHDP5$ZMm^ zuIlJLX(?s|Ak{ngr%PwE-q&7*KT)iVF2l%beoS}!H-qN!M=KqIs})ue-D#cm>T9u8 z_c}+qhxQtzXP2tVl8E!@cIX@L_uhk@N8(D^9x;sIFQ8LEc(qehITm3-Lxo<1N{dCL z`a=IP9JqaH*Q>88-`pnYsKF3x7~X}78`E?lKD1th9Uq6n!hflE+&$SqwAxhXN_%!0 zf2n@gOj>Eo-V;i%Bw5h`sDS~2#%;R)+LP8-+OUExFpwS>jJ!8M#6QlFIJK6K9io-UOmkbg-h(Lhn0gNbi|zz zZ9GE5!~_yuTOrR_Kf8#_zOfu4R6p%9ezP!tX3dOg8=^|W;A-wxi}XP5!xPL`iu@|g zG@RFpFjVm+YaIm~6rVoVc<+dbknT|5)}NljBbz5r^z4Bo8f(o)SzGc?(;MYP2L>+@ z&FfisFogGA3^n8ut%f#yxW1j<$;=yPL2fh_IakCHxp7MTVtl<|2{_{KW}c2T>dvf7cNy6si^A0=xH;I){UJ#T>?~28t||3HKjj3J1Ds$& z_s4gVUsbZ6_9w>mj2=xkCSgjUK4Xf#^YgG27;tVB`bxQ`JTea!vREx<=^#}Ie(=Gp zBPq~YwO`_laA+B=J2wt`F}IOlO;n6b062L(<7T$aM`7=i$aD`+v zw+&I9-{*>xIDV-y@=I$hbEE`%@3UOqJk z4gRn3SD{dxiT`{Ng1`acw0+gU0id2=?uw!6KPQUfrV!9F>qYcoHM0U@o5gG!U&55h zU-H`iY}&r|`C4P3m~U<=Q-Js;)!p91!CAPmY-3ymlBz!~N9GF26&P(|AH6KL%|) zI*OI7DGg$xJA-r_feBzy^0EO4!OY%Sy;U^HkU2HAU5mVvN{+887$f>Lg&T$6DUe5_ zp=Rvf)`q(!^V98V$haWMCxE8;)X~zYcn_hZJ17XO3dK&Y$7FXgbpap>a6*yXSM%IUha%2Q6YNYM){@VDdbq47Sl&_X4J9BCi6_w_yt-<>vkB0cTNh@-EP z)6*$U_%NPEm-n9|F{8gVu;;(^aa9t*C?8=(y)1uuM?#6WLEkw1Wih*0<%URunZ~`} z6DamcBthKd0jczPm(>(bVz|6{f}5{E^u)o*7wWZg95JEJD7<;-H50W+NwQd^bx&ymVfSSn{k2y?GNcXirb=L8-gjx4})0z5^LWfkT3OFq?1;7GN zsw2Se;u_uQ_gg4o#d(t8Zf~e@5Aci`Clhq7SPNV4%BE${+RnbBqhYNv#>G7vy7O6t zt3igI*i>>%cMRJ=3bB3P6B5QgUd1G4#P|oRi@oyAt3uBXSO1B?WzLY5fOD_1JBxrB zPN^=L=n@If<1^ea(q|W~-7s8Y82CMyY&``VIrk=`GxR?B|JM5Up$A~=iuJ-yiDWg# z>$KfC*xhc=7w0DPeP^u;-G1Zv zM+$aY+IQ{h+T^_f>trOs{4!40ANpaq37J(5IN^X(zsdwu?}&BW-129$Z0v91pV{g; zDKTg@)8%W8(?Cw4n;XwO)S;Z0Zwx=^p!>yyanU%Lc48UEDi+-m#fBG4?tX_NT?u<5M+!d$+l+mYe(S1qA@?p|+1O%=UKR@Aa_ij* zh9^`z339}qsX?Y18=gfizq6G28ZPn+#mri@o0lx7F(3$BfM*g>c;(-5&?U35aNjTg zkF{%e`VSo};=E-TQc+c<`m|ykX0=7}FOM^kO_0HkvGV}RB8j9pJa%p}KZp?99xX-` zJhyq7`U=)pXs<@_@VgVid)CYNBpMfq1K^z{?IqQnW%HyP)Y)1=Xkd?{AZ>t- z2?69gkL32+TGzM~tCA{k!kOCryXoqZQ3tJ(hT1JfjeS8i<{)qu>Y|OKNM5N0zJScs zX9-qQ&>A6_>X^rg^l%R(Bs4l{Yu*=3F;x3ZbV@E}1L=l_%BRvw-75r?HU${ku#^bw zv5$vEwT6g#OPOJ(-yz;M?^cY_a3dpG~omXiydwJ84r<;U=|b zUrlh*iP_^s)5P|%HpS0f#e>+RqsP%H^_jJR^fd0qMeak>!xPj3wH>WxQ!oHmZ5JCaZ&W=Dp|5OKB}8MSGPChCkrlWERc!b1{-u?enD+XKIv?Xk1?A zEch_np6sx!LvS~851S!8Lrpb8CF9FtfW?thukJ@xC9AIMwI7IQ;WMOud`-w^4Q1nW z5f{y&)wksQDL3Q}__R+I=ceuKqEg8}c41_wL^xjKG&T1Sji`ExTPAB{1L{Dx=AmEX zPomXnys8gUuLf;-S+mAGd@L=sBh)u_LJslCVq^W%P-H8o8~@>*#~&%A0?h&V1IcZr zgqI_SXX~3|-Q2lBbkGr6$4XXA0YJ{E_}1(!UUYJV%RN?aQyh7Yje3rVYo3iIaE&M` zx3Tz7lOPu}oi9x0k4r_k-^)LMVb~}XGwz%qf`&o+;g;orbfn5i0#{(+)=EdGLRv-S zqeQw}ObZ^oe+%1rXm7A=Yo8O-K7&7bLortJ1jk2$g;M`(`*Va+1tuU1sg%9M?J^3@ zd7=suIGxKBA!K;=R38n`fI${0o>vdlR*e)#w^V2sy^dYJx$HaOn?zZB36Onc;|ljO zc`sNy$+9Gdn*ickvJ`g=?!>64h;FBloaX*UFY$<2BYDEy5BCAFb}9!i)xWTz=uht= z06)k>l&diYUXZ%`)Tc2njTD*R#avEo4=^Irs}%`#JIb{tUN&Oxi7SwV>U%f&0=$#4Jy_WRG#VMb+rnRArWzv%0e!ReLE z96ZG+H~0@Yp&a1k%ep_83|lLCP^gf@TotDg{3p_7Kz(Yqe|@Hod+W`qX4Y;H{3qr- zRguD80XuLir_Ei5nTgybYzglsC)8VWFNb4V{Xn6VA^|}x`|CpsR(vT|vPY0c`Gbz( z!lT2Xd10y9KSB0q`Gw^xz{_AG_;Ak00Hc}20mB0kVEEEC;Z7bKivw5uTm&2)tR}6w2PZxl{^CHy7YKbLH+Laf>p!5sD(^ zl}GPCDRv_;krdU-Sy*$^D!m<`VDQNWyqIjoa1X)e8KzvSt=C}`H>vtYY#s`t2d`9bq7Z8u79nF+a&x2KPh3zERANHp5P-h>0}}TJzkZ@Q`J=KRbxFBfwQ?}KZ#5D z@&zMgie8LfsTo0D6}=$31q&oAFE_Ly_a=1nK76cX?Z37g8i)<=Lj&Hark;GAl#mDC zMvj1RtFeEF8@x&(A^onp{-%ou=F)Qz_REw@o4zM*I}W6ECLAHMk?2sUSfDa@XFvN_ zU`?jqvlsM#+@mUfL5_O2ii;b5$jS;jLMclW6>LxBh)MgNgbfU>t5aT^ke>MP6M_J+ zdW##m?MO$KzGM{7@a^NYPIbPwIkI#4C_1FFWG5NlH3VU;Q? zpcfJzM?#1oCPaU-1IBSw)9+E*XuH}5v2|f7QhS276Hi){2F!8n|AhUzR~?Cy{G`E- zTHKHa*i?@VHo($&$?(v*cawn*p4WP7qF^x!%1U7D~D^XQXD|EmI)6KVXz`TpN0k6zxE%>gY?#q>Ijc? zZTGIb&@>bD#Qmu8G7EZxP+p3PqqptjGESQ}GZN0z7VustUB?e0!JzD@tkm&5j{$z~ z{r-X$z=Os5A|bja?Xp7Xv3?~M_en4Oi^+N&6I$v8s{YJjkNJJNNUWv{D{lw|60J&+ zl@{8xqn1!RfN*EyNp6s1I^(x=UlV1t@F%uv9CEc22)wwaX`x*I_@}NwiR#m*&&VW} z&DBcvMHpNv*2=_yf z_Va88q^M!-Wp0}O-j4~`t8wgAVw>C=V5eFK`6*p>jss9Ge8g^@QWR&LoEvqd?obM; zikK{YZGsXw!~{Fs<`J%4C_v_&Tl>lLtQXR>=)T@Rnj-(Ht~#2tbhLgzN_giT+Z_76 zZBk!tR#&{1fYZZ=LjZ(SR;fCjAal*A*X-Z57RI_#P0a1wmp%<}a{5nq(gOr%-FSR@ z>&0-44J(6a>Kc{98H}jcPikUw%Pl;X9r!PDI7yO1I!VL{I0pHYiSjtqAe-L=tPc)d z{(zz|{$T)k<#Z#d^lECLwsfcP1Yb@YK)3{Do;LCYC^qi3?QBY|Ae00e!D4A-hz4z7 zhLT+15i|f(;IiiBG9S2%@)sFvu;;am1=x-{IM_dCz^BF(U(?Yvv#0OTXYkF5%IEqp zzUt(N1d5w}dS>03PV`FemNV8BXn~bl%-lT7DmjmUsoy|NyOlc~3p;k$5ijG#2&A(x#IvkM^j@g-2w&_Q$ldpu>`VoSl&E z5p3D^G|Ic$?-`=^;rhef<@oYdoyg8BoZ9wgB;ryn^@%$^8j@$0g4Q;EANCWP5*MIN znzh2RPbt5W7MMID4=5F=_=>!O8~c*&ypv6Ivazp2v-b^A?_dI&+lFq_;rYAaEK6gR zGs3Io`R6PN5gLTCe+P=KUTMvea*r)jf=){`9*Sgj{ywjU+6X(QA{`D(mT$kGl}pFqo;Slr zwb4lgTux0kg;?xNnBr5lWo=ptS-clP)kpLNNi6aALP$PsXV|9nvqs4MnZPee>4~MV z$Sk+1d9>TU(S#er24BJr5K;?MW;pmkFXmDpLW7nl8V@R)cH8UT0<~)ReL};|LkF~3 z*=4qD|GaaQHnQ87SjO)E_JT;e(uScz*UR;dTVqDt&AjVI=FIW`voW@N{x>^~wsrFV zXKT7O#Lv^-d6Hg6DO!e3it_YA7syEi)!(_!; zjjsh1gEi>)vJU){BkLO*GAAOt38lQ1Jjn2W$Lo^9qk+jOgO3m|#wteMPqzjaW;#a< zGu!^B!Q)(1W+2zAE0Git05dAiVCxuzYGtR)79nO4rAvy3B6X4a7{3u?ruP`Q78fi+ z7KwZFn%sUScj+XM^B>#IdbB_M(^8;$Ut$fLZYf3GIdcyg=jQ^B{`fF1jzKUaW*%Rin7yo|px=BT z>etI$PoV?3*+|>vw{x&b5ou1Ho6nkm@ zwZ#go*X9fCER#Xxl~vjO8N(d64bBv(mkCXN`Fb#*zL0)bgrb zu>E4a*xfu#;avTq((cgyw>Ar+!4yb`FsStVOrG-w@$jGbD~A^-7l*}N=U}B(aK8}9 z7U6yU#l;zs;|V9hB;E9HVXscSO1vUL2_L1kuhdd-ig%^T_-mnhBl87~)h9|9R+W8yRB7UFHMVh)10MfP4bIx`E?76ioo;xuk5`?ORv zF@LRL*TRAL8^7JT`Mv7(H|HuVRN^Dc{P(y1L^J#DT^ZnHtwwpj zHG{?uBl&^mD?psN#Dd&oGN=G~4@f)1qov#n@ux)AgYT3Y6O_iPs);1k!>AFlKPyyR=81Y!%n{KQgT>LmR^-I}HLie}VeuDSpfU ziddJ&)>cWCAj0wvx+3iVX+;FUl%O)g!=8n!h;h^&%EDiyx{Y=PMej3YeJ;o|%&e99 z>g&F8dnmjn{NdhcAvz)mZwLESkh@qzt!xpdFASH4Ki~bR-6;a-TZ4%h{CK&^+47*U7|q(rNNjBk_g?a z6eXvus!{xr-zzIhD?t}v`?4rbOQJxR`lTOt{I3R<4nl>yW1kRzCEW}krD%Y125$KE z8r(t^S%5uX@kb}B;!srAc5qg@nn;AJRYuE{MgEJ?;;WX;Z)ZI*tQXX7uFd;X{S7oe zMNjNrYuMsq)@Tt8C_E@U`22eb7aXPmC4<_$h<{alzSgCMFH*-*i{0zK3#cc2LS|2W z6W0M!0AVh?D}LfPvLXQq*4ffnoE5b_PJUf)5W#dXB4~FT7OiFuM(u|5bx)lqN7vjl zGclv>_u_R(@*_R^oDuej7uPHim>PuhM0i6!A|*HEDG?&?9XWQxzoUg29$Fw1CsCTaSFwE#M-QM;MF*q4W9qIFO7$4(0y3oNns*^yJ z?-bFah$+R9X(!E{CE0rqtN5Ca@)2wifLm_E`*^h0$t1Lq<}!9v{dB07^dYU z5(>v)Ws-IG%RmM)Q*{G{Es_jtobH_fE;h(f#HC=hmv0IR6w(Gb@1oK2CA* z$GODJ7M>#Js*S*_UYWO(8DGGM{UD3P!dc!llHZ-(<(+?DY(o*``-!=>uJK==?_# zS|1s#$FLvnM+4SM_CapIb_t{0rMN;D=kYJK&c#;+RQC2;naP>}XYVASpte4tD50Rx z>g;TFh;ehryXq7~8>L$dPcVqlPq!>Ov;N07CMRAv2(LM;vtQ{Xl2F^SK zo?QM8NVVL<$l|~V$)GM(68@#9BLt)2vdi?qhjL(pdg4}>t1-2M@#U=oTLj+o+f$w# z{yT{L^8-IWlvH21<>8eF4r5ueGqndvt`}H=t@x_Nq=x4$fxzv&H3vkTrz^^uoBVw) za;#U5p7B7EOkmUrC)BhLSOBKe`3oxtg1z2*sgI^?{jh&FOs&B0sel-Lv@MW{g-N1lV`N{UABrcMLFKIL!7glZ)w_uA@yE^uoFg%-|6ENu z)y^xw*YT++^Uhl$Lqr8^AT12syx1dSH@xbviL%Z>G>i3MzyxL7JK>ZoM$+rKG8**eXJHHju;!Yl#t z9N*W4PuUnuh8f^-0P5jQfF+U|9%`GoJr~K8AS;46$zf24UZun4swjc878=+T-E>KC&#RrnsdQ6jO0Tb&i7;Ic0%GxcDKCYifgq?x zTIrY8G@+2@8}Fm2>pat=^Jeo&dGq#YXXyg3K%L>i??HPS;nqQV2B!*-wuQ&$A^Sf% z*yqW`_KLWWc%vy}jtk-Pn(T-F?De*vBE zyMNkPwy+gdKQu`_$5O&|vGxHqzKEu>F_#bXn;m^hU{jNNh{Id;cz@8wgZ9I$ceGA& z3l1l_4S`Jvd`ilxq24>Q=I`d82Pj>*h-fo&}N=0~RbA3~|xMf>EV` z*NTll1DFa$@AJOw$&vPKYofX$F3v!5#i*KRNUmD)?yb(g2#cU~ z&9C*=WY#YLt9SFyvH{WkF>S0x<|cOei)n3CE)PCyu`3TYj(>K<)70Y?4Qd^_j}+5X z4n=}wF~UV7M8cr*Xi~|cpysi`h!B-^&~@!AWz6B2#zt>Uf1Q8Qj@+{6@Nc%JLINX= zh*VnP4-`MHdlbSoMd-kb{(n~L{=s|gZ6jH-rtIgGvKN>8xY&)pKVKuwtR~u_zL)ds zy)rHK5Xw&S=28~J$>qd0vBDp5U81Ml?*8-R7FS(On>UnNkrXpP!v@Q6WWKDKl63&r z$!Ag>@Ek#CECUE18f1*qK_fYEEta^4rSey}CANTMu$)A}`j?ls?M?Mf43ii|EJ6n4 z2zh!*aiLvLW7acVWR_}Nw4ez4E+%5k9@qdlgeQR#!A?b~t5}%Cn6-MHz*U^{xQz?d z%q#ByGqZH2jOllKzR-{;;@R3-n8)j)&bW&5^>qoZXy*fh*s$W}Nl!gdU#Q5TP^l(79jVl7!+F8rx!?P{WWJb#!Lu%TqZ#NA zw|wJ`>{%n;AlwR~@Gvl%rf-fI-pH(F^67_#j-BWjBuJ6icJs9pPW%W})GQv_3< zT+wuaQZDDO>vuylV@YG$6wHg25&&nnqsE&hTax>OQ{fR;`pfl6H8l*+ch620ObTgP z_)OxqtSQ10jSCDU1q68|?HNu_&Za6`LNA?{He}{sGaWLk9i#lE3JY8jr5|oLIzaqi zh`&9$M}eb#Y9tiT-Ym8P(}AU`2eo|TEk;7WE*qZ3M0T$)nwHQ+^*7tPkoy=&ISvU+2$Z&4I(OsG?`7L9MwPOM-pWb8hflk|LcbHH`x?c}_ZmzTGep*eUyPXr*oNlrdAZ{d_|dOz>y5_oYgUoEeg0IR?jusb-D zYcAe)whSVZBR7^Un}Q6qDm{DgHIGcP(NZ-v_~bDc()&|B zju5RmuldACZ-MTr<6&b@>uP3Ki6R{rJBvpw6#S(EIvP9Kf7y@L{)z^@4FYLM9T?KKj^r6_*=;m;aOKsITp zeBLb#ne@y1Ew`v}ym|S7xHH9(Fu2a!yElW(6N7VlbaES4^h>2(1e6kCOfBIb`jZK@YrmTZtlL~lUc zO>dXL?36glamk+nBu$Nt40=&qqK3muh>mOEKQ3mr2nJD`FMl->3zLRZC`F%p*rBSs zys~~UrIQnu5aDSYyoA4$FDAZqFQ~G)2zmHV!wfdSc)AV88)kQTPHz2G+rz|z0oxYX zz9t>o5T5nt+*#p`7*Yj3`≻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%0AcT=5>YO?ty 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

?J))bAcaK`btFiJ=0nC~%_B7ot8&U@^ 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�s;B@)QWg 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%0AZ@3*0rb3fwHl|Cr%g}?lIog2wGfg!us_F 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 @lvpT9;gi5Y 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

1wtL^x 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